././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6941814 subliminal-2.2.0/0000755000175100001770000000000014636376432013275 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/.dockerignore0000644000175100001770000000140214636376416015750 0ustar00runnerdocker# SCM .git/ # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *,cover # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # PyBuilder target/ # Pycharm .idea # Subliminal docs/ tests/ ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/.pre-commit-config.yaml0000644000175100001770000000141414636376416017560 0ustar00runnerdockerrepos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: check-toml - id: check-yaml exclude: ^tests/cassettes/ - id: end-of-file-fixer - repo: https://github.com/crate-ci/typos rev: v1.22.0 hooks: - id: typos - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.4.7 hooks: - id: ruff args: [ --fix, --unsafe-fixes ] - id: ruff-format - repo: https://github.com/abravalheri/validate-pyproject rev: v0.18 hooks: - id: validate-pyproject name: validate-pyproject - repo: https://github.com/PyCQA/doc8 rev: v1.1.1 hooks: - id: doc8 description: This hook runs doc8 for linting docs require_serial: true ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/.readthedocs.yaml0000644000175100001770000000051214636376416016524 0ustar00runnerdocker# Read the Docs configuration file for Sphinx projects # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 build: os: ubuntu-22.04 tools: python: "3.12" python: install: - method: pip path: . extra_requirements: - docs sphinx: configuration: docs/conf.py ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/CONTRIBUTING.md0000644000175100001770000000135614636376416015535 0ustar00runnerdockerContributing ============ Issues ------ Issues are intended for bug report and feature requests. For any bug report please make sure to include the complete stack trace and DEBUG level logs as well as reproduce steps. If you use the CLI, you can create a debug log file with `subliminal --debug [...] 2> debug.log`. Pull Requests ------------- You can contribute code and documentation with pull requests. Any code contribution must be unit tested and the pull request open against the *develop* branch. Translations ------------ Contribution to translations can be made on [subliminal's transifex page](https://www.transifex.com/subliminal/subliminal/) Subliminal is configured to work with [transifex-client](http://docs.transifex.com/client/) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/Dockerfile0000644000175100001770000000161414636376416015273 0ustar00runnerdockerFROM python:3.12-alpine MAINTAINER Antoine Bertin # set version label ARG BUILD_WITH_UNRAR=false ARG UNRAR_VERSION=6.2.6 RUN \ if [ "$BUILD_WITH_UNRAR" = true ]; then \ apk add -U --update --no-cache --virtual=build-dependencies build-base curl && \ echo "**** install unrar from source ****" && \ mkdir /tmp/unrar && \ curl -o /tmp/unrar.tar.gz -L "https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \ tar xf /tmp/unrar.tar.gz -C /tmp/unrar --strip-components=1 && \ cd /tmp/unrar && \ make && \ install -v -m755 unrar /usr/local/bin && \ apk del build-dependencies curl && \ rm -rf /tmp/unrar /tmp/unrar.tar.gz; \ fi RUN mkdir -p /usr/src/app /usr/src/cache WORKDIR /usr/src/app VOLUME /usr/src/cache COPY . /usr/src/app RUN python -m pip install . ENTRYPOINT ["subliminal", "--cache-dir", "/usr/src/cache"] CMD ["--help"] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/HISTORY.rst0000644000175100001770000002054414636376416015177 0ustar00runnerdockerChangelog --------- 2.2.0 ^^^^^ **release date:** 2024-06-24 * Drop python2 support, the supported versions are `>=3.8,<=3.12`. * Load CLI options from a configuration file with the ``--config/-c`` option (`#1084 `_). * Change default encoding of downloaded subtitles to 'utf-8' (not the original encoding). Use the ``--original-encoding`` cli option to recover the previous default behavior (`#1125 `_). * Add opensubtitlescom provider * Add gestdown provider * Add tmdb refiner (requires a personal API key) * Fix tvsubtitles provider * Fix opensubtitles provider * Fix napiprojekt provider * Fix podnapisi provider to use JSON API * Fix addic7ed provider * Remove thesubdb provider * Remove argenteam provider * Remove shooter provider * Remove legendastv provider * Use `pyproject.toml` to specify the package configurations.* Add pre-commit hook (`#1115 `_). * Use ruff to lint and format * Use mypy to check types * Add type annotations * Drop dependencies: pysrt, appdirs, six, pytz * Add dependencies: - click-option-group>=0.5.6 - platformdirs>=4.2 - pysubs2>=1.7 - srt>=3.5 - tomli>=2 * Bump dependency versions: - babelfish>=0.6.1 - chardet>=5.0 - click>=8.0 - dogpile.cache>=1.0 - enzyme>=0.5.0 - stevedore>=3.0 2.1.0 ^^^^^ **release date:** 2020-05-02 * Improve legendastv provider matches * Fix video extensions (.mk3d .ogm .ogv) * Use new url to search for titles in legendastv provider * Fix stevedore incompatibility * Add support to webm video extension * Make providers easier to be extended and customized * Update podnapisi URL * Add support to VIP/Donor accounts in legendastv provider * Proper handling titles with year / country in legendastv provider * Several minor enhancements in legendastv provider * Add support for python 3.6, 3.7 and 3.8 * Drop support for python 3.3 and 3.4 * Do not discard providers bad zip/rar is downloaded * SubsCenter provider removal * Fix lxml parsing for Addic7ed provider * Support titles with asterics in Addic7ed provider * Add support to multi-episode search in Opensubtitles provider * Fix multi-episode search in TVSubtitles provider * Update to guessit 3 * Improve archive scanning * Add Opensubtitles VIP provider * Add country to Movie and Episode * Add streaming_service to Video * Add info property to Subtitle * Do not search for subtitles if all required languages is already present * Improve TVDB refiner to support series with comma * Add alternative_titles to Video and enhance OMDB refiner to use alternative_titles * Only compute video hashes when required * Add apikey to OMDB refiner * Fix Subtitle validation when unable to guess encoding * Add support to rar in Dockerfile 2.0.5 ^^^^^ **release date:** 2016-09-03 * Fix addic7ed provider for some series name * Fix existing subtitles detection * Improve scoring * Add Docker container * Add .ogv video extension 2.0.4 ^^^^^ **release date:** 2016-09-03 * Fix subscenter 2.0.3 ^^^^^ **release date:** 2016-06-10 * Fix clearing cache in CLI 2.0.2 ^^^^^ **release date:** 2016-06-06 * Fix for dogpile.cache>=0.6.0 * Fix missing sphinx_rtd_theme dependency 2.0.1 ^^^^^ **release date:** 2016-06-06 * Fix beautifulsoup4 minimal requirement 2.0.0 ^^^^^ **release date:** 2016-06-04 * Add refiners to enrich videos with information from metadata, tvdb and omdb * Add asynchronous provider search for faster searches * Add registrable managers so subliminal can run without install * Add archive support * Add the ability to customize scoring logic * Add an age argument to scan_videos for faster scanning * Add legendas.tv provider * Add shooter.cn provider * Improve matching and scoring * Improve documentation * Split nautilus integration into its own project 1.1.1 ^^^^^ **release date:** 2016-01-03 * Fix scanning videos on bad MKV files 1.1 ^^^ **release date:** 2015-12-29 * Fix library usage example in README * Fix for series name with special characters in addic7ed provider * Fix id property in thesubdb provider * Improve matching on titles * Add support for nautilus context menu with translations * Add support for searching subtitles in a separate directory * Add subscenter provider * Add support for python 3.5 1.0.1 ^^^^^ **release date:** 2015-07-23 * Fix unicode issues in CLI (python 2 only) * Fix score scaling in CLI (python 2 only) * Improve error handling in CLI * Color collect report in CLI 1.0 ^^^ **release date:** 2015-07-22 * Many changes and fixes * New test suite * New documentation * New CLI * Added support for SubsCenter 0.7.5 ^^^^^ **release date:** 2015-03-04 * Update requirements * Remove BierDopje provider * Add pre-guessed video optional argument in scan_video * Improve hearing impaired support * Fix TVSubtitles and Podnapisi providers 0.7.4 ^^^^^ **release date:** 2014-01-27 * Fix requirements for guessit and babelfish 0.7.3 ^^^^^ **release date:** 2013-11-22 * Fix windows compatibility * Improve subtitle validation * Improve embedded subtitle languages detection * Improve unittests 0.7.2 ^^^^^ **release date:** 2013-11-10 * Fix TVSubtitles for ambiguous series * Add a CACHE_VERSION to force cache reloading on version change * Set CLI default cache expiration time to 30 days * Add podnapisi provider * Support script for languages e.g. Latn, Cyrl * Improve logging levels * Fix subtitle validation in some rare cases 0.7.1 ^^^^^ **release date:** 2013-11-06 * Improve CLI * Add login support for Addic7ed * Remove lxml dependency * Many fixes 0.7.0 ^^^^^ **release date:** 2013-10-29 **WARNING:** Complete rewrite of subliminal with backward incompatible changes * Use enzyme to parse metadata of videos * Use babelfish to handle languages * Use dogpile.cache for caching * Use charade to detect subtitle encoding * Use pysrt for subtitle validation * Use entry points for subtitle providers * New subtitle score computation * Hearing impaired subtitles support * Drop async support * Drop a few providers * And much more... 0.6.4 ^^^^^ **release date:** 2013-05-19 * Fix requirements due to enzyme 0.3 0.6.3 ^^^^^ **release date:** 2013-01-17 * Fix requirements due to requests 1.0 0.6.2 ^^^^^ **release date:** 2012-09-15 * Fix BierDopje * Fix Addic7ed * Fix SubsWiki * Fix missing enzyme import * Add Catalan and Galician languages to Addic7ed * Add possible services in help message of the CLI * Allow existing filenames to be passed without the ./ prefix 0.6.1 ^^^^^ **release date:** 2012-06-24 * Fix subtitle release name in BierDopje * Fix subtitles being downloaded multiple times * Add Chinese support to TvSubtitles * Fix encoding issues * Fix single download subtitles without the force option * Add Spanish (Latin America) exception to Addic7ed * Fix group_by_video when a list entry has None as subtitles * Add support for Galician language in Subtitulos * Add an integrity check after subtitles download for Addic7ed * Add error handling for if not strict in Language * Fix TheSubDB hash method to return None if the file is too small * Fix guessit.Language in Video.scan * Fix language detection of subtitles 0.6.0 ^^^^^ **release date:** 2012-06-16 **WARNING:** Backward incompatible changes * Fix --workers option in CLI * Use a dedicated module for languages * Use beautifulsoup4 * Improve return types * Add scan_filter option * Add --age option in CLI * Add TvSubtitles service * Add Addic7ed service 0.5.1 ^^^^^ **release date:** 2012-03-25 * Improve error handling of enzyme parsing 0.5 ^^^ **release date:** 2012-03-25 **WARNING:** Backward incompatible changes * Use more unicode * New list_subtitles and download_subtitles methods * New Pool object for asynchronous work * Improve sort algorithm * Better error handling * Make sorting customizable * Remove class Subliminal * Remove permissions handling 0.4 ^^^ **release date:** 2011-11-11 * Many fixes * Better error handling 0.3 ^^^ **release date:** 2011-08-18 * Fix a bug when series is not guessed by guessit * Fix dependencies failure when installing package * Fix encoding issues with logging * Add a script to ease subtitles download * Add possibility to choose mode of created files * Add more checks before adjusting permissions 0.2 ^^^ **release date:** 2011-07-11 * Fix plugin configuration * Fix some encoding issues * Remove extra logging 0.1 ^^^ **release date:** *private release* * Initial release ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/LICENSE0000644000175100001770000000207114636376416014304 0ustar00runnerdockerThe MIT License (MIT) Copyright (c) 2016 Antoine Bertin 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. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/MANIFEST.in0000644000175100001770000000033414636376416015035 0ustar00runnerdockerinclude LICENSE include HISTORY.rst include CONTRIBUTING.md include Dockerfile include .dockerignore include .pre-commit-config.yaml include .readthedocs.yaml include tox.ini graft docs graft tests prune */__pycache__ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6941814 subliminal-2.2.0/PKG-INFO0000644000175100001770000003334614636376432014403 0ustar00runnerdockerMetadata-Version: 2.1 Name: subliminal Version: 2.2.0 Summary: Subtitles, faster than your thoughts Author-email: Antoine Bertin Maintainer-email: Antoine Bertin , getzze , Patrycja Rosa License: MIT Project-URL: homepage, https://github.com/Diaoul/subliminal Project-URL: repository, https://github.com/Diaoul/subliminal Project-URL: documentation, https://subliminal.readthedocs.org Keywords: subtitle,subtitles,video,movie,episode,tv,show,series Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Multimedia :: Video Requires-Python: >=3.8 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: babelfish>=0.6.1 Requires-Dist: beautifulsoup4>=4.4.0 Requires-Dist: chardet>=5.0 Requires-Dist: click>=8.0 Requires-Dist: click-option-group>=0.5.6 Requires-Dist: dogpile.cache>=1.0 Requires-Dist: enzyme>=0.5.0 Requires-Dist: guessit>=3.0.0 Requires-Dist: platformdirs>=4.2 Requires-Dist: pysubs2>=1.7 Requires-Dist: rarfile>=2.7 Requires-Dist: requests>=2.0 Requires-Dist: srt>=3.5 Requires-Dist: stevedore>=3.0 Requires-Dist: tomli>=2 Provides-Extra: docs Requires-Dist: sphinx; extra == "docs" Requires-Dist: sphinx_rtd_theme; extra == "docs" Requires-Dist: sphinxcontrib-programoutput; extra == "docs" Provides-Extra: test Requires-Dist: mypy; extra == "test" Requires-Dist: lxml; extra == "test" Requires-Dist: pytest>=6.0; extra == "test" Requires-Dist: pytest-cov; extra == "test" Requires-Dist: pytest-flakes; extra == "test" Requires-Dist: sympy; extra == "test" Requires-Dist: vcrpy>=1.6.1; extra == "test" Requires-Dist: importlib_metadata>=4.6; python_version < "3.10" and extra == "test" Provides-Extra: dev Requires-Dist: doc8; extra == "dev" Requires-Dist: mypy; extra == "dev" Requires-Dist: ruff; extra == "dev" Requires-Dist: typos; extra == "dev" Requires-Dist: validate-pyproject; extra == "dev" Requires-Dist: tox; extra == "dev" Subliminal ========== Subtitles, faster than your thoughts. .. image:: https://img.shields.io/pypi/v/subliminal.svg :target: https://pypi.python.org/pypi/subliminal :alt: Latest Version .. image:: https://travis-ci.org/Diaoul/subliminal.svg?branch=develop :target: https://travis-ci.org/Diaoul/subliminal :alt: Travis CI build status .. image:: https://readthedocs.org/projects/subliminal/badge/?version=latest :target: https://subliminal.readthedocs.org/ :alt: Documentation Status .. image:: https://coveralls.io/repos/Diaoul/subliminal/badge.svg?branch=develop&service=github :target: https://coveralls.io/github/Diaoul/subliminal?branch=develop :alt: Code coverage .. image:: https://img.shields.io/github/license/Diaoul/subliminal.svg :target: https://github.com/Diaoul/subliminal/blob/master/LICENSE :alt: License .. image:: https://img.shields.io/badge/gitter-join%20chat-1dce73.svg :alt: Join the chat at https://gitter.im/Diaoul/subliminal :target: https://gitter.im/Diaoul/subliminal :Project page: https://github.com/Diaoul/subliminal :Documentation: https://subliminal.readthedocs.org/ Usage ----- CLI ^^^ Download English subtitles:: $ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Collecting videos [####################################] 100% 1 video collected / 0 video ignored / 0 error Downloading subtitles [####################################] 100% Downloaded 1 subtitle Library ^^^^^^^ Download best subtitles in French and English for videos less than two weeks old in a video folder: .. code:: python #!/usr/bin/env python from datetime import timedelta from babelfish import Language from subliminal import download_best_subtitles, region, save_subtitles, scan_videos # configure the cache region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'}) # scan for videos newer than 2 weeks and their existing subtitles in a folder videos = scan_videos('/video/folder', age=timedelta(weeks=2)) # download best subtitles subtitles = download_best_subtitles(videos, {Language('eng'), Language('fra')}) # save them to disk, next to the video for v in videos: save_subtitles(v, subtitles[v]) Docker ^^^^^^ Run subliminal in a docker container:: $ docker run --rm --name subliminal -v subliminal_cache:/usr/src/cache -v /tvshows:/tvshows -it diaoulael/subliminal download -l en /tvshows/The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Installation ------------ Subliminal can be installed as a regular python module by running:: $ [sudo] pip install subliminal For a better isolation with your system you should use a dedicated virtualenv or install for your user only using the ``--user`` flag. Nautilus/Nemo integration ------------------------- See the dedicated `project page `_ for more information. Changelog --------- 2.2.0 ^^^^^ **release date:** 2024-06-24 * Drop python2 support, the supported versions are `>=3.8,<=3.12`. * Load CLI options from a configuration file with the ``--config/-c`` option (`#1084 `_). * Change default encoding of downloaded subtitles to 'utf-8' (not the original encoding). Use the ``--original-encoding`` cli option to recover the previous default behavior (`#1125 `_). * Add opensubtitlescom provider * Add gestdown provider * Add tmdb refiner (requires a personal API key) * Fix tvsubtitles provider * Fix opensubtitles provider * Fix napiprojekt provider * Fix podnapisi provider to use JSON API * Fix addic7ed provider * Remove thesubdb provider * Remove argenteam provider * Remove shooter provider * Remove legendastv provider * Use `pyproject.toml` to specify the package configurations.* Add pre-commit hook (`#1115 `_). * Use ruff to lint and format * Use mypy to check types * Add type annotations * Drop dependencies: pysrt, appdirs, six, pytz * Add dependencies: - click-option-group>=0.5.6 - platformdirs>=4.2 - pysubs2>=1.7 - srt>=3.5 - tomli>=2 * Bump dependency versions: - babelfish>=0.6.1 - chardet>=5.0 - click>=8.0 - dogpile.cache>=1.0 - enzyme>=0.5.0 - stevedore>=3.0 2.1.0 ^^^^^ **release date:** 2020-05-02 * Improve legendastv provider matches * Fix video extensions (.mk3d .ogm .ogv) * Use new url to search for titles in legendastv provider * Fix stevedore incompatibility * Add support to webm video extension * Make providers easier to be extended and customized * Update podnapisi URL * Add support to VIP/Donor accounts in legendastv provider * Proper handling titles with year / country in legendastv provider * Several minor enhancements in legendastv provider * Add support for python 3.6, 3.7 and 3.8 * Drop support for python 3.3 and 3.4 * Do not discard providers bad zip/rar is downloaded * SubsCenter provider removal * Fix lxml parsing for Addic7ed provider * Support titles with asterics in Addic7ed provider * Add support to multi-episode search in Opensubtitles provider * Fix multi-episode search in TVSubtitles provider * Update to guessit 3 * Improve archive scanning * Add Opensubtitles VIP provider * Add country to Movie and Episode * Add streaming_service to Video * Add info property to Subtitle * Do not search for subtitles if all required languages is already present * Improve TVDB refiner to support series with comma * Add alternative_titles to Video and enhance OMDB refiner to use alternative_titles * Only compute video hashes when required * Add apikey to OMDB refiner * Fix Subtitle validation when unable to guess encoding * Add support to rar in Dockerfile 2.0.5 ^^^^^ **release date:** 2016-09-03 * Fix addic7ed provider for some series name * Fix existing subtitles detection * Improve scoring * Add Docker container * Add .ogv video extension 2.0.4 ^^^^^ **release date:** 2016-09-03 * Fix subscenter 2.0.3 ^^^^^ **release date:** 2016-06-10 * Fix clearing cache in CLI 2.0.2 ^^^^^ **release date:** 2016-06-06 * Fix for dogpile.cache>=0.6.0 * Fix missing sphinx_rtd_theme dependency 2.0.1 ^^^^^ **release date:** 2016-06-06 * Fix beautifulsoup4 minimal requirement 2.0.0 ^^^^^ **release date:** 2016-06-04 * Add refiners to enrich videos with information from metadata, tvdb and omdb * Add asynchronous provider search for faster searches * Add registrable managers so subliminal can run without install * Add archive support * Add the ability to customize scoring logic * Add an age argument to scan_videos for faster scanning * Add legendas.tv provider * Add shooter.cn provider * Improve matching and scoring * Improve documentation * Split nautilus integration into its own project 1.1.1 ^^^^^ **release date:** 2016-01-03 * Fix scanning videos on bad MKV files 1.1 ^^^ **release date:** 2015-12-29 * Fix library usage example in README * Fix for series name with special characters in addic7ed provider * Fix id property in thesubdb provider * Improve matching on titles * Add support for nautilus context menu with translations * Add support for searching subtitles in a separate directory * Add subscenter provider * Add support for python 3.5 1.0.1 ^^^^^ **release date:** 2015-07-23 * Fix unicode issues in CLI (python 2 only) * Fix score scaling in CLI (python 2 only) * Improve error handling in CLI * Color collect report in CLI 1.0 ^^^ **release date:** 2015-07-22 * Many changes and fixes * New test suite * New documentation * New CLI * Added support for SubsCenter 0.7.5 ^^^^^ **release date:** 2015-03-04 * Update requirements * Remove BierDopje provider * Add pre-guessed video optional argument in scan_video * Improve hearing impaired support * Fix TVSubtitles and Podnapisi providers 0.7.4 ^^^^^ **release date:** 2014-01-27 * Fix requirements for guessit and babelfish 0.7.3 ^^^^^ **release date:** 2013-11-22 * Fix windows compatibility * Improve subtitle validation * Improve embedded subtitle languages detection * Improve unittests 0.7.2 ^^^^^ **release date:** 2013-11-10 * Fix TVSubtitles for ambiguous series * Add a CACHE_VERSION to force cache reloading on version change * Set CLI default cache expiration time to 30 days * Add podnapisi provider * Support script for languages e.g. Latn, Cyrl * Improve logging levels * Fix subtitle validation in some rare cases 0.7.1 ^^^^^ **release date:** 2013-11-06 * Improve CLI * Add login support for Addic7ed * Remove lxml dependency * Many fixes 0.7.0 ^^^^^ **release date:** 2013-10-29 **WARNING:** Complete rewrite of subliminal with backward incompatible changes * Use enzyme to parse metadata of videos * Use babelfish to handle languages * Use dogpile.cache for caching * Use charade to detect subtitle encoding * Use pysrt for subtitle validation * Use entry points for subtitle providers * New subtitle score computation * Hearing impaired subtitles support * Drop async support * Drop a few providers * And much more... 0.6.4 ^^^^^ **release date:** 2013-05-19 * Fix requirements due to enzyme 0.3 0.6.3 ^^^^^ **release date:** 2013-01-17 * Fix requirements due to requests 1.0 0.6.2 ^^^^^ **release date:** 2012-09-15 * Fix BierDopje * Fix Addic7ed * Fix SubsWiki * Fix missing enzyme import * Add Catalan and Galician languages to Addic7ed * Add possible services in help message of the CLI * Allow existing filenames to be passed without the ./ prefix 0.6.1 ^^^^^ **release date:** 2012-06-24 * Fix subtitle release name in BierDopje * Fix subtitles being downloaded multiple times * Add Chinese support to TvSubtitles * Fix encoding issues * Fix single download subtitles without the force option * Add Spanish (Latin America) exception to Addic7ed * Fix group_by_video when a list entry has None as subtitles * Add support for Galician language in Subtitulos * Add an integrity check after subtitles download for Addic7ed * Add error handling for if not strict in Language * Fix TheSubDB hash method to return None if the file is too small * Fix guessit.Language in Video.scan * Fix language detection of subtitles 0.6.0 ^^^^^ **release date:** 2012-06-16 **WARNING:** Backward incompatible changes * Fix --workers option in CLI * Use a dedicated module for languages * Use beautifulsoup4 * Improve return types * Add scan_filter option * Add --age option in CLI * Add TvSubtitles service * Add Addic7ed service 0.5.1 ^^^^^ **release date:** 2012-03-25 * Improve error handling of enzyme parsing 0.5 ^^^ **release date:** 2012-03-25 **WARNING:** Backward incompatible changes * Use more unicode * New list_subtitles and download_subtitles methods * New Pool object for asynchronous work * Improve sort algorithm * Better error handling * Make sorting customizable * Remove class Subliminal * Remove permissions handling 0.4 ^^^ **release date:** 2011-11-11 * Many fixes * Better error handling 0.3 ^^^ **release date:** 2011-08-18 * Fix a bug when series is not guessed by guessit * Fix dependencies failure when installing package * Fix encoding issues with logging * Add a script to ease subtitles download * Add possibility to choose mode of created files * Add more checks before adjusting permissions 0.2 ^^^ **release date:** 2011-07-11 * Fix plugin configuration * Fix some encoding issues * Remove extra logging 0.1 ^^^ **release date:** *private release* * Initial release ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/README.rst0000644000175100001770000000563214636376416014774 0ustar00runnerdockerSubliminal ========== Subtitles, faster than your thoughts. .. image:: https://img.shields.io/pypi/v/subliminal.svg :target: https://pypi.python.org/pypi/subliminal :alt: Latest Version .. image:: https://travis-ci.org/Diaoul/subliminal.svg?branch=develop :target: https://travis-ci.org/Diaoul/subliminal :alt: Travis CI build status .. image:: https://readthedocs.org/projects/subliminal/badge/?version=latest :target: https://subliminal.readthedocs.org/ :alt: Documentation Status .. image:: https://coveralls.io/repos/Diaoul/subliminal/badge.svg?branch=develop&service=github :target: https://coveralls.io/github/Diaoul/subliminal?branch=develop :alt: Code coverage .. image:: https://img.shields.io/github/license/Diaoul/subliminal.svg :target: https://github.com/Diaoul/subliminal/blob/master/LICENSE :alt: License .. image:: https://img.shields.io/badge/gitter-join%20chat-1dce73.svg :alt: Join the chat at https://gitter.im/Diaoul/subliminal :target: https://gitter.im/Diaoul/subliminal :Project page: https://github.com/Diaoul/subliminal :Documentation: https://subliminal.readthedocs.org/ Usage ----- CLI ^^^ Download English subtitles:: $ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Collecting videos [####################################] 100% 1 video collected / 0 video ignored / 0 error Downloading subtitles [####################################] 100% Downloaded 1 subtitle Library ^^^^^^^ Download best subtitles in French and English for videos less than two weeks old in a video folder: .. code:: python #!/usr/bin/env python from datetime import timedelta from babelfish import Language from subliminal import download_best_subtitles, region, save_subtitles, scan_videos # configure the cache region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'}) # scan for videos newer than 2 weeks and their existing subtitles in a folder videos = scan_videos('/video/folder', age=timedelta(weeks=2)) # download best subtitles subtitles = download_best_subtitles(videos, {Language('eng'), Language('fra')}) # save them to disk, next to the video for v in videos: save_subtitles(v, subtitles[v]) Docker ^^^^^^ Run subliminal in a docker container:: $ docker run --rm --name subliminal -v subliminal_cache:/usr/src/cache -v /tvshows:/tvshows -it diaoulael/subliminal download -l en /tvshows/The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Installation ------------ Subliminal can be installed as a regular python module by running:: $ [sudo] pip install subliminal For a better isolation with your system you should use a dedicated virtualenv or install for your user only using the ``--user`` flag. Nautilus/Nemo integration ------------------------- See the dedicated `project page `_ for more information. ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6301806 subliminal-2.2.0/docs/0000755000175100001770000000000014636376432014225 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/Makefile0000644000175100001770000001640714636376416015677 0ustar00runnerdocker# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = -n -W SPHINXBUILD = sphinx-build PAPER = BUILDDIR = _build # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " xml to make Docutils-native XML files" @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" @echo " coverage to run coverage check of the documentation (if enabled)" clean: rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/subliminal.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/subliminal.qhc" applehelp: $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp @echo @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." @echo "N.B. You won't be able to view it unless you put it in" \ "~/Library/Documentation/Help or install it in your application" \ "bundle." devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/subliminal" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/subliminal" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." coverage: $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage @echo "Testing of coverage in the sources finished, look at the " \ "results in $(BUILDDIR)/coverage/python.txt." xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6301806 subliminal-2.2.0/docs/api/0000755000175100001770000000000014636376432014776 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/cache.rst0000644000175100001770000000073114636376416016576 0ustar00runnerdockerCache ===== .. module:: subliminal.cache .. autodata:: SHOW_EXPIRATION_TIME :annotation: .. autodata:: EPISODE_EXPIRATION_TIME :annotation: .. autodata:: REFINER_EXPIRATION_TIME :annotation: .. data:: region :annotation: The :class:`~dogpile.cache.region.CacheRegion` Refer to dogpile.cache's `region configuration documentation `_ to see how to configure the region ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/cli.rst0000644000175100001770000000004714636376416016302 0ustar00runnerdockerCLI === .. automodule:: subliminal.cli ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/core.rst0000644000175100001770000000021614636376416016461 0ustar00runnerdockerCore ==== .. automodule:: subliminal.core :exclude-members: ARCHIVE_EXTENSIONS .. autodata:: ARCHIVE_EXTENSIONS :annotation: ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/exceptions.rst0000644000175100001770000000007414636376416017714 0ustar00runnerdockerExceptions ========== .. automodule:: subliminal.exceptions ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/extensions.rst0000644000175100001770000000007414636376416017732 0ustar00runnerdockerExtensions ========== .. automodule:: subliminal.extensions ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/providers.rst0000644000175100001770000000132114636376416017544 0ustar00runnerdockerProviders ========= .. automodule:: subliminal.providers Addic7ed -------- .. automodule:: subliminal.providers.addic7ed :private-members: Gestdown -------- .. automodule:: subliminal.providers.gestdown :private-members: NapiProjekt ----------- .. automodule:: subliminal.providers.napiprojekt :private-members: OpenSubtitles ------------- .. automodule:: subliminal.providers.opensubtitles :private-members: OpenSubtitles.com ----------------- .. automodule:: subliminal.providers.opensubtitlescom :private-members: Podnapisi --------- .. automodule:: subliminal.providers.podnapisi :private-members: TVsubtitles ----------- .. automodule:: subliminal.providers.tvsubtitles :private-members: ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/refiners.rst0000644000175100001770000000051114636376416017344 0ustar00runnerdocker.. _refiners: Refiners ======== .. automodule:: subliminal.refiners Metadata -------- .. autofunction:: subliminal.refiners.metadata.refine TVDB ---- .. autofunction:: subliminal.refiners.tvdb.refine OMDb ---- .. autofunction:: subliminal.refiners.omdb.refine TMDB ---- .. autofunction:: subliminal.refiners.tmdb.refine ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/score.rst0000644000175100001770000000005514636376416016645 0ustar00runnerdockerScore ===== .. automodule:: subliminal.score ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/subtitle.rst0000644000175100001770000000023414636376416017364 0ustar00runnerdockerSubtitle ======== .. automodule:: subliminal.subtitle :exclude-members: SUBTITLE_EXTENSIONS .. autodata:: SUBTITLE_EXTENSIONS :annotation: ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/utils.rst0000644000175100001770000000005514636376416016672 0ustar00runnerdockerUtils ===== .. automodule:: subliminal.utils ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/api/video.rst0000644000175100001770000000021514636376416016636 0ustar00runnerdockerVideo ===== .. automodule:: subliminal.video :exclude-members: VIDEO_EXTENSIONS .. autodata:: VIDEO_EXTENSIONS :annotation: ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6341805 subliminal-2.2.0/docs/cassettes/0000755000175100001770000000000014636376432016223 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/cassettes/test_usage.yaml0000644000175100001770000012640714636376416021266 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] User-Agent: [Subliminal/2.1] method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=hu&seasons=5&episodes=18&movie_type=tv-series&movie_type=mini-series response: body: {string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\"\ : true, \n \"contributions\": [\n {\n \"contributor\"\ : {\n \"id\": 40156, \n \"name\": \"kvrle\", \n \ \ \"type\": \"user\"\n }, \n \"role\": \"uploader\"\ , \n \"share\": 0.0\n }\n ], \n \"contributor\"\ : {\n \"id\": 40156, \n \"name\": \"kvrle\", \n \"type\"\ : \"user\"\n }, \n \"created\": \"2012-02-26T00:42:49+00:00\", \n\ \ \"custom_releases\": [\n \"The.Big.Bang.Theory.S05E18.HDTV-LOL\"\ , \n \"The.Big.Bang.Theory.S05E18.720p.HDTV.x264-DIMENSION\"\n \ \ ], \n \"download\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ZtAW/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"ZtAW\", \n \"language\": \"hu\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n\ \ ], \n \"episode_info\": {\n \"episode\": 18, \n \ \ \"id\": null, \n \"season\": 5, \n \"slug\": \"\ S05E18-O\", \n \"title\": \"\", \n \"type\": \"ordinary\"\ , \n \"year\": null\n }, \n \"id\": \"uJE\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S05E18-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 4118, \n \ \ \"lines\": 323\n }, \n \"url\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ZtAW\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2012-02-25T02:49:35+00:00\", \n \"custom_releases\"\ : [\n \"The.Big.Bang.Theory.S05E18.HDTV.XviD-FQM\"\n ], \n \ \ \"download\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ONAW/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"ONAW\",\ \ \n \"language\": \"hu\", \n \"movie\": {\n \"aliases\"\ : [\n \"Veliki pokovci\"\n ], \n \"episode_info\":\ \ {\n \"episode\": 18, \n \"id\": null, \n \"season\"\ : 5, \n \"slug\": \"S05E18-O\", \n \"title\": \"\", \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"uJE\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S05E18-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 421, \n \ \ \"lines\": 323\n }, \n \"url\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ONAW\"\ \n }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\ \n}"} headers: Connection: [keep-alive] Content-Length: ['3982'] Content-Type: [application/json] Date: ['Sun, 24 Feb 2019 11:52:04 GMT'] Server: [nginx/1.8.0] status: {code: 200, message: OK} - request: body: null headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] User-Agent: [Subliminal/2.1] method: GET uri: https://www.podnapisi.net/subtitles/ZtAW/download?container=zip response: body: string: !!binary | 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 headers: Accept-Ranges: [bytes] Connection: [keep-alive] Content-Disposition: [attachment; filename="e638ea178f406cb584f48051501e2cb4db4fce1d.zip"] Content-Length: ['10541'] Content-Type: [application/octet-stream] Date: ['Sun, 24 Feb 2019 11:52:04 GMT'] ETag: ['"4f497ffb-292d"'] Last-Modified: ['Sun, 26 Feb 2012 00:42:35 GMT'] Server: [nginx/1.8.0] status: {code: 200, message: OK} - request: body: null headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] User-Agent: [Subliminal/2.1] method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=hu&seasons=5&episodes=18&movie_type=tv-series&movie_type=mini-series response: body: {string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\"\ : true, \n \"contributions\": [\n {\n \"contributor\"\ : {\n \"id\": 40156, \n \"name\": \"kvrle\", \n \ \ \"type\": \"user\"\n }, \n \"role\": \"uploader\"\ , \n \"share\": 0.0\n }\n ], \n \"contributor\"\ : {\n \"id\": 40156, \n \"name\": \"kvrle\", \n \"type\"\ : \"user\"\n }, \n \"created\": \"2012-02-26T00:42:49+00:00\", \n\ \ \"custom_releases\": [\n \"The.Big.Bang.Theory.S05E18.HDTV-LOL\"\ , \n \"The.Big.Bang.Theory.S05E18.720p.HDTV.x264-DIMENSION\"\n \ \ ], \n \"download\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ZtAW/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"ZtAW\", \n \"language\": \"hu\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n\ \ ], \n \"episode_info\": {\n \"episode\": 18, \n \ \ \"id\": null, \n \"season\": 5, \n \"slug\": \"\ S05E18-O\", \n \"title\": \"\", \n \"type\": \"ordinary\"\ , \n \"year\": null\n }, \n \"id\": \"uJE\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S05E18-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 4118, \n \ \ \"lines\": 323\n }, \n \"url\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ZtAW\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2012-02-25T02:49:35+00:00\", \n \"custom_releases\"\ : [\n \"The.Big.Bang.Theory.S05E18.HDTV.XviD-FQM\"\n ], \n \ \ \"download\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ONAW/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"ONAW\",\ \ \n \"language\": \"hu\", \n \"movie\": {\n \"aliases\"\ : [\n \"Veliki pokovci\"\n ], \n \"episode_info\":\ \ {\n \"episode\": 18, \n \"id\": null, \n \"season\"\ : 5, \n \"slug\": \"S05E18-O\", \n \"title\": \"\", \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"uJE\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S05E18-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 421, \n \ \ \"lines\": 323\n }, \n \"url\": \"/en/subtitles/hu-the-big-bang-theory-2007-S05E18-O/ONAW\"\ \n }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\ \n}"} headers: Connection: [keep-alive] Content-Length: ['3982'] Content-Type: [application/json] Date: ['Sun, 24 Feb 2019 11:52:05 GMT'] Server: [nginx/1.8.0] status: {code: 200, message: OK} - request: body: null headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] User-Agent: [Subliminal/2.1] method: GET uri: https://www.podnapisi.net/subtitles/ZtAW/download?container=zip response: body: string: !!binary | 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 headers: Accept-Ranges: [bytes] Connection: [keep-alive] Content-Disposition: [attachment; filename="e638ea178f406cb584f48051501e2cb4db4fce1d.zip"] Content-Length: ['10541'] Content-Type: [application/octet-stream] Date: ['Sun, 24 Feb 2019 11:52:05 GMT'] ETag: ['"4f497ffb-292d"'] Last-Modified: ['Sun, 26 Feb 2012 00:42:35 GMT'] Server: [nginx/1.8.0] status: {code: 200, message: OK} version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/conf.py0000644000175100001770000002452314636376416015534 0ustar00runnerdocker#!/usr/bin/env python3 # # subliminal documentation build configuration file, created by # sphinx-quickstart on Sat Jul 11 00:40:28 2015. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os import sphinx_rtd_theme # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('..')) import subliminal # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # If true, Sphinx will warn about all references where the target cannot be found. nitpicky = True # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.viewcode', 'sphinxcontrib.programoutput', ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = subliminal.__title__ copyright = ' '.join(subliminal.__copyright__.split()[1:]) author = subliminal.__copyright__.split(', ')[1] # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = subliminal.__version__.split('-')[0] # The full version, including alpha/beta/rc tags. release = subliminal.__version__ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ['_build'] # The reST default role (used for this markup: `text`) to use for all # documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'sphinx_rtd_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # html_theme_options = { # 'github_user': 'Diaoul', # 'github_repo': project, # 'travis_button': True, # 'gratipay_user': 'Diaoul' # } # Add any paths that contain custom themes here, relative to this directory. html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. # html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_domain_indices = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr' # html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value # html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. # html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = project + 'doc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', # Latex figure (float) alignment #'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ (master_doc, project + '.tex', project + ' Documentation', author, 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [(master_doc, project, project + ' Documentation', [author], 1)] # If true, show URL addresses after external links. # man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, project, project + ' Documentation', author, project, 'Subtitles, faster than your thoughts', 'Miscellaneous', ), ] # Documents to append as an appendix to all manuals. # texinfo_appendices = [] # If false, no module index is generated. # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. # texinfo_no_detailmenu = False # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { 'python': ('https://docs.python.org/3.12', None), 'guessit': ('https://guessit.readthedocs.org/en/latest', None), 'babelfish': ('https://babelfish.readthedocs.org/en/latest', None), 'dogpilecache': ('https://dogpilecache.sqlalchemy.org/en/latest', None), 'dogpilecore': ('https://dogpilecore.readthedocs.org/en/latest', None), 'stevedore': ('https://docs.openstack.org/stevedore/latest', None), 'click': ('https://click.palletsprojects.com/en/latest/', None), } # -- Options for autodoc ------------------------------------------------------- autodoc_member_order = 'bysource' autodoc_default_flags = ['members'] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/config.toml0000644000175100001770000000102614636376416016370 0ustar00runnerdocker[default] cache_dir = "~/.cache/subliminal" [provider.opensubtitlescom] username = "python-subliminal-test" password = "subliminal" apikey = "mij33pjc3kOlup1qOKxnWWxvle2kFbMH" [provider.addic7ed] username = "subliminal" password = "subliminal" [refiner.omdb] apikey = "44d5b275" [refiner.tmdb] apikey = "xxxxxxxxx" [download] provider = ["addic7ed", "opensubtitlescom", "opensubtitles"] refiner = ["metadata", "hash", "omdb", "tvdb"] language = ["fr", "en", "pt-br"] encoding = "utf-8" min_score = 50 archives = true verbose = 3 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/conftest.py0000644000175100001770000000142114636376416016424 0ustar00runnerdockerimport os import sys from unittest.mock import Mock import pytest from vcr import VCR from subliminal.cache import region vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('docs', 'cassettes')), ) @pytest.fixture(autouse=True, scope='session') def configure_region(): region.configure('dogpile.cache.null') region.configure = Mock() @pytest.fixture(autouse=True) def chdir(tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) @pytest.fixture(autouse=True) def use_cassette(request): with vcr.use_cassette('test_' + request.fspath.purebasename): yield ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/index.rst0000644000175100001770000000204714636376416016073 0ustar00runnerdocker.. subliminal documentation master file, created by sphinx-quickstart on Sat Jul 11 00:40:28 2015. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to subliminal! ====================== Subliminal is a python 2.7+ library to search and download subtitles. It comes with an easy to use yet powerful :abbr:`CLI (command-line interface)` suitable for direct use or cron jobs. Documentation ------------- .. toctree:: :maxdepth: 2 user/usage user/how_it_works user/cli user/provider_guide API Documentation ----------------- If you are looking for information on a specific function, class or method, this part of the documentation is for you. .. toctree:: :maxdepth: 1 api/core api/video api/subtitle api/providers api/refiners api/extensions api/score api/utils api/cache api/cli api/exceptions License ------- MIT Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/make.bat0000644000175100001770000001612414636376416015640 0ustar00runnerdocker@ECHO OFF REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set BUILDDIR=_build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . set I18NSPHINXOPTS=%SPHINXOPTS% . if NOT "%PAPER%" == "" ( set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% ) if "%1" == "" goto help if "%1" == "help" ( :help echo.Please use `make ^` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items echo. xml to make Docutils-native XML files echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled echo. coverage to run coverage check of the documentation if enabled goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* goto end ) REM Check if sphinx-build is available and fallback to Python version if any %SPHINXBUILD% 2> nul if errorlevel 9009 goto sphinx_python goto sphinx_ok :sphinx_python set SPHINXBUILD=python -m sphinx.__init__ %SPHINXBUILD% 2> nul if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) :sphinx_ok if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\subliminal.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\subliminal.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdf" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdfja" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf-ja cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "texinfo" ( %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo if errorlevel 1 exit /b 1 echo. echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. goto end ) if "%1" == "gettext" ( %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale if errorlevel 1 exit /b 1 echo. echo.Build finished. The message catalogs are in %BUILDDIR%/locale. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) if "%1" == "coverage" ( %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage if errorlevel 1 exit /b 1 echo. echo.Testing of coverage in the sources finished, look at the ^ results in %BUILDDIR%/coverage/python.txt. goto end ) if "%1" == "xml" ( %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml if errorlevel 1 exit /b 1 echo. echo.Build finished. The XML files are in %BUILDDIR%/xml. goto end ) if "%1" == "pseudoxml" ( %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml if errorlevel 1 exit /b 1 echo. echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. goto end ) :end ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6341805 subliminal-2.2.0/docs/user/0000755000175100001770000000000014636376432015203 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/user/cli.rst0000644000175100001770000000037014636376416016506 0ustar00runnerdocker.. _cli: CLI === subliminal ---------- .. program-output:: subliminal --help subliminal download ------------------- .. program-output:: subliminal download --help subliminal cache ---------------- .. program-output:: subliminal cache --help ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/user/how_it_works.rst0000644000175100001770000000453714636376416020466 0ustar00runnerdockerHow it works ============ Providers --------- Subliminal uses multiple providers to give users a vast choice and have a better chance to find the best matching subtitles. Current supported providers are: * Addic7ed * Gestdown * NapiProjekt * OpenSubtitles * OpenSubtitles.com * Podnapisi * TvSubtitles Providers all inherit the same :class:`~subliminal.providers.Provider` base class and thus share the same API. They are registered on the ``subliminal.providers`` entry point and are exposed through the :data:`~subliminal.extensions.provider_manager` for easy access. To work with multiple providers seamlessly, the :class:`~subliminal.core.ProviderPool` exposes the same API but distributes it to its providers and :class:`~subliminal.core.AsyncProviderPool` does it asynchronously. .. _scoring: Scoring ------- Rating subtitles and comparing them is probably the most difficult part and this is where subliminal excels with its powerful scoring algorithm. Using `guessit `_ and `enzyme `_, subliminal extracts properties of the video and match them with the properties of the subtitles found with the providers. Equations in :mod:`subliminal.score` give a score to each property (called a match). The more matches the video and the subtitle have, the higher the score computed with :func:`~subliminal.score.compute_score` gets. Libraries --------- Various libraries are used by subliminal and are key to its success: * `guessit `_ to guess information from filenames * `enzyme `_ to detect embedded subtitles in videos and read other video metadata * `babelfish `_ to work with languages * `requests `_ to make human readable HTTP requests * `BeautifulSoup `_ to parse HTML and XML * `dogpile.cache `_ to cache intermediate search results * `stevedore `_ to manage the provider entry point * `chardet `_ to detect subtitles' encoding * `srt `_ to validate downloaded SubRip subtitles * `pysub2 `_ to validate and convert downloaded subtitles to other formats. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/user/provider_guide.rst0000644000175100001770000001036414636376416020752 0ustar00runnerdockerProvider Guide ============== This guide is going to explain how to add a :class:`~subliminal.providers.Provider` to subliminal. You are encouraged to take a look at the existing providers, it can be a nice base to start your own provider. Requirements ------------ When starting a provider you should be able to answer to the following questions: * What languages does my provider support? * What are the language codes for the supported languages? * Does my provider deliver subtitles for episodes? for movies? * Does my provider require a video hash? Each response of these questions will help you set the correct attributes for your :class:`~subliminal.providers.Provider`. Video Validation ---------------- Not all providers deliver subtitles for :class:`~subliminal.video.Episode`. Some may require a hash. The :meth:`~subliminal.providers.Provider.check` method does validation against a :class:`~subliminal.video.Video` object and will return `False` if the given :class:`~subliminal.video.Video` isn't suitable. If you're not happy with the default implementation, you can override it. Configuration ------------- API keys must not be configurable by the user and must remain linked to subliminal. Hence they must be written in the provider module. Per-user authentication is allowed and must be configured at instantiation as keyword arguments. Configuration will be done by the user through the `provider_configs` argument of the :func:`~subliminal.core.list_subtitles` and :func:`~subliminal.core.download_best_subtitles` functions. No network operation must be done during instantiation, only configuration. Any error in the configuration must raise a :class:`~subliminal.exceptions.ConfigurationError`. Beyond this point, if an error occurs, a generic :class:`~subliminal.exceptions.ProviderError` exception must be raised. You can also use more explicit exception classes :class:`~subliminal.exceptions.AuthenticationError` and :class:`~subliminal.exceptions.DownloadLimitExceeded`. Initialization / Termination ---------------------------- Actual authentication operations must take place in the :meth:`~subliminal.providers.Provider.initialize` method. If you need anything to be executed when the provider isn't used anymore like logout, use :meth:`~subliminal.providers.Provider.terminate`. Caching policy -------------- To save bandwidth and improve querying time, intermediate data should be cached when possible. Typical use case is when a query to retrieve show ids is required prior to the query to actually search for subtitles. In that case the function that gets the show id from the show name must be cached. Expiration time should be :data:`~subliminal.cache.SHOW_EXPIRATION_TIME` for shows and :data:`~subliminal.cache.EPISODE_EXPIRATION_TIME` for episodes. Language -------- To be able to handle various language codes, subliminal makes use of `babelfish `_ Language and converters. You must set the attribute :attr:`~subliminal.providers.Provider.languages` with a set of supported :class:`~babelfish.language.Language`. If you cannot find a suitable converter for your provider, you can `make one of your own `_. Querying -------- The :meth:`~subliminal.providers.Provider.query` method parameters must include all aspects of provider's querying with primary types. Subtitle -------- A custom :class:`~subliminal.subtitle.Subtitle` subclass must be created to represent a subtitle from the provider. It must have relevant attributes that can be used to compute the matches of the subtitle against a :class:`~subliminal.video.Video` object. Score computation ----------------- To be able to compare subtitles coming from different providers between them, the :meth:`~subliminal.subtitle.Subtitle.get_matches` method must be implemented. Unittesting ----------- All possible uses of :meth:`~subliminal.providers.Provider.query`, :meth:`~subliminal.providers.Provider.list_subtitles` and :meth:`~subliminal.providers.Provider.download_subtitle` methods must have integration tests. Use `vcrpy `_ for recording and playback of network activity. Other functions must be unittested. If necessary, you can use :mod:`unittest.mock` to mock some functions. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/docs/user/usage.rst0000644000175100001770000001431514636376416017047 0ustar00runnerdockerUsage ===== CLI --- Download English subtitles:: $ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Collecting videos [####################################] 100% 1 video collected / 0 video ignored Downloading subtitles [####################################] 100% Downloaded 1 subtitle .. warning:: For cron usage, make sure to specify a maximum age (with ``--age``) so subtitles are searched for recent videos only. Otherwise you will get banned from the providers for abuse due to too many requests. If subliminal didn't find subtitles for an old video, it's unlikely it will find subtitles for that video ever anyway. You can use a configuration file in the `TOML `_ format with the ``--config/-c`` option. If no configuration file is provided, it looks for a ``subliminal.toml`` file in the default configuration folder for the application. This folder is `OS dependent `_: - Linux: ``/home//.config/subliminal/subliminal.toml`` - MacOS: ``/Users//Library/Application Support/subliminal/subliminal.toml`` - Windows: ``C:\\Users\\\\AppData\\Local\\Acme\\subliminal\\subliminal.toml`` See :ref:`cli` for more details on the available commands and options. Nautilus/Nemo integration ------------------------- See the dedicated `project page `_ for more information. Dolphin integration ------------------- See `this Gist `_. High level API -------------- You can call subliminal in many different ways depending on how much control you want over the process. For most use cases, you can stick to the standard API. Common ^^^^^^ Let's start by importing subliminal: >>> import os >>> from babelfish import * >>> from subliminal import * Before going further, there are a few things to know about subliminal. Video ^^^^^ The :class:`~subliminal.video.Movie` and :class:`~subliminal.video.Episode` classes represent a video, existing or not. You can create a video by name (or path) with :meth:`Video.fromname `, use :func:`~subliminal.core.scan_video` on an existing file path to get even more information about the video or use :func:`~subliminal.core.scan_videos` on an existing directory path to scan a whole directory for videos. >>> video = Video.fromname('The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4') >>> video Here video information was guessed based on the name of the video, you can access some video attributes: >>> video.video_codec 'H.264' >>> video.release_group 'LOL' Configuration ^^^^^^^^^^^^^ Before proceeding to listing and downloading subtitles, you need to configure the cache. Subliminal uses a cache to reduce repeated queries to providers and improve overall performance with no impact on search quality. For the sake of this example, we're going to use a memory backend. >>> my_region = region.configure('dogpile.cache.memory') .. warning:: Choose a cache that fits your application and prefer persistent over volatile backends. The ``file`` backend is usually a good choice. See `dogpile.cache's documentation `_ for more details on backends. Now that we're done with the basics, let's have some *real* fun. Listing ^^^^^^^ To list subtitles, subliminal provides a :func:`~subliminal.core.list_subtitles` function that will return all found subtitles: >>> subtitles = list_subtitles([video], {Language('hun')}, providers=['podnapisi']) >>> subtitles[video] [, ] .. note:: As you noticed, all parameters are iterables but only contain one item which means you can deal with a lot of videos, languages and providers at the same time. For the sake of this example, we filter providers to use only one, pass ``providers=None`` (default) to search on all providers. Scoring ^^^^^^^ It's usual you have multiple candidates for subtitles. To help you chose which one to download, subliminal can compare them to the video and tell you exactly what matches with :meth:`~subliminal.subtitle.Subtitle.get_matches`: >>> for s in subtitles[video]: ... sorted(s.get_matches(video)) ['country', 'episode', 'release_group', 'season', 'series', 'source', 'video_codec', 'year'] ['country', 'episode', 'season', 'series', 'source', 'year'] And then compute a score with those matches with :func:`~subliminal.score.compute_score`: >>> for s in subtitles[video]: ... {s: compute_score(s, video)} {: 789} {: 772} Now you should have a better idea about which one you should choose. Downloading ^^^^^^^^^^^ We can settle on the first subtitle and download its content using :func:`~subliminal.core.download_subtitles`: >>> subtitle = subtitles[video][0] >>> subtitle.content is None True >>> download_subtitles([subtitle]) >>> subtitle.content.split(b'\n')[2] b'Elszaladok a boltba' If you want a string instead of bytes, you can access decoded content with the :attr:`~subliminal.subtitle.Subtitle.text` property: >>> subtitle.text.split('\n')[3] 'néhány apróságért.' Downloading best subtitles ^^^^^^^^^^^^^^^^^^^^^^^^^^ Downloading best subtitles is what you want to do in almost all cases, as a shortcut for listing, scoring and downloading you can use :func:`~subliminal.core.download_best_subtitles`: >>> best_subtitles = download_best_subtitles([video], {Language('hun')}, providers=['podnapisi']) >>> best_subtitles[video] [] >>> best_subtitle = best_subtitles[video][0] >>> best_subtitle.content.split(b'\n')[2] b'Elszaladok a boltba' We end up with the same subtitle but with one line of code. Neat. Save ^^^^ We got ourselves a nice subtitle, now we can save it on the file system using :func:`~subliminal.core.save_subtitles`: >>> save_subtitles(video, [best_subtitle]) [] >>> os.listdir() ['The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.hu.srt'] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/pyproject.toml0000644000175100001770000001625014636376416016217 0ustar00runnerdocker# https://peps.python.org/pep-0517/ [build-system] requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" # https://peps.python.org/pep-0621/ [project] name = "subliminal" description = "Subtitles, faster than your thoughts" requires-python = ">=3.8" license = { text = "MIT" } authors = [{ name = "Antoine Bertin", email = "diaoulael@gmail.com" }] maintainers = [ { name = "Antoine Bertin", email = "diaoulael@gmail.com" }, { name = "getzze", email = "getzze@gmail.com" }, { name = "Patrycja Rosa", email = "pypi@ptrcnull.me" }, ] keywords = ["subtitle", "subtitles", "video", "movie", "episode", "tv", "show", "series"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Multimedia :: Video", ] dynamic = ["version", "readme"] dependencies = [ "babelfish>=0.6.1", "beautifulsoup4>=4.4.0", "chardet>=5.0", "click>=8.0", "click-option-group>=0.5.6", "dogpile.cache>=1.0", "enzyme>=0.5.0", "guessit>=3.0.0", "platformdirs>=4.2", "pysubs2>=1.7", "rarfile>=2.7", "requests>=2.0", "srt>=3.5", "stevedore>=3.0", "tomli>=2", ] # extras # https://peps.python.org/pep-0621/#dependencies-optional-dependencies [project.optional-dependencies] docs = [ "sphinx", "sphinx_rtd_theme", "sphinxcontrib-programoutput", ] test = [ "mypy", "lxml", "pytest>=6.0", "pytest-cov", "pytest-flakes", "sympy", "vcrpy>=1.6.1", "importlib_metadata>=4.6; python_version<'3.10'", ] dev = [ "doc8", "mypy", "ruff", "typos", "validate-pyproject", "tox", ] [project.urls] homepage = "https://github.com/Diaoul/subliminal" repository = "https://github.com/Diaoul/subliminal" documentation = "https://subliminal.readthedocs.org" [project.scripts] subliminal = "subliminal.cli:subliminal" [project.entry-points."subliminal.providers"] addic7ed = "subliminal.providers.addic7ed:Addic7edProvider" gestdown = "subliminal.providers.gestdown:GestdownProvider" napiprojekt = "subliminal.providers.napiprojekt:NapiProjektProvider" opensubtitles = "subliminal.providers.opensubtitles:OpenSubtitlesProvider" opensubtitlesvip = "subliminal.providers.opensubtitles:OpenSubtitlesVipProvider" opensubtitlescom = "subliminal.providers.opensubtitlescom:OpenSubtitlesComProvider" opensubtitlescomvip = "subliminal.providers.opensubtitlescom:OpenSubtitlesComVipProvider" podnapisi = "subliminal.providers.podnapisi:PodnapisiProvider" tvsubtitles = "subliminal.providers.tvsubtitles:TVsubtitlesProvider" [project.entry-points."subliminal.refiners"] hash = "subliminal.refiners.hash:refine" metadata = "subliminal.refiners.metadata:refine" omdb = "subliminal.refiners.omdb:refine" tvdb = "subliminal.refiners.tvdb:refine" [project.entry-points."babelfish.language_converters"] addic7ed = "subliminal.converters.addic7ed:Addic7edConverter" opensubtitlescom = "subliminal.converters.opensubtitlescom:OpenSubtitlesComConverter" shooter = "subliminal.converters.shooter:ShooterConverter" thesubdb = "subliminal.converters.thesubdb:TheSubDBConverter" tvsubtitles = "subliminal.converters.tvsubtitles:TVsubtitlesConverter" [tool.setuptools] py-modules = ["subliminal"] include-package-data = true [tool.setuptools.package-data] subliminal = [ "py.typed", ] [tool.setuptools.packages.find] namespaces = false where = ["."] [tool.setuptools.dynamic] version = {attr = "subliminal.__version__"} readme = {file = ["README.rst", "HISTORY.rst"]} # https://docs.astral.sh/ruff/ [tool.ruff] line-length = 120 src = ["subliminal", "tests"] exclude = [ "_version.py", ] [tool.ruff.lint] pydocstyle = { convention = "pep257" } select = [ "E", # style errors "F", # flakes "W", # warnings "D", # pydocstyle "D417", # Missing argument descriptions in Docstrings "I", # isort "UP", # pyupgrade "S", # bandit "C4", # flake8-comprehensions "B", # flake8-bugbear "TCH", # flake8-typecheck "TID", # flake8-tidy-imports "RUF", # ruff-specific rules "ISC", # flake8-implicit-str-concat "PT", # flake8-pytest-style "FA", # flake8-future-annotations "BLE", # flake8-blind-except "RET", # flake8-return "SIM", # flake8-simplify "DTZ", # flake8-datetimez "A", # flake8-builtins "FBT", # flake8-boolean-trap "ANN0", # flake8-annotations "ANN2", "ASYNC", # flake8-async "TRY", # tryceratops ] ignore = [ "D105", # Missing docstring in magic method "D107", # Missing docstring in `__init__` "D401", # First line should be in imperative mood ] [tool.ruff.lint.per-file-ignores] "docs/conf*.py" = ["ALL"] "subliminal/__init__.py" = ["E402"] "tests/*.py" = ["D", "S", "RUF012", "ANN", "FBT"] # https://docs.astral.sh/ruff/formatter/ [tool.ruff.format] docstring-code-format = true quote-style = "single" # https://docs.pytest.org/en/6.2.x/customize.html [tool.pytest.ini_options] minversion = "6.0" testpaths = ["tests"] addopts = "--doctest-glob='*.rst'" markers = [ "integration", "converter", ] doctest_optionflags = ["NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL"] # https://coverage.readthedocs.io/en/latest/config.html [tool.coverage.report] exclude_also = [ "pragma: no.cover", "if TYPE_CHECKING:", "@overload", "except ImportError", "\\.\\.\\.", "raise NotImplementedError()", "if __name__ == .__main__.:", ] show_missing = true skip_covered = true fail_under = 80 omit = ["subliminal/cli.py"] [tool.coverage.run] source = ["subliminal"] relative_files = true # https://mypy.readthedocs.io/en/stable/config_file.html [tool.mypy] files = "subliminal/**/*.py" exclude = ['build', 'dist', 'docs'] # global-only flags pretty = true show_error_codes = true namespace_packages = false warn_redundant_casts = true # global per-module flags check_untyped_defs = true strict_equality = true disallow_any_generics = false disallow_subclassing_any = false [[tool.mypy.overrides]] module = ["subliminal.*"] warn_return_any = true disallow_untyped_defs = true disallow_untyped_calls = true disallow_untyped_decorators = true extra_checks = true [[tool.mypy.overrides]] module = ["tests.*"] disallow_untyped_defs = false disallow_untyped_calls = false warn_return_any = false disable_error_code = ["var-annotated"] # https://github.com/PyCQA/doc8 [tool.doc8] allow-long-titles = true max-line-length = 120 # https://github.com/crate-ci/typos/blob/master/docs/reference.md [tool.typos.files] extend-exclude = ["cassettes/", "tests/"] [tool.typos.default] extend-ignore-re = [ "(?Rm)^.*#\\s*spellchecker:\\s*disable-line$", "#\\s*spellchecker:off\\s*\\n.*\\n\\s*#\\s*spellchecker:on" ] [tool.typos.default.extend-identifiers] tha = "tha" bre = "bre" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6941814 subliminal-2.2.0/setup.cfg0000644000175100001770000000004614636376432015116 0ustar00runnerdocker[egg_info] tag_build = tag_date = 0 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6341805 subliminal-2.2.0/subliminal/0000755000175100001770000000000014636376432015434 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/__init__.py0000644000175100001770000000256114636376416017553 0ustar00runnerdocker"""Subliminal.""" from __future__ import annotations __title__: str = 'subliminal' __version__: str = '2.2.0' __short_version__: str = '.'.join(__version__.split('.')[:2]) __author__: str = 'Antoine Bertin' __license__: str = 'MIT' __copyright__: str = 'Copyright 2016, Antoine Bertin' import logging from .cache import region from .core import ( AsyncProviderPool, ProviderPool, check_video, download_best_subtitles, download_subtitles, list_subtitles, refine, save_subtitles, scan_video, scan_videos, ) from .exceptions import Error, ProviderError from .extensions import provider_manager, refiner_manager from .providers import Provider from .score import compute_score, get_scores from .subtitle import SUBTITLE_EXTENSIONS, Subtitle from .video import VIDEO_EXTENSIONS, Episode, Movie, Video logging.getLogger(__name__).addHandler(logging.NullHandler()) __all__ = [ 'region', 'AsyncProviderPool', 'ProviderPool', 'check_video', 'download_best_subtitles', 'download_subtitles', 'list_subtitles', 'refine', 'save_subtitles', 'scan_video', 'scan_videos', 'Error', 'ProviderError', 'provider_manager', 'refiner_manager', 'Provider', 'compute_score', 'get_scores', 'SUBTITLE_EXTENSIONS', 'Subtitle', 'VIDEO_EXTENSIONS', 'Episode', 'Movie', 'Video', ] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/cache.py0000644000175100001770000000175514636376416017063 0ustar00runnerdocker"""Caching structure.""" from __future__ import annotations import datetime from dogpile.cache import make_region from dogpile.cache.util import function_key_generator #: Expiration time for show caching SHOW_EXPIRATION_TIME = datetime.timedelta(weeks=3).total_seconds() #: Expiration time for episode caching EPISODE_EXPIRATION_TIME = datetime.timedelta(days=3).total_seconds() #: Expiration time for scraper searches REFINER_EXPIRATION_TIME = datetime.timedelta(weeks=1).total_seconds() def _to_native_str(value: str | bytes) -> str: """Convert bytes to str.""" if isinstance(value, bytes): return value.decode('utf-8') return str(value) def to_native_str_key_generator(namespace, fn, to_str=_to_native_str): # type: ignore[no-untyped-def] # noqa: ANN201, ANN001 """Convert bytes to str, generator.""" return function_key_generator(namespace, fn, to_str) # type: ignore[no-untyped-call] region = make_region(function_key_generator=to_native_str_key_generator) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/cli.py0000644000175100001770000005113314636376416016562 0ustar00runnerdocker# ruff: noqa: FBT001 """Subliminal uses `click `_ to provide a powerful :abbr:`CLI (command-line interface)`.""" from __future__ import annotations import glob import logging import os import pathlib import re from collections import defaultdict from datetime import timedelta from typing import TYPE_CHECKING, Any import click import tomli from babelfish import Error as BabelfishError # type: ignore[import-untyped] from babelfish import Language from click_option_group import OptionGroup from dogpile.cache.backends.file import AbstractFileLock from dogpile.util.readwrite_lock import ReadWriteMutex from platformdirs import PlatformDirs from subliminal import ( AsyncProviderPool, Episode, Movie, Video, __version__, check_video, compute_score, get_scores, provider_manager, refine, refiner_manager, region, save_subtitles, scan_video, scan_videos, ) from subliminal.core import ARCHIVE_EXTENSIONS, search_external_subtitles from subliminal.score import match_hearing_impaired if TYPE_CHECKING: from collections.abc import Sequence logger = logging.getLogger(__name__) class MutexLock(AbstractFileLock): """:class:`MutexLock` is a thread-based rw lock based on :class:`dogpile.core.ReadWriteMutex`.""" def __init__(self, filename: str) -> None: self.mutex = ReadWriteMutex() # type: ignore[no-untyped-call] def acquire_read_lock(self, wait: bool) -> bool: """Acquire a reader lock.""" ret = self.mutex.acquire_read_lock(wait) # type: ignore[no-untyped-call] return wait or bool(ret) def acquire_write_lock(self, wait: bool) -> bool: """Acquire a writer lock.""" ret = self.mutex.acquire_write_lock(wait) # type: ignore[no-untyped-call] return wait or bool(ret) def release_read_lock(self) -> None: """Release a reader lock.""" return self.mutex.release_read_lock() # type: ignore[no-untyped-call,no-any-return] def release_write_lock(self) -> None: """Release a writer lock.""" return self.mutex.release_write_lock() # type: ignore[no-untyped-call,no-any-return] class LanguageParamType(click.ParamType): """:class:`~click.ParamType` for languages that returns a :class:`~babelfish.language.Language`.""" name = 'language' def convert(self, value: str, param: click.Parameter | None, ctx: click.Context | None) -> Language: """Convert ietf language to :class:`~babelfish.Language`.""" try: return Language.fromietf(value) except BabelfishError: self.fail(f'{value} is not a valid language', param, ctx) LANGUAGE = LanguageParamType() class AgeParamType(click.ParamType): """:class:`~click.ParamType` for age strings that returns a :class:`~datetime.timedelta`. An age string is in the form `number + identifier` with possible identifiers: * ``w`` for weeks * ``d`` for days * ``h`` for hours The form can be specified multiple times but only with that idenfier ordering. For example: * ``1w2d4h`` for 1 week, 2 days and 4 hours * ``2w`` for 2 weeks * ``3w6h`` for 3 weeks and 6 hours """ name = 'age' def convert(self, value: str, param: click.Parameter | None, ctx: click.Context | None) -> timedelta: """Convert an age string to :class:`~datetime.timedelta`.""" match = re.match(r'^(?:(?P\d+?)w)?(?:(?P\d+?)d)?(?:(?P\d+?)h)?$', value) if not match: self.fail(f'{value} is not a valid age', param, ctx) return timedelta(**{k: int(v) for k, v in match.groupdict(0).items()}) def configure(ctx: click.Context, param: click.Parameter | None, filename: str | os.PathLike) -> None: """Read a configuration file.""" filename = pathlib.Path(filename).expanduser() toml_dict = {} if filename.is_file(): try: with open(filename, 'rb') as f: toml_dict = tomli.load(f) except tomli.TOMLDecodeError: msg = f'Cannot read the configuration file at {filename}' click.echo(msg) else: msg = f'Using configuration file at {filename}' click.echo(msg) else: msg = 'Not using any configuration file.' click.echo(msg) options = {} # make default options default_dict = toml_dict.setdefault('default', {}) if 'cache_dir' in default_dict: options['cache_dir'] = default_dict.pop('cache_dir') # make download options download_dict = toml_dict.setdefault('download', {}) options['download'] = download_dict # make provider and refiner options providers_dict = toml_dict.setdefault('provider', {}) refiners_dict = toml_dict.setdefault('refiner', {}) ctx.obj = {'provider_configs': providers_dict, 'refiner_configs': refiners_dict} ctx.default_map = options def plural(quantity: int, name: str, *, bold: bool = True, **kwargs: Any) -> str: """Format a quantity with plural.""" return '{} {}{}'.format( click.style(str(quantity), bold=bold, **kwargs), name, 's' if quantity > 1 else '', ) AGE = AgeParamType() PROVIDER = click.Choice(sorted(provider_manager.names())) REFINER = click.Choice(sorted(refiner_manager.names())) dirs = PlatformDirs('subliminal') cache_file = 'subliminal.dbm' default_config_path = dirs.user_config_path / 'subliminal.toml' providers_config = OptionGroup('Providers configuration') refiners_config = OptionGroup('Refiners configuration') @click.group( context_settings={'max_content_width': 100}, epilog='Suggestions and bug reports are greatly appreciated: https://github.com/Diaoul/subliminal/', ) @click.option( '-c', '--config', type=click.Path(dir_okay=False, path_type=pathlib.Path), default=default_config_path, callback=configure, show_default=True, is_eager=True, expose_value=False, help='Path to the TOML configuration file.', ) @click.option( '--cache-dir', type=click.Path(writable=True, file_okay=False), default=dirs.user_cache_dir, show_default=True, expose_value=True, help='Path to the cache directory.', ) @providers_config.option( '--addic7ed', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='Addic7ed configuration.', ) @providers_config.option( '--opensubtitles', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='OpenSubtitles configuration.', ) @providers_config.option( '--opensubtitlescom', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='OpenSubtitles.com configuration.', ) @refiners_config.option('--omdb', type=click.STRING, nargs=1, metavar='APIKEY', help='OMDB API key.') @click.option('--debug', is_flag=True, help='Print useful information for debugging subliminal and for reporting bugs.') @click.version_option(__version__) @click.pass_context def subliminal( ctx: click.Context, cache_dir: str, debug: bool, addic7ed: tuple[str, str], opensubtitles: tuple[str, str], opensubtitlescom: tuple[str, str], omdb: str, ) -> None: """Subtitles, faster than your thoughts.""" cache_dir = os.path.expanduser(cache_dir) # create cache directory try: os.makedirs(cache_dir) except OSError: if not os.path.isdir(cache_dir): raise # configure cache region.configure( 'dogpile.cache.dbm', expiration_time=timedelta(days=30), arguments={'filename': os.path.join(cache_dir, cache_file), 'lock_factory': MutexLock}, ) # configure logging if debug: handler = logging.StreamHandler() handler.setFormatter(logging.Formatter(logging.BASIC_FORMAT)) logging.getLogger('subliminal').addHandler(handler) logging.getLogger('subliminal').setLevel(logging.DEBUG) ctx.obj['debug'] = debug # provider configs provider_configs = ctx.obj['provider_configs'] if addic7ed: provider_configs['addic7ed'] = {'username': addic7ed[0], 'password': addic7ed[1]} if opensubtitles: provider_configs['opensubtitles'] = {'username': opensubtitles[0], 'password': opensubtitles[1]} provider_configs['opensubtitlesvip'] = {'username': opensubtitles[0], 'password': opensubtitles[1]} if opensubtitlescom: provider_configs['opensubtitlescom'] = {'username': opensubtitlescom[0], 'password': opensubtitlescom[1]} provider_configs['opensubtitlescomvip'] = {'username': opensubtitlescom[0], 'password': opensubtitlescom[1]} # refiner configs refiner_configs = ctx.obj['refiner_configs'] if omdb: refiner_configs['omdb'] = {'apikey': omdb} @subliminal.command() @click.option( '--clear-subliminal', is_flag=True, help='Clear subliminal cache. Use this ONLY if your cache is corrupted or if you experience issues.', ) @click.pass_context def cache(ctx: click.Context, clear_subliminal: bool) -> None: """Cache management.""" if clear_subliminal and ctx.parent and 'cache_dir' in ctx.parent.params: for file in glob.glob(os.path.join(ctx.parent.params['cache_dir'], cache_file) + '*'): os.remove(file) click.echo("Subliminal's cache cleared.") else: click.echo('Nothing done.') @subliminal.command() @click.option( '-l', '--language', type=LANGUAGE, required=True, multiple=True, help='Language as IETF code, e.g. en, pt-BR (can be used multiple times).', ) @click.option('-p', '--provider', type=PROVIDER, multiple=True, help='Provider to use (can be used multiple times).') @click.option('-r', '--refiner', type=REFINER, multiple=True, help='Refiner to use (can be used multiple times).') @click.option('-a', '--age', type=AGE, help='Filter videos newer than AGE, e.g. 12h, 1w2d.') @click.option( '-d', '--directory', type=click.STRING, metavar='DIR', help='Directory where to save subtitles, default is next to the video file.', ) @click.option( '-e', '--encoding', type=click.STRING, metavar='ENC', default='utf-8', help='Force subtitle file encoding, default is utf-8.', ) @click.option( '--original-encoding', is_flag=True, default=False, help='Preserve original subtitle file encoding.', ) @click.option( '-s', '--single', is_flag=True, default=False, help=( 'Save subtitle without language code in the file name, i.e. use .srt extension. ' 'Do not use this unless your media player requires it.' ), ) @click.option('-f', '--force', is_flag=True, default=False, help='Force download even if a subtitle already exist.') @click.option('-hi', '--hearing-impaired', is_flag=True, default=False, help='Prefer hearing impaired subtitles.') @click.option( '-m', '--min-score', type=click.IntRange(0, 100), default=0, help='Minimum score for a subtitle to be downloaded (0 to 100).', ) @click.option('-w', '--max-workers', type=click.IntRange(1, 50), default=None, help='Maximum number of threads to use.') @click.option( '-z/-Z', '--archives/--no-archives', default=True, show_default=True, help=f'Scan archives for videos (supported extensions: {", ".join(ARCHIVE_EXTENSIONS)}).', ) @click.option('-v', '--verbose', count=True, help='Increase verbosity.') @click.argument('path', type=click.Path(), required=True, nargs=-1) @click.pass_obj def download( obj: dict[str, Any], provider: Sequence[str], refiner: Sequence[str], language: Sequence[Language], age: timedelta | None, directory: str | None, encoding: str | None, original_encoding: bool, single: bool, force: bool, hearing_impaired: bool, min_score: int, max_workers: int, archives: bool, verbose: int, path: list[str], ) -> None: """Download best subtitles. PATH can be an directory containing videos, a video file path or a video file name. It can be used multiple times. If an existing subtitle is detected (external or embedded) in the correct language, the download is skipped for the associated video. """ # process parameters language_set = set(language) # preserve original encoding if original_encoding: encoding = None # no encoding specified, default to utf-8 elif encoding is None: encoding = 'utf-8' debug = obj.get('debug', False) if debug: verbose = 3 # scan videos videos = [] ignored_videos = [] errored_paths = [] with click.progressbar(path, label='Collecting videos', item_show_func=lambda p: p or '') as bar: for p in bar: if debug: # print a new line, so the logs appear below the progressbar click.echo() p = os.path.abspath(os.path.expanduser(p)) logger.debug('Collecting path %s', p) # non-existing if not os.path.exists(p): try: video = Video.fromname(p) except ValueError: logger.exception('Unexpected error while collecting non-existing path %s', p) errored_paths.append(p) continue if not force: video.subtitle_languages |= set(search_external_subtitles(video.name, directory=directory).values()) if check_video(video, languages=language_set, age=age, undefined=single): refine( video, episode_refiners=refiner, movie_refiners=refiner, refiner_configs=obj['refiner_configs'], embedded_subtitles=not force, providers=provider, languages=language_set, ) videos.append(video) continue # directories if os.path.isdir(p): try: scanned_videos = scan_videos(p, age=age, archives=archives) except ValueError: logger.exception('Unexpected error while collecting directory path %s', p) errored_paths.append(p) continue for video in scanned_videos: if not force: video.subtitle_languages |= set( search_external_subtitles(video.name, directory=directory).values() ) if check_video(video, languages=language_set, age=age, undefined=single): refine( video, episode_refiners=refiner, movie_refiners=refiner, refiner_configs=obj['refiner_configs'], embedded_subtitles=not force, providers=provider, languages=language_set, ) videos.append(video) else: ignored_videos.append(video) continue # other inputs try: video = scan_video(p) except ValueError: logger.exception('Unexpected error while collecting path %s', p) errored_paths.append(p) continue if not force: video.subtitle_languages |= set(search_external_subtitles(video.name, directory=directory).values()) if check_video(video, languages=language_set, age=age, undefined=single): refine( video, episode_refiners=refiner, movie_refiners=refiner, refiner_configs=obj['refiner_configs'], embedded_subtitles=not force, providers=provider, languages=language_set, ) videos.append(video) else: ignored_videos.append(video) # output errored paths if verbose > 0: for p in errored_paths: click.secho(f'{p} errored', fg='red') # output ignored videos if verbose > 1: for video in ignored_videos: video_name = os.path.split(video.name)[1] langs = ', '.join(str(s) for s in video.subtitle_languages) or 'none' days = f"{video.age.days:d} day{'s' if video.age.days > 1 else ''}" click.secho( f'{video_name!r} ignored - subtitles: {langs} / age: {days}', fg='yellow', ) # report collected videos click.echo( '{} collected / {} ignored / {}'.format( plural(len(videos), 'video', fg='green' if videos else None), plural(len(ignored_videos), 'video', fg='yellow' if ignored_videos else None), plural(len(errored_paths), 'error', fg='red' if errored_paths else None), ), ) # exit if no video collected if not videos: return # download best subtitles downloaded_subtitles = defaultdict(list) with AsyncProviderPool( max_workers=max_workers, providers=provider, provider_configs=obj['provider_configs'], ) as pp: with click.progressbar( videos, label='Downloading subtitles', item_show_func=lambda v: os.path.split(v.name)[1] if v is not None else '', ) as bar: for v in bar: if debug: # print a new line, so the logs appear below the progressbar click.echo() scores = get_scores(v) subtitles = pp.download_best_subtitles( pp.list_subtitles(v, language_set - v.subtitle_languages), v, language_set, min_score=scores['hash'] * min_score // 100, hearing_impaired=hearing_impaired, only_one=single, ) downloaded_subtitles[v] = subtitles if pp.discarded_providers: click.secho( f"Some providers have been discarded due to unexpected errors: {', '.join(pp.discarded_providers)}", fg='yellow', ) # save subtitles total_subtitles = 0 for v, subtitles in downloaded_subtitles.items(): saved_subtitles = save_subtitles(v, subtitles, single=single, directory=directory, encoding=encoding) total_subtitles += len(saved_subtitles) if verbose > 0: click.echo(f"{plural(len(saved_subtitles), 'subtitle')} downloaded for {os.path.split(v.name)[1]}") if verbose > 1: for s in saved_subtitles: matches = s.get_matches(v) score = compute_score(s, v) # score color score_color = None scores = get_scores(v) if isinstance(v, Movie): if score < scores['title']: score_color = 'red' elif score < scores['title'] + scores['year'] + scores['release_group']: score_color = 'yellow' else: score_color = 'green' elif isinstance(v, Episode): if score < scores['series'] + scores['season'] + scores['episode']: score_color = 'red' elif score < scores['series'] + scores['season'] + scores['episode'] + scores['release_group']: score_color = 'yellow' else: score_color = 'green' # scale score from 0 to 100 taking out preferences scaled_score = score if match_hearing_impaired(s, hearing_impaired=hearing_impaired): scaled_score -= scores['hearing_impaired'] scaled_score *= 100 / scores['hash'] # echo some nice colored output language_str = ( s.language.name if s.language.country is None else f'{s.language.name} ({s.language.country.name})' ) click.echo( ' - [{score}] {language} subtitle from {provider_name} (match on {matches})'.format( score=click.style(f'{scaled_score:5.1f}', fg=score_color, bold=score >= scores['hash']), language=language_str, provider_name=s.provider_name, matches=', '.join(sorted(matches, key=lambda m: scores.get(m, 0), reverse=True)), ), ) if verbose == 0: click.echo(f"Downloaded {plural(total_subtitles, 'subtitle')}") ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6381807 subliminal-2.2.0/subliminal/converters/0000755000175100001770000000000014636376432017626 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/__init__.py0000644000175100001770000000053114636376416021740 0ustar00runnerdocker"""Specialized :class:`~babelfiss.LanguageReverseConverter` converters to match the languages of the providers.""" from typing import TYPE_CHECKING if TYPE_CHECKING: # Tuple of language (alpha3, country, script), with country and script optional LanguageTuple = tuple[str] | tuple[str, str | None] | tuple[str, str | None, str | None] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/addic7ed.py0000644000175100001770000000452214636376416021651 0ustar00runnerdocker"""Language converter for Addic7ed.""" from __future__ import annotations from typing import TYPE_CHECKING from babelfish import LanguageReverseConverter, language_converters # type: ignore[import-untyped] if TYPE_CHECKING: from . import LanguageTuple class Addic7edConverter(LanguageReverseConverter): """Language converter for Addic7ed.""" def __init__(self) -> None: self.name_converter = language_converters['name'] self.from_addic7ed: dict[str, LanguageTuple] = { 'Català': ('cat',), 'Chinese (Simplified)': ('zho',), 'Chinese (Traditional)': ('zho',), 'Euskera': ('eus',), 'Galego': ('glg',), 'Greek': ('ell',), 'Malay': ('msa',), 'Portuguese (Brazilian)': ('por', 'BR'), 'Serbian (Cyrillic)': ('srp', None, 'Cyrl'), 'Serbian (Latin)': ('srp',), 'Spanish (Latin America)': ('spa',), 'Spanish (Spain)': ('spa',), } self.to_addic7ed: dict[LanguageTuple, str] = { ('cat',): 'Català', ('zho',): 'Chinese (Simplified)', ('eus',): 'Euskera', ('glg',): 'Galego', ('ell',): 'Greek', ('msa',): 'Malay', ('por', 'BR'): 'Portuguese (Brazilian)', ('srp', None, 'Cyrl'): 'Serbian (Cyrillic)', } self.codes = self.name_converter.codes | set(self.from_addic7ed.keys()) def convert(self, alpha3: str, country: str | None = None, script: str | None = None) -> str: """Convert an alpha3 language code with an alpha2 country code and a script code into a custom code.""" if (alpha3, country, script) in self.to_addic7ed: return self.to_addic7ed[(alpha3, country, script)] if (alpha3, country) in self.to_addic7ed: return self.to_addic7ed[(alpha3, country)] if (alpha3,) in self.to_addic7ed: return self.to_addic7ed[(alpha3,)] return self.name_converter.convert(alpha3, country, script) # type: ignore[no-any-return] def reverse(self, code: str) -> LanguageTuple: """Reverse a custom code into alpha3, country and script code.""" if code in self.from_addic7ed: return self.from_addic7ed[code] return self.name_converter.reverse(code) # type: ignore[no-any-return] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/opensubtitlescom.py0000644000175100001770000000374714636376416023614 0ustar00runnerdocker"""Language converter for OpenSubtitlesCom.""" from __future__ import annotations from typing import TYPE_CHECKING from babelfish import LanguageReverseConverter, language_converters # type: ignore[import-untyped] if TYPE_CHECKING: from . import LanguageTuple class OpenSubtitlesComConverter(LanguageReverseConverter): """Language converter for OpenSubtitlesCom. From GET API at: https://api.opensubtitles.com/api/v1/infos/languages """ def __init__(self) -> None: self.alpha2_converter = language_converters['alpha2'] self.from_opensubtitlescom: dict[str, LanguageTuple] = { 'pt-br': ('por', 'BR'), 'pt-pt': ('por', 'PT'), 'zh-cn': ('zho', 'CN'), 'zh-tw': ('zho', 'TW'), 'ze': ('zho', 'US'), 'me': ('srp', 'ME'), 'sy': ('syr',), 'ma': ('mni',), 'at': ('ast',), } self.to_opensubtitlescom: dict[LanguageTuple, str] = {v: k for k, v in self.from_opensubtitlescom.items()} self.codes = self.alpha2_converter.codes | set(self.from_opensubtitlescom.keys()) def convert(self, alpha3: str, country: str | None = None, script: str | None = None) -> str: """Convert an alpha3 language code with an alpha2 country code and a script code into a custom code.""" if (alpha3, country) in self.to_opensubtitlescom: return self.to_opensubtitlescom[(alpha3, country)] if (alpha3,) in self.to_opensubtitlescom: return self.to_opensubtitlescom[(alpha3,)] return self.alpha2_converter.convert(alpha3, country, script) # type: ignore[no-any-return] def reverse(self, code: str) -> LanguageTuple: """Reverse a custom code into alpha3, country and script code.""" code_lower = code.lower() if code_lower in self.from_opensubtitlescom: return self.from_opensubtitlescom[code_lower] return self.alpha2_converter.reverse(code) # type: ignore[no-any-return] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/shooter.py0000644000175100001770000000255314636376416021672 0ustar00runnerdocker"""Language converter for Shooter.""" from __future__ import annotations from typing import TYPE_CHECKING from babelfish import LanguageReverseConverter # type: ignore[import-untyped] from subliminal.exceptions import ConfigurationError if TYPE_CHECKING: from . import LanguageTuple class ShooterConverter(LanguageReverseConverter): """Language converter for Shooter.""" def __init__(self) -> None: self.from_shooter: dict[str, LanguageTuple] = {'chn': ('zho',), 'eng': ('eng',)} self.to_shooter: dict[LanguageTuple, str] = {v: k for k, v in self.from_shooter.items()} self.codes = set(self.from_shooter.keys()) def convert(self, alpha3: str, country: str | None = None, script: str | None = None) -> str: """Convert an alpha3 language code with an alpha2 country code and a script code into a custom code.""" if (alpha3,) in self.to_shooter: return self.to_shooter[(alpha3,)] msg = f'Unsupported language code for shooter: {(alpha3, country, script)}' raise ConfigurationError(msg) def reverse(self, code: str) -> LanguageTuple: """Reverse a custom code into alpha3, country and script code.""" if code in self.from_shooter: return self.from_shooter[code] msg = f'Unsupported language code for shooter: {code}' raise ConfigurationError(msg) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/thesubdb.py0000644000175100001770000000334614636376416022010 0ustar00runnerdocker"""Language converter for TheSubDB.""" from __future__ import annotations from typing import TYPE_CHECKING from babelfish import LanguageReverseConverter # type: ignore[import-untyped] from subliminal.exceptions import ConfigurationError if TYPE_CHECKING: from . import LanguageTuple class TheSubDBConverter(LanguageReverseConverter): """Language converter for TheSubDB.""" def __init__(self) -> None: self.from_thesubdb: dict[str, LanguageTuple] = { 'en': ('eng',), 'es': ('spa',), 'fr': ('fra',), 'it': ('ita',), 'nl': ('nld',), 'pl': ('pol',), 'pt': ('por', 'BR'), 'ro': ('ron',), 'sv': ('swe',), 'tr': ('tur',), } self.to_thesubdb: dict[LanguageTuple, str] = {v: k for k, v in self.from_thesubdb.items()} self.codes = set(self.from_thesubdb.keys()) def convert(self, alpha3: str, country: str | None = None, script: str | None = None) -> str: """Convert an alpha3 language code with an alpha2 country code and a script code into a custom code.""" if (alpha3, country) in self.to_thesubdb: return self.to_thesubdb[(alpha3, country)] if (alpha3,) in self.to_thesubdb: return self.to_thesubdb[(alpha3,)] msg = f'Unsupported language code for shooter: {(alpha3, country, script)}' raise ConfigurationError(msg) def reverse(self, code: str) -> LanguageTuple: """Reverse a custom code into alpha3, country and script code.""" if code in self.from_thesubdb: return self.from_thesubdb[code] msg = f'Unsupported language code for thesubdb: {code}' raise ConfigurationError(msg) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/converters/tvsubtitles.py0000644000175100001770000000325714636376416022601 0ustar00runnerdocker"""Language converter for TVsubtitles.""" from __future__ import annotations from typing import TYPE_CHECKING from babelfish import LanguageReverseConverter, language_converters # type: ignore[import-untyped] if TYPE_CHECKING: from . import LanguageTuple class TVsubtitlesConverter(LanguageReverseConverter): """Language converter for TVsubtitles.""" def __init__(self) -> None: self.alpha2_converter = language_converters['alpha2'] self.from_tvsubtitles: dict[str, LanguageTuple] = { 'br': ('por', 'BR'), 'ua': ('ukr',), 'gr': ('ell',), 'cn': ('zho',), 'jp': ('jpn',), 'cz': ('ces',), } self.to_tvsubtitles: dict[LanguageTuple, str] = {v: k for k, v in self.from_tvsubtitles.items()} self.codes = self.alpha2_converter.codes | set(self.from_tvsubtitles.keys()) def convert(self, alpha3: str, country: str | None = None, script: str | None = None) -> str: """Convert an alpha3 language code with an alpha2 country code and a script code into a custom code.""" if (alpha3, country) in self.to_tvsubtitles: return self.to_tvsubtitles[(alpha3, country)] if (alpha3,) in self.to_tvsubtitles: return self.to_tvsubtitles[(alpha3,)] return self.alpha2_converter.convert(alpha3, country, script) # type: ignore[no-any-return] def reverse(self, code: str) -> LanguageTuple: """Reverse a custom code into alpha3, country and script code.""" if code in self.from_tvsubtitles: return self.from_tvsubtitles[code] return self.alpha2_converter.reverse(code) # type: ignore[no-any-return] ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/core.py0000644000175100001770000007334614636376416016755 0ustar00runnerdocker"""Core functions.""" from __future__ import annotations import itertools import logging import operator import os from collections import defaultdict from concurrent.futures import ThreadPoolExecutor from datetime import datetime, timedelta, timezone from typing import TYPE_CHECKING, Any from zipfile import BadZipfile from babelfish import Language, LanguageReverseError # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from rarfile import BadRarFile, Error, NotRarFile, RarCannotExec, RarFile, is_rarfile # type: ignore[import-untyped] from .extensions import default_providers, provider_manager, refiner_manager from .score import compute_score as default_compute_score from .subtitle import SUBTITLE_EXTENSIONS, Subtitle from .utils import handle_exception from .video import VIDEO_EXTENSIONS, Episode, Movie, Video if TYPE_CHECKING: from collections.abc import Iterator, Mapping, Sequence, Set from types import TracebackType from subliminal.providers import Provider from subliminal.score import ComputeScore #: Supported archive extensions ARCHIVE_EXTENSIONS = ('.rar',) logger = logging.getLogger(__name__) class ProviderPool: """A pool of providers with the same API as a single :class:`~subliminal.providers.Provider`. It has a few extra features: * Lazy loads providers when needed and supports the `with` statement to :meth:`terminate` the providers on exit. * Automatically discard providers on failure. :param list providers: name of providers to use, if not all. :param dict provider_configs: provider configuration as keyword arguments per provider name to pass when instantiating the :class:`~subliminal.providers.Provider`. """ #: Name of providers to use providers: Sequence[str] #: Provider configuration provider_configs: Mapping[str, Any] #: Initialized providers initialized_providers: dict[str, Provider] #: Discarded providers discarded_providers: set[str] def __init__( self, providers: Sequence[str] | None = None, provider_configs: Mapping[str, Any] | None = None, ) -> None: self.providers = providers or default_providers self.provider_configs = provider_configs or {} self.initialized_providers = {} self.discarded_providers = set() def __enter__(self) -> ProviderPool: return self def __exit__( self, exc_type: type[BaseException], exc_value: BaseException | None, traceback: TracebackType | None, ) -> None: self.terminate() def __getitem__(self, name: str) -> Provider: if name not in self.providers: raise KeyError if name not in self.initialized_providers: logger.info('Initializing provider %s', name) provider = provider_manager[name].plugin(**self.provider_configs.get(name, {})) provider.initialize() self.initialized_providers[name] = provider return self.initialized_providers[name] def __delitem__(self, name: str) -> None: if name not in self.initialized_providers: raise KeyError(name) try: logger.info('Terminating provider %s', name) self.initialized_providers[name].terminate() except Exception as e: # noqa: BLE001 handle_exception(e, f'Provider {name} improperly terminated') del self.initialized_providers[name] def __iter__(self) -> Iterator[str]: return iter(self.initialized_providers) def list_subtitles_provider(self, provider: str, video: Video, languages: Set[Language]) -> list[Subtitle]: """List subtitles with a single provider. The video and languages are checked against the provider. :param str provider: name of the provider. :param video: video to list subtitles for. :type video: :class:`~subliminal.video.Video` :param languages: languages to search for. :type languages: set of :class:`~babelfish.language.Language` :return: found subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` or None """ # check video validity if not provider_manager[provider].plugin.check(video): logger.info('Skipping provider %r: not a valid video', provider) return [] # check supported languages provider_languages = provider_manager[provider].plugin.check_languages(languages) if not provider_languages: logger.info('Skipping provider %r: no language to search for', provider) return [] # list subtitles logger.info('Listing subtitles with provider %r and languages %r', provider, provider_languages) try: return self[provider].list_subtitles(video, provider_languages) except Exception as e: # noqa: BLE001 handle_exception(e, 'Provider {provider}') return [] def list_subtitles(self, video: Video, languages: Set[Language]) -> list[Subtitle]: """List subtitles. :param video: video to list subtitles for. :type video: :class:`~subliminal.video.Video` :param languages: languages to search for. :type languages: set of :class:`~babelfish.language.Language` :return: found subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` """ subtitles = [] for name in self.providers: # check discarded providers if name in self.discarded_providers: logger.debug('Skipping discarded provider %r', name) continue # list subtitles provider_subtitles = self.list_subtitles_provider(name, video, languages) if provider_subtitles is None: logger.info('Discarding provider %s', name) self.discarded_providers.add(name) continue # add the subtitles subtitles.extend(provider_subtitles) return subtitles def download_subtitle(self, subtitle: Subtitle) -> bool: """Download `subtitle`'s :attr:`~subliminal.subtitle.Subtitle.content`. :param subtitle: subtitle to download. :type subtitle: :class:`~subliminal.subtitle.Subtitle` :return: `True` if the subtitle has been successfully downloaded, `False` otherwise. :rtype: bool """ # check discarded providers if subtitle.provider_name in self.discarded_providers: logger.warning('Provider %r is discarded', subtitle.provider_name) return False logger.info('Downloading subtitle %r', subtitle) try: self[subtitle.provider_name].download_subtitle(subtitle) except (BadZipfile, BadRarFile): logger.exception('Bad archive for subtitle %r', subtitle) except Exception as e: # noqa: BLE001 handle_exception(e, f'Discarding provider {subtitle.provider_name}') self.discarded_providers.add(subtitle.provider_name) # check subtitle validity if not subtitle.is_valid(): logger.error('Invalid subtitle') return False return True def download_best_subtitles( self, subtitles: Sequence[Subtitle], video: Video, languages: Set[Language], *, min_score: int = 0, hearing_impaired: bool = False, only_one: bool = False, compute_score: ComputeScore | None = None, ) -> list[Subtitle]: """Download the best matching subtitles. :param subtitles: the subtitles to use. :type subtitles: list of :class:`~subliminal.subtitle.Subtitle` :param video: video to download subtitles for. :type video: :class:`~subliminal.video.Video` :param languages: languages to download. :type languages: set of :class:`~babelfish.language.Language` :param int min_score: minimum score for a subtitle to be downloaded. :param bool hearing_impaired: hearing impaired preference. :param bool only_one: download only one subtitle, not one per language. :param compute_score: function that takes `subtitle` and `video` as positional arguments, `hearing_impaired` as keyword argument and returns the score. :return: downloaded subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` """ compute_score = compute_score or default_compute_score # sort subtitles by score scored_subtitles = sorted( [(s, compute_score(s, video, hearing_impaired=hearing_impaired)) for s in subtitles], key=operator.itemgetter(1), reverse=True, ) # download best subtitles, falling back on the next on error downloaded_subtitles: list[Subtitle] = [] for subtitle, score in scored_subtitles: # check score if score < min_score: logger.info('Score %d is below min_score (%d)', score, min_score) break # check downloaded languages if subtitle.language in {s.language for s in downloaded_subtitles}: logger.debug('Skipping subtitle: %r already downloaded', subtitle.language) continue # download if self.download_subtitle(subtitle): downloaded_subtitles.append(subtitle) # stop when all languages are downloaded if {s.language for s in downloaded_subtitles} == languages: logger.debug('All languages downloaded') break # stop if only one subtitle is requested if only_one and len(downloaded_subtitles) > 0: logger.debug('Only one subtitle downloaded') break return downloaded_subtitles def terminate(self) -> None: """Terminate all the :attr:`initialized_providers`.""" logger.debug('Terminating initialized providers') for name in list(self.initialized_providers): del self[name] class AsyncProviderPool(ProviderPool): """Subclass of :class:`ProviderPool` with asynchronous support for :meth:`~ProviderPool.list_subtitles`. :param int max_workers: maximum number of threads to use. If `None`, :attr:`max_workers` will be set to the number of :attr:`~ProviderPool.providers`. """ max_workers: int def __init__(self, max_workers: int | None = None, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) #: Maximum number of threads to use self.max_workers = max_workers or len(self.providers) def list_subtitles_provider_tuple( self, provider: str, video: Video, languages: Set[Language], ) -> tuple[str, list[Subtitle]]: """List subtitles with a single provider, multi-threaded.""" return provider, super().list_subtitles_provider(provider, video, languages) def list_subtitles(self, video: Video, languages: Set[Language]) -> list[Subtitle]: """List subtitles, multi-threaded.""" subtitles = [] with ThreadPoolExecutor(self.max_workers) as executor: executor_map = executor.map( self.list_subtitles_provider_tuple, self.providers, itertools.repeat(video, len(self.providers)), itertools.repeat(languages, len(self.providers)), ) for provider, provider_subtitles in executor_map: # discard provider that failed if provider_subtitles is None: logger.info('Discarding provider %s', provider) self.discarded_providers.add(provider) continue # add subtitles subtitles.extend(provider_subtitles) return subtitles def check_video( video: Video, *, languages: Set[Language] | None = None, age: timedelta | None = None, undefined: bool = False, ) -> bool: """Perform some checks on the `video`. All the checks are optional. Return `False` if any of this check fails: * `languages` already exist in `video`'s :attr:`~subliminal.video.Video.subtitle_languages`. * `video` is older than `age`. * `video` has an `undefined` language in :attr:`~subliminal.video.Video.subtitle_languages`. :param video: video to check. :type video: :class:`~subliminal.video.Video` :param languages: desired languages. :type languages: set of :class:`~babelfish.language.Language` :param datetime.timedelta age: maximum age of the video. :param bool undefined: fail on existing undefined language. :return: `True` if the video passes the checks, `False` otherwise. :rtype: bool """ # language test if languages and not (languages - video.subtitle_languages): logger.debug('All languages %r exist', languages) return False # age test if age and video.age > age: logger.debug('Video is older than %r', age) return False # undefined test if undefined and Language('und') in video.subtitle_languages: logger.debug('Undefined language found') return False return True def search_external_subtitles( path: str | os.PathLike, *, directory: str | os.PathLike | None = None, ) -> dict[str, Language]: """Search for external subtitles from a video `path` and their associated language. Unless `directory` is provided, search will be made in the same directory as the video file. :param str path: path to the video. :param str directory: directory to search for subtitles. :return: found subtitles with their languages. :rtype: dict """ # split path dirpath, filename = os.path.split(path) dirpath = dirpath or '.' fileroot, fileext = os.path.splitext(filename) # search for subtitles subtitles = {} for p in os.listdir(directory or dirpath): # keep only valid subtitle filenames if not p.startswith(fileroot) or not p.lower().endswith(SUBTITLE_EXTENSIONS): continue # extract the potential language code language = Language('und') language_code = p[len(fileroot) : -len(os.path.splitext(p)[1])].replace(fileext, '').replace('_', '-')[1:] if language_code: try: language = Language.fromietf(language_code) except (ValueError, LanguageReverseError): logger.exception('Cannot parse language code %r', language_code) subtitles[p] = language logger.debug('Found subtitles %r', subtitles) return subtitles def scan_video(path: str | os.PathLike) -> Video: """Scan a video from a `path`. :param str path: existing path to the video. :return: the scanned video. :rtype: :class:`~subliminal.video.Video` :raises: :class:`ValueError`: video path is not well defined. """ path = os.fspath(path) # check for non-existing path if not os.path.exists(path): msg = 'Path does not exist' raise ValueError(msg) # check video extension if not path.lower().endswith(VIDEO_EXTENSIONS): msg = f'{os.path.splitext(path)[1]!r} is not a valid video extension' raise ValueError(msg) dirpath, filename = os.path.split(path) logger.info('Scanning video %r in %r', filename, dirpath) # guess video = Video.fromguess(path, guessit(path)) # size video.size = os.path.getsize(path) logger.debug('Size is %d', video.size) return video def scan_archive(path: str | os.PathLike) -> Video: """Scan an archive from a `path`. :param str path: existing path to the archive. :return: the scanned video. :rtype: :class:`~subliminal.video.Video` :raises: :class:`ValueError`: video path is not well defined. """ path = os.fspath(path) # check for non-existing path if not os.path.exists(path): msg = 'Path does not exist' raise ValueError(msg) if not is_rarfile(path): msg = f'{os.path.splitext(path)[1]!r} is not a valid archive' raise ValueError(msg) dir_path, filename = os.path.split(path) logger.info('Scanning archive %r in %r', filename, dir_path) # Get filename and file size from RAR rar = RarFile(path) # check that the rar doesnt need a password if rar.needs_password(): msg = 'Rar requires a password' raise ValueError(msg) # raise an exception if the rar file is broken # must be called to avoid a potential deadlock with some broken rars rar.testrar() file_infos = [f for f in rar.infolist() if not f.isdir() and f.filename.endswith(VIDEO_EXTENSIONS)] # sort by file size descending, the largest video in the archive is the one we want, there may be samples or intros file_infos.sort(key=operator.attrgetter('file_size'), reverse=True) # no video found if not file_infos: msg = 'No video in archive' raise ValueError(msg) # Free the information about irrelevant files before guessing file_info = file_infos[0] # guess video_filename = file_info.filename video_path = os.path.join(dir_path, video_filename) video = Video.fromguess(video_path, guessit(video_path)) # size video.size = file_info.file_size return video def scan_videos(path: str | os.PathLike, *, age: timedelta | None = None, archives: bool = True) -> list[Video]: """Scan `path` for videos and their subtitles. See :func:`refine` to find additional information for the video. :param str path: existing directory path to scan. :param datetime.timedelta age: maximum age of the video or archive. :param bool archives: scan videos in archives. :return: the scanned videos. :rtype: list of :class:`~subliminal.video.Video` :raises: :class:`ValueError`: video path is not well defined. """ path = os.fspath(path) # check for non-existing path if not os.path.exists(path): msg = 'Path does not exist' raise ValueError(msg) # check for non-directory path if not os.path.isdir(path): msg = 'Path is not a directory' raise ValueError(msg) # walk the path videos = [] for dirpath, dirnames, filenames in os.walk(path): logger.debug('Walking directory %r', dirpath) # remove badly encoded and hidden dirnames for dirname in list(dirnames): if dirname.startswith('.'): logger.debug('Skipping hidden dirname %r in %r', dirname, dirpath) dirnames.remove(dirname) # Skip Sample folder if dirname.lower() == 'sample': logger.debug('Skipping sample dirname %r in %r', dirname, dirpath) dirnames.remove(dirname) # scan for videos for filename in filenames: # filter on videos and archives if not filename.lower().endswith(VIDEO_EXTENSIONS) and not ( archives and filename.lower().endswith(ARCHIVE_EXTENSIONS) ): continue # skip hidden files if filename.startswith('.'): logger.debug('Skipping hidden filename %r in %r', filename, dirpath) continue # skip 'sample' media files if os.path.splitext(filename)[0].lower() == 'sample': logger.debug('Skipping sample filename %r in %r', filename, dirpath) continue # reconstruct the file path filepath = os.path.join(dirpath, filename) # skip links if os.path.islink(filepath): logger.debug('Skipping link %r in %r', filename, dirpath) continue # skip old files try: file_age = datetime.fromtimestamp(os.path.getmtime(filepath), timezone.utc) except ValueError: logger.warning('Could not get age of file %r in %r', filename, dirpath) continue else: if age and datetime.now(timezone.utc) - file_age > age: logger.debug('Skipping old file %r in %r', filename, dirpath) continue # scan if filename.lower().endswith(VIDEO_EXTENSIONS): # video try: video = scan_video(filepath) except ValueError: # pragma: no cover logger.exception('Error scanning video') continue elif archives and filename.lower().endswith(ARCHIVE_EXTENSIONS): # archive try: video = scan_archive(filepath) except (Error, NotRarFile, RarCannotExec, ValueError): # pragma: no cover logger.exception('Error scanning archive') continue else: # pragma: no cover msg = f'Unsupported file {filename!r}' raise ValueError(msg) videos.append(video) return videos def refine( video: Video, *, episode_refiners: Sequence[str] | None = None, movie_refiners: Sequence[str] | None = None, refiner_configs: Mapping[str, Any] | None = None, **kwargs: Any, ) -> Video: """Refine a video using :ref:`refiners`. .. note:: Exceptions raised in refiners are silently passed and logged. :param video: the video to refine. :type video: :class:`~subliminal.video.Video` :param tuple episode_refiners: refiners to use for episodes. :param tuple movie_refiners: refiners to use for movies. :param dict refiner_configs: refiner configuration as keyword arguments per refiner name to pass when calling the refine method :param kwargs: additional parameters for the :func:`~subliminal.refiners.refine` functions. """ refiners: tuple[str, ...] = () if isinstance(video, Episode): refiners = tuple(episode_refiners) if episode_refiners is not None else ('metadata', 'tvdb', 'omdb', 'tmdb') elif isinstance(video, Movie): refiners = tuple(movie_refiners) if movie_refiners is not None else ('metadata', 'omdb', 'tmdb') for refiner in ('hash', *refiners): logger.info('Refining video with %s', refiner) try: refiner_manager[refiner].plugin(video, **dict((refiner_configs or {}).get(refiner, {}), **kwargs)) except Exception as e: # noqa: BLE001 handle_exception(e, f'Failed to refine video {video.name!r}') return video def list_subtitles( videos: Set[Video], languages: Set[Language], *, pool_class: type[ProviderPool] = ProviderPool, **kwargs: Any, ) -> dict[Video, list[Subtitle]]: """List subtitles. The `videos` must pass the `languages` check of :func:`check_video`. :param videos: videos to list subtitles for. :type videos: set of :class:`~subliminal.video.Video` :param languages: languages to search for. :type languages: set of :class:`~babelfish.language.Language` :param pool_class: class to use as provider pool. :type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar :param kwargs: additional parameters for the provided `pool_class` constructor. :return: found subtitles per video. :rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle` """ listed_subtitles: dict[Video, list[Subtitle]] = defaultdict(list) # check videos checked_videos = [] for video in videos: if not check_video(video, languages=languages): logger.info('Skipping video %r', video) continue checked_videos.append(video) # return immediately if no video passed the checks if not checked_videos: return listed_subtitles # list subtitles with pool_class(**kwargs) as pool: for video in checked_videos: logger.info('Listing subtitles for %r', video) subtitles = pool.list_subtitles(video, languages - video.subtitle_languages) listed_subtitles[video].extend(subtitles) logger.info('Found %d subtitle(s)', len(subtitles)) return listed_subtitles def download_subtitles( subtitles: Sequence[Subtitle], *, pool_class: type[ProviderPool] = ProviderPool, **kwargs: Any, ) -> None: """Download :attr:`~subliminal.subtitle.Subtitle.content` of `subtitles`. :param subtitles: subtitles to download. :type subtitles: list of :class:`~subliminal.subtitle.Subtitle` :param pool_class: class to use as provider pool. :type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar :param kwargs: additional parameters for the provided `pool_class` constructor. """ with pool_class(**kwargs) as pool: for subtitle in subtitles: logger.info('Downloading subtitle %r', subtitle) pool.download_subtitle(subtitle) def download_best_subtitles( videos: Set[Video], languages: Set[Language], *, min_score: int = 0, hearing_impaired: bool = False, only_one: bool = False, compute_score: ComputeScore | None = None, pool_class: type[ProviderPool] = ProviderPool, **kwargs: Any, ) -> dict[Video, list[Subtitle]]: """List and download the best matching subtitles. The `videos` must pass the `languages` and `undefined` (`only_one`) checks of :func:`check_video`. :param videos: videos to download subtitles for. :type videos: set of :class:`~subliminal.video.Video` :param languages: languages to download. :type languages: set of :class:`~babelfish.language.Language` :param int min_score: minimum score for a subtitle to be downloaded. :param bool hearing_impaired: hearing impaired preference. :param bool only_one: download only one subtitle, not one per language. :param compute_score: function that takes `subtitle` and `video` as positional arguments, `hearing_impaired` as keyword argument and returns the score. :param pool_class: class to use as provider pool. :type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar :param kwargs: additional parameters for the provided `pool_class` constructor. :return: downloaded subtitles per video. :rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle` """ downloaded_subtitles: dict[Video, list[Subtitle]] = defaultdict(list) # check videos checked_videos = [] for video in videos: if not check_video(video, languages=languages, undefined=only_one): logger.info('Skipping video %r', video) continue checked_videos.append(video) # return immediately if no video passed the checks if not checked_videos: return downloaded_subtitles # download best subtitles with pool_class(**kwargs) as pool: for video in checked_videos: logger.info('Downloading best subtitles for %r', video) subtitles = pool.download_best_subtitles( pool.list_subtitles(video, languages - video.subtitle_languages), video, languages, min_score=min_score, hearing_impaired=hearing_impaired, only_one=only_one, compute_score=compute_score, ) logger.info('Downloaded %d subtitle(s)', len(subtitles)) downloaded_subtitles[video].extend(subtitles) return downloaded_subtitles def save_subtitles( video: Video, subtitles: Sequence[Subtitle], *, single: bool = False, directory: str | os.PathLike | None = None, encoding: str | None = None, extension: str | None = None, ) -> list[Subtitle]: """Save subtitles on filesystem. Subtitles are saved in the order of the list. If a subtitle with a language has already been saved, other subtitles with the same language are silently ignored. The extension used is `.lang.srt` by default or `.srt` is `single` is `True`, with `lang` being the IETF code for the :attr:`~subliminal.subtitle.Subtitle.language` of the subtitle. :param video: video of the subtitles. :type video: :class:`~subliminal.video.Video` :param subtitles: subtitles to save. :type subtitles: list of :class:`~subliminal.subtitle.Subtitle` :param bool single: save a single subtitle, default is to save one subtitle per language. :param str directory: path to directory where to save the subtitles, default is next to the video. :param str encoding: encoding in which to save the subtitles, default is to keep original encoding. :param (str | None) extension: the subtitle extension, default is to match to the subtitle format. :return: the saved subtitles :rtype: list of :class:`~subliminal.subtitle.Subtitle` """ saved_subtitles: list[Subtitle] = [] for subtitle in subtitles: # check content if not subtitle.content: logger.error('Skipping subtitle %r: no content', subtitle) continue # check language if subtitle.language in {s.language for s in saved_subtitles}: logger.debug('Skipping subtitle %r: language already saved', subtitle) continue # create subtitle path subtitle_path = subtitle.get_path(video, single=single, extension=extension) if directory is not None: subtitle_path = os.path.join(directory, os.path.split(subtitle_path)[1]) # save content as is or in the specified encoding logger.info('Saving %r to %r', subtitle, subtitle_path) if encoding is None: with open(subtitle_path, 'wb') as f: f.write(subtitle.content) else: with open(subtitle_path, 'w', encoding=encoding) as f: f.write(subtitle.text) saved_subtitles.append(subtitle) # check single if single: break return saved_subtitles ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/exceptions.py0000644000175100001770000000145614636376416020177 0ustar00runnerdocker"""Exceptions for Subliminal.""" class Error(Exception): """Base class for exceptions in subliminal.""" pass class ProviderError(Error): """Exception raised by providers.""" pass class NotInitializedProviderError(ProviderError): """Exception raised by providers when not initialized.""" pass class ConfigurationError(ProviderError): """Exception raised by providers when badly configured.""" pass class AuthenticationError(ProviderError): """Exception raised by providers when authentication failed.""" pass class ServiceUnavailable(ProviderError): """Exception raised when status is '503 Service Unavailable'.""" pass class DownloadLimitExceeded(ProviderError): """Exception raised by providers when download limit is exceeded.""" pass ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/extensions.py0000644000175100001770000001273414636376416020216 0ustar00runnerdocker"""Extension managers for the providers, refiners and language converters.""" from __future__ import annotations import re from importlib.metadata import EntryPoint from typing import TYPE_CHECKING, Any from stevedore import ExtensionManager # type: ignore[import-untyped] if TYPE_CHECKING: from collections.abc import Sequence class RegistrableExtensionManager(ExtensionManager): """:class:~stevedore.extensions.ExtensionManager` with support for registration. It allows loading of internal extensions without setup and registering/unregistering additional extensions. Loading is done in this order: * Entry point extensions * Internal extensions * Registered extensions :param str namespace: namespace argument for :class:~stevedore.extensions.ExtensionManager`. :param list internal_extensions: internal extensions to use with entry point syntax. :param kwargs: additional parameters for the :class:~stevedore.extensions.ExtensionManager` constructor. """ registered_extensions: list[str] internal_extensions: list[str] def __init__(self, namespace: str, internal_extensions: Sequence[str], **kwargs: Any) -> None: #: Registered extensions with entry point syntax self.registered_extensions = [] #: Internal extensions with entry point syntax self.internal_extensions = list(internal_extensions) super().__init__(namespace, **kwargs) def list_entry_points(self) -> list[EntryPoint]: """List the entry points.""" # copy of default extensions eps = list(super().list_entry_points()) # internal extensions for iep in self.internal_extensions: ep = parse_entry_point(iep, self.namespace) if ep.name not in [e.name for e in eps]: eps.append(ep) # registered extensions for rep in self.registered_extensions: ep = parse_entry_point(rep, self.namespace) if ep.name not in [e.name for e in eps]: eps.append(ep) return eps def register(self, entry_point: str) -> None: """Register an extension. :param str entry_point: extension to register (entry point syntax). :raises: ValueError if already registered. """ if entry_point in self.registered_extensions: msg = 'Extension already registered' raise ValueError(msg) ep = parse_entry_point(entry_point, self.namespace) if ep.name in self.names(): msg = 'An extension with the same name already exist' raise ValueError(msg) ext = self._load_one_plugin( ep, invoke_on_load=False, invoke_args=(), invoke_kwds={}, verify_requirements=False, ) self.extensions.append(ext) if self._extensions_by_name is not None: self._extensions_by_name[ext.name] = ext self.registered_extensions.insert(0, entry_point) def unregister(self, entry_point: str) -> None: """Unregister a provider. :param str entry_point: provider to unregister (entry point syntax). :raises: ValueError if already registered. """ if entry_point not in self.registered_extensions: msg = 'Extension not registered' raise ValueError(msg) ep = parse_entry_point(entry_point, self.namespace) self.registered_extensions.remove(entry_point) if self._extensions_by_name is not None: del self._extensions_by_name[ep.name] for i, ext in enumerate(self.extensions): if ext.name == ep.name: del self.extensions[i] break def parse_entry_point(src: str, group: str) -> EntryPoint: """Parse a string entry point.""" pattern = re.compile(r'\s*(?P.+?)\s*=\s*(?P.+)') m = pattern.match(src) if not m: msg = "EntryPoint must be in the 'name = module:attrs' format" raise ValueError(msg, src) res = m.groupdict() return EntryPoint(res['name'], res['value'], group) #: Provider manager provider_manager = RegistrableExtensionManager( 'subliminal.providers', [ 'addic7ed = subliminal.providers.addic7ed:Addic7edProvider', 'gestdown = subliminal.providers.gestdown:GestdownProvider', 'napiprojekt = subliminal.providers.napiprojekt:NapiProjektProvider', 'opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider', 'opensubtitlescom = subliminal.providers.opensubtitlescom:OpenSubtitlesComProvider', 'opensubtitlescomvip = subliminal.providers.opensubtitlescom:OpenSubtitlesComVipProvider', 'opensubtitlesvip = subliminal.providers.opensubtitles:OpenSubtitlesVipProvider', 'podnapisi = subliminal.providers.podnapisi:PodnapisiProvider', 'tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider', ], ) #: Disabled providers disabled_providers = ['addic7ed', 'napiprojekt', 'opensubtitlesvip', 'opensubtitlescomvip'] #: Default enabled providers default_providers = [p for p in provider_manager.names() if p not in disabled_providers] #: Refiner manager refiner_manager = RegistrableExtensionManager( 'subliminal.refiners', [ 'hash = subliminal.refiners.hash:refine', 'metadata = subliminal.refiners.metadata:refine', 'omdb = subliminal.refiners.omdb:refine', 'tvdb = subliminal.refiners.tvdb:refine', 'tmdb = subliminal.refiners.tmdb:refine', ], ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/matches.py0000644000175100001770000002103414636376416017434 0ustar00runnerdocker"""Get matches between a :class:`~subliminal.video.Video` object and a dict of guesses. .. py:function:: guess_matches(video, guess, *, partial = False) :param video: the video. :type video: :class:`~subliminal.video.Video` :param guess: the guess. :type guess: dict[str, Any] :param bool partial: whether or not the guess is partial. :return: matches between the `video` and the `guess`. :rtype: set[str] """ from __future__ import annotations from typing import TYPE_CHECKING, Any from .score import get_equivalent_release_groups, score_keys from .utils import ensure_list, sanitize, sanitize_release_group from .video import Episode, Movie, Video if TYPE_CHECKING: from collections.abc import Mapping from typing import Protocol from babelfish import Country # type: ignore[import-untyped] class MatchingFunc(Protocol): """Match a :class:`~subliminal.video.Video` to criteria.""" def __call__(self, video: Video, **kwargs: Any) -> bool: ... # noqa: D102 def series_matches(video: Video, *, title: str | None = None, **kwargs: Any) -> bool: """Whether the `video` matches the series title. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str title: the series name. :return: whether there's a match :rtype: bool """ if not isinstance(video, Episode): return False sanitized_title = sanitize(title) return ( video.series is not None and sanitized_title is not None and sanitized_title in (sanitize(name) for name in [video.series, *video.alternative_series]) ) def title_matches(video: Video, *, title: str | None = None, episode_title: str | None = None, **kwargs: Any) -> bool: """Whether the movie matches the movie `title` or the series matches the `episode_title`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str title: the movie title. :param str episode_title: the series episode title. :return: whether there's a match :rtype: bool """ if isinstance(video, Episode): return video.title is not None and sanitize(episode_title) == sanitize(video.title) if isinstance(video, Movie): return video.title is not None and sanitize(title) == sanitize(video.title) return False def season_matches(video: Video, *, season: int | None = None, **kwargs: Any) -> bool: """Whether the episode matches the `season`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param int season: the episode season. :return: whether there's a match :rtype: bool """ if not isinstance(video, Episode): return False return video.season is not None and season == video.season def episode_matches(video: Video, *, episode: int | None = None, **kwargs: Any) -> bool: """Whether the episode matches the `episode`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param episode: the episode season. :type: list of int or int :return: whether there's a match :rtype: bool """ if not isinstance(video, Episode): return False return video.episodes is not None and ensure_list(episode) == video.episodes def year_matches(video: Video, *, year: int | None = None, partial: bool = False, **kwargs: Any) -> bool: """Whether the video matches the `year`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param int year: the video year. :param bool partial: whether or not the guess is partial. :return: whether there's a match :rtype: bool """ if video.year is not None and year == video.year: return True if isinstance(video, Episode): # count "no year" as an information return not partial and video.original_series and year is None return False def country_matches(video: Video, *, country: Country | None = None, partial: bool = False, **kwargs: Any) -> bool: """Whether the video matches the `country`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param country: the video country. :type country: :class:`~babelfish.country.Country` :param bool partial: whether or not the guess is partial. :return: whether there's a match :rtype: bool """ if video.country is not None and country == video.country: return True if isinstance(video, Episode): # count "no country" as an information return not partial and video.original_series and country is None if isinstance(video, Movie): # count "no country" as an information return video.country is None and country is None return False def release_group_matches(video: Video, *, release_group: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `release_group`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str release_group: the video release group. :return: whether there's a match :rtype: bool """ return ( video.release_group is not None and release_group is not None and any( r in sanitize_release_group(release_group) for r in get_equivalent_release_groups(sanitize_release_group(video.release_group)) ) ) def streaming_service_matches(video: Video, *, streaming_service: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `streaming_service`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str streaming_service: the video streaming service :return: whether there's a match :rtype: bool """ return video.streaming_service is not None and streaming_service == video.streaming_service def resolution_matches(video: Video, *, screen_size: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `resolution`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str screen_size: the video resolution :return: whether there's a match :rtype: bool """ return video.resolution is not None and screen_size == video.resolution def source_matches(video: Video, *, source: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `source`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str source: the video source :return: whether there's a match :rtype: bool """ return video.source is not None and source == video.source def video_codec_matches(video: Video, *, video_codec: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `video_codec`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str video_codec: the video codec :return: whether there's a match :rtype: bool """ return video.video_codec is not None and video_codec == video.video_codec def audio_codec_matches(video: Video, *, audio_codec: str | None = None, **kwargs: Any) -> bool: """Whether the video matches the `audio_codec`. :param video: the video. :type video: :class:`~subliminal.video.Video` :param str audio_codec: the video audio codec :return: whether there's a match :rtype: bool """ return video.audio_codec is not None and audio_codec == video.audio_codec #: Available matches functions matches_manager: dict[str, MatchingFunc] = { 'series': series_matches, 'title': title_matches, 'season': season_matches, 'episode': episode_matches, 'year': year_matches, 'country': country_matches, 'release_group': release_group_matches, 'streaming_service': streaming_service_matches, 'resolution': resolution_matches, 'source': source_matches, 'video_codec': video_codec_matches, 'audio_codec': audio_codec_matches, } def guess_matches(video: Video, guess: Mapping[str, Any], *, partial: bool = False) -> set[str]: """Get matches between a `video` and a `guess`. If a guess is `partial`, the absence information won't be counted as a match. :param video: the video. :type video: :class:`~subliminal.video.Video` :param guess: the guess. :type guess: dict :param bool partial: whether or not the guess is partial. :return: matches between the `video` and the `guess`. :rtype: set """ matches = set() for key in score_keys: if key in matches_manager and matches_manager[key](video, partial=partial, **guess): matches.add(key) return matches ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6381807 subliminal-2.2.0/subliminal/providers/0000755000175100001770000000000014636376432017451 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/providers/__init__.py0000644000175100001770000002143314636376416021567 0ustar00runnerdocker""" Providers list and download subtitles for a :class:`~subliminal.video.Video` object. A Provider is a ContextManager with `__enter__` and `__exit__` methods and two public methods: .. py:method:: list_subtitles(self, video, languages) :param video: video to list subtitles for. :type video: :class:`~subliminal.video.Video` :param languages: languages to search for. :type languages: set of :class:`~babelfish.language.Language` :return: found subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` :raise: :class:`~subliminal.exceptions.ProviderError` .. py:method:: download_subtitle(self, subtitle) :param subtitle: subtitle to download. :type subtitle: :class:`~subliminal.subtitle.Subtitle` :raise: :class:`~subliminal.exceptions.ProviderError` """ from __future__ import annotations import logging import ssl from typing import TYPE_CHECKING, Any, ClassVar, Generic, TypeVar from xmlrpc.client import SafeTransport from bs4 import BeautifulSoup, FeatureNotFound from requests import adapters from urllib3 import poolmanager # type: ignore[import-untyped] from subliminal import __short_version__ from subliminal.subtitle import Subtitle from subliminal.video import Episode, Movie, Video if TYPE_CHECKING: from collections.abc import Sequence, Set from http.client import HTTPSConnection from types import TracebackType from typing import Self from xmlrpc.client import _HostType from babelfish import Language # type: ignore[import-untyped] logger = logging.getLogger(__name__) class SecLevelOneTLSAdapter(adapters.HTTPAdapter): """``HTTPAdapter`` with security level set to 1.""" def init_poolmanager(self, connections: int, maxsize: int, block: bool = False, **pool_kwargs: Any) -> None: # noqa: FBT001, FBT002 """Create and initialize the urllib3 PoolManager.""" ctx = ssl.create_default_context() ctx.set_ciphers('DEFAULT@SECLEVEL=1') self.poolmanager = poolmanager.PoolManager( num_pools=connections, maxsize=maxsize, block=block, ssl_version=ssl.PROTOCOL_TLS, ssl_context=ctx, ) class TimeoutSafeTransport(SafeTransport): """Timeout support for ``xmlrpc.client.SafeTransport``.""" timeout: float | None def __init__(self, timeout: float | None, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) self.timeout = timeout def make_connection(self, host: _HostType) -> HTTPSConnection: """Make connection to host.""" c = SafeTransport.make_connection(self, host) c.timeout = self.timeout return c class ParserBeautifulSoup(BeautifulSoup): """A ``bs4.BeautifulSoup`` that picks the first parser available in `parsers`. :param markup: markup for the ``bs4.BeautifulSoup``. :param list parsers: parser names, in order of preference. """ def __init__(self, markup: str | bytes, parsers: Sequence[str], **kwargs: Any) -> None: # reject features if set(parsers).intersection({'fast', 'permissive', 'strict', 'xml', 'html', 'html5'}): msg = 'Features not allowed, only parser names' raise ValueError(msg) # reject some kwargs if 'features' in kwargs: msg = 'Cannot use features kwarg' raise ValueError(msg) if 'builder' in kwargs: msg = 'Cannot use builder kwarg' raise ValueError(msg) # pick the first parser available for parser in parsers: try: super().__init__(markup, parser, **kwargs) except FeatureNotFound: pass else: return raise FeatureNotFound S = TypeVar('S', bound=Subtitle) class Provider(Generic[S]): """Base class for providers. Each Provider returns subtitles from a specialized subclass of :class:`~subliminal.subtitle.Subtitle`. If any configuration is possible for the provider, like credentials, it must take place during instantiation. :raise: :class:`~subliminal.exceptions.ConfigurationError` if there is a configuration error """ #: Supported set of :class:`~babelfish.language.Language` languages: ClassVar[Set[Language]] = frozenset() #: Supported video types video_types: ClassVar[tuple[type[Video], ...]] = (Episode, Movie) #: Required hash, if any required_hash: ClassVar[str | None] = None #: Subtitle class to use subtitle_class: ClassVar[type[S] | None] = None # type: ignore[misc] #: User Agent to use user_agent: str = f'Subliminal/{__short_version__}' def __enter__(self) -> Self: self.initialize() return self def __exit__( self, exc_type: type[BaseException], exc_value: BaseException | None, traceback: TracebackType | None, ) -> None: self.terminate() def initialize(self) -> None: """Initialize the provider. Must be called when starting to work with the provider. This is the place for network initialization or login operations. .. note:: This is called automatically when entering the `with` statement """ raise NotImplementedError def terminate(self) -> None: """Terminate the provider. Must be called when done with the provider. This is the place for network shutdown or logout operations. .. note:: This is called automatically when exiting the `with` statement """ raise NotImplementedError @classmethod def check(cls, video: Video) -> bool: """Check if the `video` can be processed. The `video` is considered invalid if not an instance of :attr:`video_types` or if the :attr:`required_hash` is not present in :attr:`~subliminal.video.Video.hashes` attribute of the `video`. :param video: the video to check. :type video: :class:`~subliminal.video.Video` :return: `True` if the `video` is valid, `False` otherwise. :rtype: bool """ if not cls.check_types(video): return False if cls.required_hash is not None and cls.required_hash not in video.hashes: return False return True @classmethod def check_types(cls, video: Video) -> bool: """Check if the `video` type is supported by the provider. The `video` is considered invalid if not an instance of :attr:`video_types`. :param video: the video to check. :type video: :class:`~subliminal.video.Video` :return: `True` if the `video` is valid, `False` otherwise. :rtype: bool """ return isinstance(video, cls.video_types) @classmethod def check_languages(cls, languages: Set[Language]) -> Set[Language]: """Check if the `languages` are supported by the provider. A subset of the supported languages is returned. :param languages: the languages to check. :type languages: set of :class:`~babelfish.language.Language` :return: subset of the supported languages. :rtype: set of :class:`~babelfish.language.Language` """ return cls.languages & languages def query(self, *args: Any, **kwargs: Any) -> list[S]: """Query the provider for subtitles. Arguments should match as much as possible the actual parameters for querying the provider :return: found subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` :raise: :class:`~subliminal.exceptions.ProviderError` """ raise NotImplementedError def list_subtitles(self, video: Video, languages: Set[Language]) -> list[S]: """List subtitles for the `video` with the given `languages`. This will call the :meth:`query` method internally. The parameters passed to the :meth:`query` method may vary depending on the amount of information available in the `video`. :param video: video to list subtitles for. :type video: :class:`~subliminal.video.Video` :param languages: languages to search for. :type languages: set of :class:`~babelfish.language.Language` :return: found subtitles. :rtype: list of :class:`~subliminal.subtitle.Subtitle` :raise: :class:`~subliminal.exceptions.ProviderError` """ raise NotImplementedError def download_subtitle(self, subtitle: S) -> None: """Download `subtitle`'s :attr:`~subliminal.subtitle.Subtitle.content`. :param subtitle: subtitle to download. :type subtitle: :class:`~subliminal.subtitle.Subtitle` :raise: :class:`~subliminal.exceptions.ProviderError` """ raise NotImplementedError def __repr__(self) -> str: return f'<{self.__class__.__name__} [{self.video_types!r}]>' ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/subliminal/providers/addic7ed.py0000644000175100001770000005245414636376416021503 0ustar00runnerdocker"""Provider for Addic7ed.""" from __future__ import annotations import contextlib import difflib import hashlib import logging import re import unicodedata from random import randint from typing import TYPE_CHECKING, Any, ClassVar from urllib.parse import unquote from babelfish import Language, language_converters # type: ignore[import-untyped] from babelfish.exceptions import LanguageReverseError # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from requests import Response, Session from requests.cookies import RequestsCookieJar from subliminal.cache import SHOW_EXPIRATION_TIME, region from subliminal.exceptions import ConfigurationError, DownloadLimitExceeded, NotInitializedProviderError from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.utils import sanitize from subliminal.video import Episode, Video from . import ParserBeautifulSoup, Provider if TYPE_CHECKING: from collections.abc import Mapping, Set logger = logging.getLogger(__name__) with contextlib.suppress(ValueError): language_converters.register('addic7ed = subliminal.converters.addic7ed:Addic7edConverter') #: Series cell matching regex show_cells_re = re.compile(b'.*?', re.DOTALL) #: Series url parsing regex series_url_re = re.compile( r'\/serie\/(?P[^\/]+)\/(?P\d+)\/(?P\d+)\/(?P[^\/]*)' # spellchecker: disable-line ) #: Show_id href parsing regex show_id_re = re.compile(r'\/season\/(?P<show_id>\d+)\/(?P<season>\d+)') #: Series header parsing regex series_year_re = re.compile(r'^(?P<series>[ \w\'.:(),*&!?-]+?)(?: \((?P<year>\d{4})\))?$') def remove_accents(input_str: str) -> str: """Remove accents.""" nfkd_form = unicodedata.normalize('NFKD', input_str) return ''.join([c for c in nfkd_form if not unicodedata.combining(c)]) def addic7ed_sanitize(text: str) -> str: """Sanitize the title for Addic7ed.""" return sanitize(remove_accents(text).replace("'", ' ').replace('_', ' ')) def concat_all(*args: Any) -> str: """Concatenate all the terms that are not None as strings.""" return ' '.join(f'{a}' for a in args if a) AGENT_LIST = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36', # noqa: E501 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36', # noqa: E501 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36', # noqa: E501 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38', # noqa: E501 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38', # noqa: E501 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0', ] addic7ed_languages: Set[Language] = {Language('por', 'BR')} | { Language(lang) for lang in [ 'ara', 'aze', 'ben', 'bos', 'bul', 'cat', 'ces', 'dan', 'deu', 'ell', 'eng', 'eus', 'fas', 'fin', 'fra', 'glg', 'heb', 'hrv', 'hun', 'hye', 'ind', 'ita', 'jpn', 'kor', 'mkd', 'msa', 'nld', 'nor', 'pol', 'por', 'ron', 'rus', 'slk', 'slv', 'spa', 'sqi', 'srp', 'swe', 'tha', 'tur', 'ukr', 'vie', 'zho', ] } class Addic7edSubtitle(Subtitle): """Addic7ed Subtitle.""" provider_name: ClassVar[str] = 'addic7ed' series: str season: int | None episode: int | None title: str | None year: int | None release_group: str | None def __init__( self, language: Language, subtitle_id: str, *, hearing_impaired: bool = False, page_link: str | None = None, series: str = '', season: int | None = None, episode: int | None = None, title: str | None = None, year: int | None = None, release_group: str | None = None, ) -> None: super().__init__(language, subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link) self.series = series self.season = season self.episode = episode self.title = title self.year = year self.release_group = release_group @property def info(self) -> str: """Information about the subtitle.""" # Series (with year) series_year = f'{self.series} ({self.year})' if self.year is not None else self.series # Title with release group parts = [] if self.title: parts.append(self.title) if self.release_group: parts.append(self.release_group) title_part = ' - '.join(parts) return f'{series_year} s{self.season:02d}e{self.episode:02d}{title_part}' def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" # series name matches = guess_matches( video, { 'title': self.series, 'season': self.season, 'episode': self.episode, 'episode_title': self.title, 'year': self.year, 'release_group': self.release_group, }, ) # resolution if video.resolution and self.release_group and video.resolution in self.release_group.lower(): matches.add('resolution') # other properties if self.release_group: matches |= guess_matches(video, guessit(self.release_group, {'type': 'episode'}), partial=True) return matches class Addic7edProvider(Provider): """Addic7ed Provider.""" languages: ClassVar[Set[Language]] = addic7ed_languages video_types: ClassVar = (Episode,) server_url: ClassVar[str] = 'https://www.addic7ed.com' subtitle_class: ClassVar = Addic7edSubtitle username: str | None password: str | None apikey: str timeout: int logged_in: bool session: Session | None #: Allow using Addic7ed search API, it's very slow and using it can result in blocking access to the website allow_searches: bool def __init__( self, username: str | None = None, password: str | None = None, *, timeout: int = 20, allow_searches: bool = False, ) -> None: if any((username, password)) and not all((username, password)): msg = 'Username and password must be specified' raise ConfigurationError(msg) self.username = username self.password = hashlib.md5(password.encode('utf-8')).hexdigest() if password else None # noqa: S324 self.timeout = timeout self.allow_searches = allow_searches self.logged_in = False self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.headers['Accept-Language'] = 'en-US,en;q=1.0' self.session.headers['Referer'] = self.server_url logger.debug('Addic7ed: using random user agents') self.session.headers['User-Agent'] = AGENT_LIST[randint(0, len(AGENT_LIST) - 1)] # noqa: S311 # login: if self.username and self.password: cookies = {'wikisubtitlesuser': self.username, 'wikisubtitlespass': self.password} self.session.cookies = RequestsCookieJar() for k, v in cookies.items(): self.session.cookies.set(k, v) logger.debug('Logged in') self.logged_in = True def terminate(self) -> None: """Terminate the provider.""" if not self.session: raise NotInitializedProviderError logger.debug('Logged out') self.logged_in = False self.session.close() @region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME) def _get_show_ids(self) -> dict[str, int]: """Get the ``dict`` of show ids per series by querying the `shows.php` page. Best option for searching show id. :return: show id per series, lower case and without quotes. :rtype: dict[str, int] """ if not self.session: raise NotInitializedProviderError # get the show page logger.info('Getting show ids') # r = self.session.get(self.server_url + 'ajax_getShows.php', timeout=10) r = self.session.get(self.server_url, timeout=self.timeout) r.raise_for_status() if not r.text or 'Log in' in r.text: logger.warning('Failed to login, check your userid, password') return {} # Use r.content in bytes as it is correctly decoded (it fails for r.text in str) soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser']) # populate the show ids show_ids = {} for show in soup.select('option', value=re.compile(r'\d+')): # type: ignore[call-arg] # Not a show, the combobox selector if 'selected' in show.attrs or 'value' not in show.attrs: continue try: show_id = int(show['value']) # type: ignore[arg-type] except ValueError: continue title = addic7ed_sanitize(show.text) show_ids[title] = show_id logger.debug('Found %d show ids', len(show_ids)) return show_ids def _get_episode_pages(self, response: Response) -> list[Response]: """Get all the response pages from a single response.""" if not self.session: raise NotInitializedProviderError # not a search page if 'search.php?' not in response.url: return [response] # parse the page soup = ParserBeautifulSoup(response.content, ['lxml', 'html.parser']) # check if list of episodes table = soup.find('table', class_='tabel') # spellchecker: disable-line if table is None: logger.info('Cannot find the table with matching episodes in %s', response.url) return [] pages = [] episode_matches = table.select('tr > td > a') # type: ignore[union-attr] for match in episode_matches: path = match['href'] link = f'{self.server_url}/{path}' r = self.session.get(link, timeout=self.timeout) r.raise_for_status() # TODO: catch exception pages.append(r) return pages def _get_show_id_from_page(self, response: Response) -> int | None: """Parse the show id from a page.""" soup = ParserBeautifulSoup(response.content, ['lxml', 'html.parser']) # Find the show_id tag = soup.find('a', href=re.compile(r'\/season\/')) if tag is None: logger.warning('Show id not found: cannot find season href') return None href = str(tag['href']) # type: ignore[index] match = show_id_re.search(href) if not match: logger.warning('Show id not found: cannot match season %s', href) return None return int(match.groupdict()['show_id']) @region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME) def _search_show_ids( self, series_year: str, season: int | None = None, episode: int | None = None, ) -> dict[str, int]: """Search the show id from the `series_year` query. Very slow, better to avoid. :param str series_year: series of the episode, optionally with the year. :param int season: season of the series. If None, defaults to 1 :param int episode: episode in the season. If None, defaults to 1 :return: a list of potential show ids. :rtype: list[int] """ if not self.session: raise NotInitializedProviderError season = season if season is not None else 1 episode = episode if episode is not None else 1 search_series = f'{series_year} {season}x{episode}' params = {'search': search_series, 'Submit': 'Search'} # make the search logger.info('Searching with %r', params) r = self.session.get(self.server_url + '/search.php', params=params, timeout=self.timeout) r.raise_for_status() # TODO: catch exception # get the episode pages responses = self._get_episode_pages(r) show_ids = {} for response in responses: match = series_url_re.search(response.url) if not match: logger.info('Could not parse series name from %r', response.url) continue found_series = unquote(match.groupdict()['series']) found_series = addic7ed_sanitize(found_series) show_id = self._get_show_id_from_page(response) if show_id is not None: show_ids[found_series] = show_id return show_ids def _search_show_id(self, series_year: str) -> int | None: """Search the show id from the dict of shows.""" show_ids = self._search_show_ids(series_year) if len(show_ids) == 0: logger.info('Could not find show_id for %r', series_year) return None series_sanitized = addic7ed_sanitize(series_year) best_matches = difflib.get_close_matches(series_sanitized, show_ids.keys(), n=1, cutoff=0) if len(best_matches) == 0: logger.info('Could not find show_id for %r', series_year) return None return show_ids.get(best_matches[0]) # type: ignore[no-any-return] def _try_get_show_id( self, show_ids: Mapping[str, int], series: str, year: int | None = None, country_code: str | None = None, ) -> int | None: if not show_ids: return None show_id = None # attempt with country if country_code: logger.debug('Getting show id with country') show_id = show_ids.get(f'{series} {country_code.lower()}') if show_id is not None: return show_id # attempt with year if year: logger.debug('Getting show id with year') series_year = concat_all(series, year) show_id = show_ids.get(series_year) if show_id is not None: return show_id # attempt clean logger.debug('Getting show id') return show_ids.get(series) def get_show_id(self, series: str, year: int | None = None, country_code: str | None = None) -> int | None: """Get the show id. :param str series: the series title. :param (int | None) year: the series year. :param (str | None) country_code: the series country code. :return: the show id. :rtype: int | None """ # addic7ed doesn't support search with quotes series_sanitized = addic7ed_sanitize(series) show_ids = self._get_show_ids() if not show_ids: self._get_show_ids.invalidate() # type: ignore[attr-defined] show_ids = self._get_show_ids() show_id = self._try_get_show_id(show_ids, series_sanitized, year=year, country_code=country_code) if show_id is not None: return show_id logger.info('Series %s not found in show ids', series) if not self.allow_searches: return None # search as last resort logger.info('Use the search API with %s', series) show_ids = self._search_show_ids(series_sanitized) show_id = self._try_get_show_id(show_ids, series_sanitized, year=year, country_code=country_code) if show_id is not None: return show_id # best match as last of last resort logger.info('Series %s not found in show ids', series) extended_series = concat_all(series_sanitized, year, country_code) return self._search_show_id(extended_series) def _get_show_id_with_alternative_names(self, video: Episode) -> int | None: """Get the show id, using alternative series names also.""" # lookup show_id show_id = self.get_show_id(video.series, year=video.year) # Try alternative names if show_id is None: for alt_series in video.alternative_series: show_id = self.get_show_id(alt_series) if show_id is not None: # show_id found, keep the title and show_id break return show_id def query( self, show_id: int | None, series: str, season: int, *, year: int | None = None, ) -> list[Addic7edSubtitle]: """Query the provider for subtitles. :param (int | None) show_id: the show id. :param str series: the series title. :param int season: the season number. :param (int | None) year: the year of the show. :return: the list of found subtitles. :rtype: list[Addic7edSubtitle] """ if not self.session: raise NotInitializedProviderError if show_id is None: return [] # get the page of the season of the show logger.info('Getting the page of show id %d, season %d', show_id, season) params: dict[str, Any] = {'show': show_id, 'season': season, 'langs': '|'} r = self.session.get( self.server_url + '/ajax_loadShow.php', params=params, timeout=self.timeout, headers={'referer': f'{self.server_url}/show/{show_id}', 'X-Requested-With': 'XMLHttpRequest'}, ) r.raise_for_status() if not r.text: # Provider wrongful return a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.error('No data returned from provider') return [] soup = ParserBeautifulSoup(r.text, ['lxml', 'html.parser']) # loop over subtitle rows subtitles = [] for row in soup.select('tr.epeven'): cells = row('td') # ignore incomplete subtitles status = cells[5].text if '%' in status: logger.debug('Ignoring subtitle with status %s', status) continue # read the item try: language = Language.fromaddic7ed(cells[3].text) except LanguageReverseError as error: logger.debug('Language error: %s, Ignoring subtitle', error) continue hearing_impaired = bool(cells[6].text) # season = int(cells[0].text) episode = int(cells[1].text) path = cells[2].a['href'][1:] page_link = f'{self.server_url}/{path}' title = cells[2].text release_group = cells[4].text subtitle_id = cells[9].a['href'][1:] subtitle = self.subtitle_class( language=language, subtitle_id=subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link, series=series, season=season, episode=episode, title=title, year=year, release_group=release_group, ) logger.debug('Found subtitle %r', subtitle) subtitles.append(subtitle) return subtitles def list_subtitles(self, video: Video, languages: Set[Language]) -> list[Addic7edSubtitle]: """List all the subtitles for the video.""" if not isinstance(video, Episode): return [] # lookup show_id show_id = self._get_show_id_with_alternative_names(video) # query for subtitles with the show_id if show_id is None: logger.error('No show id found for %r (%r)', video.series, {'year': video.year}) return [] return [ s for s in self.query(show_id, series=video.series, season=video.season, year=video.year) if s.language in languages and s.episode == video.episode ] def download_subtitle(self, subtitle: Addic7edSubtitle) -> None: """Download the content of the subtitle.""" if not self.session: raise NotInitializedProviderError # download the subtitle logger.info('Downloading subtitle %r', subtitle) r = self.session.get( f'{self.server_url}/{subtitle.subtitle_id}', headers={'Referer': subtitle.page_link}, timeout=self.timeout, ) r.raise_for_status() if not r.content: # Provider returns a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.debug('Unable to download subtitle. No data returned from provider') return # detect download limit exceeded if r.headers['Content-Type'] == 'text/html': raise DownloadLimitExceeded subtitle.content = fix_line_ending(r.content) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/gestdown.py���������������������������������������������������0000644�0001751�0000177�00000032354�14636376416�021666� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for Gestdown.""" from __future__ import annotations import logging import re from typing import TYPE_CHECKING, Any, ClassVar from babelfish import Language # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from requests import HTTPError, Session from subliminal.exceptions import DownloadLimitExceeded, NotInitializedProviderError from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.utils import sanitize from subliminal.video import Episode, Video from . import Provider if TYPE_CHECKING: from collections.abc import Set logger = logging.getLogger(__name__) #: Subtitle id pattern id_pattern = re.compile(r'.*\/subtitles\/download\/([a-z0-9-]+)') gestdown_languages: Set[Language] = { Language(lang) for lang in [ 'ara', 'aze', 'ben', 'bos', 'bul', 'cat', 'ces', 'dan', 'deu', 'ell', 'eng', 'eus', 'fas', 'fin', 'fra', 'glg', 'heb', 'hrv', 'hun', 'hye', 'ind', 'ita', 'jpn', 'kor', 'mkd', 'msa', 'nld', 'nor', 'pol', 'por', 'ron', 'rus', 'slk', 'slv', 'spa', 'sqi', 'srp', 'swe', 'tha', 'tur', 'ukr', 'vie', 'zho', ] } class GestdownSubtitle(Subtitle): """Gestdown Subtitle.""" provider_name: ClassVar[str] = 'gestdown' series: str season: int | None episode: int | None title: str | None release_group: str | None def __init__( self, language: Language, subtitle_id: str, *, hearing_impaired: bool = False, page_link: str | None = None, series: str = '', season: int | None = None, episode: int | None = None, title: str | None = None, release_group: str = '', ) -> None: super().__init__(language, subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link) self.series = series self.season = season self.episode = episode self.title = title self.release_group = release_group @property def info(self) -> str: """Information about the subtitle.""" parts = [] if self.title: parts.append(self.title) if self.release_group: parts.append(self.release_group) title_part = ' - '.join(parts) return f'{self.series} s{self.season:02d}e{self.episode:02d}{title_part}' def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" # series name matches = guess_matches( video, { 'title': self.series, 'season': self.season, 'episode': self.episode, 'episode_title': self.title, 'release_group': self.release_group, }, ) # resolution if self.release_group and video.resolution and video.resolution in self.release_group.lower(): matches.add('resolution') # other properties if self.release_group: matches |= guess_matches( video, guessit(self.release_group, {'type': 'episode'}), partial=True, ) return matches class GestdownProvider(Provider): """Gestdown Provider.""" languages: ClassVar[Set[Language]] = gestdown_languages video_types: ClassVar = (Episode,) server_url: ClassVar[str] = 'https://api.gestdown.info' subtitle_class: ClassVar = GestdownSubtitle timeout: int session: Session | None def __init__(self, *, timeout: int = 10) -> None: self.timeout = timeout self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers['accept'] = 'application/json' def terminate(self) -> None: """Terminate the provider.""" if self.session is None: raise NotInitializedProviderError self.session.close() def _search_show_id(self, series: str, series_tvdb_id: str | None = None) -> str | None: """Search the show id from the `series`. :param str series: series of the episode. :param str series_tvdb_id: tvdb id of the series. :return: the show id, if found. :rtype: str """ if self.session is None: raise NotInitializedProviderError # build the params if series_tvdb_id is not None: query = f'{self.server_url}/shows/external/tvdb/{series_tvdb_id}' logger.info('Searching show ids for TVBD id %s', series_tvdb_id) else: query = f'{self.server_url}/shows/search/{series}' logger.info('Searching show ids for %s', series) # make the search r = self.session.get(query, timeout=self.timeout) try: r.raise_for_status() except HTTPError: logger.warning('Show id not found: no suggestion') return None result = r.json() # get the suggestion for show in result['shows']: if not series or sanitize(show['name']) == sanitize(series): show_id = str(show['id']) logger.debug('Found show id %s', show_id) return show_id logger.warning('Show id not found: suggestion does not match: %r', result) return None def get_title_and_show_id(self, video: Episode) -> tuple[str, str | None]: """Get the title and show_id.""" # lookup show_id series_tvdb_id = getattr(video, 'series_tvdb_id', None) title = video.series show_id = self._search_show_id(title, series_tvdb_id=series_tvdb_id) # Try alternative names if show_id is None: for title in video.alternative_series: show_id = self._search_show_id(title) if show_id is not None: # show_id found, keep the title and show_id break return (title, show_id) def _query_all_episodes(self, show_id: str, season: int, language: Language) -> list[dict[str, Any]]: """Get the subtitles in the specified language for all the episodes of a season of the show. :param str show_id: the show id. :param int season: the season to query. :param :class:`~babelfish.language.Language` language: the language of the subtitles. :return: the list of found subtitles (as dicts). :rtype: list[dict[str, Any]] """ if self.session is None: raise NotInitializedProviderError query = f'{self.server_url}/shows/{show_id}/{season}/{language.alpha3}' r = self.session.get(query, timeout=self.timeout) try: r.raise_for_status() except HTTPError: logger.exception('wrong query: %s', query) return [] result = r.json() if not result or 'episodes' not in result: # Provider returns a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.debug('No data returned from provider') return [] return result['episodes'] # type: ignore[no-any-return] def _query_single_episode( self, show_id: str, season: int, episode: int, language: Language, ) -> list[dict[str, Any]]: """Get the subtitles in the specified language of a single episode (and season) of the show. :param str show_id: the show id. :param int season: the season to query. :param int episode: the episode to query. :param :class:`~babelfish.language.Language` language: the language of the subtitles. :return: the list of found subtitles (as dicts). :rtype: list[dict[str, Any]] """ if self.session is None: raise NotInitializedProviderError base_query = f'{self.server_url}/subtitles/get' query = f'{base_query}/{show_id}/{season}/{episode}/{language.alpha3}' r = self.session.get(query, timeout=self.timeout) try: r.raise_for_status() except HTTPError: logger.exception('wrong query: %s', query) return [] result = r.json() if not result or any(k not in result for k in ('episode', 'matchingSubtitles')): # Provider returns a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.debug('No data returned from provider') return [] # Transform to list of episodes, identical to `query_all_episodes` data: dict[str, Any] = result['episode'] data['subtitles'] = result['matchingSubtitles'] return [data] def query( self, show_id: str | None, series: str, season: int, episode: int | None, language: Language, ) -> list[GestdownSubtitle]: """Query the provider for subtitles. :param (str | None) show_id: the show id. :param str series: the series title. :param int season: the season number. :param int episode: the episode number. :param :class:`~babelfish.language.Language` language: the language of the subtitles. :return: the list of found subtitles. :rtype: list[GestdownSubtitle] """ # get the page of the season of the show if show_id is None: logger.debug('A show id must be provided, show_id=None is not allowed') return [] logger.info('Getting the subtitles list of show id %s, season %d', show_id, season) if language is None: logger.debug('A language for the subtitle must be provided, language=None is not allowed') return [] if episode is None: # download for the given season of the show episodes = self._query_all_episodes(show_id, season, language) else: # download only the specified episode episodes = self._query_single_episode(show_id, season, episode, language) # loop over subtitle rows subtitles = [] for found in episodes: title = found['title'] episode = found['number'] season = found['season'] for subtitle in found['subtitles']: # read the item hearing_impaired = subtitle['hearingImpaired'] page_link = f"{self.server_url}{subtitle['downloadUri']}" release_group = subtitle['version'] m = id_pattern.match(page_link) subtitle_id = m.groups()[0] if m else page_link subtitle = self.subtitle_class( language=language, subtitle_id=subtitle_id, hearing_impaired=hearing_impaired, series=series, season=season, episode=episode, title=title, release_group=release_group, page_link=page_link, ) logger.debug('Found subtitle %r', subtitle) subtitles.append(subtitle) return subtitles def list_subtitles(self, video: Video, languages: Set[Language]) -> list[GestdownSubtitle]: """List all the subtitles for the video.""" if not isinstance(video, Episode): return [] # lookup title and show_id title, show_id = self.get_title_and_show_id(video) # Cannot find show_id if show_id is None: logger.error('No show id found for %r', video.series) return [] # query for subtitles with the show_id subtitles = [] for lang in languages: subtitles.extend(self.query(show_id, title, video.season, video.episode, lang)) return subtitles def download_subtitle(self, subtitle: GestdownSubtitle) -> None: """Download the content of the subtitle.""" if self.session is None: raise NotInitializedProviderError if not subtitle.page_link: return # download the subtitle logger.info('Downloading subtitle %r', subtitle) r = self.session.get(subtitle.page_link, timeout=self.timeout) try: r.raise_for_status() except HTTPError: logger.exception('Could not download subtitle %s', subtitle) return if not r.content: # Provider returns a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.debug('Unable to download subtitle. No data returned from provider') return # detect download limit exceeded if r.headers['Content-Type'] == 'text/html': raise DownloadLimitExceeded subtitle.content = fix_line_ending(r.content) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/napiprojekt.py������������������������������������������������0000644�0001751�0000177�00000011745�14636376416�022363� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for NapiProjekt.""" from __future__ import annotations import io import logging from gzip import BadGzipFile, GzipFile from typing import TYPE_CHECKING, ClassVar from babelfish import Language # type: ignore[import-untyped] from requests import Session from subliminal.exceptions import NotInitializedProviderError from subliminal.subtitle import Subtitle, fix_line_ending from . import Provider if TYPE_CHECKING: from collections.abc import Set from subliminal.video import Video logger = logging.getLogger(__name__) def get_subhash(video_hash: str) -> str: """Get a second hash based on napiprojekt's hash. :param str video_hash: napiprojekt's hash. :return: the subhash. :rtype: str """ idx = [0xE, 0x3, 0x6, 0x8, 0x2] mul = [2, 2, 5, 4, 3] add = [0, 0xD, 0x10, 0xB, 0x5] b = [] for i in range(len(idx)): a = add[i] m = mul[i] i = idx[i] t = a + int(video_hash[i], 16) v = int(video_hash[t : t + 2], 16) b.append(('%x' % (v * m))[-1]) return ''.join(b) class NapiProjektSubtitle(Subtitle): """NapiProjekt Subtitle.""" provider_name: ClassVar[str] = 'napiprojekt' video_hash: str def __init__( self, language: Language, subtitle_id: str, *, fps: float = 24, ) -> None: super().__init__(language, subtitle_id, fps=fps) self.content = None @property def info(self) -> str: """Information about the subtitle.""" return str(self.subtitle_id) def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" matches = set() # video_hash if 'napiprojekt' in video.hashes and video.hashes['napiprojekt'] == self.subtitle_id: matches.add('hash') return matches class NapiProjektProvider(Provider): """NapiProjekt Provider.""" languages: ClassVar[Set[Language]] = {Language.fromalpha2(lang) for lang in ['pl']} subtitle_class: ClassVar = NapiProjektSubtitle required_hash: ClassVar = 'napiprojekt' server_url: ClassVar[str] = 'http://napiprojekt.pl/unit_napisy/dl.php' timeout: int session: Session | None def __init__(self, *, timeout: int = 10) -> None: self.timeout = timeout self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.headers['User-Agent'] = self.user_agent def terminate(self) -> None: """Terminate the provider.""" if self.session is None: raise NotInitializedProviderError self.session.close() def _parse_content(self, content: bytes) -> bytes: """Parse the subtitle content from the response.""" gzip_prefix = b'\x1f\x8b\x08' # GZipped file if content.startswith(gzip_prefix): # open the zip try: with GzipFile(fileobj=io.BytesIO(content)) as gz: content = gz.read() except BadGzipFile: return b'' # Handle subtitles not found and errors if content[:4] == b'NPc0': return b'' return fix_line_ending(content) def query(self, language: Language, video_hash: str) -> list[NapiProjektSubtitle]: """Query the provider for subtitles. :param :class:`~babelfish.language.Language` language: the language of the subtitles. :param int video_hash: the hash of the video. :return: the list of found subtitles. :rtype: list[NapiProjektSubtitle] """ if self.session is None: raise NotInitializedProviderError params = { 'v': 'dreambox', 'kolejka': 'false', 'nick': '', 'pass': '', 'napios': 'Linux', 'l': language.alpha2.upper(), 'f': video_hash, 't': get_subhash(video_hash), } logger.info('Searching subtitle %r', params) r = self.session.get(self.server_url, params=params, timeout=self.timeout) r.raise_for_status() # Parse content content = self._parse_content(r.content) if not content: logger.debug('No subtitles found') return [] # Create subtitle object subtitle = self.subtitle_class(language=language, subtitle_id=video_hash) subtitle.content = content logger.debug('Found subtitle %r', subtitle) return [subtitle] def list_subtitles(self, video: Video, languages: Set[Language]) -> list[NapiProjektSubtitle]: """List all the subtitles for the video.""" return [s[0] for s in [self.query(lang, video.hashes['napiprojekt']) for lang in languages] if len(s) > 0] def download_subtitle(self, subtitle: NapiProjektSubtitle) -> None: """Download the content of the subtitle.""" # there is no download step, content is already filled from listing subtitles return ���������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/opensubtitles.py����������������������������������������������0000644�0001751�0000177�00000035140�14636376416�022730� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for Opensubtitles.org.""" from __future__ import annotations import base64 import logging import os import re import zlib from typing import TYPE_CHECKING, Any, ClassVar from xmlrpc.client import ServerProxy from babelfish import Language, language_converters # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from subliminal.exceptions import ( AuthenticationError, ConfigurationError, DownloadLimitExceeded, ProviderError, ServiceUnavailable, ) from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.utils import decorate_imdb_id, sanitize_id from subliminal.video import Episode, Movie, Video from . import Provider, TimeoutSafeTransport if TYPE_CHECKING: from collections.abc import Set from http.client import HTTPConnection logger = logging.getLogger(__name__) class UATimeoutSafeTransport(TimeoutSafeTransport): """TimeoutSafeTransport with a user agent.""" def set_user_agent(self, user_agent: str) -> None: """Set user agent.""" self._user_agent = user_agent def send_headers(self, connection: HTTPConnection, headers: list) -> None: """Send headers.""" if self._user_agent: connection.putheader('User-Agent', self.user_agent) super().send_headers(connection, headers) class OpenSubtitlesSubtitle(Subtitle): """OpenSubtitles Subtitle.""" provider_name: ClassVar[str] = 'opensubtitles' series_re: re.Pattern = re.compile(r'^"(?P<series_name>.*)" (?P<series_title>.*)$') matched_by: str | None movie_kind: str | None moviehash: str | None movie_name: str | None movie_release_name: str | None movie_year: int | None movie_imdb_id: str | None series_season: int | None series_episode: int | None filename: str def __init__( self, language: Language, subtitle_id: str, *, hearing_impaired: bool = False, page_link: str | None = None, matched_by: str | None = None, movie_kind: str | None = None, moviehash: str | None = None, movie_name: str | None = None, movie_release_name: str | None = None, movie_year: int | None = None, movie_imdb_id: str | None = None, series_season: int | None = None, series_episode: int | None = None, filename: str = '', encoding: str | None = None, ) -> None: super().__init__( language, subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link, encoding=encoding, ) self.matched_by = matched_by self.movie_kind = movie_kind self.moviehash = moviehash self.movie_name = movie_name self.movie_release_name = movie_release_name self.movie_year = movie_year self.movie_imdb_id = movie_imdb_id self.series_season = series_season self.series_episode = series_episode self.filename = filename @property def info(self) -> str: """Information about the subtitle.""" if not self.filename and not self.movie_release_name: return self.id if self.movie_release_name and len(self.movie_release_name) > len(self.filename): return self.movie_release_name return self.filename @property def series_name(self) -> str: """The series name matched from `movie_name`.""" m = self.series_re.match(self.movie_name) if m: return str(m.group('series_name')) return '' @property def series_title(self) -> str: """The series title matched from `movie_name`.""" m = self.series_re.match(self.movie_name) if m: return str(m.group('series_title')) return '' def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" if (isinstance(video, Episode) and self.movie_kind != 'episode') or ( isinstance(video, Movie) and self.movie_kind != 'movie' ): logger.info('%r is not a valid movie_kind', self.movie_kind) return set() matches = guess_matches( video, { 'title': self.series_name if self.movie_kind == 'episode' else self.movie_name, 'episode_title': self.series_title if self.movie_kind == 'episode' else None, 'year': self.movie_year, 'season': self.series_season, 'episode': self.series_episode, }, ) # tag if self.matched_by == 'tag' and (not video.imdb_id or self.movie_imdb_id == video.imdb_id): if self.movie_kind == 'episode': matches |= {'series', 'year', 'season', 'episode'} elif self.movie_kind == 'movie': matches |= {'title', 'year'} # guess matches |= guess_matches(video, guessit(self.movie_release_name, {'type': self.movie_kind})) matches |= guess_matches(video, guessit(self.filename, {'type': self.movie_kind})) # moviehash if 'opensubtitles' in video.hashes and self.moviehash == video.hashes['opensubtitles']: if self.movie_kind == 'movie' and 'title' in matches: # noqa: SIM114 matches.add('hash') elif self.movie_kind == 'episode' and 'series' in matches and 'season' in matches and 'episode' in matches: matches.add('hash') else: logger.debug('Match on hash discarded') # imdb_id if video.imdb_id and self.movie_imdb_id == video.imdb_id: matches.add('imdb_id') return matches class OpenSubtitlesProvider(Provider): """OpenSubtitles Provider. :param str username: username. :param str password: password. """ languages: ClassVar[Set[Language]] = { Language.fromopensubtitles(lang) for lang in language_converters['opensubtitles'].codes } subtitle_class: ClassVar = OpenSubtitlesSubtitle server_url: ClassVar[str] = 'https://api.opensubtitles.org/xml-rpc' # user_agent = 'subliminal v%s' % __short_version__ user_agent: str = 'VLSub 0.11.1' username: str | None password: str | None token: str | None server: ServerProxy def __init__( self, username: str | None = None, password: str | None = None, *, timeout: int = 10, ) -> None: transport = UATimeoutSafeTransport(timeout) transport.set_user_agent('VLSub') self.server = ServerProxy(self.server_url, transport) if any((username, password)) and not all((username, password)): msg = 'Username and password must be specified' raise ConfigurationError(msg) # None values not allowed for logging in, so replace it by '' self.username = username or '' self.password = password or '' self.token = None def initialize(self) -> None: """Initialize the provider.""" logger.info('Logging in') response = checked(self.server.LogIn(self.username, self.password, 'eng', self.user_agent)) # type: ignore[arg-type] self.token = str(response['token']) logger.debug('Logged in with token %r', self.token) def terminate(self) -> None: """Terminate the provider.""" logger.info('Logging out') checked(self.server.LogOut(self.token)) # type: ignore[arg-type] self.server.close() self.token = None logger.debug('Logged out') def no_operation(self) -> None: """No-operation on the server.""" logger.debug('No operation') checked(self.server.NoOperation(self.token)) # type: ignore[arg-type] def query( self, languages: Set[Language], *, moviehash: str | None = None, size: int | None = None, imdb_id: str | None = None, query: str | None = None, season: int | None = None, episode: int | None = None, tag: str | None = None, ) -> list[OpenSubtitlesSubtitle]: """Query the server and return all the data.""" # fill the search criteria criteria: list[dict[str, Any]] = [] if moviehash and size: criteria.append({'moviehash': moviehash, 'moviebytesize': str(size)}) if imdb_id: if season and episode: criteria.append({'imdbid': sanitize_id(imdb_id), 'season': season, 'episode': episode}) else: criteria.append({'imdbid': sanitize_id(imdb_id)}) if tag: criteria.append({'tag': tag}) if query and season and episode: criteria.append({'query': query.replace("'", ''), 'season': season, 'episode': episode}) elif query: criteria.append({'query': query.replace("'", '')}) if not criteria: msg = 'Not enough information' raise ValueError(msg) # add the language for criterion in criteria: criterion['sublanguageid'] = ','.join(sorted(lang.opensubtitles for lang in languages)) # query the server logger.info('Searching subtitles %r', criteria) response = checked(self.server.SearchSubtitles(self.token, criteria)) # type: ignore[arg-type] subtitles: list[OpenSubtitlesSubtitle] = [] # exit if no data if not response['data']: logger.debug('No subtitles found') return subtitles # loop over subtitle items for subtitle_item in response['data']: # read the item language = Language.fromopensubtitles(subtitle_item['SubLanguageID']) hearing_impaired = bool(int(subtitle_item['SubHearingImpaired'])) page_link = subtitle_item['SubtitlesLink'] subtitle_id = int(subtitle_item['IDSubtitleFile']) matched_by = subtitle_item['MatchedBy'] movie_kind = subtitle_item['MovieKind'] moviehash = subtitle_item['MovieHash'] movie_name = subtitle_item['MovieName'] movie_release_name = subtitle_item['MovieReleaseName'] movie_year = int(subtitle_item['MovieYear']) if subtitle_item['MovieYear'] else None movie_imdb_id = decorate_imdb_id(subtitle_item['IDMovieImdb']) series_season = int(subtitle_item['SeriesSeason']) if subtitle_item['SeriesSeason'] else None series_episode = int(subtitle_item['SeriesEpisode']) if subtitle_item['SeriesEpisode'] else None filename = subtitle_item['SubFileName'] encoding = subtitle_item.get('SubEncoding') or None subtitle = self.subtitle_class( language=language, subtitle_id=subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link, matched_by=matched_by, movie_kind=movie_kind, moviehash=moviehash, movie_name=movie_name, movie_release_name=movie_release_name, movie_year=movie_year, movie_imdb_id=movie_imdb_id, series_season=series_season, series_episode=series_episode, filename=filename, encoding=encoding, ) logger.debug('Found subtitle %r by %s', subtitle, matched_by) subtitles.append(subtitle) return subtitles def list_subtitles(self, video: Video, languages: Set[Language]) -> list[OpenSubtitlesSubtitle]: """List all the subtitles for the video.""" season = episode = None if isinstance(video, Episode): query = video.series season = video.season episode = video.episode elif isinstance(video, Movie): query = video.title else: return [] return self.query( languages, moviehash=video.hashes.get('opensubtitles'), size=video.size, imdb_id=video.imdb_id, query=query, season=season, episode=episode, tag=os.path.basename(video.name), ) def download_subtitle(self, subtitle: OpenSubtitlesSubtitle) -> None: """Download the content of the subtitle.""" logger.info('Downloading subtitle %r', subtitle) response = checked(self.server.DownloadSubtitles(self.token, [str(subtitle.subtitle_id)])) # type: ignore[arg-type] subtitle.content = fix_line_ending(zlib.decompress(base64.b64decode(response['data'][0]['data']), 47)) class OpenSubtitlesVipSubtitle(OpenSubtitlesSubtitle): """OpenSubtitles Subtitle.""" provider_name = 'opensubtitlesvip' class OpenSubtitlesVipProvider(OpenSubtitlesProvider): """OpenSubtitles Provider using VIP url.""" server_url = 'https://vip-api.opensubtitles.org/xml-rpc' subtitle_class = OpenSubtitlesVipSubtitle class OpenSubtitlesError(ProviderError): """Base class for non-generic :class:`OpenSubtitlesProvider` exceptions.""" pass class Unauthorized(OpenSubtitlesError, AuthenticationError): """Exception raised when status is '401 Unauthorized'.""" pass class NoSession(OpenSubtitlesError, AuthenticationError): """Exception raised when status is '406 No session'.""" pass class DownloadLimitReached(OpenSubtitlesError, DownloadLimitExceeded): """Exception raised when status is '407 Download limit reached'.""" pass class InvalidImdbid(OpenSubtitlesError): """Exception raised when status is '413 Invalid ImdbID'.""" pass class UnknownUserAgent(OpenSubtitlesError, AuthenticationError): """Exception raised when status is '414 Unknown User Agent'.""" pass class DisabledUserAgent(OpenSubtitlesError, AuthenticationError): """Exception raised when status is '415 Disabled user agent'.""" pass def checked(response: dict[str, Any]) -> dict[str, Any]: """Check a response status before returning it. :param response: a response from a XMLRPC call to OpenSubtitles. :return: the response. :raise: :class:`OpenSubtitlesError` """ status_code = int(response['status'][:3]) if status_code == 401: raise Unauthorized if status_code == 406: raise NoSession if status_code == 407: raise DownloadLimitReached if status_code == 413: raise InvalidImdbid if status_code == 414: raise UnknownUserAgent if status_code == 415: raise DisabledUserAgent if status_code == 503: raise ServiceUnavailable if status_code != 200: raise OpenSubtitlesError(response['status']) return response ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/opensubtitlescom.py�������������������������������������������0000644�0001751�0000177�00000065465�14636376416�023444� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for Opensubtitles.com.""" from __future__ import annotations import contextlib import logging import time from datetime import datetime, timedelta, timezone from functools import wraps from typing import TYPE_CHECKING, Any, Callable, ClassVar, TypeVar, cast from babelfish import Language, language_converters # type: ignore[import-untyped] from dogpile.cache.api import NO_VALUE from guessit import guessit # type: ignore[import-untyped] from requests import Response, Session from subliminal import __short_version__ from subliminal.cache import region from subliminal.exceptions import ( AuthenticationError, ConfigurationError, DownloadLimitExceeded, NotInitializedProviderError, ProviderError, ServiceUnavailable, ) from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.video import Episode, Movie, Video from . import Provider if TYPE_CHECKING: from collections.abc import Mapping, Set C = TypeVar('C', bound=Callable) logger = logging.getLogger(__name__) with contextlib.suppress(ValueError): language_converters.register('opensubtitlescom = subliminal.converters.opensubtitlescom:OpenSubtitlesComConverter') #: Opensubtitles.com API key for subliminal OPENSUBTITLESCOM_API_KEY = 'mij33pjc3kOlup1qOKxnWWxvle2kFbMH' #: Expiration time for token DEFAULT_EXPIRATION_TIME = timedelta(days=1).total_seconds() #: Expiration time for token TOKEN_EXPIRATION_TIME = timedelta(hours=24).total_seconds() #: Expiration time for download link DOWNLOAD_EXPIRATION_TIME = timedelta(hours=3).total_seconds() opensubtitlescom_languages = { Language('por', 'BR'), Language('srp', 'ME'), Language('zho', 'TW'), Language('zho', 'US'), } | { Language(lang) for lang in [ 'afr', 'ara', 'arg', 'ast', 'bel', 'ben', 'bos', 'bre', 'bul', 'cat', 'ces', 'dan', 'deu', 'ell', 'eng', 'epo', 'est', 'eus', 'fas', 'fin', 'fra', 'glg', 'heb', 'hin', 'hrv', 'hun', 'hye', 'ind', 'isl', 'ita', 'jpn', 'kat', 'kaz', 'khm', 'kor', 'lav', 'lit', 'ltz', 'mal', 'mkd', 'mni', 'mon', 'msa', 'mya', 'nld', 'nor', 'oci', 'pol', 'ron', 'rus', 'sin', 'slk', 'slv', 'spa', 'sqi', 'srp', 'swa', 'swe', 'syr', 'tam', 'tel', 'tgl', 'tha', 'tur', 'ukr', 'urd', 'uzb', 'vie', ] } def sanitize_id(id_: int | str | None) -> int | None: """Sanitize the IMDB (or other) id and transform it to a string (without leading 'tt' or zeroes).""" if id_ is None: return None id_ = str(id_).lower().lstrip('t') return int(id_) def decorate_imdb_id(imdb_id: int | str | None, *, ndigits: int = 7) -> str | None: """Convert the IMDB id to string and add the leading zeroes and 'tt'.""" if imdb_id is None: return None return 'tt' + str(int(imdb_id)).rjust(ndigits, '0') class OpenSubtitlesComSubtitle(Subtitle): """OpenSubtitles.com Subtitle.""" provider_name: ClassVar[str] = 'opensubtitlescom' movie_kind: str | None release: str | None movie_title: str | None movie_full_name: str | None movie_year: int | None movie_imdb_id: str | None movie_tmdb_id: str | None series_title: str | None series_season: int | None series_episode: int | None series_imdb_id: str | None series_tmdb_id: str | None download_count: int | None machine_translated: bool | None imdb_match: bool tmdb_match: bool moviehash_match: bool file_id: int file_name: str def __init__( self, language: Language, subtitle_id: str, *, hearing_impaired: bool = False, movie_kind: str | None = None, release: str | None = None, movie_title: str | None = None, movie_full_name: str | None = None, movie_year: int | None = None, movie_imdb_id: str | None = None, movie_tmdb_id: str | None = None, series_title: str | None = None, series_season: int | None = None, series_episode: int | None = None, series_imdb_id: str | None = None, series_tmdb_id: str | None = None, download_count: int | None = None, machine_translated: bool | None = None, imdb_match: bool = False, tmdb_match: bool = False, moviehash_match: bool = False, file_id: int = 0, file_name: str = '', ) -> None: super().__init__(language, subtitle_id, hearing_impaired=hearing_impaired, page_link=None, encoding='utf-8') self.movie_kind = movie_kind self.release = release self.movie_title = movie_title self.movie_full_name = movie_full_name self.movie_year = movie_year self.movie_imdb_id = movie_imdb_id self.movie_tmdb_id = movie_tmdb_id self.series_title = series_title self.series_season = series_season self.series_episode = series_episode self.series_imdb_id = series_imdb_id self.series_tmdb_id = series_tmdb_id self.download_count = download_count self.machine_translated = machine_translated self.imdb_match = imdb_match self.tmdb_match = tmdb_match self.moviehash_match = moviehash_match self.file_id = file_id self.file_name = file_name @classmethod def from_response( cls, response: dict[str, Any], *, imdb_match: bool = False, tmdb_match: bool = False, ) -> OpenSubtitlesComSubtitle: """Parse a single subtitle query response to a :class:`OpenSubtitlesComSubtitle`.""" # read the response subtitle_id = str(int(response.get('id'))) # type: ignore[arg-type] attributes = response.get('attributes', {}) language = Language.fromopensubtitlescom(str(attributes.get('language'))) hearing_impaired = bool(int(attributes.get('hearing_impaired'))) release = str(attributes.get('release')) moviehash_match = bool(attributes.get('moviehash_match', False)) download_count = int(attributes.get('download_count')) machine_translated = bool(int(attributes.get('machine_translated'))) # fps = float(attributes.get('fps')) # from_trusted = bool(int(attributes.get('from_trusted'))) # uploader_rank = str(attributes.get('uploader', {}).get("rank")) # foreign_parts_only = bool(int(attributes.get('foreign_parts_only'))) feature_details = attributes.get('feature_details', {}) movie_year = int(feature_details.get('year')) if feature_details.get('year') else None movie_title = str(feature_details.get('title')) movie_full_name = str(feature_details.get('movie_name')) movie_kind = str(feature_details.get('feature_type').lower()) movie_imdb_id = decorate_imdb_id(feature_details.get('imdb_id')) movie_tmdb_id = feature_details.get('tmdb_id') series_season = int(feature_details.get('season_number')) if feature_details.get('season_number') else None series_episode = int(feature_details.get('episode_number')) if feature_details.get('episode_number') else None series_title = str(feature_details.get('parent_title')) series_imdb_id = decorate_imdb_id(feature_details.get('parent_imdb_id')) series_tmdb_id = feature_details.get('parent_tmdb_id') files = attributes.get('files', []) srt_file: dict[str, Any] = {'file_id': 0, 'file_name': ''} if len(files) == 0 else files[0] file_id = int(srt_file.get('file_id')) # type: ignore[arg-type] file_name = str(srt_file.get('file_name')) return cls( language, subtitle_id, hearing_impaired=hearing_impaired, movie_kind=movie_kind, release=release, movie_title=movie_title, movie_full_name=movie_full_name, movie_year=movie_year, movie_imdb_id=movie_imdb_id, movie_tmdb_id=movie_tmdb_id, series_title=series_title, series_season=series_season, series_episode=series_episode, series_imdb_id=series_imdb_id, series_tmdb_id=series_tmdb_id, download_count=download_count, machine_translated=machine_translated, imdb_match=imdb_match, tmdb_match=tmdb_match, moviehash_match=moviehash_match, file_id=file_id, file_name=file_name, ) @property def info(self) -> str: """Information about the subtitle.""" if not self.file_name and not self.release: return self.id if self.release and len(self.release) > len(self.file_name): return self.release return self.file_name def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" if (isinstance(video, Episode) and self.movie_kind != 'episode') or ( isinstance(video, Movie) and self.movie_kind != 'movie' ): logger.info('%r is not a valid movie_kind', self.movie_kind) return set() matches = guess_matches( video, { 'title': self.series_title if self.movie_kind == 'episode' else self.movie_title, 'episode_title': self.movie_title if self.movie_kind == 'episode' else None, 'year': self.movie_year, 'season': self.series_season, 'episode': self.series_episode, }, ) # guess matches |= guess_matches(video, guessit(self.release, {'type': self.movie_kind})) matches |= guess_matches(video, guessit(self.file_name, {'type': self.movie_kind})) # imdb_id if self.imdb_match: matches.add('imdb_id') # tmdb_id if self.tmdb_match: matches.add('tmdb_id') # hash match if self.moviehash_match: matches.add('hash') return matches def requires_auth(func: C) -> C: """Decorator for :class:`OpenSubtitlesComProvider` methods that require authentication.""" @wraps(func) def wrapper(self: OpenSubtitlesComProvider, *args: Any, **kwargs: Any) -> Any: if not self.check_token(): # token expired self.login() if not self.check_token(): msg = 'Cannot authenticate with username and password' raise AuthenticationError(msg) return func(self, *args, **kwargs) return cast(C, wrapper) class OpenSubtitlesComProvider(Provider): """OpenSubtitles.com Provider. :param str username: username. :param str password: password. """ server_url: ClassVar[str] = 'https://api.opensubtitles.com/api/v1/' subtitle_class: ClassVar = OpenSubtitlesComSubtitle languages: ClassVar[Set[Language]] = opensubtitlescom_languages user_agent: str = f'Subliminal v{__short_version__}' subtitle_format: str = 'srt' username: str | None password: str | None apikey: str timeout: int token_expires_at: datetime | None session: Session | None def __init__( self, username: str | None = None, password: str | None = None, *, apikey: str | None = None, timeout: int = 20, ) -> None: if any((username, password)) and not all((username, password)): msg = 'Username and password must be specified' raise ConfigurationError(msg) self.username = username self.password = password self.apikey = apikey or OPENSUBTITLESCOM_API_KEY self.timeout = timeout self.token_expires_at = None self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers['Api-Key'] = self.apikey self.session.headers['Accept'] = '*/*' self.session.headers['Content-Type'] = 'application/json' def terminate(self) -> None: """Terminate the provider.""" if not self.session: raise NotInitializedProviderError # logout self.logout() def check_token(self) -> bool: """Check if the token is valid.""" if not self.session: raise NotInitializedProviderError # Check token is present if self.token_expires_at is not None and self.token is not None: if datetime.now(timezone.utc) < self.token_expires_at: return True del self.token self.token_expires_at = None # Check cached token token = region.get('oscom_token', expiration_time=TOKEN_EXPIRATION_TIME) if token is NO_VALUE: return False # Login was already done, add token to Bearer self.session.headers['Authorization'] = 'Bearer ' + str(token) return True def login(self, *, wait: bool = False) -> None: """Login with the POST REST API.""" if not self.session: raise NotInitializedProviderError if not self.username or not self.password: logger.info('Cannot log in, a username and password must be provided') return if wait: # Wait 1s between calls time.sleep(1) logger.info('Logging in') data = {'username': self.username, 'password': self.password} try: r = self.session.post(self.server_url + 'login', json=data, timeout=self.timeout) r = checked(r) except ProviderError: # raise error logger.exception('An error occurred') raise ret = r.json() token = ret['token'] if not token: logger.debug('Error, the authentication token is empty.') return # Set cache region.set('oscom_token', token) # Set token in header self.token = token self.token_expires_at = datetime.now(timezone.utc) + timedelta(seconds=TOKEN_EXPIRATION_TIME) logger.debug('Logged in') def logout(self) -> None: """Logout by closing the Session.""" if not self.session: raise NotInitializedProviderError del self.token self.session.close() @staticmethod def reset_token() -> None: """Reset the authentication token from the cache.""" logger.debug('Authentication failed: clearing cache and attempting to login.') region.delete('oscom_token') @property def token(self) -> str | None: """Authentication token.""" if not self.session: return None if 'Authorization' not in self.session.headers: return None auth = str(self.session.headers['Authorization']) prefix = 'Bearer ' if auth is None or not auth.startswith(prefix): return None return auth[len(prefix) :] @token.setter def token(self, value: str) -> None: """Authentication token.""" if not self.session: return self.session.headers['Authorization'] = 'Bearer ' + str(value) @token.deleter def token(self) -> None: """Authentication token.""" if not self.session: return if 'Authorization' in self.session.headers: del self.session.headers['Authorization'] @requires_auth def user_infos(self) -> dict[str, Any]: """Return information about the user.""" if not self.session: raise NotInitializedProviderError logger.debug('User infos') response = self.api_get('infos/user') logger.debug(response) return response def api_post( self, path: str, body: Mapping[str, Any] | None = None, *, raises: bool = True, ) -> dict[str, Any]: """Make a POST request to the path, with body.""" if not self.session: raise NotInitializedProviderError body = dict(body) if body else {} # no need to set the headers, there are set for `self.session` try: r = self.session.post(self.server_url + path, json=body, timeout=self.timeout) r = checked(r) except ProviderError: logger.exception('An error occurred') if raises: raise return {} return r.json() # type: ignore[no-any-return] def api_get( self, path: str, params: Mapping[str, Any] | None = None, *, raises: bool = True, ) -> dict[str, Any]: """Make a GET request to the path, with parameters.""" if not self.session: raise NotInitializedProviderError # sort dict params = dict(sorted(params.items())) if params else {} # lowercase, do not transform spaces to "+", because then they become html-encoded params = {k.lower(): (v.lower() if isinstance(v, str) else v) for k, v in params.items()} # no need to set the headers, there are set for `self.session` try: r = self.session.get(self.server_url + path, params=params, timeout=self.timeout) r = checked(r) except ProviderError: logger.exception('An error occurred') if raises: raise return {} return r.json() # type: ignore[no-any-return] def _search(self, *, page: int = 1, **params: Any) -> list[dict[str, Any]]: # query the server logger.info('Searching subtitles %r', params) # GET request and add page information response = self.api_get('subtitles', {'page': page, **params}) if not response or not response['data']: return [] ret = response['data'] # retrieve other pages maybe if 'total_pages' in response and page < response['total_pages']: # missing pages ret.extend(self._search(page=page + 1, **params)) return ret # type: ignore[no-any-return] def _make_query( self, *, moviehash: str | None = None, imdb_id: str | None = None, tmdb_id: str | None = None, query: str | None = None, season: int | None = None, episode: int | None = None, opensubtitles_id: str | None = None, show_imdb_id: str | None = None, show_tmdb_id: str | None = None, year: int | None = None, ) -> list[dict[str, Any]]: """Make a list of query parameters.""" # fill the search criterion criterion: dict[str, Any] = {} if moviehash: criterion.update({'moviehash': moviehash}) if imdb_id: criterion.update({'imdb_id': sanitize_id(imdb_id)}) if show_imdb_id: criterion.update({'parent_imdb_id': sanitize_id(show_imdb_id)}) if tmdb_id: criterion.update({'tmdb_id': sanitize_id(tmdb_id)}) if show_tmdb_id: criterion.update({'parent_tmdb_id': sanitize_id(show_tmdb_id)}) if opensubtitles_id: criterion.update({'id': opensubtitles_id}) if query: criterion.update({'query': query.replace("'", '')}) if season and episode: criterion.update({'season_number': season, 'episode_number': episode}) if year: criterion.update({'year': year}) # return a list of criteria if not criterion: msg = 'Not enough information' raise ValueError(msg) criteria = [criterion] # Add single-term searches to the list of searches. # Only if the criterion is a multi-term search. if len(criterion) > 1: if 'id' in criterion: criteria.append({'id': criterion['id']}) if 'imdb_id' in criterion: criteria.append({'imdb_id': criterion['imdb_id']}) if 'tmdb_id' in criterion: criteria.append({'tmdb_id': criterion['tmdb_id']}) if 'moviehash' in criterion: criteria.append({'moviehash': criterion['moviehash']}) if 'query' in criterion: if 'season_number' in criterion and 'episode_number' in criterion: criteria.append( { 'query': criterion['query'], 'season_number': criterion['season_number'], 'episode_number': criterion['episode_number'], } ) else: criteria.append({'query': criterion['query']}) return criteria def query( self, languages: Set[Language], *, allow_machine_translated: bool = False, sort_by_download_count: bool = True, **kwargs: Any, ) -> list[OpenSubtitlesComSubtitle]: """Query the server and return all the data.""" # fill the search criteria criteria = self._make_query(**kwargs) subtitles = [] for criterion in criteria: # add the language and query the server criterion.update({'languages': ','.join(sorted(lang.opensubtitlescom for lang in languages))}) # query the server responses = self._search(**criterion) imdb_match = 'imdb_id' in criterion or 'show_imdb_id' in criterion tmdb_match = 'tmdb_id' in criterion or 'show_tmdb_id' in criterion # loop over subtitle items for response in responses: # read single response subtitle = self.subtitle_class.from_response( response, imdb_match=imdb_match, tmdb_match=tmdb_match, ) logger.debug('Found subtitle %r', subtitle) subtitles.append(subtitle) # filter out the machine translated subtitles if not allow_machine_translated: subtitles = [sub for sub in subtitles if not sub.machine_translated] # sort by download_counts if sort_by_download_count: subtitles = sorted(subtitles, key=lambda s: s.download_count or -1, reverse=True) return list(subtitles) def list_subtitles(self, video: Video, languages: Set[Language]) -> list[OpenSubtitlesComSubtitle]: """List all the subtitles for the video.""" query = season = episode = None if isinstance(video, Episode): # TODO: add show_imdb_id and show_tmdb_id query = video.series season = video.season episode = video.episode elif isinstance(video, Movie): query = video.title return self.query( languages, moviehash=video.hashes.get('opensubtitles'), imdb_id=video.imdb_id, query=query, season=season, episode=episode, allow_machine_translated=False, sort_by_download_count=True, ) @requires_auth def download_subtitle(self, subtitle: OpenSubtitlesComSubtitle) -> None: """Download the content of the subtitle.""" if not self.session: raise NotInitializedProviderError # get the subtitle download link logger.info('Downloading subtitle %r', subtitle) body = {'file_id': subtitle.file_id, 'file_name': subtitle.file_name, 'sub_format': self.subtitle_format} r = self.api_post('download', body) if any(k not in r for k in ('link', 'remaining')): return link = r['link'] remaining = int(r['remaining']) # detect download limit exceeded if remaining <= 0: if 'reset_time_utc' in r: logger.error('download quota exceeded, quota reset on %s UTC', r['reset_time_utc']) else: logger.error('download quota exceeded') raise DownloadLimitReached # download the subtitle download_response = self.session.get(link, timeout=self.timeout) if not download_response.content: # Provider returns a status of 304 Not Modified with an empty content # raise_for_status won't raise exception for that status code logger.debug('Unable to download subtitle. No data returned from provider') return subtitle.content = fix_line_ending(download_response.content) class OpenSubtitlesComVipSubtitle(OpenSubtitlesComSubtitle): """OpenSubtitles.com VIP Subtitle.""" provider_name: ClassVar[str] = 'opensubtitlescomvip' class OpenSubtitlesComVipProvider(OpenSubtitlesComProvider): """OpenSubtitles.com VIP Provider.""" server_url: ClassVar[str] = 'https://vip-api.opensubtitles.com/api/v1/' subtitle_class: ClassVar = OpenSubtitlesComVipSubtitle class OpenSubtitlesComError(ProviderError): """Base class for non-generic :class:`OpenSubtitlesComProvider` exceptions.""" pass class Unauthorized(OpenSubtitlesComError, AuthenticationError): """Exception raised when status is '401 Unauthorized'.""" pass class NoSession(OpenSubtitlesComError, AuthenticationError): """Exception raised when status is '406 No session'.""" pass class DownloadLimitReached(OpenSubtitlesComError, DownloadLimitExceeded): """Exception raised when status is '407 Download limit reached'.""" pass class InvalidImdbid(OpenSubtitlesComError): """Exception raised when status is '413 Invalid ImdbID'.""" pass class UnknownUserAgent(OpenSubtitlesComError, AuthenticationError): """Exception raised when status is '414 Unknown User Agent'.""" pass class DisabledUserAgent(OpenSubtitlesComError, AuthenticationError): """Exception raised when status is '415 Disabled user agent'.""" pass def checked(response: Response) -> Response: """Check a response status before returning it. :param response: a response from `requests` call to OpenSubtitlesCom. :return: the response. :raises: :class:`OpenSubtitlesComError` """ status_code = response.status_code if status_code == 401: raise Unauthorized(response.reason) if status_code == 406: raise NoSession if status_code == 407: raise DownloadLimitReached if status_code == 413: raise InvalidImdbid if status_code == 414: raise UnknownUserAgent if status_code == 415: raise DisabledUserAgent if status_code == 503: raise ServiceUnavailable if status_code != 200: raise OpenSubtitlesComError(response.reason) return response �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/podnapisi.py��������������������������������������������������0000644�0001751�0000177�00000020572�14636376416�022021� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for Podnapisi.""" from __future__ import annotations import io import json import logging from typing import TYPE_CHECKING, Any, ClassVar from zipfile import ZipFile from babelfish import Language, language_converters # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from requests import Session from subliminal.exceptions import NotInitializedProviderError, ProviderError from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.video import Episode, Movie, Video from . import Provider, SecLevelOneTLSAdapter if TYPE_CHECKING: from collections.abc import Sequence, Set logger = logging.getLogger(__name__) class PodnapisiSubtitle(Subtitle): """Podnapisi Subtitle.""" provider_name: ClassVar[str] = 'podnapisi' subtitle_id: str releases: Sequence[str] title: str | None season: int | None episode: int | None year: int | None def __init__( self, language: Language, subtitle_id: str, *, hearing_impaired: bool = False, page_link: str | None = None, releases: Sequence[str] | None = None, title: str | None = None, season: int | None = None, episode: int | None = None, year: int | None = None, ) -> None: super().__init__(language, subtitle_id, hearing_impaired=hearing_impaired, page_link=page_link) self.releases = list(releases) if releases is not None else [] self.title = title self.season = season self.episode = episode self.year = year @property def info(self) -> str: """Information about the subtitle.""" return ' '.join(self.releases) if self.releases else self.id def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" matches = guess_matches( video, { 'title': self.title, 'year': self.year, 'season': self.season, 'episode': self.episode, }, ) video_type = 'episode' if isinstance(video, Episode) else 'movie' for release in self.releases: matches |= guess_matches(video, guessit(release, {'type': video_type})) return matches class PodnapisiProvider(Provider): """Podnapisi Provider.""" languages: ClassVar[Set[Language]] = {Language('por', 'BR'), Language('srp', script='Latn')} | { Language.fromalpha2(lang) for lang in language_converters['alpha2'].codes } subtitle_class: ClassVar = PodnapisiSubtitle server_url: ClassVar[str] = 'https://www.podnapisi.net/subtitles' timeout: int session: Session | None def __init__(self, *, timeout: int = 10) -> None: self.timeout = timeout self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.mount('https://', SecLevelOneTLSAdapter()) self.session.headers['User-Agent'] = self.user_agent self.session.headers['Accept'] = 'application/json' def terminate(self) -> None: """Terminate the provider.""" if self.session is None: raise NotInitializedProviderError self.session.close() def query( self, language: Language, keyword: str, *, season: int | None = None, episode: int | None = None, year: int | None = None, ) -> list[PodnapisiSubtitle]: """Query the provider for subtitles. :param :class:`~babelfish.language.Language` language: the language of the subtitles. :param str keyword: the query term. :param (int | None) season: the season number. :param (int | None) episode: the episode number. :param (int | None) year: the video year. :return: the list of found subtitles. :rtype: list[PodnapisiSubtitle] """ if self.session is None: raise NotInitializedProviderError # set parameters, see http://www.podnapisi.net/forum/viewtopic.php?f=62&t=26164#p212652 params: dict[str, Any] = {'keywords': keyword, 'language': str(language)} is_episode = False if season is not None and episode is not None: is_episode = True params['seasons'] = season params['episodes'] = episode params['movie_type'] = ['tv-series', 'mini-series'] else: params['movie_type'] = 'movie' if year: params['year'] = year # loop over paginated results logger.info('Searching subtitles %r', params) subtitles = [] pids = set() while True: # query the server r = self.session.get(self.server_url + '/search/advanced', params=params, timeout=self.timeout) r.raise_for_status() result = json.loads(r.text) # loop over subtitles for data in result['data']: # read xml elements pid = data['id'] # ignore duplicates, see http://www.podnapisi.net/forum/viewtopic.php?f=62&t=26164&start=10#p213321 if pid in pids: logger.debug('Ignoring duplicate %r', pid) continue if is_episode and data['movie']['type'] == 'movie': logger.error('Wrong type detected: movie for episode') continue language = Language.fromietf(data['language']) hearing_impaired = 'hearing_impaired' in data['flags'] page_link = data['url'] releases = data['releases'] + data['custom_releases'] title = data['movie']['title'] season = int(data['movie']['episode_info'].get('season')) if is_episode else None episode = int(data['movie']['episode_info'].get('episode')) if is_episode else None year = int(data['movie']['year']) subtitle = self.subtitle_class( language=language, subtitle_id=pid, hearing_impaired=hearing_impaired, page_link=page_link, releases=releases, title=title, season=season, episode=episode, year=year, ) logger.debug('Found subtitle %r', subtitle) subtitles.append(subtitle) pids.add(pid) # stop on last page if int(result['page']) >= int(result['all_pages']): break # increment current page params['page'] = int(result['page']) + 1 logger.debug('Getting page %d', params['page']) return subtitles def list_subtitles(self, video: Video, languages: Set[Language]) -> list[PodnapisiSubtitle]: """List all the subtitles for the video.""" season = episode = None if isinstance(video, Episode): titles = [video.series, *video.alternative_series] season = video.season episode = video.episode elif isinstance(video, Movie): titles = [video.title, *video.alternative_titles] else: return [] for title in titles: subtitles = [ s for lang in languages for s in self.query(lang, title, season=season, episode=episode, year=video.year) ] if subtitles: return subtitles return [] def download_subtitle(self, subtitle: PodnapisiSubtitle) -> None: """Download the content of the subtitle.""" if self.session is None: raise NotInitializedProviderError # download as a zip logger.info('Downloading subtitle %r', subtitle) r = self.session.get( self.server_url + f'/{subtitle.subtitle_id}/download', params={'container': 'zip'}, timeout=self.timeout, ) r.raise_for_status() # open the zip with ZipFile(io.BytesIO(r.content)) as zf: if len(zf.namelist()) > 1: msg = 'More than one file to unzip' raise ProviderError(msg) subtitle.content = fix_line_ending(zf.read(zf.namelist()[0])) ��������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/providers/tvsubtitles.py������������������������������������������������0000644�0001751�0000177�00000026300�14636376416�022416� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Provider for TVsubtitles.net.""" from __future__ import annotations import contextlib import io import logging import re from typing import TYPE_CHECKING, ClassVar from zipfile import ZipFile from babelfish import Language, language_converters # type: ignore[import-untyped] from guessit import guessit # type: ignore[import-untyped] from requests import Session from subliminal.cache import EPISODE_EXPIRATION_TIME, SHOW_EXPIRATION_TIME, region from subliminal.exceptions import NotInitializedProviderError, ProviderError from subliminal.matches import guess_matches from subliminal.subtitle import Subtitle, fix_line_ending from subliminal.utils import sanitize from subliminal.video import Episode, Video from . import ParserBeautifulSoup, Provider if TYPE_CHECKING: from collections.abc import Set logger = logging.getLogger(__name__) with contextlib.suppress(ValueError): language_converters.register('tvsubtitles = subliminal.converters.tvsubtitles:TVsubtitlesConverter') link_re = re.compile(r'^(?P<series>.+?)(?: \(?\d{4}\)?| \((?:US|UK)\))? \((?P<first_year>\d{4})-\d{4}\)$') episode_id_re = re.compile(r'^episode-\d+\.html$') script_re = re.compile(r'var\s*s(?P<num>\d+)\s*=\s*\'(?P<string>[^\']+)\'') class TVsubtitlesSubtitle(Subtitle): """TVsubtitles Subtitle.""" provider_name: ClassVar[str] = 'tvsubtitles' series: str | None season: int | None episode: int | None year: int | None rip: str | None release: str | None def __init__( self, language: Language, subtitle_id: str, *, page_link: str | None = None, series: str | None = None, season: int | None = None, episode: int | None = None, year: int | None = None, rip: str | None = None, release: str | None = None, ) -> None: super().__init__(language, subtitle_id, page_link=page_link) self.series = series self.season = season self.episode = episode self.year = year self.rip = rip self.release = release @property def info(self) -> str: """Information about the subtitle.""" return self.release or self.rip or '' def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`.""" matches = guess_matches( video, { 'title': self.series, 'season': self.season, 'episode': self.episode, 'year': self.year, 'release_group': self.release, }, ) # other properties if self.release is not None: matches |= guess_matches(video, guessit(self.release, {'type': 'episode'}), partial=True) if self.rip is not None: matches |= guess_matches(video, guessit(self.rip, {'type': 'episode'}), partial=True) return matches class TVsubtitlesProvider(Provider): """TVsubtitles Provider.""" languages: ClassVar[Set[Language]] = {Language('por', 'BR')} | { Language(lang) for lang in [ 'ara', 'bul', 'ces', 'dan', 'deu', 'ell', 'eng', 'fin', 'fra', 'hun', 'ita', 'jpn', 'kor', 'nld', 'pol', 'por', 'ron', 'rus', 'spa', 'swe', 'tur', 'ukr', 'zho', ] } video_types: ClassVar = (Episode,) server_url: ClassVar[str] = 'https://www.tvsubtitles.net' subtitle_class: ClassVar = TVsubtitlesSubtitle session: Session | None def __init__(self) -> None: self.session = None def initialize(self) -> None: """Initialize the provider.""" self.session = Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers['Referer'] = f'{self.server_url}/' self.session.headers['X-Requested-With'] = 'XMLHttpRequest' def terminate(self) -> None: """Terminate the provider.""" if not self.session: raise NotInitializedProviderError self.session.close() @region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME) def search_show_id(self, series: str, year: int | None = None) -> int | None: """Search the show id from the `series` and `year`. :param str series: series of the episode. :param year: year of the series, if any. :type year: int :return: the show id, if any. :rtype: int """ if not self.session: raise NotInitializedProviderError # make the search logger.info('Searching show id for %r', series) r = self.session.post(self.server_url + '/search.php', data={'qs': series}, timeout=10) r.raise_for_status() # get the series out of the suggestions soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser']) sanitized = sanitize(series) show_id = None for suggestion in soup.select('div.left li div a', href=re.compile(r'\/tvshow-')): # type: ignore[call-arg] match = link_re.match(suggestion.text) if not match: logger.error('Failed to match %s', suggestion.text) continue found_series = sanitize(match.group('series')) if found_series == sanitized: if year is not None and int(match.group('first_year')) != year: logger.debug('Year does not match') continue show_id = int(suggestion['href'][8:-5]) # type: ignore[arg-type] logger.debug('Found show id %d', show_id) break return show_id @region.cache_on_arguments(expiration_time=EPISODE_EXPIRATION_TIME) def get_episode_ids(self, show_id: int, season: int) -> dict[int, int]: """Get episode ids from the show id and the season. :param int show_id: show id. :param int season: season of the episode. :return: episode ids per episode number. :rtype: dict """ if not self.session: raise NotInitializedProviderError # get the page of the season of the show logger.info('Getting the page of show id %d, season %d', show_id, season) r = self.session.get(self.server_url + f'/tvshow-{show_id:d}-{season:d}.html', timeout=10) soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser']) # loop over episode rows episode_ids = {} for row in soup.select('table#table5 tr'): # skip rows that do not have a link to the episode page if not row('a', href=episode_id_re): continue # extract data from the cells cells = row('td') episode = int(cells[0].text.split('x')[1]) episode_id = int(cells[1].a['href'][8:-5]) episode_ids[episode] = episode_id if episode_ids: logger.debug('Found episode ids %r', episode_ids) else: logger.warning('No episode ids found') return episode_ids def query( self, show_id: int, series: str, season: int, episode: int, year: int | None = None, ) -> list[TVsubtitlesSubtitle]: """Query the episode with the show_id.""" if not self.session: raise NotInitializedProviderError # get the episode ids episode_ids = self.get_episode_ids(show_id, season) if episode not in episode_ids: logger.error('Episode %d not found', episode) return [] # get the episode page logger.info('Getting the page for episode %d', episode_ids[episode]) r = self.session.get(self.server_url + '/episode-%d.html' % episode_ids[episode], timeout=10) soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser']) # loop over subtitles rows subtitles = [] for row in soup.select('.subtitlen'): # read the item language = Language.fromtvsubtitles(row.h5.img['src'][13:-4]) # type: ignore[union-attr,index] subtitle_id = str(int(row.parent['href'][10:-5])) # type: ignore[arg-type,index] page_link = self.server_url + f'/subtitle-{subtitle_id}.html' rip = row.find('p', title='rip').text.strip() or None # type: ignore[union-attr] release = row.find('h5').text.strip() or None # type: ignore[union-attr] subtitle = self.subtitle_class( language=language, subtitle_id=subtitle_id, page_link=page_link, series=series, season=season, episode=episode, year=year, rip=rip, release=release, ) logger.debug('Found subtitle %s', subtitle) subtitles.append(subtitle) return subtitles def list_subtitles(self, video: Video, languages: Set[Language]) -> list[TVsubtitlesSubtitle]: """List all the subtitles for the video.""" if not isinstance(video, Episode): return [] # lookup show_id titles = [video.series, *video.alternative_series] title = None show_id = None for title in titles: show_id = self.search_show_id(title, video.year) if show_id is not None: break # query for subtitles with the show_id if show_id is not None and title is not None and video.episode is not None: return [ s for s in self.query(show_id, title, video.season, video.episode, video.year) if s.language in languages and s.episode == video.episode ] logger.error('No show id found for %r (%r)', video.series, {'year': video.year}) return [] def download_subtitle(self, subtitle: TVsubtitlesSubtitle) -> None: """Download the content of the subtitle.""" if not self.session: raise NotInitializedProviderError # download as a zip logger.info('Downloading subtitle %r', subtitle) url = self.server_url + f'/download-{subtitle.subtitle_id}.html' r = self.session.get(url, timeout=10) r.raise_for_status() # Not direct download if '</script>' in r.text: # Find the filename soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser']) parts = script_re.findall(soup.script.text) # type: ignore[union-attr] filepath = ''.join(p[1] for p in parts) if not filepath: msg = f'Cannot find the subtitle name to download from {url}' raise ValueError(msg) direct_url = f'{self.server_url}/{filepath}' r = self.session.get(direct_url, timeout=10) r.raise_for_status() # open the zip with ZipFile(io.BytesIO(r.content)) as zf: if len(zf.namelist()) > 1: msg = 'More than one file to unzip' raise ProviderError(msg) subtitle.content = fix_line_ending(zf.read(zf.namelist()[0])) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/py.typed����������������������������������������������������������������0000644�0001751�0000177�00000000000�14636376416�017123� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000034�00000000000�010212� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������28 mtime=1719270681.6381807 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/���������������������������������������������������������������0000755�0001751�0000177�00000000000�14636376432�017251� 5����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/__init__.py����������������������������������������������������0000644�0001751�0000177�00000000474�14636376416�021371� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������""" Refiners enrich a :class:`~subliminal.video.Video` object by adding information to it. A refiner is a simple function: .. py:function:: refine(video, **kwargs) :param video: the video to refine. :type video: :class:`~subliminal.video.Video` :param kwargs: additional parameters for refiners. """ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/hash.py��������������������������������������������������������0000644�0001751�0000177�00000010774�14636376416�020561� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Refine the :class:`~subliminal.video.Video` object with video hashes.""" from __future__ import annotations import hashlib import logging import os import struct from typing import TYPE_CHECKING, Any, cast from subliminal.extensions import default_providers, provider_manager from subliminal.providers import Provider if TYPE_CHECKING: from collections.abc import Sequence, Set from typing import Callable, TypeAlias from babelfish import Language # type: ignore[import-untyped] from subliminal.video import Video HashFunc: TypeAlias = Callable[[str | os.PathLike], str | None] logger = logging.getLogger(__name__) def hash_opensubtitles(video_path: str | os.PathLike) -> str | None: """Compute a hash using OpenSubtitles' algorithm. :param (str | os.PathLike) video_path: path of the video. :return: the hash. :rtype: str """ video_path = os.fspath(video_path) bytesize = struct.calcsize(b'<q') with open(video_path, 'rb') as f: filesize = os.path.getsize(video_path) filehash = filesize if filesize < 65536 * 2: return None for _ in range(65536 // bytesize): filebuffer = f.read(bytesize) (l_value,) = struct.unpack(b'<q', filebuffer) filehash += l_value filehash &= 0xFFFFFFFFFFFFFFFF # to remain as 64bit number f.seek(max(0, filesize - 65536), 0) for _ in range(65536 // bytesize): filebuffer = f.read(bytesize) (l_value,) = struct.unpack(b'<q', filebuffer) filehash += l_value filehash &= 0xFFFFFFFFFFFFFFFF return f'{filehash:016x}' def hash_thesubdb(video_path: str | os.PathLike) -> str | None: """Compute a hash using TheSubDB's algorithm. :param str video_path: path of the video. :return: the hash. :rtype: str """ readsize = 64 * 1024 if os.path.getsize(video_path) < readsize: return None with open(video_path, 'rb') as f: data = f.read(readsize) f.seek(-readsize, os.SEEK_END) data += f.read(readsize) return hashlib.md5(data).hexdigest() # noqa: S324 def hash_napiprojekt(video_path: str | os.PathLike) -> str | None: """Compute a hash using NapiProjekt's algorithm. :param str video_path: path of the video. :return: the hash. :rtype: str """ readsize = 1024 * 1024 * 10 with open(video_path, 'rb') as f: data = f.read(readsize) return hashlib.md5(data).hexdigest() # noqa: S324 def hash_shooter(video_path: str | os.PathLike) -> str | None: """Compute a hash using Shooter's algorithm. :param string video_path: path of the video :return: the hash :rtype: string """ filesize = os.path.getsize(video_path) readsize = 4096 if os.path.getsize(video_path) < readsize * 2: return None offsets = (readsize, filesize // 3 * 2, filesize // 3, filesize - readsize * 2) filehash = [] with open(video_path, 'rb') as f: for offset in offsets: f.seek(offset) filehash.append(hashlib.md5(f.read(readsize)).hexdigest()) # noqa: S324 return ';'.join(filehash) hash_functions: dict[str, HashFunc] = { 'napiprojekt': hash_napiprojekt, 'opensubtitles': hash_opensubtitles, 'opensubtitlesvip': hash_opensubtitles, 'opensubtitlescom': hash_opensubtitles, 'opensubtitlescomvip': hash_opensubtitles, 'shooter': hash_shooter, 'thesubdb': hash_thesubdb, } def refine( video: Video, *, providers: Sequence[str] | None = None, languages: Set[Language] | None = None, **kwargs: Any, ) -> Video: """Refine a video computing required hashes for the given providers. The following :class:`~subliminal.video.Video` attribute can be found: * :attr:`~subliminal.video.Video.hashes` """ if video.size is None or video.size <= 10485760: logger.warning('Size is lower than 10MB: hashes not computed') return video logger.debug('Computing hashes for %r', video.name) for name in providers or default_providers: provider = cast(Provider, provider_manager[name].plugin) if name not in hash_functions: continue if not provider.check_types(video): continue if languages is not None and not provider.check_languages(languages): continue h = hash_functions[name](video.name) if h is not None: video.hashes[name] = h logger.debug('Computed hashes %r', video.hashes) return video ����././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/metadata.py����������������������������������������������������0000644�0001751�0000177�00000010203�14636376416�021401� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Refine the :class:`~subliminal.video.Video` object with mkv metadata.""" from __future__ import annotations import logging import os from typing import TYPE_CHECKING, Any from babelfish import Error as BabelfishError # type: ignore[import-untyped] from babelfish import Language # type: ignore[import-untyped] from enzyme import MKV # type: ignore[import-untyped] if TYPE_CHECKING: from subliminal.video import Video logger = logging.getLogger(__name__) def refine(video: Video, *, embedded_subtitles: bool = True, **kwargs: Any) -> Video: """Refine a video by searching its metadata. Several :class:`~subliminal.video.Video` attributes can be found: * :attr:`~subliminal.video.Video.resolution` * :attr:`~subliminal.video.Video.video_codec` * :attr:`~subliminal.video.Video.audio_codec` * :attr:`~subliminal.video.Video.subtitle_languages` :param bool embedded_subtitles: search for embedded subtitles. """ # skip non existing videos if not video.exists: return video # check extensions extension = os.path.splitext(video.name)[1] if extension != '.mkv': logger.debug('Unsupported video extension %s', extension) return video with open(video.name, 'rb') as f: mkv = MKV(f) # main video track if mkv.video_tracks: video_track = mkv.video_tracks[0] # resolution if video_track.height in (480, 720, 1080): if video_track.interlaced: video.resolution = '%di' % video_track.height else: video.resolution = '%dp' % video_track.height logger.debug('Found resolution %s', video.resolution) # video codec if video_track.codec_id == 'V_MPEG4/ISO/AVC': video.video_codec = 'H.264' logger.debug('Found video_codec %s', video.video_codec) elif video_track.codec_id == 'V_MPEG4/ISO/SP': video.video_codec = 'DivX' logger.debug('Found video_codec %s', video.video_codec) elif video_track.codec_id == 'V_MPEG4/ISO/ASP': video.video_codec = 'Xvid' logger.debug('Found video_codec %s', video.video_codec) else: logger.warning('MKV has no video track') # main audio track if mkv.audio_tracks: audio_track = mkv.audio_tracks[0] # audio codec if audio_track.codec_id == 'A_AC3': video.audio_codec = 'Dolby Digital' logger.debug('Found audio_codec %s', video.audio_codec) elif audio_track.codec_id == 'A_DTS': video.audio_codec = 'DTS' logger.debug('Found audio_codec %s', video.audio_codec) elif audio_track.codec_id == 'A_AAC': video.audio_codec = 'AAC' logger.debug('Found audio_codec %s', video.audio_codec) else: logger.warning('MKV has no audio track') # subtitle tracks if mkv.subtitle_tracks: if embedded_subtitles: embedded_subtitle_languages = set() for st in mkv.subtitle_tracks: if st.language: try: embedded_subtitle_languages.add(Language.fromalpha3b(st.language)) except BabelfishError: logger.exception( 'Embedded subtitle track language %r is not a valid language', st.language, ) embedded_subtitle_languages.add(Language('und')) elif st.name: try: embedded_subtitle_languages.add(Language.fromname(st.name)) except BabelfishError: logger.debug('Embedded subtitle track name %r is not a valid language', st.name) embedded_subtitle_languages.add(Language('und')) else: embedded_subtitle_languages.add(Language('und')) logger.debug('Found embedded subtitle %r', embedded_subtitle_languages) video.subtitle_languages |= embedded_subtitle_languages else: logger.debug('MKV has no subtitle track') return video ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/omdb.py��������������������������������������������������������0000644�0001751�0000177�00000024164�14636376416�020555� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Refine the :class:`~subliminal.video.Video` object by searching on OMDB.""" from __future__ import annotations import logging import operator from typing import TYPE_CHECKING, Any, ClassVar, cast import requests from subliminal import __short_version__ from subliminal.cache import REFINER_EXPIRATION_TIME, region from subliminal.utils import decorate_imdb_id, sanitize_id from subliminal.video import Episode, Movie, Video if TYPE_CHECKING: from collections.abc import Mapping logger = logging.getLogger(__name__) #: OMDB subliminal API key OMDB_API_KEY = '44d5b275' def split_year_omdb(string: str) -> int | None: """Split the year.""" try: return int(string.split('\u2013')[0].split('-')[0]) except (ValueError, AttributeError): logger.exception(f'Cannot extract year from date in {string!r}') return None class OMDBClient: """Client to connect to the OMDB API.""" base_url: ClassVar[str] = 'https://www.omdbapi.com' user_agent: ClassVar[str] = f'Subliminal/{__short_version__}' _apikey: str timeout: int def __init__( self, apikey: str | None = None, version: int = 1, session: requests.Session | None = None, headers: Mapping[str, Any] | None = None, timeout: int = 10, ) -> None: self._apikey = apikey or OMDB_API_KEY self.timeout = timeout #: Session for the requests self.session = session if session is not None else requests.Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers.update(headers or {}) self.session.params['r'] = 'json' # type: ignore[index] self.session.params['v'] = version # type: ignore[index] self.session.params['apikey'] = self.apikey # type: ignore[index] def get( self, *, id: int | None = None, # noqa: A002 title: str | None = None, type: str | None = None, # noqa: A002 year: int | None = None, plot: str = 'short', ) -> dict: """Search with the specified parameters.""" # build the params is_movie: bool | None = None if type is None else (type == 'movie') if id is not None: res = self.search_by_id(id, is_movie=is_movie, plot=plot) return cast(dict, res) if title is not None: res = self.search_by_title(title, is_movie=is_movie, year=year, plot=plot) return cast(dict, res) # missing one required argument msg = 'At least id or title is required' raise ValueError(msg) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_by_id( self, imdb_id: int, is_movie: bool | None = None, plot: str = 'short', ) -> dict: """Search by IMDB id.""" # build the params params: dict[str, Any] = {'i': imdb_id, 'plot': plot} if is_movie is not None: type_ = 'movie' if is_movie else 'series' params['type'] = type_ # perform the request r = self.session.get(self.base_url, params=params, timeout=self.timeout) r.raise_for_status() # get the response as json j = r.json() # check response status if j['Response'] == 'False': return {} return cast(dict, j) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_by_title( self, title: str, is_movie: bool | None = None, year: int | None = None, plot: str = 'short', ) -> dict: """Search by title.""" # build the params params: dict[str, Any] = {'t': title, 'plot': plot} if is_movie is not None: type_ = 'movie' if is_movie else 'series' params['type'] = type_ if year is not None: params['y'] = year # perform the request r = self.session.get(self.base_url, params=params, timeout=self.timeout) r.raise_for_status() # get the response as json j = r.json() # check response status if j['Response'] == 'False': return {} return cast(dict, j) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search( self, title: str, is_movie: bool | None = None, year: int | None = None, page: int = 1, ) -> dict: """Search with the specified parameters.""" # build the params params: dict[str, Any] = {'s': title, 'page': page} if is_movie is not None: type_ = 'movie' if is_movie else 'series' params['type'] = type_ if year is not None: params['y'] = year # perform the request r = self.session.get(self.base_url, params=params, timeout=self.timeout) r.raise_for_status() # get the response as json j = r.json() # check response status if j['Response'] == 'False': return {} return cast(dict, j) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_all(self, title: str, is_movie: bool | None = None, year: int | None = None) -> list: """Search with the specified parameters and return all the results.""" results = self.search(title=title, is_movie=is_movie, year=year) if not results: return [] # fetch all paginated results all_results = cast(list, results['Search']) total_results = int(results['totalResults']) page = 1 while total_results > page * 10: page += 1 results = self.search(title=title, is_movie=is_movie, year=year, page=page) if results: all_results.extend(cast(list, results['Search'])) return all_results @property def apikey(self) -> str: """API key for search.""" return self._apikey @apikey.setter def apikey(self, value: str) -> None: # early return if the API key is unchanged if value == self._apikey: return self._apikey = value # update the default session parameters self.session.params['apikey'] = self.apikey # type: ignore[index] def refine_episode(client: OMDBClient, video: Episode, *, force: bool = False, **kwargs: Any) -> None: """Refine an Episode by searching `OMDb API <http://omdbapi.com/>`_.""" # exit if the information is complete if not force and video.series_imdb_id and video.imdb_id: logger.debug('No need to search, IMDB ids already exist for the video.') return # search the series results = client.search_all(video.series, is_movie=False, year=video.year) if not results: logger.warning('No results for series') return logger.debug('Found %d results', len(results)) # filter the results, only if multiple results if len(results) > 1: results = [r for r in results if video.matches(r['Title'])] if not results: logger.warning('No matching series found') return # process the results for result in sorted(results, key=operator.itemgetter('Year')): if video.original_series and video.year is None: logger.debug('Found result for original series without year') break if video.year == split_year_omdb(result['Year']): logger.debug('Found result with matching year') break else: logger.warning('No matching series found') return # add series information logger.debug('Found series %r', result) video.series = result['Title'] video.year = split_year_omdb(result['Year']) video.series_imdb_id = decorate_imdb_id(sanitize_id(result['imdbID'])) def refine_movie(client: OMDBClient, video: Movie, *, force: bool = False, **kwargs: Any) -> None: """Refine a Movie by searching `OMDb API <http://omdbapi.com/>`_.""" # exit if the information is complete if not force and video.imdb_id: logger.debug('No need to search, IMDB ids already exist for the video.') return # search the movie results = client.search_all(video.title, is_movie=True, year=video.year) if not results: logger.warning('No results for movie') return logger.debug('Found %d results', len(results)) # filter the results, only if multiple results if len(results) > 1: results = [r for r in results if video.matches(r['Title'])] if not results: logger.warning('No matching movie found') return # process the results for result in results: if video.year is None: logger.debug('Found result for movie without year') break if video.year == split_year_omdb(result['Year']): logger.debug('Found result with matching year') break else: logger.warning('No matching movie found') return # add movie information logger.debug('Found movie %r', result) video.title = result['Title'] video.year = split_year_omdb(result['Year']) video.imdb_id = decorate_imdb_id(sanitize_id(result['imdbID'])) #: Default client omdb_client = OMDBClient() def refine(video: Video, *, apikey: str | None = None, force: bool = False, **kwargs: Any) -> Video: """Refine a video by searching `OMDb API <https://omdbapi.com/>`_. Several :class:`~subliminal.video.Episode` attributes can be found: * :attr:`~subliminal.video.Episode.series` * :attr:`~subliminal.video.Episode.year` * :attr:`~subliminal.video.Episode.series_imdb_id` Similarly, for a :class:`~subliminal.video.Movie`: * :attr:`~subliminal.video.Movie.title` * :attr:`~subliminal.video.Movie.year` * :attr:`~subliminal.video.Video.imdb_id` """ # update the API key if apikey is not None: omdb_client.apikey = apikey # refine for Episode if isinstance(video, Episode): refine_episode(omdb_client, video, force=force, **kwargs) # refine for Movie elif isinstance(video, Movie): refine_movie(omdb_client, video, force=force, **kwargs) return video ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/tmdb.py��������������������������������������������������������0000644�0001751�0000177�00000027536�14636376416�020570� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Refine the :class:`~subliminal.video.Video` object by searching on TMDB.""" from __future__ import annotations import logging import re from typing import Any, ClassVar, cast import requests from subliminal import __short_version__ from subliminal.cache import REFINER_EXPIRATION_TIME, region from subliminal.utils import decorate_imdb_id, sanitize, sanitize_id from subliminal.video import Episode, Movie, Video logger = logging.getLogger(__name__) series_re = re.compile(r'^(?P<series>.*?)(?: \((?:(?P<year>\d{4})|(?P<country>[A-Z]{2}))\))?$') def split_year(data: dict[str, Any], key: str) -> int | None: """Found the date from dict and split the year.""" try: return int(data[key].split('-')[0]) except (ValueError, KeyError, AttributeError): logger.exception(f'Cannot extract year from date in {data.get(key)}') return None class TMDBClient: """TMDB API Client. :param str apikey: API key to use. :param session: session object to use. :type session: :class:`requests.sessions.Session` or compatible. :param dict headers: additional headers. :param int timeout: timeout for the requests. """ #: API version api_version: ClassVar[int] = 3 #: Base URL of the API base_url: ClassVar[str] = f'https://api.themoviedb.org/{api_version}' #: User agent user_agent: ClassVar[str] = f'Subliminal/{__short_version__}' #: API key _apikey: str | None #: Session for the requests session: requests.Session #: Session timeout timeout: int def __init__( self, apikey: str | None = None, session: requests.Session | None = None, headers: dict | None = None, timeout: int = 10, ) -> None: self._apikey = apikey self.timeout = timeout #: Session for the requests self.session = session if session is not None else requests.Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers.update(headers or {}) self.session.headers['Content-Type'] = 'application/json' self.session.headers['Accept-Language'] = 'en' if apikey is not None: self.session.params['api_key'] = self.apikey # type: ignore[index] @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search( self, title: str, is_movie: bool, # noqa: FBT001 year: int | None = None, page: int = 1, ) -> list[dict[str, Any]]: """Search on TMDB and return a list of results.""" title = title.replace("'", '') title_year = title + (f' ({year})' if year else '') category = 'movie' if is_movie else 'tv' logger.info('Searching TMDB for %r (%s)', title_year, category) params: dict[str, Any] = {'query': title, 'language': 'en-US', 'page': page} if year is not None: params['year'] = year r = self.session.get(self.base_url + f'/search/{category}', params=params) r.raise_for_status() return cast(list, r.json().get('results')) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def get_id( self, title: str, is_movie: bool, # noqa: FBT001 year: int | None = None, country: str | None = None, ) -> int | None: """Search on TMDB and return the best matching.""" results = self.search(title, year=year, is_movie=is_movie) title = title.replace("'", '') sanitized_title = sanitize(title) title_key = 'title' if is_movie else 'name' year_key = 'release_date' if is_movie else 'first_air_date' # Loosely match if we found only one result, it is a very probable match loose_matching = len(results) == 1 for result in results: # match title # first try 'title' in result, fallback to 'name' res_title = sanitize(result.get(title_key)) # res_title = sanitize(result.get('title', result.get('name'), None)) if not loose_matching and res_title != sanitized_title: continue # match year if year is not None: match_year = split_year(result, year_key) if match_year is None or match_year != year: continue # match country if not loose_matching and country is not None and 'origin_country' in result: # noqa: SIM102 if country.lower() not in [c.lower() for c in result['origin_country']]: continue # found a match return int(result['id']) title_year = title + (f' ({year})' if year else '') logger.warning('No match for %r from the %d results', title_year, len(results)) return None @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def query( self, tmdb_id: int, is_movie: bool, # noqa: FBT001 season: int | None = None, episode: int | None = None, ) -> dict[str, Any]: """Query a movie or series by TMDB id.""" category = 'movie' if is_movie else 'tv' logger.info('Searching for TMDB id %d (%s)', tmdb_id, category) # make url path path = f'/{category}/{tmdb_id}' if season is not None: path = f'{path}/season/{season}' if episode is not None: path = f'{path}/episode/{episode}' params: dict[str, Any] = {'append_to_response': 'external_ids'} r = self.session.get(self.base_url + path, params=params) r.raise_for_status() return cast(dict, r.json()) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_movie( self, title: str, year: int | None = None, country: str | None = None, ) -> dict[str, Any]: """Search for series.""" tmdb_id = self.get_id(title, is_movie=True, year=year, country=country) if tmdb_id is None: return {} res = self.query(tmdb_id, is_movie=True) return cast(dict, res) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_series( self, series_name: str, year: int | None = None, country: str | None = None, ) -> dict[str, Any]: """Search for series.""" tmdb_id = self.get_id(series_name, is_movie=False, year=year, country=country) if tmdb_id is None: return {} res = self.query(tmdb_id, is_movie=False) return cast(dict, res) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) def search_episode( self, series_name: str, season: int, episode: int, year: int | None = None, country: str | None = None, ) -> dict[str, Any]: """Search for episode.""" tmdb_id = self.get_id(series_name, is_movie=False, year=year, country=country) if tmdb_id is None: return {} res = self.query(tmdb_id, is_movie=False, season=season, episode=episode) return cast(dict, res) @property def apikey(self) -> str | None: """API key for search.""" return self._apikey @apikey.setter def apikey(self, value: str | None) -> None: # early return if the API key is unchanged if value == self._apikey: return self._apikey = value # update the default session parameters if value: self.session.params['api_key'] = self.apikey # type: ignore[index] def refine_episode(client: TMDBClient, video: Episode, *, force: bool = False, **kwargs: Any) -> None: """Refine an Episode by searching `TMDB API <https://api.themoviedb.org>`_.""" # exit if the information is complete if not force and video.series_tmdb_id and video.tmdb_id: logger.debug('No need to search, TMDB ids already exist for the video.') return # search the series id country_code = None if video.country is None else str(video.country) tmdb_id = client.get_id(video.series, is_movie=False, year=video.year, country=country_code) if tmdb_id is None: logger.warning('No results for series') return # search the series result_series = client.query(tmdb_id, is_movie=False) if not result_series: # pragma: no-cover logger.warning('No results for series') return # search the episode result_episode = client.query(tmdb_id, is_movie=False, season=video.season, episode=video.episode) if not result_episode: # pragma: no-cover logger.warning('No results for series') return # add series information logger.debug('Found series %r', result_episode) video.series = result_series['name'] video.year = split_year(result_series, 'first_air_date') series_original_name = result_series['original_name'] if series_original_name != video.series and series_original_name not in video.alternative_series: video.alternative_series.append(series_original_name) video.series_tmdb_id = sanitize_id(result_series['id']) video.series_imdb_id = decorate_imdb_id( sanitize_id(result_series['external_ids'].get('imdb_id', video.series_imdb_id)) ) video.series_tvdb_id = sanitize_id(result_series['external_ids'].get('tvdb_id', video.series_tvdb_id)) video.title = result_episode['name'] video.tmdb_id = sanitize_id(result_episode['id']) video.imdb_id = decorate_imdb_id(sanitize_id(result_episode['external_ids'].get('imdb_id', video.imdb_id))) video.tvdb_id = sanitize_id(result_episode['external_ids'].get('tvdb_id', video.tvdb_id)) def refine_movie(client: TMDBClient, video: Movie, *, force: bool = False, **kwargs: Any) -> None: """Refine a Movie by searching `TMDB API <https://api.themoviedb.org>`_.""" # exit if the information is complete if not force and video.tmdb_id: logger.debug('No need to search, TMDB ids already exist for the video.') return # search the movie result = client.search_movie(video.title, year=video.year) if not result: logger.warning('No results for movie') return # add movie information logger.debug('Found movie %r', result) video.title = result['title'] video.year = split_year(result, 'release_date') original_name = result['original_title'] if original_name != video.title and original_name not in video.alternative_titles: video.alternative_titles.append(original_name) video.tmdb_id = sanitize_id(result['id']) video.imdb_id = decorate_imdb_id(sanitize_id(result['imdb_id'])) #: Default client tmdb_client = TMDBClient() def refine(video: Video, *, apikey: str | None = None, force: bool = False, **kwargs: Any) -> Video: """Refine a video by searching `TMDB API <https://api.themoviedb.org>`_. Several :class:`~subliminal.video.Episode` attributes can be found: * :attr:`~subliminal.video.Episode.series` * :attr:`~subliminal.video.Episode.year` * :attr:`~subliminal.video.Episode.series_tmdb_id` * :attr:`~subliminal.video.Episode.tmdb_id` * :attr:`~subliminal.video.Episode.series_imdb_id` * :attr:`~subliminal.video.Episode.imdb_id` Similarly, for a :class:`~subliminal.video.Movie`: * :attr:`~subliminal.video.Movie.title` * :attr:`~subliminal.video.Movie.year` * :attr:`~subliminal.video.Video.tmdb_id` * :attr:`~subliminal.video.Video.imdb_id` """ # update the API key if apikey is not None: tmdb_client.apikey = apikey else: logger.info('You must provide an `apikey` for the TMDB refiner, aborting.') return video # refine for Episode if isinstance(video, Episode): refine_episode(tmdb_client, video, force=force, **kwargs) # refine for Movie elif isinstance(video, Movie): refine_movie(tmdb_client, video, force=force, **kwargs) return video ������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/refiners/tvdb.py��������������������������������������������������������0000644�0001751�0000177�00000037631�14636376416�020576� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Refine the :class:`~subliminal.video.Video` object by searching on TheTVDB.""" from __future__ import annotations import logging import re from datetime import datetime, timedelta, timezone from functools import wraps from typing import Any, Callable, ClassVar, TypeVar, cast import guessit # type: ignore[import-untyped] import requests from babelfish import Country # type: ignore[import-untyped] from subliminal import __short_version__ from subliminal.cache import REFINER_EXPIRATION_TIME, region from subliminal.utils import decorate_imdb_id, sanitize, sanitize_id from subliminal.video import Episode, Video C = TypeVar('C', bound=Callable) logger = logging.getLogger(__name__) #: TheTVDB subliminal API key TVDB_API_KEY = '5EC930FB90DA1ADA' series_re = re.compile(r'^(?P<series>.*?)(?: \((?:(?P<year>\d{4})|(?P<country>[A-Z]{2}))\))?$') def requires_auth(func: C) -> C: """Decorator for :class:`TVDBClient` methods that require authentication.""" @wraps(func) def wrapper(self: TVDBClient, *args: Any, **kwargs: Any) -> Any: if self.token is None or self.token_expired: self.login() elif self.token_needs_refresh: self.refresh_token() return func(self, *args, **kwargs) return cast(C, wrapper) class TVDBClient: """TVDB REST API Client. :param str apikey: API key to use. :param str username: username to use. :param str password: password to use. :param str language: language of the responses. :param session: session object to use. :type session: :class:`requests.sessions.Session` or compatible. :param dict headers: additional headers. :param int timeout: timeout for the requests. """ #: Base URL of the API base_url: ClassVar[str] = 'https://api.thetvdb.com' #: User agent user_agent: ClassVar[str] = f'Subliminal/{__short_version__}' #: Token lifespan token_lifespan: ClassVar[timedelta] = timedelta(hours=1) #: API version apiversion: ClassVar[int] = 1 #: Minimum token age before a :meth:`refresh_token` is triggered refresh_token_every: ClassVar[timedelta] = timedelta(minutes=30) #: API key _apikey: str #: Username username: str | None #: Password password: str | None #: Last token acquisition date token_date: datetime #: Session for the requests session: requests.Session #: Session timeout timeout: int def __init__( self, apikey: str | None = None, username: str | None = None, password: str | None = None, language: str = 'en', session: requests.Session | None = None, headers: dict | None = None, timeout: int = 10, ) -> None: self._apikey = apikey or TVDB_API_KEY self.username = username self.password = password self.token_date = datetime.now(timezone.utc) - self.token_lifespan self.timeout = timeout #: Session for the requests self.session = session if session is not None else requests.Session() self.session.headers['User-Agent'] = self.user_agent self.session.headers.update(headers or {}) self.session.headers['Content-Type'] = 'application/json' self.session.headers['Accept-Language'] = language @property def language(self) -> str: """Header language of the response.""" return str(self.session.headers['Accept-Language']) @language.setter def language(self, value: str) -> None: self.session.headers['Accept-Language'] = value @property def token(self) -> str | None: """Authentication token.""" if 'Authorization' not in self.session.headers: return None return str(self.session.headers['Authorization'][7:]) @property def token_expired(self) -> bool: """Check if the token expired.""" return datetime.now(timezone.utc) - self.token_date >= self.token_lifespan @property def token_needs_refresh(self) -> bool: """Check if the token needs to be refreshed.""" return datetime.now(timezone.utc) - self.token_date > self.refresh_token_every def login(self) -> None: """Login.""" # perform the request data = {'apikey': self.apikey, 'username': self.username, 'password': self.password} r = self.session.post(self.base_url + '/login', json=data, timeout=self.timeout) r.raise_for_status() # set the Authorization header self.session.headers['Authorization'] = 'Bearer ' + r.json()['token'] # update token_date self.token_date = datetime.now(timezone.utc) def refresh_token(self) -> None: """Refresh token.""" # perform the request r = self.session.get(self.base_url + '/refresh_token', timeout=self.timeout) r.raise_for_status() # set the Authorization header self.session.headers['Authorization'] = 'Bearer ' + r.json()['token'] # update token_date self.token_date = datetime.now(timezone.utc) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def search_series(self, name: str, imdb_id: str | None = None, zap2it_id: str | None = None) -> dict[str, Any]: """Search series. :param str name: name of the series. :param str imdb_id: the IMDB id of the series. :param str zap2it_id: the Zap2it id of the series. :return: the search results. :rtype: list """ # perform the request params = {'name': name} if imdb_id is not None: params['imdbId'] = imdb_id if zap2it_id is not None: params['zap2itId'] = zap2it_id r = self.session.get(self.base_url + '/search/series', params=params, timeout=self.timeout) if r.status_code == 404: return {} r.raise_for_status() return cast(dict, r.json()['data']) @requires_auth def query_series_episodes( self, series_id: int, absolute_number: int | None = None, aired_season: int | None = None, aired_episode: int | None = None, dvd_season: int | None = None, dvd_episode: int | None = None, imdb_id: str | None = None, page: int = 1, ) -> dict[str, Any]: """Query series episodes.""" # perform the request params = { 'absoluteNumber': absolute_number, 'airedSeason': aired_season, 'airedEpisode': aired_episode, 'dvdSeason': dvd_season, 'dvdEpisode': dvd_episode, 'imdbId': imdb_id, 'page': page, } r = self.session.get( self.base_url + f'/series/{series_id:d}/episodes/query', params=params, timeout=self.timeout, ) if r.status_code == 404: return {} r.raise_for_status() return cast(dict, r.json()) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def get_series(self, series_id: int) -> dict[str, Any]: """Get series. :param int series_id: id of the series. :return: the series data. :rtype: dict """ # perform the request r = self.session.get(self.base_url + f'/series/{series_id:d}', timeout=self.timeout) if r.status_code == 404: return {} r.raise_for_status() return cast(dict, r.json()['data']) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def get_episode(self, episode_id: int) -> dict[str, Any]: """Get episode. :param int episode_id: id of the episode. :return: the episode data. :rtype: dict """ # perform the request r = self.session.get(self.base_url + f'/episodes/{episode_id:d}', timeout=self.timeout) if r.status_code == 404: return {} r.raise_for_status() return cast(dict, r.json()['data']) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def get_series_episodes(self, series_id: int, page: int = 1) -> dict[str, Any]: """Get all the episodes of a series. :param int series_id: id of the series. :param int page: the page number. :return: the data for all the episodes. :rtype: dict """ # perform the request params = {'page': page} r = self.session.get(self.base_url + f'/series/{series_id:d}/episodes', params=params, timeout=self.timeout) if r.status_code == 404: return {} r.raise_for_status() return cast(dict, r.json()) @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def get_series_episode(self, series_id: int, season: int, episode: int) -> dict[str, Any]: """Get an episode of a series. :param int series_id: id of the series. :param int season: season number of the episode. :param int episode: episode number of the episode. :return: the episode data. :rtype: dict """ result = self.query_series_episodes(series_id, aired_season=season, aired_episode=episode) if not result: return {} return self.get_episode(result['data'][0]['id']) # type: ignore[no-any-return] @region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME) @requires_auth def get_series_actors(self, series_id: int) -> list[dict]: """Get series actors. :param int series_id: id of the series. :return: the actors data. :rtype: dict """ # perform the request r = self.session.get(self.base_url + f'/series/{series_id:d}/actors', timeout=self.timeout) if r.status_code == 404: return [] r.raise_for_status() return cast(list, r.json()['data']) @property def apikey(self) -> str: """API key for search.""" return self._apikey @apikey.setter def apikey(self, value: str) -> None: # early return if the API key is unchanged if value == self._apikey: return self._apikey = value # invalidate the token if 'Authorization' in self.session.headers: del self.session.headers['Authorization'] #: Default client tvdb_client = TVDBClient() #: Configure guessit in order to use GuessitCountryConverter guessit.api.configure() def refine(video: Video, *, apikey: str | None = None, force: bool = False, **kwargs: Any) -> Video: """Refine a video by searching `TheTVDB <https://thetvdb.com/>`_. .. note:: This refiner only work for instances of :class:`~subliminal.video.Episode`. Several attributes can be found: * :attr:`~subliminal.video.Episode.series` * :attr:`~subliminal.video.Episode.year` * :attr:`~subliminal.video.Episode.series_imdb_id` * :attr:`~subliminal.video.Episode.series_tvdb_id` * :attr:`~subliminal.video.Episode.title` * :attr:`~subliminal.video.Video.imdb_id` * :attr:`~subliminal.video.Episode.tvdb_id` """ # only deal with Episode videos if not isinstance(video, Episode): logger.error('Cannot refine movies') return video # exit if the information is complete if not force and video.series_tvdb_id and video.tvdb_id: logger.debug('No need to search, TheTVDB ids already exist for the video.') return video # update the API key if apikey is not None: tvdb_client.apikey = apikey # search the series logger.info('Searching series %r', video.series) results = tvdb_client.search_series(video.series.lower()) if not results: logger.warning('No results for series') return video logger.debug('Found %d results', len(results)) # search for exact matches matching_results = [] for result in results: matching_result = {} # use seriesName and aliases original_series_name = result['seriesName'] series_names = [original_series_name, *result['aliases']] # parse the original series as series + year or country series_match = series_re.match(original_series_name) if not series_match: # pragma: no-cover logger.debug('Discarding series %r, cannot match to regex %r', original_series_name, series_re) continue original_match = series_match.groupdict() # parse series year series_year = None if result['firstAired']: first_aired = datetime.strptime(result['firstAired'], '%Y-%m-%d').replace(tzinfo=timezone.utc) series_year = first_aired.year # discard mismatches on year if video.year and series_year and video.year != series_year: logger.debug('Discarding series %r mismatch on year %d', result['seriesName'], series_year) continue # iterate over series names for series_name in series_names: # parse as series, year and country series_match = series_re.match(series_name) if not series_match: # pragma: no-cover logger.debug('Discarding series name %r, cannot match to regex %r', series_name, series_re) continue series, year, country = series_match.groups() if year: year = int(year) if country: country = Country.fromguessit(country) # discard mismatches on year if year and (video.original_series or video.year != year): logger.debug('Discarding series name %r mismatch on year %d', series, year) continue # discard mismatches on country if video.country and video.country != country: logger.debug('Discarding series name %r mismatch on country %r', series, country) continue # match on sanitized series name if sanitize(series) == sanitize(video.series): logger.debug('Found exact match on series %r', series_name) matching_result['match'] = { 'series': original_match.get('series', series), 'year': series_year or year, 'country': country, 'original_series': original_match.get('year') is None and country is None, } break # add the result on match if matching_result: matching_result['data'] = result matching_results.append(matching_result) # exit if we don't have exactly 1 matching result if not matching_results: logger.error('No matching series found') return video if len(matching_results) > 1: logger.error('Multiple matches found') return video # get the series matching_result = matching_results[0] series = tvdb_client.get_series(matching_result['data']['id']) # add series information logger.debug('Found series %r', series) video.series = matching_result['match']['series'] video.alternative_series.extend(series['aliases']) video.year = matching_result['match']['year'] video.country = matching_result['match']['country'] video.original_series = matching_result['match']['original_series'] video.series_tvdb_id = sanitize_id(series['id']) video.series_imdb_id = decorate_imdb_id(sanitize_id(series['imdbId'] or None)) # get the episode logger.info('Getting series episode %dx%d', video.season, video.episode) episode = tvdb_client.get_series_episode(video.series_tvdb_id, video.season, video.episode) if not episode: logger.warning('No results for episode') return video # add episode information logger.debug('Found episode %r', episode) video.tvdb_id = sanitize_id(episode['id']) video.title = episode['episodeName'] or None video.imdb_id = decorate_imdb_id(sanitize_id(episode['imdbId'] or None)) return video �������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/score.py����������������������������������������������������������������0000644�0001751�0000177�00000032100�14636376416�017117� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# mypy: disable-error-code="no-untyped-call" """Default implementation of the `compute_score` function. It is the default for the `compute_score` parameter in :meth:`~subliminal.core.ProviderPool.download_best_subtitles` and :func:`~subliminal.core.download_best_subtitles`. .. note:: To avoid unnecessary dependency on `sympy <http://www.sympy.org/>`_ and boost subliminal's import time, the resulting scores are hardcoded here and manually updated when the set of equations change. Available matches: * hash * title * year * country * series * season * episode * release_group * streaming_service * source * audio_codec * resolution * hearing_impaired * video_codec * series_imdb_id * imdb_id * tvdb_id """ from __future__ import annotations import contextlib import logging from typing import TYPE_CHECKING, Any from .video import Episode, Movie WITH_SYMPY = False with contextlib.suppress(ImportError): import sympy # noqa: F401 WITH_SYMPY = True if TYPE_CHECKING: from typing import Protocol from .subtitle import Subtitle from .video import Video class ComputeScore(Protocol): """Compute the score of a subtitle matching a video.""" def __call__(self, subtitle: Subtitle, video: Video, *, hearing_impaired: bool | None) -> int: ... # noqa: D102 logger = logging.getLogger(__name__) #: Scores for episodes episode_scores: dict[str, int] = { 'hash': 809, 'series': 405, 'year': 135, 'country': 135, 'season': 45, 'episode': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1, } #: Scores for movies movie_scores: dict[str, int] = { 'hash': 269, 'title': 135, 'year': 45, 'country': 45, 'release_group': 15, 'streaming_service': 15, 'source': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1, } #: All scores names score_keys = set(list(episode_scores) + list(movie_scores)) #: Equivalent release groups equivalent_release_groups = ({'LOL', 'DIMENSION'}, {'ASAP', 'IMMERSE', 'FLEET'}, {'AVS', 'SVA'}) def clip(value: float, minimum: float | None, maximum: float | None) -> float: """Clip the value between a minimum and maximum. Cheap replacement for the numpy.clip function. :param float value: the value to clip (float or int). :param (float | None) minimum: the minimum value (no minimum if None). :param (float | None) maximum: the maximum value (no maximum if None). :return: the clipped value. :rtype: float """ if maximum is not None: value = min(value, maximum) if minimum is not None: value = max(value, minimum) return value def get_equivalent_release_groups(release_group: str) -> set[str]: """Get all the equivalents of the given release group. :param str release_group: the release group to get the equivalents of. :return: the equivalent release groups. :rtype: set """ for equivalent_release_group in equivalent_release_groups: if release_group in equivalent_release_group: return equivalent_release_group return {release_group} def get_scores(video: Video) -> dict[str, Any]: """Get the scores dict for the given `video`. This will return either :data:`episode_scores` or :data:`movie_scores` based on the type of the `video`. :param video: the video to compute the score against. :type video: :class:`~subliminal.video.Video` :return: the scores dict. :rtype: dict """ if isinstance(video, Episode): return episode_scores if isinstance(video, Movie): return movie_scores msg = 'video must be an instance of Episode or Movie' # pragma: no-cover raise ValueError(msg) def match_hearing_impaired(subtitle: Subtitle, *, hearing_impaired: bool | None = None) -> bool: """Match hearing impaired, if it is defined for the subtitle.""" return ( hearing_impaired is not None and subtitle.hearing_impaired is not None and subtitle.hearing_impaired == hearing_impaired ) def compute_score(subtitle: Subtitle, video: Video, *, hearing_impaired: bool | None = None) -> int: """Compute the score of the `subtitle` against the `video` with `hearing_impaired` preference. :func:`compute_score` uses the :meth:`Subtitle.get_matches <subliminal.subtitle.Subtitle.get_matches>` method and applies the scores (either from :data:`episode_scores` or :data:`movie_scores`) after some processing. :param subtitle: the subtitle to compute the score of. :type subtitle: :class:`~subliminal.subtitle.Subtitle` :param video: the video to compute the score against. :type video: :class:`~subliminal.video.Video` :param (bool | None) hearing_impaired: hearing impaired preference (None if no preference). :return: score of the subtitle. :rtype: int """ logger.info('Computing score of %r for video %r with %r', subtitle, video, {'hearing_impaired': hearing_impaired}) # get the scores dict scores = get_scores(video) logger.debug('Using scores %r', scores) # get the matches matches = subtitle.get_matches(video) logger.debug('Found matches %r', matches) # on hash match, discard everything else if 'hash' in matches: logger.debug('Keeping only hash match') matches &= {'hash'} # handle equivalent matches if isinstance(video, Episode): if 'title' in matches: logger.debug('Adding title match equivalent') matches.add('episode') if 'series_imdb_id' in matches: logger.debug('Adding series_imdb_id match equivalent') matches |= {'series', 'year', 'country'} if 'imdb_id' in matches: logger.debug('Adding imdb_id match equivalents') matches |= {'series', 'year', 'country', 'season', 'episode'} if 'tvdb_id' in matches: logger.debug('Adding tvdb_id match equivalents') matches |= {'series', 'year', 'country', 'season', 'episode'} if 'series_tvdb_id' in matches: logger.debug('Adding series_tvdb_id match equivalents') matches |= {'series', 'year', 'country'} elif isinstance(video, Movie): if 'imdb_id' in matches: logger.debug('Adding imdb_id match equivalents') matches |= {'title', 'year', 'country'} # handle hearing impaired if match_hearing_impaired(subtitle, hearing_impaired=hearing_impaired): logger.debug('Matched hearing_impaired') matches.add('hearing_impaired') # compute the score score = int(sum(scores.get(match, 0) for match in matches)) logger.info('Computed score %r with final matches %r', score, matches) # ensure score is within valid bounds max_score = scores['hash'] + scores['hearing_impaired'] if not (0 <= score <= max_score): logger.info('Clip score between 0 and %d: %d', max_score, score) score = int(clip(score, 0, max_score)) return score if WITH_SYMPY: from sympy import Eq, Symbol, solve, symbols def solve_episode_equations() -> dict[Symbol, int]: """Solve the score equation for Episodes. For testing purposes. """ hash, series, year, country, season, episode = symbols('hash series year country season episode') # noqa: A001 release_group, streaming_service, source = symbols('release_group streaming_service source') audio_codec, resolution, video_codec = symbols('audio_codec resolution video_codec') hearing_impaired = symbols('hearing_impaired') equations = [ # hash is best Eq( hash, series + year + country + season + episode + release_group + streaming_service + source + audio_codec + resolution + video_codec, ), # series counts for the most part in the total score Eq( series, year + country + season + episode + release_group + streaming_service + source + audio_codec + resolution + video_codec + 1, ), # year is the second most important part Eq( year, season + episode + release_group + streaming_service + source + audio_codec + resolution + video_codec + 1, ), # year counts as much as country Eq(year, country), # season is important too Eq(season, release_group + streaming_service + source + audio_codec + resolution + video_codec + 1), # episode is equally important to season Eq(episode, season), # release group is the next most wanted match Eq(release_group, source + audio_codec + resolution + video_codec + 1), # streaming service counts as much as release group Eq(release_group, streaming_service), # source counts as much as audio_codec, resolution and video_codec Eq(source, audio_codec + resolution + video_codec), # audio_codec is more valuable than video_codec Eq(audio_codec, video_codec + 1), # resolution counts as much as video_codec Eq(resolution, video_codec), # video_codec is the least valuable match but counts more than the sum of all scoring increasing matches Eq(video_codec, hearing_impaired + 1), # hearing impaired is only used for score increasing, so put it to 1 Eq(hearing_impaired, 1), ] return solve( # type: ignore[no-any-return] equations, [ hash, series, year, country, season, episode, release_group, streaming_service, source, audio_codec, resolution, video_codec, hearing_impaired, ], ) def solve_movie_equations() -> dict[Symbol, int]: """Solve the score equation for Episodes. For testing purposes. """ hash, title, year, country, release_group = symbols('hash title year country release_group') # noqa: A001 streaming_service, source, audio_codec, resolution = symbols('streaming_service source audio_codec resolution') video_codec, hearing_impaired = symbols('video_codec hearing_impaired') equations = [ # hash is best Eq( hash, title + year + country + release_group + streaming_service + source + audio_codec + resolution + video_codec, ), # title counts for the most part in the total score Eq( title, year + country + release_group + streaming_service + source + audio_codec + resolution + video_codec + 1, ), # year is the second most important part Eq(year, release_group + streaming_service + source + audio_codec + resolution + video_codec + 1), # year counts as much as country Eq(year, country), # release group is the next most wanted match Eq(release_group, source + audio_codec + resolution + video_codec + 1), # streaming service counts as much as release group Eq(release_group, streaming_service), # source counts as much as audio_codec, resolution and video_codec Eq(source, audio_codec + resolution + video_codec), # audio_codec is more valuable than video_codec Eq(audio_codec, video_codec + 1), # resolution counts as much as video_codec Eq(resolution, video_codec), # video_codec is the least valuable match but counts more than the sum of all scoring increasing matches Eq(video_codec, hearing_impaired + 1), # hearing impaired is only used for score increasing, so put it to 1 Eq(hearing_impaired, 1), ] return solve( # type: ignore[no-any-return] equations, [ hash, title, year, country, release_group, streaming_service, source, audio_codec, resolution, video_codec, hearing_impaired, ], ) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/subtitle.py�������������������������������������������������������������0000644�0001751�0000177�00000036066�14636376416�017656� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Subtitle class.""" from __future__ import annotations import codecs import logging import os from codecs import BOM_UTF8, BOM_UTF16_BE, BOM_UTF16_LE, BOM_UTF32_BE, BOM_UTF32_LE from typing import TYPE_CHECKING, ClassVar import chardet import srt # type: ignore[import-untyped] from pysubs2 import SSAFile, UnknownFPSError # type: ignore[import-untyped] if TYPE_CHECKING: from babelfish import Language # type: ignore[import-untyped] from subliminal.video import Video logger = logging.getLogger(__name__) #: Subtitle formats to extension FORMAT_TO_EXTENSION = { 'srt': '.srt', 'ass': '.ass', 'ssa': '.ssa', 'microdvd': '.sub', 'mpl2': '.mpl', 'tmp': '.txt', 'vtt': '.vtt', } #: Subtitle extensions SUBTITLE_EXTENSIONS = (*FORMAT_TO_EXTENSION.values(), '.smi') #: BOMs for UTF contents, first UTF32 BOMS as BOM_UTF32_LE startswith BOM_UTF16_LE BOMS = ( (BOM_UTF8, 'utf-8-sig'), (BOM_UTF32_BE, 'utf-32-be'), (BOM_UTF32_LE, 'utf-32-le'), (BOM_UTF16_BE, 'utf-16-be'), (BOM_UTF16_LE, 'utf-16-le'), ) class Subtitle: """Base class for subtitle. :param language: language of the subtitle. :type language: :class:`~babelfish.language.Language` :param (bool | None) hearing_impaired: whether or not the subtitle is hearing impaired (None if unknown). :param page_link: URL of the web page from which the subtitle can be downloaded. :type page_link: str :param encoding: Text encoding of the subtitle. :type encoding: str """ #: Name of the provider that returns that class of subtitle provider_name: ClassVar[str] = '' #: Content as bytes _content: bytes | None #: Content as string _text: str #: Flag to assert if the subtitle raw content was decoded _is_decoded: bool #: Flag to assert if the subtitle is valid (None if it was not checked yet) _is_valid: bool | None #: Guess encoding if None is defined _guess_encoding: bool #: Language of the subtitle language: Language #: Subtitle id subtitle_id: str #: Whether or not the subtitle is hearing impaired (None if unknown) hearing_impaired: bool | None #: URL of the web page from which the subtitle can be downloaded page_link: str | None #: Encoding to decode with when accessing :attr:`text` encoding: str | None #: Subtitle format, None for automatic detection subtitle_format: str | None = None #: Framerate for frame-based formats (MicroDVD) fps: float | None def __init__( self, language: Language, subtitle_id: str = '', *, hearing_impaired: bool | None = None, page_link: str | None = None, encoding: str | None = None, subtitle_format: str | None = None, fps: float | None = None, guess_encoding: bool = True, ) -> None: self._content = None self._text = '' self._is_decoded = False self._is_valid = None self._guess_encoding = guess_encoding self.language = language self.subtitle_id = subtitle_id self.hearing_impaired = hearing_impaired self.page_link = page_link self.subtitle_format = subtitle_format self.fps = fps self.encoding = None # validate the encoding if encoding: try: self.encoding = codecs.lookup(encoding).name except (TypeError, LookupError): logger.debug('Unsupported encoding %s', encoding) @property def id(self) -> str: """Unique identifier of the subtitle.""" return str(self.subtitle_id) @property def info(self) -> str: """Info of the subtitle, human readable. Usually the subtitle name for GUI rendering.""" return '' @property def content(self) -> bytes | None: """Content as bytes. If :attr:`encoding` is None, the encoding is guessed with :meth:`guess_encoding` """ return self._content @content.setter def content(self, value: bytes | None) -> None: self.clear_content() self._content = value if self._guess_encoding and self.encoding is None: self.encoding = self.guess_encoding() @property def text(self) -> str: """Content as string.""" if not self._is_decoded: self._text = self._decode_content() return self._text def clear_content(self) -> None: """Clear the content of the subtitle.""" self._text = '' self._is_decoded = False self._is_valid = None def _decode_content(self) -> str: self._is_decoded = True if not isinstance(self.content, bytes) or not self.content: return '' # No encoding found if not self.encoding: logger.warning('Cannot guess encoding to decode subtitle content.') return '' # Decode return self.content.decode(self.encoding, errors='replace') def reencode(self, encoding: str = 'utf-8') -> bool: """Re-encode the subtitle raw content using the specified encoding. :param str encoding: the new encoding of the raw content (default to 'utf-8'). :return: False if the encoding raised a UnicodeEncodeError error. :rtype: bool """ # Compute self._text by calling the property text = self.text # Text is empty, maybe because the content was not decoded. # Reencoding would erase the content, so return. if not text: return False # Try re-encoding try: new_content = text.encode(encoding=encoding) except UnicodeEncodeError: logger.exception('Cannot encode text to bytes with encoding: %s', encoding) return False # Save the new encoding and new raw content self.encoding = encoding self._content = new_content return True def is_valid(self, *, auto_fix_srt: bool = False) -> bool: """Check if a :attr:`text` is a valid SubRip format. :return: whether or not the subtitle is valid. :rtype: bool """ if self._is_valid is None: self._is_valid = self._check_is_valid(auto_fix_srt=auto_fix_srt) return bool(self._is_valid) def _check_is_valid(self, *, auto_fix_srt: bool = False) -> bool: """Check if a :attr:`text` is a valid SubRip format. :return: whether or not the subtitle is valid. :rtype: bool """ if not self.text: return False # Try guessing the subtitle format if self.subtitle_format is None: guessed_format = get_subtitle_format(self.text, subtitle_format=self.subtitle_format, fps=self.fps) if guessed_format: # Keep the guessed format self.subtitle_format = guessed_format if self.subtitle_format != 'srt': # Do not check more if the format is not 'srt' return True # Valid srt if self.subtitle_format == 'srt': try: parsed = self.parse_srt() except Exception: msg = 'srt parsing failed, subtitle is invalid' logger.exception(msg) else: if auto_fix_srt: self._text = parsed return True return False def parse_srt(self) -> str: """Text content parsed to a valid srt subtitle.""" return str(srt.compose(srt.parse(self.text))) def guess_encoding(self) -> str | None: """Guess encoding using the language, falling back on chardet. :return: the guessed encoding. :rtype: str """ if not isinstance(self.content, bytes): return None logger.info('Guessing encoding for language %s', self.language) # always try utf-8 first encodings = ['utf-8'] # add UTF encodings matched by the BOM encodings.extend(find_encoding_with_bom(self.content)) # add language-specific encodings # http://scratchpad.wikia.com/wiki/Character_Encoding_Recommendation_for_Languages if self.language.alpha3 == 'zho': encodings.extend( ['cp936', 'gb2312', 'gbk', 'hz', 'iso2022_jp_2', 'cp950', 'big5hkscs', 'big5', 'gb18030', 'utf-16'] ) elif self.language.alpha3 == 'jpn': encodings.extend( [ 'shift-jis', 'cp932', 'euc_jp', 'iso2022_jp', 'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', ] ) elif self.language.alpha3 == 'tha': encodings.extend(['tis-620', 'cp874']) elif self.language.alpha3 in ('ara', 'fas', 'per'): encodings.extend(['windows-1256', 'utf-16', 'utf-16le', 'ascii', 'iso-8859-6']) elif self.language.alpha3 == 'heb': encodings.extend(['windows-1255', 'iso-8859-8']) elif self.language.alpha3 == 'tur': encodings.extend(['windows-1254', 'iso-8859-9', 'iso-8859-3']) elif self.language.alpha3 in ('grc', 'gre', 'ell'): encodings.extend( ['windows-1253', 'cp1253', 'cp737', 'iso8859-7', 'cp875', 'cp869', 'iso2022_jp_2', 'mac_greek'] ) elif self.language.alpha3 in ( 'pol', 'cze', 'ces', 'slk', 'slo', 'slv', 'hun', 'bos', 'hbs', 'hrv', 'rsb', 'ron', 'rum', 'sqi', 'alb', ): encodings.extend(['windows-1250', 'iso-8859-2']) if self.language.alpha3 == 'slv': encodings.extend(['iso-8859-4']) elif self.language.alpha3 in ('sqi', 'alb'): encodings.extend(['windows-1252', 'iso-8859-15', 'iso-8859-1', 'iso-8859-9']) elif self.language.alpha3 in ('bul', 'srp', 'mkd', 'mac', 'rus', 'ukr'): if self.language.alpha3 in ('bul', 'mkd', 'mac', 'rus', 'ukr'): encodings.extend(['windows-1251', 'iso-8859-5']) elif self.language.alpha3 == 'srp': if self.language.script == 'Latn': encodings.extend(['windows-1250', 'iso-8859-2']) elif self.language.script == 'Cyrl': encodings.extend(['windows-1251', 'iso-8859-5']) else: encodings.extend(['windows-1250', 'windows-1251', 'iso-8859-2', 'iso-8859-5']) else: # Western European (windows-1252) / Northern European encodings.extend(['windows-1252', 'iso-8859-15', 'iso-8859-9', 'iso-8859-4', 'iso-8859-1']) # try to decode logger.debug('Trying encodings %r', encodings) for encoding in encodings: try: decoded = self.content.decode(encoding) # remove whitespace other than spaces from the string # see https://docs.python.org/3/library/stdtypes.html#str.isprintable decoded = decoded.replace('\r', '').replace('\n', '').replace('\t', '') if not decoded.isprintable(): continue except UnicodeDecodeError: pass else: logger.info('Guessed encoding %s', encoding) return encoding logger.warning('Could not guess encoding from language') # fallback on chardet encoding_or_none = chardet.detect(self.content)['encoding'] logger.info('Chardet found encoding %s', encoding_or_none) return encoding_or_none def get_path(self, video: Video, *, single: bool = False, extension: str | None = None) -> str: """Get the subtitle path using the `video`, `language` and `extension`. :param video: path to the video. :type video: :class:`~subliminal.video.Video` :param bool single: save a single subtitle, default is to save one subtitle per language. :param (str | None) extension: the subtitle extension, default is to match to the subtitle format. :return: path of the subtitle. :rtype: str """ if extension is None: extension = FORMAT_TO_EXTENSION.get(self.subtitle_format, '.srt') # type: ignore[arg-type] return get_subtitle_path(video.name, None if single else self.language, extension=extension) def get_matches(self, video: Video) -> set[str]: """Get the matches against the `video`. :param video: the video to get the matches with. :type video: :class:`~subliminal.video.Video` :return: matches of the subtitle. :rtype: set """ raise NotImplementedError def __hash__(self) -> int: return hash(self.provider_name + '-' + self.id) def __repr__(self) -> str: return f'<{self.__class__.__name__} {self.id!r} [{self.language}]>' def get_subtitle_format( text: str, subtitle_format: str | None = None, fps: float | None = None, ) -> str | None: """Detect the subtitle format with `pysubs2`. :param str text: the subtitle text. :param (str | None) subtitle_format: the expected subtitle_format, None for auto-detect. :param (str | None) fps: the framerate for framerate based subtitles. :return: the guessed format or None if not found. :rtype: str | None """ try: obj = SSAFile.from_string(text, format_=subtitle_format, fps=fps) except UnknownFPSError: default_fps = 24 return get_subtitle_format(text, subtitle_format=subtitle_format, fps=default_fps) except Exception: logger.exception('not a valid subtitle.') else: return str(obj.format) return None def get_subtitle_path(video_path: str | os.PathLike, language: Language | None = None, extension: str = '.srt') -> str: """Get the subtitle path using the `video_path` and `language`. :param str video_path: path to the video. :param language: language of the subtitle to put in the path. :type language: :class:`~babelfish.language.Language` :param str extension: extension of the subtitle. :return: path of the subtitle. :rtype: str """ subtitle_root = os.path.splitext(video_path)[0] if language: subtitle_root += '.' + str(language) return subtitle_root + extension def find_encoding_with_bom(data: bytes) -> list[str]: """Find the UTF encoding if the raw content is starting with a byte order mask (BOM). Only return the first encoding that match the BOM or an empty list if no match. """ return [encoding for bom, encoding in BOMS if data.startswith(bom)][:1] def fix_line_ending(content: bytes) -> bytes: r"""Fix line ending of `content` by changing it to \n. :param bytes content: content of the subtitle. :return: the content with fixed line endings. :rtype: bytes """ return content.replace(b'\r\n', b'\n') ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/utils.py����������������������������������������������������������������0000644�0001751�0000177�00000012746�14636376416�017162� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Hash and sanitize functions.""" from __future__ import annotations import functools import logging import re import socket from datetime import datetime, timezone from types import GeneratorType from typing import TYPE_CHECKING, Any, Callable, Generic, Iterable, TypeVar, cast, overload from xmlrpc.client import ProtocolError import requests from requests.exceptions import SSLError from .exceptions import ServiceUnavailable if TYPE_CHECKING: from collections.abc import Sequence, Set from typing import TypeGuard T = TypeVar('T') R = TypeVar('R') logger = logging.getLogger(__name__) class none_passthrough(Generic[T, R]): """Decorator to pass-through None input values.""" def __init__(self, func: Callable[[T], R]) -> None: self.func = func functools.update_wrapper(self, func) @overload def __call__(self, arg: T, *args: Any, **kwargs: Any) -> R: ... @overload def __call__(self, arg: None, *args: Any, **kwargs: Any) -> None: ... def __call__(self, arg: T | None, *args: Any, **kwargs: Any) -> R | None: # noqa: D102 if arg is None: return None return self.func(arg, *args, **kwargs) @none_passthrough def sanitize(string: str, ignore_characters: Set[str] | None = None) -> str: """Sanitize a string to strip special characters. :param str string: the string to sanitize. :param set ignore_characters: characters to ignore. :return: the sanitized string. :rtype: str """ ignore_characters = set(ignore_characters) if ignore_characters is not None else set() # replace some characters with one space characters = {'-', ':', '(', ')', '.', ','} - ignore_characters if characters: string = re.sub(r'[{}]'.format(re.escape(''.join(characters))), ' ', string) # remove some characters characters = {"'"} - ignore_characters if characters: string = re.sub(r'[{}]'.format(re.escape(''.join(characters))), '', string) # replace multiple spaces with one string = re.sub(r'\s+', ' ', string) # strip and lower case return string.strip().lower() @none_passthrough def sanitize_release_group(string: str) -> str: """Sanitize a `release_group` string to remove content in square brackets. :param str string: the release group to sanitize. :return: the sanitized release group. :rtype: str """ # remove content in square brackets string = re.sub(r'\[\w+\]', '', string) # strip and upper case return string.strip().upper() @none_passthrough def sanitize_id(id_: str | int) -> int: """Sanitize the IMDB (or other) id and transform it to a string (without leading 'tt' or zeroes).""" id_ = str(id_).lower().lstrip('t') return int(id_) @none_passthrough def decorate_imdb_id(imdb_id: str | int, *, ndigits: int = 7) -> str: """Convert the IMDB id to add the leading 'tt' and the leading zeroes.""" return 'tt' + str(int(imdb_id)).rjust(ndigits, '0') def timestamp(date: datetime) -> float: """Get the timestamp of the `date` (with timezone). :param datetime.datetime date: the utc date. :return: the timestamp of the date. :rtype: float """ return (date - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds() def matches_title( actual: str | None, title: str | None, alternative_titles: Sequence[str], ) -> bool: """Whether `actual` matches the `title` or `alternative_titles`. :param str actual: the actual title to check :param str title: the expected title :param list alternative_titles: the expected alternative_titles :return: whether the actual title matches the title or alternative_titles. :rtype: bool """ if actual is None or title is None: return False actual = sanitize(actual) title = sanitize(title) if actual == title: return True if alternative_titles is not None: alternative_titles_set = {sanitize(t) for t in alternative_titles if t} if actual in alternative_titles_set: return True return False def handle_exception(e: Exception, msg: str) -> None: """Handle exception, logging the proper error message followed by `msg`. Exception traceback is only logged for specific cases. :param exception e: The exception to handle. :param str msg: The message to log. """ if isinstance(e, (requests.Timeout, socket.timeout)): logger.error('Request timed out. %s', msg) elif isinstance(e, (ServiceUnavailable, ProtocolError)): # OpenSubtitles raises xmlrpclib.ProtocolError when unavailable logger.error('Service unavailable. %s', msg) elif isinstance(e, requests.exceptions.HTTPError): logger.error( 'HTTP error %r. %s', e.response.status_code, msg, exc_info=e.response.status_code not in range(500, 600) ) elif isinstance(e, SSLError): logger.error('SSL error %r. %s', e.args[0], msg, exc_info=e.args[0] != 'The read operation timed out') else: logger.exception('Unexpected error. %s', msg) def is_iterable(obj: Any) -> TypeGuard[Iterable]: """Check that the object is iterable (but not a string).""" return (isinstance(obj, Iterable) and not isinstance(obj, (str, bytes))) or isinstance(obj, GeneratorType) def ensure_list(value: T | Sequence[T] | None) -> list[T]: """Ensure to return a list of values. From rebulk.loose.ensure_list """ if value is None: return [] if not is_iterable(value): return [cast(T, value)] return list(value) ��������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal/video.py����������������������������������������������������������������0000644�0001751�0000177�00000032333�14636376416�017122� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"""Video class and subclasses Episode and Movie.""" from __future__ import annotations import logging import os from datetime import datetime, timedelta, timezone from typing import TYPE_CHECKING, Any, Sequence from guessit import guessit # type: ignore[import-untyped] from subliminal.utils import ensure_list, matches_title if TYPE_CHECKING: from collections.abc import Mapping, Set from babelfish import Country, Language # type: ignore[import-untyped] logger = logging.getLogger(__name__) #: Video extensions VIDEO_EXTENSIONS = ( '.3g2', '.3gp', '.3gp2', '.3gpp', '.60d', '.ajp', '.asf', '.asx', '.avchd', '.avi', '.bik', '.bix', '.box', '.cam', '.dat', '.divx', '.dmf', '.dv', '.dvr-ms', '.evo', '.flc', '.fli', '.flic', '.flv', '.flx', '.gvi', '.gvp', '.h264', '.m1v', '.m2p', '.m2ts', '.m2v', '.m4e', '.m4v', '.mjp', '.mjpeg', '.mjpg', '.mk3d', '.mkv', '.moov', '.mov', '.movhd', '.movie', '.movx', '.mp4', '.mpe', '.mpeg', '.mpg', '.mpv', '.mpv2', '.mxf', '.nsv', '.nut', '.ogg', '.ogm', '.ogv', '.omf', '.ps', '.qt', '.ram', '.rm', '.rmvb', '.swf', '.ts', '.vfw', '.vid', '.video', '.viv', '.vivo', '.vob', '.vro', '.webm', '.wm', '.wmv', '.wmx', '.wrap', '.wvx', '.wx', '.x264', '.xvid', ) class Video: """Base class for videos. Represent a video, existing or not. :param str name: name or path of the video. :param str source: source of the video (HDTV, Web, Blu-ray, ...). :param str release_group: release group of the video. :param str streaming_service: streaming_service of the video. :param str resolution: resolution of the video stream (480p, 720p, 1080p or 1080i). :param str video_codec: codec of the video stream. :param str audio_codec: codec of the main audio stream. :param dict hashes: hashes of the video file by provider names. :param int size: size of the video file in bytes. :param set subtitle_languages: existing subtitle languages. :param int year: year of the video. :param country: Country of the video. :type country: :class:`~babelfish.country.Country` :param str imdb_id: IMDb id of the video. :param str tmdb_id: TMDB id of the video. """ #: Name or path of the video name: str #: Source of the video (HDTV, Web, Blu-ray, ...) source: str | None #: Release group of the video release_group: str | None #: Streaming service of the video streaming_service: str | None #: Resolution of the video stream (480p, 720p, 1080p or 1080i) resolution: str | None #: Codec of the video stream video_codec: str | None #: Codec of the main audio stream audio_codec: str | None #: Hashes of the video file by provider names hashes: dict[str, str] #: Size of the video file in bytes size: int | None #: Existing subtitle languages subtitle_languages: set[Language] #: Title of the video title: str | None #: Year of the video year: int | None #: Country of the video country: Country | None #: IMDb id of the video imdb_id: str | None #: TMDB id of the video tmdb_id: int | None def __init__( self, name: str, *, source: str | None = None, release_group: str | None = None, resolution: str | None = None, streaming_service: str | None = None, video_codec: str | None = None, audio_codec: str | None = None, hashes: Mapping[str, str] | None = None, size: int | None = None, subtitle_languages: Set[Language] | None = None, title: str | None = None, year: int | None = None, country: Country | None = None, imdb_id: str | None = None, tmdb_id: int | None = None, ) -> None: self.name = name self.source = source self.release_group = release_group self.streaming_service = streaming_service self.resolution = resolution self.video_codec = video_codec self.audio_codec = audio_codec self.hashes = dict(hashes) if hashes is not None else {} self.size = size self.subtitle_languages = set(subtitle_languages) if subtitle_languages is not None else set() self.title = title self.year = year self.country = country self.imdb_id = imdb_id self.tmdb_id = tmdb_id @property def exists(self) -> bool: """Test whether the video exists.""" return os.path.exists(self.name) @property def age(self) -> timedelta: """Age of the video.""" if not self.exists: return timedelta() return datetime.now(timezone.utc) - datetime.fromtimestamp(os.path.getmtime(self.name), timezone.utc) @classmethod def fromguess(cls, name: str, guess: dict[str, Any]) -> Video: """Create an :class:`Episode` or a :class:`Movie` with the given `name` based on the `guess`. :param str name: name of the video. :param dict guess: guessed data. :raise: :class:`ValueError` if the `type` of the `guess` is invalid """ if guess['type'] == 'episode': return Episode.fromguess(name, guess) if guess['type'] == 'movie': return Movie.fromguess(name, guess) msg = 'The guess must be an episode or a movie guess' # pragma: no-cover raise ValueError(msg) @classmethod def fromname(cls, name: str) -> Video: """Shortcut for :meth:`fromguess` with a `guess` guessed from the `name`. :param str name: name of the video. """ return cls.fromguess(name, guessit(name)) def __repr__(self) -> str: return f'<{self.__class__.__name__} [{self.name!r}]>' def __hash__(self) -> int: return hash(self.name) class Episode(Video): """Episode :class:`Video`. :param str series: series of the episode. :param int season: season number of the episode. :param int or list episodes: episode numbers of the episode. :param str title: title of the episode. :param bool original_series: whether the series is the first with this name. :param int tvdb_id: TVDB id of the episode. :param list alternative_series: alternative names of the series :param kwargs: additional parameters for the :class:`Video` constructor. """ #: Series of the episode series: str #: Season number of the episode season: int #: Episode numbers of the episode episodes: list[int] #: Title of the episode title: str | None #: Year of series year: int | None #: The series is the first with this name original_series: bool #: IMDb id of the episode imdb_id: str | None #: IMDb id of the series series_imdb_id: str | None #: TMDB id of the episode tmdb_id: int | None #: TMDB id of the series series_tmdb_id: int | None #: TVDB id of the episode tvdb_id: int | None #: TVDB id of the series series_tvdb_id: int | None #: Alternative names of the series alternative_series: list[str] def __init__( self, name: str, series: str, season: int, episodes: int | Sequence[int], *, original_series: bool = True, tvdb_id: int | None = None, series_tvdb_id: int | None = None, series_imdb_id: str | None = None, series_tmdb_id: int | None = None, alternative_series: Sequence[str] | None = None, **kwargs: Any, ) -> None: super().__init__(name, **kwargs) self.series = series self.season = season self.episodes = ensure_list(episodes) self.original_series = original_series self.tvdb_id = tvdb_id self.series_tvdb_id = series_tvdb_id self.series_imdb_id = series_imdb_id self.series_tmdb_id = series_tmdb_id self.alternative_series = list(alternative_series) if alternative_series is not None else [] @property def episode(self) -> int | None: """Episode number. With various episodes, return the minimum. """ return min(self.episodes) if self.episodes else None def matches(self, series: str | None) -> bool: """Match the name to the series name, using alternative series names also..""" return matches_title(series, self.series, self.alternative_series) @classmethod def fromguess(cls, name: str, guess: Mapping[str, Any]) -> Episode: """Return an :class:`Episode` from a dict guess.""" if guess['type'] != 'episode': # pragma: no-cover msg = 'The guess must be an episode guess' raise ValueError(msg) if 'title' not in guess or 'episode' not in guess: msg = 'Insufficient data to process the guess' raise ValueError(msg) return cls( name, guess['title'], guess.get('season', 1), guess.get('episode', []), title=guess.get('episode_title'), year=guess.get('year'), country=guess.get('country'), original_series='year' not in guess and 'country' not in guess, source=guess.get('source'), alternative_series=ensure_list(guess.get('alternative_title')), release_group=guess.get('release_group'), streaming_service=guess.get('streaming_service'), resolution=guess.get('screen_size'), video_codec=guess.get('video_codec'), audio_codec=guess.get('audio_codec'), ) @classmethod def fromname(cls, name: str) -> Episode: """Return an :class:`Episode` from the file name.""" return cls.fromguess(name, guessit(name, {'type': 'episode'})) def __repr__(self) -> str: return '<{cn} [{series}{open}{country}{sep}{year}{close} s{season:02d}e{episodes}]>'.format( cn=self.__class__.__name__, series=self.series, year=self.year or '', country=self.country or '', season=self.season, episodes='-'.join(f'{num:02d}' for num in self.episodes), open=' (' if not self.original_series else '', sep=') (' if self.year and self.country else '', close=')' if not self.original_series else '', ) class Movie(Video): """Movie :class:`Video`. :param str title: title of the movie. :param int year: year of the movie. :param country: Country of the movie. :type country: :class:`~babelfish.country.Country` :param list alternative_titles: alternative titles of the movie :param kwargs: additional parameters for the :class:`Video` constructor. """ #: Title of the movie title: str #: Year of the movie year: int | None #: Country of the movie country: Country | None #: IMDb id of the episode imdb_id: str | None #: TMDB id of the episode tmdb_id: int | None #: Alternative titles of the movie alternative_titles: list[str] def __init__( self, name: str, title: str, *, alternative_titles: Sequence[str] | None = None, **kwargs: Any, ) -> None: super().__init__(name, title=title, **kwargs) self.alternative_titles = list(alternative_titles) if alternative_titles is not None else [] def matches(self, title: str) -> bool: """Match the name to the movie title, using alternative titles also..""" return matches_title(title, self.title, self.alternative_titles) @classmethod def fromguess(cls, name: str, guess: Mapping[str, Any]) -> Movie: """Return an :class:`Movie` from a dict guess.""" if guess['type'] != 'movie': # pragma: no-cover msg = 'The guess must be a movie guess' raise ValueError(msg) if 'title' not in guess: msg = 'Insufficient data to process the guess' raise ValueError(msg) return cls( name, title=guess['title'], source=guess.get('source'), release_group=guess.get('release_group'), streaming_service=guess.get('streaming_service'), resolution=guess.get('screen_size'), video_codec=guess.get('video_codec'), alternative_titles=ensure_list(guess.get('alternative_title')), audio_codec=guess.get('audio_codec'), year=guess.get('year'), country=guess.get('country'), ) @classmethod def fromname(cls, name: str) -> Movie: """Return an :class:`Movie` from the file name.""" return cls.fromguess(name, guessit(name, {'type': 'movie'})) def __repr__(self) -> str: return '<{cn} [{title}{open}{country}{sep}{year}{close}]>'.format( cn=self.__class__.__name__, title=self.title, year=self.year or '', country=self.country or '', open=' (' if self.year or self.country else '', sep=') (' if self.year and self.country else '', close=')' if self.year or self.country else '', ) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000034�00000000000�010212� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������28 mtime=1719270681.6941814 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/���������������������������������������������������������������0000755�0001751�0000177�00000000000�14636376432�017126� 5����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/PKG-INFO�������������������������������������������������������0000644�0001751�0000177�00000033346�14636376431�020233� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Metadata-Version: 2.1 Name: subliminal Version: 2.2.0 Summary: Subtitles, faster than your thoughts Author-email: Antoine Bertin <diaoulael@gmail.com> Maintainer-email: Antoine Bertin <diaoulael@gmail.com>, getzze <getzze@gmail.com>, Patrycja Rosa <pypi@ptrcnull.me> License: MIT Project-URL: homepage, https://github.com/Diaoul/subliminal Project-URL: repository, https://github.com/Diaoul/subliminal Project-URL: documentation, https://subliminal.readthedocs.org Keywords: subtitle,subtitles,video,movie,episode,tv,show,series Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Multimedia :: Video Requires-Python: >=3.8 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: babelfish>=0.6.1 Requires-Dist: beautifulsoup4>=4.4.0 Requires-Dist: chardet>=5.0 Requires-Dist: click>=8.0 Requires-Dist: click-option-group>=0.5.6 Requires-Dist: dogpile.cache>=1.0 Requires-Dist: enzyme>=0.5.0 Requires-Dist: guessit>=3.0.0 Requires-Dist: platformdirs>=4.2 Requires-Dist: pysubs2>=1.7 Requires-Dist: rarfile>=2.7 Requires-Dist: requests>=2.0 Requires-Dist: srt>=3.5 Requires-Dist: stevedore>=3.0 Requires-Dist: tomli>=2 Provides-Extra: docs Requires-Dist: sphinx; extra == "docs" Requires-Dist: sphinx_rtd_theme; extra == "docs" Requires-Dist: sphinxcontrib-programoutput; extra == "docs" Provides-Extra: test Requires-Dist: mypy; extra == "test" Requires-Dist: lxml; extra == "test" Requires-Dist: pytest>=6.0; extra == "test" Requires-Dist: pytest-cov; extra == "test" Requires-Dist: pytest-flakes; extra == "test" Requires-Dist: sympy; extra == "test" Requires-Dist: vcrpy>=1.6.1; extra == "test" Requires-Dist: importlib_metadata>=4.6; python_version < "3.10" and extra == "test" Provides-Extra: dev Requires-Dist: doc8; extra == "dev" Requires-Dist: mypy; extra == "dev" Requires-Dist: ruff; extra == "dev" Requires-Dist: typos; extra == "dev" Requires-Dist: validate-pyproject; extra == "dev" Requires-Dist: tox; extra == "dev" Subliminal ========== Subtitles, faster than your thoughts. .. image:: https://img.shields.io/pypi/v/subliminal.svg :target: https://pypi.python.org/pypi/subliminal :alt: Latest Version .. image:: https://travis-ci.org/Diaoul/subliminal.svg?branch=develop :target: https://travis-ci.org/Diaoul/subliminal :alt: Travis CI build status .. image:: https://readthedocs.org/projects/subliminal/badge/?version=latest :target: https://subliminal.readthedocs.org/ :alt: Documentation Status .. image:: https://coveralls.io/repos/Diaoul/subliminal/badge.svg?branch=develop&service=github :target: https://coveralls.io/github/Diaoul/subliminal?branch=develop :alt: Code coverage .. image:: https://img.shields.io/github/license/Diaoul/subliminal.svg :target: https://github.com/Diaoul/subliminal/blob/master/LICENSE :alt: License .. image:: https://img.shields.io/badge/gitter-join%20chat-1dce73.svg :alt: Join the chat at https://gitter.im/Diaoul/subliminal :target: https://gitter.im/Diaoul/subliminal :Project page: https://github.com/Diaoul/subliminal :Documentation: https://subliminal.readthedocs.org/ Usage ----- CLI ^^^ Download English subtitles:: $ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Collecting videos [####################################] 100% 1 video collected / 0 video ignored / 0 error Downloading subtitles [####################################] 100% Downloaded 1 subtitle Library ^^^^^^^ Download best subtitles in French and English for videos less than two weeks old in a video folder: .. code:: python #!/usr/bin/env python from datetime import timedelta from babelfish import Language from subliminal import download_best_subtitles, region, save_subtitles, scan_videos # configure the cache region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'}) # scan for videos newer than 2 weeks and their existing subtitles in a folder videos = scan_videos('/video/folder', age=timedelta(weeks=2)) # download best subtitles subtitles = download_best_subtitles(videos, {Language('eng'), Language('fra')}) # save them to disk, next to the video for v in videos: save_subtitles(v, subtitles[v]) Docker ^^^^^^ Run subliminal in a docker container:: $ docker run --rm --name subliminal -v subliminal_cache:/usr/src/cache -v /tvshows:/tvshows -it diaoulael/subliminal download -l en /tvshows/The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4 Installation ------------ Subliminal can be installed as a regular python module by running:: $ [sudo] pip install subliminal For a better isolation with your system you should use a dedicated virtualenv or install for your user only using the ``--user`` flag. Nautilus/Nemo integration ------------------------- See the dedicated `project page <https://github.com/Diaoul/nautilus-subliminal>`_ for more information. Changelog --------- 2.2.0 ^^^^^ **release date:** 2024-06-24 * Drop python2 support, the supported versions are `>=3.8,<=3.12`. * Load CLI options from a configuration file with the ``--config/-c`` option (`#1084 <https://github.com/Diaoul/subliminal/pull/1084>`_). * Change default encoding of downloaded subtitles to 'utf-8' (not the original encoding). Use the ``--original-encoding`` cli option to recover the previous default behavior (`#1125 <https://github.com/Diaoul/subliminal/pull/1125>`_). * Add opensubtitlescom provider * Add gestdown provider * Add tmdb refiner (requires a personal API key) * Fix tvsubtitles provider * Fix opensubtitles provider * Fix napiprojekt provider * Fix podnapisi provider to use JSON API * Fix addic7ed provider * Remove thesubdb provider * Remove argenteam provider * Remove shooter provider * Remove legendastv provider * Use `pyproject.toml` to specify the package configurations.* Add pre-commit hook (`#1115 <https://github.com/Diaoul/subliminal/pull/1115>`_). * Use ruff to lint and format * Use mypy to check types * Add type annotations * Drop dependencies: pysrt, appdirs, six, pytz * Add dependencies: - click-option-group>=0.5.6 - platformdirs>=4.2 - pysubs2>=1.7 - srt>=3.5 - tomli>=2 * Bump dependency versions: - babelfish>=0.6.1 - chardet>=5.0 - click>=8.0 - dogpile.cache>=1.0 - enzyme>=0.5.0 - stevedore>=3.0 2.1.0 ^^^^^ **release date:** 2020-05-02 * Improve legendastv provider matches * Fix video extensions (.mk3d .ogm .ogv) * Use new url to search for titles in legendastv provider * Fix stevedore incompatibility * Add support to webm video extension * Make providers easier to be extended and customized * Update podnapisi URL * Add support to VIP/Donor accounts in legendastv provider * Proper handling titles with year / country in legendastv provider * Several minor enhancements in legendastv provider * Add support for python 3.6, 3.7 and 3.8 * Drop support for python 3.3 and 3.4 * Do not discard providers bad zip/rar is downloaded * SubsCenter provider removal * Fix lxml parsing for Addic7ed provider * Support titles with asterics in Addic7ed provider * Add support to multi-episode search in Opensubtitles provider * Fix multi-episode search in TVSubtitles provider * Update to guessit 3 * Improve archive scanning * Add Opensubtitles VIP provider * Add country to Movie and Episode * Add streaming_service to Video * Add info property to Subtitle * Do not search for subtitles if all required languages is already present * Improve TVDB refiner to support series with comma * Add alternative_titles to Video and enhance OMDB refiner to use alternative_titles * Only compute video hashes when required * Add apikey to OMDB refiner * Fix Subtitle validation when unable to guess encoding * Add support to rar in Dockerfile 2.0.5 ^^^^^ **release date:** 2016-09-03 * Fix addic7ed provider for some series name * Fix existing subtitles detection * Improve scoring * Add Docker container * Add .ogv video extension 2.0.4 ^^^^^ **release date:** 2016-09-03 * Fix subscenter 2.0.3 ^^^^^ **release date:** 2016-06-10 * Fix clearing cache in CLI 2.0.2 ^^^^^ **release date:** 2016-06-06 * Fix for dogpile.cache>=0.6.0 * Fix missing sphinx_rtd_theme dependency 2.0.1 ^^^^^ **release date:** 2016-06-06 * Fix beautifulsoup4 minimal requirement 2.0.0 ^^^^^ **release date:** 2016-06-04 * Add refiners to enrich videos with information from metadata, tvdb and omdb * Add asynchronous provider search for faster searches * Add registrable managers so subliminal can run without install * Add archive support * Add the ability to customize scoring logic * Add an age argument to scan_videos for faster scanning * Add legendas.tv provider * Add shooter.cn provider * Improve matching and scoring * Improve documentation * Split nautilus integration into its own project 1.1.1 ^^^^^ **release date:** 2016-01-03 * Fix scanning videos on bad MKV files 1.1 ^^^ **release date:** 2015-12-29 * Fix library usage example in README * Fix for series name with special characters in addic7ed provider * Fix id property in thesubdb provider * Improve matching on titles * Add support for nautilus context menu with translations * Add support for searching subtitles in a separate directory * Add subscenter provider * Add support for python 3.5 1.0.1 ^^^^^ **release date:** 2015-07-23 * Fix unicode issues in CLI (python 2 only) * Fix score scaling in CLI (python 2 only) * Improve error handling in CLI * Color collect report in CLI 1.0 ^^^ **release date:** 2015-07-22 * Many changes and fixes * New test suite * New documentation * New CLI * Added support for SubsCenter 0.7.5 ^^^^^ **release date:** 2015-03-04 * Update requirements * Remove BierDopje provider * Add pre-guessed video optional argument in scan_video * Improve hearing impaired support * Fix TVSubtitles and Podnapisi providers 0.7.4 ^^^^^ **release date:** 2014-01-27 * Fix requirements for guessit and babelfish 0.7.3 ^^^^^ **release date:** 2013-11-22 * Fix windows compatibility * Improve subtitle validation * Improve embedded subtitle languages detection * Improve unittests 0.7.2 ^^^^^ **release date:** 2013-11-10 * Fix TVSubtitles for ambiguous series * Add a CACHE_VERSION to force cache reloading on version change * Set CLI default cache expiration time to 30 days * Add podnapisi provider * Support script for languages e.g. Latn, Cyrl * Improve logging levels * Fix subtitle validation in some rare cases 0.7.1 ^^^^^ **release date:** 2013-11-06 * Improve CLI * Add login support for Addic7ed * Remove lxml dependency * Many fixes 0.7.0 ^^^^^ **release date:** 2013-10-29 **WARNING:** Complete rewrite of subliminal with backward incompatible changes * Use enzyme to parse metadata of videos * Use babelfish to handle languages * Use dogpile.cache for caching * Use charade to detect subtitle encoding * Use pysrt for subtitle validation * Use entry points for subtitle providers * New subtitle score computation * Hearing impaired subtitles support * Drop async support * Drop a few providers * And much more... 0.6.4 ^^^^^ **release date:** 2013-05-19 * Fix requirements due to enzyme 0.3 0.6.3 ^^^^^ **release date:** 2013-01-17 * Fix requirements due to requests 1.0 0.6.2 ^^^^^ **release date:** 2012-09-15 * Fix BierDopje * Fix Addic7ed * Fix SubsWiki * Fix missing enzyme import * Add Catalan and Galician languages to Addic7ed * Add possible services in help message of the CLI * Allow existing filenames to be passed without the ./ prefix 0.6.1 ^^^^^ **release date:** 2012-06-24 * Fix subtitle release name in BierDopje * Fix subtitles being downloaded multiple times * Add Chinese support to TvSubtitles * Fix encoding issues * Fix single download subtitles without the force option * Add Spanish (Latin America) exception to Addic7ed * Fix group_by_video when a list entry has None as subtitles * Add support for Galician language in Subtitulos * Add an integrity check after subtitles download for Addic7ed * Add error handling for if not strict in Language * Fix TheSubDB hash method to return None if the file is too small * Fix guessit.Language in Video.scan * Fix language detection of subtitles 0.6.0 ^^^^^ **release date:** 2012-06-16 **WARNING:** Backward incompatible changes * Fix --workers option in CLI * Use a dedicated module for languages * Use beautifulsoup4 * Improve return types * Add scan_filter option * Add --age option in CLI * Add TvSubtitles service * Add Addic7ed service 0.5.1 ^^^^^ **release date:** 2012-03-25 * Improve error handling of enzyme parsing 0.5 ^^^ **release date:** 2012-03-25 **WARNING:** Backward incompatible changes * Use more unicode * New list_subtitles and download_subtitles methods * New Pool object for asynchronous work * Improve sort algorithm * Better error handling * Make sorting customizable * Remove class Subliminal * Remove permissions handling 0.4 ^^^ **release date:** 2011-11-11 * Many fixes * Better error handling 0.3 ^^^ **release date:** 2011-08-18 * Fix a bug when series is not guessed by guessit * Fix dependencies failure when installing package * Fix encoding issues with logging * Add a script to ease subtitles download * Add possibility to choose mode of created files * Add more checks before adjusting permissions 0.2 ^^^ **release date:** 2011-07-11 * Fix plugin configuration * Fix some encoding issues * Remove extra logging 0.1 ^^^ **release date:** *private release* * Initial release ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/SOURCES.txt����������������������������������������������������0000644�0001751�0000177�00000027564�14636376431�021027� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.dockerignore .pre-commit-config.yaml .readthedocs.yaml CONTRIBUTING.md Dockerfile HISTORY.rst LICENSE MANIFEST.in README.rst pyproject.toml tox.ini docs/Makefile docs/conf.py docs/config.toml docs/conftest.py docs/index.rst docs/make.bat docs/api/cache.rst docs/api/cli.rst docs/api/core.rst docs/api/exceptions.rst docs/api/extensions.rst docs/api/providers.rst docs/api/refiners.rst docs/api/score.rst docs/api/subtitle.rst docs/api/utils.rst docs/api/video.rst docs/cassettes/test_usage.yaml docs/user/cli.rst docs/user/how_it_works.rst docs/user/provider_guide.rst docs/user/usage.rst subliminal/__init__.py subliminal/cache.py subliminal/cli.py subliminal/core.py subliminal/exceptions.py subliminal/extensions.py subliminal/matches.py subliminal/py.typed subliminal/score.py subliminal/subtitle.py subliminal/utils.py subliminal/video.py subliminal.egg-info/PKG-INFO subliminal.egg-info/SOURCES.txt subliminal.egg-info/dependency_links.txt subliminal.egg-info/entry_points.txt subliminal.egg-info/requires.txt subliminal.egg-info/top_level.txt subliminal/converters/__init__.py subliminal/converters/addic7ed.py subliminal/converters/opensubtitlescom.py subliminal/converters/shooter.py subliminal/converters/thesubdb.py subliminal/converters/tvsubtitles.py subliminal/providers/__init__.py subliminal/providers/addic7ed.py subliminal/providers/gestdown.py subliminal/providers/napiprojekt.py subliminal/providers/opensubtitles.py subliminal/providers/opensubtitlescom.py subliminal/providers/podnapisi.py subliminal/providers/tvsubtitles.py subliminal/refiners/__init__.py subliminal/refiners/hash.py subliminal/refiners/metadata.py subliminal/refiners/omdb.py subliminal/refiners/tmdb.py subliminal/refiners/tvdb.py tests/conftest.py tests/test_cache.py tests/test_core.py tests/test_extensions.py tests/test_matches.py tests/test_provider.py tests/test_score.py tests/test_subtitle.py tests/test_utils.py tests/test_video.py tests/cassettes/addic7ed/test_download_subtitle.yaml tests/cassettes/addic7ed/test_get_show_id.yaml tests/cassettes/addic7ed/test_get_show_id_country.yaml tests/cassettes/addic7ed/test_get_show_id_quote_dots_mixed_case.yaml tests/cassettes/addic7ed/test_get_show_id_with_comma.yaml tests/cassettes/addic7ed/test_get_show_id_year.yaml tests/cassettes/addic7ed/test_get_show_ids.yaml tests/cassettes/addic7ed/test_list_subtitles.yaml tests/cassettes/addic7ed/test_list_subtitles_episode_alternative_series.yaml tests/cassettes/addic7ed/test_list_subtitles_show_with_asterisk.yaml tests/cassettes/addic7ed/test_login.yaml tests/cassettes/addic7ed/test_logout.yaml tests/cassettes/addic7ed/test_query.yaml tests/cassettes/addic7ed/test_query_no_year.yaml tests/cassettes/addic7ed/test_query_parsing.yaml tests/cassettes/addic7ed/test_query_parsing_colon.yaml tests/cassettes/addic7ed/test_query_parsing_dash.yaml tests/cassettes/addic7ed/test_query_parsing_quote_dots_mixed_case.yaml tests/cassettes/addic7ed/test_query_wrong_series.yaml tests/cassettes/addic7ed/test_query_year.yaml tests/cassettes/addic7ed/test_search_show_id.yaml tests/cassettes/addic7ed/test_search_show_id_error.yaml tests/cassettes/addic7ed/test_search_show_id_incomplete.yaml tests/cassettes/addic7ed/test_search_show_id_no_year.yaml tests/cassettes/addic7ed/test_search_show_id_quote.yaml tests/cassettes/addic7ed/test_search_show_id_year.yaml tests/cassettes/addic7ed/test_search_show_ids_quote_dots_mixed_case.yaml tests/cassettes/addic7ed/test_search_show_ids_with_comma.yaml tests/cassettes/addic7ed/test_search_show_ids_with_country.yaml tests/cassettes/core/test_download_bad_subtitle.yaml tests/cassettes/core/test_download_best_subtitles.yaml tests/cassettes/core/test_download_best_subtitles_min_score.yaml tests/cassettes/core/test_download_best_subtitles_only_one.yaml tests/cassettes/gestdown/test_download_subtitle.yaml tests/cassettes/gestdown/test_download_with_bom.yaml tests/cassettes/gestdown/test_get_title_and_show_id_alternative_name.yaml tests/cassettes/gestdown/test_get_title_and_show_id_no_year.yaml tests/cassettes/gestdown/test_get_title_and_show_id_only_title.yaml tests/cassettes/gestdown/test_get_title_and_show_id_with_tvdb_id.yaml tests/cassettes/gestdown/test_list_subtitles.yaml tests/cassettes/gestdown/test_list_subtitles_episode_alternative_series.yaml tests/cassettes/gestdown/test_query.yaml tests/cassettes/gestdown/test_query_all_series.yaml tests/cassettes/gestdown/test_query_no_language.yaml tests/cassettes/gestdown/test_query_parsing.yaml tests/cassettes/gestdown/test_query_parsing_colon.yaml tests/cassettes/gestdown/test_query_parsing_dash.yaml tests/cassettes/gestdown/test_query_parsing_quote_dots_mixed_case.yaml tests/cassettes/gestdown/test_query_wrong_series.yaml tests/cassettes/gestdown/test_search_show_id.yaml tests/cassettes/gestdown/test_search_show_id_error.yaml tests/cassettes/gestdown/test_search_show_id_incomplete.yaml tests/cassettes/gestdown/test_search_show_id_no_year.yaml tests/cassettes/gestdown/test_search_show_id_quote.yaml tests/cassettes/gestdown/test_search_show_series_tvdb_id.yaml tests/cassettes/gestdown/test_show_with_asterisk.yaml tests/cassettes/napiprojekt/test_download_subtitles.yaml tests/cassettes/napiprojekt/test_list_subtitles.yaml tests/cassettes/napiprojekt/test_query_microdvd.yaml tests/cassettes/napiprojekt/test_query_srt.yaml tests/cassettes/napiprojekt/test_query_srt_reencode.yaml tests/cassettes/napiprojekt/test_query_wrong_hash.yaml tests/cassettes/omdb/test_get_id.yaml tests/cassettes/omdb/test_get_title.yaml tests/cassettes/omdb/test_get_wrong_id.yaml tests/cassettes/omdb/test_get_wrong_title.yaml tests/cassettes/omdb/test_refine_episode.yaml tests/cassettes/omdb/test_refine_episode_original_series.yaml tests/cassettes/omdb/test_refine_episode_with_country.yaml tests/cassettes/omdb/test_refine_episode_with_country_hoc_us.yaml tests/cassettes/omdb/test_refine_episode_year.yaml tests/cassettes/omdb/test_refine_movie.yaml tests/cassettes/omdb/test_refine_movie_guess_alternative_title.yaml tests/cassettes/omdb/test_search.yaml tests/cassettes/omdb/test_search_page.yaml tests/cassettes/omdb/test_search_type.yaml tests/cassettes/omdb/test_search_wrong_title.yaml tests/cassettes/omdb/test_search_year.yaml tests/cassettes/opensubtitles/test_download_subtitle.yaml tests/cassettes/opensubtitles/test_list_subtitles_episode.yaml tests/cassettes/opensubtitles/test_list_subtitles_movie.yaml tests/cassettes/opensubtitles/test_list_subtitles_movie_no_hash.yaml tests/cassettes/opensubtitles/test_login_bad_password.yaml tests/cassettes/opensubtitles/test_login_vip_bad_password.yaml tests/cassettes/opensubtitles/test_login_vip_login.yaml tests/cassettes/opensubtitles/test_no_operation.yaml tests/cassettes/opensubtitles/test_query_hash_size.yaml tests/cassettes/opensubtitles/test_query_imdb_id.yaml tests/cassettes/opensubtitles/test_query_not_enough_information.yaml tests/cassettes/opensubtitles/test_query_query_episode.yaml tests/cassettes/opensubtitles/test_query_query_movie.yaml tests/cassettes/opensubtitles/test_query_query_season_episode.yaml tests/cassettes/opensubtitles/test_query_tag_movie.yaml tests/cassettes/opensubtitles/test_query_wrong_hash_wrong_size.yaml tests/cassettes/opensubtitles/test_tag_match.yaml tests/cassettes/opensubtitlescom/test_download_subtitle.yaml tests/cassettes/opensubtitlescom/test_list_subtitles_episode.yaml tests/cassettes/opensubtitlescom/test_list_subtitles_movie.yaml tests/cassettes/opensubtitlescom/test_list_subtitles_movie_no_hash.yaml tests/cassettes/opensubtitlescom/test_login.yaml tests/cassettes/opensubtitlescom/test_login_bad_password.yaml tests/cassettes/opensubtitlescom/test_logout.yaml tests/cassettes/opensubtitlescom/test_query_hash_size.yaml tests/cassettes/opensubtitlescom/test_query_imdb_id.yaml tests/cassettes/opensubtitlescom/test_query_query_episode.yaml tests/cassettes/opensubtitlescom/test_query_query_movie.yaml tests/cassettes/opensubtitlescom/test_query_query_season_episode.yaml tests/cassettes/opensubtitlescom/test_query_tag_movie.yaml tests/cassettes/opensubtitlescom/test_query_wrong_hash_wrong_size.yaml tests/cassettes/opensubtitlescom/test_tag_match.yaml tests/cassettes/opensubtitlescom/test_user_infos.yaml tests/cassettes/podnapisi/test_download_subtitle.yaml tests/cassettes/podnapisi/test_download_subtitles_with_title_unicode.yaml tests/cassettes/podnapisi/test_list_subtitles_episode.yaml tests/cassettes/podnapisi/test_list_subtitles_episode_alternative_series.yaml tests/cassettes/podnapisi/test_list_subtitles_movie.yaml tests/cassettes/podnapisi/test_query_episode.yaml tests/cassettes/podnapisi/test_query_movie.yaml tests/cassettes/tmdb/test_get_movie_id.yaml tests/cassettes/tmdb/test_get_movie_id_failed.yaml tests/cassettes/tmdb/test_get_series_id.yaml tests/cassettes/tmdb/test_get_series_wrong_id.yaml tests/cassettes/tmdb/test_refine_episode.yaml tests/cassettes/tmdb/test_refine_episode_original_series.yaml tests/cassettes/tmdb/test_refine_episode_with_country.yaml tests/cassettes/tmdb/test_refine_episode_with_country_hoc_us.yaml tests/cassettes/tmdb/test_refine_episode_year.yaml tests/cassettes/tmdb/test_refine_movie.yaml tests/cassettes/tmdb/test_refine_movie_guess_alternative_title.yaml tests/cassettes/tmdb/test_search_movie.yaml tests/cassettes/tmdb/test_search_movie_page.yaml tests/cassettes/tmdb/test_search_movie_wrong_title.yaml tests/cassettes/tmdb/test_search_movie_year.yaml tests/cassettes/tmdb/test_search_series.yaml tests/cassettes/tmdb/test_search_series_wrong_name.yaml tests/cassettes/tvdb/test_get_series.yaml tests/cassettes/tvdb/test_get_series_actors.yaml tests/cassettes/tvdb/test_get_series_actors_wrong_id.yaml tests/cassettes/tvdb/test_get_series_wrong_id.yaml tests/cassettes/tvdb/test_login.yaml tests/cassettes/tvdb/test_login_error.yaml tests/cassettes/tvdb/test_query_series_episodes.yaml tests/cassettes/tvdb/test_query_series_episodes_wrong_season.yaml tests/cassettes/tvdb/test_refine.yaml tests/cassettes/tvdb/test_refine_ambiguous.yaml tests/cassettes/tvdb/test_refine_ambiguous_2.yaml tests/cassettes/tvdb/test_refine_episode_alternative_series.yaml tests/cassettes/tvdb/test_refine_episode_no_year.yaml tests/cassettes/tvdb/test_refine_episode_partial.yaml tests/cassettes/tvdb/test_refine_episode_with_comma.yaml tests/cassettes/tvdb/test_refine_episode_with_country.yaml tests/cassettes/tvdb/test_refine_episode_with_country_hoc_us.yaml tests/cassettes/tvdb/test_refine_episode_year.yaml tests/cassettes/tvdb/test_refresh_token.yaml tests/cassettes/tvdb/test_search_series.yaml tests/cassettes/tvdb/test_search_series_wrong_name.yaml tests/cassettes/tvdb/test_token_needs_refresh.yaml tests/cassettes/tvsubtitles/test_download_subtitle.yaml tests/cassettes/tvsubtitles/test_download_subtitle_with_quote.yaml tests/cassettes/tvsubtitles/test_get_episode_ids.yaml tests/cassettes/tvsubtitles/test_get_episode_ids_wrong_season.yaml tests/cassettes/tvsubtitles/test_list_subtitles.yaml tests/cassettes/tvsubtitles/test_list_subtitles_episode_alternative_series.yaml tests/cassettes/tvsubtitles/test_query.yaml tests/cassettes/tvsubtitles/test_query_no_year.yaml tests/cassettes/tvsubtitles/test_query_with_quote.yaml tests/cassettes/tvsubtitles/test_query_wrong_episode.yaml tests/cassettes/tvsubtitles/test_query_wrong_series.yaml tests/cassettes/tvsubtitles/test_search_show_id.yaml tests/cassettes/tvsubtitles/test_search_show_id_ambiguous.yaml tests/cassettes/tvsubtitles/test_search_show_id_error.yaml tests/cassettes/tvsubtitles/test_search_show_id_incomplete.yaml tests/cassettes/tvsubtitles/test_search_show_id_no_year.yaml tests/cassettes/tvsubtitles/test_search_show_id_uk.yaml tests/cassettes/tvsubtitles/test_search_show_id_us.yaml tests/cassettes/tvsubtitles/test_search_show_id_year_in_title.yaml tests/providers/test_addic7ed.py tests/providers/test_gestdown.py tests/providers/test_napiprojekt.py tests/providers/test_opensubtitles.py tests/providers/test_opensubtitlescom.py tests/providers/test_podnapisi.py tests/providers/test_tvsubtitles.py tests/refiners/test_hash.py tests/refiners/test_omdb.py tests/refiners/test_tmdb.py tests/refiners/test_tvdb.py��������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/dependency_links.txt�������������������������������������������0000644�0001751�0000177�00000000001�14636376431�023173� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/entry_points.txt�����������������������������������������������0000644�0001751�0000177�00000002360�14636376431�022424� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[babelfish.language_converters] addic7ed = subliminal.converters.addic7ed:Addic7edConverter opensubtitlescom = subliminal.converters.opensubtitlescom:OpenSubtitlesComConverter shooter = subliminal.converters.shooter:ShooterConverter thesubdb = subliminal.converters.thesubdb:TheSubDBConverter tvsubtitles = subliminal.converters.tvsubtitles:TVsubtitlesConverter [console_scripts] subliminal = subliminal.cli:subliminal [subliminal.providers] addic7ed = subliminal.providers.addic7ed:Addic7edProvider gestdown = subliminal.providers.gestdown:GestdownProvider napiprojekt = subliminal.providers.napiprojekt:NapiProjektProvider opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider opensubtitlescom = subliminal.providers.opensubtitlescom:OpenSubtitlesComProvider opensubtitlescomvip = subliminal.providers.opensubtitlescom:OpenSubtitlesComVipProvider opensubtitlesvip = subliminal.providers.opensubtitles:OpenSubtitlesVipProvider podnapisi = subliminal.providers.podnapisi:PodnapisiProvider tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider [subliminal.refiners] hash = subliminal.refiners.hash:refine metadata = subliminal.refiners.metadata:refine omdb = subliminal.refiners.omdb:refine tvdb = subliminal.refiners.tvdb:refine ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/requires.txt���������������������������������������������������0000644�0001751�0000177�00000000725�14636376431�021531� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������babelfish>=0.6.1 beautifulsoup4>=4.4.0 chardet>=5.0 click>=8.0 click-option-group>=0.5.6 dogpile.cache>=1.0 enzyme>=0.5.0 guessit>=3.0.0 platformdirs>=4.2 pysubs2>=1.7 rarfile>=2.7 requests>=2.0 srt>=3.5 stevedore>=3.0 tomli>=2 [dev] doc8 mypy ruff typos validate-pyproject tox [docs] sphinx sphinx_rtd_theme sphinxcontrib-programoutput [test] mypy lxml pytest>=6.0 pytest-cov pytest-flakes sympy vcrpy>=1.6.1 [test:python_version < "3.10"] importlib_metadata>=4.6 �������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270681.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/subliminal.egg-info/top_level.txt��������������������������������������������������0000644�0001751�0000177�00000000013�14636376431�021651� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000034�00000000000�010212� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������28 mtime=1719270681.6421807 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/tests/�����������������������������������������������������������������������������0000755�0001751�0000177�00000000000�14636376432�014437� 5����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000034�00000000000�010212� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������28 mtime=1719270681.6261804 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/tests/cassettes/�������������������������������������������������������������������0000755�0001751�0000177�00000000000�14636376432�016435� 5����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000033�00000000000�010211� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������27 mtime=1719270681.658181 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/tests/cassettes/addic7ed/����������������������������������������������������������0000755�0001751�0000177�00000000000�14636376432�020101� 5����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@PaxHeader��������������������������������������������������������������������������������������0000000�0000000�0000000�00000000026�00000000000�010213� x����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������22 mtime=1719270670.0 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������subliminal-2.2.0/tests/cassettes/addic7ed/test_download_subtitle.yaml�������������������������������0000644�0001751�0000177�00003004513�14636376416�025556� 0����������������������������������������������������������������������������������������������������ustar�00runner��������������������������docker�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������interactions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n \n<script type=\"text/javascript\" src=\"https://www.addic7ed.com/js/footer/jquery.js\"></script><!-- jQuery -->\n<script type=\"text/javascript\" src=\"https://www.addic7ed.com/js/footer/footer_plugins.js\"></script><!-- HoverIntent -->\n<script type=\"text/javascript\" src=\"https://www.addic7ed.com/js/footer/footer.js\"></script><!-- Footer Script -->\n<script>\n$(document).ready(function($){\n\t$('#footer').stickyFooter({\n\t\tdropup_speed_show : 300, // Time (in milliseconds) to show a drop down\n\t\tdropup_speed_hide : 200, // Time (in milliseconds) to hide a drop down\n\t\tdropup_speed_delay : 200, // Time (in milliseconds) before showing a drop down\n\t\tfooter_effect : 'open_close_toggle', // Drop down effect, choose between 'hover_fade', 'hover_slide', etc.\n\t\tfooter_click_outside :1, // Clicks outside the drop down close it (1 = true, 0 = false)\n\t\tshowhidefooter : 'show', // Footer can be hidden when the page loads\n\t\thide_speed : 1000, // Time to hide the footer (in milliseconds) if the 'showhidefooter' option is set to 'hide'\n\t\thide_delay : 2000 // Time before hiding the footer (in milliseconds) if the 'showhidefooter' option is set to 'hide'\n\t});\n});\n</script>\n<script type=\"text/javascript\">\njQuery.noConflict();\n</script>\n\n<link rel=\"stylesheet\" href=\"https://www.addic7ed.com/css/footer_full_width.css\" type=\"text/css\" media=\"screen\" /><!-- Footer Stylesheet -->\n<link rel=\"stylesheet\" href=\"https://www.addic7ed.com/css/circle.css\">\n<link rel=\"search\" type=\"application/opensearchdescription+xml\" title=\"Addic7ed Search Plugin\" href=\"/includes/addic7ed.xml\" />\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<meta name=\"description\" content=\"The source of TV subtitles. Get your files from the source!\" />\n<title>Addic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:15 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=kakg0ehvhq41v00di7i5092qn6; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=kakg0ehvhq41v00di7i5092qn6 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/126 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=126&season=7&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyFrenchLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyRomanianLOLCompletedDownload
71The Hofstadter InsufficiencyBulgarianLOLCompletedDownload
71The Hofstadter InsufficiencyDutchDIMENSIONCompletedDownload
71The Hofstadter InsufficiencyEnglishPimp4003-PimpRGCompletedDownload
71The Hofstadter InsufficiencyGreekAFGCompletedDownload
71The Hofstadter InsufficiencyItalianHDTVCompletedDownload
71The Hofstadter InsufficiencyItalianCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyGerman720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyGermanLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyItalianWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishBDRip.x264.DEMANDCompletedDownload
71The Hofstadter InsufficiencyDutchBluRayCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationBulgarianLOLCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationFrenchLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationGreekAFGCompletedDownload
72The Deception VerificationGerman720p Web-DLCompletedDownload
72The Deception VerificationGermanLOLCompletedDownload
72The Deception VerificationItalianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)720p Web-DLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationItalianWEB-DLCompletedDownload
72The Deception VerificationDutchDIMENSIONCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationEnglishBDRip.x264.DEMANDCompletedDownload
72The Deception VerificationDutchBluRayCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)DIMENSIONCompletedDownload
73The Scavenger VortexBulgarianDIMENSIONCompletedDownload
73The Scavenger VortexGreekHDTVLOLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexRussianDIMENSIONCompletedDownload
73The Scavenger VortexGermanLOLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)720p Web-DLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)LOLCompletedDownload
73The Scavenger VortexItalianWEB-DLCompletedDownload
73The Scavenger VortexItalianLOLCompletedDownload
73The Scavenger VortexDutchDIMENSIONCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexEnglishBDRip.x264.DEMANDCompletedDownload
73The Scavenger VortexDutchBluRayCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationFrenchDIMENSIONCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)DIMENSIONCompletedDownload
74The Raiders MinimizationEnglishLOLCompletedDownload
74The Raiders MinimizationGreekCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationItalianWEB-DLCompletedDownload
74The Raiders MinimizationItalianLOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)x264-LOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)720p Web-DLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)LOLCompletedDownload
74The Raiders MinimizationGerman720p Web-DLCompletedDownload
74The Raiders MinimizationGermanLOLCompletedDownload
74The Raiders MinimizationDutchDIMENSIONCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationEnglishBDRip.x264.DEMANDCompletedDownload
74The Raiders MinimizationDutchBluRayCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityFrenchDIMENSIONCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityGermanLOLCompletedDownload
75The Workplace ProximityHebrew720PDIMENSIONCompletedDownload
75The Workplace ProximityItalianLOLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)WEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)LOLCompletedDownload
75The Workplace ProximityItalianWEB-DLCompletedDownload
75The Workplace ProximityDutchDIMENSIONCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityEnglishBDRip.x264.DEMANDCompletedDownload
75The Workplace ProximityDutchBluRayCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceBulgarianDIMENSIONCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)DIMENSIONCompletedDownload
76The Romance ResonanceItalianLOLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)LOLCompletedDownload
76The Romance ResonanceGerman720p Web-DLCompletedDownload
76The Romance ResonanceGermanLOLCompletedDownload
76The Romance ResonanceItalianWEB-DLCompletedDownload
76The Romance ResonanceDutchDIMENSIONCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceEnglishBDRip.x264.DEMANDCompletedDownload
76The Romance ResonanceDutchBluRayCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementBulgarianDIMENSIONCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementItalianLOLCompletedDownload
77The Proton DisplacementGermanLOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)720p Web-DLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementItalianWEB-DLCompletedDownload
77The Proton DisplacementDutchCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementEnglishBDRip.x264.DEMANDCompletedDownload
77The Proton DisplacementDutchBluRayCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONCompletedDownload
78The Itchy Brain SimulationBulgarianDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishWeb-DLCompletedDownload
78The Itchy Brain SimulationEnglishWEB-DLCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONLOLCompletedDownload
78The Itchy Brain SimulationItalianLOLCompletedDownload
78The Itchy Brain SimulationGerman720p Web-DLCompletedDownload
78The Itchy Brain SimulationGermanLOLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)720p Web-DLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)LOLCompletedDownload
78The Itchy Brain SimulationItalianWEB-DLCompletedDownload
78The Itchy Brain SimulationDutchDIMENSIONCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationEnglishBDRip.x264.DEMANDCompletedDownload
78The Itchy Brain SimulationDutchBluRayCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingMalayDIMENSIONCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingFrenchDIMENSIONCompletedDownload
79The Thanksgiving DecouplingBulgarianDIMENSIONCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingFrenchWEB-DLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingPortugueseLOLCompletedDownload
79The Thanksgiving DecouplingItalianLOLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)720p Web-DLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingGerman720p Web-DLCompletedDownload
79The Thanksgiving DecouplingGermanLOLCompletedDownload
79The Thanksgiving DecouplingItalianWEB-DLCompletedDownload
79The Thanksgiving DecouplingDutchDimensionCompletedDownload
79The Thanksgiving DecouplingDutchWeb-dlCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingEnglishBDRip.x264.DEMANDCompletedDownload
79The Thanksgiving DecouplingDutchBluRayCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationFrenchDIMENSIONCompletedDownload
710The Discovery DissipationBulgarianDIMENSIONCompletedDownload
710The Discovery DissipationPortuguese (Brazilian)LOLCompletedDownload
710The Discovery DissipationGerman720p Web-DLCompletedDownload
710The Discovery DissipationGermanLOLCompletedDownload
710The Discovery DissipationEnglishWeb-DLCompletedDownload
710The Discovery DissipationEnglishWEB-DLCompletedDownload
710The Discovery DissipationItalianLOLCompletedDownload
710The Discovery DissipationItalianWEB-DLCompletedDownload
710The Discovery DissipationDutchDimensionCompletedDownload
710The Discovery DissipationDutchWeb-dlCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationEnglishBDRip.x264.DEMANDCompletedDownload
710The Discovery DissipationDutchBluRayCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionFrenchDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionItalianLOLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionGermanLOLCompletedDownload
711The Cooper ExtractionItalianWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionHebrewDIMCompletedDownload
711The Cooper ExtractionDutchWEB-DLCompletedDownload
711The Cooper ExtractionDutchDIMENSIONCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionEnglishBDRip.x264.DEMANDCompletedDownload
711The Cooper ExtractionDutchBluRayCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationBulgarianDIMENSIONCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationFrenchDIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)DIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)LOLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationDutchDimensionCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)WEB-DLCompletedDownload
712The Hesitation RamificationItalianLOLCompletedDownload
712The Hesitation RamificationDutchWEB-DLCompletedDownload
712The Hesitation RamificationGermanLOLCompletedDownload
712The Hesitation RamificationDutchLOLCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)720p Web-DLCompletedDownload
712The Hesitation RamificationItalianWEB-DLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationEnglishBDRip.x264.DEMANDCompletedDownload
712The Hesitation RamificationDutchBluRayCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationFrenchDIMENSIONCompletedDownload
713The Occupation RecalibrationSwedishDIMENSIONCompletedDownload
713The Occupation RecalibrationBulgarianDIMENSIONCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)WEB-DLCompletedDownload
713The Occupation RecalibrationItalianLOLCompletedDownload
713The Occupation RecalibrationItalianWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)720p Web-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationGermanLOLCompletedDownload
713The Occupation RecalibrationDutchDIMENSIONCompletedDownload
713The Occupation RecalibrationDutchWEB-DLCompletedDownload
713The Occupation RecalibrationGerman720p WEB-DLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationEnglishBDRip.x264.DEMANDCompletedDownload
713The Occupation RecalibrationDutchBluRayCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumBulgarianDIMENSIONCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumFrenchDIMENSIONCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)DIMENSIONCompletedDownload
714The Convention ConundrumRomanianDIMENSIONCompletedDownload
714The Convention ConundrumGreekLOLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumItalianLOLCompletedDownload
714The Convention ConundrumGermanLOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)LOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)720p Web-DLCompletedDownload
714The Convention ConundrumDutchDIMENSIONCompletedDownload
714The Convention ConundrumDutchWEB-DLCompletedDownload
714The Convention ConundrumItalianWEB-DLCompletedDownload
714The Convention ConundrumGerman720p WEB-DLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumEnglishBDRip.x264.DEMANDCompletedDownload
714The Convention ConundrumDutchBluRayCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationFrenchDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)DIMENSIONCompletedDownload
715The Locomotive ManipulationBulgarianDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationItalianLOLCompletedDownload
715The Locomotive ManipulationGerman720p Web-DLCompletedDownload
715The Locomotive ManipulationGermanLOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)720p Web-DLCompletedDownload
715The Locomotive ManipulationItalianWEB-DLCompletedDownload
715The Locomotive ManipulationDutchWEB-DLCompletedDownload
715The Locomotive ManipulationDutchDIMENSIONCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationEnglishBDRip.x264.DEMANDCompletedDownload
715The Locomotive ManipulationDutchBluRayCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationFrenchDIMENSIONCompletedDownload
716The Table PolarizationRomanianDIMENSIONCompletedDownload
716The Table PolarizationBulgarianDIMENSIONCompletedDownload
716The Table PolarizationPortuguese (Brazilian)LOLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationItalianLOLCompletedDownload
716The Table PolarizationItalianWEB-DLCompletedDownload
716The Table PolarizationGerman720p Web-DLCompletedDownload
716The Table PolarizationGermanLOLCompletedDownload
716The Table PolarizationDutchDIMENSIONCompletedDownload
716The Table PolarizationDutchWEB-DLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationEnglishBDRip.x264.DEMANDCompletedDownload
716The Table PolarizationDutchBluRayCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)DIMENSIONCompletedDownload
717The Friendship TurbulenceBulgarianDIMENSIONCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulenceFrenchDIMENSIONCompletedDownload
717The Friendship TurbulenceCroatianHDTV.XviD-AFGCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)LOLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceDutchDIMENSIONCompletedDownload
717The Friendship TurbulenceDutchWEB-DLCompletedDownload
717The Friendship TurbulenceGerman720p Web-DLCompletedDownload
717The Friendship TurbulenceGermanLOLCompletedDownload
717The Friendship TurbulenceItalian720p.HDTV.x264-LOLCompletedDownload
717The Friendship TurbulenceItalianWEB-DLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceEnglishBDRip.x264.DEMANDCompletedDownload
717The Friendship TurbulenceDutchBluRayCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)DIMENSIONCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationFrenchDIMENSIONCompletedDownload
718The Mommy ObservationRomanianDIMENSIONCompletedDownload
718The Mommy ObservationBulgarianDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)LOLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)720p Web-DLCompletedDownload
718The Mommy ObservationGerman720p Web-DLCompletedDownload
718The Mommy ObservationGermanLOLCompletedDownload
718The Mommy ObservationItalianHDTV.x264-DIMENSIONCompletedDownload
718The Mommy ObservationItalianWEB-DLCompletedDownload
718The Mommy ObservationDutchDIMENSIONCompletedDownload
718The Mommy ObservationDutchWEB-DLCompletedDownload
718The Mommy ObservationRussianLOLCompletedDownload
718The Mommy ObservationEnglishBDRip.x264.DEMANDCompletedDownload
718The Mommy ObservationDutchBluRayCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationFrenchDIMENSIONCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)DIMENSIONCompletedDownload
719The Indecision AmalgamationBulgarianDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)LOLCompletedDownload
719The Indecision AmalgamationItalianHDTV.x264-LOLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)720p Web-DLCompletedDownload
719The Indecision AmalgamationRomanianDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchWEB-DLCompletedDownload
719The Indecision AmalgamationGerman720p Web-DLCompletedDownload
719The Indecision AmalgamationGermanLOLCompletedDownload
719The Indecision AmalgamationItalianWEB-DLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationEnglishBDRip.x264.DEMANDCompletedDownload
719The Indecision AmalgamationDutchBluRayCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionFrenchDIMENSIONCompletedDownload
720The Relationship DiremptionRomanianDIMENSIONCompletedDownload
720The Relationship DiremptionBulgarianDIMENSIONCompletedDownload
720The Relationship DiremptionCroatianHDTV.XviD-EVOCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.x264-LOLCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.XviD-AFGCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)LOLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionItalianLOLCompletedDownload
720The Relationship DiremptionItalianWEB-DLCompletedDownload
720The Relationship DiremptionGerman720p Web-DLCompletedDownload
720The Relationship DiremptionGermanLOLCompletedDownload
720The Relationship DiremptionDutchWEB-DLCompletedDownload
720The Relationship DiremptionDutchDIMENSIONCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionEnglishBDRip.x264.DEMANDCompletedDownload
720The Relationship DiremptionDutchBluRayCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceFrenchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)DIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceBulgarianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceItalianLOLCompletedDownload
721The Anything Can Happen RecurrenceCroatianHDTV.x264-LOLCompletedDownload
721The Anything Can Happen RecurrenceRomanianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)LOLCompletedDownload
721The Anything Can Happen RecurrenceGerman720p Web-DLCompletedDownload
721The Anything Can Happen RecurrenceGermanLOLCompletedDownload
721The Anything Can Happen RecurrenceDutchWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceDutchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceItalianWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceEnglishBDRip.x264.DEMANDCompletedDownload
721The Anything Can Happen RecurrenceDutchBluRayCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)DIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationBulgarianDIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)LOLCompletedDownload
722The Proton TransmogrificationItalianLOLCompletedDownload
722The Proton TransmogrificationCroatianHDTV.x264-LOLCompletedDownload
722The Proton TransmogrificationDutchWEBDLCompletedDownload
722The Proton TransmogrificationDutchDIMENSIONCompletedDownload
722The Proton TransmogrificationItalianWEB-DLCompletedDownload
722The Proton TransmogrificationGermanLOLCompletedDownload
722The Proton TransmogrificationGerman720p WEB-DLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationEnglishBDRip.x264.DEMANDCompletedDownload
722The Proton TransmogrificationDutchBluRayCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)DIMENSIONCompletedDownload
723The Gorilla DissolutionBulgarianDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanWEB-DLCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanLOLCompletedDownload
723The Gorilla DissolutionItalianLOLCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)LOLCompletedDownload
723The Gorilla DissolutionCroatianHDTV.x264-LOLCompletedDownload
723The Gorilla DissolutionDutchWEB-DLCompletedDownload
723The Gorilla DissolutionDutchDIMENSIONCompletedDownload
723The Gorilla DissolutionItalianWEB-DLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionEnglishBDRip.x264.DEMANDCompletedDownload
723The Gorilla DissolutionDutchBluRayCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)DIMENSIONCompletedDownload
724The Status Quo CombustionBulgarianDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionFrenchDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionFrenchWEB-DLCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionCroatiandimensionCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)LOLCompletedDownload
724The Status Quo CombustionGermanLOLCompletedDownload
724The Status Quo CombustionDutchWEB-DL-YFNCompletedDownload
724The Status Quo CombustionDutchDIMENSIONCompletedDownload
724The Status Quo CombustionItalianHDTV.x264-LOLCompletedDownload
724The Status Quo CombustionItalianWEB-DLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionEnglishBDRip.x264.DEMANDCompletedDownload
724The Status Quo CombustionDutchBluRayCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Croatian
Dutch
English
French
German
Greek
Hebrew
Italian
Malay
Portuguese
Portuguese (Brazilian)
Romanian
Russian
Swedish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:26 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=kakg0ehvhq41v00di7i5092qn6 Referer: - https://www.addic7ed.com//serie/The_Big_Bang_Theory/7/5/The_Workplace_Proximity User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/updated/8/80254/1 response: body: string: "\uFEFF1\r\n00:00:05,532 --> 00:00:07,400\r\nSilence g\xEAnant.\r\n\r\n2\r\n00:00:07,402 --> 00:00:08,684\r\nSheldon sur son t\xE9l\xE9phone.\r\n\r\n3\r\n00:00:08,686 --> 00:00:09,719\r\nOn ne se touche pas.\r\n\r\n4\r\n00:00:09,721 --> 00:00:13,122\r\nQuelqu'un a un rencard.\r\n\r\n5\r\n00:00:13,124 --> 00:00:15,208\r\nC'est encore plus chaud\r\nque \xE7a en a l'air.\r\n\r\n6\r\n00:00:15,210 --> 00:00:18,077\r\nSheldon observe le symbolisme\r\nphallique des l\xE9gumes-racines\r\n\r\n7\r\n00:00:18,079 --> 00:00:19,796\r\ndans les tableaux de la renaissance.\r\n\r\n8\r\n00:00:19,798 --> 00:00:21,447\r\nNon, \xE7a m'a ennuy\xE9.\r\n\r\n9\r\n00:00:21,449 --> 00:00:25,418\r\nJe recherche des ciseaux \r\n\xE0 cuticules sur Amazon.\r\n\r\n10\r\n00:00:26,370 --> 00:00:28,004\r\nComment peux-tu\r\nne pas arracher ses v\xEAtements\r\n\r\n11\r\n00:00:28,006 --> 00:00:30,556\r\net le prendre, ici, sur cette table ?\r\n\r\n12\r\n00:00:30,558 --> 00:00:33,259\r\nSi tu fais \xE7a, je hurle.\r\n\r\n13\r\n00:00:36,430 --> 00:00:38,631\r\nSheldon, j'ai des nouvelles\r\nexcitantes \xE0 t'annoncer.\r\n\r\n14\r\n00:00:38,633 --> 00:00:39,782\r\nComme \xE7a, on est deux.\r\n\r\n15\r\n00:00:39,784 --> 00:00:41,267\r\nMes nouveaux ciseaux\r\n\xE0 cuticules seront l\xE0\r\n\r\n16\r\n00:00:41,269 --> 00:00:43,152\r\ndans un jour ouvrable ou deux.\r\n\r\n17\r\n00:00:43,154 --> 00:00:45,721\r\nEsp\xE9rons, dans un seul.\r\n\r\n18\r\n00:00:45,723 --> 00:00:47,824\r\nJe suis invit\xE9e comme consultante\r\ndans une exp\xE9rience\r\n\r\n19\r\n00:00:47,826 --> 00:00:50,193\r\nau sein de ton universit\xE9\r\npour quelques mois.\r\n\r\n20\r\n00:00:50,195 --> 00:00:51,327\r\nN'est-ce pas g\xE9nial ?\r\n\r\n21\r\n00:00:51,329 --> 00:00:52,912\r\nOn pourra d\xE9jeuner ensemble.\r\n\r\n22\r\n00:00:52,914 --> 00:00:54,314\r\nFaire du covoiturage.\r\n\r\n23\r\n00:00:54,316 --> 00:00:56,466\r\nTu sais, voyager avec L\xE9onard\r\n\r\n24\r\n00:00:56,468 --> 00:00:58,735\r\nest devenu un peu \r\nennuyeux derni\xE8rement.\r\n\r\n25\r\n00:00:58,737 --> 00:01:02,205\r\nIl ne veut plus jouer\r\nqu'au jeu du silence.\r\n\r\n26\r\n00:01:02,207 --> 00:01:03,306\r\nEt il est vraiment mauvais.\r\n\r\n27\r\n00:01:03,308 --> 00:01:05,458\r\nJe gagne tout le temps.\r\n\r\n28\r\n00:01:06,844 --> 00:01:08,728\r\nAlors, tu es d'accord avec \xE7a ?\r\n\r\n29\r\n00:01:08,730 --> 00:01:10,396\r\nPourquoi je ne le serais pas ?\r\n\r\n30\r\n00:01:10,398 --> 00:01:12,432\r\nCe projet nous fera travailler\r\n\r\n31\r\n00:01:12,434 --> 00:01:14,467\r\n\xE0 proximit\xE9 l'un de l'autre.\r\n\r\n32\r\n00:01:14,469 --> 00:01:15,968\r\nEt il y a cet adage\r\ngrossier qui dit\r\n\r\n33\r\n00:01:15,970 --> 00:01:19,639\r\nque l'on ne doit pas d\xE9f\xE9quer \r\nl\xE0 o\xF9 l'on mange.\r\n\r\n34\r\n00:01:19,641 --> 00:01:21,974\r\nC'est ce que mon p\xE8re \r\ndisait toujours.\r\n\r\n35\r\n00:01:21,976 --> 00:01:25,161\r\n\xC7a et \"Qui doit-on\r\nsatisfaire oralement\r\n\r\n36\r\n00:01:25,163 --> 00:01:27,880\r\npour avoir un verre par ici ?\"\r\n\r\n37\r\n00:01:29,233 --> 00:01:31,718\r\nMais qu'est-ce que \xE7a a \xE0 voir\r\n\r\n38\r\n00:01:31,720 --> 00:01:33,636\r\navec ton travail \xE0 l'universit\xE9 ?\r\n\r\n39\r\n00:01:33,638 --> 00:01:36,239\r\n\"Ne d\xE9f\xE8que pas \r\nl\xE0 o\xF9 tu manges\"\r\n\r\n40\r\n00:01:36,241 --> 00:01:38,274\r\nsignifie de ne pas\r\navoir d'histoire d'amour\r\n\r\n41\r\n00:01:38,276 --> 00:01:39,876\r\nsur le lieu de travail.\r\n\r\n42\r\n00:01:41,078 --> 00:01:43,062\r\nVraiment ?\r\n\r\n43\r\n00:01:48,470 --> 00:01:50,787\r\nJe l'ai toujours pris\r\nau premier degr\xE9.\r\n\r\n44\r\n00:01:50,789 --> 00:01:53,622\r\nC'est pourquoi je n'ai\r\njamais fait mes besoins\r\n\r\n45\r\n00:01:53,624 --> 00:01:55,992\r\nici ou dans tout autre restaurant.\r\n\r\n46\r\n00:01:57,946 --> 00:01:59,979\r\nJe suis soulag\xE9e que\r\ntu n'aies pas de probl\xE8me\r\n\r\n47\r\n00:01:59,981 --> 00:02:01,264\r\navec le fait que nous \r\ntravaillions ensemble.\r\n\r\n48\r\n00:02:01,266 --> 00:02:03,516\r\nPas aussi soulag\xE9\r\nque je vais l'\xEAtre.\r\n\r\n49\r\n00:02:04,518 --> 00:02:06,753\r\nC'est un tout nouveau monde,\r\npetite madame.\r\n\r\n50\r\n00:02:28,342 --> 00:02:32,342\r\n\u266A The Big Bang Theory 7x05 \u266A\r\nLa Proximit\xE9 du Lieu de Travail\r\nPremi\xE8re diffusion le 17-10-2013\r\n\r\n51\r\n00:02:32,367 --> 00:02:37,367\r\n-= Synchro par elderman =-\r\n-= www.addic7ed.com =-\r\n\r\n52\r\n00:02:37,818 --> 00:02:39,385\r\nTu es malade ?\r\n\r\n53\r\n00:02:39,387 --> 00:02:40,436\r\nTu ne veux pas\r\n\r\n54\r\n00:02:40,438 --> 00:02:42,305\r\nque ta petite amie\r\ntravaille avec toi.\r\n\r\n55\r\n00:02:42,307 --> 00:02:45,007\r\nPalourde de l'Enfer.\r\n\r\n56\r\n00:02:45,009 --> 00:02:46,526\r\nPourquoi pas ?\r\n\r\n57\r\n00:02:46,528 --> 00:02:49,112\r\nF\xE9e Chevelue.\r\n\r\n58\r\n00:02:49,114 --> 00:02:50,680\r\n\xC7a pourrait \xEAtre romantique.\r\n\r\n59\r\n00:02:50,682 --> 00:02:52,649\r\nTu sais, mes parents \r\nse sont rencontr\xE9s au travail.\r\n\r\n60\r\n00:02:52,651 --> 00:02:55,685\r\nTon p\xE8re est gyn\xE9cologue.\r\n\r\n61\r\n00:02:55,687 --> 00:02:56,869\r\nJe sais.\r\n\r\n62\r\n00:02:56,871 --> 00:02:59,822\r\nCe qui a commenc\xE9 comme un frottis,\r\ns'est transform\xE9 en un rencard.\r\n\r\n63\r\n00:03:01,292 --> 00:03:02,675\r\nPuis elle a travaill\xE9 l\xE0-bas,\r\n\r\n64\r\n00:03:02,677 --> 00:03:04,644\r\nils se sont mari\xE9s,\r\net \xE7a s'est transform\xE9 en haine,\r\n\r\n65\r\n00:03:04,646 --> 00:03:07,196\r\nqui continue encore \xE0 ce jour.\r\n\r\n66\r\n00:03:07,298 --> 00:03:10,066\r\nCyclopes \xE0 deux yeux.\r\n\r\n67\r\n00:03:10,068 --> 00:03:12,902\r\nPeux-tu lui expliquer\r\npourquoi c'est une mauvaise id\xE9e ?\r\n\r\n68\r\n00:03:12,904 --> 00:03:14,270\r\nNon, \xE7a sera g\xE9nial.\r\n\r\n69\r\n00:03:14,272 --> 00:03:15,888\r\nLa prochaine fois qu'il aura\r\nune conjonctivite au travail,\r\n\r\n70\r\n00:03:15,890 --> 00:03:19,942\r\npeut-\xEAtre que c'est elle qui tiendra\r\nsa t\xEAte pour lui mettre ses gouttes.\r\n\r\n71\r\n00:03:19,944 --> 00:03:22,428\r\nB\xE9b\xE9 G\xE9ant.\r\n\r\n72\r\n00:03:22,430 --> 00:03:24,280\r\nC'est un Ogre Furieux.\r\n\r\n73\r\n00:03:24,282 --> 00:03:26,516\r\nJe sais.\r\n\r\n74\r\n00:03:28,519 --> 00:03:30,686\r\nJe dis juste que je ne voudrais pas\r\ntravailler avec Bernadette.\r\n\r\n75\r\n00:03:30,688 --> 00:03:32,655\r\nPeux-tu imaginer\r\nvoir quelqu'un toute la journ\xE9e\r\n\r\n76\r\n00:03:32,657 --> 00:03:34,123\r\net devoir aussi la voir\r\n\r\n77\r\n00:03:34,125 --> 00:03:35,825\r\napr\xE8s le travail ?\r\n\r\n78\r\n00:03:35,827 --> 00:03:37,493\r\nAttends. On fait \xE7a tout le temps.\r\n\r\n79\r\n00:03:37,495 --> 00:03:39,228\r\nOn travaille ensemble \r\net on joue ensemble.\r\n\r\n80\r\n00:03:39,230 --> 00:03:42,882\r\nOui, je sais, et \xE7a m'a conduit\r\ndans les bras d'une autre femme.\r\n\r\n81\r\n00:03:44,701 --> 00:03:46,719\r\nOurs Bipolaire.\r\n\r\n82\r\n00:03:46,721 --> 00:03:49,605\r\nJ'appr\xE9cie votre inqui\xE9tude,\r\n\r\n83\r\n00:03:49,607 --> 00:03:52,809\r\nmais je n'escompte pas voir\r\nAmy davantage qu'actuellement.\r\n\r\n84\r\n00:03:52,811 --> 00:03:55,094\r\nNous d\xE9duirons le temps \r\npass\xE9 en plus ensemble\r\n\r\n85\r\n00:03:55,096 --> 00:03:57,964\r\nau travail de notre quota \r\nhebdomadaire.\r\n\r\n86\r\n00:03:59,883 --> 00:04:02,552\r\nLaisse-moi \xEAtre l\xE0 \r\nquand tu lui diras \xE7a.\r\n\r\n87\r\n00:04:03,520 --> 00:04:05,688\r\nPourquoi ? Pour voir \r\nla t\xEAte d'Amy\r\n\r\n88\r\n00:04:05,690 --> 00:04:07,990\r\nquand elle entendra\r\nmon excellente id\xE9e ?\r\n\r\n89\r\n00:04:07,992 --> 00:04:10,576\r\nS'il te plait,\r\nlaisse-moi juste \xEAtre l\xE0.\r\n\r\n90\r\n00:04:12,546 --> 00:04:15,681\r\nAlors, Amy, sur quoi\r\ntravailles-tu \xE0 Caltech ?\r\n\r\n91\r\n00:04:15,683 --> 00:04:17,467\r\nJe dirige une \xE9tude pour voir\r\n\r\n92\r\n00:04:17,469 --> 00:04:19,368\r\nsi une carence de \r\nl'enzyme monoamine-oxydase\r\n\r\n93\r\n00:04:19,370 --> 00:04:21,444\r\nm\xE8ne \xE0 annihiler \r\nla peur chez les singes.\r\n\r\n94\r\n00:04:22,340 --> 00:04:25,158\r\nS'ils sont comme les humains,\r\nla r\xE9ponse est oui.\r\n\r\n95\r\n00:04:25,160 --> 00:04:27,577\r\nAttends, tu as d\xE9j\xE0 r\xE9alis\xE9e\r\ncette exp\xE9rience sur des humains ?\r\n\r\n96\r\n00:04:27,579 --> 00:04:30,263\r\nComme des d\xE9tenus dans le couloir \r\nde la mort avec plus rien \xE0 perdre ?\r\n\r\n97\r\n00:04:30,365 --> 00:04:33,082\r\nNon, \xE7a ne serait pas \xE9thique.\r\n\r\n98\r\n00:04:34,618 --> 00:04:36,586\r\nVous savez,\r\npeu de gens le savent,\r\n\r\n99\r\n00:04:36,588 --> 00:04:37,837\r\nmais l'enzyme monoamine-oxydase\r\n\r\n100\r\n00:04:37,839 --> 00:04:39,789\r\na \xE9t\xE9 d\xE9couvert par une femme,\r\nMary Bernheim.\r\n\r\n101\r\n00:04:42,276 --> 00:04:43,542\r\nC'est exact.\r\n\r\n102\r\n00:04:43,544 --> 00:04:46,545\r\nMon t\xE9l\xE9phone est aussi\r\nintelligent que vous, les filles.\r\n\r\n103\r\n00:04:48,316 --> 00:04:49,448\r\nAmy, Bernadette, Penny.\r\n\r\n104\r\n00:04:53,538 --> 00:04:56,305\r\nIl n'arr\xEAtera jamais\r\nde faire \xE7a, hein ?\r\n\r\n105\r\n00:04:56,307 --> 00:04:57,440\r\n\xC7a ne me d\xE9range pas.\r\n\r\n106\r\n00:04:57,442 --> 00:04:59,108\r\nJ'esp\xE8re mettre son\r\namour de la r\xE9p\xE9tition\r\n\r\n107\r\n00:04:59,110 --> 00:05:00,860\r\n\xE0 profit un jour.\r\n\r\n108\r\n00:05:05,233 --> 00:05:06,399\r\nJ'ai chang\xE9 d'avis.\r\n\r\n109\r\n00:05:06,401 --> 00:05:07,900\r\nTu ne peux pas travailler\r\nau m\xEAme endroit que moi.\r\n\r\n110\r\n00:05:07,902 --> 00:05:09,268\r\nProfite du reste de ta soir\xE9e.\r\n\r\n111\r\n00:05:10,905 --> 00:05:13,122\r\nJ'ai d\xE9j\xE0 sign\xE9 le contrat.\r\n\r\n112\r\n00:05:13,124 --> 00:05:14,523\r\nJ'ai encaiss\xE9 un ch\xE8que.\r\n\r\n113\r\n00:05:14,525 --> 00:05:16,575\r\nTu ne vas pas pouvoir\r\n\r\n114\r\n00:05:16,577 --> 00:05:18,427\r\nbien te sortir de \xE7a.\r\n\r\n115\r\n00:05:18,429 --> 00:05:19,662\r\nJe ne comprends pas.\r\n\r\n116\r\n00:05:19,664 --> 00:05:21,580\r\nJe croyais que tu avais dit\r\nque \xE7a ne te posait pas de probl\xE8me.\r\n\r\n117\r\n00:05:21,582 --> 00:05:22,698\r\nC'est vrai.\r\n\r\n118\r\n00:05:22,700 --> 00:05:24,333\r\nMais c'\xE9tait avant \r\nque Howard m'explique\r\n\r\n119\r\n00:05:24,335 --> 00:05:26,469\r\ncomment \xE7a serait horrible \r\ns'il devait travailler\r\n\r\n120\r\n00:05:26,471 --> 00:05:28,137\r\navec sa moiti\xE9.\r\n\r\n121\r\n00:05:28,139 --> 00:05:30,723\r\nIl a dit quoi ?\r\n\r\n122\r\n00:05:30,725 --> 00:05:32,675\r\nNe te sens pas insult\xE9e.\r\n\r\n123\r\n00:05:32,677 --> 00:05:36,896\r\nIl a juste dit que trop de toi\r\nserait ennuyeux \xE0 mourir.\r\n\r\n124\r\n00:05:36,898 --> 00:05:40,066\r\nExcuse-moi, j'ai besoin d'avoir\r\nune discussion avec mon mari.\r\n\r\n125\r\n00:05:40,068 --> 00:05:41,901\r\nOui, fais vite.\r\n\r\n126\r\n00:05:41,903 --> 00:05:45,438\r\nDe ce que j'ai compris,\r\nla bri\xE8vet\xE9 est ton amie.\r\n\r\n127\r\n00:05:46,573 --> 00:05:48,741\r\nDonc, sans rancune ?\r\n\r\n128\r\n00:05:48,743 --> 00:05:50,326\r\nNon, on n'est pas d'accord.\r\n\r\n129\r\n00:05:50,328 --> 00:05:51,827\r\nJe vais travailler \r\nsur ce projet.\r\n\r\n130\r\n00:05:51,829 --> 00:05:54,080\r\nEt tu ne peux pas lui dire \r\nce qu'elle peut et ne peut pas faire.\r\n\r\n131\r\n00:05:54,082 --> 00:05:56,098\r\nLa semaine derni\xE8re,\r\ntu as dit \xE0 L\xE9onard\r\n\r\n132\r\n00:05:56,100 --> 00:05:58,300\r\nqu'il ne pouvait pas porter\r\nsa veste Wookiee en public.\r\n\r\n133\r\n00:05:58,302 --> 00:05:59,518\r\nC'est diff\xE9rent.\r\n\r\n134\r\n00:05:59,520 --> 00:06:01,454\r\nJe ne vais pas au centre commercial\r\navec quelqu'un habill\xE9\r\n\r\n135\r\n00:06:01,456 --> 00:06:03,539\r\nen stupide ours de l'espace.\r\n\r\n136\r\n00:06:05,575 --> 00:06:07,626\r\nTu n'as pas \xE0 t\u2019inqui\xE9ter\r\nque je t'importune.\r\n\r\n137\r\n00:06:07,628 --> 00:06:08,878\r\nJe serai dans un autre b\xE2timent.\r\n\r\n138\r\n00:06:08,880 --> 00:06:10,746\r\nEt on n'a m\xEAme pas\r\n\xE0 d\xE9jeuner ensemble.\r\n\r\n139\r\n00:06:10,748 --> 00:06:11,864\r\nVraiment ?\r\n\r\n140\r\n00:06:11,866 --> 00:06:14,517\r\nOui. Avant tout, je suis\r\nune scientifique.\r\n\r\n141\r\n00:06:14,519 --> 00:06:16,969\r\nJe suis juste l\xE0 pour faire mon\r\nboulot et avec un peu de chance,\r\n\r\n142\r\n00:06:16,971 --> 00:06:19,605\r\nfaire flipper leur race\r\n\xE0 quelques singes.\r\n\r\n143\r\n00:06:23,144 --> 00:06:25,811\r\nTu es s\xFBre que ta personnalit\xE9\r\nd'insecte ne sera pas attir\xE9e\r\n\r\n144\r\n00:06:25,813 --> 00:06:28,564\r\nvers le feu incandescent\r\nqui me caract\xE9rise ?\r\n\r\n145\r\n00:06:31,535 --> 00:06:33,786\r\nDe plus en plus s\xFBre.\r\n\r\n146\r\n00:06:33,788 --> 00:06:36,872\r\nAlors tu as ma permission.\r\n\r\n147\r\n00:06:36,874 --> 00:06:37,957\r\nJe ne te l'ai pas demand\xE9.\r\n\r\n148\r\n00:06:37,959 --> 00:06:39,158\r\nTrop tard. \r\nPas de retour en arri\xE8re.\r\n\r\n149\r\n00:06:41,611 --> 00:06:44,413\r\nNon, \xE9coute-moi.\r\nSheldon a mal compris.\r\n\r\n150\r\n00:06:44,415 --> 00:06:45,381\r\nCe que je voulais dire,\r\n\r\n151\r\n00:06:45,383 --> 00:06:46,448\r\nc'est que si on travaillait \r\nensemble,\r\n\r\n152\r\n00:06:46,450 --> 00:06:48,117\r\nil y aurait trop de moi pour toi,\r\n\r\n153\r\n00:06:48,119 --> 00:06:50,252\r\net non pas l'inverse.\r\n\r\n154\r\n00:06:50,254 --> 00:06:52,722\r\nSi tu veux mentir \xE0 ta femme,\r\n\r\n155\r\n00:06:52,724 --> 00:06:55,324\r\nne commence pas une phrase avec\r\n\"Sheldon a mal compris\".\r\n\r\n156\r\n00:06:56,877 --> 00:06:58,010\r\nC'est un indice r\xE9v\xE9lateur.\r\n\r\n157\r\n00:06:58,012 --> 00:06:59,929\r\nEh bien ?\r\n\r\n158\r\n00:06:59,931 --> 00:07:01,130\r\nD'accord, bien.\r\n\r\n159\r\n00:07:01,132 --> 00:07:02,898\r\nJ'ai dit \xE7a,\r\net je pense que c'est vrai.\r\n\r\n160\r\n00:07:02,900 --> 00:07:05,017\r\nJe pense que si on travaillait\r\net vivait ensemble,\r\n\r\n161\r\n00:07:05,019 --> 00:07:06,519\r\non en aurait marre l'un de l'autre.\r\n\r\n162\r\n00:07:06,521 --> 00:07:08,104\r\nOui, mais pour \xEAtre honn\xEAte,\r\nil a juste parl\xE9 du fait\r\n\r\n163\r\n00:07:08,106 --> 00:07:09,188\r\nque lui en aurait marre de toi.\r\n\r\n164\r\n00:07:09,190 --> 00:07:11,023\r\nPour l'amour de Dieu, \r\npourquoi ?\r\n\r\n165\r\n00:07:15,212 --> 00:07:17,863\r\nQu'est-ce qui te fait penser \r\nque tu en aurais marre ?\r\n\r\n166\r\n00:07:17,865 --> 00:07:20,015\r\nSes seules options c'est \r\nde feindre une crise cardiaque\r\n\r\n167\r\n00:07:20,017 --> 00:07:22,384\r\nou en avoir une vraie.\r\n\r\n168\r\n00:07:22,386 --> 00:07:25,654\r\nC'est rien de particulier. Je...\r\n\r\n169\r\n00:07:25,656 --> 00:07:27,823\r\nEst-ce que c'est ma voix ?\r\nEst-ce que je suis trop autoritaire ?\r\n\r\n170\r\n00:07:27,825 --> 00:07:28,958\r\nQuoi... ?\r\n\r\n171\r\n00:07:28,960 --> 00:07:31,877\r\nMon bras est engourdi.\r\n\r\n172\r\n00:07:32,796 --> 00:07:35,781\r\nDans le mille.\r\n\r\n173\r\n00:07:35,783 --> 00:07:39,385\r\nC'est le mauvais bras \r\npour une crise cardiaque, imb\xE9cile.\r\n\r\n174\r\n00:07:41,221 --> 00:07:44,356\r\nLe fait est que je suis s\xFBr\r\nque certaines choses\r\n\r\n175\r\n00:07:44,358 --> 00:07:46,642\r\nte rendraient folle\r\nsi tu devais les supporter\r\n\r\n176\r\n00:07:46,644 --> 00:07:48,394\r\ntoute la journ\xE9e.\r\n\r\n177\r\n00:07:48,396 --> 00:07:50,596\r\nComme me regarder dans les yeux \r\nquand tu me mens ?\r\n\r\n178\r\n00:07:50,598 --> 00:07:52,148\r\nAllez, j'ai juste...\r\n\r\n179\r\n00:07:52,150 --> 00:07:55,401\r\nO\xF9 est-ce que je dois regarder\r\nquand je te mens ?\r\n\r\n180\r\n00:07:55,403 --> 00:07:57,753\r\nTrouve un autre endroit \r\npour dormir ce soir.\r\n\r\n181\r\n00:08:06,863 --> 00:08:10,466\r\nSi \xE7a peut te faire te sentir mieux,\r\nAmy et moi \xE7a va bien.\r\n\r\n182\r\n00:08:13,069 --> 00:08:15,237\r\nJe dirais m\xEAme, tr\xE8s bien.\r\n\r\n183\r\n00:08:17,474 --> 00:08:19,842\r\nAlors, les gar\xE7ons, comment\r\n\xE9tait la soir\xE9e pyjama ?\r\n\r\n184\r\n00:08:19,844 --> 00:08:23,729\r\nVous avez saut\xE9 sur le lit en chantant\r\ndans vos brosses \xE0 cheveux ?\r\n\r\n185\r\n00:08:23,731 --> 00:08:25,931\r\nCe n'\xE9tait pas une soir\xE9e pyjama.\r\n\r\n186\r\n00:08:25,933 --> 00:08:28,434\r\nC'\xE9tait juste un couple de potes\r\n\xE0 trainer, rigoler,\r\n\r\n187\r\n00:08:28,436 --> 00:08:31,520\r\nqui mangent des cookies et\r\nregardent Princess Bride.\r\n\r\n188\r\n00:08:33,073 --> 00:08:34,607\r\nS'il te plait, arr\xEAte de parler.\r\n\r\n189\r\n00:08:36,243 --> 00:08:38,861\r\nComme tu veux.\r\n\r\n190\r\n00:08:42,666 --> 00:08:44,733\r\nRien ne serait arriv\xE9\r\n\r\n191\r\n00:08:44,735 --> 00:08:46,202\r\nsi je n'avais pas \r\nessay\xE9 de t'aider.\r\n\r\n192\r\n00:08:46,204 --> 00:08:48,787\r\n\xC7a ne serait aussi pas arriv\xE9\r\n\r\n193\r\n00:08:48,789 --> 00:08:50,289\r\nsi dans l'Univers primitif,\r\n\r\n194\r\n00:08:50,291 --> 00:08:53,792\r\nl'hydrog\xE8ne \xE9tait un peu plus\r\nou un peu moins commun.\r\n\r\n195\r\n00:08:53,794 --> 00:08:56,278\r\nC'est marrant. \xC0 toi.\r\n\r\n196\r\n00:08:57,264 --> 00:08:58,597\r\nMessieurs.\r\n\r\n197\r\n00:08:58,599 --> 00:09:00,282\r\nBonjour.\r\n\r\n198\r\n00:09:00,284 --> 00:09:01,684\r\nC'\xE9tait un peu glacial.\r\n\r\n199\r\n00:09:01,686 --> 00:09:03,335\r\nVous avez des soucis ?\r\n\r\n200\r\n00:09:03,337 --> 00:09:04,353\r\nNon, \xE7a va.\r\n\r\n201\r\n00:09:04,355 --> 00:09:05,771\r\nComme Howard l'a conseill\xE9,\r\n\r\n202\r\n00:09:05,773 --> 00:09:07,973\r\nelle respecte tout juste\r\nnos fronti\xE8res professionnelles.\r\n\r\n203\r\n00:09:07,975 --> 00:09:08,941\r\nBien vu.\r\n\r\n204\r\n00:09:08,943 --> 00:09:10,543\r\nPrendre des conseils amoureux\r\nde la part de celui\r\n\r\n205\r\n00:09:10,545 --> 00:09:12,962\r\nqui a tress\xE9 les cheveux de Raj \r\nla nuit derni\xE8re.\r\n\r\n206\r\n00:09:15,431 --> 00:09:18,450\r\nOui, tu marques un point.\r\n\r\n207\r\n00:09:18,452 --> 00:09:20,653\r\nIl semblerait \r\nque je m'inqui\xE9tais pour rien.\r\n\r\n208\r\n00:09:20,655 --> 00:09:22,204\r\nRegardez-la, qui cherche \r\nd\xE9sesp\xE9r\xE9ment\r\n\r\n209\r\n00:09:22,206 --> 00:09:24,156\r\n\xEAtre ici, \xE0 la table cool.\r\n\r\n210\r\n00:09:26,576 --> 00:09:28,327\r\nNe t'inqui\xE8te pas,\r\npetit papillon de nuit.\r\n\r\n211\r\n00:09:28,329 --> 00:09:30,629\r\nLa flamme viendra \xE0 toi.\r\n\r\n212\r\n00:09:34,569 --> 00:09:36,385\r\nAu cas o\xF9 Bernadette \r\nne rappelle pas\r\n\r\n213\r\n00:09:36,387 --> 00:09:37,770\r\npour s'excuser, \r\nque dirais-tu\r\n\r\n214\r\n00:09:37,772 --> 00:09:39,672\r\nde manger mexicain ce soir ?\r\n\r\n215\r\n00:09:39,674 --> 00:09:41,840\r\nJe ne sais pas.\r\n\xC7a a l'air lourd.\r\n\r\n216\r\n00:09:41,842 --> 00:09:44,810\r\nC'est parce que tu te bourres\r\ntoujours de chips.\r\n\r\n217\r\n00:09:44,812 --> 00:09:47,479\r\nEt voici le Dr. Gunderson\r\nde Stockholm.\r\n\r\n218\r\n00:09:47,481 --> 00:09:49,031\r\nLa Su\xE8de.\r\n\r\n219\r\n00:09:49,033 --> 00:09:50,733\r\nLa patrie de mon Muppet pr\xE9f\xE9r\xE9\r\n\r\n220\r\n00:09:50,735 --> 00:09:53,719\r\net ma seconde boulette\r\nde viande pr\xE9f\xE9r\xE9e.\r\n\r\n221\r\n00:09:57,140 --> 00:10:01,343\r\nLa r\xE9putation du manque d'humour\r\ndes gens du nord est bien fond\xE9e.\r\n\r\n222\r\n00:10:02,812 --> 00:10:05,581\r\nDis donc, son nom est Gunderson\r\nou Pasdr\xF4lson ?\r\n\r\n223\r\n00:10:06,833 --> 00:10:09,068\r\nO\xF9 allons-nous avec \xE7a,\r\nDr Cooper ?\r\n\r\n224\r\n00:10:09,070 --> 00:10:11,103\r\nJe suis ton petit ami.\r\n\r\n225\r\n00:10:11,105 --> 00:10:13,555\r\nTu m'appelles Sheldon.\r\n\r\n226\r\n00:10:13,557 --> 00:10:16,158\r\nC'est vrai. Je suis dans \r\nune relation homme-femme\r\n\r\n227\r\n00:10:16,160 --> 00:10:18,928\r\navec ce petit morceau de laine.\r\n\r\n228\r\n00:10:20,047 --> 00:10:21,764\r\nC'est aussi une relation physique.\r\n\r\n229\r\n00:10:21,766 --> 00:10:25,517\r\nOn se tient la main, se prend dans\r\nnos bras... m\xEAme quand il fait chaud.\r\n\r\n230\r\n00:10:28,171 --> 00:10:29,538\r\n\xC7a c'est nouveau.\r\n\r\n231\r\n00:10:29,540 --> 00:10:31,140\r\nApparemment, maintenant\r\non se donne aussi des coups de pieds\r\n\r\n232\r\n00:10:31,142 --> 00:10:32,775\r\ndans le tibia sous la table.\r\n\r\n233\r\n00:10:34,477 --> 00:10:37,012\r\nTu aimes \xE7a aussi\r\nsi je te le fais ?\r\n\r\n234\r\n00:10:38,398 --> 00:10:41,066\r\nPas vraiment, n'est-ce pas ?\r\n\r\n235\r\n00:10:53,498 --> 00:10:55,883\r\nSujet test D7,\r\n\r\n236\r\n00:10:55,885 --> 00:10:58,535\r\nalias Betsy, \xE9tude \r\nsur la r\xE9ponse \xE0 la peur.\r\n\r\n237\r\n00:10:58,537 --> 00:11:02,389\r\nImage n\xB01 : un fran\xE7ais \xE0 bicyclette\r\ntransportant des baguettes.\r\n\r\n238\r\n00:11:05,393 --> 00:11:08,395\r\nPas de r\xE9action notable.\r\n\r\n239\r\n00:11:08,397 --> 00:11:10,764\r\nImage n\xB02 : soubassophone.\r\n\r\n240\r\n00:11:13,234 --> 00:11:14,735\r\nToujours pas de r\xE9action.\r\n\r\n241\r\n00:11:15,738 --> 00:11:17,371\r\nMontons d'un cran.\r\n\r\n242\r\n00:11:17,373 --> 00:11:20,090\r\nImage n\xB03 : crocodile avec\r\nla gueule pleine de singes.\r\n\r\n243\r\n00:11:24,078 --> 00:11:27,131\r\nOk, on est sur la bonne voie.\r\n\r\n244\r\n00:11:27,133 --> 00:11:29,066\r\nDr. Fowler ?\r\n\r\n245\r\n00:11:29,068 --> 00:11:31,135\r\nQue veux-tu Sheldon ?\r\n\r\n246\r\n00:11:31,137 --> 00:11:33,220\r\nJ'ai fini de travailler donc...\r\n\r\n247\r\n00:11:34,423 --> 00:11:36,357\r\nD\xE9sol\xE9e.\r\n\r\n248\r\n00:11:39,094 --> 00:11:40,527\r\nMieux ?\r\n\r\n249\r\n00:11:40,529 --> 00:11:41,695\r\nBaguettes.\r\n\r\n250\r\n00:11:41,697 --> 00:11:43,897\r\nOui j'aime les baguettes.\r\n\r\n251\r\n00:11:43,899 --> 00:11:46,099\r\nQue fais-tu au juste ?\r\n\r\n252\r\n00:11:46,101 --> 00:11:48,535\r\nD\xE9terminer la base des niveaux de \r\npeurs chez les singes capucins\r\n\r\n253\r\n00:11:48,537 --> 00:11:50,871\r\nen mesurant leurs r\xE9ponses\r\naux stimuli visuels.\r\n\r\n254\r\n00:11:50,873 --> 00:11:52,339\r\nAlors, tr\xEAve de plaisanterie.\r\n\r\n255\r\n00:11:54,909 --> 00:11:57,578\r\nComme je le disais, j'ai fini de\r\ntravailler et pas L\xE9onard.\r\n\r\n256\r\n00:11:57,580 --> 00:12:00,214\r\nBonne nouvelle, tu me ram\xE8nes \r\n\xE0 la maison.\r\n\r\n257\r\n00:12:00,216 --> 00:12:01,248\r\nAbats tes cartes finement,\r\n\r\n258\r\n00:12:01,250 --> 00:12:02,750\r\nje te laisserai me conduire\r\n\r\n259\r\n00:12:02,752 --> 00:12:05,836\r\nau-del\xE0 du terrain\r\no\xF9 les bus se garent la nuit.\r\n\r\n260\r\n00:12:05,838 --> 00:12:07,638\r\nJe ne peux pas partir maintenant.\r\n\r\n261\r\n00:12:07,640 --> 00:12:08,756\r\nJe suis tr\xE8s occup\xE9e.\r\n\r\n262\r\n00:12:08,758 --> 00:12:10,557\r\nDe plus, pourquoi voudrais-je \r\nte rendre service\r\n\r\n263\r\n00:12:10,559 --> 00:12:12,576\r\napr\xE8s la fa\xE7on dont tu m'as trait\xE9e\r\n\xE0 la caf\xE9t\xE9ria ?\r\n\r\n264\r\n00:12:12,578 --> 00:12:15,128\r\nImage n\xB04 : boa constrictor.\r\n\r\n265\r\n00:12:18,967 --> 00:12:21,935\r\nDe quoi tu parles ?\r\n\r\n266\r\n00:12:21,937 --> 00:12:23,487\r\nMon comportement \xE0 la caf\xE9t\xE9ria\r\n\r\n267\r\n00:12:23,489 --> 00:12:25,305\r\n\xE9tait parfait.\r\n\r\n268\r\n00:12:25,307 --> 00:12:27,491\r\nPeut-\xEAtre que ton ami\r\nGunderson a besoin\r\n\r\n269\r\n00:12:27,493 --> 00:12:29,443\r\nd'aller chez Ikea\r\net d'assembler\r\n\r\n270\r\n00:12:29,445 --> 00:12:32,379\r\nun sens de l'humour.\r\n\r\n271\r\n00:12:32,381 --> 00:12:34,364\r\nTu m'as embarrass\xE9e\r\ndevant mes coll\xE8gues\r\n\r\n272\r\n00:12:34,366 --> 00:12:35,982\r\npour mon premier jour.\r\n\r\n273\r\n00:12:36,684 --> 00:12:37,785\r\nImage n\xB05 :\r\n\r\n274\r\n00:12:37,787 --> 00:12:39,186\r\nchaton dans une tasse de th\xE9.\r\n\r\n275\r\n00:12:44,959 --> 00:12:47,528\r\nT'embarrasser ?\r\nTu sais quoi ?\r\n\r\n276\r\n00:12:47,530 --> 00:12:50,431\r\nJe n'ai pas le temps pour \xE7a. \r\nTrouve un autre moyen de rentrer.\r\n\r\n277\r\n00:12:50,433 --> 00:12:53,450\r\nJe commence \xE0 comprendre pourquoi\r\ntu es f\xE2ch\xE9e apr\xE8s moi.\r\n\r\n278\r\n00:12:53,452 --> 00:12:55,001\r\nVraiment ?\r\nQu'est-ce qui t'a mis sur la voie ?\r\n\r\n279\r\n00:12:55,003 --> 00:12:56,053\r\nDeux choses, en fait.\r\n\r\n280\r\n00:12:56,055 --> 00:12:57,170\r\nLe ton de ta voix,\r\nton langage corporel...\r\n\r\n281\r\n00:12:57,172 --> 00:12:58,806\r\n- Dehors.\r\n- Maintenant, \xE7a.\r\n\r\n282\r\n00:13:00,675 --> 00:13:03,310\r\nImage n\xB06 : femme\r\ndonnant naissance.\r\n\r\n283\r\n00:13:12,570 --> 00:13:14,187\r\nIl est 21 heures.\r\nO\xF9 \xE9tais-tu ?\r\n\r\n284\r\n00:13:14,189 --> 00:13:17,307\r\nJ'ai du prendre le bus\r\npour rentrer.\r\n\r\n285\r\n00:13:17,309 --> 00:13:20,844\r\nJe me suis endormi \r\net j'ai rat\xE9 mon arr\xEAt.\r\n\r\n286\r\n00:13:22,648 --> 00:13:26,633\r\nTu savais que Los Angeles avait\r\nun petit Sri Lanka ?\r\n\r\n287\r\n00:13:26,635 --> 00:13:28,986\r\nJe ne savais pas.\r\n\r\n288\r\n00:13:28,988 --> 00:13:31,004\r\nMaintenant... oui.\r\n\r\n289\r\n00:13:31,006 --> 00:13:33,707\r\nIls sont adorables.\r\n\r\n290\r\n00:13:33,709 --> 00:13:37,377\r\nM\xEAme si c'est terrifiant de se r\xE9veiller\r\nen face d'eux.\r\n\r\n291\r\n00:13:38,379 --> 00:13:39,646\r\nSi tu as faim, j'ai ramen\xE9\r\n\r\n292\r\n00:13:39,648 --> 00:13:41,632\r\ndu mouton et du lait de coco.\r\n\r\n293\r\n00:13:41,634 --> 00:13:43,617\r\nPourquoi tu as pris \xE7a ?\r\nTu d\xE9testes l'agneau.\r\n\r\n294\r\n00:13:43,619 --> 00:13:45,686\r\nJe demandais mon chemin.\r\n\r\n295\r\n00:13:45,688 --> 00:13:49,206\r\nApparemment, il y a eu des \r\nprobl\xE8mes de communications.\r\n\r\n296\r\n00:13:49,208 --> 00:13:52,326\r\nJe pensais qu'Amy te ram\xE8nerait\r\n\xE0 la maison.\r\n\r\n297\r\n00:13:52,328 --> 00:13:53,610\r\nOui, je le pensais aussi,\r\n\r\n298\r\n00:13:53,612 --> 00:13:55,779\r\nmais elle agit tr\xE8s \xE9trangement.\r\n\r\n299\r\n00:13:55,781 --> 00:13:58,782\r\nJ'en discutais avec un Sri lankais \r\ndans le bus,\r\n\r\n300\r\n00:13:58,784 --> 00:14:01,869\r\net il a suppos\xE9 qu'un tigre\r\npouvait\r\n\r\n301\r\n00:14:01,871 --> 00:14:04,054\r\nse cacher dans son ombre.\r\n\r\n302\r\n00:14:05,907 --> 00:14:08,342\r\nBien qu'il ait peut-\xEAtre \r\nessay\xE9 de m'attirer\r\n\r\n303\r\n00:14:08,344 --> 00:14:11,345\r\nchez son beau-fr\xE8re \r\nqui est m\xE9decin-sorcier.\r\n\r\n304\r\n00:14:14,265 --> 00:14:16,834\r\nQue s'est-il pass\xE9\r\nentre toi et Amy ?\r\n\r\n305\r\n00:14:16,836 --> 00:14:20,571\r\nTu peux croire qu'elle dise\r\nque je l'ai embarrass\xE9e ?\r\n\r\n306\r\n00:14:22,658 --> 00:14:25,442\r\nMais tu n'as m\xEAme pas \r\nentendu les d\xE9tails.\r\n\r\n307\r\n00:14:29,247 --> 00:14:31,865\r\nJe te connais depuis longtemps,\r\n\r\n308\r\n00:14:31,867 --> 00:14:33,283\r\net je vais te dire ceci\r\n\r\n309\r\n00:14:33,285 --> 00:14:37,154\r\navec tout l'amour que \r\nje puisse rassembler.\r\n\r\n310\r\n00:14:37,156 --> 00:14:38,155\r\nAmy a raison.\r\n\r\n311\r\n00:14:38,157 --> 00:14:39,606\r\nTu as tort.\r\n\r\n312\r\n00:14:40,458 --> 00:14:41,658\r\nMais tu ne sais m\xEAme pas...\r\n\r\n313\r\n00:14:41,660 --> 00:14:43,076\r\nPas d'importance.\r\n\r\n314\r\n00:14:43,078 --> 00:14:45,696\r\n- Mais, pour ma d\xE9fense...\r\n- Pas d'importance.\r\n\r\n315\r\n00:14:45,698 --> 00:14:47,931\r\nTu n'\xE9coutes m\xEAme pas \r\nma version de l'histoire.\r\n\r\n316\r\n00:14:47,933 --> 00:14:50,267\r\nQuelle est ta version ?\r\n\r\n317\r\n00:14:52,287 --> 00:14:54,788\r\nNon, je suis pour Amy\r\nsur ce coup-l\xE0.\r\n\r\n318\r\n00:15:00,629 --> 00:15:01,678\r\nLes crevettes \xE9taient \xE9pic\xE9es.\r\n\r\n319\r\n00:15:01,680 --> 00:15:03,113\r\nTu veux un Spasfon ?\r\n\r\n320\r\n00:15:03,115 --> 00:15:04,431\r\nTu as celui au parfum \r\nde fruit tropical ?\r\n\r\n321\r\n00:15:04,433 --> 00:15:06,950\r\nNon si je prends ceux-l\xE0, \r\nje les mange tous comme des bonbons.\r\n\r\n322\r\n00:15:06,952 --> 00:15:08,385\r\nM'en parle pas.\r\n\r\n323\r\n00:15:08,387 --> 00:15:11,104\r\nUne fois, je le jure\r\nj'ai fais caca un baton de craie.\r\n\r\n324\r\n00:15:13,141 --> 00:15:15,359\r\nJ'y vais.\r\nMerci.\r\n\r\n325\r\n00:15:19,531 --> 00:15:21,698\r\nJ'ai peut-\xEAtre exag\xE9r\xE9.\r\n\r\n326\r\n00:15:21,700 --> 00:15:25,619\r\nJe n'ai pas tr\xE8s bien \r\nr\xE9agi non plus.\r\n\r\n327\r\n00:15:25,621 --> 00:15:28,038\r\nParfois j'ai l'impression\r\nque tu pr\xE9f\xE8res \xEAtre\r\n\r\n328\r\n00:15:28,040 --> 00:15:30,090\r\navec tes amis plut\xF4t\r\nqu'avec moi.\r\n\r\n329\r\n00:15:30,092 --> 00:15:31,909\r\nC'est pas vrai.\r\nVraiment ?\r\n\r\n330\r\n00:15:31,911 --> 00:15:33,594\r\nTu passes toute la journ\xE9e \r\nau travail,\r\n\r\n331\r\n00:15:33,596 --> 00:15:35,712\r\net tu passes tes nuits\r\n\xE0 jouer \xE0 des jeux,\r\n\r\n332\r\n00:15:35,714 --> 00:15:37,230\r\naller au magasin de BD.\r\n\r\n333\r\n00:15:37,232 --> 00:15:39,850\r\nLa semaine derni\xE8re, vous \xEAtes all\xE9s\r\nvous faire masser deux fois.\r\n\r\n334\r\n00:15:42,487 --> 00:15:45,055\r\nDonc quand tu as dit que\r\ntu ne voudrais pas passer\r\n\r\n335\r\n00:15:45,057 --> 00:15:48,025\r\ntant de temps avec moi, \r\n\xE7a m'a vraiment bless\xE9e.\r\n\r\n336\r\n00:15:49,645 --> 00:15:50,978\r\nOui je comprends.\r\n\r\n337\r\n00:15:50,980 --> 00:15:52,112\r\nJe suis vraiment d\xE9sol\xE9.\r\n\r\n338\r\n00:15:52,114 --> 00:15:54,865\r\n\xC0 partir de demain,\r\nje tourne une nouvelle page.\r\n\r\n339\r\n00:15:54,867 --> 00:15:57,985\r\nPasser du temps avec toi \r\nsera ma priorit\xE9.\r\n\r\n340\r\n00:15:59,989 --> 00:16:01,688\r\nPourquoi demain ?\r\n\r\n341\r\n00:16:03,190 --> 00:16:05,509\r\nOn est \xE0 presque terminer\r\n\r\n342\r\n00:16:05,511 --> 00:16:07,377\r\nle nouveau jeu Batman.\r\n\r\n343\r\n00:16:08,513 --> 00:16:11,665\r\nIl est g\xE9nial.\r\n\r\n344\r\n00:16:13,968 --> 00:16:16,003\r\nTu devrais probablement\r\nlui courir apr\xE8s.\r\n\r\n345\r\n00:16:16,005 --> 00:16:17,754\r\nEst-ce que je dois \r\nte courir apr\xE8s ?\r\n\r\n346\r\n00:16:21,592 --> 00:16:24,094\r\nMerci de m'avoir \r\nattir\xE9 des ennuis.\r\n\r\n347\r\n00:16:34,722 --> 00:16:37,324\r\nQu'est-ce que tu fais \r\nici \xE0 cette heure l\xE0 ?\r\n\r\n348\r\n00:16:37,326 --> 00:16:39,192\r\nJe ne pouvais par dormir \r\nparce que je r\xE9fl\xE9chissais\r\n\r\n349\r\n00:16:39,194 --> 00:16:41,445\r\n\xE0 ce qui nous \xE9tait arriv\xE9 plus t\xF4t.\r\n\r\n350\r\n00:16:42,246 --> 00:16:45,615\r\nAussi, j'ai fait une sieste\r\nd'enfer dans le bus.\r\n\r\n351\r\n00:16:46,751 --> 00:16:47,901\r\nEn parlant de \xE7a,\r\n\r\n352\r\n00:16:47,903 --> 00:16:50,787\r\ntu veux un peu de mouton\r\net de lait de coco ?\r\n\r\n353\r\n00:16:51,857 --> 00:16:54,624\r\nJe ne peux pas me\r\nd\xE9barrasser de \xE7a.\r\n\r\n354\r\n00:16:54,626 --> 00:16:57,077\r\nQu'est-ce que tu veux ?\r\n\r\n355\r\n00:16:57,079 --> 00:17:00,647\r\nCe n'est pas facile \xE0 dire.\r\n\r\n356\r\n00:17:01,766 --> 00:17:04,751\r\nToutes les relations sont difficiles,\r\n\r\n357\r\n00:17:04,753 --> 00:17:07,688\r\net encore plus quand tu es\r\n\r\n358\r\n00:17:07,690 --> 00:17:09,523\r\navec quelqu'un qui peine\r\n\r\n359\r\n00:17:09,525 --> 00:17:11,858\r\navec les interactions sociales\r\nde tous les jours.\r\n\r\n360\r\n00:17:11,860 --> 00:17:13,527\r\nEt franchement...\r\n\r\n361\r\n00:17:13,529 --> 00:17:15,145\r\nqui peut reprocher \xE0 des gens\r\n\r\n362\r\n00:17:15,147 --> 00:17:17,664\r\nd'\xEAtre un peu bizarres.\r\n\r\n363\r\n00:17:19,651 --> 00:17:21,651\r\nTu n'es pas bizarre.\r\n\r\n364\r\n00:17:21,653 --> 00:17:24,271\r\nJe ne parlais pas de moi.\r\n\r\n365\r\n00:17:26,307 --> 00:17:28,441\r\nJe veux dire, honn\xEAtement,\r\nil n'y a rien\r\n\r\n366\r\n00:17:28,443 --> 00:17:30,077\r\nsur ce qui te lancerai.\r\n\r\n367\r\n00:17:30,079 --> 00:17:32,295\r\nTu sais, me pr\xE9senter comme\r\nton petit ami.\r\n\r\n368\r\n00:17:32,297 --> 00:17:35,549\r\nTe donner l'opportunit\xE9\r\nde me ramener chez moi.\r\n\r\n369\r\n00:17:35,551 --> 00:17:37,617\r\nBriser la glace avec\r\ntes coll\xE8gues\r\n\r\n370\r\n00:17:37,619 --> 00:17:40,787\r\nen utilisant de l'humour ethnique,\r\nle plus dr\xF4le des humours.\r\n\r\n371\r\n00:17:42,557 --> 00:17:44,224\r\nO\xF9 veux-tu en venir ?\r\n\r\n372\r\n00:17:44,226 --> 00:17:46,626\r\nNous sommes un couple.\r\n\r\n373\r\n00:17:48,363 --> 00:17:50,480\r\nJe t'aime bien \r\npour ce que tu es.\r\n\r\n374\r\n00:17:50,482 --> 00:17:52,365\r\nTon excentricit\xE9 et tout.\r\n\r\n375\r\n00:17:54,102 --> 00:17:55,652\r\nJe t'aime bien, aussi.\r\n\r\n376\r\n00:17:55,654 --> 00:17:58,188\r\nJe l'esp\xE8re bien.\r\n\r\n377\r\n00:17:58,190 --> 00:18:00,323\r\nJe ne vois personne d'autre\r\nfrappant \xE0 cette porte\r\n\r\n378\r\n00:18:00,325 --> 00:18:02,826\r\ncomposer avec ton non-sense.\r\n\r\n379\r\n00:18:06,981 --> 00:18:09,583\r\nM\xEAme pas un au revoir ?\r\n\r\n380\r\n00:18:09,585 --> 00:18:11,084\r\nC'est le genre de chose\r\n\r\n381\r\n00:18:11,086 --> 00:18:13,620\r\nqui te font passer \r\npour bizarre.\r\n\r\n382\r\n00:18:13,622 --> 00:18:15,422\r\nPauvre enfant.\r\n\r\n383\r\n00:18:15,424 --> 00:18:17,507\r\nElle ne le voit juste pas.\r\n\r\n384\r\n00:18:27,608 --> 00:18:28,691\r\nJe ne m'excuse pas \r\naupr\xE8s d'Howard.\r\n\r\n385\r\n00:18:28,693 --> 00:18:30,342\r\nIl peut venir\r\nme supplier \xE0 genoux.\r\n\r\n386\r\n00:18:30,344 --> 00:18:31,694\r\nSheldon, \xE9galement.\r\n\r\n387\r\n00:18:31,696 --> 00:18:34,196\r\nSi je le vois au boulot,\r\nje vais l'ignorer.\r\n\r\n388\r\n00:18:34,198 --> 00:18:36,032\r\nTr\xE8s bien, ne t'inqui\xE8te pas.\r\nJ'ai parl\xE9 \xE0 Leonard.\r\n\r\n389\r\n00:18:36,034 --> 00:18:38,801\r\nIl va s'asseoir avec les mecs\r\net les remettre \xE0 leur place.\r\n\r\n390\r\n00:18:38,803 --> 00:18:40,820\r\nLe laser est pr\xEAt.\r\n\r\n391\r\n00:18:40,896 --> 00:18:41,928\r\nFeu !\r\n\r\n392\r\n00:18:44,274 --> 00:18:49,274\r\n-= Synchro par elderman =-\r\n-= www.addic7ed.com =-\r\n\r\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Disposition: - attachment; filename="The Big Bang Theory - 07x05 - The Workplace Proximity.DIMENSION.French.updated.Addic7ed.com.srt" Content-Type: - text/srt; charset=UTF-8 Date: - Sat, 01 Jun 2024 07:21:27 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id.yaml0000644000175100001770000160455014636376416024334 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:14:30 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=l81b9nvcc8go9t98ceb88f4hr0; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_country.yaml0000644000175100001770000160455014636376416026117 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:14:28 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=ahs9o065angdfkl90m5nefnjb6; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_quote_dots_mixed_case.yaml0000644000175100001770000160447114636376416030765 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:14:27 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=k42md41552nr0noub01n5e8dd1; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_with_comma.yaml0000644000175100001770000160454714636376416026551 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:14:28 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=oba82fiigudju0p4dr9ur7cig5; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_id_year.yaml0000644000175100001770000160455014636376416025354 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:14:29 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=l1al23onfu4qb9r6nslrgdvc93; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_get_show_ids.yaml0000644000175100001770000160455214636376416024521 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  427 Downloads   389 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  186 Downloads   149 Downloads   142 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  138 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:13:25 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=gchikm7cubb2leb6huoee3oel4; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles.yaml0000644000175100001770000267070514636376416025120 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:07 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=53l9kt94l7sqr8jjchcfmeus87; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=53l9kt94l7sqr8jjchcfmeus87 User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/126 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=126&season=7&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyFrenchLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyRomanianLOLCompletedDownload
71The Hofstadter InsufficiencyBulgarianLOLCompletedDownload
71The Hofstadter InsufficiencyDutchDIMENSIONCompletedDownload
71The Hofstadter InsufficiencyEnglishPimp4003-PimpRGCompletedDownload
71The Hofstadter InsufficiencyGreekAFGCompletedDownload
71The Hofstadter InsufficiencyItalianHDTVCompletedDownload
71The Hofstadter InsufficiencyItalianCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyGerman720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyGermanLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyItalianWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishBDRip.x264.DEMANDCompletedDownload
71The Hofstadter InsufficiencyDutchBluRayCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationBulgarianLOLCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationFrenchLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationGreekAFGCompletedDownload
72The Deception VerificationGerman720p Web-DLCompletedDownload
72The Deception VerificationGermanLOLCompletedDownload
72The Deception VerificationItalianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)720p Web-DLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationItalianWEB-DLCompletedDownload
72The Deception VerificationDutchDIMENSIONCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationEnglishBDRip.x264.DEMANDCompletedDownload
72The Deception VerificationDutchBluRayCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)DIMENSIONCompletedDownload
73The Scavenger VortexBulgarianDIMENSIONCompletedDownload
73The Scavenger VortexGreekHDTVLOLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexRussianDIMENSIONCompletedDownload
73The Scavenger VortexGermanLOLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)720p Web-DLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)LOLCompletedDownload
73The Scavenger VortexItalianWEB-DLCompletedDownload
73The Scavenger VortexItalianLOLCompletedDownload
73The Scavenger VortexDutchDIMENSIONCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexEnglishBDRip.x264.DEMANDCompletedDownload
73The Scavenger VortexDutchBluRayCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationFrenchDIMENSIONCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)DIMENSIONCompletedDownload
74The Raiders MinimizationEnglishLOLCompletedDownload
74The Raiders MinimizationGreekCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationItalianWEB-DLCompletedDownload
74The Raiders MinimizationItalianLOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)x264-LOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)720p Web-DLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)LOLCompletedDownload
74The Raiders MinimizationGerman720p Web-DLCompletedDownload
74The Raiders MinimizationGermanLOLCompletedDownload
74The Raiders MinimizationDutchDIMENSIONCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationEnglishBDRip.x264.DEMANDCompletedDownload
74The Raiders MinimizationDutchBluRayCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityFrenchDIMENSIONCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityGermanLOLCompletedDownload
75The Workplace ProximityHebrew720PDIMENSIONCompletedDownload
75The Workplace ProximityItalianLOLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)WEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)LOLCompletedDownload
75The Workplace ProximityItalianWEB-DLCompletedDownload
75The Workplace ProximityDutchDIMENSIONCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityEnglishBDRip.x264.DEMANDCompletedDownload
75The Workplace ProximityDutchBluRayCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceBulgarianDIMENSIONCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)DIMENSIONCompletedDownload
76The Romance ResonanceItalianLOLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)LOLCompletedDownload
76The Romance ResonanceGerman720p Web-DLCompletedDownload
76The Romance ResonanceGermanLOLCompletedDownload
76The Romance ResonanceItalianWEB-DLCompletedDownload
76The Romance ResonanceDutchDIMENSIONCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceEnglishBDRip.x264.DEMANDCompletedDownload
76The Romance ResonanceDutchBluRayCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementBulgarianDIMENSIONCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementItalianLOLCompletedDownload
77The Proton DisplacementGermanLOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)720p Web-DLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementItalianWEB-DLCompletedDownload
77The Proton DisplacementDutchCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementEnglishBDRip.x264.DEMANDCompletedDownload
77The Proton DisplacementDutchBluRayCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONCompletedDownload
78The Itchy Brain SimulationBulgarianDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishWeb-DLCompletedDownload
78The Itchy Brain SimulationEnglishWEB-DLCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONLOLCompletedDownload
78The Itchy Brain SimulationItalianLOLCompletedDownload
78The Itchy Brain SimulationGerman720p Web-DLCompletedDownload
78The Itchy Brain SimulationGermanLOLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)720p Web-DLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)LOLCompletedDownload
78The Itchy Brain SimulationItalianWEB-DLCompletedDownload
78The Itchy Brain SimulationDutchDIMENSIONCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationEnglishBDRip.x264.DEMANDCompletedDownload
78The Itchy Brain SimulationDutchBluRayCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingMalayDIMENSIONCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingFrenchDIMENSIONCompletedDownload
79The Thanksgiving DecouplingBulgarianDIMENSIONCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingFrenchWEB-DLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingPortugueseLOLCompletedDownload
79The Thanksgiving DecouplingItalianLOLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)720p Web-DLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingGerman720p Web-DLCompletedDownload
79The Thanksgiving DecouplingGermanLOLCompletedDownload
79The Thanksgiving DecouplingItalianWEB-DLCompletedDownload
79The Thanksgiving DecouplingDutchDimensionCompletedDownload
79The Thanksgiving DecouplingDutchWeb-dlCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingEnglishBDRip.x264.DEMANDCompletedDownload
79The Thanksgiving DecouplingDutchBluRayCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationFrenchDIMENSIONCompletedDownload
710The Discovery DissipationBulgarianDIMENSIONCompletedDownload
710The Discovery DissipationPortuguese (Brazilian)LOLCompletedDownload
710The Discovery DissipationGerman720p Web-DLCompletedDownload
710The Discovery DissipationGermanLOLCompletedDownload
710The Discovery DissipationEnglishWeb-DLCompletedDownload
710The Discovery DissipationEnglishWEB-DLCompletedDownload
710The Discovery DissipationItalianLOLCompletedDownload
710The Discovery DissipationItalianWEB-DLCompletedDownload
710The Discovery DissipationDutchDimensionCompletedDownload
710The Discovery DissipationDutchWeb-dlCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationEnglishBDRip.x264.DEMANDCompletedDownload
710The Discovery DissipationDutchBluRayCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionFrenchDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionItalianLOLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionGermanLOLCompletedDownload
711The Cooper ExtractionItalianWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionHebrewDIMCompletedDownload
711The Cooper ExtractionDutchWEB-DLCompletedDownload
711The Cooper ExtractionDutchDIMENSIONCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionEnglishBDRip.x264.DEMANDCompletedDownload
711The Cooper ExtractionDutchBluRayCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationBulgarianDIMENSIONCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationFrenchDIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)DIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)LOLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationDutchDimensionCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)WEB-DLCompletedDownload
712The Hesitation RamificationItalianLOLCompletedDownload
712The Hesitation RamificationDutchWEB-DLCompletedDownload
712The Hesitation RamificationGermanLOLCompletedDownload
712The Hesitation RamificationDutchLOLCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)720p Web-DLCompletedDownload
712The Hesitation RamificationItalianWEB-DLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationEnglishBDRip.x264.DEMANDCompletedDownload
712The Hesitation RamificationDutchBluRayCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationFrenchDIMENSIONCompletedDownload
713The Occupation RecalibrationSwedishDIMENSIONCompletedDownload
713The Occupation RecalibrationBulgarianDIMENSIONCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)WEB-DLCompletedDownload
713The Occupation RecalibrationItalianLOLCompletedDownload
713The Occupation RecalibrationItalianWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)720p Web-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationGermanLOLCompletedDownload
713The Occupation RecalibrationDutchDIMENSIONCompletedDownload
713The Occupation RecalibrationDutchWEB-DLCompletedDownload
713The Occupation RecalibrationGerman720p WEB-DLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationEnglishBDRip.x264.DEMANDCompletedDownload
713The Occupation RecalibrationDutchBluRayCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumBulgarianDIMENSIONCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumFrenchDIMENSIONCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)DIMENSIONCompletedDownload
714The Convention ConundrumRomanianDIMENSIONCompletedDownload
714The Convention ConundrumGreekLOLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumItalianLOLCompletedDownload
714The Convention ConundrumGermanLOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)LOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)720p Web-DLCompletedDownload
714The Convention ConundrumDutchDIMENSIONCompletedDownload
714The Convention ConundrumDutchWEB-DLCompletedDownload
714The Convention ConundrumItalianWEB-DLCompletedDownload
714The Convention ConundrumGerman720p WEB-DLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumEnglishBDRip.x264.DEMANDCompletedDownload
714The Convention ConundrumDutchBluRayCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationFrenchDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)DIMENSIONCompletedDownload
715The Locomotive ManipulationBulgarianDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationItalianLOLCompletedDownload
715The Locomotive ManipulationGerman720p Web-DLCompletedDownload
715The Locomotive ManipulationGermanLOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)720p Web-DLCompletedDownload
715The Locomotive ManipulationItalianWEB-DLCompletedDownload
715The Locomotive ManipulationDutchWEB-DLCompletedDownload
715The Locomotive ManipulationDutchDIMENSIONCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationEnglishBDRip.x264.DEMANDCompletedDownload
715The Locomotive ManipulationDutchBluRayCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationFrenchDIMENSIONCompletedDownload
716The Table PolarizationRomanianDIMENSIONCompletedDownload
716The Table PolarizationBulgarianDIMENSIONCompletedDownload
716The Table PolarizationPortuguese (Brazilian)LOLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationItalianLOLCompletedDownload
716The Table PolarizationItalianWEB-DLCompletedDownload
716The Table PolarizationGerman720p Web-DLCompletedDownload
716The Table PolarizationGermanLOLCompletedDownload
716The Table PolarizationDutchDIMENSIONCompletedDownload
716The Table PolarizationDutchWEB-DLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationEnglishBDRip.x264.DEMANDCompletedDownload
716The Table PolarizationDutchBluRayCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)DIMENSIONCompletedDownload
717The Friendship TurbulenceBulgarianDIMENSIONCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulenceFrenchDIMENSIONCompletedDownload
717The Friendship TurbulenceCroatianHDTV.XviD-AFGCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)LOLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceDutchDIMENSIONCompletedDownload
717The Friendship TurbulenceDutchWEB-DLCompletedDownload
717The Friendship TurbulenceGerman720p Web-DLCompletedDownload
717The Friendship TurbulenceGermanLOLCompletedDownload
717The Friendship TurbulenceItalian720p.HDTV.x264-LOLCompletedDownload
717The Friendship TurbulenceItalianWEB-DLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceEnglishBDRip.x264.DEMANDCompletedDownload
717The Friendship TurbulenceDutchBluRayCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)DIMENSIONCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationFrenchDIMENSIONCompletedDownload
718The Mommy ObservationRomanianDIMENSIONCompletedDownload
718The Mommy ObservationBulgarianDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)LOLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)720p Web-DLCompletedDownload
718The Mommy ObservationGerman720p Web-DLCompletedDownload
718The Mommy ObservationGermanLOLCompletedDownload
718The Mommy ObservationItalianHDTV.x264-DIMENSIONCompletedDownload
718The Mommy ObservationItalianWEB-DLCompletedDownload
718The Mommy ObservationDutchDIMENSIONCompletedDownload
718The Mommy ObservationDutchWEB-DLCompletedDownload
718The Mommy ObservationRussianLOLCompletedDownload
718The Mommy ObservationEnglishBDRip.x264.DEMANDCompletedDownload
718The Mommy ObservationDutchBluRayCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationFrenchDIMENSIONCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)DIMENSIONCompletedDownload
719The Indecision AmalgamationBulgarianDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)LOLCompletedDownload
719The Indecision AmalgamationItalianHDTV.x264-LOLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)720p Web-DLCompletedDownload
719The Indecision AmalgamationRomanianDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchWEB-DLCompletedDownload
719The Indecision AmalgamationGerman720p Web-DLCompletedDownload
719The Indecision AmalgamationGermanLOLCompletedDownload
719The Indecision AmalgamationItalianWEB-DLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationEnglishBDRip.x264.DEMANDCompletedDownload
719The Indecision AmalgamationDutchBluRayCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionFrenchDIMENSIONCompletedDownload
720The Relationship DiremptionRomanianDIMENSIONCompletedDownload
720The Relationship DiremptionBulgarianDIMENSIONCompletedDownload
720The Relationship DiremptionCroatianHDTV.XviD-EVOCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.x264-LOLCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.XviD-AFGCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)LOLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionItalianLOLCompletedDownload
720The Relationship DiremptionItalianWEB-DLCompletedDownload
720The Relationship DiremptionGerman720p Web-DLCompletedDownload
720The Relationship DiremptionGermanLOLCompletedDownload
720The Relationship DiremptionDutchWEB-DLCompletedDownload
720The Relationship DiremptionDutchDIMENSIONCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionEnglishBDRip.x264.DEMANDCompletedDownload
720The Relationship DiremptionDutchBluRayCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceFrenchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)DIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceBulgarianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceItalianLOLCompletedDownload
721The Anything Can Happen RecurrenceCroatianHDTV.x264-LOLCompletedDownload
721The Anything Can Happen RecurrenceRomanianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)LOLCompletedDownload
721The Anything Can Happen RecurrenceGerman720p Web-DLCompletedDownload
721The Anything Can Happen RecurrenceGermanLOLCompletedDownload
721The Anything Can Happen RecurrenceDutchWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceDutchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceItalianWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceEnglishBDRip.x264.DEMANDCompletedDownload
721The Anything Can Happen RecurrenceDutchBluRayCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)DIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationBulgarianDIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)LOLCompletedDownload
722The Proton TransmogrificationItalianLOLCompletedDownload
722The Proton TransmogrificationCroatianHDTV.x264-LOLCompletedDownload
722The Proton TransmogrificationDutchWEBDLCompletedDownload
722The Proton TransmogrificationDutchDIMENSIONCompletedDownload
722The Proton TransmogrificationItalianWEB-DLCompletedDownload
722The Proton TransmogrificationGermanLOLCompletedDownload
722The Proton TransmogrificationGerman720p WEB-DLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationEnglishBDRip.x264.DEMANDCompletedDownload
722The Proton TransmogrificationDutchBluRayCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)DIMENSIONCompletedDownload
723The Gorilla DissolutionBulgarianDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanWEB-DLCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanLOLCompletedDownload
723The Gorilla DissolutionItalianLOLCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)LOLCompletedDownload
723The Gorilla DissolutionCroatianHDTV.x264-LOLCompletedDownload
723The Gorilla DissolutionDutchWEB-DLCompletedDownload
723The Gorilla DissolutionDutchDIMENSIONCompletedDownload
723The Gorilla DissolutionItalianWEB-DLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionEnglishBDRip.x264.DEMANDCompletedDownload
723The Gorilla DissolutionDutchBluRayCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)DIMENSIONCompletedDownload
724The Status Quo CombustionBulgarianDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionFrenchDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionFrenchWEB-DLCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionCroatiandimensionCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)LOLCompletedDownload
724The Status Quo CombustionGermanLOLCompletedDownload
724The Status Quo CombustionDutchWEB-DL-YFNCompletedDownload
724The Status Quo CombustionDutchDIMENSIONCompletedDownload
724The Status Quo CombustionItalianHDTV.x264-LOLCompletedDownload
724The Status Quo CombustionItalianWEB-DLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionEnglishBDRip.x264.DEMANDCompletedDownload
724The Status Quo CombustionDutchBluRayCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Croatian
Dutch
English
French
German
Greek
Hebrew
Italian
Malay
Portuguese
Portuguese (Brazilian)
Romanian
Russian
Swedish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:15 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles_episode_alternative_series.yaml0000644000175100001770000363311314636376416032571 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:28 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=8n1jmi5i6adub78nnjrrvv5r23; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=8n1jmi5i6adub78nnjrrvv5r23 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/search.php?search=turn+washington+s+spies+1x1&Submit=Search response: body: string: "\n\n\n\n\nSearch \"turn washington s spies 1x01\" Subtitle Download - Addic7ed.com - For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -\n\n \n\n\n\n\n\n
\n
\n\n\n \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n
\n
\n
\n\n
\n\n\n\n
\n\n \ \n
\n\n

\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n
\n
\n \n
\n\n0 results found

\n\n

Sorry, your search: turn washington s spies 1x01 returned zero results

Make a REQUEST!\nOr try a different search.


\n\t
\n\n
\n
\n\n\n

\n

\n

\n
\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\"TV\"\"Addic7ed\"TV\"\"Popular Shows\"TV\"\"Useful\"TV\"\"Forums
Support Us
RSS Feeds
Premium Accounts
\"TV\"\"Tutorials
Frequently Asked Questions
What Are Subtitles
New Translation Tutorial
Upload a New Subtitle Tutorial
\"TV\"\"Stats
.\n\t\t\t\t
\n
\n
\n\n\n\n\n\n\n \n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:28 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=8n1jmi5i6adub78nnjrrvv5r23 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/search.php?search=turn+washington+s+spies+2014+1x1&Submit=Search response: body: string: "\n\n\n\n\nSearch \"turn washington s spies 2014 1x01\" Subtitle Download - Addic7ed.com - For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -\n\n \n\n\n\n\n\n
\n
\n\n\n \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n
\n
\n
\n\n
\n\n\n\n
\n\n \ \n
\n\n

\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n
\n
\n \n
\n\n0 results found

\n\n

Sorry, your search: turn washington s spies 2014 1x01 returned zero results

Make a REQUEST!\nOr try a different search.


\n\t
\n\n
\n
\n\n\n

\n

\n

\n
\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\"TV\"\"Addic7ed\"TV\"\"Popular Shows\"TV\"\"Useful\"TV\"\"Forums
Support Us
RSS Feeds
Premium Accounts
\"TV\"\"Tutorials
Frequently Asked Questions
What Are Subtitles
New Translation Tutorial
Upload a New Subtitle Tutorial
\"TV\"\"Stats
.\n\t\t\t\t
\n
\n
\n\n\n\n\n\n\n \n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:28 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=8n1jmi5i6adub78nnjrrvv5r23 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:29 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=8n1jmi5i6adub78nnjrrvv5r23 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/4399 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=4399&season=4&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
41Spyhunter GeneralEnglishTBSCompletedDownload
41Spyhunter GeneralEnglishTBSCompletedDownload
41Spyhunter GeneralEnglishMOROSECompletedDownload
41Spyhunter GeneralEnglish720p.HEVC.x265-MeGustaCompletedDownload
41Spyhunter GeneralEnglish720p.HEVC.x265-MeGustaCompletedDownload
41Spyhunter GeneralSpanish (Spain)CONVERT-TBSCompletedDownload
41Spyhunter GeneralSpanish (Spain)SVA-AVSCompletedDownload
41Spyhunter GeneralSpanish (Spain)WEBRip.MOROSECompletedDownload
41Spyhunter GeneralDutchWEB-DLCompletedDownload
41Spyhunter GeneralDutchAVSCompletedDownload
41Spyhunter GeneralDutchWEBRip-ViSUMCompletedDownload
42The Black Hole of CalcuttaEnglishAVSCompletedDownload
42The Black Hole of CalcuttaEnglishAVSCompletedDownload
42The Black Hole of CalcuttaSpanish (Spain)SVA-AVSCompletedDownload
42The Black Hole of CalcuttaSpanish (Spain)WEBRip.MOROSECompletedDownload
42The Black Hole of CalcuttaDutchAVSCompletedDownload
42The Black Hole of CalcuttaDutchWEB-DLCompletedDownload
43Blood for BloodEnglishSVACompletedDownload
43Blood for BloodEnglishSVACompletedDownload
43Blood for BloodSpanish (Spain)SVA-AVSCompletedDownload
43Blood for BloodSpanish (Spain)CONVERT-TBSCompletedDownload
43Blood for BloodSpanish (Spain)WEBRip.ViSUMCompletedDownload
43Blood for BloodDutchWEB-DLCompletedDownload
43Blood for BloodDutchAVSCompletedDownload
44NightmareEnglishSVACompletedDownload
44NightmareEnglishSVACompletedDownload
44NightmareSpanish (Spain)SVA-AVSCompletedDownload
44NightmareSpanish (Spain)BRISKCompletedDownload
44NightmareSpanish (Spain)CONVERT-TBSCompletedDownload
44NightmareDutchBRiSKCompletedDownload
44NightmareDutchWEB-DLCompletedDownload
45Private WoodhullEnglishSVACompletedDownload
45Private WoodhullEnglishSVACompletedDownload
45Private WoodhullEnglishWeb-Dl -1080p - StrifeCompletedDownload
45Private WoodhullSpanish (Spain)SVA-AVSCompletedDownload
45Private WoodhullSpanish (Spain)WEBRip.STRiFECompletedDownload
45Private WoodhullSpanish (Spain)CONVERT-TBSCompletedDownload
45Private WoodhullDutchSVACompletedDownload
45Private WoodhullDutchWEB-DLCompletedDownload
46Our Man in New YorkEnglishSVACompletedDownload
46Our Man in New YorkEnglishSVACompletedDownload
46Our Man in New YorkSpanish (Spain)SVA-AVSCompletedDownload
46Our Man in New YorkSpanish (Spain)WEBRip.STRiFECompletedDownload
46Our Man in New YorkDutchSVACompletedDownload
46Our Man in New YorkDutchWEB-DLCompletedDownload
47QuarryEnglishSVACompletedDownload
47QuarryEnglishSVACompletedDownload
47QuarrySpanish (Spain)WEBRip.STRiFECompletedDownload
47QuarrySpanish (Spain)SVA-AVSCompletedDownload
47QuarryDutchSVACompletedDownload
47QuarryDutchAMZN.WEBRip-ViSUMCompletedDownload
48Belly of the BeastEnglishSVACompletedDownload
48Belly of the BeastEnglishSVACompletedDownload
48Belly of the BeastEnglishWEBRipCompletedDownload
48Belly of the BeastEnglishWEBRipCompletedDownload
48Belly of the BeastSpanish (Spain)SVA-AVSCompletedDownload
48Belly of the BeastSpanish (Spain)WEBRipSTRiFECompletedDownload
48Belly of the BeastDutchSVACompletedDownload
48Belly of the BeastDutchstrifeCompletedDownload
48Belly of the BeastDutchWEB-DLCompletedDownload
49ReckoningEnglishAFGCompletedDownload
49ReckoningEnglishAFGCompletedDownload
49ReckoningEnglishAVSCompletedDownload
49ReckoningSpanish (Spain)WEBRip.STRiFECompletedDownload
49ReckoningSpanish (Spain)SVA-AVSCompletedDownload
49ReckoningDutchSVACompletedDownload
49ReckoningDutchWEB-DLCompletedDownload
410Washington's SpiesEnglishSVACompletedDownload
410Washington's SpiesEnglishWEBRipCompletedDownload
410Washington's SpiesEnglishWEBRipCompletedDownload
410Washington's SpiesSpanish (Spain)SVA-AVSCompletedDownload
410Washington's SpiesSpanish (Spain)WEBRip.STRiFECompletedDownload
410Washington's SpiesEnglishSVACompletedDownload
410Washington's SpiesDutchSVACompletedDownload
410Washington's SpiesDutchstrifeCompletedDownload
410Washington's SpiesDutchWEB-DLCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \ \n\t\n\t\n\t\n\t\t
LanguageShow
Dutch
English
Spanish (Spain)
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:40 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_list_subtitles_show_with_asterisk.yaml0000644000175100001770000361661514636376416031121 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:40 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=66pkg0dfatbl4i4273vf9aph96; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=66pkg0dfatbl4i4273vf9aph96 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/search.php?search=the+end+of+the+fucking+world+1x1&Submit=Search response: body: string: "\n\n\n\n\nSearch \"the end of the fucking world 1x01\" Subtitle Download - Addic7ed.com - For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -\n\n \n\n\n\n\n\n
\n
\n\n\n \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n
\n
\n
\n\n
\n\n\n\n
\n\n \ \n
\n\n

\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n
\n
\n \n
\n\n0 results found

\n\n

Sorry, your search: the end of the fucking world 1x01 returned zero results

Make a REQUEST!\nOr try a different search.


\n\t
\n\n
\n
\n\n\n

\n

\n

\n
\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\"TV\"\"Addic7ed\"TV\"\"Popular Shows\"TV\"\"Useful\"TV\"\"Forums
Support Us
RSS Feeds
Premium Accounts
\"TV\"\"Tutorials
Frequently Asked Questions
What Are Subtitles
New Translation Tutorial
Upload a New Subtitle Tutorial
\"TV\"\"Stats
.\n\t\t\t\t
\n
\n
\n\n\n\n\n\n\n \n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:41 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=66pkg0dfatbl4i4273vf9aph96 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/search.php?search=the+end+of+the+fucking+world+1x1&Submit=Search response: body: string: "\n\n\n\n\nSearch \"the end of the fucking world 1x01\" Subtitle Download - Addic7ed.com - For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -\n\n \n\n\n\n\n\n
\n
\n\n\n \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n
\n
\n
\n\n
\n\n\n\n
\n\n \ \n
\n\n

\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n
\n
\n \n
\n\n0 results found

\n\n

Sorry, your search: the end of the fucking world 1x01 returned zero results

Make a REQUEST!\nOr try a different search.


\n\t
\n\n
\n
\n\n\n

\n

\n

\n
\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\"TV\"\"Addic7ed\"TV\"\"Popular Shows\"TV\"\"Useful\"TV\"\"Forums
Support Us
RSS Feeds
Premium Accounts
\"TV\"\"Tutorials
Frequently Asked Questions
What Are Subtitles
New Translation Tutorial
Upload a New Subtitle Tutorial
\"TV\"\"Stats
.\n\t\t\t\t
\n
\n
\n\n\n\n\n\n\n \n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:41 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=66pkg0dfatbl4i4273vf9aph96 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:41 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=66pkg0dfatbl4i4273vf9aph96 User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/6652 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=6652&season=1&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
11Episode 1EnglishPLUTONiUMCompletedDownload
11Episode 1ItalianPLUTONiUMCompletedDownload
11Episode 1EnglishPLUTONiUMCompletedDownload
11Episode 1FrenchPLUTONiUMCompletedDownload
11Episode 1EnglishCreedCompletedDownload
11Episode 1FrenchWEBRipCompletedDownload
11Episode 1EnglishWEB-DL.QOQCompletedDownload
11Episode 1EnglishWEB-DL.QOQCompletedDownload
11Episode 1FrenchWEBRipCompletedDownload
11Episode 1DutchWEB-DL(RETAIL)CompletedDownload
11Episode 1ItalianNF.WEB-DLCompletedDownload
12Episode 2EnglishSCREENCRAPCompletedDownload
12Episode 2EnglishWEB-DL.QOQCompletedDownload
12Episode 2EnglishWEB-DL.QOQCompletedDownload
12Episode 2ItalianWEB-DL.QOQCompletedDownload
12Episode 2FrenchWEBRipCompletedDownload
12Episode 2FrenchWEBRipCompletedDownload
12Episode 2DutchWEB-DL(RETAIL)CompletedDownload
12Episode 2ItalianNF.WEB-DLCompletedDownload
13Episode 3EnglishSCREENCRAPCompletedDownload
13Episode 3EnglishWEB-DL.QOQCompletedDownload
13Episode 3EnglishWEB-DL.QOQCompletedDownload
13Episode 3FrenchWEBRipCompletedDownload
13Episode 3FrenchWEBRipCompletedDownload
13Episode 3DutchWEB-DL(RETAIL)CompletedDownload
13Episode 3ItalianNF.WEB-DLCompletedDownload
14Episode 4EnglishSCREENCRAPCompletedDownload
14Episode 4EnglishWEB-DL.QOQCompletedDownload
14Episode 4EnglishWEB-DL.QOQCompletedDownload
14Episode 4FrenchWEBRipCompletedDownload
14Episode 4FrenchWEBRipCompletedDownload
14Episode 4DutchWEB-DL(RETAIL)CompletedDownload
14Episode 4ItalianNF.WEB-DLCompletedDownload
15Episode 5EnglishSCREENCRAPCompletedDownload
15Episode 5EnglishWEB-DL.QOQCompletedDownload
15Episode 5EnglishWEB-DL.QOQCompletedDownload
15Episode 5FrenchWEBRipCompletedDownload
15Episode 5FrenchWEBRipCompletedDownload
15Episode 5DutchWEB-DL(RETAIL)CompletedDownload
15Episode 5ItalianNF.WEB-DLCompletedDownload
16Episode 6EnglishSCREENCRAPCompletedDownload
16Episode 6EnglishWEB-DL.QOQCompletedDownload
16Episode 6EnglishWEB-DL.QOQCompletedDownload
16Episode 6FrenchWEBRipCompletedDownload
16Episode 6FrenchWEBRipCompletedDownload
16Episode 6DutchWEB-DL(RETAIL)CompletedDownload
16Episode 6ItalianNF.WEB-DLCompletedDownload
17Episode 7EnglishSCREENCRAPCompletedDownload
17Episode 7EnglishWEB-DL.QOQCompletedDownload
17Episode 7EnglishWEB-DL.QOQCompletedDownload
17Episode 7BulgarianWEB-DL.QOQCompletedDownload
17Episode 7FrenchWEBRipCompletedDownload
17Episode 7FrenchWEBRipCompletedDownload
17Episode 7DutchWEB-DL(RETAIL)CompletedDownload
17Episode 7ItalianNF.WEB-DLCompletedDownload
18Episode 8EnglishSCREENCRAPCompletedDownload
18Episode 8EnglishWEB-DL.QOQCompletedDownload
18Episode 8EnglishWEB-DL.QOQCompletedDownload
18Episode 8FrenchWEBRipCompletedDownload
18Episode 8FrenchWEBRipCompletedDownload
18Episode 8DutchWEB-DL(RETAIL)CompletedDownload
18Episode 8ItalianNF.WEB-DLCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \ \n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Dutch
English
French
Italian
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:21:48 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_login.yaml0000644000175100001770000000277514636376416023151 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko method: GET uri: https://www.addic7ed.com/panel.php response: body: string: '' headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Type: - text/html Date: - Mon, 13 May 2024 08:33:54 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Location: - /login.php Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=gljhicnmabav53mt58r7ci7gg5; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 302 message: Moved Temporarily version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_logout.yaml0000644000175100001770000000305614636376416023343 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36 method: GET uri: https://www.addic7ed.com/panel.php response: body: string: '' headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Type: - text/html Date: - Mon, 13 May 2024 08:34:01 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Location: - /login.php Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=4vvmbsuhm5fd442lj42am9gii3; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 302 message: Moved Temporarily version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query.yaml0000644000175100001770000267070514636376416023214 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:22 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=uel2ba4102d2vk10c4dc9gdv10; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=uel2ba4102d2vk10c4dc9gdv10 User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/126 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=126&season=7&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishLOLCompletedDownload
71The Hofstadter InsufficiencyFrenchLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyRomanianLOLCompletedDownload
71The Hofstadter InsufficiencyBulgarianLOLCompletedDownload
71The Hofstadter InsufficiencyDutchDIMENSIONCompletedDownload
71The Hofstadter InsufficiencyEnglishPimp4003-PimpRGCompletedDownload
71The Hofstadter InsufficiencyGreekAFGCompletedDownload
71The Hofstadter InsufficiencyItalianHDTVCompletedDownload
71The Hofstadter InsufficiencyItalianCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyEnglishWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyGerman720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyGermanLOLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)720p Web-DLCompletedDownload
71The Hofstadter InsufficiencyPortuguese (Brazilian)LOLCompletedDownload
71The Hofstadter InsufficiencyItalianWEB-DLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyRussianLOLCompletedDownload
71The Hofstadter InsufficiencyEnglishBDRip.x264.DEMANDCompletedDownload
71The Hofstadter InsufficiencyDutchBluRayCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationBulgarianLOLCompletedDownload
72The Deception VerificationEnglishLOLCompletedDownload
72The Deception VerificationFrenchLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationEnglishWEB-DLCompletedDownload
72The Deception VerificationGreekAFGCompletedDownload
72The Deception VerificationGerman720p Web-DLCompletedDownload
72The Deception VerificationGermanLOLCompletedDownload
72The Deception VerificationItalianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)720p Web-DLCompletedDownload
72The Deception VerificationPortuguese (Brazilian)LOLCompletedDownload
72The Deception VerificationItalianWEB-DLCompletedDownload
72The Deception VerificationDutchDIMENSIONCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationRussianLOLCompletedDownload
72The Deception VerificationEnglishBDRip.x264.DEMANDCompletedDownload
72The Deception VerificationDutchBluRayCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexEnglishDIMENSIONCompletedDownload
73The Scavenger VortexFrenchDIMENSIONCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)DIMENSIONCompletedDownload
73The Scavenger VortexBulgarianDIMENSIONCompletedDownload
73The Scavenger VortexGreekHDTVLOLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexEnglishWEB-DLCompletedDownload
73The Scavenger VortexRussianDIMENSIONCompletedDownload
73The Scavenger VortexGermanLOLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)720p Web-DLCompletedDownload
73The Scavenger VortexPortuguese (Brazilian)LOLCompletedDownload
73The Scavenger VortexItalianWEB-DLCompletedDownload
73The Scavenger VortexItalianLOLCompletedDownload
73The Scavenger VortexDutchDIMENSIONCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexRussianLOLCompletedDownload
73The Scavenger VortexEnglishBDRip.x264.DEMANDCompletedDownload
73The Scavenger VortexDutchBluRayCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationEnglishDIMENSIONCompletedDownload
74The Raiders MinimizationFrenchDIMENSIONCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)DIMENSIONCompletedDownload
74The Raiders MinimizationEnglishLOLCompletedDownload
74The Raiders MinimizationGreekCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationEnglishWEB-DLCompletedDownload
74The Raiders MinimizationItalianWEB-DLCompletedDownload
74The Raiders MinimizationItalianLOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)x264-LOLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)720p Web-DLCompletedDownload
74The Raiders MinimizationPortuguese (Brazilian)LOLCompletedDownload
74The Raiders MinimizationGerman720p Web-DLCompletedDownload
74The Raiders MinimizationGermanLOLCompletedDownload
74The Raiders MinimizationDutchDIMENSIONCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationRussianLOLCompletedDownload
74The Raiders MinimizationEnglishBDRip.x264.DEMANDCompletedDownload
74The Raiders MinimizationDutchBluRayCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityEnglishDIMENSIONCompletedDownload
75The Workplace ProximityFrenchDIMENSIONCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityEnglishWEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)DIMENSIONCompletedDownload
75The Workplace ProximityGermanLOLCompletedDownload
75The Workplace ProximityHebrew720PDIMENSIONCompletedDownload
75The Workplace ProximityItalianLOLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)WEB-DLCompletedDownload
75The Workplace ProximityPortuguese (Brazilian)LOLCompletedDownload
75The Workplace ProximityItalianWEB-DLCompletedDownload
75The Workplace ProximityDutchDIMENSIONCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityRussianLOLCompletedDownload
75The Workplace ProximityEnglishBDRip.x264.DEMANDCompletedDownload
75The Workplace ProximityDutchBluRayCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceBulgarianDIMENSIONCompletedDownload
76The Romance ResonanceEnglishDIMENSIONCompletedDownload
76The Romance ResonanceFrenchDIMENSIONCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonanceEnglishWEB-DLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)DIMENSIONCompletedDownload
76The Romance ResonanceItalianLOLCompletedDownload
76The Romance ResonancePortuguese (Brazilian)LOLCompletedDownload
76The Romance ResonanceGerman720p Web-DLCompletedDownload
76The Romance ResonanceGermanLOLCompletedDownload
76The Romance ResonanceItalianWEB-DLCompletedDownload
76The Romance ResonanceDutchDIMENSIONCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceRussianLOLCompletedDownload
76The Romance ResonanceEnglishBDRip.x264.DEMANDCompletedDownload
76The Romance ResonanceDutchBluRayCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishDIMENSIONCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementBulgarianDIMENSIONCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementFrenchDIMENSIONCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementEnglishWEB-DLCompletedDownload
77The Proton DisplacementItalianLOLCompletedDownload
77The Proton DisplacementGermanLOLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)720p Web-DLCompletedDownload
77The Proton DisplacementPortuguese (Brazilian)LOLCompletedDownload
77The Proton DisplacementItalianWEB-DLCompletedDownload
77The Proton DisplacementDutchCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementRussianLOLCompletedDownload
77The Proton DisplacementEnglishBDRip.x264.DEMANDCompletedDownload
77The Proton DisplacementDutchBluRayCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONCompletedDownload
78The Itchy Brain SimulationBulgarianDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishDIMENSIONCompletedDownload
78The Itchy Brain SimulationEnglishWeb-DLCompletedDownload
78The Itchy Brain SimulationEnglishWEB-DLCompletedDownload
78The Itchy Brain SimulationFrenchDIMENSIONLOLCompletedDownload
78The Itchy Brain SimulationItalianLOLCompletedDownload
78The Itchy Brain SimulationGerman720p Web-DLCompletedDownload
78The Itchy Brain SimulationGermanLOLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)720p Web-DLCompletedDownload
78The Itchy Brain SimulationPortuguese (Brazilian)LOLCompletedDownload
78The Itchy Brain SimulationItalianWEB-DLCompletedDownload
78The Itchy Brain SimulationDutchDIMENSIONCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationRussianLOLCompletedDownload
78The Itchy Brain SimulationEnglishBDRip.x264.DEMANDCompletedDownload
78The Itchy Brain SimulationDutchBluRayCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingMalayDIMENSIONCompletedDownload
79The Thanksgiving DecouplingEnglishDIMENSIONCompletedDownload
79The Thanksgiving DecouplingFrenchDIMENSIONCompletedDownload
79The Thanksgiving DecouplingBulgarianDIMENSIONCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingFrenchWEB-DLCompletedDownload
79The Thanksgiving DecouplingEnglishWEB-DLCompletedDownload
79The Thanksgiving DecouplingPortugueseLOLCompletedDownload
79The Thanksgiving DecouplingItalianLOLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)720p Web-DLCompletedDownload
79The Thanksgiving DecouplingPortuguese (Brazilian)LOLCompletedDownload
79The Thanksgiving DecouplingGerman720p Web-DLCompletedDownload
79The Thanksgiving DecouplingGermanLOLCompletedDownload
79The Thanksgiving DecouplingItalianWEB-DLCompletedDownload
79The Thanksgiving DecouplingDutchDimensionCompletedDownload
79The Thanksgiving DecouplingDutchWeb-dlCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingRussianLOLCompletedDownload
79The Thanksgiving DecouplingEnglishBDRip.x264.DEMANDCompletedDownload
79The Thanksgiving DecouplingDutchBluRayCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationEnglishDIMENSIONCompletedDownload
710The Discovery DissipationFrenchDIMENSIONCompletedDownload
710The Discovery DissipationBulgarianDIMENSIONCompletedDownload
710The Discovery DissipationPortuguese (Brazilian)LOLCompletedDownload
710The Discovery DissipationGerman720p Web-DLCompletedDownload
710The Discovery DissipationGermanLOLCompletedDownload
710The Discovery DissipationEnglishWeb-DLCompletedDownload
710The Discovery DissipationEnglishWEB-DLCompletedDownload
710The Discovery DissipationItalianLOLCompletedDownload
710The Discovery DissipationItalianWEB-DLCompletedDownload
710The Discovery DissipationDutchDimensionCompletedDownload
710The Discovery DissipationDutchWeb-dlCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationRussianLOLCompletedDownload
710The Discovery DissipationEnglishBDRip.x264.DEMANDCompletedDownload
710The Discovery DissipationDutchBluRayCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionEnglishDIMENSIONCompletedDownload
711The Cooper ExtractionFrenchDIMENSIONCompletedDownload
711The Cooper ExtractionBulgarianDIMENSIONCompletedDownload
711The Cooper ExtractionItalianLOLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionEnglishWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionGermanLOLCompletedDownload
711The Cooper ExtractionItalianWEB-DLCompletedDownload
711The Cooper ExtractionPortuguese (Brazilian)LOLCompletedDownload
711The Cooper ExtractionHebrewDIMCompletedDownload
711The Cooper ExtractionDutchWEB-DLCompletedDownload
711The Cooper ExtractionDutchDIMENSIONCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionRussianLOLCompletedDownload
711The Cooper ExtractionEnglishBDRip.x264.DEMANDCompletedDownload
711The Cooper ExtractionDutchBluRayCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationBulgarianDIMENSIONCompletedDownload
712The Hesitation RamificationEnglishDIMENSIONCompletedDownload
712The Hesitation RamificationFrenchDIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)DIMENSIONCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)LOLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationEnglishWEB-DLCompletedDownload
712The Hesitation RamificationDutchDimensionCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)WEB-DLCompletedDownload
712The Hesitation RamificationItalianLOLCompletedDownload
712The Hesitation RamificationDutchWEB-DLCompletedDownload
712The Hesitation RamificationGermanLOLCompletedDownload
712The Hesitation RamificationDutchLOLCompletedDownload
712The Hesitation RamificationPortuguese (Brazilian)720p Web-DLCompletedDownload
712The Hesitation RamificationItalianWEB-DLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationRussianLOLCompletedDownload
712The Hesitation RamificationEnglishBDRip.x264.DEMANDCompletedDownload
712The Hesitation RamificationDutchBluRayCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationEnglishDIMENSIONCompletedDownload
713The Occupation RecalibrationFrenchDIMENSIONCompletedDownload
713The Occupation RecalibrationSwedishDIMENSIONCompletedDownload
713The Occupation RecalibrationBulgarianDIMENSIONCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationEnglishWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)WEB-DLCompletedDownload
713The Occupation RecalibrationItalianLOLCompletedDownload
713The Occupation RecalibrationItalianWEB-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)720p Web-DLCompletedDownload
713The Occupation RecalibrationPortuguese (Brazilian)LOLCompletedDownload
713The Occupation RecalibrationGermanLOLCompletedDownload
713The Occupation RecalibrationDutchDIMENSIONCompletedDownload
713The Occupation RecalibrationDutchWEB-DLCompletedDownload
713The Occupation RecalibrationGerman720p WEB-DLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationRussianLOLCompletedDownload
713The Occupation RecalibrationEnglishBDRip.x264.DEMANDCompletedDownload
713The Occupation RecalibrationDutchBluRayCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumBulgarianDIMENSIONCompletedDownload
714The Convention ConundrumEnglishDIMENSIONCompletedDownload
714The Convention ConundrumFrenchDIMENSIONCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)DIMENSIONCompletedDownload
714The Convention ConundrumRomanianDIMENSIONCompletedDownload
714The Convention ConundrumGreekLOLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumEnglishWEB-DLCompletedDownload
714The Convention ConundrumItalianLOLCompletedDownload
714The Convention ConundrumGermanLOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)LOLCompletedDownload
714The Convention ConundrumPortuguese (Brazilian)720p Web-DLCompletedDownload
714The Convention ConundrumDutchDIMENSIONCompletedDownload
714The Convention ConundrumDutchWEB-DLCompletedDownload
714The Convention ConundrumItalianWEB-DLCompletedDownload
714The Convention ConundrumGerman720p WEB-DLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumRussianLOLCompletedDownload
714The Convention ConundrumEnglishBDRip.x264.DEMANDCompletedDownload
714The Convention ConundrumDutchBluRayCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationEnglishDIMENSIONCompletedDownload
715The Locomotive ManipulationFrenchDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)DIMENSIONCompletedDownload
715The Locomotive ManipulationBulgarianDIMENSIONCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationEnglishWEB-DLCompletedDownload
715The Locomotive ManipulationItalianLOLCompletedDownload
715The Locomotive ManipulationGerman720p Web-DLCompletedDownload
715The Locomotive ManipulationGermanLOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)LOLCompletedDownload
715The Locomotive ManipulationPortuguese (Brazilian)720p Web-DLCompletedDownload
715The Locomotive ManipulationItalianWEB-DLCompletedDownload
715The Locomotive ManipulationDutchWEB-DLCompletedDownload
715The Locomotive ManipulationDutchDIMENSIONCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationRussianLOLCompletedDownload
715The Locomotive ManipulationEnglishBDRip.x264.DEMANDCompletedDownload
715The Locomotive ManipulationDutchBluRayCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationEnglishDIMENSIONCompletedDownload
716The Table PolarizationFrenchDIMENSIONCompletedDownload
716The Table PolarizationRomanianDIMENSIONCompletedDownload
716The Table PolarizationBulgarianDIMENSIONCompletedDownload
716The Table PolarizationPortuguese (Brazilian)LOLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationEnglishWEB-DLCompletedDownload
716The Table PolarizationItalianLOLCompletedDownload
716The Table PolarizationItalianWEB-DLCompletedDownload
716The Table PolarizationGerman720p Web-DLCompletedDownload
716The Table PolarizationGermanLOLCompletedDownload
716The Table PolarizationDutchDIMENSIONCompletedDownload
716The Table PolarizationDutchWEB-DLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationRussianLOLCompletedDownload
716The Table PolarizationEnglishBDRip.x264.DEMANDCompletedDownload
716The Table PolarizationDutchBluRayCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)DIMENSIONCompletedDownload
717The Friendship TurbulenceBulgarianDIMENSIONCompletedDownload
717The Friendship TurbulenceEnglishDIMENSIONCompletedDownload
717The Friendship TurbulenceFrenchDIMENSIONCompletedDownload
717The Friendship TurbulenceCroatianHDTV.XviD-AFGCompletedDownload
717The Friendship TurbulencePortuguese (Brazilian)LOLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceEnglishWEB-DLCompletedDownload
717The Friendship TurbulenceDutchDIMENSIONCompletedDownload
717The Friendship TurbulenceDutchWEB-DLCompletedDownload
717The Friendship TurbulenceGerman720p Web-DLCompletedDownload
717The Friendship TurbulenceGermanLOLCompletedDownload
717The Friendship TurbulenceItalian720p.HDTV.x264-LOLCompletedDownload
717The Friendship TurbulenceItalianWEB-DLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceRussianLOLCompletedDownload
717The Friendship TurbulenceEnglishBDRip.x264.DEMANDCompletedDownload
717The Friendship TurbulenceDutchBluRayCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)DIMENSIONCompletedDownload
718The Mommy ObservationEnglishDIMENSIONCompletedDownload
718The Mommy ObservationFrenchDIMENSIONCompletedDownload
718The Mommy ObservationRomanianDIMENSIONCompletedDownload
718The Mommy ObservationBulgarianDIMENSIONCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)LOLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationEnglishWEB-DLCompletedDownload
718The Mommy ObservationPortuguese (Brazilian)720p Web-DLCompletedDownload
718The Mommy ObservationGerman720p Web-DLCompletedDownload
718The Mommy ObservationGermanLOLCompletedDownload
718The Mommy ObservationItalianHDTV.x264-DIMENSIONCompletedDownload
718The Mommy ObservationItalianWEB-DLCompletedDownload
718The Mommy ObservationDutchDIMENSIONCompletedDownload
718The Mommy ObservationDutchWEB-DLCompletedDownload
718The Mommy ObservationRussianLOLCompletedDownload
718The Mommy ObservationEnglishBDRip.x264.DEMANDCompletedDownload
718The Mommy ObservationDutchBluRayCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishDIMENSIONCompletedDownload
719The Indecision AmalgamationFrenchDIMENSIONCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)DIMENSIONCompletedDownload
719The Indecision AmalgamationBulgarianDIMENSIONCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationEnglishWEB-DLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)LOLCompletedDownload
719The Indecision AmalgamationItalianHDTV.x264-LOLCompletedDownload
719The Indecision AmalgamationPortuguese (Brazilian)720p Web-DLCompletedDownload
719The Indecision AmalgamationRomanianDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchDIMENSIONCompletedDownload
719The Indecision AmalgamationDutchWEB-DLCompletedDownload
719The Indecision AmalgamationGerman720p Web-DLCompletedDownload
719The Indecision AmalgamationGermanLOLCompletedDownload
719The Indecision AmalgamationItalianWEB-DLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationRussianLOLCompletedDownload
719The Indecision AmalgamationEnglishBDRip.x264.DEMANDCompletedDownload
719The Indecision AmalgamationDutchBluRayCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionEnglishDIMENSIONCompletedDownload
720The Relationship DiremptionFrenchDIMENSIONCompletedDownload
720The Relationship DiremptionRomanianDIMENSIONCompletedDownload
720The Relationship DiremptionBulgarianDIMENSIONCompletedDownload
720The Relationship DiremptionCroatianHDTV.XviD-EVOCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.x264-LOLCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)HDTV.XviD-AFGCompletedDownload
720The Relationship DiremptionPortuguese (Brazilian)LOLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionEnglishWEB-DLCompletedDownload
720The Relationship DiremptionItalianLOLCompletedDownload
720The Relationship DiremptionItalianWEB-DLCompletedDownload
720The Relationship DiremptionGerman720p Web-DLCompletedDownload
720The Relationship DiremptionGermanLOLCompletedDownload
720The Relationship DiremptionDutchWEB-DLCompletedDownload
720The Relationship DiremptionDutchDIMENSIONCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionRussianLOLCompletedDownload
720The Relationship DiremptionEnglishBDRip.x264.DEMANDCompletedDownload
720The Relationship DiremptionDutchBluRayCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceFrenchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)DIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceBulgarianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceEnglishWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceItalianLOLCompletedDownload
721The Anything Can Happen RecurrenceCroatianHDTV.x264-LOLCompletedDownload
721The Anything Can Happen RecurrenceRomanianDIMENSIONCompletedDownload
721The Anything Can Happen RecurrencePortuguese (Brazilian)LOLCompletedDownload
721The Anything Can Happen RecurrenceGerman720p Web-DLCompletedDownload
721The Anything Can Happen RecurrenceGermanLOLCompletedDownload
721The Anything Can Happen RecurrenceDutchWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceDutchDIMENSIONCompletedDownload
721The Anything Can Happen RecurrenceItalianWEB-DLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceRussianLOLCompletedDownload
721The Anything Can Happen RecurrenceEnglishBDRip.x264.DEMANDCompletedDownload
721The Anything Can Happen RecurrenceDutchBluRayCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)DIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishDIMENSIONCompletedDownload
722The Proton TransmogrificationFrenchDIMENSIONCompletedDownload
722The Proton TransmogrificationBulgarianDIMENSIONCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationEnglishWEB-DLCompletedDownload
722The Proton TransmogrificationPortuguese (Brazilian)LOLCompletedDownload
722The Proton TransmogrificationItalianLOLCompletedDownload
722The Proton TransmogrificationCroatianHDTV.x264-LOLCompletedDownload
722The Proton TransmogrificationDutchWEBDLCompletedDownload
722The Proton TransmogrificationDutchDIMENSIONCompletedDownload
722The Proton TransmogrificationItalianWEB-DLCompletedDownload
722The Proton TransmogrificationGermanLOLCompletedDownload
722The Proton TransmogrificationGerman720p WEB-DLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationRussianLOLCompletedDownload
722The Proton TransmogrificationEnglishBDRip.x264.DEMANDCompletedDownload
722The Proton TransmogrificationDutchBluRayCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)DIMENSIONCompletedDownload
723The Gorilla DissolutionBulgarianDIMENSIONCompletedDownload
723The Gorilla DissolutionFrenchDIMENSIONCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanWEB-DLCompletedDownload
723The Gorilla DissolutionEnglishWEB-DLCompletedDownload
723The Gorilla DissolutionGermanLOLCompletedDownload
723The Gorilla DissolutionItalianLOLCompletedDownload
723The Gorilla DissolutionPortuguese (Brazilian)LOLCompletedDownload
723The Gorilla DissolutionCroatianHDTV.x264-LOLCompletedDownload
723The Gorilla DissolutionDutchWEB-DLCompletedDownload
723The Gorilla DissolutionDutchDIMENSIONCompletedDownload
723The Gorilla DissolutionItalianWEB-DLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionRussianLOLCompletedDownload
723The Gorilla DissolutionEnglishBDRip.x264.DEMANDCompletedDownload
723The Gorilla DissolutionDutchBluRayCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)DIMENSIONCompletedDownload
724The Status Quo CombustionBulgarianDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishDIMENSIONCompletedDownload
724The Status Quo CombustionFrenchDIMENSIONCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionFrenchWEB-DLCompletedDownload
724The Status Quo CombustionEnglishWEB-DLCompletedDownload
724The Status Quo CombustionCroatiandimensionCompletedDownload
724The Status Quo CombustionPortuguese (Brazilian)LOLCompletedDownload
724The Status Quo CombustionGermanLOLCompletedDownload
724The Status Quo CombustionDutchWEB-DL-YFNCompletedDownload
724The Status Quo CombustionDutchDIMENSIONCompletedDownload
724The Status Quo CombustionItalianHDTV.x264-LOLCompletedDownload
724The Status Quo CombustionItalianWEB-DLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionRussianLOLCompletedDownload
724The Status Quo CombustionEnglishBDRip.x264.DEMANDCompletedDownload
724The Status Quo CombustionDutchBluRayCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Croatian
Dutch
English
French
German
Greek
Hebrew
Italian
Malay
Portuguese
Portuguese (Brazilian)
Romanian
Russian
Swedish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:32 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_no_year.yaml0000644000175100001770000162502514636376416024722 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:20:13 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=fso7t5g3tjqir1iba5pgkia5v4; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=fso7t5g3tjqir1iba5pgkia5v4 User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/802 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=802&season=1&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
11Digger's DaughterEnglishDVD-Rip CompletedDownload
11Digger's DaughterPortuguese (Brazilian)DvdripCompletedDownload
12LessonsEnglishDVD-Rip CompletedDownload
13Spy in the HouseEnglishDVD-Rip CompletedDownload
14Winds of VengeanceEnglishDVD-Rip CompletedDownload
14Winds of VengeanceRomanianDVD-Rip CompletedDownload
15BarbecueEnglishDVD-Rip CompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \ \n\t\n\t\n\t\n\t\t
LanguageShow
English
Portuguese (Brazilian)
Romanian
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:20:24 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing.yaml0000644000175100001770000256750214636376416024737 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:36 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=fbiftie0qlcmllk96mblsrb255; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=fbiftie0qlcmllk96mblsrb255 User-Agent: - Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/1245 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=1245&season=3&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
30A Gathering StormEnglishBTNCompletedDownload
30A Gathering StormFrenchBTNCompletedDownload
30A Gathering StormPortuguese (Brazilian)BTNCompletedDownload
30A Gathering StormBulgarianBTNCompletedDownload
30A Gathering StormPersianBTNCompletedDownload
30A Gathering StormItalianBTNCompletedDownload
30A Gathering StormGermanBTNCompletedDownload
30A Gathering StormGermanXSCompletedDownload
30A Gathering StormDutchWEB-DLCompletedDownload
31Valar DohaerisEnglish720p EVOLVECompletedDownload
31Valar DohaerisFrench720p EVOLVECompletedDownload
31Valar DohaerisGreek720p EVOLVECompletedDownload
31Valar DohaerisNorwegian720p EVOLVECompletedDownload
31Valar DohaerisBulgarian720p EVOLVECompletedDownload
31Valar DohaerisEnglish720p EVOLVECompletedDownload
31Valar DohaerisEnglish2HDCompletedDownload
31Valar DohaerisFrench2HDCompletedDownload
31Valar DohaerisGerman2HDCompletedDownload
31Valar DohaerisEnglish2HDCompletedDownload
31Valar DohaerisIndonesian2HDCompletedDownload
31Valar DohaerisEnglishREPACK 720p EVOLVECompletedDownload
31Valar DohaerisEnglishREPACK 720p EVOLVECompletedDownload
31Valar DohaerisFrenchREPACK 720p EVOLVECompletedDownload
31Valar DohaerisPortuguese (Brazilian)720p EVOLVECompletedDownload
31Valar DohaerisItalian2HDCompletedDownload
31Valar DohaerisRomanian2HDCompletedDownload
31Valar DohaerisRomanianREPACK 720p EVOLVECompletedDownload
31Valar DohaerisPersianEVOLVECompletedDownload
31Valar DohaerisPersian2HDCompletedDownload
31Valar DohaerisSpanish (Spain)2HDCompletedDownload
31Valar DohaerisSpanish (Spain)EVOLVECompletedDownload
31Valar DohaerisSpanish (Spain)REPACK EVOLVECompletedDownload
31Valar DohaerisSpanish (Latin America)REPACK EVOLVECompletedDownload
31Valar DohaerisItalian2HDCompletedDownload
31Valar DohaerisGreekHDTV.x264-2HDCompletedDownload
31Valar DohaerisGreek720p.REPACKEVOLVECompletedDownload
31Valar DohaerisFrenchHDTVx2642HDCompletedDownload
31Valar DohaerisDutch1080p.hdtv.Ac3.x264-CompletedDownload
31Valar DohaerisDutchhdtv.x264-2hdCompletedDownload
31Valar DohaerisFrenchREPACK720pEVOLVECompletedDownload
31Valar DohaerisPortuguese (Brazilian)REPACK-EVOLVE.720PCompletedDownload
31Valar DohaerisEnglishCtrlHDCompletedDownload
31Valar DohaerisEnglishCtrlHDCompletedDownload
31Valar DohaerisEnglishNTbCompletedDownload
31Valar DohaerisEnglishNTbCompletedDownload
31Valar DohaerisGerman2hdCompletedDownload
31Valar DohaerisItalianCompletedDownload
31Valar DohaerisPersian720p.x264-EVOLVECompletedDownload
31Valar DohaerisPersian2HDCompletedDownload
31Valar DohaerisPersianWEB-DLCompletedDownload
31Valar DohaerisFrenchNTbCompletedDownload
31Valar DohaerisItalianREPACK.720p-EVOLVECompletedDownload
31Valar DohaerisItalianWEB-DLCompletedDownload
31Valar DohaerisFrench2HDCompletedDownload
31Valar DohaerisFrench720p.CtrlHDCompletedDownload
31Valar DohaerisFrenchWEB-DLCompletedDownload
31Valar DohaerisFrenchREPACK 720p EVOLVECompletedDownload
31Valar DohaerisPortuguese (Brazilian)REPACK EVOLVECompletedDownload
31Valar DohaerisPortuguese (Brazilian)2HDCompletedDownload
31Valar DohaerisPortuguese (Brazilian)720p EVOLVECompletedDownload
31Valar DohaerisGermanREPACK EVOLVECompletedDownload
31Valar DohaerisGerman2HDCompletedDownload
31Valar DohaerisPortugueseREPACK EVOLVECompletedDownload
31Valar DohaerisPortuguese2HDCompletedDownload
31Valar DohaerisPortugueseWEB-DLCompletedDownload
31Valar DohaerisCroatianREPACK.HDTV.XviD-AFGCompletedDownload
31Valar DohaerisCatal\xE0CompletedDownload
31Valar DohaerisBulgarianWEB-DLCompletedDownload
31Valar DohaerisPersianWEB-DLCompletedDownload
31Valar DohaerisDutchWEB-DLCompletedDownload
31Valar DohaerisItalianBDRip.x264-DEMANDCompletedDownload
31Valar DohaerisDutchBluRayCompletedDownload
31Valar DohaerisEnglish720p.BluRay.ShAaNiGCompletedDownload
31Valar DohaerisEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
31Valar DohaerisPortuguese (Brazilian)BlurayCompletedDownload
31Valar DohaerisPortuguese (Brazilian)WEB-DLCompletedDownload
31Valar DohaerisGreekBluRay.x264-RoversCompletedDownload
31Valar DohaerisTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
32Dark Wings, Dark WordsEnglish720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsFrench720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsIndonesian720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsEnglish720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsFrench720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsBulgarian720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsIndonesian720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsEnglish2HDCompletedDownload
32Dark Wings, Dark WordsFrench2HDCompletedDownload
32Dark Wings, Dark WordsEnglish2HDCompletedDownload
32Dark Wings, Dark WordsDutch2HDCompletedDownload
32Dark Wings, Dark WordsPortuguese (Brazilian)IMMERSECompletedDownload
32Dark Wings, Dark WordsItalian2HDCompletedDownload
32Dark Wings, Dark WordsItalianIMMERSECompletedDownload
32Dark Wings, Dark WordsPersian720p.IMMERSECompletedDownload
32Dark Wings, Dark WordsPersian2HDCompletedDownload
32Dark Wings, Dark WordsSpanish (Spain)2HDCompletedDownload
32Dark Wings, Dark WordsSpanish (Latin America)2HDCompletedDownload
32Dark Wings, Dark WordsSpanish (Spain)IMMERSECompletedDownload
32Dark Wings, Dark WordsFrench2HDx264CompletedDownload
32Dark Wings, Dark WordsCroatianHDTV.XviD-AFGCompletedDownload
32Dark Wings, Dark WordsGreekHDTV.x264-2HDCompletedDownload
32Dark Wings, Dark WordsGreekIMMERSE720p.HDTVCompletedDownload
32Dark Wings, Dark WordsDutch720p.HDTV.x264-IMMERCompletedDownload
32Dark Wings, Dark WordsDutch1080p.HDTV.DD5.1.x26CompletedDownload
32Dark Wings, Dark WordsDutchx264-USCompletedDownload
32Dark Wings, Dark WordsEnglishWEB-DL-NTbCompletedDownload
32Dark Wings, Dark WordsEnglishWEB-DL-NTbCompletedDownload
32Dark Wings, Dark WordsDutchHDTV.x264-2HD.srtCompletedDownload
32Dark Wings, Dark WordsPortuguese (Brazilian)2HDCompletedDownload
32Dark Wings, Dark WordsPortuguese (Brazilian)WEB-DLCompletedDownload
32Dark Wings, Dark WordsPortuguese (Brazilian)720p IMMERSECompletedDownload
32Dark Wings, Dark WordsGermanVersion720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsItalianWEB-DLCompletedDownload
32Dark Wings, Dark WordsGerman2HDCompletedDownload
32Dark Wings, Dark WordsGerman720p-IMMERSECompletedDownload
32Dark Wings, Dark WordsFrench2HDCompletedDownload
32Dark Wings, Dark WordsFrenchIMMERSECompletedDownload
32Dark Wings, Dark WordsBulgarianWEB-DLCompletedDownload
32Dark Wings, Dark WordsPersianWEB-DLCompletedDownload
32Dark Wings, Dark WordsDutchWEB-DLCompletedDownload
32Dark Wings, Dark WordsItalianBDRip.x264-DEMANDCompletedDownload
32Dark Wings, Dark WordsDutchBluRayCompletedDownload
32Dark Wings, Dark WordsEnglish720p.BluRay.ShAaNiGCompletedDownload
32Dark Wings, Dark WordsEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
32Dark Wings, Dark WordsPortuguese (Brazilian)BlurayCompletedDownload
32Dark Wings, Dark WordsGreekBluRay.x264-RoversCompletedDownload
32Dark Wings, Dark WordsTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
33Walk of PunishmentEnglishPROPER 2HDCompletedDownload
33Walk of PunishmentFrenchPROPER 2HDCompletedDownload
33Walk of PunishmentGermanPROPER 2HDCompletedDownload
33Walk of PunishmentBulgarianPROPER 2HDCompletedDownload
33Walk of PunishmentEnglishPROPER 2HDCompletedDownload
33Walk of PunishmentFrenchPROPER 2HDCompletedDownload
33Walk of PunishmentPortuguese (Brazilian)EVOLVE, AFG, 2HDCompletedDownload
33Walk of PunishmentItalianPROPER-2HDCompletedDownload
33Walk of PunishmentPersian2HD.PROPERCompletedDownload
33Walk of PunishmentCroatianHDTV.XviD-AFGCompletedDownload
33Walk of PunishmentGreekAFGCompletedDownload
33Walk of PunishmentSpanish (Spain)PROPER 2HDCompletedDownload
33Walk of PunishmentDutch1080p.WEB-DL.DD5.1.HCompletedDownload
33Walk of PunishmentDutchHDTV.XviD-AFGCompletedDownload
33Walk of PunishmentEnglishWEB-DL-NTbCompletedDownload
33Walk of PunishmentEnglishWEB-DL-NTbCompletedDownload
33Walk of PunishmentPersian720p.Web-DL.NTbCompletedDownload
33Walk of PunishmentItalianWEB-DLCompletedDownload
33Walk of PunishmentFrench2HDCompletedDownload
33Walk of PunishmentFrench720p.NTbCompletedDownload
33Walk of PunishmentFrench720p.EVOLVECompletedDownload
33Walk of PunishmentFrench720p.CtrlHDCompletedDownload
33Walk of PunishmentGerman720p EVOLVECompletedDownload
33Walk of PunishmentGermanPROPER 2HDCompletedDownload
33Walk of PunishmentBulgarianWEB-DLCompletedDownload
33Walk of PunishmentPersian2HDCompletedDownload
33Walk of PunishmentPersianWEB-DLCompletedDownload
33Walk of PunishmentItalianBDRip.x264-DEMANDCompletedDownload
33Walk of PunishmentDutchBluRayCompletedDownload
33Walk of PunishmentEnglish720p.BluRay.ShAaNiGCompletedDownload
33Walk of PunishmentEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
33Walk of PunishmentPortuguese (Brazilian)PROPER-2HDCompletedDownload
33Walk of PunishmentPortuguese (Brazilian)EVOLVECompletedDownload
33Walk of PunishmentPortuguese (Brazilian)BlurayCompletedDownload
33Walk of PunishmentPortuguese (Brazilian)WEB-DLCompletedDownload
33Walk of PunishmentGreekBluRay.x264-RoversCompletedDownload
33Walk of PunishmentTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
34And Now His Watch is EndedEnglishEVOLVECompletedDownload
34And Now His Watch is EndedFrenchEVOLVECompletedDownload
34And Now His Watch is EndedGermanEVOLVECompletedDownload
34And Now His Watch is EndedBulgarianEVOLVECompletedDownload
34And Now His Watch is EndedEnglishEVOLVECompletedDownload
34And Now His Watch is EndedFrenchEVOLVECompletedDownload
34And Now His Watch is EndedRomanianEVOLVECompletedDownload
34And Now His Watch is EndedPortuguese (Brazilian)EVOLVE,AFGCompletedDownload
34And Now His Watch is EndedItalianEVOLVECompletedDownload
34And Now His Watch is EndedItalianEVOLVECompletedDownload
34And Now His Watch is EndedGreekSnake-ettvCompletedDownload
34And Now His Watch is EndedEnglishWEB-DL-NTbCompletedDownload
34And Now His Watch is EndedEnglishWEB-DL-NTbCompletedDownload
34And Now His Watch is EndedSpanish (Spain)EVOLVECompletedDownload
34And Now His Watch is EndedDutch720p.HDTV.x264-EVOLVCompletedDownload
34And Now His Watch is EndedDutch1080p.HDTV.DD5.1.x26CompletedDownload
34And Now His Watch is EndedPortuguese (Brazilian)EVOLVECompletedDownload
34And Now His Watch is EndedPortuguese (Brazilian)WEB-DLCompletedDownload
34And Now His Watch is EndedFrenchEvolveCompletedDownload
34And Now His Watch is EndedItalianWEB-DLCompletedDownload
34And Now His Watch is EndedGermanEVOLVECompletedDownload
34And Now His Watch is EndedGermanEVOLVECompletedDownload
34And Now His Watch is EndedBulgarianWEB-DLCompletedDownload
34And Now His Watch is EndedCroatianHDTV.XviD-AFGCompletedDownload
34And Now His Watch is EndedPersianEVOLVECompletedDownload
34And Now His Watch is EndedPersianWEB-DLCompletedDownload
34And Now His Watch is EndedItalianBDRip.x264-DEMANDCompletedDownload
34And Now His Watch is EndedDutchWEB-DLCompletedDownload
34And Now His Watch is EndedDutchBluRayCompletedDownload
34And Now His Watch is EndedEnglish720p.BluRay.ShAaNiGCompletedDownload
34And Now His Watch is EndedEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
34And Now His Watch is EndedPortuguese (Brazilian)BlurayCompletedDownload
34And Now His Watch is EndedGreekBluRay.x264-RoversCompletedDownload
34And Now His Watch is EndedTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
35Kissed by FireEnglishPROPER EVOLVECompletedDownload
35Kissed by FireFrenchPROPER EVOLVECompletedDownload
35Kissed by FireGermanPROPER EVOLVECompletedDownload
35Kissed by FireGreekPROPER EVOLVECompletedDownload
35Kissed by FireBulgarianPROPER EVOLVECompletedDownload
35Kissed by FireEnglishPROPER EVOLVECompletedDownload
35Kissed by FireFrenchPROPER EVOLVECompletedDownload
35Kissed by FirePortuguese (Brazilian)IMMERSE,AFG,2HDCompletedDownload
35Kissed by FireSpanish (Spain)PROPER EVOLVECompletedDownload
35Kissed by FireGreekSnake-AFGCompletedDownload
35Kissed by FireIndonesianEvolveCompletedDownload
35Kissed by FireItalianPROPER-EVOLVECompletedDownload
35Kissed by FireEnglishCtrlHDCompletedDownload
35Kissed by FireEnglishCtrlHDCompletedDownload
35Kissed by FireEnglishWEB-DL-NTbCompletedDownload
35Kissed by FireEnglishWEB-DL-NTbCompletedDownload
35Kissed by FireDutch1080p.WEB-DL.DD5.1.HCompletedDownload
35Kissed by FireDutchPROPER.HDTV.x264-EVOCompletedDownload
35Kissed by FirePortuguese (Brazilian)PROPER EVOLVECompletedDownload
35Kissed by FirePortuguese (Brazilian)WEB-DLCompletedDownload
35Kissed by FireItalianWEB-DLCompletedDownload
35Kissed by FireGermanPROPER EVOLVECompletedDownload
35Kissed by FireFrench2HDCompletedDownload
35Kissed by FireFrenchevolveCompletedDownload
35Kissed by FireFrenchKILLERSCompletedDownload
35Kissed by FirePortuguesePROPER EVOLVECompletedDownload
35Kissed by FirePortuguese2HDCompletedDownload
35Kissed by FireGermanPROPER EVOLVECompletedDownload
35Kissed by FireBulgarianWEB-DLCompletedDownload
35Kissed by FireCroatianPROPER.HDTV.XviD-AFGCompletedDownload
35Kissed by FirePersian2HDCompletedDownload
35Kissed by FirePersianWEB-DLCompletedDownload
35Kissed by FireItalianBDRip.x264-DEMANDCompletedDownload
35Kissed by FireDutchBluRayCompletedDownload
35Kissed by FireEnglish720p.BluRay.ShAaNiGCompletedDownload
35Kissed by FireEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
35Kissed by FirePortuguese (Brazilian)BlurayCompletedDownload
35Kissed by FireGreekBluRay.x264-RoversCompletedDownload
35Kissed by FireTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
36The ClimbEnglish720p IMMERSECompletedDownload
36The ClimbFrench720p IMMERSECompletedDownload
36The ClimbGerman720p IMMERSECompletedDownload
36The ClimbBulgarian720p IMMERSECompletedDownload
36The ClimbEnglish720p IMMERSECompletedDownload
36The ClimbFrench720p IMMERSECompletedDownload
36The ClimbEnglish2HDCompletedDownload
36The ClimbFrench2HDCompletedDownload
36The ClimbEnglish2HDCompletedDownload
36The ClimbPortuguese (Brazilian)IMMERSECompletedDownload
36The ClimbPortuguese (Brazilian)2HDCompletedDownload
36The ClimbSpanish (Spain)iNTERNAL EVOLVECompletedDownload
36The ClimbSpanish (Spain)2HDCompletedDownload
36The ClimbItalian2HDCompletedDownload
36The ClimbItalianIMMERSECompletedDownload
36The ClimbEnglishWEB-DL-NTbCompletedDownload
36The ClimbEnglishWEB-DL-NTbCompletedDownload
36The ClimbDutch720p.HDTV.x264-IMMERCompletedDownload
36The ClimbDutch1080p.HDTV.DD5.1.x26CompletedDownload
36The ClimbGermanHDTV-2HDCompletedDownload
36The ClimbBulgarianWEB-DLCompletedDownload
36The ClimbPortuguese (Brazilian)WEB-DLCompletedDownload
36The ClimbPortuguese (Brazilian)720p EVOLVECompletedDownload
36The ClimbPortuguese (Brazilian)2HDCompletedDownload
36The ClimbPortuguese (Brazilian)720p IMMERSECompletedDownload
36The ClimbFrenchWEB-DL-NTbCompletedDownload
36The ClimbGreekAFG-FUMCompletedDownload
36The ClimbItalianWEB-DLCompletedDownload
36The ClimbFrench2hdCompletedDownload
36The ClimbFrenchInternal-EvolveCompletedDownload
36The ClimbFrenchWEB-DLCompletedDownload
36The ClimbGerman720p EVOLVECompletedDownload
36The ClimbGerman2HDCompletedDownload
36The ClimbPortuguese2HD-nTB-etcCompletedDownload
36The ClimbPortugueseAFG-EVOLVE-CtrlHDCompletedDownload
36The ClimbCroatianHDTV.XviD-AFGCompletedDownload
36The ClimbPersian2HDCompletedDownload
36The ClimbPersianIMMERSECompletedDownload
36The ClimbPersianWEB-DLCompletedDownload
36The ClimbDutchWEB-DLCompletedDownload
36The ClimbItalianBDRip.x264-DEMANDCompletedDownload
36The ClimbDutchBluRayCompletedDownload
36The ClimbEnglish720p.BluRay.ShAaNiGCompletedDownload
36The ClimbEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
36The ClimbPortuguese (Brazilian)BlurayCompletedDownload
36The ClimbGreekBluRay.x264-RoversCompletedDownload
36The ClimbTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
37The Bear and the Maiden FairEnglish2HDCompletedDownload
37The Bear and the Maiden FairFrench2HDCompletedDownload
37The Bear and the Maiden FairGerman2HDCompletedDownload
37The Bear and the Maiden FairBulgarian2HDCompletedDownload
37The Bear and the Maiden FairEnglish2HDCompletedDownload
37The Bear and the Maiden FairPortuguese (Brazilian)2HD,EVOLVECompletedDownload
37The Bear and the Maiden FairItalian2HDCompletedDownload
37The Bear and the Maiden FairSpanish (Spain)2HDCompletedDownload
37The Bear and the Maiden FairEnglish2HD_realCompletedDownload
37The Bear and the Maiden FairEnglish2HD_realCompletedDownload
37The Bear and the Maiden FairCroatianHDTV.XviD-AFGCompletedDownload
37The Bear and the Maiden FairEnglishWEB-DL-NTbCompletedDownload
37The Bear and the Maiden FairEnglishWEB-DL-NTbCompletedDownload
37The Bear and the Maiden FairDutchHDTV.x264-2HDCompletedDownload
37The Bear and the Maiden FairDutch1080p.WEB-DL.DD5.1.HCompletedDownload
37The Bear and the Maiden FairDutch1080p.HDTV.DD5.1.x26CompletedDownload
37The Bear and the Maiden FairPortuguese (Brazilian)2HDCompletedDownload
37The Bear and the Maiden FairPortuguese (Brazilian)WEB-DLCompletedDownload
37The Bear and the Maiden FairEnglish720pCtrlHDCompletedDownload
37The Bear and the Maiden FairEnglish720pCtrlHDCompletedDownload
37The Bear and the Maiden FairBulgarianWEB-DLCompletedDownload
37The Bear and the Maiden FairFrench1080p.WEB-DL.DD5.1.HCompletedDownload
37The Bear and the Maiden FairFrench2HDCompletedDownload
37The Bear and the Maiden FairFrenchEvolveCompletedDownload
37The Bear and the Maiden FairFrenchWEB-DL.NTbCompletedDownload
37The Bear and the Maiden FairItalianWEB-DLCompletedDownload
37The Bear and the Maiden FairEnglish1080pHDTV-LiPANCompletedDownload
37The Bear and the Maiden FairGerman2HDCompletedDownload
37The Bear and the Maiden FairGerman2HDCompletedDownload
37The Bear and the Maiden FairPersian2HDCompletedDownload
37The Bear and the Maiden FairPersianWEB-DLCompletedDownload
37The Bear and the Maiden FairItalianBDRip.x264-DEMANDCompletedDownload
37The Bear and the Maiden FairDutchBluRayCompletedDownload
37The Bear and the Maiden FairEnglish720p.BluRay.ShAaNiGCompletedDownload
37The Bear and the Maiden FairEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
37The Bear and the Maiden FairPortuguese (Brazilian)BlurayCompletedDownload
37The Bear and the Maiden FairGreekBluRay.x264-RoversCompletedDownload
37The Bear and the Maiden FairTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
38Second SonsEnglishEVOLVECompletedDownload
38Second SonsFrenchEVOLVECompletedDownload
38Second SonsGermanEVOLVECompletedDownload
38Second SonsBulgarianEVOLVECompletedDownload
38Second SonsEnglishEVOLVECompletedDownload
38Second SonsFrenchEVOLVECompletedDownload
38Second SonsBulgarianEVOLVECompletedDownload
38Second SonsEnglishPROPER 2HDCompletedDownload
38Second SonsEnglishPROPER 2HDCompletedDownload
38Second SonsPortuguese (Brazilian)EVOLVE,AFGCompletedDownload
38Second SonsPersianEVOLVECompletedDownload
38Second SonsItalianEVOLVECompletedDownload
38Second SonsGreekHDTV.x264-2HD-EVOLVECompletedDownload
38Second SonsEnglishWEB-DL-NTbCompletedDownload
38Second SonsEnglishWEB-DL-NTbCompletedDownload
38Second SonsDutchHDTV.x264-EVOLVECompletedDownload
38Second SonsDutch1080p.WEB-DL.DD5.1.HCompletedDownload
38Second SonsDutch.PROPER.HDTV.x264-2HCompletedDownload
38Second SonsBulgarianWEB-DLCompletedDownload
38Second SonsSpanish (Spain)EVOLVECompletedDownload
38Second SonsSpanish (Spain)PROPER 2HDCompletedDownload
38Second SonsIndonesianCompletedDownload
38Second SonsCroatianHDTV.XviD-AFGCompletedDownload
38Second SonsItalianWEB-DLCompletedDownload
38Second SonsGermanPROPER 2HDCompletedDownload
38Second SonsPersianWEB-DL-NTbCompletedDownload
38Second SonsFrench2HDCompletedDownload
38Second SonsFrenchEVOLVECompletedDownload
38Second SonsFrenchWEB-DL.NTbCompletedDownload
38Second SonsItalianBDRip.x264-DEMANDCompletedDownload
38Second SonsDutchBluRayCompletedDownload
38Second SonsEnglish720p.BluRay.ShAaNiGCompletedDownload
38Second SonsEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
38Second SonsPortuguese (Brazilian)EVOLVECompletedDownload
38Second SonsPortuguese (Brazilian)BlurayCompletedDownload
38Second SonsPortuguese (Brazilian)WEB-DLCompletedDownload
38Second SonsGreekBluRay.x264-RoversCompletedDownload
38Second SonsTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
39The Rains of CastamereEnglishEVOLVECompletedDownload
39The Rains of CastamereFrenchEVOLVECompletedDownload
39The Rains of CastamereGermanEVOLVECompletedDownload
39The Rains of CastamereBulgarianEVOLVECompletedDownload
39The Rains of CastamereEnglishEVOLVECompletedDownload
39The Rains of CastamerePortuguese (Brazilian)EVOLVECompletedDownload
39The Rains of CastamerePersianEVOLVECompletedDownload
39The Rains of CastamereSpanish (Spain)EVOLVECompletedDownload
39The Rains of CastamereItalianEVOLVECompletedDownload
39The Rains of CastamereGreekAFGCompletedDownload
39The Rains of CastamereDutchHDTV.x264-EVOLVECompletedDownload
39The Rains of CastamereDutch1080p.WEB-DL.DD5.1.HCompletedDownload
39The Rains of CastamereEnglishWEB-DLCompletedDownload
39The Rains of CastamereEnglishWEB-DLCompletedDownload
39The Rains of CastamereFrenchEvolveCompletedDownload
39The Rains of CastamereFrenchWEB-DL.NTb.&.YFNCompletedDownload
39The Rains of CastamereItalianWEB-DLCompletedDownload
39The Rains of CastamerePortuguese (Brazilian)WEB-DLCompletedDownload
39The Rains of CastamereGermanEVOLVECompletedDownload
39The Rains of CastamereItalianBDRip.x264-DEMANDCompletedDownload
39The Rains of CastamereDutchBluRayCompletedDownload
39The Rains of CastamereEnglish720p.BluRay.ShAaNiGCompletedDownload
39The Rains of CastamereEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
39The Rains of CastamerePortuguese (Brazilian)BlurayCompletedDownload
39The Rains of CastamereGreekBluRay.x264-RoversCompletedDownload
39The Rains of CastamereTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
310MhysaEnglishEVOLVECompletedDownload
310MhysaFrenchEVOLVECompletedDownload
310MhysaGermanEVOLVECompletedDownload
310MhysaBulgarianEVOLVECompletedDownload
310MhysaEnglishEVOLVECompletedDownload
310MhysaFrenchEVOLVECompletedDownload
310MhysaPortuguese (Brazilian)EVOLVECompletedDownload
310MhysaSpanish (Spain)EVOLVECompletedDownload
310MhysaItalianEVOLVECompletedDownload
310MhysaGreekHDTVx264-EVOLVECompletedDownload
310MhysaGreek720p HDTV x264-EVOLVCompletedDownload
310MhysaItalianEVOLVECompletedDownload
310MhysaEnglish720pCtrlHDCompletedDownload
310MhysaEnglish720pCtrlHDCompletedDownload
310MhysaEnglishWEB-DL-NTbCompletedDownload
310MhysaEnglishWEB-DL-NTbCompletedDownload
310MhysaDutch720p.HDTV.x264-EVOLVCompletedDownload
310MhysaDutch1080p.WEB-DL.DD5.1.HCompletedDownload
310MhysaPortugueseAll_with_previewCompletedDownload
310MhysaPortugueseAll_without_previewCompletedDownload
310MhysaFrenchEvolveCompletedDownload
310MhysaFrenchEvolveCompletedDownload
310MhysaFrenchWEB-DL.NTbCompletedDownload
310MhysaItalianWEB-DLCompletedDownload
310MhysaGermanEVOLVECompletedDownload
310MhysaGermanEVOLVECompletedDownload
310MhysaCroatian1.0CompletedDownload
310MhysaItalianBDRip.x264-DEMANDCompletedDownload
310MhysaDutchBluRayCompletedDownload
310MhysaEnglish720p.BluRay.ShAaNiGCompletedDownload
310MhysaEnglishBluRay-DEMAND(ShAaNig)CompletedDownload
310MhysaPortuguese (Brazilian)BlurayCompletedDownload
310MhysaPortuguese (Brazilian)WEB-DLCompletedDownload
310MhysaGreekBluRay.x264-RoversCompletedDownload
310MhysaTurkish2160p.BluRay-BeyondHD+DON+FraMeSToR+FULLSiZE+playBCompletedDownload
390Season 4 Trailer 1EnglishYouTuberipCompletedDownload
390Season 4 Trailer 1FrenchYouTuberipCompletedDownload
390Season 4 Trailer 1RomanianYouTuberipCompletedDownload
390Season 4 Trailer 1FrenchCompletedDownload
399The Politics Of Power: A Look Back At Season 3English2HDCompletedDownload
399The Politics Of Power: A Look Back At Season 3English2HDCompletedDownload
399The Politics Of Power: A Look Back At Season 3French2HDCompletedDownload
399The Politics Of Power: A Look Back At Season 3Portuguese (Brazilian)2HDCompletedDownload
399The Politics Of Power: A Look Back At Season 3Italian2HDCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Catal\xE0
Croatian
Dutch
English
French
German
Greek
Indonesian
Italian
Norwegian
Persian
Portuguese
Portuguese (Brazilian)
Romanian
Spanish (Latin America)
Spanish (Spain)
Turkish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:44 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_colon.yaml0000644000175100001770000203461214636376416026120 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:49 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=uk5u834v752b8rjhcgu6cv9ra7; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=uk5u834v752b8rjhcgu6cv9ra7 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/4633 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=4633&season=2&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
21Why-FiEnglishDIMENSIONCompletedDownload
21Why-FiBulgarianDIMENSIONCompletedDownload
21Why-FiEnglishDIMENSION.coloredCompletedDownload
21Why-FiEnglishDIMENSIONCompletedDownload
21Why-FiFrenchDIMENSIONCompletedDownload
21Why-FiItalianLOLCompletedDownload
21Why-FiDutchDIMENSIONCompletedDownload
21Why-FiDutchWEB-DL 1080CompletedDownload
22Heart MeEnglishDIMENSIONCompletedDownload
22Heart MeEnglishDIMENSION.coloredCompletedDownload
22Heart MeEnglishDIMENSIONCompletedDownload
22Heart MeFrenchDIMENSIONCompletedDownload
22Heart MeBulgarianDIMENSIONCompletedDownload
22Heart MeItalianLOLCompletedDownload
22Heart MeDutchDIMENSION 720&1080CompletedDownload
22Heart MeDutchWEB-DL1080CompletedDownload
23Brown Eyes, Blue EyesEnglishDIMENSIONCompletedDownload
23Brown Eyes, Blue EyesEnglishDIMENSION.coloredCompletedDownload
23Brown Eyes, Blue EyesEnglishDIMENSIONCompletedDownload
23Brown Eyes, Blue EyesFrenchDIMENSIONCompletedDownload
23Brown Eyes, Blue EyesBulgarianDIMENSIONCompletedDownload
23Brown Eyes, Blue EyesDutchDIMENSIONCompletedDownload
23Brown Eyes, Blue EyesDutchWEB-DL1080CompletedDownload
24Red CroneEnglishDIMENSIONCompletedDownload
24Red CroneEnglishDIMENSION.coloredCompletedDownload
24Red CroneEnglishDIMENSIONCompletedDownload
24Red CroneFrenchDIMENSIONCompletedDownload
24Red CroneBulgarianDIMENSIONCompletedDownload
24Red CroneDutchDIMENSIONCompletedDownload
24Red CroneDutchWEB-DL1080CompletedDownload
25hack E.R.EnglishDIMENSIONCompletedDownload
25hack E.R.EnglishDIMENSIONCompletedDownload
25hack E.R.FrenchDIMENSIONCompletedDownload
25hack E.R.BulgarianDIMENSIONCompletedDownload
25hack E.R.EnglishDIMENSION.coloredCompletedDownload
25hack E.R.Dutch720HDTVx264CompletedDownload
25hack E.R.DutchDIMENSION1080CompletedDownload
25hack E.R.DutchWEB-DL1080CompletedDownload
26Gone in 6 SecondsEnglishDIMENSIONCompletedDownload
26Gone in 6 SecondsEnglishDIMENSION.coloredCompletedDownload
26Gone in 6 SecondsEnglishDIMENSIONCompletedDownload
26Gone in 6 SecondsFrenchDIMENSIONCompletedDownload
26Gone in 6 SecondsBulgarianDIMENSIONCompletedDownload
26Gone in 6 SecondsItalianDIMENSIONCompletedDownload
26Gone in 6 SecondsDutchDIMENSION720-1080CompletedDownload
26Gone in 6 SecondsDutchWEB-DL1080CompletedDownload
27Corrupted MemoryEnglishDIMENSIONCompletedDownload
27Corrupted MemoryEnglishDIMENSION.coloredCompletedDownload
27Corrupted MemoryEnglishDIMENSIONCompletedDownload
27Corrupted MemoryFrenchDIMENSIONCompletedDownload
27Corrupted MemoryItalianDIMENSIONCompletedDownload
27Corrupted MemoryDutchDIMENSION720-1080CompletedDownload
27Corrupted MemoryDutchWEB-DL1080CompletedDownload
28PythonEnglishDIMENSIONCompletedDownload
28PythonEnglishDIMENSION.coloredCompletedDownload
28PythonEnglishDIMENSIONCompletedDownload
28PythonFrenchDIMENSIONCompletedDownload
28PythonItalianDIMENSIONCompletedDownload
28PythonDutchDimension-720&1080CompletedDownload
28PythonDutchWEB-DLCompletedDownload
29iWitnessEnglishLOLCompletedDownload
29iWitnessFrenchLOLCompletedDownload
29iWitnessItalianLOLCompletedDownload
29iWitnessDutchDIMENSION-720-1080CompletedDownload
29iWitnessEnglishDIMENSION.coloredCompletedDownload
29iWitnessEnglishDIMENSIONCompletedDownload
29iWitnessDutchWEB_DL-1080CompletedDownload
210Shades of GreyEnglish720p.DIMENSIONCompletedDownload
210Shades of GreyFrench720p.DIMENSIONCompletedDownload
210Shades of GreyEnglish720p.DIMENSIONCompletedDownload
210Shades of GreyEnglish720p.DIMENSION.coloredCompletedDownload
210Shades of GreyEnglishWEB-DL.tek54mCompletedDownload
210Shades of GreyEnglishWEB-DL.tek54mCompletedDownload
210Shades of GreyDutchDIMENSION-720CompletedDownload
210Shades of GreyDutchWEB-DL-1080CompletedDownload
211404: Flight Not FoundEnglishDIMENSIONCompletedDownload
211404: Flight Not FoundEnglishDIMENSION.coloredCompletedDownload
211404: Flight Not FoundEnglishDIMENSIONCompletedDownload
211404: Flight Not FoundFrenchDIMENSIONCompletedDownload
211404: Flight Not FoundDutchDIMENSION-720CompletedDownload
211404: Flight Not FoundDutchWEB-DL-1080CompletedDownload
212Going ViralEnglishDIMENSIONCompletedDownload
212Going ViralEnglishDIMENSIONCompletedDownload
212Going ViralFrenchDIMENSIONCompletedDownload
212Going ViralEnglishDIMENSION.coloredCompletedDownload
212Going ViralItalianLOLCompletedDownload
212Going ViralDutchDIMENSION-720CompletedDownload
212Going ViralDutchWEB-DL-1080CompletedDownload
213The Walking DeadEnglishDIMENSIONCompletedDownload
213The Walking DeadEnglishDIMENSIONCompletedDownload
213The Walking DeadFrenchDIMENSIONCompletedDownload
213The Walking DeadEnglishDIMENSION.coloredCompletedDownload
213The Walking DeadItalianLOLCompletedDownload
213The Walking DeadDutchWEB-DL-1080CompletedDownload
213The Walking DeadDutchDIMENSION-720CompletedDownload
214Fit-and-RunEnglishDIMENSIONCompletedDownload
214Fit-and-RunEnglishDIMENSIONCompletedDownload
214Fit-and-RunFrenchDIMENSIONCompletedDownload
214Fit-and-RunEnglishDIMENSION.coloredCompletedDownload
214Fit-and-RunItalianLOLCompletedDownload
214Fit-and-RunDutchweb-dl-1080CompletedDownload
214Fit-and-RunDutchDIMENSION-720CompletedDownload
215Python's RevengeEnglishDIMENSIONCompletedDownload
215Python's RevengeFrenchDIMENSIONCompletedDownload
215Python's RevengeEnglishDIMENSIONCompletedDownload
215Python's RevengeEnglishDIMENSION.coloredCompletedDownload
215Python's RevengeDutchDIMENSION-720CompletedDownload
215Python's RevengeDutchWEB-DL-HKD-1080CompletedDownload
215Python's RevengeFrenchDIMENSIONCompletedDownload
2165 Deadly SinsEnglishDIMENSIONCompletedDownload
2165 Deadly SinsEnglishDIMENSIONCompletedDownload
2165 Deadly SinsFrenchDIMENSIONCompletedDownload
2165 Deadly SinsEnglishDIMENSION.coloredCompletedDownload
2165 Deadly SinsItalianLOLCompletedDownload
2165 Deadly SinsDutchDIMENSION-720CompletedDownload
2165 Deadly SinsDutchWEB-DL-1080-HKDCompletedDownload
217Flash SquadEnglishDIMENSIONCompletedDownload
217Flash SquadEnglishDIMENSIONCompletedDownload
217Flash SquadFrenchDIMENSIONCompletedDownload
217Flash SquadEnglishDIMENSION.coloredCompletedDownload
217Flash SquadDutchDIMENSION-720CompletedDownload
217Flash SquadDutchWEB-DL-1080-HKDCompletedDownload
218LegacyEnglishDIMENSIONCompletedDownload
218LegacyEnglishDIMENSIONCompletedDownload
218LegacyFrenchDIMENSIONCompletedDownload
218LegacyEnglishDIMENSION.coloredCompletedDownload
218LegacyDutchDIMENSION-720CompletedDownload
218LegacyDutchWEB-DL-1080-HKDCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \ \n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Dutch
English
French
Italian
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:57 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_dash.yaml0000644000175100001770000207437014636376416025732 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:58 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=cl0serk54aj0riu6bd9mq76966; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=cl0serk54aj0riu6bd9mq76966 User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/85 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=85&season=10&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
100The X-Files Re-Opened (preview special)EnglishWebrip-SRSCompletedDownload
100The X-Files Re-Opened (preview special)FrenchWebrip-SRSCompletedDownload
100The X-Files Re-Opened (preview special)EnglishWebrip-SRSCompletedDownload
100The X-Files Re-Opened (preview special)EnglishWEBRip-spamTVCompletedDownload
100The X-Files Re-Opened (preview special)EnglishWEBRip-spamTVCompletedDownload
100The X-Files Re-Opened (preview special)EnglishYouTubeCompletedDownload
100The X-Files Re-Opened (preview special)EnglishYouTubeCompletedDownload
100The X-Files Re-Opened (preview special)FrenchWebrip-spamTVCompletedDownload
101My StruggleEnglishKILLERSCompletedDownload
101My StruggleEnglishKILLERSCompletedDownload
101My StruggleEnglishAVSCompletedDownload
101My StruggleEnglishAVSCompletedDownload
101My StruggleEnglishWEB-DL-RARBGCompletedDownload
101My StruggleEnglishWEB-DL-RARBGCompletedDownload
101My StruggleSpanish (Latin America)KILLERSCompletedDownload
101My StruggleSpanish (Latin America)1080p.WEB-DL.DD5.1.H264CompletedDownload
101My StruggleSpanish (Latin America)HDTV.x264-AVSCompletedDownload
101My StruggleItalianKILLERSCompletedDownload
101My StruggleFrenchWeb-DL.IMPERIUMCompletedDownload
101My StrugglePortuguese (Brazilian)WEB-DLCompletedDownload
101My StrugglePortuguese (Brazilian)KILLERSCompletedDownload
101My StruggleFrenchAVSCompletedDownload
101My StruggleFrenchJiTBCompletedDownload
101My StruggleFrenchKILLERSCompletedDownload
101My StruggleFrenchWeb-DLCompletedDownload
101My StruggleEnglishWEB-DL.x264.AACCompletedDownload
101My StruggleEnglishWEB-DL.x264.AACCompletedDownload
101My StruggleSpanish (Latin America)1080pWEB-DLDD51H264-DRACULACompletedDownload
101My StruggleItalianWEB-DLCompletedDownload
101My StruggleDutchREPACK.1080p.WEB-DL.DD5.1.H264-DRACULACompletedDownload
101My StruggleEnglishBluRayCompletedDownload
101My StruggleDutchBluRay(RETAIL)CompletedDownload
102Founder's MutationEnglishKILLERSCompletedDownload
102Founder's MutationEnglishKILLERSCompletedDownload
102Founder's MutationEnglishAVSCompletedDownload
102Founder's MutationEnglishAVSCompletedDownload
102Founder's MutationSpanish (Latin America)AVSCompletedDownload
102Founder's MutationSpanish (Latin America)KILLERSCompletedDownload
102Founder's MutationEnglishWEB-DL-RARBGCompletedDownload
102Founder's MutationEnglishWEB-DL-RARBGCompletedDownload
102Founder's MutationSpanish (Latin America)1080p.WEB-DL.DD5.1.H264-RARBGCompletedDownload
102Founder's MutationPortuguese (Brazilian)KILLERSCompletedDownload
102Founder's MutationPortuguese (Brazilian)WEB-DLCompletedDownload
102Founder's MutationFrenchWeb-DL.IMPERIUMCompletedDownload
102Founder's MutationFrenchWeb-DL.RARBGCompletedDownload
102Founder's MutationSpanish (Latin America)iNTERNALHDTVx264-TURBOCompletedDownload
102Founder's MutationEnglishInternal.Repack.TURBOCompletedDownload
102Founder's MutationEnglishWEB-DL.x264.AACCompletedDownload
102Founder's MutationEnglishWEB-DL.x264.AACCompletedDownload
102Founder's MutationSpanish (Latin America)1080pWEB-DLDD51H264-DRACULACompletedDownload
102Founder's MutationDutchWEB-DL.H264.DRACULACompletedDownload
102Founder's MutationFrenchAVSCompletedDownload
102Founder's MutationFrenchWeb-DL.DraculaCompletedDownload
102Founder's MutationFrenchKILLERSCompletedDownload
102Founder's MutationItalianKILLERSCompletedDownload
102Founder's MutationItalianAVSCompletedDownload
102Founder's MutationItalianWEB-DLCompletedDownload
102Founder's MutationDutchKILLERSCompletedDownload
102Founder's MutationEnglishBluRayCompletedDownload
102Founder's MutationDutchBluRay(RETAIL)CompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishKILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishKILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishAVSCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishAVSCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishWEB-DL-RARBGCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishWEB-DL-RARBGCompletedDownload
103Mulder And Scully Meet The Were-MonsterSpanish (Latin America)KILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterSpanish (Latin America)AVSCompletedDownload
103Mulder And Scully Meet The Were-MonsterSpanish (Latin America)1080p.WEB-DL.DD5.1.H264-RARBGCompletedDownload
103Mulder And Scully Meet The Were-MonsterFrenchWeb-DL.IMPERIUMCompletedDownload
103Mulder And Scully Meet The Were-MonsterDutchWEB-DL.H264.DRACULACompletedDownload
103Mulder And Scully Meet The Were-MonsterItalianKILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterItalianAVSCompletedDownload
103Mulder And Scully Meet The Were-MonsterItalianWEB-DLCompletedDownload
103Mulder And Scully Meet The Were-MonsterFrenchAVSCompletedDownload
103Mulder And Scully Meet The Were-MonsterFrenchKILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterFrenchWeb-DLCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishWEB-DL.x264.AACCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishWEB-DL.x264.AACCompletedDownload
103Mulder And Scully Meet The Were-MonsterSwedishTv3Play,25FpsCompletedDownload
103Mulder And Scully Meet The Were-MonsterDutchKILLERSCompletedDownload
103Mulder And Scully Meet The Were-MonsterEnglishBluRayCompletedDownload
103Mulder And Scully Meet The Were-MonsterDutchBluRay(RETAIL)CompletedDownload
104Home AgainEnglish2HDCompletedDownload
104Home AgainEnglish2HDCompletedDownload
104Home AgainSpanish (Latin America)PROPER.HDTV.x264-2HDCompletedDownload
104Home AgainSpanish (Latin America)FLEETCompletedDownload
104Home AgainSpanish (Latin America)WEB.DL.x264.RARBGCompletedDownload
104Home AgainEnglishWEB-DL-RARBGCompletedDownload
104Home AgainEnglishWEB-DL-RARBGCompletedDownload
104Home AgainItalianFLEETCompletedDownload
104Home AgainItalian2HD(PROPER)CompletedDownload
104Home AgainFrenchWeb-DL-IMPERIUMCompletedDownload
104Home AgainSpanish (Latin America)REAL.PROPER.HDTVx264-TURBOCompletedDownload
104Home AgainEnglishREAL.PROPER.TURBOCompletedDownload
104Home AgainEnglishREAL.PROPER.TURBOCompletedDownload
104Home AgainEnglishWEB-DL.x264.AACCompletedDownload
104Home AgainEnglishWEB-DL.x264.AACCompletedDownload
104Home AgainSwedishPROPERCompletedDownload
104Home AgainSwedishTv3Play,25FpsCompletedDownload
104Home AgainDutchWEB-DL.H264.DRACULACompletedDownload
104Home AgainDutchPROPER.2HDCompletedDownload
104Home AgainFrenchFLEET.720pCompletedDownload
104Home AgainFrenchFLEETCompletedDownload
104Home AgainFrench2HDCompletedDownload
104Home AgainFrenchWeb-DL.DraculaCompletedDownload
104Home AgainFrenchREAL.PROPER-TURBOCompletedDownload
104Home AgainEnglishBluRayCompletedDownload
104Home AgainDutchBluRay(RETAIL)CompletedDownload
105BabylonEnglishFLEETCompletedDownload
105BabylonEnglishFLEETCompletedDownload
105BabylonEnglishSVACompletedDownload
105BabylonEnglishSVACompletedDownload
105BabylonEnglishWEB-DL-RARBGCompletedDownload
105BabylonEnglishWEB-DL-RARBGCompletedDownload
105BabylonSpanish (Latin America)FUMCompletedDownload
105BabylonSpanish (Latin America)FLEETCompletedDownload
105BabylonSpanish (Latin America)WEB-DL.DD5.1.H264-RARBGCompletedDownload
105BabylonFrenchWeb-DL.IMPERIUMCompletedDownload
105BabylonItalianFUMCompletedDownload
105BabylonItalianWEB-DLCompletedDownload
105BabylonEnglishWEB-DL.x264.AACCompletedDownload
105BabylonEnglishWEB-DL.x264.AACCompletedDownload
105BabylonDutchWEB-DLCompletedDownload
105BabylonDutchFLEETCompletedDownload
105BabylonFrenchWeb-DL.OoshCompletedDownload
105BabylonFrenchSVACompletedDownload
105BabylonFrenchFLEETCompletedDownload
105BabylonFrenchWeb-DL.DraculaCompletedDownload
105BabylonEnglishBluRayCompletedDownload
105BabylonDutchBluRay(RETAIL)CompletedDownload
106My Struggle IIEnglishFLEETCompletedDownload
106My Struggle IIEnglishFLEETCompletedDownload
106My Struggle IIEnglishAVSCompletedDownload
106My Struggle IIEnglishAVSCompletedDownload
106My Struggle IISpanish (Latin America)FLEETCompletedDownload
106My Struggle IISpanish (Spain)AVSCompletedDownload
106My Struggle IISpanish (Latin America)WEB-DL.DD5.1.H264-RARBGCompletedDownload
106My Struggle IIEnglishWEB-DL-RARBGCompletedDownload
106My Struggle IIEnglishWEB-DL-RARBGCompletedDownload
106My Struggle IIItalianFUMCompletedDownload
106My Struggle IIItalian720p.WEB-DL-RARBGCompletedDownload
106My Struggle IIItalianFLEETCompletedDownload
106My Struggle IIEnglishWEB-DL.x264.AACCompletedDownload
106My Struggle IIEnglishWEB-DL.x264.AACCompletedDownload
106My Struggle IIDutchWEB-DLCompletedDownload
106My Struggle IIDutchFLEETCompletedDownload
106My Struggle IIFrench720p.FLEETCompletedDownload
106My Struggle IIFrenchFUMCompletedDownload
106My Struggle IIFrenchWEB-DL.OoshCompletedDownload
106My Struggle IIFrenchWEB-DL.RARBGCompletedDownload
106My Struggle IIEnglishBluRayCompletedDownload
106My Struggle IIDutchBluRay(RETAIL)CompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Dutch
English
French
Italian
Portuguese (Brazilian)
Spanish (Latin America)
Spanish (Spain)
Swedish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:20:06 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_parsing_quote_dots_mixed_case.yaml0000644000175100001770000064633314636376416031364 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/4010 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=4010&season=2&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
21ShadowsEnglishx264-KILLERSCompletedDownload
21ShadowsEnglishx264-KILLERSCompletedDownload
21ShadowsBulgarianx264-KILLERSCompletedDownload
21ShadowsEnglishWEB-DL-BSCompletedDownload
21ShadowsEnglishWEB-DL-BSCompletedDownload
21ShadowsItalianWEB-DL-BSCompletedDownload
21ShadowsItalianKILLERSCompletedDownload
21ShadowsPortuguese (Brazilian)KILLERSCompletedDownload
21ShadowsPortuguese (Brazilian)WEB-DL-BSCompletedDownload
21ShadowsGreekHDTV x264-KILLERSCompletedDownload
21ShadowsDutchKILLERSCompletedDownload
21ShadowsDutchWEB-DLCompletedDownload
21ShadowsFrenchKILLERSCompletedDownload
21ShadowsFrenchWEB-DLCompletedDownload
21ShadowsRussianx264-KILLERSCompletedDownload
21ShadowsEnglishBDRip.x264-REWARDCompletedDownload
21ShadowsEnglishBDRip.x264-REWARDCompletedDownload
22Heavy is the HeadEnglishx264-KILLERSCompletedDownload
22Heavy is the HeadPortuguese (Brazilian)x264-KILLERSCompletedDownload
22Heavy is the HeadBulgarianx264-KILLERSCompletedDownload
22Heavy is the HeadEnglishx264-KILLERSCompletedDownload
22Heavy is the HeadItalianKILLERSCompletedDownload
22Heavy is the HeadItalianWEB-DL-BSCompletedDownload
22Heavy is the HeadEnglishWEB-DL-BSCompletedDownload
22Heavy is the HeadEnglishWEB-DL-BSCompletedDownload
22Heavy is the HeadPortuguese (Brazilian)KILLERSCompletedDownload
22Heavy is the HeadPortuguese (Brazilian)WEB-DL-BSCompletedDownload
22Heavy is the HeadDutch720p KILLERSCompletedDownload
22Heavy is the HeadDutchWEB-DL-BSCompletedDownload
22Heavy is the HeadFrenchKILLERSCompletedDownload
22Heavy is the HeadFrenchWEB-DLCompletedDownload
22Heavy is the HeadRussianx264-KILLERSCompletedDownload
23Making Friends and Influencing PeopleEnglishx264-2HDCompletedDownload
23Making Friends and Influencing PeopleBulgarianx264-2HDCompletedDownload
23Making Friends and Influencing PeopleEnglishx264-2HDCompletedDownload
23Making Friends and Influencing PeopleItalianLOLCompletedDownload
23Making Friends and Influencing PeopleEnglishPROPER-DIMENSIONCompletedDownload
23Making Friends and Influencing PeopleEnglishPROPER-DIMENSIONCompletedDownload
23Making Friends and Influencing PeopleEnglishx264-KILLERSCompletedDownload
23Making Friends and Influencing PeopleEnglishx264-KILLERSCompletedDownload
23Making Friends and Influencing PeopleEnglishWEB-DL-BSCompletedDownload
23Making Friends and Influencing PeopleEnglishWEB-DL-BSCompletedDownload
23Making Friends and Influencing PeopleItalianWEB-DL-BSCompletedDownload
23Making Friends and Influencing PeopleItalianPROPER-2HDCompletedDownload
23Making Friends and Influencing PeoplePortuguese (Brazilian)LOLCompletedDownload
23Making Friends and Influencing PeopleDutchKILLERSCompletedDownload
23Making Friends and Influencing PeopleDutchDIMENSIONCompletedDownload
23Making Friends and Influencing PeopleDutchWEB-DLCompletedDownload
23Making Friends and Influencing PeoplePortuguese (Brazilian)WEB-DL-BSCompletedDownload
23Making Friends and Influencing PeopleFrenchLOLCompletedDownload
23Making Friends and Influencing PeopleFrenchPROPER.2HDCompletedDownload
23Making Friends and Influencing PeopleFrenchPROPER.DIMENSIONCompletedDownload
23Making Friends and Influencing PeopleFrenchWEB-DLCompletedDownload
23Making Friends and Influencing PeopleRussianPROPER-DIMENSIONCompletedDownload
23Making Friends and Influencing PeopleEnglishBDRip.x264-REWARDCompletedDownload
23Making Friends and Influencing PeopleEnglishBDRip.x264-REWARDCompletedDownload
24I Will Face My EnemyEnglish720p-KILLERSCompletedDownload
24I Will Face My EnemyBulgarian720p-KILLERSCompletedDownload
24I Will Face My EnemyEnglish720p-KILLERSCompletedDownload
24I Will Face My EnemyItalianKILLERSCompletedDownload
24I Will Face My EnemyEnglishWEB-DL-BSCompletedDownload
24I Will Face My EnemyEnglishWEB-DL-BSCompletedDownload
24I Will Face My EnemyItalianWEB-DL-BSCompletedDownload
24I Will Face My EnemyRomanianHDTV.XviD-AFGCompletedDownload
24I Will Face My EnemyRomanian720p.x264-KILLERSCompletedDownload
24I Will Face My EnemyPortuguese (Brazilian)KILLERSCompletedDownload
24I Will Face My EnemyPortuguese (Brazilian)WEB-DL-BSCompletedDownload
24I Will Face My EnemyDutchWED-DL720p-1080pCompletedDownload
24I Will Face My EnemyDutch720p KILLERSCompletedDownload
24I Will Face My EnemyFrenchKILLERSCompletedDownload
24I Will Face My EnemyFrenchWEB-DLCompletedDownload
24I Will Face My EnemyRussianKILLERSCompletedDownload
24I Will Face My EnemyEnglishBDRip.x264-REWARDCompletedDownload
24I Will Face My EnemyEnglishBDRip.x264-REWARDCompletedDownload
25A Hen in the Wolf HouseEnglish720p-KILLERSCompletedDownload
25A Hen in the Wolf HouseBulgarian720p-KILLERSCompletedDownload
25A Hen in the Wolf HouseEnglish720p-KILLERSCompletedDownload
25A Hen in the Wolf HouseItalianKILLERSCompletedDownload
25A Hen in the Wolf HouseEnglishWEB-DL-BSCompletedDownload
25A Hen in the Wolf HouseEnglishWEB-DL-BSCompletedDownload
25A Hen in the Wolf HouseItalianWEB-DL-BSCompletedDownload
25A Hen in the Wolf HousePortuguese (Brazilian)KILLERSCompletedDownload
25A Hen in the Wolf HousePortuguese (Brazilian)WEB-DL-BSCompletedDownload
25A Hen in the Wolf HouseDutchWEB-DLCompletedDownload
25A Hen in the Wolf HouseDutchKILLERSCompletedDownload
25A Hen in the Wolf HouseFrenchKILLERSCompletedDownload
25A Hen in the Wolf HouseFrenchWEB-DLCompletedDownload
25A Hen in the Wolf HouseRussianKILLERSCompletedDownload
25A Hen in the Wolf HouseEnglishBDRip.x264-REWARDCompletedDownload
25A Hen in the Wolf HouseEnglishBDRip.x264-REWARDCompletedDownload
26A Fractured HouseEnglish720p-KILLERSCompletedDownload
26A Fractured HouseFrench720p-KILLERSCompletedDownload
26A Fractured HouseEnglish720p-KILLERSCompletedDownload
26A Fractured HouseFrench720p-KILLERSCompletedDownload
26A Fractured HouseEnglishHDTV.x264-KILLERSCompletedDownload
26A Fractured HouseEnglishHDTV.x264-KILLERSCompletedDownload
26A Fractured HouseFrenchHDTV.x264-KILLERSCompletedDownload
26A Fractured HouseItalianKILLERSCompletedDownload
26A Fractured HouseEnglishWEB-DL-BSCompletedDownload
26A Fractured HouseEnglishWEB-DL-BSCompletedDownload
26A Fractured HouseItalianWEB-DLCompletedDownload
26A Fractured HouseItalianKILLERSCompletedDownload
26A Fractured HousePortuguese (Brazilian)KILLERSCompletedDownload
26A Fractured HousePortuguese (Brazilian)WEB-DL-BSCompletedDownload
26A Fractured HouseDutch720p KILLERSCompletedDownload
26A Fractured HouseDutchWEB-DL-BSCompletedDownload
26A Fractured HouseFrenchKILLERSCompletedDownload
26A Fractured HouseFrenchWEB-DLCompletedDownload
26A Fractured HouseRussianKILLERSCompletedDownload
26A Fractured HouseEnglishBDRip.x264-REWARDCompletedDownload
26A Fractured HouseEnglishBDRip.x264-REWARDCompletedDownload
27The Writing on the WallEnglish720p-KILLERSCompletedDownload
27The Writing on the WallBulgarian720p-KILLERSCompletedDownload
27The Writing on the WallEnglish720p-KILLERSCompletedDownload
27The Writing on the WallItalianKILLERSCompletedDownload
27The Writing on the WallEnglishWEB-DL-BSCompletedDownload
27The Writing on the WallEnglishWEB-DL-BSCompletedDownload
27The Writing on the WallPortuguese (Brazilian)KILLERSCompletedDownload
27The Writing on the WallItalianWEB-DLCompletedDownload
27The Writing on the WallDutch720p KILLERSCompletedDownload
27The Writing on the WallDutchWEB-DL-BSCompletedDownload
27The Writing on the WallFrenchKILLERSCompletedDownload
27The Writing on the WallFrenchWEB-DLCompletedDownload
27The Writing on the WallRussianKILLERSCompletedDownload
27The Writing on the WallEnglishBDRip.x264-REWARDCompletedDownload
27The Writing on the WallEnglishBDRip.x264-REWARDCompletedDownload
28The Things We BuryEnglishx264-KILLERSCompletedDownload
28The Things We BuryEnglishx264-KILLERSCompletedDownload
28The Things We BuryItalianKILLERSCompletedDownload
28The Things We BuryEnglishWEB-DL-BSCompletedDownload
28The Things We BuryEnglishWEB-DL-BSCompletedDownload
28The Things We BuryItalianWEB-DLCompletedDownload
28The Things We BuryPortuguese (Brazilian)WEB-DLCompletedDownload
28The Things We BuryPortuguese (Brazilian)KILLERSCompletedDownload
28The Things We BuryEnglishREPACK.KILLERSCompletedDownload
28The Things We BuryEnglish720p.REPACK-KILLERSCompletedDownload
28The Things We BuryDutchKILLERSCompletedDownload
28The Things We BuryDutchREPACK 720p KILLERSCompletedDownload
28The Things We BuryDutchWEB-DL-BSCompletedDownload
28The Things We BuryFrenchKILLERSCompletedDownload
28The Things We BuryFrenchREPACK.KILLERSCompletedDownload
28The Things We BuryFrenchWEB-DLCompletedDownload
28The Things We BuryRussianKILLERSCompletedDownload
28The Things We BuryEnglishBDRip.x264-REWARDCompletedDownload
28The Things We BuryEnglishBDRip.x264-REWARDCompletedDownload
29...Ye Who Enter HereEnglishx264-KILLERSCompletedDownload
29...Ye Who Enter HereBulgarianx264-KILLERSCompletedDownload
29...Ye Who Enter HereEnglishx264-KILLERSCompletedDownload
29...Ye Who Enter HereFrenchx264-KILLERSCompletedDownload
29...Ye Who Enter HereItalianKILLERSCompletedDownload
29...Ye Who Enter HereEnglishWEB-DL-BSCompletedDownload
29...Ye Who Enter HereEnglishWEB-DL-BSCompletedDownload
29...Ye Who Enter HereItalianWEB-DL-BSCompletedDownload
29...Ye Who Enter HerePortuguese (Brazilian)KILLERSCompletedDownload
29...Ye Who Enter HereDutchKILLERSCompletedDownload
29...Ye Who Enter HereDutchWEB-DLCompletedDownload
29...Ye Who Enter HereFrenchKILLERSCompletedDownload
29...Ye Who Enter HereFrenchWEB-DLCompletedDownload
29...Ye Who Enter HereRussianKILLERSCompletedDownload
29...Ye Who Enter HereEnglishBDRip.x264-REWARDCompletedDownload
29...Ye Who Enter HereEnglishBDRip.x264-REWARDCompletedDownload
210What They BecomeEnglishKILLERSCompletedDownload
210What They BecomeBulgarianKILLERSCompletedDownload
210What They BecomeEnglishKILLERSCompletedDownload
210What They BecomeEnglishWEB-DL-BSCompletedDownload
210What They BecomeEnglishWEB-DL-BSCompletedDownload
210What They BecomeItalianKILLERSCompletedDownload
210What They BecomePortuguese (Brazilian)KILLERSCompletedDownload
210What They BecomeDutch720p KILLERSCompletedDownload
210What They BecomeDutchWEB-DL-BSCompletedDownload
210What They BecomeItalianWEB-DL-BSCompletedDownload
210What They BecomeFrenchKILLERSCompletedDownload
210What They BecomeFrenchWEB-DLCompletedDownload
210What They BecomeRussianKILLERSCompletedDownload
210What They BecomeEnglishBDRip.x264-REWARDCompletedDownload
210What They BecomeEnglishBDRip.x264-REWARDCompletedDownload
211AftershocksEnglishx264-KILLERSCompletedDownload
211AftershocksEnglishx264-KILLERSCompletedDownload
211AftershocksEnglishWEB-DLCompletedDownload
211AftershocksEnglishWEB-DLCompletedDownload
211AftershocksRussianKILLERSCompletedDownload
211AftershocksItalianKILLERSCompletedDownload
211AftershocksRussianx264-KILLERSCompletedDownload
211AftershocksDutch720p KILLERSCompletedDownload
211AftershocksDutchWEB-DL-BSCompletedDownload
211AftershocksItalianWEB-DLCompletedDownload
211AftershocksEnglishBDRip.x264-REWARDCompletedDownload
211AftershocksEnglishBDRip.x264-REWARDCompletedDownload
211AftershocksFrenchKILLERSCompletedDownload
211AftershocksFrenchWEB-DLCompletedDownload
212Who You Really AreEnglishx264-KILLERSCompletedDownload
212Who You Really AreBulgarianx264-KILLERSCompletedDownload
212Who You Really AreEnglishx264-KILLERSCompletedDownload
212Who You Really AreEnglishWEB-DLCompletedDownload
212Who You Really AreEnglishWEB-DLCompletedDownload
212Who You Really AreItalianKILLERSCompletedDownload
212Who You Really AreRussianx264-KILLERSCompletedDownload
212Who You Really AreDutchKILLERSCompletedDownload
212Who You Really AreDutchWEB-DLCompletedDownload
212Who You Really AreItalianWEB-DLCompletedDownload
212Who You Really AreFrenchKILLERSCompletedDownload
212Who You Really AreFrenchWEB-DLCompletedDownload
212Who You Really AreEnglishBDRip.x264-DEMANDCompletedDownload
213One of UsEnglishINTERNAL.x264-2HDCompletedDownload
213One of UsBulgarianINTERNAL.x264-2HDCompletedDownload
213One of UsEnglishINTERNAL.x264-2HDCompletedDownload
213One of UsEnglishINTERNAL-BATVCompletedDownload
213One of UsEnglishINTERNAL-BATVCompletedDownload
213One of UsEnglishWEB-DLCompletedDownload
213One of UsEnglishWEB-DLCompletedDownload
213One of UsItalianKILLERSCompletedDownload
213One of UsEnglishImmerseCompletedDownload
213One of UsDutchPROPER.2HDCompletedDownload
213One of UsDutchKILLERSCompletedDownload
213One of UsDutchWEB-DLCompletedDownload
213One of UsItalianWEB-DLCompletedDownload
213One of UsRussian2HDCompletedDownload
213One of UsFrenchPROPER-2HDCompletedDownload
213One of UsFrenchINTERNAL-2HDCompletedDownload
213One of UsFrenchKILLERSCompletedDownload
213One of UsFrenchWEB-DLCompletedDownload
214Love in the Time of HydraEnglishx264-ASAPCompletedDownload
214Love in the Time of HydraBulgarianx264-ASAPCompletedDownload
214Love in the Time of HydraEnglishx264-ASAPCompletedDownload
214Love in the Time of HydraEnglishINTERNAL-BATVCompletedDownload
214Love in the Time of HydraEnglishINTERNAL-BATVCompletedDownload
214Love in the Time of HydraEnglishWEB-DLCompletedDownload
214Love in the Time of HydraEnglishWEB-DLCompletedDownload
214Love in the Time of HydraItalianASAPCompletedDownload
214Love in the Time of HydraDutchIMMERSECompletedDownload
214Love in the Time of HydraDutchWEB-DLCompletedDownload
214Love in the Time of HydraItalianWEB-DLCompletedDownload
214Love in the Time of HydraItalianINTERNAL-BATVCompletedDownload
214Love in the Time of HydraRussianASAPCompletedDownload
214Love in the Time of HydraFrenchASAP.IMMERSECompletedDownload
214Love in the Time of HydraFrenchWEB-DLCompletedDownload
215One Door ClosesEnglishASAPCompletedDownload
215One Door ClosesBulgarianASAPCompletedDownload
215One Door ClosesEnglishASAPCompletedDownload
215One Door ClosesEnglishKILLERSCompletedDownload
215One Door ClosesEnglishKILLERS.CompletedDownload
215One Door ClosesItalianWEB-DLCompletedDownload
215One Door ClosesItalianASAPCompletedDownload
215One Door ClosesDutch720p KILLERSCompletedDownload
215One Door ClosesDutchASAPCompletedDownload
215One Door ClosesDutchWEB-DL-BSCompletedDownload
215One Door ClosesFrenchASAPCompletedDownload
215One Door ClosesFrenchKILLERSCompletedDownload
215One Door ClosesFrenchWEB-DLCompletedDownload
215One Door ClosesEnglishWEB-DLCompletedDownload
215One Door ClosesEnglishWEB-DLCompletedDownload
215One Door ClosesRussianASAPCompletedDownload
215One Door ClosesEnglishBDRip.x264-REWARDCompletedDownload
216AfterlifeEnglishKILLERSCompletedDownload
216AfterlifeBulgarianKILLERSCompletedDownload
216AfterlifeEnglishKILLERSCompletedDownload
216AfterlifeItalianKILLERSCompletedDownload
216AfterlifeEnglishWeb-dlCompletedDownload
216AfterlifeEnglishWeb-dlCompletedDownload
216AfterlifeRussianKILLERSCompletedDownload
216AfterlifeDutch720p KILLERSCompletedDownload
216AfterlifeDutchWEB-DL-BSCompletedDownload
216AfterlifeItalianWEB-DLCompletedDownload
216AfterlifeFrenchKILLERSCompletedDownload
216AfterlifeFrenchWEB-DLCompletedDownload
216AfterlifeEnglishBDRip.x264-REWARDCompletedDownload
217MelindaEnglishASAPCompletedDownload
217MelindaBulgarianASAPCompletedDownload
217MelindaEnglishASAPCompletedDownload
217MelindaEnglishBATVCompletedDownload
217MelindaEnglishBATVCompletedDownload
217MelindaItalianASAPCompletedDownload
217MelindaDutch720p IMMERSECompletedDownload
217MelindaDutch720p BATVCompletedDownload
217MelindaDutchWEB-DL-BSCompletedDownload
217MelindaPortuguese (Brazilian)HDTV.x264-ASAPCompletedDownload
217MelindaEnglishWEB-DLCompletedDownload
217MelindaEnglishWEB-DLCompletedDownload
217MelindaFrenchASAPCompletedDownload
217MelindaFrenchWEb-DLCompletedDownload
217MelindaItalianINTERNAL-BATVCompletedDownload
217MelindaItalianWEB-DLCompletedDownload
217MelindaRussianASAPCompletedDownload
218The Frenemy of My EnemyEnglishREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyBulgarianREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyEnglishREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyEnglish720p-KILLERSCompletedDownload
218The Frenemy of My EnemyEnglish720p-KILLERSCompletedDownload
218The Frenemy of My EnemyPortuguese (Brazilian)AsapCompletedDownload
218The Frenemy of My EnemyEnglishWEB-DLCompletedDownload
218The Frenemy of My EnemyEnglishWEB-DLCompletedDownload
218The Frenemy of My EnemyDutchHDTV-ASAPCompletedDownload
218The Frenemy of My EnemyDutchKILLERSCompletedDownload
218The Frenemy of My EnemyDutchWEB-DL.BSCompletedDownload
218The Frenemy of My EnemyItalianREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyItalianWEB-DLCompletedDownload
218The Frenemy of My EnemyItalianKILLERSCompletedDownload
218The Frenemy of My EnemyRussianREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyFrench720p.KILLERSCompletedDownload
218The Frenemy of My EnemyFrenchREPACK-ASAPCompletedDownload
218The Frenemy of My EnemyFrenchWEB-DLCompletedDownload
219The Dirty Half DozenEnglishPROPER-KiLLERSCompletedDownload
219The Dirty Half DozenBulgarianPROPER-KiLLERSCompletedDownload
219The Dirty Half DozenEnglishPROPER-KiLLERSCompletedDownload
219The Dirty Half DozenEnglish720p-IMMERSECompletedDownload
219The Dirty Half DozenEnglish720p-IMMERSECompletedDownload
219The Dirty Half DozenEnglishASAPCompletedDownload
219The Dirty Half DozenEnglishWEB-DLCompletedDownload
219The Dirty Half DozenEnglishWEB-DLCompletedDownload
219The Dirty Half DozenDutchPROPER 720p KILLERSCompletedDownload
219The Dirty Half DozenDutchWEB-DL-BSCompletedDownload
219The Dirty Half DozenItalianASAPCompletedDownload
219The Dirty Half DozenItalianPROPER-KILLERSCompletedDownload
219The Dirty Half DozenFrenchPROPER.KILLERSCompletedDownload
219The Dirty Half DozenFrenchWEB-DLCompletedDownload
219The Dirty Half DozenRussianKILLERSCompletedDownload
220ScarsEnglishx264-KILLERSCompletedDownload
220ScarsBulgarianx264-KILLERSCompletedDownload
220ScarsEnglishx264-KILLERSCompletedDownload
220ScarsEnglishWEB-DLCompletedDownload
220ScarsEnglishWEB-DLCompletedDownload
220ScarsDutchKILLERSCompletedDownload
220ScarsDutchWEB-DLCompletedDownload
220ScarsItalianKILLERSCompletedDownload
220ScarsRussianKILLERSCompletedDownload
220ScarsFrenchKILLERSCompletedDownload
220ScarsFrenchWEB-DLCompletedDownload
221S.O.S. (part 1)Englishx264-KILLERSCompletedDownload
221S.O.S. (part 1)Dutchx264-KILLERSCompletedDownload
221S.O.S. (part 1)Bulgarianx264-KILLERSCompletedDownload
221S.O.S. (part 1)Englishx264-KILLERSCompletedDownload
221S.O.S. (part 1)EnglishWEB-DL.x264.AACCompletedDownload
221S.O.S. (part 1)EnglishWEB-DL.x264.AACCompletedDownload
221S.O.S. (part 1)ItalianKILLERSCompletedDownload
221S.O.S. (part 1)Portuguese720pKILLERSCompletedDownload
221S.O.S. (part 1)ItalianWEB-DLCompletedDownload
221S.O.S. (part 1)RussianKILLERSCompletedDownload
221S.O.S. (part 1)Dutch720p KILLERSCompletedDownload
221S.O.S. (part 1)Dutch720p aAFCompletedDownload
221S.O.S. (part 1)DutchWEB-DL-BSCompletedDownload
221S.O.S. (part 1)Frenchx264-KILLERSCompletedDownload
221S.O.S. (part 1)FrenchWEB-DLCompletedDownload
222S.O.S. (part 2)EnglishWEB-DL.x264.AACCompletedDownload
222S.O.S. (part 2)BulgarianWEB-DL.x264.AACCompletedDownload
222S.O.S. (part 2)EnglishWEB-DL.x264.AACCompletedDownload
222S.O.S. (part 2)ItalianWEB-DLCompletedDownload
222S.O.S. (part 2)Dutch720p KILLERSCompletedDownload
222S.O.S. (part 2)Dutch720p aAFCompletedDownload
222S.O.S. (part 2)DutchWEB-DL-BSCompletedDownload
222S.O.S. (part 2)FrenchKILLERSCompletedDownload
222S.O.S. (part 2)FrenchWEB-DLCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
Dutch
English
French
Greek
Italian
Portuguese
Portuguese (Brazilian)
Romanian
Russian
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:48 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=ik61divrjst7pimfrrlgqp1bl3; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_wrong_series.yaml0000644000175100001770000000752714636376416025774 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive User-Agent: - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/0 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=0&season=7&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \ \n\t\t
LanguageShow
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:19:36 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=0q2h2vqj008g7797ilttnsfdb3; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_query_year.yaml0000644000175100001770000203237114636376416024223 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 method: GET uri: https://www.addic7ed.com/ response: body: string: "\n\n\n \n\n\n\n\n\n\n\n\n\n\n\nAddic7ed.com - The source of latest TV subtitles \n\n \n\n\n\n \ \n\n\n\n\n
\n
\n\n\n \ \n\n\n \n\n\n \n \n \n \n\n \n\n
\"Addic7ed.com
\n

Download free subtitles for TV Shows and Movies.  \n

\n
\n
\n\t\t\t \n\t\t\t
\n
\n\n\t\n \"Twitter\"\n\t\"IRC\"\n\n\n
\n \n\n \
\n 0%\n \
\n
\n \
\n
\n \
\n
\n\n
\n\n\n\n\n
\n \t\n \t\n \t\n \n \n \ \n \n \n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n\n \ \ \n\n\n\n \t\n \n \n \n \ \n \n
   
  102 days ago\"News\"Due to a technical issue, some of our subtitles uploaded in the past few days have been erased, we're trying to bring them all back. Thank you for your patience. 
  285 days ago\"News\"Looking for Grantchester season 8 subtitles? Look at our forum. 
  318 days ago\"News\"Looking for Grantchester subs? Take a peak at our forum. 
\n
\n
\n\n \
\n\n\n\n
\n\n \n
\n\n
\n\n \n \ \n \n \n
\n \"Clear \nQuick search \n \n \n \n \  \n \n \n\t \n  
\n
\nSearch subtitle  \n  \n
\n
\n\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \ \n \n \t\n \n \n \n \
\n\n \ \n \n \ \n\n \n \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t \n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
 New Releases
\"invisible\"
 The Chi - 06x12 - City of Gold   Grey's Anatomy - 20x10 - Burn it Down   Station 19 - 07x10 - One Last Time
  English · uploaded by naFraC   English · uploaded by ChrisKe   English · uploaded by ChrisKe
 9-1-1 - 07x10 - All Fall Down   How to Ruin Love - 01x04 - All You Need Is Love   How to Ruin Love - 01x01 - Love Fool
  English · uploaded by Synk   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x08 - A sangre o l\xE1grimas   Ni una m\xE1s - 01x01 - Piloto   Reginald the Vampire - 02x04 - Watch the Sunrise
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by naFraC
\n
\n
\n
\n \t\n \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest new versions
\"TV  Station 19 - 07x10 - One Last Time \"TV The Chi - 06x12 - City of Gold \"TV Grey's Anatomy - 20x10 - Burn it Down
  French · PHOENiX · uploaded by Maylee   English · TGx+ETHEL+SuccessfulCrab · uploaded by naFraC   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Grey's Anatomy - 20x10 - Burn it Down \"TV Grey's Anatomy - 20x10 - Burn it Down \"TV Station 19 - 07x10 - One Last Time
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   English · SUCCESSFULCRAB · uploaded by ChrisKe
\"TV  Station 19 - 07x10 - One Last Time \"TV Station 19 - 07x10 - One Last Time \"TV 9-1-1 - 07x10 - All Fall Down
  English · SUCCESSFULCRAB · uploaded by ChrisKe   English · SYNCOPY · uploaded by ChrisKe   French · FLIX · uploaded by Maylee
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n \ \n \n \n \n \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t
 Latest uploaded episodes
\"invisible\"
 How to Ruin Love - 01x03 - Maybe Love Is Not Enough   How to Ruin Love - 01x02 - Chasing Love Backs   Ni una m\xE1s - 01x07 - C\xF3mo cazar a un depredador sexual
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x06 - Berta   Ni una m\xE1s - 01x05 - 8M   Ni una m\xE1s - 01x04 - A**hole Baby
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
 Ni una m\xE1s - 01x03 - Yo s\xED te creo, hermana   Ni una m\xE1s - 01x02 - Zona cero   Inside No. 9 - 09x04 - CTRL ALT ESC
  English · uploaded by hadilan   English · uploaded by hadilan   French · uploaded by benaddicted
\n
\n
\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n\t\t\n \n \ \n \t\n \n \ \n \n
\n\n\n \ \n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
 Latest translations completed on Addic7ed.com
\"TV  Wild Cards - 01x10 - Romancing the Egg  \"TV Will Trent - 02x10 - Do You See the Vision? \"TV When Calls the Heart - 11x08 - Brother's Keeper
  French   French   French
\"TV  Call The Midwife - 13x08 - Episode Eight  \"TV Law & Order - 23x12 - No Good Deed \"TV Wild Cards - 01x09 - Inside (Con) Man
  French   French   French
\"TV  Tracker (2024) - 01x13 - The Storm  \"TV Law & Order - 23x11 - Castle in the Sky \"TV Red Eye - 01x06 - Episode 6
  French   French   French
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n\n \ \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest uploaded movies
 Poolman (2023)    Die Hart: Die Harter [Die Hart 2: Die Harter] (2024)   Kampen om tungtvannet (1948)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by harhaus
 Wicked Little Letters (2024)    Tarot (2024)   Back to Black (2024)
  English · uploaded by Just-A-man   English · uploaded by hadilan   English · uploaded by hadilan
 The First Omen (2024)    Atlas (2024)   Civil War (2024)
  English · uploaded by hadilan   English · uploaded by hadilan   English · uploaded by hadilan
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \ \n \n \n \t\n \n \n \n \
\n\n \n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
  Latest started translations
\"TV  Law & Order SVU - 24x08 - A Better Person \"TV Wild Cards - 01x10 - Romancing the Egg \"TV Call The Midwife - 09x00 - Christmas Special 2020
  Dutch · 0.00% Completed   Albanian · 0.00% Completed   French · 0.00% Completed
\"TV  Blue Bloods - 14x07 - On the Ropes \"TV Daisy Jones & the Six - 01x01 - Track 1: Come and Get It \"TV Law & Order Toronto: Criminal Intent - 01x05 - Bleeding Heart
  French · 43.29% Completed   Bulgarian · 9.57% Completed   French · 4.53% Completed
\"TV  Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x05 - Im Auge des Sturms \"TV Astrid and Lilly Save the World - 01x02 - Teeth
  Bulgarian · 99.73% Completed   Bulgarian · 99.75% Completed   French · 3.16% Completed
\n
\n
\n

\n

\n \n
\n\t

\n\n
\n\n \
\n \t\n \ \t\n \t\n \n \ \n \n \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n\n\n \n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t \n
 Finishing translations
\"Movie  Forgotten Love (2023)  \"TV Maxton Hall - 01x02 - Adel verpflichtet \"TV Maxton Hall - 01x03 - Blo\xDFgestellt
  Bulgarian · 99.92% Completed   Bulgarian · 99.78% Completed   Bulgarian · 99.76% Completed
\"TV  Maxton Hall - 01x05 - Im Auge des Sturms  \"TV Maxton Hall - 01x06 - Ein St\xFCck vom Gl\xFCck \"TV Maxton Hall - 01x01 - Unterm Radar
  Bulgarian · 99.75% Completed   Bulgarian · 99.73% Completed   Bulgarian · 99.55% Completed
\"TV  Parish - 01x01 - Pilot  \"TV Mrs Sidhu Investigates - 01x03 - Killer App \"TV Shake It Up! - 02x05 - Beam It Up
  French · 99.33% Completed   French · 91.53% Completed   French · 81.37% Completed
\n
\n
\n\n
\n \t\n \t\n \t\n \n \n \n \ \n \t\n \n \n \n \ \n \t\n \n \ \n \n
\n
\n\n\n\n \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
Most downloaded today
\"TV  9-1-1 - 07x10 - All Fall Down  \"TV Star Trek: Discovery - 05x10 - Life, Itself \"TV Star Trek: Discovery - 05x09 - Lagrange Point
  431 Downloads   387 Downloads   244 Downloads
\"TV  Reginald the Vampire - 02x04 - Watch the Sunrise  \"TV Dark Matter (2024) - 01x05 - Worldless \"TV Grey's Anatomy - 20x10 - Burn it Down
  187 Downloads   149 Downloads   148 Downloads
\"TV  Station 19 - 07x10 - One Last Time  \"TV Eric (2024) - 01x01 - Episode 1 \"TV Eric (2024) - 01x03 - Episode 3
  141 Downloads   138 Downloads   129 Downloads
\n
\n

\n\n
 \n
 \n
 \n
 \n\n\n\n\n\n\n\n\n\n\n" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:20:07 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=lbqn4d5lbr6tm5omp8v6p9oe22; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - PHPSESSID=lbqn4d5lbr6tm5omp8v6p9oe22 User-Agent: - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 X-Requested-With: - XMLHttpRequest referer: - https://www.addic7ed.com//show/2559 method: GET uri: https://www.addic7ed.com/ajax_loadShow.php?show=2559&season=1&langs=%7C response: body: string: "
\n\t\n\t
\n\t
\n\t\t\n\n\n\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\n\t
SETitleLanguageVersionCompleted\"HI\"\"Crctd\"\"HD\"\"DL\"\nAll
11Changing of the GuardEnglishx264.LOLCompletedDownload
11Changing of the GuardEnglishx264.LOLCompletedDownload
11Changing of the GuardFrenchx264.LOLCompletedDownload
11Changing of the GuardEnglish720p.WEB-DL-CtrlHDCompletedDownload
11Changing of the GuardRomanianx264.LOLCompletedDownload
11Changing of the GuardPortuguese (Brazilian)LOLCompletedDownload
11Changing of the GuardSpanishHDTV.x264-LOLCompletedDownload
11Changing of the GuardGermanLOLCompletedDownload
11Changing of the GuardPortugueseLOLCompletedDownload
11Changing of the GuardEnglishCtrlHDCompletedDownload
11Changing of the GuardEnglishCtrlHDCompletedDownload
12Hedging Your BetsEnglishx264.LOLCompletedDownload
12Hedging Your BetsEnglishx264.LOLCompletedDownload
12Hedging Your BetsFrenchx264.LOLCompletedDownload
12Hedging Your BetsEnglish720p.WEB-DL-CtrlHDCompletedDownload
12Hedging Your BetsRomanianx264.LOLCompletedDownload
12Hedging Your BetsPortuguese (Brazilian)LOLCompletedDownload
12Hedging Your BetsGermanLOLCompletedDownload
12Hedging Your BetsEnglishCtrlHDCompletedDownload
12Hedging Your BetsEnglishCtrlHDCompletedDownload
13The Price You PayEnglishx264-LOLCompletedDownload
13The Price You PayRomanianx264-LOLCompletedDownload
13The Price You PayBulgarianx264-LOLCompletedDownload
13The Price You PayEnglishx264-LOLCompletedDownload
13The Price You PayFrenchx264-LOLCompletedDownload
13The Price You PayRomanian720p.HDTV.X264-DIMENCompletedDownload
13The Price You PayPortuguese (Brazilian)LOLCompletedDownload
13The Price You PayGermanLOLCompletedDownload
13The Price You PayPortugueseLOLCompletedDownload
13The Price You PayPortugueseWEB-DL.CtrlHDCompletedDownload
13The Price You PayEnglishCtrlHDCompletedDownload
13The Price You PayEnglishCtrlHDCompletedDownload
14The Last HurrahEnglishx264-ASAPCompletedDownload
14The Last HurrahRomanianx264-ASAPCompletedDownload
14The Last HurrahBulgarianx264-ASAPCompletedDownload
14The Last HurrahEnglishx264-ASAPCompletedDownload
14The Last HurrahFrenchx264-ASAPCompletedDownload
14The Last HurrahPortuguese (Brazilian)Web-DL.CtrlHDCompletedDownload
14The Last HurrahPortuguese (Brazilian)ASAPCompletedDownload
14The Last HurrahGermanASAPCompletedDownload
14The Last HurrahPortugueseWEBDL-CtrlHDCompletedDownload
14The Last HurrahPortugueseASAPCompletedDownload
14The Last HurrahPortuguese720p.IMMERSECompletedDownload
14The Last HurrahPortuguese720p.DimensionCompletedDownload
14The Last HurrahPortugueseWEB-DL.CtrlHDCompletedDownload
14The Last HurrahEnglishCtrlHDCompletedDownload
14The Last HurrahEnglishCtrlHDCompletedDownload
15Truth and consequencesEnglish720p.DimensionCompletedDownload
15Truth and consequencesFrench720p.DimensionCompletedDownload
15Truth and consequencesBulgarian720p.DimensionCompletedDownload
15Truth and consequencesEnglish720p.DimensionCompletedDownload
15Truth and consequencesPortuguese (Brazilian)720p IMMERSECompletedDownload
15Truth and consequencesPortuguese (Brazilian)LOLCompletedDownload
15Truth and consequencesPortuguese (Brazilian)WEB-DL.CtrlHDCompletedDownload
15Truth and consequencesGermanLOLCompletedDownload
15Truth and consequencesPortuguese720p.DimensionCompletedDownload
15Truth and consequencesPortugueseWEB-DL.CtrlHDCompletedDownload
15Truth and consequencesPortuguese720p.IMMERSECompletedDownload
15Truth and consequencesPortugueseWEB-DL.-mSDCompletedDownload
15Truth and consequencesRomanianHDTVx264CompletedDownload
15Truth and consequencesRomanian720pCompletedDownload
15Truth and consequencesEnglishCtrlHDCompletedDownload
15Truth and consequencesEnglishCtrlHDCompletedDownload
16The Enemy of My EnemyEnglishDIMENSIONCompletedDownload
16The Enemy of My EnemyFrenchDIMENSIONCompletedDownload
16The Enemy of My EnemyRomanianDIMENSIONCompletedDownload
16The Enemy of My EnemyBulgarianDIMENSIONCompletedDownload
16The Enemy of My EnemyRomanianHDTVx264CompletedDownload
16The Enemy of My EnemyRomanian720pHDTVx264CompletedDownload
16The Enemy of My EnemyEnglishDIMENSIONCompletedDownload
16The Enemy of My EnemyGermanLOLCompletedDownload
16The Enemy of My EnemyPortuguese (Brazilian)LOLCompletedDownload
16The Enemy of My EnemyPortuguese (Brazilian)mSDCompletedDownload
16The Enemy of My EnemyPortugueseLOLCompletedDownload
16The Enemy of My EnemyPortuguese (Brazilian)WEB-DL.CtrlHDCompletedDownload
16The Enemy of My EnemyEnglishCtrlHDCompletedDownload
16The Enemy of My EnemyEnglishCtrlHDCompletedDownload
17Collateral DamageEnglishx.264.LOLCompletedDownload
17Collateral DamageBulgarianx.264.LOLCompletedDownload
17Collateral DamageEnglishx.264.LOLCompletedDownload
17Collateral DamageFrenchx.264.LOLCompletedDownload
17Collateral DamagePortuguese (Brazilian)LOLCompletedDownload
17Collateral DamagePortuguese (Brazilian)Web-DL.CtrlHDCompletedDownload
17Collateral DamageRomanian720p.HDTV.X264-DIMENCompletedDownload
17Collateral DamageGermanLOLCompletedDownload
17Collateral DamagePortugueseLOLCompletedDownload
17Collateral DamagePortugueseWEB-DL.CtrlHDCompletedDownload
17Collateral DamageEnglishCtrlHDCompletedDownload
17Collateral DamageEnglishCtrlHDCompletedDownload
18No Good DeedEnglishx264-LOLCompletedDownload
18No Good DeedBulgarianx264-LOLCompletedDownload
18No Good DeedEnglishx264-LOLCompletedDownload
18No Good DeedFrenchx264-LOLCompletedDownload
18No Good DeedPortuguese (Brazilian)EVOLVECompletedDownload
18No Good DeedPortuguese (Brazilian)LOLCompletedDownload
18No Good DeedGermanLOLCompletedDownload
18No Good DeedEnglishCtrlHDCompletedDownload
18No Good DeedEnglishCtrlHDCompletedDownload
18No Good DeedEnglish720p.WEB-DLCompletedDownload
19Family BusinessEnglishx.264.LOLCompletedDownload
19Family BusinessBulgarianx.264.LOLCompletedDownload
19Family BusinessEnglishx.264.LOLCompletedDownload
19Family BusinessFrenchx.264.LOLCompletedDownload
19Family BusinessPortuguese (Brazilian)EVOLVECompletedDownload
19Family BusinessPortuguese (Brazilian)LOLCompletedDownload
19Family BusinessPortuguese (Brazilian)Web-DLCompletedDownload
19Family BusinessGermanLOLCompletedDownload
19Family BusinessEnglishCtrlHDCompletedDownload
19Family BusinessEnglishCtrlHDCompletedDownload
19Family BusinessEnglish720p.WEB-DLCompletedDownload
19Family BusinessPortugueseLOLCompletedDownload
19Family BusinessPortugueseWEB-DL.CtrlHDCompletedDownload
110RevelationsEnglishLOLCompletedDownload
110RevelationsFrenchLOLCompletedDownload
110RevelationsBulgarianLOLCompletedDownload
110RevelationsEnglishLOLCompletedDownload
110RevelationsPortuguese (Brazilian)LOLCompletedDownload
110RevelationsEnglishCtrlHDCompletedDownload
110RevelationsEnglishCtrlHDCompletedDownload
110RevelationsGermanLOLCompletedDownload
110RevelationsEnglish720p.WEB-DLCompletedDownload
110RevelationsPortugueseLOLCompletedDownload
110RevelationsPortugueseWEB-DL.CtrlHDCompletedDownload
All shows
\n\t
\n\t\n\t\n\t
\n\t \n\t
\n\t\n\t\n\t\t \n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\t
LanguageShow
Bulgarian
English
French
German
Portuguese
Portuguese (Brazilian)
Romanian
Spanish
\n\t\t
 
\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t
FilterOnly
Hearing Impaired (HI)
No Hearing Impaired (HI)
720/1080 (HD)
\n\t
\n\t
\n\t
" headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Sat, 01 Jun 2024 07:20:13 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id.yaml0000644000175100001770000012546114636376416025020 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1 method: GET uri: https://www.addic7ed.com/search.php?search=The+Big+Bang+Theory+1x1&Submit=Search response: body: string: !!binary | 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 AAA= headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:28:50 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=te05kljdvvdq9cvgijahhtt245; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=te05kljdvvdq9cvgijahhtt245 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1 method: GET uri: https://www.addic7ed.com/serie/The_Big_Bang_Theory/1/1/Pilot response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:28:50 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=te05kljdvvdq9cvgijahhtt245 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120502 Firefox/12.0 SeaMonkey/2.9.1 method: GET uri: https://www.addic7ed.com/serie/The_Big_Bang_Theory/11/1/The_Proposal_Proposal response: body: string: !!binary | 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 gdn2uzfCP2mSEk7x9v8P+asE5QoSAQA= headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:28:51 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_error.yaml0000644000175100001770000001473114636376416026226 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Vivaldi/1.0.344.37 method: GET uri: https://www.addic7ed.com/search.php?search=The+Big+How+I+Met+Your+Mother+1x1&Submit=Search response: body: string: !!binary | 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 CoDTVsJXfcCpzeU01K8RT3uNfwATa01kXCkAAA== headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:05 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=9dflhn5tp9b9ie0allp7941q52; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_incomplete.yaml0000644000175100001770000012565414636376416027243 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.15 (KHTML, like Gecko) Chrome/10.0.613.0 Safari/534.15 method: GET uri: https://www.addic7ed.com/search.php?search=The+Big+Bang+1x1&Submit=Search response: body: string: !!binary | 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 KQAA headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:10 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=qc58k62sv9v8tfrhav0jfpjuh1; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=qc58k62sv9v8tfrhav0jfpjuh1 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.15 (KHTML, like Gecko) Chrome/10.0.613.0 Safari/534.15 method: GET uri: https://www.addic7ed.com/serie/The_Big_Bang_Theory/1/1/Pilot response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:10 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=qc58k62sv9v8tfrhav0jfpjuh1 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.15 (KHTML, like Gecko) Chrome/10.0.613.0 Safari/534.15 method: GET uri: https://www.addic7ed.com/serie/The_Big_Bang_Theory/11/1/The_Proposal_Proposal response: body: string: !!binary | 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 k4xwMB+Ybb97IzyVJqnjFHn//1fbohIUEgEA headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:10 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_no_year.yaml0000644000175100001770000011462314636376416026532 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Sprint:PPC6800 method: GET uri: https://www.addic7ed.com/search.php?search=Dallas+1x1&Submit=Search response: body: string: !!binary | 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 zSU4XDpBPN2r/Q3B1QEtrSkAAA== headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:31 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=955k3prn5h9jvbn9od6c87nbr1; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=955k3prn5h9jvbn9od6c87nbr1 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Sprint:PPC6800 method: GET uri: https://www.addic7ed.com/serie/Dallas/1/1/Digger%27s_Daughter response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:32 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=955k3prn5h9jvbn9od6c87nbr1 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Sprint:PPC6800 method: GET uri: https://www.addic7ed.com/serie/Dallas_%282012%29/1/1/Changing_of_the_Guard response: body: string: !!binary | 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 SLrtuL174Z80SAlHJsn2/wP84oVO/uwAAA== headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:29:32 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_quote.yaml0000644000175100001770000012105114636376416026224 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1478.0 Safari/537.36 method: GET uri: https://www.addic7ed.com/search.php?search=Grey%27s+Anatomy+1x1&Submit=Search response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:30:38 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=euu1p79i7uu7vcp4d520h5nid7; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=euu1p79i7uu7vcp4d520h5nid7 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1478.0 Safari/537.36 method: GET uri: https://www.addic7ed.com/serie/Grey%27s_Anatomy/1/1/A_Hard_Day%27s_Night response: body: string: !!binary | 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 2f5f8rr2ssflAAA= headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:30:38 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=euu1p79i7uu7vcp4d520h5nid7 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1478.0 Safari/537.36 method: GET uri: https://www.addic7ed.com/serie/Grey%27s_Anatomy/11/1/I_Must_Have_Lost_It_on_the_Wind response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:30:38 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_id_year.yaml0000644000175100001770000004617014636376416026037 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Safari/537.36 OPR/30.0.1856.93524 method: GET uri: https://www.addic7ed.com/search.php?search=Dallas+2012+1x1&Submit=Search response: body: string: '' headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Type: - text/html Date: - Mon, 13 May 2024 08:30:09 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Location: - serie/Dallas_%282012%29/1/1/Changing_of_the_Guard Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=o2v6pjah1en7ivcp26gtugltn3; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 302 message: Moved Temporarily - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=o2v6pjah1en7ivcp26gtugltn3 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Safari/537.36 OPR/30.0.1856.93524 method: GET uri: https://www.addic7ed.com/serie/Dallas_%282012%29/1/1/Changing_of_the_Guard response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:30:09 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_quote_dots_mixed_case.yaml0000644000175100001770000012510014636376416031620 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0 method: GET uri: https://www.addic7ed.com/search.php?search=marvel+s+agents+of+s+h+i+e+l+d+1x1&Submit=Search response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:45 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=gg0anaip14si7l8qmghvmgucd4; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=gg0anaip14si7l8qmghvmgucd4 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0 method: GET uri: https://www.addic7ed.com/serie/Marvel%27s_Agents_of_S.H.I.E.L.D./1/1/Pilot response: body: string: !!binary | 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 /kdtAQA= headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:45 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=gg0anaip14si7l8qmghvmgucd4 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/5.0 (X11; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0 method: GET uri: https://www.addic7ed.com/serie/Marvel%27s_Agents_of_S.H.I.E.L.D.%3A_Slingshot/1/1/Vendetta response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:45 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_with_comma.yaml0000644000175100001770000004207514636376416027411 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/4.77 [en] (X11; I; IRIX;64 6.5 IP30) method: GET uri: https://www.addic7ed.com/search.php?search=alex+inc+1x1&Submit=Search response: body: string: '' headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Type: - text/html Date: - Mon, 13 May 2024 08:32:22 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Location: - serie/Alex%2C_Inc./1/1/The_Unfair_Advantage Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=klpafd267niplnnucslkin3qs5; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 302 message: Moved Temporarily - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=klpafd267niplnnucslkin3qs5 Referer: - https://www.addic7ed.com/ User-Agent: - Mozilla/4.77 [en] (X11; I; IRIX;64 6.5 IP30) method: GET uri: https://www.addic7ed.com/serie/Alex%2C_Inc./1/1/The_Unfair_Advantage response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:32:22 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/addic7ed/test_search_show_ids_with_country.yaml0000644000175100001770000015633214636376416030022 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212 Referer: - https://www.addic7ed.com/ User-Agent: - HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5 (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 method: GET uri: https://www.addic7ed.com/search.php?search=being+human+1x1&Submit=Search response: body: string: !!binary | H4sIAAAAAAAAA9Vae1Pbxhb/G3+Kre4kgWllIRzAENsdIM9O2tLYtPdOp+NZS2trg6xVVysM7fS7 399ZSbYcYzA0vXeShCCtds+ePe/Hdr56+ePZ4D/nr1hkpjE7vzh9/+6MOa7n/dI687yXg5fs328H 379nfnOXDTRPMmmkSnjsea9+cJgTGZMee95sNmvOWk2lJ97gg3dNsHxaXD66prayGZrQ6TU6dsPr aZxk3VvA+EdHR8VqO1fwEEumwnAgalJX/J7Lq65zphIjEuMOblLhsKB46zpGXBuP4L9gQcR1Jkw3 N2O37TAPUIw0seg1+oLrIGLOSMhkwqJ8yhPmX+/6DuvnIzuHvVSzJFY8ZC47CUMZHIqwGagpXl8r zXgcMxOpTLDBz6wvtBRZOS07nsPIvmGDq+orT0L2vbqiiQMeX35DYPIpo+Gp0oK5Ha9ErhPL5JJF WowL4mQlkXkNDS/IMm8mL2VW4ps1MeIwLeKuk5mbWGSREMZhFmbXCcWY5zG9g1olkewCIordz67s v/3xw+DsYsDenf0IFhc4jPmVBHmb+I+IyBqdLNAyNXVYH/kVL0YdlungDsQ/Zt5UKaNUnDWv/Kbv Nz9mTq/jFat7jUbHiwqOj1R4Q+8BuCw08Bzpgod8FAs2UjoUuuvskowYfGasY0Km1SxLedJ1jgAU AmOp6OFZTidsJkMTdZ3W/i7OJuQkMl3H98H1u1GWUz4RmVfRP1YTlYhZM00mDqvhwSpifyIvP+U8 luZmIRZsDAkiuYmAbCkBJBgOxAoYPX65Bzpy/BhSGI+IQpQhsgCDCYhSkJK0JS6otGc1zO91silE ujcX+rEWgs1laxXhQpKbYJtd9zQZZekLkgwRi8CwhE8hZTxNY05ECmKeQdNlkubmDJx3mEqgnMkE k4rfJ2n6Hu/bOy8cJkOMqulI0Qg4p1IyO+yKxzkB1U7vRPORDDpe8eXTGQF3emfc8JivmyESp/cq mcQyi9ZOyTElzy6FXgtlDExea4GTrAMyASZvQPpA8mTdnFBgjtCwQOtmTLDPG/Djct2ECLi+zZMJ 13fsI43Tewei3DFlDHTPhc7umJLGmKLuIlyKfc6VNvkkF5lYh/IIZ1rMYtunmv8hCbeddSu0cnof FMh0B3YahPiQZ3cdAFrW68NA3MH6DBzpz0S4NMUrJBvKFflWuULSs001LJRXVqyjUxLfxtbWFqxV HtunLdhfMlWlkoxyYyDts0gauLXSfsHc8CBQeWKaaZQCPWhznhbKjtUEcBMwsFwyKSC8p8cHA8jI YpUo0ONDAdRCBhgXF+J42UyE8YxKZeAdHB34rhaBzqWZkmvPbpIA8uiqJL5xE2WKWCLmRukMNv07 JRN4YcGM4NPPhApUmvzyEjTwyiuZRY9gZl0CGFzU3P9UH8gCb8ElYX7lhMqzm5k0cGcUS8w9Ctwy 1xNEKs5wBIt5+Ym72lt4qxaeN3JW5TZDTV6ucFXWuQyK7Z263yrcRmNrjqrUAWIO/N8UY7CHWHR8 cHBwuEB42Z8+BkFAdz9F7t2Hs9sQa5Bvt06NfpGrLwlOHn/h5YnAVayUcqMFYhai8kic400l3+bd w4PDo/2j9jJ9/cPd9HpB4uf2bYnIwX6zDhARptAUB1MkAPDYRAz5kKaoZFgocEHymkO2qMqxhmdc 5eCYB2Kk1KXFN41z6GbmjVUcK4QZUfqtNQP2fE9aJ0/2XuMfhd31ZRiqApSnRZxz0HpaBjkH+09j fqNy0x2p66G1I08z+YfoWu/9lLR6SLCyrtG5eAq//S7s+n7b3/f3Ws/bRy2f5K6Mng5aC1od7EMc KdrsOkU8dpwgNHqhroQeA/fjSIYhnC1DcIfDINbuOgmCSEuFRQBH0bSa2Qwj5eRQbxChAhGwySso RtFdJQNESHrDHxKM8k+HTKyV8JdIUWzA0Dfc5AiqSsMa+Lu7LN1l9swwwtXK+u8ORUUkUWXYvAKr sMd1SauIbllHWQgPSiO9+6SwIhbm7dsR0iV6GcIEnPjWeYSiPWDlI8iLlIaojn79uT5/LGP47TsW rPlUDC+pHsWVFH+ToasC80WI3uh85bq/yjGLDXv3ih3+RrpqBaSeLFDigQ84/DeMwvI/2UhESDKU Pma5jrfXkhe5gxQIu8fyuhmZYIf9BfCehQ98vvpVJKEc/+a6eClzhQrFeRJR0reGfC3DKD8uHa06 ZQmxYelahKjgtUwEWMHswq2OpUzFULyI+BCZxkLQF9zFXN1jRC2YfkpnKOcRmhHudS5iXlgDiOBa abulzWeWjBQZhCVhLNMWEzcncuwgdSoZWYePZ2uYCuu6+uXv7q3X712a8tqelVWfD9Hp78C60UEi hRQ6IHXvOgjRKKu34QlDuSBSSCTgVSFrpXWo50AYtPlImasUa+v5cZGIVOPWXDqUOJZ5yGrpoFTO RZbj9Yq8CEJa3wolhimi8VIjEAfZt4rSAfKjU+THsJrlTkWxomAgHbg3F8VRr4WMP0NinyFFy5Ow 440gVTZCWUyyWfPWQgMWsj+fsyq4lIvWyVVZ//buk2WJJqZZNpEmbyaQyBGvZAaeLZwk8bnuyzMq qXinVJ4ZvqXyjOfj76tUZioUQ2TsoRjl8CZHR+1Dp2fnMTsP9ZldquTgdzmb+YUZLkSJkK1+sOc/ i/TwyV77ov9k78hify5jZeC/h4NIaDF8o0Q2RPQ6/IEqETASkVIhrfCxYH7AVnt/DyWO+gm3L/o7 tWNasMfMAmUE1IbEdaBs20daVRYGrNr9L2kAxIYnSSLF8FSjnhbwzGSWHpDrDPESjns2XOVsq91u +8sHByRmIbEFpBohCnjM/+ZOzqdQfPpZuDEIxpLNJfNzu+G53WTVzfgYpa1/xoyP/o9mfLSxGZ+T 1RKxSJUaCw9besiFR6zMyhHMCphCwT1IX9nCH8QsG1DFdjlgh0LMy3f0/CirU2RDP1uzurEVkAkZ Lvjrwq1ZGIxAVDU7nJ9qb1/iEc5VmsdcF1XJL/gcF5kY5/EXfABbgEBpxUrSvMZEQtWbB5+FnUGR BBWvedru1cozsJAzdCdOUXZeFGqocjEnzD3A1gbhtInXft5Cgb0vrr33cowqHzmXh0AvUHWzIBJh Tvo9L4f3y6GHwySMy1bJLcUlf7flu0WxGWk7qkd9FNjYma1CY2BluwcRfkqNHRe72rwR2c2C/EWl fAX8vcy8l/77Tu+9upSPg7yeTnuH7ecuyv+/56jAoezGUQMPXbxlFGVT2Q017/IjO6GP7Kfq48a4 9PM0RY2YXUDMa2LzIJqjZujmKbXoUCKEAKmUXVSvGyMy1537yI1ErvdBZBLlDMNeXUkYmA1l/kO/ z14LES4fdR3/z7WYSvQFT4py7/KiB9EHQm1rR1NEzN2w7GYKtF+JUlWjB/A3PMbGlNpDeQ3lc2HY AMEQeiMrG3xh7t3rDXJUnCWPQS1rlNcxb4lGULFlM4TaEQ/dA9d3fVQvpqjI/AxxUtQInnKzyonH cxvtAmjECXrUFEHdwoG/Zfv9PcTlbxTaLCl7I/XmmvApeahisUwi2wZotdruJAdpXKNsCwBJoIuy dTQ3sOjNGC9FU3Y4TIdD/3l7fziM4iGSp9Ov8UNtg+FwrNW0yN4x5V9QW31DM9EqUzNmFOtjVoSC Leqgi9bsxrS6ywh+YtHQFi3j2g3IfothhjqhV0KXBoo7A49gqHW3nr93iGS5H6EEjfsBGaNEcuMD /xJxw05wUQHIFF5uyXQ/SiVkEopra6QmqKgBt3kUQKddQe1hCsENXBaK3VNqJZVNq/d2kJ2Vgys7 3HuKipAHwBXZ6KmcsFN0qSn7VvpmY3hQy+JGDXpZ1NuuDMznJunentOrXTpZwe8hFK17yDFuAqEX qZUXeLhLwBMjPRS0KFWjizl2ANdaQmF7dXKlv1VU6m+Z2FsdW0F6Uya14LJf86mMb9ibfHPeFEEE 42Q758K+jkNfmCtDpkpdkcqPfR72ZyafCnfEUbCryYAdRZmO0QcW8ilfKwW3TIUcLI0+WggOj5Cn nExRTgxwx+ut0hp3b/pw55sLxKdua8llIe6fGevZrR0zsGN7R8/nTgZtDYEbPuzkChdS9C2nqMqs sRijUN0sOvmPSP2WOk9nRRvqlu3u8UClebNOMqfbGyux2z0AajnYFcKdfMQn/CPZifJu0wB9QBQ/ 53JSvffKh9t2pFrd4kJTWberFbGrDg3KTHdeTOs1rlDemPDvsrcQLtZl29v28mF27LBul4UqgBzD qsUqsFa5mWrU4WHedti3xW1H6i5nWdx02PHS9Udn50VjvnymkVhu54nIAp6KbedJ66xEi+pUzxz2 9QKHr5kzUWoSC5ejn3xjZIB7fGhZTzhuxT0rOgTP7I3GxQW7Z09arwCzvDCHF2cH2y8u0N1HBMRB 7E9LCoqg0HUNcMkJ1BhOuGkO0S8ph7adixPX3z083D9o77o+nbG2oDnEvc7g8hwgSAVwcavxFwPd gmhbaL3D/vxrgREKgPOWzmd9wKntJUFcykE83Wv8F4FhA8bSKgAA headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:13 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Set-Cookie: - PHPSESSID=um863dmpm9lk91uuabflafhqf7; path=/ Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=um863dmpm9lk91uuabflafhqf7 Referer: - https://www.addic7ed.com/ User-Agent: - HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5 (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 method: GET uri: https://www.addic7ed.com/serie/Being_Human/1/1/Episode_1 response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:13 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=um863dmpm9lk91uuabflafhqf7 Referer: - https://www.addic7ed.com/ User-Agent: - HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5 (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 method: GET uri: https://www.addic7ed.com/serie/Being_Human_%28US%29/1/1/Pilot%3A_There_Goes_the_Neighborhood_%281%29 response: body: string: !!binary | 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 PjG7Xv9WuCdN0sGRSLL5v5QsSN5H6AAA headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:14 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Accept-Language: - en-US,en;q=1.0 Connection: - keep-alive Cookie: - wikisubtitlesuser=getze; wikisubtitlespass=eb0a191797624dd3a48fa681d3061212; PHPSESSID=um863dmpm9lk91uuabflafhqf7 Referer: - https://www.addic7ed.com/ User-Agent: - HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5 (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 method: GET uri: https://www.addic7ed.com/serie/Being_Human_The_Annie_Broadcasts/1/1/Season_1%2C_Episode_1 response: body: string: !!binary | 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 headers: Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - text/html Date: - Mon, 13 May 2024 08:31:15 GMT Expires: - Thu, 19 Nov 1981 08:52:00 GMT Permissions-Policy: - geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=() Pragma: - no-cache Referrer-Policy: - strict-origin Server: - nginx Strict-Transport-Security: - max-age=63072000; includeSubdomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN X-Powered-By: - PHP/5.4.16 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.658181 subliminal-2.2.0/tests/cassettes/core/0000755000175100001770000000000014636376432017365 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/core/test_download_bad_subtitle.yaml0000644000175100001770000012056314636376416025651 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QQQvCMAyF/8rYWW2nIh6yCgqCiAge1Gu3ZTpd221thz/fKZ3o9OApycvLB3kw u4ncq7HSmZKhHwyo76GMVZLJU+hbk/an/oyBQHNWyQ51oaRGBgWvuNCuMqh5bhtVm8rG5uEWEVYM JBfIjLqiBPLs34wNn63z5SgNluNNOimPetU7LPalyE6Xes6BOA8Qd0Na6gddG26s/o0fUupt13+T MFYy6aISZaMcGR3QYAjETd8k0r7+2rhkSJsU6UR4B/UObzF5AQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e71483af48665d-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '210' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 10:01:11 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=cx%2BMEWJgBrwEw8g1jojQRwf0cNZtz8ZLrcO4H%2FCxyCsvlLICBimCAI3YMIRMQ0PGnelZDvxVN8nNjjOmLmN9H7qu7%2F7n7xfB0r0c4RxfhOYDG0Z8YnTfSSheisJdAaFNxwtdTs2pZx0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KlF3f1F4Mf6qXsI%2CWCVqmigjvBa; expires=Tue, 04-Jun-2024 16:01:11 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '210' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles KlF3f1F4Mf6qXsI,WCVqmigjvBa moviehash 5b8f8f4e41ccb21e moviebytesize 7033732714 sublanguageid eng imdbid 770828 sublanguageid eng tag man.of.steel.2013.720p.bluray.x264-felony.mkv sublanguageid eng query Man of Steel sublanguageid eng ' headers: Accept-Encoding: - gzip Content-Length: - '1161' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 2gcA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e714847907665d-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '21777' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 10:01:11 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=dziTFSMczzouTN0ggiP%2FO9pejaZ8VWvDdf0hUvzfJpLXZBx%2FKpjPhGU%2Bjkm8pM36YxQF1wvCWYvD258goI7yaGVsi3yZeTjThz2TyWpQWGkL8LtliYHb9Q7rRGBiA8kPCfQPLnrhbkI%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KlF3f1F4Mf6qXsI%2CWCVqmigjvBa; expires=Tue, 04-Jun-2024 16:01:11 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '21777' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '514705' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' DownloadSubtitles KlF3f1F4Mf6qXsI,WCVqmigjvBa ' headers: Accept-Encoding: - gzip Content-Length: - '283' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA4WQTU4DMQyFrxLNChbUAaEKgZteoeIGnokLkfJTxU7V4zOgDIK2UleW/Z79WQ+3 pxTNkauEkjfD48oOhvNUfMgfm6Hp/uFl2DpMrJ/Fv7McShZ2eKBKSXp1eKTY5qlobZN+u9PI1WGm xE6UtAnCT/PHOQPck12bHVUNFM1UsnLWN5OCyCya4KWNGjTyPkS+k/tXg9AXEfohWFj/mJ6UrhLh 1qbw/Ic/f9eXNkZ2dmXtM0LvLi/BEsCv0vOBJS84C/ILBFHbz38BAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e714870d76665d-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '212' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 10:01:11 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=rsh0PoY4Gxr%2F32bNNTcW1bwA5L%2B7k07sWIh9x6DSGPTWXTd5TSB7Z3wkS%2BfmE6fD3Kuirap%2BbWqdRqQ5XUyDNNmynKUyU063eX0GKP5qge20xzUy4Y3JQ7mweN3DZV7sUmgKrFCHCX8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KlF3f1F4Mf6qXsI%2CWCVqmigjvBa; expires=Tue, 04-Jun-2024 16:01:11 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '212' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '383' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles.yaml0000644000175100001770000020563414636376416026246 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5a1c4acc6917-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:44:22 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=oEccTkij66NDhopEDj7tP74hRMtnRNYq4h0twgkedJ%2FaPOJKmQpEfEpHLvl5SH3rANwzwDklg0yPcNPfuv0WB7%2F4tAZJvVIwgT1tkXBloXvv9Ojx7k855S0iX2uwLhSAqwXVuA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"a245f3f1-920f-41f5-b9af-876a633cc8dd","version":"DIMENSION","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a245f3f1-920f-41f5-b9af-876a633cc8dd","language":"English","discovered":"2022-05-30T14:51:00.621696Z","downloadCount":45},{"subtitleId":"a295515c-a460-44ea-9ba8-8d37bcb9b5a6","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a295515c-a460-44ea-9ba8-8d37bcb9b5a6","language":"English","discovered":"2022-05-30T14:51:00.621698Z","downloadCount":50},{"subtitleId":"a00559a0-f510-4f7f-bc95-071ded7d852a","version":"WEB-DL","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a00559a0-f510-4f7f-bc95-071ded7d852a","language":"English","discovered":"2022-05-30T14:51:00.621703Z","downloadCount":48},{"subtitleId":"c85f0280-f3c2-4558-bad6-780334ac7e21","version":"WEB-DL","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/c85f0280-f3c2-4558-bad6-780334ac7e21","language":"English","discovered":"2022-05-30T14:51:00.621705Z","downloadCount":11},{"subtitleId":"95c351b3-3889-490a-acd3-92a8067894f5","version":"BDRip.x264.DEMAND","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/95c351b3-3889-490a-acd3-92a8067894f5","language":"English","discovered":"2022-05-30T14:51:00.621728Z","downloadCount":548}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5a1d0b0a94ee-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:44:22 GMT Last-Modified: - Wed, 29 May 2024 19:47:26 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=CWqHMvCZzfI5PBOJ%2F1cplrjXWDihBWYVB8xAaSvrafQXM20dKFvRDveWFYCW1ThOoHDy17fA3DHKGtAzhWx7k2qI%2B7dcbPHSVnA%2FvdIaHkEmoO77E%2B7Ux48Sluo%2F0Zs624YGuQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/fra response: body: string: '{"matchingSubtitles":[{"subtitleId":"90fe1369-fa0c-4154-bd04-d3d332dec587","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/90fe1369-fa0c-4154-bd04-d3d332dec587","language":"French","discovered":"2022-05-30T14:51:00.621699Z","downloadCount":134}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5a1dea705bdc-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:44:22 GMT Last-Modified: - Wed, 29 May 2024 19:47:28 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=dVOJkArqaXt4uIVLnYhdFb4ifBOEUV7h%2F2CyO5UShc75SeMQLSohEL7Nosaeq%2Bj4hBv1eJuy7qHSt3BD7wJ%2BTQyulZq21fVGt1R3OpU5Y9lnLYE7tbug0Zi4z57lx2SC8xHONg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=en&seasons=7&episodes=5&movie_type=tv-series&movie_type=mini-series&year=2007 response: body: string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ }\n ], \n \"contributor\": {\n \"id\": 23329, \n \ \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"created\": \"2014-09-07T07:06:05+00:00\", \n \"custom_releases\": [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"\", \n \"id\": \"2581\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 33296, \n \"lines\": 348\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"created\": \"2014-09-07T07:04:24+00:00\", \n \"custom_releases\": [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"\", \n \"id\": \"w581\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 47105, \n \"lines\": 335\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-18T14:12:21+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.720p.WEB-DL.DD5.1.H.264\"\n ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"23.976\", \n \"id\": \"ftUo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 40653, \n \"lines\": 347\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 44181, \n \"name\": \"grzesiek11\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 44181, \n \"name\": \"grzesiek11\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-10-18T05:49:11+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"23.976\", \n \"id\": \"EdQo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 67488, \n \"lines\": 430\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-18T02:09:50+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"23.976\", \n \"id\": \"WNMo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 39681, \n \"lines\": 439\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo\"\n }\n ], \n \ \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: Connection: - keep-alive Content-Length: - '10231' Content-Type: - application/json Date: - Wed, 29 May 2024 23:44:26 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=fr&seasons=7&episodes=5&movie_type=tv-series&movie_type=mini-series&year=2007 response: body: string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\": false, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-10-22T01:06:38+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n ], \n \"download\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/Dego/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"\", \n \"id\": \"Dego\", \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \ \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 5199, \n \"lines\": 307\n }, \n \"url\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/Dego\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-19T18:46:00+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/lNso/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"lNso\", \n \ \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [\n \ \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 1844, \n \"lines\": 394\n }, \n \"url\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/lNso\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-19T16:43:45+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/u9oo/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"u9oo\", \n \ \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [\n \ \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 1732, \n \"lines\": 336\n }, \n \"url\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/u9oo\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-19T04:30:28+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/dNgo/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"25\", \n \"id\": \"dNgo\", \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 2300, \n \"lines\": 416\n }, \n \"url\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/dNgo\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-18T16:29:09+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/9dUo/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"9dUo\", \n \ \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [\n \ \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 2770, \n \"lines\": 439\n }, \n \"url\": \"/en/subtitles/fr-the-big-bang-theory-2007-S07E05-O/9dUo\"\n }\n ], \n \ \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: Connection: - keep-alive Content-Length: - '10526' Content-Type: - application/json Date: - Wed, 29 May 2024 23:44:27 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/EdQo/download?container=zip response: body: string: !!binary | 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 AA== headers: Accept-Ranges: - bytes Connection: - keep-alive Content-Disposition: - attachment; filename="0c6b155a117b40b11344631efc44c341502cbcf3.zip" Content-Length: - '12427' Content-Type: - application/octet-stream Date: - Wed, 29 May 2024 23:44:28 GMT ETag: - '"5260cbd7-308b"' Last-Modified: - Fri, 18 Oct 2013 05:49:11 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/Dego/download?container=zip response: body: string: !!binary | UEsDBBQAAAAIANIYVkPcOnqLgCYAAONaAAA3AAAAVGhlLkJpZy5CYW5nLlRoZW9yeS5TMDdFMDUu NzIwcC5IRFRWLlgyNjQtRElNRU5TSU9OLnNydH18y5Icx5HtHmb4hxxuelONqXxnXpNJRoKkhjCC hAiMxuzusquyuxPMyizmo4nGV80naCfTX8C0IYqLuRttZNrMOe4eUVEidc3EGbI6wyMywv348Udk /PTJdvt/+L94s91uo+vr30b2Q7bZltnTJ6/Xm6Vb+naO9uOPQz82+3Yf3U7jIXo17ofm2M3ds2++ ePP0ydMniReWb4o6CYUVm6qqIazr22HXRvs2Ovbj4WbDYakfVm62cRYOqzdJDamv79t+Pw5ROy/R vE7RjH9fTv3peD8OLWQ0624dot04LM1uefbsGaVmXmq9yeIykBrHmzyvnj55fkV5GLj/n6GdonaI msO4Tu36Lvo3SsidhDjdbJM4lJDhdUon4divczS37x6jH9Y2+qkRSVF/1XSTrKTwcnK8X7gtcbnJ SmzLVz3GR1M7zG13N7RPn/Al+zaaHw83Y9/Nh5by17bHxs1Rf7pbD+1M0aUXXW6Kbbh1MbaugOh9 M2AERi3NTd82eDfsfd9E37VD081zg9OQRVZOUrLdJEmoCEm8KQrs5os2Olzh1ea1g8Rmnk8ysPYD 401Z1eHADG+XysDdfTvhH1n+rptlHR+i3bp0u7Xnq/CFPz0078dBhMZbL7XA3ueh1GpTxVjtF0u0 XDXT1D1A5odo4f4t7dBNeGe84dpF+GPDibF3c/Tw89Ie2mGZo9/JBLGbIN1uyosJ0mSTi+J30bLy FG6xUZvoLd5i6nSzYq/pabGJ4/Cl02qzrbD6Fzh+6FYbLdPHOboZB/zrMK4Pbd+bDK/2GJJkRSij 3qQltO/liJdYZxiYDPAajb/nF7aaJXgHTPoSLyqTcH9/dZ91wyZYSiSaAe3/gFPBY2+h+nOEwdNp 1vm8/mfQ/zoN58s2Oef7FC/zfkN9h5y5XXuRotYTe7XP8k1ehOaT1ZsiTW2PTssp6oaHbjlhg8fD gf93mNd+aYalNf1dRs7Ahc94LjpyEthaj3/m6DB2tmBvDZigrsIF59tNtY0JZkfog2qA1/g8Bspc PJ1uygJH/O0QHZrhrp1o0nN7gAEBbLCWW/4kRjU1b1volPuzYU/sjSKHDWQh+OTVJk6x0D9FDxPe ft9N7eZCVPPQ7qKv23Fopj3sgid1PA3dDZ/BRgM8DyMVWSZKvJ1AblKcsSUmoGPXnz75urWTaVco E3ct6vrooV2X6KaDQJxYO+G1doJlUPfvoHX7NTKo1mnMWiA12VR1Hk6TbUoaOcyxk+M3jT80/TMx /bvmjlYwrqJgKi7x4oj421ActofG//k47DbEUtj1Q6MnlqR+GDGgCIfhwDPo6yvM8cOKFzg2ZuhJ 5gbFW4iOg0FA8TTDn5/DGU0jNp+2M8vhdgvP46HpoOAAlOPUzsT2/krsZfc3KCFB5qpZl8m2KPfz 4MiLOpyn2qTpVhFrpXYTeTl439zh7db+rqEWPH3yCTZqf7r9yKn4Av2HaPw7x4gWzp/oRIWfCBBf lcFEQOCKE72Eih4/ThDWzXwVbuO4yuECBI92CKWTkySQE24MMDen9f+5gW0v0Sd/AJje4lWvccJ3 U7N0tx2saJyaXiAV+0ODbB7GbsLu3Iyi092ui35nS67cVCmdSxVMlQq0YMncElFO08KpOR7HCbLF HggAdiCYgcfgwUBPufYz8FBDBQVCb0tsyiff/P83V5jI1osBrl/oOTA3rqC3Mxw03z/iYVGOvLb4 nKntsTejpxFw6c2K7Vj7cdGNSL0dZfA6WRbIz+A9C0z/RygfN1XfK/WWksGvlKHKA9KSNDcQdeYF RcY+/tSQEkXHDkxNvX3fLk5RU29FwL08CfUHYFXnuac1PFSoDjcMzm+gIXZ0tZA3040ZOCv5goUs zTo1BkypN7u8hGmeZ0kAVptya/7V25hHUM4Dm7/7WbcXVvHWk44ZW9ncnew9zOASoa6BwSUCUtxq 7z/Fe8vqf8Y2ODkqpvBigGTxxUKhOVUW8MRv1LVGsK+9LaL0o+GTsyoYDbipMuz177u7u255jN60 zUGGVG4IeGiZh+sGz6y30OQff/zx2Xo9rzfPhnbR/7xTKQuEPLudRE7t5RSbOmDbiTAxWsRNO7zt YtD6TfTZi09fxi9hzn3ftd/fNMR8/Mfj3OCfp0++a2FmwwbYf2g6/P+XP3bdsG+i/9se7x9lumzr piM/unjTFP6dOPoaGwztxxZGf0FYMEL1cEa/6X77Bszvv8bp+2PfwH29msZ33QEv85t/734romMv Gk6sykPRgDga75srxh/dcAddFMPIEj8GZKkOx4AMZTTkL4FYYqFU4KUB8B47cmuvdLTOw88gHO2w n0bgpDw4KtvKUjcB5OX5xQSkB3jfV00PE8Fbfn46jEOH0Toy8yPzTZZn4UgAa/Wrbirz2oxnysAl 4gcYELnLlyBIr8aud9N4xQXbSfLw/AENRamObVZnhnANlnleoldbPFrWoQ7meFtGaqSSx2YSxjzT ZABJdF3rfAY1leX1GbQJ9hLKQpiUYx/fOH9EO7p7HE67UYd6Fc4LhAoXQ0kRIfk/h+imGZqeEeey dIwUxBpxiMN8O06HE0kRlrkDXTL2lZuqpkSGrDzvTEobz0m8Wzl+jz8neIPrG6CNf9VDM3Unog/8 n746mOmwOwH+8Mh98/80tMtjP1XGBYdTwYNsE/H6ANH9ytcfdqOhcJ74geUmDbxvKkEv0ev5464f jziGz7phBH03Wp6nbiQQpizCtyN+FNi06+jzbr5mCESN3hl8gTg2K0Gwjbq9gOg1EA3GvlM1AcaS HGvom/lJsgvunzKIrQnff1ibYU/OR9QX8VCPt6BtSwcy30pkn+deDMO4OhRTbfK6drRT3ckPWDFX faC3UoJ9B96ytPbmhZdGupcF0oB4MUn376cRwdbpRrE9L92ABKqZb8MBOX0ft8Cj+7d3OKIvhkk9 w3UE7gr2ZFNXXlJ14bhTUpqKmorHH8Z1P9HLvG0Ao3MANZPS+s/aaWj2eDtTgtpJhZC6CHcZvCgl BL256g7NHXALESzplUY94D8Qjq0R507PP5x0xwuv+5CQFaFCAqZL7gg0et+KMKAPDp5kX2gh/uSc cHMkh8e/qKErRhVe2SGqTi6WC3ZET4qI6fbXGCe16tvh7O8jMSsNF3zsJHN4uyCub0PtBg7HRAw1 qMMV/mmHU5DhuJmApvsrqqLwcjB5GK2K9UaTEZNCRQTebunGvyV9+qw7jj3ZuI7yVgD2lZWhkTLC ZLz5sp3Ac+EDlqtugP6eFgmmMNarPiB2m4UvAogtauzlQVRFmVU7MRqkO5Bs0qeHR5oDGOvVfXPT LavxjcKbAIRUeRlKzRFlVLLN+9N+7cSA3MHypE9njuURXGR6K4GI7EILwd2Seivkdhi5o3Ba8KT3 7c0eDmV/3ihvHsDtKoi8M3KxLTMXXzPb1F4jWAda3wGsZZ9+EBBhmmWVWLgheVWRZhuQkG7yNAtF YlX0Ot6L/i7iv6qBzNC8n5fWiX5rqaBhADLRFwIEDegIgqrY5dbPhXMOziojxkoG8lW3dCcE6r98 CwXMMnYiAMJ5fCGC9Khk7oHmO0pW6aFhTojWt4FHed70S7u7t8UkXhL5Z7iXgL1MckuM7KYOwSN1 /UTtiIidLssGH2VRydxRCeD7RZeYOhjG5kA4uR7fPe6b2dKIqZ8TfnebB3NKVo/K+nGgYE54bFdi x0TqqEkaTPpeTHDuGEvJAZaZk4n4MgzJMiYG8xKa/Pqq62f1t6KYjSQ5mLO6X8lD6X/BsSQtpays zL1QqHsdbnPCXGpOxCQKnN4yJTgjPvypkZQxM48m1fa58KJKus1AFKNU8t3XNg6Obd8chhODn8M5 KBVLnZhD+YA9mfaTU6fSSYagtAjfHNw5Zmj058YxMyatJxqSxLWn5d6TtLLyYsAttmUoBpyBZvuq XXmqd60gIE8dfG1jyALP4I/bnbbI9ZYFMdnFHgJzM/r2RrJye/A0BDzTwkhsil4206N4sPu2O2jO 2NsNE5DlNpCUWUzwxT3Ojl6UQdM5Zw9XA6crsVnUQYUQldwx6KWaPjAJI0ZVeaMCk8zrUD6RiQ7/ OvqqJ4Du2lk4jHpebsqtbOpPkju6jrhT3YEZBUt3eyuDpDRw6Dnj04yb+wLEQFgrF8XA5m78x2Lx 9HQ6npaOwT5srBX+o6nPden6bj5JGoT1il3nUnWV2VjO6ki8rcMZC7i6wkL56XTbn3b3qu9V5geB IadxOKgGsJaC98fWIp2Qb1zGNpD2meSgZ+CCRdBV7oQjEk2DCCIn60sIRLIiMSbmPU5UMlXYRakx eXdH18I/3H90qlsVXjKYQh7uLnhfzITPGwVBrloI/DzjbIDfTBcSVFRO6eUAl4KoKCcupYUVF6bx 0dJHQjyumh44bbteOQkEsosNBAqlZGDPYXW0RGydaODVf4w/AtmpVYer9t2xp0WKrNrLygDE4VsR QlhS+KA5rOPYMWYQZnk/ThOzt+JF/5kQwuJ7RWYq2G4EsmpRZeunAk++XHbN+FBqRggrJGqlC5RR sRuVgg9X4XYBeDJu1zctj+qIgGmvm695WoxN/FhGgFU4FmdIf4sZj6QQGidP41GSs+pnFMxum3np 9l27vlOZXuWBNNWlTPIELPeLd7t1bt/TozLVg60YOwk8uUVE20FCMRXnjSEDQBehuCxWcV9SD4Ba k55+7TUcALXdFuEIZnty8hJq9K6bO6svLuSVPCJGbABP1cTaazTj84utZXxOSd/q+P1Vs0OYt7cj 8RoMChkStpzpt4IU/xX91Sp8WTPmLtN2FEd2gH11NF3TDK/QGF9dwAjibw2310i99DtNdCoFIvrN TojXZAJrEapXXiFQy0QIxhKbJyrZB1eSkNItYZSnzvT8oPr7X+P4fdcSb6LjetN3O6vjeUUGM4yD WLwgM8xKn17bd7e3J6YbNFfnFi/5ugfaHzmrI/jKMzQFD5BurEwRb80ACmJsFiSpCpLGfJu6/V2Y C560tiO028Ynfny5KZJwPIhgRnV6YTkVXz7TUOPmr4ukbV3GAF4Pm9AKKQJ+tuBN03wZ6sTb1M3G XGFQcy0IyAWLLq//4UhFvM3808mmLtPwaR5ioWtjnpQkTT1Pd+vpRLzNvYCMAUgoADpNBvvCNO8M U/o+glWrOBpu+u6eZeONSi281GJT1UUolR4Kf1ZP7Jkj3p/n+eFcwQtYY7wtnTzE7CB0gTxQvpJ2 +MV8zToKiAnYnGiBpeKpLJxuscJE1CwLvZ0KrrxgRq/h6wO9S2Y8yHKIOOT1A1kPzozVmt7XGeJt 7aSkLLaEGoKAW+2ZtFASL7ZCfTFX0i4kX5qGlkB0ZHLjOlKrQ4iCqc3wXS6C/QQKCS34/P7kxHqV Z+U5uRDL5ClNWaCa+TEd4ZUcoFhdbARAMaaSu36Lhu6BuS+WFWy0V1o8nBYXo1kzqSSxfy7X0BOH 1VOK8JqMEWkSajJAMuX6cL5solglmwIHMGn0ou7GpHh1ZnCeloEURtwsDxj6eYptb+A1NmfWKDzC 3OroWvoXEKIeSVkLfkHyCTa7V1MG4lmopqyi8BUtZSiqqbr1ya/u6ye2LK+fOawxq0OJFfPIvi4D RF7pZh5880bsCs4l2WvIF0rCbFLXbjCLzhtjJjv15G+F4xlfil1FWQZmSRZKosss3PnOPIxHrZRC v2aGCoJ/FBJ7IRl252I55LqxVNGZa12P6kwoh/GULSLx4wuS8XB8BfDDGv8DhmktHZiz6xUDJlE3 KfGRjfcWNsaudFySNsdpEQgE9kqm+TOuCB5hI0PPpCp2FeSSZLYIPG4pXTfM3P9h5YZe24ZCdYL3 soyOycq9LLCGsgpl1ZreUl5H1RuPDDDclhR+pJh1MBLMNiOX/7Lthr0h7W5inpdJ8a7Bmti2ICbl sdiklk4qM6RB4F8SJbcMAb5jgEuv3kzSRdIZh4hdVVceLfI0HIt9ib3CAs5gtu+4Bc5DicrAc45T t8iKbHu8GoP21sU2EIlQOqtcjMTE5CSRwx0rMHbIqVddQnEZah0i6CrWLgUspf9gA7yaplSzi+lq tsNpjulfbKg1TFwZAZhYPgD5tbJInHodBjndluHWAndTAsgLIzpsAnGdI6nX1Az+L8DzkjF1yU1/ rn5lhqs4trtFol11GfRWrHBJLxlT0XSCt6Mk1ynbazJEVRcnBgxNiECzIN++FRogGR2nyb9MONuC vUoTvKtQMYHDKc3jubT1yP8ETNvbW3Ygnc517jj16g1QTrPQyNhCQ+8oUjCAWwYCoPnRtyrUMr6h QK/ZOd61DC0+Z6aoFL8IzCKvcQXA8e+IP+B4TcNdqbYiDJUBjFWEkXKrvu6nRgNw7voJvuZWtgsK 8unhkXluhjZ86KExqbWTyr7CAE8q6UghB/0zn9b4XdvHcJDWA7b1g0FagiawSkJkYtWnzJixqrMs LtyPjo9MjNjWuHprJb1+Qb21EhSgC/8jczBgfe81nU9FOLZLB127xV9YKNA0zc00sodQn9jdt6LO NkviZ8EB1uHmAS8qbp5Ay77VUoHlfWNXeJXH6jQNx7GRhjR1nUngJUYYl3aW5OfU3TF1L/0oFJN5 MfSeRSCGwTH1rbX2Lq5f0zrHvy7Mw+0klmHALimB33S/fTV1A1NM0WdTt29ZuLbF5m4WQE4SZKkr Qk5CP/YGlnTtqsqxq9pWhJwQNCuyQK3airUY/7BRpRsFUIjL8GVgyXV1kVGUphS2+Z3EnN+SKFg0 iWhNO5cWoOjeAXnm1RyhbJqECkkmxXLqpfSB9Vw6tWAa+e/lb9ZW2F/9p3boKB/IvMpDYFyGGoeg VbCwv7p/hBHefSSAccWL5CBFLFwXjAhip9MR1He19kRvCpBRBIS6osknLM2q/2kO66x9KX/SRqLR sixx7i0BmFAUoY4iXJXo9Dp6iXPvWu1du45eN/1qCO9quDVJVxI4z5qF55LpFpdbstgJsNcZC3dl XHk2zI3ULHhs7Ugfmo0a2v5sWK42Kw8mQVWzJtsS+vyptOQcp/Gm/2gVsNjVYuWpkC/XDJbrM05b +guOTToxmQs56TG6AmwtrTHlxczVJma2TgrrUyuOCehMQ336ZBihEWz5IIxM421rGQ0861pNSy9Z IoBAMiswlPwSYRhB8C87dUOal+fyLCdwz9WrtMpJY9R+KY3NHImWmptIy2Iw/GHtiAHT0H2cJDZd JkkoR981b22FtZdZYEHhecVsvSxcghVeqJl80O3qsfJUloZLIW1jEeLluQx4MHpkpUTrdJ0U/b/T gtP7696Q0tVjRVSxjUPZzG3iRL+QWivTKydmr0+ahQzCZW3nkt5wAUCaG+Cvtxm8hifFpr5QtaRm I6gkFK30+XHRji3hIqtEJl+DF7Fh6o6lLkULty9e/dPsIlNTExhrZgHgWi2bfy6bc+nzVStJQ2sP ozBvEcDQ7cUms6LBt9BOUlYYOwf2A/YW9JNpvkP7rts10h0kO75Tx2kGV3jLybYXlaxauvaIXjBV 6/iPpCfIXtLbC/OTWbgu4HjBjMCbVbrdgG63UztrcqU7zpaMtkZqbxwsXgcesRbAplUqr90JM/58 in6/Dnthgxs579fLuPv+fuwPtixvHhieVaHegMKVuWZFX68f9+6wvO7j72HqpJZWI6aOv+ZxPM5W Y4xegjWC+hyn0+1pOmlztrcENmPHIf5I41BinQlUH6Jd95HWzDK1HDz+8NAB/Fsn1NZWeiMAhMfn hEzMrmjwByk903GsizZn7s/10Kv7lZ2a3KM5+mYEtZd0FO3ldjynWKwiS4kJYP1iihywp6nx+arB O9Pe/O5L0PWqma8/n/4GvMLkqlBWbo3lxktSloFAAFa9lRaeb/9O5O9h7+IAyLh4u2HD830+jtbH rm0qElLRKZOjMWltC8/cPDFCkLPi8Af2/JIs6pqlom3ZCRub+7FQ1ToLx1bqn6S2x95Kd9XBN8AK FF9LusRqpTvmXCU6ZTt4Yy7carCxXFepzxWoWG+TqAeVEJJU+GKK4/3jfM5tWslVxwXelD/kvLwj 6XlgxiIhEZ2HFpj52+6v8CyM6GSWH1xfkzDf3X2zmjVbPTbeag9QHMyRIqCjAuti7QbGRimtznvL fmbpPJ094G5kDdgW1zQbW2mWEjOw+yKcQryOlLe7g+RM6TPEEcoFFXepYesl1Jt4Gx45wau2esOD dRlvovu2c2pp5dZYbi1s8/AFGUORzL5e2Sb/eam4W3nDyMlCw13PKz0+OO2GAL7MjxsGprOY+HRq dnKK4n2OruoVV94wMD48Rrl4kDBh/tWBTfPDf0fxJvpyaoaf+O40jlM/bqTjapgZsCqpR4TS3K2t byGLraBKgcUmP9/7ieVSQcL0rtRjgjU+dHPnc/ZWM9XHi3MiKZb7BTmJil9hspFrMeN6A5oxSt3b hBROCJtFivA1mWKSLgbf0H25GhNQegEFDjULBVTaOAa1e5AGAMSiRj+fBWtLTVDlBVVhuxh+QGy4 Zbb9+TTuxn3Xs2LyME5uX8OcvRVGOSgLHUosVwkkj/L1h00kiU8x4ouXsVonH0ZIe7GlIBlbahEg 78vxx95f3bFCpz5R1+GEDO7IHt5Y/jZI5FmJUx9KzhWUWK4hyNlJdum2G7Sl61wFiYCLO3+5J/Vy SIJCOXDrCemCays8dMbbr6PPL5Qx+tYhJyDnHN7XXj3h6pM63Atm12mCf1jV4K8XIAx84a6bw0RK 7RU0u+CpsVwhKC3ttGef2kGrJ4jnugd3M5C2+It+HhXslZaVzDOZieUqQsU0kJa0WePxxnPLju8P MgsbGZ3G1F6Bc947DQ8wTzbCFXgDiFHwXU+v78Z5fQXibM/XCmK5Z1Ax5/DZ1N6aT/qVg7TeGFfM HLwSehXmfYVzxjmW+wqC/Xol6fIm30ZKFUctFERTg4OAksr2HSzkT6wEqpLyc7N1LDcXKoLaxVVD UYeNDo390BjEqwqH4v151uYEpC+NZUn2Kq2dBjF6T2nFaR//ZmhoGfbEKp2x3HLIzz1K/IGXq2JX KfVlZMn/TlqkF8Ix7nbr0ThSYrVMHV6X4f6BahS0yC+Wc2b9bdAsa7mIp08eVrsAyEs5Vzplf7IQ ZdfcIiCaOncXzMqhKj/IpPOHDOFsEoBdxmPTaHaZut0yTrbo3MuoN+W5EyqWKxTCw15aN5Fr3JPt kHtz1qNgqymcJDa7VeHrJ1KJ1uuztnMs/MBFnex1Nb3sAvXEKqA6NA9gKhE8ZOZKwSXgmQxn9+2D RDdNr70TX33fNiqw8gLBCc5ZDvzA5mW6m7OfmNlLJoV1Jce2ptqJANWp83C32VZcK+DKoQltuqe8 yPJnBwnV+/4jwG+2CItBwhGhMi+SvfXTxN5UGATW4TaSznCl/lBz8a7gZyS+VoznPQ/YgQnzxsNs 97l7LJYrFXID/IVmwsI163nG3jzwaHmugsVyYyKt3b0rqzBqj7NdmJJQfWBsLXlNXr60BXkbIWBW 4SYiAsoqtTlfNvzAxiaxZCsqYRtv/7q7P1lFsz1DTOyNgamwLNw3RkV0WNdRWKTqCBpKcGUO3yf3 Rms1GwknTE8lrW7OL4m9zbBxLg/RLK81pqCvux8tX/bSU1yX4U2sABvL/YwgXOcP8J9VaLoFAEfi CHI8VnEHa7BZ2exq8konD1BQbqtAHjsdEi2q0WIQut7j1SQpNzPbb6ddeQEszRehgFLbhLQR7h/a OTUJ6/ZYasVXfbrKtuFw0BPm+wPjx3iWGCTaFS81NUACbTuYfrZrvVaFhYSE5eU0EMmsOAmkpOjn 5qGDr/lhvfoQfT3O0adw1/DbWhF9FLoVfd0tC5b7euqir5vhewegVqOlRN7Qy4MpiAqqM99Y/8FL 1jDYhBucp600cWJAquo8XClIldzUf253auiApFX1sqaRWHGWI7Lw1iV/oPbGBsPQUVFZ6SLxneNS dnmQji2CC4lqa7xjf+Uy6IkVcSnyosUbP2Txpsj1PuJDWPY4yN1DGjnvVO6Zg15pFc0a9ZZF2o12 kymxwq6KC3p5+EOqxdBXQVn5zSoUbGZG1JlF4s0CI3DEoQhwv1ybl7T7Q9oiaKH3gFC3jd4MyPzK 0AzA2Armur9SpWhXjQiYLEB4suskS0TgWYdu13hqniTeMBT1ApF5olcDXrTSFKj9l1cseS1ChD4O Ui8wOd5CMCwoxvCHgpc3L+TolU1janpT665bfMwKzXnPjpDzJfjUW0vOFpQsFF87tDaXLfdyXD+T twkesF4joVkr+Uq9gUBIHhxpJrwt1oQV7ExKpNIWyTT00t1NrQow05Dn63PGPZY7DRVDySaa/2Fl SwLxfJI+0PFw426VWzmYQ4rwPkwsdxUqms63f2d2ZbBKgzX6M6yexmNzR/KskjIvqWI/ZyCJ7b+M WsSBcQFM2l7fTmx+vltBuuBTnYu2ci9HZWFLbpxpA1h12Q3RRZqoZeu5OsV/KmckVvnleDZS1oFA hKA5k5WSxd7by72Vpr/DDb/uob7+jVBn2b+NOTLKLZ3cJA1vVMZydyAjY9NGSXchX3052/Wwkb1h u5WAOegyQ5VJAxgV+88GS/043CkRgCJoe4uI/p/F9Kl2ooiUgTFlktyh+btbypqqbvUit95/X6XV 4GBfvrDcz7mfPbHCcCxd/WV8sdB6k8nXOg40/klu6W4InawIjtYqm1hVGM+zXyELtZXf/8hq608T E5VMGdsmnz37te76JPOqT/QrwtWwiyGWDOefJNV7AoWb7tp/KckbQHZxJZ8/lNoKxGO8OklZyPU0 R/J1AAdjmVf9rAq7f/ADb9HTiD63rt1njlwr4feC3MckvPYTyNLwvZgzo8W7fCwchsZfBEVbh6m6 3DEog9E501tST/zLsdud4MC1vjW1D+fcVWJVYH06TBvn0pq1Te2EJO/BztRh6ZodYiuldr/n9QU2 3gDie/c+lReZQZurUGShXd92RXR9d91/0OhPs6dswNX4RQLLcbhxvUqJlXsphMF0HEhlfpss/1Uz wWU/4wVfEFGxXPG1u/vuxLXfUOHplNjEYh/Y2Dqpccob3qFUBsNym/PF1aOYkLIWXs6zwbEbDFBJ 83BJzDTH7q5D+665O00nG5T4QUlYtuYPIIp1fC7wWit9N4grZQUM4bIvlJu41Isrwm70ONePGrn8 U38FC5i0SOrJP6seH1kikqqdggIvSx26WYVnXjjhPdQt0LltLDXPKxnnwwYrCesjcRmePiGqFIW6 bE93iS35eI3qUO61Wm431aGUfFPQzQlX/VnW624eErIZ+GmDcW8FN3EOvBX6/rJnNMm97qdsXQrP Ly31GwGMe9/LvRd4vbkblKAdup3bfq/rvPeUhtsPhCwqvVrK7+vArzD84Nd2xvUoS5BvXhys31jL xCbV6zpRMg/3kK0Z6g+Nqu4BC1Z7ZWlHbk7YHVxpiNu7SNIdk7574RVfcoBpOAXsiwvnhVgL6NyF jqTwKi8gF54Lc2xx5cJNvQ3yLICu0zz2ZgOFtwFpjs1CKcyzZOyq0NwQ179v9QMSLkEWTR/vLHee FF7/mbwrLhaE90gFFi5uJJuej53dsqJdTR2bBt3qTOsL7Xs9W2gh3z9ilutzWZHpqpVy+ecs/IpF LB3/Epl+yyw1gxM2szCDiMNvXU1HvqL0WbMA/mwBhReI6Pf8eaFYmvrlWwMWe96dhs4fTelGsXW/ uhgFpZECwGoJHakXIUZE8Ht0Ea9VcGPt3D/33PEHNvLZHVEbL4Tcxrt9qJ0AfvynDPch4UdItsHN 5sOVtNG3eheyHYa1c18Q2jopKeug4WvQKPUrAf/UGSsZzo4hh97+Y1+6LcpKuTo6PbeXxNLbXsSJ RQmWkAw69RJXopUny4BqF2Qz4jpeXEl83bqKilxlmiRNakRVu6ulJUT4Fi9k3vMakM2Rujn4hZEg 8yGt8GXisgT6Xrfa9sNLmTt24M1dO/vvmYXZg9KrcMaPJIZvTesmwwQ50QtJFpmUXov5VaA8PH72 V3GIa1//l2Gr23Ovv3kSfoqLPyBGKf9pz3vrLHVb4vWYBcA43BJEYnWZ/VodJim99iKw2gbJDele z84JzqOkE3cM6T9ok6yON+WVFvUi4EGlZMX5Sm+UDJKpuIrxbB9TI+DxSt+ptd10JVMZnQcUX5rN 5Rs+ezb5MoVFZ+6ultt9MYGo4LMMlBh7iVV4tRg/xLEWUvVTF2xsAP0VQi+NCFZBsYtXWkPhDekd oMPRQFd1LZnuyoJ6QinEiKzksjmeY1I/Bnw8D7eMPeyMDrgi6WOdWkSO8t3ED+F77a+EeVgnG8Kv t06HXE211O9y5IFwcKuc6xWKbuxchtqr5G5kcsloS1YSt5mmPCxsd4br6Ysro5bkU1USzkvKw41g hZg5Et2It4G7E2nnXKjdBjPBpROcMgINl8XvciRbl9ADKZtbvQEvTPgkSvLLTozE1VlFQHaxReQz ieWiXSEHwDNK2/U6wNUppfTlJZPojYDXM/PQiAiBpV4Hu9X7kIP/1ueZOQYZeZcO0Yw/G8a/7+Fk tc2dH1fzFgLRdVCtK9lUkJMCuXKB3C5lE9meLS+61NqbgwaS4fBsIy2xf0QgKB3Y5IfWX5nUXtGz LGwK5A9StGJwwiQo917u4ilds9Fe5Xk/qAo3iHyozFz6/yhFVLsxcnZUDh5qr93yraRtKIdBW+ZC dDrHdzsmOeDeFvtaT1J7FQddKvLw5fNcPzR6+ZnPpPZqjQfK7GJC+EW5xOiupp+TqLXXWYJqsFmV NKPajeHhiikAvuGBpEoTPq7DX15BbjB0DmtcvbUSehT41UqwkUjO+MDac3h6k35axr7KV/vh9YVv q4hdVWH3wCX82/3io3O95YuxTvpq+zyAFkIsB6gfYXMVVmmgT4Kml4p0KlViuT7IF5hu/RfqXHG1 kg9tnD8nGUtvfU6UlsTTcCXf8xW8ABrzXuXOTZw4EQkZSyiCn5WN/X1T+bzJ6DDMGhi5x3Knel20 t0trBMcj79gAfPHuo+WvU1dfrex7Q+FMrB2VwaU9U6XXUmZ1mbF2o5mz7m4Y/b5lXmga3gfhD7le 3fjGEnbu4zbv/WXZ1FVP5eGsDA83LbV66srsD425Ylc+kdZ7S1ynrnhaCc27WEZGHGf7SDPrF5qP 49z5/HTqSqWV5Ky24RIAGZJXfvrkfwFQSwECAAAUAAAACADSGFZD3Dp6i4AmAADjWgAANwAAAAAA AAAAAAAAAAAAAAAAVGhlLkJpZy5CYW5nLlRoZW9yeS5TMDdFMDUuNzIwcC5IRFRWLlgyNjQtRElN RU5TSU9OLnNydFBLBQYAAAAAAQABAGUAAADVJgAAAAA= headers: Accept-Ranges: - bytes Connection: - keep-alive Content-Disposition: - attachment; filename="031865ae6dea392a5056a9d4bdc3e91bb60a2695.zip" Content-Length: - '10064' Content-Type: - application/octet-stream Date: - Wed, 29 May 2024 23:44:31 GMT ETag: - '"5265cf9d-2750"' Last-Modified: - Tue, 22 Oct 2013 01:06:37 GMT Server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles_min_score.yaml0000644000175100001770000000675414636376416030306 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: !!binary | g2IAAMT/dHNauTe/3PERG1ufy1YPCVQ8VCyUC4Dwhducnw7F9IutQYFcrM6DNFNZVccqMsaoXERU Wie+ljiPs0qDOK2PFgXKjfU628brrE+NV27s+fYGcdITu3bnk0MhAeHs2p1PDsVUGDBkxJgJU2bM KT5FKMGcaB89PTYoMj9Mc6I9Gj02KCSSjHCHe4MC7cYqvW2UXp8a1W7s+fbGf/43AAM= headers: Age: - '73760' CF-Cache-Status: - HIT CF-RAY: - 88149a0c3f4f0409-CDG Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Thu, 09 May 2024 20:57:25 GMT Last-Modified: - Thu, 09 May 2024 00:28:05 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=t6Pysdhued%2BjyxBTavf%2Bhp5r%2FhN6to1MCmUQSj7f8itgg6QiObQIZHQnfXmN%2Ffkk58NbJiXajCfV61y4vs42XZG2%2F10XwaZ32tshlIM%2FIPDnIzEF9fCYTjWBMb7dEGgR4A9QYQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/fra response: body: string: !!binary | A+cAAMTvp6uqzfs1MZvyxJwNE/GFnNgHF3/EmeDFG51OaneaA3WyECVv7q0j/4tBLkXdjNXl+2pp lp4N6PEXJlr3FQi5V7IfJrldSq+wIz+O7JXyIluFKgwDxUWcpRC4IBeBsLV/vH1yuX96AoH29wq0 6HcWqFnqZqz2h1k2mhWolL1hgbu3phBjGfjU17oBwQUk4yY9XEzwHYGwo3ksagioxuyP32MFQuAF ge3Fduhd+RHFPnmekwR+kucPYHmxOb2PC8gP8v9nAZ4bMykG/cKwNNMISgXeSRVQLDDbOghXNVu3 k+7mXhZsnenpqxma5RsCpp4+RdNsNJW1IcfKuqp50t+QHD3g/98AAw== headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88149a0c8f960409-CDG Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Thu, 09 May 2024 20:57:25 GMT Last-Modified: - Mon, 06 May 2024 10:39:40 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=BmZdUANzxheKKC5ZtUSlZvEk%2FZRChClLbgbJ%2BNMRhtVrQL8l%2FU9gW0pVH%2FANtU3kyTPptrtCjJJfXaX5r11cBNbCh2%2B0NLrpLx7yH9Ktd1qz6%2BihOGO1BEhiZSoz%2B%2BdOf3HXrg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/core/test_download_best_subtitles_only_one.yaml0000644000175100001770000011235414636376416030144 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5c9019cb5bec-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:46:02 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=zS%2BoB9AYN5W3BzJ%2BrG4Zn5x2sXIsGHYyLoqPwxd5EPuAGnw4yY8tWg7uusIwZxALAcU1X2CafZFkZkdz%2FUU%2BCPFqQ8JZTuvZG7A7bkudlAC%2BJ%2F1zNQ7aP5a50ce%2BDNtMaFjYeg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"a245f3f1-920f-41f5-b9af-876a633cc8dd","version":"DIMENSION","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a245f3f1-920f-41f5-b9af-876a633cc8dd","language":"English","discovered":"2022-05-30T14:51:00.621696Z","downloadCount":45},{"subtitleId":"a295515c-a460-44ea-9ba8-8d37bcb9b5a6","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a295515c-a460-44ea-9ba8-8d37bcb9b5a6","language":"English","discovered":"2022-05-30T14:51:00.621698Z","downloadCount":50},{"subtitleId":"a00559a0-f510-4f7f-bc95-071ded7d852a","version":"WEB-DL","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a00559a0-f510-4f7f-bc95-071ded7d852a","language":"English","discovered":"2022-05-30T14:51:00.621703Z","downloadCount":48},{"subtitleId":"c85f0280-f3c2-4558-bad6-780334ac7e21","version":"WEB-DL","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/c85f0280-f3c2-4558-bad6-780334ac7e21","language":"English","discovered":"2022-05-30T14:51:00.621705Z","downloadCount":11},{"subtitleId":"95c351b3-3889-490a-acd3-92a8067894f5","version":"BDRip.x264.DEMAND","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/95c351b3-3889-490a-acd3-92a8067894f5","language":"English","discovered":"2022-05-30T14:51:00.621728Z","downloadCount":548}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: Age: - '101' CF-Cache-Status: - HIT CF-RAY: - 88ba5c90abde4893-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:46:03 GMT Last-Modified: - Wed, 29 May 2024 19:47:26 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=V2AuQUZ%2FqHA2AVzdp0PkhS5etQHuRZANL35sxXUDRIUBK%2BBWaw6bx%2FmT3xyj1N2LXE9w%2BIY3nHHFcBVyZEuKitwatXBkvmcz8EHBsQ1vg5vPjnfZ7N1kaiabn7KTV4H4yfMilA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=pt-BR&seasons=7&episodes=5&movie_type=tv-series&movie_type=mini-series&year=2007 response: body: string: "{\n \"all_pages\": 0, \n \"data\": [], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: Connection: - keep-alive Content-Length: - '87' Content-Type: - application/json Date: - Wed, 29 May 2024 23:46:06 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=The+Big+Bang+Theory&language=en&seasons=7&episodes=5&movie_type=tv-series&movie_type=mini-series&year=2007 response: body: string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ }\n ], \n \"contributor\": {\n \"id\": 23329, \n \ \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"created\": \"2014-09-07T07:06:05+00:00\", \n \"custom_releases\": [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"\", \n \"id\": \"2581\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 33296, \n \"lines\": 348\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \"created\": \"2014-09-07T07:04:24+00:00\", \n \"custom_releases\": [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"\", \n \"id\": \"w581\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 47105, \n \"lines\": 335\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-18T14:12:21+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.720p.WEB-DL.DD5.1.H.264\"\n ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"23.976\", \n \"id\": \"ftUo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 40653, \n \"lines\": 347\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 44181, \n \"name\": \"grzesiek11\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 44181, \n \"name\": \"grzesiek11\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-10-18T05:49:11+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo/download\", \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\": \"23.976\", \n \"id\": \"EdQo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 67489, \n \"lines\": 430\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo\"\n }, \n {\n \ \"audited\": true, \n \"contributions\": [\n {\n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \"role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \"created\": \"2013-10-18T02:09:50+00:00\", \n \"custom_releases\": [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\", \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo/download\", \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\n \ ], \n \"fps\": \"23.976\", \n \"id\": \"WNMo\", \n \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ ], \n \"episode_info\": {\n \"episode\": 5, \n \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\", \n \"year\": null\n }, \n \"id\": \"uJE\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\", \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\n \ }, \n \"providers\": [\n \"omdb:sY0G\"\n ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"migration\", \n \"stats\": {\n \"downloads\": 39681, \n \"lines\": 439\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo\"\n }\n ], \n \ \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: Connection: - keep-alive Content-Length: - '10231' Content-Type: - application/json Date: - Wed, 29 May 2024 23:46:07 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/EdQo/download?container=zip response: body: string: !!binary | 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 AA== headers: Accept-Ranges: - bytes Connection: - keep-alive Content-Disposition: - attachment; filename="0c6b155a117b40b11344631efc44c341502cbcf3.zip" Content-Length: - '12427' Content-Type: - application/octet-stream Date: - Wed, 29 May 2024 23:46:08 GMT ETag: - '"5260cbd7-308b"' Last-Modified: - Fri, 18 Oct 2013 05:49:11 GMT Server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.662181 subliminal-2.2.0/tests/cassettes/gestdown/0000755000175100001770000000000014636376432020267 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_download_subtitle.yaml0000644000175100001770000012243714636376416025747 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: Age: - '111' CF-Cache-Status: - HIT CF-RAY: - 88ba5f407efc5bd5-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=5zto4dfZwTY0Bgagw4LZEPNqMb9HU%2FM1W74RuFCeMNeGXRVpAmXEs1YDiG2g8TViFu9tkmCIcC4GRuWH3QVhHgb7oSQaNi%2FWKPOra8sc38QictxLna5dQhMh7iA3x65Ct6I0Dg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/fra response: body: string: '{"matchingSubtitles":[{"subtitleId":"90fe1369-fa0c-4154-bd04-d3d332dec587","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/90fe1369-fa0c-4154-bd04-d3d332dec587","language":"French","discovered":"2022-05-30T14:51:00.621699Z","downloadCount":134}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: Age: - '211' CF-Cache-Status: - HIT CF-RAY: - 88ba5f40ec4b5bd4-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Wed, 29 May 2024 19:47:28 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=WZOVZRnVjV6IkClegt9gExHW%2Bcru1uxzGk04BFpfsKWdZjcdqUgVpqeBwtR2SYVe7na8YHm0t7y8YUc3M%2FBuXfuJtxEIpgKlQ06g52HKlt2lXixrVj47faci5IR8SaIaf3V2zw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/download/90fe1369-fa0c-4154-bd04-d3d332dec587 response: body: string: "\uFEFF1\r\n00:00:05,532 --> 00:00:07,400\r\nSilence g\xEAnant.\r\n\r\n2\r\n00:00:07,402 --> 00:00:08,684\r\nSheldon sur son t\xE9l\xE9phone.\r\n\r\n3\r\n00:00:08,686 --> 00:00:09,719\r\nOn ne se touche pas.\r\n\r\n4\r\n00:00:09,721 --> 00:00:13,122\r\nQuelqu'un a un rencard.\r\n\r\n5\r\n00:00:13,124 --> 00:00:15,208\r\nC'est encore plus chaud\r\nque \xE7a en a l'air.\r\n\r\n6\r\n00:00:15,210 --> 00:00:18,077\r\nSheldon observe le symbolisme\r\nphallique des l\xE9gumes-racines\r\n\r\n7\r\n00:00:18,079 --> 00:00:19,796\r\ndans les tableaux de la renaissance.\r\n\r\n8\r\n00:00:19,798 --> 00:00:21,447\r\nNon, \xE7a m'a ennuy\xE9.\r\n\r\n9\r\n00:00:21,449 --> 00:00:25,418\r\nJe recherche des ciseaux \r\n\xE0 cuticules sur Amazon.\r\n\r\n10\r\n00:00:26,370 --> 00:00:28,004\r\nComment peux-tu\r\nne pas arracher ses v\xEAtements\r\n\r\n11\r\n00:00:28,006 --> 00:00:30,556\r\net le prendre, ici, sur cette table ?\r\n\r\n12\r\n00:00:30,558 --> 00:00:33,259\r\nSi tu fais \xE7a, je hurle.\r\n\r\n13\r\n00:00:36,430 --> 00:00:38,631\r\nSheldon, j'ai des nouvelles\r\nexcitantes \xE0 t'annoncer.\r\n\r\n14\r\n00:00:38,633 --> 00:00:39,782\r\nComme \xE7a, on est deux.\r\n\r\n15\r\n00:00:39,784 --> 00:00:41,267\r\nMes nouveaux ciseaux\r\n\xE0 cuticules seront l\xE0\r\n\r\n16\r\n00:00:41,269 --> 00:00:43,152\r\ndans un jour ouvrable ou deux.\r\n\r\n17\r\n00:00:43,154 --> 00:00:45,721\r\nEsp\xE9rons, dans un seul.\r\n\r\n18\r\n00:00:45,723 --> 00:00:47,824\r\nJe suis invit\xE9e comme consultante\r\ndans une exp\xE9rience\r\n\r\n19\r\n00:00:47,826 --> 00:00:50,193\r\nau sein de ton universit\xE9\r\npour quelques mois.\r\n\r\n20\r\n00:00:50,195 --> 00:00:51,327\r\nN'est-ce pas g\xE9nial ?\r\n\r\n21\r\n00:00:51,329 --> 00:00:52,912\r\nOn pourra d\xE9jeuner ensemble.\r\n\r\n22\r\n00:00:52,914 --> 00:00:54,314\r\nFaire du covoiturage.\r\n\r\n23\r\n00:00:54,316 --> 00:00:56,466\r\nTu sais, voyager avec L\xE9onard\r\n\r\n24\r\n00:00:56,468 --> 00:00:58,735\r\nest devenu un peu \r\nennuyeux derni\xE8rement.\r\n\r\n25\r\n00:00:58,737 --> 00:01:02,205\r\nIl ne veut plus jouer\r\nqu'au jeu du silence.\r\n\r\n26\r\n00:01:02,207 --> 00:01:03,306\r\nEt il est vraiment mauvais.\r\n\r\n27\r\n00:01:03,308 --> 00:01:05,458\r\nJe gagne tout le temps.\r\n\r\n28\r\n00:01:06,844 --> 00:01:08,728\r\nAlors, tu es d'accord avec \xE7a ?\r\n\r\n29\r\n00:01:08,730 --> 00:01:10,396\r\nPourquoi je ne le serais pas ?\r\n\r\n30\r\n00:01:10,398 --> 00:01:12,432\r\nCe projet nous fera travailler\r\n\r\n31\r\n00:01:12,434 --> 00:01:14,467\r\n\xE0 proximit\xE9 l'un de l'autre.\r\n\r\n32\r\n00:01:14,469 --> 00:01:15,968\r\nEt il y a cet adage\r\ngrossier qui dit\r\n\r\n33\r\n00:01:15,970 --> 00:01:19,639\r\nque l'on ne doit pas d\xE9f\xE9quer \r\nl\xE0 o\xF9 l'on mange.\r\n\r\n34\r\n00:01:19,641 --> 00:01:21,974\r\nC'est ce que mon p\xE8re \r\ndisait toujours.\r\n\r\n35\r\n00:01:21,976 --> 00:01:25,161\r\n\xC7a et \"Qui doit-on\r\nsatisfaire oralement\r\n\r\n36\r\n00:01:25,163 --> 00:01:27,880\r\npour avoir un verre par ici ?\"\r\n\r\n37\r\n00:01:29,233 --> 00:01:31,718\r\nMais qu'est-ce que \xE7a a \xE0 voir\r\n\r\n38\r\n00:01:31,720 --> 00:01:33,636\r\navec ton travail \xE0 l'universit\xE9 ?\r\n\r\n39\r\n00:01:33,638 --> 00:01:36,239\r\n\"Ne d\xE9f\xE8que pas \r\nl\xE0 o\xF9 tu manges\"\r\n\r\n40\r\n00:01:36,241 --> 00:01:38,274\r\nsignifie de ne pas\r\navoir d'histoire d'amour\r\n\r\n41\r\n00:01:38,276 --> 00:01:39,876\r\nsur le lieu de travail.\r\n\r\n42\r\n00:01:41,078 --> 00:01:43,062\r\nVraiment ?\r\n\r\n43\r\n00:01:48,470 --> 00:01:50,787\r\nJe l'ai toujours pris\r\nau premier degr\xE9.\r\n\r\n44\r\n00:01:50,789 --> 00:01:53,622\r\nC'est pourquoi je n'ai\r\njamais fait mes besoins\r\n\r\n45\r\n00:01:53,624 --> 00:01:55,992\r\nici ou dans tout autre restaurant.\r\n\r\n46\r\n00:01:57,946 --> 00:01:59,979\r\nJe suis soulag\xE9e que\r\ntu n'aies pas de probl\xE8me\r\n\r\n47\r\n00:01:59,981 --> 00:02:01,264\r\navec le fait que nous \r\ntravaillions ensemble.\r\n\r\n48\r\n00:02:01,266 --> 00:02:03,516\r\nPas aussi soulag\xE9\r\nque je vais l'\xEAtre.\r\n\r\n49\r\n00:02:04,518 --> 00:02:06,753\r\nC'est un tout nouveau monde,\r\npetite madame.\r\n\r\n50\r\n00:02:28,342 --> 00:02:32,342\r\n\u266A The Big Bang Theory 7x05 \u266A\r\nLa Proximit\xE9 du Lieu de Travail\r\nPremi\xE8re diffusion le 17-10-2013\r\n\r\n51\r\n00:02:32,367 --> 00:02:37,367\r\n-= Synchro par elderman =-\r\n-= www.addic7ed.com =-\r\n\r\n52\r\n00:02:37,818 --> 00:02:39,385\r\nTu es malade ?\r\n\r\n53\r\n00:02:39,387 --> 00:02:40,436\r\nTu ne veux pas\r\n\r\n54\r\n00:02:40,438 --> 00:02:42,305\r\nque ta petite amie\r\ntravaille avec toi.\r\n\r\n55\r\n00:02:42,307 --> 00:02:45,007\r\nPalourde de l'Enfer.\r\n\r\n56\r\n00:02:45,009 --> 00:02:46,526\r\nPourquoi pas ?\r\n\r\n57\r\n00:02:46,528 --> 00:02:49,112\r\nF\xE9e Chevelue.\r\n\r\n58\r\n00:02:49,114 --> 00:02:50,680\r\n\xC7a pourrait \xEAtre romantique.\r\n\r\n59\r\n00:02:50,682 --> 00:02:52,649\r\nTu sais, mes parents \r\nse sont rencontr\xE9s au travail.\r\n\r\n60\r\n00:02:52,651 --> 00:02:55,685\r\nTon p\xE8re est gyn\xE9cologue.\r\n\r\n61\r\n00:02:55,687 --> 00:02:56,869\r\nJe sais.\r\n\r\n62\r\n00:02:56,871 --> 00:02:59,822\r\nCe qui a commenc\xE9 comme un frottis,\r\ns'est transform\xE9 en un rencard.\r\n\r\n63\r\n00:03:01,292 --> 00:03:02,675\r\nPuis elle a travaill\xE9 l\xE0-bas,\r\n\r\n64\r\n00:03:02,677 --> 00:03:04,644\r\nils se sont mari\xE9s,\r\net \xE7a s'est transform\xE9 en haine,\r\n\r\n65\r\n00:03:04,646 --> 00:03:07,196\r\nqui continue encore \xE0 ce jour.\r\n\r\n66\r\n00:03:07,298 --> 00:03:10,066\r\nCyclopes \xE0 deux yeux.\r\n\r\n67\r\n00:03:10,068 --> 00:03:12,902\r\nPeux-tu lui expliquer\r\npourquoi c'est une mauvaise id\xE9e ?\r\n\r\n68\r\n00:03:12,904 --> 00:03:14,270\r\nNon, \xE7a sera g\xE9nial.\r\n\r\n69\r\n00:03:14,272 --> 00:03:15,888\r\nLa prochaine fois qu'il aura\r\nune conjonctivite au travail,\r\n\r\n70\r\n00:03:15,890 --> 00:03:19,942\r\npeut-\xEAtre que c'est elle qui tiendra\r\nsa t\xEAte pour lui mettre ses gouttes.\r\n\r\n71\r\n00:03:19,944 --> 00:03:22,428\r\nB\xE9b\xE9 G\xE9ant.\r\n\r\n72\r\n00:03:22,430 --> 00:03:24,280\r\nC'est un Ogre Furieux.\r\n\r\n73\r\n00:03:24,282 --> 00:03:26,516\r\nJe sais.\r\n\r\n74\r\n00:03:28,519 --> 00:03:30,686\r\nJe dis juste que je ne voudrais pas\r\ntravailler avec Bernadette.\r\n\r\n75\r\n00:03:30,688 --> 00:03:32,655\r\nPeux-tu imaginer\r\nvoir quelqu'un toute la journ\xE9e\r\n\r\n76\r\n00:03:32,657 --> 00:03:34,123\r\net devoir aussi la voir\r\n\r\n77\r\n00:03:34,125 --> 00:03:35,825\r\napr\xE8s le travail ?\r\n\r\n78\r\n00:03:35,827 --> 00:03:37,493\r\nAttends. On fait \xE7a tout le temps.\r\n\r\n79\r\n00:03:37,495 --> 00:03:39,228\r\nOn travaille ensemble \r\net on joue ensemble.\r\n\r\n80\r\n00:03:39,230 --> 00:03:42,882\r\nOui, je sais, et \xE7a m'a conduit\r\ndans les bras d'une autre femme.\r\n\r\n81\r\n00:03:44,701 --> 00:03:46,719\r\nOurs Bipolaire.\r\n\r\n82\r\n00:03:46,721 --> 00:03:49,605\r\nJ'appr\xE9cie votre inqui\xE9tude,\r\n\r\n83\r\n00:03:49,607 --> 00:03:52,809\r\nmais je n'escompte pas voir\r\nAmy davantage qu'actuellement.\r\n\r\n84\r\n00:03:52,811 --> 00:03:55,094\r\nNous d\xE9duirons le temps \r\npass\xE9 en plus ensemble\r\n\r\n85\r\n00:03:55,096 --> 00:03:57,964\r\nau travail de notre quota \r\nhebdomadaire.\r\n\r\n86\r\n00:03:59,883 --> 00:04:02,552\r\nLaisse-moi \xEAtre l\xE0 \r\nquand tu lui diras \xE7a.\r\n\r\n87\r\n00:04:03,520 --> 00:04:05,688\r\nPourquoi ? Pour voir \r\nla t\xEAte d'Amy\r\n\r\n88\r\n00:04:05,690 --> 00:04:07,990\r\nquand elle entendra\r\nmon excellente id\xE9e ?\r\n\r\n89\r\n00:04:07,992 --> 00:04:10,576\r\nS'il te plait,\r\nlaisse-moi juste \xEAtre l\xE0.\r\n\r\n90\r\n00:04:12,546 --> 00:04:15,681\r\nAlors, Amy, sur quoi\r\ntravailles-tu \xE0 Caltech ?\r\n\r\n91\r\n00:04:15,683 --> 00:04:17,467\r\nJe dirige une \xE9tude pour voir\r\n\r\n92\r\n00:04:17,469 --> 00:04:19,368\r\nsi une carence de \r\nl'enzyme monoamine-oxydase\r\n\r\n93\r\n00:04:19,370 --> 00:04:21,444\r\nm\xE8ne \xE0 annihiler \r\nla peur chez les singes.\r\n\r\n94\r\n00:04:22,340 --> 00:04:25,158\r\nS'ils sont comme les humains,\r\nla r\xE9ponse est oui.\r\n\r\n95\r\n00:04:25,160 --> 00:04:27,577\r\nAttends, tu as d\xE9j\xE0 r\xE9alis\xE9e\r\ncette exp\xE9rience sur des humains ?\r\n\r\n96\r\n00:04:27,579 --> 00:04:30,263\r\nComme des d\xE9tenus dans le couloir \r\nde la mort avec plus rien \xE0 perdre ?\r\n\r\n97\r\n00:04:30,365 --> 00:04:33,082\r\nNon, \xE7a ne serait pas \xE9thique.\r\n\r\n98\r\n00:04:34,618 --> 00:04:36,586\r\nVous savez,\r\npeu de gens le savent,\r\n\r\n99\r\n00:04:36,588 --> 00:04:37,837\r\nmais l'enzyme monoamine-oxydase\r\n\r\n100\r\n00:04:37,839 --> 00:04:39,789\r\na \xE9t\xE9 d\xE9couvert par une femme,\r\nMary Bernheim.\r\n\r\n101\r\n00:04:42,276 --> 00:04:43,542\r\nC'est exact.\r\n\r\n102\r\n00:04:43,544 --> 00:04:46,545\r\nMon t\xE9l\xE9phone est aussi\r\nintelligent que vous, les filles.\r\n\r\n103\r\n00:04:48,316 --> 00:04:49,448\r\nAmy, Bernadette, Penny.\r\n\r\n104\r\n00:04:53,538 --> 00:04:56,305\r\nIl n'arr\xEAtera jamais\r\nde faire \xE7a, hein ?\r\n\r\n105\r\n00:04:56,307 --> 00:04:57,440\r\n\xC7a ne me d\xE9range pas.\r\n\r\n106\r\n00:04:57,442 --> 00:04:59,108\r\nJ'esp\xE8re mettre son\r\namour de la r\xE9p\xE9tition\r\n\r\n107\r\n00:04:59,110 --> 00:05:00,860\r\n\xE0 profit un jour.\r\n\r\n108\r\n00:05:05,233 --> 00:05:06,399\r\nJ'ai chang\xE9 d'avis.\r\n\r\n109\r\n00:05:06,401 --> 00:05:07,900\r\nTu ne peux pas travailler\r\nau m\xEAme endroit que moi.\r\n\r\n110\r\n00:05:07,902 --> 00:05:09,268\r\nProfite du reste de ta soir\xE9e.\r\n\r\n111\r\n00:05:10,905 --> 00:05:13,122\r\nJ'ai d\xE9j\xE0 sign\xE9 le contrat.\r\n\r\n112\r\n00:05:13,124 --> 00:05:14,523\r\nJ'ai encaiss\xE9 un ch\xE8que.\r\n\r\n113\r\n00:05:14,525 --> 00:05:16,575\r\nTu ne vas pas pouvoir\r\n\r\n114\r\n00:05:16,577 --> 00:05:18,427\r\nbien te sortir de \xE7a.\r\n\r\n115\r\n00:05:18,429 --> 00:05:19,662\r\nJe ne comprends pas.\r\n\r\n116\r\n00:05:19,664 --> 00:05:21,580\r\nJe croyais que tu avais dit\r\nque \xE7a ne te posait pas de probl\xE8me.\r\n\r\n117\r\n00:05:21,582 --> 00:05:22,698\r\nC'est vrai.\r\n\r\n118\r\n00:05:22,700 --> 00:05:24,333\r\nMais c'\xE9tait avant \r\nque Howard m'explique\r\n\r\n119\r\n00:05:24,335 --> 00:05:26,469\r\ncomment \xE7a serait horrible \r\ns'il devait travailler\r\n\r\n120\r\n00:05:26,471 --> 00:05:28,137\r\navec sa moiti\xE9.\r\n\r\n121\r\n00:05:28,139 --> 00:05:30,723\r\nIl a dit quoi ?\r\n\r\n122\r\n00:05:30,725 --> 00:05:32,675\r\nNe te sens pas insult\xE9e.\r\n\r\n123\r\n00:05:32,677 --> 00:05:36,896\r\nIl a juste dit que trop de toi\r\nserait ennuyeux \xE0 mourir.\r\n\r\n124\r\n00:05:36,898 --> 00:05:40,066\r\nExcuse-moi, j'ai besoin d'avoir\r\nune discussion avec mon mari.\r\n\r\n125\r\n00:05:40,068 --> 00:05:41,901\r\nOui, fais vite.\r\n\r\n126\r\n00:05:41,903 --> 00:05:45,438\r\nDe ce que j'ai compris,\r\nla bri\xE8vet\xE9 est ton amie.\r\n\r\n127\r\n00:05:46,573 --> 00:05:48,741\r\nDonc, sans rancune ?\r\n\r\n128\r\n00:05:48,743 --> 00:05:50,326\r\nNon, on n'est pas d'accord.\r\n\r\n129\r\n00:05:50,328 --> 00:05:51,827\r\nJe vais travailler \r\nsur ce projet.\r\n\r\n130\r\n00:05:51,829 --> 00:05:54,080\r\nEt tu ne peux pas lui dire \r\nce qu'elle peut et ne peut pas faire.\r\n\r\n131\r\n00:05:54,082 --> 00:05:56,098\r\nLa semaine derni\xE8re,\r\ntu as dit \xE0 L\xE9onard\r\n\r\n132\r\n00:05:56,100 --> 00:05:58,300\r\nqu'il ne pouvait pas porter\r\nsa veste Wookiee en public.\r\n\r\n133\r\n00:05:58,302 --> 00:05:59,518\r\nC'est diff\xE9rent.\r\n\r\n134\r\n00:05:59,520 --> 00:06:01,454\r\nJe ne vais pas au centre commercial\r\navec quelqu'un habill\xE9\r\n\r\n135\r\n00:06:01,456 --> 00:06:03,539\r\nen stupide ours de l'espace.\r\n\r\n136\r\n00:06:05,575 --> 00:06:07,626\r\nTu n'as pas \xE0 t\u2019inqui\xE9ter\r\nque je t'importune.\r\n\r\n137\r\n00:06:07,628 --> 00:06:08,878\r\nJe serai dans un autre b\xE2timent.\r\n\r\n138\r\n00:06:08,880 --> 00:06:10,746\r\nEt on n'a m\xEAme pas\r\n\xE0 d\xE9jeuner ensemble.\r\n\r\n139\r\n00:06:10,748 --> 00:06:11,864\r\nVraiment ?\r\n\r\n140\r\n00:06:11,866 --> 00:06:14,517\r\nOui. Avant tout, je suis\r\nune scientifique.\r\n\r\n141\r\n00:06:14,519 --> 00:06:16,969\r\nJe suis juste l\xE0 pour faire mon\r\nboulot et avec un peu de chance,\r\n\r\n142\r\n00:06:16,971 --> 00:06:19,605\r\nfaire flipper leur race\r\n\xE0 quelques singes.\r\n\r\n143\r\n00:06:23,144 --> 00:06:25,811\r\nTu es s\xFBre que ta personnalit\xE9\r\nd'insecte ne sera pas attir\xE9e\r\n\r\n144\r\n00:06:25,813 --> 00:06:28,564\r\nvers le feu incandescent\r\nqui me caract\xE9rise ?\r\n\r\n145\r\n00:06:31,535 --> 00:06:33,786\r\nDe plus en plus s\xFBre.\r\n\r\n146\r\n00:06:33,788 --> 00:06:36,872\r\nAlors tu as ma permission.\r\n\r\n147\r\n00:06:36,874 --> 00:06:37,957\r\nJe ne te l'ai pas demand\xE9.\r\n\r\n148\r\n00:06:37,959 --> 00:06:39,158\r\nTrop tard. \r\nPas de retour en arri\xE8re.\r\n\r\n149\r\n00:06:41,611 --> 00:06:44,413\r\nNon, \xE9coute-moi.\r\nSheldon a mal compris.\r\n\r\n150\r\n00:06:44,415 --> 00:06:45,381\r\nCe que je voulais dire,\r\n\r\n151\r\n00:06:45,383 --> 00:06:46,448\r\nc'est que si on travaillait \r\nensemble,\r\n\r\n152\r\n00:06:46,450 --> 00:06:48,117\r\nil y aurait trop de moi pour toi,\r\n\r\n153\r\n00:06:48,119 --> 00:06:50,252\r\net non pas l'inverse.\r\n\r\n154\r\n00:06:50,254 --> 00:06:52,722\r\nSi tu veux mentir \xE0 ta femme,\r\n\r\n155\r\n00:06:52,724 --> 00:06:55,324\r\nne commence pas une phrase avec\r\n\"Sheldon a mal compris\".\r\n\r\n156\r\n00:06:56,877 --> 00:06:58,010\r\nC'est un indice r\xE9v\xE9lateur.\r\n\r\n157\r\n00:06:58,012 --> 00:06:59,929\r\nEh bien ?\r\n\r\n158\r\n00:06:59,931 --> 00:07:01,130\r\nD'accord, bien.\r\n\r\n159\r\n00:07:01,132 --> 00:07:02,898\r\nJ'ai dit \xE7a,\r\net je pense que c'est vrai.\r\n\r\n160\r\n00:07:02,900 --> 00:07:05,017\r\nJe pense que si on travaillait\r\net vivait ensemble,\r\n\r\n161\r\n00:07:05,019 --> 00:07:06,519\r\non en aurait marre l'un de l'autre.\r\n\r\n162\r\n00:07:06,521 --> 00:07:08,104\r\nOui, mais pour \xEAtre honn\xEAte,\r\nil a juste parl\xE9 du fait\r\n\r\n163\r\n00:07:08,106 --> 00:07:09,188\r\nque lui en aurait marre de toi.\r\n\r\n164\r\n00:07:09,190 --> 00:07:11,023\r\nPour l'amour de Dieu, \r\npourquoi ?\r\n\r\n165\r\n00:07:15,212 --> 00:07:17,863\r\nQu'est-ce qui te fait penser \r\nque tu en aurais marre ?\r\n\r\n166\r\n00:07:17,865 --> 00:07:20,015\r\nSes seules options c'est \r\nde feindre une crise cardiaque\r\n\r\n167\r\n00:07:20,017 --> 00:07:22,384\r\nou en avoir une vraie.\r\n\r\n168\r\n00:07:22,386 --> 00:07:25,654\r\nC'est rien de particulier. Je...\r\n\r\n169\r\n00:07:25,656 --> 00:07:27,823\r\nEst-ce que c'est ma voix ?\r\nEst-ce que je suis trop autoritaire ?\r\n\r\n170\r\n00:07:27,825 --> 00:07:28,958\r\nQuoi... ?\r\n\r\n171\r\n00:07:28,960 --> 00:07:31,877\r\nMon bras est engourdi.\r\n\r\n172\r\n00:07:32,796 --> 00:07:35,781\r\nDans le mille.\r\n\r\n173\r\n00:07:35,783 --> 00:07:39,385\r\nC'est le mauvais bras \r\npour une crise cardiaque, imb\xE9cile.\r\n\r\n174\r\n00:07:41,221 --> 00:07:44,356\r\nLe fait est que je suis s\xFBr\r\nque certaines choses\r\n\r\n175\r\n00:07:44,358 --> 00:07:46,642\r\nte rendraient folle\r\nsi tu devais les supporter\r\n\r\n176\r\n00:07:46,644 --> 00:07:48,394\r\ntoute la journ\xE9e.\r\n\r\n177\r\n00:07:48,396 --> 00:07:50,596\r\nComme me regarder dans les yeux \r\nquand tu me mens ?\r\n\r\n178\r\n00:07:50,598 --> 00:07:52,148\r\nAllez, j'ai juste...\r\n\r\n179\r\n00:07:52,150 --> 00:07:55,401\r\nO\xF9 est-ce que je dois regarder\r\nquand je te mens ?\r\n\r\n180\r\n00:07:55,403 --> 00:07:57,753\r\nTrouve un autre endroit \r\npour dormir ce soir.\r\n\r\n181\r\n00:08:06,863 --> 00:08:10,466\r\nSi \xE7a peut te faire te sentir mieux,\r\nAmy et moi \xE7a va bien.\r\n\r\n182\r\n00:08:13,069 --> 00:08:15,237\r\nJe dirais m\xEAme, tr\xE8s bien.\r\n\r\n183\r\n00:08:17,474 --> 00:08:19,842\r\nAlors, les gar\xE7ons, comment\r\n\xE9tait la soir\xE9e pyjama ?\r\n\r\n184\r\n00:08:19,844 --> 00:08:23,729\r\nVous avez saut\xE9 sur le lit en chantant\r\ndans vos brosses \xE0 cheveux ?\r\n\r\n185\r\n00:08:23,731 --> 00:08:25,931\r\nCe n'\xE9tait pas une soir\xE9e pyjama.\r\n\r\n186\r\n00:08:25,933 --> 00:08:28,434\r\nC'\xE9tait juste un couple de potes\r\n\xE0 trainer, rigoler,\r\n\r\n187\r\n00:08:28,436 --> 00:08:31,520\r\nqui mangent des cookies et\r\nregardent Princess Bride.\r\n\r\n188\r\n00:08:33,073 --> 00:08:34,607\r\nS'il te plait, arr\xEAte de parler.\r\n\r\n189\r\n00:08:36,243 --> 00:08:38,861\r\nComme tu veux.\r\n\r\n190\r\n00:08:42,666 --> 00:08:44,733\r\nRien ne serait arriv\xE9\r\n\r\n191\r\n00:08:44,735 --> 00:08:46,202\r\nsi je n'avais pas \r\nessay\xE9 de t'aider.\r\n\r\n192\r\n00:08:46,204 --> 00:08:48,787\r\n\xC7a ne serait aussi pas arriv\xE9\r\n\r\n193\r\n00:08:48,789 --> 00:08:50,289\r\nsi dans l'Univers primitif,\r\n\r\n194\r\n00:08:50,291 --> 00:08:53,792\r\nl'hydrog\xE8ne \xE9tait un peu plus\r\nou un peu moins commun.\r\n\r\n195\r\n00:08:53,794 --> 00:08:56,278\r\nC'est marrant. \xC0 toi.\r\n\r\n196\r\n00:08:57,264 --> 00:08:58,597\r\nMessieurs.\r\n\r\n197\r\n00:08:58,599 --> 00:09:00,282\r\nBonjour.\r\n\r\n198\r\n00:09:00,284 --> 00:09:01,684\r\nC'\xE9tait un peu glacial.\r\n\r\n199\r\n00:09:01,686 --> 00:09:03,335\r\nVous avez des soucis ?\r\n\r\n200\r\n00:09:03,337 --> 00:09:04,353\r\nNon, \xE7a va.\r\n\r\n201\r\n00:09:04,355 --> 00:09:05,771\r\nComme Howard l'a conseill\xE9,\r\n\r\n202\r\n00:09:05,773 --> 00:09:07,973\r\nelle respecte tout juste\r\nnos fronti\xE8res professionnelles.\r\n\r\n203\r\n00:09:07,975 --> 00:09:08,941\r\nBien vu.\r\n\r\n204\r\n00:09:08,943 --> 00:09:10,543\r\nPrendre des conseils amoureux\r\nde la part de celui\r\n\r\n205\r\n00:09:10,545 --> 00:09:12,962\r\nqui a tress\xE9 les cheveux de Raj \r\nla nuit derni\xE8re.\r\n\r\n206\r\n00:09:15,431 --> 00:09:18,450\r\nOui, tu marques un point.\r\n\r\n207\r\n00:09:18,452 --> 00:09:20,653\r\nIl semblerait \r\nque je m'inqui\xE9tais pour rien.\r\n\r\n208\r\n00:09:20,655 --> 00:09:22,204\r\nRegardez-la, qui cherche \r\nd\xE9sesp\xE9r\xE9ment\r\n\r\n209\r\n00:09:22,206 --> 00:09:24,156\r\n\xEAtre ici, \xE0 la table cool.\r\n\r\n210\r\n00:09:26,576 --> 00:09:28,327\r\nNe t'inqui\xE8te pas,\r\npetit papillon de nuit.\r\n\r\n211\r\n00:09:28,329 --> 00:09:30,629\r\nLa flamme viendra \xE0 toi.\r\n\r\n212\r\n00:09:34,569 --> 00:09:36,385\r\nAu cas o\xF9 Bernadette \r\nne rappelle pas\r\n\r\n213\r\n00:09:36,387 --> 00:09:37,770\r\npour s'excuser, \r\nque dirais-tu\r\n\r\n214\r\n00:09:37,772 --> 00:09:39,672\r\nde manger mexicain ce soir ?\r\n\r\n215\r\n00:09:39,674 --> 00:09:41,840\r\nJe ne sais pas.\r\n\xC7a a l'air lourd.\r\n\r\n216\r\n00:09:41,842 --> 00:09:44,810\r\nC'est parce que tu te bourres\r\ntoujours de chips.\r\n\r\n217\r\n00:09:44,812 --> 00:09:47,479\r\nEt voici le Dr. Gunderson\r\nde Stockholm.\r\n\r\n218\r\n00:09:47,481 --> 00:09:49,031\r\nLa Su\xE8de.\r\n\r\n219\r\n00:09:49,033 --> 00:09:50,733\r\nLa patrie de mon Muppet pr\xE9f\xE9r\xE9\r\n\r\n220\r\n00:09:50,735 --> 00:09:53,719\r\net ma seconde boulette\r\nde viande pr\xE9f\xE9r\xE9e.\r\n\r\n221\r\n00:09:57,140 --> 00:10:01,343\r\nLa r\xE9putation du manque d'humour\r\ndes gens du nord est bien fond\xE9e.\r\n\r\n222\r\n00:10:02,812 --> 00:10:05,581\r\nDis donc, son nom est Gunderson\r\nou Pasdr\xF4lson ?\r\n\r\n223\r\n00:10:06,833 --> 00:10:09,068\r\nO\xF9 allons-nous avec \xE7a,\r\nDr Cooper ?\r\n\r\n224\r\n00:10:09,070 --> 00:10:11,103\r\nJe suis ton petit ami.\r\n\r\n225\r\n00:10:11,105 --> 00:10:13,555\r\nTu m'appelles Sheldon.\r\n\r\n226\r\n00:10:13,557 --> 00:10:16,158\r\nC'est vrai. Je suis dans \r\nune relation homme-femme\r\n\r\n227\r\n00:10:16,160 --> 00:10:18,928\r\navec ce petit morceau de laine.\r\n\r\n228\r\n00:10:20,047 --> 00:10:21,764\r\nC'est aussi une relation physique.\r\n\r\n229\r\n00:10:21,766 --> 00:10:25,517\r\nOn se tient la main, se prend dans\r\nnos bras... m\xEAme quand il fait chaud.\r\n\r\n230\r\n00:10:28,171 --> 00:10:29,538\r\n\xC7a c'est nouveau.\r\n\r\n231\r\n00:10:29,540 --> 00:10:31,140\r\nApparemment, maintenant\r\non se donne aussi des coups de pieds\r\n\r\n232\r\n00:10:31,142 --> 00:10:32,775\r\ndans le tibia sous la table.\r\n\r\n233\r\n00:10:34,477 --> 00:10:37,012\r\nTu aimes \xE7a aussi\r\nsi je te le fais ?\r\n\r\n234\r\n00:10:38,398 --> 00:10:41,066\r\nPas vraiment, n'est-ce pas ?\r\n\r\n235\r\n00:10:53,498 --> 00:10:55,883\r\nSujet test D7,\r\n\r\n236\r\n00:10:55,885 --> 00:10:58,535\r\nalias Betsy, \xE9tude \r\nsur la r\xE9ponse \xE0 la peur.\r\n\r\n237\r\n00:10:58,537 --> 00:11:02,389\r\nImage n\xB01 : un fran\xE7ais \xE0 bicyclette\r\ntransportant des baguettes.\r\n\r\n238\r\n00:11:05,393 --> 00:11:08,395\r\nPas de r\xE9action notable.\r\n\r\n239\r\n00:11:08,397 --> 00:11:10,764\r\nImage n\xB02 : soubassophone.\r\n\r\n240\r\n00:11:13,234 --> 00:11:14,735\r\nToujours pas de r\xE9action.\r\n\r\n241\r\n00:11:15,738 --> 00:11:17,371\r\nMontons d'un cran.\r\n\r\n242\r\n00:11:17,373 --> 00:11:20,090\r\nImage n\xB03 : crocodile avec\r\nla gueule pleine de singes.\r\n\r\n243\r\n00:11:24,078 --> 00:11:27,131\r\nOk, on est sur la bonne voie.\r\n\r\n244\r\n00:11:27,133 --> 00:11:29,066\r\nDr. Fowler ?\r\n\r\n245\r\n00:11:29,068 --> 00:11:31,135\r\nQue veux-tu Sheldon ?\r\n\r\n246\r\n00:11:31,137 --> 00:11:33,220\r\nJ'ai fini de travailler donc...\r\n\r\n247\r\n00:11:34,423 --> 00:11:36,357\r\nD\xE9sol\xE9e.\r\n\r\n248\r\n00:11:39,094 --> 00:11:40,527\r\nMieux ?\r\n\r\n249\r\n00:11:40,529 --> 00:11:41,695\r\nBaguettes.\r\n\r\n250\r\n00:11:41,697 --> 00:11:43,897\r\nOui j'aime les baguettes.\r\n\r\n251\r\n00:11:43,899 --> 00:11:46,099\r\nQue fais-tu au juste ?\r\n\r\n252\r\n00:11:46,101 --> 00:11:48,535\r\nD\xE9terminer la base des niveaux de \r\npeurs chez les singes capucins\r\n\r\n253\r\n00:11:48,537 --> 00:11:50,871\r\nen mesurant leurs r\xE9ponses\r\naux stimuli visuels.\r\n\r\n254\r\n00:11:50,873 --> 00:11:52,339\r\nAlors, tr\xEAve de plaisanterie.\r\n\r\n255\r\n00:11:54,909 --> 00:11:57,578\r\nComme je le disais, j'ai fini de\r\ntravailler et pas L\xE9onard.\r\n\r\n256\r\n00:11:57,580 --> 00:12:00,214\r\nBonne nouvelle, tu me ram\xE8nes \r\n\xE0 la maison.\r\n\r\n257\r\n00:12:00,216 --> 00:12:01,248\r\nAbats tes cartes finement,\r\n\r\n258\r\n00:12:01,250 --> 00:12:02,750\r\nje te laisserai me conduire\r\n\r\n259\r\n00:12:02,752 --> 00:12:05,836\r\nau-del\xE0 du terrain\r\no\xF9 les bus se garent la nuit.\r\n\r\n260\r\n00:12:05,838 --> 00:12:07,638\r\nJe ne peux pas partir maintenant.\r\n\r\n261\r\n00:12:07,640 --> 00:12:08,756\r\nJe suis tr\xE8s occup\xE9e.\r\n\r\n262\r\n00:12:08,758 --> 00:12:10,557\r\nDe plus, pourquoi voudrais-je \r\nte rendre service\r\n\r\n263\r\n00:12:10,559 --> 00:12:12,576\r\napr\xE8s la fa\xE7on dont tu m'as trait\xE9e\r\n\xE0 la caf\xE9t\xE9ria ?\r\n\r\n264\r\n00:12:12,578 --> 00:12:15,128\r\nImage n\xB04 : boa constrictor.\r\n\r\n265\r\n00:12:18,967 --> 00:12:21,935\r\nDe quoi tu parles ?\r\n\r\n266\r\n00:12:21,937 --> 00:12:23,487\r\nMon comportement \xE0 la caf\xE9t\xE9ria\r\n\r\n267\r\n00:12:23,489 --> 00:12:25,305\r\n\xE9tait parfait.\r\n\r\n268\r\n00:12:25,307 --> 00:12:27,491\r\nPeut-\xEAtre que ton ami\r\nGunderson a besoin\r\n\r\n269\r\n00:12:27,493 --> 00:12:29,443\r\nd'aller chez Ikea\r\net d'assembler\r\n\r\n270\r\n00:12:29,445 --> 00:12:32,379\r\nun sens de l'humour.\r\n\r\n271\r\n00:12:32,381 --> 00:12:34,364\r\nTu m'as embarrass\xE9e\r\ndevant mes coll\xE8gues\r\n\r\n272\r\n00:12:34,366 --> 00:12:35,982\r\npour mon premier jour.\r\n\r\n273\r\n00:12:36,684 --> 00:12:37,785\r\nImage n\xB05 :\r\n\r\n274\r\n00:12:37,787 --> 00:12:39,186\r\nchaton dans une tasse de th\xE9.\r\n\r\n275\r\n00:12:44,959 --> 00:12:47,528\r\nT'embarrasser ?\r\nTu sais quoi ?\r\n\r\n276\r\n00:12:47,530 --> 00:12:50,431\r\nJe n'ai pas le temps pour \xE7a. \r\nTrouve un autre moyen de rentrer.\r\n\r\n277\r\n00:12:50,433 --> 00:12:53,450\r\nJe commence \xE0 comprendre pourquoi\r\ntu es f\xE2ch\xE9e apr\xE8s moi.\r\n\r\n278\r\n00:12:53,452 --> 00:12:55,001\r\nVraiment ?\r\nQu'est-ce qui t'a mis sur la voie ?\r\n\r\n279\r\n00:12:55,003 --> 00:12:56,053\r\nDeux choses, en fait.\r\n\r\n280\r\n00:12:56,055 --> 00:12:57,170\r\nLe ton de ta voix,\r\nton langage corporel...\r\n\r\n281\r\n00:12:57,172 --> 00:12:58,806\r\n- Dehors.\r\n- Maintenant, \xE7a.\r\n\r\n282\r\n00:13:00,675 --> 00:13:03,310\r\nImage n\xB06 : femme\r\ndonnant naissance.\r\n\r\n283\r\n00:13:12,570 --> 00:13:14,187\r\nIl est 21 heures.\r\nO\xF9 \xE9tais-tu ?\r\n\r\n284\r\n00:13:14,189 --> 00:13:17,307\r\nJ'ai du prendre le bus\r\npour rentrer.\r\n\r\n285\r\n00:13:17,309 --> 00:13:20,844\r\nJe me suis endormi \r\net j'ai rat\xE9 mon arr\xEAt.\r\n\r\n286\r\n00:13:22,648 --> 00:13:26,633\r\nTu savais que Los Angeles avait\r\nun petit Sri Lanka ?\r\n\r\n287\r\n00:13:26,635 --> 00:13:28,986\r\nJe ne savais pas.\r\n\r\n288\r\n00:13:28,988 --> 00:13:31,004\r\nMaintenant... oui.\r\n\r\n289\r\n00:13:31,006 --> 00:13:33,707\r\nIls sont adorables.\r\n\r\n290\r\n00:13:33,709 --> 00:13:37,377\r\nM\xEAme si c'est terrifiant de se r\xE9veiller\r\nen face d'eux.\r\n\r\n291\r\n00:13:38,379 --> 00:13:39,646\r\nSi tu as faim, j'ai ramen\xE9\r\n\r\n292\r\n00:13:39,648 --> 00:13:41,632\r\ndu mouton et du lait de coco.\r\n\r\n293\r\n00:13:41,634 --> 00:13:43,617\r\nPourquoi tu as pris \xE7a ?\r\nTu d\xE9testes l'agneau.\r\n\r\n294\r\n00:13:43,619 --> 00:13:45,686\r\nJe demandais mon chemin.\r\n\r\n295\r\n00:13:45,688 --> 00:13:49,206\r\nApparemment, il y a eu des \r\nprobl\xE8mes de communications.\r\n\r\n296\r\n00:13:49,208 --> 00:13:52,326\r\nJe pensais qu'Amy te ram\xE8nerait\r\n\xE0 la maison.\r\n\r\n297\r\n00:13:52,328 --> 00:13:53,610\r\nOui, je le pensais aussi,\r\n\r\n298\r\n00:13:53,612 --> 00:13:55,779\r\nmais elle agit tr\xE8s \xE9trangement.\r\n\r\n299\r\n00:13:55,781 --> 00:13:58,782\r\nJ'en discutais avec un Sri lankais \r\ndans le bus,\r\n\r\n300\r\n00:13:58,784 --> 00:14:01,869\r\net il a suppos\xE9 qu'un tigre\r\npouvait\r\n\r\n301\r\n00:14:01,871 --> 00:14:04,054\r\nse cacher dans son ombre.\r\n\r\n302\r\n00:14:05,907 --> 00:14:08,342\r\nBien qu'il ait peut-\xEAtre \r\nessay\xE9 de m'attirer\r\n\r\n303\r\n00:14:08,344 --> 00:14:11,345\r\nchez son beau-fr\xE8re \r\nqui est m\xE9decin-sorcier.\r\n\r\n304\r\n00:14:14,265 --> 00:14:16,834\r\nQue s'est-il pass\xE9\r\nentre toi et Amy ?\r\n\r\n305\r\n00:14:16,836 --> 00:14:20,571\r\nTu peux croire qu'elle dise\r\nque je l'ai embarrass\xE9e ?\r\n\r\n306\r\n00:14:22,658 --> 00:14:25,442\r\nMais tu n'as m\xEAme pas \r\nentendu les d\xE9tails.\r\n\r\n307\r\n00:14:29,247 --> 00:14:31,865\r\nJe te connais depuis longtemps,\r\n\r\n308\r\n00:14:31,867 --> 00:14:33,283\r\net je vais te dire ceci\r\n\r\n309\r\n00:14:33,285 --> 00:14:37,154\r\navec tout l'amour que \r\nje puisse rassembler.\r\n\r\n310\r\n00:14:37,156 --> 00:14:38,155\r\nAmy a raison.\r\n\r\n311\r\n00:14:38,157 --> 00:14:39,606\r\nTu as tort.\r\n\r\n312\r\n00:14:40,458 --> 00:14:41,658\r\nMais tu ne sais m\xEAme pas...\r\n\r\n313\r\n00:14:41,660 --> 00:14:43,076\r\nPas d'importance.\r\n\r\n314\r\n00:14:43,078 --> 00:14:45,696\r\n- Mais, pour ma d\xE9fense...\r\n- Pas d'importance.\r\n\r\n315\r\n00:14:45,698 --> 00:14:47,931\r\nTu n'\xE9coutes m\xEAme pas \r\nma version de l'histoire.\r\n\r\n316\r\n00:14:47,933 --> 00:14:50,267\r\nQuelle est ta version ?\r\n\r\n317\r\n00:14:52,287 --> 00:14:54,788\r\nNon, je suis pour Amy\r\nsur ce coup-l\xE0.\r\n\r\n318\r\n00:15:00,629 --> 00:15:01,678\r\nLes crevettes \xE9taient \xE9pic\xE9es.\r\n\r\n319\r\n00:15:01,680 --> 00:15:03,113\r\nTu veux un Spasfon ?\r\n\r\n320\r\n00:15:03,115 --> 00:15:04,431\r\nTu as celui au parfum \r\nde fruit tropical ?\r\n\r\n321\r\n00:15:04,433 --> 00:15:06,950\r\nNon si je prends ceux-l\xE0, \r\nje les mange tous comme des bonbons.\r\n\r\n322\r\n00:15:06,952 --> 00:15:08,385\r\nM'en parle pas.\r\n\r\n323\r\n00:15:08,387 --> 00:15:11,104\r\nUne fois, je le jure\r\nj'ai fais caca un baton de craie.\r\n\r\n324\r\n00:15:13,141 --> 00:15:15,359\r\nJ'y vais.\r\nMerci.\r\n\r\n325\r\n00:15:19,531 --> 00:15:21,698\r\nJ'ai peut-\xEAtre exag\xE9r\xE9.\r\n\r\n326\r\n00:15:21,700 --> 00:15:25,619\r\nJe n'ai pas tr\xE8s bien \r\nr\xE9agi non plus.\r\n\r\n327\r\n00:15:25,621 --> 00:15:28,038\r\nParfois j'ai l'impression\r\nque tu pr\xE9f\xE8res \xEAtre\r\n\r\n328\r\n00:15:28,040 --> 00:15:30,090\r\navec tes amis plut\xF4t\r\nqu'avec moi.\r\n\r\n329\r\n00:15:30,092 --> 00:15:31,909\r\nC'est pas vrai.\r\nVraiment ?\r\n\r\n330\r\n00:15:31,911 --> 00:15:33,594\r\nTu passes toute la journ\xE9e \r\nau travail,\r\n\r\n331\r\n00:15:33,596 --> 00:15:35,712\r\net tu passes tes nuits\r\n\xE0 jouer \xE0 des jeux,\r\n\r\n332\r\n00:15:35,714 --> 00:15:37,230\r\naller au magasin de BD.\r\n\r\n333\r\n00:15:37,232 --> 00:15:39,850\r\nLa semaine derni\xE8re, vous \xEAtes all\xE9s\r\nvous faire masser deux fois.\r\n\r\n334\r\n00:15:42,487 --> 00:15:45,055\r\nDonc quand tu as dit que\r\ntu ne voudrais pas passer\r\n\r\n335\r\n00:15:45,057 --> 00:15:48,025\r\ntant de temps avec moi, \r\n\xE7a m'a vraiment bless\xE9e.\r\n\r\n336\r\n00:15:49,645 --> 00:15:50,978\r\nOui je comprends.\r\n\r\n337\r\n00:15:50,980 --> 00:15:52,112\r\nJe suis vraiment d\xE9sol\xE9.\r\n\r\n338\r\n00:15:52,114 --> 00:15:54,865\r\n\xC0 partir de demain,\r\nje tourne une nouvelle page.\r\n\r\n339\r\n00:15:54,867 --> 00:15:57,985\r\nPasser du temps avec toi \r\nsera ma priorit\xE9.\r\n\r\n340\r\n00:15:59,989 --> 00:16:01,688\r\nPourquoi demain ?\r\n\r\n341\r\n00:16:03,190 --> 00:16:05,509\r\nOn est \xE0 presque terminer\r\n\r\n342\r\n00:16:05,511 --> 00:16:07,377\r\nle nouveau jeu Batman.\r\n\r\n343\r\n00:16:08,513 --> 00:16:11,665\r\nIl est g\xE9nial.\r\n\r\n344\r\n00:16:13,968 --> 00:16:16,003\r\nTu devrais probablement\r\nlui courir apr\xE8s.\r\n\r\n345\r\n00:16:16,005 --> 00:16:17,754\r\nEst-ce que je dois \r\nte courir apr\xE8s ?\r\n\r\n346\r\n00:16:21,592 --> 00:16:24,094\r\nMerci de m'avoir \r\nattir\xE9 des ennuis.\r\n\r\n347\r\n00:16:34,722 --> 00:16:37,324\r\nQu'est-ce que tu fais \r\nici \xE0 cette heure l\xE0 ?\r\n\r\n348\r\n00:16:37,326 --> 00:16:39,192\r\nJe ne pouvais par dormir \r\nparce que je r\xE9fl\xE9chissais\r\n\r\n349\r\n00:16:39,194 --> 00:16:41,445\r\n\xE0 ce qui nous \xE9tait arriv\xE9 plus t\xF4t.\r\n\r\n350\r\n00:16:42,246 --> 00:16:45,615\r\nAussi, j'ai fait une sieste\r\nd'enfer dans le bus.\r\n\r\n351\r\n00:16:46,751 --> 00:16:47,901\r\nEn parlant de \xE7a,\r\n\r\n352\r\n00:16:47,903 --> 00:16:50,787\r\ntu veux un peu de mouton\r\net de lait de coco ?\r\n\r\n353\r\n00:16:51,857 --> 00:16:54,624\r\nJe ne peux pas me\r\nd\xE9barrasser de \xE7a.\r\n\r\n354\r\n00:16:54,626 --> 00:16:57,077\r\nQu'est-ce que tu veux ?\r\n\r\n355\r\n00:16:57,079 --> 00:17:00,647\r\nCe n'est pas facile \xE0 dire.\r\n\r\n356\r\n00:17:01,766 --> 00:17:04,751\r\nToutes les relations sont difficiles,\r\n\r\n357\r\n00:17:04,753 --> 00:17:07,688\r\net encore plus quand tu es\r\n\r\n358\r\n00:17:07,690 --> 00:17:09,523\r\navec quelqu'un qui peine\r\n\r\n359\r\n00:17:09,525 --> 00:17:11,858\r\navec les interactions sociales\r\nde tous les jours.\r\n\r\n360\r\n00:17:11,860 --> 00:17:13,527\r\nEt franchement...\r\n\r\n361\r\n00:17:13,529 --> 00:17:15,145\r\nqui peut reprocher \xE0 des gens\r\n\r\n362\r\n00:17:15,147 --> 00:17:17,664\r\nd'\xEAtre un peu bizarres.\r\n\r\n363\r\n00:17:19,651 --> 00:17:21,651\r\nTu n'es pas bizarre.\r\n\r\n364\r\n00:17:21,653 --> 00:17:24,271\r\nJe ne parlais pas de moi.\r\n\r\n365\r\n00:17:26,307 --> 00:17:28,441\r\nJe veux dire, honn\xEAtement,\r\nil n'y a rien\r\n\r\n366\r\n00:17:28,443 --> 00:17:30,077\r\nsur ce qui te lancerai.\r\n\r\n367\r\n00:17:30,079 --> 00:17:32,295\r\nTu sais, me pr\xE9senter comme\r\nton petit ami.\r\n\r\n368\r\n00:17:32,297 --> 00:17:35,549\r\nTe donner l'opportunit\xE9\r\nde me ramener chez moi.\r\n\r\n369\r\n00:17:35,551 --> 00:17:37,617\r\nBriser la glace avec\r\ntes coll\xE8gues\r\n\r\n370\r\n00:17:37,619 --> 00:17:40,787\r\nen utilisant de l'humour ethnique,\r\nle plus dr\xF4le des humours.\r\n\r\n371\r\n00:17:42,557 --> 00:17:44,224\r\nO\xF9 veux-tu en venir ?\r\n\r\n372\r\n00:17:44,226 --> 00:17:46,626\r\nNous sommes un couple.\r\n\r\n373\r\n00:17:48,363 --> 00:17:50,480\r\nJe t'aime bien \r\npour ce que tu es.\r\n\r\n374\r\n00:17:50,482 --> 00:17:52,365\r\nTon excentricit\xE9 et tout.\r\n\r\n375\r\n00:17:54,102 --> 00:17:55,652\r\nJe t'aime bien, aussi.\r\n\r\n376\r\n00:17:55,654 --> 00:17:58,188\r\nJe l'esp\xE8re bien.\r\n\r\n377\r\n00:17:58,190 --> 00:18:00,323\r\nJe ne vois personne d'autre\r\nfrappant \xE0 cette porte\r\n\r\n378\r\n00:18:00,325 --> 00:18:02,826\r\ncomposer avec ton non-sense.\r\n\r\n379\r\n00:18:06,981 --> 00:18:09,583\r\nM\xEAme pas un au revoir ?\r\n\r\n380\r\n00:18:09,585 --> 00:18:11,084\r\nC'est le genre de chose\r\n\r\n381\r\n00:18:11,086 --> 00:18:13,620\r\nqui te font passer \r\npour bizarre.\r\n\r\n382\r\n00:18:13,622 --> 00:18:15,422\r\nPauvre enfant.\r\n\r\n383\r\n00:18:15,424 --> 00:18:17,507\r\nElle ne le voit juste pas.\r\n\r\n384\r\n00:18:27,608 --> 00:18:28,691\r\nJe ne m'excuse pas \r\naupr\xE8s d'Howard.\r\n\r\n385\r\n00:18:28,693 --> 00:18:30,342\r\nIl peut venir\r\nme supplier \xE0 genoux.\r\n\r\n386\r\n00:18:30,344 --> 00:18:31,694\r\nSheldon, \xE9galement.\r\n\r\n387\r\n00:18:31,696 --> 00:18:34,196\r\nSi je le vois au boulot,\r\nje vais l'ignorer.\r\n\r\n388\r\n00:18:34,198 --> 00:18:36,032\r\nTr\xE8s bien, ne t'inqui\xE8te pas.\r\nJ'ai parl\xE9 \xE0 Leonard.\r\n\r\n389\r\n00:18:36,034 --> 00:18:38,801\r\nIl va s'asseoir avec les mecs\r\net les remettre \xE0 leur place.\r\n\r\n390\r\n00:18:38,803 --> 00:18:40,820\r\nLe laser est pr\xEAt.\r\n\r\n391\r\n00:18:40,896 --> 00:18:41,928\r\nFeu !\r\n\r\n392\r\n00:18:44,274 --> 00:18:49,274\r\n-= Synchro par elderman =-\r\n-= www.addic7ed.com =-\r\n\r\n" headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f412dca5be4-LIS Cache-Control: - public, max-age=691200 Connection: - keep-alive Content-Type: - text/srt Date: - Wed, 29 May 2024 23:47:53 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=lhEhh1PqIW%2BuLN5ibqbp%2B%2FNkCG1MDs2FCV1l54xOklMy8C59fXWm5ux%2FOCJlbP6dRL78CLqT6wmCD3nHMgUet85zqXsYlZrI9zk7UZ9VfrbEuxqwofkCV91koT3ed8%2FD%2F5B4ew%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 content-disposition: - attachment; filename=The.Big.Bang.Theory.S07E05.DIMENSION.fr.srt; filename*=UTF-8''The.Big.Bang.Theory.S07E05.DIMENSION.fr.srt etag: - W/"90fe1369-fa0c-4154-bd04-d3d332dec587-637949927070602570" last-modified: - Mon, 01 Aug 2022 23:18:27 GMT vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_download_with_bom.yaml0000644000175100001770000012544614636376416025727 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Grimsburg response: body: string: '{"shows":[{"id":"018b4083-1600-48b5-a5f1-28f7d152d265","name":"Grimsburg","nbSeasons":1,"seasons":[1],"tvDbId":420069,"tmdbId":202224,"slug":"grimsburg"}]}' headers: Age: - '2335' CF-Cache-Status: - HIT CF-RAY: - 892d08b5ff00499a-LHR Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 12 Jun 2024 21:46:30 GMT Last-Modified: - Wed, 12 Jun 2024 21:07:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=LV%2BtCZEyGpPnJr654rVQiQ1zIsoUxoOoCyEJxv5g8IZjs1D9o%2BLjatJfRjyevQZnvhAHjdyiuJ9WDDzxAMc%2BrnNgZOoMEoeeFEkE2Ib%2BlKbwSRGMmHgAbd7vwGMSz7k3rSDp8w%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/018b4083-1600-48b5-a5f1-28f7d152d265/1/1/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"018ceac7-5d4f-4f26-8d36-3efc4b948281","version":"WEB-EDITH","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/018ceac7-5d4f-4f26-8d36-3efc4b948281","language":"English","discovered":"2024-01-08T20:33:03.311777Z","downloadCount":47},{"subtitleId":"018ceac7-5d4f-452b-b36f-fded539e7c6d","version":"WEB-EDITH","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/018ceac7-5d4f-452b-b36f-fded539e7c6d","language":"English","discovered":"2024-01-08T20:33:03.311796Z","downloadCount":20}],"episode":{"season":1,"number":1,"title":"Pilot","show":"Grimsburg","discovered":"2024-01-08T20:33:03.311746Z"}}' headers: Age: - '2335' CF-Cache-Status: - HIT CF-RAY: - 892d08b6cc0c3d88-LHR Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 12 Jun 2024 21:46:30 GMT Last-Modified: - Wed, 12 Jun 2024 21:07:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=YA9uuRESMjLVbim2rX%2FjEmxH2j36za7xR72mHv0one0%2BKRYG4qGHX24ltlyC3y7DKPTCcYpx5q%2BBgd%2BZ2EOl9bdgpM3ssm0mJc1eDc1B%2F0MMSN7R7zn82%2FJea8wLAWG%2BlJoq8w%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/download/018ceac7-5d4f-4f26-8d36-3efc4b948281 response: body: string: "\uFEFF1\r\n00:00:02,790 --> 00:00:06,189\r\n\u266A Don't go \u266A\r\n\r\n2\r\n00:00:06,190 --> 00:00:08,070\r\nYou're a really good kisser.\r\n\r\n3\r\n00:00:08,100 --> 00:00:10,240\r\nMy dad was so wrong about you.\r\n\r\n4\r\n00:00:10,340 --> 00:00:12,809\r\nWait, your dad thought\r\nI'd be a bad kisser?\r\n\r\n5\r\n00:00:12,810 --> 00:00:15,249\r\n- Marcus.\r\n- Don't Marcus me, Abigail.\r\n\r\n6\r\n00:00:15,250 --> 00:00:16,513\r\nKissing's supes important\r\nto me.\r\n\r\n7\r\n00:00:16,514 --> 00:00:18,184\r\nI've been practicing\r\nall day on my mom's\r\n\r\n8\r\n00:00:18,250 --> 00:00:19,519\r\n- favorite throw pillow!\r\n- What is that?\r\n\r\n9\r\n00:00:19,520 --> 00:00:21,220\r\nYou know, the smaller\r\npillows on a couch.\r\n\r\n10\r\n00:00:21,260 --> 00:00:23,830\r\n- More decorative than practical.\r\n- Oh, my God, no!\r\n\r\n11\r\n00:00:23,960 --> 00:00:26,870\r\nYes, and now the pillow's\r\nall wet and my mom is pissed.\r\n\r\n12\r\n00:00:26,900 --> 00:00:28,009\r\nDo you even like me?\r\n\r\n13\r\n00:00:28,010 --> 00:00:29,510\r\n- No!\r\n- I knew it.\r\n\r\n14\r\n00:00:29,540 --> 00:00:32,164\r\nWhich is why I've also been\r\npracticing on your best friend.\r\n\r\n15\r\n00:00:32,165 --> 00:00:34,750\r\nSorry, Abigail, but I think\r\nit's time for me to move on...\r\n\r\n16\r\n00:00:37,520 --> 00:00:38,189\r\nDot org.\r\n\r\n17\r\n00:00:38,190 --> 00:00:40,969\r\nI knew you'd regret it.\r\n\r\n18\r\n00:00:40,970 --> 00:00:42,399\r\nNo, I was screaming because\r\n\r\n19\r\n00:00:42,400 --> 00:00:43,783\r\nsomeone just chopped\r\nyour head off.\r\n\r\n20\r\n00:00:43,784 --> 00:00:46,839\r\nOh, so the whole time\r\nyou were warning me.\r\n\r\n21\r\n00:00:46,840 --> 00:00:49,150\r\nThat is so us.\r\n\r\n22\r\n00:00:49,280 --> 00:00:53,000\r\n- Kiss me.\r\n- No!\r\n\r\n23\r\n00:01:13,420 --> 00:01:15,120\r\nHuh?\r\nYou want some more?\r\n\r\n24\r\n00:01:16,390 --> 00:01:18,860\r\nNo, you are!\r\nGet out of here!\r\n\r\n25\r\n00:01:18,960 --> 00:01:20,960\r\nIf this is about the screaming,\r\nsome whack job\r\n\r\n26\r\n00:01:21,070 --> 00:01:24,399\r\nstuck his head in my window\r\nand kept calling me a failure.\r\n\r\n27\r\n00:01:24,400 --> 00:01:29,410\r\n- But I took care of him.\r\n- Marvin Flute.\r\n\r\n28\r\n00:01:29,450 --> 00:01:32,149\r\nI should've known you'd be\r\nFriday drunk on a Tuesday.\r\n\r\n29\r\n00:01:32,150 --> 00:01:34,360\r\nLieutenant Kang.\r\nYou're like my college\r\n\r\n30\r\n00:01:34,361 --> 00:01:35,159\r\nalumni donation department.\r\n\r\n31\r\n00:01:35,160 --> 00:01:36,700\r\nYou can somehow\r\nfind me anywhere.\r\n\r\n32\r\n00:01:36,800 --> 00:01:39,080\r\nWe got a case only you\r\ncan solve, and an opening\r\n\r\n33\r\n00:01:39,081 --> 00:01:41,360\r\non the cornhole team for\r\nthis weekend's Cornament.\r\n\r\n34\r\n00:01:41,384 --> 00:01:43,679\r\nDid you forget you took\r\nmy badge, Lieutenant?\r\n\r\n35\r\n00:01:43,680 --> 00:01:46,080\r\nNow if you'll excuse me, I got\r\nto get back to the only things\r\n\r\n36\r\n00:01:46,104 --> 00:01:48,050\r\nI'm good at anymore...\r\ndrinking myself to death,\r\n\r\n37\r\n00:01:48,150 --> 00:01:49,449\r\nand painstakingly crafting\r\n\r\n38\r\n00:01:49,450 --> 00:01:51,560\r\nMid-Century modern\r\ndollhouse furniture.\r\n\r\n39\r\n00:01:51,590 --> 00:01:54,430\r\nOh, little tiny chair\r\nin your little perfect world.\r\n\r\n40\r\n00:01:54,460 --> 00:01:57,770\r\nOh, what I'd give to spin\r\naround on you and go whee!\r\n\r\n41\r\n00:01:57,910 --> 00:02:00,179\r\nBut I'm too big.\r\nI would crush you.\r\n\r\n42\r\n00:02:00,180 --> 00:02:01,650\r\nAnd that would crush me.\r\n\r\n43\r\n00:02:01,750 --> 00:02:04,080\r\nWell, then, I guess you\r\ndon't want this back.\r\n\r\n44\r\n00:02:04,120 --> 00:02:06,190\r\nBadgey!\r\nI missed ya, girl.\r\n\r\n45\r\n00:02:06,225 --> 00:02:08,360\r\nHave you seen Cuffy?\r\nWhat about Crime Tapey?\r\n\r\n46\r\n00:02:08,490 --> 00:02:09,793\r\nNot until you crack this week's\r\n\r\n47\r\n00:02:09,794 --> 00:02:13,000\r\n- bizarre, unsolvable case.\r\n- Dare I go back to Grimsburg,\r\n\r\n48\r\n00:02:13,100 --> 00:02:16,480\r\nthe town I left behind like\r\na perfectly-timed elevator fart?\r\n\r\n49\r\n00:02:16,510 --> 00:02:18,479\r\nA place permanently cursed\r\na century ago\r\n\r\n50\r\n00:02:18,480 --> 00:02:20,620\r\nby a virgin sacrifice gone sideways.\r\n\r\n51\r\n00:02:20,720 --> 00:02:23,390\r\nA city so full of vice,\r\nthey named it twice,\r\n\r\n52\r\n00:02:23,490 --> 00:02:24,753\r\nthen realized\r\nthat sounded dumb,\r\n\r\n53\r\n00:02:24,754 --> 00:02:26,414\r\nso they went back to\r\njust the one word.\r\n\r\n54\r\n00:02:28,500 --> 00:02:31,270\r\nGrim... wait, hold on.\r\n\r\n55\r\n00:02:31,370 --> 00:02:35,310\r\nMm.\r\nWow, big bite.\r\n\r\n56\r\n00:02:35,350 --> 00:02:37,380\r\nAh.\r\n\r\n57\r\n00:02:37,480 --> 00:02:39,990\r\nGrimsburg.\r\n\r\n58\r\n00:02:51,380 --> 00:02:55,649\r\n- You got a cough, Petunia?\r\n- Worse, I'm alive,\r\n\r\n59\r\n00:02:55,650 --> 00:02:57,720\r\nand I have a single hair\r\nin the back of my throat.\r\n\r\n60\r\n00:02:57,760 --> 00:02:59,390\r\nIt's been bugging me\r\nfor like three days.\r\n\r\n61\r\n00:02:59,430 --> 00:03:01,460\r\nIt's literally the worst.\r\n\r\n62\r\n00:03:04,300 --> 00:03:06,779\r\nThere he is!\r\nExcited to meet ya, partner.\r\n\r\n63\r\n00:03:06,780 --> 00:03:10,450\r\n- I'm not partnering up with a robot.\r\n- I'm technically a cyborg.\r\n\r\n64\r\n00:03:10,480 --> 00:03:13,260\r\nI lost exactly 74.2% of my body\r\n\r\n65\r\n00:03:13,360 --> 00:03:14,810\r\nin a freak\r\nmerry-go-round smash-up,\r\n\r\n66\r\n00:03:14,890 --> 00:03:16,630\r\nbut the good folks\r\nat Grimsburg Cybernetics\r\n\r\n67\r\n00:03:16,760 --> 00:03:22,209\r\n- rebuilt me to be faster and stronger!\r\n- What's that?\r\n\r\n68\r\n00:03:23,740 --> 00:03:26,110\r\nThey had to move some stuff\r\naround after the accident.\r\n\r\n69\r\n00:03:26,210 --> 00:03:28,869\r\nIf we're going to be partners,\r\nI only got one rule...\r\n\r\n70\r\n00:03:28,870 --> 00:03:31,489\r\nI don't play by the rules.\r\nEven that one.\r\n\r\n71\r\n00:03:31,490 --> 00:03:34,230\r\nSo I play by the rules, my rules.\r\n\r\n72\r\n00:03:34,330 --> 00:03:35,769\r\nAnd I've only got one rule...\r\n\r\n73\r\n00:03:35,770 --> 00:03:38,870\r\nI don't play by...\r\nby the rules.\r\n\r\n74\r\n00:03:41,580 --> 00:03:45,450\r\nThere's just never a right time\r\nfor a double teen homicide.\r\n\r\n75\r\n00:03:46,690 --> 00:03:50,529\r\nLooks like the boy didn't\r\nmake it, but the girl...\r\n\r\n76\r\n00:03:50,530 --> 00:03:53,140\r\nOh...\r\nI'm not sure you're supposed\r\n\r\n77\r\n00:03:53,141 --> 00:03:54,670\r\n- to be touching the evidence...\r\n- Quiet!\r\n\r\n78\r\n00:03:54,671 --> 00:03:57,380\r\nI'm going into my crime mind.\r\n\r\n79\r\n00:03:57,410 --> 00:03:58,709\r\nCrime mind.\r\n\r\n80\r\n00:03:58,710 --> 00:04:03,390\r\nThe girl, she ran for her life.\r\n\r\n81\r\n00:04:03,490 --> 00:04:06,599\r\nYou go on.\r\n\r\n82\r\n00:04:06,600 --> 00:04:08,400\r\nJust a stitch.\r\n\r\n83\r\n00:04:08,500 --> 00:04:09,839\r\nI'll catch up, I'll catch up.\r\n\r\n84\r\n00:04:09,840 --> 00:04:11,839\r\n\u266A Hey, mama,\r\nwill you be my lover \u266A\r\n\r\n85\r\n00:04:11,840 --> 00:04:13,310\r\n\u266A 'Cause I need you in my life \u266A\r\n\r\n86\r\n00:04:13,410 --> 00:04:16,480\r\nWhoa!\r\nJumping jacks are back!\r\n\r\n87\r\n00:04:23,960 --> 00:04:26,800\r\nYou, with the great hair,\r\nwhere did he take the girl?\r\n\r\n88\r\n00:04:26,840 --> 00:04:29,170\r\nBro, you're barking up the wrong...\r\n\r\n89\r\n00:04:29,210 --> 00:04:31,140\r\nMy treenis!\r\n\r\n90\r\n00:04:39,460 --> 00:04:43,570\r\nThank God, the girl's still alive.\r\nBut the killer is taunting us.\r\n\r\n91\r\n00:04:43,700 --> 00:04:46,340\r\nAnd he's got absolutely\r\ngorgeous penmanship.\r\n\r\n92\r\n00:04:46,440 --> 00:04:48,410\r\nLook at the loops on those L's!\r\n\r\n93\r\n00:04:48,450 --> 00:04:50,450\r\n- Look!\r\n- Backhoe tracks.\r\n\r\n94\r\n00:04:50,480 --> 00:04:54,759\r\nFrom the Kubota L-39 diesel used\r\nto deliver this block of ice.\r\n\r\n95\r\n00:04:54,760 --> 00:04:57,600\r\n- We find that Kubota...\r\n- We find the killer.\r\n\r\n96\r\n00:04:57,630 --> 00:05:01,210\r\n- We find the killer...\r\n- We find the girl.\r\n\r\n97\r\n00:05:01,310 --> 00:05:04,439\r\n- We find the girl...\r\n- No, that's it.\r\n\r\n98\r\n00:05:04,440 --> 00:05:06,720\r\nWe, that... we... that's it.\r\n\r\n99\r\n00:05:07,520 --> 00:05:10,820\r\nMind if I ask you a couple of\r\nquestions for the local news?\r\n\r\n100\r\n00:05:10,860 --> 00:05:14,459\r\n- Sorry, ma'am, but this is a crime scene.\r\n- Oh, I can see that.\r\n\r\n101\r\n00:05:14,460 --> 00:05:16,900\r\nIt seems someone stole\r\nthis man's looks.\r\n\r\n102\r\n00:05:17,000 --> 00:05:18,739\r\nNice try, but the only crime here\r\n\r\n103\r\n00:05:18,740 --> 00:05:24,580\r\n- is that belt with those boots.\r\n- And the decapitation.\r\n\r\n104\r\n00:05:29,900 --> 00:05:32,939\r\nAh, I forgot what it's like\r\nwatching you tear into a carcass.\r\n\r\n105\r\n00:05:32,940 --> 00:05:34,809\r\nJust one of the many perks\r\nof having a wife\r\n\r\n106\r\n00:05:34,810 --> 00:05:36,779\r\n- who was raised by bears.\r\n- Ex-wife.\r\n\r\n107\r\n00:05:36,780 --> 00:05:38,940\r\nAnd I'm more than just a woman\r\nwho was raised by bears.\r\n\r\n108\r\n00:05:38,980 --> 00:05:41,519\r\nYou're right.\r\nThat was insensitive.\r\n\r\n109\r\n00:05:41,520 --> 00:05:45,630\r\nUm, I was raised by bears, so I\r\nthink I'm tough enough to take it.\r\n\r\n110\r\n00:05:45,660 --> 00:05:48,100\r\nSo, anything you can\r\ntell me about the case?\r\n\r\n111\r\n00:05:48,200 --> 00:05:50,900\r\nIt's an active investigation.\r\nYou know I can't.\r\n\r\n112\r\n00:05:51,040 --> 00:05:53,540\r\nJust like you can't ask\r\none question about\r\n\r\n113\r\n00:05:53,610 --> 00:05:55,409\r\nthe son you haven't seen\r\nin years.\r\n\r\n114\r\n00:05:55,410 --> 00:05:58,749\r\nI'm fairly sure he's fine.\r\nRight, pal?\r\n\r\n115\r\n00:05:58,750 --> 00:06:01,890\r\nOh, I'm great,\r\nnow that you called me pal.\r\n\r\n116\r\n00:06:02,030 --> 00:06:04,830\r\n- Pal.\r\n- Hey, hey. Don't fall for it, Stan.\r\n\r\n117\r\n00:06:04,930 --> 00:06:07,839\r\nHe's just coming back to\r\nface-fudge this family again.\r\n\r\n118\r\n00:06:07,840 --> 00:06:10,380\r\nI wouldn't say no\r\nto a little face-fudging.\r\n\r\n119\r\n00:06:10,410 --> 00:06:13,919\r\n- What do you want?\r\n- This. You and I, mixing it up,\r\n\r\n120\r\n00:06:13,920 --> 00:06:16,249\r\nthe lightly simmering tension\r\nof will we or won't we,\r\n\r\n121\r\n00:06:16,250 --> 00:06:17,820\r\nand if we do, which positions.\r\n\r\n122\r\n00:06:17,890 --> 00:06:20,360\r\nCome on, admit it.\r\nYou need me too.\r\n\r\n123\r\n00:06:20,430 --> 00:06:23,799\r\nUgh, please.\r\nI have got everything covered.\r\n\r\n124\r\n00:06:23,800 --> 00:06:25,610\r\nEven taught Stan how to catch.\r\n\r\n125\r\n00:06:25,710 --> 00:06:28,579\r\n- Ugh!\r\n- With his face. Good one, baby!\r\n\r\n126\r\n00:06:28,580 --> 00:06:30,580\r\nSee?\r\nWe don't need you at all.\r\n\r\n127\r\n00:06:30,650 --> 00:06:34,460\r\nWell, actually, this weekend is the\r\nannual Father-Son Dance.\r\n\r\n128\r\n00:06:34,490 --> 00:06:35,859\r\nAnd I'll just put on a mustache\r\n\r\n129\r\n00:06:35,860 --> 00:06:37,800\r\nand take you like I do\r\nevery year, hon.\r\n\r\n130\r\n00:06:37,830 --> 00:06:41,020\r\nNo need, because the stache\r\nis back and ready to prove he's\r\n\r\n131\r\n00:06:41,021 --> 00:06:43,809\r\n- here to stay, probably.\r\n- Fine.\r\n\r\n132\r\n00:06:43,810 --> 00:06:45,330\r\nBut you better\r\nnot make me regret this,\r\n\r\n133\r\n00:06:45,430 --> 00:06:47,590\r\neven though I know you're\r\ngoing to make me regret this.\r\n\r\n134\r\n00:06:47,614 --> 00:06:50,134\r\nLet's go get you\r\nan ill-fitting suit, Stan.\r\n\r\n135\r\n00:06:51,590 --> 00:06:53,040\r\nDon't worry boy son,\r\nwe're going to\r\n\r\n136\r\n00:06:53,054 --> 00:06:54,730\r\nduct tape this\r\nbroken family back together\r\n\r\n137\r\n00:06:54,770 --> 00:06:56,740\r\nfaster than you can say\r\nhereditary schizophrenia.\r\n\r\n138\r\n00:06:56,770 --> 00:06:58,370\r\nWhich you also\r\ndon't need to worry about,\r\n\r\n139\r\n00:06:58,394 --> 00:07:01,109\r\nunless you're still seeing\r\nyour imaginary skeleton friend.\r\n\r\n140\r\n00:07:01,110 --> 00:07:02,749\r\nThe one who made you\r\npull the fire alarm.\r\n\r\n141\r\n00:07:02,750 --> 00:07:06,519\r\nNope. Therapy's working great.\r\nBye.\r\n\r\n142\r\n00:07:09,330 --> 00:07:10,830\r\nHe bought it, Stanny!\r\n\r\n143\r\n00:07:10,860 --> 00:07:14,540\r\nNow all we got to do is make sure\r\nhe never talks to your therapist.\r\n\r\n144\r\n00:07:14,600 --> 00:07:17,145\r\n- Just like us.\r\n- Mr. Flesh, now we can\r\n\r\n145\r\n00:07:17,146 --> 00:07:20,120\r\nfinally start our plan to\r\nget my parents back together!\r\n\r\n146\r\n00:07:20,150 --> 00:07:22,250\r\nAnd it's going to work, too,\r\n\r\n147\r\n00:07:22,350 --> 00:07:25,890\r\nbecause all of my plans work,\r\naside from the dead bird one.\r\n\r\n148\r\n00:07:25,930 --> 00:07:28,800\r\nNow, let's get you\r\nready for that dance!\r\n\r\n149\r\n00:07:28,900 --> 00:07:32,210\r\nAre you familiar with\r\nthe end of \"Dirty Dancing\"?\r\n\r\n150\r\n00:07:40,560 --> 00:07:42,029\r\nGlad you're back, Flute.\r\n\r\n151\r\n00:07:42,030 --> 00:07:44,630\r\nThis place has been\r\ndead without you.\r\n\r\n152\r\n00:07:44,660 --> 00:07:47,040\r\nI'm fun.\r\n\r\n153\r\n00:07:47,070 --> 00:07:49,470\r\nHey, Wynona, are you\r\nwearing a new scent?\r\n\r\n154\r\n00:07:49,510 --> 00:07:52,410\r\n- I love it!\r\n- It's formaldehyde.\r\n\r\n155\r\n00:07:52,510 --> 00:07:54,790\r\nOoh, look who it is.\r\n\r\n156\r\n00:07:54,890 --> 00:07:57,930\r\nThe man who puts\r\nthe \"ten\" in Lieutenant.\r\n\r\n157\r\n00:07:58,060 --> 00:08:00,260\r\nYou ever put that ten\r\nanywhere else?\r\n\r\n158\r\n00:08:00,360 --> 00:08:03,769\r\nBody's still off-gassing.\r\n\r\n159\r\n00:08:03,770 --> 00:08:08,510\r\nThat note was a perfect B-flat.\r\n\r\n160\r\n00:08:08,610 --> 00:08:10,750\r\nThere must be\r\nsomething inside him.\r\n\r\n161\r\n00:08:12,490 --> 00:08:15,430\r\nI keep\r\nforgetting to check both sides.\r\n\r\n162\r\n00:08:15,530 --> 00:08:18,000\r\nWowie.\r\nA flute!\r\n\r\n163\r\n00:08:18,060 --> 00:08:20,060\r\nThe killer must be trying\r\nto make contact with you.\r\n\r\n164\r\n00:08:20,084 --> 00:08:22,270\r\nGood thing your name's not piano.\r\n\r\n165\r\n00:08:24,180 --> 00:08:27,520\r\nYeah, 'cause then he'd have\r\na piano in his butt.\r\n\r\n166\r\n00:08:27,550 --> 00:08:29,760\r\nThat'd be messed up.\r\n\r\n167\r\n00:08:29,790 --> 00:08:32,407\r\nSummers, a boy is dead.\r\n\r\n168\r\n00:08:35,780 --> 00:08:38,780\r\nKang was the one who suggested\r\nwe bring you back for this case.\r\n\r\n169\r\n00:08:38,820 --> 00:08:40,820\r\nI said we'd be\r\nbetter off deputizing\r\n\r\n170\r\n00:08:40,920 --> 00:08:44,659\r\nan alcoholic alley cat.\r\nI was wrong.\r\n\r\n171\r\n00:08:46,460 --> 00:08:50,096\r\nThe mayor needs his daughter\r\nfound before the opening\r\n\r\n172\r\n00:08:50,131 --> 00:08:53,680\r\n- of the new casino!\r\n- Which he also happens to own.\r\n\r\n173\r\n00:08:53,710 --> 00:08:55,650\r\nShut your spit maker, Stewart.\r\n\r\n174\r\n00:08:55,780 --> 00:08:57,350\r\n- Sorry, Mom.\r\n- Mom?\r\n\r\n175\r\n00:08:57,390 --> 00:09:00,123\r\nHi, I'm Stewart.\r\nI just passed the detective exam,\r\n\r\n176\r\n00:09:00,124 --> 00:09:02,529\r\nbut apparently\r\nI'm much more valuable\r\n\r\n177\r\n00:09:02,530 --> 00:09:05,280\r\n- taking notes as her secretary.\r\n- Never knew you had a kid, Chief.\r\n\r\n178\r\n00:09:05,340 --> 00:09:07,209\r\n- Anything else I don't know?\r\n- Let's see.\r\n\r\n179\r\n00:09:07,210 --> 00:09:09,840\r\nI'm a climate change-denying\r\nFlat-Earther\r\n\r\n180\r\n00:09:09,880 --> 00:09:13,850\r\nwhose 23andMe confirmed\r\nI'm 12% Sasquatch.\r\n\r\n181\r\n00:09:13,920 --> 00:09:15,259\r\nNow that we're caught up on me,\r\n\r\n182\r\n00:09:15,260 --> 00:09:18,021\r\nif you don't find Abigail\r\nby Friday, I'm taking\r\n\r\n183\r\n00:09:18,022 --> 00:09:20,783\r\nthat loaner badge back and\r\nthrowing you off the edge\r\n\r\n184\r\n00:09:20,784 --> 00:09:25,264\r\nof this appropriately-warm\r\nfrisbee we call a planet!\r\n\r\n185\r\n00:09:28,280 --> 00:09:29,850\r\n30 years ago at this school,\r\n\r\n186\r\n00:09:29,990 --> 00:09:31,710\r\nI had the most brilliant\r\nteacher of my life.\r\n\r\n187\r\n00:09:31,734 --> 00:09:34,330\r\nThen 10 years ago, I sent him\r\nto prison for the rest of his.\r\n\r\n188\r\n00:09:34,360 --> 00:09:36,870\r\nFaced with a teacher shortage,\r\nthe city ordered him\r\n\r\n189\r\n00:09:36,970 --> 00:09:39,139\r\nto finish serving out\r\nhis sentence working here,\r\n\r\n190\r\n00:09:39,140 --> 00:09:41,240\r\nwhich is how the man who was\r\nonce my greatest mentor\r\n\r\n191\r\n00:09:41,340 --> 00:09:44,750\r\nhas now become one of\r\nmy biggest nemesises,\r\n\r\n192\r\n00:09:44,850 --> 00:09:47,989\r\nnemeses, nemesisis, nemesi.\r\n\r\n193\r\n00:09:47,990 --> 00:09:50,330\r\nUgh.\r\nJust remind me to ask him.\r\n\r\n194\r\n00:09:50,360 --> 00:09:52,899\r\nHe'll know.\r\n\r\n195\r\n00:09:52,900 --> 00:09:54,869\r\nDr. Rufis Pentos.\r\n\r\n196\r\n00:09:54,870 --> 00:09:57,269\r\nHow's the ankle bracelet?\r\nItchy, I hope.\r\n\r\n197\r\n00:09:57,270 --> 00:09:59,580\r\nOh, Marvin,\r\nhow you've changed.\r\n\r\n198\r\n00:09:59,680 --> 00:10:02,849\r\nWhat misfortune has twisted you\r\ninto this pot-bellied shadow\r\n\r\n199\r\n00:10:02,850 --> 00:10:05,160\r\nthat cowers before me now?\r\n\r\n200\r\n00:10:05,260 --> 00:10:07,760\r\nThe unrelenting cruelty\r\nof human existence.\r\n\r\n201\r\n00:10:07,860 --> 00:10:10,130\r\nAnd a brief addiction to Roblox.\r\n\r\n202\r\n00:10:10,170 --> 00:10:13,040\r\nSo have you returned to\r\nplay our little game\r\n\r\n203\r\n00:10:13,140 --> 00:10:16,880\r\nof cat and lesser animal\r\nthan a cat?\r\n\r\n204\r\n00:10:16,910 --> 00:10:18,750\r\nI'm not here to play, Pentos,\r\n\r\n205\r\n00:10:18,780 --> 00:10:22,159\r\n- so don't try to get in my head.\r\n- I wouldn't dream of it.\r\n\r\n206\r\n00:10:22,160 --> 00:10:25,530\r\nInteresting jacket\r\nyou're wearing.\r\n\r\n207\r\n00:10:25,630 --> 00:10:26,899\r\nWhat?\r\nWhat do you mean?\r\n\r\n208\r\n00:10:26,900 --> 00:10:28,470\r\nThe cut's not flattering\r\nor the color?\r\n\r\n209\r\n00:10:28,500 --> 00:10:31,510\r\n- Get out of my head!\r\n- But there's so much room.\r\n\r\n210\r\n00:10:32,680 --> 00:10:34,049\r\nUm, Dr. Pentos.\r\n\r\n211\r\n00:10:34,050 --> 00:10:35,279\r\n- Hi!\r\n- My wife and I...\r\n\r\n212\r\n00:10:35,280 --> 00:10:36,719\r\nOh, of course, my office hours...\r\n\r\n213\r\n00:10:36,720 --> 00:10:38,520\r\nfeel you're forcing\r\nour introverted Franny...\r\n\r\n214\r\n00:10:38,544 --> 00:10:39,489\r\n- OK.\r\n- To read aloud...\r\n\r\n215\r\n00:10:39,490 --> 00:10:43,300\r\n- Perhaps we can find... is vocal discrimination.\r\n- OK, thank you.\r\n\r\n216\r\n00:10:43,330 --> 00:10:46,000\r\nNow,\r\nwhat deliciously dark crime\r\n\r\n217\r\n00:10:46,040 --> 00:10:48,410\r\ndo you seek help with\r\nthis time?\r\n\r\n218\r\n00:10:48,440 --> 00:10:51,230\r\nMurder?\r\nKidnapping?\r\n\r\n219\r\n00:10:51,250 --> 00:10:54,450\r\nThe missing bagels from\r\nthe faculty break room?\r\n\r\n220\r\n00:10:54,520 --> 00:10:58,100\r\n- Twasn't I.\r\n- Recognize this?\r\n\r\n221\r\n00:10:58,200 --> 00:11:01,100\r\nWhere ever did you find her?\r\n\r\n222\r\n00:11:01,200 --> 00:11:03,410\r\nNo, no, no,\r\ndon't put that in your... oh.\r\n\r\n223\r\n00:11:03,510 --> 00:11:04,980\r\nInteresting.\r\n\r\n224\r\n00:11:05,080 --> 00:11:08,120\r\nIts keys have been altered\r\nto only play B-flat.\r\n\r\n225\r\n00:11:08,220 --> 00:11:10,950\r\nSome ruffians stole it from\r\nmy classroom two days ago,\r\n\r\n226\r\n00:11:11,020 --> 00:11:16,360\r\nbut I simply have\r\nno idea how he got in.\r\n\r\n227\r\n00:11:19,370 --> 00:11:22,280\r\nBest of luck finding\r\npoor Miss Abigail,\r\n\r\n228\r\n00:11:22,380 --> 00:11:25,879\r\nwhose only crime was growing up\r\nin her father's shadow.\r\n\r\n229\r\n00:11:25,880 --> 00:11:30,830\r\nParents truly block out\r\nthe sun, don't they, Marvin?\r\n\r\n230\r\n00:11:30,860 --> 00:11:33,260\r\nDon't they?\r\nDon't they?\r\n\r\n231\r\n00:11:33,360 --> 00:11:37,240\r\nDo not they!\r\n\r\n232\r\n00:11:40,010 --> 00:11:44,119\r\nSo sorry, what can we do to make\r\nFranny feel less triggered, hm?\r\n\r\n233\r\n00:11:44,120 --> 00:11:46,090\r\nAnd Mayor Dilquez,\r\nhow are you coping\r\n\r\n234\r\n00:11:46,120 --> 00:11:47,559\r\nwith your daughter's\r\ndisappearance?\r\n\r\n235\r\n00:11:47,560 --> 00:11:51,030\r\nIt is still hard for me to\r\neven believe she is missing.\r\n\r\n236\r\n00:11:51,100 --> 00:11:55,080\r\nThe opening of\r\nGrimsburg's first casino!\r\n\r\n237\r\n00:11:55,110 --> 00:11:57,380\r\nThis town will finally\r\nbe known for something\r\n\r\n238\r\n00:11:57,410 --> 00:12:00,750\r\nother than our unusually\r\nhigh number of killer clowns.\r\n\r\n239\r\n00:12:00,790 --> 00:12:02,890\r\nBut, it is sad.\r\n\r\n240\r\n00:12:02,990 --> 00:12:06,030\r\n- Marvy Marvs!\r\n- I need to ask you some questions.\r\n\r\n241\r\n00:12:06,130 --> 00:12:08,169\r\nUm, I am in the middle\r\nof an interview.\r\n\r\n242\r\n00:12:08,170 --> 00:12:10,170\r\nAnd I'm in the middle\r\nof an investigation,\r\n\r\n243\r\n00:12:10,270 --> 00:12:11,910\r\n- which trumps your interview.\r\n- Nu-uh.\r\n\r\n244\r\n00:12:12,010 --> 00:12:15,149\r\n- Freedom of the press.\r\n- Yuh-huh. Obstruction of justice.\r\n\r\n245\r\n00:12:15,150 --> 00:12:17,020\r\nShouldn't you be getting\r\nready for the dance?\r\n\r\n246\r\n00:12:17,050 --> 00:12:20,190\r\nShouldn't you be not asking me\r\nif I shouldn't be doing stuff?\r\n\r\n247\r\n00:12:20,290 --> 00:12:22,900\r\nI'm not sure\r\nwhat's going on here, but...\r\n\r\n248\r\n00:12:23,000 --> 00:12:24,229\r\n- Summers!\r\n- Back off, R2!\r\n\r\n249\r\n00:12:24,230 --> 00:12:26,910\r\nDo you two mind not flirt\r\nfighting in front of my wife?\r\n\r\n250\r\n00:12:29,140 --> 00:12:31,580\r\nThis has been really tough on her.\r\n\r\n251\r\n00:12:31,680 --> 00:12:36,590\r\nHon, I'm going to talk\r\nto these detectives, OK?\r\n\r\n252\r\n00:12:36,690 --> 00:12:38,930\r\nWell,\r\nsomeone here may be involved\r\n\r\n253\r\n00:12:39,000 --> 00:12:40,470\r\nin Abigail's disappearance.\r\n\r\n254\r\n00:12:40,500 --> 00:12:43,870\r\nI assure you, all my guys\r\nhave been karmically vetted.\r\n\r\n255\r\n00:12:47,810 --> 00:12:50,020\r\nOh, bollocks.\r\n\r\n256\r\n00:12:50,050 --> 00:12:52,220\r\nKubota backhoe.\r\nHe's the Ice Block Killer.\r\n\r\n257\r\n00:12:52,320 --> 00:12:54,760\r\n- Get him!\r\n- Chase Mode activated.\r\n\r\n258\r\n00:13:02,580 --> 00:13:05,120\r\nIf you want to run along,\r\nI'll catch up.\r\n\r\n259\r\n00:13:14,370 --> 00:13:17,740\r\nStill wearing that jacket?\r\nOh.\r\n\r\n260\r\n00:13:17,840 --> 00:13:19,810\r\nGet out of my he... oh!\r\n\r\n261\r\n00:13:22,550 --> 00:13:25,060\r\nBrake Mode, Brake Mode!\r\n\r\n262\r\n00:13:25,160 --> 00:13:28,589\r\nWe scoured the suspect's place.\r\nBupkis.\r\n\r\n263\r\n00:13:28,590 --> 00:13:31,970\r\nKid, speaking as your mentor\r\nslash work daddy,\r\n\r\n264\r\n00:13:32,070 --> 00:13:36,440\r\ndetectives and criminals are\r\nlocked in a long, mysterious dance.\r\n\r\n265\r\n00:13:36,480 --> 00:13:41,290\r\nOne big, cosmic dance.\r\n\r\n266\r\n00:13:43,260 --> 00:13:46,130\r\nJonathan Taylor Thomas!\r\nI got to go.\r\n\r\n267\r\n00:13:58,820 --> 00:14:02,859\r\nDon't be a baby, Stan.\r\n\r\n268\r\n00:14:02,860 --> 00:14:04,630\r\nHe'll be here.\r\n\r\n269\r\n00:14:10,380 --> 00:14:13,420\r\nUh, didn't we already\r\nclear the suspect's place?\r\n\r\n270\r\n00:14:13,520 --> 00:14:15,419\r\nThe word dance reminded me\r\nof music,\r\n\r\n271\r\n00:14:15,420 --> 00:14:17,860\r\nand I remembered that\r\nthe flute was tuned to B-flat.\r\n\r\n272\r\n00:14:17,960 --> 00:14:21,130\r\nThe suspect is British, and British\r\npeople call apartments flats.\r\n\r\n273\r\n00:14:21,170 --> 00:14:23,039\r\nB-flat. Flat B.\r\n\r\n274\r\n00:14:23,040 --> 00:14:24,770\r\nIn other words, apartment B.\r\n\r\n275\r\n00:14:24,880 --> 00:14:28,649\r\n- He's been leading us to...\r\n- Be best friends!\r\n\r\n276\r\n00:14:28,650 --> 00:14:30,920\r\nDetective Jesus, take the wheel.\r\n\r\n277\r\n00:14:31,020 --> 00:14:33,020\r\nOoh, I'd watch that show.\r\n\r\n278\r\n00:14:38,570 --> 00:14:43,409\r\nOK, it's time to slow\r\nit down, boys and boys.\r\n\r\n279\r\n00:14:52,160 --> 00:14:55,769\r\n- How awful.\r\n- Yeah, a terrible way to go.\r\n\r\n280\r\n00:14:55,770 --> 00:14:58,945\r\nNo, his furniture.\r\nWho mixes Scandinavian\r\n\r\n281\r\n00:14:58,946 --> 00:15:02,250\r\nminimalism with shabby chic?\r\nUgh.\r\n\r\n282\r\n00:15:02,350 --> 00:15:04,189\r\n\"While you were chasing\r\nthis idiot around,\r\n\r\n283\r\n00:15:04,190 --> 00:15:07,090\r\nI was completing my brilliant crime.\"\r\n\r\n284\r\n00:15:07,190 --> 00:15:10,770\r\nHmm.\r\nThe top of the page is missing.\r\n\r\n285\r\n00:15:12,140 --> 00:15:15,739\r\nGee, sure was nice of the\r\nkiller to use recycled paper.\r\n\r\n286\r\n00:15:15,740 --> 00:15:18,949\r\nWe should all be looking out\r\nfor future generations like that.\r\n\r\n287\r\n00:15:18,950 --> 00:15:21,960\r\nFuture generations.\r\n\r\n288\r\n00:15:21,990 --> 00:15:23,440\r\nMy child-spawn!\r\n\r\n289\r\n00:15:28,200 --> 00:15:30,843\r\nOh, my baby! What happened,\r\neven though I know,\r\n\r\n290\r\n00:15:30,844 --> 00:15:32,980\r\nsince I've been warning you\r\nabout it the whole time.\r\n\r\n291\r\n00:15:33,080 --> 00:15:37,219\r\nOh, you're frozen!\r\nTake these to warm you up.\r\n\r\n292\r\n00:15:37,220 --> 00:15:39,489\r\nWhere'd you go?\r\n\r\n293\r\n00:15:39,490 --> 00:15:41,630\r\nA lovely boy.\r\n\r\n294\r\n00:15:41,730 --> 00:15:45,870\r\nA shame his father's duties\r\nleave no time for love.\r\n\r\n295\r\n00:15:45,900 --> 00:15:50,349\r\nParents truly block out\r\nthe sun, don't they, Marvin?\r\n\r\n296\r\n00:15:50,350 --> 00:15:52,820\r\nUh, you already said that earlier.\r\n\r\n297\r\n00:15:52,950 --> 00:15:58,360\r\nI did?\r\nThen perhaps it's important.\r\n\r\n298\r\n00:15:58,400 --> 00:15:59,799\r\nOh, I knew this would happen.\r\n\r\n299\r\n00:15:59,800 --> 00:16:03,669\r\n- So, what's next in the Bad Dad Olympics?\r\n- It was a mistake.\r\n\r\n300\r\n00:16:03,670 --> 00:16:06,110\r\nLet me prove I'm not the man\r\nwho checked into a motel\r\n\r\n301\r\n00:16:06,210 --> 00:16:08,210\r\nunder your credit card\r\nfor five years.\r\n\r\n302\r\n00:16:08,250 --> 00:16:13,759\r\n- You don't need to prove that to me.\r\n- Right.\r\n\r\n303\r\n00:16:13,760 --> 00:16:16,100\r\n- I need to prove it to myself.\r\n- No.\r\n\r\n304\r\n00:16:16,130 --> 00:16:18,100\r\nProve it to Lieutenant Kang?\r\n\r\n305\r\n00:16:18,230 --> 00:16:19,539\r\nThe Chief?\r\nMy dad?\r\n\r\n306\r\n00:16:19,540 --> 00:16:21,270\r\nNo, your dad. The town?\r\n\r\n307\r\n00:16:21,370 --> 00:16:22,850\r\nSeems a bit much,\r\nbut I'll do whatever\r\n\r\n308\r\n00:16:22,950 --> 00:16:24,490\r\nit takes to get\r\nmy old life back.\r\n\r\n309\r\n00:16:27,420 --> 00:16:31,290\r\n- You can't quit, Marvin.\r\n- Our one lead has freezer burn.\r\n\r\n310\r\n00:16:31,330 --> 00:16:32,729\r\nMy ex won't have me.\r\n\r\n311\r\n00:16:32,730 --> 00:16:35,399\r\nAnd I just found out\r\nPete Davidson broke up with...\r\n\r\n312\r\n00:16:35,400 --> 00:16:39,410\r\n- Name TBD. Fill in in post.\r\n- I'd do anything to be a detective,\r\n\r\n313\r\n00:16:39,510 --> 00:16:41,580\r\nand you're just throwing it\r\nin the trash?\r\n\r\n314\r\n00:16:41,680 --> 00:16:44,419\r\nAt least write down your\r\nfeelings on the Chief's notepad.\r\n\r\n315\r\n00:16:44,420 --> 00:16:48,360\r\nMake a pros and cons list,\r\nand then decide.\r\n\r\n316\r\n00:16:48,430 --> 00:16:50,270\r\nChief's notepad?\r\n\r\n317\r\n00:16:50,300 --> 00:16:52,870\r\nLook!\r\nThe paper matches perfectly.\r\n\r\n318\r\n00:16:52,900 --> 00:16:54,540\r\nThe Chief is the killer!\r\n\r\n319\r\n00:16:54,570 --> 00:16:58,580\r\nLook at me, I solved the case,\r\nFlute, I solved the case!\r\n\r\n320\r\n00:16:58,610 --> 00:16:59,965\r\nSee, Kang, you don't need me.\r\n\r\n321\r\n00:16:59,966 --> 00:17:03,290\r\nMy family doesn't need me.\r\nEven crime doesn't need me.\r\n\r\n322\r\n00:17:03,320 --> 00:17:05,560\r\nI'll be at the bar\r\nif anyone needs me,\r\n\r\n323\r\n00:17:05,660 --> 00:17:09,100\r\nwhich nobody will,\r\nas I've just clearly stated.\r\n\r\n324\r\n00:17:27,640 --> 00:17:32,320\r\nParents truly block out\r\nthe sun, don't they, Marvin?\r\n\r\n325\r\n00:17:32,350 --> 00:17:35,920\r\nWhat are you saying?\r\nWhat does that mean?\r\n\r\n326\r\n00:17:38,490 --> 00:17:41,270\r\nYou should know what it means.\r\n\r\n327\r\n00:17:41,370 --> 00:17:46,240\r\nYou've been guilty of it all along.\r\n\r\n328\r\n00:17:46,280 --> 00:17:48,350\r\nI'm trying to be poetic here.\r\n\r\n329\r\n00:17:48,380 --> 00:17:50,490\r\nDon't make me spell it out.\r\n\r\n330\r\n00:17:50,590 --> 00:17:53,929\r\nBut I don't get what\r\nthis has to do with my son.\r\n\r\n331\r\n00:17:53,930 --> 00:17:56,970\r\nSun, son...\r\n\r\n332\r\n00:18:02,110 --> 00:18:07,220\r\n- Wait, it's not the Chief.\r\n- It's the Chief!\r\n\r\n333\r\n00:18:09,320 --> 00:18:11,210\r\nYou're under arrest\r\nfor the murders of two people\r\n\r\n334\r\n00:18:11,211 --> 00:18:13,100\r\nwhose names I really\r\nshould have remembered.\r\n\r\n335\r\n00:18:13,200 --> 00:18:14,499\r\nWhy would I do this?\r\n\r\n336\r\n00:18:14,500 --> 00:18:18,979\r\n- I have no motive.\r\n- I got your motive right here.\r\n\r\n337\r\n00:18:18,980 --> 00:18:23,420\r\n- Case closed.\r\n- That's not what motive means.\r\n\r\n338\r\n00:18:23,520 --> 00:18:25,660\r\nBut it...\r\nit does the matchy thing.\r\n\r\n339\r\n00:18:25,760 --> 00:18:27,790\r\nChief's innocent.\r\nThe notepad isn't hers.\r\n\r\n340\r\n00:18:27,930 --> 00:18:30,269\r\nShe doesn't believe\r\nin climate change,\r\n\r\n341\r\n00:18:30,270 --> 00:18:32,400\r\ntherefore she'd never buy recycled.\r\n\r\n342\r\n00:18:32,440 --> 00:18:35,305\r\nDuh! It's a scam.\r\nThey want us to pay\r\n\r\n343\r\n00:18:35,306 --> 00:18:37,880\r\nmore for something\r\nthat's already been used?\r\n\r\n344\r\n00:18:38,010 --> 00:18:41,250\r\n- Pff, right.\r\n- So if it's not the Chief, then who?\r\n\r\n345\r\n00:18:41,350 --> 00:18:43,420\r\nThe poor little boy in her shadow.\r\n\r\n346\r\n00:18:45,960 --> 00:18:48,200\r\nYou wanted to be a detective,\r\nbut your mom never let you.\r\n\r\n347\r\n00:18:48,230 --> 00:18:50,610\r\nSo you planted a flute\r\nin that poor kid's butt,\r\n\r\n348\r\n00:18:50,710 --> 00:18:52,870\r\nknowing I'd put the pieces\r\ntogether and nail the Chief.\r\n\r\n349\r\n00:18:52,894 --> 00:18:55,480\r\nAnd then, when she's no longer\r\nblocking out the sun,\r\n\r\n350\r\n00:18:55,580 --> 00:18:57,549\r\nthen you, her son,\r\ndifferent spelling,\r\n\r\n351\r\n00:18:57,550 --> 00:19:00,260\r\nget to be a detective at last.\r\n\r\n352\r\n00:19:00,330 --> 00:19:06,840\r\n- Uh, yeah, pretty much exactly.\r\n- So where is Abigail?\r\n\r\n353\r\n00:19:15,190 --> 00:19:16,640\r\nHi!\r\n\r\n354\r\n00:19:29,250 --> 00:19:30,750\r\nMy tanks...\r\n\r\n355\r\n00:19:30,850 --> 00:19:34,730\r\nto Flute, for saving my daughter.\r\n\r\n356\r\n00:19:34,760 --> 00:19:37,030\r\nI got something\r\nthat belongs to you.\r\n\r\n357\r\n00:19:37,130 --> 00:19:41,340\r\nBadgey! Wait, first,\r\nthere's somebody I need to see.\r\n\r\n358\r\n00:19:46,420 --> 00:19:49,719\r\nHarm, you were right, we can't\r\npick up where we left off.\r\n\r\n359\r\n00:19:49,720 --> 00:19:53,500\r\nBut maybe we can start\r\nwhere we are right now.\r\n\r\n360\r\n00:19:53,600 --> 00:19:55,740\r\nI just want to give my son\r\neverything he needs.\r\n\r\n361\r\n00:19:55,770 --> 00:19:59,010\r\nAnd I guess that includes you.\r\n\r\n362\r\n00:19:59,040 --> 00:20:01,080\r\nI learned a vital lesson\r\ntoday, child person.\r\n\r\n363\r\n00:20:01,150 --> 00:20:05,790\r\nThe only one I need to prove\r\nI've changed to is you.\r\n\r\n364\r\n00:20:05,890 --> 00:20:08,090\r\nOtherwise, you'll turn into\r\na twisted sicko like Stewart\r\n\r\n365\r\n00:20:08,114 --> 00:20:10,200\r\nand frame me for a murder\r\nI didn't commit.\r\n\r\n366\r\n00:20:10,230 --> 00:20:13,469\r\n- May I?\r\n- You may.\r\n\r\n367\r\n00:20:21,750 --> 00:20:24,190\r\nGrimsburg, I promised\r\nmyself I'd never come back,\r\n\r\n368\r\n00:20:24,230 --> 00:20:26,900\r\nand yet somehow, it's this\r\nplace where I feel like maybe,\r\n\r\n369\r\n00:20:26,930 --> 00:20:29,000\r\njust maybe,\r\nI'll solve the one mystery\r\n\r\n370\r\n00:20:29,070 --> 00:20:32,040\r\nI've never been able to crack... myself.\r\n\r\n371\r\n00:20:32,080 --> 00:20:34,980\r\nOh, and the mystery of where\r\nI put my suede desert boots.\r\n\r\n372\r\n00:20:35,080 --> 00:20:37,920\r\nAnd if there's time, maybe how\r\nto use the self-checkout lane.\r\n\r\n373\r\n00:20:37,950 --> 00:20:40,282\r\nI've literally never done it\r\nwithout the person having to\r\n\r\n374\r\n00:20:40,283 --> 00:20:42,614\r\ncome over, and at that point,\r\nwhy can't they just check me out?\r\n\r\n375\r\n00:20:42,630 --> 00:20:44,080\r\nWow, this is a pretty cool shot.\r\n\r\n376\r\n00:20:44,100 --> 00:20:46,381\r\nIt seems like they're putting\r\nsome real money behind this.\r\n\r\n377\r\n00:20:46,405 --> 00:20:49,422\r\nThat's got to be a good sign.\r\n\r\n378\r\n00:20:52,820 --> 00:20:55,560\r\nSo your pop's moving\r\ninto the basement, hmm?\r\n\r\n379\r\n00:20:55,660 --> 00:20:57,560\r\nTogether under one roof again.\r\n\r\n380\r\n00:20:57,590 --> 00:21:00,699\r\n- This is what we've been dreaming of!\r\n- Speak for yourself.\r\n\r\n381\r\n00:21:00,700 --> 00:21:02,699\r\nI've been dreaming about\r\nmeeting Phoebe Bridgers.\r\n\r\n382\r\n00:21:02,700 --> 00:21:04,809\r\nAll we need now is a little nudge\r\n\r\n383\r\n00:21:04,810 --> 00:21:07,450\r\nto get them\r\nall the way back together.\r\n\r\n384\r\n00:21:07,480 --> 00:21:11,050\r\nEasy. You flood the basement.\r\nWhen your dad starts to drown,\r\n\r\n385\r\n00:21:11,090 --> 00:21:14,290\r\nyour mom is forced to save him\r\nand they're back in love.\r\n\r\n386\r\n00:21:14,330 --> 00:21:18,430\r\nOr you all drown there, and become\r\na big happy family in heaven.\r\n\r\n387\r\n00:21:18,470 --> 00:21:21,669\r\nOr, I give them love letters I wrote\r\n\r\n388\r\n00:21:21,670 --> 00:21:24,850\r\n- and say they're from the other person.\r\n- Eh, that works too.\r\n\r\n389\r\n00:21:24,950 --> 00:21:28,205\r\nBut if you do go with that one,\r\nyou probably want to shut off\r\n\r\n390\r\n00:21:28,206 --> 00:21:31,858\r\nthe main water valve, like right now.\r\n\r\n391\r\n00:21:33,115 --> 00:21:35,989\r\n sync & correction by f1nc0\r\n-- Addic7ed.com -- \r\n\r\n" headers: Age: - '2334' CF-Cache-Status: - HIT CF-RAY: - 892d08b798a248bb-LHR Cache-Control: - public, max-age=691200 Connection: - keep-alive Content-Type: - text/srt Date: - Wed, 12 Jun 2024 21:46:30 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HCnK9h8c5cD0FGc%2By0rZVOO5PQMjHnPoUTWhHUKu64oCagHAXnZ53wZvd2DWpbV9DhVak4lWK9A4Id0wcj%2F%2BTidoswfN42OWpy3iluFPUI5trc79ZBlt6FFl90SuIfKiRbcDFQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 content-disposition: - attachment; filename=Grimsburg.S01E01.WEB-EDITH.en.srt; filename*=UTF-8''Grimsburg.S01E01.WEB-EDITH.en.srt etag: - W/"018ceac7-5d4f-4f26-8d36-3efc4b948281-638403478840298590" last-modified: - Mon, 08 Jan 2024 21:58:04 GMT vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_alternative_name.yaml0000644000175100001770000000601414636376416032131 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20End%20of%20the%20Fucking%20World response: body: string: '"Couldn''t find show: The End of the Fucking World"' headers: CF-Cache-Status: - MISS CF-RAY: - 88ba5f3368505be2-LIS Cache-Control: - public, max-age=43200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=BEJtczcIsxzrwq3USK7pi4KJ1pr4XlCkEFLNrvpn7uaH137%2FZTopkNC7QERUAG09wnzXCEkGvTpL67p2v%2FZj5Jrix7Wv%2Fmbi30mRRpfK7pvRtDb%2FGqYazKb4kLvOJ%2FgQRhL1bQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 404 message: Not Found - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20end%20of%20the%20f***ing%20world response: body: string: '{"shows":[{"id":"e789f371-ae07-4db4-b9aa-6b34e7e9e7b0","name":"The End of the F***ing World","nbSeasons":2,"seasons":[1,2],"tvDbId":336522,"tmdbId":74577,"slug":"the-end-of-the-fing-world"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f343a5d5bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Wed, 29 May 2024 19:47:25 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=MCfogFMhfP86%2FstE66lXdblQA370W301l6Vx2kbEqOCFOiTaxC2RER5TQlqg0UZJJNZWSouQuSxzmw97C3UJVVdg3odWB%2B8ZbM779T5kPkqAMolRncN7%2Frusy1hiUOY6wtOieA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_no_year.yaml0000644000175100001770000000307214636376416030250 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/77092 response: body: string: '{"shows":[{"id":"226d7f34-a9f5-4fe2-98d7-ecf944243714","name":"Dallas","nbSeasons":10,"seasons":[1,2,3,4,5,6,8,9,12,13],"tvDbId":77092,"tmdbId":40,"slug":"dallas"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f34dba05bf0-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Thu, 23 May 2024 02:32:32 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=JVTi6FVTz2NbOI8A6HriRgYI8rBy4lXG8Djbh%2BMwJRAYPAKLF4Wob%2FUhmgk9d%2Fw1YeBTARlY0vxmtCo5J0eIU0ivgcUPMUp6pD4qOffNNUc%2F9jddWPewXr57GK1qBlbIEOja2Q%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_only_title.yaml0000644000175100001770000000351414636376416030777 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Marvel's%20Agents%20of%20S.H.I.E.L.D. response: body: string: '{"shows":[{"id":"8976d3bb-a213-4210-9a03-f4b6d17ce540","name":"Marvel''s Agents of S.H.I.E.L.D.","nbSeasons":7,"seasons":[1,2,3,4,5,6,7],"tvDbId":263365,"tmdbId":1403,"slug":"marvels-agents-of-shield"},{"id":"9039b72e-89eb-401e-9d03-0419bf7d1273","name":"Marvel''s Agents of S.H.I.E.L.D.: Slingshot","nbSeasons":0,"seasons":[],"tvDbId":null,"tmdbId":69088,"slug":"marvels-agents-of-shield-slingshot"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f323efb6924-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Wed, 29 May 2024 19:47:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Bq9WlqbYndalfXDQXZGqdWPlpwHKUzniipjxPTs1LZHpeHt89CPPIc%2BtHpLaiSjq6Iv0czqkA3MUlu%2B9eEak4JF8uzobG3jNFVXUYrFrJnqfHbaHS707qrEFrzbYIeZqRioG5A%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_get_title_and_show_id_with_tvdb_id.yaml0000644000175100001770000000310214636376416031254 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/328635 response: body: string: '{"shows":[{"id":"6e507429-0994-443f-833e-1b06cbc18705","name":"Alex, Inc.","nbSeasons":1,"seasons":[1],"tvDbId":328635,"tmdbId":71763,"slug":"alex-inc"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f32dabe5bdb-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Sun, 26 May 2024 01:02:32 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=5k%2Fl95f8%2FG%2BuaAMr016MNR3Se7P2a%2F%2BLBlR8MSUMsLHA1NKlYzWno%2Ffxygx2jeVvY6UaUPQjsV9%2F4%2BJzyQ4JtGaYak6VYcgFDVDQlHqx%2BBhFB69EDiTwa7Z7Ure4P2xHDEtfBw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_list_subtitles.yaml0000644000175100001770000001256414636376416025275 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: Age: - '110' CF-Cache-Status: - HIT CF-RAY: - 88ba5f3f1c4a5bd5-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2BTY8PyPAgmLEtazIW3oLO2OL527cdIxNX1UYO03u9LCymbFREpzBeIpC0KSTg1plVFjdKohpusgTR59TTzZn6t0njsjyW01whWVCisoQvtKrsw7HETP%2FqIVRYdCEVDAmiDvt3Q%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/deu response: body: string: '{"matchingSubtitles":[{"subtitleId":"712de981-a7cc-4ce0-842c-0da9a06d1472","version":"LOL","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/712de981-a7cc-4ce0-842c-0da9a06d1472","language":"German","discovered":"2022-05-30T14:51:00.621711Z","downloadCount":72}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f3f4af35bea-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:28 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=MpR7RvMb9k5jOK6rB%2BrzRqsNGgtlbSt%2Bhc3ujrvfbipd4f4dVkCuUctR4EEoYE936mwaDlXbu54rH7yIcxnF9XTZCbUgGRmT1WjWbkMxgIuS2oFumyXe1N%2Bb%2BxmL7dy9GG3lLQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/fra response: body: string: '{"matchingSubtitles":[{"subtitleId":"90fe1369-fa0c-4154-bd04-d3d332dec587","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/90fe1369-fa0c-4154-bd04-d3d332dec587","language":"French","discovered":"2022-05-30T14:51:00.621699Z","downloadCount":134}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: Age: - '210' CF-Cache-Status: - HIT CF-RAY: - 88ba5f3fff635bec-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:28 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=IAx4aW0HGK2J37sxjPaZXJa6GeP6dpLY1netWTbvM5V%2FIt%2Fw6uRFk7SBrfQD8MVMDttJnaGy4Z1UWRnQ0t20kuRS7%2FquqGtTOf5pX3hR9tBOG1cXMd9OMCPI%2BnSUkbuHChIbpw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_list_subtitles_episode_alternative_series.yaml0000644000175100001770000002116414636376416032751 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/272135 response: body: string: '{"shows":[{"id":"b366047d-4e8f-4430-b9da-e1a8b9dc4d00","name":"TURN","nbSeasons":4,"seasons":[1,2,3,4],"tvDbId":272135,"tmdbId":57276,"slug":"turn"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f41ec4f5bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Thu, 23 May 2024 01:03:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=WA7jhC5Tf4ck%2FMkXaOIC4O239poHZelEubGKCut%2FU7v4jQTIhbEfB%2FIZ0FLHOrfV4Y%2F1gcyDrqqhezPFz6oWMRM2L06PaQbN1FXTQtRJ2SNpPybTZQNOipntTRfUlXYM8bPaMg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Turn response: body: string: "{\"shows\":[{\"id\":\"07f13d98-6a8c-497f-baaa-6c4f73cef6fd\",\"name\":\"Beowulf: Return To The Shieldlands\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":301347,\"tmdbId\":64593,\"slug\":\"beowulf-return-to-the-shieldlands\"},{\"id\":\"c3d5177d-b780-48a6-adcd-70dca1b62ab1\",\"name\":\"El Drag\xF3n: Return of a Warrior\",\"nbSeasons\":2,\"seasons\":[1,2],\"tvDbId\":370131,\"tmdbId\":94154,\"slug\":\"el-dragon-return-of-a-warrior\"},{\"id\":\"b964a19e-f40c-4d3b-9f32-f17d31003f49\",\"name\":\"Hot Girls Wanted: Turned On\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":326030,\"tmdbId\":71373,\"slug\":\"hot-girls-wanted-turned-on\"},{\"id\":\"22296d26-c773-487b-be4b-a305bf9aee1e\",\"name\":\"King of Boys: The Return of the King\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":408917,\"tmdbId\":131584,\"slug\":\"king-of-boys-the-return-of-the-king\"},{\"id\":\"fc23574c-c421-4483-be2a-ef0a370ab26a\",\"name\":\"Luna Petunia: Return to Amazia\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":null,\"tmdbId\":76809,\"slug\":\"luna-petunia-return-to-amazia\"},{\"id\":\"10c2fe37-bee3-4dc2-9942-dc76efe835e3\",\"name\":\"Mystery Science Theater 3000: The Return\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":null,\"tmdbId\":null,\"slug\":\"mystery-science-theater-3000-the-return\"},{\"id\":\"d1a435da-46f5-4794-ac5e-a241f38e87f1\",\"name\":\"Return of the Mac\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":325304,\"tmdbId\":71112,\"slug\":\"return-of-the-mac\"},{\"id\":\"7047c013-04ff-47d5-a8f7-eb047912863d\",\"name\":\"Return to Eden\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":74274,\"tmdbId\":727,\"slug\":\"return-to-eden\"},{\"id\":\"06fe47a2-b8a9-44c7-afb3-5d0e8b25d235\",\"name\":\"The Return of Jezebel James\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":81525,\"tmdbId\":1318,\"slug\":\"the-return-of-jezebel-james\"},{\"id\":\"1253259b-c88f-46d9-89f2-7291b8665640\",\"name\":\"The Returned (US)\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":283317,\"tmdbId\":62142,\"slug\":\"the-returned-us\"},{\"id\":\"b366047d-4e8f-4430-b9da-e1a8b9dc4d00\",\"name\":\"TURN\",\"nbSeasons\":4,\"seasons\":[1,2,3,4],\"tvDbId\":272135,\"tmdbId\":57276,\"slug\":\"turn\"},{\"id\":\"b62db1c3-f395-4ed7-af4c-246dd227a61d\",\"name\":\"Turn Back Time (2010)\",\"nbSeasons\":2,\"seasons\":[1,2],\"tvDbId\":202811,\"tmdbId\":34558,\"slug\":\"turn-back-time-2010\"},{\"id\":\"9df9a045-0753-4a49-baf3-ded409c10935\",\"name\":\"Turn Up Charlie\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":351581,\"tmdbId\":85486,\"slug\":\"turn-up-charlie\"},{\"id\":\"9c155f24-374c-4dbd-8dc8-d4291b95c2b5\",\"name\":\"Turner & Hooch\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":393235,\"tmdbId\":114503,\"slug\":\"turner-hooch\"},{\"id\":\"0ae05d21-9666-4561-98f1-f26fc2babc15\",\"name\":\"Turning Point: 9/11 and the War on Terror\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":408892,\"tmdbId\":131651,\"slug\":\"turning-point-911-and-the-war-on-terror\"},{\"id\":\"9b418844-063f-4fc9-8d6b-bcd9200174d2\",\"name\":\"The Summer I Turned Pretty\",\"nbSeasons\":2,\"seasons\":[1,2],\"tvDbId\":396505,\"tmdbId\":194766,\"slug\":\"the-summer-i-turned-pretty\"},{\"id\":\"018adeaa-1554-4425-aa69-bd2d957b2da2\",\"name\":\"Castlevania: Nocturne\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":421113,\"tmdbId\":123548,\"slug\":\"castlevania-nocturne\"},{\"id\":\"018e3589-c6f1-47f8-b1bf-370d33fd26ca\",\"name\":\"Turning Point: The Bomb and the Cold War\",\"nbSeasons\":1,\"seasons\":[1],\"tvDbId\":446555,\"tmdbId\":245926,\"slug\":\"turning-point-the-bomb-and-the-cold-war\"}]}" headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f42ac415bde-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Wed, 29 May 2024 19:47:29 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=sy%2FmVebfs%2FnvyE8Nj%2FvO2K3tIeFHNA46pv8gcukiDjkUzDDoW96U7saU%2FeqiVoeE20JIFLt1Yg10z8wKi5MrJVUhHblnNFOhW3T08EvX7Y2264gDR%2BsQFA6INos9RJMHf66XLg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/b366047d-4e8f-4430-b9da-e1a8b9dc4d00/4/3/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"6081b9e1-a57c-4082-8e65-aa07d5547b64","version":"SVA","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/6081b9e1-a57c-4082-8e65-aa07d5547b64","language":"English","discovered":"2022-11-30T07:37:56.705336Z","downloadCount":46},{"subtitleId":"6b789fec-02e9-4a8d-b0a1-fd701a817d75","version":"SVA","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/6b789fec-02e9-4a8d-b0a1-fd701a817d75","language":"English","discovered":"2022-11-30T07:37:56.705778Z","downloadCount":0}],"episode":{"season":4,"number":3,"title":"Blood for Blood","show":"TURN","discovered":"2022-11-30T07:37:56.705328Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f433ebd5bda-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Wed, 29 May 2024 19:47:29 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=U4HCuFovL5%2BJ%2BdIiiiJldmF6M6tZv%2FCgiNosRgFe9XivQbttruBAb5Ve8Izz%2BOYkZsQeDm958A4JJM%2F%2FM0z65NWunKjFuzUp2c7crskDnjp1jkccBDC80jCZT5I0B%2BuG4ynbfw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query.yaml0000644000175100001770000001123714636376416023365 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: Age: - '109' CF-Cache-Status: - HIT CF-RAY: - 88ba5f3599805bd3-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=lQ58yX1nf3%2FwYuuDwEyyosX1tuGyPDrQWf0dUsnvZPvnTElr6abc6IFH0eEHCLFM9R2yaVXLAkEeOqbtnVlNyrdBaFOtCSLO56kJXcg7DY%2FjTd9MF8%2BIZbtRGqxweXw1qDZgwA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/91eb9278-8cf5-4ddd-9111-7f60b15958cb/7/5/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"a245f3f1-920f-41f5-b9af-876a633cc8dd","version":"DIMENSION","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a245f3f1-920f-41f5-b9af-876a633cc8dd","language":"English","discovered":"2022-05-30T14:51:00.621696Z","downloadCount":45},{"subtitleId":"a295515c-a460-44ea-9ba8-8d37bcb9b5a6","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a295515c-a460-44ea-9ba8-8d37bcb9b5a6","language":"English","discovered":"2022-05-30T14:51:00.621698Z","downloadCount":50},{"subtitleId":"a00559a0-f510-4f7f-bc95-071ded7d852a","version":"WEB-DL","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a00559a0-f510-4f7f-bc95-071ded7d852a","language":"English","discovered":"2022-05-30T14:51:00.621703Z","downloadCount":48},{"subtitleId":"c85f0280-f3c2-4558-bad6-780334ac7e21","version":"WEB-DL","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/c85f0280-f3c2-4558-bad6-780334ac7e21","language":"English","discovered":"2022-05-30T14:51:00.621705Z","downloadCount":11},{"subtitleId":"95c351b3-3889-490a-acd3-92a8067894f5","version":"BDRip.x264.DEMAND","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/95c351b3-3889-490a-acd3-92a8067894f5","language":"English","discovered":"2022-05-30T14:51:00.621728Z","downloadCount":548}],"episode":{"season":7,"number":5,"title":"The Workplace Proximity","show":"The Big Bang Theory","discovered":"2022-05-30T14:51:00.621694Z"}}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f35ed925bd8-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Wed, 29 May 2024 23:44:22 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=BsCQ27bN%2FmmjMAeJwsgWLuzu2ZrcbqtI6sosCy8ZZIOXUMhHwI%2FbHm0UefsaDq%2FNLk5ZBQodjnssSqTtVQ6SXaq7ZXzKnXNXYrx08tbULh6BFs%2BQ6a3O8lGi1jHkjIlTZud8pw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_all_series.yaml0000644000175100001770000007374514636376416025603 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/121361 response: body: string: '{"shows":[{"id":"b88a8594-d158-4fde-b93e-38f37cb7b50b","name":"Game of Thrones","nbSeasons":9,"seasons":[0,1,2,3,4,5,6,7,8],"tvDbId":121361,"tmdbId":1399,"slug":"game-of-thrones"}]}' headers: Age: - '1' CF-Cache-Status: - HIT CF-RAY: - 88ba5f3dfd4b5bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 22 May 2024 23:41:22 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=2sLFgMxX0Adz0xLONkZYMsO6Yjac6HcsxNymMpfG98Wo4P3tlaYfnKwj8gJQH1amgr%2FQHZmsgF7xyI4euIyQkOv0OeOG0N6IHRozCEziQzSSzUr%2FoKo30oMvc%2FLRMn4mxEp14g%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/b88a8594-d158-4fde-b93e-38f37cb7b50b/3/eng response: body: string: '{"episodes":[{"subtitles":[{"subtitleId":"31a4ac62-383c-4fe2-acdc-c2643dffeee0","version":"BTN","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/31a4ac62-383c-4fe2-acdc-c2643dffeee0","language":"English","discovered":"2022-05-31T17:21:37.385591Z","downloadCount":0}],"season":3,"number":0,"title":"A Gathering Storm","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.385578Z"},{"subtitles":[{"subtitleId":"b1348a0b-9cc1-4ac9-ae41-c2e70f4bdd13","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b1348a0b-9cc1-4ac9-ae41-c2e70f4bdd13","language":"English","discovered":"2022-05-31T17:21:37.385726Z","downloadCount":321},{"subtitleId":"f6efa7fe-ce27-415c-a7f8-3b3f0cf6a015","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/f6efa7fe-ce27-415c-a7f8-3b3f0cf6a015","language":"English","discovered":"2022-05-31T17:21:37.385724Z","downloadCount":92},{"subtitleId":"0696e599-e1f3-4fba-a17a-d146d33b6018","version":"720p EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0696e599-e1f3-4fba-a17a-d146d33b6018","language":"English","discovered":"2022-05-31T17:21:37.385612Z","downloadCount":212},{"subtitleId":"ec5c1513-1d3f-49d3-84ae-14ce25920728","version":"720p EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/ec5c1513-1d3f-49d3-84ae-14ce25920728","language":"English","discovered":"2022-05-31T17:21:37.385619Z","downloadCount":23},{"subtitleId":"4cedb048-10b2-40f0-970a-082d13da3740","version":"2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/4cedb048-10b2-40f0-970a-082d13da3740","language":"English","discovered":"2022-05-31T17:21:37.38562Z","downloadCount":0},{"subtitleId":"0272b498-bf3f-4a09-baa7-3afcb0ad8f36","version":"2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/0272b498-bf3f-4a09-baa7-3afcb0ad8f36","language":"English","discovered":"2022-05-31T17:21:37.385624Z","downloadCount":4},{"subtitleId":"349778c8-911e-4555-95e8-cc30ac497a33","version":"REPACK 720p EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/349778c8-911e-4555-95e8-cc30ac497a33","language":"English","discovered":"2022-05-31T17:21:37.385626Z","downloadCount":0},{"subtitleId":"af2813b8-9f9b-4871-9787-14a7d7d65799","version":"REPACK 720p EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/af2813b8-9f9b-4871-9787-14a7d7d65799","language":"English","discovered":"2022-05-31T17:21:37.385628Z","downloadCount":5},{"subtitleId":"9dbb5902-196a-4655-92be-a5efe91b5a31","version":"CtrlHD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/9dbb5902-196a-4655-92be-a5efe91b5a31","language":"English","discovered":"2022-05-31T17:21:37.385656Z","downloadCount":0},{"subtitleId":"9e868416-5662-4c43-acdd-4abc79be9614","version":"CtrlHD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/9e868416-5662-4c43-acdd-4abc79be9614","language":"English","discovered":"2022-05-31T17:21:37.385658Z","downloadCount":2},{"subtitleId":"63701ff7-ecec-426e-a731-97eed494823c","version":"NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/63701ff7-ecec-426e-a731-97eed494823c","language":"English","discovered":"2022-05-31T17:21:37.38566Z","downloadCount":1},{"subtitleId":"895d5844-c322-4468-8781-ce69a0d72623","version":"NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/895d5844-c322-4468-8781-ce69a0d72623","language":"English","discovered":"2022-05-31T17:21:37.385659Z","downloadCount":0}],"season":3,"number":1,"title":"Valar Dohaeris","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.38561Z"},{"subtitles":[{"subtitleId":"9cb47c01-0ceb-40f6-9d2a-976748f43d54","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/9cb47c01-0ceb-40f6-9d2a-976748f43d54","language":"English","discovered":"2022-05-31T17:21:37.385791Z","downloadCount":13},{"subtitleId":"a0838c61-34e5-4bb8-91ac-56417d7765d6","version":"720p-IMMERSE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a0838c61-34e5-4bb8-91ac-56417d7765d6","language":"English","discovered":"2022-05-31T17:21:37.385742Z","downloadCount":213},{"subtitleId":"118e3a9b-2c9a-4f4d-a428-f5e8933f9b3b","version":"720p-IMMERSE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/118e3a9b-2c9a-4f4d-a428-f5e8933f9b3b","language":"English","discovered":"2022-05-31T17:21:37.38575Z","downloadCount":21},{"subtitleId":"2eab64c5-2118-4e59-a054-c8327ceb9d34","version":"2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/2eab64c5-2118-4e59-a054-c8327ceb9d34","language":"English","discovered":"2022-05-31T17:21:37.385757Z","downloadCount":3},{"subtitleId":"a3d16346-e1e6-434a-b0e4-7e983740e814","version":"2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/a3d16346-e1e6-434a-b0e4-7e983740e814","language":"English","discovered":"2022-05-31T17:21:37.385761Z","downloadCount":2},{"subtitleId":"75cf3936-7707-4cd4-b1fd-aec5c2a7cf94","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/75cf3936-7707-4cd4-b1fd-aec5c2a7cf94","language":"English","discovered":"2022-05-31T17:21:37.385792Z","downloadCount":61},{"subtitleId":"6332c489-2c03-42f4-8bfd-52e0a2aabead","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/6332c489-2c03-42f4-8bfd-52e0a2aabead","language":"English","discovered":"2022-05-31T17:21:37.385823Z","downloadCount":86},{"subtitleId":"ebb84168-42a9-4550-aba7-94212516da61","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/ebb84168-42a9-4550-aba7-94212516da61","language":"English","discovered":"2022-05-31T17:21:37.385825Z","downloadCount":405}],"season":3,"number":2,"title":"Dark Wings, Dark Words","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.385739Z"},{"subtitles":[{"subtitleId":"01db8111-4f4e-4fcf-9ee3-2c10c5279e31","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/01db8111-4f4e-4fcf-9ee3-2c10c5279e31","language":"English","discovered":"2022-05-31T17:21:37.385861Z","downloadCount":70},{"subtitleId":"a9da41fa-49fc-4ad1-9f10-4dd95d672d60","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a9da41fa-49fc-4ad1-9f10-4dd95d672d60","language":"English","discovered":"2022-05-31T17:21:37.38588Z","downloadCount":142},{"subtitleId":"8577fc7c-6b82-4156-b79e-95349ece2602","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/8577fc7c-6b82-4156-b79e-95349ece2602","language":"English","discovered":"2022-05-31T17:21:37.385882Z","downloadCount":330},{"subtitleId":"7a435357-6763-4bf5-82f8-4a33e6c9ba43","version":"PROPER 2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/7a435357-6763-4bf5-82f8-4a33e6c9ba43","language":"English","discovered":"2022-05-31T17:21:37.385837Z","downloadCount":160},{"subtitleId":"f8e98c3d-668b-4456-bb0f-60e61b9832bf","version":"PROPER 2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/f8e98c3d-668b-4456-bb0f-60e61b9832bf","language":"English","discovered":"2022-05-31T17:21:37.385844Z","downloadCount":12},{"subtitleId":"a14e746b-787b-49f7-a64e-75bb241282e7","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a14e746b-787b-49f7-a64e-75bb241282e7","language":"English","discovered":"2022-05-31T17:21:37.38586Z","downloadCount":10}],"season":3,"number":3,"title":"Walk of Punishment","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.385834Z"},{"subtitles":[{"subtitleId":"d4bab80c-e8d8-4853-a5e2-87187046e23e","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/d4bab80c-e8d8-4853-a5e2-87187046e23e","language":"English","discovered":"2022-05-31T17:21:37.385907Z","downloadCount":11},{"subtitleId":"dec629ed-909a-4153-922f-2e7a10bb9e15","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/dec629ed-909a-4153-922f-2e7a10bb9e15","language":"English","discovered":"2022-05-31T17:21:37.38594Z","downloadCount":132},{"subtitleId":"a9653882-fc16-4a11-ab5d-51c01c48a3b0","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a9653882-fc16-4a11-ab5d-51c01c48a3b0","language":"English","discovered":"2022-05-31T17:21:37.385941Z","downloadCount":347},{"subtitleId":"b756597b-1e3d-4af8-9ec2-4efdd8c97aba","version":"EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b756597b-1e3d-4af8-9ec2-4efdd8c97aba","language":"English","discovered":"2022-05-31T17:21:37.385893Z","downloadCount":180},{"subtitleId":"43f39f40-b133-4b4e-9640-285fa09d1fe5","version":"EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/43f39f40-b133-4b4e-9640-285fa09d1fe5","language":"English","discovered":"2022-05-31T17:21:37.385898Z","downloadCount":14},{"subtitleId":"4657bc06-060f-43cf-92a2-bc87a6a88a58","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4657bc06-060f-43cf-92a2-bc87a6a88a58","language":"English","discovered":"2022-05-31T17:21:37.385909Z","downloadCount":37}],"season":3,"number":4,"title":"And Now His Watch is Ended","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.385891Z"},{"subtitles":[{"subtitleId":"33e0d8de-18ce-4e18-b7ce-a837fd154068","version":"PROPER EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/33e0d8de-18ce-4e18-b7ce-a837fd154068","language":"English","discovered":"2022-05-31T17:21:37.385948Z","downloadCount":174},{"subtitleId":"4720e674-2946-4f72-957f-5df62a480742","version":"CtrlHD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4720e674-2946-4f72-957f-5df62a480742","language":"English","discovered":"2022-05-31T17:21:37.385964Z","downloadCount":2},{"subtitleId":"3232b335-c8ce-48f9-8abf-de9f7f44da70","version":"PROPER EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/3232b335-c8ce-48f9-8abf-de9f7f44da70","language":"English","discovered":"2022-05-31T17:21:37.385955Z","downloadCount":12},{"subtitleId":"e89bcab3-10ce-4744-978c-aa5ce932a537","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/e89bcab3-10ce-4744-978c-aa5ce932a537","language":"English","discovered":"2022-05-31T17:21:37.385994Z","downloadCount":134},{"subtitleId":"13c8f180-44b4-4a40-b6bb-59dce4fc4d55","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/13c8f180-44b4-4a40-b6bb-59dce4fc4d55","language":"English","discovered":"2022-05-31T17:21:37.385995Z","downloadCount":366},{"subtitleId":"1b64c0a2-978f-4686-86a7-3cfb1fda5da9","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/1b64c0a2-978f-4686-86a7-3cfb1fda5da9","language":"English","discovered":"2022-05-31T17:21:37.385968Z","downloadCount":89},{"subtitleId":"42189b1a-3ac5-43ef-ab4a-6fe771cd0e01","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/42189b1a-3ac5-43ef-ab4a-6fe771cd0e01","language":"English","discovered":"2022-05-31T17:21:37.385967Z","downloadCount":11},{"subtitleId":"e26675bc-e1f7-4aec-8486-5244b70f70ce","version":"CtrlHD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/e26675bc-e1f7-4aec-8486-5244b70f70ce","language":"English","discovered":"2022-05-31T17:21:37.385965Z","downloadCount":2}],"season":3,"number":5,"title":"Kissed by Fire","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.385947Z"},{"subtitles":[{"subtitleId":"b44bf13d-4eae-43bd-a239-7b011bf1af32","version":"720p IMMERSE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b44bf13d-4eae-43bd-a239-7b011bf1af32","language":"English","discovered":"2022-05-31T17:21:37.386002Z","downloadCount":225},{"subtitleId":"d0e31b87-27da-4c17-82ca-844dd9566f10","version":"720p IMMERSE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/d0e31b87-27da-4c17-82ca-844dd9566f10","language":"English","discovered":"2022-05-31T17:21:37.386007Z","downloadCount":15},{"subtitleId":"792b6249-16c0-4617-911f-2392bd1662e0","version":"2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/792b6249-16c0-4617-911f-2392bd1662e0","language":"English","discovered":"2022-05-31T17:21:37.386011Z","downloadCount":1},{"subtitleId":"341b7f24-a5e3-41e3-bb26-080054daf540","version":"2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/341b7f24-a5e3-41e3-bb26-080054daf540","language":"English","discovered":"2022-05-31T17:21:37.386014Z","downloadCount":2},{"subtitleId":"4a59711e-e558-4b3b-b44b-685a3c68213b","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4a59711e-e558-4b3b-b44b-685a3c68213b","language":"English","discovered":"2022-05-31T17:21:37.386023Z","downloadCount":47},{"subtitleId":"6e3ae399-cfc9-4eb3-9b08-9ff6a29a5193","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/6e3ae399-cfc9-4eb3-9b08-9ff6a29a5193","language":"English","discovered":"2022-05-31T17:21:37.386025Z","downloadCount":11},{"subtitleId":"1501b5d6-73e3-428a-a234-2dedbe53ec04","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/1501b5d6-73e3-428a-a234-2dedbe53ec04","language":"English","discovered":"2022-05-31T17:21:37.38606Z","downloadCount":93},{"subtitleId":"15ddddc3-a6db-4857-9832-fa80f4984a89","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/15ddddc3-a6db-4857-9832-fa80f4984a89","language":"English","discovered":"2022-05-31T17:21:37.386061Z","downloadCount":389}],"season":3,"number":6,"title":"The Climb","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386Z"},{"subtitles":[{"subtitleId":"2ae646a1-1157-41b7-9996-a161f850ce0e","version":"2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/2ae646a1-1157-41b7-9996-a161f850ce0e","language":"English","discovered":"2022-05-31T17:21:37.386067Z","downloadCount":176},{"subtitleId":"df7e936d-3c42-4adf-ac1e-67c2a90a50c2","version":"2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/df7e936d-3c42-4adf-ac1e-67c2a90a50c2","language":"English","discovered":"2022-05-31T17:21:37.386073Z","downloadCount":11},{"subtitleId":"f5527afa-eb91-413b-9f6c-5acdeeed0363","version":"2HD_real","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/f5527afa-eb91-413b-9f6c-5acdeeed0363","language":"English","discovered":"2022-05-31T17:21:37.386079Z","downloadCount":2},{"subtitleId":"6a858ba4-56e4-42f1-89dd-4d23a5e2042e","version":"2HD_real","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/6a858ba4-56e4-42f1-89dd-4d23a5e2042e","language":"English","discovered":"2022-05-31T17:21:37.386081Z","downloadCount":2},{"subtitleId":"c6af7e6c-aed6-442c-848c-ebac0fd20b93","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/c6af7e6c-aed6-442c-848c-ebac0fd20b93","language":"English","discovered":"2022-05-31T17:21:37.386083Z","downloadCount":52},{"subtitleId":"527b8199-59c1-4aa2-aa6d-d276eed6d839","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/527b8199-59c1-4aa2-aa6d-d276eed6d839","language":"English","discovered":"2022-05-31T17:21:37.386116Z","downloadCount":389},{"subtitleId":"b0b18409-bc5b-437f-9d98-8c2810c37b88","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b0b18409-bc5b-437f-9d98-8c2810c37b88","language":"English","discovered":"2022-05-31T17:21:37.386115Z","downloadCount":140},{"subtitleId":"57494845-3d62-4dc0-8cea-26f80da91348","version":"1080pHDTV-LiPAN","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/57494845-3d62-4dc0-8cea-26f80da91348","language":"English","discovered":"2022-05-31T17:21:37.386105Z","downloadCount":2},{"subtitleId":"4b2b9442-ad8b-4ff4-a159-434c4d57bfa8","version":"720pCtrlHD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4b2b9442-ad8b-4ff4-a159-434c4d57bfa8","language":"English","discovered":"2022-05-31T17:21:37.386096Z","downloadCount":1},{"subtitleId":"7ceaa05f-229f-4199-ae3e-2577b7552758","version":"720pCtrlHD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/7ceaa05f-229f-4199-ae3e-2577b7552758","language":"English","discovered":"2022-05-31T17:21:37.386094Z","downloadCount":1},{"subtitleId":"e6490f96-a073-41c7-8362-c541feb57a43","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/e6490f96-a073-41c7-8362-c541feb57a43","language":"English","discovered":"2022-05-31T17:21:37.386085Z","downloadCount":14}],"season":3,"number":7,"title":"The Bear and the Maiden Fair","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386066Z"},{"subtitles":[{"subtitleId":"9c9bf157-7fa5-4b92-a43f-d4b6e4eed698","version":"PROPER 2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/9c9bf157-7fa5-4b92-a43f-d4b6e4eed698","language":"English","discovered":"2022-05-31T17:21:37.386131Z","downloadCount":4},{"subtitleId":"463f919f-5192-4ec2-9a50-2e67578902a0","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/463f919f-5192-4ec2-9a50-2e67578902a0","language":"English","discovered":"2022-05-31T17:21:37.386165Z","downloadCount":123},{"subtitleId":"0c548435-9350-4231-a8ef-7b100b69dbd5","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0c548435-9350-4231-a8ef-7b100b69dbd5","language":"English","discovered":"2022-05-31T17:21:37.386141Z","downloadCount":13},{"subtitleId":"f003782f-f914-4880-9504-ad35942c9a5b","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/f003782f-f914-4880-9504-ad35942c9a5b","language":"English","discovered":"2022-05-31T17:21:37.386139Z","downloadCount":49},{"subtitleId":"82561bee-b8b9-4b57-aaff-62a776d50641","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/82561bee-b8b9-4b57-aaff-62a776d50641","language":"English","discovered":"2022-05-31T17:21:37.386166Z","downloadCount":376},{"subtitleId":"fd3330c3-7aaa-43fa-a532-578de98e33db","version":"EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/fd3330c3-7aaa-43fa-a532-578de98e33db","language":"English","discovered":"2022-05-31T17:21:37.386122Z","downloadCount":178},{"subtitleId":"a68fbd88-d52d-40db-86fe-6cfa4c57bfb6","version":"EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a68fbd88-d52d-40db-86fe-6cfa4c57bfb6","language":"English","discovered":"2022-05-31T17:21:37.386127Z","downloadCount":12},{"subtitleId":"ebb53cf5-9115-439d-b746-3f5965baae38","version":"PROPER 2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/ebb53cf5-9115-439d-b746-3f5965baae38","language":"English","discovered":"2022-05-31T17:21:37.386133Z","downloadCount":2}],"season":3,"number":8,"title":"Second Sons","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386121Z"},{"subtitles":[{"subtitleId":"b45960bc-2efd-4959-989d-2cd814171fda","version":"WEB-DL","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b45960bc-2efd-4959-989d-2cd814171fda","language":"English","discovered":"2022-05-31T17:21:37.386191Z","downloadCount":79},{"subtitleId":"2ea32b4d-e5d1-4a54-b9a0-82a89c519ef1","version":"EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/2ea32b4d-e5d1-4a54-b9a0-82a89c519ef1","language":"English","discovered":"2022-05-31T17:21:37.386181Z","downloadCount":14},{"subtitleId":"67ddaffb-ec77-49ed-b524-99ad8983bf46","version":"EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/67ddaffb-ec77-49ed-b524-99ad8983bf46","language":"English","discovered":"2022-05-31T17:21:37.386175Z","downloadCount":139},{"subtitleId":"67f35062-a30f-4c20-9a26-c581b7e1939d","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/67f35062-a30f-4c20-9a26-c581b7e1939d","language":"English","discovered":"2022-05-31T17:21:37.386204Z","downloadCount":387},{"subtitleId":"63f95cb6-efcc-4794-84bc-18b7370894b6","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/63f95cb6-efcc-4794-84bc-18b7370894b6","language":"English","discovered":"2022-05-31T17:21:37.386203Z","downloadCount":121},{"subtitleId":"0e6de906-7d9a-469d-855a-6bbd519a4d0b","version":"WEB-DL","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0e6de906-7d9a-469d-855a-6bbd519a4d0b","language":"English","discovered":"2022-05-31T17:21:37.386192Z","downloadCount":13}],"season":3,"number":9,"title":"The Rains of Castamere","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386174Z"},{"subtitles":[{"subtitleId":"d2824614-a2e0-401b-a0a9-ca98249fe511","version":"EVOLVE","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/d2824614-a2e0-401b-a0a9-ca98249fe511","language":"English","discovered":"2022-05-31T17:21:37.386215Z","downloadCount":11},{"subtitleId":"4d2782c6-e316-4724-a576-06c54e451ac8","version":"720pCtrlHD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4d2782c6-e316-4724-a576-06c54e451ac8","language":"English","discovered":"2022-05-31T17:21:37.386227Z","downloadCount":1},{"subtitleId":"8faf5695-7a59-4139-acb5-0d465bb9a816","version":"720pCtrlHD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/8faf5695-7a59-4139-acb5-0d465bb9a816","language":"English","discovered":"2022-05-31T17:21:37.386226Z","downloadCount":1},{"subtitleId":"b76fb659-7bea-466c-b867-a7740c23963b","version":"EVOLVE","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b76fb659-7bea-466c-b867-a7740c23963b","language":"English","discovered":"2022-05-31T17:21:37.38621Z","downloadCount":156},{"subtitleId":"56b890c5-3639-4477-8eab-a098ad53905e","version":"720p.BluRay.ShAaNiG","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/56b890c5-3639-4477-8eab-a098ad53905e","language":"English","discovered":"2022-05-31T17:21:37.386249Z","downloadCount":132},{"subtitleId":"b1787c19-40e4-482c-aac5-804d048ca3f7","version":"BluRay-DEMAND(ShAaNig)","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b1787c19-40e4-482c-aac5-804d048ca3f7","language":"English","discovered":"2022-05-31T17:21:37.386251Z","downloadCount":405},{"subtitleId":"0e6f2992-079f-419a-993b-58245928a192","version":"WEB-DL-NTb","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0e6f2992-079f-419a-993b-58245928a192","language":"English","discovered":"2022-05-31T17:21:37.386229Z","downloadCount":10},{"subtitleId":"a5f777e9-b15a-4605-b9bf-c633cf94b7bb","version":"WEB-DL-NTb","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/a5f777e9-b15a-4605-b9bf-c633cf94b7bb","language":"English","discovered":"2022-05-31T17:21:37.386228Z","downloadCount":49}],"season":3,"number":10,"title":"Mhysa","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386209Z"},{"subtitles":[{"subtitleId":"70748fa0-fc1e-4be0-a9e8-7c5206ae93ad","version":"YouTuberip","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/70748fa0-fc1e-4be0-a9e8-7c5206ae93ad","language":"English","discovered":"2022-05-31T17:21:37.386258Z","downloadCount":0}],"season":3,"number":90,"title":"Season 4 Trailer 1","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386257Z"},{"subtitles":[{"subtitleId":"2e299661-7d4e-4a3d-b633-27837b0abfaa","version":"2HD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/2e299661-7d4e-4a3d-b633-27837b0abfaa","language":"English","discovered":"2022-05-31T17:21:37.386264Z","downloadCount":0},{"subtitleId":"0cb39242-d22d-4f77-847d-3e5065da0fed","version":"2HD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0cb39242-d22d-4f77-847d-3e5065da0fed","language":"English","discovered":"2022-05-31T17:21:37.386265Z","downloadCount":0}],"season":3,"number":99,"title":"The Politics Of Power: A Look Back At Season 3","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386263Z"}]}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f3e3da95be6-LIS Cache-Control: - max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:28 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=IGk63tYhiLcLtWwcc5X29%2BIdD5ubWUDRKEOyseybanpquuenALOrWPwV4zejvntW%2F4ZgqesZ%2FAIn73MMba1kEvlfc0mOs%2BUK78ik74nfH5EHfZLLM4h7bfPcyCxO%2F2iYxcsm%2Fg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_no_language.yaml0000644000175100001770000000317414636376416025725 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: Age: - '109' CF-Cache-Status: - HIT CF-RAY: - 88ba5f368d825be8-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=WVu9TzxcTtrmfPaaE%2BEjpoD3SJXM1h2RySs8mtfQzlA8ZXhVyb6QEbq3OMuKf1GsmGvWAm3XWRVvf6jyND2FusyTX3gB3ewQ4xe74RhO0ihLvh6xxct6U3DO%2BscLx%2B%2BI8pCWaQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing.yaml0000644000175100001770000000737014636376416025113 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/121361 response: body: string: '{"shows":[{"id":"b88a8594-d158-4fde-b93e-38f37cb7b50b","name":"Game of Thrones","nbSeasons":9,"seasons":[0,1,2,3,4,5,6,7,8],"tvDbId":121361,"tmdbId":1399,"slug":"game-of-thrones"}]}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f37c86f5be2-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Wed, 22 May 2024 23:41:22 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=1kDAI%2FCxOvFB8QcJgsYKx0RbA8BpK1tvMr8q2QHfZihrCJ3D0HEc7r9MDUxaVUkj03stHS80kpd3gVM5yQRudEjA5Mqz%2BvVCE2KAaChYtPmqb89uSuX0VE7pe3ia4JdM5lXKYQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/b88a8594-d158-4fde-b93e-38f37cb7b50b/3/10/por response: body: string: '{"matchingSubtitles":[{"subtitleId":"9f486fef-ce86-4918-a292-dacd5dda07c8","version":"All_with_preview","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/9f486fef-ce86-4918-a292-dacd5dda07c8","language":"Portuguese","discovered":"2022-05-31T17:21:37.386235Z","downloadCount":168},{"subtitleId":"4db010e2-d271-4bd5-bda8-9756c8f4a437","version":"All_without_preview","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/4db010e2-d271-4bd5-bda8-9756c8f4a437","language":"Portuguese","discovered":"2022-05-31T17:21:37.386236Z","downloadCount":48}],"episode":{"season":3,"number":10,"title":"Mhysa","show":"Game of Thrones","discovered":"2022-05-31T17:21:37.386209Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f3878e55be0-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Wed, 29 May 2024 19:47:26 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=760eA%2B2dRiib0wM5ZZlS3fQzEt14%2Fxk59eDUhvenjmcRBBvbQOgqZPgKSgRuFtvELALfY0HFVLUrfrx2t7nm3pDu6OJzvPQUU075wld56zZ4BPh2geb%2BiDGEjGOofhPZOBX75Q%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_colon.yaml0000644000175100001770000000777614636376416026317 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/CSI:%20Cyber response: body: string: '{"shows":[{"id":"b23a6864-d99c-48f1-95f7-b675289ca8a8","name":"CSI: Cyber","nbSeasons":2,"seasons":[1,2],"tvDbId":281551,"tmdbId":61811,"slug":"csi-cyber"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f3aea365be4-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:27 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Nh%2FF782ffJVixq8VsYOQu6nLwD0CUsfXGVwxNii6Kppa2m54j%2F8SbM7Og4kyj1prhbXZlIKQ5BUle4WSZqLUQ98BKJhrBJDKEqfky9q4vyv4umCJ1AjualCYEnJ2hp8cgmOyDQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/b23a6864-d99c-48f1-95f7-b675289ca8a8/2/3/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"05785d75-5fdc-4f5a-8a06-94da5b82faf6","version":"DIMENSION","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/05785d75-5fdc-4f5a-8a06-94da5b82faf6","language":"English","discovered":"2022-07-27T23:38:13.786172Z","downloadCount":4},{"subtitleId":"5a1eef38-0058-4f19-8083-e4e73eb41068","version":"DIMENSION.colored","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/5a1eef38-0058-4f19-8083-e4e73eb41068","language":"English","discovered":"2022-07-27T23:38:13.786174Z","downloadCount":0},{"subtitleId":"be0fedf1-3863-42bc-a026-88af7f6a9461","version":"DIMENSION","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/be0fedf1-3863-42bc-a026-88af7f6a9461","language":"English","discovered":"2022-07-27T23:38:13.786175Z","downloadCount":49}],"episode":{"season":2,"number":3,"title":"Brown Eyes, Blue Eyes","show":"CSI: Cyber","discovered":"2022-07-27T23:38:13.786171Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f3b6ef65bf0-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:27 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=4QnzNJPGR4GTzoKLmh%2FKs3aA7MLGkX8ITc4C%2BgG9WMuF2keHG3xBIyPEV2%2BvRf4XkrRjtzMRuP%2FEPaLuldcSexYOiBeSapNjy1NBQHIPwnxTmpvfo9Vk1RurHRhjlvEAKTX35g%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_dash.yaml0000644000175100001770000001115314636376416026104 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20X-Files response: body: string: '{"shows":[{"id":"d4ea29c3-29e0-47a0-8a13-69b2a329b3a7","name":"The X-Files","nbSeasons":11,"seasons":[1,2,3,4,5,6,7,8,9,10,11],"tvDbId":77398,"tmdbId":4087,"slug":"the-x-files"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f3c5adf5bd8-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 11:08:17 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=NUx7qJavs4n6bofq7L%2FkKeJqnWhQmdxpshQ1hgyPJSPx%2Bxu%2FGYp8yvQoYIlp2gdoIVk2HoXVCbAMp%2FqOtLy8F3kIK90eoHD11CRiEY3Rbz%2BJ7enpyxQBNPVrPbOv1e2PYhn%2B8g%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/d4ea29c3-29e0-47a0-8a13-69b2a329b3a7/10/2/fra response: body: string: '{"matchingSubtitles":[{"subtitleId":"41ecae8e-0110-4bb0-8266-644c3b0a97ba","version":"Web-DL.IMPERIUM","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/41ecae8e-0110-4bb0-8266-644c3b0a97ba","language":"French","discovered":"2022-05-28T18:54:35.590745Z","downloadCount":51},{"subtitleId":"2fcab6e2-8713-40d1-afee-f9904e1d8fde","version":"Web-DL.RARBG","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/2fcab6e2-8713-40d1-afee-f9904e1d8fde","language":"French","discovered":"2022-05-28T18:54:35.590746Z","downloadCount":0},{"subtitleId":"345385a9-9fd9-450a-bdc3-f4e6e7ea54b6","version":"AVS","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/345385a9-9fd9-450a-bdc3-f4e6e7ea54b6","language":"French","discovered":"2022-05-28T18:54:35.590759Z","downloadCount":0},{"subtitleId":"b21937ff-b3eb-45d5-9d85-8d0d8cc59f7c","version":"Web-DL.Dracula","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/b21937ff-b3eb-45d5-9d85-8d0d8cc59f7c","language":"French","discovered":"2022-05-28T18:54:35.59076Z","downloadCount":16},{"subtitleId":"82efacfe-9a35-49ae-9ea8-a43af308e7e2","version":"KILLERS","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/82efacfe-9a35-49ae-9ea8-a43af308e7e2","language":"French","discovered":"2022-05-28T18:54:35.590762Z","downloadCount":0}],"episode":{"season":10,"number":2,"title":"Founder''s Mutation","show":"The X-Files","discovered":"2022-05-28T18:54:35.590723Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f3ceb445bda-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:27 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=FWcj19DQcSXv4s80Lgvp63EW69TuTWn9h1LkIZrfojiW7Bzm97PenKaoscexfm%2BDygupE0ibYuc06X8KPXu3X7NvInhU7troBCNww8hyLOwDEwCizzkLW6KTvMen%2B8BKQWQtCQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_parsing_quote_dots_mixed_case.yaml0000644000175100001770000001344114636376416031536 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Marvel's%20Agents%20of%20S.H.I.E.L.D. response: body: string: '{"shows":[{"id":"8976d3bb-a213-4210-9a03-f4b6d17ce540","name":"Marvel''s Agents of S.H.I.E.L.D.","nbSeasons":7,"seasons":[1,2,3,4,5,6,7],"tvDbId":263365,"tmdbId":1403,"slug":"marvels-agents-of-shield"},{"id":"9039b72e-89eb-401e-9d03-0419bf7d1273","name":"Marvel''s Agents of S.H.I.E.L.D.: Slingshot","nbSeasons":0,"seasons":[],"tvDbId":null,"tmdbId":69088,"slug":"marvels-agents-of-shield-slingshot"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f396bb35be2-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:51 GMT Last-Modified: - Wed, 29 May 2024 19:47:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=XTeDH74XDTX7n0N%2FjifuDjSDdJbzLi0aOTWJOJRisvJLwFed6jYTt5DuLbZEX9M1UDC28wNrkew7zevwjxJNjt%2BTsfZ5qPIU2P%2BsmtpVFaHWfFCef76OueOC%2FC5LzZ9XPtJd1A%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/8976d3bb-a213-4210-9a03-f4b6d17ce540/2/6/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"2dea1511-0b72-40db-89b5-eb6f0fb218a5","version":"720p-KILLERS","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/2dea1511-0b72-40db-89b5-eb6f0fb218a5","language":"English","discovered":"2022-09-12T00:34:57.016707Z","downloadCount":11},{"subtitleId":"0c649aff-2e63-4426-a87f-68edfe4f7043","version":"720p-KILLERS","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0c649aff-2e63-4426-a87f-68edfe4f7043","language":"English","discovered":"2022-09-12T00:34:57.016709Z","downloadCount":2},{"subtitleId":"45d064c7-2ce3-4911-b790-e25fdc3db890","version":"HDTV.x264-KILLERS","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/45d064c7-2ce3-4911-b790-e25fdc3db890","language":"English","discovered":"2022-09-12T00:34:57.016712Z","downloadCount":6},{"subtitleId":"8d94963d-22ba-4758-8cdc-b4df48693e9b","version":"HDTV.x264-KILLERS","completed":true,"hearingImpaired":false,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/8d94963d-22ba-4758-8cdc-b4df48693e9b","language":"English","discovered":"2022-09-12T00:34:57.016713Z","downloadCount":138},{"subtitleId":"47013979-e023-41f6-a93a-8fb8d1ac5611","version":"WEB-DL-BS","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/47013979-e023-41f6-a93a-8fb8d1ac5611","language":"English","discovered":"2022-09-12T00:34:57.016717Z","downloadCount":55},{"subtitleId":"5aef9147-3508-4936-994a-d74d7fc5fb80","version":"WEB-DL-BS","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/5aef9147-3508-4936-994a-d74d7fc5fb80","language":"English","discovered":"2022-09-12T00:34:57.016718Z","downloadCount":4},{"subtitleId":"c2a8bee4-bf13-44d9-a266-75710a4dd4e3","version":"BDRip.x264-REWARD","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/c2a8bee4-bf13-44d9-a266-75710a4dd4e3","language":"English","discovered":"2022-09-12T00:34:57.016732Z","downloadCount":31},{"subtitleId":"66cd4186-8d00-41b3-91dd-6b73b78eda6e","version":"BDRip.x264-REWARD","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/66cd4186-8d00-41b3-91dd-6b73b78eda6e","language":"English","discovered":"2022-09-12T00:34:57.016733Z","downloadCount":159}],"episode":{"season":2,"number":6,"title":"A Fractured House","show":"Marvel''s Agents of S.H.I.E.L.D.","discovered":"2022-09-12T00:34:57.016705Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f39ecab5bd6-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:52 GMT Last-Modified: - Wed, 29 May 2024 19:47:26 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HW4lmfkkk8NfFgSLac9xPHMU3pR7VKzn6RMZQn4%2F2jAyiP7ov7gtqrQi13jjK3End6f8%2B3ELuVZsdG9JvuONN2ri6nmp3Xg4ubhpQMWeq25eC2WPgoPFXJfU2nzs9s5b2RGaCA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_query_wrong_series.yaml0000644000175100001770000000236014636376416026150 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get//7/5/eng response: body: string: '' headers: CF-Cache-Status: - MISS CF-RAY: - 88c6f0536a16531b-LHR Cache-Control: - max-age=7200 Connection: - keep-alive Content-Length: - '0' Date: - Fri, 31 May 2024 12:24:04 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=YeKwSEkc3yiGBIxYm%2FbDhxRRFVXs4YhhOQKqW13pt31cR1Qgv49FgbQedfC78gRyJjAYJeu5ubwY%2BRNUVI5dvoqUDA0nSKvV22BZtQ6fP1bZZY%2BXdAiNvrU%2B2ro4EfN4YVhvcA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 status: code: 404 message: Not Found version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id.yaml0000644000175100001770000000315614636376416025202 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20Big%20Bang%20Theory response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f2ebf6d5bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Wed, 29 May 2024 19:47:23 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=migS4v2dyhOIE3Gqlv5GFiShWFBFphObWdMhHnQYuef7I2gHdRC20W5YHI2so1PGwcM1It8BOZo86h99qE1mg%2BwMKXHF3e2UV0u8ObUPJMPHd86D9c%2BCNj5%2BufN1UNxwW5I5Qw%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_error.yaml0000644000175100001770000000266214636376416026414 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20Big%20How%20I%20Met%20Your%20Mother response: body: string: '"Couldn''t find show: The Big How I Met Your Mother"' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f309e555be6-LIS Cache-Control: - public, max-age=43200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=yl7C6z7kRGBZ9Vcg3H45Jh9qA4rFixeGMAr2j3%2BEE1dY8jqQqSRJlvAosviKyUSZ4UlmUJQg8Au3AE%2By3NgfcgBV1H4ZpZZxa7CqF75Keo9UhEV0cpGaTuYyC0XxooCj3Qze8A%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 404 message: Not Found version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_incomplete.yaml0000644000175100001770000000315114636376416027414 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20Big%20Bang response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f2f68f25bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Wed, 29 May 2024 19:47:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=J%2FR%2FefMXFGc9w3vDaZ4VUXA6OmMgu7QvS%2FylIf7K3ALlHl5KfdHtC3xWaColU%2B6l5ak%2FuFkt6ghm7LQY1md18fPRfLq6qealTb5wY05GHKBnCKs9mTVn4uYzdJ8ds8ripg1QbA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_no_year.yaml0000644000175100001770000000332714636376416026716 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Dallas response: body: string: '{"shows":[{"id":"226d7f34-a9f5-4fe2-98d7-ecf944243714","name":"Dallas","nbSeasons":10,"seasons":[1,2,3,4,5,6,8,9,12,13],"tvDbId":77092,"tmdbId":40,"slug":"dallas"},{"id":"4e56a466-31a3-4b05-9696-671a1cd6954e","name":"Dallas (2012)","nbSeasons":3,"seasons":[1,2,3],"tvDbId":242521,"tmdbId":37759,"slug":"dallas-2012"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f2ffed15be4-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Wed, 29 May 2024 19:47:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=2H%2FEJwSshEZ8CeD6VTFGq2kMF0JR2VtpMd9kmX7RB4pU4PTU0yF4WuKHZ5%2FyKEACYjWclj9H7Q8SfTB7br%2BhL1t4r%2B7umA34wz3xrDkTQR8F5%2FRWGR4xfUuRim0zqPAi4svXkg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_id_quote.yaml0000644000175100001770000000316114636376416026413 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/Grey's%20Anatomy response: body: string: '{"shows":[{"id":"cb13bb68-c637-4e0f-b79d-d4f1b4972380","name":"Grey''s Anatomy","nbSeasons":20,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"tvDbId":73762,"tmdbId":1416,"slug":"greys-anatomy"}]}' headers: CF-Cache-Status: - HIT CF-RAY: - 88ba5f315e0e5bde-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Wed, 29 May 2024 22:57:07 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=qKUUT9RxcspBOBuTLiAzMDXwnCPTxBpUr0OLxNf82spAsvW5adzGGcGHK7xGHXp4wa5fm9eJ%2FAcbL2u5PVK1l2v9JCuAHSAL7wK27%2BI1IMflcJVFHrIqCOpYzwDx0YE9a8bEbQ%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_search_show_series_tvdb_id.yaml0000644000175100001770000000316414636376416027572 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/external/tvdb/80379 response: body: string: '{"shows":[{"id":"91eb9278-8cf5-4ddd-9111-7f60b15958cb","name":"The Big Bang Theory","nbSeasons":12,"seasons":[1,2,3,4,5,6,7,8,9,10,11,12],"tvDbId":80379,"tmdbId":1418,"slug":"the-big-bang-theory"}]}' headers: Age: - '108' CF-Cache-Status: - HIT CF-RAY: - 88ba5f31eda05bee-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:50 GMT Last-Modified: - Thu, 23 May 2024 00:34:46 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=erDpFuXqWDUVFYTOruDZhwHV4vA1qlGQ7SEY81es8kVwCuIJPVcvlANrwy4cgD6siKfIdrm3pIKoVPJuTolPN3OeUGuyRssXiecjwIoQhCdFxJLrySNt46Smanhn0jyf3ilkXg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/gestdown/test_show_with_asterisk.yaml0000644000175100001770000001300714636376416026135 0ustar00runnerdockerinteractions: - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20End%20of%20the%20Fucking%20World response: body: string: '"Couldn''t find show: The End of the Fucking World"' headers: Age: - '2' CF-Cache-Status: - HIT CF-RAY: - 88ba5f442d655be0-LIS Cache-Control: - public, max-age=43200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=V6Nnpz0JVhjVksNKEqz9jG3zaFpo8uZnvWI2sRX%2FuMEpSMwhiFECOuUa%2F2cRRDpZcAUp0VQtv0b8NiTqouJkTQfIX%2BFY%2BJdZ0hTF6sbA13iuTYCQ7CehHE1d%2Fz5nye4OaGvkpA%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 404 message: Not Found - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/shows/search/The%20end%20of%20the%20f***ing%20world response: body: string: '{"shows":[{"id":"e789f371-ae07-4db4-b9aa-6b34e7e9e7b0","name":"The End of the F***ing World","nbSeasons":2,"seasons":[1,2],"tvDbId":336522,"tmdbId":74577,"slug":"the-end-of-the-fing-world"}]}' headers: Age: - '2' CF-Cache-Status: - HIT CF-RAY: - 88ba5f445fa55bde-LIS Cache-Control: - public, max-age=14400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Wed, 29 May 2024 19:47:25 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Qzux1Fm2zfu%2FcsRk1rIyRHYFJ8GPdX6EcyUltAk2jyU36hyY%2FNZPEoBtk%2BKUpWjAe3oj48ot3%2Blx2uosa3hpBFt9nt8D9sMLbVsFxqnSciBexzeDlXtmAV4CJlNlD12Ap2eL6w%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK - request: body: null headers: Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 accept: - application/json method: GET uri: https://api.gestdown.info/subtitles/get/e789f371-ae07-4db4-b9aa-6b34e7e9e7b0/1/4/eng response: body: string: '{"matchingSubtitles":[{"subtitleId":"b54fb204-c809-4405-844b-f1fd6fe12925","version":"SCREENCRAP","completed":true,"hearingImpaired":true,"corrected":true,"hd":false,"downloadUri":"/subtitles/download/b54fb204-c809-4405-844b-f1fd6fe12925","language":"English","discovered":"2022-06-03T16:16:46.910908Z","downloadCount":4},{"subtitleId":"0594bbe3-aef4-41a7-8673-c7d7c1b40334","version":"WEB-DL.QOQ","completed":true,"hearingImpaired":true,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/0594bbe3-aef4-41a7-8673-c7d7c1b40334","language":"English","discovered":"2022-06-03T16:16:46.91091Z","downloadCount":2},{"subtitleId":"425506e2-2981-481a-b048-6b4e1efa145f","version":"WEB-DL.QOQ","completed":true,"hearingImpaired":false,"corrected":true,"hd":true,"downloadUri":"/subtitles/download/425506e2-2981-481a-b048-6b4e1efa145f","language":"English","discovered":"2022-06-03T16:16:46.910912Z","downloadCount":192}],"episode":{"season":1,"number":4,"title":"Episode 4","show":"The End of the F***ing World","discovered":"2022-06-03T16:16:46.910906Z"}}' headers: CF-Cache-Status: - EXPIRED CF-RAY: - 88ba5f449ebb5bd5-LIS Cache-Control: - public, max-age=7200 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Wed, 29 May 2024 23:47:53 GMT Last-Modified: - Wed, 29 May 2024 19:47:30 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=aGLT0QfG1rucX99vMKkPN3Rgj%2FZIushH24xNU%2FitYCK0%2Flr3j6uP74kR61UXppEGOC6XcJ4gilZX%2F3ZUYTEaRD%2B4wfWjkzoHqJLFFF8IELm8vLlS2p1NbBM7ngCElQGiQYyaBg%3D%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Content-Type-Options: - nosniff alt-svc: - h3=":443"; ma=86400 vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.666181 subliminal-2.2.0/tests/cassettes/napiprojekt/0000755000175100001770000000000014636376432020763 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_download_subtitles.yaml0000644000175100001770000021230614636376416026621 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?v=dreambox&kolejka=false&nick=&pass=&napios=Linux&l=PL&f=6303e7ee6a835e9fcede9fb2fb00cb36&t=0ce4a response: body: string: !!binary | ezExODl9ezEyNzF9VLN1bWFjemVuaWU6fHNpbnU2DQp7MzE0Nn17MzE4OX0vTmllIHJvenVtaWVj aWU/DQp7MzE4OX17MzI0NH0vSrlkcm8gS3J5cHRvbmEgc2nqIHJvenBhZGEuDQp7MzI0NH17MzI5 OX1UbyBrd2VzdGlhIHR5Z29kbmkuDQp7MzI5OX17MzM5MH1Pc3RyemVnYbNlbSwgv2UgZWtzcGxv YXRhY2phIGq5ZHJhfHRvIHNhbW9i82pzdHdvLg0KezMzOTd9ezM0NDV9VG8gamVkeW5pZSBwcnp5 c3BpZXN6ebNvIGltcGxvemrqLg0KezM0NDh9ezM1NTh9UmV6ZXJ3eSBlbmVyZ2V0eWN6bmUgYnmz eSBuYSB3eWN6ZXJwYW5pdS58Q28gbWllbGmcbXkgenJvYmnmLCBFbD8NCnszNTU4fXszNjQ0fVp3 cvNjaeYgc2nqIGt1IGd3aWF6ZG9tLnxKYWsgbmFzaSBwcnpvZGtvd2llLg0KezM2NDR9ezM2OTV9 U7kgdGFtIJx3aWF0eSx8bmFkYWq5Y2Ugc2nqIGRvIHphbWllc3prYW5pYS4NCnszNjk3fXszNzQ1 fU1vv2VteSB6YWN6ueZ8b2QgbmFzenljaCBkYXdueWNoIGtvbG9uaWkuDQp7Mzc0NX17MzgyOX1O YXByYXdk6iBzdWdlcnVqZXN6fGV3YWt1YWNq6iBjYbNlaiBwbGFuZXR5Pw0KezM4Mjl9ezM5MTN9 TmllLiBMb3MgamVqIG1pZXN6a2HxY/N3fGplc3QganW/IHByemVzuWR6b255Lg0KezM5Mzd9ezQw NDV9UHJ6ZWthv2NpZSBtaSBrb250cm9s6iBuYWQgS29kZXhlbS58WmFwZXduaeogcHJ6ZXRyd2Fu aWUgbmFzemVqIHJhc3kuDQp7NDA0NX17NDE2OX1XY2m5vyBqZXN0IG5hZHppZWphLnxUcnp5bWGz ZW0garkgdyByYW1pb25hY2guDQp7NDQ5OH17NDYxNX0tIE5pbmllanN6eW0gUmFkYSB6b3N0YWpl IHJvendpuXphbmEufC0gWiBjenlqZWdvIHJvemthenU/DQp7NDYxOH17NDY2Nn1Nb2plZ28uDQp7 NDcyOH17NDgyMn1SZXN6dGEgem9zdGFuaWUgb3O5ZHpvbmEgaSB1a2FyYW5hLg0KezQ4NzB9ezQ5 MjV9Q28gdHkgd3lwcmF3aWFzeiwgWm9kPyF8VG8gc3phbGXxc3R3byENCns0OTI1fXs0OTY4fVBv d2luaWVuZW0gdG8genJvYmnmIGp1vyBkYXduby4NCns0OTY4fXs1MDgxfVByemV6IGljaCBuaWVr b/FjerljZSBzaeogZGViYXR5fGRvcHJvd2FkemlsaSBLcnlwdG9uYSBkbyB6Z3VieSENCns1MTM4 fXs1MjI0fVByemVqbXVqZXN6IHezYWR66iBzabO5P3xOaWUgYupkemllc3ogbWlhsyBraW0gcnq5 ZHpp5i4NCns1MjI0fXs1MzM3fVBvbfO/IG1pIHdp6mMgb2NhbGnmIG5hc3q5IHJhc+oufFphY3pu aWVteSBuYSBub3dvLg0KezUzMzd9ezU0NDB9V3lwbGVuaW15IGRlZ2VuZXJhdPN3LHxrdPNyenkg ZG9wcm93YWR6aWxpIGRvIHVwYWRrdS4NCns1NDQwfXs1NTI5fUEga3RvIHpkZWN5ZHVqZSwga29n byBvc3pjeupkemnmPw0KezU1NjB9ezU2MDN9VHk/DQp7NTYzNH17NTc0MH1OaWUgcvNiIHRlZ28s IEVsLiBOaWUgY2hj6ix8YnmcbXkgc3RhbGkgc2nqIHdyb2dhbWkuDQp7NTc0NX17NTgxMn1as2Ft YbNlnCBvYm93abl6dWq5Y2UgbmFzIHphc2FkeS4NCns1ODE3fXs1ODkxfVBvZG5pb3OzZZwgbWll Y3p8cHJ6ZWNpd2tvIHezYXNuZW11IGx1ZG93aS4NCns1OTA1fXs2MDM1fVVzemFudWrqIGN6s293 aWVrYSwga3TzcnltIGtpZWR5nCBiebNlnC58TmllIHBvdHdvcmEsIGpha2ltIHNp6iBzdGGzZZwu DQp7NjExNn17NjE3MX1aYWJyYeYgZ28uDQp7NjI5NH17NjM2Nn0vLSBXc3p5c3RrbyB3IHBvcnq5 ZGt1P3wtIFogZHJvZ2khDQp7NjM5Mn17NjQyOH1Qb3dpZWR6aWGzZW0uLi4NCns2ODA5fXs2OTI3 fS0gUG+zuWN6IG1uaWUgeiBMYXK5LnwvLSBaYSB0b2K5LCBKb3IhDQp7NzAxMX17NzEzMH1MYXJh LCBwcnp5Z290dWogc3RhcnQufFByenli6mTqIGphayBuYWpzenliY2llai4NCns3NDU5fXs3NTA0 fUgnUmFrYSENCns4NDI4fXs4NDkyfS0gV2lkemlhs2GcIEtvZGV4P3wvLSBKZXN0IHBvZCByYXR1 c3plbS4NCns4NDkyfXs4NTg4fS9Pc3RyemVnYW0sIL9lIHplapxjaWUgdGFtfC9qZXN0IHByemVz dOpwc3R3ZW0ga2xhc3kgQi4uLg0Kezg1ODh9ezg2OTh9VG8ganW/IG5pZXdhv25lLCBLZWxleC58 jHdpYXQgc2nqIGtv8WN6eS4NCnsxMDIyOH17MTAzNTN9Sm9yLUVsLCB6IHJvemthenUgZ2VuZXJh s2EgWm9kYSx8bWFzeiBvZGRh5iBLb2RleC4NCnsxMTUxMX17MTE1NjZ9U3Bva29qbmllLCBIJ3Jh a2EuDQp7MTIwNDF9ezEyMTA4fS0gWm5hbGWfbGmcY2llIGp1vyCcd2lhdD98LSBUYWsuDQp7MTIx MTN9ezEyMTk5fS9Lcrm/eSB3b2vzsyC/87N0ZWogZ3dpYXpkeXwvY2m5Z3UgZ7Pzd25lZ28uDQp7 MTIyMzB9ezEyMjc2fU2zb2RhIGd3aWF6ZGEuDQp7MTIyNzZ9ezEyMzM4fUplZ28ga29t83JraSBi 6mS5IGN6ZXJwYeZ8eiBuaWVqIGVuZXJnaeouDQp7MTIzOTF9ezEyNDUxfVd5Z2y5ZGEgbmEgdG8s fL9lIG1hIGludGVsaWdlbnRuuSBwb3B1bGFjauouDQp7MTI0NjV9ezEyNTQyfULqZHppZSB3eXJ6 dXRraWVtLCBkeml3b2y5Z2llbS4NCnsxMjU4M317MTI2NDB9LSBaYWJparkgZ28ufC0gSmFrPw0K ezEyNjU5fXsxMjcyOX1C6mR6aWUgZGxhIG5pY2ggYm9naWVtLg0KezEyNzQ2fXsxMjgwMX1BIGpl nGxpIHN0YXRlayBuaWUgZG9sZWNpPw0KezEyODI1fXsxMjg3OH1PbiB6Z2luaWUgZ2R6aWWcIHRh bS4uLg0KezEyODc4fXsxMjkyNX13IHNhbW90bm+cY2kuDQp7MTI5NTR9ezEyOTk1fU5pZSBtb2fq Lg0KezEyOTk1fXsxMzA3OX1NeZxsYbNhbSwgv2UgcG90cmFmaeosIGFsZS4uLnxraWVkeSBqdb8g c2nqIHVyb2R6abMuLi4NCnsxMzA5MX17MTMyMjB9S3J5cHRvbmEgY3pla2EgemFns2FkYS58VG8g ZGxhIG5pZWdvIGplZHluYSBzemFuc2EuDQp7MTMyMjN9ezEzMjk1fUkgZGxhIG5hc3plZ28gbHVk dS4NCnsxMzMwMn17MTMzMjN9TyBjbyBjaG9kemksIEtlZWxleD8NCnsxMzMyM317MTMzODZ9L1Bp 6uYgc3RhdGvzdyBib2pvd3ljaHwvbmFkbGF0dWplIHplIHdzY2hvZHUuDQp7MTMzODZ9ezEzNDQz fS9aZXNrYW5vd2FsaSBzeXN0ZW15IG9icm9ubmUgY3l0YWRlbGkuDQp7MTM0NDN9ezEzNTEzfS0g WmGzYWR1auogS29kZXgufC0gWmFjemVrYWouDQp7MTM1NjZ9ezEzNjM1fURhaiBtaSBuYSBuaWVn byBwb3BhdHJ6ZeYuDQp7MTM3MTJ9ezEzNzgxfU5pZSB6b2JhY3rqLHxqYWsgc3Rhd2lhIHBpZXJ3 c3plIGtyb2tpLg0KezEzODI3fXsxMzg4OX1OaWUgdXOzeXN66ix8amFrIHd5bWF3aWEgbmFzemUg aW1pb25hLg0KezE0MDA3fXsxNDA5MX1UYW0sIHBvnHLzZCBnd2lhemQuLi4NCnsxNDEyMn17MTQx OTR9YupkemllIL95sy4NCnsxNTU0OH17MTU1ODR9r2VnbmFqLCBzeW51Lg0KezE1NjExfXsxNTY3 M31aYWJpZXJ6IHplIHNvYrkgbWFyemVuaWEuDQp7MTY1OTl9ezE2Njc4fU9zdHJ6ZWxh5iBns/N3 bmUgd2VqnGNpZS4NCnsxNzA0Mn17MTcxMDl9L0xhZHkgTGFybywgbmFw6mQgZ290b3d5IGRvIHN0 YXJ0dS4NCnsxNzEwOX17MTcxNTB9VXJ1Y2hvbSBzaWxuaWtpLg0KezE3MTU3fXsxNzE4NH1HZW5l cmFsZS4NCnsxNzE4Nn17MTcyNzd9WmFyZWplc3Ryb3dhbGmcbXkgb2RwYWxlbmllIHNpbG5pa/N3 fHdld265dHJ6IGN5dGFkZWxpLg0KezE3Mjk0fXsxNzMzMn1TdGFydHVquS4NCnsxNzM1Nn17MTc0 MTR9T2JzdGF3Y2llIHTqIHBsYXRmb3Jt6i4NCnsxNzcwNn17MTc4NTN9V2llbSwgv2UgdWtyYWSz ZZwgS29kZXgufFp3cvPmIGdvLCBhIGRhcnVq6iBjaSC/eWNpZS4NCnsxNzg3OX17MTc5NDR9VG8g ZHJ1Z2Egc3phbnNhIGRsYSBjYbNlZ28gS3J5cHRvbmEuDQp7MTc5NDZ9ezE4MDExfU5pZSB0eWxr byBkbGEgdHljaCx8a3TzcnljaCB1em5hc3ogemEgZ29kbnljaC4NCnsxODAzNX17MTgxMzh9LSBD b5wgdHkgenJvYmmzP3wtIE1hbXkgZHppZWNrbywgWm9kLg0KezE4MTUwfXsxODE4Nn1DaLNvcGNh Lg0KezE4MTg4fXsxODI2NX1QaWVyd3N6ZSBuYXR1cmFsbmUgdXJvZHplbmllIG9kIHN0dWxlY2ku DQp7MTgyODR9ezE4MzkwfULqZHppZSB3b2xueS58U2FtIHpkZWN5ZHVqZSBvIHN3b2plaiBwcnp5 c3qzb5xjaS4NCnsxODQxOH17MTg0NTR9SGVyZXpqYSENCnsxODQ5M317MTg1Mjl9Wm5pc3pjennm IGdvIQ0KezE5ODAyfXsxOTg2NH1Qb3OzdWNoYWogbW5pZSwgTGFybyENCnsxOTg2NH17MTk5NDN9 S29kZXggamVzdCBwcnp5c3qzb5xjabkgS3J5cHRvbmEuDQp7MTk5NjB9ezIwMDA4fVByemVyd2lq IHN0YXJ0IQ0KezIwNDc4fXsyMDUyOH1OaWUhDQp7MjEyMzN9ezIxMzYzfVdhc3ogc3luLi4ufERv a7lkIGdvIHd5c7Nhs2GcPw0KezIxNDI1fXsyMTU1MH1NYSBuYSBpbWnqIEthbCwgc3luIEVsYS4N CnsyMTYzNH17MjE3MjJ9SmVzdCBwb3phIHR3b2ltIHphc2nqZ2llbS4NCnsyMTk0NX17MjIwMjB9 WmVzdHJ6ZWxp5iB0ZW4gc3RhdGVrLg0KezIyMTc1fXsyMjIxMX0vQ2VsIG5hbWllcnpvbnkuDQp7 MjI0OTd9ezIyNTg4fS9SenXmY2llIGJyb/EufC9KZXN0ZZxjaWUgb3RvY3plbmkuDQp7MjI4MjV9 ezIyOTM1fS9HZW5lcmFsZSBab2QsfC96YSBtb3JkZXJzdHdvIGkgemRyYWTqLA0KezIyOTQwfXsy MzA0OH0vUmFkYSBza2F6dWplIGNpZWJpZXxpIHBvem9zdGGzeWNoIHJlYmVsaWFudPN3DQp7MjMw NDh9ezIzMTQ5fW5hIDMwMCBjeWtsaSBvZG5vd3kgc29tYXR5Y3puZWouDQp7MjMxNjN9ezIzMjI4 fU1hc3ogamFraWWcIG9zdGF0bmllIHOzb3dvPw0KezIzMjc2fXsyMzM2OX1OaWUgemFiaWplY2ll IG5hcyx8v2VieSBuaWUgcG9icnVkemnmIHNvYmllIHK5aywNCnsyMzM2OX17MjM0NTN9emEgdG8g enN5s2FjaWUgbmFzfHcgb3RjaLNh8SBuYSB3aWVjem5vnOYhDQp7MjM0OTJ9ezIzNTc4fUpvci1F bCBzs3Vzem5pZSBva3JlnGxpsyB3YXN8YmFuZLkgZ7N1cGPzdy4NCnsyMzU4MH17MjM2NDB9Q28g ZG8gamVkbmVnbyENCnsyMzY0NX17MjM2NzJ9QSB0eS4uLg0KezIzNzEyfXsyMzc4NH1XaWVyenlz eiwgv2UgdHfzaiBzeW4gamVzdCBiZXpwaWVjem55Pw0KezIzNzk0fXsyMzgyNX1PZG5hamTqIGdv Lg0KezIzODM3fXsyMzkxNn1PZHp5c2thbSB0byx8Y28gbmFtIHphYnJhbGmcY2llIQ0KezIzOTc0 fXsyNDAxMH1PZG5hamTqIGdvLg0KezI0MDQzfXsyNDEwMX1PZG5hamTqLCBMYXJvLg0KezI0MTcw fXsyNDIyMX1PZG5hamTqIGdvIQ0KezI2NjU3fXsyNjc0MH0vTGFkeSBMYXJvLHwvcG93aW5uYSBw YW5pIHBvc3p1a2HmIHNjaHJvbmllbmlhLg0KezI2NzUyfXsyNjgxMn1OaWUgbWEgZ2R6aWUgc2nq IHNrcnnmLCBLZWxvci4NCnsyNjg0NH17MjY5MDZ9Sm9yLUVsIG1pYbMgcmFjauouDQp7MjY5NDd9 ezI2OTk1fVRvIGtvbmllYy4NCnsyNzI3MH17MjczNjl9TmllY2ggdHfzaiCcd2lhdHxi6mR6aWUg bGVwc3p5LCBLYWwuDQp7Mjk1NDZ9ezI5NjQ0fVV3Yb9haiwgZ7N1cGt1LHxibyB6b3N0YW5pZSB6 IGNpZWJpZSBtb2tyYSBwbGFtYSENCnsyOTY5OX17Mjk3OTB9U2u5ZCBvbmkgY2nqIHd5dHJ6YXNu 6mxpLCBts29keT8NCnsyOTgwOX17Mjk4NTB9L1phYmV6cGllY3p55iBwb2uzYWQhDQp7Mjk4NTB9 ezI5OTMyfU9kZWJyYWxpnG15IHdlendhbmllIG8gcG9tb2N8eiBwbGF0Zm9ybXkgbmEgd3NjaPNk IG9kIG5hcy4NCnsyOTkzMn17Mjk5Nzd9WmFiZXpwaWVjennmIHBva7NhZCENCnszMDA3NX17MzAx MjN9L0plZG5vc3RraSBjeXdpbG5lLCBuaWUgemJsab9h5iBzaeohDQp7MzAxMjN9ezMwMTgzfS9V c3prb2R6b255IGplc3QgamVkZW4geiB6YXdvcvN3LnwvUGxhdGZvcm1hIG1vv2Ugd3lidWNobrnm Lg0KezMwMTgzfXszMDI1M31acm96dW1pYbNlbS58QSBjbyB6IGx1ZJ9taT8NCnszMDI1NX17MzAz NTF9Ly0gTmllIG1harkgc3phbnMufC0gTbNvZHksIHByenluaWWcIG1pIGxvcm5ldGvqLg0KezMw Mzk3fXszMDQ0Mn1Ns29keSENCnszMDYzNH17MzA3MjN9VG8gb3N0YXRuaWEgYnV0bGEhfE5pZSB3 eXRyenltYW15IGSzdb9laiENCnszMDk0M317MzA5ODR9L1R1IHN0cmG/IHd5YnJ6Zb9hLg0KezMw OTg0fXszMTA2M30vWnJvYmlteSBqZXN6Y3plIGplZGVuIHByemVsb3R8L2kgd3lub3NpbXkgc2nq IHN0uWQuDQp7MzEwOTR9ezMxMTU0fUN6ZWthamNpZSwgd2lkeuogbHVkemkgbmEgbLlkb3dpc2t1 IQ0KezMxNjUxfXszMTcxMX0vRGF3YWogdGVnbyBvc3RhdG5pZWdvLnwvTXVzaW15IHN0YXJ0b3dh 5iENCnszMTcxMX17MzE3NzV9V3NrYWt1aiF8Q28gdHkgd3lwcmF3aWFzej8hDQp7MzE4OTV9ezMx OTMxfVN0YXJ0dWplbXkhDQp7MzI4NDV9ezMyOTE0fS9LaWVkeSBLYW5zYXMgc3Rhs28gc2nqIHRl cnl0b3JpdW0uLi4NCnszMjk0OH17MzI5ODF9L0NsYXJrIQ0KezMzMDI5fXszMzA3Mn1Vd2G/YXN6 LCBDbGFyaz8NCnszMzE3MX17MzMyNTV9U3B5dGGzYW0gY2nqfG8gcGllcndzenljaCBvc2Fkbmlr 83cgdyBLYW5zYXMuDQp7MzM1NjZ9ezMzNjE3fURvYnJ6ZSBzaeogY3p1amVzeiwgQ2xhcms/DQp7 MzM3ODl9ezMzODIzfUNsYXJrIQ0KezMzOTY5fXszNDAwM31DbGFyayENCnszNDA3NX17MzQxNjN9 LSBXeWpknywgQ2xhcmshfC0gWm9zdGF3Y2llIG1uaWUuDQp7MzQxNzN9ezM0MjE5fVdlendhs2Ft IHR3b2q5IG1hdGvqLg0KezM0MzUwfXszNDQyMH1KZXN0ZW0hfENsYXJrLCBjbyBzaeogc3Rhs28s IHNrYXJiaWU/DQp7MzQ0ODV9ezM0NTQyfS8tIE90d29yenlzeiBkcnp3aT98Ly0gQ28gbXUgb2Ri abNvPw0KezM0NTQyfXszNDU4NX0vLSBUbyBkeml3YWsufC8tIE1hemdhai4NCnszNDU4OH17MzQ2 NDV9L1JvZHppY2UgbmllIHBvendhbGFquSBtdXwvYmF3aeYgc2nqIHogaW5ueW1pIGR6aWXmbWku DQp7MzQ2NDh9ezM0Njg0fS9XaWVtLg0KezM0Njg2fXszNDc4OX1Ta2FyYmllISBKYWsgbWFtIGNp IHBvbfNjLHxza29ybyBtbmllIG5pZSB3cHWcY2lzej8NCnszNDc5NH17MzQ4NTZ9jHdpYXQgamVz dCB6Ynl0IGR1v3ksIG1hbW8uDQp7MzQ4NTZ9ezM0OTA0fS9UbyBnbyB6bW5pZWpzei4NCnszNDk1 MH17MzQ5OTh9UG8gcHJvc3R1Li4uDQp7MzUwNDN9ezM1MTAxfXNrdXAgc2nqIG5hIG1vaW0gZ7Nv c2llLg0KezM1MTMyfXszNTE5NH0vVWRhd2FqLCC/ZSB0byB3eXNwYS4NCnszNTE5NH17MzUyNDd9 L0dkemllnCBuYSBvY2VhbmllLg0KezM1MjY2fXszNTMxOX1XaWR6aXN6IGq5Pw0KezM1Mzg0fXsz NTQyMn1XaWR66i4NCnszNTQ0MX17MzU0OTR9ULN58SB3IGplaiBraWVydW5rdSwga29jaGFuaWUu DQp7MzU4MDN9ezM1ODY2fUNvIG1pIGplc3QsIG1hbW8/DQp7MzU5MTh9ezM1OTY2fUNsYXJrLg0K ezM3OTY4fXszODA0OH1IZWosIHBpZXJkb7NvIXxPZ2y5ZGGzZZwgbWVjej8NCnszODA2NH17Mzgx MzZ9LSBab3N0YXcgZ28sIFBldGUufC0gQSB0eSBjbz8gSmVnbyBkemlld2N6eW5hPw0KezM4MTM5 fXszODE5MX1DaGPqIHVzs3lzemXmLHxjbyBtYSBkbyBwb3dpZWR6ZW5pYS4NCnszODIyNX17Mzgy NzB9Tm8gc7N1Y2hhbSwgY2lvs2t1Lg0KezQwNjgyfXs0MDgxOX0vTfNqIHN5biBiebMgdyBhdXRv YnVzaWUufC9XaWR6aWGzLCBjbyB6cm9iabMgQ2xhcmsuDQp7NDA4MjZ9ezQwOTE1fVdpZW0ufFRv LCBjbyBtdSBzaeogd3lkYXdhs28uLi4NCns0MDkxN317NDA5ODl9VG8gYnmzYSBy6mthIGJvc2th Lg0KezQwOTg5fXs0MTAzN31UbyBiebNhIGJvv2Egb3BhdHJ6bm+c5i4NCns0MTE0MH17NDEyMjd9 LSBDaHliYSB0cm9jaOogd3lvbGJyenltaWFzei58LSBXY2FsZSBuaWUuDQp7NDEyNDF9ezQxMzAx fUxhbmEgaSBGb3JueSB0Zb8gdG8gd2lkemllbGkuDQp7NDEzMDF9ezQxMzkyfS9OaWUgcGllcndz enkgcmF6fC9DbGFyayB6cm9iabMgY2+cIHRha2llZ28uDQp7NDE3NTJ9ezQxODkxfS0gSmEgdHls a28gY2hjaWGzZW0gcG9t82MufC0gV2llbSwgYWxlIGp1vyBvIHR5bSByb3ptYXdpYWxpnG15Lg0K ezQxOTE3fXs0MTk4N31Sb3ptYXdpYWxpnG15IG8gdHltLnxNdXNpc3ouLi4NCns0MTk5Mn17NDIw ODN9TXVzaXN6IHphY2hvd2HmfHN382ogZGFyIHcgdGFqZW1uaWN5Lg0KezQyMDkwfXs0MjE3MX1N aWGzZW0gcG96d29saeYgaW0gdW1yemXmPw0KezQyMjk2fXs0MjM0NH1Nb79lLg0KezQyMzgyfXs0 MjQ3OH1UdSBjaG9kemkgbyBjb5wgd2nqY2VqfG5pvyC/eWNpZSBuYXN6ZSBpIG5hc3p5Y2ggYmxp c2tpY2guDQp7NDI1NDN9ezQyNTg5fUtpZWR5IJx3aWF0Li4uDQp7NDI1OTh9ezQyNjk5fUtpZWR5 IJx3aWF0IGRvd2llIHNp6iwgY28gcG90cmFmaXN6LHx0byB3c3p5c3RrbyB6bWllbmkuDQp7NDI3 MDF9ezQyNzQ5fU5hc3q5IHdpYXLqLCBwb2dsuWR5Li4uDQp7NDI3Njh9ezQyODQwfXpuYWN6ZW5p ZSBjerNvd2llY3pl8XN0d2EsIHdzenlzdGtvLg0KezQyODQzfXs0Mjk2M31XaWR6aWGzZZwgcmVh a2Nq6iBtYW15IFBldGUnYS58T25hIHNp6iBjaWViaWUgYm9pLg0KezQzMDAxfXs0MzA0NH1EbGFj emVnbz8NCns0MzA2MX17NDMxMzV9THVkemllIGJvarkgc2nqIHRlZ28sfGN6ZWdvIG5pZSByb3p1 bWllarkuDQp7NDMxMzh9ezQzMTg4fU1hIHJhY2rqPw0KezQzMjA1fXs0MzI4MX1UbyBkYXIgb2Qg Qm9nYT8NCns0MzI5MX17NDMzMjB9UG93aWVkei4NCns0MzY4NH17NDM3MzB9VyB0eW0gY2nqIHpu YWxln2xpnG15Lg0KezQzNzczfXs0Mzg0N31CeWxpnG15IHBld25pLHy/ZSB6amF3aSBzaeoga3Rv nCB6IHJ6uWR1Lg0KezQzODUwfXs0Mzg5OH1BbGUgbmlrdCBuaWUgcHJ6eXN6ZWSzLg0KezQ0MjM4 fXs0NDMyMH1UbyB6bmFsYXqzZW0gcHJ6eSB0b2JpZS4NCns0NDM0Nn17NDQ0MTN9WmFicmGzZW0g dG8gZG8gbWV0YWx1cmdhfHcgS2Fuc2FzIFN0YXRlLg0KezQ0NDE2fXs0NDQ4NX1Qb3dpZWR6aWGz LCC/ZSB6IGN6ZWdva29sd2lla3x0byBiebNvIHpyb2Jpb25lLi4uDQp7NDQ0OTd9ezQ0NTY5fXRv IG5pZSBtYSB0ZWdvfHcgdGFibGljeSBwaWVyd2lhc3Rr83cuDQp7NDQ2MTl9ezQ0NzE1fUlubnlt aSBzs293eSwgdG8gbmllIHBvY2hvZHppfHogbmFzemVnbyCcd2lhdGEuDQp7NDQ3NTF9ezQ0ODIx fVR5IHLzd25pZb8uDQp7NDQ4NDd9ezQ0OTY3fUplc3RlnCBvZHBvd2llZHppuSBuYSBweXRhbmll OnwiQ3p5IGplc3RlnG15IHNhbWkgd2Ugd3N6ZWNonHdpZWNpZT8iLg0KezQ1MDAxfXs0NTA4OX0t IEFsZSBqYSBuaWUgY2hj6i58LSBXY2FsZSBjaeogbmllIHdpbmnqLg0KezQ1MDkyfXs0NTE4M31U byBiebNvYnkgb2dyb21uZSBicnplbWnqIGRsYSBrYb9kZWdvLHxhbGUgdHkgbmllIGplc3RlnCB6 d3lrs3ltIGN6s293aWVraWVtLg0KezQ1MTgzfXs0NTI1MH1XaWVyeuosIL9lLi4uDQp7NDUyNzZ9 ezQ1MzM5fXd5c7Nhbm8gY2nqIHR1fHogamFraWVnb5wgcG93b2R1Lg0KezQ1MzQ4fXs0NTQyMH1U ZSB3c3p5c3RraWUgem1pYW55LHxrdPNyeWNoIGRvnHdpYWRjemFzeiwNCns0NTQyMH17NDU1NDB9 a2llZHmcIG9rYb+5IHNp6iBis29nb3OzYXdpZfFzdHdlbS58Qupkemllc3ogbXVzaWGzIHd0ZWR5 IGRva29uYeYgd3lib3J1Lg0KezQ1NTUwfXs0NTY0OH1Denkgc3RhbrnmIGR1bW5pZXxwcnplZCBs dWR6a7kgcmFzuSwgY3p5IHRlvyBuaWUuDQp7NDU2ODF9ezQ1NzUzfU5pZSBt82ezYnltIHBvIHBy b3N0dXx1ZGF3YeYgdHdvamVnbyBzeW5hPw0KezQ1NzY4fXs0NTgyMX1KZXN0ZZwgbW9pbSBzeW5l bS4NCns0NTkxOX17NDYwMTB9QWxlIGdkemllnCB0YW18bWFzeiB0Zb8gZHJ1Z2llZ28gb2pjYSwN Cns0NjAxMH17NDYwNjd9a3TzcnkgZGGzIGNpIGlubmUgaW1p6i4NCns0NjEzNX17NDYyMTF9UHJ6 eXOzYbMgY2nqIHR1fHogamFraWVnb5wgcG93b2R1Lg0KezQ2MjUwfXs0NjMwN31JIGNob+ZieSBt aWGzbyBjaSB0b3x6YWq55iBjYbNlIL95Y2llLA0KezQ2MzA3fXs0NjM4NH1tdXNpc3ogcG96bmHm IHRlbiBwb3fzZC4NCns0Njc2OH17NDY4NTZ9LSBUbyBuaWUgbWlhs3kgYnnmIOZ3aWN6ZW5pYT98 LSBabWlhbmEgcGxhbvN3Lg0KezQ2ODU2fXs0NjkzMX1abmFsZZ9saSBjb5wgZHppd25lZ298bmEg V3lzcGllIEVsbGVzbWVyZSdhLg0KezQ2OTMxfXs0NzAwNX0tIENhs3kgdHlkemll8SByb2JpuSB0 YW0genJ6dXR5LnwtIERvIHRlaiBwaXBpZPN3eT8NCns0NzAwNX17NDcwNTN9TmllerN5IG9kamF6 ZCwgY28/DQp7NDcwNTN9ezQ3MTA2fUFtZXJ5a2FuaWUgdGW/IHByenlqZWNoYWxpLnxDYbNhIG1h c2EuDQp7NDcxMDZ9ezQ3MTc4fU5henl3YWq5IHRvIGFub21hbGm5LHxjb2tvbHdpZWsgdG8gem5h Y3p5Lg0KezQ3MTgwfXs0NzI2MX0tIE9kd2FsIHNp6iwgbfN3aeogcG93Yb9uaWUufC0gTm8gY28g dHksIENocmlzc3kuDQp7NDcyNjF9ezQ3MzA3fS0gU3BhZGFqIXwtIFVzablkny4NCns0NzMwN317 NDc0MDN9LSBQdXN6Y3phaiF8LSBab3N0YXcgarkuDQp7NDc0Njh9ezQ3NTIwfUJvIGNvLCB0d2Fy ZHppZWx1Pw0KezQ3NTIwfXs0NzYwN31CbyBi6mTqIG11c2lhsyBwb3Byb3Np5ix8v2VieZwgd3lz emVksy4NCns0NzYzMX17NDc3MzF9V3lqZOosIGtpZWR5IGLqZOogbWlhs3xuYSB0byBvY2hvdOou DQp7NDc5NDJ9ezQ3OTk1fVphY3p5bmEgc2nqLg0KezQ4MTU2fXs0ODIzM31OaWUgd2FydG8uDQp7 NDgzOTZ9ezQ4NDk5fU5pZSB6YXBvbW5paiBuYXBpd2t1LCBkdXBrdS4NCns0OTc1N317NDk3ODR9 RHpp6mtpLg0KezQ5ODEwfXs0OTgzOX1DemWc5i4NCns0OTg1MX17NDk4OTl9V2l0YW0sIHBhbm5v IExhbmUuDQp7NDk5MTF9ezUwMDIxfS0gSmVkIEV1YmFua3MsICJBcmN0aWMgQ2FyZ28iLnwtIERh bGVrbyBkbyBiYXp5Pw0KezUwMDIxfXs1MDA3Nn1PYvN6IGplc3QgemEgd3puaWVzaWVuaWVtLnxa YXByb3dhZHrqIHBhbmm5Lg0KezUwMDc2fXs1MDA5OH2Md2lldG5pZS4NCns1MDA5OH17NTAxNTN9 Sm9lIHphYmllcnplIHBhbmkgYmFnYb9lLg0KezUwMTU4fXs1MDI3M30tIFBvbfO/IGplai58LSBP c3Ryb79uaWUsIHO5IGNp6r9raWUuDQp7NTAzMTR9ezUwNDMxfVN6Y3plcnplIG3zd2m5Yyx8bmll IHByemVwYWRhbSB6YSAiVGhlIERhaWx5IFBsYW5ldCIuDQp7NTA0Mzh9ezUwNTI1fUFsZSB0ZW4g cmVwb3J0Yb8sfGt083J5IHpyb2Jps2EgcGFuaSB6IDEuIGR5d2l6arkuLi4NCns1MDUzOX17NTA1 ODd9QnmzZW0gcG9kIHdyYb9lbmllbS4NCns1MDU4OX17NTA3MDd9TmFqbGVwaWVqIHBpc3plIG1p IHNp6nx3IGthbWl6ZWxjZSBrdWxvb2Rwb3JuZWouDQp7NTA4MjJ9ezUwODQ0fS9QYW5ubyBMYW5l Lg0KezUwODQ4fXs1MDk0NH1QdbNrb3duaWsgSGFyZHkgeiBkb3fzZHp0d2EsfGEgdG8gZHIgRW1p bCBIYW1pbHRvbi4NCns1MDk0NH17NTEwMjN9U3BvZHppZXdhbGmcbXkgc2nqIHBhbml8ZG9waWVy byBqdXRyby4NCns1MTAyM317NTEwOTV9V7NhnG5pZSBkbGF0ZWdvIHByenlsZWNpYbNhbSBkemlz aWFqLg0KezUxMDk4fXs1MTE2Mn1XeWphnG5pam15IHNvYmllIGplZG5vLg0KezUxMTYyfXs1MTIy NX1KZXN0ZW0gdHUgdHlsa28gZGxhdGVnbyx8v2UgdG8gdGVyZW55IEthbmFkeSwNCns1MTIyN317 NTEzMTZ9YSBzuWQgYXBlbGFjeWpueSBvZHJ6dWNps3x3YXN6IHduaW9zZWsgbyB6YWthemFuaWUg bWkgd3N06nB1Lg0KezUxMzI1fXs1MTQ0NX1Ta29ybyBtaWVyemVuaWUgZml1dPN3IG1hbXkgemEg c29iuSx8bW+/ZWNpZSBtaSBwb2themHmLCBjbyB6bmFsZZ9saZxjaWU/DQp7NTE0OTN9ezUxNTgy fVNhdGVsaXR5IE5BU0Egd3lrcnmzeSBhbm9tYWxp6i4NCns1MTU4Mn17NTE2NzF9ULN5dHkgbG9k b3dlIGJsb2t1arkgc3lnbmGzLHxhbGUgeiBwZXdub5xjabkgY2+cIHRhbSBqZXN0Lg0KezUxNjcx fXs1MTc1N30tIE1vv2UgcmFkemllY2thILPzZJ8gcG9kd29kbmE/fC0gV7l0cGxpd2UuIFRvIG1h IDMwMCBtZXRy83cuDQp7NTE3NTl9ezUxODI3fU8gd2llbGUgd2nqa3N6ZXxuab8gb2ty6nR5IHog dGFtdHljaCBjemFz83cuDQp7NTE4MzZ9ezUxODg2fUEgdGVyYXogbmFqZHppd25pZWpzemUuDQp7 NTE4OTh9ezUyMDI2fUzzZCwga3Tzcnkgb3RhY3phIHRlbiBvYmlla3QsfG1hIHByYXdpZSAyMCB0 eXNp6mN5IGxhdC4NCns1MjA3Nn17NTIxMTR9L1Bhbm5vIExhbmUhDQp7NTIxMjZ9ezUyMTYyfVBy b3N66iBzaeogbmllIHdhs+pzYeYuDQp7NTIxNjJ9ezUyMjI3fU5vY7kgdGVtcGVyYXR1cmEgc3Bh ZGEgdHUgZG8gLTQwLg0KezUyMjM3fXs1MjI5Nn1OaWUgem5hbGWfbGlieZxteSBwYW5pfGG/IGRv IHdpb3NueS4NCns1MjM3MX17NTI0MTJ9UHJvc3rqIGJhcmR6by4NCns1MjQ4MX17NTI1Nzl9LSBB IGplnGxpIGLqZOogY2hjaWGzYSBzaXVzaXU/fC0gVyBruWNpZSBzdG9pIHdpYWRyby4NCns1MzQw N317NTM0Njl9QSB0eSBkb2u5ZCBzaeogd3licmGzZZw/DQp7NTg4Nzh9ezU4OTU5fUp1vyBkb2Jy emUuDQp7NTkzMDB9ezU5MzU1fU1hc3oga3J3b3RvayB3ZXdu6nRyem55Lg0KezU5MzU1fXs1OTQy MH1KZZxsaSBnbyBuaWUgemF0YW11auouLi4NCns1OTQ1Nn17NTk1Mzd9VW1pZW0gcm9iaeYgcnpl Y3p5LHxrdPNyeWNoIGlubmkgbmllIHBvdHJhZmm5Lg0KezU5NTM3fXs1OTU4NX1Ucnp5bWFqIG1u aWUgemEgcupr6i4NCns1OTU4NX17NTk2MzF9QupkemllIGJvbGGzby4NCns2MTEwNX17NjExOTl9 L1RvLCBjbyBwdbNrb3duaWsgSGFyZHkgaSBqZWdvIHplc3Dzs3wvdXpuYWxpIHphIHJhZHppZWNr uSCz82SfIHBvZHdvZG65LA0KezYxMTk5fXs2MTI2MX0vYnmzbyB6ZGVjeWRvd2FuaWUgYmFyZHpp ZWogZWd6b3R5Y3puZS4NCns2MTI2OH17NjEzMjh9L0FuYWxpemEgaXpvdG9wb3dhfC9sb2R1IHdv a/OzIG9iaWVrdHUgd3lrYXphs2EsDQp7NjEzMzF9ezYxNDQ4fS+/ZSBiebMgb24gdyBuaW0gdXdp 6nppb255fC9vZCAxOCB0eXNp6mN5IGxhdC4NCns2MTQ1OH17NjE1NTR9L0NvIGRvIG1vamVnbyB3 eWJhd2N5LHwvem5pa265syB3cmF6IHogb2Rsb3RlbSBvYmlla3R1Lg0KezYxNTY4fXs2MTY4NX0v T2themGzbyBzaeosfC+/ZSBqZWdvIHRvv3NhbW+c5iBiebNhIGZhs3N6eXdhLg0KezYxNjg4fXs2 MTgwMX0vSmVnbyBpc3RuaWVuaWV8L3JvZHppIHByemVyYb9harljZSBweXRhbmlhLA0KezYxODAx fXs2MTg2MH0vamVkbmFrIHdpZW0sIGNvIHdpZHppYbNhbS4NCns2MTg3N317NjE5OTV9RG9zemxp IGRvIHduaW9za3UsfGm/IG9iaWVrdCBpIGplZ28gcGFzYb9lcg0KezYxOTk3fXs2MjA0N31uaWUg cG9jaG9kerkgeiBaaWVtaS4NCns2MjA4OH17NjIxNTV9TmllIHd5ZHJ1a3Vq6iB0ZWdvLnxUbyBt b2e5IGJ55iB0eWxrbyB0d29qZSB1cm9qZW5pYS4NCns2MjE1OH17NjIyMzB9Q3l3aWxuaSBwcmFj b3duaWN5fHBvdHdpZXJkemlsaSBtb2q5IHdlcnNq6i4NCns2MjIzMH17NjIyOTJ9UGVudGFnb24g emFwcnplY3phIGlzdG5pZW5pdSBzdGF0a3UuDQp7NjIyOTR9ezYyMzg4fUJvIFBlbnRhZ29uIG9k IHRlZ28gamVzdCx8v2VieSB6YXByemVjemHmLg0KezYyNDAwfXs2MjQ4NH1UbyBqYSwgUGVycnku fERvc3Rhs2FtIFB1bGl0emVyYS4NCns2MjQ4NH17NjI1NDR9LSBXaepjIHphY2hvd3VqIHNp6iBz dG9zb3duaWUufC0gRHJ1a3VqZXN6IGFsYm8gb2RjaG9keuouDQp7NjI1NDZ9ezYyNjIxfU5pZSBt b79lc3oufFdpub9lIGNp6iB1bW93YS4NCns2MjY1NH17NjI3Njd9TmllIHd5cHVzemN66iBoaXN0 b3JpaXxvIG9iY3ljaCB3nHLzZCBuYXMuDQp7NjI5MDh9ezYyOTU5fU5pYyB6IHRlZ28uDQp7NjMw MDl9ezYzMDY2fVN6a29ja2EgZGxhIHBhbmkuDQp7NjMwNzZ9ezYzMTIyfVd5c3mzYW0gY2kgb3J5 Z2luYbMuDQp7NjMxMjJ9ezYzMjE1fU5hY3plbG55IGdvIG5pZSB3eWRydWt1amUsfGFsZSBnZHli eSB0YWsgd3ljaWVrsyBkbyBzaWVjaS4uLg0KezYzMjIyfXs2MzMwNn1DenkgbmllIG9waXNhs2Gc IGtpZWR5nHxtb2plaiBzdHJvbnkgc7Nvd2FtaToNCns2MzMxM317NjM0MDl9LSAib5xsaXpns3kg cmFrIG9is3VkeSI/fC0gTmFkYWwgdGFrIHV3Yb9hbSwgV29vZGJ1cm4uDQp7NjM0MTJ9ezYzNDg0 fS0gQWxlIHRvIG11c2kgd3lqnOYgbmEgamF3LnwtIERsYWN6ZWdvPw0KezYzNDkxfXs2MzU5Mn1O aWVjaCBt82ogdGFqZW1uaWN6eSB3eWJhd2ljaWVsIHdpZSx8v2Ugem5hbSBwcmF3ZOouDQp7NjM5 MTV9ezY0MDMwfS9EaWFnbm9zdHlrYSB6YWtv8WN6b25hLnwvVG+/c2Ftb5zmIHBvdHdpZXJkem9u YS4NCns2NDA0MH17NjQxMTl9L1dzenlzdGtpZSBzeXN0ZW15IHNwcmF3bmUuDQp7NjQzOTV9ezY0 NTA1fVdpZHppZeYgY2nqfGpha28gZG9yb3OzZWdvIG3qv2N6eXpu6i4NCns2NDU0Nn17NjQ2NTZ9 LSBHZHlieSB0eWxrbyBMYXJhIG1vZ7NhIHRvIHpvYmFjennmLnwtIEtpbSBqZXN0ZZw/DQp7NjQ2 NjZ9ezY0NzMwfUplc3RlbSB0d29pbSBvamNlbSwgS2FsLg0KezY0NzQyfXs2NDgzOH1BIHezYZxj aXdpZSBqZWdvIGNpZW5pZW0sIJx3aWFkb21vnGNpuS4NCns2NDg4NH17NjQ5NzB9TmF6eXdhbSBz aeogSm9yLUVsLg0KezY1MDI1fXs2NTA4MH1BIEthbD8NCns2NTEzNn17NjUxNzR9VG8gbW9qZSBp bWnqLg0KezY1MTg4fXs2NTI0OH1LYWwtRWwsIHcgcnplY3p5IHNhbWVqLg0KezY1Mjg3fXs2NTM0 OX1NYW0gdHlsZSBweXRh8S4NCns2NTM5N317NjU1MzZ9U2u5ZCBwb2Nob2R66j98RGxhY3plZ28g bW5pZSB0dSB3eXOzYbNlnD8NCns2NTUzOH17NjU1ODJ9UG9jaG9kemlzeiB6IEtyeXB0b25hLg0K ezY1NjQ0fXs2NTc2OX1aZSCcd2lhdGEgbyBiYXJkemllaiBzdXJvd3ltfJxyb2Rvd2lza3Ugbmm/ IHppZW1za2llLg0KezY1ODM2fXs2NjAxM31EYXdubyB0ZW11LCB3IGVyemUgZWtzcGFuc2ppLHxu YXN6YSByYXNhIHBvbGVjaWGzYSBrdSBnd2lhemRvbSwNCns2NjAyM317NjYwOTJ9dyBwb3N6dWtp d2FuaXUgbm93eWNoIHNpZWRsaXNrLg0KezY2MTE5fXs2NjI0Nn1UZW4gc3RhdGVrIGJ5syBqZWRu eW0geiB3aWVsdXx3eXOzYW55Y2ggdyBiZXprcmVzLg0KezY2MjY1fXs2NjMyN31TdHdvcnp5bGmc bXkgcGxhY/N3a2l8bmEgaW5ueWNoIHBsYW5ldGFjaCwNCns2NjMyN317NjY0MzV9db95d2FquWMg bWFjaGluLHxieSBkb3N0b3Nvd2HmIJxyb2Rvd2lza28uDQp7NjY0Njl9ezY2NTk4fVByemV6IHN0 byB0eXNp6mN5IGxhdHxuYXN6YSBjeXdpbGl6YWNqYSBiebNhIHcgcm96a3dpY2llLg0KezY2NTk4 fXs2NjcyM30tIERva29ueXdhbGmcbXkgY3Vk83cufC0gQ28gc2nqIHN0YbNvPw0KezY2NzY0fXs2 Njg1N31Vc3Rhbm93aW9ubyBzenR1Y3puuSBrb250cm9s6iB1cm9kemXxLg0KezY2ODU5fXs2Njk1 NX1Qb3J6dWNvbm8gcGxhY/N3a2kgdyBrb3Ntb3NpZS4NCns2Njk1NX17NjcwMTh9V3ljemVycGFs aZxteSBuYXN6ZSB6YXNvYnkgbmF0dXJhbG5lLg0KezY3MDIzfXs2NzE0Mn1Ta3V0a2llbSBiebNh fGRlc3RhYmlsaXphY2phIGq5ZHJhIHBsYW5ldHkuDQp7NjcxODZ9ezY3MzAxfU5hc3ogd29qc2tv d3kgcHJ6eXfzZGNhLHxnZW5lcmGzIFpvZCwNCns2NzMwM317NjczNTh9ZG9rb25hsyB6YW1hY2h1 IHN0YW51Li4uDQp7NjczOTd9ezY3NDUyfWFsZSBiebNvIGp1vyB6YSBw859uby4NCns2NzQ4MH17 Njc1NTB9UmF6ZW0geiB0d29quSBtYXRruXxwcnpld2lkemllbGmcbXkga2F0YXN0cm9m6g0KezY3 NTUwfXs2NzYyNH1pIHBvZGrqbGmcbXkga3Jva2ksfGJ5IHphcGV3bmnmIGNpIHByemV0cndhbmll Lg0KezY3NjU4fXs2NzcxOH1UbyBqZXN0IGtvbW9yYSBuYXJvZHppbi4NCns2NzcxOH17Njc3OTl9 V3N6eXNjeSBLcnlwdG9uaWFuaWV8dyB0YWtpZWogc2nqIHBvY3rqbGkuDQp7Njc4MDJ9ezY3ODkz fUthv2RlIGR6aWVja28gbWlhs28gc3Bls25p5nxva3JlnGxvbrkgcm9s6iB3IHNwb7NlY3pl8XN0 d2llLg0KezY3OTAwfXs2Nzk5MX1KYWtvIHJvYm90bmlrLCB3b2pvd25payx8cHJ6eXfzZGNhIGkg dGFrIGRhbGVqLg0KezY4MDAzfXs2ODA4N31SYXplbSB6IHR3b2q5IG1hdGu5IHdpZXJ6eWxpnG15 LHy/ZSBLcnlwdG9uIHV0cmFjabMgY2+cIGNlbm5lZ28uDQp7NjgwODd9ezY4MTU5fUVsZW1lbnQg d3lib3J1LCBzemFuc3kuDQp7NjgxNTl9ezY4MjY3fUEgamWcbGkgZHppZWNrbyBtYXJ6ebNvLHxi eSB6b3N0YeYga2ltnCBpbm55bSwgbmm/IHphcGxhbm93YW5vPw0KezY4MzEwfXs2ODM5Mn1BIGpl nGxpIG1hcnp5s28gbyB3eb9zenljaCBjZWxhY2g/DQp7NjgzOTR9ezY4NDQyfUJ5s2WcIHVjaWVs ZZxuaWVuaWVtfG5hc3plaiB3aWFyeSwgS2FsLg0KezY4NDQ0fXs2ODUyMX1QaWVyd3N6ZSBuYXR1 cmFsbmUgbmFyb2R6aW55fG9kIHdpZWvzdy4NCns2ODUyOH17Njg2MTJ9RGxhdGVnbyBwb5x3aepj aWxpnG15IHdzenlzdGtvLHxieZwgb2NhbGGzLg0KezY4NjIyfXs2ODY3OX1EbGFjemVnbyBuaWUg cG9sZWNpZWxpnGNpZSB6ZSBtbrk/DQp7Njg3Mzl9ezY4Nzc4fU5pZSBtb2dsaZxteS4NCns2ODgx MX17Njg4NzF9TWltbyB0ZWdvLHxqYWsgYmFyZHpvIGNoY2llbGmcbXksDQp7Njg4NzZ9ezY4OTM4 fWphayBiYXJkem8gY2nqIGtvY2hhbGmcbXkuLi4NCns2ODkzOH17NjkwNjB9QnlsaZxteSB3eXR3 b3JlbSBuaWVwb3dvZHpl8XxuYXN6ZWdvIJx3aWF0YSwgcG9kb2JuaWUgamFrIFpvZC4NCns2OTA2 M317NjkxMTF9WndpuXphbmkgemUgc3d5bSBsb3NlbS4NCns2OTExM317NjkxNjR9LSBaYXRlbSB6 b3N0YbNlbSBzYW0ufC0gTmllLg0KezY5MjAwfXs2OTI4OH1KZXN0ZZwgbmEgcvN3bml8ZHppZWNr aWVtIFppZW1pIGkgS3J5cHRvbmEuDQp7NjkyOTN9ezY5Mzc1fU1vv2VzeiB1b3NhYmlh5iB0byx8 Y28gdyBvYnUgnHdpYXRhY2ggbmFqbGVwc3plLg0KezY5Mzc1fXs2OTQ2M31Nb79lc3ogYnnmIG1h cnplbmllbSx8emEga3TzcmUgb2RkYWxpnG15IHogbWF0a7kgv3ljaWUuDQp7Njk1NzF9ezY5NjUz fVRvIHByYXdkYSwgv2UgbWllc3prYfFjeSBaaWVtaXxy879uabkgc2nqIG9kIG5hcy4NCns2OTY1 M317Njk3MTV9QWxlIHdpZXJ66iwgv2UgdG8gZG9icnplLg0KezY5NzE1fXs2OTc4OX1OaWUgcG9w ZbNuabkgdHljaCBzYW15Y2ggYrPqZPN3LHxjbyBteS4NCns2OTc4OX17Njk4NTl9TyBpbGUgaWNo IHBvcHJvd2FkemlzeiwgS2FsLg0KezY5ODczfXs2OTk0OH1PIGlsZSBkYXN6IGltIG5hZHppZWrq Lg0KezcwMDA1fXs3MDA3MH1UbyB3s2GcbmllIG96bmFjemEgdGVuIHN5bWJvbC4NCns3MDA3Mn17 NzAxMzl9U3ltYm9sIHJvZHppbnkgRWwgb3puYWN6YSBuYWR6aWVq6i4NCns3MDEzOX17NzAyOTV9 TmFkemllamEgdG8gcG9kc3Rhd2EsfGJ5IHcgbHVkemlhY2ggb2RuYWxln+YgZG9icm8uDQp7NzAz Mjl9ezcwNDA4fVRvIHezYZxuaWUgbW+/ZXN6IGltIGRh5i4NCns3MDg1NH17NzA5MDl9L0RsYWN6 ZWdvIHRhayBzaeogb2QgbmljaCBy879uaeo/DQp7NzA5MzN9ezcxMDMxfS9JY2ggU7Nv8WNlIGpl c3QgbbNvZHN6ZXwvaSBqYZxuaWVqc3plIG5pvyBuYXN6ZS4NCns3MTAzNn17NzEwOTZ9L1R3b2pl IGtvbfNya2l8L2N6ZXJwabkgeiBuaWVnbyBlbmVyZ2nqLA0KezcxMDk2fXs3MTE4N30vd3ptYWNu aWFquWMgdHdvamUgbWnqnG5pZSx8L3Nr83LqIGkgem15c7N5Lg0KezcxMjA2fXs3MTMzNn0vWmll bXNrYSBncmF3aXRhY2phIGplc3Qgc7NhYnN6YSx8L2EgYXRtb3NmZXJhIGJhcmR6aWVqIG+/eXdj emEuDQp7NzEzMzZ9ezcxNDEzfS9XeXJvc7NlnCBzaWxuaWVqc3p5fC9wb25hZCBtb2plIHd5b2Jy Yb9lbmlhLg0KezcxNDIwfXs3MTU1Nn0vQnkgc2nqIGRvd2llZHppZeYsIGphayBzaWxueSx8L211 c2lzeiBzaeogd2Npub8gc3ByYXdkemHmLg0KezcyODA2fXs3MjkxMX0vUG9rYb9lc3ogbWllc3pr YfFjb20gWmllbWkgaWRlYbMsfC9kbyBrdPNyZWdvIGLqZLkgZLm/eeYuDQp7NzI5NDJ9ezczMDU1 fS9C6mS5IHBy82Jvd2HmIGNp6iBnb25p5ix8L2LqZLkgc2nqIHBvdHlrYeYsIHVwYWRh5i4NCns3 MzA1N317NzMxMDV9L0FsZSB6IGN6YXNlbS4uLg0KezczMTMyfXs3MzIwNH0vZG+zuWN6uSBkbyBj aWViaWUsfC9raWVkeSB3c3RhbmllIHOzb/FjZS4NCns3MzIzMH17NzMzNTl9L1ogY3phc2VtLHwv cG9tb79lc3ogaW0gY3p5bmnmIGN1ZGEuDQp7NzUzMjN9ezc1NDMzfS9KYWsgem5hbGWf5iBrb2dv nCx8L2t0byBjYbNlIL95Y2llIHNp6iB1a3J5d2GzPw0Kezc1NDMzfXs3NTUwOH0vVHJ6ZWJhIHN6 dWth5nwvd5xy82QgbWllanNraWNoIGxlZ2VuZC4NCns3NTUxN317NzU1OTZ9L1eccvNkIHpuYWpv bXljaCB6bmFqb21lZ28sfC9rdPNyenkgamFrb2J5IGdvIHdpZHppZWxpLg0Kezc1NjEzfXs3NTY4 M30vRGxhIG5pZWt083J5Y2ggYnmzIGFuaW+zZW0gc3Ry879lbS4NCns3NTY4M317NzU3Nzl9L0Rs YSBpbm55Y2ggamVkeW5pZSBkdWNoZW0uDQp7NzU4MjR9ezc1OTQ5fS9JbSBkYWxlaiB3IGN6YXNp ZSx8L3R5bSBiYXJkemllaiB3c3p5c3RrbyB6YWN66rNvIHNp6iB6YXrqYmlh5i4NCns3NTk0OX17 NzYwMzd9LSBabmEgcGFuIG1vv2UgUGV0ZSdhIFJvc3NhP3wtIFByYWN1amUgdyBJSG9wLg0Kezc2 MDQyfXs3NjA5NX1Q82pkemllIHBhbmkgdyB0YW10eW0ga2llcnVua3UuLi4NCns3NjEwOX17NzYx NTd9UGV0ZSBSb3NzPw0Kezc2MTg0fXs3NjMxM31DaGNpYbNhYnltIHBvcm96bWF3aWHmIG8gYXV0 b2J1c2llLHxrdPNyeSB3cGFksyBkbyByemVraS4NCns3NjQ1NX17NzY1MDN9UnVzdHkhDQp7NzY1 MTB9ezc2NTQzfVBhbmkgS2VudD8NCns3NjU1NX17NzY2MjV9SmVzdGVtIExvaXMgTGFuZXx6ICJU aGUgRGFpbHkgUGxhbmV0Ii4NCns3NjYzN317NzY2ODV9U3Bva/NqIQ0Kezc2NjkwfXs3Njc3Nn1D aGNpYbNhYnltIHBvcm96bWF3aWHmIG8gcGFuaSBzeW51Lg0Kezc2ODI5fXs3NjkxM31KT05BVEhB TiBLRU5UfFVLT0NIQU5ZIE2lryBJIE9KQ0lFQw0Kezc3MjAzfXs3NzMwNn1XaWVkemlhs2FtLCC/ ZSB3IGtv8WN1fG1uaWUgem5hamR6aWVzei4NCns3NzQzM317Nzc0OTB9U2u5ZCBqZXN0ZZw/DQp7 Nzc0OTB9ezc3NTQ4fUNoY+ogb3Bvd2llZHppZeYgnHdpYXR1IHR3b2q5IGhpc3RvcmnqLg0Kezc3 NTQ4fXs3NzY4Mn0tIEEgamWcbGkgamEgdGVnbyBuaWUgY2hj6j98LSBUbyBuaWV1bmlrbmlvbmUu DQp7Nzc2ODV9ezc3NzU5fUt0b5wgenJvYmkgemRq6mNpZSx8ZG93aWUgc2nqLCBnZHppZSBtaWVz emthc3ouDQp7Nzc3NTl9ezc3Nzk1fVd0ZWR5IHpub3d1IHpuaWtu6i4NCns3Nzc5N317Nzc4NzJ9 VWRhs29ieSBjaSBzaeogdG8sfGdkeWJ5nCBwcnplc3RhsyBwb21hZ2HmIGx1ZHppb20sDQp7Nzc4 NzR9ezc3OTYwfWFsZSBjenVq6ix8v2UgdG8gbmllIHdjaG9kemkgdyByYWNodWLqLg0Kezc4MDMw fXs3ODA3NX1N82ogb2pjaWVjIHdpZXJ6ebMsDQp7NzgwNzV9ezc4MTU1fb9lIGplnGxpIGx1ZHpp ZSBkb3dpZWR6uSBzaeosfGtpbSBqZXN0ZW0uLi4NCns3ODE4MX17NzgyNDZ9d3lyemVrbrkgc2nq IG1uaWUsIHplIHN0cmFjaHUuDQp7NzgzMDF9ezc4MzUxfS9NYW0ganW/IGRvnOYgdWtyeXdhbmlh IHNp6i4NCns3ODM1MX17Nzg0MDJ9Q2hj6iByb2Jp5iBjb5wgcG+/eXRlY3puZWdvLg0Kezc4NDAy fXs3ODQ3MX1QcmFjYSBuYSBmYXJtaWV8bmllIGplc3QgcG+/eXRlY3puYT8NCns3ODQ3M317Nzg1 MDJ9VGVnbyBuaWUgcG93aWVkemlhs2VtLg0Kezc4NTAyfXs3ODU3Mn1OYXN6YSByb2R6aW5hIHBy YWN1amUgbmEgcm9saXxvZCBwaepjaXUgcG9rb2xl8S4NCns3ODU3NH17Nzg2MzR9V2FzemEsIGFs ZSBuaWUgbW9qYS4NCns3ODYzNH17Nzg3MzJ9TmF3ZXQgbmllIGplc3RlnCBtb2ltIG9qY2VtLnxU eSB0eWxrbyBtbmllIHpuYWxherNlnC4NCns3ODczMn17Nzg3NjR9Q2xhcmshDQp7Nzg4MTZ9ezc4 ODc0fU5pYyBzaeogbmllIHN0YbNvLg0Kezc4OTAwfXs3ODk2NX1DbGFyayBtYSByYWNq6i4NCns3 ODk3MH17NzkwMzJ9TmllIGplc3RlnG15IHR3b2ltaSByb2R6aWNhbWkuDQp7NzkwNDJ9ezc5MTM1 fUFsZSBvZCBzYW1lZ28gcG9jerl0a3V8ZG9rs2FkYWxpnG15IHdzemVsa2ljaCBzdGFyYfEuDQp7 NzkxMzV9ezc5MjYwfU1vv2UgdG8ganW/IG5pZSB3eXN0YXJjenkuDQp7NzkzNDl9ezc5NDIzfS0g UG9zs3VjaGFqLCB0YXRvLi4ufC0gQ3pla2FqLg0Kezc5OTEyfXs3OTk3N31OYSBlc3Rha2Fk6i4N Cns3OTk5Nn17ODAwNDF9SWSfY2llIG5hIGVzdGFrYWTqIQ0KezgwMDc3fXs4MDEwOX1LcnlqY2ll IHNp6iENCns4MDEyNX17ODAxNzF9SWSfY2llIHphIG5pbSENCns4MDI3Nn17ODAzMDh9VXRrbuqz YSENCns4MDM1MX17ODAzOTJ9WmEgbW65IQ0KezgwNDA2fXs4MDQ4MH1IYW5rIHpvc3RhsyB3IHdv emllIQ0KezgwNTE0fXs4MDU2NH0tIFDzamTqIHBvIG5pZWdvLnwtIE5pZS4NCns4MDU4MX17ODA2 Mzh9WmFiaWVyeiBtYW3qIG5hIGVzdGFrYWTqLg0KezgxMzMxfXs4MTM4N30tIEpvbmF0aGFuIXwt IE5pYyBtdSBuaWUgamVzdC4NCns4MTg2OH17ODE5MDd9LSBKb25hdGhhbiF8LSBab3N0YfEsIG1h bW8uDQp7ODI1MjV9ezgyNTY2fS9UYXRvIQ0KezgyNjQ1fXs4MjczNn0vUG96d29sabNlbSB6Z2lu ueYgb2pjdSx8L2JvIG11IHVmYbNlbS4NCns4MjczOX17ODI4Mzl9QnmzIHByemVrb25hbnksfL9l IGJ5s28gemEgd2N6ZZxuaWUuDQp7ODI4NTZ9ezgyOTE2fYx3aWF0IG5pZSBiebMgbmEgbW5pZSBn b3Tzdy4NCns4Mjk1MH17ODMwMTV9QSB0eSBqYWsgdXdhv2Fzej8NCns4MzA5OH17ODMxNTR9TGVw aWVqIHV3Yb9haiwgTG9pcy4NCns4MzE3OH17ODMyMTF9UGVycnkgY2nqIHphYmlqZS4NCns4MzIx Nn17ODMyODN9V2llLCC/ZSB0byB0eSBqZXN0ZZx8YW5vbmltb3d5bSCfcvNks2VtIFdvb2RidXJu YS4NCns4MzI4OH17ODMzMzZ9Um96ZXJ3aWUgY2nqIG5hIHN0cnrqcHkuDQp7ODMzNjB9ezgzMzkz fVBhdHJ6Y2llIG5hIG5puS4NCns4MzQ0NH17ODM1MDh9TmllIHd5ZGGzZW0gbmEgdG8gemV6d29s ZW5pYS4NCns4MzUwOH17ODM1NzN9RGGzYZwgdG8gV29vZGJ1cm5vd2ksfL9lYnkgcHWcY2mzIHRv IHcgSW50ZXJuZWNpZS4NCns4MzU3Nn17ODM2NTV9V3lkYXdjeSC/uWRharksfL9lYnltIGNp6iBw b3p3YbMuDQp7ODM2NTd9ezgzNzE5fUkgdGFrIHRvIHJ6dWNhbS4NCns4MzcyMn17ODM3ODJ9LSBU YWsgcG8gcHJvc3R1P3wtIFezYZxuaWUuDQp7ODM4MDh9ezgzODc1fS0gQSB0d29qZSBwcnplY3p1 Y2lhP3wtIE5pZSBzcHJhd2R6abN5IHNp6i4NCns4Mzg3NX17ODM5MDZ9VGEgaGlzdG9yaWEgdG8g bmlld3lwYbMuDQp7ODM5MDl9ezgzOTkzfUEgbW+/ZSBuaWUgYnmzYSB0YWsgY2lla2F3YSx8amFr IHNp6iBzcG9kemlld2GzYZwuDQp7ODQwMTR9ezg0MDkxfUR3YSB0eWdvZG5pZSBiZXpws2F0bmVn byB1cmxvcHUuDQp7ODQwOTF9ezg0MTU4fUplc3pjemUgamVkZW4gdGFraSB3eXNrb2ssfHRvIGNp 6iB6d29sbmnqLg0Kezg0MTU4fXs4NDE4MH1Eb2JyemUuDQp7ODQxODV9ezg0Mjc4fVNrb3JvIG1h bSB0d29quSB6Z29k6ix8bmllY2ggYupkuSB0cnp5IHR5Z29kbmllLg0Kezg0MzI0fXs4NDM4NH1X aWVyeuosIL9lIGNvnCB3aWR6aWGzYZwsDQp7ODQzODR9ezg0NDU1fWFsZSBuaWUgdXdpZXJ66ix8 v2UgcHJ6ZWN6dWNpZSBjaeogbXlsabNvLg0Kezg0NDU4fXs4NDU2OH1aIGpha2llZ29rb2x3aWVr IHBvd29kdXxwb3J6dWNhc3ogdOogc3ByYXfqLi4uDQp7ODQ1NzF9ezg0NjUwfS0gdXdhv2FtLCC/ ZSBwb3N06nB1amVzeiBzs3Vzem5pZS58LSBEbGFjemVnbz8NCns4NDY4Nn17ODQ3ODR9V3lvYnJh v2FzeiBzb2JpZSByZWFrY2rqIGx1ZHppLi4uDQp7ODQ3ODl9ezg0OTA5fWdkeWJ5IGRvd2llZHpp ZWxpIHNp6nxvIGlzdG5pZW5pdSBrb2dvnCB0YWtpZWdvPw0Kezg1MzUwfXs4NTM4OH1CaWVyeiBn byENCns4NTUzNH17ODU1ODB9UG9wYXRyemNpZSB0eWxrbyENCns4NTk4MH17ODYwMzF9QnmzYSB0 dSBkemllbm5pa2Fya2EuDQp7ODYwNDN9ezg2MTEyfVNwb2tvam5pZSwgdG8gcHJ6eWphY2nzs2th Lg0Kezg2MTc1fXs4NjIzMn0tIE1hbW8ufC0gQ28/DQp7ODYyNjh9ezg2MzI2fS0gWm5hbGF6s2Vt IGljaC58LSBLb2dvPw0Kezg2MzUyfXs4NjM5NX1Nb2ljaCByb2R6aWPzdy4NCns4NjQxNH17ODY0 NTV9TfNqIGx1ZC4NCns4NjQ2N317ODY1NDl9V2llbSwgc2u5ZCBwb2Nob2R66i4NCns4NjYzN317 ODY2ODB9VG8gd3NwYW5pYWxlLg0Kezg2NzI2fXs4Njc3NH1CYXJkem8gc2nqIGNpZXN66i4NCns4 Njk5NX17ODcwNjl9LSBPIGNvIGNob2R6aT98LSBPIG5pYy4NCns4NzExNH17ODcyMDN9R2R5IGJ5 s2WcIG1hbHV0a2ksfGuzYWSzYW0gc2nqIHByenkga2+zeXNjZS4NCns4NzIwM317ODcyNTN9V3Oz dWNoaXdhs2FtIHNp6iB3IHR382ogb2RkZWNoLg0Kezg3MjczfXs4NzMyOH1CebNvIGNpIGNp6r9r by4NCns4NzM0Mn17ODc0MzF9TepjenmzZZwgc2nqLHxhIGphIHNp6iB6YW1hcnR3aWGzYW0uDQp7 ODc0MzF9ezg3NTEwfUJhs2GcIHNp6iwgv2Uga3RvnCBwb3puYSBwcmF3ZOouDQp7ODc1MTB9ezg3 NjMwfU5pZS58UHJhd2RhIG8gdG9iaWUgamVzdCBjdWRvd25hLg0Kezg3NjM3fXs4NzcxNH1XaWVk emllbGmcbXkgdG8sfGdkeSB0eWxrbyBjaeogdWpyemVsaZxteS4NCns4Nzc3MX17ODc5MDN9V2ll ZHppZWxpnG15LCC/ZSBraWVkeZx8Y2GzeSCcd2lhdCB0byB6cm96dW1pZS4NCns4NzkzMH17ODc5 Nzh9UG8gcHJvc3R1hQ0Kezg3OTgwfXs4ODA1NH1ib2rqIHNp6iwgv2UgbWkgY2llYmllIHphYmlv crkuDQp7ODgwOTB9ezg4MTQ4fU5pZ2R6aWUgc2nqIG5pZSB3eWJpZXJhbSwgbWFtby4NCns4ODE5 MX17ODgyMzl9T2JpZWN1auouDQp7ODgzNjh9ezg4NTIyfS0gUGFuaWUgZ2VuZXJhbGUufC0gVG8g a29tZXRhPyBBc3Rlcm9pZGE/DQp7ODg1NDN9ezg4NjU0fUtvbWV0eSBuaWUgZG9rb251arkga29y ZWt0eSBrdXJzdS4NCns4ODcwOX17ODg4MjF9Q2hjaWGzZW0sIL9lYnkgcGFuIHRvIHpvYmFjenmz LHx6YW5pbSBrdG+cIHd5d2+zYSBvZ/Nsbm+cd2lhdG93uSBwYW5pa+ouDQp7ODg4NDN9ezg4OTQx fVN0YXRlayBqZXN0IG5hIG9yYmljaWUgb2tvs29rc2nqv3ljb3dlai4NCns4ODk1Nn17ODkwMDF9 TmllIHdpYWRvbW8gcG8gY28uDQp7ODkwMTN9ezg5MDkyfVBy82Jvd2FsaZxjaWUga29udGFrdHU/ DQp7ODkwOTV9ezg5MTYyfUphayBuYSByYXppZSBuaWUgb2Rwb3dpYWRharkuDQp7ODkyMTB9ezg5 MjY1fVRvIHR5bGtvIHByenlwdXN6Y3plbmlhLA0Kezg5Mjc3fXs4OTM5N31hbGUga3Rva29sd2ll ayB0eW0gcHJ6eWxlY2lhsyx8Y2hjZSB3eXdyemXmIG5hIG5hcyB3cmG/ZW5pZS4NCns4OTUzMX17 ODk2MDN9S3RvnCB3aWUsfGdkemllIG1hbXkgemFwYXNvd2UgdG9uZXJ5Pw0Kezg5NjAzfXs4OTY2 M30tIE8gY28gY2hvZHppP3wtIEplc3QgbmEgd3N6eXN0a2ljaCBrYW5hs2FjaC4NCns4OTY2M317 ODk3MTF9TXVzaXN6IHRvIHpvYmFjennmLg0KezkwMzUxfXs5MDM5MH1DbGFyayENCns5MDM5MH17 OTA0NDB9SWTqLg0KezkxNTE0fXs5MTU2Mn0vTmllIGplc3RlnGNpZSBzYW1pLg0KezkxNjA1fXs5 MTY2M30vTmllLi4uIGplc3QuLi4gc2EuLi4NCns5MTcwM317OTE3Njh9L05pZSBqZXN0ZZxjaWUg c2FtaS4NCns5MjU4M317OTI2NzJ9LSBUbyBpZHppZSBwcnpleiBSU1MufC8tIE5pZSBqZXN0ZZxj aWUgc2FtaS4NCns5MjY4NH17OTI3NDZ9TmEgdGVsZWZvbmllIHRlvyB0byBtYW0uDQp7OTI3ODB9 ezkyODQ3fS9KZXN0ZW0gZ2VuZXJhsyBab2QuDQp7OTI4ODF9ezkyOTc0fS9Qcnp5Ynl3YW0geiBv ZGxlZ7NlaiBwbGFuZXR5Lg0KezkyOTgxfXs5MzEwMX0vUHJ6ZWJ5s2VtIGRvIHdhc3wvY2GzeSBv Y2VhbiBnd2lhemQuDQp7OTMxMjV9ezkzMjMzfS9PZCBqYWtpZWdvnCBjemFzdSB3YXN6IJx3aWF0 fC9nb5xjaSBuYXN6ZWdvIG9ieXdhdGVsYS4NCns5MzIzNX17OTMzNjV9L6+5ZGFtLCBieZxjaWUg d3lkYWxpIGdvfC9wb2QgbW9quSBwaWVjeuouDQp7OTMzNzd9ezkzNTI4fS9aIG5pZXpuYW55Y2gg cHJ6eWN6eW58L3Bvc3Rhbm93abMgdWtyeeYgcHJ6ZWQgd2FtaSBzd2UgaXN0bmllbmllLg0Kezkz NTUwfXs5MzYzMX0vVWN6eW5pIHdzenlzdGtvLHwvYnkgd3RvcGnmIHNp6iB3IG90b2N6ZW5pZS4N Cns5MzYzMX17OTM2OTZ9L1Vwb2RvYm5pIHNp6iBkbyB3YXMuDQp7OTM2OTZ9ezkzNzU2fS9KZWRu YWsgbmllIGplc3QgamVkbnltIHogd2FzLg0KezkzNzg5fXs5NDAyOX0vSmWcbGkgem5hc3ogbWll anNjZSBqZWdvIHBvYnl0dSx8L2xvcyBaaWVtaSBqZXN0IHcgdHdvaWNoIHLqa2FjaC4NCns5NDA1 MX17OTQxMTV9L1OzdWNoYWogbW5pZSwgS2FsLUVsLg0Kezk0MTY4fXs5NDI2OX0vUG9kZGFqIHNp 6iB3IGNpuWd1IDI0IGdvZHppbi4uLg0Kezk0MzE3fXs5NDQyNX0vYWxibyBwYXRyeix8L2phayB0 ZW4gnHdpYXQgYupkemllIGNpZXJwaWGzLg0Kezk0NzU4fXs5NDgyMH0vTmljIG8gbmltIG5pZSB3 aWVteS4NCns5NDgyMH17OTQ5NTB9L0plnGxpIG1hIG5hIHd6Z2zqZHppZSBuYXN6ZSBkb2Jybyx8 L3Bvd2luaWVuIG9kZGHmIHNp6iB3IGljaCBy6mNlLg0Kezk0OTUwfXs5NTAzMX0vSmWcbGkgZ28g bmEgdG8gbmllIHN0YeYsfC9tb79lIHBvd2lubmmcbXkgZ28gd3lkYeYuDQp7OTUwMzF9ezk1MTQy fS9Qb3dpbm5pnG15IHNweXRh5iBMb2lzIExhbmUsfC9rdPNyYSB6bmEgamVnbyB0b79zYW1vnOYu DQp7OTUxNDZ9ezk1MjExfS9Ud2llcmR6aSBwYW4sfC+/ZSBMb2lzIExhbmUgd2llLi4uDQp7OTUy MjN9ezk1MzAwfU9nbLlkYXN6IHRvP3xQdXN6Y3pharkgb2Qgc2FtZWdvIHJhbmEuDQp7OTUzMDB9 ezk1MzY1fVBpZXJ3c3p5IHJheiBzaeogeiBuaW0gemdhZHphbS58V2lkemlhs2GcIGdvPw0Kezk1 MzcyfXs5NTQyOX1OaWUgaSBuaWdkeSBieW0gY2kgbyB0eW18bmllIHBvd2llZHppYbNhLg0Kezk1 NDI5fXs5NTUzMH1UbyB6YWdyb79lbmllIGRsYSBjYbNlZ28gnHdpYXRhLg0Kezk1NTQwfXs5NTYy OH0vTmllIGN6YXMgemFzs2FuaWHmIHNp6nwvZHppZW5uaWthcnNruSBldHlruS4NCns5NTYzNX17 OTU3NTN9L1RvIHBvd2G/bmEgc3ByYXdhLnwvRkJJIHJ6dWNhIHR1IG9za2Fyv2VuaWFtaSBvIHpk cmFk6i4NCns5NTc1M317OTU3OTl9TXVzeuoga2/xY3p55i4NCns5NjE4MH17OTYyNjR9RkJJLCBy 6mNlIGRvIGfzcnkhfFJ6deYgYmFnYb8hDQp7OTY0MjJ9ezk2NTA2fS9PIG5hc3p5Y2ggZ2+cY2lh Y2h8L3dpZW15IG5hIHJhemllIGJhcmR6byBuaWV3aWVsZS4NCns5NjUwOH17OTY2MjF9L1dlZLN1 ZyBvcGluaWkgcnq5ZG93eWNoIGVrc3BlcnTzd3wvbmllIHN0YW5vd2m5IHphZ3Jvv2VuaWEsDQp7 OTY2MjF9ezk2Njc4fS9taW1vIHqzb3dyb2dpZWdvIHRvbnV8L2ljaCBwcnpla2F6dS4NCns5NjY3 OH17OTY3OTF9L1dzenlzY3kgamVkbmFrIHphZGFquSBzb2JpZSBweXRhbmllOnwvS2ltIGplc3Qg S2FsLUVsPw0Kezk2NzkxfXs5Njg5NH0vQ3p5IG5hcHJhd2TqIGlzdG5pZWplP3wvSmFrIG3zZ7Mg dGFrIGSzdWdvIHBvem9zdGF3YeYgdyB1a3J5Y2l1Pw0Kezk3MDA3fXs5NzA1NX1ObyBjaG9knywg S2VudC4NCns5NzE5Nn17OTcyMzd9V2FsY3ohDQp7OTcyNDR9ezk3MjkyfVdzdGF3YWouDQp7OTcz NTB9ezk3MzkzfVRvIHdzenlzdGtvPw0Kezk3NDA3fXs5NzQ1OH1UeWxrbyBuYSB0eWxlIGNp6iBz dGHmPw0Kezk3NDc0fXs5NzUyMH1ObyBkYWxlaiwgS2VudC4NCns5NzU0Mn17OTc1NzV9V2FsY3oh DQp7OTgyNjh9ezk4MzU5fS0gWnJvYmlsaSBjaSBrcnp5d2TqP3wtIFByemVjaWW/IHdpZXN6LCC/ ZSBuaWUgbW9nuS4NCns5ODM2OX17OTg0MzF9UHl0YbNlbSwgY3p5IHdzenlzdGtvIGdyYT8NCns5 ODQ2MH17OTg1NzB9LSBUYWsgYmFyZHpvIGNoY2lhs2VtIG11IHByenl3YWxp5i58LSBXaWVtLg0K ezk4NTgyfXs5ODY3MX1UZb8gY2hjaWGzZW0sfL9lYnmcIHRvIHpyb2JpsywgYWxlIGNvIHBvdGVt Pw0Kezk4NjczfXs5ODczMX1Qb2N6dbNieZwgc2nqIGxlcGllaj8NCns5ODc3Mn17OTg4ODd9TXVz aXN6IHpkZWN5ZG93YeYsfG5hIGpha2llZ28gY3qzb3dpZWthIHd5cm+cbmllc3ouDQp7OTg4ODd9 ezk4OTYxfUJvIHRlbiBjerNvd2llaywgZG9icnkgY3p5IHqzeS4uLg0Kezk5MDA0fXs5OTA3MX1v ZG1pZW5pIJx3aWF0Lg0Kezk5MTg0fXs5OTIzMn0vQ28gY2nqIGdu6mJpPw0Kezk5MzU5fXs5OTQ1 NX0tIE5pZSB3aWVtLCBvZCBjemVnbyB6YWN6ueYufC0gT2QgY3plZ28gY2hjZXN6Lg0Kezk5NDkx fXs5OTU2NX1UZW4gc3RhdGVrLCBrdPNyeSBzaeogcG9qYXdpsy4uLg0Kezk5NTcwfXs5OTYzMn1U byBtbmllIHN6dWtharkuDQp7OTk3MjN9ezk5ODM4fS0gV2llc3osIGN6ZWdvIG9kIGNpZWJpZSBj aGO5P3wtIE5pZS4NCns5OTg0MX17OTk5NzN9TmF3ZXQgamWcbGkgc2nqIHBvZGRhbSx8Z2VuZXJh syBab2QgbW+/ZSBuaWUgZG90cnp5bWHmIHOzb3dhLg0Kezk5OTg1fXsxMDAxMDB9SmWcbGkgb2Rk YWq5YyBzaeogdyBpY2ggcupjZXxtb2fqIG9jYWxp5iBaaWVtaeouLi4NCnsxMDAxMTR9ezEwMDE2 Mn1jenkgbmllIHBvd2luaWVuZW0gdGVnbyB1Y3p5bmnmPw0KezEwMDE4MX17MTAwMjg3fS0gQ28g cG9kcG93aWFkYSBjaSBpbnR1aWNqYT98LSBab2Rvd2kgbmllIG1vv25hIHVmYeYuDQp7MTAwMzQy fXsxMDA0NzZ9UHJvYmxlbSB3IHR5bS4uLny/ZSBuaWUgcG90cmFmaeogdGW/IHphdWZh5iBsdWR6 aW9tLg0KezEwMDY1OH17MTAwNzQ3fUN6YXNhbWkgdHJ6ZWJhIHV3aWVyennmLi4uDQp7MTAwNzcx fXsxMDA4Mjl9YSB6YXVmYW5pZSBwcnp5amR6aWUgeiBjemFzZW0uDQp7MTAxNDAyfXsxMDE0NjR9 VWRhs28gY2kgc2nqfHByenljablnbrnmIG5hc3q5IHV3YWfqLg0KezEwMTQ2OX17MTAxNTUwfS0g Q3plZ28gY2hjZXN6P3wtIENoY+ogcm96bWF3aWHmIHogTG9pcyBMYW5lLg0KezEwMTU1OH17MTAx NjA4fVNruWQgcG9teXOzLCC/ZSBqZXN0IHogbmFtaT8NCnsxMDE2MDh9ezEwMTY5NH1OaWUgYmF3 bXkgc2nqIHcgY2l1Y2l1YmFia+oufFBvZGRhbSBzaeouDQp7MTAxNjk3fXsxMDE3ODF9UG9kIHdh cnVua2llbSx8v2UgemFnd2FyYW50dWplY2llIGplaiB3b2xub5zmLg0KezEwMTk5Mn17MTAyMDYx fS9EbGFjemVnbyBvZGRhamVzeiBzaeogdyBy6mNlIFpvZGE/DQp7MTAyMDcxfXsxMDIxNTl9T2Rk YWrqIHNp6iB3IHLqY2UgbHVkemtvnGNpLHx0byBy879uaWNhLg0KezEwMjE4Nn17MTAyMjM2fVBv endvbGmzZZwgc2nqIHNrdeYuDQp7MTAyMjQ4fXsxMDIzMzd9SW5hY3plaiBuaWUgd3lnbLlkYbNv YnkgdG8gd2lhcnlnb2RuaWUuDQp7MTAyMzQ0fXsxMDI0NzF9U2tvcm8gcG9jenVsaSBzaeogYmV6 cGllY3puaWVqc2ksfHRvIHR5bSBsZXBpZWouDQp7MTAyNTY5fXsxMDI2NjB9Q28gb3puYWN6YSB0 YSBsaXRlcmEgIlMiPw0KezEwMjY4N317MTAyNzQ0fVRvIG5pZSBsaXRlcmEuDQp7MTAyNzU2fXsx MDI4MjZ9VyBtb2ltIJx3aWVjaWUgdG8gc3ltYm9sIG5hZHppZWkuDQp7MTAyODM4fXsxMDI5MzR9 QSB3IG5hc3p5bSB0byBsaXRlcmEgIlMiLg0KezEwMjk3Mn17MTAzMDQ2fUEgbW+/ZS4uLg0KezEw MzExNn17MTAzMTgxfS0gU3VwZXIuLi58Ly0gV2l0YW0uDQp7MTAzMTk1fXsxMDMyNzd9LSBKZXN0 ZW0gZG9rdG9yLi4ufC8tIEVtaWwgSGFtaWx0b24sIHdpZW0uDQp7MTAzMjg0fXsxMDMzMzl9V2lk euogaWRlbnR5ZmlrYXRvcnx3IHBh8XNraWVqIGtpZXN6ZW5pLg0KezEwMzM0MX17MTAzNDEzfUkg bmFwb2N66nRlIG9wYWtvd2FuaWUgZHJvcHPzdy4NCnsxMDM0MjB9ezEwMzUzM30vV2lkeuogdGW/ IHphIHdhbWl8L29kZHppYbMgv2+zbmllcnp5IHogcGFyYWxpemF0b3JlbS4NCnsxMDM1MzN9ezEw MzU2N31OaWUgYupkemllIHBvdHJ6ZWJueS4NCnsxMDM1Njd9ezEwMzY1NX1NdXNpbXkgc2nqIGph a2+cIHphYmV6cGllY3p55i4NCnsxMDM2NTV9ezEwMzcxOH1Nb79lIHBhbiBieeYgbm9zaWNpZWxl bXxqYWtpZWdvnCB3aXJ1c2EuDQp7MTAzNzIzfXsxMDM3OTd9r3lq6iB0dSBvZCAzMyBsYXR8aSBq ZXN6Y3plIG5pa29nbyBuaWUgemFyYXpps2VtLg0KezEwMzgwNH17MTAzODk4fUFsYm8gbyB0eW0g bmllIHdpZXN6LnxNYW15IHBvZHN0YXd5IGRvIG9iYXcuDQp7MTAzODk4fXsxMDQwMTd9V3lqYXdp s2WcIHN3b2q5IHRvv3NhbW+c5iBwYW5uaWUgTGFuZS58L0RsYWN6ZWdvIG5pZSB3eWphd2lzeiBq ZWogbmFtPw0KezEwNDA0NH17MTA0MTExfUthcnR5IG5hIHN087MsIGdlbmVyYWxlLg0KezEwNDEy OH17MTA0MTkzfUJvaWNpZSBzaeogbW5pZSx8Ym8gbmllIG1vv2VjaWUgbW5pZSBrb250cm9sb3dh 5i4NCnsxMDQxOTN9ezEwNDI2NH1OaWdkeSBuaWUgYupkemllY2llIG1vZ2xpLg0KezEwNDI3Nn17 MTA0MzI5fUFsZSB0byBuaWUgb3puYWN6YSx8v2UgamVzdGVtIHdhc3p5bSB3cm9naWVtLg0KezEw NDMzMn17MTA0NDAzfUEga3RvIG5pbSBqZXN0PyBab2Q/DQp7MTA0NDE4fXsxMDQ1MTZ9LSBUZWdv IHezYZxuaWUgc2nqIG9iYXdpYW0ufC0gVGFrIGN6eSBpbmFjemVqLA0KezEwNDUxOX17MTA0NjAw fXd5ZGGzZW0gcm96a2F6LHxieSBjaeogZG8gbmllZ28gZG9wcm93YWR6b25vLg0KezEwNDYwN317 MTA0NjcwfU5pZWNoIHBhbiByb2JpIHN3b2plLCBnZW5lcmFsZS4NCnsxMDQ3NzV9ezEwNDg1N30t IER6aeprdWrqLnwtIFphIGNvPw0KezEwNDg3MX17MTA0OTI5fVphIHRvLCC/ZSB3ZSBtbmllIHV3 aWVyenmzYZwuDQp7MTA0OTgxfXsxMDUwNDF9SSB0YWsgbmllIG1hIHRvIHpuYWN6ZW5pYS4NCnsx MDUwNTF9ezEwNTA5NH1EbGEgbW5pZSBtYS4NCnsxMDU1ODN9ezEwNTYzM31OYWRsYXR1arkuDQp7 MTA1NjMzfXsxMDU2ODF9UG93aW5uYZwganW/IGmc5i4NCnsxMDU3Mjl9ezEwNTc4MH1PZGVqZJ8s IExvaXMuDQp7MTA3NDgyfXsxMDc1OTB9S2FsLUVsLCBqZXN0ZW0gcG9kZG9382RjYSBGYW9yYS1V bC4NCnsxMDc1OTJ9ezEwNzY4OH1XIGltaWVuaXUgZ2VuZXJhs2EgWm9kYXxwcnpla2F6dWrqIGNp IHBvemRyb3dpZW5pYS4NCnsxMDc4MDN9ezEwNzg3NX0tIFBhbiB0dSBkb3dvZHppP3wtIE93c3pl bS4NCnsxMDc4Nzh9ezEwNzk4OH1HZW5lcmGzIFpvZCBjaGNlLHxieSB0YSBrb2JpZXRhIG1pIHRv d2FyenlzenmzYS4NCnsxMDgwMTR9ezEwODEyOX1DaGNpZWxpnGNpZSBvYmNlZ28ufE5pZSBiebNv IG1vd3kgbyBqZWRueW0geiBuYXMuDQp7MTA4MTMyfXsxMDgyMjV9TWFtIHByemVrYXph5iBnZW5l cmGzb3dpLHy/ZSBvZG1hd2lhY2llPw0KezEwODIzMH17MTA4MjkyfU5pZSBvYmNob2R6aSBtbmll LHxjbyBtdSBwcnpla2G/ZXN6Lg0KezEwODM0MH17MTA4Mzk1fVcgcG9yerlka3UuDQp7MTA4NDAz fXsxMDg0NDF9UPNqZOouDQp7MTA5NDYyfXsxMDk1NjF9QXRtb3NmZXJhIG5hIHN0YXRrdXxuaWUg amVzdCBwcnp5c3Rvc293YW5hIGRsYSBsdWR6aS4NCnsxMDk1NjN9ezEwOTY0OX1C6mR6aWVzeiBt dXNpYbNhIHphs2+/eeYgbWFza+ouDQp7MTEwMjUxfXsxMTAyODJ9S2FsLUVsLg0KezExMDMxMX17 MTEwNDEyfU5pZSBtYXN6IHBvaupjaWEsfGphayBks3VnbyBjaeogc3p1a2FsaZxteS4NCnsxMTA0 MTd9ezExMDQ5Nn0tIFpvZCwgamFrIHJvenVtaWVtLnwtIEdlbmVyYbMgWm9kLCBuYXN6IGRvd/Nk Y2EuDQp7MTEwNDk4fXsxMTA1OTR9VyBwb3J6uWRrdSwgRmFvcmEufE1vv25hIG11IHd5YmFjennm IGJyYWsgbWFuaWVyLg0KezExMDU5OX17MTEwNjQ5fU5pZSB6bmEgbmFzenljaCB6d3ljemFq83cu DQp7MTEwNjUyfXsxMTA3Njd9VG8gY2h3aWxhIG5hIJx3aep0b3dhbmllLHxhIG5pZSBuYSBrs/N0 bmllLg0KezExMDg2N317MTEwOTMwfUN6dWrqIHNp6iBkeml3bmllLg0KezExMDk5Mn17MTExMDQw fVOzYWJvIG1pLg0KezExMTA4OH17MTExMTYyfS0gQ28gbXUgamVzdD98LSBPZHJ6dWNhIG5hc3q5 IGF0bW9zZmVy6i4NCnsxMTExOTN9ezExMTMwMX1aYWFkYXB0b3dhs2WcIHNp6iBkbyB6aWVtc2tp Y2ggd2FydW5r83csfG5pZSBkbyBuYXN6eWNoLg0KezExMTMwNn17MTExNDA5fS0gUG9t878gbXUu fC0gTmllIG1vZ+ouIE11c2kgc2FtbyBwcnplapzmLg0KezExMTQ1NX17MTExNTAzfVBvbfO/Y2ll IG11IQ0KezExMTUyOX17MTExNTc3fVBvbfO/Y2llIQ0KezExMTgzNn17MTExODcyfVdpdGFqLCBL YWwuDQp7MTExOTIwfXsxMTE5NzN9QSBtb79lIHdvbGlzeiAiQ2xhcmsiPw0KezExMTk4NX17MTEy MDU0fVRha2llIGltaeogY2kgbmFkYWxpLCBjenm/IG5pZT8NCnsxMTIwODV9ezExMjE5Nn1CebNl bSBuYSBLcnlwdG9uaWUgZG9382RjuSBhcm1paSx8YSB0d/NqIG9qY2llYyAtIG5hc3p5bSBuYWp3 aeprc3p5bSB1Y3pvbnltLg0KezExMjE5Nn17MTEyMjg0fVpnYWR6YWxpnG15IHNp6iBjbyBkbyB0 ZWdvLHy/ZSBLcnlwdG9uIHVtaWVyYS4NCnsxMTIyODl9ezExMjQyMX1XIHphbWlhbiB6YSBwcvNi 6iBvY2FsZW5pYXxuYXN6ZWogY3l3aWxpemFjamkgaSBwbGFuZXR5LA0KezExMjQzMX17MTEyNTM0 fXdyYXogeiBtb2ltaSBvZmljZXJhbWl8em9zdGFsaZxteSB6ZXOzYW5pIGRvIFN0cmVmeSBXaWRt by4NCnsxMTI1OTR9ezExMjcxNH0vWmFns2FkYSBuYXN6ZWdvIJx3aWF0YXwvdXdvbG5ps2EgbmFz Lg0KezExMjg0NX17MTEyODkzfS9Ecnlmb3dhbGmcbXkuDQp7MTEyOTAxfXsxMTMwMjN9L1NrYXph bmkgbmEgnG1pZXLmIGezb2Rvd7l8L3eccvNkIHN6Y3q5dGvzdyBuYXN6ZWogcGxhbmV0eS4NCnsx MTMwNDR9ezExMzA5NX0vSmFrIHRyYWZpbGmcY2llIG5hIFppZW1p6j8NCnsxMTMxMDB9ezExMzE5 OH0vV3lrb3J6eXN0YWxpnG15IHByb2pla3RvciBmYW50b21vd3l8L2RvIGJ1ZG93eSBoaXBlcm5h cOpkdS4NCnsxMTMyMTV9ezExMzMyMH0vVGFruSBzYW25IG1vZHlmaWthY2rqfC9vamNpZWMgemFt b250b3dhsyB3IHR3b2ltIHN0YXRrdS4NCnsxMTMzNDJ9ezExMzQxNH0vVGFrIG90byBuYXJ66mR6 aWUgbmFzemVqIHpndWJ5Li4uDQp7MTEzNDU3fXsxMTM1MTJ9L3N0YbNvIHNp6iBuYXN6eW0gd3li YXdpZW5pZW0uDQp7MTEzNjE3fXsxMTM3MjN9L1NwcmF3ZHphbGmcbXkgbmFzemUgZGF3bmUga29s b25pZXwvdyBwb3N6dWtpd2FuaXUgb3puYWsgv3ljaWEuDQp7MTEzODA0fXsxMTM4Njd9L1puYWxl n2xpnG15IGplZHluaWUgnG1pZXLmLg0KezExMzg4OH17MTEzOTk0fS9PZGNp6nRlIG9kIEtyeXB0 b25hLHwvcGxhY/N3a2kgZGF3bm8gd3ltYXKzeS4NCnsxMTQwMTh9ezExNDEyM30vVXJhdG93YWxp nG15LCBjbyBzaeogZGGzbzp8L3picm9qZSwgYnJv8S4NCnsxMTQxMjZ9ezExNDE5M30vTmF3ZXQg amVkbrkgTWFjaGlu6iCMd2lhdPN3Lg0KezExNDIxMH17MTE0Mjg2fS9QcnpleiAzMyBsYXRhfC9j enluaWxpnG15IHByenlnb3Rvd2FuaWEsDQp7MTE0MjkxfXsxMTQzNjN9L2G/IHcga2/xY3Ugb2Rl YnJhbGmcbXl8L3N5Z25hsyBhbGFybW93eSwNCnsxMTQzNjZ9ezExNDQ3M30va3TzcnkgYWt0eXdv d2GzZZx8L25hIHN0YXJ5bSBzdGF0a3UgendpYWRvd2N6eW0uDQp7MTE0NDkwfXsxMTQ1NjB9VHkg bmFzIHR1IHNwcm93YWR6abNlnCwgS2FsLg0KezExNDU5M317MTE0Njk2fVcgdHdvamVqIG1vY3kg bGW/eXxvY2FsZW5pZSBuYXN6ZWogcmFzeS4NCnsxMTQ4MjZ9ezExNDkxMn1OYSBLcnlwdG9uaWUs IGtvZCBnZW5ldHljem55LHxtYWq5Y3ljaCBzaeogbmFyb2R6aeYgb3NvYm5pa/N3LA0KezExNDkx NX17MTE0OTg5fXphcGlzYW55IGJ5syB3IFJlamVzdHJ6ZSBPYnl3YXRlbGkuDQp7MTE1MDA2fXsx MTUxMzN9VHfzaiBvamNpZWMgc2tyYWSzIEtvZGV4fGkgdWtyebMgZ28gdyB0d29qZWoga2Fwc3Vs ZS4NCnsxMTUxNDV9ezExNTE4OH1QbyBjbz8NCnsxMTUxOTN9ezExNTI3NH1CeSBLcnlwdG9uIG3z Z7MgenJvZHpp5iBzaep8bmEgbm93by4uLg0KezExNTI4MX17MTE1MzIyfW5hIFppZW1pLg0KezEx NTc5Mn17MTE1ODQyfUdkemllIGplc3QgS29kZXg/DQp7MTE1ODgxfXsxMTU5NDN9SmWcbGkgS3J5 cHRvbiBzaeogb2Ryb2R6aS4uLg0KezExNTk1NX17MTE2MDAxfWNvIHN0YW5pZSBzaeogeiBaaWVt abk/DQp7MTE2MDEzfXsxMTYwOTR9RG8gb2RidWRvd3kgcG90cnplYmEgZnVuZGFtZW5083cuDQp7 MTE2MTAxfXsxMTYxODF9TmF3ZXQgdHfzaiBvamNpZWMgdG8gd2llZHppYbMuDQp7MTE2MzIyfXsx MTYzNzV9TmllLg0KezExNjQxNX17MTE2NTA5fS0gTmllIHByenljenluaeogc2nqIGRvIHRlZ28u fC0gQSBkbyBjemVnbyBzaeogcHJ6eWN6eW5pc3o/DQp7MTE2NTExfXsxMTY1MzV9TmllIQ0KezEx NjU3MX17MTE2NTk1fVByemVzdGHxIQ0KezExNjg0OX17MTE2OTU1fVR382ogb2pjaWVjIG9kc3pl ZLMgeiBob25vcmVtLg0KezExNzAwMH17MTE3MTAxfS0gWmFiabNlnCBnbz98LSBUYWsuDQp7MTE3 MTA0fXsxMTcyMTF9UHJ6ZZxsYWR1amUgbW5pZSB0b3xrYb9kZWdvIGRuaWEuDQp7MTE3MjIxfXsx MTczNjV9QWxlIHpyb2Jps2J5bSB0byBwb25vd25pZS58TWFtIG9ib3dpuXplayB3b2JlYyBtb2pl Z28gbHVkdS4NCnsxMTczNjd9ezExNzQ5MH1OaWtvbXUgbmllIHBvendvbOosfGJ5IG1uaWUgb2Qg dGVnbyBvZHdp82SzLg0KezExNzg1NH17MTE3OTA3fUNvIHNp6iBkemllamUsIG1ham9yemU/DQp7 MTE3OTA5fXsxMTgwMDB9RHdhIG9iaWVrdHl8d3lzdGFydG93YbN5IHogb2ty6nR1IG9iY3ljaC4N CnsxMTgwMzR9ezExODA2NX1UbyBvbmUuDQp7MTE4MDY3fXsxMTgxNDd9V3lrb3J6eXN0YWpjaWUg SS1Db20gNC58TXVzeuogd2llZHppZeYgY2+cIHdp6mNlai4NCnsxMTgxNTl9ezExODIxOH1Lb2Qg bmEgZHppc2lhaiB0byAiVHLzanq5YiIuDQp7MTE4MjIxfXsxMTgzMTl9LSBOYWRsYXR1arkgZHdh IHN0YXRraSBvYmN5Y2gufC0gTWFteSBkYW5lIHogSS1Db20gNC4NCnsxMTgzMjR9ezExODQ0MX0t IFBy6mRrb5zmP3wtIDM4MCB36nqz83cuIE5pZSBvZHBvd2lhZGFquSBuYSB3ZXp3YW5pYS4NCnsx MTg0NTF9ezExODUwNH1TemtvZGEgd3lzabNrdS4NCnsxMTg1MjN9ezExODY0M31TabNhLCBrdPNy uSBjemVycGllc3ogemUgU7Nv8WNhLHxuYSBuYXN6eW0gc3RhdGt1IG5pZSBkemlhs2EuDQp7MTE4 NjQ1fXsxMTg3ODd9VyB0eW0gnHJvZG93aXNrdXxqZXN0ZZwgdHlsa28gend5a7N5bSBjerNvd2ll a2llbS4NCnsxMjAxNzN9ezEyMDI2OH0tIFNruWQgc2nqIHd6abmzZZw/fC0gS2x1Y3osIHBhbm5v IExhbmUuDQp7MTIwMjczfXsxMjAzNTd9WmGzYWRvd2GzYZwgbW5pZSBkbyBwYW1p6mNpIGtvbXB1 dGVyYS4NCnsxMjAzNjJ9ezEyMDQ0M30tIEtpbSBqZXN0ZZw/fC0gT2pjZW0gS2FsYS4NCnsxMjA0 Nzl9ezEyMDU4MH0tIE1vv2VzeiBuYW0gcG9t82M/fC0gWmJ1ZG93YbNlbSB0ZW4gc3RhdGVrLg0K ezEyMDU5NH17MTIwNjg2fU1vZ+ogcHJ6eXN0b3Nvd2HmfGplZ28gYXRtb3NmZXLqIGRsYSBsdWR6 aS4NCnsxMjA3MDB9ezEyMDc5Nn1Nb79lbXkgaWNoIHBvd3N0cnp5bWHmLnxPZGVzs2HmIHogcG93 cm90ZW0gZG8gU3RyZWZ5IFdpZG1vLg0KezEyMDgxMH17MTIwODY1fS0gSmFrP3wtIFBva2G/6iBj aS4NCnsxMjA4NzB9ezEyMDk3OH1BIHR5IHBva2G/ZXN6IEthbG93aS58UG9tb79lc3ogbWk/DQp7 MTIxMjk3fXsxMjEzNTd9WmGzb2dhIHN0YXRrdSBqdb8gd2llLnxNdXNpbXkgc2nqIHBvc3BpZXN6 eeYuDQp7MTIxMzU5fXsxMjE0MDd9V3ljablnbmlqIGtsdWN6Lg0KezEyMTU4MH17MTIxNjQ1fS0g VHkgdG8genJvYmmzZZw/fC0gVGFrLiBQb2RuaWWcIGJyb/EuDQp7MTIxODgwfXsxMjE5MjN9Q28g c2nqIGR6aWVqZT8NCnsxMjI0MjF9ezEyMjQ2OX1QbyB0d29qZWogcHJhd2VqLiBPZ25pYSENCnsx MjI0OTZ9ezEyMjU0NH1aYSB0b2K5IQ0KezEyMjgzMX17MTIyODkxfVdzablknyBkbyBrYXBzdbN5 IHJhdHVua293ZWouDQp7MTIyOTAzfXsxMjI5NTF9QmV6cGllY3puZWogcG9kcvO/eS4NCnsxMjI5 NTR9ezEyMzAyOH1aYXBld25lIHdp6mNlaiBzaeogbmllIHpvYmFjenlteS4NCnsxMjMwNDJ9ezEy MzExOX1QYW1p6nRhaiwga2x1Y3pvd3kgZG8gaWNoIHBvd3N0cnp5bWFuaWF8amVzdCBuYXDqZCBm YW50b21vd3kuDQp7MTIzMTQ2fXsxMjMxOTN9R7Nvd2EgdyBsZXdvLg0KezEyMzgyNn17MTIzOTAx fVpvZCBt83dpsyBwcmF3ZOogbyBLb2RleGllPw0KezEyMzkwMX17MTIzOTQ5fVJvemJpaiB0ZW4g cGFuZWwuDQp7MTI0MDMwfXsxMjQxMDl9Q2hjaWVsaZxteSwgYnmcIHdwaWVyd3xuYXVjenmzIHNp 6iBieeYgY3qzb3dpZWtpZW0uDQp7MTI0MTE5fXsxMjQxODR9QnmcLCB3ZSB3s2GcY2l3eW0gY3ph c2llLA0KezEyNDE4OH17MTI0MjY1fW3zZ7MgYnnmIHBvbW9zdGVtfG1p6mR6eSBkd2llbWEgcmFz YW1pLg0KezEyNDMyNX17MTI0MzczfVNw82pyei4NCnsxMjQ0MjN9ezEyNDQ2Mn1Mb2lzLg0KezEy NDQ2NH17MTI0NTE5fU1vv2VzeiBquSBvY2FsaeYuDQp7MTI0NTY1fXsxMjQ2MjJ9TW+/ZXN6IG9j YWxp5iBpY2ggd3N6eXN0a2ljaC4NCnsxMjY0OTd9ezEyNjU2Mn1UdSBi6mR6aWVzeiBiZXpwaWVj em5hLg0KezEyNjU5MX17MTI2NjgyfS0gV3N6eXN0a28gdyBwb3J6uWRrdT98LSBUYWsuDQp7MTI2 NzM1fXsxMjY4ODN9TmllIGNoY2lhs2FtIGltIG5pYyBwb3dpZWR6aWXmLHxhbGUgamFrb5wgd25p a27qbGkgZG8gbW9qZWogZ7Nvd3kuLi4NCnsxMjY4ODN9ezEyNjk2N31Kdb8gZG9icnplLCBMb2lz LnxaZSBtbrkgenJvYmlsaSB0byBzYW1vLg0KezEyNzI3Mn17MTI3MzIwfUNsYXJrIQ0KezEyNzUy MX17MTI3NjE1fUdkemllIHN0YXRlaywgdyBrdPNyeW0gcHJ6eWJ5sz8NCnsxMjc2NTN9ezEyNzcx M31JZJ8gZG8gZGlhYrNhLg0KezEyNzk1MH17MTI3OTk4fVRhbS4NCnsxMjg1MjF9ezEyODU4Nn1L b2RleHUgdGFtIG5pZSBtYS4NCnsxMjg3MzR9ezEyODc4N30tIEdkemllIGdvIHVrcnmzP3wtIE5p ZSB3aWVtLg0KezEyODc4N317MTI4ODQ5fUdkemllIGplc3QgS29kZXg/IQ0KezEyOTE4N317MTI5 MjYyfUphayCcbWllc3ogc3RyYXN6eeYgbW9quSBtYXRr6j8hDQp7MTMwMjQyfXsxMzAyODF9Q2+c IHR5IG1pIHpyb2Jpsz8NCnsxMzAyODF9ezEzMDM3N31Sb2R6aWNlIG5hdWN6eWxpIG1uaWUsfGph ayB3eW9zdHJ6eeYgem15c7N5Lg0KezEzMDQyMH17MTMwNTE2fUphayBza3VwaeYgc2nqIG5hIHR5 bSx8Y28gY2hj6iB6b2JhY3p55i4NCnsxMzA1MTh9ezEzMDYwMn1CZXogaGWzbXUgb2RiaWVyYXN6 IHdzenlzdGtpZSBib2SfY2UuDQp7MTMwNjE2fXsxMzA3MDB9Qm9sZXNuZSwgcHJhd2RhPw0KezEz MTc4Mn17MTMxODI1fS9PZGVqZJ9jaWUgb2Qgb2tpZW4hDQp7MTMxODg3fXsxMzE5NjJ9U2Nob3dh amNpZSBzaeoufFR1IG5pZSBqZXN0IGJlenBpZWN6bmllLg0KezEzMjA0M317MTMyMTE3fS9UdSBT dHJhv25paywgdGVyZW4gY3p5c3R5Lg0KezEzMjEyMn17MTMyMjQyfU1pYbNlbSBqdb8gZG8gY3p5 bmllbmlhfHogdHltaSBpc3RvdGFtaS4NCnsxMzIyNDd9ezEzMjM0MH0vU7kgYmFyZHpvIG5pZWJl enBpZWN6bmUufC9NYW15IHByYXdvIHW/eeYgYnJvbmkuDQp7MTMyNDAzfXsxMzI0NTh9L1Byenlq ubNlbS58L1pibGm/YW15IHNp6iBkbyBjZWx1Lg0KezEzMjU4Mn17MTMyNjY2fS8tIEdvdG93aSBk byBvc3RyemGzdS58Ly0gMS0xLCBwcnp5armzZW0uDQp7MTMyNzMxfXsxMzI3OTh9L1R1IEdyb20g MS0xLnwvTmFtaWVyenmzZW0gdHJ6eSBjZWxlLg0KezEzMzE4OX17MTMzMjcxfVBvdHdpZXJkemFt IHRyYWZpZW5pZS58TmF0eWNobWlhc3QgcG93dPNyeiBvc3RyemGzLg0KezEzMzI3NX17MTMzMzkz fS9Qcnp5armzZW0ufC9Sb2JpbXkgZHJ1Z2llIHBvZGVqnGNpZS4NCnsxMzM1NTh9ezEzMzY1N30v R3JvbSAxLTEsIGthdGFwdWx0dWpjaWUgc2nqIQ0KezEzMzkxNn17MTMzOTgwfS9OYWRsYXR1amUg bmllemlkZW50eWZpa293YW55IG9iaWVrdCENCnsxMzQ0NDF9ezEzNDQ5M31KZXN0ZZwgc7NhYnks IHN5bnUgRWxhLg0KezEzNDQ5M317MTM0NTQ5fUJyYWsgY2kgcGV3bm+cY2kgc2llYmllLg0KezEz NDY1NH17MTM0NzY0fUZha3QsIL9lIG1hY2llIHBvY3p1Y2llIG1vcmFsbm+cY2ksfGt083JlZ28g bmFtIGJyYWssDQp7MTM0NzY3fXsxMzQ4NDh9ZGFqZSBuYW0gcHJ6ZXdhZ+ogdyBld29sdWNqaS4N CnsxMzQ5MjN9ezEzNDk5NH1BIGplnGxpIGhpc3RvcmlhIGN6ZWdva29sd2llayBkb3dvZHppLi4u DQp7MTM1MjE1fXsxMzUzMDR9dG8gd7NhnG5pZSB0ZWdvLHy/ZSBld29sdWNqYSB6YXdzemUgd3ln cnl3YS4NCnsxMzU4MTB9ezEzNTg5NH0vUG9kY2hvZHppbXkgZG8gbLlkb3dhbmlhLg0KezEzNjg5 Nn17MTM2OTY4fURvIHdzenlzdGtpY2gsfG1hY2llIG5hd2m5emHmIHdhbGvqLg0KezEzNjk2OH17 MTM3MDM3fUEgY28geiBnb5xjaWVtIHcgbmllYmllc2tpbT8NCnsxMzcwNDB9ezEzNzEwMn0vU3Ry emVsYeYgZG8gd3N6eXN0a2ljaCENCnsxMzczNjZ9ezEzNzQxNH0vS29udGFrdCENCnsxMzc2Mzd9 ezEzNzY4MH1KZXN0ZZwgY2GzeT8NCnsxMzc3OTV9ezEzNzg0M31TcGFkYW15IQ0KezEzNzg2Mn17 MTM3OTQxfS9Qcnp5Z290b3dh5iBzaeogbmEgdWRlcnplbmllIQ0KezEzODA4NX17MTM4MTkwfS9U dSBVcGFks3kgQW5pb7MufC9TdHJhv25payB6ZXN0cnplbG9ueS4NCnsxMzg3MTZ9ezEzODgwOX0v R3JvbSAxLTIgZG8gU3RyYb9uaWthLCBvZGJp83I/DQp7MTM4ODA5fXsxMzg5MzF9RGFqY2llIHpt YXNvd2FueSBvc3RyemGzfG5hIG1varkgcG96eWNq6i4NCnsxMzg5MzF9ezEzODk5Nn1acm96dW1p YbNlbSwgcG93b2R6ZW5pYS4NCnsxMzk5Njl9ezE0MDA3N31BIG5hZ3JvZLkgamVnbyAtIGhvbm9y b3dhIJxtaWVy5i4NCnsxNDAzNjV9ezE0MDQxOH1OaWUgd3lncmFzei4NCnsxNDA0Mjd9ezE0MDUy MX1aYSBrYb9kZWdvIG9jYWxvbmVnbyBjerNvd2lla2EsfHphYmlqZW15IG1pbGlvbiBpbm55Y2gu DQp7MTQxNzY4fXsxNDE4MzV9L1RlcmVuIHphYmV6cGllY3pvbnk/DQp7MTQxODQwfXsxNDE5MzZ9 L0Rydb95bmEgQWxmYSwgc7N5c3p5Y2llIG1uaWU/DQp7MTQzMTMwfXsxNDMxOTd9VGVuIGN6s293 aWVrfG5pZSBqZXN0IG5hc3p5bSB3cm9naWVtLg0KezE0MzIzN317MTQzMjg1fUR6aeprdWrqLCBw dbNrb3duaWt1Lg0KezE0MzcxMH17MTQzNzM5fS9NYW1vPw0KezE0Mzc1M317MTQzODA2fU5pYyBt aSBuaWUgamVzdCENCnsxNDQwODZ9ezE0NDEzNH2jYWRueSBrb3N0aXVtLg0KezE0NDE1OH17MTQ0 MjA2fVByenlrcm8gbWkuDQp7MTQ0MjExfXsxNDQyNTl9VG8gdHlsa28gcHJ6ZWRtaW90eS4NCnsx NDQzMDR9ezE0NDM2Mn1aYXdzemUgbW+/bmEgamUgemFzdLlwaeYuDQp7MTQ0NDE3fXsxNDQ0Njd9 QWxlIHdhcyBuaWUgbW+/bmEuDQp7MTQ0NDc5fXsxNDQ1MTF9TWFtby4uLg0KezE0NDUxMX17MTQ0 NjA0fVpvZCBwb3dpZWR6aWGzLCC/ZSB0ZW4gS29kZXh8bW+/ZSBzcHJvd2FkemnmIG3zaiBsdWQu DQp7MTQ0NjA5fXsxNDQ2NTd9VG8gY2h5YmEgZG9icnplPw0KezE0NDc1MH17MTQ0ODI1fU9uaSBj aHliYSBuaWUgemFtaWVyemFquXxkemllbGnmIHNp6iB0eW0gnHdpYXRlbS4NCnsxNDQ4MjV9ezE0 NDg3MH1DbGFyayENCnsxNDQ5Mzd9ezE0NDk5NX1XaWVtLCBqYWsgaWNoIHBvd3N0cnp5bWHmLg0K ezE0NTAzM317MTQ1MTYwfS0gQ28gdGFtIHNp6iBzdGGzbz98LSBPa2F6YbMgY2h3aWxvd7kgc7Nh Ym+c5i4NCnsxNDUxNjN9ezE0NTI5N31UbyBiZXogem5hY3plbmlhLHxwb25pZXdhvyB6bG9rYWxp em93YbNlbSBLb2RleC4NCnsxNDUzMjZ9ezE0NTM5MH1OaWdkeSBuaWUgYnmzbyBnbyB3IGthcHN1 bGUuDQp7MTQ1MzkwfXsxNDU0ODl9L0pvci1FbCBnbyB6YWJyYbMufC9ETkEgbWlsaWFyZPN3IGx1 ZHppLg0KezE0NTQ4OX17MTQ1NTc1fS9TY2FsabMgZ28geiBrb23zcmthbWkgd7Nhc25lZ28gc3lu YS4NCnsxNDU1Nzd9ezE0NTcwNX0vV3N6eXNjeSBzcGFka29iaWVyY3kgS3J5cHRvbmF8L795arkg dyBjaWVsZSBqZWRuZWdvIHVjaG9kn2N5Lg0KezE0NTgxMH17MTQ1OTQ3fUN6eSBLYWwtRWwgbXVz aSBieeYgv3l3eSx8Ynkgb2R6eXNrYeYgS29kZXggeiBqZWdvIGtvbfNyZWs/DQp7MTQ1OTY4fXsx NDYwMDJ9TmllLg0KezE0NjEzOX17MTQ2MTk0fVVydWNob21p5iBNYWNoaW7qIIx3aWF083cuDQp7 MTQ2OTY2fXsxNDcwMTh9LSBDbyBzaeogZHppZWplP3wtIFN0YXRlayBzaeogcm96ZHppZWxpsy4N CnsxNDcwMTh9ezE0NzEwMn1QaWVyd3N6eSBjerNvbiBwb3J1c3phIHNp6iBuYSB3c2No82QsfGRy dWdpIGplc3QgbmFkIHBvs3Vkbmlvd7kgcPOza3VsuS4NCnsxNDcxMDV9ezE0NzIwOH0tIEphayBz enlia28gbGVjaT98LSBNYWNoIDI0IGkgcHJ6eXNwaWVzemEuDQp7MTQ3MjA4fXsxNDczMDl9UHJh d2RvcG9kb2JuaWUgdWRlcnp5fHcgcG+zdWRuaW93eW0gcmVqb25pZSBPY2VhbnUgSW5keWpza2ll Z28uDQp7MTQ3NzMxfXsxNDc4MzR9LSBSZXN6dGEgc3RhdGt1IGplc3QgY29yYXogYmxpv2VqLnwt IERhaiB0byBuYSBla3Jhbi4NCnsxNDc4NDh9ezE0Nzg4Nn1Cb79lIQ0KezE0ODg2MH17MTQ4OTQ0 fVVydWNob21p5iBzaWxuaWsgZmFudG9tb3d5IQ0KezE0OTQ1MH17MTQ5NTIyfUplc3RlnG15IHBv ZLO5Y3plbmkgZG8gTWFjaGlueS4NCnsxNDk1MzZ9ezE0OTU4Nn1aYWN6eW5hbXkuDQp7MTUwMzY4 fXsxNTA0MzB9Q28gdG8gamVzdD8NCnsxNTA0MzB9ezE1MDU2Mn1XeWdsuWRhIG5hIGpha7mcIGJy b/EgZ3Jhd2l0YWN5am65LnxEemlhs2EgdyBwYXJ6ZSB6ZSBzdGF0a2llbS4NCnsxNTA1Njl9ezE1 MDYzNH1XIGpha2mcIHNwb3PzYnx6d2nqa3N6YWq5IG1hc+ogWmllbWksDQp7MTUwNjM0fXsxNTA3 MDR9c2tyYXBsYWq5YyBhdG1vc2ZlcuouDQp7MTUwNzQyfXsxNTA3OTB9Qm+/ZSENCnsxNTA4MTZ9 ezE1MDg4OH0tIFRvIHRlcnJhZm9ybWFjamEufC0gQ28gdG8gdGFraWVnbz8NCnsxNTA5MDB9ezE1 MDk5Nn1Jbr95bmllcmlhIHBsYW5ldGFybmEsfG1vZHlmaWt1arljYSBhdG1vc2ZlcuogaSB0b3Bv Z3JhZmnqIFppZW1pLg0KezE1MDk5Nn17MTUxMDU2fVphbWllbmlharkgWmllbWnqIHcgS3J5cHRv bmEuDQp7MTUxMDU4fXsxNTExNDJ9LSBBIGNvIHogbmFtaT98LSBaIHR5Y2ggb2Rjenl083cgd3lu aWthLA0KezE1MTE0N317MTUxMTkwfb9lIG5pZSBi6mR6aWUgv2FkbnljaCAibmFzIi4NCnsxNTEx OTN9ezE1MTMyMn1QYW5pZSBnZW5lcmFsZS58UHWza293bmlrIEhhcmR5IGplZHppZSB0dSB6IFN1 cGVybWFuZW0uDQp7MTUxMzMyfXsxNTEzNzJ9U3VwZXJtYW5lbT8NCnsxNTEzNzV9ezE1MTQ1Nn1U eW0gb2JjeW0ufFRhayBnbyBuYXp5d2FquS4NCnsxNTE1OTN9ezE1MTY3OX0tIE1hbXkgcGxhbiwg Z2VuZXJhbGUufC0gQ3p5IHRvIGplc3QgdG8sIGNvIG15nGzqPw0KezE1MTY5MX17MTUxNzQ0fVRv IHN0YXRlaywga3TzcnltIHByenlsZWNpYbMuDQp7MTUxNzczfXsxNTE4Mzh9U3RhdGVrIG5hcOpk emFueSBqZXN0fHNpbG5pa2llbSBmYW50b21vd3ltLg0KezE1MTg0MH17MTUxOTI5fVphZ2luYSBw cnplc3RyemXxLnxTdGF0ZWsgWm9kYSB1v3l3YSB0ZWogc2FtZWogdGVjaG5vbG9naWkuDQp7MTUx OTI5fXsxNTE5ODl9SmWcbGkgemRlcnp5bXkgemUgc29iuXxkd2EgbmFw6mR5Li4uDQp7MTUxOTg5 fXsxNTIwNTN9LSBNb79lIHBvd3N0YeYgb3NvYmxpd2+c5i58LSBDb5wgamFrIGN6YXJuYSBkeml1 cmE/DQp7MTUyMDUzfXsxNTIxNjZ9VGFrLiBKZZxsaSBvdHdvcnp5IHNp6iBwcnplapxjaWUsfHBv d2lubmkgem9zdGHmIGRvIG5pZWdvIHdjablnbmnqY2kuDQp7MTUyMTY4fXsxNTIyMjZ9TWFteSBp Y2ggdHltIHpib21iYXJkb3dh5j8NCnsxNTIyMjZ9ezE1MjMxMH1KZZxsaSBzdGF0ZWsgd2G/eSBt bmllanxuab8gOCB0b24sDQp7MTUyMzEwfXsxNTIzOTl9bW+/ZW15IHpyenVjaeYgZ28geiBDLTE3 LnxUbyB3eWtvbmFsbmUuDQp7MTUyMzk5fXsxNTI0NjN9SmWcbGkgbmllIHBvd3N0cnp5bWFtfHRl aiBtYXN6eW55IG5hZCBvY2VhbmVtLA0KezE1MjQ2Nn17MTUyNTQwfXNps2EgZ3Jhd2l0YWNqaSBi 6mR6aWUgcm9zbrnmLg0KezE1MjY3NH17MTUyNzYxfUplnGxpIHRhIG1hc3p5bmF8dXBvZGFibmlh IFppZW1p6iBkbyBLcnlwdG9uYSwNCnsxNTI3NjF9ezE1MjgyMX1i6mR6aWVzeiBzs2Fic3p5IHcg amVqIHBvYmxpv3U/DQp7MTUyODI1fXsxNTI5NjB9TW+/bGl3ZSwgYWxlIHRvIG1uaWUgbmllIHBv d3N0cnp5bWEuDQp7MTUyOTYyfXsxNTMwMzR9TGVwaWVqIHNp6iBvZHN18S4NCnsxNTMwNjN9ezE1 MzExM31Ucm9jaOogZGFsZWouDQp7MTUzODczfXsxNTM5NTB9LSBGYW9yYSwgcHJ6ZWptaWogZG93 b2R6ZW5pZS58LSBUYWsgamVzdC4NCnsxNTM5NTB9ezE1NDA5MX1NdXN66iB6YWJlenBpZWN6eeYg a29tb3LqIG5hcm9kemlufGkgerNvv3nmIGhvs2Qgc3RhcmVtdSBwcnp5amFjaWVsb3dpLg0KezE1 NDI3Nn17MTU0Mzc3fS9TdHJhv25payB3IGRyb2R6ZSBkbyBNZXRyb3BvbGlzLnxNYW15ILNhZHVu ZWsuDQp7MTU0NTA2fXsxNTQ2Mjh9Ri0zNSBsZWO5IG5hIG1pZWpzY2Ugc3BvdGthbmlhLg0KezE1 NTY5NX17MTU1ODAzfS9LbHVjeiBwcnp5aup0eS58L1ezuWN6YW0ga29tb3LqIG5hcm9kemluLg0K ezE1NTgwNn17MTU1ODkwfS9QcnplcndpaiB0bywgWm9kLHwvcPNraSBqZXN6Y3plIGN6YXMuDQp7 MTU1OTIzfXsxNTYwMTJ9TmF3ZXQgcG8gnG1pZXJjaXxuaWUgcHJ6ZXN0YWplc3ogbW5pZSBwb3Vj emHmLg0KezE1NjAxNH17MTU2MDYwfU5pZSBwb3p3b2zqIHW/eeYgS29kZXh1fHcgdGFraW0gY2Vs dS4NCnsxNTYwNjB9ezE1NjEwNX1OaWUgbW+/ZXN6IG1uaWUgcG93c3RyenltYeYuDQp7MTU2MTA1 fXsxNTYxODR9S2x1Y3osIGt083J5IHdwcm93YWR6abNlbSx8em5vc2kgdHdvamUgdXByYXduaWVu aWEuDQp7MTU2MTg0fXsxNTYyNTR9VGVyYXogamEga29udHJvbHVq6iB0ZW4gc3RhdGVrLg0KezE1 NzAxNn17MTU3MDg4fS9Cs3lza2F3aWNhIDEgZG8gZG9382R6dHdhLnwvUHJvc3rqIG8gemV6d29s ZW5pZSBuYSBhdGFrLg0KezE1NzA4OH17MTU3MjA2fVVkemllbGFtIHplendvbGVuaWEufFpkYXdh aiByYXBvcnQgbyB6bmlzemN6ZW5pYWNoLg0KezE1NzUzMH17MTU3NTczfS9Bd2lvbmlrYSB3YXJp dWplLg0KezE1NzU3NX17MTU3NjU0fS9HcmF3aXRhY2phIJxjablnYSByYWtpZXR5IHcgZPOzLnwv TXVzaW15IHBvZGxlY2ll5iBibGm/ZWouDQp7MTU3Nzc0fXsxNTc4ODl9V3N6eXNjeSBvcHVzemN6 YW15IGJ1ZHluZWshDQp7MTU4NDI2fXsxNTg0NzR9L1N0cmFjabNlbSBza3J6eWSzb3dlZ28hDQp7 MTU4NTE3fXsxNTg1NjN9L01heWRheSwgbWF5ZGF5LCBtYXlkYXkhDQp7MTU4ODE5fXsxNTg4ODJ9 VOpkeSENCnsxNTg4ODR9ezE1ODk4N31TenliY2llaiENCnsxNTkxMTR9ezE1OTE2N31KZW5ueSEN CnsxNTkyMjd9ezE1OTI1M31Cb79lIQ0KezE1OTI2NX17MTU5Mjk5fVBlcnJ5IQ0KezE1OTM5N317 MTU5NDMzfVTqZHkhDQp7MTU5NTkxfXsxNTk2Mzd9TmFzemUgcmFzeSBtb2e5IGtvZWd6eXN0b3dh 5i4NCnsxNTk2Mzd9ezE1OTczOH2vZWJ5nG15IGNpZXJwaWVsaSx8cHLzYnVquWMgc2nqIHByenlz dG9zb3dh5iBqYWsgdHfzaiBzeW4/DQp7MTU5NzQwfXsxNTk3ODN9VG8gbHVkb2LzanN0d28uDQp7 MTU5NzgzfXsxNTk4NzJ9T3dzemVtLiBBIHJvenRyerlzYW18amVnbyB6YXNhZG5vnOYgeiBkdWNo ZW0uDQp7MTU5OTAxfXsxNTk5ODl9T2JhaiBqZXN0ZZxteSBkdWNoYW1pLCBab2QufE5pZSByb3p1 bWllc3ogdGVnbz8NCnsxNTk5OTJ9ezE2MDAzMH1Ud29qZWdvIEtyeXB0b25hIGp1vyBuaWUgbWEu DQp7MTYwMDMwfXsxNjAxMTR9U3RhdGVrLCB3aWVzeiwgamFrIHBvemJ55iBzaep8dGVqIG5hcGFz dGxpd2VqIGludGVsaWdlbmNqaT8NCnsxNjAxMTR9ezE2MDE2N30vLSBUYWsgamVzdC58LSBQcnp5 Z290dWogc2nqIGRvIGplaiB3ebO5Y3plbmlhLg0KezE2MDE2N317MTYwMjcwfS0gTWFtIGRvnOYg dGVqIGRlYmF0eS58LSBVY2lzemVuaWUgbW5pZSBuaWN6ZWdvIG5pZSB6bWllbmkuDQp7MTYwMzA0 fXsxNjAzNjF9TfNqIHN5bi4uLg0KezE2MDM2M317MTYwNDI4fWplc3QgbGVwc3p5IG9kIGNpZWJp ZS4NCnsxNjA0NTB9ezE2MDQ5OH1Eb2tv8WN6eSB0bywgY28gemFjeupsaZxteS4NCnsxNjA1Mjd9 ezE2MDU5NH1Nb2fqIGNpIHRvIG9iaWVjYeYuDQp7MTYwNjcwfXsxNjA4MTl9UG9zaWFkYXN6IHdz cG9tbmllbmlhfGkgnHdpYWRvbW+c5iBKb3ItRWxhLg0KezE2MDgxOX17MTYwODgxfUN6eSBtb79l c3ogZG+cd2lhZGN6eeYgamVnbyBi82x1Pw0KezE2MDkwOH17MTYxMDE4fVd5cnfqIEtvZGV4IHpl IHp3s29rIHR3b2plZ28gc3luYS4NCnsxNjEwMjB9ezE2MTE1N31PZGJ1ZHVq6iBLcnlwdG9uIG5h IGplZ28gcHJvY2hhY2guDQp7MTYyNTI0fXsxNjI1ODh9SmVubnksIGdkemllIGplc3RlnD8hDQp7 MTYyNTk4fXsxNjI2ODJ9LSBUdXRhaiF8LSBUcnp5bWFqIHNp6i4NCnsxNjI2OTR9ezE2Mjc1Nn1V dGtu6rNhbSwgbmllIG1vZ+ogc2nqIHV3b2xuaeYuDQp7MTYyNzU2fXsxNjI4MTR9V3ljablnbmll bXkgY2nqIHN0uWQufE5pZSBydXN6YWogc2nqLg0KezE2MjgzM317MTYyOTAzfS0gTmllIHpvc3Rh d2lhaiBtbmllLCBwcm9zeuohfC0gTmllIHpvc3Rhd2lteSBjaeouDQp7MTYyOTI3fXsxNjMwMTB9 LSBMb21iYXJkLCBwb23zvyBtaSF8LSBOaWVjaCB0byBzemxhZy4NCnsxNjMwNzN9ezE2MzExOH0t IE11c2lteSB0byBwcnplc3VuueYufC0gVHJ6eW1hai4NCnsxNjMxMTh9ezE2MzE3Nn1Qb2R3Yb8s IGEgamEgYupk6iBwY2hhsy4NCnsxNjMyOTN9ezE2MzM0NH1QY2hhaiENCnsxNjMzNDR9ezE2MzM4 OX1aYmxpv2Egc2nqISBQY2hhaiENCnsxNjM0MTh9ezE2MzQ5Mn1TdHJhv25payBkbyBkb3fzZHp0 d2EsfGN6eSBtb79lc3ogZG9rb25h5iB6cnp1dHU/DQp7MTYzNDkyfXsxNjM1Mzh9T2RtYXdpYW0u DQp7MTY1NDE1fXsxNjU0NjN9VWRhs28gbXUgc2nqLg0KezE2NTUwNH17MTY1NTkzfVN0cmG/bmlr IGRvIGRvd/NkenR3YSx8amVzdGWcbXkgZ290b3dpIGRvIHpyenV0dS4NCnsxNjU1OTN9ezE2NTY3 OX1Qb3dvZHplbmlhLiBVemJyb2nmILNhZHVuZWsufE1hY2llIHplendvbGVuaWUgbmEgenJ6dXQu DQp7MTY1Njg5fXsxNjU3MzR9VG8gb3N0YXRuaWUgcG9kZWqcY2llLg0KezE2NTc1OH17MTY1ODI4 fVRlcmF6IHdzenlzdGtvIHphbGW/eXxvZCBjaWViaWUgaSBIYW1pbHRvbmEuDQp7MTY2NzUzfXsx NjY3ODR9VG8gY2h5YmEgamFraZwgv2FydC4NCnsxNjY3ODR9ezE2Njg4MH0tIKNhZHVuZWsgdXpi cm9qb255PyBNb79lbXkgenJ6dWNh5j98LSBOaWUgbW+/ZW15IQ0KezE2Njg4N317MTY2OTQwfUNv nCBqZXN0IG5pZSB0YWsufFRvIG5pZSBwb3dpbm5vIHRhayByb2Jp5i4NCnsxNjY5NDB9ezE2NzAy OX0tIEEgamFrIHBvd2lubm8/fC0gUG93aW5ubyB3ZWqc5iBkbyBrb/FjYS4NCnsxNjcwMjl9ezE2 NzExNX0tIE5pZWNoIHNp6iBwcnp5anJ66i58LSBQcnplam1paiBzdGVyeS4NCnsxNjcxMjB9ezE2 NzE2OH1Qcnplam11auogc3RlcnkuDQp7MTY3MzE5fXsxNjczODF9RGxhY3plZ28gbmllIGplc3Rl nG15fGdvdG93aSBkbyB6cnp1dHU/DQp7MTY3Mzg0fXsxNjc0MzJ9TWFteSB0dSBkcm9ibnkgcHJv YmxlbS4NCnsxNjc3OTF9ezE2Nzg0OX1OYW1pZXJ6eeYgb2JpZWt0Lg0KezE2NzkyMX17MTY3OTU5 fS9DZWwgbmFtaWVyem9ueS4NCnsxNjgxOTR9ezE2ODIyM31TdPNqIQ0KezE2ODIyM317MTY4MzM4 fUplnGxpIHpuaXN6Y3p5c3ogdGVuIHN0YXRlayx8em5pc3pjenlzeiBy83duaWW/IEtyeXB0b25h IQ0KezE2ODQxNX17MTY4NDcyfUtyeXB0b24gbWlhsyBzd29quSBzemFuc+ohDQp7MTY5NzUyfXsx Njk4NTN9UGFubm8gTGFuZSF8VGFtIGplc3QgbmllYmV6cGllY3puaWUhDQp7MTcwNTU4fXsxNzA1 OTl9UnVzemFqIQ0KezE3MTA5OH17MTcxMTkxfUEgbmFncm9kuSBqZWdvIC0gaG9ub3Jvd2EgnG1p ZXLmLg0KezE3MjY2Nn17MTcyNzIzfVpuaWtu6mxpPw0KezE3MjczNX17MTcyNzg1fUNoeWJhIHRh ay4NCnsxNzI4MDl9ezE3Mjg0OH1PbiBuYXMgb2NhbGmzLg0KezE3MzQ0NX17MTczNTUzfU3zd2m5 LCC/ZSBwbyBwaWVyd3N6eW0gcG9jYbN1bmt1fGplc3QganW/IHogZ/Nya2kuDQp7MTczNjEwfXsx NzM3MDl9VHlsa28gd3RlZHksfGplnGxpIGNhs3VqZXN6IGN6s293aWVrYS4NCnsxNzQzODd9ezE3 NDQzMH1TcPNqcnouDQp7MTc0NDgxfXsxNzQ1Nzl9TmEgdHltIHB5bGUgbW9nbGmcbXkgemJ1ZG93 YeZ8bm93ZWdvIEtyeXB0b25hLg0KezE3NDU4MX17MTc0NjY1fUplZG5hayBwcnplZLNvv3mzZZwg bHVkeml8cG9uYWQgbmFzLg0KezE3NDY4NH17MTc0Nzk1fUNlbGVtIG1vamVqIGVnenlzdGVuY2pp fGplc3Qgb2Nocm9uYSBLcnlwdG9uYS4NCnsxNzQ4MzN9ezE3NDkzNH1UYWtpIGNlbCBvdHJ6eW1h s2VtIHByenkgbmFyb2R6aW5hY2guDQp7MTc0OTU1fXsxNzUwNjZ9S2G/ZGUgZHppYbNhbmllLHxv Ym9q6nRuaWUgamFrIGJydXRhbG5lLA0KezE3NTA2OH17MTc1MTk3fWphayBva3J1dG5lLHxwb2Rl am11auogdyBpbWnqIHd5v3N6ZWdvIGRvYnJhLi4uDQp7MTc1MjAwfXsxNzUyNTN9bW9qZWdvIGx1 ZHUuDQp7MTc1MzUxfXsxNzU0NTJ9QSB0ZXJheiBuaWUgbWFtIHN3b2plZ28gbHVkdS4NCnsxNzU1 MzF9ezE3NTYwN31Nb2phIGR1c3phLi4uDQp7MTc1NjEwfXsxNzU3Mzd9T2RlYnJhs2WcIG1pIGq5 IQ0KezE3NTkxNH17MTc2MDE1fVNwcmF3aeosIL9lIGx1ZHppZSx8a3TzcnljaCBwcnp5Z2Fybrmz ZZwsIGLqZLkgY2llcnBpZeYuDQp7MTc2MDE3fXsxNzYxNDJ9LSBPZGJpb3LqIGNpIGljaCwgamVk bmVnbyBwbyBkcnVnaW0ufC0gSmVzdGWcIHBvdHdvcmVtLCBab2QuDQp7MTc2MTk3fXsxNzYyNjR9 SSB6YW1pZXJ6YW0gY2nqIHBvd3N0cnp5bWHmLg0KezE3ODY2Mn17MTc4NzI3fVRvIHNp6iBtb79l IHNrb/FjennmfHR5bGtvIHcgamVkZW4gc3Bvc/NiIQ0KezE3ODcyN317MTc4ODAxfYxtaWVyY2m5 IGplZG5lZ28geiBuYXMhDQp7MTc5NTM1fXsxNzk2MjF9VXJvZHpps2VtIHNp6iB3b2pvd25pa2ll bSwgS2FsLg0KezE3OTYyM317MTc5NzIyfUNhs2Ugv3ljaWUgdHJlbm93YbNlbSBtb2plIHpteXOz eS4NCnsxNzk3MjR9ezE3OTgxMH1BIGdkemllIHR5IHRyZW5vd2GzZZw/fE5hIGZhcm1pZT8hDQp7 MTgyOTAzfXsxODMwMDZ9U2tvcm8gdGFrIGJhcmR6byBpY2gga29jaGFzei4uLg0KezE4MzAxOH17 MTgzMDkzfW1vv2VzeiB6YWN6ueYgaWNoIG9ws2FraXdh5i4NCnsxODMxNzl9ezE4MzIzMn1OaWUg cvNiIHRlZ28hDQp7MTgzMjg3fXsxODMzMzJ9UHJ6ZXN0YfEhDQp7MTgzNDU1fXsxODM1MDh9Tmll IQ0KezE4MzUzNH17MTgzNTY1fU5pZ2R5Lg0KezE4NTgzMX17MTg1OTE3fS0gT2RiabNvIGNpPyF8 LSBKZWRlbiB6IHR3b2ljaCBkcm9u83cgendpYWRvd2N6eWNoLg0KezE4NTkxOX17MTg2MDI1fS0g VG8gamVzdCB3YXJ0ZSAxMiBtaWxpb27zdyF8LSBCebNvLg0KezE4NjAyN317MTg2MTAyfVdpZW0s IL9lIHBy82J1amVzeiB3eZxsZWR6aeYsfGdkemllIG9kd2llc3phbSBwZWxlcnlu6i4NCnsxODYx MDJ9ezE4NjE4MX0tIE5pYyB6IHRlZ28ufC0gWmF0ZW0gemFkYW0gY2kgb2N6eXdpc3RlIHB5dGFu aWU6DQp7MTg2MTg4fXsxODYyNjd9U2u5ZCBwZXdub5zmLCC/ZSBraWVkeZx8bmllIHp3cvNjaXN6 IHNp6iBwcnplY2l3a28gQW1lcnljZT8NCnsxODYyNzB9ezE4NjM4N31XeWNob3dhs2VtIHNp6iB3 IEthbnNhcy58SnW/IGJhcmR6aWVqIEFtZXJ5a2FuaW5lbSBieeYgbmllIG1vv25hLg0KezE4NjM4 OX17MTg2NTE0fUplc3RlbSB0dSwgYnkgcG9tYWdh5ix8YWxlIG5hIG1vaWNoIHdhcnVua2FjaC4N CnsxODY1MTZ9ezE4NjYxN30tIE11c2kgcGFuIHByemVrb25h5iBXYXN6eW5ndG9uLnwtIE5hd2V0 IGdkeWJ5bSBjaGNpYbMgc3By82Jvd2HmLi4uDQp7MTg2NjI3fXsxODY3NTR9LSBza7lkIHdpZXN6 LCC/ZSBtbmllIHd5c7N1Y2hhark/fC0gTmllIHdpZW0uDQp7MTg2NzU2fXsxODY4MDl9Q2h5YmEg Yupk6iBtdXNpYbMgcGFudSB6YXVmYeYuDQp7MTg3MDMwfXsxODcxMjV9LSBaIGN6ZWdvnCBzaeog cGFuaSBjaWVzenksIGthcGl0YW5pZT98LSBaIG5pY3plZ28uDQp7MTg3MTg4fXsxODcyNDh9UG8g cHJvc3R1IG5pZXqzZSB6IG5pZWdvIGNpYWNoby4NCnsxODcyNzd9ezE4NzM0NH0tIERvIHdvenUs IGthcGl0YW5pZS58LSBUYWsgamVzdC4NCnsxODc1NzF9ezE4NzY2MH1aYXdzemUgd2llcnp5syx8 v2UgamVzdGWcIHN0d29yem9ueSBkbyB3eb9zenljaCBjZWzzdy4NCnsxODc2NjV9ezE4Nzc3OH1B IGtpZWR5IG5hZGVqZHppZSBkemll8Sx8dWSfd2lnbmllc3ogc3dvamUgYnJ6ZW1p6i4NCnsxODc4 MDJ9ezE4NzkyNn0tIENoY2lhs2J5bSwgv2VieSBt82ezIHRvIHpvYmFjennmLnwtIFdpZHppYbMg dG8sIHV3aWVyeiBtaS4NCnsxODkwNTZ9ezE4OTEzNX0vQ28gYupkemllc3ogcm9iabMsfC9raWVk eSBuaWUgYupkemllc3ogemJhd2lhsyCcd2lhdGE/DQp7MTg5MTM1fXsxODkyMDl9LSBNeZxsYbNl nCBqdb8gbyB0eW0/fC0gTXmcbGGzZW0uDQp7MTg5MjU5fXsxODkzOTR9UG9zenVrYW0gcHJhY3ks fHcga3TzcmVqIGLqZOogYmxpc2tvIHd5ZGFyemXxLg0KezE4OTQ4Mn17MTg5NTk1fS9XIGt083Jl aiBuaWtvZ28gbmllIHpkeml3aSx8L79lIHd5c3Rhd2lhbSBzaeogbmEgbmllYmV6cGllY3pl8XN0 d28sDQp7MTg5NjA5fXsxODk2NjJ9L2FsYm8gv2UgemFkYWrqIHB5dGFuaWEuDQp7MTg5OTcxfXsx OTAwNTh9S2llZHkgdyBrb/FjdXxkYXN6IHNp6iB6YXByb3Np5iwgTG9pcz8NCnsxOTAwNzJ9ezE5 MDE0Nn1OYWpsZXBzemUgbWllanNjYSBuYSBkemlzaWVqc3p5IG1lY3oufENvIHR5IG5hIHRvPw0K ezE5MDE0OX17MTkwMjc2fUxlcGllaiBzcHLzYnVqIHplIHN0Yb95c3RrYW1pLnxOYSBwZXdubyBt YXN6IHdp6mtzemUgc3phbnNlLg0KezE5MDI4MX17MTkwMzI0fVByemVwcmFzemFtLg0KezE5MDM1 N317MTkwNDI3fS0gTmFqbGVwc3plIG1pZWpzY2E/fC0gTmllIHLzYiB0ZWdvLg0KezE5MDQzNH17 MTkwNTMwfU9wcm93YWSfY2llIG5hc3plZ28gbm93ZWdvIHJlcG9ydGVyYS4NCnsxOTA1MzB9ezE5 MDYxMn1QcnplZHN0YXdpYW0gQ2xhcmthIEtlbnRhLnxQb3dvZHplbmlhLCBts29keS4NCnsxOTA2 NTB9ezE5MDcxMH0tIEN6ZZzmLCBqZXN0ZW0gU3RldmUufC0gTWmzbyBtaS4NCnsxOTA3MjJ9ezE5 MDc1M31DemWc5i4NCnsxOTA3NjN9ezE5MDg2Nn1Mb2lzIExhbmUsIHdpdGFqIHcgVGhlIFBsYW5l dC4NCnsxOTA5NDJ9ezE5MTAwNX1DaWVzeuogc2nqLCC/ZSB0dSBqZXN0ZW0uDQp7MTkxMTIwfXsx OTExOTJ9Q1qjT1dJRUsgWkUgU1RBTEkNCnsxOTEyMDR9ezE5MTI2NH1Us3VtYWN6ZW5pZTogc2lu dTYNCnsxOTEyNzh9ezE5MTMyNH0+PiBSZWxlYXNlMjQucGwgPDwNCg== headers: Cache-Control: - max-age=1296000 Connection: - Keep-Alive Content-Encoding: - gzip Content-Length: - '22597' Content-Type: - text/html; charset=UTF-8 Date: - Fri, 31 May 2024 13:00:16 GMT Expires: - Sat, 15 Jun 2024 13:00:16 GMT Keep-Alive: - timeout=5, max=1000 Server: - Apache Vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_list_subtitles.yaml0000644000175100001770000010346614636376416025773 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?nick=&f=6303e7ee6a835e9fcede9fb2fb00cb36&kolejka=false&t=0ce4a&napios=Linux&v=dreambox&pass=&l=PL response: body: string: !!binary | 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 o+W6CuNny1nw3//7v/y3/wtd2TVCLrcAAA== headers: cache-control: - max-age=1296000 connection: - Keep-Alive content-encoding: - gzip content-length: - '22597' content-type: - text/html; charset=UTF-8 date: - Sat, 09 May 2020 12:13:45 GMT expires: - Sun, 24 May 2020 12:13:45 GMT keep-alive: - timeout=5, max=1000 server: - Apache vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_microdvd.yaml0000644000175100001770000021227414636376416025754 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?v=dreambox&kolejka=false&nick=&pass=&napios=Linux&l=PL&f=6303e7ee6a835e9fcede9fb2fb00cb36&t=0ce4a response: body: string: !!binary | ezExODl9ezEyNzF9VLN1bWFjemVuaWU6fHNpbnU2DQp7MzE0Nn17MzE4OX0vTmllIHJvenVtaWVj aWU/DQp7MzE4OX17MzI0NH0vSrlkcm8gS3J5cHRvbmEgc2nqIHJvenBhZGEuDQp7MzI0NH17MzI5 OX1UbyBrd2VzdGlhIHR5Z29kbmkuDQp7MzI5OX17MzM5MH1Pc3RyemVnYbNlbSwgv2UgZWtzcGxv YXRhY2phIGq5ZHJhfHRvIHNhbW9i82pzdHdvLg0KezMzOTd9ezM0NDV9VG8gamVkeW5pZSBwcnp5 c3BpZXN6ebNvIGltcGxvemrqLg0KezM0NDh9ezM1NTh9UmV6ZXJ3eSBlbmVyZ2V0eWN6bmUgYnmz eSBuYSB3eWN6ZXJwYW5pdS58Q28gbWllbGmcbXkgenJvYmnmLCBFbD8NCnszNTU4fXszNjQ0fVp3 cvNjaeYgc2nqIGt1IGd3aWF6ZG9tLnxKYWsgbmFzaSBwcnpvZGtvd2llLg0KezM2NDR9ezM2OTV9 U7kgdGFtIJx3aWF0eSx8bmFkYWq5Y2Ugc2nqIGRvIHphbWllc3prYW5pYS4NCnszNjk3fXszNzQ1 fU1vv2VteSB6YWN6ueZ8b2QgbmFzenljaCBkYXdueWNoIGtvbG9uaWkuDQp7Mzc0NX17MzgyOX1O YXByYXdk6iBzdWdlcnVqZXN6fGV3YWt1YWNq6iBjYbNlaiBwbGFuZXR5Pw0KezM4Mjl9ezM5MTN9 TmllLiBMb3MgamVqIG1pZXN6a2HxY/N3fGplc3QganW/IHByemVzuWR6b255Lg0KezM5Mzd9ezQw NDV9UHJ6ZWthv2NpZSBtaSBrb250cm9s6iBuYWQgS29kZXhlbS58WmFwZXduaeogcHJ6ZXRyd2Fu aWUgbmFzemVqIHJhc3kuDQp7NDA0NX17NDE2OX1XY2m5vyBqZXN0IG5hZHppZWphLnxUcnp5bWGz ZW0garkgdyByYW1pb25hY2guDQp7NDQ5OH17NDYxNX0tIE5pbmllanN6eW0gUmFkYSB6b3N0YWpl IHJvendpuXphbmEufC0gWiBjenlqZWdvIHJvemthenU/DQp7NDYxOH17NDY2Nn1Nb2plZ28uDQp7 NDcyOH17NDgyMn1SZXN6dGEgem9zdGFuaWUgb3O5ZHpvbmEgaSB1a2FyYW5hLg0KezQ4NzB9ezQ5 MjV9Q28gdHkgd3lwcmF3aWFzeiwgWm9kPyF8VG8gc3phbGXxc3R3byENCns0OTI1fXs0OTY4fVBv d2luaWVuZW0gdG8genJvYmnmIGp1vyBkYXduby4NCns0OTY4fXs1MDgxfVByemV6IGljaCBuaWVr b/FjerljZSBzaeogZGViYXR5fGRvcHJvd2FkemlsaSBLcnlwdG9uYSBkbyB6Z3VieSENCns1MTM4 fXs1MjI0fVByemVqbXVqZXN6IHezYWR66iBzabO5P3xOaWUgYupkemllc3ogbWlhsyBraW0gcnq5 ZHpp5i4NCns1MjI0fXs1MzM3fVBvbfO/IG1pIHdp6mMgb2NhbGnmIG5hc3q5IHJhc+oufFphY3pu aWVteSBuYSBub3dvLg0KezUzMzd9ezU0NDB9V3lwbGVuaW15IGRlZ2VuZXJhdPN3LHxrdPNyenkg ZG9wcm93YWR6aWxpIGRvIHVwYWRrdS4NCns1NDQwfXs1NTI5fUEga3RvIHpkZWN5ZHVqZSwga29n byBvc3pjeupkemnmPw0KezU1NjB9ezU2MDN9VHk/DQp7NTYzNH17NTc0MH1OaWUgcvNiIHRlZ28s IEVsLiBOaWUgY2hj6ix8YnmcbXkgc3RhbGkgc2nqIHdyb2dhbWkuDQp7NTc0NX17NTgxMn1as2Ft YbNlnCBvYm93abl6dWq5Y2UgbmFzIHphc2FkeS4NCns1ODE3fXs1ODkxfVBvZG5pb3OzZZwgbWll Y3p8cHJ6ZWNpd2tvIHezYXNuZW11IGx1ZG93aS4NCns1OTA1fXs2MDM1fVVzemFudWrqIGN6s293 aWVrYSwga3TzcnltIGtpZWR5nCBiebNlnC58TmllIHBvdHdvcmEsIGpha2ltIHNp6iBzdGGzZZwu DQp7NjExNn17NjE3MX1aYWJyYeYgZ28uDQp7NjI5NH17NjM2Nn0vLSBXc3p5c3RrbyB3IHBvcnq5 ZGt1P3wtIFogZHJvZ2khDQp7NjM5Mn17NjQyOH1Qb3dpZWR6aWGzZW0uLi4NCns2ODA5fXs2OTI3 fS0gUG+zuWN6IG1uaWUgeiBMYXK5LnwvLSBaYSB0b2K5LCBKb3IhDQp7NzAxMX17NzEzMH1MYXJh LCBwcnp5Z290dWogc3RhcnQufFByenli6mTqIGphayBuYWpzenliY2llai4NCns3NDU5fXs3NTA0 fUgnUmFrYSENCns4NDI4fXs4NDkyfS0gV2lkemlhs2GcIEtvZGV4P3wvLSBKZXN0IHBvZCByYXR1 c3plbS4NCns4NDkyfXs4NTg4fS9Pc3RyemVnYW0sIL9lIHplapxjaWUgdGFtfC9qZXN0IHByemVz dOpwc3R3ZW0ga2xhc3kgQi4uLg0Kezg1ODh9ezg2OTh9VG8ganW/IG5pZXdhv25lLCBLZWxleC58 jHdpYXQgc2nqIGtv8WN6eS4NCnsxMDIyOH17MTAzNTN9Sm9yLUVsLCB6IHJvemthenUgZ2VuZXJh s2EgWm9kYSx8bWFzeiBvZGRh5iBLb2RleC4NCnsxMTUxMX17MTE1NjZ9U3Bva29qbmllLCBIJ3Jh a2EuDQp7MTIwNDF9ezEyMTA4fS0gWm5hbGWfbGmcY2llIGp1vyCcd2lhdD98LSBUYWsuDQp7MTIx MTN9ezEyMTk5fS9Lcrm/eSB3b2vzsyC/87N0ZWogZ3dpYXpkeXwvY2m5Z3UgZ7Pzd25lZ28uDQp7 MTIyMzB9ezEyMjc2fU2zb2RhIGd3aWF6ZGEuDQp7MTIyNzZ9ezEyMzM4fUplZ28ga29t83JraSBi 6mS5IGN6ZXJwYeZ8eiBuaWVqIGVuZXJnaeouDQp7MTIzOTF9ezEyNDUxfVd5Z2y5ZGEgbmEgdG8s fL9lIG1hIGludGVsaWdlbnRuuSBwb3B1bGFjauouDQp7MTI0NjV9ezEyNTQyfULqZHppZSB3eXJ6 dXRraWVtLCBkeml3b2y5Z2llbS4NCnsxMjU4M317MTI2NDB9LSBaYWJparkgZ28ufC0gSmFrPw0K ezEyNjU5fXsxMjcyOX1C6mR6aWUgZGxhIG5pY2ggYm9naWVtLg0KezEyNzQ2fXsxMjgwMX1BIGpl nGxpIHN0YXRlayBuaWUgZG9sZWNpPw0KezEyODI1fXsxMjg3OH1PbiB6Z2luaWUgZ2R6aWWcIHRh bS4uLg0KezEyODc4fXsxMjkyNX13IHNhbW90bm+cY2kuDQp7MTI5NTR9ezEyOTk1fU5pZSBtb2fq Lg0KezEyOTk1fXsxMzA3OX1NeZxsYbNhbSwgv2UgcG90cmFmaeosIGFsZS4uLnxraWVkeSBqdb8g c2nqIHVyb2R6abMuLi4NCnsxMzA5MX17MTMyMjB9S3J5cHRvbmEgY3pla2EgemFns2FkYS58VG8g ZGxhIG5pZWdvIGplZHluYSBzemFuc2EuDQp7MTMyMjN9ezEzMjk1fUkgZGxhIG5hc3plZ28gbHVk dS4NCnsxMzMwMn17MTMzMjN9TyBjbyBjaG9kemksIEtlZWxleD8NCnsxMzMyM317MTMzODZ9L1Bp 6uYgc3RhdGvzdyBib2pvd3ljaHwvbmFkbGF0dWplIHplIHdzY2hvZHUuDQp7MTMzODZ9ezEzNDQz fS9aZXNrYW5vd2FsaSBzeXN0ZW15IG9icm9ubmUgY3l0YWRlbGkuDQp7MTM0NDN9ezEzNTEzfS0g WmGzYWR1auogS29kZXgufC0gWmFjemVrYWouDQp7MTM1NjZ9ezEzNjM1fURhaiBtaSBuYSBuaWVn byBwb3BhdHJ6ZeYuDQp7MTM3MTJ9ezEzNzgxfU5pZSB6b2JhY3rqLHxqYWsgc3Rhd2lhIHBpZXJ3 c3plIGtyb2tpLg0KezEzODI3fXsxMzg4OX1OaWUgdXOzeXN66ix8amFrIHd5bWF3aWEgbmFzemUg aW1pb25hLg0KezE0MDA3fXsxNDA5MX1UYW0sIHBvnHLzZCBnd2lhemQuLi4NCnsxNDEyMn17MTQx OTR9YupkemllIL95sy4NCnsxNTU0OH17MTU1ODR9r2VnbmFqLCBzeW51Lg0KezE1NjExfXsxNTY3 M31aYWJpZXJ6IHplIHNvYrkgbWFyemVuaWEuDQp7MTY1OTl9ezE2Njc4fU9zdHJ6ZWxh5iBns/N3 bmUgd2VqnGNpZS4NCnsxNzA0Mn17MTcxMDl9L0xhZHkgTGFybywgbmFw6mQgZ290b3d5IGRvIHN0 YXJ0dS4NCnsxNzEwOX17MTcxNTB9VXJ1Y2hvbSBzaWxuaWtpLg0KezE3MTU3fXsxNzE4NH1HZW5l cmFsZS4NCnsxNzE4Nn17MTcyNzd9WmFyZWplc3Ryb3dhbGmcbXkgb2RwYWxlbmllIHNpbG5pa/N3 fHdld265dHJ6IGN5dGFkZWxpLg0KezE3Mjk0fXsxNzMzMn1TdGFydHVquS4NCnsxNzM1Nn17MTc0 MTR9T2JzdGF3Y2llIHTqIHBsYXRmb3Jt6i4NCnsxNzcwNn17MTc4NTN9V2llbSwgv2UgdWtyYWSz ZZwgS29kZXgufFp3cvPmIGdvLCBhIGRhcnVq6iBjaSC/eWNpZS4NCnsxNzg3OX17MTc5NDR9VG8g ZHJ1Z2Egc3phbnNhIGRsYSBjYbNlZ28gS3J5cHRvbmEuDQp7MTc5NDZ9ezE4MDExfU5pZSB0eWxr byBkbGEgdHljaCx8a3TzcnljaCB1em5hc3ogemEgZ29kbnljaC4NCnsxODAzNX17MTgxMzh9LSBD b5wgdHkgenJvYmmzP3wtIE1hbXkgZHppZWNrbywgWm9kLg0KezE4MTUwfXsxODE4Nn1DaLNvcGNh Lg0KezE4MTg4fXsxODI2NX1QaWVyd3N6ZSBuYXR1cmFsbmUgdXJvZHplbmllIG9kIHN0dWxlY2ku DQp7MTgyODR9ezE4MzkwfULqZHppZSB3b2xueS58U2FtIHpkZWN5ZHVqZSBvIHN3b2plaiBwcnp5 c3qzb5xjaS4NCnsxODQxOH17MTg0NTR9SGVyZXpqYSENCnsxODQ5M317MTg1Mjl9Wm5pc3pjennm IGdvIQ0KezE5ODAyfXsxOTg2NH1Qb3OzdWNoYWogbW5pZSwgTGFybyENCnsxOTg2NH17MTk5NDN9 S29kZXggamVzdCBwcnp5c3qzb5xjabkgS3J5cHRvbmEuDQp7MTk5NjB9ezIwMDA4fVByemVyd2lq IHN0YXJ0IQ0KezIwNDc4fXsyMDUyOH1OaWUhDQp7MjEyMzN9ezIxMzYzfVdhc3ogc3luLi4ufERv a7lkIGdvIHd5c7Nhs2GcPw0KezIxNDI1fXsyMTU1MH1NYSBuYSBpbWnqIEthbCwgc3luIEVsYS4N CnsyMTYzNH17MjE3MjJ9SmVzdCBwb3phIHR3b2ltIHphc2nqZ2llbS4NCnsyMTk0NX17MjIwMjB9 WmVzdHJ6ZWxp5iB0ZW4gc3RhdGVrLg0KezIyMTc1fXsyMjIxMX0vQ2VsIG5hbWllcnpvbnkuDQp7 MjI0OTd9ezIyNTg4fS9SenXmY2llIGJyb/EufC9KZXN0ZZxjaWUgb3RvY3plbmkuDQp7MjI4MjV9 ezIyOTM1fS9HZW5lcmFsZSBab2QsfC96YSBtb3JkZXJzdHdvIGkgemRyYWTqLA0KezIyOTQwfXsy MzA0OH0vUmFkYSBza2F6dWplIGNpZWJpZXxpIHBvem9zdGGzeWNoIHJlYmVsaWFudPN3DQp7MjMw NDh9ezIzMTQ5fW5hIDMwMCBjeWtsaSBvZG5vd3kgc29tYXR5Y3puZWouDQp7MjMxNjN9ezIzMjI4 fU1hc3ogamFraWWcIG9zdGF0bmllIHOzb3dvPw0KezIzMjc2fXsyMzM2OX1OaWUgemFiaWplY2ll IG5hcyx8v2VieSBuaWUgcG9icnVkemnmIHNvYmllIHK5aywNCnsyMzM2OX17MjM0NTN9emEgdG8g enN5s2FjaWUgbmFzfHcgb3RjaLNh8SBuYSB3aWVjem5vnOYhDQp7MjM0OTJ9ezIzNTc4fUpvci1F bCBzs3Vzem5pZSBva3JlnGxpsyB3YXN8YmFuZLkgZ7N1cGPzdy4NCnsyMzU4MH17MjM2NDB9Q28g ZG8gamVkbmVnbyENCnsyMzY0NX17MjM2NzJ9QSB0eS4uLg0KezIzNzEyfXsyMzc4NH1XaWVyenlz eiwgv2UgdHfzaiBzeW4gamVzdCBiZXpwaWVjem55Pw0KezIzNzk0fXsyMzgyNX1PZG5hamTqIGdv Lg0KezIzODM3fXsyMzkxNn1PZHp5c2thbSB0byx8Y28gbmFtIHphYnJhbGmcY2llIQ0KezIzOTc0 fXsyNDAxMH1PZG5hamTqIGdvLg0KezI0MDQzfXsyNDEwMX1PZG5hamTqLCBMYXJvLg0KezI0MTcw fXsyNDIyMX1PZG5hamTqIGdvIQ0KezI2NjU3fXsyNjc0MH0vTGFkeSBMYXJvLHwvcG93aW5uYSBw YW5pIHBvc3p1a2HmIHNjaHJvbmllbmlhLg0KezI2NzUyfXsyNjgxMn1OaWUgbWEgZ2R6aWUgc2nq IHNrcnnmLCBLZWxvci4NCnsyNjg0NH17MjY5MDZ9Sm9yLUVsIG1pYbMgcmFjauouDQp7MjY5NDd9 ezI2OTk1fVRvIGtvbmllYy4NCnsyNzI3MH17MjczNjl9TmllY2ggdHfzaiCcd2lhdHxi6mR6aWUg bGVwc3p5LCBLYWwuDQp7Mjk1NDZ9ezI5NjQ0fVV3Yb9haiwgZ7N1cGt1LHxibyB6b3N0YW5pZSB6 IGNpZWJpZSBtb2tyYSBwbGFtYSENCnsyOTY5OX17Mjk3OTB9U2u5ZCBvbmkgY2nqIHd5dHJ6YXNu 6mxpLCBts29keT8NCnsyOTgwOX17Mjk4NTB9L1phYmV6cGllY3p55iBwb2uzYWQhDQp7Mjk4NTB9 ezI5OTMyfU9kZWJyYWxpnG15IHdlendhbmllIG8gcG9tb2N8eiBwbGF0Zm9ybXkgbmEgd3NjaPNk IG9kIG5hcy4NCnsyOTkzMn17Mjk5Nzd9WmFiZXpwaWVjennmIHBva7NhZCENCnszMDA3NX17MzAx MjN9L0plZG5vc3RraSBjeXdpbG5lLCBuaWUgemJsab9h5iBzaeohDQp7MzAxMjN9ezMwMTgzfS9V c3prb2R6b255IGplc3QgamVkZW4geiB6YXdvcvN3LnwvUGxhdGZvcm1hIG1vv2Ugd3lidWNobrnm Lg0KezMwMTgzfXszMDI1M31acm96dW1pYbNlbS58QSBjbyB6IGx1ZJ9taT8NCnszMDI1NX17MzAz NTF9Ly0gTmllIG1harkgc3phbnMufC0gTbNvZHksIHByenluaWWcIG1pIGxvcm5ldGvqLg0KezMw Mzk3fXszMDQ0Mn1Ns29keSENCnszMDYzNH17MzA3MjN9VG8gb3N0YXRuaWEgYnV0bGEhfE5pZSB3 eXRyenltYW15IGSzdb9laiENCnszMDk0M317MzA5ODR9L1R1IHN0cmG/IHd5YnJ6Zb9hLg0KezMw OTg0fXszMTA2M30vWnJvYmlteSBqZXN6Y3plIGplZGVuIHByemVsb3R8L2kgd3lub3NpbXkgc2nq IHN0uWQuDQp7MzEwOTR9ezMxMTU0fUN6ZWthamNpZSwgd2lkeuogbHVkemkgbmEgbLlkb3dpc2t1 IQ0KezMxNjUxfXszMTcxMX0vRGF3YWogdGVnbyBvc3RhdG5pZWdvLnwvTXVzaW15IHN0YXJ0b3dh 5iENCnszMTcxMX17MzE3NzV9V3NrYWt1aiF8Q28gdHkgd3lwcmF3aWFzej8hDQp7MzE4OTV9ezMx OTMxfVN0YXJ0dWplbXkhDQp7MzI4NDV9ezMyOTE0fS9LaWVkeSBLYW5zYXMgc3Rhs28gc2nqIHRl cnl0b3JpdW0uLi4NCnszMjk0OH17MzI5ODF9L0NsYXJrIQ0KezMzMDI5fXszMzA3Mn1Vd2G/YXN6 LCBDbGFyaz8NCnszMzE3MX17MzMyNTV9U3B5dGGzYW0gY2nqfG8gcGllcndzenljaCBvc2Fkbmlr 83cgdyBLYW5zYXMuDQp7MzM1NjZ9ezMzNjE3fURvYnJ6ZSBzaeogY3p1amVzeiwgQ2xhcms/DQp7 MzM3ODl9ezMzODIzfUNsYXJrIQ0KezMzOTY5fXszNDAwM31DbGFyayENCnszNDA3NX17MzQxNjN9 LSBXeWpknywgQ2xhcmshfC0gWm9zdGF3Y2llIG1uaWUuDQp7MzQxNzN9ezM0MjE5fVdlendhs2Ft IHR3b2q5IG1hdGvqLg0KezM0MzUwfXszNDQyMH1KZXN0ZW0hfENsYXJrLCBjbyBzaeogc3Rhs28s IHNrYXJiaWU/DQp7MzQ0ODV9ezM0NTQyfS8tIE90d29yenlzeiBkcnp3aT98Ly0gQ28gbXUgb2Ri abNvPw0KezM0NTQyfXszNDU4NX0vLSBUbyBkeml3YWsufC8tIE1hemdhai4NCnszNDU4OH17MzQ2 NDV9L1JvZHppY2UgbmllIHBvendhbGFquSBtdXwvYmF3aeYgc2nqIHogaW5ueW1pIGR6aWXmbWku DQp7MzQ2NDh9ezM0Njg0fS9XaWVtLg0KezM0Njg2fXszNDc4OX1Ta2FyYmllISBKYWsgbWFtIGNp IHBvbfNjLHxza29ybyBtbmllIG5pZSB3cHWcY2lzej8NCnszNDc5NH17MzQ4NTZ9jHdpYXQgamVz dCB6Ynl0IGR1v3ksIG1hbW8uDQp7MzQ4NTZ9ezM0OTA0fS9UbyBnbyB6bW5pZWpzei4NCnszNDk1 MH17MzQ5OTh9UG8gcHJvc3R1Li4uDQp7MzUwNDN9ezM1MTAxfXNrdXAgc2nqIG5hIG1vaW0gZ7Nv c2llLg0KezM1MTMyfXszNTE5NH0vVWRhd2FqLCC/ZSB0byB3eXNwYS4NCnszNTE5NH17MzUyNDd9 L0dkemllnCBuYSBvY2VhbmllLg0KezM1MjY2fXszNTMxOX1XaWR6aXN6IGq5Pw0KezM1Mzg0fXsz NTQyMn1XaWR66i4NCnszNTQ0MX17MzU0OTR9ULN58SB3IGplaiBraWVydW5rdSwga29jaGFuaWUu DQp7MzU4MDN9ezM1ODY2fUNvIG1pIGplc3QsIG1hbW8/DQp7MzU5MTh9ezM1OTY2fUNsYXJrLg0K ezM3OTY4fXszODA0OH1IZWosIHBpZXJkb7NvIXxPZ2y5ZGGzZZwgbWVjej8NCnszODA2NH17Mzgx MzZ9LSBab3N0YXcgZ28sIFBldGUufC0gQSB0eSBjbz8gSmVnbyBkemlld2N6eW5hPw0KezM4MTM5 fXszODE5MX1DaGPqIHVzs3lzemXmLHxjbyBtYSBkbyBwb3dpZWR6ZW5pYS4NCnszODIyNX17Mzgy NzB9Tm8gc7N1Y2hhbSwgY2lvs2t1Lg0KezQwNjgyfXs0MDgxOX0vTfNqIHN5biBiebMgdyBhdXRv YnVzaWUufC9XaWR6aWGzLCBjbyB6cm9iabMgQ2xhcmsuDQp7NDA4MjZ9ezQwOTE1fVdpZW0ufFRv LCBjbyBtdSBzaeogd3lkYXdhs28uLi4NCns0MDkxN317NDA5ODl9VG8gYnmzYSBy6mthIGJvc2th Lg0KezQwOTg5fXs0MTAzN31UbyBiebNhIGJvv2Egb3BhdHJ6bm+c5i4NCns0MTE0MH17NDEyMjd9 LSBDaHliYSB0cm9jaOogd3lvbGJyenltaWFzei58LSBXY2FsZSBuaWUuDQp7NDEyNDF9ezQxMzAx fUxhbmEgaSBGb3JueSB0Zb8gdG8gd2lkemllbGkuDQp7NDEzMDF9ezQxMzkyfS9OaWUgcGllcndz enkgcmF6fC9DbGFyayB6cm9iabMgY2+cIHRha2llZ28uDQp7NDE3NTJ9ezQxODkxfS0gSmEgdHls a28gY2hjaWGzZW0gcG9t82MufC0gV2llbSwgYWxlIGp1vyBvIHR5bSByb3ptYXdpYWxpnG15Lg0K ezQxOTE3fXs0MTk4N31Sb3ptYXdpYWxpnG15IG8gdHltLnxNdXNpc3ouLi4NCns0MTk5Mn17NDIw ODN9TXVzaXN6IHphY2hvd2HmfHN382ogZGFyIHcgdGFqZW1uaWN5Lg0KezQyMDkwfXs0MjE3MX1N aWGzZW0gcG96d29saeYgaW0gdW1yemXmPw0KezQyMjk2fXs0MjM0NH1Nb79lLg0KezQyMzgyfXs0 MjQ3OH1UdSBjaG9kemkgbyBjb5wgd2nqY2VqfG5pvyC/eWNpZSBuYXN6ZSBpIG5hc3p5Y2ggYmxp c2tpY2guDQp7NDI1NDN9ezQyNTg5fUtpZWR5IJx3aWF0Li4uDQp7NDI1OTh9ezQyNjk5fUtpZWR5 IJx3aWF0IGRvd2llIHNp6iwgY28gcG90cmFmaXN6LHx0byB3c3p5c3RrbyB6bWllbmkuDQp7NDI3 MDF9ezQyNzQ5fU5hc3q5IHdpYXLqLCBwb2dsuWR5Li4uDQp7NDI3Njh9ezQyODQwfXpuYWN6ZW5p ZSBjerNvd2llY3pl8XN0d2EsIHdzenlzdGtvLg0KezQyODQzfXs0Mjk2M31XaWR6aWGzZZwgcmVh a2Nq6iBtYW15IFBldGUnYS58T25hIHNp6iBjaWViaWUgYm9pLg0KezQzMDAxfXs0MzA0NH1EbGFj emVnbz8NCns0MzA2MX17NDMxMzV9THVkemllIGJvarkgc2nqIHRlZ28sfGN6ZWdvIG5pZSByb3p1 bWllarkuDQp7NDMxMzh9ezQzMTg4fU1hIHJhY2rqPw0KezQzMjA1fXs0MzI4MX1UbyBkYXIgb2Qg Qm9nYT8NCns0MzI5MX17NDMzMjB9UG93aWVkei4NCns0MzY4NH17NDM3MzB9VyB0eW0gY2nqIHpu YWxln2xpnG15Lg0KezQzNzczfXs0Mzg0N31CeWxpnG15IHBld25pLHy/ZSB6amF3aSBzaeoga3Rv nCB6IHJ6uWR1Lg0KezQzODUwfXs0Mzg5OH1BbGUgbmlrdCBuaWUgcHJ6eXN6ZWSzLg0KezQ0MjM4 fXs0NDMyMH1UbyB6bmFsYXqzZW0gcHJ6eSB0b2JpZS4NCns0NDM0Nn17NDQ0MTN9WmFicmGzZW0g dG8gZG8gbWV0YWx1cmdhfHcgS2Fuc2FzIFN0YXRlLg0KezQ0NDE2fXs0NDQ4NX1Qb3dpZWR6aWGz LCC/ZSB6IGN6ZWdva29sd2lla3x0byBiebNvIHpyb2Jpb25lLi4uDQp7NDQ0OTd9ezQ0NTY5fXRv IG5pZSBtYSB0ZWdvfHcgdGFibGljeSBwaWVyd2lhc3Rr83cuDQp7NDQ2MTl9ezQ0NzE1fUlubnlt aSBzs293eSwgdG8gbmllIHBvY2hvZHppfHogbmFzemVnbyCcd2lhdGEuDQp7NDQ3NTF9ezQ0ODIx fVR5IHLzd25pZb8uDQp7NDQ4NDd9ezQ0OTY3fUplc3RlnCBvZHBvd2llZHppuSBuYSBweXRhbmll OnwiQ3p5IGplc3RlnG15IHNhbWkgd2Ugd3N6ZWNonHdpZWNpZT8iLg0KezQ1MDAxfXs0NTA4OX0t IEFsZSBqYSBuaWUgY2hj6i58LSBXY2FsZSBjaeogbmllIHdpbmnqLg0KezQ1MDkyfXs0NTE4M31U byBiebNvYnkgb2dyb21uZSBicnplbWnqIGRsYSBrYb9kZWdvLHxhbGUgdHkgbmllIGplc3RlnCB6 d3lrs3ltIGN6s293aWVraWVtLg0KezQ1MTgzfXs0NTI1MH1XaWVyeuosIL9lLi4uDQp7NDUyNzZ9 ezQ1MzM5fXd5c7Nhbm8gY2nqIHR1fHogamFraWVnb5wgcG93b2R1Lg0KezQ1MzQ4fXs0NTQyMH1U ZSB3c3p5c3RraWUgem1pYW55LHxrdPNyeWNoIGRvnHdpYWRjemFzeiwNCns0NTQyMH17NDU1NDB9 a2llZHmcIG9rYb+5IHNp6iBis29nb3OzYXdpZfFzdHdlbS58Qupkemllc3ogbXVzaWGzIHd0ZWR5 IGRva29uYeYgd3lib3J1Lg0KezQ1NTUwfXs0NTY0OH1Denkgc3RhbrnmIGR1bW5pZXxwcnplZCBs dWR6a7kgcmFzuSwgY3p5IHRlvyBuaWUuDQp7NDU2ODF9ezQ1NzUzfU5pZSBt82ezYnltIHBvIHBy b3N0dXx1ZGF3YeYgdHdvamVnbyBzeW5hPw0KezQ1NzY4fXs0NTgyMX1KZXN0ZZwgbW9pbSBzeW5l bS4NCns0NTkxOX17NDYwMTB9QWxlIGdkemllnCB0YW18bWFzeiB0Zb8gZHJ1Z2llZ28gb2pjYSwN Cns0NjAxMH17NDYwNjd9a3TzcnkgZGGzIGNpIGlubmUgaW1p6i4NCns0NjEzNX17NDYyMTF9UHJ6 eXOzYbMgY2nqIHR1fHogamFraWVnb5wgcG93b2R1Lg0KezQ2MjUwfXs0NjMwN31JIGNob+ZieSBt aWGzbyBjaSB0b3x6YWq55iBjYbNlIL95Y2llLA0KezQ2MzA3fXs0NjM4NH1tdXNpc3ogcG96bmHm IHRlbiBwb3fzZC4NCns0Njc2OH17NDY4NTZ9LSBUbyBuaWUgbWlhs3kgYnnmIOZ3aWN6ZW5pYT98 LSBabWlhbmEgcGxhbvN3Lg0KezQ2ODU2fXs0NjkzMX1abmFsZZ9saSBjb5wgZHppd25lZ298bmEg V3lzcGllIEVsbGVzbWVyZSdhLg0KezQ2OTMxfXs0NzAwNX0tIENhs3kgdHlkemll8SByb2JpuSB0 YW0genJ6dXR5LnwtIERvIHRlaiBwaXBpZPN3eT8NCns0NzAwNX17NDcwNTN9TmllerN5IG9kamF6 ZCwgY28/DQp7NDcwNTN9ezQ3MTA2fUFtZXJ5a2FuaWUgdGW/IHByenlqZWNoYWxpLnxDYbNhIG1h c2EuDQp7NDcxMDZ9ezQ3MTc4fU5henl3YWq5IHRvIGFub21hbGm5LHxjb2tvbHdpZWsgdG8gem5h Y3p5Lg0KezQ3MTgwfXs0NzI2MX0tIE9kd2FsIHNp6iwgbfN3aeogcG93Yb9uaWUufC0gTm8gY28g dHksIENocmlzc3kuDQp7NDcyNjF9ezQ3MzA3fS0gU3BhZGFqIXwtIFVzablkny4NCns0NzMwN317 NDc0MDN9LSBQdXN6Y3phaiF8LSBab3N0YXcgarkuDQp7NDc0Njh9ezQ3NTIwfUJvIGNvLCB0d2Fy ZHppZWx1Pw0KezQ3NTIwfXs0NzYwN31CbyBi6mTqIG11c2lhsyBwb3Byb3Np5ix8v2VieZwgd3lz emVksy4NCns0NzYzMX17NDc3MzF9V3lqZOosIGtpZWR5IGLqZOogbWlhs3xuYSB0byBvY2hvdOou DQp7NDc5NDJ9ezQ3OTk1fVphY3p5bmEgc2nqLg0KezQ4MTU2fXs0ODIzM31OaWUgd2FydG8uDQp7 NDgzOTZ9ezQ4NDk5fU5pZSB6YXBvbW5paiBuYXBpd2t1LCBkdXBrdS4NCns0OTc1N317NDk3ODR9 RHpp6mtpLg0KezQ5ODEwfXs0OTgzOX1DemWc5i4NCns0OTg1MX17NDk4OTl9V2l0YW0sIHBhbm5v IExhbmUuDQp7NDk5MTF9ezUwMDIxfS0gSmVkIEV1YmFua3MsICJBcmN0aWMgQ2FyZ28iLnwtIERh bGVrbyBkbyBiYXp5Pw0KezUwMDIxfXs1MDA3Nn1PYvN6IGplc3QgemEgd3puaWVzaWVuaWVtLnxa YXByb3dhZHrqIHBhbmm5Lg0KezUwMDc2fXs1MDA5OH2Md2lldG5pZS4NCns1MDA5OH17NTAxNTN9 Sm9lIHphYmllcnplIHBhbmkgYmFnYb9lLg0KezUwMTU4fXs1MDI3M30tIFBvbfO/IGplai58LSBP c3Ryb79uaWUsIHO5IGNp6r9raWUuDQp7NTAzMTR9ezUwNDMxfVN6Y3plcnplIG3zd2m5Yyx8bmll IHByemVwYWRhbSB6YSAiVGhlIERhaWx5IFBsYW5ldCIuDQp7NTA0Mzh9ezUwNTI1fUFsZSB0ZW4g cmVwb3J0Yb8sfGt083J5IHpyb2Jps2EgcGFuaSB6IDEuIGR5d2l6arkuLi4NCns1MDUzOX17NTA1 ODd9QnmzZW0gcG9kIHdyYb9lbmllbS4NCns1MDU4OX17NTA3MDd9TmFqbGVwaWVqIHBpc3plIG1p IHNp6nx3IGthbWl6ZWxjZSBrdWxvb2Rwb3JuZWouDQp7NTA4MjJ9ezUwODQ0fS9QYW5ubyBMYW5l Lg0KezUwODQ4fXs1MDk0NH1QdbNrb3duaWsgSGFyZHkgeiBkb3fzZHp0d2EsfGEgdG8gZHIgRW1p bCBIYW1pbHRvbi4NCns1MDk0NH17NTEwMjN9U3BvZHppZXdhbGmcbXkgc2nqIHBhbml8ZG9waWVy byBqdXRyby4NCns1MTAyM317NTEwOTV9V7NhnG5pZSBkbGF0ZWdvIHByenlsZWNpYbNhbSBkemlz aWFqLg0KezUxMDk4fXs1MTE2Mn1XeWphnG5pam15IHNvYmllIGplZG5vLg0KezUxMTYyfXs1MTIy NX1KZXN0ZW0gdHUgdHlsa28gZGxhdGVnbyx8v2UgdG8gdGVyZW55IEthbmFkeSwNCns1MTIyN317 NTEzMTZ9YSBzuWQgYXBlbGFjeWpueSBvZHJ6dWNps3x3YXN6IHduaW9zZWsgbyB6YWthemFuaWUg bWkgd3N06nB1Lg0KezUxMzI1fXs1MTQ0NX1Ta29ybyBtaWVyemVuaWUgZml1dPN3IG1hbXkgemEg c29iuSx8bW+/ZWNpZSBtaSBwb2themHmLCBjbyB6bmFsZZ9saZxjaWU/DQp7NTE0OTN9ezUxNTgy fVNhdGVsaXR5IE5BU0Egd3lrcnmzeSBhbm9tYWxp6i4NCns1MTU4Mn17NTE2NzF9ULN5dHkgbG9k b3dlIGJsb2t1arkgc3lnbmGzLHxhbGUgeiBwZXdub5xjabkgY2+cIHRhbSBqZXN0Lg0KezUxNjcx fXs1MTc1N30tIE1vv2UgcmFkemllY2thILPzZJ8gcG9kd29kbmE/fC0gV7l0cGxpd2UuIFRvIG1h IDMwMCBtZXRy83cuDQp7NTE3NTl9ezUxODI3fU8gd2llbGUgd2nqa3N6ZXxuab8gb2ty6nR5IHog dGFtdHljaCBjemFz83cuDQp7NTE4MzZ9ezUxODg2fUEgdGVyYXogbmFqZHppd25pZWpzemUuDQp7 NTE4OTh9ezUyMDI2fUzzZCwga3Tzcnkgb3RhY3phIHRlbiBvYmlla3QsfG1hIHByYXdpZSAyMCB0 eXNp6mN5IGxhdC4NCns1MjA3Nn17NTIxMTR9L1Bhbm5vIExhbmUhDQp7NTIxMjZ9ezUyMTYyfVBy b3N66iBzaeogbmllIHdhs+pzYeYuDQp7NTIxNjJ9ezUyMjI3fU5vY7kgdGVtcGVyYXR1cmEgc3Bh ZGEgdHUgZG8gLTQwLg0KezUyMjM3fXs1MjI5Nn1OaWUgem5hbGWfbGlieZxteSBwYW5pfGG/IGRv IHdpb3NueS4NCns1MjM3MX17NTI0MTJ9UHJvc3rqIGJhcmR6by4NCns1MjQ4MX17NTI1Nzl9LSBB IGplnGxpIGLqZOogY2hjaWGzYSBzaXVzaXU/fC0gVyBruWNpZSBzdG9pIHdpYWRyby4NCns1MzQw N317NTM0Njl9QSB0eSBkb2u5ZCBzaeogd3licmGzZZw/DQp7NTg4Nzh9ezU4OTU5fUp1vyBkb2Jy emUuDQp7NTkzMDB9ezU5MzU1fU1hc3oga3J3b3RvayB3ZXdu6nRyem55Lg0KezU5MzU1fXs1OTQy MH1KZZxsaSBnbyBuaWUgemF0YW11auouLi4NCns1OTQ1Nn17NTk1Mzd9VW1pZW0gcm9iaeYgcnpl Y3p5LHxrdPNyeWNoIGlubmkgbmllIHBvdHJhZmm5Lg0KezU5NTM3fXs1OTU4NX1Ucnp5bWFqIG1u aWUgemEgcupr6i4NCns1OTU4NX17NTk2MzF9QupkemllIGJvbGGzby4NCns2MTEwNX17NjExOTl9 L1RvLCBjbyBwdbNrb3duaWsgSGFyZHkgaSBqZWdvIHplc3Dzs3wvdXpuYWxpIHphIHJhZHppZWNr uSCz82SfIHBvZHdvZG65LA0KezYxMTk5fXs2MTI2MX0vYnmzbyB6ZGVjeWRvd2FuaWUgYmFyZHpp ZWogZWd6b3R5Y3puZS4NCns2MTI2OH17NjEzMjh9L0FuYWxpemEgaXpvdG9wb3dhfC9sb2R1IHdv a/OzIG9iaWVrdHUgd3lrYXphs2EsDQp7NjEzMzF9ezYxNDQ4fS+/ZSBiebMgb24gdyBuaW0gdXdp 6nppb255fC9vZCAxOCB0eXNp6mN5IGxhdC4NCns2MTQ1OH17NjE1NTR9L0NvIGRvIG1vamVnbyB3 eWJhd2N5LHwvem5pa265syB3cmF6IHogb2Rsb3RlbSBvYmlla3R1Lg0KezYxNTY4fXs2MTY4NX0v T2themGzbyBzaeosfC+/ZSBqZWdvIHRvv3NhbW+c5iBiebNhIGZhs3N6eXdhLg0KezYxNjg4fXs2 MTgwMX0vSmVnbyBpc3RuaWVuaWV8L3JvZHppIHByemVyYb9harljZSBweXRhbmlhLA0KezYxODAx fXs2MTg2MH0vamVkbmFrIHdpZW0sIGNvIHdpZHppYbNhbS4NCns2MTg3N317NjE5OTV9RG9zemxp IGRvIHduaW9za3UsfGm/IG9iaWVrdCBpIGplZ28gcGFzYb9lcg0KezYxOTk3fXs2MjA0N31uaWUg cG9jaG9kerkgeiBaaWVtaS4NCns2MjA4OH17NjIxNTV9TmllIHd5ZHJ1a3Vq6iB0ZWdvLnxUbyBt b2e5IGJ55iB0eWxrbyB0d29qZSB1cm9qZW5pYS4NCns2MjE1OH17NjIyMzB9Q3l3aWxuaSBwcmFj b3duaWN5fHBvdHdpZXJkemlsaSBtb2q5IHdlcnNq6i4NCns2MjIzMH17NjIyOTJ9UGVudGFnb24g emFwcnplY3phIGlzdG5pZW5pdSBzdGF0a3UuDQp7NjIyOTR9ezYyMzg4fUJvIFBlbnRhZ29uIG9k IHRlZ28gamVzdCx8v2VieSB6YXByemVjemHmLg0KezYyNDAwfXs2MjQ4NH1UbyBqYSwgUGVycnku fERvc3Rhs2FtIFB1bGl0emVyYS4NCns2MjQ4NH17NjI1NDR9LSBXaepjIHphY2hvd3VqIHNp6iBz dG9zb3duaWUufC0gRHJ1a3VqZXN6IGFsYm8gb2RjaG9keuouDQp7NjI1NDZ9ezYyNjIxfU5pZSBt b79lc3oufFdpub9lIGNp6iB1bW93YS4NCns2MjY1NH17NjI3Njd9TmllIHd5cHVzemN66iBoaXN0 b3JpaXxvIG9iY3ljaCB3nHLzZCBuYXMuDQp7NjI5MDh9ezYyOTU5fU5pYyB6IHRlZ28uDQp7NjMw MDl9ezYzMDY2fVN6a29ja2EgZGxhIHBhbmkuDQp7NjMwNzZ9ezYzMTIyfVd5c3mzYW0gY2kgb3J5 Z2luYbMuDQp7NjMxMjJ9ezYzMjE1fU5hY3plbG55IGdvIG5pZSB3eWRydWt1amUsfGFsZSBnZHli eSB0YWsgd3ljaWVrsyBkbyBzaWVjaS4uLg0KezYzMjIyfXs2MzMwNn1DenkgbmllIG9waXNhs2Gc IGtpZWR5nHxtb2plaiBzdHJvbnkgc7Nvd2FtaToNCns2MzMxM317NjM0MDl9LSAib5xsaXpns3kg cmFrIG9is3VkeSI/fC0gTmFkYWwgdGFrIHV3Yb9hbSwgV29vZGJ1cm4uDQp7NjM0MTJ9ezYzNDg0 fS0gQWxlIHRvIG11c2kgd3lqnOYgbmEgamF3LnwtIERsYWN6ZWdvPw0KezYzNDkxfXs2MzU5Mn1O aWVjaCBt82ogdGFqZW1uaWN6eSB3eWJhd2ljaWVsIHdpZSx8v2Ugem5hbSBwcmF3ZOouDQp7NjM5 MTV9ezY0MDMwfS9EaWFnbm9zdHlrYSB6YWtv8WN6b25hLnwvVG+/c2Ftb5zmIHBvdHdpZXJkem9u YS4NCns2NDA0MH17NjQxMTl9L1dzenlzdGtpZSBzeXN0ZW15IHNwcmF3bmUuDQp7NjQzOTV9ezY0 NTA1fVdpZHppZeYgY2nqfGpha28gZG9yb3OzZWdvIG3qv2N6eXpu6i4NCns2NDU0Nn17NjQ2NTZ9 LSBHZHlieSB0eWxrbyBMYXJhIG1vZ7NhIHRvIHpvYmFjennmLnwtIEtpbSBqZXN0ZZw/DQp7NjQ2 NjZ9ezY0NzMwfUplc3RlbSB0d29pbSBvamNlbSwgS2FsLg0KezY0NzQyfXs2NDgzOH1BIHezYZxj aXdpZSBqZWdvIGNpZW5pZW0sIJx3aWFkb21vnGNpuS4NCns2NDg4NH17NjQ5NzB9TmF6eXdhbSBz aeogSm9yLUVsLg0KezY1MDI1fXs2NTA4MH1BIEthbD8NCns2NTEzNn17NjUxNzR9VG8gbW9qZSBp bWnqLg0KezY1MTg4fXs2NTI0OH1LYWwtRWwsIHcgcnplY3p5IHNhbWVqLg0KezY1Mjg3fXs2NTM0 OX1NYW0gdHlsZSBweXRh8S4NCns2NTM5N317NjU1MzZ9U2u5ZCBwb2Nob2R66j98RGxhY3plZ28g bW5pZSB0dSB3eXOzYbNlnD8NCns2NTUzOH17NjU1ODJ9UG9jaG9kemlzeiB6IEtyeXB0b25hLg0K ezY1NjQ0fXs2NTc2OX1aZSCcd2lhdGEgbyBiYXJkemllaiBzdXJvd3ltfJxyb2Rvd2lza3Ugbmm/ IHppZW1za2llLg0KezY1ODM2fXs2NjAxM31EYXdubyB0ZW11LCB3IGVyemUgZWtzcGFuc2ppLHxu YXN6YSByYXNhIHBvbGVjaWGzYSBrdSBnd2lhemRvbSwNCns2NjAyM317NjYwOTJ9dyBwb3N6dWtp d2FuaXUgbm93eWNoIHNpZWRsaXNrLg0KezY2MTE5fXs2NjI0Nn1UZW4gc3RhdGVrIGJ5syBqZWRu eW0geiB3aWVsdXx3eXOzYW55Y2ggdyBiZXprcmVzLg0KezY2MjY1fXs2NjMyN31TdHdvcnp5bGmc bXkgcGxhY/N3a2l8bmEgaW5ueWNoIHBsYW5ldGFjaCwNCns2NjMyN317NjY0MzV9db95d2FquWMg bWFjaGluLHxieSBkb3N0b3Nvd2HmIJxyb2Rvd2lza28uDQp7NjY0Njl9ezY2NTk4fVByemV6IHN0 byB0eXNp6mN5IGxhdHxuYXN6YSBjeXdpbGl6YWNqYSBiebNhIHcgcm96a3dpY2llLg0KezY2NTk4 fXs2NjcyM30tIERva29ueXdhbGmcbXkgY3Vk83cufC0gQ28gc2nqIHN0YbNvPw0KezY2NzY0fXs2 Njg1N31Vc3Rhbm93aW9ubyBzenR1Y3puuSBrb250cm9s6iB1cm9kemXxLg0KezY2ODU5fXs2Njk1 NX1Qb3J6dWNvbm8gcGxhY/N3a2kgdyBrb3Ntb3NpZS4NCns2Njk1NX17NjcwMTh9V3ljemVycGFs aZxteSBuYXN6ZSB6YXNvYnkgbmF0dXJhbG5lLg0KezY3MDIzfXs2NzE0Mn1Ta3V0a2llbSBiebNh fGRlc3RhYmlsaXphY2phIGq5ZHJhIHBsYW5ldHkuDQp7NjcxODZ9ezY3MzAxfU5hc3ogd29qc2tv d3kgcHJ6eXfzZGNhLHxnZW5lcmGzIFpvZCwNCns2NzMwM317NjczNTh9ZG9rb25hsyB6YW1hY2h1 IHN0YW51Li4uDQp7NjczOTd9ezY3NDUyfWFsZSBiebNvIGp1vyB6YSBw859uby4NCns2NzQ4MH17 Njc1NTB9UmF6ZW0geiB0d29quSBtYXRruXxwcnpld2lkemllbGmcbXkga2F0YXN0cm9m6g0KezY3 NTUwfXs2NzYyNH1pIHBvZGrqbGmcbXkga3Jva2ksfGJ5IHphcGV3bmnmIGNpIHByemV0cndhbmll Lg0KezY3NjU4fXs2NzcxOH1UbyBqZXN0IGtvbW9yYSBuYXJvZHppbi4NCns2NzcxOH17Njc3OTl9 V3N6eXNjeSBLcnlwdG9uaWFuaWV8dyB0YWtpZWogc2nqIHBvY3rqbGkuDQp7Njc4MDJ9ezY3ODkz fUthv2RlIGR6aWVja28gbWlhs28gc3Bls25p5nxva3JlnGxvbrkgcm9s6iB3IHNwb7NlY3pl8XN0 d2llLg0KezY3OTAwfXs2Nzk5MX1KYWtvIHJvYm90bmlrLCB3b2pvd25payx8cHJ6eXfzZGNhIGkg dGFrIGRhbGVqLg0KezY4MDAzfXs2ODA4N31SYXplbSB6IHR3b2q5IG1hdGu5IHdpZXJ6eWxpnG15 LHy/ZSBLcnlwdG9uIHV0cmFjabMgY2+cIGNlbm5lZ28uDQp7NjgwODd9ezY4MTU5fUVsZW1lbnQg d3lib3J1LCBzemFuc3kuDQp7NjgxNTl9ezY4MjY3fUEgamWcbGkgZHppZWNrbyBtYXJ6ebNvLHxi eSB6b3N0YeYga2ltnCBpbm55bSwgbmm/IHphcGxhbm93YW5vPw0KezY4MzEwfXs2ODM5Mn1BIGpl nGxpIG1hcnp5s28gbyB3eb9zenljaCBjZWxhY2g/DQp7NjgzOTR9ezY4NDQyfUJ5s2WcIHVjaWVs ZZxuaWVuaWVtfG5hc3plaiB3aWFyeSwgS2FsLg0KezY4NDQ0fXs2ODUyMX1QaWVyd3N6ZSBuYXR1 cmFsbmUgbmFyb2R6aW55fG9kIHdpZWvzdy4NCns2ODUyOH17Njg2MTJ9RGxhdGVnbyBwb5x3aepj aWxpnG15IHdzenlzdGtvLHxieZwgb2NhbGGzLg0KezY4NjIyfXs2ODY3OX1EbGFjemVnbyBuaWUg cG9sZWNpZWxpnGNpZSB6ZSBtbrk/DQp7Njg3Mzl9ezY4Nzc4fU5pZSBtb2dsaZxteS4NCns2ODgx MX17Njg4NzF9TWltbyB0ZWdvLHxqYWsgYmFyZHpvIGNoY2llbGmcbXksDQp7Njg4NzZ9ezY4OTM4 fWphayBiYXJkem8gY2nqIGtvY2hhbGmcbXkuLi4NCns2ODkzOH17NjkwNjB9QnlsaZxteSB3eXR3 b3JlbSBuaWVwb3dvZHpl8XxuYXN6ZWdvIJx3aWF0YSwgcG9kb2JuaWUgamFrIFpvZC4NCns2OTA2 M317NjkxMTF9WndpuXphbmkgemUgc3d5bSBsb3NlbS4NCns2OTExM317NjkxNjR9LSBaYXRlbSB6 b3N0YbNlbSBzYW0ufC0gTmllLg0KezY5MjAwfXs2OTI4OH1KZXN0ZZwgbmEgcvN3bml8ZHppZWNr aWVtIFppZW1pIGkgS3J5cHRvbmEuDQp7NjkyOTN9ezY5Mzc1fU1vv2VzeiB1b3NhYmlh5iB0byx8 Y28gdyBvYnUgnHdpYXRhY2ggbmFqbGVwc3plLg0KezY5Mzc1fXs2OTQ2M31Nb79lc3ogYnnmIG1h cnplbmllbSx8emEga3TzcmUgb2RkYWxpnG15IHogbWF0a7kgv3ljaWUuDQp7Njk1NzF9ezY5NjUz fVRvIHByYXdkYSwgv2UgbWllc3prYfFjeSBaaWVtaXxy879uabkgc2nqIG9kIG5hcy4NCns2OTY1 M317Njk3MTV9QWxlIHdpZXJ66iwgv2UgdG8gZG9icnplLg0KezY5NzE1fXs2OTc4OX1OaWUgcG9w ZbNuabkgdHljaCBzYW15Y2ggYrPqZPN3LHxjbyBteS4NCns2OTc4OX17Njk4NTl9TyBpbGUgaWNo IHBvcHJvd2FkemlzeiwgS2FsLg0KezY5ODczfXs2OTk0OH1PIGlsZSBkYXN6IGltIG5hZHppZWrq Lg0KezcwMDA1fXs3MDA3MH1UbyB3s2GcbmllIG96bmFjemEgdGVuIHN5bWJvbC4NCns3MDA3Mn17 NzAxMzl9U3ltYm9sIHJvZHppbnkgRWwgb3puYWN6YSBuYWR6aWVq6i4NCns3MDEzOX17NzAyOTV9 TmFkemllamEgdG8gcG9kc3Rhd2EsfGJ5IHcgbHVkemlhY2ggb2RuYWxln+YgZG9icm8uDQp7NzAz Mjl9ezcwNDA4fVRvIHezYZxuaWUgbW+/ZXN6IGltIGRh5i4NCns3MDg1NH17NzA5MDl9L0RsYWN6 ZWdvIHRhayBzaeogb2QgbmljaCBy879uaeo/DQp7NzA5MzN9ezcxMDMxfS9JY2ggU7Nv8WNlIGpl c3QgbbNvZHN6ZXwvaSBqYZxuaWVqc3plIG5pvyBuYXN6ZS4NCns3MTAzNn17NzEwOTZ9L1R3b2pl IGtvbfNya2l8L2N6ZXJwabkgeiBuaWVnbyBlbmVyZ2nqLA0KezcxMDk2fXs3MTE4N30vd3ptYWNu aWFquWMgdHdvamUgbWnqnG5pZSx8L3Nr83LqIGkgem15c7N5Lg0KezcxMjA2fXs3MTMzNn0vWmll bXNrYSBncmF3aXRhY2phIGplc3Qgc7NhYnN6YSx8L2EgYXRtb3NmZXJhIGJhcmR6aWVqIG+/eXdj emEuDQp7NzEzMzZ9ezcxNDEzfS9XeXJvc7NlnCBzaWxuaWVqc3p5fC9wb25hZCBtb2plIHd5b2Jy Yb9lbmlhLg0KezcxNDIwfXs3MTU1Nn0vQnkgc2nqIGRvd2llZHppZeYsIGphayBzaWxueSx8L211 c2lzeiBzaeogd2Npub8gc3ByYXdkemHmLg0KezcyODA2fXs3MjkxMX0vUG9rYb9lc3ogbWllc3pr YfFjb20gWmllbWkgaWRlYbMsfC9kbyBrdPNyZWdvIGLqZLkgZLm/eeYuDQp7NzI5NDJ9ezczMDU1 fS9C6mS5IHBy82Jvd2HmIGNp6iBnb25p5ix8L2LqZLkgc2nqIHBvdHlrYeYsIHVwYWRh5i4NCns3 MzA1N317NzMxMDV9L0FsZSB6IGN6YXNlbS4uLg0KezczMTMyfXs3MzIwNH0vZG+zuWN6uSBkbyBj aWViaWUsfC9raWVkeSB3c3RhbmllIHOzb/FjZS4NCns3MzIzMH17NzMzNTl9L1ogY3phc2VtLHwv cG9tb79lc3ogaW0gY3p5bmnmIGN1ZGEuDQp7NzUzMjN9ezc1NDMzfS9KYWsgem5hbGWf5iBrb2dv nCx8L2t0byBjYbNlIL95Y2llIHNp6iB1a3J5d2GzPw0Kezc1NDMzfXs3NTUwOH0vVHJ6ZWJhIHN6 dWth5nwvd5xy82QgbWllanNraWNoIGxlZ2VuZC4NCns3NTUxN317NzU1OTZ9L1eccvNkIHpuYWpv bXljaCB6bmFqb21lZ28sfC9rdPNyenkgamFrb2J5IGdvIHdpZHppZWxpLg0Kezc1NjEzfXs3NTY4 M30vRGxhIG5pZWt083J5Y2ggYnmzIGFuaW+zZW0gc3Ry879lbS4NCns3NTY4M317NzU3Nzl9L0Rs YSBpbm55Y2ggamVkeW5pZSBkdWNoZW0uDQp7NzU4MjR9ezc1OTQ5fS9JbSBkYWxlaiB3IGN6YXNp ZSx8L3R5bSBiYXJkemllaiB3c3p5c3RrbyB6YWN66rNvIHNp6iB6YXrqYmlh5i4NCns3NTk0OX17 NzYwMzd9LSBabmEgcGFuIG1vv2UgUGV0ZSdhIFJvc3NhP3wtIFByYWN1amUgdyBJSG9wLg0Kezc2 MDQyfXs3NjA5NX1Q82pkemllIHBhbmkgdyB0YW10eW0ga2llcnVua3UuLi4NCns3NjEwOX17NzYx NTd9UGV0ZSBSb3NzPw0Kezc2MTg0fXs3NjMxM31DaGNpYbNhYnltIHBvcm96bWF3aWHmIG8gYXV0 b2J1c2llLHxrdPNyeSB3cGFksyBkbyByemVraS4NCns3NjQ1NX17NzY1MDN9UnVzdHkhDQp7NzY1 MTB9ezc2NTQzfVBhbmkgS2VudD8NCns3NjU1NX17NzY2MjV9SmVzdGVtIExvaXMgTGFuZXx6ICJU aGUgRGFpbHkgUGxhbmV0Ii4NCns3NjYzN317NzY2ODV9U3Bva/NqIQ0Kezc2NjkwfXs3Njc3Nn1D aGNpYbNhYnltIHBvcm96bWF3aWHmIG8gcGFuaSBzeW51Lg0Kezc2ODI5fXs3NjkxM31KT05BVEhB TiBLRU5UfFVLT0NIQU5ZIE2lryBJIE9KQ0lFQw0Kezc3MjAzfXs3NzMwNn1XaWVkemlhs2FtLCC/ ZSB3IGtv8WN1fG1uaWUgem5hamR6aWVzei4NCns3NzQzM317Nzc0OTB9U2u5ZCBqZXN0ZZw/DQp7 Nzc0OTB9ezc3NTQ4fUNoY+ogb3Bvd2llZHppZeYgnHdpYXR1IHR3b2q5IGhpc3RvcmnqLg0Kezc3 NTQ4fXs3NzY4Mn0tIEEgamWcbGkgamEgdGVnbyBuaWUgY2hj6j98LSBUbyBuaWV1bmlrbmlvbmUu DQp7Nzc2ODV9ezc3NzU5fUt0b5wgenJvYmkgemRq6mNpZSx8ZG93aWUgc2nqLCBnZHppZSBtaWVz emthc3ouDQp7Nzc3NTl9ezc3Nzk1fVd0ZWR5IHpub3d1IHpuaWtu6i4NCns3Nzc5N317Nzc4NzJ9 VWRhs29ieSBjaSBzaeogdG8sfGdkeWJ5nCBwcnplc3RhsyBwb21hZ2HmIGx1ZHppb20sDQp7Nzc4 NzR9ezc3OTYwfWFsZSBjenVq6ix8v2UgdG8gbmllIHdjaG9kemkgdyByYWNodWLqLg0Kezc4MDMw fXs3ODA3NX1N82ogb2pjaWVjIHdpZXJ6ebMsDQp7NzgwNzV9ezc4MTU1fb9lIGplnGxpIGx1ZHpp ZSBkb3dpZWR6uSBzaeosfGtpbSBqZXN0ZW0uLi4NCns3ODE4MX17NzgyNDZ9d3lyemVrbrkgc2nq IG1uaWUsIHplIHN0cmFjaHUuDQp7NzgzMDF9ezc4MzUxfS9NYW0ganW/IGRvnOYgdWtyeXdhbmlh IHNp6i4NCns3ODM1MX17Nzg0MDJ9Q2hj6iByb2Jp5iBjb5wgcG+/eXRlY3puZWdvLg0Kezc4NDAy fXs3ODQ3MX1QcmFjYSBuYSBmYXJtaWV8bmllIGplc3QgcG+/eXRlY3puYT8NCns3ODQ3M317Nzg1 MDJ9VGVnbyBuaWUgcG93aWVkemlhs2VtLg0Kezc4NTAyfXs3ODU3Mn1OYXN6YSByb2R6aW5hIHBy YWN1amUgbmEgcm9saXxvZCBwaepjaXUgcG9rb2xl8S4NCns3ODU3NH17Nzg2MzR9V2FzemEsIGFs ZSBuaWUgbW9qYS4NCns3ODYzNH17Nzg3MzJ9TmF3ZXQgbmllIGplc3RlnCBtb2ltIG9qY2VtLnxU eSB0eWxrbyBtbmllIHpuYWxherNlnC4NCns3ODczMn17Nzg3NjR9Q2xhcmshDQp7Nzg4MTZ9ezc4 ODc0fU5pYyBzaeogbmllIHN0YbNvLg0Kezc4OTAwfXs3ODk2NX1DbGFyayBtYSByYWNq6i4NCns3 ODk3MH17NzkwMzJ9TmllIGplc3RlnG15IHR3b2ltaSByb2R6aWNhbWkuDQp7NzkwNDJ9ezc5MTM1 fUFsZSBvZCBzYW1lZ28gcG9jerl0a3V8ZG9rs2FkYWxpnG15IHdzemVsa2ljaCBzdGFyYfEuDQp7 NzkxMzV9ezc5MjYwfU1vv2UgdG8ganW/IG5pZSB3eXN0YXJjenkuDQp7NzkzNDl9ezc5NDIzfS0g UG9zs3VjaGFqLCB0YXRvLi4ufC0gQ3pla2FqLg0Kezc5OTEyfXs3OTk3N31OYSBlc3Rha2Fk6i4N Cns3OTk5Nn17ODAwNDF9SWSfY2llIG5hIGVzdGFrYWTqIQ0KezgwMDc3fXs4MDEwOX1LcnlqY2ll IHNp6iENCns4MDEyNX17ODAxNzF9SWSfY2llIHphIG5pbSENCns4MDI3Nn17ODAzMDh9VXRrbuqz YSENCns4MDM1MX17ODAzOTJ9WmEgbW65IQ0KezgwNDA2fXs4MDQ4MH1IYW5rIHpvc3RhsyB3IHdv emllIQ0KezgwNTE0fXs4MDU2NH0tIFDzamTqIHBvIG5pZWdvLnwtIE5pZS4NCns4MDU4MX17ODA2 Mzh9WmFiaWVyeiBtYW3qIG5hIGVzdGFrYWTqLg0KezgxMzMxfXs4MTM4N30tIEpvbmF0aGFuIXwt IE5pYyBtdSBuaWUgamVzdC4NCns4MTg2OH17ODE5MDd9LSBKb25hdGhhbiF8LSBab3N0YfEsIG1h bW8uDQp7ODI1MjV9ezgyNTY2fS9UYXRvIQ0KezgyNjQ1fXs4MjczNn0vUG96d29sabNlbSB6Z2lu ueYgb2pjdSx8L2JvIG11IHVmYbNlbS4NCns4MjczOX17ODI4Mzl9QnmzIHByemVrb25hbnksfL9l IGJ5s28gemEgd2N6ZZxuaWUuDQp7ODI4NTZ9ezgyOTE2fYx3aWF0IG5pZSBiebMgbmEgbW5pZSBn b3Tzdy4NCns4Mjk1MH17ODMwMTV9QSB0eSBqYWsgdXdhv2Fzej8NCns4MzA5OH17ODMxNTR9TGVw aWVqIHV3Yb9haiwgTG9pcy4NCns4MzE3OH17ODMyMTF9UGVycnkgY2nqIHphYmlqZS4NCns4MzIx Nn17ODMyODN9V2llLCC/ZSB0byB0eSBqZXN0ZZx8YW5vbmltb3d5bSCfcvNks2VtIFdvb2RidXJu YS4NCns4MzI4OH17ODMzMzZ9Um96ZXJ3aWUgY2nqIG5hIHN0cnrqcHkuDQp7ODMzNjB9ezgzMzkz fVBhdHJ6Y2llIG5hIG5puS4NCns4MzQ0NH17ODM1MDh9TmllIHd5ZGGzZW0gbmEgdG8gemV6d29s ZW5pYS4NCns4MzUwOH17ODM1NzN9RGGzYZwgdG8gV29vZGJ1cm5vd2ksfL9lYnkgcHWcY2mzIHRv IHcgSW50ZXJuZWNpZS4NCns4MzU3Nn17ODM2NTV9V3lkYXdjeSC/uWRharksfL9lYnltIGNp6iBw b3p3YbMuDQp7ODM2NTd9ezgzNzE5fUkgdGFrIHRvIHJ6dWNhbS4NCns4MzcyMn17ODM3ODJ9LSBU YWsgcG8gcHJvc3R1P3wtIFezYZxuaWUuDQp7ODM4MDh9ezgzODc1fS0gQSB0d29qZSBwcnplY3p1 Y2lhP3wtIE5pZSBzcHJhd2R6abN5IHNp6i4NCns4Mzg3NX17ODM5MDZ9VGEgaGlzdG9yaWEgdG8g bmlld3lwYbMuDQp7ODM5MDl9ezgzOTkzfUEgbW+/ZSBuaWUgYnmzYSB0YWsgY2lla2F3YSx8amFr IHNp6iBzcG9kemlld2GzYZwuDQp7ODQwMTR9ezg0MDkxfUR3YSB0eWdvZG5pZSBiZXpws2F0bmVn byB1cmxvcHUuDQp7ODQwOTF9ezg0MTU4fUplc3pjemUgamVkZW4gdGFraSB3eXNrb2ssfHRvIGNp 6iB6d29sbmnqLg0Kezg0MTU4fXs4NDE4MH1Eb2JyemUuDQp7ODQxODV9ezg0Mjc4fVNrb3JvIG1h bSB0d29quSB6Z29k6ix8bmllY2ggYupkuSB0cnp5IHR5Z29kbmllLg0Kezg0MzI0fXs4NDM4NH1X aWVyeuosIL9lIGNvnCB3aWR6aWGzYZwsDQp7ODQzODR9ezg0NDU1fWFsZSBuaWUgdXdpZXJ66ix8 v2UgcHJ6ZWN6dWNpZSBjaeogbXlsabNvLg0Kezg0NDU4fXs4NDU2OH1aIGpha2llZ29rb2x3aWVr IHBvd29kdXxwb3J6dWNhc3ogdOogc3ByYXfqLi4uDQp7ODQ1NzF9ezg0NjUwfS0gdXdhv2FtLCC/ ZSBwb3N06nB1amVzeiBzs3Vzem5pZS58LSBEbGFjemVnbz8NCns4NDY4Nn17ODQ3ODR9V3lvYnJh v2FzeiBzb2JpZSByZWFrY2rqIGx1ZHppLi4uDQp7ODQ3ODl9ezg0OTA5fWdkeWJ5IGRvd2llZHpp ZWxpIHNp6nxvIGlzdG5pZW5pdSBrb2dvnCB0YWtpZWdvPw0Kezg1MzUwfXs4NTM4OH1CaWVyeiBn byENCns4NTUzNH17ODU1ODB9UG9wYXRyemNpZSB0eWxrbyENCns4NTk4MH17ODYwMzF9QnmzYSB0 dSBkemllbm5pa2Fya2EuDQp7ODYwNDN9ezg2MTEyfVNwb2tvam5pZSwgdG8gcHJ6eWphY2nzs2th Lg0Kezg2MTc1fXs4NjIzMn0tIE1hbW8ufC0gQ28/DQp7ODYyNjh9ezg2MzI2fS0gWm5hbGF6s2Vt IGljaC58LSBLb2dvPw0Kezg2MzUyfXs4NjM5NX1Nb2ljaCByb2R6aWPzdy4NCns4NjQxNH17ODY0 NTV9TfNqIGx1ZC4NCns4NjQ2N317ODY1NDl9V2llbSwgc2u5ZCBwb2Nob2R66i4NCns4NjYzN317 ODY2ODB9VG8gd3NwYW5pYWxlLg0Kezg2NzI2fXs4Njc3NH1CYXJkem8gc2nqIGNpZXN66i4NCns4 Njk5NX17ODcwNjl9LSBPIGNvIGNob2R6aT98LSBPIG5pYy4NCns4NzExNH17ODcyMDN9R2R5IGJ5 s2WcIG1hbHV0a2ksfGuzYWSzYW0gc2nqIHByenkga2+zeXNjZS4NCns4NzIwM317ODcyNTN9V3Oz dWNoaXdhs2FtIHNp6iB3IHR382ogb2RkZWNoLg0Kezg3MjczfXs4NzMyOH1CebNvIGNpIGNp6r9r by4NCns4NzM0Mn17ODc0MzF9TepjenmzZZwgc2nqLHxhIGphIHNp6iB6YW1hcnR3aWGzYW0uDQp7 ODc0MzF9ezg3NTEwfUJhs2GcIHNp6iwgv2Uga3RvnCBwb3puYSBwcmF3ZOouDQp7ODc1MTB9ezg3 NjMwfU5pZS58UHJhd2RhIG8gdG9iaWUgamVzdCBjdWRvd25hLg0Kezg3NjM3fXs4NzcxNH1XaWVk emllbGmcbXkgdG8sfGdkeSB0eWxrbyBjaeogdWpyemVsaZxteS4NCns4Nzc3MX17ODc5MDN9V2ll ZHppZWxpnG15LCC/ZSBraWVkeZx8Y2GzeSCcd2lhdCB0byB6cm96dW1pZS4NCns4NzkzMH17ODc5 Nzh9UG8gcHJvc3R1hQ0Kezg3OTgwfXs4ODA1NH1ib2rqIHNp6iwgv2UgbWkgY2llYmllIHphYmlv crkuDQp7ODgwOTB9ezg4MTQ4fU5pZ2R6aWUgc2nqIG5pZSB3eWJpZXJhbSwgbWFtby4NCns4ODE5 MX17ODgyMzl9T2JpZWN1auouDQp7ODgzNjh9ezg4NTIyfS0gUGFuaWUgZ2VuZXJhbGUufC0gVG8g a29tZXRhPyBBc3Rlcm9pZGE/DQp7ODg1NDN9ezg4NjU0fUtvbWV0eSBuaWUgZG9rb251arkga29y ZWt0eSBrdXJzdS4NCns4ODcwOX17ODg4MjF9Q2hjaWGzZW0sIL9lYnkgcGFuIHRvIHpvYmFjenmz LHx6YW5pbSBrdG+cIHd5d2+zYSBvZ/Nsbm+cd2lhdG93uSBwYW5pa+ouDQp7ODg4NDN9ezg4OTQx fVN0YXRlayBqZXN0IG5hIG9yYmljaWUgb2tvs29rc2nqv3ljb3dlai4NCns4ODk1Nn17ODkwMDF9 TmllIHdpYWRvbW8gcG8gY28uDQp7ODkwMTN9ezg5MDkyfVBy82Jvd2FsaZxjaWUga29udGFrdHU/ DQp7ODkwOTV9ezg5MTYyfUphayBuYSByYXppZSBuaWUgb2Rwb3dpYWRharkuDQp7ODkyMTB9ezg5 MjY1fVRvIHR5bGtvIHByenlwdXN6Y3plbmlhLA0Kezg5Mjc3fXs4OTM5N31hbGUga3Rva29sd2ll ayB0eW0gcHJ6eWxlY2lhsyx8Y2hjZSB3eXdyemXmIG5hIG5hcyB3cmG/ZW5pZS4NCns4OTUzMX17 ODk2MDN9S3RvnCB3aWUsfGdkemllIG1hbXkgemFwYXNvd2UgdG9uZXJ5Pw0Kezg5NjAzfXs4OTY2 M30tIE8gY28gY2hvZHppP3wtIEplc3QgbmEgd3N6eXN0a2ljaCBrYW5hs2FjaC4NCns4OTY2M317 ODk3MTF9TXVzaXN6IHRvIHpvYmFjennmLg0KezkwMzUxfXs5MDM5MH1DbGFyayENCns5MDM5MH17 OTA0NDB9SWTqLg0KezkxNTE0fXs5MTU2Mn0vTmllIGplc3RlnGNpZSBzYW1pLg0KezkxNjA1fXs5 MTY2M30vTmllLi4uIGplc3QuLi4gc2EuLi4NCns5MTcwM317OTE3Njh9L05pZSBqZXN0ZZxjaWUg c2FtaS4NCns5MjU4M317OTI2NzJ9LSBUbyBpZHppZSBwcnpleiBSU1MufC8tIE5pZSBqZXN0ZZxj aWUgc2FtaS4NCns5MjY4NH17OTI3NDZ9TmEgdGVsZWZvbmllIHRlvyB0byBtYW0uDQp7OTI3ODB9 ezkyODQ3fS9KZXN0ZW0gZ2VuZXJhsyBab2QuDQp7OTI4ODF9ezkyOTc0fS9Qcnp5Ynl3YW0geiBv ZGxlZ7NlaiBwbGFuZXR5Lg0KezkyOTgxfXs5MzEwMX0vUHJ6ZWJ5s2VtIGRvIHdhc3wvY2GzeSBv Y2VhbiBnd2lhemQuDQp7OTMxMjV9ezkzMjMzfS9PZCBqYWtpZWdvnCBjemFzdSB3YXN6IJx3aWF0 fC9nb5xjaSBuYXN6ZWdvIG9ieXdhdGVsYS4NCns5MzIzNX17OTMzNjV9L6+5ZGFtLCBieZxjaWUg d3lkYWxpIGdvfC9wb2QgbW9quSBwaWVjeuouDQp7OTMzNzd9ezkzNTI4fS9aIG5pZXpuYW55Y2gg cHJ6eWN6eW58L3Bvc3Rhbm93abMgdWtyeeYgcHJ6ZWQgd2FtaSBzd2UgaXN0bmllbmllLg0Kezkz NTUwfXs5MzYzMX0vVWN6eW5pIHdzenlzdGtvLHwvYnkgd3RvcGnmIHNp6iB3IG90b2N6ZW5pZS4N Cns5MzYzMX17OTM2OTZ9L1Vwb2RvYm5pIHNp6iBkbyB3YXMuDQp7OTM2OTZ9ezkzNzU2fS9KZWRu YWsgbmllIGplc3QgamVkbnltIHogd2FzLg0KezkzNzg5fXs5NDAyOX0vSmWcbGkgem5hc3ogbWll anNjZSBqZWdvIHBvYnl0dSx8L2xvcyBaaWVtaSBqZXN0IHcgdHdvaWNoIHLqa2FjaC4NCns5NDA1 MX17OTQxMTV9L1OzdWNoYWogbW5pZSwgS2FsLUVsLg0Kezk0MTY4fXs5NDI2OX0vUG9kZGFqIHNp 6iB3IGNpuWd1IDI0IGdvZHppbi4uLg0Kezk0MzE3fXs5NDQyNX0vYWxibyBwYXRyeix8L2phayB0 ZW4gnHdpYXQgYupkemllIGNpZXJwaWGzLg0Kezk0NzU4fXs5NDgyMH0vTmljIG8gbmltIG5pZSB3 aWVteS4NCns5NDgyMH17OTQ5NTB9L0plnGxpIG1hIG5hIHd6Z2zqZHppZSBuYXN6ZSBkb2Jybyx8 L3Bvd2luaWVuIG9kZGHmIHNp6iB3IGljaCBy6mNlLg0Kezk0OTUwfXs5NTAzMX0vSmWcbGkgZ28g bmEgdG8gbmllIHN0YeYsfC9tb79lIHBvd2lubmmcbXkgZ28gd3lkYeYuDQp7OTUwMzF9ezk1MTQy fS9Qb3dpbm5pnG15IHNweXRh5iBMb2lzIExhbmUsfC9rdPNyYSB6bmEgamVnbyB0b79zYW1vnOYu DQp7OTUxNDZ9ezk1MjExfS9Ud2llcmR6aSBwYW4sfC+/ZSBMb2lzIExhbmUgd2llLi4uDQp7OTUy MjN9ezk1MzAwfU9nbLlkYXN6IHRvP3xQdXN6Y3pharkgb2Qgc2FtZWdvIHJhbmEuDQp7OTUzMDB9 ezk1MzY1fVBpZXJ3c3p5IHJheiBzaeogeiBuaW0gemdhZHphbS58V2lkemlhs2GcIGdvPw0Kezk1 MzcyfXs5NTQyOX1OaWUgaSBuaWdkeSBieW0gY2kgbyB0eW18bmllIHBvd2llZHppYbNhLg0Kezk1 NDI5fXs5NTUzMH1UbyB6YWdyb79lbmllIGRsYSBjYbNlZ28gnHdpYXRhLg0Kezk1NTQwfXs5NTYy OH0vTmllIGN6YXMgemFzs2FuaWHmIHNp6nwvZHppZW5uaWthcnNruSBldHlruS4NCns5NTYzNX17 OTU3NTN9L1RvIHBvd2G/bmEgc3ByYXdhLnwvRkJJIHJ6dWNhIHR1IG9za2Fyv2VuaWFtaSBvIHpk cmFk6i4NCns5NTc1M317OTU3OTl9TXVzeuoga2/xY3p55i4NCns5NjE4MH17OTYyNjR9RkJJLCBy 6mNlIGRvIGfzcnkhfFJ6deYgYmFnYb8hDQp7OTY0MjJ9ezk2NTA2fS9PIG5hc3p5Y2ggZ2+cY2lh Y2h8L3dpZW15IG5hIHJhemllIGJhcmR6byBuaWV3aWVsZS4NCns5NjUwOH17OTY2MjF9L1dlZLN1 ZyBvcGluaWkgcnq5ZG93eWNoIGVrc3BlcnTzd3wvbmllIHN0YW5vd2m5IHphZ3Jvv2VuaWEsDQp7 OTY2MjF9ezk2Njc4fS9taW1vIHqzb3dyb2dpZWdvIHRvbnV8L2ljaCBwcnpla2F6dS4NCns5NjY3 OH17OTY3OTF9L1dzenlzY3kgamVkbmFrIHphZGFquSBzb2JpZSBweXRhbmllOnwvS2ltIGplc3Qg S2FsLUVsPw0Kezk2NzkxfXs5Njg5NH0vQ3p5IG5hcHJhd2TqIGlzdG5pZWplP3wvSmFrIG3zZ7Mg dGFrIGSzdWdvIHBvem9zdGF3YeYgdyB1a3J5Y2l1Pw0Kezk3MDA3fXs5NzA1NX1ObyBjaG9knywg S2VudC4NCns5NzE5Nn17OTcyMzd9V2FsY3ohDQp7OTcyNDR9ezk3MjkyfVdzdGF3YWouDQp7OTcz NTB9ezk3MzkzfVRvIHdzenlzdGtvPw0Kezk3NDA3fXs5NzQ1OH1UeWxrbyBuYSB0eWxlIGNp6iBz dGHmPw0Kezk3NDc0fXs5NzUyMH1ObyBkYWxlaiwgS2VudC4NCns5NzU0Mn17OTc1NzV9V2FsY3oh DQp7OTgyNjh9ezk4MzU5fS0gWnJvYmlsaSBjaSBrcnp5d2TqP3wtIFByemVjaWW/IHdpZXN6LCC/ ZSBuaWUgbW9nuS4NCns5ODM2OX17OTg0MzF9UHl0YbNlbSwgY3p5IHdzenlzdGtvIGdyYT8NCns5 ODQ2MH17OTg1NzB9LSBUYWsgYmFyZHpvIGNoY2lhs2VtIG11IHByenl3YWxp5i58LSBXaWVtLg0K ezk4NTgyfXs5ODY3MX1UZb8gY2hjaWGzZW0sfL9lYnmcIHRvIHpyb2JpsywgYWxlIGNvIHBvdGVt Pw0Kezk4NjczfXs5ODczMX1Qb2N6dbNieZwgc2nqIGxlcGllaj8NCns5ODc3Mn17OTg4ODd9TXVz aXN6IHpkZWN5ZG93YeYsfG5hIGpha2llZ28gY3qzb3dpZWthIHd5cm+cbmllc3ouDQp7OTg4ODd9 ezk4OTYxfUJvIHRlbiBjerNvd2llaywgZG9icnkgY3p5IHqzeS4uLg0Kezk5MDA0fXs5OTA3MX1v ZG1pZW5pIJx3aWF0Lg0Kezk5MTg0fXs5OTIzMn0vQ28gY2nqIGdu6mJpPw0Kezk5MzU5fXs5OTQ1 NX0tIE5pZSB3aWVtLCBvZCBjemVnbyB6YWN6ueYufC0gT2QgY3plZ28gY2hjZXN6Lg0Kezk5NDkx fXs5OTU2NX1UZW4gc3RhdGVrLCBrdPNyeSBzaeogcG9qYXdpsy4uLg0Kezk5NTcwfXs5OTYzMn1U byBtbmllIHN6dWtharkuDQp7OTk3MjN9ezk5ODM4fS0gV2llc3osIGN6ZWdvIG9kIGNpZWJpZSBj aGO5P3wtIE5pZS4NCns5OTg0MX17OTk5NzN9TmF3ZXQgamWcbGkgc2nqIHBvZGRhbSx8Z2VuZXJh syBab2QgbW+/ZSBuaWUgZG90cnp5bWHmIHOzb3dhLg0Kezk5OTg1fXsxMDAxMDB9SmWcbGkgb2Rk YWq5YyBzaeogdyBpY2ggcupjZXxtb2fqIG9jYWxp5iBaaWVtaeouLi4NCnsxMDAxMTR9ezEwMDE2 Mn1jenkgbmllIHBvd2luaWVuZW0gdGVnbyB1Y3p5bmnmPw0KezEwMDE4MX17MTAwMjg3fS0gQ28g cG9kcG93aWFkYSBjaSBpbnR1aWNqYT98LSBab2Rvd2kgbmllIG1vv25hIHVmYeYuDQp7MTAwMzQy fXsxMDA0NzZ9UHJvYmxlbSB3IHR5bS4uLny/ZSBuaWUgcG90cmFmaeogdGW/IHphdWZh5iBsdWR6 aW9tLg0KezEwMDY1OH17MTAwNzQ3fUN6YXNhbWkgdHJ6ZWJhIHV3aWVyennmLi4uDQp7MTAwNzcx fXsxMDA4Mjl9YSB6YXVmYW5pZSBwcnp5amR6aWUgeiBjemFzZW0uDQp7MTAxNDAyfXsxMDE0NjR9 VWRhs28gY2kgc2nqfHByenljablnbrnmIG5hc3q5IHV3YWfqLg0KezEwMTQ2OX17MTAxNTUwfS0g Q3plZ28gY2hjZXN6P3wtIENoY+ogcm96bWF3aWHmIHogTG9pcyBMYW5lLg0KezEwMTU1OH17MTAx NjA4fVNruWQgcG9teXOzLCC/ZSBqZXN0IHogbmFtaT8NCnsxMDE2MDh9ezEwMTY5NH1OaWUgYmF3 bXkgc2nqIHcgY2l1Y2l1YmFia+oufFBvZGRhbSBzaeouDQp7MTAxNjk3fXsxMDE3ODF9UG9kIHdh cnVua2llbSx8v2UgemFnd2FyYW50dWplY2llIGplaiB3b2xub5zmLg0KezEwMTk5Mn17MTAyMDYx fS9EbGFjemVnbyBvZGRhamVzeiBzaeogdyBy6mNlIFpvZGE/DQp7MTAyMDcxfXsxMDIxNTl9T2Rk YWrqIHNp6iB3IHLqY2UgbHVkemtvnGNpLHx0byBy879uaWNhLg0KezEwMjE4Nn17MTAyMjM2fVBv endvbGmzZZwgc2nqIHNrdeYuDQp7MTAyMjQ4fXsxMDIzMzd9SW5hY3plaiBuaWUgd3lnbLlkYbNv YnkgdG8gd2lhcnlnb2RuaWUuDQp7MTAyMzQ0fXsxMDI0NzF9U2tvcm8gcG9jenVsaSBzaeogYmV6 cGllY3puaWVqc2ksfHRvIHR5bSBsZXBpZWouDQp7MTAyNTY5fXsxMDI2NjB9Q28gb3puYWN6YSB0 YSBsaXRlcmEgIlMiPw0KezEwMjY4N317MTAyNzQ0fVRvIG5pZSBsaXRlcmEuDQp7MTAyNzU2fXsx MDI4MjZ9VyBtb2ltIJx3aWVjaWUgdG8gc3ltYm9sIG5hZHppZWkuDQp7MTAyODM4fXsxMDI5MzR9 QSB3IG5hc3p5bSB0byBsaXRlcmEgIlMiLg0KezEwMjk3Mn17MTAzMDQ2fUEgbW+/ZS4uLg0KezEw MzExNn17MTAzMTgxfS0gU3VwZXIuLi58Ly0gV2l0YW0uDQp7MTAzMTk1fXsxMDMyNzd9LSBKZXN0 ZW0gZG9rdG9yLi4ufC8tIEVtaWwgSGFtaWx0b24sIHdpZW0uDQp7MTAzMjg0fXsxMDMzMzl9V2lk euogaWRlbnR5ZmlrYXRvcnx3IHBh8XNraWVqIGtpZXN6ZW5pLg0KezEwMzM0MX17MTAzNDEzfUkg bmFwb2N66nRlIG9wYWtvd2FuaWUgZHJvcHPzdy4NCnsxMDM0MjB9ezEwMzUzM30vV2lkeuogdGW/ IHphIHdhbWl8L29kZHppYbMgv2+zbmllcnp5IHogcGFyYWxpemF0b3JlbS4NCnsxMDM1MzN9ezEw MzU2N31OaWUgYupkemllIHBvdHJ6ZWJueS4NCnsxMDM1Njd9ezEwMzY1NX1NdXNpbXkgc2nqIGph a2+cIHphYmV6cGllY3p55i4NCnsxMDM2NTV9ezEwMzcxOH1Nb79lIHBhbiBieeYgbm9zaWNpZWxl bXxqYWtpZWdvnCB3aXJ1c2EuDQp7MTAzNzIzfXsxMDM3OTd9r3lq6iB0dSBvZCAzMyBsYXR8aSBq ZXN6Y3plIG5pa29nbyBuaWUgemFyYXpps2VtLg0KezEwMzgwNH17MTAzODk4fUFsYm8gbyB0eW0g bmllIHdpZXN6LnxNYW15IHBvZHN0YXd5IGRvIG9iYXcuDQp7MTAzODk4fXsxMDQwMTd9V3lqYXdp s2WcIHN3b2q5IHRvv3NhbW+c5iBwYW5uaWUgTGFuZS58L0RsYWN6ZWdvIG5pZSB3eWphd2lzeiBq ZWogbmFtPw0KezEwNDA0NH17MTA0MTExfUthcnR5IG5hIHN087MsIGdlbmVyYWxlLg0KezEwNDEy OH17MTA0MTkzfUJvaWNpZSBzaeogbW5pZSx8Ym8gbmllIG1vv2VjaWUgbW5pZSBrb250cm9sb3dh 5i4NCnsxMDQxOTN9ezEwNDI2NH1OaWdkeSBuaWUgYupkemllY2llIG1vZ2xpLg0KezEwNDI3Nn17 MTA0MzI5fUFsZSB0byBuaWUgb3puYWN6YSx8v2UgamVzdGVtIHdhc3p5bSB3cm9naWVtLg0KezEw NDMzMn17MTA0NDAzfUEga3RvIG5pbSBqZXN0PyBab2Q/DQp7MTA0NDE4fXsxMDQ1MTZ9LSBUZWdv IHezYZxuaWUgc2nqIG9iYXdpYW0ufC0gVGFrIGN6eSBpbmFjemVqLA0KezEwNDUxOX17MTA0NjAw fXd5ZGGzZW0gcm96a2F6LHxieSBjaeogZG8gbmllZ28gZG9wcm93YWR6b25vLg0KezEwNDYwN317 MTA0NjcwfU5pZWNoIHBhbiByb2JpIHN3b2plLCBnZW5lcmFsZS4NCnsxMDQ3NzV9ezEwNDg1N30t IER6aeprdWrqLnwtIFphIGNvPw0KezEwNDg3MX17MTA0OTI5fVphIHRvLCC/ZSB3ZSBtbmllIHV3 aWVyenmzYZwuDQp7MTA0OTgxfXsxMDUwNDF9SSB0YWsgbmllIG1hIHRvIHpuYWN6ZW5pYS4NCnsx MDUwNTF9ezEwNTA5NH1EbGEgbW5pZSBtYS4NCnsxMDU1ODN9ezEwNTYzM31OYWRsYXR1arkuDQp7 MTA1NjMzfXsxMDU2ODF9UG93aW5uYZwganW/IGmc5i4NCnsxMDU3Mjl9ezEwNTc4MH1PZGVqZJ8s IExvaXMuDQp7MTA3NDgyfXsxMDc1OTB9S2FsLUVsLCBqZXN0ZW0gcG9kZG9382RjYSBGYW9yYS1V bC4NCnsxMDc1OTJ9ezEwNzY4OH1XIGltaWVuaXUgZ2VuZXJhs2EgWm9kYXxwcnpla2F6dWrqIGNp IHBvemRyb3dpZW5pYS4NCnsxMDc4MDN9ezEwNzg3NX0tIFBhbiB0dSBkb3dvZHppP3wtIE93c3pl bS4NCnsxMDc4Nzh9ezEwNzk4OH1HZW5lcmGzIFpvZCBjaGNlLHxieSB0YSBrb2JpZXRhIG1pIHRv d2FyenlzenmzYS4NCnsxMDgwMTR9ezEwODEyOX1DaGNpZWxpnGNpZSBvYmNlZ28ufE5pZSBiebNv IG1vd3kgbyBqZWRueW0geiBuYXMuDQp7MTA4MTMyfXsxMDgyMjV9TWFtIHByemVrYXph5iBnZW5l cmGzb3dpLHy/ZSBvZG1hd2lhY2llPw0KezEwODIzMH17MTA4MjkyfU5pZSBvYmNob2R6aSBtbmll LHxjbyBtdSBwcnpla2G/ZXN6Lg0KezEwODM0MH17MTA4Mzk1fVcgcG9yerlka3UuDQp7MTA4NDAz fXsxMDg0NDF9UPNqZOouDQp7MTA5NDYyfXsxMDk1NjF9QXRtb3NmZXJhIG5hIHN0YXRrdXxuaWUg amVzdCBwcnp5c3Rvc293YW5hIGRsYSBsdWR6aS4NCnsxMDk1NjN9ezEwOTY0OX1C6mR6aWVzeiBt dXNpYbNhIHphs2+/eeYgbWFza+ouDQp7MTEwMjUxfXsxMTAyODJ9S2FsLUVsLg0KezExMDMxMX17 MTEwNDEyfU5pZSBtYXN6IHBvaupjaWEsfGphayBks3VnbyBjaeogc3p1a2FsaZxteS4NCnsxMTA0 MTd9ezExMDQ5Nn0tIFpvZCwgamFrIHJvenVtaWVtLnwtIEdlbmVyYbMgWm9kLCBuYXN6IGRvd/Nk Y2EuDQp7MTEwNDk4fXsxMTA1OTR9VyBwb3J6uWRrdSwgRmFvcmEufE1vv25hIG11IHd5YmFjennm IGJyYWsgbWFuaWVyLg0KezExMDU5OX17MTEwNjQ5fU5pZSB6bmEgbmFzenljaCB6d3ljemFq83cu DQp7MTEwNjUyfXsxMTA3Njd9VG8gY2h3aWxhIG5hIJx3aep0b3dhbmllLHxhIG5pZSBuYSBrs/N0 bmllLg0KezExMDg2N317MTEwOTMwfUN6dWrqIHNp6iBkeml3bmllLg0KezExMDk5Mn17MTExMDQw fVOzYWJvIG1pLg0KezExMTA4OH17MTExMTYyfS0gQ28gbXUgamVzdD98LSBPZHJ6dWNhIG5hc3q5 IGF0bW9zZmVy6i4NCnsxMTExOTN9ezExMTMwMX1aYWFkYXB0b3dhs2WcIHNp6iBkbyB6aWVtc2tp Y2ggd2FydW5r83csfG5pZSBkbyBuYXN6eWNoLg0KezExMTMwNn17MTExNDA5fS0gUG9t878gbXUu fC0gTmllIG1vZ+ouIE11c2kgc2FtbyBwcnplapzmLg0KezExMTQ1NX17MTExNTAzfVBvbfO/Y2ll IG11IQ0KezExMTUyOX17MTExNTc3fVBvbfO/Y2llIQ0KezExMTgzNn17MTExODcyfVdpdGFqLCBL YWwuDQp7MTExOTIwfXsxMTE5NzN9QSBtb79lIHdvbGlzeiAiQ2xhcmsiPw0KezExMTk4NX17MTEy MDU0fVRha2llIGltaeogY2kgbmFkYWxpLCBjenm/IG5pZT8NCnsxMTIwODV9ezExMjE5Nn1CebNl bSBuYSBLcnlwdG9uaWUgZG9382RjuSBhcm1paSx8YSB0d/NqIG9qY2llYyAtIG5hc3p5bSBuYWp3 aeprc3p5bSB1Y3pvbnltLg0KezExMjE5Nn17MTEyMjg0fVpnYWR6YWxpnG15IHNp6iBjbyBkbyB0 ZWdvLHy/ZSBLcnlwdG9uIHVtaWVyYS4NCnsxMTIyODl9ezExMjQyMX1XIHphbWlhbiB6YSBwcvNi 6iBvY2FsZW5pYXxuYXN6ZWogY3l3aWxpemFjamkgaSBwbGFuZXR5LA0KezExMjQzMX17MTEyNTM0 fXdyYXogeiBtb2ltaSBvZmljZXJhbWl8em9zdGFsaZxteSB6ZXOzYW5pIGRvIFN0cmVmeSBXaWRt by4NCnsxMTI1OTR9ezExMjcxNH0vWmFns2FkYSBuYXN6ZWdvIJx3aWF0YXwvdXdvbG5ps2EgbmFz Lg0KezExMjg0NX17MTEyODkzfS9Ecnlmb3dhbGmcbXkuDQp7MTEyOTAxfXsxMTMwMjN9L1NrYXph bmkgbmEgnG1pZXLmIGezb2Rvd7l8L3eccvNkIHN6Y3q5dGvzdyBuYXN6ZWogcGxhbmV0eS4NCnsx MTMwNDR9ezExMzA5NX0vSmFrIHRyYWZpbGmcY2llIG5hIFppZW1p6j8NCnsxMTMxMDB9ezExMzE5 OH0vV3lrb3J6eXN0YWxpnG15IHByb2pla3RvciBmYW50b21vd3l8L2RvIGJ1ZG93eSBoaXBlcm5h cOpkdS4NCnsxMTMyMTV9ezExMzMyMH0vVGFruSBzYW25IG1vZHlmaWthY2rqfC9vamNpZWMgemFt b250b3dhsyB3IHR3b2ltIHN0YXRrdS4NCnsxMTMzNDJ9ezExMzQxNH0vVGFrIG90byBuYXJ66mR6 aWUgbmFzemVqIHpndWJ5Li4uDQp7MTEzNDU3fXsxMTM1MTJ9L3N0YbNvIHNp6iBuYXN6eW0gd3li YXdpZW5pZW0uDQp7MTEzNjE3fXsxMTM3MjN9L1NwcmF3ZHphbGmcbXkgbmFzemUgZGF3bmUga29s b25pZXwvdyBwb3N6dWtpd2FuaXUgb3puYWsgv3ljaWEuDQp7MTEzODA0fXsxMTM4Njd9L1puYWxl n2xpnG15IGplZHluaWUgnG1pZXLmLg0KezExMzg4OH17MTEzOTk0fS9PZGNp6nRlIG9kIEtyeXB0 b25hLHwvcGxhY/N3a2kgZGF3bm8gd3ltYXKzeS4NCnsxMTQwMTh9ezExNDEyM30vVXJhdG93YWxp nG15LCBjbyBzaeogZGGzbzp8L3picm9qZSwgYnJv8S4NCnsxMTQxMjZ9ezExNDE5M30vTmF3ZXQg amVkbrkgTWFjaGlu6iCMd2lhdPN3Lg0KezExNDIxMH17MTE0Mjg2fS9QcnpleiAzMyBsYXRhfC9j enluaWxpnG15IHByenlnb3Rvd2FuaWEsDQp7MTE0MjkxfXsxMTQzNjN9L2G/IHcga2/xY3Ugb2Rl YnJhbGmcbXl8L3N5Z25hsyBhbGFybW93eSwNCnsxMTQzNjZ9ezExNDQ3M30va3TzcnkgYWt0eXdv d2GzZZx8L25hIHN0YXJ5bSBzdGF0a3UgendpYWRvd2N6eW0uDQp7MTE0NDkwfXsxMTQ1NjB9VHkg bmFzIHR1IHNwcm93YWR6abNlnCwgS2FsLg0KezExNDU5M317MTE0Njk2fVcgdHdvamVqIG1vY3kg bGW/eXxvY2FsZW5pZSBuYXN6ZWogcmFzeS4NCnsxMTQ4MjZ9ezExNDkxMn1OYSBLcnlwdG9uaWUs IGtvZCBnZW5ldHljem55LHxtYWq5Y3ljaCBzaeogbmFyb2R6aeYgb3NvYm5pa/N3LA0KezExNDkx NX17MTE0OTg5fXphcGlzYW55IGJ5syB3IFJlamVzdHJ6ZSBPYnl3YXRlbGkuDQp7MTE1MDA2fXsx MTUxMzN9VHfzaiBvamNpZWMgc2tyYWSzIEtvZGV4fGkgdWtyebMgZ28gdyB0d29qZWoga2Fwc3Vs ZS4NCnsxMTUxNDV9ezExNTE4OH1QbyBjbz8NCnsxMTUxOTN9ezExNTI3NH1CeSBLcnlwdG9uIG3z Z7MgenJvZHpp5iBzaep8bmEgbm93by4uLg0KezExNTI4MX17MTE1MzIyfW5hIFppZW1pLg0KezEx NTc5Mn17MTE1ODQyfUdkemllIGplc3QgS29kZXg/DQp7MTE1ODgxfXsxMTU5NDN9SmWcbGkgS3J5 cHRvbiBzaeogb2Ryb2R6aS4uLg0KezExNTk1NX17MTE2MDAxfWNvIHN0YW5pZSBzaeogeiBaaWVt abk/DQp7MTE2MDEzfXsxMTYwOTR9RG8gb2RidWRvd3kgcG90cnplYmEgZnVuZGFtZW5083cuDQp7 MTE2MTAxfXsxMTYxODF9TmF3ZXQgdHfzaiBvamNpZWMgdG8gd2llZHppYbMuDQp7MTE2MzIyfXsx MTYzNzV9TmllLg0KezExNjQxNX17MTE2NTA5fS0gTmllIHByenljenluaeogc2nqIGRvIHRlZ28u fC0gQSBkbyBjemVnbyBzaeogcHJ6eWN6eW5pc3o/DQp7MTE2NTExfXsxMTY1MzV9TmllIQ0KezEx NjU3MX17MTE2NTk1fVByemVzdGHxIQ0KezExNjg0OX17MTE2OTU1fVR382ogb2pjaWVjIG9kc3pl ZLMgeiBob25vcmVtLg0KezExNzAwMH17MTE3MTAxfS0gWmFiabNlnCBnbz98LSBUYWsuDQp7MTE3 MTA0fXsxMTcyMTF9UHJ6ZZxsYWR1amUgbW5pZSB0b3xrYb9kZWdvIGRuaWEuDQp7MTE3MjIxfXsx MTczNjV9QWxlIHpyb2Jps2J5bSB0byBwb25vd25pZS58TWFtIG9ib3dpuXplayB3b2JlYyBtb2pl Z28gbHVkdS4NCnsxMTczNjd9ezExNzQ5MH1OaWtvbXUgbmllIHBvendvbOosfGJ5IG1uaWUgb2Qg dGVnbyBvZHdp82SzLg0KezExNzg1NH17MTE3OTA3fUNvIHNp6iBkemllamUsIG1ham9yemU/DQp7 MTE3OTA5fXsxMTgwMDB9RHdhIG9iaWVrdHl8d3lzdGFydG93YbN5IHogb2ty6nR1IG9iY3ljaC4N CnsxMTgwMzR9ezExODA2NX1UbyBvbmUuDQp7MTE4MDY3fXsxMTgxNDd9V3lrb3J6eXN0YWpjaWUg SS1Db20gNC58TXVzeuogd2llZHppZeYgY2+cIHdp6mNlai4NCnsxMTgxNTl9ezExODIxOH1Lb2Qg bmEgZHppc2lhaiB0byAiVHLzanq5YiIuDQp7MTE4MjIxfXsxMTgzMTl9LSBOYWRsYXR1arkgZHdh IHN0YXRraSBvYmN5Y2gufC0gTWFteSBkYW5lIHogSS1Db20gNC4NCnsxMTgzMjR9ezExODQ0MX0t IFBy6mRrb5zmP3wtIDM4MCB36nqz83cuIE5pZSBvZHBvd2lhZGFquSBuYSB3ZXp3YW5pYS4NCnsx MTg0NTF9ezExODUwNH1TemtvZGEgd3lzabNrdS4NCnsxMTg1MjN9ezExODY0M31TabNhLCBrdPNy uSBjemVycGllc3ogemUgU7Nv8WNhLHxuYSBuYXN6eW0gc3RhdGt1IG5pZSBkemlhs2EuDQp7MTE4 NjQ1fXsxMTg3ODd9VyB0eW0gnHJvZG93aXNrdXxqZXN0ZZwgdHlsa28gend5a7N5bSBjerNvd2ll a2llbS4NCnsxMjAxNzN9ezEyMDI2OH0tIFNruWQgc2nqIHd6abmzZZw/fC0gS2x1Y3osIHBhbm5v IExhbmUuDQp7MTIwMjczfXsxMjAzNTd9WmGzYWRvd2GzYZwgbW5pZSBkbyBwYW1p6mNpIGtvbXB1 dGVyYS4NCnsxMjAzNjJ9ezEyMDQ0M30tIEtpbSBqZXN0ZZw/fC0gT2pjZW0gS2FsYS4NCnsxMjA0 Nzl9ezEyMDU4MH0tIE1vv2VzeiBuYW0gcG9t82M/fC0gWmJ1ZG93YbNlbSB0ZW4gc3RhdGVrLg0K ezEyMDU5NH17MTIwNjg2fU1vZ+ogcHJ6eXN0b3Nvd2HmfGplZ28gYXRtb3NmZXLqIGRsYSBsdWR6 aS4NCnsxMjA3MDB9ezEyMDc5Nn1Nb79lbXkgaWNoIHBvd3N0cnp5bWHmLnxPZGVzs2HmIHogcG93 cm90ZW0gZG8gU3RyZWZ5IFdpZG1vLg0KezEyMDgxMH17MTIwODY1fS0gSmFrP3wtIFBva2G/6iBj aS4NCnsxMjA4NzB9ezEyMDk3OH1BIHR5IHBva2G/ZXN6IEthbG93aS58UG9tb79lc3ogbWk/DQp7 MTIxMjk3fXsxMjEzNTd9WmGzb2dhIHN0YXRrdSBqdb8gd2llLnxNdXNpbXkgc2nqIHBvc3BpZXN6 eeYuDQp7MTIxMzU5fXsxMjE0MDd9V3ljablnbmlqIGtsdWN6Lg0KezEyMTU4MH17MTIxNjQ1fS0g VHkgdG8genJvYmmzZZw/fC0gVGFrLiBQb2RuaWWcIGJyb/EuDQp7MTIxODgwfXsxMjE5MjN9Q28g c2nqIGR6aWVqZT8NCnsxMjI0MjF9ezEyMjQ2OX1QbyB0d29qZWogcHJhd2VqLiBPZ25pYSENCnsx MjI0OTZ9ezEyMjU0NH1aYSB0b2K5IQ0KezEyMjgzMX17MTIyODkxfVdzablknyBkbyBrYXBzdbN5 IHJhdHVua293ZWouDQp7MTIyOTAzfXsxMjI5NTF9QmV6cGllY3puZWogcG9kcvO/eS4NCnsxMjI5 NTR9ezEyMzAyOH1aYXBld25lIHdp6mNlaiBzaeogbmllIHpvYmFjenlteS4NCnsxMjMwNDJ9ezEy MzExOX1QYW1p6nRhaiwga2x1Y3pvd3kgZG8gaWNoIHBvd3N0cnp5bWFuaWF8amVzdCBuYXDqZCBm YW50b21vd3kuDQp7MTIzMTQ2fXsxMjMxOTN9R7Nvd2EgdyBsZXdvLg0KezEyMzgyNn17MTIzOTAx fVpvZCBt83dpsyBwcmF3ZOogbyBLb2RleGllPw0KezEyMzkwMX17MTIzOTQ5fVJvemJpaiB0ZW4g cGFuZWwuDQp7MTI0MDMwfXsxMjQxMDl9Q2hjaWVsaZxteSwgYnmcIHdwaWVyd3xuYXVjenmzIHNp 6iBieeYgY3qzb3dpZWtpZW0uDQp7MTI0MTE5fXsxMjQxODR9QnmcLCB3ZSB3s2GcY2l3eW0gY3ph c2llLA0KezEyNDE4OH17MTI0MjY1fW3zZ7MgYnnmIHBvbW9zdGVtfG1p6mR6eSBkd2llbWEgcmFz YW1pLg0KezEyNDMyNX17MTI0MzczfVNw82pyei4NCnsxMjQ0MjN9ezEyNDQ2Mn1Mb2lzLg0KezEy NDQ2NH17MTI0NTE5fU1vv2VzeiBquSBvY2FsaeYuDQp7MTI0NTY1fXsxMjQ2MjJ9TW+/ZXN6IG9j YWxp5iBpY2ggd3N6eXN0a2ljaC4NCnsxMjY0OTd9ezEyNjU2Mn1UdSBi6mR6aWVzeiBiZXpwaWVj em5hLg0KezEyNjU5MX17MTI2NjgyfS0gV3N6eXN0a28gdyBwb3J6uWRrdT98LSBUYWsuDQp7MTI2 NzM1fXsxMjY4ODN9TmllIGNoY2lhs2FtIGltIG5pYyBwb3dpZWR6aWXmLHxhbGUgamFrb5wgd25p a27qbGkgZG8gbW9qZWogZ7Nvd3kuLi4NCnsxMjY4ODN9ezEyNjk2N31Kdb8gZG9icnplLCBMb2lz LnxaZSBtbrkgenJvYmlsaSB0byBzYW1vLg0KezEyNzI3Mn17MTI3MzIwfUNsYXJrIQ0KezEyNzUy MX17MTI3NjE1fUdkemllIHN0YXRlaywgdyBrdPNyeW0gcHJ6eWJ5sz8NCnsxMjc2NTN9ezEyNzcx M31JZJ8gZG8gZGlhYrNhLg0KezEyNzk1MH17MTI3OTk4fVRhbS4NCnsxMjg1MjF9ezEyODU4Nn1L b2RleHUgdGFtIG5pZSBtYS4NCnsxMjg3MzR9ezEyODc4N30tIEdkemllIGdvIHVrcnmzP3wtIE5p ZSB3aWVtLg0KezEyODc4N317MTI4ODQ5fUdkemllIGplc3QgS29kZXg/IQ0KezEyOTE4N317MTI5 MjYyfUphayCcbWllc3ogc3RyYXN6eeYgbW9quSBtYXRr6j8hDQp7MTMwMjQyfXsxMzAyODF9Q2+c IHR5IG1pIHpyb2Jpsz8NCnsxMzAyODF9ezEzMDM3N31Sb2R6aWNlIG5hdWN6eWxpIG1uaWUsfGph ayB3eW9zdHJ6eeYgem15c7N5Lg0KezEzMDQyMH17MTMwNTE2fUphayBza3VwaeYgc2nqIG5hIHR5 bSx8Y28gY2hj6iB6b2JhY3p55i4NCnsxMzA1MTh9ezEzMDYwMn1CZXogaGWzbXUgb2RiaWVyYXN6 IHdzenlzdGtpZSBib2SfY2UuDQp7MTMwNjE2fXsxMzA3MDB9Qm9sZXNuZSwgcHJhd2RhPw0KezEz MTc4Mn17MTMxODI1fS9PZGVqZJ9jaWUgb2Qgb2tpZW4hDQp7MTMxODg3fXsxMzE5NjJ9U2Nob3dh amNpZSBzaeoufFR1IG5pZSBqZXN0IGJlenBpZWN6bmllLg0KezEzMjA0M317MTMyMTE3fS9UdSBT dHJhv25paywgdGVyZW4gY3p5c3R5Lg0KezEzMjEyMn17MTMyMjQyfU1pYbNlbSBqdb8gZG8gY3p5 bmllbmlhfHogdHltaSBpc3RvdGFtaS4NCnsxMzIyNDd9ezEzMjM0MH0vU7kgYmFyZHpvIG5pZWJl enBpZWN6bmUufC9NYW15IHByYXdvIHW/eeYgYnJvbmkuDQp7MTMyNDAzfXsxMzI0NTh9L1Byenlq ubNlbS58L1pibGm/YW15IHNp6iBkbyBjZWx1Lg0KezEzMjU4Mn17MTMyNjY2fS8tIEdvdG93aSBk byBvc3RyemGzdS58Ly0gMS0xLCBwcnp5armzZW0uDQp7MTMyNzMxfXsxMzI3OTh9L1R1IEdyb20g MS0xLnwvTmFtaWVyenmzZW0gdHJ6eSBjZWxlLg0KezEzMzE4OX17MTMzMjcxfVBvdHdpZXJkemFt IHRyYWZpZW5pZS58TmF0eWNobWlhc3QgcG93dPNyeiBvc3RyemGzLg0KezEzMzI3NX17MTMzMzkz fS9Qcnp5armzZW0ufC9Sb2JpbXkgZHJ1Z2llIHBvZGVqnGNpZS4NCnsxMzM1NTh9ezEzMzY1N30v R3JvbSAxLTEsIGthdGFwdWx0dWpjaWUgc2nqIQ0KezEzMzkxNn17MTMzOTgwfS9OYWRsYXR1amUg bmllemlkZW50eWZpa293YW55IG9iaWVrdCENCnsxMzQ0NDF9ezEzNDQ5M31KZXN0ZZwgc7NhYnks IHN5bnUgRWxhLg0KezEzNDQ5M317MTM0NTQ5fUJyYWsgY2kgcGV3bm+cY2kgc2llYmllLg0KezEz NDY1NH17MTM0NzY0fUZha3QsIL9lIG1hY2llIHBvY3p1Y2llIG1vcmFsbm+cY2ksfGt083JlZ28g bmFtIGJyYWssDQp7MTM0NzY3fXsxMzQ4NDh9ZGFqZSBuYW0gcHJ6ZXdhZ+ogdyBld29sdWNqaS4N CnsxMzQ5MjN9ezEzNDk5NH1BIGplnGxpIGhpc3RvcmlhIGN6ZWdva29sd2llayBkb3dvZHppLi4u DQp7MTM1MjE1fXsxMzUzMDR9dG8gd7NhnG5pZSB0ZWdvLHy/ZSBld29sdWNqYSB6YXdzemUgd3ln cnl3YS4NCnsxMzU4MTB9ezEzNTg5NH0vUG9kY2hvZHppbXkgZG8gbLlkb3dhbmlhLg0KezEzNjg5 Nn17MTM2OTY4fURvIHdzenlzdGtpY2gsfG1hY2llIG5hd2m5emHmIHdhbGvqLg0KezEzNjk2OH17 MTM3MDM3fUEgY28geiBnb5xjaWVtIHcgbmllYmllc2tpbT8NCnsxMzcwNDB9ezEzNzEwMn0vU3Ry emVsYeYgZG8gd3N6eXN0a2ljaCENCnsxMzczNjZ9ezEzNzQxNH0vS29udGFrdCENCnsxMzc2Mzd9 ezEzNzY4MH1KZXN0ZZwgY2GzeT8NCnsxMzc3OTV9ezEzNzg0M31TcGFkYW15IQ0KezEzNzg2Mn17 MTM3OTQxfS9Qcnp5Z290b3dh5iBzaeogbmEgdWRlcnplbmllIQ0KezEzODA4NX17MTM4MTkwfS9U dSBVcGFks3kgQW5pb7MufC9TdHJhv25payB6ZXN0cnplbG9ueS4NCnsxMzg3MTZ9ezEzODgwOX0v R3JvbSAxLTIgZG8gU3RyYb9uaWthLCBvZGJp83I/DQp7MTM4ODA5fXsxMzg5MzF9RGFqY2llIHpt YXNvd2FueSBvc3RyemGzfG5hIG1varkgcG96eWNq6i4NCnsxMzg5MzF9ezEzODk5Nn1acm96dW1p YbNlbSwgcG93b2R6ZW5pYS4NCnsxMzk5Njl9ezE0MDA3N31BIG5hZ3JvZLkgamVnbyAtIGhvbm9y b3dhIJxtaWVy5i4NCnsxNDAzNjV9ezE0MDQxOH1OaWUgd3lncmFzei4NCnsxNDA0Mjd9ezE0MDUy MX1aYSBrYb9kZWdvIG9jYWxvbmVnbyBjerNvd2lla2EsfHphYmlqZW15IG1pbGlvbiBpbm55Y2gu DQp7MTQxNzY4fXsxNDE4MzV9L1RlcmVuIHphYmV6cGllY3pvbnk/DQp7MTQxODQwfXsxNDE5MzZ9 L0Rydb95bmEgQWxmYSwgc7N5c3p5Y2llIG1uaWU/DQp7MTQzMTMwfXsxNDMxOTd9VGVuIGN6s293 aWVrfG5pZSBqZXN0IG5hc3p5bSB3cm9naWVtLg0KezE0MzIzN317MTQzMjg1fUR6aeprdWrqLCBw dbNrb3duaWt1Lg0KezE0MzcxMH17MTQzNzM5fS9NYW1vPw0KezE0Mzc1M317MTQzODA2fU5pYyBt aSBuaWUgamVzdCENCnsxNDQwODZ9ezE0NDEzNH2jYWRueSBrb3N0aXVtLg0KezE0NDE1OH17MTQ0 MjA2fVByenlrcm8gbWkuDQp7MTQ0MjExfXsxNDQyNTl9VG8gdHlsa28gcHJ6ZWRtaW90eS4NCnsx NDQzMDR9ezE0NDM2Mn1aYXdzemUgbW+/bmEgamUgemFzdLlwaeYuDQp7MTQ0NDE3fXsxNDQ0Njd9 QWxlIHdhcyBuaWUgbW+/bmEuDQp7MTQ0NDc5fXsxNDQ1MTF9TWFtby4uLg0KezE0NDUxMX17MTQ0 NjA0fVpvZCBwb3dpZWR6aWGzLCC/ZSB0ZW4gS29kZXh8bW+/ZSBzcHJvd2FkemnmIG3zaiBsdWQu DQp7MTQ0NjA5fXsxNDQ2NTd9VG8gY2h5YmEgZG9icnplPw0KezE0NDc1MH17MTQ0ODI1fU9uaSBj aHliYSBuaWUgemFtaWVyemFquXxkemllbGnmIHNp6iB0eW0gnHdpYXRlbS4NCnsxNDQ4MjV9ezE0 NDg3MH1DbGFyayENCnsxNDQ5Mzd9ezE0NDk5NX1XaWVtLCBqYWsgaWNoIHBvd3N0cnp5bWHmLg0K ezE0NTAzM317MTQ1MTYwfS0gQ28gdGFtIHNp6iBzdGGzbz98LSBPa2F6YbMgY2h3aWxvd7kgc7Nh Ym+c5i4NCnsxNDUxNjN9ezE0NTI5N31UbyBiZXogem5hY3plbmlhLHxwb25pZXdhvyB6bG9rYWxp em93YbNlbSBLb2RleC4NCnsxNDUzMjZ9ezE0NTM5MH1OaWdkeSBuaWUgYnmzbyBnbyB3IGthcHN1 bGUuDQp7MTQ1MzkwfXsxNDU0ODl9L0pvci1FbCBnbyB6YWJyYbMufC9ETkEgbWlsaWFyZPN3IGx1 ZHppLg0KezE0NTQ4OX17MTQ1NTc1fS9TY2FsabMgZ28geiBrb23zcmthbWkgd7Nhc25lZ28gc3lu YS4NCnsxNDU1Nzd9ezE0NTcwNX0vV3N6eXNjeSBzcGFka29iaWVyY3kgS3J5cHRvbmF8L795arkg dyBjaWVsZSBqZWRuZWdvIHVjaG9kn2N5Lg0KezE0NTgxMH17MTQ1OTQ3fUN6eSBLYWwtRWwgbXVz aSBieeYgv3l3eSx8Ynkgb2R6eXNrYeYgS29kZXggeiBqZWdvIGtvbfNyZWs/DQp7MTQ1OTY4fXsx NDYwMDJ9TmllLg0KezE0NjEzOX17MTQ2MTk0fVVydWNob21p5iBNYWNoaW7qIIx3aWF083cuDQp7 MTQ2OTY2fXsxNDcwMTh9LSBDbyBzaeogZHppZWplP3wtIFN0YXRlayBzaeogcm96ZHppZWxpsy4N CnsxNDcwMTh9ezE0NzEwMn1QaWVyd3N6eSBjerNvbiBwb3J1c3phIHNp6iBuYSB3c2No82QsfGRy dWdpIGplc3QgbmFkIHBvs3Vkbmlvd7kgcPOza3VsuS4NCnsxNDcxMDV9ezE0NzIwOH0tIEphayBz enlia28gbGVjaT98LSBNYWNoIDI0IGkgcHJ6eXNwaWVzemEuDQp7MTQ3MjA4fXsxNDczMDl9UHJh d2RvcG9kb2JuaWUgdWRlcnp5fHcgcG+zdWRuaW93eW0gcmVqb25pZSBPY2VhbnUgSW5keWpza2ll Z28uDQp7MTQ3NzMxfXsxNDc4MzR9LSBSZXN6dGEgc3RhdGt1IGplc3QgY29yYXogYmxpv2VqLnwt IERhaiB0byBuYSBla3Jhbi4NCnsxNDc4NDh9ezE0Nzg4Nn1Cb79lIQ0KezE0ODg2MH17MTQ4OTQ0 fVVydWNob21p5iBzaWxuaWsgZmFudG9tb3d5IQ0KezE0OTQ1MH17MTQ5NTIyfUplc3RlnG15IHBv ZLO5Y3plbmkgZG8gTWFjaGlueS4NCnsxNDk1MzZ9ezE0OTU4Nn1aYWN6eW5hbXkuDQp7MTUwMzY4 fXsxNTA0MzB9Q28gdG8gamVzdD8NCnsxNTA0MzB9ezE1MDU2Mn1XeWdsuWRhIG5hIGpha7mcIGJy b/EgZ3Jhd2l0YWN5am65LnxEemlhs2EgdyBwYXJ6ZSB6ZSBzdGF0a2llbS4NCnsxNTA1Njl9ezE1 MDYzNH1XIGpha2mcIHNwb3PzYnx6d2nqa3N6YWq5IG1hc+ogWmllbWksDQp7MTUwNjM0fXsxNTA3 MDR9c2tyYXBsYWq5YyBhdG1vc2ZlcuouDQp7MTUwNzQyfXsxNTA3OTB9Qm+/ZSENCnsxNTA4MTZ9 ezE1MDg4OH0tIFRvIHRlcnJhZm9ybWFjamEufC0gQ28gdG8gdGFraWVnbz8NCnsxNTA5MDB9ezE1 MDk5Nn1Jbr95bmllcmlhIHBsYW5ldGFybmEsfG1vZHlmaWt1arljYSBhdG1vc2ZlcuogaSB0b3Bv Z3JhZmnqIFppZW1pLg0KezE1MDk5Nn17MTUxMDU2fVphbWllbmlharkgWmllbWnqIHcgS3J5cHRv bmEuDQp7MTUxMDU4fXsxNTExNDJ9LSBBIGNvIHogbmFtaT98LSBaIHR5Y2ggb2Rjenl083cgd3lu aWthLA0KezE1MTE0N317MTUxMTkwfb9lIG5pZSBi6mR6aWUgv2FkbnljaCAibmFzIi4NCnsxNTEx OTN9ezE1MTMyMn1QYW5pZSBnZW5lcmFsZS58UHWza293bmlrIEhhcmR5IGplZHppZSB0dSB6IFN1 cGVybWFuZW0uDQp7MTUxMzMyfXsxNTEzNzJ9U3VwZXJtYW5lbT8NCnsxNTEzNzV9ezE1MTQ1Nn1U eW0gb2JjeW0ufFRhayBnbyBuYXp5d2FquS4NCnsxNTE1OTN9ezE1MTY3OX0tIE1hbXkgcGxhbiwg Z2VuZXJhbGUufC0gQ3p5IHRvIGplc3QgdG8sIGNvIG15nGzqPw0KezE1MTY5MX17MTUxNzQ0fVRv IHN0YXRlaywga3TzcnltIHByenlsZWNpYbMuDQp7MTUxNzczfXsxNTE4Mzh9U3RhdGVrIG5hcOpk emFueSBqZXN0fHNpbG5pa2llbSBmYW50b21vd3ltLg0KezE1MTg0MH17MTUxOTI5fVphZ2luYSBw cnplc3RyemXxLnxTdGF0ZWsgWm9kYSB1v3l3YSB0ZWogc2FtZWogdGVjaG5vbG9naWkuDQp7MTUx OTI5fXsxNTE5ODl9SmWcbGkgemRlcnp5bXkgemUgc29iuXxkd2EgbmFw6mR5Li4uDQp7MTUxOTg5 fXsxNTIwNTN9LSBNb79lIHBvd3N0YeYgb3NvYmxpd2+c5i58LSBDb5wgamFrIGN6YXJuYSBkeml1 cmE/DQp7MTUyMDUzfXsxNTIxNjZ9VGFrLiBKZZxsaSBvdHdvcnp5IHNp6iBwcnplapxjaWUsfHBv d2lubmkgem9zdGHmIGRvIG5pZWdvIHdjablnbmnqY2kuDQp7MTUyMTY4fXsxNTIyMjZ9TWFteSBp Y2ggdHltIHpib21iYXJkb3dh5j8NCnsxNTIyMjZ9ezE1MjMxMH1KZZxsaSBzdGF0ZWsgd2G/eSBt bmllanxuab8gOCB0b24sDQp7MTUyMzEwfXsxNTIzOTl9bW+/ZW15IHpyenVjaeYgZ28geiBDLTE3 LnxUbyB3eWtvbmFsbmUuDQp7MTUyMzk5fXsxNTI0NjN9SmWcbGkgbmllIHBvd3N0cnp5bWFtfHRl aiBtYXN6eW55IG5hZCBvY2VhbmVtLA0KezE1MjQ2Nn17MTUyNTQwfXNps2EgZ3Jhd2l0YWNqaSBi 6mR6aWUgcm9zbrnmLg0KezE1MjY3NH17MTUyNzYxfUplnGxpIHRhIG1hc3p5bmF8dXBvZGFibmlh IFppZW1p6iBkbyBLcnlwdG9uYSwNCnsxNTI3NjF9ezE1MjgyMX1i6mR6aWVzeiBzs2Fic3p5IHcg amVqIHBvYmxpv3U/DQp7MTUyODI1fXsxNTI5NjB9TW+/bGl3ZSwgYWxlIHRvIG1uaWUgbmllIHBv d3N0cnp5bWEuDQp7MTUyOTYyfXsxNTMwMzR9TGVwaWVqIHNp6iBvZHN18S4NCnsxNTMwNjN9ezE1 MzExM31Ucm9jaOogZGFsZWouDQp7MTUzODczfXsxNTM5NTB9LSBGYW9yYSwgcHJ6ZWptaWogZG93 b2R6ZW5pZS58LSBUYWsgamVzdC4NCnsxNTM5NTB9ezE1NDA5MX1NdXN66iB6YWJlenBpZWN6eeYg a29tb3LqIG5hcm9kemlufGkgerNvv3nmIGhvs2Qgc3RhcmVtdSBwcnp5amFjaWVsb3dpLg0KezE1 NDI3Nn17MTU0Mzc3fS9TdHJhv25payB3IGRyb2R6ZSBkbyBNZXRyb3BvbGlzLnxNYW15ILNhZHVu ZWsuDQp7MTU0NTA2fXsxNTQ2Mjh9Ri0zNSBsZWO5IG5hIG1pZWpzY2Ugc3BvdGthbmlhLg0KezE1 NTY5NX17MTU1ODAzfS9LbHVjeiBwcnp5aup0eS58L1ezuWN6YW0ga29tb3LqIG5hcm9kemluLg0K ezE1NTgwNn17MTU1ODkwfS9QcnplcndpaiB0bywgWm9kLHwvcPNraSBqZXN6Y3plIGN6YXMuDQp7 MTU1OTIzfXsxNTYwMTJ9TmF3ZXQgcG8gnG1pZXJjaXxuaWUgcHJ6ZXN0YWplc3ogbW5pZSBwb3Vj emHmLg0KezE1NjAxNH17MTU2MDYwfU5pZSBwb3p3b2zqIHW/eeYgS29kZXh1fHcgdGFraW0gY2Vs dS4NCnsxNTYwNjB9ezE1NjEwNX1OaWUgbW+/ZXN6IG1uaWUgcG93c3RyenltYeYuDQp7MTU2MTA1 fXsxNTYxODR9S2x1Y3osIGt083J5IHdwcm93YWR6abNlbSx8em5vc2kgdHdvamUgdXByYXduaWVu aWEuDQp7MTU2MTg0fXsxNTYyNTR9VGVyYXogamEga29udHJvbHVq6iB0ZW4gc3RhdGVrLg0KezE1 NzAxNn17MTU3MDg4fS9Cs3lza2F3aWNhIDEgZG8gZG9382R6dHdhLnwvUHJvc3rqIG8gemV6d29s ZW5pZSBuYSBhdGFrLg0KezE1NzA4OH17MTU3MjA2fVVkemllbGFtIHplendvbGVuaWEufFpkYXdh aiByYXBvcnQgbyB6bmlzemN6ZW5pYWNoLg0KezE1NzUzMH17MTU3NTczfS9Bd2lvbmlrYSB3YXJp dWplLg0KezE1NzU3NX17MTU3NjU0fS9HcmF3aXRhY2phIJxjablnYSByYWtpZXR5IHcgZPOzLnwv TXVzaW15IHBvZGxlY2ll5iBibGm/ZWouDQp7MTU3Nzc0fXsxNTc4ODl9V3N6eXNjeSBvcHVzemN6 YW15IGJ1ZHluZWshDQp7MTU4NDI2fXsxNTg0NzR9L1N0cmFjabNlbSBza3J6eWSzb3dlZ28hDQp7 MTU4NTE3fXsxNTg1NjN9L01heWRheSwgbWF5ZGF5LCBtYXlkYXkhDQp7MTU4ODE5fXsxNTg4ODJ9 VOpkeSENCnsxNTg4ODR9ezE1ODk4N31TenliY2llaiENCnsxNTkxMTR9ezE1OTE2N31KZW5ueSEN CnsxNTkyMjd9ezE1OTI1M31Cb79lIQ0KezE1OTI2NX17MTU5Mjk5fVBlcnJ5IQ0KezE1OTM5N317 MTU5NDMzfVTqZHkhDQp7MTU5NTkxfXsxNTk2Mzd9TmFzemUgcmFzeSBtb2e5IGtvZWd6eXN0b3dh 5i4NCnsxNTk2Mzd9ezE1OTczOH2vZWJ5nG15IGNpZXJwaWVsaSx8cHLzYnVquWMgc2nqIHByenlz dG9zb3dh5iBqYWsgdHfzaiBzeW4/DQp7MTU5NzQwfXsxNTk3ODN9VG8gbHVkb2LzanN0d28uDQp7 MTU5NzgzfXsxNTk4NzJ9T3dzemVtLiBBIHJvenRyerlzYW18amVnbyB6YXNhZG5vnOYgeiBkdWNo ZW0uDQp7MTU5OTAxfXsxNTk5ODl9T2JhaiBqZXN0ZZxteSBkdWNoYW1pLCBab2QufE5pZSByb3p1 bWllc3ogdGVnbz8NCnsxNTk5OTJ9ezE2MDAzMH1Ud29qZWdvIEtyeXB0b25hIGp1vyBuaWUgbWEu DQp7MTYwMDMwfXsxNjAxMTR9U3RhdGVrLCB3aWVzeiwgamFrIHBvemJ55iBzaep8dGVqIG5hcGFz dGxpd2VqIGludGVsaWdlbmNqaT8NCnsxNjAxMTR9ezE2MDE2N30vLSBUYWsgamVzdC58LSBQcnp5 Z290dWogc2nqIGRvIGplaiB3ebO5Y3plbmlhLg0KezE2MDE2N317MTYwMjcwfS0gTWFtIGRvnOYg dGVqIGRlYmF0eS58LSBVY2lzemVuaWUgbW5pZSBuaWN6ZWdvIG5pZSB6bWllbmkuDQp7MTYwMzA0 fXsxNjAzNjF9TfNqIHN5bi4uLg0KezE2MDM2M317MTYwNDI4fWplc3QgbGVwc3p5IG9kIGNpZWJp ZS4NCnsxNjA0NTB9ezE2MDQ5OH1Eb2tv8WN6eSB0bywgY28gemFjeupsaZxteS4NCnsxNjA1Mjd9 ezE2MDU5NH1Nb2fqIGNpIHRvIG9iaWVjYeYuDQp7MTYwNjcwfXsxNjA4MTl9UG9zaWFkYXN6IHdz cG9tbmllbmlhfGkgnHdpYWRvbW+c5iBKb3ItRWxhLg0KezE2MDgxOX17MTYwODgxfUN6eSBtb79l c3ogZG+cd2lhZGN6eeYgamVnbyBi82x1Pw0KezE2MDkwOH17MTYxMDE4fVd5cnfqIEtvZGV4IHpl IHp3s29rIHR3b2plZ28gc3luYS4NCnsxNjEwMjB9ezE2MTE1N31PZGJ1ZHVq6iBLcnlwdG9uIG5h IGplZ28gcHJvY2hhY2guDQp7MTYyNTI0fXsxNjI1ODh9SmVubnksIGdkemllIGplc3RlnD8hDQp7 MTYyNTk4fXsxNjI2ODJ9LSBUdXRhaiF8LSBUcnp5bWFqIHNp6i4NCnsxNjI2OTR9ezE2Mjc1Nn1V dGtu6rNhbSwgbmllIG1vZ+ogc2nqIHV3b2xuaeYuDQp7MTYyNzU2fXsxNjI4MTR9V3ljablnbmll bXkgY2nqIHN0uWQufE5pZSBydXN6YWogc2nqLg0KezE2MjgzM317MTYyOTAzfS0gTmllIHpvc3Rh d2lhaiBtbmllLCBwcm9zeuohfC0gTmllIHpvc3Rhd2lteSBjaeouDQp7MTYyOTI3fXsxNjMwMTB9 LSBMb21iYXJkLCBwb23zvyBtaSF8LSBOaWVjaCB0byBzemxhZy4NCnsxNjMwNzN9ezE2MzExOH0t IE11c2lteSB0byBwcnplc3VuueYufC0gVHJ6eW1hai4NCnsxNjMxMTh9ezE2MzE3Nn1Qb2R3Yb8s IGEgamEgYupk6iBwY2hhsy4NCnsxNjMyOTN9ezE2MzM0NH1QY2hhaiENCnsxNjMzNDR9ezE2MzM4 OX1aYmxpv2Egc2nqISBQY2hhaiENCnsxNjM0MTh9ezE2MzQ5Mn1TdHJhv25payBkbyBkb3fzZHp0 d2EsfGN6eSBtb79lc3ogZG9rb25h5iB6cnp1dHU/DQp7MTYzNDkyfXsxNjM1Mzh9T2RtYXdpYW0u DQp7MTY1NDE1fXsxNjU0NjN9VWRhs28gbXUgc2nqLg0KezE2NTUwNH17MTY1NTkzfVN0cmG/bmlr IGRvIGRvd/NkenR3YSx8amVzdGWcbXkgZ290b3dpIGRvIHpyenV0dS4NCnsxNjU1OTN9ezE2NTY3 OX1Qb3dvZHplbmlhLiBVemJyb2nmILNhZHVuZWsufE1hY2llIHplendvbGVuaWUgbmEgenJ6dXQu DQp7MTY1Njg5fXsxNjU3MzR9VG8gb3N0YXRuaWUgcG9kZWqcY2llLg0KezE2NTc1OH17MTY1ODI4 fVRlcmF6IHdzenlzdGtvIHphbGW/eXxvZCBjaWViaWUgaSBIYW1pbHRvbmEuDQp7MTY2NzUzfXsx NjY3ODR9VG8gY2h5YmEgamFraZwgv2FydC4NCnsxNjY3ODR9ezE2Njg4MH0tIKNhZHVuZWsgdXpi cm9qb255PyBNb79lbXkgenJ6dWNh5j98LSBOaWUgbW+/ZW15IQ0KezE2Njg4N317MTY2OTQwfUNv nCBqZXN0IG5pZSB0YWsufFRvIG5pZSBwb3dpbm5vIHRhayByb2Jp5i4NCnsxNjY5NDB9ezE2NzAy OX0tIEEgamFrIHBvd2lubm8/fC0gUG93aW5ubyB3ZWqc5iBkbyBrb/FjYS4NCnsxNjcwMjl9ezE2 NzExNX0tIE5pZWNoIHNp6iBwcnp5anJ66i58LSBQcnplam1paiBzdGVyeS4NCnsxNjcxMjB9ezE2 NzE2OH1Qcnplam11auogc3RlcnkuDQp7MTY3MzE5fXsxNjczODF9RGxhY3plZ28gbmllIGplc3Rl nG15fGdvdG93aSBkbyB6cnp1dHU/DQp7MTY3Mzg0fXsxNjc0MzJ9TWFteSB0dSBkcm9ibnkgcHJv YmxlbS4NCnsxNjc3OTF9ezE2Nzg0OX1OYW1pZXJ6eeYgb2JpZWt0Lg0KezE2NzkyMX17MTY3OTU5 fS9DZWwgbmFtaWVyem9ueS4NCnsxNjgxOTR9ezE2ODIyM31TdPNqIQ0KezE2ODIyM317MTY4MzM4 fUplnGxpIHpuaXN6Y3p5c3ogdGVuIHN0YXRlayx8em5pc3pjenlzeiBy83duaWW/IEtyeXB0b25h IQ0KezE2ODQxNX17MTY4NDcyfUtyeXB0b24gbWlhsyBzd29quSBzemFuc+ohDQp7MTY5NzUyfXsx Njk4NTN9UGFubm8gTGFuZSF8VGFtIGplc3QgbmllYmV6cGllY3puaWUhDQp7MTcwNTU4fXsxNzA1 OTl9UnVzemFqIQ0KezE3MTA5OH17MTcxMTkxfUEgbmFncm9kuSBqZWdvIC0gaG9ub3Jvd2EgnG1p ZXLmLg0KezE3MjY2Nn17MTcyNzIzfVpuaWtu6mxpPw0KezE3MjczNX17MTcyNzg1fUNoeWJhIHRh ay4NCnsxNzI4MDl9ezE3Mjg0OH1PbiBuYXMgb2NhbGmzLg0KezE3MzQ0NX17MTczNTUzfU3zd2m5 LCC/ZSBwbyBwaWVyd3N6eW0gcG9jYbN1bmt1fGplc3QganW/IHogZ/Nya2kuDQp7MTczNjEwfXsx NzM3MDl9VHlsa28gd3RlZHksfGplnGxpIGNhs3VqZXN6IGN6s293aWVrYS4NCnsxNzQzODd9ezE3 NDQzMH1TcPNqcnouDQp7MTc0NDgxfXsxNzQ1Nzl9TmEgdHltIHB5bGUgbW9nbGmcbXkgemJ1ZG93 YeZ8bm93ZWdvIEtyeXB0b25hLg0KezE3NDU4MX17MTc0NjY1fUplZG5hayBwcnplZLNvv3mzZZwg bHVkeml8cG9uYWQgbmFzLg0KezE3NDY4NH17MTc0Nzk1fUNlbGVtIG1vamVqIGVnenlzdGVuY2pp fGplc3Qgb2Nocm9uYSBLcnlwdG9uYS4NCnsxNzQ4MzN9ezE3NDkzNH1UYWtpIGNlbCBvdHJ6eW1h s2VtIHByenkgbmFyb2R6aW5hY2guDQp7MTc0OTU1fXsxNzUwNjZ9S2G/ZGUgZHppYbNhbmllLHxv Ym9q6nRuaWUgamFrIGJydXRhbG5lLA0KezE3NTA2OH17MTc1MTk3fWphayBva3J1dG5lLHxwb2Rl am11auogdyBpbWnqIHd5v3N6ZWdvIGRvYnJhLi4uDQp7MTc1MjAwfXsxNzUyNTN9bW9qZWdvIGx1 ZHUuDQp7MTc1MzUxfXsxNzU0NTJ9QSB0ZXJheiBuaWUgbWFtIHN3b2plZ28gbHVkdS4NCnsxNzU1 MzF9ezE3NTYwN31Nb2phIGR1c3phLi4uDQp7MTc1NjEwfXsxNzU3Mzd9T2RlYnJhs2WcIG1pIGq5 IQ0KezE3NTkxNH17MTc2MDE1fVNwcmF3aeosIL9lIGx1ZHppZSx8a3TzcnljaCBwcnp5Z2Fybrmz ZZwsIGLqZLkgY2llcnBpZeYuDQp7MTc2MDE3fXsxNzYxNDJ9LSBPZGJpb3LqIGNpIGljaCwgamVk bmVnbyBwbyBkcnVnaW0ufC0gSmVzdGWcIHBvdHdvcmVtLCBab2QuDQp7MTc2MTk3fXsxNzYyNjR9 SSB6YW1pZXJ6YW0gY2nqIHBvd3N0cnp5bWHmLg0KezE3ODY2Mn17MTc4NzI3fVRvIHNp6iBtb79l IHNrb/FjennmfHR5bGtvIHcgamVkZW4gc3Bvc/NiIQ0KezE3ODcyN317MTc4ODAxfYxtaWVyY2m5 IGplZG5lZ28geiBuYXMhDQp7MTc5NTM1fXsxNzk2MjF9VXJvZHpps2VtIHNp6iB3b2pvd25pa2ll bSwgS2FsLg0KezE3OTYyM317MTc5NzIyfUNhs2Ugv3ljaWUgdHJlbm93YbNlbSBtb2plIHpteXOz eS4NCnsxNzk3MjR9ezE3OTgxMH1BIGdkemllIHR5IHRyZW5vd2GzZZw/fE5hIGZhcm1pZT8hDQp7 MTgyOTAzfXsxODMwMDZ9U2tvcm8gdGFrIGJhcmR6byBpY2gga29jaGFzei4uLg0KezE4MzAxOH17 MTgzMDkzfW1vv2VzeiB6YWN6ueYgaWNoIG9ws2FraXdh5i4NCnsxODMxNzl9ezE4MzIzMn1OaWUg cvNiIHRlZ28hDQp7MTgzMjg3fXsxODMzMzJ9UHJ6ZXN0YfEhDQp7MTgzNDU1fXsxODM1MDh9Tmll IQ0KezE4MzUzNH17MTgzNTY1fU5pZ2R5Lg0KezE4NTgzMX17MTg1OTE3fS0gT2RiabNvIGNpPyF8 LSBKZWRlbiB6IHR3b2ljaCBkcm9u83cgendpYWRvd2N6eWNoLg0KezE4NTkxOX17MTg2MDI1fS0g VG8gamVzdCB3YXJ0ZSAxMiBtaWxpb27zdyF8LSBCebNvLg0KezE4NjAyN317MTg2MTAyfVdpZW0s IL9lIHBy82J1amVzeiB3eZxsZWR6aeYsfGdkemllIG9kd2llc3phbSBwZWxlcnlu6i4NCnsxODYx MDJ9ezE4NjE4MX0tIE5pYyB6IHRlZ28ufC0gWmF0ZW0gemFkYW0gY2kgb2N6eXdpc3RlIHB5dGFu aWU6DQp7MTg2MTg4fXsxODYyNjd9U2u5ZCBwZXdub5zmLCC/ZSBraWVkeZx8bmllIHp3cvNjaXN6 IHNp6iBwcnplY2l3a28gQW1lcnljZT8NCnsxODYyNzB9ezE4NjM4N31XeWNob3dhs2VtIHNp6iB3 IEthbnNhcy58SnW/IGJhcmR6aWVqIEFtZXJ5a2FuaW5lbSBieeYgbmllIG1vv25hLg0KezE4NjM4 OX17MTg2NTE0fUplc3RlbSB0dSwgYnkgcG9tYWdh5ix8YWxlIG5hIG1vaWNoIHdhcnVua2FjaC4N CnsxODY1MTZ9ezE4NjYxN30tIE11c2kgcGFuIHByemVrb25h5iBXYXN6eW5ndG9uLnwtIE5hd2V0 IGdkeWJ5bSBjaGNpYbMgc3By82Jvd2HmLi4uDQp7MTg2NjI3fXsxODY3NTR9LSBza7lkIHdpZXN6 LCC/ZSBtbmllIHd5c7N1Y2hhark/fC0gTmllIHdpZW0uDQp7MTg2NzU2fXsxODY4MDl9Q2h5YmEg Yupk6iBtdXNpYbMgcGFudSB6YXVmYeYuDQp7MTg3MDMwfXsxODcxMjV9LSBaIGN6ZWdvnCBzaeog cGFuaSBjaWVzenksIGthcGl0YW5pZT98LSBaIG5pY3plZ28uDQp7MTg3MTg4fXsxODcyNDh9UG8g cHJvc3R1IG5pZXqzZSB6IG5pZWdvIGNpYWNoby4NCnsxODcyNzd9ezE4NzM0NH0tIERvIHdvenUs IGthcGl0YW5pZS58LSBUYWsgamVzdC4NCnsxODc1NzF9ezE4NzY2MH1aYXdzemUgd2llcnp5syx8 v2UgamVzdGWcIHN0d29yem9ueSBkbyB3eb9zenljaCBjZWzzdy4NCnsxODc2NjV9ezE4Nzc3OH1B IGtpZWR5IG5hZGVqZHppZSBkemll8Sx8dWSfd2lnbmllc3ogc3dvamUgYnJ6ZW1p6i4NCnsxODc4 MDJ9ezE4NzkyNn0tIENoY2lhs2J5bSwgv2VieSBt82ezIHRvIHpvYmFjennmLnwtIFdpZHppYbMg dG8sIHV3aWVyeiBtaS4NCnsxODkwNTZ9ezE4OTEzNX0vQ28gYupkemllc3ogcm9iabMsfC9raWVk eSBuaWUgYupkemllc3ogemJhd2lhsyCcd2lhdGE/DQp7MTg5MTM1fXsxODkyMDl9LSBNeZxsYbNl nCBqdb8gbyB0eW0/fC0gTXmcbGGzZW0uDQp7MTg5MjU5fXsxODkzOTR9UG9zenVrYW0gcHJhY3ks fHcga3TzcmVqIGLqZOogYmxpc2tvIHd5ZGFyemXxLg0KezE4OTQ4Mn17MTg5NTk1fS9XIGt083Jl aiBuaWtvZ28gbmllIHpkeml3aSx8L79lIHd5c3Rhd2lhbSBzaeogbmEgbmllYmV6cGllY3pl8XN0 d28sDQp7MTg5NjA5fXsxODk2NjJ9L2FsYm8gv2UgemFkYWrqIHB5dGFuaWEuDQp7MTg5OTcxfXsx OTAwNTh9S2llZHkgdyBrb/FjdXxkYXN6IHNp6iB6YXByb3Np5iwgTG9pcz8NCnsxOTAwNzJ9ezE5 MDE0Nn1OYWpsZXBzemUgbWllanNjYSBuYSBkemlzaWVqc3p5IG1lY3oufENvIHR5IG5hIHRvPw0K ezE5MDE0OX17MTkwMjc2fUxlcGllaiBzcHLzYnVqIHplIHN0Yb95c3RrYW1pLnxOYSBwZXdubyBt YXN6IHdp6mtzemUgc3phbnNlLg0KezE5MDI4MX17MTkwMzI0fVByemVwcmFzemFtLg0KezE5MDM1 N317MTkwNDI3fS0gTmFqbGVwc3plIG1pZWpzY2E/fC0gTmllIHLzYiB0ZWdvLg0KezE5MDQzNH17 MTkwNTMwfU9wcm93YWSfY2llIG5hc3plZ28gbm93ZWdvIHJlcG9ydGVyYS4NCnsxOTA1MzB9ezE5 MDYxMn1QcnplZHN0YXdpYW0gQ2xhcmthIEtlbnRhLnxQb3dvZHplbmlhLCBts29keS4NCnsxOTA2 NTB9ezE5MDcxMH0tIEN6ZZzmLCBqZXN0ZW0gU3RldmUufC0gTWmzbyBtaS4NCnsxOTA3MjJ9ezE5 MDc1M31DemWc5i4NCnsxOTA3NjN9ezE5MDg2Nn1Mb2lzIExhbmUsIHdpdGFqIHcgVGhlIFBsYW5l dC4NCnsxOTA5NDJ9ezE5MTAwNX1DaWVzeuogc2nqLCC/ZSB0dSBqZXN0ZW0uDQp7MTkxMTIwfXsx OTExOTJ9Q1qjT1dJRUsgWkUgU1RBTEkNCnsxOTEyMDR9ezE5MTI2NH1Us3VtYWN6ZW5pZTogc2lu dTYNCnsxOTEyNzh9ezE5MTMyNH0+PiBSZWxlYXNlMjQucGwgPDwNCg== headers: Cache-Control: - max-age=1296000 Connection: - Keep-Alive Content-Encoding: - gzip Content-Length: - '22597' Content-Type: - text/html; charset=UTF-8 Date: - Wed, 05 Jun 2024 08:02:22 GMT Expires: - Thu, 20 Jun 2024 08:02:22 GMT Keep-Alive: - timeout=5, max=1000 Server: - Apache Vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_srt.yaml0000644000175100001770000022103614636376416024751 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?v=dreambox&kolejka=false&nick=&pass=&napios=Linux&l=PL&f=32f216ee3fda2cf765e10847e7a8e90f&t=ccbc8 response: body: string: "\uFEFF1\r\n00:00:06,006 --> 00:00:09,009\r\nPoprzednio...\r\n- Ostatni raz oszuka\u0142a\u015B tat\u0119!\r\n\r\n2\r\n00:00:09,300 --> 00:00:11,886\r\n- Przesta\u0144.\r\n- Wyno\u015B si\u0119 z tego domu!\r\n\r\n3\r\n00:00:12,804 --> 00:00:17,308\r\nWyjd\u0119 st\u0105d z tym czym\u015B\r\nalbo pogr\u0105\u017C\u0119 twoj\u0105 kancelari\u0119.\r\n\r\n4\r\n00:00:17,392 --> 00:00:18,518\r\nWe\u017A obraz.\r\n\r\n5\r\n00:00:18,518 --> 00:00:22,814\r\nM\xF3wi\u0142e\u015B, \u017Ce ten obraz to twoje\r\njedyne weso\u0142e wspomnienie o matce.\r\n\r\n6\r\n00:00:23,106 --> 00:00:26,317\r\nKa\u017Cda ankieta zawiera\u0142a pytanie,\r\nczy by\u0142em kiedy\u015B skazany.\r\n\r\n7\r\n00:00:26,484 --> 00:00:29,195\r\nNikt mnie nie zatrudni,\r\nje\u015Bli zaznacz\u0119 ten kwadracik.\r\n\r\n8\r\n00:00:29,279 --> 00:00:31,197\r\nPoradnia to nie jedyne wyj\u015Bcie.\r\n\r\n9\r\n00:00:31,197 --> 00:00:33,283\r\n- Oferuje mi ojciec prac\u0119?\r\n- Tak.\r\n\r\n10\r\n00:00:33,283 --> 00:00:34,200\r\nMy\u015Blicie, \u017Ce to \u015Bmieszne?\r\n\r\n11\r\n00:00:34,200 --> 00:00:36,494\r\nRozwala mnie, \u017Ce nasz nauczyciel\r\njeszcze tydzie\u0144 temu siedzia\u0142.\r\n\r\n12\r\n00:00:36,619 --> 00:00:39,706\r\nPragniesz jedynie zosta\u0107\r\nwsp\xF3lnikiem zarz\u0105dzaj\u0105cym,\r\n\r\n13\r\n00:00:39,706 --> 00:00:42,000\r\nmimo \u017Ce ka\u017Cdy wie,\r\n\u017Ce nie powiniene\u015B.\r\n\r\n14\r\n00:00:42,083 --> 00:00:44,294\r\nJe\u015Bli my\u015Blisz,\r\n\u017Ce ci na to pozwol\u0119,\r\n\r\n15\r\n00:00:44,294 --> 00:00:46,588\r\nto chyba postrada\u0142e\u015B\r\npieprzone zmys\u0142y!\r\n\r\n16\r\n00:00:46,588 --> 00:00:49,716\r\nKt\xF3ry\u015B z uczni\xF3w powiedzia\u0142\r\nrodzicom o twojej odsiadce.\r\n\r\n17\r\n00:00:49,716 --> 00:00:52,010\r\nPr\xF3bowa\u0142em im to\r\nwyt\u0142umaczy\u0107, ale...\r\n\r\n18\r\n00:00:52,010 --> 00:00:53,011\r\nPrzykro mi, Mike.\r\n\r\n19\r\n00:00:53,303 --> 00:00:56,097\r\nWszyscy odchodz\u0105, Donna.\r\nNajpierw Jessica, teraz Mike.\r\n\r\n20\r\n00:00:56,181 --> 00:00:57,307\r\nS\u0105 rodzin\u0105.\r\n\r\n21\r\n00:00:57,307 --> 00:00:59,684\r\nNie jeste\u015Bmy twoj\u0105 jedyn\u0105 rodzin\u0105.\r\n\r\n22\r\n00:00:59,684 --> 00:01:01,519\r\nPog\xF3d\u017A si\u0119 z matk\u0105.\r\n\r\n23\r\n00:01:23,208 --> 00:01:26,002\r\nMike, co ty tu robisz?\r\nLekcje nie zaczynaj\u0105 si\u0119 o 7?\r\n\r\n24\r\n00:01:26,086 --> 00:01:28,296\r\nZaczynaj\u0105 si\u0119.\r\nAle ju\u017C tam nie pracuj\u0119.\r\n\r\n25\r\n00:01:28,713 --> 00:01:29,381\r\nCo?\r\n\r\n26\r\n00:01:30,507 --> 00:01:31,716\r\nCo si\u0119 sta\u0142o?\r\n\r\n27\r\n00:01:32,384 --> 00:01:35,095\r\nJeden z uczni\xF3w powiedzia\u0142\r\nrodzicom, \u017Ce jestem przest\u0119pc\u0105.\r\n\r\n28\r\n00:01:35,387 --> 00:01:37,180\r\nPoszli do archidiecezji i...\r\n\r\n29\r\n00:01:38,181 --> 00:01:40,183\r\nc\xF3\u017C, ojciec Walker\r\nnie mia\u0142 wyboru.\r\n\r\n30\r\n00:01:40,600 --> 00:01:44,479\r\n- Dlaczego nie powiedzia\u0142e\u015B mi wczoraj?\r\n- Nie chcia\u0142em psu\u0107 ci chwili.\r\n\r\n31\r\n00:01:44,896 --> 00:01:46,981\r\nCieszy\u0142a\u015B si\u0119 z propozycji Louisa.\r\n\r\n32\r\n00:01:47,107 --> 00:01:48,400\r\nI co teraz zrobisz?\r\n\r\n33\r\n00:01:48,483 --> 00:01:52,195\r\nZamierzam sp\u0119dzi\u0107 dzie\u0144,\r\nciesz\u0105c si\u0119 \u017Cyciem jako wolny cz\u0142owiek.\r\n\r\n34\r\n00:01:52,612 --> 00:01:53,780\r\nA jutro..\r\n\r\n35\r\n00:01:56,491 --> 00:01:58,410\r\nzaczn\u0119 wszystko od pocz\u0105tku.\r\n\r\n36\r\n00:02:02,706 --> 00:02:09,087\r\n7 lat temu\r\n\r\n37\r\n00:02:11,881 --> 00:02:13,591\r\nRay jest na dole,\r\nczeka na ciebie.\r\n\r\n38\r\n00:02:14,384 --> 00:02:16,594\r\n- Nie zaprasza\u0142em go.\r\n- Ale ja tak.\r\n\r\n39\r\n00:02:16,594 --> 00:02:20,015\r\nPrzyni\xF3s\u0142 tw\xF3j czarny garnitur i torb\u0119\r\ni zabiera ci\u0119 na dworzec.\r\n\r\n40\r\n00:02:21,599 --> 00:02:23,101\r\nMusisz jecha\u0107\r\nna pogrzeb ojca, Harvey.\r\n\r\n41\r\n00:02:23,184 --> 00:02:25,520\r\n- Nie mog\u0119. Za du\u017Co tu si\u0119 dzieje.\r\n- Pos\u0142uchaj.\r\n\r\n42\r\n00:02:25,603 --> 00:02:28,898\r\nW\u0142a\u015Bnie ponios\u0142e\u015B ogromn\u0105 strat\u0119\r\na zachowujesz si\u0119, jakby to by\u0142y interesy.\r\n\r\n43\r\n00:02:28,982 --> 00:02:31,109\r\nZachowuj\u0119 si\u0119 jakbym mia\u0142\r\nrobot\u0119 do za\u0142atwienia.\r\n\r\n44\r\n00:02:31,192 --> 00:02:34,904\r\n- Harvey, je\u015Bli nie oka\u017Cesz \u017Ca\u0142oby...\r\n- B\u0119d\u0119 op\u0142akiwa\u0107 ojca na sw\xF3j spos\xF3b.\r\n\r\n45\r\n00:02:34,904 --> 00:02:36,614\r\nNie b\u0119dziesz.\r\n\r\n46\r\n00:02:36,781 --> 00:02:39,909\r\nZdusisz to w sobie i b\u0119dziesz\r\nsi\u0119 stara\u0142 i\u015B\u0107 dalej, ale...\r\n\r\n47\r\n00:02:39,909 --> 00:02:41,619\r\nOna tam b\u0119dzie, Donna.\r\n\r\n48\r\n00:02:41,911 --> 00:02:43,079\r\nWiem.\r\n\r\n49\r\n00:02:43,705 --> 00:02:46,082\r\nAle w tym pogrzebie\r\nnie chodzi o ni\u0105.\r\n\r\n50\r\n00:02:46,708 --> 00:02:48,084\r\nAni nawet o ciebie.\r\n\r\n51\r\n00:02:49,586 --> 00:02:51,212\r\nTylko o twojego tat\u0119.\r\n\r\n52\r\n00:02:51,713 --> 00:02:55,216\r\nM\u0119\u017Cczyzn\u0119, kt\xF3rego kochasz bardziej\r\nni\u017C kogokolwiek na tym \u015Bwiecie.\r\n\r\n53\r\n00:02:56,301 --> 00:03:00,013\r\nJe\u015Bli si\u0119 z nim nie po\u017Cegnasz,\r\nb\u0119dziesz tego \u017Ca\u0142owa\u0142 do ko\u0144ca \u017Cycia.\r\n\r\n54\r\n00:03:12,901 --> 00:03:13,985\r\nDonna, co ty tu robisz?\r\n\r\n55\r\n00:03:13,985 --> 00:03:16,279\r\nPytanie, co ty tutaj\r\njeszcze robisz?\r\n\r\n56\r\n00:03:16,905 --> 00:03:20,784\r\nZarezerwowa\u0142am bilet do Bostonu na 8:00,\r\nwi\u0119c powiniene\u015B ju\u017C by\u0107 w po\u0142owie lotu.\r\n\r\n57\r\n00:03:20,909 --> 00:03:22,619\r\nNie zd\u0105\u017Cy\u0142em na samolot.\r\n\r\n58\r\n00:03:24,412 --> 00:03:26,706\r\nHarvey, nigdy si\u0119\r\nnie sp\xF3\u017Aniasz na samolot.\r\n\r\n59\r\n00:03:27,290 --> 00:03:29,584\r\nGdy ostatnim razem\r\ntak powiedzia\u0142e\u015B,\r\n\r\n60\r\n00:03:29,709 --> 00:03:31,294\r\nr\xF3wnie\u017C mnie ok\u0142ama\u0142e\u015B.\r\n\r\n61\r\n00:03:34,089 --> 00:03:36,883\r\nProsz\u0119, nie m\xF3w, \u017Ce zmieni\u0142e\u015B\r\nzdanie o spotkaniu si\u0119 z ni\u0105.\r\n\r\n62\r\n00:03:37,008 --> 00:03:38,301\r\nNie.\r\n\r\n63\r\n00:03:39,302 --> 00:03:40,887\r\nTo w czym problem?\r\n\r\n64\r\n00:03:44,808 --> 00:03:48,186\r\nNie widzia\u0142em jej od 7 lat.\r\n\r\n65\r\n00:03:48,311 --> 00:03:49,312\r\nOstatnim razem...\r\n\r\n66\r\n00:03:49,312 --> 00:03:52,399\r\nWiem, co si\u0119 sta\u0142o,\r\njak si\u0119 ostatnio widzieli\u015Bcie.\r\n\r\n67\r\n00:03:54,609 --> 00:03:55,694\r\nPos\u0142uchaj...\r\n\r\n68\r\n00:03:56,986 --> 00:03:59,698\r\nKa\u017Cdego dnia\r\nwychodzisz do \u015Bwiata\r\n\r\n69\r\n00:03:59,781 --> 00:04:01,616\r\ni wiesz, jak wygra\u0107.\r\n\r\n70\r\n00:04:01,908 --> 00:04:04,119\r\nTaki jeste\u015B.\r\nTym si\u0119 zajmujesz.\r\n\r\n71\r\n00:04:04,119 --> 00:04:07,580\r\n- Tu nie chodzi o wygrywanie.\r\n- W\u0142a\u015Bnie, \u017Ce tak.\r\n\r\n72\r\n00:04:07,914 --> 00:04:12,085\r\nAle w tej sprawie chodzi o dwie osoby,\r\nnie jedn\u0105, i obecnie obie przegrywaj\u0105.\r\n\r\n73\r\n00:04:15,797 --> 00:04:17,716\r\nA je\u015Bli nie potrafi\u0119 tego zrobi\u0107?\r\n\r\n74\r\n00:04:17,799 --> 00:04:19,384\r\nZatem nie wchod\u017A na ten pok\u0142ad.\r\n\r\n75\r\n00:04:19,801 --> 00:04:23,013\r\nAle torba, kt\xF3ra tam le\u017Cy m\xF3wi mi,\r\n\u017Ce jeste\u015B gotowy jej przebaczy\u0107.\r\n\r\n76\r\n00:04:24,681 --> 00:04:27,017\r\nI je\u015Bli tak jest,\r\nto musisz to zrobi\u0107.\r\n\r\n77\r\n00:04:58,381 --> 00:05:00,383\r\nSUITS 6x12\r\nThe Painting\r\n\r\n78\r\n00:05:00,383 --> 00:05:02,886\r\nT\u0142umaczenie:\r\nbatgirl, peciaq, Fei Long\r\n\r\n79\r\n00:05:10,018 --> 00:05:11,686\r\n- Nathan.\r\n- Pami\u0119tasz mnie.\r\n\r\n80\r\n00:05:11,811 --> 00:05:14,189\r\nPami\u0119tam ka\u017Cdego.\r\nCo ty tu robisz?\r\n\r\n81\r\n00:05:14,189 --> 00:05:17,484\r\nJestem tu, bo mo\u017Ce nie by\u0142o mnie,\r\nkiedy podrzuca\u0142e\u015B swoje CV,\r\n\r\n82\r\n00:05:18,401 --> 00:05:20,111\r\nale wci\u0105\u017C prowadz\u0119 t\u0119 poradni\u0119.\r\n\r\n83\r\n00:05:20,320 --> 00:05:22,280\r\nPrzyszed\u0142em tu\r\nzaproponowa\u0107 ci prac\u0119.\r\n\r\n84\r\n00:05:22,489 --> 00:05:25,116\r\n- Nie bardzo rozumiem.\r\n- Hector Suarez.\r\n\r\n85\r\n00:05:25,283 --> 00:05:27,702\r\nPrzypuszczam, \u017Ce jego\r\nte\u017C pami\u0119tasz?\r\n\r\n86\r\n00:05:27,911 --> 00:05:29,579\r\n- Co z nim?\r\n- C\xF3\u017C, po tym jak odszed\u0142e\u015B,\r\n\r\n87\r\n00:05:29,579 --> 00:05:31,206\r\nprzej\u0105\u0142em twoj\u0105 spraw\u0119.\r\n\r\n88\r\n00:05:31,498 --> 00:05:34,084\r\nNie m\xF3w, \u017Ce zatrzyma\u0142e\u015B\r\ngo w kraju.\r\n\r\n89\r\n00:05:34,209 --> 00:05:35,585\r\nNie, Mike. Ty to zrobi\u0142e\u015B.\r\n\r\n90\r\n00:05:36,086 --> 00:05:39,214\r\nPomy\u015Bla\u0142em sobie: \"Mo\u017Ce ten ch\u0142opak\r\nzostanie kiedy\u015B prawnikiem\"\r\n\r\n91\r\n00:05:39,214 --> 00:05:42,092\r\na rok temu przeczyta\u0142em o tobie w gazecie\r\ni okaza\u0142o si\u0119, \u017Ce nie zosta\u0142e\u015B.\r\n\r\n92\r\n00:05:42,092 --> 00:05:44,719\r\nWi\u0119c wiedzia\u0142e\u015B, \u017Ce dwukrotnie\r\nudawa\u0142em prawnika,\r\n\r\n93\r\n00:05:44,719 --> 00:05:46,304\r\na mimo to oferujesz mi prac\u0119?\r\n\r\n94\r\n00:05:46,388 --> 00:05:49,683\r\nNie by\u0142oby mnie tu, gdyby nie to.\r\n\r\n95\r\n00:05:52,394 --> 00:05:53,603\r\nM\xF3wi\u0142e\u015B prawd\u0119.\r\n\r\n96\r\n00:05:54,104 --> 00:05:56,481\r\nO ile wiem, to oznacza,\r\n\u017Ce warto ci da\u0107 szans\u0119.\r\n\r\n97\r\n00:05:56,981 --> 00:05:59,109\r\nNaprawd\u0119 czynisz dobro.\r\n\r\n98\r\n00:05:59,192 --> 00:06:02,320\r\nNie jestem tu, \u017Ceby ci zrobi\u0107 dobrze,\r\ntylko dla dobra mojej poradni,\r\n\r\n99\r\n00:06:02,487 --> 00:06:05,907\r\nbo zatrudniam do\u015Bwiadczonego\r\nprawnika z topowej kancelarii,\r\n\r\n100\r\n00:06:05,907 --> 00:06:07,784\r\na p\u0142ac\u0119 mu tyle,\r\nile ch\u0142opakowi od robienia kawy.\r\n\r\n101\r\n00:06:07,784 --> 00:06:10,620\r\n- Macie ch\u0142opaka od robienia kawy?\r\n- Nie sta\u0107 nas na takiego.\r\n\r\n102\r\n00:06:10,620 --> 00:06:13,915\r\nAle gdyby\u015Bmy mogli,\r\np\u0142aci\u0142bym mu tyle co tobie.\r\n\r\n103\r\n00:06:14,582 --> 00:06:16,209\r\nTo co, wchodzisz w to?\r\n\r\n104\r\n00:06:18,211 --> 00:06:19,879\r\nKiedy zaczynam?\r\n\r\n105\r\n00:06:24,718 --> 00:06:27,679\r\nNie s\u0105dz\u0119, \u017Cebym widzia\u0142\r\nci\u0119 kiedy\u015B w garniturze.\r\n\r\n106\r\n00:06:30,515 --> 00:06:32,017\r\nHarvey. Przyjecha\u0142e\u015B.\r\n\r\n107\r\n00:06:32,183 --> 00:06:34,519\r\nZa nic w \u015Bwiecie\r\nbym tego nie przegapi\u0142.\r\n\r\n108\r\n00:06:44,112 --> 00:06:47,407\r\n- Harvey, s\u0142uchaj...\r\n- Nie musisz tego m\xF3wi\u0107, wiem.\r\n\r\n109\r\n00:06:47,782 --> 00:06:50,410\r\nOna tu jest.\r\nNie chodzi tylko o to.\r\n\r\n110\r\n00:06:50,618 --> 00:06:53,496\r\nPyta\u0142a, czy mog\u0142aby\r\npowiedzie\u0107 kilka s\u0142\xF3w o tacie.\r\n\r\n111\r\n00:06:53,496 --> 00:06:56,708\r\nZamierzasz jej na to pozwoli\u0107?\r\nNie odezwie si\u0119 s\u0142owem,\r\n\r\n112\r\n00:06:56,708 --> 00:07:00,211\r\n- dop\xF3ki ja tu jestem.\r\n- Odezwie si\u0119, i je\u015Bli zrobisz scen\u0119\r\n\r\n113\r\n00:07:00,295 --> 00:07:03,798\r\nna oczach moich dzieci w dniu,\r\nw kt\xF3rym chowamy ojca,\r\n\r\n114\r\n00:07:03,798 --> 00:07:06,092\r\nprzysi\u0119gam na Boga,\r\n\u017Ce ci wpierdol\u0119,\r\n\r\n115\r\n00:07:06,217 --> 00:07:09,596\r\nbo to moja matka i pozwol\u0119\r\njej powiedzie\u0107 swoje.\r\n\r\n116\r\n00:07:14,017 --> 00:07:16,811\r\nHarvey...\r\nDobrze ci\u0119 widzie\u0107.\r\n\r\n117\r\n00:07:16,811 --> 00:07:19,189\r\n\u017Ba\u0142uj\u0119, \u017Ce nie mog\u0119 powiedzie\u0107\r\ntego samego, Lily, ale...\r\n\r\n118\r\n00:07:19,314 --> 00:07:20,899\r\nto by\u0142oby k\u0142amstwo.\r\n\r\n119\r\n00:07:21,191 --> 00:07:23,318\r\nPrzykro mi, \u017Ce tak to odczuwasz.\r\n\r\n120\r\n00:07:24,402 --> 00:07:27,489\r\nWierz lub nie,\r\nale kocha\u0142am twojego ojca\r\n\r\n121\r\n00:07:27,906 --> 00:07:30,492\r\n- i przykro mi, \u017Ce odszed\u0142.\r\n- C\xF3\u017C, nie wierz\u0119 w to\r\n\r\n122\r\n00:07:30,492 --> 00:07:33,203\r\ni nie przyszed\u0142em tu si\u0119\r\nz tob\u0105 spotka\u0107, tylko uczci\u0107 ojca,\r\n\r\n123\r\n00:07:33,286 --> 00:07:36,915\r\nwi\u0119c id\u017A tam, powiedz swoje\r\ni miejmy to za sob\u0105.\r\n\r\n124\r\n00:07:58,103 --> 00:07:59,479\r\nCo ci\u0119 tu sprowadza?\r\n\r\n125\r\n00:07:59,479 --> 00:08:01,398\r\nChcia\u0142em z tob\u0105 porozmawia\u0107.\r\n\r\n126\r\n00:08:01,898 --> 00:08:04,818\r\nNie mog\u0119 w to uwierzy\u0107,\r\nto wspaniale!\r\n\r\n127\r\n00:08:04,818 --> 00:08:06,611\r\nMo\u017Ce chcia\u0142aby\u015B\r\ndzi\u015B zje\u015B\u0107 ze mn\u0105 kolacj\u0119.\r\n\r\n128\r\n00:08:06,611 --> 00:08:09,197\r\nNiczego innego\r\nbym bardziej nie chcia\u0142a,\r\n\r\n129\r\n00:08:09,197 --> 00:08:12,492\r\nni\u017C zje\u015B\u0107 z tob\u0105 kolacj\u0119,\r\nale dzisiaj nie mog\u0119.\r\n\r\n130\r\n00:08:12,992 --> 00:08:14,494\r\nSzkoda, \u017Ce nie zadzwoni\u0142e\u015B.\r\n\r\n131\r\n00:08:14,619 --> 00:08:16,287\r\nZrobi\u0142bym to, ale...\r\n\r\n132\r\n00:08:17,580 --> 00:08:19,290\r\nNie mia\u0142e\u015B mojego numeru.\r\n\r\n133\r\n00:08:19,416 --> 00:08:20,417\r\nTo prawda.\r\n\r\n134\r\n00:08:21,918 --> 00:08:23,211\r\nMo\u017Ce jutro wieczorem?\r\n\r\n135\r\n00:08:23,294 --> 00:08:27,007\r\nNie planowa\u0142em\r\nzosta\u0107 tu na dwie noce.\r\n\r\n136\r\n00:08:28,299 --> 00:08:31,219\r\nMoja kancelaria jest teraz\r\nbardzo nara\u017Cona.\r\n\r\n137\r\n00:08:31,720 --> 00:08:33,388\r\nHarvey, to pokaz sztuki dzieciak\xF3w.\r\n\r\n138\r\n00:08:33,388 --> 00:08:36,599\r\nJest raz do roku,\r\nnie mog\u0119 tego odwo\u0142a\u0107.\r\n\r\n139\r\n00:08:38,601 --> 00:08:40,395\r\nWiesz co? To g\u0142upie.\r\n\r\n140\r\n00:08:40,395 --> 00:08:41,896\r\nPrzylecia\u0142e\u015B tu taki kawa\u0142 drogi.\r\n\r\n141\r\n00:08:41,980 --> 00:08:43,189\r\nNie.\r\n\r\n142\r\n00:08:43,481 --> 00:08:45,191\r\nMo\u017Cemy to zrobi\u0107 jutro.\r\n\r\n143\r\n00:08:55,285 --> 00:08:57,287\r\nNie gadaj.\r\nWzi\u0105\u0142e\u015B t\u0119 robot\u0119.\r\n\r\n144\r\n00:08:58,997 --> 00:09:02,584\r\nW\u0142a\u015Bciwie, a\u017C do rana s\u0105dzi\u0142em,\r\n\u017Ce nie ma takiej opcji.\r\n\r\n145\r\n00:09:02,584 --> 00:09:05,879\r\nZdaje si\u0119, \u017Ce masz znajomego na recepcji,\r\nkt\xF3ry umie\u015Bci\u0142 twoje CV na g\xF3rze kupki.\r\n\r\n146\r\n00:09:06,004 --> 00:09:07,714\r\nZdaje si\u0119, \u017Ce wisz\u0119 mu piwo.\r\n\r\n147\r\n00:09:07,881 --> 00:09:10,383\r\n- \u017Beby by\u0142o jasne, to ja nim jestem.\r\n- Skuma\u0142em.\r\n\r\n148\r\n00:09:10,717 --> 00:09:12,594\r\n- Witamy w poradni, Mike.\r\n- Dzi\u0119ki, Oliver.\r\n\r\n149\r\n00:09:12,594 --> 00:09:14,679\r\n- Widz\u0119, \u017Ce pozna\u0142e\u015B Olivera.\r\n- Oczywi\u015Bcie,\r\n\r\n150\r\n00:09:14,679 --> 00:09:16,806\r\n- dogadujemy si\u0119.\r\n- Dobrze.\r\n\r\n151\r\n00:09:16,890 --> 00:09:18,308\r\nNiez\u0142y pocz\u0105tek.\r\n\r\n152\r\n00:09:18,391 --> 00:09:20,810\r\nTo pozostaje ci jeszcze\r\npokaza\u0107 mi, gdzie moje biurko.\r\n\r\n153\r\n00:09:20,810 --> 00:09:24,898\r\nRacja. Jest w \u015Brodku\r\ntego gabinetu.\r\n\r\n154\r\n00:09:25,607 --> 00:09:28,401\r\nNie s\u0105dzi\u0142em,\r\n\u017Ce dostan\u0119 sw\xF3j gabinet.\r\n\r\n155\r\n00:09:28,401 --> 00:09:31,279\r\nTo, \u017Ce chujowo p\u0142ac\u0119 nie znaczy,\r\n\u017Ce nie zapewniam warunk\xF3w do pracy.\r\n\r\n156\r\n00:09:31,279 --> 00:09:33,782\r\nCzym dok\u0142adnie jest moja praca?\r\nBo z tego, co zd\u0105\u017Cy\u0142em zauwa\u017Cy\u0107,\r\n\r\n157\r\n00:09:33,907 --> 00:09:36,284\r\njestem tu jedynym\r\nz w\u0142asnym gabinetem.\r\n\r\n158\r\n00:09:36,409 --> 00:09:37,702\r\nS\u0142uchajcie wszyscy.\r\n\r\n159\r\n00:09:38,119 --> 00:09:41,915\r\nMacie od dzi\u015B nowego prze\u0142o\u017Conego.\r\nTo jest Mike Ross.\r\n\r\n160\r\n00:09:42,207 --> 00:09:43,917\r\nMike jest z Pearson/Specter/Litt\r\n\r\n161\r\n00:09:44,000 --> 00:09:46,211\r\ni wie wi\u0119cej o prawie\r\nni\u017C wy razem wzi\u0119ci.\r\n\r\n162\r\n00:09:46,294 --> 00:09:49,506\r\nWi\u0119c je\u015Bli Mike powie wam,\r\n\u017Ce macie co\u015B zrobi\u0107 - robicie to.\r\n\r\n163\r\n00:09:49,589 --> 00:09:53,093\r\nNie zamierzam kwestionowa\u0107 nowego\r\nporz\u0105dku \u015Bwiata, ale jaki ma tytu\u0142?\r\n\r\n164\r\n00:09:53,218 --> 00:09:55,011\r\nDobre pytanie, Marissa.\r\n\r\n165\r\n00:09:56,096 --> 00:09:58,390\r\nStarszy Zwierzchnik Nad Wami?\r\n\r\n166\r\n00:09:58,890 --> 00:10:01,184\r\nJakie\u015B jeszcze w\u0105tpliwo\u015Bci?\r\nNie s\u0105dz\u0119.\r\n\r\n167\r\n00:10:01,518 --> 00:10:03,311\r\nDobra, wracajcie\r\ndo pracy, no ju\u017C.\r\n\r\n168\r\n00:10:03,687 --> 00:10:05,814\r\nNie \u017Cartowa\u0142e\u015B m\xF3wi\u0105c,\r\n\u017Ce robi\u0142e\u015B to dla siebie.\r\n\r\n169\r\n00:10:05,897 --> 00:10:07,190\r\nNie \u017Cartowa\u0142em.\r\n\r\n170\r\n00:10:07,315 --> 00:10:10,694\r\nSzuka\u0142em kogo\u015B na t\u0119 pozycj\u0119\r\ni za tak\u0105 kas\u0119 10 lat,\r\n\r\n171\r\n00:10:11,403 --> 00:10:12,987\r\na teraz, jak kogo\u015B mam...\r\n\r\n172\r\n00:10:13,279 --> 00:10:14,406\r\nMam zamiar wydusi\u0107 z tego ile si\u0119 da.\r\n\r\n173\r\n00:10:14,781 --> 00:10:17,909\r\nCzemu nie wr\xF3cisz do swojego gabinetu\r\ni nie zostaniesz tam do ko\u0144ca roku?\r\n\r\n174\r\n00:10:17,992 --> 00:10:20,286\r\nBo ja b\u0119d\u0119 tu,\r\nzaj\u0119ty kopaniem ty\u0142k\xF3w.\r\n\r\n175\r\n00:10:20,412 --> 00:10:22,080\r\nTo chcia\u0142em us\u0142ysze\u0107.\r\n\r\n176\r\n00:10:32,882 --> 00:10:35,719\r\nKogo trzeba tu zna\u0107,\r\nby dosta\u0107 dobry stolik?\r\n\r\n177\r\n00:10:35,719 --> 00:10:37,012\r\nJezu Chryste.\r\n\r\n178\r\n00:10:37,512 --> 00:10:40,890\r\nOczy mnie zwodz\u0105 czy wygl\u0105dasz\r\ndok\u0142adnie jak m\xF3j starszy brat,\r\n\r\n179\r\n00:10:40,890 --> 00:10:43,184\r\ntylko starszy, grubszy\r\ni bardziej niezno\u015Bny?\r\n\r\n180\r\n00:10:43,184 --> 00:10:45,603\r\nDoceniam, \u017Ce zauwa\u017Cy\u0142e\u015B.\r\nW\u0142o\u017Cy\u0142em w to du\u017Co wysi\u0142ku.\r\n\r\n181\r\n00:10:45,603 --> 00:10:47,981\r\nPowa\u017Cnie, Harvey,\r\ndlaczego tu jeste\u015B?\r\n\r\n182\r\n00:10:48,815 --> 00:10:51,818\r\nPomy\u015Bla\u0142em, \u017Ce nadszed\u0142 czas,\r\nby pogodzi\u0107 si\u0119 z matk\u0105.\r\n\r\n183\r\n00:10:51,901 --> 00:10:53,611\r\nHarvey, to wspaniale.\r\n\r\n184\r\n00:10:54,112 --> 00:10:57,907\r\nAle... wiele przez te lata\r\nzosta\u0142o powiedziane.\r\n\r\n185\r\n00:10:57,991 --> 00:11:00,994\r\nNie mo\u017Cesz tak po prostu\r\npojawi\u0107 si\u0119 pod drzwiami mamy.\r\n\r\n186\r\n00:11:01,202 --> 00:11:03,413\r\nW\u0142a\u015Bciwie ju\u017C to zrobi\u0142em.\r\n\r\n187\r\n00:11:03,997 --> 00:11:05,081\r\nCo? Kiedy?\r\n\r\n188\r\n00:11:05,415 --> 00:11:07,417\r\nPojecha\u0142em na uniwersytet.\r\n\r\n189\r\n00:11:07,417 --> 00:11:11,379\r\nMa dzi\u015B jak\u0105\u015B wystaw\u0119,\r\nwi\u0119c jutro zjemy kolacj\u0119 tutaj.\r\n\r\n190\r\n00:11:12,297 --> 00:11:14,007\r\nC\xF3\u017C, zatem zaklepi\u0119 ci stolik.\r\n\r\n191\r\n00:11:14,716 --> 00:11:16,217\r\nA w zamian ty wymeldujesz si\u0119\r\n\r\n192\r\n00:11:16,593 --> 00:11:19,304\r\nz jakiego\u015B wyszukanego hotelu,\r\nkt\xF3ry zarezerwowa\u0142e\u015B\r\n\r\n193\r\n00:11:19,304 --> 00:11:21,014\r\ni zostaniesz na noc u nas.\r\n\r\n194\r\n00:11:21,097 --> 00:11:23,892\r\nMarcus, daj spok\xF3j,\r\nmam apartament prezydencki w Ritzu.\r\n\r\n195\r\n00:11:24,017 --> 00:11:27,395\r\nNie my\u015Bl o odmowie, bo i tak\r\npowiem Katie i dzieciakom, \u017Ce tu jeste\u015B.\r\n\r\n196\r\n00:11:27,395 --> 00:11:28,688\r\nOferujecie obs\u0142ug\u0119 hotelow\u0105?\r\n\r\n197\r\n00:11:28,813 --> 00:11:32,192\r\nJe\u015Bli przez obs\u0142ug\u0119 masz na my\u015Bli\r\nci\u0105gn\u0105cy si\u0119 ser i herbatniki,\r\n\r\n198\r\n00:11:32,317 --> 00:11:34,694\r\nto tak, mamy obs\u0142ug\u0119 hotelow\u0105.\r\n\r\n199\r\n00:11:34,903 --> 00:11:37,113\r\nNo dobra, to wchodz\u0119 w to.\r\n\r\n200\r\n00:11:38,698 --> 00:11:40,909\r\nMarissa, tak?\r\nMike.\r\n\r\n201\r\n00:11:41,701 --> 00:11:43,119\r\nWiem. Nowy szef.\r\n\r\n202\r\n00:11:44,579 --> 00:11:45,413\r\nNo co?\r\n\r\n203\r\n00:11:45,705 --> 00:11:49,417\r\nNic takiego, tylko tam, sk\u0105d pochodz\u0119\r\nszefowie nie je\u017Cd\u017C\u0105 do pracy rowerem.\r\n\r\n204\r\n00:11:49,417 --> 00:11:51,503\r\nFakt, to nie Pearson/Specter/Litt.\r\n\r\n205\r\n00:11:51,586 --> 00:11:54,381\r\nNie, nie jest, i w\u0142a\u015Bnie\r\ndlatego tu jestem.\r\n\r\n206\r\n00:11:54,381 --> 00:11:57,592\r\nTo mi\u0142o, bo wielu osobom\r\nm\xF3g\u0142by\u015B naprawd\u0119 pom\xF3c,\r\n\r\n207\r\n00:11:57,717 --> 00:11:59,719\r\nale ja nie jestem jedn\u0105 z nich.\r\n\r\n208\r\n00:12:02,013 --> 00:12:03,598\r\nNie jeste\u015B wci\u0105\u017C studentk\u0105 prawa?\r\n\r\n209\r\n00:12:03,682 --> 00:12:06,017\r\nKt\xF3ra wygra\u0142a ka\u017Cd\u0105 prowadzon\u0105\r\nspraw\u0119, od kiedy tu jest.\r\n\r\n210\r\n00:12:06,101 --> 00:12:09,104\r\n\u015Awietnie, zgaduj\u0119 zatem,\r\n\u017Ce masz pod kontrol\u0105 spraw\u0119 Price?\r\n\r\n211\r\n00:12:09,813 --> 00:12:11,606\r\n- Dopiero zacz\u0105\u0142e\u015B. Sk\u0105d...\r\n- Szybko czytam.\r\n\r\n212\r\n00:12:11,690 --> 00:12:13,983\r\nNie pr\xF3buj\u0119 si\u0119 tu rz\u0105dzi\u0107\r\nw pierwszy dzie\u0144 pracy,\r\n\r\n213\r\n00:12:13,983 --> 00:12:16,820\r\npanna Price przegapi\u0142a\r\ndzie\u0144 rozprawy,\r\n\r\n214\r\n00:12:17,320 --> 00:12:18,697\r\nco oznacza, \u017Ce musz\u0119\r\npozna\u0107 tw\xF3j plan.\r\n\r\n215\r\n00:12:18,780 --> 00:12:21,991\r\nPlan jest taki, \u017Ce panna Price\r\nwyt\u0142umaczy, \u017Ce jest samotn\u0105 matk\u0105,\r\n\r\n216\r\n00:12:22,117 --> 00:12:25,120\r\n\u017Cyj\u0105c\u0105 w nieogrzewanym od miesi\u0119cy\r\nmieszkaniu z zepsutym oknem,\r\n\r\n217\r\n00:12:25,120 --> 00:12:26,788\r\na oni chc\u0105 j\u0105 wyrzuci\u0107.\r\n\r\n218\r\n00:12:28,206 --> 00:12:32,210\r\nJe\u015Bli zamierzasz tylko powiedzie\u0107 s\u0119dziemu,\r\n\u017Ce to nie fair, przegrasz.\r\n\r\n219\r\n00:12:32,293 --> 00:12:36,297\r\n- Potrzebujesz podstaw prawnych.\r\n- Mam takie. Berger przeciw Chozic.\r\n\r\n220\r\n00:12:36,297 --> 00:12:40,301\r\nLokatorzy ubiegaj\u0105 si\u0119 o z\u0142agodzenie wyroku,\r\nje\u015Bli nie odpowiedziano na pro\u015Bby o naprawy.\r\n\r\n221\r\n00:12:40,385 --> 00:12:42,887\r\nMam nadziej\u0119, \u017Ce masz plan B,\r\nbo prawnicy drugiej strony\r\n\r\n222\r\n00:12:42,887 --> 00:12:45,181\r\nwykopali 300 lokator\xF3w\r\nw ci\u0105gu ostatnich 6 lat,\r\n\r\n223\r\n00:12:45,181 --> 00:12:47,600\r\n- co oznacza, \u017Ce nie \u017Cartuj\u0105.\r\n- Ja te\u017C nie,\r\n\r\n224\r\n00:12:47,684 --> 00:12:50,603\r\ndlatego spotykam si\u0119\r\nz pann\u0105 Price dzi\u015B o 3:00.\r\n\r\n225\r\n00:12:50,812 --> 00:12:52,605\r\nMog\u0119 ci w czym\u015B jeszcze pom\xF3c?\r\n\r\n226\r\n00:12:52,605 --> 00:12:56,317\r\nA mo\u017Ce zechcesz po\u015Bwi\u0119ci\u0107 troch\u0119 czasu\r\nsprawom innych ludzi tutaj?\r\n\r\n227\r\n00:13:07,120 --> 00:13:08,788\r\nLouis, potrzebuj\u0119\r\ntwojej pomocy.\r\n\r\n228\r\n00:13:08,913 --> 00:13:10,999\r\n- Oczywi\u015Bcie. S\u0142ucham?\r\n- Dzwoni\u0142 Teddy Doyle.\r\n\r\n229\r\n00:13:11,082 --> 00:13:12,083\r\nCo\u015B mu wypad\u0142o.\r\n\r\n230\r\n00:13:12,208 --> 00:13:14,502\r\nTo Harvey potrzebuje mojej\r\npomocy, nie ty. Podaj mi\r\n\r\n231\r\n00:13:14,586 --> 00:13:16,296\r\njeden dobry pow\xF3d,\r\nby mu pom\xF3c.\r\n\r\n232\r\n00:13:16,379 --> 00:13:19,883\r\nPomo\u017Cesz kancelarii, nie Harveyowi.\r\nTeddy jest naszym klientem.\r\n\r\n233\r\n00:13:20,008 --> 00:13:22,719\r\nHarvey jasno pokaza\u0142,\r\n\u017Ce nie ma \u017Cadnych \"nas\".\r\n\r\n234\r\n00:13:22,802 --> 00:13:24,804\r\nHarvey ma problemy.\r\n\r\n235\r\n00:13:24,888 --> 00:13:26,097\r\nJego wybuch nie mia\u0142\r\nzwi\u0105zku z tob\u0105.\r\n\r\n236\r\n00:13:26,181 --> 00:13:28,183\r\nWierz, w co chcesz,\r\n\r\n237\r\n00:13:28,308 --> 00:13:31,186\r\nale wy\u017Cy\u0142 si\u0119 na mnie,\r\na teraz nie ma odwagi,\r\n\r\n238\r\n00:13:31,311 --> 00:13:33,188\r\nby przyj\u015B\u0107 i samemu\r\npoprosi\u0107 o pomoc.\r\n\r\n239\r\n00:13:33,313 --> 00:13:34,814\r\nCzemu mia\u0142bym\r\ncho\u0107 kiwn\u0105\u0107 palcem?\r\n\r\n240\r\n00:13:34,898 --> 00:13:38,109\r\nBo zdecydowa\u0142\r\nnaprostowa\u0107 sprawy z matk\u0105.\r\n\r\n241\r\n00:13:38,193 --> 00:13:41,404\r\nI zrobi\u0142 to, bo czu\u0142 si\u0119 \u017Ale\r\npo wy\u017Cyciu si\u0119 na tobie.\r\n\r\n242\r\n00:13:41,613 --> 00:13:45,116\r\nW przeciwnym wypadku\r\nsam ogarn\u0105\u0142by Teddy'ego.\r\n\r\n243\r\n00:13:45,200 --> 00:13:46,701\r\nPomo\u017Cesz mu czy nie?\r\n\r\n244\r\n00:13:48,620 --> 00:13:49,788\r\nCo mam zrobi\u0107?\r\n\r\n245\r\n00:13:54,709 --> 00:13:57,212\r\nMike? Co si\u0119 dzieje?\r\n\r\n246\r\n00:13:57,504 --> 00:13:58,505\r\nMy\u015Bla\u0142em, \u017Ce wr\xF3cisz po 20.\r\n\r\n247\r\n00:13:58,588 --> 00:14:00,799\r\n- Jest 20:30.\r\n- Straci\u0142em poczucie czasu.\r\n\r\n248\r\n00:14:00,882 --> 00:14:03,093\r\nZakopa\u0142em si\u0119 w tych papierach.\r\n\r\n249\r\n00:14:03,218 --> 00:14:05,720\r\nWidz\u0119. Co jest?\r\nPrzeprowadz\u0105 nam audyt?\r\n\r\n250\r\n00:14:07,514 --> 00:14:08,682\r\nDosta\u0142em prac\u0119.\r\n\r\n251\r\n00:14:09,015 --> 00:14:10,183\r\nI zadzwoni\u0142bym od razu,\r\n\r\n252\r\n00:14:10,308 --> 00:14:12,519\r\nale jak tylko pojawi\u0142em si\u0119\r\nw poradni, by\u0142em zawalony.\r\n\r\n253\r\n00:14:12,602 --> 00:14:14,604\r\nDosta\u0142e\u015B prac\u0119\r\nw poradni prawnej?\r\n\r\n254\r\n00:14:14,688 --> 00:14:17,107\r\n- Mike, to niesamowite!\r\n- To prawda.\r\n\r\n255\r\n00:14:17,899 --> 00:14:19,901\r\n- A czy...\r\n- Tak, wiedz\u0105.\r\n\r\n256\r\n00:14:19,984 --> 00:14:22,487\r\nW\u0142a\u015Bciwie dlatego mnie zatrudnili.\r\n\r\n257\r\n00:14:22,696 --> 00:14:24,989\r\nDotar\u0142o do nich,\r\n\r\n258\r\n00:14:25,115 --> 00:14:28,410\r\n\u017Ce mog\u0105 mie\u0107 kogo\u015B z takim\r\ndo\u015Bwiadczeniem za grosze?\r\n\r\n259\r\n00:14:28,702 --> 00:14:33,415\r\nTrafi\u0142a\u015B.\r\nDok\u0142adnie za 35 tys. rocznie.\r\n\r\n260\r\n00:14:34,708 --> 00:14:35,709\r\nA to oznacza...\r\n\r\n261\r\n00:14:35,792 --> 00:14:38,586\r\n\u017Ce powinni\u015Bmy chyba\r\nsi\u0119 zacz\u0105\u0107 pakowa\u0107,\r\n\r\n262\r\n00:14:38,712 --> 00:14:42,090\r\nbo nie b\u0119dzie nas\r\nju\u017C sta\u0107 na to mieszkanie.\r\n\r\n263\r\n00:14:42,382 --> 00:14:46,011\r\nZamieszka\u0142abym\r\nz tob\u0105 w kartonie,\r\n\r\n264\r\n00:14:46,094 --> 00:14:47,387\r\ngdyby\u015B tylko tam\r\nby\u0142 szcz\u0119\u015Bliwy.\r\n\r\n265\r\n00:14:47,887 --> 00:14:49,597\r\nChyba zamieszka\u0142aby\u015B w kartonie,\r\n\r\n266\r\n00:14:49,681 --> 00:14:51,891\r\ngdyby dowozili tam\r\nz tej tajskiej knajpki.\r\n\r\n267\r\n00:14:52,809 --> 00:14:54,811\r\n- I tej z sushi.\r\n- Wiadomo.\r\n\r\n268\r\n00:14:59,607 --> 00:15:01,693\r\n- Chcesz jedno?\r\n- \u017Bartujesz?\r\n\r\n269\r\n00:15:01,985 --> 00:15:04,696\r\nPo przeczytaniu\r\npo raz si\xF3dmy \"Pinkalicious\"\r\n\r\n270\r\n00:15:04,779 --> 00:15:06,281\r\npotrzebuj\u0119 sze\u015Bciopaku.\r\n\r\n271\r\n00:15:12,704 --> 00:15:14,289\r\nMi\u0142o by\u0142o je usypia\u0107.\r\n\r\n272\r\n00:15:16,416 --> 00:15:19,794\r\nCiekawe, czy by\u015B tak m\xF3wi\u0142,\r\nrobi\u0105c to 365 dni w roku.\r\n\r\n273\r\n00:15:19,919 --> 00:15:22,297\r\nMy\u015Bla\u0142em, \u017Ce to g\u0142\xF3wnie\r\nKatie si\u0119 tym zajmuje.\r\n\r\n274\r\n00:15:23,506 --> 00:15:25,216\r\nM\xF3wi\u0142em to w jej imieniu.\r\n\r\n275\r\n00:15:26,718 --> 00:15:29,012\r\nDzi\u0119ki, \u017Ce nam\xF3wi\u0142e\u015B mnie,\r\nbym zosta\u0142 na noc.\r\n\r\n276\r\n00:15:32,307 --> 00:15:35,810\r\nMo\u017Ce po jutrzejszym dniu\r\nb\u0119dziesz to robi\u0107 cz\u0119\u015Bciej?\r\n\r\n277\r\n00:15:39,189 --> 00:15:40,190\r\nMo\u017Ce.\r\n\r\n278\r\n00:15:44,319 --> 00:15:45,904\r\nDzi\u0119kuj\u0119 za przybycie.\r\n\r\n279\r\n00:15:47,489 --> 00:15:48,615\r\nJestem Lily.\r\n\r\n280\r\n00:15:49,282 --> 00:15:51,493\r\nBy\u0142am \u017Con\u0105 Gordona\r\nniemal 30 lat.\r\n\r\n281\r\n00:15:52,702 --> 00:15:55,914\r\nNie wytrzymali\u015Bmy 30\r\ni przez d\u0142ugi czas\r\n\r\n282\r\n00:15:55,997 --> 00:15:58,208\r\nuwa\u017Ca\u0142am to za swoj\u0105 pora\u017Ck\u0119.\r\n\r\n283\r\n00:15:59,584 --> 00:16:01,211\r\nGordon tak nie s\u0105dzi\u0142.\r\n\r\n284\r\n00:16:02,587 --> 00:16:04,214\r\nKilka lat po rozwodzie\r\n\r\n285\r\n00:16:04,381 --> 00:16:07,884\r\nchcia\u0142am go przeprosi\u0107 za to,\r\n\u017Ce nam si\u0119 nie u\u0142o\u017Cy\u0142o.\r\n\r\n286\r\n00:16:10,095 --> 00:16:12,681\r\nU\u015Bmiechn\u0105\u0142 si\u0119 i rzek\u0142:\r\n\r\n287\r\n00:16:12,889 --> 00:16:15,308\r\n\"Lily, o czym ty m\xF3wisz?\r\n\r\n288\r\n00:16:15,892 --> 00:16:17,519\r\nOsi\u0105gn\u0119li\u015Bmy razem co\u015B,\r\n\r\n289\r\n00:16:17,602 --> 00:16:20,480\r\nczego \u017Cadne z nas nie by\u0142oby\r\nw stanie dokona\u0107 samemu\".\r\n\r\n290\r\n00:16:22,816 --> 00:16:24,401\r\nM\xF3wi\u0142 o naszych synach,\r\n\r\n291\r\n00:16:25,402 --> 00:16:26,903\r\nHarveyu i Marcusie.\r\n\r\n292\r\n00:16:27,612 --> 00:16:30,198\r\nGdy Gordon by\u0142 w trasie,\r\ndzwoni\u0142 do domu...\r\n\r\n293\r\n00:16:31,116 --> 00:16:33,201\r\nsze\u015B\u0107 razy dziennie,\r\nby upewni\u0107 si\u0119, \u017Ce s\u0105 cali.\r\n\r\n294\r\n00:16:33,284 --> 00:16:34,786\r\nCzy zjedli kolacj\u0119.\r\n\r\n295\r\n00:16:35,495 --> 00:16:37,414\r\nCzy odrobili zadanie domowe.\r\n\r\n296\r\n00:16:38,498 --> 00:16:41,209\r\nIle punkt\xF3w zdoby\u0142 Marcus.\r\n\r\n297\r\n00:16:42,585 --> 00:16:45,380\r\nCzy Harvey wybra\u0142 ju\u017C\r\nsmoking na studni\xF3wk\u0119.\r\n\r\n298\r\n00:16:46,297 --> 00:16:48,800\r\nGordon by\u0142 dumny\r\nz wielu rzeczy w \u017Cyciu,\r\n\r\n299\r\n00:16:49,009 --> 00:16:50,885\r\nale nic nie mog\u0142o r\xF3wna\u0107 si\u0119\r\n\r\n300\r\n00:16:51,594 --> 00:16:53,096\r\nz jego dum\u0105 z syn\xF3w.\r\n\r\n301\r\n00:16:55,807 --> 00:16:57,517\r\nByli dla niego wszystkim.\r\n\r\n302\r\n00:17:00,687 --> 00:17:02,397\r\nNiewa\u017Cne, gdzie jest...\r\n\r\n303\r\n00:17:04,691 --> 00:17:07,193\r\nWiem, \u017Ce wci\u0105\u017C nad nimi czuwa.\r\n\r\n304\r\n00:17:26,713 --> 00:17:28,715\r\n- Co ty tu robisz?\r\n- Wykonuj\u0119 swoj\u0105 prac\u0119.\r\n\r\n305\r\n00:17:28,798 --> 00:17:30,383\r\n- To moja sprawa.\r\n- Nie, Marisso.\r\n\r\n306\r\n00:17:30,508 --> 00:17:32,218\r\nNasza. Jeste\u015Bmy\r\npo tej samej stronie.\r\n\r\n307\r\n00:17:32,302 --> 00:17:35,013\r\nI gdyby\u015B mnie pos\u0142ucha\u0142a,\r\nmog\u0142aby\u015B si\u0119 czego\u015B nauczy\u0107.\r\n\r\n308\r\n00:17:35,096 --> 00:17:35,597\r\nNa przyk\u0142ad?\r\n\r\n309\r\n00:17:35,680 --> 00:17:37,682\r\nJak do\u015Bwiadczeni prawnicy\r\nmog\u0105 ci\u0119 wykiwa\u0107.\r\n\r\n310\r\n00:17:37,807 --> 00:17:39,517\r\nMnie nikt nie wykiwa,\r\n\r\n311\r\n00:17:39,601 --> 00:17:41,019\r\nwi\u0119c je\u015Bli pozwolisz,\r\nid\u0119 si\u0119 spotka\u0107 z klientem.\r\n\r\n312\r\n00:17:41,102 --> 00:17:42,812\r\nJu\u017C si\u0119 z ni\u0105 widzia\u0142em.\r\n\r\n313\r\n00:17:43,104 --> 00:17:44,105\r\nBeze mnie?\r\n\r\n314\r\n00:17:45,106 --> 00:17:46,608\r\n- Niby kiedy?\r\n- P\xF3\u0142 godziny temu.\r\n\r\n315\r\n00:17:46,691 --> 00:17:48,401\r\nM\xF3wi\u0142a\u015B, \u017Ce o 15,\r\nwi\u0119c wezwa\u0142em j\u0105 na 14:30\r\n\r\n316\r\n00:17:48,485 --> 00:17:50,195\r\nbo wiedzia\u0142em,\r\n\u017Ce nie dasz mi szansy,\r\n\r\n317\r\n00:17:50,320 --> 00:17:53,698\r\ntak samo jak wiem, \u017Ce strona przeciwna\r\nzwr\xF3ci si\u0119 do niej pod twoj\u0105 nieobecno\u015B\u0107.\r\n\r\n318\r\n00:17:53,782 --> 00:17:55,617\r\n- Nie mog\u0105.\r\n- Bo to nie fair?\r\n\r\n319\r\n00:17:55,700 --> 00:17:57,786\r\n- Nielegalne.\r\n- Je\u015Bli to zg\u0142osi,\r\n\r\n320\r\n00:17:57,911 --> 00:18:01,581\r\nczego nie zrobi, bo oni dowiedz\u0105 si\u0119,\r\njakie s\u0105 jej s\u0142abe punkty i zaoferuj\u0105\r\n\r\n321\r\n00:18:01,706 --> 00:18:03,708\r\ndok\u0142adnie tyle,\r\nile potrzebuje, by wy\u017Cy\u0107,\r\n\r\n322\r\n00:18:03,792 --> 00:18:05,502\r\nprzez co przyjmie ofert\u0119.\r\n\r\n323\r\n00:18:05,585 --> 00:18:07,087\r\nWtedy sko\u0144czy bezdomna.\r\n\r\n324\r\n00:18:07,212 --> 00:18:09,589\r\nDlatego musimy\r\nby\u0107 na to przygotowani.\r\n\r\n325\r\n00:18:10,382 --> 00:18:12,884\r\nChcesz pracowa\u0107\r\nnad tym wsp\xF3lnie czy nie?\r\n\r\n326\r\n00:18:22,102 --> 00:18:26,314\r\nWybacz, \u017Ce nie powiedzia\u0142em\r\nci wcze\u015Bniej, \u017Ce b\u0119dzie przemawia\u0107.\r\n\r\n327\r\n00:18:26,981 --> 00:18:28,983\r\nJako\u015B nie mog\u0142em\r\nsi\u0119 na to zdoby\u0107.\r\n\r\n328\r\n00:18:29,109 --> 00:18:30,610\r\nW porz\u0105dku, Marcus.\r\n\r\n329\r\n00:18:33,196 --> 00:18:34,781\r\nDotar\u0142a do ciebie, co?\r\n\r\n330\r\n00:18:35,782 --> 00:18:37,617\r\nPrzykro mi z powodu taty.\r\n\r\n331\r\n00:18:38,493 --> 00:18:40,704\r\nI, tak, uderzy\u0142a w czu\u0142y punkt,\r\n\r\n332\r\n00:18:40,787 --> 00:18:44,082\r\nale jedna mowa pogrzebowa\r\nnie wynagrodzi wszystkiego.\r\n\r\n333\r\n00:18:44,708 --> 00:18:46,418\r\nPewnie nie.\r\n\r\n334\r\n00:18:46,918 --> 00:18:48,712\r\nAle gdzie\u015B trzeba zacz\u0105\u0107.\r\n\r\n335\r\n00:18:54,300 --> 00:18:55,593\r\nB\u0119d\u0119 wraca\u0107 do domu.\r\n\r\n336\r\n00:18:55,719 --> 00:18:58,179\r\nDaj spok\xF3j.\r\nPrzyjd\u017A chocia\u017C na czuwanie.\r\n\r\n337\r\n00:18:59,389 --> 00:19:01,391\r\nMusz\u0119 ogarn\u0105\u0107\r\nkilka rzeczy w pracy.\r\n\r\n338\r\n00:19:01,599 --> 00:19:04,310\r\nNie chcesz wraca\u0107\r\nz powodu pracy.\r\n\r\n339\r\n00:19:09,315 --> 00:19:12,193\r\nCzas odpu\u015Bci\u0107 pewne rzeczy.\r\n\r\n340\r\n00:19:14,988 --> 00:19:17,699\r\nZg\u0142asza\u0142am brak\r\nogrzewania sto razy.\r\n\r\n341\r\n00:19:17,782 --> 00:19:20,618\r\nW\u0142a\u015Bciciel obiecuje,\r\n\u017Ce je naprawi i sprawa cichnie.\r\n\r\n342\r\n00:19:20,785 --> 00:19:22,996\r\nPieni\u0119dzy wystarcza\u0142o\r\nwi\u0119c na styk,\r\n\r\n343\r\n00:19:23,079 --> 00:19:26,416\r\nale wtedy m\xF3j ma\u0142y\r\nzachorowa\u0142 na astm\u0119.\r\n\r\n344\r\n00:19:27,083 --> 00:19:31,212\r\nLekarz kaza\u0142 zamkn\u0105\u0107\r\nwszystkie okna w mieszkaniu,\r\n\r\n345\r\n00:19:31,296 --> 00:19:33,006\r\nby nie wlatywa\u0142y zanieczyszczenia,\r\n\r\n346\r\n00:19:33,089 --> 00:19:36,509\r\nale okno w salonie by\u0142o\r\nzepsute przez 7 miesi\u0119cy.\r\n\r\n347\r\n00:19:37,093 --> 00:19:38,887\r\nM\xF3j syn ma zaledwie 3 lata.\r\n\r\n348\r\n00:19:39,012 --> 00:19:41,097\r\nJego \u015Bwiszcz\u0105cy oddech w nocy...\r\n\r\n349\r\n00:19:41,890 --> 00:19:44,392\r\nNiepewno\u015B\u0107, czy w og\xF3le\r\ndo\u017Cyje rana...\r\n\r\n350\r\n00:19:44,517 --> 00:19:47,687\r\nSkoro temu w\u0142a\u015Bcicielowi slums\xF3w\r\nzale\u017Cy tylko na kasie,\r\n\r\n351\r\n00:19:47,812 --> 00:19:51,399\r\npostanowi\u0142am przesta\u0107 p\u0142aci\u0107,\r\na\u017C naprawi okno i ogrzewanie.\r\n\r\n352\r\n00:19:51,483 --> 00:19:53,318\r\nTak mi przykro, Sofio.\r\n\r\n353\r\n00:19:53,818 --> 00:19:56,112\r\n- To straszne.\r\n- Naprawd\u0119.\r\n\r\n354\r\n00:19:56,488 --> 00:19:58,907\r\nNikt nie powinien\r\ntak mieszka\u0107.\r\n\r\n355\r\n00:19:58,990 --> 00:20:02,202\r\nPoniewa\u017C z\u0142ama\u0142a\u015B umow\u0119 najmu\r\nmo\u017Ce ci\u0119 wyeksmitowa\u0107,\r\n\r\n356\r\n00:20:02,285 --> 00:20:06,206\r\ndlatego by kontynuowa\u0107 t\u0119 spraw\u0119,\r\nmusisz sp\u0142aci\u0107 zaleg\u0142o\u015B\u0107.\r\n\r\n357\r\n00:20:06,289 --> 00:20:07,916\r\nNie mog\u0119.\r\n\r\n358\r\n00:20:07,999 --> 00:20:09,584\r\nNie masz tych pieni\u0119dzy.\r\n\r\n359\r\n00:20:09,793 --> 00:20:12,212\r\nMusia\u0142am kupi\u0107 koce i farelki.\r\n\r\n360\r\n00:20:12,587 --> 00:20:15,507\r\nW niekt\xF3re noce AJ\r\noddycha\u0142 tak ci\u0119\u017Cko,\r\n\r\n361\r\n00:20:15,590 --> 00:20:17,592\r\n\u017Ce musieli\u015Bmy i\u015B\u0107 do motelu.\r\n\r\n362\r\n00:20:17,717 --> 00:20:21,388\r\nNie martw si\u0119. Nie do\u015B\u0107,\r\n\u017Ce naprawimy twoje okna,\r\n\r\n363\r\n00:20:21,513 --> 00:20:24,099\r\nto obiecuj\u0119 ci,\r\n\u017Ce utrzymasz to mieszkanie.\r\n\r\n364\r\n00:20:25,600 --> 00:20:27,185\r\nDzi\u0119kuj\u0119.\r\n\r\n365\r\n00:20:34,484 --> 00:20:35,694\r\nZwariowa\u0142a\u015B?\r\n\r\n366\r\n00:20:36,820 --> 00:20:37,779\r\nO co chodzi?\r\n\r\n367\r\n00:20:37,904 --> 00:20:40,907\r\n- Chcesz rozwi\u0105za\u0107 jej problem?\r\n- Zamierzam.\r\n\r\n368\r\n00:20:40,990 --> 00:20:43,702\r\nNie w tym rzecz.\r\nNawet je\u015Bli my\u015Blisz, \u017Ce zdo\u0142asz,\r\n\r\n369\r\n00:20:43,785 --> 00:20:46,204\r\nnie wolno dawa\u0107\r\nklientowi takiej gwarancji.\r\n\r\n370\r\n00:20:47,580 --> 00:20:48,581\r\nWiesz co?\r\n\r\n371\r\n00:20:48,790 --> 00:20:51,418\r\nMo\u017Ce tobie na nich\r\nnie zale\u017Cy, ale mi tak.\r\n\r\n372\r\n00:20:51,501 --> 00:20:53,795\r\nB\u0119d\u0119 walczy\u0107,\r\nby zachowali sw\xF3j dom\r\n\r\n373\r\n00:20:53,920 --> 00:20:57,298\r\n- i nie wstydz\u0119 si\u0119 o tym m\xF3wi\u0107.\r\n- To nie chodzi o trosk\u0119!\r\n\r\n374\r\n00:20:57,382 --> 00:20:59,718\r\nTo prawdziwe \u017Cycie.\r\nM\xF3wi\u0142em ci,\r\n\r\n375\r\n00:20:59,801 --> 00:21:02,512\r\n\u017Ce druga strona czai si\u0119,\r\nby wykorzysta\u0107 nasze b\u0142\u0119dy.\r\n\r\n376\r\n00:21:02,595 --> 00:21:04,806\r\nJe\u015Bli za du\u017Co obiecasz\r\ni zawiedziesz,\r\n\r\n377\r\n00:21:04,889 --> 00:21:07,100\r\ntylko ich bardziej narazisz\r\nna g\xF3wnian\u0105 ofert\u0119.\r\n\r\n378\r\n00:21:07,183 --> 00:21:09,185\r\nW kancelarii nauczyli ci\u0119\r\nwciskania kitu?\r\n\r\n379\r\n00:21:09,310 --> 00:21:11,396\r\n- S\u0142ucham?\r\n- Masz ich w dupie.\r\n\r\n380\r\n00:21:11,479 --> 00:21:15,692\r\nNathan i ca\u0142a reszta tutaj\r\nkupuj\u0105 twoje brednie,\r\n\r\n381\r\n00:21:15,817 --> 00:21:17,902\r\nale ja wiem,\r\ndlaczego tu jeste\u015B.\r\n\r\n382\r\n00:21:19,404 --> 00:21:22,282\r\nTeraz rozumiem.\r\nSprawdzi\u0142a\u015B mnie.\r\n\r\n383\r\n00:21:22,407 --> 00:21:25,618\r\nNie musia\u0142am.\r\nS\u0142ysza\u0142am twoj\u0105 histori\u0119 sto razy.\r\n\r\n384\r\n00:21:25,702 --> 00:21:27,412\r\nNie mog\u0142e\u015B wr\xF3ci\u0107\r\ndo ekstraklasy,\r\n\r\n385\r\n00:21:27,495 --> 00:21:30,915\r\nwi\u0119c zahaczy\u0142e\u015B si\u0119 tutaj,\r\na\u017C wymy\u015Blisz, jak w\u015Blizgn\u0105\u0107 si\u0119\r\n\r\n386\r\n00:21:30,999 --> 00:21:33,585\r\nz powrotem do kancelarii,\r\nkt\xF3ra ma w dupie ludzi.\r\n\r\n387\r\n00:21:36,379 --> 00:21:38,214\r\nWiem, \u017Ce mam racj\u0119.\r\n\r\n388\r\n00:21:39,591 --> 00:21:41,509\r\nZachowaj dla siebie\r\nswoje m\u0105dro\u015Bci,\r\n\r\n389\r\n00:21:41,593 --> 00:21:44,095\r\nbo ja chc\u0119 naprawd\u0119\r\npomaga\u0107 ludziom,\r\n\r\n390\r\n00:21:44,179 --> 00:21:47,307\r\na nie przypomina\u0107 im,\r\njak niedobry jest \u015Bwiat.\r\n\r\n391\r\n00:21:54,189 --> 00:21:56,691\r\n- Biuro Harveya Spectera.\r\n- Donna, to ja.\r\n\r\n392\r\n00:21:59,402 --> 00:22:02,113\r\nB\u0119dziesz zaraz?\r\nKto\u015B na ciebie czeka.\r\n\r\n393\r\n00:22:02,197 --> 00:22:03,990\r\nJeszcze nie wr\xF3ci\u0142em.\r\n\r\n394\r\n00:22:04,115 --> 00:22:06,284\r\n- Mia\u0142a\u015B racj\u0119.\r\n- Na temat?\r\n\r\n395\r\n00:22:07,202 --> 00:22:10,914\r\nGdybym nie przyszed\u0142 na jego pogrzeb,\r\nnigdy bym sobie nie wybaczy\u0142.\r\n\r\n396\r\n00:22:13,708 --> 00:22:16,211\r\n\u017Bycz\u0119 udanego\r\ngodzenia si\u0119 z mam\u0105.\r\n\r\n397\r\n00:22:16,795 --> 00:22:17,796\r\nSk\u0105d wiedzia\u0142a\u015B?\r\n\r\n398\r\n00:22:18,088 --> 00:22:21,007\r\nBo jeszcze nigdy w \u017Cyciu\r\nnie sp\xF3\u017Ani\u0142e\u015B si\u0119 na lot.\r\n\r\n399\r\n00:22:21,091 --> 00:22:24,886\r\nI zosta\u0142by\u015B tylko wtedy,\r\ngdyby sz\u0142o lepiej, ni\u017C my\u015Bla\u0142e\u015B.\r\n\r\n400\r\n00:22:27,097 --> 00:22:28,098\r\nDzi\u0119ki, Donna.\r\n\r\n401\r\n00:22:28,306 --> 00:22:31,309\r\nNie musisz dzi\u0119kowa\u0107.\r\nCiesz\u0119 si\u0119, \u017Ce tam jeste\u015B.\r\n\r\n402\r\n00:22:41,319 --> 00:22:44,406\r\nWiem, co my\u015Blisz.\r\nJak mog\u0142a nie wiedzie\u0107?\r\n\r\n403\r\n00:22:44,906 --> 00:22:46,616\r\n- Przyzna\u0142em si\u0119.\r\n- Wiem.\r\n\r\n404\r\n00:22:46,700 --> 00:22:50,495\r\nAle gdy przekaza\u0142em CV Nathanowi,\r\nm\xF3wi\u0142, by nikomu nie powtarza\u0107.\r\n\r\n405\r\n00:22:51,204 --> 00:22:53,915\r\n- Dlaczego?\r\n- Nie chcia\u0142, by ci\u0119 os\u0105dzali.\r\n\r\n406\r\n00:22:53,998 --> 00:22:56,292\r\nZak\u0142ada\u0142em, \u017Ce wszyscy\r\ni tak ju\u017C wiedz\u0105.\r\n\r\n407\r\n00:22:56,418 --> 00:22:57,585\r\nSk\u0105d ta my\u015Bl?\r\n\r\n408\r\n00:22:58,420 --> 00:22:59,879\r\nBo opisali to w \"The Journal\".\r\n\r\n409\r\n00:23:00,005 --> 00:23:03,883\r\nMy tutaj nie czytamy \"The Journal\",\r\ntylko \"The Huffington Post\".\r\n\r\n410\r\n00:23:05,802 --> 00:23:07,595\r\nCzyli wszyscy my\u015Bl\u0105\r\nto co Marissa?\r\n\r\n411\r\n00:23:07,679 --> 00:23:12,100\r\nNie wiem, ale nie powiedzia\u0142bym\r\no tobie niezale\u017Cnie od decyzji Nathana.\r\n\r\n412\r\n00:23:13,685 --> 00:23:15,311\r\nTo nie moja opowie\u015B\u0107.\r\n\r\n413\r\n00:23:15,687 --> 00:23:16,980\r\nDzi\u0119ki, Oliver.\r\n\r\n414\r\n00:23:54,100 --> 00:23:56,603\r\nZrobi\u0142a\u015B sw\xF3j s\u0142awny\r\nplacek truskawkowy.\r\n\r\n415\r\n00:23:57,312 --> 00:23:58,480\r\nJego ulubiony.\r\n\r\n416\r\n00:23:59,481 --> 00:24:01,691\r\nMo\u017Ce zapomnia\u0142a\u015B,\r\nale m\xF3j tak\u017Ce.\r\n\r\n417\r\n00:24:01,900 --> 00:24:03,193\r\nNie zapomnia\u0142am.\r\n\r\n418\r\n00:24:06,404 --> 00:24:07,405\r\n\u0141adna mowa.\r\n\r\n419\r\n00:24:08,782 --> 00:24:09,783\r\nDzi\u0119kuj\u0119.\r\n\r\n420\r\n00:24:16,706 --> 00:24:18,583\r\nGdy zmarli moi rodzice,\r\n\r\n421\r\n00:24:18,792 --> 00:24:20,919\r\nczu\u0142am si\u0119 sama na \u015Bwiecie.\r\n\r\n422\r\n00:24:21,711 --> 00:24:23,380\r\nNie chc\u0119, by\u015B ty tak czu\u0142.\r\n\r\n423\r\n00:24:23,797 --> 00:24:25,215\r\nChc\u0119, by\u015B wiedzia\u0142,\r\n\r\n424\r\n00:24:25,882 --> 00:24:28,885\r\n\u017Ce niezale\u017Cnie czy chcesz mnie\r\nw swoim \u017Cyciu,\r\n\r\n425\r\n00:24:29,386 --> 00:24:31,888\r\nzawsze b\u0119dziesz mia\u0142\r\nkochaj\u0105c\u0105 matk\u0119,\r\n\r\n426\r\n00:24:32,681 --> 00:24:34,891\r\nkt\xF3ra zawsze b\u0119dzie ci\u0119 wspiera\u0107.\r\n\r\n427\r\n00:24:37,394 --> 00:24:38,520\r\nWiem o tym.\r\n\r\n428\r\n00:24:42,190 --> 00:24:45,193\r\nHarvey...\r\nmoje kondolencje.\r\n\r\n429\r\n00:24:48,196 --> 00:24:51,282\r\nRobisz sobie jaja?\r\nZaprosi\u0142a\u015B go tutaj?\r\n\r\n430\r\n00:24:51,783 --> 00:24:54,911\r\n- Naprawd\u0119 mia\u0142a\u015B czelno\u015B\u0107?\r\n- To m\xF3j partner.\r\n\r\n431\r\n00:24:54,994 --> 00:24:56,996\r\nO ka\u017Cdym, z kt\xF3rym\r\nzdradzi\u0142a\u015B tat\u0119 tak m\xF3wisz?\r\n\r\n432\r\n00:24:57,080 --> 00:25:00,417\r\nNie odzywaj si\u0119 tak do mnie.\r\nWci\u0105\u017C jeste\u015Bmy z Bobbym razem.\r\n\r\n433\r\n00:25:00,500 --> 00:25:02,711\r\n- Mam to w dupie.\r\n- Nie powiniene\u015B,\r\n\r\n434\r\n00:25:02,794 --> 00:25:04,295\r\nbo pokazuj\u0119 tym, jaki jestem.\r\n\r\n435\r\n00:25:04,379 --> 00:25:06,715\r\nJeste\u015B dupkiem\r\ni nie masz prawa tu by\u0107\r\n\r\n436\r\n00:25:06,798 --> 00:25:08,508\r\nw dniu pogrzebu ojca.\r\n\r\n437\r\n00:25:08,591 --> 00:25:12,887\r\n- Harvey. Mieli\u015Bmy w\u0142a\u015Bnie...\r\n- Mam to gdzie\u015B.\r\n\r\n438\r\n00:25:13,013 --> 00:25:15,098\r\nPlujesz ojcu w twarz,\r\nsprowadzaj\u0105c go tu.\r\n\r\n439\r\n00:25:15,181 --> 00:25:16,891\r\nW porz\u0105dku, Lily.\r\nP\xF3jd\u0119 sobie.\r\n\r\n440\r\n00:25:17,017 --> 00:25:18,393\r\nR\xF3b co chcesz.\r\n\r\n441\r\n00:25:18,518 --> 00:25:21,604\r\nJa tu decyduj\u0119 i m\xF3wi\u0119,\r\n\u017Ce on tutaj zostanie.\r\n\r\n442\r\n00:25:21,688 --> 00:25:23,606\r\nMo\u017Ce nie chcesz tego s\u0142ysze\u0107,\r\n\r\n443\r\n00:25:23,690 --> 00:25:26,109\r\nale jego ojciec\r\ndawno go zaakceptowa\u0142.\r\n\r\n444\r\n00:25:26,192 --> 00:25:28,611\r\nChcesz zaj\u0105\u0107 jego miejsce?\r\nDroga wolna.\r\n\r\n445\r\n00:25:28,695 --> 00:25:31,614\r\nMo\u017Ce kiedy\u015B to ty\r\nnakryjesz j\u0105 z innym\r\n\r\n446\r\n00:25:31,698 --> 00:25:33,992\r\ni poczujesz to,\r\nco m\xF3j ojciec wtedy.\r\n\r\n447\r\n00:25:34,117 --> 00:25:36,911\r\nR\xF3\u017Cnica b\u0119dzie jednak\r\npolega\u0107 na tym,\r\n\r\n448\r\n00:25:36,995 --> 00:25:39,998\r\n\u017Ce wtedy nie b\u0119d\u0119 zmuszony\r\ndo dochowania sekretu.\r\n\r\n449\r\n00:25:50,800 --> 00:25:52,093\r\nCo maj\u0105 dobrego?\r\n\r\n450\r\n00:25:52,719 --> 00:25:54,304\r\nW\u0142a\u015Bciwie to wszystko.\r\n\r\n451\r\n00:25:55,180 --> 00:25:56,514\r\nCz\u0119sto tu jadasz?\r\n\r\n452\r\n00:25:57,098 --> 00:25:58,099\r\nOczywi\u015Bcie.\r\n\r\n453\r\n00:26:07,901 --> 00:26:10,111\r\nTo troch\u0119 dziwne, prawda?\r\n\r\n454\r\n00:26:10,195 --> 00:26:11,279\r\nTroszeczk\u0119.\r\n\r\n455\r\n00:26:12,113 --> 00:26:14,282\r\nTo od czego zaczniemy?\r\n\r\n456\r\n00:26:18,912 --> 00:26:22,290\r\nZaczn\u0119 od tego,\r\n\u017Ce jestem got\xF3w ci wybaczy\u0107.\r\n\r\n457\r\n00:26:25,794 --> 00:26:27,420\r\nDlaczego akurat teraz?\r\n\r\n458\r\n00:26:27,587 --> 00:26:31,299\r\nKto\u015B bardzo dla mnie wa\u017Cny\r\nprzekona\u0142 mnie, \u017Ce ju\u017C czas.\r\n\r\n459\r\n00:26:32,217 --> 00:26:33,510\r\nKimkolwiek jest,\r\n\r\n460\r\n00:26:35,387 --> 00:26:37,180\r\nciesz\u0119 si\u0119, \u017Ce to zrobi\u0142a.\r\n\r\n461\r\n00:26:38,181 --> 00:26:39,307\r\nTo dobrze.\r\n\r\n462\r\n00:26:39,599 --> 00:26:41,184\r\nMusisz wiedzie\u0107, \u017Ce...\r\n\r\n463\r\n00:26:42,018 --> 00:26:43,603\r\nja te\u017C ci wybaczy\u0142am.\r\n\r\n464\r\n00:26:45,480 --> 00:26:46,898\r\nTy mi? Co takiego?\r\n\r\n465\r\n00:26:46,981 --> 00:26:49,901\r\nZa to ostatnim razem\r\ni nieobecno\u015B\u0107 przez lata.\r\n\r\n466\r\n00:26:49,984 --> 00:26:51,319\r\nMia\u0142em dobry pow\xF3d.\r\n\r\n467\r\n00:26:51,403 --> 00:26:53,780\r\nGdy by\u0142e\u015B m\u0142odszy, tak,\r\n\r\n468\r\n00:26:53,905 --> 00:26:56,991\r\nale jeste\u015B ju\u017C doros\u0142y\r\ni to od d\u0142ugiego czasu.\r\n\r\n469\r\n00:26:57,283 --> 00:26:59,285\r\nNie wierz\u0119, \u017Ce zwalasz to na mnie.\r\n\r\n470\r\n00:26:59,411 --> 00:27:01,996\r\nNiczego nie zwalam, Harvey.\r\n\r\n471\r\n00:27:03,498 --> 00:27:06,418\r\nNie wiesz, jak to jest,\r\ngdy twoje dziecko\r\n\r\n472\r\n00:27:06,501 --> 00:27:08,712\r\nzachowuje si\u0119,\r\njakby\u015B nie istnia\u0142.\r\n\r\n473\r\n00:27:08,795 --> 00:27:13,091\r\nA ty nie wiesz, jak to jest,\r\ngdy matka ka\u017Ce ci dla siebie k\u0142ama\u0107!\r\n\r\n474\r\n00:27:13,508 --> 00:27:16,094\r\nHarvey, nigdy nie powinnam\r\nby\u0142a tego robi\u0107\r\n\r\n475\r\n00:27:16,219 --> 00:27:20,015\r\ni pr\xF3buj\u0119 ci\u0119 za to przeprosi\u0107\r\nod ponad 20 lat,\r\n\r\n476\r\n00:27:20,098 --> 00:27:22,308\r\nale do wczoraj dawa\u0142e\u015B sygna\u0142y,\r\n\r\n477\r\n00:27:22,392 --> 00:27:25,311\r\n\u017Ce nie obchodzi ci\u0119\r\nnawet czy \u017Cyj\u0119, czy nie.\r\n\r\n478\r\n00:27:25,395 --> 00:27:27,897\r\n- Bo nie obchodzi\u0142o.\r\n- To zrozum,\r\n\r\n479\r\n00:27:27,981 --> 00:27:30,400\r\n\u017Ce co\u015B takiego mo\u017Ce\r\nniszczy\u0107 cz\u0142owieka.\r\n\r\n480\r\n00:27:30,483 --> 00:27:33,611\r\nZrozumia\u0142em, \u017Ce to spotkanie\r\nby\u0142o jednym wielkim b\u0142\u0119dem,\r\n\r\n481\r\n00:27:33,695 --> 00:27:37,282\r\nbo dalej jeste\u015B samolubn\u0105,\r\negocentryczn\u0105, niewiern\u0105 kobiet\u0105.\r\n\r\n482\r\n00:27:37,407 --> 00:27:41,202\r\nA ty wci\u0105\u017C jeste\u015B dziecinnym\r\ni poch\u0142oni\u0119tym sob\u0105 m\u0119\u017Cczyzn\u0105.\r\n\r\n483\r\n00:27:41,286 --> 00:27:42,579\r\nI czyja to wina?\r\n\r\n484\r\n00:27:43,288 --> 00:27:46,082\r\nNo pewnie, odejd\u017A.\r\nTo robisz najlepiej.\r\n\r\n485\r\n00:27:46,207 --> 00:27:48,793\r\n- Co powiedzia\u0142a\u015B?\r\n- Sp\xF3jrz na siebie, Harvey,\r\n\r\n486\r\n00:27:48,918 --> 00:27:51,504\r\nbo mo\u017Ce i zaniedba\u0142am\r\nw przesz\u0142o\u015Bci rodzin\u0119,\r\n\r\n487\r\n00:27:51,588 --> 00:27:54,507\r\nale ty robisz to,\r\nodk\u0105d tylko si\u0119gam pami\u0119ci\u0105.\r\n\r\n488\r\n00:28:12,692 --> 00:28:17,697\r\n- Co mam powiedzie\u0107 dzieciom?\r\n- \u017Be musia\u0142em jecha\u0107 do pracy.\r\n\r\n489\r\n00:28:18,198 --> 00:28:19,491\r\nMam k\u0142ama\u0107?\r\n\r\n490\r\n00:28:19,699 --> 00:28:23,620\r\nMia\u0142a czelno\u015B\u0107 \u017C\u0105da\u0107\r\node mnie przeprosin.\r\n\r\n491\r\n00:28:24,412 --> 00:28:27,082\r\nJe\u015Bli to ona,\r\nnie mam jej nic do powiedzenia.\r\n\r\n492\r\n00:28:27,290 --> 00:28:31,920\r\nSam jej to powiedz.\r\nNie jestem ju\u017C waszym po\u015Brednikiem.\r\n\r\n493\r\n00:28:34,589 --> 00:28:36,299\r\n- Bobby...\r\n- Gdzie on jest?\r\n\r\n494\r\n00:28:36,508 --> 00:28:38,510\r\n- To nie pora...\r\n- Ty sukinsynie!\r\n\r\n495\r\n00:28:38,718 --> 00:28:41,888\r\nWr\xF3ci\u0142e\u015B do naszego \u017Cycia\r\nrozdrapywa\u0107 rany?\r\n\r\n496\r\n00:28:42,097 --> 00:28:42,681\r\nWaszego \u017Cycia?\r\n\r\n497\r\n00:28:42,889 --> 00:28:45,600\r\nSpieprzaj, nim zrobi\u0119 co\u015B,\r\nczego po\u017Ca\u0142ujesz.\r\n\r\n498\r\n00:28:45,809 --> 00:28:48,687\r\nJu\u017C to zrobi\u0142e\u015B!\r\n\u017Ba\u0142uj\u0119, \u017Ce rozmawia\u0142e\u015B z matk\u0105!\r\n\r\n499\r\n00:28:48,895 --> 00:28:53,483\r\nPrzesta\u0142a ni\u0105 by\u0107,\r\ngdy zdradza\u0142a z tob\u0105 ojca!\r\n\r\n500\r\n00:28:53,692 --> 00:28:56,903\r\nMo\u017Ce nie uwa\u017Casz jej za matk\u0119,\r\nale to moja \u017Cona.\r\n\r\n501\r\n00:28:57,112 --> 00:28:59,781\r\nKtokolwiek b\u0119dzie ni\u0105\r\ntak pomiata\u0107, oberwie!\r\n\r\n502\r\n00:28:59,989 --> 00:29:00,990\r\nUderzysz mnie?\r\n\r\n503\r\n00:29:01,199 --> 00:29:02,200\r\n- Harvey...\r\n- Nie!\r\n\r\n504\r\n00:29:02,409 --> 00:29:06,413\r\nNiech wyrzuci to z siebie,\r\ntak jak ja w tej chwili.\r\n\r\n505\r\n00:29:07,205 --> 00:29:09,708\r\nNie przyszed\u0142em si\u0119 bi\u0107.\r\n\r\n506\r\n00:29:10,000 --> 00:29:11,418\r\nTylko powiedzie\u0107,\r\n\r\n507\r\n00:29:11,584 --> 00:29:16,214\r\n\u017Ce nie widzia\u0142em twojej matki\r\ntak podekscytowanej, jak gdy sz\u0142a na kolacj\u0119.\r\n\r\n508\r\n00:29:16,506 --> 00:29:21,011\r\nChcia\u0142a w ko\u0144cu pogodzi\u0107 si\u0119\r\nz synem i wszystko zepsu\u0142e\u015B.\r\n\r\n509\r\n00:29:21,219 --> 00:29:22,679\r\nOdebra\u0142e\u015B jej rado\u015B\u0107.\r\n\r\n510\r\n00:29:22,887 --> 00:29:24,681\r\nJe\u015Bli odejdziesz,\r\nnie wracaj.\r\n\r\n511\r\n00:29:24,889 --> 00:29:29,394\r\nBez ciebie ta rodzina\r\nlepiej funkcjonowa\u0142a.\r\n\r\n512\r\n00:29:37,693 --> 00:29:40,696\r\n- Rachel, musisz mi pom\xF3c.\r\n- O co chodzi?\r\n\r\n513\r\n00:29:40,905 --> 00:29:43,908\r\nTeddy Doyle musi skorzysta\u0107\r\nz dochod\xF3w firmy,\r\n\r\n514\r\n00:29:44,116 --> 00:29:45,701\r\nkt\xF3re umie\u015Bci\u0142 w funduszu,\r\nby unikn\u0105\u0107 podatku,\r\n\r\n515\r\n00:29:45,910 --> 00:29:48,079\r\ni musi to zrobi\u0107 bez nara\u017Cania\r\nsi\u0119 na jego zap\u0142at\u0119.\r\n\r\n516\r\n00:29:48,287 --> 00:29:50,414\r\nLouis, powa\u017Cnie?\r\nTo nie Dubaj.\r\n\r\n517\r\n00:29:50,581 --> 00:29:54,502\r\n- Tak si\u0119 da si\u0119.\r\n- Wiem, ale ma si\u0119 da\u0107.\r\n\r\n518\r\n00:29:56,212 --> 00:29:59,006\r\n- Daj akta. Co\u015B wymy\u015Bl\u0119.\r\n- Dzi\u0119ki.\r\n\r\n519\r\n00:29:59,215 --> 00:30:02,510\r\n- Jestem z ciebie dumna.\r\n- Z jakiego powodu?\r\n\r\n520\r\n00:30:02,718 --> 00:30:06,013\r\nTeddy Doyle to klient Harveya,\r\na s\u0142ysza\u0142am, co m\xF3wi\u0142e\u015B.\r\n\r\n521\r\n00:30:06,180 --> 00:30:09,016\r\nZatem musia\u0142e\u015B mu wybaczy\u0107.\r\n\r\n522\r\n00:30:09,600 --> 00:30:10,893\r\nWybaczy\u0142em.\r\n\r\n523\r\n00:30:11,602 --> 00:30:13,980\r\nPo\u015Bpiesz si\u0119 z tym.\r\n\r\n524\r\n00:30:19,694 --> 00:30:21,988\r\nChodzi o Habermana.\r\n\r\n525\r\n00:30:22,196 --> 00:30:25,992\r\n- Straci\u0142 prac\u0119, a teraz samoch\xF3d...\r\n- Umowa upad\u0142o\u015Bciowa.\r\n\r\n526\r\n00:30:26,200 --> 00:30:28,995\r\n- Pogadamy p\xF3\u017Aniej?\r\n- Dobra.\r\n\r\n527\r\n00:30:31,998 --> 00:30:34,584\r\nMog\u0119 prosi\u0107 o uwag\u0119?\r\n\r\n528\r\n00:30:36,210 --> 00:30:37,587\r\nMarissa...\r\n\r\n529\r\n00:30:39,005 --> 00:30:40,882\r\nTo zajmie chwil\u0119.\r\n\r\n530\r\n00:30:42,717 --> 00:30:46,512\r\nNathan wspomnia\u0142 o pracy\r\nw Pearson/Specter/Litt.\r\n\r\n531\r\n00:30:46,679 --> 00:30:50,391\r\nNie powiedzia\u0142,\r\ndlaczego tam ju\u017C nie pracuj\u0119.\r\n\r\n532\r\n00:30:50,600 --> 00:30:54,979\r\nNie chodzi o to,\r\n\u017Ce prawo sp\xF3\u0142ek nie by\u0142o dla mnie.\r\n\r\n533\r\n00:30:55,188 --> 00:30:57,899\r\nW og\xF3le nie by\u0142em prawnikiem.\r\n\r\n534\r\n00:30:59,817 --> 00:31:01,819\r\nPoczytajcie sobie.\r\n\r\n535\r\n00:31:04,697 --> 00:31:08,409\r\nTo o mnie i o tym,\r\nco zrobi\u0142em.\r\n\r\n536\r\n00:31:08,618 --> 00:31:12,079\r\nTe artyku\u0142y s\u0105 prawdziwe.\r\n\r\n537\r\n00:31:12,496 --> 00:31:15,708\r\nNie powinno mnie by\u0107\r\nw Pearson/Specter.\r\n\r\n538\r\n00:31:16,709 --> 00:31:20,588\r\nNie chodzi\u0142o wy\u0142\u0105cznie\r\no brak uprawnie\u0144.\r\n\r\n539\r\n00:31:20,796 --> 00:31:24,008\r\nChcia\u0142em zosta\u0107 prawnikiem,\r\n\r\n540\r\n00:31:24,217 --> 00:31:28,679\r\naby pomaga\u0107 takim ludziom,\r\njak klienci tej poradni.\r\n\r\n541\r\n00:31:29,013 --> 00:31:33,184\r\nB\u0142\u0119dnie zak\u0142ada\u0142em,\r\n\u017Ce o tym wiecie.\r\n\r\n542\r\n00:31:33,392 --> 00:31:36,312\r\nNathan pr\xF3bowa\u0142\r\nmnie chroni\u0107,\r\n\r\n543\r\n00:31:36,479 --> 00:31:40,983\r\nlecz zale\u017Cy mi\r\nna waszym szacunku.\r\n\r\n544\r\n00:31:41,901 --> 00:31:45,279\r\nJe\u015Bli macie pytania,\r\nmo\u017Cemy rozmawia\u0107.\r\n\r\n545\r\n00:31:45,488 --> 00:31:47,782\r\nJe\u015Bli nie, wracajcie do pracy.\r\n\r\n546\r\n00:31:51,786 --> 00:31:52,912\r\nMike...\r\n\r\n547\r\n00:31:54,705 --> 00:31:56,707\r\nNie musia\u0142e\u015B tego robi\u0107.\r\n\r\n548\r\n00:31:58,209 --> 00:32:00,503\r\nMusia\u0142em.\r\n\r\n549\r\n00:32:07,385 --> 00:32:10,805\r\nWci\u0105\u017C tutaj jeste\u015B.\r\n\r\n550\r\n00:32:11,013 --> 00:32:13,808\r\nNajbli\u017Cszy lot za dwie godziny.\r\n\r\n551\r\n00:32:14,016 --> 00:32:16,102\r\nTen dupek ju\u017C mnie\r\nnie sprowokuje.\r\n\r\n552\r\n00:32:16,310 --> 00:32:21,107\r\n- Je\u017Celi chodzi o wczorajsze...\r\n- Nie t\u0142umacz go, Marcus.\r\n\r\n553\r\n00:32:21,315 --> 00:32:22,817\r\nNie t\u0142umacz\u0119.\r\n\r\n554\r\n00:32:22,984 --> 00:32:27,405\r\n- Mia\u0142 prawo ci to wygarn\u0105\u0107.\r\n- Trzymasz jego stron\u0119?\r\n\r\n555\r\n00:32:27,613 --> 00:32:30,992\r\nTrzymam stron\u0119 rodziny,\r\nkt\xF3rej nie by\u0142e\u015B cz\u0119\u015Bci\u0105.\r\n\r\n556\r\n00:32:31,200 --> 00:32:34,620\r\n- Daj spok\xF3j!\r\n- Nie chcia\u0142by\u015B t\u0142umaczy\u0107 pi\u0119ciolatce,\r\n\r\n557\r\n00:32:34,787 --> 00:32:37,707\r\ndlaczego babcia\r\ni wujek Harvey si\u0119 unikaj\u0105.\r\n\r\n558\r\n00:32:37,915 --> 00:32:41,419\r\nA w takim po\u0142o\u017Ceniu\r\nmnie stawia\u0142e\u015B.\r\n\r\n559\r\n00:32:41,586 --> 00:32:45,798\r\nW czasie twojej nieobecno\u015Bci\r\nwiele si\u0119 tutaj dzia\u0142o.\r\n\r\n560\r\n00:32:46,007 --> 00:32:50,720\r\n- Wiem, co mnie omin\u0119\u0142o.\r\n- Nie chodzi o urodziny.\r\n\r\n561\r\n00:32:56,184 --> 00:33:00,396\r\n- Kilka lat temu znowu\r\nzachorowa\u0142em. - Co?\r\n\r\n562\r\n00:33:00,980 --> 00:33:05,985\r\n- Dlaczego nie powiedzia\u0142e\u015B?\r\n- \u017Beby\u015Bmy znowu si\u0119 k\u0142\xF3cili?\r\n\r\n563\r\n00:33:06,194 --> 00:33:07,486\r\nPos\u0142uchaj.\r\n\r\n564\r\n00:33:07,695 --> 00:33:11,782\r\nWiesz, kto mi pomaga\u0142\r\nw czasie leczenia?\r\n\r\n565\r\n00:33:11,991 --> 00:33:17,705\r\nMama gotowa\u0142a codziennie obiady,\r\na Bobby wozi\u0142 dzieci do szko\u0142y.\r\n\r\n566\r\n00:33:17,914 --> 00:33:22,793\r\nI mo\u017Ce masz ich za potwory,\r\n\r\n567\r\n00:33:23,002 --> 00:33:27,507\r\nale dla moich dzieci s\u0105\r\nbabci\u0105 i dziadkiem.\r\n\r\n568\r\n00:33:28,007 --> 00:33:31,093\r\nNie spodoba\u0142y ci si\u0119\r\ns\u0142owa Bobby'ego,\r\n\r\n569\r\n00:33:31,302 --> 00:33:35,598\r\nale bez wzgl\u0119du na wszystko,\r\ntaka jest prawda, Harvey.\r\n\r\n570\r\n00:33:42,605 --> 00:33:43,814\r\nMasz chwil\u0119?\r\n\r\n571\r\n00:33:44,899 --> 00:33:45,900\r\nPewnie.\r\n\r\n572\r\n00:33:46,609 --> 00:33:49,111\r\nPrzepraszam.\r\n\u0179le ci\u0119 oceni\u0142am.\r\n\r\n573\r\n00:33:49,320 --> 00:33:52,615\r\nNie szkodzi.\r\nM\xF3wi\u0142em, \u017Ce gramy razem.\r\n\r\n574\r\n00:33:52,782 --> 00:33:56,702\r\nDok\u0142adnie i nie powinnam\r\nobiecywa\u0107 Sofii wygranej.\r\n\r\n575\r\n00:33:56,911 --> 00:34:01,082\r\nAle m\xF3wi\u0142am, \u017Ce pomog\u0119\r\ni chyba co\u015B mam.\r\n\r\n576\r\n00:34:01,290 --> 00:34:05,586\r\nNiewa\u017Cne, na co si\u0119 powo\u0142asz.\r\nJe\u015Bli nie sp\u0142aci czynszu...\r\n\r\n577\r\n00:34:05,795 --> 00:34:07,713\r\nSprawa Troy przeciw Suffolk.\r\n\r\n578\r\n00:34:07,880 --> 00:34:10,883\r\nMusimy udowodni\u0107,\r\n\u017Ce zg\u0142asza\u0142a problem z oknami...\r\n\r\n579\r\n00:34:11,092 --> 00:34:13,386\r\nNie udowodnimy.\r\nNie ma nic na pi\u015Bmie.\r\n\r\n580\r\n00:34:13,594 --> 00:34:16,597\r\n- Ale mamy bilingi.\r\n- Nie dowodz\u0105, \u017Ce zg\u0142asza\u0142a problem.\r\n\r\n581\r\n00:34:16,806 --> 00:34:21,018\r\nOsoby, kt\xF3re przez dwa miesi\u0105ce\r\ndzwoni\u0105 trzy razy tygodniowo,\r\n\r\n582\r\n00:34:21,310 --> 00:34:23,688\r\nto osoby zg\u0142aszaj\u0105ce problem.\r\n\r\n583\r\n00:34:26,983 --> 00:34:31,404\r\nRachunki z motelu za ogrzewane\r\npomieszczenia zast\u0119puj\u0105 czynsz.\r\n\r\n584\r\n00:34:31,487 --> 00:34:35,700\r\nNie tylko uniknie eksmisji,\r\nale i op\u0142aty czynszu.\r\n\r\n585\r\n00:34:35,908 --> 00:34:38,911\r\nMusimy przekona\u0107 s\u0105d,\r\nby dopu\u015Bci\u0142 bilingi.\r\n\r\n586\r\n00:34:38,995 --> 00:34:41,205\r\nS\u0119k w tym,\r\n\u017Ce nie przekonamy s\u0105du.\r\n\r\n587\r\n00:34:41,414 --> 00:34:44,792\r\nNie jestem prawnikiem,\r\ndlatego liczy\u0142am na ciebie, ale...\r\n\r\n588\r\n00:34:45,001 --> 00:34:48,004\r\nNie szkodzi.\r\nMam kogo\u015B.\r\n\r\n589\r\n00:34:52,717 --> 00:34:55,386\r\n- Harvey.\r\n- Mog\u0119?\r\n\r\n590\r\n00:34:55,511 --> 00:34:58,389\r\nZale\u017Cy po co przyszed\u0142e\u015B.\r\n\r\n591\r\n00:34:58,598 --> 00:35:03,311\r\n- Chc\u0119 przeprosi\u0107 za wczoraj.\r\n- To przez Bobby'ego?\r\n\r\n592\r\n00:35:03,519 --> 00:35:06,814\r\nNie, zaj\u0119\u0142a\u015B si\u0119 Marcusem,\r\ngdy zachorowa\u0142\r\n\r\n593\r\n00:35:06,981 --> 00:35:10,109\r\ni nie m\xF3g\u0142 mi o tym powiedzie\u0107.\r\nJestem tak w\u015Bciek\u0142y.\r\n\r\n594\r\n00:35:10,318 --> 00:35:12,695\r\nChc\u0119 z tym ju\u017C sko\u0144czy\u0107,\r\nale nie wiem jak.\r\n\r\n595\r\n00:35:12,904 --> 00:35:17,700\r\nPozw\xF3l powiedzie\u0107, jak przykro jest\r\nmi z powodu zadanego ci b\xF3lu.\r\n\r\n596\r\n00:35:17,909 --> 00:35:21,204\r\n- Nie musisz tego robi\u0107.\r\n- Musz\u0119.\r\n\r\n597\r\n00:35:21,412 --> 00:35:26,417\r\nKa\u017Cde z nas pokaza\u0142o\r\nswoje przez 20 lat.\r\n\r\n598\r\n00:35:26,584 --> 00:35:31,589\r\nAle by\u0142am doros\u0142a\r\ni postawi\u0142am ci\u0119 w tym po\u0142o\u017Ceniu.\r\n\r\n599\r\n00:35:32,006 --> 00:35:37,094\r\nNie ma dnia, bym nie my\u015Bla\u0142a,\r\nczemu tak mn\u0105 gardzisz.\r\n\r\n600\r\n00:35:37,303 --> 00:35:39,680\r\nBy\u0142am twoj\u0105 matk\u0105.\r\n\r\n601\r\n00:35:39,889 --> 00:35:45,520\r\nMia\u0142am ci\u0119 chroni\u0107,\r\na nie krzywdzi\u0107.\r\n\r\n602\r\n00:35:46,896 --> 00:35:51,817\r\nHarvey, jest mi niezmiernie przykro.\r\n\r\n603\r\n00:35:54,779 --> 00:35:57,406\r\nNie gardz\u0119 tob\u0105.\r\n\r\n604\r\n00:35:58,908 --> 00:36:03,287\r\nTylko tym, co zrobi\u0142a\u015B.\r\nI to si\u0119 nie zmieni.\r\n\r\n605\r\n00:36:03,496 --> 00:36:09,794\r\n- Ale nie gardz\u0119 tob\u0105.\r\n- Rozumiem.\r\n\r\n606\r\n00:36:14,382 --> 00:36:16,008\r\nCo jest?\r\n\r\n607\r\n00:36:16,592 --> 00:36:19,595\r\nNic, tylko...\r\n\r\n608\r\n00:36:19,804 --> 00:36:25,601\r\nPrzez wiele lat mia\u0142em ten\r\nobraz i zrozumia\u0142em,\r\n\r\n609\r\n00:36:25,810 --> 00:36:27,895\r\njak mi tego brakowa\u0142o.\r\n\r\n610\r\n00:36:29,897 --> 00:36:31,816\r\nKocham ci\u0119, Harvey.\r\n\r\n611\r\n00:36:34,902 --> 00:36:37,113\r\nJa ciebie te\u017C.\r\n\r\n612\r\n00:36:44,412 --> 00:36:47,915\r\nMoja klientka samotnie\r\nwychowuje dwoje dzieci.\r\n\r\n613\r\n00:36:47,915 --> 00:36:49,709\r\nA ja mam labradora.\r\n\r\n614\r\n00:36:49,917 --> 00:36:53,796\r\nPrzedmiotem tej sprawy jest\r\nzaleganie z czynszem.\r\n\r\n615\r\n00:36:54,005 --> 00:36:57,800\r\nA to za spraw\u0105 nieszczelnych\r\nw czasie zimy okien,\r\n\r\n616\r\n00:36:58,009 --> 00:36:59,719\r\nmimo regularnych\r\npr\xF3\u015Bb o ich napraw\u0119.\r\n\r\n617\r\n00:36:59,886 --> 00:37:02,889\r\n- Brak w tej kwestii dowod\xF3w.\r\n- Nieprawda.\r\n\r\n618\r\n00:37:03,097 --> 00:37:05,892\r\nKlienta zg\u0142asza\u0142a ten problem\r\ntelefonicznie z 20 razy.\r\n\r\n619\r\n00:37:06,100 --> 00:37:09,103\r\n- Co wynika z biling\xF3w.\r\n- To \u017Caden dow\xF3d.\r\n\r\n620\r\n00:37:09,312 --> 00:37:14,400\r\nPo\u0142\u0105czenia trwa\u0142y po dwie minuty\r\ni nie rozmawiano o pogodzie.\r\n\r\n621\r\n00:37:14,609 --> 00:37:17,820\r\nPan Grady przed\u0142o\u017Cy\u0142 mi\r\nbilingi 20 minut temu\r\n\r\n622\r\n00:37:17,987 --> 00:37:20,781\r\ni przyzna\u0142,\r\n\u017Ce s\u0105 bez znaczenia.\r\n\r\n623\r\n00:37:20,990 --> 00:37:22,283\r\n- To k\u0142amstwo.\r\n- Czy\u017Cby?\r\n\r\n624\r\n00:37:22,491 --> 00:37:29,290\r\nZadzwoni\u0142am do pana 10 minut temu\r\ni rozmawiali\u015Bmy jakie\u015B dwie.\r\n\r\n625\r\n00:37:29,999 --> 00:37:33,002\r\nMo\u017Ce pani dzwoni\u0142a,\r\nale nie m\xF3wili\u015Bmy o tym.\r\n\r\n626\r\n00:37:33,211 --> 00:37:38,007\r\nPo\u0142\u0105czenie nie przes\u0105dza\r\no temacie rozmowy.\r\n\r\n627\r\n00:37:38,508 --> 00:37:41,010\r\nDzwoni\u0142a 20 razy!\r\n\r\n628\r\n00:37:41,219 --> 00:37:43,888\r\nPewnie w sprawie\r\nzaleg\u0142ego czynszu.\r\n\r\n629\r\n00:37:44,096 --> 00:37:45,598\r\nAle tego nie wiemy,\r\n\r\n630\r\n00:37:45,806 --> 00:37:49,519\r\nbo nie potwierdza tego \u017Caden\r\nz \u017C\u0105danych dokument\xF3w.\r\n\r\n631\r\n00:37:50,394 --> 00:37:54,315\r\nWysoki s\u0105dzie,\r\npotrzebuj\u0119 chwil\u0119 na konsultacj\u0119.\r\n\r\n632\r\n00:37:54,482 --> 00:37:56,692\r\nKonsultacj\u0119?\r\nJest prawnikiem!\r\n\r\n633\r\n00:37:56,901 --> 00:37:58,194\r\n- Pom\xF3\u017C mu.\r\n- Nie mog\u0119.\r\n\r\n634\r\n00:37:58,402 --> 00:38:01,614\r\n- Musz\u0119 zebra\u0107 my\u015Bli.\r\n- To nie przedszkole.\r\n\r\n635\r\n00:38:01,781 --> 00:38:05,409\r\nTa kobieta nie op\u0142aci\u0142a\r\nw terminie czynszu.\r\n\r\n636\r\n00:38:05,618 --> 00:38:09,705\r\nWnosimy o eksmisj\u0119, je\u015Bli pieni\u0105dze\r\nnie wp\u0142yn\u0105 do jutra godz. 10:00.\r\n\r\n637\r\n00:38:09,914 --> 00:38:12,291\r\n- Wysoki s\u0105dzie, prosz\u0119...\r\n- Straci dom.\r\n\r\n638\r\n00:38:13,501 --> 00:38:16,879\r\nCzas min\u0105\u0142, mecenasie.\r\nUwzgl\u0119dniam wniosek.\r\n\r\n639\r\n00:38:27,390 --> 00:38:30,518\r\nHarvey, co tutaj robisz?\r\nKiedy wr\xF3ci\u0142e\u015B?\r\n\r\n640\r\n00:38:30,685 --> 00:38:33,187\r\n10 minut temu.\r\n\r\n641\r\n00:38:33,396 --> 00:38:37,400\r\n- Jak posz\u0142o?\r\n- Dobrze.\r\n\r\n642\r\n00:38:38,985 --> 00:38:41,112\r\nTo ciesz\u0119 si\u0119.\r\n\r\n643\r\n00:38:42,905 --> 00:38:47,285\r\n- Potrzebna mi twoja pomoc.\r\n- Czegokolwiek ci potrzeba.\r\n\r\n644\r\n00:38:47,493 --> 00:38:49,787\r\nAle najpierw zr\xF3b\r\nco\u015B dla mnie.\r\n\r\n645\r\n00:38:52,790 --> 00:38:53,708\r\nPan Ross?\r\n\r\n646\r\n00:38:53,916 --> 00:38:55,793\r\nChc\u0119 porozmawia\u0107.\r\nMa pani chwil\u0119?\r\n\r\n647\r\n00:38:56,002 --> 00:38:57,295\r\nNie bardzo.\r\n\r\n648\r\n00:38:57,503 --> 00:39:00,214\r\nPrzyjd\u0105 jutro,\r\na musz\u0119 si\u0119 spakowa\u0107.\r\n\r\n649\r\n00:39:00,381 --> 00:39:01,799\r\nNie przyjd\u0105.\r\n\r\n650\r\n00:39:07,013 --> 00:39:08,598\r\n3,6 tys. dolar\xF3w?\r\n\r\n651\r\n00:39:08,806 --> 00:39:12,018\r\n- Pokryje czynsz za 3 miesi\u0105ce.\r\n- Nie rozumiem...\r\n\r\n652\r\n00:39:12,185 --> 00:39:14,187\r\nPoradnia pomaga\r\nw takich sprawach.\r\n\r\n653\r\n00:39:14,395 --> 00:39:18,399\r\n- Cz\u0119sto tak pomagamy.\r\n- Ale to od pana.\r\n\r\n654\r\n00:39:18,608 --> 00:39:23,112\r\nSzybciej b\u0119dzie przez moje konto.\r\nOmijamy zb\u0119dn\u0105 biurokracj\u0119.\r\n\r\n655\r\n00:39:24,405 --> 00:39:28,993\r\n- Nie wiem, co powiedzie\u0107.\r\n- \u017Be przeka\u017Ce to pani w\u0142a\u015Bcicielowi.\r\n\r\n656\r\n00:39:29,202 --> 00:39:33,706\r\nW razie problem\xF3w z pokwitowaniem,\r\nprosz\u0119 od razu dzwoni\u0107.\r\n\r\n657\r\n00:39:33,915 --> 00:39:36,292\r\nTak te\u017C zrobi\u0119.\r\nDzi\u0119kuj\u0119.\r\n\r\n658\r\n00:39:43,508 --> 00:39:45,301\r\n- Wr\xF3ci\u0142e\u015B.\r\n- Tak.\r\n\r\n659\r\n00:39:45,510 --> 00:39:48,012\r\nPodobno zaj\u0105\u0142e\u015B si\u0119\r\nmoim klientem.\r\n\r\n660\r\n00:39:49,388 --> 00:39:52,183\r\n- Dzi\u0119ki, Louis.\r\n- Nie ma za co.\r\n\r\n661\r\n00:39:52,683 --> 00:39:55,895\r\nJeste\u015Bmy wsp\xF3lnikami.\r\nTo nasi wsp\xF3lni klienci.\r\n\r\n662\r\n00:39:56,103 --> 00:39:58,105\r\nZgadza si\u0119.\r\n\r\n663\r\n00:39:58,314 --> 00:40:03,694\r\nNie chcia\u0142em powiedzie\u0107,\r\n\u017Ce nie nadajesz si\u0119 na zarz\u0105dzaj\u0105cego.\r\n\r\n664\r\n00:40:03,903 --> 00:40:06,405\r\n- Chcia\u0142e\u015B.\r\n- Mo\u017Ce tak.\r\n\r\n665\r\n00:40:06,614 --> 00:40:10,993\r\nAle szczerze,\r\nja r\xF3wnie\u017C si\u0119 nie nadaj\u0119.\r\n\r\n666\r\n00:40:11,202 --> 00:40:15,289\r\nZarz\u0105dzajmy przez jaki\u015B\r\nczas wsp\xF3lnie.\r\n\r\n667\r\n00:40:16,499 --> 00:40:18,084\r\nB\u0119d\u0119 zaszczycony.\r\n\r\n668\r\n00:40:20,795 --> 00:40:24,715\r\nPierwsza sprawa:\r\nco z nazw\u0105?\r\n\r\n669\r\n00:40:26,509 --> 00:40:32,306\r\nNie wiem, jak tobie,\r\nale aktualna mi odpowiada.\r\n\r\n670\r\n00:40:32,515 --> 00:40:33,599\r\nMnie r\xF3wnie\u017C.\r\n\r\n671\r\n00:40:34,183 --> 00:40:37,311\r\nNigdy nie wiadomo.\r\nMo\u017Ce jeszcze wr\xF3ci.\r\n\r\n672\r\n00:40:38,104 --> 00:40:41,315\r\nZgadza si\u0119, Louis.\r\nNie wiadomo.\r\n\r\n673\r\n00:40:49,991 --> 00:40:51,701\r\nWci\u0105\u017C tu jeste\u015Bcie?\r\n\r\n674\r\n00:40:51,909 --> 00:40:56,289\r\nZosta\u0142o 12 godzin.\r\nWci\u0105\u017C szukamy rozwi\u0105zania.\r\n\r\n675\r\n00:40:56,497 --> 00:41:01,085\r\nGodne podziwu,\r\nale mo\u017Cecie sobie dzisiaj odpu\u015Bci\u0107.\r\n\r\n676\r\n00:41:03,588 --> 00:41:07,884\r\n- Prolongowano jej termin.\r\n- To mo\u017Cliwe?\r\n\r\n677\r\n00:41:08,092 --> 00:41:11,804\r\nTak, je\u015Bli zale\u017Cy\r\nci na kliencie.\r\n\r\n678\r\n00:41:14,307 --> 00:41:19,520\r\nZatem jutro planujemy\r\nnast\u0119pny ruch.\r\n\r\n679\r\n00:41:19,687 --> 00:41:21,480\r\nTak te\u017C zrobimy.\r\n\r\n" headers: Cache-Control: - max-age=1296000 Connection: - Keep-Alive Content-Encoding: - gzip Content-Length: - '21623' Content-Type: - text/html; charset=UTF-8 Date: - Wed, 05 Jun 2024 08:08:54 GMT Expires: - Thu, 20 Jun 2024 08:08:54 GMT Keep-Alive: - timeout=5, max=1000 Server: - Apache Vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_srt_reencode.yaml0000644000175100001770000024633114636376416026622 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?v=dreambox&kolejka=false&nick=&pass=&napios=Linux&l=PL&f=95bdf8ca5716166e6ad1e030a4a6b5cd&t=4c98e response: body: string: !!binary | MQ0KMDA6MDA6MDYsMDg5IC0tPiAwMDowMDowNyw2MzMNCjxpPlBvcHJ6ZWRuaW8gdyAiU3VpdHMi OjwvaT4NCg0KMg0KMDA6MDA6MDcsNjc0IC0tPiAwMDowMDowOSwzNDMNCi0gTyBjenltIG15nGxp c3o/DQotIE8gaW1pb25hY2guDQoNCjMNCjAwOjAwOjA5LDM4NCAtLT4gMDA6MDA6MTEsNTUzDQpK ZZxsaSBtYW0gZ28gd3ljaG93YeYsDQpjaGPqLCBieSBtaWGzIGNvnCBwbyBtbmllLg0KDQo0DQow MDowMDoxMSw1OTUgLS0+IDAwOjAwOjEzLDU1NQ0KQupkemllIG1pYbMuIE5hendpc2tvLg0KDQo1 DQowMDowMDoxMyw1OTcgLS0+IDAwOjAwOjE1LDg0OQ0KTfNqIG1hs3kgemFjaG9yb3dhsyBuYSBh c3Rt6i4NCg0KNg0KMDA6MDA6MTUsODkxIC0tPiAwMDowMDoxOSwxNDQNCk9rbm8gdyBzYWxvbmll IGplc3QNCnplcHN1dGUgb2QgbWllc2nqY3kuDQoNCjcNCjAwOjAwOjE5LDE4NiAtLT4gMDA6MDA6 MjEsMTQ2DQpKZWdvIGtsaWVudGthIG5pZSBws2FjaQ0Kb2QgdHJ6ZWNoIG1pZXNp6mN5Lg0KDQo4 DQowMDowMDoyMSwxODggLS0+IDAwOjAwOjIzLDY0OQ0KT2tubyBpIG9ncnpld2FuaWUNCndjabm/ IG5pZSBkemlhs2FquSwNCg0KOQ0KMDA6MDA6MjMsNjkwIC0tPiAwMDowMDoyNSw0NDINCm1pbW8g cmVndWxhcm55Y2gNCnBy85xiIG8gaWNoIG5hcHJhd+ouDQoNCjEwDQowMDowMDoyNSw0ODQgLS0+ IDAwOjAwOjI4LDg2Mg0KQWxlIG5pZSBtYW15IG5pYyBuYSBwaZxtaWUsDQphIHRlZ28gd3ltYWdh IHO5ZC4NCg0KMTENCjAwOjAwOjI4LDkwNCAtLT4gMDA6MDA6MzAsOTQ4DQpQcm9zeuogbyBjaHdp bOogbmEga29uc3VsdGFjauouDQoNCjEyDQowMDowMDozMCw5ODkgLS0+IDAwOjAwOjMyLDM2Ng0K LSBNdXNpc3ogbXUgcG9t82MuDQotIE5pZSBtb2fqLg0KDQoxMw0KMDA6MDA6MzIsNDA3IC0tPiAw MDowMDozNywxNjINCldub3NpbXkgbyBla3NtaXNq6iwgamWcbGkgcGllbmm5ZHplDQpuaWUgd3Cz eW65IGRvIGp1dHJhIGdvZHouIDEwOjAwLg0KDQoxNA0KMDA6MDA6MzcsMjA0IC0tPiAwMDowMDo0 MCw4MzINCi0gMyw2IHR5cy4gZG9sYXLzdz8NCi0gUG9rcnlqZSBjenluc3ogemEgMyBtaWVzablj ZS4NCg0KMTUNCjAwOjAwOjQwLDg3NCAtLT4gMDA6MDA6NDIsMDQyDQpOaWUgcm96dW1pZW0uLi4N Cg0KMTYNCjAwOjAwOjQyLDA4NCAtLT4gMDA6MDA6NDMsMTY4DQpUbyBvZmVydGEgcHJhY3kuDQoN CjE3DQowMDowMDo0MywyMTAgLS0+IDAwOjAwOjQ2LDMzOA0KQupkemllc3ogbXVzaWGzYSB6ZGHm IHRlc3QNCm5hIG5pZXNrYXppdGVsbm+c5iBjaGFyYWt0ZXJ1Lg0KDQoxOA0KMDA6MDA6NDYsMzgw IC0tPiAwMDowMDo1MCwwNTANCkkgbGVwaWVqIHd5cGFkbuosIHByYWN1arljDQpkbGEgdHdvamVq IGthbmNlbGFyaWksIHRhaz8NCg0KMTkNCjAwOjAwOjUwLDA5MiAtLT4gMDA6MDA6NTQsODQ3DQpO aWUgbWlhs2WcIHBvaupjaWEsIL9lIEhhcnZleSBwcm9zabMgbW5pZSwNCmJ5bSBwb21vZ7NhIHpk b2J55iBjaSB1cHJhd25pZW5pYT8NCg0KMjANCjAwOjAwOjU0LDg4OCAtLT4gMDA6MDA6NTYsNjQw DQpNaWGzYSBtbmllIGp1vyBnZHppZZwuDQoNCjIxDQowMDowMDo1Niw2ODIgLS0+IDAwOjAwOjU5 LDI2OA0KWm5pc3pjenmzZZwgamVkeW65IHJ6ZWN6LA0KbmEga3TzcmVqIG1pIHphbGW/YbNvLA0K DQoyMg0KMDA6MDA6NTksMzA5IC0tPiAwMDowMTowMSw4NTQNCmJvIG5pZSBkb2NpZXJhIGRvIGNp ZWJpZSwNCr9lIG5pZSB3cvNj6iB0dXRhai4NCg0KMjMNCjAwOjAxOjAxLDg5NSAtLT4gMDA6MDE6 MDMsOTM5DQpQcvNib3dhs2VtIGNpIHBvbfNjLg0KDQoyNA0KMDA6MDE6MDMsOTgxIC0tPiAwMDow MTowNiw5MDANCk5pZSB3aWVyeuogY2kuDQpOaWUgbWllc3phaiBzaeogdyBtb2plIL95Y2llIQ0K DQoyNQ0KMDA6MDE6MzUsMDk1IC0tPiAwMDowMTozNiw1NTUNCk1pa2UsIGNvIHR5IHR1IHJvYmlz ej8NCg0KMjYNCjAwOjAxOjM2LDU5NyAtLT4gMDA6MDE6NDAsMjI1DQpQcnp5c3plZLNlbSBwcnpl cHJvc2nmIGNp6g0KemEgbfNqIHd5YnVjaCB3IHNwcmF3aWUgR2liYnMuDQoNCjI3DQowMDowMTo0 MCwzMDkgLS0+IDAwOjAxOjQyLDQzNg0KLSBOaWUgbXVzaXN6IHRlZ28gcm9iaeYuDQotIE11c3rq Lg0KDQoyOA0KMDA6MDE6NDIsNzI4IC0tPiAwMDowMTo0NSw5MzkNCldpZW0sIL9lIGphayB6YXdz emUgY2hjaWGzZZwNCmRsYSBtbmllIGRvYnJ6ZSBpLi4uDQoNCjI5DQowMDowMTo0Nyw2MDggLS0+ IDAwOjAxOjQ4LDk4NA0KTmllIHBvd2luaWVuZW0gc2nqIHRhayB1bm9zaeYuDQoNCjMwDQowMDow MTo0OSwwMjYgLS0+IDAwOjAxOjUwLDk4Ng0KQSBqYSBuaWUgcG93aW5pZW5lbSBpnOYNCmRvIG5p ZWogemEgdHdvaW1pIHBsZWNhbWkuDQoNCjMxDQowMDowMTo1MSwwMjggLS0+IDAwOjAxOjUyLDIz Nw0KVyBwb3J6uWRrdS4NCg0KMzINCjAwOjAxOjUzLDUzMCAtLT4gMDA6MDE6NTUsMzI0DQpQb3Jh ZHpps2VtIHNvYmllLg0KDQozMw0KMDA6MDE6NTUsNjk5IC0tPiAwMDowMTo1Nyw1MzQNCldlamSf LCBuYXBpamVteSBzaeouDQoNCjM0DQowMDowMTo1Nyw3MDEgLS0+IDAwOjAxOjU5LDUzNg0KV3N6 eXN0a28gbWkgb3Bvd2llc3ouDQoNCjM1DQowMDowMjowNCw2MjUgLS0+IDAwOjAyOjA2LDA4NA0K UG9yYWRuaWEgcHJhd25hPw0KDQozNg0KMDA6MDI6MDYsMTI2IC0tPiAwMDowMjowOCw3NTQNCi0g Tm8uIC0gTXmcbGGzZW0sIL9lIEdpYmJzDQpuaWdkeSBjaSBuYSB0byBuaWUgcG96d29saS4NCg0K MzcNCjAwOjAyOjA4LDc5NSAtLT4gMDA6MDI6MTAsNDY0DQpN83dpuWMgbHVkemlvbSwNCr9lIGpl c3RlbSBvc3p1c3RlbS4NCg0KMzgNCjAwOjAyOjEwLDUwNiAtLT4gMDA6MDI6MTQsMTc2DQpHb5zm LCBrdPNyeSBwcm93YWR6aSBwb3JhZG5p6iwNCm9kIGxhdCB3aWUsIL9lIG5pbSBqZXN0ZW0uDQoN CjM5DQowMDowMjoxNCwyMTggLS0+IDAwOjAyOjE3LDE3OQ0KTmllIGRvnOYsIL9lIHdpZSwgdG8g d3LqY3oNCnNp6iBjaWVzenmzLCC/ZSBtbmllIHphdHJ1ZG5pYS4NCg0KNDANCjAwOjAyOjE3LDIy MSAtLT4gMDA6MDI6MjAsNzI0DQotIE5hand5cmGfbmllaiB6YnJvZG5pYSBwb3CzYWNhLg0KLSBO byByZWpjemVsLg0KDQo0MQ0KMDA6MDI6MjIsNTE4IC0tPiAwMDowMjoyNCw0NzgNCi0gQ28/DQot IE5pZSB1d2llcnp5c3osDQoNCjQyDQowMDowMjoyNCw1MjAgLS0+IDAwOjAyOjI3LDQ4MQ0KYWxl IG9kcG93aWFkYSBwcnplZGUgbW65DQpzdHVkZW50a2EgdHJ6ZWNpZWdvIHJva3UgcHJhd2EuDQoN CjQzDQowMDowMjoyNyw1MjMgLS0+IDAwOjAyOjI4LDc3NA0KTXmcbGksIL9lIHBvemphZGGzYQ0K d3N6eXN0a2llIHJvenVteS4NCg0KNDQNCjAwOjAyOjI4LDgxNSAtLT4gMDA6MDI6MzEsMjc2DQot IFRyYWZpsyBzd/NqIG5hIHN3ZWdvLg0KLSBKZXN0IGR1v28gZ29yc3phIG9kZSBtbmllLg0KDQo0 NQ0KMDA6MDI6MzEsMzE4IC0tPiAwMDowMjozMyw5ODcNCkdhZGEgY2m5Z2xlIG8gdHltLA0KamFr IJx3aWV0brkgbWEgcGFtaermPw0KDQo0Ng0KMDA6MDI6MzQsMDI5IC0tPiAwMDowMjozNiwwNzMN CkNodWpvd28gc2nqIHViaWVyYT8NCk1hIG3qc2u5IHRvcmLqPw0KDQo0Nw0KMDA6MDI6MzYsMTE0 IC0tPiAwMDowMjozNyw1MzMNClNrb/FjenmzZZw/DQoNCjQ4DQowMDowMjozNyw2MTYgLS0+IDAw OjAyOjM5LDY2MA0KQSBjbywgbXVzaXN6IGdkemllnCBpnOY/DQoNCjQ5DQowMDowMjozOSw3MDEg LS0+IDAwOjAyOjQzLDQxMw0KV7NhnGNpd2llIG1pYbNlbSBzaeogdHJ6eW1h5iB6IGRhbGENCm9k IG1pZXN6a2FuaWEgcHJ6ZXogamFraZwgY3phcy4NCg0KNTANCjAwOjAyOjQzLDcwNSAtLT4gMDA6 MDI6NDUsNzkxDQpObyB3aepjIHBvd2llZHppYbNhbSBMb3Vpc293aSwNCr9lIG5pZSBvYmNob2R6 aSBtbmllLA0KDQo1MQ0KMDA6MDI6NDUsODMyIC0tPiAwMDowMjo0OCwwODUNCr9lIHdzcPOzcHJh Y293bmljeQ0KemFjenluYWq5IG9kIGJva3PzdywNCg0KNTINCjAwOjAyOjQ4LDEyNiAtLT4gMDA6 MDI6NTEsNDYzDQpqYSBuaWUgb2RkYW0gc3dvamVnbyBiaXVyYS4NCg0KNTMNCjAwOjAyOjUxLDUw NSAtLT4gMDA6MDI6NTUsOTY4DQpUbyCcd2lldG5pZSwgYWxlIHBpauoganW/IHRyemVjaSBraWVs aXN6ZWsNCmNoYXJkb25uYXkgaSBuaWUgemFwcm9zabNhnCBtbmllLA0KDQo1NA0KMDA6MDI6NTYs MDA5IC0tPiAwMDowMzowMCwzMDUNCmJ5IG9wb3dpYWRh5iBvIHpns29zemVuaXUgZG8gcGFsZXN0 cnkNCmFuaSBzdGF3aWFuaXUgbmEgc3dvaW0gcHJ6ZWQgTG91aXNlbS4NCg0KNTUNCjAwOjAzOjAx LDgwNyAtLT4gMDA6MDM6MDUsMzEwDQpNYXN6IHJhY2rqLg0KWmFwcm9zabNhbSBjaeosIGJ5IHBv d2llZHppZeYsDQoNCjU2DQowMDowMzowNSw4OTQgLS0+IDAwOjAzOjA3LDk4MA0Kv2UgZG9waeqz YW0gc3dlZ28geiBNaWtpZW0uDQoNCjU3DQowMDowMzowOCwwMjEgLS0+IDAwOjAzOjEwLDYwNw0K UG93aWVkemlhs2GcIG11IHcga2/xY3UsIL9lYnkgemRlY3lkb3dhsw0Kc2nqIG5hIGpha7mcIGZy eXp1cuogaSBwcnp5IG5pZWogem9zdGGzPw0KDQo1OA0KMDA6MDM6MTAsODk5IC0tPiAwMDowMzox MiwwMjUNCk5pZS4NCg0KNTkNCjAwOjAzOjEyLDMxNyAtLT4gMDA6MDM6MTcsMjM5DQpQb3dpZWR6 aWGzYW0gbXUsIL9lIG9iaWVjYbMgbWkNCmNvnCBwcnplZCB3eWqcY2llbSB6IHdp6nppZW5pYSwN Cg0KNjANCjAwOjAzOjE4LDgyNCAtLT4gMDA6MDM6MjIsMDM1DQphIHRlcmF6LCBnZHkgamVzdA0K bmEgd29sbm+cY2kgaSB6YXJhYmlhLA0KDQo2MQ0KMDA6MDM6MjIsMzI3IC0tPiAwMDowMzoyNSw1 MzkNCm5hZHN6ZWSzIGN6YXMgcm96cG9jeupjaWENCm5vd2VnbyBldGFwdSB3IG5hc3p5bSC/eWNp dS4NCg0KNjINCjAwOjAzOjI2LDcwNyAtLT4gMDA6MDM6MjgsNjI1DQpSYWNoZWwsIHRhayBzaeog Y2llc3rqLg0KDQo2Mw0KMDA6MDM6MzAsNzk0IC0tPiAwMDowMzozMiw1MDQNCkkgb2Rwb3dpZWSf IGJyem1pIHRhay4NCg0KNjQNCjAwOjAzOjMyLDc5NiAtLT4gMDA6MDM6MzQsMDA2DQpKYWthIG9k cG93aWVknz8NCg0KNjUNCjAwOjAzOjM0LDIxNCAtLT4gMDA6MDM6MzYsNzU4DQotIE5pZSB6YWRh s2FtIGNpIGplc3pjemUgcHl0YW5pYS4NCi0gT3dzemVtLCB6YWRhs2GcDQoNCjY2DQowMDowMzoz Niw4MDAgLS0+IDAwOjAzOjM5LDMwMw0KaSBi6mTqIHphc3pjenljb25hLA0Kem9zdGFquWMgdHdv arkgZHJ1aG65Lg0KDQo2Nw0KMDA6MDM6MzksNTk1IC0tPiAwMDowMzo0MCw4MDQNCkR6aeprdWrq Lg0KDQo2OA0KMDA6MDM6NDIsMDE0IC0tPiAwMDowMzo0Myw3MjQNCk1pa2UsIHRvIHdzcGFuaWFs ZS4NCg0KNjkNCjAwOjAzOjQzLDkzMiAtLT4gMDA6MDM6NDUsNDM0DQpDaWVzeuogc2nqLg0KDQo3 MA0KMDA6MDM6NDUsNjAxIC0tPiAwMDowMzo0NywyNjkNCkRhbGVqIGNo6nRueSBuYSBieWNpZSCc d2lhZGtpZW0/DQoNCjcxDQowMDowMzo0NywzMTEgLS0+IDAwOjAzOjQ4LDg1NA0KWmEgbmljIHcg nHdpZWNpZQ0KYnltIHRlZ28gbmllIHByemVnYXBpsy4NCg0KNzINCjAwOjAzOjQ4LDg5NiAtLT4g MDA6MDM6NTAsNDM5DQqMbHViIHcga2+cY2llbGUgYWt0dWFsbnk/DQoNCjczDQowMDowMzo1MCw3 MzEgLS0+IDAwOjAzOjUyLDk4Mw0KVHltIHJhemVtIHpyb2JpbXkgdG8NCnUgbmFzIHcgbWllc3pr YW5pdS4NCg0KNzQNCjAwOjAzOjUzLDAyNSAtLT4gMDA6MDM6NTQsNDQzDQpOaWUgbW+/ZWNpZSB0 ZWdvIHpyb2Jp5i4NCg0KNzUNCjAwOjAzOjU0LDYxMCAtLT4gMDA6MDM6NTYsNzc4DQpDaGNlbXks IGJ5IGJ5s28ga2FtZXJhbG5pZS4NCg0KNzYNCjAwOjAzOjU2LDgyMCAtLT4gMDA6MDQ6MDAsMzY1 DQpSb3p1bWllbSwgYWxlIGNvIHplIG1uaWUgemEgZHJ1v2JhLA0KamWcbGkgbmllIHphcHJvcG9u dWrqIGNpIHN3b2plZ28gbWllc3prYW5pYT8NCg0KNzcNCjAwOjA0OjAwLDQwNyAtLT4gMDA6MDQ6 MDMsMDM1DQpDYbNraWVtIGfzd25pYW55bSwNCmplnGxpIG1vZ+ogYnnmIHN6Y3plcnkuDQoNCjc4 DQowMDowNDowMywzMjcgLS0+IDAwOjA0OjA1LDQ1NA0KQ3p5bGkgcHJ6eXN6ZWSzZZwNCm1uaWUg cHJ6ZXByb3Np5iwNCg0KNzkNCjAwOjA0OjA1LDQ5NSAtLT4gMDA6MDQ6MDgsMDgxDQq/ZWJ5IG5p ZSBtdXNpZeYgc2nqIL9lbmnmDQp3IHN3b2plaiBn83duaWFuZWoga2xpdGNlPw0KDQo4MA0KMDA6 MDQ6MDgsMTIzIC0tPiAwMDowNDoxMiw1MDMNCk15nGxpc3osIL9lIHBvcHJvc2mzYnltIGNp6iBv IGJ5Y2llIGRydb9iuSwNCmdkeWJ5nG15IG1pZWxpIGxlcHN6ZSBtaWVqc2NlPw0KDQo4MQ0KMDA6 MDQ6MTMsNzEyIC0tPiAwMDowNDoxNSw0MjINCkdyYXR1bGFjamUuDQoNCjgyDQowMDowNDoxNSw2 MzEgLS0+IDAwOjA0OjE2LDg0MA0KRHppZW55Lg0KDQo4Mw0KMDA6MDQ6MTgsNjM0IC0tPiAwMDow NDoyMSw0NzANClRlcmF6IG11c2lteSBzaeogdXBld25p5iwNCr9lIHR5bSByYXplbSBuaWUgendp ZWplc3ouDQoNCjg0DQowMDowNDoyMSw1MTIgLS0+IDAwOjA0OjIyLDg4OA0KQmFyZHpvIJxtaWVz em5lLg0KDQo4NQ0KMDA6MDQ6MjIsOTMwIC0tPiAwMDowNDoyNSw0MzINCk11c2lteSBzaeogdGW/ IHVwZXduaeYsDQq/ZSBuaWUuLi4gRG9ubnkgbmEgd2VzZWx1Lg0KDQo4Ng0KMDA6MDQ6MjUsNTE2 IC0tPiAwMDowNDoyNiw5NzUNCi0gQ2+cIHR5IHBvd2llZHppYbM/DQotIEjqPw0KDQo4Nw0KMDA6 MDQ6MjcsMDE3IC0tPiAwMDowNDoyOSw3MjgNCi0gQ2+cIGNpIHV0a27qs28gdyBnYXJkbGU/DQot IE5pZSwgd3N6eXN0a28gT0suDQoNCjg4DQowMDowNDo1OCw1MDcgLS0+IDAwOjA1OjAwLDY3Ng0K U1VJVFMgNngxMw0KVGVldGgsIE5vc2UsIFRlZXRoDQoNCjg5DQowMDowNTowOSw5MzUgLS0+IDAw OjA1OjExLDE0NA0KQ28gdG8/DQoNCjkwDQowMDowNToxMSw0MzYgLS0+IDAwOjA1OjEzLDg5Nw0K jHdp6nR1amVteS4NCg0KOTENCjAwOjA1OjEzLDkzOSAtLT4gMDA6MDU6MTUsOTgzDQpMb3Vpcywg d2llc3osIL9lIG5pZSBtb2fqIHBp5iBzemFtcGFuYS4NCg0KOTINCjAwOjA1OjE2LDAyNCAtLT4g MDA6MDU6MjAsMTk1DQpXaWVtLCBkbGF0ZWdvIHBpamVteSBuYWpsZXBzenkgbXVzdWq5Y3kNCmN5 ZHIgamFis2tvd3ksIGpha2kgbW+/bmEga3VwaeYuDQoNCjkzDQowMDowNToyMCwyMzcgLS0+IDAw OjA1OjIyLDQ4OQ0KQ/O/LCBza29ybyB0YWsuLi4NCg0KOTQNCjAwOjA1OjIyLDUzMSAtLT4gMDA6 MDU6MjMsNDkwDQpDbyCcd2nqdHVqZW15Pw0KDQo5NQ0KMDA6MDU6MjMsNTMyIC0tPiAwMDowNToy Niw0NTENClR3b2plIHBpZXJ3c3plIFVTRywNCmt083JlIGplc3QgdyB0eW0gdHlnb2RuaXUuDQoN Cjk2DQowMDowNToyNywxMTkgLS0+IDAwOjA1OjI5LDU4MA0KTG91aXMsIGplnGxpIGNob2R6aSBv IFVTRy4uLg0KDQo5Nw0KMDA6MDU6MjksNjIxIC0tPiAwMDowNTozMiwxMjQNCkpvc2h1YSBweXRh sywNCmN6eSBtb79lIHByenkgdHltIGJ55i4NCg0KOTgNCjAwOjA1OjMzLDA0MSAtLT4gMDA6MDU6 MzUsNzk0DQotIENvPw0KLSBPbiBqZXN0IG9qY2VtIGR6aWVja2EuDQoNCjk5DQowMDowNTozNSw4 MzYgLS0+IDAwOjA1OjM4LDQyMg0KLSBDaGNlIGJ55iB3IGplZ28gv3ljaXUuDQotIEFsYm8gY2hj ZSBieeYgdyB0d29pbS4NCg0KMTAwDQowMDowNTozOSw5MjMgLS0+IDAwOjA1OjQyLDM4NA0KTG91 aXMsIHd5YnJhs2FtIGNpZWJpZSwgYSBuaWUgamVnby4NCg0KMTAxDQowMDowNTo0Miw0MjYgLS0+ IDAwOjA1OjQ0LDA5NA0KTmllIG11c2lzeiBzaeogbyB0byBtYXJ0d2nmLg0KDQoxMDINCjAwOjA1 OjQ0LDEzNiAtLT4gMDA6MDU6NDYsNzYzDQpKZZxsaSBuaWUgY2hjZXN6LA0KYnkgdGFtIGJ5sywN Cg0KMTAzDQowMDowNTo0Niw4MDUgLS0+IDAwOjA1OjQ4LDE4Mg0KdG8gbXUgb2Rt83dp6i4NCg0K MTA0DQowMDowNTo0OCwyMjMgLS0+IDAwOjA1OjUyLDQzNg0KQWxlIHBvcHJvc2mzIG1uaWUsIHV6 bmGzYW0sDQq/ZSBtYSBkbyB0ZWdvIHByYXdvLCB3aepjIHB5dGFtIGNpZWJpZS4NCg0KMTA1DQow MDowNTo1NSwyMzAgLS0+IDAwOjA1OjU2LDgxNQ0KT0ssIG5pZWNoIHByenlqZHppZS4NCg0KMTA2 DQowMDowNTo1OSwxMDkgLS0+IDAwOjA2OjAwLDk4Ng0KLSBKZXN0ZZwgcGV3aWVuPw0KLSBOaWUg amVzdGVtLA0KDQoxMDcNCjAwOjA2OjAxLDAyOCAtLT4gMDA6MDY6MDMsMTEzDQphbGUgd2llbSwg v2UgdGFrIG5hbGW/eSBwb3N0uXBp5i4NCg0KMTA4DQowMDowNjowNiwzMjUgLS0+IDAwOjA2OjA3 LDUzNA0KRHpp6mt1auouDQoNCjEwOQ0KMDA6MDY6MTIsNjIzIC0tPiAwMDowNjoxNSw1ODQNCi0g UHJ6ZXByYXN6YW0sIG11c3rqLi4uDQotIE8sIGN6ZZzmLCBCZW5qYW1pbi4NCg0KMTEwDQowMDow NjoxNSw2MjYgLS0+IDAwOjA2OjE3LDg3OA0KUHJ6eXN6ZWSzZZwgbWFuaXB1bG93YeYNCnByenkg bW9pbSB0d2FyZHltIGR5c2t1Pw0KDQoxMTENCjAwOjA2OjE3LDkyMCAtLT4gMDA6MDY6MTksMjk2 DQpaZGVidWdvd2HmIG3zaiBwcm9jZXNvcj8NCg0KMTEyDQowMDowNjoxOSwzMzggLS0+IDAwOjA2 OjIxLDEzMQ0KUHJ6ZbNhZG93YeYgbW9quSBws3l06iBns/N3brk/DQoNCjExMw0KMDA6MDY6MjEs MjE1IC0tPiAwMDowNjoyMyw5MjYNCkNoY+ogdHlsa28gdyBzcG9rb2p1DQp6YWt0dWFsaXpvd2Hm IFZPWC4NCg0KMTE0DQowMDowNjoyNCw0MjYgLS0+IDAwOjA2OjI4LDY4MA0KTyBha3R1YWxpemFj auogVk9YLXUgcG9wcm9zabNhYnltDQprb2dvnCBiYXJkemllaiBkb5x3aWFkY3pvbmVnbyBuab8g dHkuDQoNCjExNQ0KMDA6MDY6MjgsNzIyIC0tPiAwMDowNjozMywxMDENClBhbmkgUGF1bHNlbiwg d2llbSwgv2UgcGFuaSB0byB3aWUsDQphbGUgcHJ6eXBvbW7qIHBhbmkgcG8gcmF6IDM3Lg0KDQox MTYNCjAwOjA2OjMzLDE0MyAtLT4gMDA6MDY6MzYsNjg4DQpWT1ggdG8gbmFzeiBzeXN0ZW0gb3Bl cmFjeWpueSwNCmt083J5IG11c2kgYnnmIGFrdHVhbGl6b3dhbnkgcmF6IG5hIGt3YXJ0YbMuDQoN CjExNw0KMDA6MDY6MzYsNzMwIC0tPiAwMDowNjozOSw3MzMNClJheiBuYSBrd2FydGGzPw0KSmVz dGWcbXkgcG8gnGx1YmllPw0KDQoxMTgNCjAwOjA2OjM5LDgxNiAtLT4gMDA6MDY6NDIsMzE5DQpC byBtYW0gbm93aW7qLiBUZW4gc2Vyd2VyDQpwb3RyemVidWplIGthcnR5IHBhbWnqY2kNCg0KMTE5 DQowMDowNjo0MywxMTEgLS0+IDAwOjA2OjQ2LDM2NQ0KLSBjaG9sZXJuaWUgY3rqnGNpZWogbmm/ IHJheiBuYSBrd2FydGGzLg0KLSBUbyB3c3p5c3Rrbywgc2tv8WN6ebNlbS4NCg0KMTIwDQowMDow Njo0Niw0MDYgLS0+IDAwOjA2OjQ4LDM2Nw0KV3l0s3VtYWN6ebNieW0gcGFuaSwNCmphayB6cm9i aeYgdHdhcmR5IHJlc2V0LA0KDQoxMjENCjAwOjA2OjQ4LDQwOCAtLT4gMDA6MDY6NTAsNzAyDQph bGUgc2t1cGmzYWJ5IHNp6iBwYW5pDQpuaWUgbmEgdHljaCBzs293YWNoLCBjbyB0cnplYmEuDQoN CjEyMg0KMDA6MDY6NTAsNzQ0IC0tPiAwMDowNjo1NCwyNDgNClNrdXBpYW0gc2nqIHR5bGtvIG5h IHR5bSwNCr9lIGp1vyBza2/xY3p5s2WcLg0KDQoxMjMNCjAwOjA2OjU0LDU0MCAtLT4gMDA6MDY6 NTcsOTE4DQpab3N0YXcga2Fz6iBuYSBzdG9saWt1LA0KYSBqYSBwb3BhdHJ66iwgamFrIG9kY2hv ZHppc3ouDQoNCjEyNA0KMDA6MDc6MDEsMDA0IC0tPiAwMDowNzowMiwyMTQNCk1yciENCg0KMTI1 DQowMDowNzowMiw1MDYgLS0+IDAwOjA3OjA0LDg4Mw0KWmVjaGNlc3ogcG93aWVkemll5iBtaSwN Cm8gY28gdHUgY2hvZHpps28/DQoNCjEyNg0KMDA6MDc6MDQsOTI1IC0tPiAwMDowNzowNyw2NzgN Ck1hc3ogbmEgbXmcbGkgcG9kdGVrc3R5DQpyenVjYW5lIGRvIGNos29wYWthIG9kIElUPw0KDQox MjcNCjAwOjA3OjA3LDcxOSAtLT4gMDA6MDc6MDgsODg3DQpPbiBtYSBpbWnqLg0KDQoxMjgNCjAw OjA3OjA4LDkyOSAtLT4gMDA6MDc6MTEsNDczDQpXaWVtLCBhbGUgYnmzYWJ5bSB3IHN6b2t1LA0K Z2R5YnmcIHR5IGplIHpuYbMuDQoNCjEyOQ0KMDA6MDc6MTEsNTE1IC0tPiAwMDowNzoxMywwMTYN Ck5pZSB3IHR5bSByemVjei4NCg0KMTMwDQowMDowNzoxMywyMjUgLS0+IDAwOjA3OjE1LDQ3Nw0K TmllLCBIYXJ2ZXksIHJ6ZWN6IHcgdHltLA0KDQoxMzENCjAwOjA3OjE1LDUxOSAtLT4gMDA6MDc6 MTgsNDM4DQq/ZSBuaWUgcm9iaeogbmljIGplbXUsDQp0eWxrbyBkbGEgbmllZ28uDQoNCjEzMg0K MDA6MDc6MTgsNjA1IC0tPiAwMDowNzoyMCw1NjYNCkkgbmEgamFraWVqIHBvZHN0YXdpZSB0YWsg dHdpZXJkemlzej8NCg0KMTMzDQowMDowNzoyMCw2MDcgLS0+IDAwOjA3OjI0LDg2Mg0KTmEgdGFr aWVqLCC/ZSBCZW5qYW1pbiBha3R1YWxpenVqZQ0KaW5uZSBrb21wdXRlcnkgemRhbG5pZSwNCg0K MTM0DQowMDowNzoyNCw5MDMgLS0+IDAwOjA3OjI4LDc4Mg0KYWxlIGNvIGt3YXJ0YbMgamVzdCB0 dXRhaiBpIHVkYWplLA0Kv2UgbmllIHBvZG9iYSBtdSBzaeogbW9qYSBncmEuDQoNCjEzNQ0KMDA6 MDc6MjgsODI0IC0tPiAwMDowNzozMSwyODUNCkplnGxpIG5pZSBjaGNlc3osIGJ5bSBza3VwabNh DQpzd/NqIGNp6nR5IL9hcnQgbmEgdG9iaWUsDQoNCjEzNg0KMDA6MDc6MzEsMzI2IC0tPiAwMDow NzozNCw4MzANCnN1Z2VydWrqLCBieZwgemFicmGzIHRlbiBzs29ka2kgdHmzZWN6ZWsNCnogcG93 cm90ZW0gZG8gc3dvamVnbyBiaXVyYS4NCg0KMTM3DQowMDowNzozNSwxMjIgLS0+IDAwOjA3OjM3 LDMzMg0KQmVuamFtaW4uIFdpZWR6aWGzZW0gdG8uDQoNCjEzOA0KMDA6MDc6MzcsNzA4IC0tPiAw MDowNzozOSwyNTENCk5pZSB3aWVkemlhs2WcLg0KDQoxMzkNCjAwOjA3OjQ3LDEzNCAtLT4gMDA6 MDc6NTAsMjYyDQpNaWtlLCBkemnqa2kgQm9ndSwgv2UgamVzdGWcLg0KRHp3b25ps2Egd7NhnG5p ZSBTb2ZpYSBQcmljZS4NCg0KMTQwDQowMDowNzo1MCwzMDQgLS0+IDAwOjA3OjUyLDY4MQ0KQnmz YSB6IHN5bmVtIHcgc3pwaXRhbHUNCm9zdGF0bmllaiBub2N5Lg0KDQoxNDENCjAwOjA3OjUyLDcy MyAtLT4gMDA6MDc6NTQsNjAwDQotIE5pYyBtdSBuaWUgamVzdD8NCi0gTmEgcmF6aWUgY2h5YmEg bmllLg0KDQoxNDINCjAwOjA3OjU0LDY0MSAtLT4gMDA6MDc6NTYsODk0DQpUbyBiebMgYXRhayBh c3RteSwgYWxlIGNoY2lhs2EsDQpieW0gY2kgcG93aWVkemlhs2EsIL9lLi4uDQoNCjE0Mw0KMDA6 MDc6NTYsOTM1IC0tPiAwMDowNzo1OSw1NjMNCk5pZSBtb2ezYSB6YXdpZZ/mDQpjemVrdSB6YSBj enluc3ouIENob2xlcmEuDQoNCjE0NA0KMDA6MDc6NTksNjA1IC0tPiAwMDowODowMiw4MTYNCi0g T2Rkendv8SBpIGRhaiB6bmHmLCC/ZSBzaeogdHltIHpham3qLg0KLSBNaWtlLCB6YWN6ZWthai4N Cg0KMTQ1DQowMDowODowMywwMjUgLS0+IDAwOjA4OjA1LDk4Ng0KUG9rcnmzZZwgamVqIGSzdWcN Cnogd7Nhc255Y2ggcGllbmnqZHp5LCB0YWs/DQoNCjE0Ng0KMDA6MDg6MDYsMDI4IC0tPiAwMDow ODowOCw2OTcNCi0gVG8gd3ljaG9kemkgcG96YSB0d29qZSBvYm93abl6a2kuDQotIFBvdGVtIHBv Z2FkYW15IG8gbW9qZWogemFqZWJpc3RvnGNpLg0KDQoxNDcNCjAwOjA4OjA4LDczOSAtLT4gMDA6 MDg6MTIsODI2DQpUZXJheiBtdXN66iBzaeogdXBld25p5iwNCr9lIGN6eW5zeiBTb2ZpaSB6b3N0 YW5pZSBzcLNhY29ueSBwcnplZCAxMC4NCg0KMTQ4DQowMDowODoxNSw1MzcgLS0+IDAwOjA4OjE3 LDc4OQ0KTG91aXMsIG1vv2VteSBwb3Jvem1hd2lh5j8NCg0KMTQ5DQowMDowODoxNyw4MzEgLS0+ IDAwOjA4OjE5LDYyNQ0KSmFzbmUuDQoNCjE1MA0KMDA6MDg6MTksNzA4IC0tPiAwMDowODoyMSw3 OTMNCk5pZSB3aWVtLCBjbyB6cm9iaeYuDQpS6mNlIG1pIHNp6iB0cnrqc7kuDQoNCjE1MQ0KMDA6 MDg6MjEsODM1IC0tPiAwMDowODoyMyw1NDUNClJhY2hlbCwgbyBjbyBjaG9kemk/DQoNCjE1Mg0K MDA6MDg6MjQsMDA0IC0tPiAwMDowODoyNSw2NzINCk5pZSBkb3N0YbNhbSBzaeogZG8gcGFsZXN0 cnkuDQoNCjE1Mw0KMDA6MDg6MjUsNzE0IC0tPiAwMDowODoyOCw0MjUNCi0gQ28/IFRvIG5pZWRv cnplY3puZS4NCi0gUHJ6ZWN6eXRhaiB0by4NCg0KMTU0DQowMDowODozMCwxMzUgLS0+IDAwOjA4 OjMxLDQ3MA0KPGk+UG8gcm96cGF0cnplbml1IFBhbmkgYXBsaWthY2ppLDwvaT4NCg0KMTU1DQow MDowODozMSw1MTIgLS0+IDAwOjA4OjM0LDA5Nw0KS29taXRldCBaYXVmYW5pYSBQdWJsaWN6bmVn bw0KbmllIHd5cmG/YSB6Z29keSBuYSByb3ptb3fqPw0KDQoxNTYNCjAwOjA4OjM0LDEzOSAtLT4g MDA6MDg6MzcsMTAwDQotIEfzd25vIHByYXdkYSENCi0gV2llZHppYbNhbSwgv2UgYupk6iBtdXNp YbNhIHNp6iBicm9uaeYsDQoNCjE1Nw0KMDA6MDg6MzcsMTQyIC0tPiAwMDowODo0MCwyNzANCmFs ZSBuaWUgc7lkemmzYW0sIL9lIG5pZSBkYWR6uQ0KbWkgbmF3ZXQgbmEgdG8gc3phbnN5Lg0KDQox NTgNCjAwOjA4OjQwLDMxMiAtLT4gMDA6MDg6NDIsMDY0DQotIFNwb2tvam5pZS4NCi0gSmFrIG1h bSBieeYgc3Bva29qbmE/DQoNCjE1OQ0KMDA6MDg6NDIsMTA1IC0tPiAwMDowODo0Myw5ODINCkRv a7NhZG5pZSB0ZWdvDQpvYmF3aWGzIHNp6iBt82ogb2pjaWVjLg0KDQoxNjANCjAwOjA4OjQ0LDAy NCAtLT4gMDA6MDg6NDYsNTY4DQpN83dpsywgv2Ugd3lrb3J6eXN0YWq5IG3zag0KendpuXplayB6 IE1pa2llbSBwcnplY2l3IG1uaWUuDQoNCjE2MQ0KMDA6MDg6NDYsNjEwIC0tPiAwMDowODo1MCwz MjINCi0gTmllIHdpZXN6LCBjenkgY2hvZHpps28gbyBNaWtlJ2EuDQotIE9jenl3aZxjaWUsIL9l IG8gdG8uDQoNCjE2Mg0KMDA6MDg6NTAsODIyIC0tPiAwMDowODo1Miw5OTENCi0gQSBvIGNvIGlu bmVnbz8NCi0gVG8gbW9ns28gYnnmIG5pZXBvcm96dW1pZW5pZSwNCg0KMTYzDQowMDowODo1Myww MzMgLS0+IDAwOjA4OjU2LDQ5NQ0KamFraZwgYrO5ZCBwcnp5IHByYWN5Lg0KTW9ns2GcIGKz6mRu aWUgd3lwZbNuaeYgcGFwaWVyeS4NCg0KMTY0DQowMDowODo1Niw1MzcgLS0+IDAwOjA4OjU4LDUz OQ0KU3ByYXdkemGzYW0gamUgMTAgcmF6eS4NCg0KMTY1DQowMDowODo1OCw3MDUgLS0+IDAwOjA5 OjAxLDUwMA0KUmFjaGVsLCBkYSBzaeogdG8gamFrb5wgd3lqYZxuaeYsDQppIGphIGRvIHRlZ28g ZG9qZOouDQoNCjE2Ng0KMDA6MDk6MDEsNTQyIC0tPiAwMDowOTowMyw5MTkNCi0gVGVnbyBuaWUg d2llc3ouDQotIFNw82pyeiBuYSBtbmllLg0KDQoxNjcNCjAwOjA5OjA0LDQxOSAtLT4gMDA6MDk6 MDcsODQwDQpPYmllY3Vq6iwgv2UgdGEgcm96bW93YQ0Kc2nqIG9kYupkemllLCBqYXNuZT8NCg0K MTY4DQowMDowOTowOCwzNDAgLS0+IDAwOjA5OjA5LDU1MA0KRG9icnplLg0KDQoxNjkNCjAwOjA5 OjE2LDIyMyAtLT4gMDA6MDk6MTgsOTM0DQotIEhhcnZleSwgbWFteSBwcm9ibGVtLg0KLSBPIGNv IGNob2R6aT8NCg0KMTcwDQowMDowOToyMCw2NDQgLS0+IDAwOjA5OjIyLDI3MQ0KLSBDaG9kemkg byBNaWtlJ2EuDQotIERva7NhZG5pZS4NCg0KMTcxDQowMDowOToyMiwzMTIgLS0+IDAwOjA5OjI0 LDQ4MQ0KRGxhdGVnbyBwcnp5c3plZLNlbSB0dSBqYWsgdHlsa28NClJhY2hlbCBvcHWcY2mzYSBt 82ogZ2FiaW5ldC4NCg0KMTcyDQowMDowOToyNCw1MjMgLS0+IDAwOjA5OjI2LDI3NQ0KLSBDbyBq ZWogcG93aWVkemlhs2WcPw0KLSBBIGphayBteZxsaXN6Pw0KDQoxNzMNCjAwOjA5OjI2LDMxNiAt LT4gMDA6MDk6MjcsOTAxDQqvZSB0byBtdXNpIGJ55iBqYWthnCBwb215s2thLA0KDQoxNzQNCjAw OjA5OjI3LDk0MyAtLT4gMDA6MDk6MzAsMTk1DQphbGUgb2JhaiB3aWVteSwgv2UgbmllIGplc3Qs DQp3aepjIG11c2lzeiB0byBuYXByYXdp5i4NCg0KMTc1DQowMDowOTozMCwyMzcgLS0+IDAwOjA5 OjMyLDAzMA0KVG8gcHJhd2RhLiBOYXByYXdp6iB0by4NCg0KMTc2DQowMDowOTozMywxMTUgLS0+ IDAwOjA5OjM1LDg2OA0KWnd5a2xlIHByemVkIHByenlqnGNpZW0NCnogdHltIGRvIG1uaWUNCg0K MTc3DQowMDowOTozNSw5MDkgLS0+IDAwOjA5OjM5LDY2Mw0KdyBzd29pbSBzdHlsdSB6bmFjem5p ZQ0KcG9nb3JzenmzYnmcIHN5dHVhY2rqLg0KDQoxNzgNCjAwOjA5OjM5LDcwNSAtLT4gMDA6MDk6 NDEsNjY1DQpCeeYgbW+/ZS4gRG8gY3plZ28gZLm/eXN6Pw0KDQoxNzkNCjAwOjA5OjQxLDcwNyAt LT4gMDA6MDk6NDMsOTE3DQpEbGFjemVnbyBwcnp5c3plZLNlnCBkbyBtbmllPw0KDQoxODANCjAw OjA5OjQ1LDEyNyAtLT4gMDA6MDk6NDcsODgwDQpCbyBqZZxsaSBtYW15IHByb3dhZHpp5g0KdOog a2FuY2VsYXJp6iB3c3DzbG5pZSwNCg0KMTgxDQowMDowOTo0Nyw5MjEgLS0+IDAwOjA5OjUwLDY3 NA0KbXVzeuogYnnmIHplIHNvYrkgc3pjemVyeQ0KbmEgdGVtYXQgbmFzenljaCBtb2NueWNoIHN0 cm9uLg0KDQoxODINCjAwOjA5OjUwLDcxNiAtLT4gMDA6MDk6NTMsMzg1DQpJIG15nGxpc3osIL9l IHcgdGVnbyB0eXB1DQpzcHJhd2FjaCB0byBqYSB3eW1pYXRhbT8NCg0KMTgzDQowMDowOTo1Myw0 MjcgLS0+IDAwOjA5OjU0LDg4Nw0KTm8gamFjaGEuDQoNCjE4NA0KMDA6MDk6NTQsOTI4IC0tPiAw MDowOTo1NiwzODgNCkxvdWlzLCB0byBkdb95IHBvc3TqcC4NCg0KMTg1DQowMDowOTo1Niw0MzAg LS0+IDAwOjEwOjAwLDE4NA0KRHpp6mtpLCBIYXJ2ZXkuIFBvZG9ibmllIGphayB0bywNCr9lIG5p ZSB3eZxtaWV3YXN6IG1uaWUgcG8gdHltLA0KDQoxODYNCjAwOjEwOjAwLDIyNSAtLT4gMDA6MTA6 MDMsODEyDQpqYWsgc2nqIGRvIHRlZ28gcHJ6eXpuYbNlbSwNCmNvIGJ5s28gZGxhIG1uaWUgYmFy ZHpvIHRydWRuZS4NCg0KMTg3DQowMDoxMDowNCw0MzggLS0+IDAwOjEwOjA2LDc3Mw0KLSCvZSBq ZXN0ZW0gb2QgY2llYmllIHdlIHdzenlzdGtpbSBsZXBzenkuDQotIFRlZ28gbmllIHBvd2llZHpp YbNlbS4NCg0KMTg4DQowMDoxMDowNiw4MTUgLS0+IDAwOjEwOjA5LDQ0Mw0KU3prb2RhLCBibyB0 YWsgdG8genJvenVtaWGzZW0uDQoNCjE4OQ0KMDA6MTA6MDksODE4IC0tPiAwMDoxMDoxMiw5ODgN CkhhcnZleSwgcG93Yb9uaWUsIG5pZSBjaG9kemkNCm8gbmGcbWlld2FuaWUgc2nqIHplIG1uaWUs DQoNCjE5MA0KMDA6MTA6MTMsMDMwIC0tPiAwMDoxMDoxNCw1MzENCnR5bGtvIG8gUmFjaGVsLg0K DQoxOTENCjAwOjEwOjE0LDkwNyAtLT4gMDA6MTA6MTgsMjAyDQpXaWVtIGkgZ2R5YnltIG5pZSBi ebMgcGV3aWVuLA0Kv2Ugc29iaWUgeiB0eW0gcG9yYWR66iwNCg0KMTkyDQowMDoxMDoxOCwyNDMg LS0+IDAwOjEwOjE5LDc4Ng0KbmllIGNpc265s2J5bSBjaeogdGFrLA0KDQoxOTMNCjAwOjEwOjE5 LDgyOCAtLT4gMDA6MTA6MjMsMDgxDQotIL9lIHByenl6bmGzZZwsIL9lIGplc3RlbSBsZXBzenku DQotIENob2xlcmEuDQoNCjE5NA0KMDA6MTA6MjMsMTIzIC0tPiAwMDoxMDoyNiw4MzUNClNvcnJ5 LCBMb3VpcywgbXVzeuogbGVjaWXmDQpieeYgbGVwc3p5bS4gTmEgcmF6aWUuDQoNCjE5NQ0KMDA6 MTA6MzYsMDExIC0tPiAwMDoxMDozNyw5NzENCi0gTW9n6iB3IGN6eW2cIHBvbfNjPw0KLSBUYWsu DQoNCjE5Ng0KMDA6MTA6MzgsMDEzIC0tPiAwMDoxMDo0MCw4OTENCk5henl3YW0gc2nqIE1pa2Ug Um9zcy4NCkplc3RlbSB0dSB3IGltaWVuaXUgU29maWkgUHJpY2UsDQoNCjE5Nw0KMDA6MTA6NDAs OTMzIC0tPiAwMDoxMDo0MywzOTMNCmEgdG8gcGWzbmEga3dvdGEgemFsZWezb5xjaQ0Kd29iZWMg dHdvamVnbyBrbGllbnRhLg0KDQoxOTgNCjAwOjEwOjQzLDQzNSAtLT4gMDA6MTA6NDUsNTYyDQpB IGRsYWN6ZWdvIHezYZxjaXdpZQ0KbWkgdG8gcHJ6eW5vc2lzej8NCg0KMTk5DQowMDoxMDo0NSw2 MDQgLS0+IDAwOjEwOjQ3LDQ4MQ0KQm8gamVzdGWcIHByYXduaWtpZW0sDQpuaWUgd7NhnGNpY2ll bGVtLA0KDQoyMDANCjAwOjEwOjQ3LDUyMyAtLT4gMDA6MTA6NDksNTY2DQphIGphIG5pZSBjaGPq IL9hZG55Y2gNCm5pZXBvcm96dW1pZfEuDQoNCjIwMQ0KMDA6MTA6NDksNjA4IC0tPiAwMDoxMDo1 NCwwMjkNClogdGVnbyBjbyB3aWR66iBqZXN0IDEwOjE4LA0KYSB0d29qYSBrbGllbnRrYSBtaWGz YSBjemFzIGRvIDEwLg0KDQoyMDINCjAwOjEwOjU0LDExMiAtLT4gMDA6MTA6NTYsOTkwDQotIEph amEgc29iaWUgcm9iaXN6Lg0KLSBaIGNhs7kgcGV3bm+cY2m5IG5pZSwNCg0KMjAzDQowMDoxMDo1 NywwMzIgLS0+IDAwOjExOjAwLDc4Ng0KYSB0d29qYSBrbGllbnRrYSBtb2ezYSBzaeogemFzdGFu b3dp5iwNCnphbmltIHByemVzdGGzYSBws2FjaeYgY3p5bnN6Lg0KDQoyMDQNCjAwOjExOjAwLDgy NyAtLT4gMDA6MTE6MDIsNDk2DQpXaWVtLCBvIGNvIHR1IGNob2R6aS4NCg0KMjA1DQowMDoxMTow Miw1MzggLS0+IDAwOjExOjA1LDI5MA0KSmFrIGq5IHd5cnp1Y2ljaWUsIHVuaWtuaWVjaWUNCm5h ZHpvcnUgbmFkIHd5c29rb5xjabkgY3p5bnN6dSwNCg0KMjA2DQowMDoxMTowNSwzMzIgLS0+IDAw OjExOjA2LDUwMA0KYWxlIG5pZSBwb3p3b2zqIG5hIHRvLg0KDQoyMDcNCjAwOjExOjA2LDU0MiAt LT4gMDA6MTE6MTAsMDg3DQpNeWxpc3ogc2nqLCBt82oga2xpZW50IG1hIHBvIHByb3N0dQ0KZG+c 5iBwcm9ibGVtYXR5Y3puZWogbG9rYXRvcmtpLA0KDQoyMDgNCjAwOjExOjEwLDEyOCAtLT4gMDA6 MTE6MTIsNTg5DQprdPNyYSB3eW5ham11amUgbWllc3prYW5pZQ0KaSBuaWUgcLNhY2kgY3p5bnN6 dS4NCg0KMjA5DQowMDoxMToxMiw2MzEgLS0+IDAwOjExOjE0LDY3NQ0KUG9zs3VjaGFqIG1uaWUs IG5pZSBtb79lc3oNCmplaiB0ZXJheiBla3NtaXRvd2HmLg0KDQoyMTANCjAwOjExOjE0LDcxNiAt LT4gMDA6MTE6MTYsMzAxDQpKZWogc3luIGplc3QgdyBzenBpdGFsdS4NCg0KMjExDQowMDoxMTox NiwzNDMgLS0+IDAwOjExOjE3LDc2MQ0KTWFtIHJvYm906iBkbyB3eWtvbmFuaWEuDQoNCjIxMg0K MDA6MTE6MTcsODAzIC0tPiAwMDoxMToyMCw4ODkNCkplc3QgbWkgcHJ6eWtybyB6IHBvd29kdQ0K c3luYSB0d29qZWoga2xpZW50a2ksDQoNCjIxMw0KMDA6MTE6MjAsOTMxIC0tPiAwMDoxMToyNCwz NTENCmFsZSBzuWQgd3lyYXppsyBzaeogamFzbm8NCmkgbmljIHdp6mNlaiBuaWUgbW9n6iB6cm9i aeYuDQoNCjIxNA0KMDA6MTE6MzAsNjA3IC0tPiAwMDoxMTozMyw2OTQNCi0gTWlrZSwgamFrIHBv c3qzbz8NCi0gU3Dzn25ps2VtIHNp6iAxOCBtaW51dC4NCg0KMjE1DQowMDoxMTozMyw3MzUgLS0+ IDAwOjExOjM1LDU3MQ0KTm8gdG8gY28/DQpQcnplY2llvyBtaWGzZZwgY3play4NCg0KMjE2DQow MDoxMTozNSw2MTIgLS0+IDAwOjExOjM3LDY5OA0KQ2hjuSBzaeogd3l3aW655g0Kb2QgcmVndWxh Y2ppIHd5c29rb5xjaSBjenluc3p1LA0KDQoyMTcNCjAwOjExOjM3LDczOSAtLT4gMDA6MTE6Mzks OTkyDQphIG15IHByemVrcm9jenlsaZxteSB0ZXJtaW4NCmkgbmllIG1vv2VteSBuaWMgeiB0eW0g enJvYmnmLg0KDQoyMTgNCjAwOjExOjQwLDAzMyAtLT4gMDA6MTE6NDEsNzg1DQpNeWxpc3ogc2nq LCBtb79lbXkuDQoNCjIxOQ0KMDA6MTE6NDEsODI3IC0tPiAwMDoxMTo0Niw0OTgNCkN6ZW11IHRh ayBpbSBzaeogemFsZb95IG5hIGVrc21pc2ppLA0Kc2tvcm8gcHJha3R5Y3puaWUgd2Npc2thbXkg aW0gcGllbmm5ZHplPw0KDQoyMjANCjAwOjExOjQ2LDU0MCAtLT4gMDA6MTE6NDgsNjY3DQpDaGO5 IHd5cnp1Y2nmIHdzenlzdGtpY2gsDQphIG5pZSB0eWxrbyBquS4NCg0KMjIxDQowMDoxMTo0OCw3 MDkgLS0+IDAwOjExOjQ5LDkxOA0KRG9rs2FkbmllLg0KDQoyMjINCjAwOjExOjUwLDQxOSAtLT4g MDA6MTE6NTEsNjcwDQpDaGO5IHd5YnVyennmIGNhs3kgYnVkeW5lay4NCg0KMjIzDQowMDoxMTo1 MSw3MTIgLS0+IDAwOjExOjU1LDM4Mg0KQnmzZW0gdGFtIHplc3qzZWdvIHdpZWN6b3J1Lg0KUm9i b3RuaWN5IGp1vyB6YWN66mxpIHByYWNlLg0KDQoyMjQNCjAwOjExOjU1LDQyNCAtLT4gMDA6MTE6 NTcsMzg0DQpLdW1hbS4gQ2hjZXN6IHVkZXJ6eeYNCncgbmljaCBrb250cnByb2Nlc2VtLg0KDQoy MjUNCjAwOjExOjU3LDQyNiAtLT4gMDA6MTE6NTksOTcwDQpDaGPqIHNwcmHmIGltIHR5s2tpLg0K QmllcnpjaWUgc2nqIHphIHByenlnb3Rvd2FuaWUgcG96d3UsDQoNCjIyNg0KMDA6MTI6MDAsMDEy IC0tPiAwMDoxMjowMyw3MjQNCmEgamEgcG9wcm9zeuogTmF0aGFuYSwNCmJ5IHdzdHJ6eW1hsyBl a3NtaXNq6i4NCg0KMjI3DQowMDoxMjowNiw0MzUgLS0+IDAwOjEyOjA5LDA2Mg0KTmllIG11c2lz eiBpnOYgZG8gTmF0aGFuYS4NCkphIHNvYmllIHogdHltIHBvcmFkeuouDQoNCjIyOA0KMDA6MTI6 MDksMTA0IC0tPiAwMDoxMjoxMCw4OTgNCi0gU7N1Y2hhaiwgZG9jZW5pYW0uLi4NCi0gUm96dW1p ZW0uDQoNCjIyOQ0KMDA6MTI6MTAsOTM5IC0tPiAwMDoxMjoxMiw0ODINCk9zdGF0bmlvIGRhs2Vt IGR1cHkuDQoNCjIzMA0KMDA6MTI6MTIsNTI0IC0tPiAwMDoxMjoxNCwwNjcNCi0gT2xpdmVyLi4u DQotIFOzdWNoYWouDQoNCjIzMQ0KMDA6MTI6MTQsMTA5IC0tPiAwMDoxMjoxNiw0ODYNClByenl6 bmFq6iwgv2UgY3phc2VtDQp6YWN6eW5hbSCcd2lyb3dh5iB3IHO5ZHppZS4NCg0KMjMyDQowMDox MjoxNiw1MjggLS0+IDAwOjEyOjE4LDQ4OA0KVHUgcHJhd28gamVzdCBqZWRub3puYWN6bmUuDQpU byBqYWsgcnp1dCBzcG9kIGtvc3phLg0KDQoyMzMNCjAwOjEyOjE4LDUzMCAtLT4gMDA6MTI6MjEs NjE3DQpUcndharljeSBwcm9jZXMgc7lkb3d5DQphdXRvbWF0eWN6bmllIHdzdHJ6eW11amUgZWtz bWlzauouDQoNCjIzNA0KMDA6MTI6MjEsODI1IC0tPiAwMDoxMjoyMywzNjgNClphcGV3bmlhbSBj aeosIL9lIGRhbSByYWTqLg0KDQoyMzUNCjAwOjEyOjIzLDQxMCAtLT4gMDA6MTI6MjUsNzQ2DQpQ cm9zeuosIHBvenfzbCBtaQ0KemFkb5zmdWN6eW5p5iB6YSB3Y3pvcmFqLg0KDQoyMzYNCjAwOjEy OjI3LDYyMyAtLT4gMDA6MTI6MjksNDk5DQpUbyBuYSBjbyBjemVrYXN6Pw0KDQoyMzcNCjAwOjEy OjI5LDU0MSAtLT4gMDA6MTI6MzIsNzUzDQqMbWlnYWogZG8gc7lkdS4NCkRhaiB6bmHmLCBqYWsg dHlsa28gdG8gemGzYXR3aXN6Lg0KDQoyMzgNCjAwOjEyOjM3LDcxNiAtLT4gMDA6MTI6NDAsOTY5 DQpObyBkb2JyYSwgQmVuamFtaW4sIGtvbmllYyB0eWNoIGdpZXJlay4NCkNvnCB0eSB6cm9iabMg eiBtb2ltIGtvbXB1dGVyZW0/DQoNCjIzOQ0KMDA6MTI6NDEsMDExIC0tPiAwMDoxMjo0Myw1NTUN Ck5pZSB6cm9iabNlbSBuaWMNCnBvemEgcG9wcmF3uSB3eWRham5vnGNpLg0KDQoyNDANCjAwOjEy OjQzLDU5NyAtLT4gMDA6MTI6NDYsNzY3DQpKZZxsaSB0byBtYSBieeYgcG9wcmF3YSB3eWRham5v nGNpLA0KdG8gcHJ6ZW15nGwgc3dvarkga2FyaWVy6iwNCg0KMjQxDQowMDoxMjo0Niw4MDggLS0+ IDAwOjEyOjQ4LDA2MA0KYm8gdG8gc2nqIHN5cGllIGN66pxjaWVqDQoNCjI0Mg0KMDA6MTI6NDgs MTAxIC0tPiAwMDoxMjo1MSwyMzANCm5pvyBNZWwgR2lic29uIHcgZHJvZHplIGRvDQpkb211IHBv IHNvYm90bmltIG1lbGFuv3UuDQoNCjI0Mw0KMDA6MTI6NTEsODEzIC0tPiAwMDoxMjo1MywzNTcN CkNod2lsYSwgY3p5IHR5IHNp6iB1nG1pZWNoYXN6Pw0KDQoyNDQNCjAwOjEyOjUzLDM5OCAtLT4g MDA6MTI6NTUsNDg0DQpOaWUuIEtyenljenlzeiBuYSBtbmllLg0KSmFrIG3zZ7NieW0gc2nqIHWc bWllY2hh5j8NCg0KMjQ1DQowMDoxMjo1NSw1MjYgLS0+IDAwOjEyOjU5LDY1NQ0KTmllIHBpZXBy eiBns3Vwb3QsIEJlbmphbWluLiBDb5wga29tYmludWplc3oNCmkgbGVwaWVqIHNp6iBwcnp5em5h aiBvZCByYXp1Lg0KDQoyNDYNCjAwOjEyOjU5LDY5NiAtLT4gMDA6MTM6MDAsODY0DQpObyBkb2Jy emUuDQoNCjI0Nw0KMDA6MTM6MDAsOTA2IC0tPiAwMDoxMzowNCw2MTgNCk1pYbNlbSBuYWR6aWVq 6iB6cm9iaeYgdG8gdyBiYXJkemllag0Kb2ZpY2phbG5laiBhdG1vc2ZlcnplLCBhbGUuLi4NCg0K MjQ4DQowMDoxMzowNyw4MjkgLS0+IDAwOjEzOjEwLDU0MQ0KUG96d/NsIG1pIHByemVkc3Rhd2nm IERvbm5hdG9yLg0KDQoyNDkNCjAwOjEzOjEwLDYyNCAtLT4gMDA6MTM6MTEsOTU5DQpDbyB0byBq ZXN0LCBkbyBjaG9sZXJ5Pw0KDQoyNTANCjAwOjEzOjEyLDAwMCAtLT4gMDA6MTM6MTUsNTg3DQpU byBjeWZyb3dhIHdlcnNqYSBjaWViaWUsIHphd2llcmFquWNhDQpqYWtpZZwgMTAgdHlzLiB0d29p Y2ggbmFqbGVwc3p5Y2ggdGVrc3TzdywNCg0KMjUxDQowMDoxMzoxNSw2MjkgLS0+IDAwOjEzOjE5 LDI1OA0KY2VsbnljaCC/YXJ083cgaSBjaep0eWNoIHJpcG9zdCwgc3Bha293YW55Y2gNCncgcGnq Y2l1IGdpZ2FoZXJjYWNoIG1vY3kga29tcHV0ZXJvd2VqLg0KDQoyNTINCjAwOjEzOjE5LDI5OSAt LT4gMDA6MTM6MjIsMTc3DQpUbyBkbGF0ZWdvIG9zb2JpnGNpZQ0KYWt0dWFsaXpvd2GzZZwgdHls a28gbfNqIGtvbXB1dGVyPw0KDQoyNTMNCjAwOjEzOjIyLDIxOSAtLT4gMDA6MTM6MjQsNzYzDQpU YWssIG5hZ3J5d2GzZW0gY2nqIHcgc2VrcmVjaWUNCnByemV6IG9zdGF0bmllIGR3YSBsYXRhLg0K DQoyNTQNCjAwOjEzOjI0LDgwNSAtLT4gMDA6MTM6MjYsOTMyDQpEd2EgbGF0YT8NCg0KMjU1DQow MDoxMzoyNywyMjQgLS0+IDAwOjEzOjI4LDI2Nw0KRGxhY3plZ28gamE/DQoNCjI1Ng0KMDA6MTM6 MjgsMzA4IC0tPiAwMDoxMzozMCw5NzgNCkJvIGthv2R5IHcgZGFuZWogY2h3aWxpIGNoY2UNCnBv d2llZHppZeYgdG8sIGNvIHRyemViYSwNCg0KMjU3DQowMDoxMzozMSwwMTkgLS0+IDAwOjEzOjM0 LDEwNg0KYSB0eWxrbyB0b2JpZSBuYSBjYbN5bSCcd2llY2llDQp1ZGFqZSBzaeogdG8gemEga2G/ ZHltIHJhemVtLg0KDQoyNTgNCjAwOjEzOjM0LDMxNCAtLT4gMDA6MTM6MzgsOTg2DQpOaWUgd3Nw b21pbmFquWMsIL9lIGplc3RlnCBuYWpiYXJkemllag0KemR1bWlld2FquWO5IHNla3JldGFya7kg dyBoaXN0b3JpaSCcd2lhdGEuDQoNCjI1OQ0KMDA6MTM6MzksMDI3IC0tPiAwMDoxMzo0MSw0ODgN ClRvIG5hanOzb2RzemUsDQpjbyBraWVkeWtvbHdpZWsgdXOzeXN6YbNhbS4NCg0KMjYwDQowMDox Mzo0MSw1MzAgLS0+IDAwOjEzOjQzLDk5MQ0KVHkgcG93aWVkemlhs2GcIHRvDQpvIHNvYmllIGR3 YSB0eWcuIHRlbXUuDQoNCjI2MQ0KMDA6MTM6NDQsMDMyIC0tPiAwMDoxMzo0Niw0MTANCi0gWiBw ZXdub5xjabkuDQotIFcgdGFraW0gcmF6aWUsDQoNCjI2Mg0KMDA6MTM6NDYsNTM1IC0tPiAwMDox Mzo0OCw3ODcNCkRvbm5vLCBtaWGzZW0gcHl0YeYNCnphIGtpbGthIHR5Z29kbmksDQoNCjI2Mw0K MDA6MTM6NDgsODI5IC0tPiAwMDoxMzo1MywwNDENCmFsZSBjbyBieZwgcG93aWVkemlhs2ENCm5h IHJvendpamFuaWUgdGVnbyBiaXpuZXN1IGpha28gcGFydG5lcnp5Pw0KDQoyNjQNCjAwOjEzOjU0 LDQxOCAtLT4gMDA6MTM6NTYsMDQ0DQpaYXN0YW5vd2nqIHNp6i4NCg0KMjY1DQowMDoxMzo1Niwx MjggLS0+IDAwOjEzOjU4LDcxNA0KQWxlIG5hanBpZXJ3IHBvv3ljeiBtaSB0bw0KbmEgcGFy6iBk bmkuDQoNCjI2Ng0KMDA6MTQ6MDcsNzIzIC0tPiAwMDoxNDoxMiw1MTkNClBvd2llZHosIGNvIHRv IHphIGdpZXJraSB6IG5pZWRvcHVzemN6ZW5pZW0NCm1vamVnbyB3c3Dzs3ByYWNvd25pa2EgZG8g cGFsZXN0cnk/DQoNCjI2Nw0KMDA6MTQ6MTMsMDIwIC0tPiAwMDoxNDoxNCw0NzkNCi0gSmVzdGWc IEhhcnZleSBTcGVjdGVyLg0KLSBXZSB3s2FzbmVqIG9zb2JpZSwNCg0KMjY4DQowMDoxNDoxNCw1 MjEgLS0+IDAwOjE0OjE4LDE5Mg0KYSBqZZxsaSBuaWUgd3lqZOogc3S5ZCB6IG5vbWluYWNquSB3 IHLqY2UsDQpwcnpla29uYXN6IHNp6iwgY28gdG8gem5hY3p5LA0KDQoyNjkNCjAwOjE0OjE4LDIz MyAtLT4gMDA6MTQ6MjEsODYyDQpibyBSYWNoZWwgWmFuZSB6YXOzdWd1amUgbmEgdG8sDQpieSBy b3pwYXRyemXmIGplaiBzcHJhd+ouDQoNCjI3MA0KMDA6MTQ6MjEsOTA0IC0tPiAwMDoxNDoyNCw2 NTYNClJhY2hlbCBaYW5lLg0KVG8gbmFqd2lkb2N6bmllaiBis7lkIHcgdGVybWluYXJ6dS4NCg0K MjcxDQowMDoxNDoyNCw2OTggLS0+IDAwOjE0OjI1LDc4Mg0KUHJ6ZXByYXN6YW0uDQoNCjI3Mg0K MDA6MTQ6MjUsODI0IC0tPiAwMDoxNDoyOCw5OTQNClphcGxhbnVq6iBqZWogcm96bW936g0KbmEg emEgZHdhIHR5Z29kbmllLg0KDQoyNzMNCjAwOjE0OjI5LDAzNiAtLT4gMDA6MTQ6MzIsMjg5DQpQ b2R6aeprb3dhs2J5bSwgYWxlIHBvd2lubmmcY2llDQp3IG9n82xlIG9kIHRlZ28gemFjernmLg0K DQoyNzQNCjAwOjE0OjMyLDMzMSAtLT4gMDA6MTQ6MzQsNjI1DQpKYWtrb2x3aWVrLCBuaWUgc7lk euosDQq/ZWJ5IHNp6iBkb3N0YbNhLg0KDQoyNzUNCjAwOjE0OjM2LDMzNSAtLT4gMDA6MTQ6Mzcs MDg1DQpDb5wgdHkgcG93aWVkemlhsz8NCg0KMjc2DQowMDoxNDozNywxMjcgLS0+IDAwOjE0OjQw LDU4OQ0KUG93aW5pZW5lnCB3aWVkemll5iwgv2Ugd3luaWsNCmezb3Nvd2FuaWEgY3qzb25r83cg cG93aW5pZW4gYnnmIGplZG5vbXmcbG55LA0KDQoyNzcNCjAwOjE0OjQwLDYzMSAtLT4gMDA6MTQ6 NDIsNTkxDQphIGphIG1hbSBwcnplY3p1Y2llLA0KDQoyNzgNCjAwOjE0OjQyLDYzMyAtLT4gMDA6 MTQ6NDQsODg1DQq/ZSBjbyBuYWptbmllaiBqZWRlbg0KemFns29zdWplIHByemVjaXcuDQoNCjI3 OQ0KMDA6MTQ6NDQsOTI3IC0tPiAwMDoxNDo0Nyw3NjMNCk1vZ7NlnCBquSBvZHJ6dWNp5iBuYSBy b3ptb3dpZSwgYWxlIHphZGGzZZwNCnNvYmllIHRydWQsIL9lYnkgbW5pZSB0dSBzcHJvd2Fkemnm LA0KDQoyODANCjAwOjE0OjQ3LDgwNCAtLT4gMDA6MTQ6NDksMzA2DQp3aepjIGRvIHJ6ZWN6eS4N Cg0KMjgxDQowMDoxNDo1MCwyMjQgLS0+IDAwOjE0OjUxLDgwOA0KQ/O/LCBt83dp6iB0eWxrby4u Lg0KDQoyODINCjAwOjE0OjU0LDEwMiAtLT4gMDA6MTQ6NTYsMTA0DQq/ZSBqZZxsaSBrdG+cLCBw b3dpZWR6bXksDQoNCjI4Mw0KMDA6MTQ6NTcsMDIyIC0tPiAwMDoxNDo1OCw3NzQNCnBvendhs2J5 IG1vamVnbyByeXdhbGEgdGFrLA0KDQoyODQNCjAwOjE0OjU4LDgxNSAtLT4gMDA6MTU6MDIsMjc3 DQq/ZSBjZW5hIGljaCBha2NqaQ0KZHJhc3R5Y3puaWUgYnkgc3BhZLNhLA0KDQoyODUNCjAwOjE1 OjAyLDMxOSAtLT4gMDA6MTU6MDQsODYzDQp3dGVkeSBtb79lIHN6YW5zZQ0KcGFuaSBaYW5lIGJ5 s3lieSB3aeprc3plLg0KDQoyODYNCjAwOjE1OjA0LDkwNSAtLT4gMDA6MTU6MDcsOTkxDQpQb3dp ZWR6LCBjenkgZG9icnplIG15nGzqLA0KamVzdGWcIGN6s29ua2llbSBrb21pdGV0dSBldHlraQ0K DQoyODcNCjAwOjE1OjA4LDAzMyAtLT4gMDA6MTU6MDksODY4DQppIHByb3Npc3ogbW5pZSBvIHpy b2JpZW5pZQ0KY3plZ2+cIHdicmV3IHByYXd1Lg0KDQoyODgNCjAwOjE1OjA5LDkxMCAtLT4gMDA6 MTU6MTIsMzcxDQpOaWUgd2JyZXcsIGplnGxpIHpuYWpkemllc3oNCnphc2FkbnkgcG9382QgZG8g cG96d3UuDQoNCjI4OQ0KMDA6MTU6MTIsNDEyIC0tPiAwMDoxNToxNCw3OTANCk11c2kgdyB0eW0g YnnmIGNvnCBqZXN6Y3plLA0KaW5hY3plaiBieZwgbW5pZSB0dSBuaWUgd3p5d2GzDQoNCjI5MA0K MDA6MTU6MTQsODMxIC0tPiAwMDoxNToxNiw4MzQNCnN6YW50Yb91arljLCBhYnltIHRvIHpyb2Jp sy4NCg0KMjkxDQowMDoxNToxNywwMDAgLS0+IDAwOjE1OjE4LDQ2MA0KUHJhd2RhIGplc3QgdGFr YSwNCg0KMjkyDQowMDoxNToxOCw1MDIgLS0+IDAwOjE1OjIxLDc1NQ0Kv2UgdHdvamEgbW9yYWxu b5zmIGplc3Qgd7l0cGxpd2EsDQpjbyBi6mR6aWUgdHUgcG90cnplYm5lLg0KDQoyOTMNCjAwOjE1 OjIxLDc5NyAtLT4gMDA6MTU6MjQsMjE2DQpBbGUgenJvYmlzeiBjbyBi6mR6aWVzeiBjaGNpYbMu DQoNCjI5NA0KMDA6MTU6MjQsMjk5IC0tPiAwMDoxNToyNiw5NjkNClcga2G/ZHltIHJhemllLCBq YWsgbfN3abNlbSwNCg0KMjk1DQowMDoxNToyNywwMTAgLS0+IDAwOjE1OjI5LDgwNQ0Kcm96bW93 YSBwYW5pIFphbmUgb2Ri6mR6aWUNCnNp6iB6YSBkd2EgdHlnb2RuaWUuDQoNCjI5Ng0KMDA6MTU6 MzcsMTA0IC0tPiAwMDoxNTozOSw4MTUNCk5pZXJvendhv25lIHphZ3Jvv2VuaWU/DQpUbyBqYWtp nCC/YXJ0Pw0KDQoyOTcNCjAwOjE1OjQxLDczMyAtLT4gMDA6MTU6NDQsMDY5DQpHd2FyYW50dWrq LCC/ZSBTb2ZpaQ0KUHJpY2UgbmllIGplc3QgZG8gnG1pZWNodS4NCg0KMjk4DQowMDoxNTo0NCwx MTEgLS0+IDAwOjE1OjQ3LDE1NQ0KQ/O/LCBrYb9keSBz6mR6aWEgbyB6ZHJvd3ljaCB6bXlzs2Fj aA0Kd3mcbWllamUgd2FzIHcgc7lkemllLA0KDQoyOTkNCjAwOjE1OjQ3LDE5NyAtLT4gMDA6MTU6 NTAsMjg0DQotIGJvIG5pZSByb3p1bWllc3ogcHJhd2EuDQotIFRvIHBhbmkgZ28gbmllIHJvenVt aWUsDQoNCjMwMA0KMDA6MTU6NTAsMzI1IC0tPiAwMDoxNTo1MSw0OTMNCnBhbmkgSm9obnNvbi4N Cg0KMzAxDQowMDoxNTo1MSw1MzUgLS0+IDAwOjE1OjUzLDg3MQ0KUm96cG9jeupsaZxjaWUgcm96 YmnzcmvqLA0KbWltbyBtaWVzemtharljeWNoIHRhbSBqZXN6Y3plIGx1ZHppLg0KDQozMDINCjAw OjE1OjUzLDkxMiAtLT4gMDA6MTU6NTUsNzg5DQpXeXOzYWxpnGNpZSB0cnp5bGF0a2ENCm5hIGl6 YuogcHJ6eWrq5i4NCg0KMzAzDQowMDoxNTo1NSw4MzEgLS0+IDAwOjE1OjU4LDg3Ng0KSmWcbGkg dGVnbyBuaWUgb2RwdZxjaXN6LA0Kd2V6beogc2nqIHphIHS5IG1hdGvqDQoNCjMwNA0KMDA6MTU6 NTgsOTE3IC0tPiAwMDoxNjowMiwzNzkNCmkgcHJ6ZWRzdGF3aeogarkgamFrbyBuaWVkYmGzuSwN CmEgbW+/ZSBpIHN0cmFjaSBzeW5hLg0KDQozMDUNCjAwOjE2OjAyLDQyMSAtLT4gMDA6MTY6MDUs Njc0DQpTcHLzYnVqLCBhIHBva2G/6iBwcnplZCBzuWRlbSwNCr9lIHByemVrYXphs2GcIHBsYW55 IGJ1ZG93eSBtaWFzdHUsDQoNCjMwNg0KMDA6MTY6MDUsNzE2IC0tPiAwMDoxNjowOSwzODYNCmuz YW1puWMsIL9lIGJ1ZHluZWsgamVzdCBuaWV6YW1pZXN6a2GzeSwNCmNvIGplc3Qga2FyYWxuZSB3 ZWSzdWcga29kZWtzdSBrYXJuZWdvLg0KDQozMDcNCjAwOjE2OjA5LDQyOCAtLT4gMDA6MTY6MTIs OTMxDQpOaWUsIHBhbmllIFJvc3MsIG5lIHpyb2Jpc3ogdGVnby4NCg0KMzA4DQowMDoxNjoxMyw0 MzIgLS0+IDAwOjE2OjE0LDgwOA0KT24gdG8genJvYmkuDQoNCjMwOQ0KMDA6MTY6MTUsMzA5IC0t PiAwMDoxNjoxNyw2ODYNCk15nGxlbGmcY2llLCC/ZSB3YXMNCm5pZSBzcHJhd2R66iwgZ2R5IG5h Z2xlDQoNCjMxMA0KMDA6MTY6MTcsNzI4IC0tPiAwMDoxNjoxOSwxODgNCnBvcmFkbmlhIHByYXdu YSB6IFF1ZWVucw0KDQozMTENCjAwOjE2OjE5LDIyOSAtLT4gMDA6MTY6MjEsNTY1DQp6YWN66rNh IG9wZXJvd2HmDQpqYWsga2FuY2VsYXJpYSB6IGNlbnRydW0/DQoNCjMxMg0KMDA6MTY6MjEsNjA3 IC0tPiAwMDoxNjoyMywwNjYNClpyb2Jps2FtIHRvLg0KDQozMTMNCjAwOjE2OjIzLDEwOCAtLT4g MDA6MTY6MjYsNjk1DQpKZZxsaSB0byB0cmFmaSBkbyBzuWR1LA0Kc3RhbuogcHJ6ZWNpdyBuaWVt dSwNCg0KMzE0DQowMDoxNjoyNiw3MzcgLS0+IDAwOjE2OjI5LDExNA0KYSB3c3p5c2N5IHdpZW15 LA0KY28gYnmzbyBvc3RhdG5pbSByYXplbS4NCg0KMzE1DQowMDoxNjoyOSwxOTggLS0+IDAwOjE2 OjMxLDgyNQ0KTmllIHByenlzerNhnCB0dXRhag0KcG93aWVkemll5iBtaSB0eWxrbyB0ZWdvLg0K DQozMTYNCjAwOjE2OjMyLDgyNiAtLT4gMDA6MTY6MzUsMzcwDQpQb2RhaiBtaSBsaWN6YuosDQph IGphIHDzamTqIHogdHltIGRvIGtsaWVudGtpLg0KDQozMTcNCjAwOjE2OjM1LDQxMiAtLT4gMDA6 MTY6MzcsMzcyDQoxMCB0eXNp6mN5Lg0KQW5pIGNlbnRhIHdp6mNlai4NCg0KMzE4DQowMDoxNjoz Nyw0MTQgLS0+IDAwOjE2OjQwLDY2Nw0KWiBkb5x3aWFkY3plbmlhIHdpZW0sDQq/ZSBtYXN6IHpn b2TqIGRvYmnmIGRvIDI1LA0KDQozMTkNCjAwOjE2OjQwLDcwOSAtLT4gMDA6MTY6NDIsNjY5DQp3 aepjIHVt83dteSBzaeoNCm1vv2UgbmEgMjU/DQoNCjMyMA0KMDA6MTY6NDIsNzExIC0tPiAwMDox Njo0NCw1ODgNCjI1IHR5c2nqY3kgZG9sYXLzdz8NCg0KMzIxDQowMDoxNjo0NCw2MzAgLS0+IDAw OjE2OjQ2LDcxNQ0KWmFyenV0eSBrcnltaW5hbG5lLCBMaW5kby4NCg0KMzIyDQowMDoxNjo0Niw3 OTggLS0+IDAwOjE2OjQ5LDQ2OA0KTmEgdHdvaW0gbWllanNjdSB3eXBpc2GzYnltIGN6ZWssDQpj aWVzenmzIHNp6iB6IG9mZXJ0eQ0KDQozMjMNCjAwOjE2OjQ5LDUxMCAtLT4gMDA6MTY6NTIsNTEz DQppIG1vZGxpsyBzaeosIGJ5IGNos29wY3UNCnNp6iBuaWUgcG9nb3Jzenmzby4NCg0KMzI0DQow MDoxNzowMiwwMjIgLS0+IDAwOjE3OjAzLDQ4Mg0KUG9zemN66pxjabNvIGNpIHNp6j8NCg0KMzI1 DQowMDoxNzowMyw1MjQgLS0+IDAwOjE3OjA1LDQ4NA0KVG8gemFsZb95IG9kIGRlZmluaWNqaS4N Cg0KMzI2DQowMDoxNzowNSw1MjYgLS0+IDAwOjE3OjA3LDg2MQ0KU3BvdGths2VtIHNp6iB6IGR1 cGtpZW0sDQprdPNyeSB3eXOzYbMgbGlzdC4NCg0KMzI3DQowMDoxNzowNyw5MDMgLS0+IDAwOjE3 OjA5LDc4MA0KTmllIHphs2F0d2mzZZwgamVqIHJvem1vd3k/DQoNCjMyOA0KMDA6MTc6MDksODIx IC0tPiAwMDoxNzoxMSw2NTcNClJvem1vd+ogemGzYXR3abNlbSwNCg0KMzI5DQowMDoxNzoxMSw2 OTggLS0+IDAwOjE3OjE1LDY2MQ0KYWxlIGezb3Nvd2FuaWUgbWEgYnnmIGplZG5vbXmcbG5lLA0K YSBqZWdvIGezb3MgbmllIGplc3QgemEgZGFybW8uDQoNCjMzMA0KMDA6MTc6MTUsNzAyIC0tPiAw MDoxNzoxNiw2NjINCkN6ZWdvIGNoY2U/DQoNCjMzMQ0KMDA6MTc6MTYsNzAzIC0tPiAwMDoxNzox OSw1ODENCkJ5nG15IHptb250b3dhbGkgcG96ZXcNCnByemVjaXdrbyBqZWdvIHJ5d2Fsb3dpLg0K DQozMzINCjAwOjE3OjE5LDYyMyAtLT4gMDA6MTc6MjMsNDE4DQotIFRvIG5pZSBwcm+cYmEsIHR5 bGtvIHByemVzdOpwc3R3byENCi0gV2llbSBvIHR5bS4NCg0KMzMzDQowMDoxNzoyNSwwMDMgLS0+ IDAwOjE3OjI3LDg0MA0KSmWcbGkgem5hbGWfbGlieZxteQ0KZG9icrkgcG9kc3Rhd+ogZG8gcG96 d3UsDQoNCjMzNA0KMDA6MTc6MjcsOTIzIC0tPiAwMDoxNzozMCw5NjgNCm5pZSBiebNvYnkgdG8g bmllbGVnYWxuZQ0KaSBtb79lIHdhcnRvIHNp6iB6YXN0YW5vd2nmPw0KDQozMzUNCjAwOjE3OjMx LDAwOSAtLT4gMDA6MTc6MzMsNDcwDQpOaWMgbmllIHpyb2Jp6iwNCnDza2kgZ28gbmllIHNwcmF3 ZHrqLg0KDQozMzYNCjAwOjE3OjMzLDUxMiAtLT4gMDA6MTc6MzUsNDcyDQpDaG9kemkgbyBwcnp5 c3qzb5zmIFJhY2hlbC4NCg0KMzM3DQowMDoxNzozNSw1MTQgLS0+IDAwOjE3OjM3LDg5MQ0KV2ll bSwgYWxlIGplbXUNCmNob2R6aSBvIGNvnCBqZXN6Y3plLA0KDQozMzgNCjAwOjE3OjM3LDkzMyAt LT4gMDA6MTc6NDEsNDc4DQphIGphIHNp6iBuYSBuaWMgbmllIHpnb2R66iwNCnDza2kgbmllIGRv d2llbSBzaeogbyBjby4NCg0KMzM5DQowMDoxNzo0MSw1MjAgLS0+IDAwOjE3OjQzLDA2Mw0KVG8g Y28genJvYmlteT8NCg0KMzQwDQowMDoxNzo0MywxMDUgLS0+IDAwOjE3OjQ1LDMxNQ0KSmEgbmlj IG5pZSB6cm9iaeosDQphbGUgdHkgdGFrLg0KDQozNDENCjAwOjE3OjQ2LDgxNyAtLT4gMDA6MTc6 NDgsMDY4DQpOaWUgcm96dW1pZW0uDQoNCjM0Mg0KMDA6MTc6NDgsMTEwIC0tPiAwMDoxNzo1MCw3 NzkNCk1pYbNlnCBqYWphIHByenl6bmHmLA0Kv2UgbGVwaWVqIHByb3N0dWrqIHNwcmF3eS4NCg0K MzQzDQowMDoxNzo1MCw4MjEgLS0+IDAwOjE3OjU0LDM2Ng0KSmEgcHJ6eXpuYWrqLCB6ZSB0eSBq ZXN0ZZwNCmxlcHN6eSB3IHNwcmF3YWNoIGZpbmFuc293eWNoLg0KDQozNDQNCjAwOjE3OjU0LDQw OCAtLT4gMDA6MTc6NTYsNjYwDQpEb2NlbmlhbSB0bywNCmFsZSBjbyB0byBtYSBkbyByemVjenk/ DQoNCjM0NQ0KMDA6MTc6NTYsNzAyIC0tPiAwMDoxODowMCw4MzENClJvYmkgdG8sIGJ5IHpiaeYg d2FydG+c5iBjenlpY2icIGFrY2ppDQppIGNoY+ogd2llZHppZeYgZGxhY3plZ28uDQoNCjM0Ng0K MDA6MTg6MDEsODMyIC0tPiAwMDoxODowMywyMDgNClpham3qIHNp6iB0eW0uDQoNCjM0Nw0KMDA6 MTg6MDQsMDAxIC0tPiAwMDoxODowNSw2MjcNCkNvIHBvd2llbXkgUmFjaGVsPw0KDQozNDgNCjAw OjE4OjA1LDkxOSAtLT4gMDA6MTg6MDksOTIzDQpQcmF3ZOouIK9lIGNvnCBuYW1pZXN6YWxpLA0K YWxlIGp1vyBtYSB3eXpuYWN6b265IGRhdOouDQoNCjM0OQ0KMDA6MTg6MTAsMDA3IC0tPiAwMDox ODoxMiw5MjYNCkEgbXkgbXVzaW15IHRvIG5hcHJhd2nmDQpwcnplZCB1cLN5d2VtIHRlcm1pbnUu DQoNCjM1MA0KMDA6MTg6MjEsMTAxIC0tPiAwMDoxODoyMiw2ODYNCi0gQ28geiBuaW0/DQotIERv YnJ6ZS4NCg0KMzUxDQowMDoxODoyMiw3MjggLS0+IDAwOjE4OjI1LDQzOQ0KUG9kb2JubyB6YSBr aWxrYSBkbmkNCmLqZHppZSBt82ezIHd5apzmLg0KDQozNTINCjAwOjE4OjI2LDIzMSAtLT4gMDA6 MTg6MjcsNTY2DQpNYW0gZG9icmUgd2llnGNpLg0KDQozNTMNCjAwOjE4OjI3LDYwOCAtLT4gMDA6 MTg6MjksMDI2DQpNb79lbXkgem9zdGHmPw0KDQozNTQNCjAwOjE4OjI5LDczNSAtLT4gMDA6MTg6 MzAsOTQ0DQpOaWUuDQoNCjM1NQ0KMDA6MTg6MzEsMjM2IC0tPiAwMDoxODozNCw2MTUNCkFsZSBt YWNpZSBtaWVzabljIG5hIHpuYWxlemllbmllDQpzb2JpZSBub3dlZ28gbG9rdW0NCg0KMzU2DQow MDoxODozNSwxOTkgLS0+IDAwOjE4OjM4LDUzNQ0Kb3JheiBjemVrIG5hIDI1IHR5cy4gZG9sYXLz dywNCmt083J5IHBvd2luaWVuIHBvbfNjLg0KDQozNTcNCjAwOjE4OjQyLDIwNiAtLT4gMDA6MTg6 NDUsMjA5DQpQYW5pZSBSb3NzLCBkemnqa3Vq6g0KemEgdG8sIGNvIHBhbiB6cm9iabMsDQoNCjM1 OA0KMDA6MTg6NDUsMzM0IC0tPiAwMDoxODo0Nyw1ODYNCmFsZSBNYXJpc3NhIHBvd2llZHppYbNh LA0KDQozNTkNCjAwOjE4OjQ3LDYyOCAtLT4gMDA6MTg6NTAsOTIzDQq/ZSBqZZxsaSB1ZG93b2Ru aW15LCC/ZSBzdGFuIEFKLWENCnRvIGljaCB3aW5hLCBi6mS5IG11c2llbGkgemFws2FjaeYuDQoN CjM2MA0KMDA6MTg6NTEsNTA3IC0tPiAwMDoxODo1Miw2NzQNClByemVjaWW/IHCzYWO5Lg0KDQoz NjENCjAwOjE4OjUyLDcxNiAtLT4gMDA6MTg6NTYsMDk0DQpOaWUgcG93aW5uaSBwcnp5bmFqbW5p ZWoNCnBva3J55iBrb3N6dPN3IGxlY3plbmlhPw0KDQozNjINCjAwOjE4OjU2LDEzNiAtLT4gMDA6 MTg6NTksOTczDQpTYW1lIGplZ28gcHJ6eXN6s29yb2N6bmUgYmFkYW5pYQ0Kd3luaW9zuSBva2+z byAyNSB0eXNp6mN5Lg0KDQozNjMNCjAwOjE5OjAwLDAxNSAtLT4gMDA6MTk6MDIsNjQzDQpXemnq Y2llIHRlZ28gZG8gc7lkdQ0Kd2m5v2Ugc2nqIHogcnl6eWtpZW0uDQoNCjM2NA0KMDA6MTk6MDUs MTAzIC0tPiAwMDoxOTowNyw0ODENCk5hc3plIL95Y2llIHRvIGNpuWezZQ0KcGFzbW8gcnl6eWth Lg0KDQozNjUNCjAwOjE5OjA3LDUyMyAtLT4gMDA6MTk6MTEsMDI2DQpBbGUgdGVuIGN6ZWsNCnRv IHByYXdkeml3ZSBwaWVuablkemUuDQoNCjM2Ng0KMDA6MTk6MTQsMDI5IC0tPiAwMDoxOToxNiww MzENCklsZSBtb2dsaWJ5nG15IGRvc3Rh5j8NCg0KMzY3DQowMDoxOToxNiwxMTQgLS0+IDAwOjE5 OjE4LDQ5Mg0KVyBuYWpsZXBzenltIHd5cGFka3UNCm9rb7NvIHDzsyBtaWxpb25hLA0KDQozNjgN CjAwOjE5OjE4LDUzNCAtLT4gMDA6MTk6MjEsMjQ1DQotIGFsZSB0YWsgamFrIG3zd2nqLi4uDQot IFByb3N66iwgcGFuaWUgUm9zcy4NCg0KMzY5DQowMDoxOToyMiw5MTMgLS0+IDAwOjE5OjI1LDY2 Ng0KVG8gb25pIG11IHRvIHpyb2JpbGkNCg0KMzcwDQowMDoxOToyNSw3MDcgLS0+IDAwOjE5OjI4 LDQxOA0KaSBqZZxsaSBtYW15IHN6YW5z6g0Kb2RtaWVuaeYgamVnbyBsb3MsDQoNCjM3MQ0KMDA6 MTk6MjksNTAzIC0tPiAwMDoxOTozMSwzMzgNCm11c2lteSBzcHLzYm93YeYuDQoNCjM3Mg0KMDA6 MTk6NDIsOTMzIC0tPiAwMDoxOTo0NSwwMTgNCk1vZ+ogY2kgdyBjenltnCBwb23zYz8NCg0KMzcz DQowMDoxOTo0NywzMTIgLS0+IDAwOjE5OjUwLDM1Nw0KUGFtaep0YW0sIGphayBsYXRhIHRlbXUN CnN0YbNlbSB0dXRhag0KDQozNzQNCjAwOjE5OjUwLDM5OSAtLT4gMDA6MTk6NTMsNDg1DQppIG3z d2mzZW0gY2ksDQq/ZSBuaWUgZG9zdGGzYZwgc2nqIGRvIEhhcnZhcmR1Lg0KDQozNzUNCjAwOjE5 OjUzLDUyNyAtLT4gMDA6MTk6NTUsNDg3DQpNeZxsYbNhnCwgv2UgbmllIHpvc3Rhbmllc3oNCnBy YXduaWtpZW0sDQoNCjM3Ng0KMDA6MTk6NTUsNTI5IC0tPiAwMDoxOTo1OCw5OTENCmFsZSBqYSB3 aWVkemlhs2VtLA0Kv2UgamFrb5wgZG8gdGVnbyBkb2pkemllc3ouDQoNCjM3Nw0KMDA6MTk6NTks MDMyIC0tPiAwMDoyMDowMSwzMjYNCi0gWmGzYXR3abNlnCBtaSByb3ptb3fqLg0KLSBUYWsuDQoN CjM3OA0KMDA6MjA6MDQsMTIxIC0tPiAwMDoyMDowNSw0MTQNCk9rYXphs28gc2nqLA0KDQozNzkN CjAwOjIwOjA2LDk5OSAtLT4gMDA6MjA6MDksOTE4DQq/ZSBzaeogcG9teWxpbGkuDQoNCjM4MA0K MDA6MjA6MTAsMDAyIC0tPiAwMDoyMDoxMiwzMzcNCkR6aeprdWrqIGNpLCBMb3Vpcy4NCg0KMzgx DQowMDoyMDoxNCwxMzEgLS0+IDAwOjIwOjE1LDg0MQ0KTXmcbGlzeiwNCg0KMzgyDQowMDoyMDox NiwyMTYgLS0+IDAwOjIwOjE5LDYzNg0Kv2UgYupk6iBtdXNpYbNhIHNp6iB0s3VtYWN6eeYNCnpl IHp3abl6a3UgeiBNaWtpZW0/DQoNCjM4Mw0KMDA6MjA6MjAsMDEyIC0tPiAwMDoyMDoyMiw2ODEN Ck5pZSB3aWVtLCBSYWNoZWwsDQoNCjM4NA0KMDA6MjA6MjIsNzIzIC0tPiAwMDoyMDoyNiwyMjYN CmFsZSB6cm9iaW15IHdzenlzdGtvLA0KYnmcIHpvc3Rhs2EgcHJhd25pY3pruS4NCg0KMzg1DQow MDoyMDo0Nyw2NjQgLS0+IDAwOjIwOjQ5LDk1OA0KTWFtIGtvZ2+cLg0KDQozODYNCjAwOjIwOjUw LDY2NyAtLT4gMDA6MjA6NTMsNzk1DQpUbyBuaWUgZGxhIGNpZWJpZSwNCnR5bGtvIGRsYSBuYXJ6 ZWN6b25lai4NCg0KMzg3DQowMDoyMDo1Myw4MzcgLS0+IDAwOjIwOjU3LDc5OQ0KQWxlIGplnGxp IHpha2/xY3p5c3ogc3ByYXfqLCBkYW0gY2kgamUuDQpTd29qZWoga3Vwaeogbm93eSBidWtpZXQu DQoNCjM4OA0KMDA6MjA6NTcsODQxIC0tPiAwMDoyMTowMCwwOTMNCi0gSnW/IHRvIHpyb2Jps2Ft Lg0KLSBKZWRuYWsgbmllLg0KDQozODkNCjAwOjIxOjAwLDEzNSAtLT4gMDA6MjE6MDIsNTk2DQot IER6aWGzYbNlnCB3IHptb3dpZT8NCi0gU3l0dWFjamEgdWxlZ7NhIHptaWFuaWUuDQoNCjM5MA0K MDA6MjE6MDIsNjM4IC0tPiAwMDoyMTowNCw4OTANCkNvIHNp6iB6bWllbmmzbyBvZCByYW5hPw0K DQozOTENCjAwOjIxOjA0LDkzMiAtLT4gMDA6MjE6MDcsMzkyDQpTeW4gbW9qZWoga2xpZW50a2kN CnBvdHJ6ZWJ1amUgZLN1v3N6ZWdvIGxlY3plbmlhLA0KDQozOTINCjAwOjIxOjA3LDQzNCAtLT4g MDA6MjE6MDgsODEwDQpuYSBrdPNyZSBqZWogbmllIHN0YeYuDQoNCjM5Mw0KMDA6MjE6MDgsODUy IC0tPiAwMDoyMToxMiwzMTQNClR3b2phIGtsaWVudGthIHd5d+pzenmzYSBzemFuc+oNCm5hIHdp 6mtzerkga2Fz6iwNCg0KMzk0DQowMDoyMToxMiwzNTYgLS0+IDAwOjIxOjE1LDc3Ng0KLSBhIHR5 IG5hZCBuabkgbmllIHBhbnVqZXN6Lg0KLSBUd29qZSB6ZGFuaWUgc2nqIG5pZSBsaWN6eS4NCg0K Mzk1DQowMDoyMToxNSw4NTkgLS0+IDAwOjIxOjE4LDUyOQ0KSmWcbGkgbmllIGRhc3ogbmFtIDEw MCB0eXNp6mN5LA0KDQozOTYNCjAwOjIxOjE4LDU3MCAtLT4gMDA6MjE6MjEsMTE0DQotIGlkemll bXkgZG8gc7lkdS4NCi0gWndhcmlvd2GzZZw/DQoNCjM5Nw0KMDA6MjE6MjEsMTU2IC0tPiAwMDoy MToyMyw0MDgNCk5pZSByb3pkYWplbXkgdGFraWVqIGthc3ksDQp0byBuaWUgV2FsbCBTdHJlZXQu DQoNCjM5OA0KMDA6MjE6MjMsNDUwIC0tPiAwMDoyMToyNSw3MDINCkplnGxpIHByemVncmFjaWUs DQp6YXCzYWNpY2llIHdp6mNlai4NCg0KMzk5DQowMDoyMToyNSw3NDQgLS0+IDAwOjIxOjI5LDI0 OA0KQSBqZZxsaSBzaeogemdvZHrqLA0Kd3LzY2lzeiB0dSBqdXRybyBwbyBqZXN6Y3plIHdp6mNl ai4NCg0KNDAwDQowMDoyMTozMCw5NTggLS0+IDAwOjIxOjM0LDQxOQ0KU7N1Y2hhaiwgamVzdGVt IHcgc3RhbmllDQpquSBuYW3zd2nmIG5hIHR5bGUuDQoNCjQwMQ0KMDA6MjE6MzQsNDYxIC0tPiAw MDoyMTozNyw5MjMNClR5IHOzdWNoYWouIERvc3RhbGmcY2llIHN3b2plDQppIG5pZSBkYW15IG5p YyB3aepjZWosDQoNCjQwMg0KMDA6MjE6MzcsOTY1IC0tPiAwMDoyMTo0MCwzMDANCmkgamWcbGkg bmllIHByenlqbWllc3ogdGVqIG9mZXJ0eSwNCmlkemllbXkgZG8gc7lkdSwNCg0KNDAzDQowMDoy MTo0MCwzNDIgLS0+IDAwOjIxOjQyLDgwMw0KdyBrdPNyeW0gd3l0cuoNCnRhbXR5bSBkemllY2lh a2llbSBwb2Szb2fqLg0KDQo0MDQNCjAwOjIxOjQyLDg0NSAtLT4gMDA6MjE6NDUsODA2DQotIE5p ZSBiebNieW0gdGFraSBwZXdpZW4uDQotIEplnGxpIG15nGxpc3osDQoNCjQwNQ0KMDA6MjE6NDUs ODQ4IC0tPiAwMDoyMTo0OCw3NjcNCr9lIHd5d2luaWVzeiBqYWtpnCBudW1lciwNCmJ5IHNpZWR6 aWXmIG9ib2sNCg0KNDA2DQowMDoyMTo0OCw4NTEgLS0+IDAwOjIxOjUxLDMxMQ0KaSB0cnp5bWHm IGdvIHphIHK5Y3pr6iwNCg0KNDA3DQowMDoyMTo1MSwzNTMgLS0+IDAwOjIxOjU1LDAyMw0KdG8g bGVwaWVqIG5hIHRvIG5pZSBsaWN6LA0KYm8gYnmzZZwgc2themFueSB6YSBvc3p1c3R3bw0KDQo0 MDgNCjAwOjIxOjU1LDA2NSAtLT4gMDA6MjE6NTYsNjA4DQppIL9hZGVuIHPqZHppYSCcd2lhdGEN Cg0KNDA5DQowMDoyMTo1Niw2NTAgLS0+IDAwOjIxOjU5LDY1Mw0KbmllIHBvendvbGkgY2kgenJv YmnmDQp6IGplZ28gc2FsaSBzuWRvd2VqIGN5cmt1Lg0KDQo0MTANCjAwOjIyOjA2LDE1OSAtLT4g MDA6MjI6MTEsMjA2DQpDaHJ5c3RlLCBt82ogbGVrYXJ6IHBpc3plDQpjenl0ZWxuaWVqIG5pvyBI YXJ2ZXkuDQoNCjQxMQ0KMDA6MjI6MTEsMjQ4IC0tPiAwMDoyMjoxMiw0NTcNCjxpPk5hd2V0IG5p ZSBt83cuPC9pPg0KDQo0MTINCjAwOjIyOjEyLDY2NiAtLT4gMDA6MjI6MTUsMjk0DQo8aT5CYXpn cnplIGphayBNZWwgR2lic29uDQp3ICJTYXR1cmRheSBOaWdodCIuPC9pPg0KDQo0MTMNCjAwOjIy OjE1LDMzNSAtLT4gMDA6MjI6MTgsOTIyDQpKYXNueSBnd2ludCEgVW1pZXN6IG5hd2V0DQpkb3Bh c293eXdh5iB3eXBvd2llZHppIGRvIHN5dHVhY2ppPw0KDQo0MTQNCjAwOjIyOjE4LDk2NCAtLT4g MDA6MjI6MjEsMzAwDQo8aT5PY3p5d2mcY2llLg0KWmEga29nbyBtbmllIG1hc3o/PC9pPg0KDQo0 MTUNCjAwOjIyOjIxLDM0MSAtLT4gMDA6MjI6MjUsMDk1DQo8aT5Qb3phIHR5bSB3s2GcbmllIGRv ZGGzYW0NCiJKYXNueSBnd2ludCEiIGRvIHOzb3duaWthLjwvaT4NCg0KNDE2DQowMDoyMjoyNSwx MzcgLS0+IDAwOjIyOjI4LDU5OQ0KLSBNdXNpYbNhnCB0byB6bmHmLg0KPGk+LSBTcPNqcnpjaWUs IGt0byBkb7O5Y3p5syBkbyBpbXByZXp5LjwvaT4NCg0KNDE3DQowMDoyMjoyOCw2NDAgLS0+IDAw OjIyOjMyLDcyOA0KPGk+IkltcHJlemEiIC0gc2NlbmFyaXVzeiwgcmW/eXNlcmlhDQppIHcgcm9s aSBns/N3bmVqIC0gRG9ubmEuPC9pPg0KDQo0MTgNCjAwOjIyOjMyLDc2OSAtLT4gMDA6MjI6MzUs ODk4DQotIERvYnJ6ZSBrb21iaW51amVzei4NCjxpPi0gUGV3bmllLCBqZXN0ZW0gdG9iuS48L2k+ DQoNCjQxOQ0KMDA6MjI6MzUsOTM5IC0tPiAwMDoyMjozOSwzNTkNCi0gV2llc3osIGpha2EgamVz dGWcPw0KPGk+LSBDdWRvd25hLjwvaT4NCg0KNDIwDQowMDoyMjo0MSwwNjkgLS0+IDAwOjIyOjQz LDExMw0KLSBQcnplcndhIG5hIGthd+o/DQo8aT4tIFphc7N1v3mzeZxteS48L2k+DQoNCjQyMQ0K MDA6MjI6NDMsMTU1IC0tPiAwMDoyMjo0Myw5ODkNClpnYWR6YSBzaeouDQoNCjQyMg0KMDA6MjI6 NDQsMDMxIC0tPiAwMDoyMjo0OCwzMjcNCjxpPkkgv2FkbmVqIGx1cnksIGpha7kgcGlqZSBHcmV0 Y2hlbi4NCox3aWW/byBwYXJ6b25hIGFsYm8gv2FkbmEuPC9pPg0KDQo0MjMNCjAwOjIyOjQ4LDM2 OCAtLT4gMDA6MjI6NTAsNzQ2DQpPZCBraWVkeSBqZXN0ZZwNCnRha2Egd3JlZG5hPw0KDQo0MjQN CjAwOjIyOjUzLDk1NyAtLT4gMDA6MjI6NTUsMjkyDQpEb2JyemUsIL9lIGplc3RlnC4NCg0KNDI1 DQowMDoyMjo1NSwzMzQgLS0+IDAwOjIyOjU3LDc1Mw0KRG9zdGGzZW0gd2lhZG9tb5zmLg0KWm5h bGF6s2WcIGNvnD8NCg0KNDI2DQowMDoyMjo1OCwwNDUgLS0+IDAwOjIyOjU5LDc1NQ0KVHkgbWkg cG93aWVkei4NCg0KNDI3DQowMDoyMzowMywxMzMgLS0+IDAwOjIzOjA1LDU1Mg0KLSBUbyB3aWVs ZSB0s3VtYWN6eS4NCi0gWmdhZHphIHNp6i4NCg0KNDI4DQowMDoyMzowNSw5NjkgLS0+IDAwOjIz OjA4LDY4MA0KLSBEb2JyYSByb2JvdGEuIExlY+ouDQotIERva7lkIGlkemllc3o/DQoNCjQyOQ0K MDA6MjM6MDgsNzY0IC0tPiAwMDoyMzoxMSwwMTYNClVzdGF3aeYgdGVnbyBkdXBrYSBkbyBwaW9u dS4NCg0KNDMwDQowMDoyMzoxMSwwNTggLS0+IDAwOjIzOjE0LDEwMg0KWmFt83dps2VtIGNpIGth bmFwa+oNCnogaW5keWtpZW0gaSBvZ/Nya2llbS4NCg0KNDMxDQowMDoyMzoxNCwxNDQgLS0+IDAw OjIzOjE5LDc3NQ0KLSBNYW0gc2nqIHpharnmIHByb2JsZW1lbSBSYWNoZWw/DQotIENoY2lhs2Vt IHR5bGtvIHBvcm96bWF3aWHmLg0KDQo0MzINCjAwOjIzOjIwLDA2NyAtLT4gMDA6MjM6MjEsNDAx DQpPIGN6eW0/DQoNCjQzMw0KMDA6MjM6MjEsNDQzIC0tPiAwMDoyMzoyNSw2OTcNCk11c3rqIHog a2ltnCBwb2dhZGHmLg0KTmllIGNob2R6aSBvIGludGVyZXN5Lg0KDQo0MzQNCjAwOjIzOjI1LDcz OSAtLT4gMDA6MjM6MjksNzQzDQotIFogZG9kYXRrb3d5bSBvZ/Nya2llbT8NCi0gVGFrIG1pIHBv bGVjabNhIERvbm5hLg0KDQo0MzUNCjAwOjIzOjMyLDI0NiAtLT4gMDA6MjM6MzQsNjY1DQpXIHBv cnq5ZGt1Lg0KTWFtIGNod2ls6i4NCg0KNDM2DQowMDoyMzozOCw4MzYgLS0+IDAwOjIzOjQxLDAw NA0KV3ljenV3YXN6LA0Kv2UgamVzdCCcd2llv28gcGFyem9uYT8NCg0KNDM3DQowMDoyMzo0MSww NDYgLS0+IDAwOjIzOjQ1LDU1MQ0KPGk+LSBKZXN0ZW0gemF3b2Rvd2NlbS48L2k+DQotIE5pZSBt dXNpc3ogbWkgbfN3aeYuDQoNCjQzOA0KMDA6MjM6NDUsODQzIC0tPiAwMDoyMzo0Nyw1OTQNClBv cm96bWF3aWFteT8NCg0KNDM5DQowMDoyMzo0Nyw2MzYgLS0+IDAwOjIzOjUxLDc2NQ0KPGk+LSBP Y3p5d2mcY2llLiBPIGNvIGNob2R6aT88L2k+DQotIENvIHRvIGplc3Q/DQoNCjQ0MA0KMDA6MjM6 NTEsODQ5IC0tPiAwMDoyMzo1NiwzNTMNCk5henl3YSBzaeogRG9ubmF0b3IuDQpUbyBjdWRvIEJl bmphbWluYS4NCg0KNDQxDQowMDoyMzo1Niw2NDUgLS0+IDAwOjIzOjU3LDcyOQ0KWmFweXRhaiBv IGNvnC4NCg0KNDQyDQowMDoyMzo1Nyw3NzEgLS0+IDAwOjI0OjAwLDY5MQ0KTmllIGNoY+ogcHl0 YeYgbyBjb5wsDQp0eWxrbyBtYW0gZG8gY2llYmllIHNwcmF36i4NCg0KNDQzDQowMDoyNDowMCw3 MzIgLS0+IDAwOjI0OjAyLDE5Mg0KTyB0byBjaG9kemkuDQpUbyBqYS4NCg0KNDQ0DQowMDoyNDow MiwyMzQgLS0+IDAwOjI0OjA1LDQwNA0KPGk+LSBKZXN0ZW0gbGVwc3phIG9kIGNpZWJpZS48L2k+ DQotIFNhbWEgc7N5c3p5c3ouDQoNCjQ0NQ0KMDA6MjQ6MDUsNDQ1IC0tPiAwMDoyNDowNywxOTcN Ck3zd2nqIHBvd2G/bmllLg0KDQo0NDYNCjAwOjI0OjA3LDIzOSAtLT4gMDA6MjQ6MTEsMzY4DQpU byB1cm9jemEgemFiYXdrYSwNCmFsZSBtb2fqIHBvcm96bWF3aWHmIHogcHJ6eWphY2nzs2u5Pw0K DQo0NDcNCjAwOjI0OjExLDUzNSAtLT4gMDA6MjQ6MTMsODcxDQo8aT5N83dpuWMgcHJ6eWphY2nz s2thLi4uPC9pPg0KDQo0NDgNCjAwOjI0OjE0LDg3MiAtLT4gMDA6MjQ6MTgsNTQyDQpPY3p5d2mc Y2llLCBSYWNoZWwuDQpPIGNvIGNob2R6aT8NCg0KNDQ5DQowMDoyNDoyMCw1NDQgLS0+IDAwOjI0 OjI1LDA5MA0KQ3p5bGkgemFrb2NoYbNlnCBzaeogdyBuaWVqDQpwbyAxMCBtaW4uIHpuYWpvbW+c Y2ksDQoNCjQ1MA0KMDA6MjQ6MjUsMTMyIC0tPiAwMDoyNDoyOSw3NjENCmNoY2VzeiBquSBwb5xs dWJp5g0KaSB3eWNob3dh5iBkemllY2tvIGlubmVnbyBmYWNldGEuDQoNCjQ1MQ0KMDA6MjQ6Mjks ODQ1IC0tPiAwMDoyNDozMCw3MjENClcgc2ty82NpZS4NCg0KNDUyDQowMDoyNDozMCw3NjIgLS0+ IDAwOjI0OjMzLDU5OQ0KLSBJIGN6ZWdvIG9kZSBtbmllIG9jemVrdWplc3o/DQotIFJhZHkuDQoN CjQ1Mw0KMDA6MjQ6MzMsNjQwIC0tPiAwMDoyNDozNiwzMTANCkZhY2V0IGLqZHppZSBuYSBiYWRh bml1DQppIG1vZ+ogY2+cIG9kd2FsaeYuDQoNCjQ1NA0KMDA6MjQ6MzYsMzUxIC0tPiAwMDoyNDoz OCw3MjkNCkRsYWN6ZWdvIHByenljaG9kemlzeg0KeiB0eW0gZG8gbW5pZT8NCg0KNDU1DQowMDoy NDozOCw3NzAgLS0+IDAwOjI0OjQyLDA2NQ0KLSBOaWUgem5hbSBzaeogbmEuLi4NCi0gRGxhdGVn by4NCg0KNDU2DQowMDoyNDo0MiwxNDkgLS0+IDAwOjI0OjQ1LDk0NA0KUm96dW1pZXN6Pw0KRGxh dGVnbyBwcnp5Y2hvZHrqIGRvIGNpZWJpZS4NCg0KNDU3DQowMDoyNDo0NiwwNjkgLS0+IDAwOjI0 OjQ3LDUyOQ0KUHJ6eXN0b2puaWFrLg0KDQo0NTgNCjAwOjI0OjQ3LDU3MSAtLT4gMDA6MjQ6NTAs NjE2DQpUbyBuaWUgcHJ6eXN0b2puaWFrLg0KVG8gY2hvZHq5Y3kgaWRlYbMuDQoNCjQ1OQ0KMDA6 MjQ6NTAsNjU3IC0tPiAwMDoyNDo1MiwyMDENCk11c3rqIHdpZWR6aWXmLCBjbyBteZxsaS4NCg0K NDYwDQowMDoyNDo1MiwyNDIgLS0+IDAwOjI0OjU0LDgyOA0KTmllIHpuYW0gbXmcbGkNCndzenlz dGtpY2ggcHJ6eXN0b2puaWFr83cuDQoNCjQ2MQ0KMDA6MjQ6NTQsODcwIC0tPiAwMDoyNDo1Nyw0 MTQNCi0gQ28gd2lkemlzeiBwYXRyerljDQpuYSBtbmllPyAtIENvPw0KDQo0NjINCjAwOjI0OjU3 LDQ1NiAtLT4gMDA6MjU6MDIsMDAyDQpXeW1pZfEgdHJ6eSBwaWVyd3N6ZSByemVjenksDQprdPNy ZSB3ZSBtbmllIHdpZHppc3ouDQoNCjQ2Mw0KMDA6MjU6MDIsMDQ0IC0tPiAwMDoyNTowNCw3OTYN Ci0gWupieSwgbm9zLCB66mJ5Lg0KLSBN83cgcG93Yb9uaWUhDQoNCjQ2NA0KMDA6MjU6MDQsODM4 IC0tPiAwMDoyNTowOCw1OTINCi0gTfN3aeouDQotIFdpZXN6IGNvPw0KDQo0NjUNCjAwOjI1OjA4 LDYzNCAtLT4gMDA6MjU6MTIsNDI5DQotIE5pZXBvdHJ6ZWJuaWUgcHl0YbNlbS4NCi0gTmlld2G/ bmUsIGNvIHdpZHrqLg0KDQo0NjYNCjAwOjI1OjEyLDQ3MSAtLT4gMDA6MjU6MTUsODA3DQpXYb9u ZSwgY28gb25hIHdpZHppLA0KYSBjb5wgbXVzaSB3IHRvYmllIHdpZHppZeYuDQoNCjQ2Nw0KMDA6 MjU6MTUsODQ5IC0tPiAwMDoyNToyMCw4OTYNCi0gSW5hY3plaiBiebNhYnkgeiBuaW0sIG5pZSB6 IHRvYrkuDQotIERvY2VuaWFtIHRvLCBhbGUgem5hc3ogbW5pZS4NCg0KNDY4DQowMDoyNToyMCw5 MzggLS0+IDAwOjI1OjI0LDkwMA0KQupk6iBzdGGzIG9ib2sgbmllZ28NCmkgcGF0cnp5syBuYSBp Y2ggd3Nw82xuZSBkemlls28uDQoNCjQ2OQ0KMDA6MjU6MjQsOTQyIC0tPiAwMDoyNToyNyw0MDIN CkphayBtYW0gYnnmIHNwb2tvam55Pw0KDQo0NzANCjAwOjI1OjI3LDQ0NCAtLT4gMDA6MjU6MzAs OTA2DQpUbyBqZWdvIGR6aWVja28uDQpBbGUgdHdvamUgcvN3bmllvy4NCg0KNDcxDQowMDoyNToz MCw5NDggLS0+IDAwOjI1OjM1LDU3Nw0KUG93aW5ubyBjaSB6YWxlv2XmLA0KYnkgbWlhs28gamFr IG5handp6mNlaiBtabNvnGNpLg0KDQo0NzINCjAwOjI1OjM1LDY2MSAtLT4gMDA6MjU6NDIsMDQy DQpBIHcgdHltIGNlbHUgcG93aW5ubyBtaWXmIGRvYnJ5IGtvbnRha3QNCnogb2pjZW0sIGJvIHJv ZHppbmEgdG8gcG9kc3Rhd2EuDQoNCjQ3Mw0KMDA6MjU6NDMsMDQzIC0tPiAwMDoyNTo0NSw4NzkN Ck1hc3ogcmFjauouDQpEemnqa3Vq6i4NCg0KNDc0DQowMDoyNTo1MCwwNTAgLS0+IDAwOjI1OjUz LDU1NA0KSGVqLCBNaWtlLg0KSmFrIGxlY2k/DQoNCjQ3NQ0KMDA6MjU6NTMsNzYyIC0tPiAwMDoy NTo1NywxNDANCi0gVyBjenltIG1vZ+ogcG9t82M/DQotIFJ6deYgbmEgdG8gb2tpZW0uDQoNCjQ3 Ng0KMDA6MjU6NTksOTM1IC0tPiAwMDoyNjowNCwzOTgNCk1hcmlzc2EgbWEgemFzdOpwb3dh5g0K T2xpdmVyYSB3IGplZ28gc3ByYXdpZT8NCg0KNDc3DQowMDoyNjowNCw0MzkgLS0+IDAwOjI2OjA2 LDAyNA0KVGFrLg0KDQo0NzgNCjAwOjI2OjA2LDA2NiAtLT4gMDA6MjY6MDcsOTAxDQotIE5pZSBt YSBtb3d5Lg0KLSBEbGFjemVnbz8NCg0KNDc5DQowMDoyNjowNyw5NDMgLS0+IDAwOjI2OjEwLDAy OA0KSmVzdCBhZHdva2F0ZW0sDQphIG9uYSBzdHVkZW50a7kuDQoNCjQ4MA0KMDA6MjY6MTAsMDcw IC0tPiAwMDoyNjoxMiw0ODkNCi0gTmEgc2FsaSB6amFkYSBnbyBzdHJlcy4NCi0gQnJhayBqZWog ZG+cd2lhZGN6ZW5pYS4NCg0KNDgxDQowMDoyNjoxMiw1MzEgLS0+IDAwOjI2OjE0LDk5Mg0KVyBw cnplY2l3aWXxc3R3aWUgZG8gbmllag0KbmllIHBvcmFkemkgc29iaWUuDQoNCjQ4Mg0KMDA6MjY6 MTUsMDMzIC0tPiAwMDoyNjoxNyw5OTUNCi0gV2G/uSBzaeogdHV0YWogbG9zeSB0ZWoga29iaWV0 eS4NCi0gTmllY2ggaWR6aWUgbmEgdWuzYWQuDQoNCjQ4Mw0KMDA6MjY6MTgsMDM2IC0tPiAwMDoy NjoxOSw3NDYNCk5pZSBjaGNlLg0KDQo0ODQNCjAwOjI2OjIxLDU0MCAtLT4gMDA6MjY6MjQsMjA5 DQpTdGF3aWFzeiBtbmllDQp3IG5pZXpy6mN6bnltIHBvs2+/ZW5pdS4NCg0KNDg1DQowMDoyNjoy NCwyNTEgLS0+IDAwOjI2OjI2LDA0NA0KWmF0cnVkbmmzZZwgbW5pZSBwbyBjb5wuDQoNCjQ4Ng0K MDA6MjY6MjcsMTcxIC0tPiAwMDoyNjozMCw4NDENCk1pYbNlbSB6YXJ6uWR6YeYgcGVyc29uZWxl bS4NClBvendvbGlzeiBtaSBuYSB0bz8NCg0KNDg3DQowMDoyNjozMiw0NjcgLS0+IDAwOjI2OjM2 LDE4MA0KUHJvc3rqIGJhcmR6bywNCmFsZSB0eSBvIHR5bSBwb3dpZXN6IE9saXZlcm93aS4NCg0K NDg4DQowMDoyNjo0NSw4OTggLS0+IDAwOjI2OjQ3LDY5MQ0KQ2hjaWGzZZwgbW5pZSB3aWR6aWXm Pw0KDQo0ODkNCjAwOjI2OjQ4LDc3NSAtLT4gMDA6MjY6NTAsNzc3DQpUYWssIHVzablkny4NCg0K NDkwDQowMDoyNjo1MSwwNjkgLS0+IDAwOjI2OjU1LDAzMg0KLSBDaG9kemkgbyBzcHJhd+ogU29m aWkgUHJpY2UuDQotIE1pYbNlbSBjaSBwb3dpZWR6aWXmLA0KDQo0OTENCjAwOjI2OjU1LDA3MyAt LT4gMDA6MjY6NTgsNzAyDQq/ZSB3IDUgcG9kb2JueWNoIHNwcmF3YWNoDQp6YXdhcnRvIGtvcnp5 c3RuZSB1Z29keS4NCg0KNDkyDQowMDoyNjo1OSw2NjEgLS0+IDAwOjI3OjA0LDg3NQ0KRG9icmEg cm9ib3RhLCB3eWtvcnp5c3RhbXkgdG8uDQpNdXNpc3ogY2+cIGRsYSBtbmllIHpyb2Jp5i4NCg0K NDkzDQowMDoyNzoxMSwyOTggLS0+IDAwOjI3OjE0LDk2OA0KLSBNYXJpc3NhIG1hIGJ55iBns/N3 bnltIG9icm/xY7k/DQotIFRhayBi6mR6aWUgbmFqbGVwaWVqLg0KDQo0OTQNCjAwOjI3OjE1LDE3 NyAtLT4gMDA6Mjc6MTgsMjIyDQpEbGEgY2llYmllIHRvIHOzdXN6bmEgZGVjeXpqYSwNCmFsZSBw b3JhZHrqIHNvYmllLg0KDQo0OTUNCjAwOjI3OjE4LDI2MyAtLT4gMDA6Mjc6MjEsOTc1DQpQcnp5 a3JvIG1pLg0KTmllIGplc3RlnCBqZXN6Y3plIGdvdPN3Lg0KDQo0OTYNCjAwOjI3OjIyLDY4NCAt LT4gMDA6Mjc6MjUsMjI5DQpTYW0gbfN3abNlnCwNCnplIHpqYWRhIGNp6iBzdHJlcy4NCg0KNDk3 DQowMDoyNzoyNSwyNzAgLS0+IDAwOjI3OjMwLDgxNw0KQWxlIGplnGxpIG1hbSBieeYgZG9icnks DQptdXN66iBqYWsgbmFqd2nqY2VqIOZ3aWN6eeYuDQoNCjQ5OA0KMDA6Mjc6MzAsODU5IC0tPiAw MDoyNzozNywzNjYNCkplnGxpIGLqZHppZSBtb79saXdvnOYsDQpwb3p3b2zqIGNpIGJyb25p5iwg YWxlIG5pZSB0ZXJhei4NCg0KNDk5DQowMDoyNzozNyw1NzQgLS0+IDAwOjI3OjQwLDQ5NA0KVG8g c3phbnNhIGRsYSBNYXJpc3N5DQppIG1hc3ogarkgd3NwaWVyYeYuDQoNCjUwMA0KMDA6Mjc6NDEs Nzg3IC0tPiAwMDoyNzo0NCw0OTgNCi0gQupk6i4NCi0gVyBwb3J6uWRrdS4NCg0KNTAxDQowMDoy Nzo0Niw1ODMgLS0+IDAwOjI3OjUwLDI5NQ0KLSBQb3dpZW0gamVqLg0KLSBOaWUgbXVzaXN6IHRl Z28gcm9iaeYuDQoNCjUwMg0KMDA6Mjc6NTAsODc5IC0tPiAwMDoyNzo1Miw1ODkNCk11c3rqLg0K DQo1MDMNCjAwOjI3OjUzLDA5MCAtLT4gMDA6Mjc6NTcsNjc4DQpMZXBpZWogZGxhIHBvcmFkbmks IGplnGxpIHBvbXmcbGksDQq/ZSB0byBqYSB6cmV6eWdub3dhs2VtLg0KDQo1MDQNCjAwOjI4OjEw LDk4MyAtLT4gMDA6Mjg6MTEsNzMzDQpXcvNjabMgcGFuLg0KDQo1MDUNCjAwOjI4OjExLDc3NSAt LT4gMDA6Mjg6MTUsNTI5DQpUYWssIGkgcHJ6eWpyemGzZW0gc2nqIHBhbnUuDQoNCjUwNg0KMDA6 Mjg6MTUsNTcxIC0tPiAwMDoyODoxOCw2MTUNCi0gVG8gbmlld2llbGUgcGFuIHpuYWxherMuDQot IFd5s2+/6iB0byBwYW51Lg0KDQo1MDcNCjAwOjI4OjE4LDY1NyAtLT4gMDA6Mjg6MjIsNzg2DQpW ZWxvY2l0eSBEYXRhIFNvbHV0aW9ucyB1a3JhZLNvDQpwYfFza7kgdGVjaG5vbG9naeouDQoNCjUw OA0KMDA6Mjg6MjIsOTk1IC0tPiAwMDoyODoyOCwwODMNCkNoY2UgcGFuIG9kenlza2HmLCBjbyBz d29qZS4NClpnYWR6YSBzaeo/DQoNCjUwOQ0KMDA6Mjg6MjgsMjkyIC0tPiAwMDoyODozMSw2NzAN ClByemV6IG5pY2ggbW9qYSBmaXJtYQ0KcPNqZHppZSBuYSBkbm8uDQoNCjUxMA0KMDA6Mjg6MzIs MTcxIC0tPiAwMDoyODozNCw2MzENCi0gTHVkemllIHN0cmFjuSBwcmFj6i4NCi0gSmVzdCBwb2xp Y2phPw0KDQo1MTENCjAwOjI4OjM0LDY3MyAtLT4gMDA6Mjg6MzYsODQyDQotIE5pZSBtb2fqLiAt IERsYWN6ZWdvPw0KLSBCbyBuaWUgbW9n6i4NCg0KNTEyDQowMDoyODozNiw4ODQgLS0+IDAwOjI4 OjQwLDkyOQ0KUG93aWVtIGRsYWN6ZWdvLg0KQm8ga3RvnCBjenlzdHkgamFrIHqzYQ0KDQo1MTMN CjAwOjI4OjQwLDk3MSAtLT4gMDA6Mjg6NDQsNDMzDQpuaWUgdWNpZWths2J5IHNp6iBkbyBwb3N0 YXdpZW5pYQ0KdGFraWVnbyB3YXJ1bmt1Lg0KDQo1MTQNCjAwOjI4OjQ0LDQ3NCAtLT4gMDA6Mjg6 NDcsMzUyDQpQYW4gcG90cnplYnVqZSBtbmllIGJhcmR6aWVqDQpuab8gamEgcGFuYS4NCg0KNTE1 DQowMDoyODo0NywzOTQgLS0+IDAwOjI4OjUwLDYwNg0KUHJvc3rqIHphZHp3b25p5iwNCmdkeSB6 ZWNoY2UgcGFuIHBvd2llZHppZeYgcHJhd2TqLg0KDQo1MTYNCjAwOjI4OjU0LDU2OCAtLT4gMDA6 Mjg6NTYsNTcwDQpPZGVicmFsaSBtaSB0by4NCg0KNTE3DQowMDoyODo1Niw3NzggLS0+IDAwOjI5 OjAwLDI4Mg0KLSBTs3VjaGFtLg0KLSBXZGGzZW0gc2nqIHcgcm9tYW5zLg0KDQo1MTgNCjAwOjI5 OjAxLDA3NCAtLT4gMDA6Mjk6MDQsNTc4DQpCZXpteZxsbmllIGRhs2VtIGplag0KZG9zdOpwIGRv IGxhcHRvcGEuDQoNCjUxOQ0KMDA6Mjk6MDQsNzg2IC0tPiAwMDoyOTowNyw1ODENClBh8XNrYSC/ b25hIG5pZSBtb79lDQpzaeogZG93aWVkemll5i4NCg0KNTIwDQowMDoyOTowNyw2NjQgLS0+IDAw OjI5OjExLDI1MQ0KLSBEbGF0ZWdvIHBvbGljamEgb2RwYWRhLg0KLSBUZXJheiBwYW4gd2llLg0K DQo1MjENCjAwOjI5OjExLDI5MyAtLT4gMDA6Mjk6MTUsMTcyDQpXaWVtLCC/ZSBSYWNoZWwgWmFu ZQ0KemFzs3VndWplIG5hIHRvIG1pZWpzY2UuDQoNCjUyMg0KMDA6Mjk6MTUsMjk3IC0tPiAwMDoy OToyMCwyMTkNCkLqZHppZSBwYW4garkgcG9waWVyYeYNCmkgcG93c3RyenlteXdh5iBzcHJ6ZWNp d3kgaW5ueWNoLg0KDQo1MjMNCjAwOjI5OjIwLDI2MCAtLT4gMDA6Mjk6MjEsMzQ1DQpOaWUgbW9n 6i4uLg0KDQo1MjQNCjAwOjI5OjIxLDM4NiAtLT4gMDA6Mjk6MjYsNzI1DQpTa29ybyBwcnp5Ymxv a293YbMgcGFuIGq5LA0KcmFkeuogamVqIHRlcmF6IHBvbfNjLg0KDQo1MjUNCjAwOjI5OjI2LDc2 NyAtLT4gMDA6Mjk6MzAsNTIxDQotIEkgenJvYmkgcGFuLCBjbyB6ZWNoY+o/DQotIE5pZS4NCg0K NTI2DQowMDoyOTozMCw1NjIgLS0+IDAwOjI5OjM0LDE0OQ0KUG9wcnplIGq5IHBhbiwgYm8gdGFr IHRyemViYS4NCg0KNTI3DQowMDoyOTozNCwxOTEgLS0+IDAwOjI5OjM4LDE5NQ0KQWxlIHpyb2Jp 6iB0bywgY28gcGFuIGNoY2UNCncgemFtaWFuIHphIGNvnCBpbm5lZ28uDQoNCjUyOA0KMDA6Mjk6 NDMsMjgzIC0tPiAwMDoyOTo0NSw0OTQNCk11c2lteSBwb3Jvem1hd2lh5i4NCg0KNTI5DQowMDoy OTo0NywxNjIgLS0+IDAwOjI5OjQ4LDMzMA0KQ28gamVzdD8NCg0KNTMwDQowMDoyOTo0OCwzNzIg LS0+IDAwOjI5OjUxLDA4Mw0KT2xpdmVyIHByemVrYXphsyBtaSBha3RhIFNvZmlpLg0KDQo1MzEN CjAwOjI5OjUxLDE2NiAtLT4gMDA6Mjk6NTQsNjcwDQpUd2llcmR6aSwgv2UgamEgcG93aW5uYW0N CnByb3dhZHpp5iB06iBzcHJhd+ouDQoNCjUzMg0KMDA6Mjk6NTQsOTYyIC0tPiAwMDoyOTo1OCw3 MTUNCldpZW0sIHJvem1hd2lhbGmcbXkgbyB0eW0NCmkgemdvZHpps2VtIHNp6i4NCg0KNTMzDQow MDoyOTo1OCw3NTcgLS0+IDAwOjMwOjAxLDgwMg0KVG8gbmllIGJ5syBqZWdvIHBvbXlzsy4NCkJ5 syB0d/NqLg0KDQo1MzQNCjAwOjMwOjAyLDE3NyAtLT4gMDA6MzA6MDUsMzQ3DQpTuWR6aXN6LCC/ ZSBuaWUgamVzdCBnb3Rvd3ksDQpkbGF0ZWdvIHByenljaG9keuouDQoNCjUzNQ0KMDA6MzA6MDUs Mzg5IC0tPiAwMDozMDowOCw4NTENCi0gTWFyaXNzYSwgcG9yYWR6aXN6IHNvYmllLg0KLSBQb3Jh ZHpps2FieW0gc29iaWUuDQoNCjUzNg0KMDA6MzA6MDgsODkyIC0tPiAwMDozMDoxMCw4OTQNClBy b2JsZW0gdyB0eW0sIL9lIG5pZSBtb2fqLg0KDQo1MzcNCjAwOjMwOjExLDk3OSAtLT4gMDA6MzA6 MTMsMzk3DQpPIGN6eW0gbfN3aXN6Pw0KDQo1MzgNCjAwOjMwOjE4LDA2OCAtLT4gMDA6MzA6MjMs MTk4DQpN82ogb2pjaWVjIHphY2hvcm93YbMuDQpOaWUgY2hjaWGzYW0gbyB0eW0gbfN3aeYsIGFs ZS4uLg0KDQo1MzkNCjAwOjMwOjI0LDc4MyAtLT4gMDA6MzA6MjgsNDUzDQpXeW1hZ2Egb3BlcmFj amkNCmkganW/IHphs2F0d2mzYW0gdXJsb3AuDQoNCjU0MA0KMDA6MzA6MjgsNDk1IC0tPiAwMDoz MDozNCw0MTgNCk11c3rqIGJ55iBwcnp5IG5pbSwNCmFsZSBtb79lIGpha2+cIHByenlsZWPqIHdj emWcbmllai4uLg0KDQo1NDENCjAwOjMwOjM0LDQ1OSAtLT4gMDA6MzA6MzYsMTcwDQpXeXN0YXJj enkuDQoNCjU0Mg0KMDA6MzA6MzgsNTg5IC0tPiAwMDozMDo0MCwzODINClcgcG9yerlka3UuDQoN CjU0Mw0KMDA6MzA6NDAsNTkxIC0tPiAwMDozMDo0NSw4MDQNCi0gQ2hj6iBwb23zYyBTb2ZpaS4N Ci0gV2llbSwgYWxlIG11c2lzeiBieeYgcHJ6eSBvamN1Lg0KDQo1NDQNCjAwOjMwOjQ4LDI2NSAt LT4gMDA6MzA6NTAsOTc2DQotIENvIHpyb2Jpc3o/DQotIENvnCB3eW15nGzqLg0KDQo1NDUNCjAw OjMxOjA3LDA3NSAtLT4gMDA6MzE6MDksNzAzDQotIEphayBjaSBzaeogc3BvZG9iYbNhLi4uDQot IE5pZSB6Z2FkemFtIHNp6i4NCg0KNTQ2DQowMDozMTowOSw3ODYgLS0+IDAwOjMxOjExLDMzMA0K Q28gdG8gem5hY3p5Pw0KDQo1NDcNCjAwOjMxOjExLDM3MSAtLT4gMDA6MzE6MTYsODc3DQpUbyB1 cm9jemEgemFiYXdrYSwNCmFsZSBuaWUgY2hj6iBuYSB0eW0gemFyYWJpYeYuDQoNCjU0OA0KMDA6 MzE6MTcsMDg1IC0tPiAwMDozMToxOSwxMjkNCk5pZSBzcG9kb2JhsyBjaQ0Kc2nqIHRlbiBwb215 c7M/DQoNCjU0OQ0KMDA6MzE6MTksMTcxIC0tPiAwMDozMToyNCw5MjcNClNwb2RvYmGzLCBhbGUg bmllIHdpZWR6aWGzYW0sDQq/ZSB0byB0eWxrbyBjaep0ZSByaXBvc3R5Lg0KDQo1NTANCjAwOjMx OjI0LDk2OCAtLT4gMDA6MzE6MjgsMTgwDQotIEFsZSB0YWthIGplc3RlnC4NCi0gTmllLCBCZW5q YW1pbi4NCg0KNTUxDQowMDozMToyOCwzODggLS0+IDAwOjMxOjMyLDg5Mw0KVGFrIG1uaWUgcG9z dHJ6ZWdhc3osDQpibyBzaeogbmllIHpuYW15LA0KDQo1NTINCjAwOjMxOjMyLDk3NiAtLT4gMDA6 MzE6NDEsMjM1DQphIGplc3RlbSB3eWq5dGtvd2EgZHpp6mtpDQppbnR1aWNqaSwgZW1wYXRpaSBp IHNlcmN1Lg0KDQo1NTMNCjAwOjMxOjQxLDI3NiAtLT4gMDA6MzE6NDcsNTc0DQpUZWdvIGJyYWt1 amUgdGVtdSB1cnq5ZHplbml1Lg0KV3liYWN6LCBhbGUgbmllIHdjaG9keuogdyB0by4NCg0KNTU0 DQowMDozMTo1NSwzNzQgLS0+IDAwOjMyOjAwLDgzOA0KUG9nYWRhs2J5bSwgYWxlIGRsYSBvZG1p YW55DQp3eWJpZXJhbSBzaeogZG8ga2luYS4NCg0KNTU1DQowMDozMjowMCw4NzkgLS0+IDAwOjMy OjAzLDc5OQ0KLSBaYWpt6iBjaHdpbOouDQotIE8gY28gY2hvZHppPw0KDQo1NTYNCjAwOjMyOjA1 LDY3NiAtLT4gMDA6MzI6MDcsODAzDQpC6mR6aWVzeiBicm9uaeYganV0cm8gUHJpY2U/DQoNCjU1 Nw0KMDA6MzI6MDksMDk2IC0tPiAwMDozMjoxMywwMTYNCk1hbSB3emm55iBzcHJhd+osIGt083K5 IGKzYWdhs2WcLA0KYnkgcHJ6ZWthemHmIE1hcmlzc2llLg0KDQo1NTgNCjAwOjMyOjEzLDA1OCAt LT4gMDA6MzI6MTYsNjAzDQpUYWssIGFsZSBuaWUgbfN3abNlnA0KbyBvcGVyYWNqaSBqZWogb2pj YS4NCg0KNTU5DQowMDozMjoxNiw3NzAgLS0+IDAwOjMyOjIwLDY5MQ0KLSBOaWUgd2llZHppYbNl bS4NCi0gRGxhdGVnbyBiaWVyemUgdXJsb3AuDQoNCjU2MA0KMDA6MzI6MjAsODU4IC0tPiAwMDoz MjoyMywxNTENCk1hbSB0byBnZHppZZwuDQpOaWVjaCBpZHppZSBPbGl2ZXIuDQoNCjU2MQ0KMDA6 MzI6MjMsMTkzIC0tPiAwMDozMjoyNyw1MzENCi0gTfN3abNlbSwgv2UgcHJ6ZWdyYS4NCi0gVHJ1 ZG5vLiBNdXN66iBpnOYuDQoNCjU2Mg0KMDA6MzI6MjcsNTczIC0tPiAwMDozMjozMSw5OTQNClNw b2tvam5pZSBpZHppZXN6IGRvIGtpbmE/DQpDbyB6IHRvYrksIGRvIGNob2xlcnk/DQoNCjU2Mw0K MDA6MzI6MzIsMTYwIC0tPiAwMDozMjozMywzNzANCkN6eSB0eS4uLj8NCg0KNTY0DQowMDozMjoz NCw0OTYgLS0+IDAwOjMyOjM4LDI1MA0KVG8gcG9yYWRuaWEgcHJhd2EuDQpOYXNpIGtsaWVuY2kg bWFquSBtYXJuZSBzemFuc2UuDQoNCjU2NQ0KMDA6MzI6MzgsMjkyIC0tPiAwMDozMjo0MiwyNTQN CkN6YXNlbSBsuWR1arkgbmEgdWxpY3ksDQpuaWUgc7kgb3Blcm93YW5pIGN6eSBpY2ggZGVwb3J0 dWq5Lg0KDQo1NjYNCjAwOjMyOjQyLDI5NiAtLT4gMDA6MzI6NDMsMTMwDQqveWNpZS4NCg0KNTY3 DQowMDozMjo0MywxNzIgLS0+IDAwOjMyOjQ2LDYzMw0KT2QgNSBsYXQgbmllIG1pYbNlbSC/eWNp YSwNCmRsYXRlZ28gY2nqIHphdHJ1ZG5ps2VtLg0KDQo1NjgNCjAwOjMyOjQ2LDY3NSAtLT4gMDA6 MzI6NDgsNjc3DQpOaWUgcG96d2FsYWogc29iaWUhDQoNCjU2OQ0KMDA6MzI6NTMsNTU3IC0tPiAw MDozMjo1NSwzNTANCk1hbXkgamVkeW5pZSBPbGl2ZXJhLg0KDQo1NzANCjAwOjMyOjU1LDM5MiAt LT4gMDA6MzM6MDAsMTA1DQpKZZxsaSBzaeogbXUgbmllIHVkYSwgdHJ1ZG5vLg0KVGFrIGp1vyB3 IL95Y2l1IGJ5d2EuDQoNCjU3MQ0KMDA6MzM6MDAsMTg5IC0tPiAwMDozMzowMyw3MzQNClqzb7/q IHduaW9zZWssDQpieSBnbyB3c3BvbWFnYeYuDQoNCjU3Mg0KMDA6MzM6MDMsNzc1IC0tPiAwMDoz MzowNCw5MDINCk5pZS4NCg0KNTczDQowMDozMzowNSwxOTQgLS0+IDAwOjMzOjA3LDk0Ng0KLSBU byB3eWq5dGtvd2Egc3l0dWFjamEuLi4NCi0gUG93aWVkemlhs2VtIG5pZS4NCg0KNTc0DQowMDoz MzowNyw5ODggLS0+IDAwOjMzOjExLDMyNQ0KTmllIGplc3RlnCBwcmF3bmlraWVtLg0KU7lkIGNp 6iBuaWUgZG9wdZxjaS4NCg0KNTc1DQowMDozMzoxMSwzNjYgLS0+IDAwOjMzOjE0LDIwMw0KLSBU byBjaG9jaWG/Li4uDQotIFBvc7N1Y2hhaiENCg0KNTc2DQowMDozMzoxNCwyODYgLS0+IDAwOjMz OjE2LDEyMQ0KWmFyeXp5a293YbNlbSB6IHRvYrksDQoNCjU3Nw0KMDA6MzM6MTYsMTYzIC0tPiAw MDozMzoyMCwwNDINCmFsZSBqZZxsaSB6YXJ5enlrdWplc3oNCnJlcHV0YWNq6iBwb3JhZG5pLA0K DQo1NzgNCjAwOjMzOjIwLDA4MyAtLT4gMDA6MzM6MjYsMDg5DQp6d29sbmnqIGNp6iBpIGRvcGls bnVq6iwNCmJ5nCBuaWUgcG9zdGF3abMgc3RvcHkgdyBzuWR6aWUhDQoNCjU3OQ0KMDA6MzM6MjYs Mjk4IC0tPiAwMDozMzoyOCwwOTENClJvenVtaWVzej8NCg0KNTgwDQowMDozMzoyOSw5NjggLS0+ IDAwOjMzOjM0LDA5Nw0KLSBDenkgdG8gamFzbmU/DQotIFRhaywgamFzbmUuDQoNCjU4MQ0KMDA6 MzM6NDIsMDY0IC0tPiAwMDozMzo0NCw5NDINCk5pZXqzZSBtaWVqc2NlLg0KS2llZHkgY2nqIHBv dOpwabk/DQoNCjU4Mg0KMDA6MzM6NDQsOTgzIC0tPiAwMDozMzo0Nyw3NzgNCi0gQ28gdHV0YWog cm9iaXN6Pw0KLSBNdXNpbXkgcG9nYWRh5i4NCg0KNTgzDQowMDozMzo0OCwzNjIgLS0+IDAwOjMz OjUwLDMyMg0KTmllIHRlcmF6LCBtdXN66i4uLg0KDQo1ODQNCjAwOjMzOjUwLDM2NCAtLT4gMDA6 MzM6NTQsODY4DQpDbywgZ2R5YnltIHBvbfNnsyBjaSBzaeoNCmRvc3Rh5iBkbyBwYWxlc3RyeT8N Cg0KNTg1DQowMDozMzo1NSwyODUgLS0+IDAwOjMzOjU2LDcwMw0KQ28/DQoNCjU4Ng0KMDA6MzM6 NTcsMTYyIC0tPiAwMDozNDowMSwyNTANCkt0b5wgcG9ncnl3YSBuaWUgZG9wdXN6Y3pharljDQpS YWNoZWwgZG8gcm96bW93eSB3c3TqcG5lai4uLg0KDQo1ODcNCjAwOjM0OjAxLDI5MSAtLT4gMDA6 MzQ6MDQsNTAzDQotIE8gY3p5bSBt83dpc3o/DQotIFdzenlzdGtvIGdyYS4NCg0KNTg4DQowMDoz NDowNCw3OTUgLS0+IDAwOjM0OjA3LDAwNQ0KTW+/ZW15IHdjablnbrnmIGkgY2llYmllLg0KDQo1 ODkNCjAwOjM0OjA4LDM4MiAtLT4gMDA6MzQ6MDksNjc1DQpHZHppZSBoYWN6eWs/DQoNCjU5MA0K MDA6MzQ6MTEsODg1IC0tPiAwMDozNDoxNCw4ODgNCk5pZSBtYSBuaWMgemEgZGFybW8uDQpHZHpp ZSBqZXN0IGhhY3p5az8NCg0KNTkxDQowMDozNDoxNSwwOTcgLS0+IDAwOjM0OjE5LDIyNg0KUG96 eXdhbXkgVmVsb2NpdHkgRGF0YSBTb2x1dGlvbnMsDQphYnkgaWNoIGFrY2plIHBvc3qzeSB3IGTz sy4NCg0KNTkyDQowMDozNDoxOSwyNjggLS0+IDAwOjM0OjIxLDQ3OA0Kr2FydHVqZXN6Pw0KTmll IQ0KDQo1OTMNCjAwOjM0OjIxLDU2MiAtLT4gMDA6MzQ6MjYsMDI0DQotIEphayB0byBuaWU/IENv IHogdG9iuT8NCi0gTmllIHdy82PqIGRvIGtpY2lhLg0KDQo1OTQNCjAwOjM0OjI2LDA2NiAtLT4g MDA6MzQ6MzEsNzM4DQotIEEgcG96d3kgZGxhIHBvem9ydSBzuSBuaWVsZWdhbG5lLg0KLSBDaHli YSC/ZSBtYW15IHBvd29keS4NCg0KNTk1DQowMDozNDozMSw3ODAgLS0+IDAwOjM0OjM3LDQ1Mg0K QupkemllbXkgdGFrIHNvYmllIHdtYXdpYeYsDQpqYWsgcHJ6eSB6bW93aWUgeiBDYWhpbGxlbT8N Cg0KNTk2DQowMDozNDozNyw0OTQgLS0+IDAwOjM0OjQxLDAzOQ0KRHpp6mtpIHRlbXUgd3lzemVk s2WcLg0KQrlknyB6bm93dSBwcmF3bmlraWVtLg0KDQo1OTcNCjAwOjM0OjQxLDA4MSAtLT4gMDA6 MzQ6NDUsMzc3DQotIFezYZxuaWUgbmltIGplc3RlbS4NCi0gUm9iaXN6IHphIG5pYfFr6iENCg0K NTk4DQowMDozNDo0NSw0NjAgLS0+IDAwOjM0OjQ3LDc1NA0KUm9iaeosIGNvIGNoY2lhs2VtLg0K UG9tYWdhbSBsdWR6aW9tLg0KDQo1OTkNCjAwOjM0OjQ3LDc5NiAtLT4gMDA6MzQ6NTAsMTMyDQpN b79lc3ogbW5pZSBuYXp5d2HmDQptbmllIG5pYfFruSwNCg0KNjAwDQowMDozNDo1MCwxNzQgLS0+ IDAwOjM0OjUzLDk2OQ0KYWxlIGRvbSwgdyBrdPNyeW0gc7kgZHppZWNpIHCzb25pZQ0KaSBtdXN6 6iBqYWtvnCBqZSByYXRvd2HmLg0KDQo2MDENCjAwOjM0OjU0LDA5NCAtLT4gMDA6MzQ6NTgsNzI0 DQpUYWthIG9rYXpqYSBuaWUgbmFkYXJ6eQ0Kc2nqIHBvIHJheiBkcnVnaS4NCg0KNjAyDQowMDoz NDo1OCw3NjUgLS0+IDAwOjM1OjAyLDQ3Nw0KRG9jZW5pYW0gdG8sIEhhcnZleS4NCk5hcHJhd2Tq Lg0KDQo2MDMNCjAwOjM1OjAzLDY4NyAtLT4gMDA6MzU6MDYsMTkwDQpBbGUgbmllIHpnYWR6YW0g c2nqLg0KDQo2MDQNCjAwOjM1OjEyLDM2MiAtLT4gMDA6MzU6MTYsMjgzDQpDbyBqZXN0IHRha2ll Z28gcGlsbmVnbz8NCkdkemllIE1hcmlzc2E/DQoNCjYwNQ0KMDA6MzU6MTYsNzAwIC0tPiAwMDoz NToyMCwxMjANCi0gTWFyaXNzeSBuaWUgbWEuDQotIEphayB0bz8NCg0KNjA2DQowMDozNToyMCw3 MDQgLS0+IDAwOjM1OjI0LDIwOA0KQupkemllc3ogZ7Pzd255bSBvYnJv8WO5Lg0KTXVzaXN6IHNp 6iBwcnp5Z290b3dh5i4NCg0KNjA3DQowMDozNToyNCw1ODMgLS0+IDAwOjM1OjI1LDgzNA0KQ28/ DQoNCjYwOA0KMDA6MzU6MjUsODc2IC0tPiAwMDozNTozMCwyOTcNCi0gVG8gbmljIHdpZWxraWVn by4NCi0gTmllIG1vv2VteSB6bm93dSByeXp5a293YeYuDQoNCjYwOQ0KMDA6MzU6MzAsNzE0IC0t PiAwMDozNTozMywxNzUNClRvIHBvd2G/bmEgc3ByYXdhLg0KU2FtIG3zd2mzZZwuDQoNCjYxMA0K MDA6MzU6MzMsMjE3IC0tPiAwMDozNTozNCw3MTgNCldpZW0gbyB0eW0uDQoNCjYxMQ0KMDA6MzU6 MzUsODg2IC0tPiAwMDozNTozOCw3NjQNCk5pZSB6bmFqZHppZW15DQpkbyBqdXRyYSBuaWtvZ28g aW5uZWdvLg0KDQo2MTINCjAwOjM1OjM4LDgwNSAtLT4gMDA6MzU6NDAsODA3DQpQb21vv2VteSBq ZWogY3p5IG5pZT8NCg0KNjEzDQowMDozNTo0NSw0NzkgLS0+IDAwOjM1OjQ4LDMxNQ0KTmF3YWxp s2VtIG5hIHBpZXJ3c3plag0Kc3ltdWxhY2ppIHJvenByYXd5Lg0KDQo2MTQNCjAwOjM1OjQ4LDg5 OSAtLT4gMDA6MzU6NTEsNTY4DQpCebNlbSCcd2lldG5pZSBwcnp5Z290b3dhbnksDQoNCjYxNQ0K MDA6MzU6NTEsNjEwIC0tPiAwMDozNTo1NCw2OTYNCmFsZSBkcnVnYSBzdHJvbmENCmtvbXBsZXRu aWUgemJps2EgbW5pZSB6IHRyb3B1Lg0KDQo2MTYNCjAwOjM1OjU1LDExMyAtLT4gMDA6MzU6NTks OTEwDQpXeWRhd2GzbyBtaSBzaeosIL9lIGNvnCB3eW15nGzqLA0KYWxlIHdzenlzY3kgc2nqIG1p IHByenlnbLlkYWxpLg0KDQo2MTcNCjAwOjM2OjAwLDA3NyAtLT4gMDA6MzY6MDMsOTE0DQpOb2dp IG1pYbNlbSBqYWsgeiB3YXR5LA0KbmllIG15nGxhs2VtIHRyemWfd28uDQoNCjYxOA0KMDA6MzY6 MDQsNDE0IC0tPiAwMDozNjowOCw3MTANCi0gU3Rhs2VtIGphayB3cnl0eS4NCi0gT2xpdmVyLCBw b3JhZHppbXkgc29iaWUuDQoNCjYxOQ0KMDA6MzY6MDksMDg2IC0tPiAwMDozNjoxMiwyNTYNClBv d2llZHppYbNlnCBtaSwgv2UgbmllIHBvZG+zYW0sDQoNCjYyMA0KMDA6MzY6MTIsMjk3IC0tPiAw MDozNjoxNSw4NDMNCmkgY2m5Z2xlIGLqZOogbWlhsyB0byB3IGezb3dpZSwNCmNvIHdzenlzdGtv IG1pIHV0cnVkbmkuDQoNCjYyMQ0KMDA6MzY6MTUsODg0IC0tPiAwMDozNjoxNyw3MTkNCk5pZSBj b2Zu6iBzd29pY2ggc7PzdywNCg0KNjIyDQowMDozNjoxOCw1OTUgLS0+IDAwOjM2OjIzLDUxNw0K YWxlIG1vZ+ogdHV0YWogc2llZHppZeYgY2GzuSBub2MsDQpieZwgd3lwcm93YWR6abMgbW5pZSB6 IGKz6mR1Lg0KDQo2MjMNCjAwOjM2OjI2LDgxMiAtLT4gMDA6MzY6MjksMzk4DQotIE5pZSB3aWVt Lg0KLSBXaWVzei4NCg0KNjI0DQowMDozNjozMSw5MDAgLS0+IDAwOjM2OjMzLDkwMg0KV3lt83cg dG8gbmEgZ7Nvcy4NCg0KNjI1DQowMDozNjozNiw0MDUgLS0+IDAwOjM2OjM3LDk5MA0KV3lncmFt eS4NCg0KNjI2DQowMDozNjozOCw0MDcgLS0+IDAwOjM2OjM5LDYxNg0KV3lncmFteS4uLg0KDQo2 MjcNCjAwOjM2OjM5LDcwMCAtLT4gMDA6MzY6NDIsODcwDQotIFBvd3TzcnogdG8uDQotIFd5Z3Jh bXkuDQoNCjYyOA0KMDA6MzY6NDIsOTExIC0tPiAwMDozNjo0NywyMDcNCkplc3pjemUgcmF6LA0K YWxlIHR5bSByYXplbSB1d2llcnogdyB0by4NCg0KNjI5DQowMDozNjo0OCwyMDggLS0+IDAwOjM2 OjQ5LDQxOA0KV3lncmFteS4NCg0KNjMwDQowMDozNjo1MiwyOTYgLS0+IDAwOjM2OjU2LDMwMA0K LSBaYXBld25lIHplY2hjuSBvZGRhbGnmIG5hc3oNCnduaW9zZWsuIC0gSnW/IHRvIHpyb2JpbGku DQoNCjYzMQ0KMDA6MzY6NTksMDExIC0tPiAwMDozNzowMSw1MTMNClphdGVtIGRvIGR6aWWzYS4N Cg0KNjMyDQowMDozNzoxMywzMTcgLS0+IDAwOjM3OjE0LDM1OQ0KV3liYWN6IHNw859uaWVuaWUu DQoNCjYzMw0KMDA6Mzc6MTQsNDAxIC0tPiAwMDozNzoxOCwxNTUNCkt1cGmzZW0gZGxhIEpvc2h1 YQ0KcHJlemVudCBwb3dpdGFsbnkuDQoNCjYzNA0KMDA6Mzc6MTgsMTk3IC0tPiAwMDozNzoyMiwy MDENCkxvdWlzLCB0byBqZXN0IHVyb2N6ZSwNCmFsZSBuaWUgcHJ6eWplZHppZS4NCg0KNjM1DQow MDozNzoyMiw3ODQgLS0+IDAwOjM3OjI0LDM2OQ0KSmFrIHRvPw0KDQo2MzYNCjAwOjM3OjI0LDQx MSAtLT4gMDA6Mzc6MjgsNzkwDQpDb5wgZ28gemF0cnp5bWGzbyB3IHByYWN5LA0Kd2nqYyBvZHdv s2GzIGxvdC4NCg0KNjM3DQowMDozNzozMCwyOTIgLS0+IDAwOjM3OjMzLDQ2Mg0KQ28geiBuaWVn byB6YSBvamNpZWM/DQpUbyBqYWthnCBrcGluYS4NCg0KNjM4DQowMDozNzozMyw1MDQgLS0+IDAw OjM3OjM0LDY3MQ0KVG8gamVnbyBkemllY2tvLg0KDQo2MzkNCjAwOjM3OjM0LDcxMyAtLT4gMDA6 Mzc6MzgsMDkxDQotIE5pZWNoIHphY2hvd3VqZSBzaeogamFrIG9qY2llYyENCi0gTyBjenltIG3z d2lzej8NCg0KNjQwDQowMDozNzozOCwzODMgLS0+IDAwOjM3OjQxLDgwMw0KLSBOaWUgY2hjaWGz ZZwgZ28gdHV0YWouDQotIEFsZSB0ZXJheiBjaGPqLg0KDQo2NDENCjAwOjM3OjQyLDgwNCAtLT4g MDA6Mzc6NDUsNzY2DQpNaWGzYW0gY2nqDQp6YSBiYXJkemllaiB3eXJvenVtaWGzZWdvLg0KDQo2 NDINCjAwOjM3OjQ1LDgwNyAtLT4gMDA6Mzc6NDksMDE5DQpOaWUgY2hjZXN6LCBhYnkgbmFzemUg ZHppZWNrbw0KbWlhs28ga29udGFrdCB6IG9qY2VtPw0KDQo2NDMNCjAwOjM3OjQ5LDMxMSAtLT4g MDA6Mzc6NTEsMjcxDQpC6mR6aWUgbWlhs28uDQoNCjY0NA0KMDA6Mzc6NTEsMzEzIC0tPiAwMDoz ODowMCwzMjINClNrb3JvIHRha2llIHJ6ZWN6eSBjaeogb2J1cnpharksDQpjaHliYSB3IG9n82xl IGNp6iBuaWUgem5hbS4NCg0KNjQ1DQowMDozODowMCw2OTcgLS0+IDAwOjM4OjAzLDcwMA0KTG91 aXMsIG1vv2VzeiBwb3dpZWR6aWXmLA0Kv2UgbmFwcmF3ZOogbW5pZSB6bmFzej8NCg0KNjQ2DQow MDozODowMyw5OTIgLS0+IDAwOjM4OjA1LDcwMg0KTW+/ZW15IHphY3p5bmHmPw0KDQo2NDcNCjAw OjM4OjEwLDcwNyAtLT4gMDA6Mzg6MTIsMDg0DQpOaWUsIG5pZSB6bmFtLg0KDQo2NDgNCjAwOjM4 OjE0LDAwMiAtLT4gMDA6Mzg6MTYsNTg4DQpEb2NpZXJhIGRvIG1uaWUsDQq/ZSB0byBuaXN6Y3rq Li4uDQoNCjY0OQ0KMDA6Mzg6MTcsNTg5IC0tPiAwMDozODoyMywyMjANCi0gSmWcbGkgY2hjZXN6 IGmc5iBzYW1hLCBpZJ8uDQotIENoeWJhIHRhayBi6mR6aWUgbGVwaWVqLg0KDQo2NTANCjAwOjM4 OjMyLDMxMiAtLT4gMDA6Mzg6MzcsMDY3DQpUZW4gaW5jeWRlbnQgbWlhsyBtaWVqc2NlIDMgZG5p IHRlbXUsDQphIGNos29waWVjIG9kIGRhd25hIGNob3J1amUuDQoNCjY1MQ0KMDA6Mzg6MzcsMTA5 IC0tPiAwMDozODozOSwzNjENCkplZG5vIHogZHJ1Z2ltIG5pZSBtYQ0KbmljIHdzcPNsbmVnby4N Cg0KNjUyDQowMDozODozOSw0MDMgLS0+IDAwOjM4OjQzLDYxNQ0KQmFkYW5pYSB3eWthemGzeSB3 IGplZ28NCnCzdWNhY2ggcHmzeSBidWRvd2xhbmUuDQoNCjY1Mw0KMDA6Mzg6NDMsOTkxIC0tPiAw MDozODo0Nyw3NDQNCi0gU2u5ZCBzaeogdGFtIHd6aeqzeT8NCi0gSmVzdCBuYSB0byBtbvNzdHdv IHd5dLN1bWFjemXxLg0KDQo2NTQNCjAwOjM4OjQ3LDc4NiAtLT4gMDA6Mzg6NTEsNzA3DQpCcmFr IHcgdGVqIHNwcmF3aWUgZG93b2Tzdy4NClduaW9zZWsgbmFsZb95IG9kZGFsaeYuDQoNCjY1NQ0K MDA6Mzg6NTEsOTE1IC0tPiAwMDozODo1NiwxNzANClBhbmkga2xpZW50IHJvenBvY3q5syBidWRv d+osDQpnZHkgbG9rYXRvcnp5IGJ5bGkgdyBidWR5bmt1Lg0KDQo2NTYNCjAwOjM4OjU2LDIxMSAt LT4gMDA6Mzk6MDAsMjk5DQotIE5hcnVzenmzIHR5bSBwcnplcGlzeS4NCi0gUGFuaSBQcmljZSBn b2R6abNhIHNp6iBuYSB0by4NCg0KNjU3DQowMDozOTowMCw1OTEgLS0+IDAwOjM5OjAzLDA1MQ0K TmllIG1hIHRha2llaiBtb79saXdvnGNpLg0KDQo2NTgNCjAwOjM5OjAzLDA5MyAtLT4gMDA6Mzk6 MDYsNzIyDQpOaWUgdHlsa28gcGFuDQpkeXNwb251amUgZG9rdW1lbnRhbWkuDQoNCjY1OQ0KMDA6 Mzk6MDcsMDk3IC0tPiAwMDozOToxMiw1NjENCk3zaiBrbGllbnQgc2tpZXJvd2GzIDMgdHlnLiB0 ZW11DQpsaXN0IGRvIHBvem9zdGGzeWNoIGxva2F0b3LzdywNCg0KNjYwDQowMDozOToxMiw2MDMg LS0+IDAwOjM5OjE2LDg5OQ0Ka3TzcnltIHBvaW5mb3Jtb3dhsyBvIGJ1ZG93aWUuDQoNCjY2MQ0K MDA6Mzk6MTcsODE2IC0tPiAwMDozOToyMiwxNTQNCi0gTW9qYSBrbGllbnRrYSBuaWUgd2lkemlh s2EgZ28uDQotIE1vv2UgaSBuaWUsIGFsZSBvdHJ6eW1hs2EgZ28uDQoNCjY2Mg0KMDA6Mzk6MjIs MTk2IC0tPiAwMDozOToyNCw0NDgNClRvIG5pZSB6bmFjenksDQq/ZSBwb3puYbNhIGplZ28gdHJl nOYuDQoNCjY2Mw0KMDA6Mzk6MjQsNDg5IC0tPiAwMDozOToyOCwxNjANClRvIGJleiB6bmFjemVu aWEuDQpBcnQuIDMwNS1BIHByYXdhIGJ1ZG93bGFuZWdvOg0KDQo2NjQNCjAwOjM5OjI4LDIwMiAt LT4gMDA6Mzk6MzIsNDk3DQoiTG9rYXRvcvN3IG5hbGW/eSBwb2luZm9ybW93YeYNCm8gd3N6ZWxr aWNoIHJlbW9udGFjaCIuDQoNCjY2NQ0KMDA6Mzk6MzIsNzA2IC0tPiAwMDozOTozNiwwNDMNCi0g UG9pbmZvcm1vd2FubyBjenkgbmllPw0KLSBQb3dpZWR6LCC/ZSB0byBuaWVkb3B1c3pjemFsbmUu DQoNCjY2Ng0KMDA6Mzk6MzYsMDg0IC0tPiAwMDozOTozNiw5NjANClRhaywgYWxlLi4uDQoNCjY2 Nw0KMDA6Mzk6MzcsMDAyIC0tPiAwMDozOTo0Miw3MTYNClphdGVtIG3zaiBrbGllbnQgcG93aW5p ZW4gem9zdGHmDQpvY3p5c3pjem9ueSB6IHdzenlzdGtpY2ggemFyenV083cuDQoNCjY2OA0KMDA6 Mzk6NDQsMDA5IC0tPiAwMDozOTo0NSw3MTkNCk5pZS4uLg0KDQo2NjkNCjAwOjM5OjUzLDE4NSAt LT4gMDA6Mzk6NTQsMzk0DQpTcHJ6ZWNpdyENCg0KNjcwDQowMDozOTo1NCw2ODYgLS0+IDAwOjM5 OjU4LDY0OQ0KVG8gd7NhnG5pZSBvc3p1c3QsDQpvIGt083J5bSBt83dps2FtLg0KDQo2NzENCjAw OjM5OjU4LDY5MCAtLT4gMDA6NDA6MDQsODIxDQpNaWGzIHNp6iBuaWUgb2R6eXdh5g0KYWxibyBv cHWcY2nmIHNhbOouDQoNCjY3Mg0KMDA6NDA6MDUsMTEzIC0tPiAwMDo0MDowNiw0MDYNClV3emds 6mRuaWFtLg0KDQo2NzMNCjAwOjQwOjA2LDQ5MCAtLT4gMDA6NDA6MTEsMjg2DQpQcm9zeuogc2nq IG5pZSBvZHp5d2HmDQphbGJvIHBhbmEgd3lwcm9zeuosIGEgc3ByYXfqIG9kZGFs6i4NCg0KNjc0 DQowMDo0MDoxMSw3MDMgLS0+IDAwOjQwOjE2LDEyNA0KUGFuaWUgR3JhZHksIHNwcnplY2l3aWEg c2nqIHBhbg0KdHdpZXJkemVuaW9tIHBhbmkgSm9obnNvbj8NCg0KNjc1DQowMDo0MDoxNywyMDkg LS0+IDAwOjQwOjE5LDcxMQ0KUHJ6eWtybyBtaSwgYWxlIG5pZS4NCg0KNjc2DQowMDo0MDoyMCww MDMgLS0+IDAwOjQwOjI0LDAwNw0KT2RkYWxhbSB3bmlvc2VrLg0KV3lyb2sgc3RhamUgc2nqIHBy YXdvbW9jbnkuDQoNCjY3Nw0KMDA6NDA6MzAsODg5IC0tPiAwMDo0MDozMiw4OTENCkp1vyBjaSBv ZHBvd2llZHppYbNhbS4uLg0KDQo2NzgNCjAwOjQwOjMzLDEwMCAtLT4gMDA6NDA6MzUsNDM1DQpB IGplnGxpIGLqZHppZSBiYXJkemllaiBqYWsgdHk/DQoNCjY3OQ0KMDA6NDA6MzUsNDc3IC0tPiAw MDo0MDozNiwzNTMNClRvIHpuYWN6eT8NCg0KNjgwDQowMDo0MDozNiwzOTUgLS0+IDAwOjQwOjM5 LDE0Nw0KTfN3abNhnCBvIGludHVpY2ppLA0KZW1wYXRpaSBpIHNlcmN1Lg0KDQo2ODENCjAwOjQw OjM5LDE4OSAtLT4gMDA6NDA6NDIsNDQyDQotIEplnGxpIHRvIHV6eXNrYW0/DQotIE5pYnkgamFr Pw0KDQo2ODINCjAwOjQwOjQyLDQ4NCAtLT4gMDA6NDA6NDQsNjUzDQpVcnq5ZHplbmllIHVjenkg c2nqIL9hcnTzdy4NCg0KNjgzDQowMDo0MDo0NCw2OTUgLS0+IDAwOjQwOjQ5LDMyNA0KWiBzZXJj ZW0gdGW/IG1vv2Ugc2nqIHVkYeYsDQphbGUgcG90cnplYm5hIG1pIHR3b2phIHBvbW9jLg0KDQo2 ODQNCjAwOjQwOjUwLDQwOSAtLT4gMDA6NDA6NTUsNjIyDQotIE1vv2Ugc2nqIHRvIHVkYeY/DQot IE5pZSB3aWVtLCBhbGUgd2FydG8gc3By82Jvd2HmLg0KDQo2ODUNCjAwOjQwOjU2LDA4MSAtLT4g MDA6NDE6MDIsNTA0DQpOYWpwaWVydyBzaeogbmF1Y3osDQq/ZSBuaWUgd29sbm8gc2lhZGHmIG5h IG1vaW0ga3J6ZZxsZS4NCg0KNjg2DQowMDo0MTowMywwODggLS0+IDAwOjQxOjA2LDgwMA0KLSBX eWJhY3ouLi4NCi0gVHlsa28gc2nqIHogdG9iuSBkcm9jeuouDQoNCjY4Nw0KMDA6NDE6MDcsMzAx IC0tPiAwMDo0MTowOSwwOTQNCi0gQWxlIHd5bm9jaGEuDQotIFRhay4NCg0KNjg4DQowMDo0MToy MSw2OTAgLS0+IDAwOjQxOjI0LDY5Mw0KTG91aXMsIGNvIHR1dGFqIHJvYmlzej8NCg0KNjg5DQow MDo0MToyNiwyNzggLS0+IDAwOjQxOjI4LDE5Nw0KUHJ6eW5pb3OzZW0gcGFy6iByemVjenkuDQoN CjY5MA0KMDA6NDE6MjksMTE0IC0tPiAwMDo0MTozMCw2MTYNCkNvIHRha2llZ28/DQoNCjY5MQ0K MDA6NDE6MzIsNTc2IC0tPiAwMDo0MTozNSw1MzcNClJvY3puaWtpIHogbGljZXVtLA0KYWxidW15 IHplIHpkaupjaWFtaQ0KDQo2OTINCjAwOjQxOjM1LDU3OSAtLT4gMDA6NDE6MzksMjA4DQpvcmF6 IHN6ZZzmIHogc2llZG1pdSBmaWxtaWvzdw0KemUgc2NlbmthbWkgeiBkemllY2nxc3R3YS4NCg0K NjkzDQowMDo0MTozOSw3OTEgLS0+IDAwOjQxOjQzLDc5NQ0KLSBDbyBzaeogc3Rhs28geiBzafNk bXltPw0KLSBMYXRvIHogRHVuZ2VvbnMgYW5kIERyYWdvbnMuDQoNCjY5NA0KMDA6NDE6NDQsMjEz IC0tPiAwMDo0MTo0OCwyMTcNCkkgamWcbGkgdG8gbmllIHByb2JsZW0sDQpjaGNpYbNieW0gd2Np ub8gdXByYXdpYeYgc2Vrcy4NCg0KNjk1DQowMDo0MTo1Miw1MTMgLS0+IDAwOjQxOjU1LDA5OA0K TWlhs2GcIHJhY2rqLg0KTmllIHdpZW15IG8gc29iaWUgd3N6eXN0a2llZ28sDQoNCjY5Ng0KMDA6 NDE6NTYsMTgzIC0tPiAwMDo0MTo1OSw2ODYNCmFsZSB0byBvem5hY3phIHR5bGtvLA0Kv2UgbXVz aW15IHNp6iBsZXBpZWogcG96bmHmLg0KDQo2OTcNCjAwOjQyOjAxLDYwNSAtLT4gMDA6NDI6MDMs ODU3DQpBIGphayBtb79uYSBsZXBpZWogc2nqIHBvem5h5g0KDQo2OTgNCjAwOjQyOjAzLDg5OSAt LT4gMDA6NDI6MDcsMTEwDQpuab8gcHJ6eWdvdG93dWq5YyBzaeoNCm5hIHByenlqnGNpZSBuYSCc d2lhdCBkemllY2thPw0KDQo2OTkNCjAwOjQyOjA4LDYxMiAtLT4gMDA6NDI6MTIsOTUwDQpKZZxs aSB0YWsgcmVhZ3VqZXN6DQpwbyB0YWtpY2ggZG5pYWNoIGphayBkemlzaWVqc3p5LA0KDQo3MDAN CjAwOjQyOjEyLDk5MSAtLT4gMDA6NDI6MTUsNDk0DQp0byBqdb8gY3p1auosIL9lIGNp6iBsZXBp ZWogem5hbS4NCg0KNzAxDQowMDo0MjoxNyw1NzkgLS0+IDAwOjQyOjIxLDUwMA0KU2tvcm8gbyB0 eW0gbW93YS4uLg0KSmFrIHBvc3qzbz8NCg0KNzAyDQowMDo0MjoyMiw1ODQgLS0+IDAwOjQyOjI2 LDU4OA0KWmFiaWVyeiBtbmllIGRvIGRvbXUsDQphIHdzenlzdGtvIGNpIG9wb3dpZW0uDQoNCjcw Mw0KMDA6NDI6MzAsNTkyIC0tPiAwMDo0MjozMyw2MzcNCi0gTW9n6iBuYSBjaHdpbOo/DQotIFRh ay4gQ28gamVzdD8NCg0KNzA0DQowMDo0MjozMyw2NzkgLS0+IDAwOjQyOjM3LDY0MQ0KLSBDaG9k emkgbyByb3ptb3fqIHdzdOpwbrkuDQotIENvIHogbmm5Pw0KDQo3MDUNCjAwOjQyOjM3LDY4MyAt LT4gMDA6NDI6NDAsMzEwDQpMb3VpcyBtbmllIG9rs2FtYbMsDQq/ZSBkb3N6s28gZG8gcG9tebNr aSwNCg0KNzA2DQowMDo0Mjo0MSw5NzkgLS0+IDAwOjQyOjQ1LDI3NA0KYWxlIERvbm5hIHBvd2ll ZHppYbNhIG1pLA0Kv2UgdG8gdHkNCg0KNzA3DQowMDo0Mjo0NSwzMTUgLS0+IDAwOjQyOjQ4LDY5 NA0Kc3BvdGths2WcIHNp6iB6IHR5bQ0KZmFjZXRlbSwgYSBuaWUgTG91aXMuDQoNCjcwOA0KMDA6 NDI6NDksMTk0IC0tPiAwMDo0Mjo1MiwzNjQNCkhhcnZleSwgbW+/ZXN6IG1pIHBvd2llZHppZeYu DQpDaG9kemmzbyBvIE1pa2UnYSwgcHJhd2RhPw0KDQo3MDkNCjAwOjQyOjUyLDQwNiAtLT4gMDA6 NDI6NTQsOTA4DQotIENob2R6abNvIG8gTWlrZSdhLCBwcmF3ZGE/DQotIE5pZS4NCg0KNzEwDQow MDo0Mjo1NCw5OTIgLS0+IDAwOjQyOjU4LDEyMA0KLSBPIGthcnTqIHByemV0YXJnb3e5Lg0KLSBD byBwcnpleiB0byByb3p1bWllc3o/DQoNCjcxMQ0KMDA6NDI6NTgsNDEyIC0tPiAwMDo0MzowMywx MjUNCkZhY2V0IHdzdHJ6eW1hsyB0d29quSByb3ptb3fqLA0KYm8gY2hjZSwgYnmcbXkgY2+cIGRs YSBuaWVnbyB6cm9iaWxpLg0KDQo3MTINCjAwOjQzOjAzLDUwMCAtLT4gMDA6NDM6MDcsNDIxDQot IEkgenJvYmlzeiB0bz8NCi0gVGFrLCB6cm9iaS4NCg0KNzEzDQowMDo0MzowOCw3OTcgLS0+IDAw OjQzOjExLDkyNQ0KLSBN83dpc3ogdG8sIGNvIG15nGzqPw0KLSBUYWsuDQoNCjcxNA0KMDA6NDM6 MTUsMDEyIC0tPiAwMDo0MzoxNiwyMjENCldjaG9keuogdyB0by4NCg0K headers: Cache-Control: - max-age=1296000 Connection: - Keep-Alive Content-Encoding: - gzip Content-Length: - '23251' Content-Type: - text/html; charset=UTF-8 Date: - Wed, 05 Jun 2024 10:35:33 GMT Expires: - Thu, 20 Jun 2024 10:35:33 GMT Keep-Alive: - timeout=5, max=1000 Server: - Apache Vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/napiprojekt/test_query_wrong_hash.yaml0000644000175100001770000000166214636376416026301 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: http://napiprojekt.pl/unit_napisy/dl.php?nick=&f=abcdabdcabcd1234abcd1234abcd123&kolejka=false&t=4afc4&napios=Linux&v=dreambox&pass=&l=PL response: body: string: !!binary | H4sIAAAAAAAAA/MLSDYAAGrWOl4EAAAA headers: cache-control: - max-age=1296000 connection: - Keep-Alive content-encoding: - gzip content-length: - '24' content-type: - text/html; charset=UTF-8 date: - Sat, 09 May 2020 12:13:45 GMT expires: - Sun, 24 May 2020 12:13:45 GMT keep-alive: - timeout=5, max=1000 server: - Apache vary: - Accept-Encoding status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.670181 subliminal-2.2.0/tests/cassettes/omdb/0000755000175100001770000000000014636376432017356 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_get_id.yaml0000644000175100001770000000422114636376416022535 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&i=tt0770828&plot=short response: body: string: '{"Title":"Man of Steel","Year":"2013","Rated":"PG-13","Released":"14 Jun 2013","Runtime":"143 min","Genre":"Action, Adventure, Sci-Fi","Director":"Zack Snyder","Writer":"David S. Goyer, Christopher Nolan, Jerry Siegel","Actors":"Henry Cavill, Amy Adams, Michael Shannon","Plot":"An alien child is evacuated from his dying world and sent to Earth to live among humans. His peace is threatened when other survivors of his home planet invade Earth.","Language":"English","Country":"United States, United Kingdom","Awards":"Nominated for 1 BAFTA Award7 wins & 46 nominations total","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg","Ratings":[{"Source":"Internet Movie Database","Value":"7.1/10"},{"Source":"Rotten Tomatoes","Value":"56%"},{"Source":"Metacritic","Value":"55/100"}],"Metascore":"55","imdbRating":"7.1","imdbVotes":"809,805","imdbID":"tt0770828","Type":"movie","DVD":"08 Dec 2015","BoxOffice":"$291,045,518","Production":"N/A","Website":"N/A","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d966aa8400477-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:01 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:01 GMT last-modified: - Wed, 22 May 2024 14:45:01 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_get_title.yaml0000644000175100001770000000422414636376416023265 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&t=Man+of+Steel&plot=short response: body: string: '{"Title":"Man of Steel","Year":"2013","Rated":"PG-13","Released":"14 Jun 2013","Runtime":"143 min","Genre":"Action, Adventure, Sci-Fi","Director":"Zack Snyder","Writer":"David S. Goyer, Christopher Nolan, Jerry Siegel","Actors":"Henry Cavill, Amy Adams, Michael Shannon","Plot":"An alien child is evacuated from his dying world and sent to Earth to live among humans. His peace is threatened when other survivors of his home planet invade Earth.","Language":"English","Country":"United States, United Kingdom","Awards":"Nominated for 1 BAFTA Award7 wins & 46 nominations total","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg","Ratings":[{"Source":"Internet Movie Database","Value":"7.1/10"},{"Source":"Rotten Tomatoes","Value":"56%"},{"Source":"Metacritic","Value":"55/100"}],"Metascore":"55","imdbRating":"7.1","imdbVotes":"809,805","imdbID":"tt0770828","Type":"movie","DVD":"08 Dec 2015","BoxOffice":"$291,045,518","Production":"N/A","Website":"N/A","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96734af0216d-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:03 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:03 GMT last-modified: - Wed, 22 May 2024 14:45:03 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_get_wrong_id.yaml0000644000175100001770000000216314636376416023754 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&i=tt9999999&plot=short response: body: string: '{"Response":"False","Error":"Error getting data."}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d966ebf73f864-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:02 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:02 GMT last-modified: - Wed, 22 May 2024 14:45:02 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_get_wrong_title.yaml0000644000175100001770000000215314636376416024500 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&t=Meen+of+Stal&plot=short response: body: string: '{"Response":"False","Error":"Movie not found!"}' headers: Accept-Ranges: - bytes CF-Cache-Status: - MISS CF-RAY: - 887d96771a603cf9-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '47' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:03 GMT Server: - cloudflare access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:03 GMT last-modified: - Wed, 22 May 2024 14:45:03 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode.yaml0000644000175100001770000000303414636376416024263 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=the+big+bang+theory&page=1&type=series response: body: string: "{\"Search\":[{\"Title\":\"The Big Bang Theory\",\"Year\":\"2007\u20132019\",\"imdbID\":\"tt0898266\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BY2FmZTY5YTktOWRlYy00NmIyLWE0ZmQtZDg2YjlmMzczZDZiXkEyXkFqcGdeQXVyNjg4NzAyOTA@._V1_SX300.jpg\"},{\"Title\":\"The Big Bang Theory After Show\",\"Year\":\"2015\u2013\",\"imdbID\":\"tt5612894\",\"Type\":\"series\",\"Poster\":\"N/A\"}],\"totalResults\":\"2\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96929de0998c-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:08 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:08 GMT last-modified: - Wed, 22 May 2024 14:45:08 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_original_series.yaml0000644000175100001770000003761714636376416027537 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=1&type=series response: body: string: "{\"Search\":[{\"Title\":\"Dallas\",\"Year\":\"1978\u20131991\",\"imdbID\":\"tt0077000\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNTg3ZDY1OWEtYjRkYy00NzQ4LWFjMjMtMDc0YzcxNzU5NmFhXkEyXkFqcGdeQXVyMTkxODQ4MDg@._V1_SX300.jpg\"},{\"Title\":\"Dallas\",\"Year\":\"2012\u20132014\",\"imdbID\":\"tt1723760\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMjE5NTExNDc5MF5BMl5BanBnXkFtZTcwMjc1NzAwOQ@@._V1_SX300.jpg\"},{\"Title\":\"All or Nothing: The Dallas Cowboys\",\"Year\":\"2018\",\"imdbID\":\"tt8077544\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNTU4NmFlNTctN2RjMy00ODI1LThkMTYtZmJiZjgxMzIxZDA1XkEyXkFqcGdeQXVyNjI4OTg2Njg@._V1_SX300.jpg\"},{\"Title\":\"The Real Housewives of Dallas\",\"Year\":\"2016\u20132021\",\"imdbID\":\"tt5512352\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNWI2ODU3MjItZmVkYy00MGYxLWE4YjMtM2RiMmIzZjJiOTg2XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_SX300.jpg\"},{\"Title\":\"Dallas Cowboys Cheerleaders: Making the Team\",\"Year\":\"2006\u2013\",\"imdbID\":\"tt0491758\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMmYzYmZhMGItMDNkYS00MmQ1LTliNjMtYmEyNWRjMTQxNjBiXkEyXkFqcGdeQXVyMTUyNjc3NDQ4._V1_SX300.jpg\"},{\"Title\":\"Dallas & Robo\",\"Year\":\"2018\",\"imdbID\":\"tt7896392\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMjJhNDkzZTMtODc1Yi00Mjc2LWIyZDctMzNkNGY0MGRkYzlhXkEyXkFqcGdeQXVyMDcwODc3OA@@._V1_SX300.jpg\"},{\"Title\":\"Little Women: Dallas\",\"Year\":\"2016\u2013\",\"imdbID\":\"tt6306584\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZDMzMWZhMTUtMTZhYi00YjIzLTlkYWMtZThiNzZlZGRhYjExL2ltYWdlL2ltYWdlXkEyXkFqcGdeQXVyMzAwNzQ5NTQ@._V1_SX300.jpg\"},{\"Title\":\"Debbie Does Dallas... Again\",\"Year\":\"2007\",\"imdbID\":\"tt1675910\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BYWE0ZDVkMDQtOGY3YS00YjNhLWI0ZDYtZDYyZjEwNjdlZDE0XkEyXkFqcGdeQXVyMTIxMDUyOTI@._V1_SX300.jpg\"},{\"Title\":\"Dallas SWAT\",\"Year\":\"2006\u2013\",\"imdbID\":\"tt0497290\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMjBiMWEyYTctNTI1ZS00MWYxLTgxZGEtNjJhYmY5NTFmODAwXkEyXkFqcGdeQXVyNzM3MjY2MjU@._V1_SX300.jpg\"},{\"Title\":\"The A-List: Dallas\",\"Year\":\"2011\u2013\",\"imdbID\":\"tt2084665\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMjU4MzAzOTkzM15BMl5BanBnXkFtZTgwNzg0NjAxMzE@._V1_SX300.jpg\"}],\"totalResults\":\"49\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96967ea0040f-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:08 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:08 GMT last-modified: - Wed, 22 May 2024 14:45:08 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=2&type=series response: body: string: "{\"Search\":[{\"Title\":\"Dallas Car Sharks\",\"Year\":\"2013\u2013\",\"imdbID\":\"tt3239336\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMTU3MDc5NDM0Ml5BMl5BanBnXkFtZTgwNDA4NDkyMDI@._V1_SX300.jpg\"},{\"Title\":\"Police Women of Dallas\",\"Year\":\"2010\u2013\",\"imdbID\":\"tt1763858\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZTJhMmQ5ZmUtZWNmNy00ZTEzLTg5YzUtZWFhYjIyZTk2YjE3XkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_SX300.jpg\"},{\"Title\":\"Most Eligible: Dallas\",\"Year\":\"2011\u2013\",\"imdbID\":\"tt1879627\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNDUyNDY2Mjc1OF5BMl5BanBnXkFtZTgwMjAwOTcwMzE@._V1_SX300.jpg\"},{\"Title\":\"The Book of Dallas\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2373244\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMTU2NzY0MzI2MF5BMl5BanBnXkFtZTcwNzMxMzY0OA@@._V1_SX300.jpg\"},{\"Title\":\"Courtney Loves Dallas\",\"Year\":\"2013\u2013\",\"imdbID\":\"tt2366296\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMTQ0NDQ2NTk2NV5BMl5BanBnXkFtZTgwMDk2NDAxMzE@._V1_SX300.jpg\"},{\"Title\":\"The Chloe, Dallas & Ryan Show\",\"Year\":\"2018\u2013\",\"imdbID\":\"tt9587254\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BN2Q0NzFmMzEtOTAzZS00NjdiLWFjZDMtZjEyZmZmYzgzNjQyXkEyXkFqcGdeQXVyMTk2MzA5NTk@._V1_SX300.jpg\"},{\"Title\":\"Dallas Divas & Daughters\",\"Year\":\"2009\u2013\",\"imdbID\":\"tt1534866\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZDQ4NDE2NzAtMDMzOS00NTk0LTlhNDAtOTVhNzA0OGIzNDFiXkEyXkFqcGdeQXVyNTc3Mzg4NjA@._V1_SX300.jpg\"},{\"Title\":\"Dallas DNA\",\"Year\":\"2009\u2013\",\"imdbID\":\"tt1489323\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BOGVhN2ZhMDAtNzY3ZC00ZDZmLTlhZmEtMjYyOWRhOGE1ZGFiXkEyXkFqcGdeQXVyMTUyNjc3NDQ4._V1_SX300.jpg\"},{\"Title\":\"Sheer Dallas\",\"Year\":\"2005\u2013\",\"imdbID\":\"tt1030468\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"The Daily Buzz: Dallas\",\"Year\":\"2004\u2013\",\"imdbID\":\"tt0498424\",\"Type\":\"series\",\"Poster\":\"N/A\"}],\"totalResults\":\"49\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d969b880d99dc-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:09 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:09 GMT last-modified: - Wed, 22 May 2024 14:45:09 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=3&type=series response: body: string: "{\"Search\":[{\"Title\":\"Dallas and Wayne: The Bigfoot Hunters\",\"Year\":\"2010\u2013\",\"imdbID\":\"tt2004521\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Donna Decorates Dallas\",\"Year\":\"2011\u2013\",\"imdbID\":\"tt2055946\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BYWEwODJmNzgtMzU0NS00NjU5LThmNGItZWFhYTE0NzRiZDZmXkEyXkFqcGdeQXVyMjI4Mzc4Njg@._V1_SX300.jpg\"},{\"Title\":\"Children's Med Dallas\",\"Year\":\"2011\u20132012\",\"imdbID\":\"tt2060877\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMTA0N2VjMjItYmMxMy00MDQ1LWI0ZTUtOWNlZTNiODJkZGZiXkEyXkFqcGdeQXVyMjMxMjA2NDQ@._V1_SX300.jpg\"},{\"Title\":\"Spotlight on Dallas\",\"Year\":\"2011\u2013\",\"imdbID\":\"tt1871032\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Luxury Dallas\",\"Year\":\"2012\",\"imdbID\":\"tt2332492\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"The Underemployed Adventures of Dallas Heck\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2673024\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dallas Roundup Aftershow\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2715600\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Behind the Gates: Dazzling Dallas\",\"Year\":\"2013\u2013\",\"imdbID\":\"tt3058296\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dancing Dallas\",\"Year\":\"2015\u2013\",\"imdbID\":\"tt5052446\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"The Dallas Market Report\",\"Year\":\"2016\u2013\",\"imdbID\":\"tt5360352\",\"Type\":\"series\",\"Poster\":\"N/A\"}],\"totalResults\":\"49\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d969ffa5e041a-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:10 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:10 GMT last-modified: - Wed, 22 May 2024 14:45:10 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=4&type=series response: body: string: "{\"Search\":[{\"Title\":\"The Millennials: Dallas\",\"Year\":\"2017\u2013\",\"imdbID\":\"tt7970714\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNjQ0NDY0YzUtZWZmNy00YTQzLTg3ZDgtYjg0ZGMwMTA4ODFhXkEyXkFqcGdeQXVyODUxNzY3Njg@._V1_SX300.jpg\"},{\"Title\":\"The Late Show with Jeremy Dallas\",\"Year\":\"2017\",\"imdbID\":\"tt6870534\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMThmZWYxODMtMTNlZS00YWI2LWFmNDEtN2Q4NzNhOWMxYTMzXkEyXkFqcGdeQXVyNjQ3NTk4Mjg@._V1_SX300.jpg\"},{\"Title\":\"Dallas Live\",\"Year\":\"2012\u20132013\",\"imdbID\":\"tt6872494\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dallas Cowboys Training Camp Oxnard California NFL Network\",\"Year\":\"2013\u2013\",\"imdbID\":\"tt7562184\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Vice Squad: Dallas\",\"Year\":\"2018\u2013\",\"imdbID\":\"tt7712244\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BOTg1NTM3NDctNTg2My00ODVlLWE0OTUtZmM5ODQwN2E0MjRkXkEyXkFqcGdeQXVyNjM2ODc4OTc@._V1_SX300.jpg\"},{\"Title\":\"Gayborhood Dallas\",\"Year\":\"2017\u2013\",\"imdbID\":\"tt7829762\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMDUwM2YwOGItYWQ5My00MzBmLTg0M2ItYTBlZGYxODJjZThlXkEyXkFqcGdeQXVyMzYzNTg3OTM@._V1_SX300.jpg\"},{\"Title\":\"Chasing: Dallas\",\"Year\":\"2018\u2013\",\"imdbID\":\"tt7885832\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMDMyN2E0OWItMTA4OC00Yzg3LWIwNzItMjc1YjM0Zjk5MzNhXkEyXkFqcGdeQXVyMjYzOTY5NDg@._V1_SX300.jpg\"},{\"Title\":\"Rescue, Dallas Pets Alive\",\"Year\":\"2018\",\"imdbID\":\"tt10575872\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"School Zone Dallas\",\"Year\":\"2002\u20132014\",\"imdbID\":\"tt10978836\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZTEwOGQ4N2YtYzE4ZS00NDZmLWEyMDMtODI1MGRiNWJjYzc5XkEyXkFqcGdeQXVyNjg1MjEzMDU@._V1_SX300.jpg\"},{\"Title\":\"Chasing: Dallas Presents 'The Retreat'\",\"Year\":\"2021\",\"imdbID\":\"tt13935796\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZGQwZWE0NWItZWE1Zi00ODNjLTk0ZDAtOGQxYjBhYWFlNjU0XkEyXkFqcGdeQXVyMjYzOTY5NDg@._V1_SX300.jpg\"}],\"totalResults\":\"49\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96a51cc703f9-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:11 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:10 GMT last-modified: - Wed, 22 May 2024 14:45:10 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=5&type=series response: body: string: "{\"Search\":[{\"Title\":\"Fraud Hunters: Malice in Dallas\",\"Year\":\"2022\u2013\",\"imdbID\":\"tt14610178\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZjY3Zjk3MmUtNDk2MS00OGU1LWE0MWEtMmUwNzQ4NzI5MjYyXkEyXkFqcGdeQXVyMjIzOTkzMzQ@._V1_SX300.jpg\"},{\"Title\":\"Destination Dallas\",\"Year\":\"2021\u2013\",\"imdbID\":\"tt15772478\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNjc0YjA4MGYtYjM3My00ZWJjLWE1ZGItNDQ3ZDEwMjdkNDljXkEyXkFqcGdeQXVyMTI0NTE1MzQ4._V1_SX300.jpg\"},{\"Title\":\"Rookies Dallas\",\"Year\":\"2022\u2013\",\"imdbID\":\"tt16985216\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMmZkODI3NmQtYmUwMC00NDcwLWFiYWUtZTRiZTE2OTk0N2M3XkEyXkFqcGdeQXVyODUxNzY3Njg@._V1_SX300.jpg\"},{\"Title\":\"Open Door: Inside Bryce Dallas Howard's Glamorous L.A. Home\",\"Year\":\"2022\u2013\",\"imdbID\":\"tt21292558\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dallas Social Cafe\",\"Year\":\"2016\u2013\",\"imdbID\":\"tt26653463\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BYTBlZWQ1ZGItOTA2Ni00ZTUwLWFhZmEtYjVhMGQ1MDQyYzI3XkEyXkFqcGdeQXVyODQzMzAyNjY@._V1_SX300.jpg\"},{\"Title\":\"John Barrowman's Dallas\",\"Year\":\"2012\",\"imdbID\":\"tt27329542\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Destination Dallas\",\"Year\":\"2018\",\"imdbID\":\"tt8386602\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNWVmNjIxNmQtZWZkOS00ZTQxLWFhY2QtYjk0ZWFkM2I5NDcwXkEyXkFqcGdeQXVyNTA2MjA5NTg@._V1_SX300.jpg\"},{\"Title\":\"Cameron Dallas\",\"Year\":\"2013\u2013\",\"imdbID\":\"tt8742736\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"This Is Dallas\",\"Year\":\"2019\u2013\",\"imdbID\":\"tt9397890\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMGZkYTY0YjQtMWJiYi00ZTkzLTljNDUtY2IwNTgxYjlmMjExXkEyXkFqcGdeQXVyODYyNDkxMTM@._V1_SX300.jpg\"}],\"totalResults\":\"49\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96aa39e303f7-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:11 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:11 GMT last-modified: - Wed, 22 May 2024 14:45:11 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_with_country.yaml0000644000175100001770000000520314636376416027101 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Shameless&page=1&type=series response: body: string: "{\"Search\":[{\"Title\":\"Shameless\",\"Year\":\"2011\u20132021\",\"imdbID\":\"tt1586680\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZDgxNjQ2MjMtMjk2Yi00M2Q2LWI0ZDktOGM1NWI5YWUzMjk4XkEyXkFqcGdeQXVyOTA3MTMyOTk@._V1_SX300.jpg\"},{\"Title\":\"Shameless\",\"Year\":\"2004\u20132013\",\"imdbID\":\"tt0377260\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BZmIzMjAwYWUtNzliMy00MmQ0LTk0ZTItMzBiMTAzY2FjMTNiXkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_SX300.jpg\"},{\"Title\":\"Shameless Hall of Shame\",\"Year\":\"2012\u20132021\",\"imdbID\":\"tt13653972\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BODZmNjI4MjYtMjRiMy00NzE4LWI5ODItN2JjNzRlMzY0MjlhXkEyXkFqcGdeQXVyNTE1NjY5Mg@@._V1_SX300.jpg\"},{\"Title\":\"Rich & Shameless\",\"Year\":\"2022\u20132023\",\"imdbID\":\"tt17497942\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMmZhY2I2ZmYtYjRlYi00NDYwLThjMWYtNzQyNDdjZTBhYjI4XkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_SX300.jpg\"},{\"Title\":\"Shameless Comedy\",\"Year\":\"2023\u2013\",\"imdbID\":\"tt20196198\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMWVjM2ZjOWItNzNhOS00N2NhLTg5ZDQtMGRlZDM5ZDY0NTFmXkEyXkFqcGdeQXVyMTAwODYwMDgy._V1_SX300.jpg\"},{\"Title\":\"Shameless Idealists\",\"Year\":\"2010\u2013\",\"imdbID\":\"tt2539106\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BYmU5MTAwNmUtZTBiZi00YWExLTgzMmQtNjM3NzZiMTMwZjA2XkEyXkFqcGdeQXVyMzk2OTI5MDM@._V1_SX300.jpg\"}],\"totalResults\":\"6\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96c368d099ba-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:15 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:15 GMT last-modified: - Wed, 22 May 2024 14:45:15 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_with_country_hoc_us.yaml0000644000175100001770000000344214636376416030444 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=house+of+cards&page=1&type=series response: body: string: "{\"Search\":[{\"Title\":\"House of Cards\",\"Year\":\"2013\u20132018\",\"imdbID\":\"tt1856010\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNmM4ODU1MzItODYyYi00Y2U0LWFjZjItYTRhZWIwOGMyZTRhXkEyXkFqcGdeQXVyNjc2NTQ4Nzk@._V1_SX300.jpg\"},{\"Title\":\"House of Cards\",\"Year\":\"1990\",\"imdbID\":\"tt0098825\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BNmVhMGFlMjUtN2I0NS00MTM4LWFlZTgtMWI1Y2QyMmI1ODdjXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_SX300.jpg\"},{\"Title\":\"DateSmash: Bernie Sanders & House of Cards' Frank Underwood\",\"Year\":\"2016\",\"imdbID\":\"tt14397660\",\"Type\":\"series\",\"Poster\":\"N/A\"}],\"totalResults\":\"3\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96c7fc9003fb-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:16 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:16 GMT last-modified: - Wed, 22 May 2024 14:45:16 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_episode_year.yaml0000644000175100001770000000433414636376416025307 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=dallas&page=1&type=series&y=2012 response: body: string: "{\"Search\":[{\"Title\":\"Dallas\",\"Year\":\"2012\u20132014\",\"imdbID\":\"tt1723760\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMjE5NTExNDc5MF5BMl5BanBnXkFtZTcwMjc1NzAwOQ@@._V1_SX300.jpg\"},{\"Title\":\"The Book of Dallas\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2373244\",\"Type\":\"series\",\"Poster\":\"https://m.media-amazon.com/images/M/MV5BMTU2NzY0MzI2MF5BMl5BanBnXkFtZTcwNzMxMzY0OA@@._V1_SX300.jpg\"},{\"Title\":\"The Underemployed Adventures of Dallas Heck\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2673024\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dallas Roundup Aftershow\",\"Year\":\"2012\u2013\",\"imdbID\":\"tt2715600\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Dallas Live\",\"Year\":\"2012\u20132013\",\"imdbID\":\"tt6872494\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"John Barrowman's Dallas\",\"Year\":\"2012\",\"imdbID\":\"tt27329542\",\"Type\":\"series\",\"Poster\":\"N/A\"},{\"Title\":\"Luxury Dallas\",\"Year\":\"2012\",\"imdbID\":\"tt2332492\",\"Type\":\"series\",\"Poster\":\"N/A\"}],\"totalResults\":\"7\",\"Response\":\"True\"}" headers: CF-Cache-Status: - MISS CF-RAY: - 887d96af0dc4f83c-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:12 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:12 GMT last-modified: - Wed, 22 May 2024 14:45:12 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_movie.yaml0000644000175100001770000001725614636376416023765 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=man+of+steel&page=1&type=movie response: body: string: '{"Search":[{"Title":"Man of Steel","Year":"2013","imdbID":"tt0770828","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg"},{"Title":"World War Two: 1941 and the Man of Steel","Year":"2011","imdbID":"tt5537126","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYmI0YjFkZTYtMmE3NC00ZmZmLTkxZGYtMWUxZjBkN2VlMDM2XkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_SX300.jpg"},{"Title":"Man of Steel: The Yahoo Live Fan Event","Year":"2013","imdbID":"tt3327446","Type":"movie","Poster":"N/A"},{"Title":"Little Man of Steel","Year":"2013","imdbID":"tt2557780","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BZjE1MjE4MTItZjJjMC00NDFjLWExNjAtMjViMzQzYTA4ZWUzXkEyXkFqcGdeQXVyMzYzNzc1NjY@._V1_SX300.jpg"},{"Title":"Man of Steel","Year":"1967","imdbID":"tt0263704","Type":"movie","Poster":"N/A"},{"Title":"Christopher Reeve: The Man of Steel","Year":"2004","imdbID":"tt2108487","Type":"movie","Poster":"N/A"},{"Title":"Man of Steel Song","Year":"2013","imdbID":"tt2754626","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjAwNzE4MzU4OF5BMl5BanBnXkFtZTcwNzk1NTk1OQ@@._V1_SX300.jpg"},{"Title":"Chris Bacon: Man of Steel","Year":"2014","imdbID":"tt3560162","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNzg2MzQ2MTI3NF5BMl5BanBnXkFtZTgwNjI1OTkyMTE@._V1_SX300.jpg"},{"Title":"Superman: Man of Steel","Year":"2019","imdbID":"tt10069974","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BODcxNDg4YjYtZjZmYS00NDAwLTg2NjctYTNiMjFiMDRlNmU5XkEyXkFqcGdeQXVyODc5OTgyODQ@._V1_SX300.jpg"},{"Title":"Stalin: Man of Steel","Year":"2003","imdbID":"tt6643772","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNGI0NjJiM2QtNDlkNS00NWYxLWI0MjctNjQwZDA4YmY0ZmNkXkEyXkFqcGdeQXVyNzI4MDMyMTU@._V1_SX300.jpg"}],"totalResults":"28","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96b338040403-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:13 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:13 GMT last-modified: - Wed, 22 May 2024 14:45:13 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=man+of+steel&page=2&type=movie response: body: string: '{"Search":[{"Title":"Superman IV: The Man of Steel and Glass","Year":"2017","imdbID":"tt11783846","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BZTIzMjNmMDUtYzI0ZS00ZDY0LWI4NDUtZmY5ODY4N2I0ZWY2XkEyXkFqcGdeQXVyNDA1NzI5NDk@._V1_SX300.jpg"},{"Title":"John henry man of steel the movie","Year":"2023","imdbID":"tt18926960","Type":"movie","Poster":"N/A"},{"Title":"The Man of Steel","Year":"2022","imdbID":"tt22021586","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMzU1ZDY1N2MtYjlkMy00ZTg3LWJiOGQtMjllZGU2MmZhYTBhXkEyXkFqcGdeQXVyMjQ2Mzg4Ng@@._V1_SX300.jpg"},{"Title":"Hyperbaric Reviews - Man of Steel (2013)","Year":"2013","imdbID":"tt22355224","Type":"movie","Poster":"N/A"},{"Title":"Episode 41 - Man of Steel (2013)","Year":"2013","imdbID":"tt24266808","Type":"movie","Poster":"N/A"},{"Title":"Movieclips: Man of Steel Alien Invasion","Year":"2013","imdbID":"tt10244568","Type":"movie","Poster":"N/A"},{"Title":"The Legacy of Gilbert Klingel: Man of Steel","Year":"2018","imdbID":"tt8359232","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYWQ5ODFjNTEtZmMzNS00M2U4LTgxMDUtOWY2MTAxNzVhNWZkXkEyXkFqcGdeQXVyODc4Nzg1MzM@._V1_SX300.jpg"},{"Title":"Man of Steel","Year":"2010","imdbID":"tt2215295","Type":"movie","Poster":"N/A"},{"Title":"Kurt Morrow: Man of Steel","Year":"2015","imdbID":"tt2378339","Type":"movie","Poster":"N/A"},{"Title":"Man of Steel: Title Sequence","Year":"2013","imdbID":"tt3748934","Type":"movie","Poster":"N/A"}],"totalResults":"28","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96b7be4599f1-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:13 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:13 GMT last-modified: - Wed, 22 May 2024 14:45:13 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=man+of+steel&page=3&type=movie response: body: string: '{"Search":[{"Title":"Tales from Development Hell: Waiting for Man of Steel","Year":"2014","imdbID":"tt3799858","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Heroic Storytelling","Year":"2013","imdbID":"tt4158100","Type":"movie","Poster":"N/A"},{"Title":"The Military Might of Man of Steel","Year":"2013","imdbID":"tt4158128","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Composing a Heroic Score","Year":"2013","imdbID":"tt4160502","Type":"movie","Poster":"N/A"},{"Title":"Journey of Discovery: Creating Man of Steel","Year":"2013","imdbID":"tt4160544","Type":"movie","Poster":"N/A"},{"Title":"The Sonic Landscape of ''Man of Steel''","Year":"2013","imdbID":"tt5312384","Type":"movie","Poster":"N/A"},{"Title":"The Iconic Characters of ''Man of Steel''","Year":"2013","imdbID":"tt5312388","Type":"movie","Poster":"N/A"},{"Title":"BigHead Man of Steel","Year":"2015","imdbID":"tt5369598","Type":"movie","Poster":"N/A"}],"totalResults":"28","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96ba28a199ed-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:14 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:14 GMT last-modified: - Wed, 22 May 2024 14:45:14 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_refine_movie_guess_alternative_title.yaml0000644000175100001770000000251314636376416030760 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Jack+Reacher&page=1&type=movie&y=2016 response: body: string: '{"Search":[{"Title":"Jack Reacher: Never Go Back","Year":"2016","imdbID":"tt3393786","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMTA2MDIwNzAyNzReQTJeQWpwZ15BbWU4MDAxNjI5Njkx._V1_SX300.jpg"}],"totalResults":"1","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96bf7a9f3cf3-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:15 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:15 GMT last-modified: - Wed, 22 May 2024 14:45:15 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_search.yaml0000644000175100001770000000572514636376416022561 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Man+of+Steel&page=1 response: body: string: '{"Search":[{"Title":"Man of Steel","Year":"2013","imdbID":"tt0770828","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg"},{"Title":"World War Two: 1941 and the Man of Steel","Year":"2011","imdbID":"tt5537126","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYmI0YjFkZTYtMmE3NC00ZmZmLTkxZGYtMWUxZjBkN2VlMDM2XkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_SX300.jpg"},{"Title":"Superman: The Man of Steel","Year":"2002","imdbID":"tt1453257","Type":"game","Poster":"https://m.media-amazon.com/images/M/MV5BMWQyOWE4MTYtNTdhYy00ZjYxLThiYmYtMjVlMGI1Y2JjMmRhXkEyXkFqcGdeQXVyNDQ2OTk4MzI@._V1_SX300.jpg"},{"Title":"Man of Steel: The Yahoo Live Fan Event","Year":"2013","imdbID":"tt3327446","Type":"movie","Poster":"N/A"},{"Title":"Little Man of Steel","Year":"2013","imdbID":"tt2557780","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BZjE1MjE4MTItZjJjMC00NDFjLWExNjAtMjViMzQzYTA4ZWUzXkEyXkFqcGdeQXVyMzYzNzc1NjY@._V1_SX300.jpg"},{"Title":"Man of Steel","Year":"1967","imdbID":"tt0263704","Type":"movie","Poster":"N/A"},{"Title":"Christopher Reeve: The Man of Steel","Year":"2004","imdbID":"tt2108487","Type":"movie","Poster":"N/A"},{"Title":"Man of Steel Song","Year":"2013","imdbID":"tt2754626","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjAwNzE4MzU4OF5BMl5BanBnXkFtZTcwNzk1NTk1OQ@@._V1_SX300.jpg"},{"Title":"Chris Bacon: Man of Steel","Year":"2014","imdbID":"tt3560162","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNzg2MzQ2MTI3NF5BMl5BanBnXkFtZTgwNjI1OTkyMTE@._V1_SX300.jpg"},{"Title":"Superman: Man of Steel","Year":"2019","imdbID":"tt10069974","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BODcxNDg4YjYtZjZmYS00NDAwLTg2NjctYTNiMjFiMDRlNmU5XkEyXkFqcGdeQXVyODc5OTgyODQ@._V1_SX300.jpg"}],"totalResults":"30","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d967b7fd6153b-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:04 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:04 GMT last-modified: - Wed, 22 May 2024 14:45:04 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_search_page.yaml0000644000175100001770000000451414636376416023550 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Man+of+Steel&page=3 response: body: string: '{"Search":[{"Title":"Kurt Morrow: Man of Steel","Year":"2015","imdbID":"tt2378339","Type":"movie","Poster":"N/A"},{"Title":"Man of Steel: Title Sequence","Year":"2013","imdbID":"tt3748934","Type":"movie","Poster":"N/A"},{"Title":"Tales from Development Hell: Waiting for Man of Steel","Year":"2014","imdbID":"tt3799858","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Heroic Storytelling","Year":"2013","imdbID":"tt4158100","Type":"movie","Poster":"N/A"},{"Title":"The Military Might of Man of Steel","Year":"2013","imdbID":"tt4158128","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Composing a Heroic Score","Year":"2013","imdbID":"tt4160502","Type":"movie","Poster":"N/A"},{"Title":"Journey of Discovery: Creating Man of Steel","Year":"2013","imdbID":"tt4160544","Type":"movie","Poster":"N/A"},{"Title":"The Sonic Landscape of ''Man of Steel''","Year":"2013","imdbID":"tt5312384","Type":"movie","Poster":"N/A"},{"Title":"The Iconic Characters of ''Man of Steel''","Year":"2013","imdbID":"tt5312388","Type":"movie","Poster":"N/A"},{"Title":"BigHead Man of Steel","Year":"2015","imdbID":"tt5369598","Type":"movie","Poster":"N/A"}],"totalResults":"30","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d968e4e509992-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:07 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:07 GMT last-modified: - Wed, 22 May 2024 14:45:07 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_search_type.yaml0000644000175100001770000000573314636376416023621 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Man+of+Steel&page=1&type=movie response: body: string: '{"Search":[{"Title":"Man of Steel","Year":"2013","imdbID":"tt0770828","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg"},{"Title":"World War Two: 1941 and the Man of Steel","Year":"2011","imdbID":"tt5537126","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYmI0YjFkZTYtMmE3NC00ZmZmLTkxZGYtMWUxZjBkN2VlMDM2XkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_SX300.jpg"},{"Title":"Man of Steel: The Yahoo Live Fan Event","Year":"2013","imdbID":"tt3327446","Type":"movie","Poster":"N/A"},{"Title":"Little Man of Steel","Year":"2013","imdbID":"tt2557780","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BZjE1MjE4MTItZjJjMC00NDFjLWExNjAtMjViMzQzYTA4ZWUzXkEyXkFqcGdeQXVyMzYzNzc1NjY@._V1_SX300.jpg"},{"Title":"Man of Steel","Year":"1967","imdbID":"tt0263704","Type":"movie","Poster":"N/A"},{"Title":"Christopher Reeve: The Man of Steel","Year":"2004","imdbID":"tt2108487","Type":"movie","Poster":"N/A"},{"Title":"Man of Steel Song","Year":"2013","imdbID":"tt2754626","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjAwNzE4MzU4OF5BMl5BanBnXkFtZTcwNzk1NTk1OQ@@._V1_SX300.jpg"},{"Title":"Chris Bacon: Man of Steel","Year":"2014","imdbID":"tt3560162","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNzg2MzQ2MTI3NF5BMl5BanBnXkFtZTgwNjI1OTkyMTE@._V1_SX300.jpg"},{"Title":"Superman: Man of Steel","Year":"2019","imdbID":"tt10069974","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BODcxNDg4YjYtZjZmYS00NDAwLTg2NjctYTNiMjFiMDRlNmU5XkEyXkFqcGdeQXVyODc5OTgyODQ@._V1_SX300.jpg"},{"Title":"Stalin: Man of Steel","Year":"2003","imdbID":"tt6643772","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNGI0NjJiM2QtNDlkNS00NWYxLWI0MjctNjQwZDA4YmY0ZmNkXkEyXkFqcGdeQXVyNzI4MDMyMTU@._V1_SX300.jpg"}],"totalResults":"28","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d9bf088aa153b-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:48:47 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:48:47 GMT last-modified: - Wed, 22 May 2024 14:48:47 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_search_wrong_title.yaml0000644000175100001770000000214714636376416025171 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Meen+of+Stal&page=1 response: body: string: '{"Response":"False","Error":"Movie not found!"}' headers: Accept-Ranges: - bytes CF-Cache-Status: - MISS CF-RAY: - 887d9680bc4c999f-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '47' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:05 GMT Server: - cloudflare access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:05 GMT last-modified: - Wed, 22 May 2024 14:45:05 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/omdb/test_search_year.yaml0000644000175100001770000000512414636376416023572 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.omdbapi.com/?r=json&v=1&apikey=44d5b275&s=Man+of+Steel&page=1&y=2013 response: body: string: '{"Search":[{"Title":"Man of Steel","Year":"2013","imdbID":"tt0770828","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMTk5ODk1NDkxMF5BMl5BanBnXkFtZTcwNTA5OTY0OQ@@._V1_SX300.jpg"},{"Title":"Man of Steel: The Yahoo Live Fan Event","Year":"2013","imdbID":"tt3327446","Type":"movie","Poster":"N/A"},{"Title":"Little Man of Steel","Year":"2013","imdbID":"tt2557780","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BZjE1MjE4MTItZjJjMC00NDFjLWExNjAtMjViMzQzYTA4ZWUzXkEyXkFqcGdeQXVyMzYzNzc1NjY@._V1_SX300.jpg"},{"Title":"Man of Steel Song","Year":"2013","imdbID":"tt2754626","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjAwNzE4MzU4OF5BMl5BanBnXkFtZTcwNzk1NTk1OQ@@._V1_SX300.jpg"},{"Title":"Man of Steel ''Soldier of Steel''","Year":"2013","imdbID":"tt2911220","Type":"game","Poster":"N/A"},{"Title":"Man of Steel: Title Sequence","Year":"2013","imdbID":"tt3748934","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Heroic Storytelling","Year":"2013","imdbID":"tt4158100","Type":"movie","Poster":"N/A"},{"Title":"The Military Might of Man of Steel","Year":"2013","imdbID":"tt4158128","Type":"movie","Poster":"N/A"},{"Title":"The Heroes Behind Man of Steel: Composing a Heroic Score","Year":"2013","imdbID":"tt4160502","Type":"movie","Poster":"N/A"},{"Title":"Journey of Discovery: Creating Man of Steel","Year":"2013","imdbID":"tt4160544","Type":"movie","Poster":"N/A"}],"totalResults":"15","Response":"True"}' headers: CF-Cache-Status: - MISS CF-RAY: - 887d96854a903ce7-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:45:06 GMT Server: - cloudflare Transfer-Encoding: - chunked access-control-allow-origin: - '*' expires: - Wed, 22 May 2024 15:45:06 GMT last-modified: - Wed, 22 May 2024 14:45:06 GMT vary: - '*, Accept-Encoding' x-aspnet-version: - 4.0.30319 x-powered-by: - ASP.NET status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.670181 subliminal-2.2.0/tests/cassettes/opensubtitles/0000755000175100001770000000000014636376432021335 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_download_subtitle.yaml0000644000175100001770000023462114636376416027014 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QywrCMBBFf6V0bxPrRmGMILixiqgo6C5Nxyo2SdskIn69D1LxtXA1M3fuHJgL g7MsghPW5qBVP2xHNAxQCZ0dVN4Pnd21uuGAgUS719kCTamVQQYlr7k0vjI48cLdVGNrJ+zdLVOs GSgukVl9RAXk0b8Yb3w2muRi3CurSiznVT68JK3NNp2uV/tlDMR7gPgb0lDf6MZy68xvfExpMEv+ JqHQKvtEZdqlBTIa0XYHiJ++SaR5/bnxyZAmKfIR4RVuwnJWeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e71141bbeb2fbf-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '211' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=oSFDE8oM8j%2BG%2FBzs6VGrm7ePLXyWUgy9Udl8NbdfagOIW6hIiK%2F%2BDa5VcomNRpPhseelYVeIzZynxDmvowVVtyuEaLlik6lz%2FAFT1lm2wjOdHHzCpsRjHFq%2F69ElKaQFzfJyEHMNIz8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=ELgcJ9pqqcSQqgBzK-YZbMVUhS2; expires=Tue, 04-Jun-2024 15:58:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '211' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles ELgcJ9pqqcSQqgBzK-YZbMVUhS2 moviehash 5b8f8f4e41ccb21e moviebytesize 7033732714 sublanguageid fre,ger imdbid 770828 sublanguageid fre,ger tag man.of.steel.2013.720p.bluray.x264-felony.mkv sublanguageid fre,ger query Man of Steel sublanguageid fre,ger ' headers: Accept-Encoding: - gzip Content-Length: - '1177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 3f46W/zVJmK1p252NRnP3MH/BweCL3XutQMA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e711424d002fbf-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '11997' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2BZ42EjaAPz3tZeioHPS4F5uCNwUSqNS8enMO1Jj75fofT2N0bYIFj25hMWxwXI9ZOfwmAZ1BPG0oABYWQ4njhpvIjA2aMi6CsUNdf8gykAkETKkneo%2BxyD7VCIpjegSX%2FoZ%2FuMmq%2Fwg%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=ELgcJ9pqqcSQqgBzK-YZbMVUhS2; expires=Tue, 04-Jun-2024 15:58:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '11997' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '243182' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' DownloadSubtitles ELgcJ9pqqcSQqgBzK-YZbMVUhS2 1953767650 ' headers: Accept-Encoding: - gzip Content-Length: - '293' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e711437f202fbf-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '33043' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=8qAikRlLGVjyryFk6pRArQnpBBVyZ6SPOx4cvW5iVqcBEA89ytVmHVdSstX2ejMONKgYnCDh%2BzUBZuqzkmldzFGuDew4YyXdUsjfbLczvbuUM9fSOMw%2Bw97lU78b4otJdjeXhnm%2FLOA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=ELgcJ9pqqcSQqgBzK-YZbMVUhS2; expires=Tue, 04-Jun-2024 15:58:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '33043' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '34' X-Uncompressed-Content-Length: - '43792' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut ELgcJ9pqqcSQqgBzK-YZbMVUhS2 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e71144a92c2fbf-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=qPy2CWhd9rEk%2FUBR8o%2FZI0tbXnkZdD8vNnOlVwpkLPQiRYmJCSwsTK0KydYbo62HMTpe9hmnkOuV3oi6bW6yjBWRW5TjFby%2BIDWrSLEQ89Qb%2BcREmZDI6vni31RN7mHvTCb1wkJ5lZA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=ELgcJ9pqqcSQqgBzK-YZbMVUhS2; expires=Tue, 04-Jun-2024 15:58:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '33' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e711454a352fbf-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=cORgLiGeGVi%2BEQsy%2B3iPG2cChAPGDGKHo6j%2B9KTrP5a2Y1F%2Bp4BUPeDhEEz%2B6ZGQq8VIDGSOIBZfHISOoEdB1%2FgWEuJfG27fOr9WSbf5YD7U%2FeDl5bOO1ZcopgeoxmAfzeIO06%2F4Lso%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '32' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_episode.yaml0000644000175100001770000003047314636376416030052 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QQQ+CMAyF/wrhjht60aSOeFUjkYPKcUIVlW2EbcT460UzjKIHT21fX7+kD6Kr KL0Ga31ScuqHA+p7KDOVn+Rx6ltzCMZ+xECgKVSeoK6U1Mig4jUX2lUGDS9tq2pT28w83GKPNQPJ BTKjLiiBPPs3Y8tnozhd0bAI5pNlIuOq2M1um/VkmwZnCsR5gLgb0lE/6NpwY/Vv/JBSL178TcJM ybyPypXdl8jogIZDIG76JpHu9dfGJUO6pEgvwjtjgkefeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a3399b96501e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=b52Ez1czH4Y7MPkXKau2o3sRe7bAxjcvp3GLC99ef%2FKKFcmngsmzwuCW2BfCqJ2oFCs3w1adC4BPQN67KaEvrAfS8OUgagsT6JW7PYxCi1gQUaiSFV0YXdEfefPk5iK9vSMzzPn6wyY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3OYN01h-J9LRnOphXAzVQ9WY-j0; expires=Mon, 22-Jan-2024 18:00:37 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles 3OYN01h-J9LRnOphXAzVQ9WY-j0 tag Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.mkv sublanguageid hun query Marvels Agents of S.H.I.E.L.D. season 2 episode 6 sublanguageid hun ' headers: Accept-Encoding: - gzip Content-Length: - '848' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a33a3c15501e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '1539' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=nDTJzP8Bt9lm2AQYe2T7byCTFc6Rd%2FiriVdYF11gzuFCfj%2Bq3Kb8OVOIShF4N4UKTat%2BB6Mg5hq7ACYxKUKP%2F0bpQlKH%2FDgzgCfY1fqM3Lvq%2FPWZ%2FJSCr1A%2BpaBM5ADK%2BSXMn2FYANs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3OYN01h-J9LRnOphXAzVQ9WY-j0; expires=Mon, 22-Jan-2024 18:00:37 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '1539' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '16310' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut 3OYN01h-J9LRnOphXAzVQ9WY-j0 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a33c4e95501e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=5ZX1wVSjIyxDF5Gk4vg5Ulp9A21HgkZjASHwEl5LISQocqdUSQqw7LmZGBYKhF3LOei3rxqYizcVUDtfKDZ0%2Fek9CHB%2BeGIBqPTsxTVKdNNGjQo%2FoX4YQNL9ECNgIZ80d6DT62EqJRE%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3OYN01h-J9LRnOphXAzVQ9WY-j0; expires=Mon, 22-Jan-2024 18:00:37 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a33caefe501e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=IBVtDr5Hkkp25n6%2BwovkJ8D2SJj19xjFbRDyc4YtFbYQWnToR6osMCJdCnBofL6s6BQnt7v5Cub%2Fsk8XIyOZqxb3CZDOL8aS7ARnFfC0LEacEfYGd0x1U5vHZZF%2FzUJMpYLmdI0o%2FCs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '34' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_movie.yaml0000644000175100001770000006775414636376416027555 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QTQvCMAyG/8rYXdspiEKsILiDIooHPdc1fq6ttOnw5zulE78OnpK8efNAXhhd dZlU6PzRmmGatXmaoCmsOpr9MA20a/XTkQCNdLBqhf5ijUcBF+mk9rEKqGQZatWTCwXd3XqLToCR GgXZMxpgj/7FWPPF1Lh5eQ7rXovsJM/zsR9sll06dbkCFj3A4g1rqG90T5KC/43vcJ4sZn+TsLBG faKUDdsSBW/zLAMWp28Sa15/bmIyrEmKfUR4AyAE1Kt5AQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e7113cdae974dc-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '207' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:56 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2FMdL07vEk6LgyzTjl59xotvGFv86114BmMIjOOsLrlNSJezq%2FjP3fnbXLi7%2BZ018mTTgZSmwLlEqqPnvM1D0xolaUVnR0nnwxExylvlqHYWM4Y73%2F%2Bc%2BqA%2Bh%2BYAPmJookF9BcA4XliY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=JnrMlkuV6-toEFFFBs9WP3tj30d; expires=Tue, 04-Jun-2024 15:58:56 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '207' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles JnrMlkuV6-toEFFFBs9WP3tj30d moviehash 5b8f8f4e41ccb21e moviebytesize 7033732714 sublanguageid fre,ger imdbid 770828 sublanguageid fre,ger tag man.of.steel.2013.720p.bluray.x264-felony.mkv sublanguageid fre,ger query Man of Steel sublanguageid fre,ger ' headers: Accept-Encoding: - gzip Content-Length: - '1177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA+3da3MTSZYw4L9SMRMx0f1BRd4v6l5vGGyG3gaasQ3b7/ulo/JSuAZZ8kiygfn1 WyXJNDBIlcdOi5SVsRMLpqFKVpUq8zw+l5//+8PFqLj201kzGf/XX3CJ/lL4sZ24Zvz2v/5yNa8H 6i//ffDzhZ+fT9yJn11OxjN/8PNlNa0uZqtfD36+rkZX7Z/O5tMrO+/+9oXx04Ofx9WFP5jNq/nV 7OdHiy8++5vtCQ4IQsVvv/78aPXlz49W//nRzRG+OJKr5tVXx6mm0+rjwc/df9n8Kl5Uc3vu3eOP 334hF5Prxp9Xs/PQ1/LL0emVedH9q6fNyH/7oAoxiSUPPeTiaM8Wr+FbR+NG1apmnmFrDcEedNjH H+f+tPn3mhcqEaWSEokZ6KBnzYV/cfrtQyLQGzlv5qMNbyTWnEohBQ8+anvM7nAv29+vueDVuJzU 5Wzu/agkCNNSEnRZmtFVe0OVH4hgg9qPJuOP5fv378vZlZl9HNvz6aS0k4tyNp0DXsihnV9VoydH a743wJHWX0GFGSeAI62/zQTjlbIM17zyVCgikOdCIsIJtoYRBTjJ82o2P1t3f5AhIUMuAYc7O/37 dHJ1ece38ZdxPTnxI1/N/IbDLa895JhPJ9OLav7toz0eXZ1UoKP9Nj/3028e7FH4B2rNc4QQQXjw +/V65qe/rLl3IR/H59X47VX11q87Vj0NfqJ1H+4N7zbs03l6dRHjo3l41S6Q0yeTiws//vbr6r1w 3VGcO6rmay5c95QaYDTAosBiyMUQCcALfFy5u1/Ek2re/sU1xykhR2rf9jeTuV+zL4Ac6Wjyfjya VG72ZM0b375xTMNW4dUDIsLyATrt01drnpaElloGX+1fjhZHW3NTM0pZ+NNyeahfLpxZs3WQSIUv CouDrX9XX1TjYlIXp927Cj7k8Zobs/dztzjC//PVt5+3i48d6MV0b9amD4osIQ+Wp77dPk/9XT+8 3WP8ZWPfrX3zQx5PZ9NqPBtV88ltl6bT3wTV657/od/KzUqy/j56Om1DmOCtfPuNrZ7bEZ5Gz9r7 qP2bv1xcVk2cq3ZSjd/d8or5aeNnp+2TbDK+63e2ONTxZTObuDVvevCxFh+SX5vxmjfnYvnsCn/H 77x6L763X14cPX5VTdet3qCb4HgVQH/7SE9eYQLarLd7i8nNR6+5+6Vc7J5883bcfrvz2W/j0ZqY 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 4q+24aY78bPLyXjmD/4PRuW1V4OqAwA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e7113dac3c74dc-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '11993' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=wVYw%2B6CYkU7TUAr%2FOccgGP7n2EzWjUGG6NK8FLeE33KH3DysBOLAUG7%2BVh8fkPR36cK%2FBePfx8m6EbxWdMskglcc2%2F0IgK4gvCsUj8pTXnF%2F1wk5YP1zauqWotERfinSPxB3CT6O2G4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=JnrMlkuV6-toEFFFBs9WP3tj30d; expires=Tue, 04-Jun-2024 15:58:56 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '11993' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '240259' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut JnrMlkuV6-toEFFFBs9WP3tj30d ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e7113fcf6f74dc-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=949%2F8sNtG5%2BurXMShFQ3AimTgVJ8zphvlqNgR%2BS8Rw1E7UMK5PWBZ04%2F0TkoyPXZ25PljlcyREg5QxNBEqYmzItwVMAlPBba%2Fx1ep3utqOABrK9cqO9z3H7G4lgM5nWl9GLIYbUtcJ8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=JnrMlkuV6-toEFFFBs9WP3tj30d; expires=Tue, 04-Jun-2024 15:58:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e71140484774dc-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:58:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=NnjhJHy4Ruf60q3hZe0wS9t7iSrSezQiltEFE5N%2FN%2BN7zvDXR8bEZ7IfcUcVr26qGOo7I7mlqDICbOTArXca75MuP3hxQDS%2Fgoe0NiraAtJUvshIQhGUYhBlnxcncdFE4PCT2fNG%2FuQ%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '37' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_list_subtitles_movie_no_hash.yaml0000644000175100001770000003016514636376416031236 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QOQ/CMAyF/0rVHRJQOQYThIAFJJCYYAyNgYrGqXIg+PccShHXwGT7+fmT/GB4 1mVyQusKQ4O01eRpgpQbVdB+kAa/a/TToQCN/mDUCl1lyKGASlqpXawCTrIMN9V5G3J/d+stWgEk NQpvjkjAHv2L8cYXnZXqz7rLSTae9jaj9YUsLYqx7zYWGbDoARZvWE19ozsvfXC/8W3Ok+X8bxLm htQnSpmwLVHwJm+1gcXpm8Tq15+bmAyrk2IfEV4B7lVTInkBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a3366e73bf97-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '209' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:36 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hxjc8K26xG4g%2FDR9pS3r6TGaTccMTqEasFtQXcNe8QMC529QeemHtrJ8AG9IKjybKBaWd99r0OEKJYctIwFzq454GtMYa3HpexXrR81OPbxAWYw3VCBJyiDNSGD7fOcyPNKufGZqrWU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=5Rd8J6OD4CE7YAXynrnNiCt6-N4; expires=Mon, 22-Jan-2024 18:00:36 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '209' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles 5Rd8J6OD4CE7YAXynrnNiCt6-N4 tag enders.game.2013.720p.bluray.x264-sparks.mkv sublanguageid ger query Enders Game sublanguageid ger ' headers: Accept-Encoding: - gzip Content-Length: - '675' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 zY1DzaZXrzxb61egrSfvRv8NkYtRhFI9AAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a3370f32bf97-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '1565' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=0Fc4Gt2Qlr8rNKLNVBTdyuElzwwT3v05ErPTUKH11jG%2Fb9k8LWE51xy9UcA28gMPpNBCJMBCvw9lP4%2B21csXu50XohAeLH9ZTRt6Onct%2BoG73jNKnv29W2RbV2%2FGnTZRVrxLzka3Zts%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=5Rd8J6OD4CE7YAXynrnNiCt6-N4; expires=Mon, 22-Jan-2024 18:00:36 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '1565' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '15698' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut 5Rd8J6OD4CE7YAXynrnNiCt6-N4 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a33889c2bf97-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9%2BQsgM6EiFjXYSlfHyuPUcxsvaQvHGdiHfBbjZ9rTvKtganWiscHeT3YWnGeOeXjPGyvZLlYB%2FF6PpftcxPAKEAj9q%2BFr%2FM309KRdqZM2IbnpZll5MfsaifwA01mo173fVT1eNNRots%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=5Rd8J6OD4CE7YAXynrnNiCt6-N4; expires=Mon, 22-Jan-2024 18:00:37 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '37' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a338fa95bf97-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=C9VSOX2ia49IvyOAm8sr5GkifPfc9qHbqtNs4c14d85CQV8lpVNgARJFCKf%2BBeH3vAfbZJBuYR4aZYP7MuXx7VHgHYm91TsTvuIJn04sEylWddi1S7wUsFrOfRxmqLH7vsKMSFQcaqk%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_bad_password.yaml0000644000175100001770000000526614636376416027133 0ustar00runnerdockerinteractions: - request: body: ' LogIn python-subliminal lanimilbus eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '341' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QywrCMBBFf6V0r2mtUoUxLorgWijF7tJm1GKTSB5F/HqrpOJr4SqTmTuH4cDq ItqgQ20aJZdhPI7CAGWteCMPy9DZ/WgerigItEfFt2jOShqkcGaaCeNfCh1rXd81Vrva3tOiQk1B MoHUqhNKII/6Jdjz6a4pE1ZuJkVZ7hejWVblRrgkK47rCojPAPE7ZKC+0Y1l1pnf+GkUB7lkrj9d N1fkfzOxVpJ/QrlyVYs0GsdpCsT/vklkkPCceEdkcEY+ZN4Ann9c0IMBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c66add4bfb7-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '215' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=2Gag8QWFo%2FeH79c7TxElnE0rGf91WFQAGfwPWFKs7iw0tbTkqs8EIUZuN9g6uoCyQhNRB822krFwZIuC0nzOOBo%2F93xjHl32yAHgODmusB2037AhhjtA6I9AA9HM7g7K%2BPu9TzGFlUw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=YiZ3aZH2WZZf9-5CbUsmu3CWhEb; expires=Mon, 22-Jan-2024 17:55:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '215' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '387' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_vip_bad_password.yaml0000644000175100001770000000530014636376416027776 0ustar00runnerdockerinteractions: - request: body: ' LogIn python-subliminal lanimilbus eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '341' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://vip-api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42Qz4oCMQyHX2WYu7YDCh5iPcgeFsT/PkBnGnVwmkqbivj0jtJZdl0Pnpomv3yE DyZX22QX9KF2NM6LvswzpMqZmg7jPPK+N8onCizy0Zk1hrOjgArO2msb0qvgopvYdgP7WPEjbUv0 CkhbVOxOSCCe9a9gy1czWXzPDxs6Lq/7adiy/BpoLv12tZAgUgZE2hEd9Q89sOYY3uMHssh2pGN7 uq9vaD5mYuXIvEKNi2WDSvaL4QhE+v0niU7CzyQ5Ep0z8SLzDhDuqBGDAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6a5f22006e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '216' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qry2Zxu20%2BNtauZfEJcqilZ4u93k9hlumbBZWATHsZsn3i8sIratFVUYQuHGbQ2SvBLohAszmYPjSaVq2nlkzSnwfeir5NR%2FhT5sQfi%2B%2BDh4uRe8yLP3vkbA9x5WnrRNqYlbBX0DbZWNBs%2Fm"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=L01INgSnhPxfCsTt0E4atbrTQO0; expires=Mon, 22-Jan-2024 17:55:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '216' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '387' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_login_vip_login.yaml0000644000175100001770000000527614636376416026452 0ustar00runnerdockerinteractions: - request: body: ' LogIn python-subliminal subliminal eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '341' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://vip-api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QzaoCMQxGX2WY/bUdUHQR60YRxJUgcpe1jdfBaattOup9ekfpiH8LV02TL4dw YHQyVVajD6Wzw7zo8DxDq5wu7d8wj7T5GeQjAQZp6/QCw97ZgAL20ksT0iugllVsuoF8VHRNmzV6 AVYaFOR2aIHd6odgwxdKaT6e/sozzQ6T+eo4OVULmgVf9zmwlAGWdlhLfaIHkhTDZ3yXF9nSytic 7st/1F8zUTmrX6HaxXWFgneK3gBY+r2TWCvhPkmOWOuMvci8ADnq0HyDAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c68afbcbf29-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '216' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=QYDOgGbW8C0n5FM9ohUxNB6yUc%2F4qgCtNM4t8OLpEGciC9a5xUm6jzbEZTpFdkcC7KcNmTy3dxmDJ5%2FQcvhiE%2FU0WI%2Fjk5DSgY6e973hTljhEwMpN0SCdDy0FTdXIeMNfcWPNekp8VAeLDl3"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=ccd0DGYaytJqELWwExlRtJsrv70; expires=Mon, 22-Jan-2024 17:55:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '216' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '387' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_no_operation.yaml0000644000175100001770000002317014636376416025761 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QOQ/CMAyF/0rVHZLShcGEhQEJJEQHEGPamEPkqBIH+PkcShHXwGT7+fmT/GB8 MTo7oQ8HZ0d50ed5hrZx6mB3ozzStjfMxwIM0t6pCkPrbEABrfTShFQFnKSONzWQjw3d3aZGL8BK g4LcES2wR/9ivPGFCRNal7tFtXReb85VTfqoZtN5sSqBJQ+wdMM66hs9kKQYfuMHnGeL2d8kbJxV nyjlYq1R8D4vBsDS9E1i3evPTUqGdUmxjwivJ/cLOXkBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6c2b79350c-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '206' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=k9lIN6sGUdrR3WcaZ4WWyZsan0aRNQ%2FGj9ANi%2BvvSImuAHEp30VZ4ZHoKoBQM6HR99%2FR2oxv%2FzdnMpYwjl1sVklIpTtsR2yZWfPGeYH9jOCYV5FArNfMJ920ZNShBVVErC57bM8iKpk%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=msDtW3gORQorlYwRbtlkdKHL1V3; expires=Mon, 22-Jan-2024 17:55:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '206' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' NoOperation msDtW3gORQorlYwRbtlkdKHL1V3 ' headers: Accept-Encoding: - gzip Content-Length: - '182' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA5WTTW7DIBCFrxJ5XwNWKtUSIQfIolIvgDBMY1R+XANpe/vGFq5q12ocNjDAfG+e YOjx05rdBfqgvTsUpMTFDpz0SrvzoUjx9eGpODJqIbZevUDovAvAaCd6YUOeGb0Ik667IfZJxuG2 baBn1AkLLEQRU6BoDH7dvAqwCuPd84miHFKUj9FEmJGU/3DGC8WNtjquIP+Kn41vhOHVvuXz7EWy dnEohqJhcaMMaTS4yHW37onguqz2pCRVXRKCt5obq+KyBfnGm691dArQj7rbkLnQmXnpk1sz/3iP 9R/ae/JRrNDqadxD3fRIN8lo+gf/awaQ3qnlH1I+NQYYLjGuKMrRFo3cB2jqC7RomG/c9UQSZwMA AA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6cdc69350c-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '286' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Bhc7RlVdoCI1fY%2FQNDRFrUmRKmXXi7lDaw9U4IN9ntBe0XQxumUdPd0bbIgyj%2BZAm91%2F%2FMucFxs899Logn%2B%2FrQB80iPZjCtV9NO05M6m6RrnUUOiblPF1ip5vzyaBIyY7Vj8mbIOJ%2Fw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=msDtW3gORQorlYwRbtlkdKHL1V3; expires=Mon, 22-Jan-2024 17:55:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web1 X-Compressed-Content-Length: - '286' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '871' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut msDtW3gORQorlYwRbtlkdKHL1V3 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6d3cea350c-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:58 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=pM3KFrzMNSbdsiuYoERXjuLqrw7Z%2FTT76zDZBacPaxai2X2ib6FuUdkLNOroZZOQrWKQsN9%2FEeURuiFpaVRKzdCvzGoaQEeiXPfJnXFgAb6t2QWeSLuGL8cVubaswCJYVV8HYJy8gKs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=msDtW3gORQorlYwRbtlkdKHL1V3; expires=Mon, 22-Jan-2024 17:55:58 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '37' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6d9d55350c-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=NYhxahHNuiKcDGQj1lklGTunBqYHazcpXl9kU9loBmd3zvzkIl3CqLeaTYG7%2BgmMNbwhdrGn4WKAgSSu1JDKRWH3Uu%2BfOH%2BGGD0lZpEjn7bn8hfY%2FLueqNTYxNaka5cnz8PP6ZaRDyg%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web1 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_hash_size.yaml0000644000175100001770000003452414636376416026474 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QTwvCMAzFv8rYWdeqIA6yelNEQRBPu3Vr/Lu2urbDfXundKLTg6ckLy8/yIPp TRZBhaU5apWEg4iGAapci6PaJ6Gzu/4knDKQaA9abNBctDLI4MJLLo2vDCpeuEY1tnS5fbhlhiUD xSUyq8+ogDz7N2PDZ1vXS/ezvFAnOq45TeNrvFjM63SVCiDeA8TfkJb6QTeWW2d+44eUBuvl3yTM tRJdlNAuK5DRiA5GQPz0TSLt66+NT4a0SZFOhHfgqvKKeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c796d933534-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:00 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=UVlMnpUipTHElpdrfWB7WocTBk9o%2FJx3P%2BmxRJBJ27bn03ojrzcUHdCnZmd0Vky6CNYcZbCSbSAcqkP1TQVdNuQq%2BboHwwjLa0SBSVr4ftyBsa%2FcxeytpFZ7LnizQWgCXhvT%2FwbyEio%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=Tu%2CZgFclnj06ya0Z9q9IIGyZLZd; expires=Mon, 22-Jan-2024 17:56:00 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web1 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '16' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles Tu,ZgFclnj06ya0Z9q9IIGyZLZd moviehash 5b8f8f4e41ccb21e moviebytesize 7033732714 sublanguageid eng ' headers: Accept-Encoding: - gzip Content-Length: - '544' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7a1e8f3534-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '3190' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=j5ak0VnI7VKqfVSmc9acpWg6fJE6CY8diqEDslsV1KjQNur8PDsyt65DtxI0ln5kXoR8aQXdSnSjzRqyIe0CY662jNp1m3IOUVnUvkoNJG3hvx%2B2w%2FORgnqE1njQeaflPAqL99wRnZ4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=Tu%2CZgFclnj06ya0Z9q9IIGyZLZd; expires=Mon, 22-Jan-2024 17:56:00 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '3190' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '15' X-Uncompressed-Content-Length: - '57988' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut Tu,ZgFclnj06ya0Z9q9IIGyZLZd ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh3gwsF1H8ABiR+kjYFKTYLipOL5FJQiKCdrvauxF9uHG6uJ owzBN2pba1Wx74Md/LVROV02B9USOk63YM8s9+CFCe8mGidlEk5mzPNWUsx9eqVdx5HQG8ckyaQs CG/xlZwP0E7r6nREKBKh2LAQfkncB2/XKBtyNzLpWus9QlH/JFie+zjld1i6wKrkE9zmyc4bAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7adfa23534-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=0hwPMAkQac2rM2OK%2FTALtye3kdO%2Fbye5IE2H6Ab8z4HbVsjWaHBBc9vWzd2rkbtQAXuunFMQKIZV2T64EmzjiyQ6U%2Bnyg%2BoFoAa4Ov689yyQHMXEwWyAMixaHpqXJnHi%2F%2BvQeWOnUfY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=Tu%2CZgFclnj06ya0Z9q9IIGyZLZd; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '14' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7b38613534-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=WXaG%2BmO%2FISpzk6Z7TIXUAeolV%2BTG1cnVSsiWYIGyUliRxIq9BdGOMnWk5sYdfksfeKnIOxLAqyHL8KCIV%2FbcxdfCU0cTa1%2B96P83ME%2BUCouTVYmMu4pkZcQQkzy6ZLj7Q39y3y1Paro%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '13' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_imdb_id.yaml0000644000175100001770000003202014636376416026073 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QTQ6CMBCFr0LYYwu6cDGUxGCMaDTBExQYfyJtDW3R44umGEUXrmbmzZsvmQfJ TdRei40+KRn74Yj6HspSVSd5iH1r9sHUTxgINEdV5agvSmpkcOENF9pVBi2vbadq09jSPNyiwIaB 5AKZUWeUQJ79m7Hjs00+w+i6SNtdUQdivsQ81eNsnS3UBIjzAHE3pKd+0LXhxurf+IhSb7v6m4Sl ktUQVSlb1MjoiIYhEDd9k0j/+mvjkiF9UmQQ4R1D+d+yeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e70c8319486683-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:55:43 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=dNs9Hy2blbYetl3u33tA3rACyItWeBY8nsweQgW3vk2nmPUiUXK%2F2y1eB%2FqVRpCYEdAHXVQ%2BOUCRFr8BZQaRx%2FgUoavcYhxl%2BxvHSgrtd8l0TtopeZPX0ZlnWq2e0d9%2BHZqHJChBIaw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=NRBe2wGDvSbl-mEIeRDs3JLJGo4; expires=Tue, 04-Jun-2024 15:55:43 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles NRBe2wGDvSbl-mEIeRDs3JLJGo4 imdbid 770828 sublanguageid ger ' headers: Accept-Encoding: - gzip Content-Length: - '436' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e70c83aa666683-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '2385' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:55:43 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ApypU8y8UpWtyNfqNhIsxTkgeJHnhqJy0T3fn3vH%2FajBjnwqs4Dd4es%2BXGAr86ZSGHnUJVJxDbZp5tXneK3jCERYcr7njH9%2FvIqaxFn92IHKW095pXBIIugS1mXf3rOFRtc8aaP05pQ%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=NRBe2wGDvSbl-mEIeRDs3JLJGo4; expires=Tue, 04-Jun-2024 15:55:43 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '2385' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '36084' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut NRBe2wGDvSbl-mEIeRDs3JLJGo4 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e70c846ba66683-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:55:43 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=5unQGhNVNpG%2Btd6mPq%2BWlv6dQ8dhaAVWSex68iqjUJ3kzuzS6Pif%2Bo41JZvZBls9tIVou7cO7OH4b5TQ1U4ljiqEf9NNHK5oWgpxjSXeV99VAFPirVnRsGGihXUgigSRIyfPd0pcsKc%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=NRBe2wGDvSbl-mEIeRDs3JLJGo4; expires=Tue, 04-Jun-2024 15:55:43 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '37' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.12 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88e70c84ecca6683-MAD Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Tue, 04 Jun 2024 09:55:43 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=kkZtr9j%2Bli8tmHoa%2F58kYmkf4qLgW4zn4cl05HV%2FKj7Il9Hc9R2xFRfIK8w0FipdH%2FvbKgF8Q6h0p7ynBHjhAcZ%2B5w2B8iU89OgfMfSXnoxwR6aA5rGHmIOf3I46wTIxKNjtUK6z7vw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_not_enough_information.yaml0000644000175100001770000001616714636376416031274 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QywoCMQxFf2WYvbYKootYURGRQQQ3grs6jaM4bbQPUb/eBx3xtXCV5ObmQC70 TrpMjmjdlkw3bdR5mqDJSW1N0U2DX9c6aU+ARr8hNUe3J+NQwF5aqV2sAo6yDDfVeRtyf3frFVoB RmoUnnZogD36F+ONL/qozAIH48JP8/OkTZaGGV9eRtkBgUUPsHjDKuob3Xnpg/uNb3KezLK/SZiT UZ8oRWFVouB13mgBi9M3iVWvPzcxGVYlxT4ivAI37+w0eQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6e4960bf99-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=KO5%2F4p1AGjsStziZKc15MWzuoHmhfG3fh6%2FQiKJpWRIaFji8nETt9HFWOvi4uafedaIFINigyWU8friEn48z2dCk4vIynfgE1xFyHZWuyU1fFr%2BkOCkSuNYCklDgR1MZAiPPevHmIRw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=AednWeBGgtMcyI7oroCK0ZzEKqe; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut AednWeBGgtMcyI7oroCK0ZzEKqe ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6eea2cbf99-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=AIYDQ%2B3dpY5kr9bYRrDnVdet0AruPzugh%2B8vV8uJ4YywT%2FkjYIhxiBPS8fpkeS%2BESEVBUds9zznzTrhaSjP0FcA5NvH8pkFa55WBcajrr96LDa4q7FLZAxEH8PVD%2B7IYNoGHOD%2BvgaM%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=AednWeBGgtMcyI7oroCK0ZzEKqe; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '34' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6f4a99bf99-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=RY1fodjPzFeXDQr81LGvKduK5Oa%2F%2FaLN3EktPiUKatp7XCOwYBu%2FD6aO%2BoYUMsT%2BAFTaSXZfh%2Fd7yZLGRAA%2B9%2FqMo8eGyoUToM%2FhFPCCXytNIMbj4FrExZGU0EzUpNyUCFdiYC9ip8k%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '33' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_episode.yaml0000644000175100001770000002653714636376416027401 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QSQvCMBCF/0rpvSbWBQ9jei30IEhB8Ja244JNpjSJ2693IRWtHjzNzJs3H8yD 5Kzq4Iit2ZOeh8MBDwPUJVV7vZ2Hzm6iWZgIUGh3VC3RNKQNCmhkK5XxVcBR1u6uGtu60j7cqsBW gJYKhaUDamDP/s1454tRTtditc5HhYmulKeTS3rKspxwPAXmPcD8DeuoH3RjpXXmNz7mPFhkf5Ow JF31URW5okbBB3wYA/PTN4l1r782PhnWJcV6Ed4AqrJFr3kBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c72681f3bcc-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '209' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qEruTDL5hLtec4yGGGcayAsxxyYzP5fxqAT9mhCTzTAbAYSZi7BZk%2F72LJm02wR1LsKxplT02Ys7%2B3a6w4ldpqTCOb8AcHV50KiKfc3hsYMTt9KEZe6lDkzXVQHSGH6nY2oC3WTELX4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3TozbWZT3bs-zoTH5yHwKKToe46; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '209' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '28' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles 3TozbWZT3bs-zoTH5yHwKKToe46 query Dallas season 1 episode 3 sublanguageid fre ' headers: Accept-Encoding: - gzip Content-Length: - '576' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA71Y23LbNhD9FY07k2kfeL9JrsKMbdm1xtdYTDvJG0isJExIggFA2/LXF6SppHUE m5DUPvF+9nB3zy4W4w+PRT64B8YJLd8fOKZ9MIAyo5iUi/cHtZgbw4MP8bgAsaT4DnhFSw7xuEIM Fbw7xuN7lNfyLheszkTzdpECi8clKiDmAomaj6324h9vSgOxa9uDm4ux1V2Ore6xtUb4FxJGAr3A QYyhVTxunrzO4gqJbAn4eLWZyLzOcwGPoi+V6WRWp1f0nsAZyWEzpt0XrMU5R3y5D5zjlYAZedoL p4QUcDXbEal1lSAif8VVzijwHD8KoqgvqsRs4K7l+WbICcpzxAe/urbj/jYwBrbzaHvymCxhcMtI BoPPtB7copX56Ia+cXlzaZ4xmflL88SsK5lQgM0jjEkWyZOMFiZnvbNDkjvKRI3yk4nifzWQ1MEM XMfRQVKnmI89e56GkHmR70bzAGVBNPRT35njyHPCVMPIJeIiUeWMfeg7h54O52T2B6N1taMbp+Wc 3kEOiIMazuqDckZZgcT239+IJbAtP/8uJEUQg6HjeH5fn3ziwKaK/Owt7jbg5aJGC1BhzRnoiFrt 31hPgbO62If8jmrZ+dgJLQoot4x7g4LxRJYUVRd0XMMODdcZOOGh7x26oQbBY4R3D+IdEvJFBY6p gyTd/icVoGj4OkgT+lDmFGF+onB8HEaBVj/rSsD/1zS02J3dKsqm65mjqHdKTCctmiLzPTsajTSh pgVOFcxcOwj6Z2uLpvb+u188//fnELSnP7td29CpIqnf1GyL8BnQ5lrdSlaLTOPD10QWmUOdKgly Tc1gV+E3LeCaZF+VIelT2hKGSp4jQbdta7Ob0BupekffX1l3IXV2PQtVw8ldzd9DJTuXeSTfnBYV IvuJ2h0qv24ZMWAE+EzWQVru2h1bqNOKcIoVTve0RHJBSoVzYG2kv893Xtq0fze9mhzfIqbq/bET uV4U6iTDaTddb8b7lJwZOpVALk/oWoFEFVEdenIBBmRRyn8W/KbMFfOyFiKjRcJqLnbO/I81sNVt s+UAAtgGYf48939rPtlsFredpq9t2Eua833ojtdp3pU7onDp64tua+2qHu4+Qc2+yQsrpBQN3ebQ e4RTT58uhF5oI8BIDjDpCLlD23OD0dCNRsM0C/AWa8ZLoqiP8VKIih9aFs5NWkHJu5GKm5QtLCgt 3CFYnGUGqoh1z+aGM0oDOwuQxQk2vIQ+pX99SbyUG080OQ9W5w8XFwkFP7TmJAfrx26GuXjqS/4L qf4j8vPAy+w09d4kL+EszSFyPZHy1zlLyg8PD5s5f7+xtv0mz2fhGnKSNqpmdWisaG1UaGX0Xy60 qX1dN3d2LXAZZS+rAqZSodAMTnY7onTXfYT4vJNpdfuabxWTjJb4ZRn8YXwYaZnu9nKt9d6u9WLT 92/YuZm4KxYAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7308f93bcc-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '1093' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hq09%2F5OBwPLo3%2B1aToR4%2BWVBZjRhXVmej%2BYsM%2BWX%2FlHs%2Bn1hJtwx%2FY9Masb0nLTYMaogBGqIWJ2NSCaif8Qjhi6WWuBrMWr3VFkoKAg3zdWUP05jAoW3OFjg%2FN1Wq07oM2PGhGhIxfA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3TozbWZT3bs-zoTH5yHwKKToe46; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '1093' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '27' X-Uncompressed-Content-Length: - '5675' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut 3TozbWZT3bs-zoTH5yHwKKToe46 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c740aac3bcc-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:00 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=L2TmSDq6BFfRc3JZs0hT5FwLzH2Q8jsm2Fc3hB%2FGEiuAPI94qNFdgF5uJiP4EihZrBa6yTsYuKzRYBnAXio2hS5sOOzzZbuirVFEnwVPc%2F6tVlRizUtyLtMoLe%2Bt83FNJs%2FfEOP4uT0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=3TozbWZT3bs-zoTH5yHwKKToe46; expires=Mon, 22-Jan-2024 17:56:00 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '26' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c747b513bcc-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:00 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Wu%2FPAR7%2FUEWlcgKSV8b3jPMrq9BR0zGMgM86FiOgniQoLd53RYhLOqauoGTuXcTnSSbj0cmgCaNuW1gKaJxdU6CON%2B%2F8UoQ%2BMecOOp6bY6Tj8sCrlQa6%2BXgc22234VEfQbGieR6b%2F2s%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '25' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_movie.yaml0000644000175100001770000003515214636376416027061 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QTwvCMAzFv8rYXduJDIWssoOC7iDz6K2uUYdrK/0z/PhO6USnB09JXl5+kAeL m2yiFo2ttcriZEzjCFWlRa1OWezdcTSLFwwkurMWO7RXrSwyuHLDpQ2VQcsb36nWGV+5h1se0DBQ XCJz+oIKyLN/M3Z8VpS7zWTftMtpbuZrV3KRnnJpVxedAgkeIOGG9NQPunXcefsbP6E02hZ/k7DS SgxRQvtDg4yOaZIACdM3ifSvvzYhGdInRQYR3gFM+uHfeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c6ffb72c01e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=AL5cwX%2B6uTS4XkgdLHG6j5oW%2Buv8%2FjX5cbPI7%2FJyw0rC6hYgWasXIroiD37CVTlXz5ZiG4zg6RGuiO4Z0WORXMU%2F4qA3UH9XbxV6pap%2Fec2T5wGe58X9QIJbnQCMgB66kykC1J64864%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KQRJ2ZlvE4Ar9ItQad6gAmsFko6; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '32' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles KQRJ2ZlvE4Ar9ItQad6gAmsFko6 query Man of Steel sublanguageid fre ' headers: Accept-Encoding: - gzip Content-Length: - '447' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | 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 headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c706c1fc01e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '3466' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=aQGmw1fmAxlJGyokDJrCW8DFHI6GftZDC25gVjbaL6xV8Bzec1E1wDNYgoLudWNA9YwpXbRXNTYTVfkF3IQrL0daFb6SBGgpw7dSYhgitO30nnL4ShpVOzqAze%2BB6o0pQs4bWLN2%2B30%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KQRJ2ZlvE4Ar9ItQad6gAmsFko6; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '3466' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '31' X-Uncompressed-Content-Length: - '51936' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut KQRJ2ZlvE4Ar9ItQad6gAmsFko6 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c716da3c01e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=HUjtd7VRmdMHNJVqq9jUi3DV2yFbNIlpC%2FooySs6%2BABmh7hpmLhzqbo3LbyR8eD6Kg9m6%2Fm6UoMjIkqn0wlbcnlgYa%2BKwP07cWXIhjKJAok6D%2B5bgiXBwD9MYlt9C94orG%2B1hF0Dzro%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KQRJ2ZlvE4Ar9ItQad6gAmsFko6; expires=Mon, 22-Jan-2024 17:55:59 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '30' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c71ce24c01e-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:55:59 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=R4fFTp%2Ff1Bbl2Oh0Eo6TjO3P3qRYxwSzs16aip%2F%2F7ir026P7PXgCte2JFZISqWXrQnQCMlxKVzwyi68kVYF3wHNKW1ZVGT6dQHCnkGoqsWRM6fV8pmPAEmkU7Qo2rXBcyibmV4G48Is%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '29' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_query_season_episode.yaml0000644000175100001770000002735314636376416030746 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42QywrCMBBFf6V0r4kiojBNN4L4wKJ+QdqMWtokJY/i5/sgFa0uXM3MnTsH5kJ6 lXXUorGlVkk8GtI4QlVoUapzEnt3GszilIFEd9HigLbRyiKDhhsubagMWl77u2qd8YV7uGWOhoHi EpnTFSogz/7NeOezzbZcrcVueqz2+dIs+KSxx2w9d1WFQIIHSLghHfWDbh133v7GjymNss3fJCy0 En2U0D6vkdEhHY2BhOmbRLrXX5uQDOmSIr0Ib7sbzJp5AQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7deba9772a-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '207' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=4rsk475PFOhSI%2FcoZESWvyjwl3NGEPgamPlMs7Khf%2Bc9YctM2qsFjrH1cD3CoOO%2FYJMExgqakM3bH9Pmn%2BABwAasYbQTMs8L7iEVNRjxAghHElxuChQGYO9prAyIsfa%2Bpsx%2BD%2Bhh4jU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KLiIJdN6SkQbGrDa4psSOJ9tkke; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '207' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '8' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles KLiIJdN6SkQbGrDa4psSOJ9tkke query The Big Bang Theory season 7 episode 5 sublanguageid ger ' headers: Accept-Encoding: - gzip Content-Length: - '589' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA+1aW1PbOBj9Kxl2Zl92fHccK5um0xAoKRAoCezlTbbloMG3SjKQ/vqVHafdZa0g kbTDdvPk+JKj40/f9YwHbx/TpHOPCMV59ubA0s2DDsrCPMLZ4s1ByWLNP3g7HKSI3ebRFaJFnlE0 HBSQwJQ2x+HgHiYlv0oZKUNWPZ0GiAwHGUzRkDLISjow6pO/PckXGNqm2bk4HRjN6cBobhtrhH8g RZDBJziQELgcDqo7m1mcQxbeomi0bCcSl0nC0COTpTIZz8rgPL/H6BgnqB3TlAWrcU4gvd0FzmjJ 0Ax/3gmnOU7R+WxLpNpUDLNkg6ks0HV6PQuYviwqx6zgpvx3O+T8FukjvNBHMFvo/CQnS31m9o7M rt6zzUI/Gc9v9N9tz9XGk/Oj6WxyMdUjpM0Of5nfuNc6JdK+wKm8C1kJk8Ox4O0UkMRbZ4MeUEES O1QUg57tuwEEHgC2b5s9AAMnCh3g+W4cQYVFziBlc5GHmH3L77tAAW4+e0/ystjSjJMszq9QgiBF YjhDBuU4Jylk7XQqB1JhdMFuEXkhlS8h1E6laztm15SOyGuKyETgq9Ig9eZnixIukAhrUb2vfDhv sLVaNM7KdBeh+K7kNY8c5mmKsnZez25chRJFY8hEMW1ajmaZmgU6ltXv+n3bViA4gtH2m3gFGX9Q gKOrIHGz3+QMCUq9CtI4f8iSHEb0UGB4XjCsrrSp6lrWJIRvVTCUuBxfClKm7eig58lX1hpNYCHP dLyeItQkjYJ2OMe2gQPUTC629c8/Oe6v3MYdbvBOZfDOyuD19ep357ec3BUJDFHnkuSPOMVsqbz2 kcCvnw3bGuEPBNvTdR21SmQqs+4uzo4Rb6gJ2jb2qyowxeGdcJdkstucwIwmkOUvrWyzC88BgjYF yb7KuhCJHe494sUlUzByk/Z3kMxOuB/xJydpAfFudu0KZncv3DFEMKIzngjzrJ2IdMZYQR0VmOaR qC1RCpJTnAmMg9aLyNt86/Jfv93kfDy6hERU/oc+8G1POl1zXkfNZN0Od3hp2fJVbdWh5OsIxKId VUotOUF4kfF3ZvQiSwTDshIiydM5KSnb2vM/logsLyu9ATFEWgLz30P/p+ov7cvyZrwT8OITVMWH 1cVHlgjaic/TXQQhLYOkyX1YYN/NTbixtpuE7Q9hpaA8WQVnrIqq6iA93oknUxQBx+p5AYRRaEam HbsBcCPLNQPHAShUUQfWPeQZFiTL4S1jBe0bRpToeYEy2oxYVM/JwkCZETUIBiWhBgts3JOYd+ph bIbdwKA40k7P8ORDNPVmdx+D92QM3YLOLj4AdneHjBgnyPiqa+iLz7Lk/8TFNyIfd3lXGED/WfIc zlAcKtcTKt3MmVN+eHho5/zlwnrtZ3nywNV4FGtVFGurKK4O2sO6e9SKdfeoyReQ2tunZXVl2wQY 8oT6BCPKedAi3vM1M0xzLhGbe33zP6xvepbng55KdX+xvrlqdvXxmW6ZPp9cR0l5BZf6YzW74un4 NWqbLpCfVTdqm9ANfBcibmrHQgh6yHFiz45RHLg+jEG4U22zq8L5O2qbQ77LKoCbpLeV87wSobPX BY7pSSvKe6HzFQmdvmbZmmN1TK/Po8dWCZ3/sdDpWNLeLidzdl5WOPb65l7f3Oub6gVtr2+qlaO9 vvnj6pvX82NNRcLZy5t7eXMvb35neTOq5M1YWt5sZI1XIm96nhmEz8uGlbypOEruVN5s1v6x5U3T rGcXeXnTWH3FaTTfdD6XX8I8i56mya+L+2pLN9+xGuvvWo0nH7z+Bf+32wgnKwAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7e6c7c772a-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '1359' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=lRsYixDIYk%2Bhwl36nxiKQqwmbtsAcRQUGTbyWbCGuUY3Db4uyBJkV%2F4j305rFzKDL5h2ly8jNUnOcj0GiLjc1jAgKxFnyhA%2FQJuLVX%2B9WNgAzn4taN2P9y91cYYAvOPDrxEZez8bS3g%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KLiIJdN6SkQbGrDa4psSOJ9tkke; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web1 X-Compressed-Content-Length: - '1359' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '7' X-Uncompressed-Content-Length: - '11047' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut KLiIJdN6SkQbGrDa4psSOJ9tkke ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7f5dd7772a-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=BmnT6YirezgeuSTzvJmUXcmTRNjv%2B8lj0UxYl9KNFHmLaiyeqwNhLvnxR26e69S9DBJYoGVueHFLVPIJhZFZ2T%2Fm5S6uUaVcGizAuETK8pDr%2Bk2wR3EQkFJIoKau5j8PAC2oUS8WISU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=KLiIJdN6SkQbGrDa4psSOJ9tkke; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '6' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7fbe5a772a-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=BNN4Ezr9mLDNp%2BQLofKD632sNg2dejr0QL60kHawATOH7weeVm2%2BO1KR7%2B%2BfxF6GBYdXK3uVqCEewvH4x4qfNFp%2FH0MM%2FBqksd6GiO8P%2F55ffH1joVnUg53%2FrQtNFKZWX4Z8Gzs%2Fy4U%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '5' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_tag_movie.yaml0000644000175100001770000002355614636376416026474 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42Qyw6CMBBFf4WwlxbcuBhrXMBCE0zQRFkWGJRIW6Ut8fN9pBhfC1czc+fOSebC 7CJar8dON0pO/TCgvoeyVFUj91Pfmno08WcMBJqDqjLUJyU1MjjxjgvtKoOet/amatPZ0tzdosCO geQCmVFHlEAe/YvxxmfnZD3OTKqSdhenm8U2zvm5zvN5HBZAnAeIuyED9Y2uDTdW/8ZHlHqr5d8k LJWsPlGVskWLjAY0jIC46ZtEhtefG5cMGZIiHxFeAasR2cJ5AQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497ac802c43fbd6-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '210' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:06:57 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=hZfCGc0sjrvKasBTwf1RC8wXb12pDItJsE93c3lVgUS8KjzjOMKnvBii0D%2FdRfZgrpFgJ7U%2FZyQ1RnGgSPHTrNHkwVxd059F0559lPRoyRylGb6wYnw1ZIX8%2FHyuN%2FTRpu96ROrUm9A%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=qFS3RtNoFlXENTJWEYaqfYYAE1b; expires=Mon, 22-Jan-2024 18:06:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '210' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '39' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles qFS3RtNoFlXENTJWEYaqfYYAE1b tag Interstellar.2014.2014.1080p.BluRay.x264.YIFY.rar sublanguageid fre ' headers: Accept-Encoding: - gzip Content-Length: - '482' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA32QTQ6CMBCFr0K6l6ludDGUA7gw8QYDHZWEtqQ/RG8vmGIUE1eTN+/1a/uwvpu+ GNmHztlKbEspCrat0529ViLFy+YgaoWG483pM4fB2cAKB/JkQp4KR+rTtA3RpzbOadOwV2jJsAqR YgoIL/GRnC5QOymL0xEhS4Rsw0L4ImmKtOKQ9/RQODswHcvyPyZw66xev0i71PSsZCnlHiGrXxIs f3w7uQJYKoFVV08WUUqMYgEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497ac80dd33fbd6-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '190' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:06:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=dp8Jca1DVaxs0sHThgHUecObUzKzkPcnJ%2BvMwAKrDSetchxXpwAXtLs%2FF4%2FYrpeqvAomG%2FINCJwSKhBwpKjl8exNeW204UCnkdoVBYsCmFAEQcoCcljgX7RqwSYE04u7wKYj2DeNlc8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=qFS3RtNoFlXENTJWEYaqfYYAE1b; expires=Mon, 22-Jan-2024 18:06:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '190' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '38' X-Uncompressed-Content-Length: - '354' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut qFS3RtNoFlXENTJWEYaqfYYAE1b ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497ac813dc8fbd6-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:06:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=1oUFHdMrJdkVOIBeZa1PK4V8wNmA533NRSel8srM7jd7ffjPb4Pj%2FdvBQEtaaBetPoW9sXX4BCBaOUNtnnSuC6S4f3EWXoyX%2FoGI8ytIEKbMKTuyufF5ZqG3NuLQEfNv7htTTsDwXMU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=qFS3RtNoFlXENTJWEYaqfYYAE1b; expires=Mon, 22-Jan-2024 18:06:57 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '37' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497ac819e47fbd6-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:06:57 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=j5JywjmjtkJbYiCPRVf6meBia5n9JZqT%2FLcUwzZ2WlylR9dnZUEO05m4vXyewJwQVWFj4v5A55X3toQzcxFMhxLiLxunBLwE1n1MFcLIzo%2BeDfQvPWjHNlQMHRTQfte4b0A9hUfCrm4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_query_wrong_hash_wrong_size.yaml0000644000175100001770000002370714636376416031125 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42Quw7CMAxFf6XqDCSBgQ4mHWAAMSAhgVjTxpRHk6A8Kj6fh1IEhYHJ9vX1kXwh v6o6adC6o9GTlA1omqAujTzqapIGv+9nac5BoT8YuUZ3Mdohh4uwQrlYOTSiDnfVeRtK/3CrAi0H LRRyb86ogTz7N+Odzxu3mB9GrHeeTVGyrJpbdRqL1XazK4BED5B4Q1rqB9154YP7jR9SmqyWf5Ow NFp2UdKEokZOB5QxIHH6JpH29dcmJkPapEgnwhuUP1cKeQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7bea343485-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '208' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=2pE%2BxaajRQmMFowoQL%2FixDUlGWBsKPH8qOtNoH84epoZvIg7aoa%2ByZh4QTqLGdAzXsTMUrBc9i3yIZyZj6nQdVUFp46IJS55mbWd6BBe%2Fl2SBLXYB5AM4V92jhxtt%2BSNGf7C7kSg2V4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=vsIHh31%2CkDCed18gHrmj7aOVUXb; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '208' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '12' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles vsIHh31,kDCed18gHrmj7aOVUXb moviehash 123456787654321 moviebytesize 99999 sublanguageid eng ' headers: Accept-Encoding: - gzip Content-Length: - '538' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA32QTQ6CMBCFr0K6l6kujIuhHMCFiTcY6KgktCX9IXp7wRSjmLiavHmvX9uH9d30 xcg+dM5WYltKUbBtne7stRIpXjYHUSs0HG9OnzkMzgZWOJAnE/JUOFKfpm2IPrVxTpuGvUJLhlWI FFNAeImP5HSB2klZnI4IWSJkGxbCF0lTpBWHvKeHwtmB6ViW/zGBW2f1+kXapaZnJUsp9whZ/ZJg +ePbyRXAUgmsunoCM0fpcWIBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7c6af93485-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '191' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=8MPR4QsIX8vG2ig19bwNlwjViOwyKO%2BTYHWGZOCD2iUt1q2egCVGT3tQTOSanTAUXUnLNDfuykS116N4o4QW1GSbC2UmLYQDJZulK8lByOPQdl7aOBUgnv0qxOMvB6fx3otrzquhCXs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=vsIHh31%2CkDCed18gHrmj7aOVUXb; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '191' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '11' X-Uncompressed-Content-Length: - '354' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut vsIHh31,kDCed18gHrmj7aOVUXb ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7cdba03485-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=8qRMwmvCDe3v6xjIYqT5qzem9mKzTkIgZeRS8HwtOU50LLuwVXYjyA97kEpK7AiXJgSYenex5Cz%2FxwdPgXdAgqFg168TnWim908FaTGiYI39oZ7GiwFdsLeB%2FzGS1kY687B2pdBSCfk%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=vsIHh31%2CkDCed18gHrmj7aOVUXb; expires=Mon, 22-Jan-2024 17:56:01 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web4 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '10' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 84979c7d3c1a3485-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 11:56:01 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6FXFiWAKTQ2NXaX10Akff8KHs4ICp3nHoawJcsvnXFnNzxlbPwCriEHIpiQBE%2FAK%2FtwhLN0ISJAcnidkbJbbAAhlDMsSyNYT0sCizLDHazEWTMgn1BK9lTCDUGT%2F%2FVtKoexVQ3BjuBY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '9' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitles/test_tag_match.yaml0000644000175100001770000003513014636376416025213 0ustar00runnerdockerinteractions: - request: body: ' LogIn eng VLSub 0.11.1 ' headers: Accept-Encoding: - gzip Content-Length: - '314' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA42Quw7CMAxFf6XqTpMWIRhMKgQSAwNVJ8SWtgYKTYLqpOLzeShFvAYm29fXR/KF 9KKaoMOWaqOnYRzxMEBdmqrW+2no7G4wCVMBCu3BVDnS2WhCAWfZSkW+Cuhk424q2daV9u5WBbYC tFQorDmhBvboX4w3vjguunm8VqfZhmfjZUKjnLZF5hamGALzHmD+hvXUNzpZaR39xiecB+vV3yQs ja4+UZVxRYOCRzxOgPnpm8T6158bnwzrk2IfEV4B7CfueXkBAAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a292faf835cd-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '209' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:10 GMT Download-Quota: - '999999999' NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=IgyR5vnQryUDQidROY7a9%2Fa%2FkCCog4KGQB3viBjPPsIb1px1oxduUGOckdXEwAHSgrADA3bLYlj6XytU7Vm7nitY9FJZxAjEf8TmBl9mI%2BxIo5xuoF0rcUoFo2sW9ni5o12VaA3nFNo%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=jDvC1OmkAX0P7G2s5RsZbPuDob3; expires=Mon, 22-Jan-2024 18:00:10 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '209' X-Content-Encoding: - gzip X-HTTP-Version: - '1.0' X-RateLimit-Remaining: - '36' X-Uncompressed-Content-Length: - '377' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' SearchSubtitles jDvC1OmkAX0P7G2s5RsZbPuDob3 imdbid 4516230 season 3 episode 1 sublanguageid pob tag the_fall.3x01.720p_hdtv_x264-fov.mkv sublanguageid pob query The Fall season 3 episode 1 sublanguageid pob ' headers: Accept-Encoding: - gzip Content-Length: - '1129' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA+2db3faOBaHvwqne85u+8KgP5Zks5nMSULT5jRpspB2Z2fOvJAtOfEWbMY2adNP v7KBtJPBICVO6gX1DYXAlSzp6t778JPZ+/nLZNy5kVkep8lPL2AXvOjIJExFnFz99GJWRI734uf9 vYksrlMxlPk0TXK5vzflGZ/ki8f9vRs+nqlX8yKbhUX57kkgs/29hE/kfl7wYpbv9aon371TNbCP AOicv9vrLZ7u9RZ/7i0t/MmS4AW/Z4dnGb/d3yv/sr4XZ7wIr6U4vF3dkXgigljoduRkMJoFZ+lN LI/jsVxtEegaq+y85fl1E3YObws5ir820qfLeCLPRo+0VA1VERfjNUMFfUKw6yOIdK0qm6W59+r/ q01eXsvOMR+POyOAXwPYeTu4/Nj5gqjrDA8PO4dD5+J8eNnNs8KgxYOwmPHx0aDmIgws1c8QIcDz DCytWTeRBzkLUeR7gfQiLrCUHuMUc5eRKDBp5JTnxWXdQgB94vWxycxdjt5k6WxasyNoL6wkSody LHku15grp9nE4nGaTXix2la5hkxsnRfXMltpqqfvNau7Qhn1IfB1e/Mhl9lJ3bpFlPnMNVoOydWM X8k6i9M0MPHjNSNu5p+j2aQJ5zyYqVCXHaWTiUxW92vj9JVWhBjwomb6EIDUgcBBoAPcvgv7wMQd D7l45KasjAx5od5YY6drYkkN+8e0kDUR3sTSIP2cjFMu8qOagVeRAmmv1CqGLXaItYGiWwaK7jxQ dEsn71aB4vL0wDk4fuMcpx+dyWhQBg6jpo8varZMRLoAGATQylrdQvIg1F7cC1MnKtdZbc4lkCJs liXUD+3f/4bdfy4DcfWkM1JBOwllhyeiM5pFkcyqRWjY3OuahbvRLysL/5F89a5cuaVRZ8qRXOdI rGuU0UiVKGfysc5dbvbv4/BT/cRMeJaGPKdGQTvjST7mRfrQiDY6p9ivCRja8WIZeuqv7SLNitnV TOay8/Jw+MrgChc7fgP72Fu1wtQ7TyZTHjczn0OefKoJkSpP+G5qNPuo/E7mI7Uzpslqs9jM1Otp nKeiLr038ql3cVIzYnLZiP5EPDodqK7u5GxweMGzunRgHyHfhZ52NqY69npRYa+2d3QBETFxTpWy pEsHjeum1GQFq6RMxleJuugiP0/GNUWzkcUsnVxms7yo8wftOfnXTGa3R7ys5u9ZipOiNFM+aFch 9QUUhYBzNwg5FyiEAaGux32GJZW+K6IgfEBicxrXufF1UUzzfq8nxt10KpN8kf3n3TS76smkJxYW enkWOnwa926yyIF+IEBIUC+PhfPfwc0RPJ98OvgFXLA3KCfD/NfgYjZIA9yLVNjtfauyu1dfdTv/ azx9os5HhAYgCKKNnVfmeob1zrJ4ytf3WXX58+fPq/t898Ky7Y39VNWeE6lMx8nnSY6jkhwnXyY5 jn6Qqxb4+1n5yiP9rrJ0USI6WchsRWT7KyeTK3dyfc/KVwWV8nNY6+NLDtdAdqpmcLxIF+osrq9U e8sB2rDYQrVZ3rMvUtW43Me4C+Yly+IFjUbWTc4GiBnNxuNCftGumS3GbB5jMuhS1hjGHPGxnCxL U4bA9Lv69N3J6enr4aiFEBP7qpJqBGIyGTGuBjQCTEXhIAQhQtLngSQcAM8zicEbIKZL+0Yp11qI qV+Ra0HMxUxvJcf0oUqem+CYmHkUWoz5/BgTOrDCmAj2jTK0HcaYRC3VZjHmX8KCc/zhzDHcODZg S9z1mTYfW4stsYsY0fbVzdjSIxi5jWLLKvDOmeVBpHLnTrHgmNsMK02+hHg2WBmO+Vd5I0XaHKxU UW304TDXXn8WXT5iduvRJReTOInVE4sufxy69ClG+luxRZePmpMH8Jg/yo+sbrYMSZFBSFqNdkyv YSXgMXW952Izz8WKBeQcoghHLGA+kYErPRcggX0fMEaJSVr8ZKw4hCAkmzHmN1ZcoYy2sGJuwIqN asqGWXHV9uZ+lumlw8vM0rnjxg0SYv0duB5eqnwfzAsVCy93BF5aDWZVnVsNptVgWg3mTsBLq8E0 hpdWg3l/IVkNZquxptVgWpBpNZjbDjKtBtOCTAsyHwsyrej1qUGmFb3+WKRp9Zg7hTTLLzGMdA36 ekwIPDDt/vv1oTM47Q4GpKsq125ZtQ6GB0cfTg9aiDabU2aqIMGY9IhAmGHqR4HreV5IuUScoICY ZIiblJmsD0hTaFM7sOuhzcVMN0U352upNXyz/C5Le+StNrOFePNOm+n2XRMf2mW8CUnD2sxSt+9s ChZWo2mMNa1Gsy0w02o0txVtWo3muomwGs2HrWCLNutat2jzydAmCSMPBhzCiIUyIMQHmIchAz6X QgaByaHNp9NoIhASbqjR9FqENkNgoNE0qUia1miSrdFozguWZwGa9i6ZPxpnYkyNYNhGheafhDf3 Tpgfpx9/k1+Lm99bSDKJ5zUk0vShgAhxGUDsUh+zkAd+EHA3cqnLuH7JqifSNDH3nCLNu7neSqUm wcTTHrB1JNNsNViI2YxGE+AOgn2I+8QkS9thiIk8fdyuBzF1Q0UzHJMAK8+08swfRzR1di6rxmwl stw8dZZONkonGxZefrg8dkwS+22Ak2Y39LMywIqV8VIGCA1YWVU7t4WVYRAEQpOVGVUvDbOyqu0W yQDtvS/bxO7XoEmoUvh5GWK1lhZOWji5NlWzcNLCSQsnLZy0cNLCSQsn11uwcFInOls4aeGkhZMW Tj43nLTKye1TTloaPLE0uJU0uAkNpeWUu8UpXUx96JnAhPWccpCG3TMVj+NkWX6+RG5nJKdFZaaD AGCvur9dfhzG087LX25i8ep3J5/yVnJL6htlzvUhgwZRhAI/DJRvCcGJj6R0JfJZBAgTJt3ddDyc 9LFJgveMP9yzucragClbAykJ84Hva/MtCylbBCldB3gOZB1A+pD1kUkHdxhSQuhrJxd6kLLzkEDR DLFs8G6X0MWQmpqqJ5ZQ/SOG9xOtH+IKUqph7syHec4sS4J5MJ2OpZoAmSf/KNp2Rhxo76ua0LKN Z8QttLTQcluhpf68aUFLF3jYqD6xx70fbsxCyy2FllHIkI8F5CElzKUyEsBFIgwIpVR5mIlDPN1x bw5C4mlDywW5aAm0ZAwEIdOCloblY6PQctH2xn6KNHQmVdpYnfbmZcboiDJjdIpWnv0G5dHvskix 3HInuCVFhFDSnL7yW520/IGee5XSvFBqIaZ0fWr0M0VrVo6LfMIpYoEnCYoCRjFTO7IIVLzwpNRP W3UwpX6Z+/+FKbU+/4RwklEPMNzIjSotnHxmOOk7ADvA7wDcx7jvasu3dhtOImaGjDaySc1Y0AyN bE4+aWGkhZEWRloYaWHkQ+bNwkgLIy2MtDDyexipf+/JBY5oCYykVFtBaVguNgojF21vJYwEVVVi YeRuwEgP+Jg9CYx0OviLKkCdmlqpO1UJbzfIWsglCcZGZ0DrF5HaJaAEFBDIqCtogEPABAyxFxFB QmEy7hpcsqXHvh8tnzwcz4b8tiUSSg+5EOn/NoellO2hlAg4gFa/pAP7CPexSbq2w5QSMm1dtjGl 1AkSllZaWmlppaWVllZaWmlp5Z1FSystrdxw3hv5JBIQYci5X/6aaxh5IPKwpBHFIjRRxTwZrZQA hETq08o5r2gJrcQRCAI96aRh2dgorVy0vZ20sqpO9GllT/CCqweeZfx2864Spom4vyPeNV7epcig 5Wm5xS4f8+qtqugVQ5lP0ySX+/8DizsUnsO7AAA= headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a2937bb535cd-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '2822' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:11 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=86gVekeD3JOccbMdNUQMnn%2FJdP2xILuGfrCcsttcFevmIKB3khOc8v8epK7fCgChfEcKS7OxDFY7jYYxzYG83TofxBW2o3KUKAXehTXZORlJAeGfUVgaqmOXTrVqWrPBNJL5UQnA%2B9Q%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=jDvC1OmkAX0P7G2s5RsZbPuDob3; expires=Mon, 22-Jan-2024 18:00:10 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '2822' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '35' X-Uncompressed-Content-Length: - '48067' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' LogOut jDvC1OmkAX0P7G2s5RsZbPuDob3 ' headers: Accept-Encoding: - gzip Content-Length: - '177' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPQQ7CMAwEv1LlTh164uC6D+CAxA/SxkClJkFxUvF8CkoRlJO13tXYi93DTdXM UcbgW7WvtarYD8GO/tqqnC67g+oIHadbsGeWe/DChHcTjZMyCWcz5WUrKeYhvdKu50jojWOSZFIW hLf4Si4HqNG6Oh0RikQoNqyEXxIPwdstyobcT0y61rpBKOqfBOtzH6f8DmsX2JR8AvnwajMbAQAA headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a294ddc735cd-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '171' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:11 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=lS%2BHqwIsyrdFjo5cFzFqdNWcdBMceBBDhTq1rAShEW%2BqzSWaMr%2BO8GamDrdDgEDT2wYfqpTx1N%2B8FX21kuULLcmCXh31x%2FY%2FauRd4rY%2FrRAosHFKKjTvcKvUtgg8P0Mnw0%2B4sdB4%2BC0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Set-Cookie: - PHPSESSID=jDvC1OmkAX0P7G2s5RsZbPuDob3; expires=Mon, 22-Jan-2024 18:00:11 GMT; Max-Age=21600; path=/; domain=.opensubtitles.org; HttpOnly Vary: - Accept-Encoding X-Cache-Backend: - web3 X-Compressed-Content-Length: - '171' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '34' X-Uncompressed-Content-Length: - '283' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: ' close ' headers: Accept-Encoding: - gzip Content-Length: - '99' Content-Type: - text/xml User-Agent: - Python-xmlrpc/3.11 method: POST uri: https://api.opensubtitles.org/xml-rpc response: body: string: !!binary | H4sIAAAAAAAAA2WPSw7CMAxErxJlTx0kFiC56QnYcIO0caFS41T5VByfUqUIysoaz+jZg83TjWKm EAfPtTxWSgriztuB77XMqT+cZaPRUXp4e6M4eY6kcTLBuFimxtmMednGFHKX3mnXUtDIxpGOyaQc EVbxlVwO6JO6iOuKFuyT6H1mi1BMhBKGjffLpc6z3YOtz+1IWlVKHRGK+ifB9urHKU1gawa7yi/3 ES06KQEAAA== headers: Accept-Ranges: - bytes Access-Control-Allow-Headers: - Origin,X-Requested-With,Content-Type,Accept,DNT,Keep-Alive,User-Agent,If-Modified-Since,Cache-Control Access-Control-Allow-Methods: - GET, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 8497a2953e2235cd-WAW Connection: - keep-alive Content-Encoding: - gzip Content-Length: - '178' Content-Type: - text/xml;charset=UTF-8 Date: - Mon, 22 Jan 2024 12:00:11 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=K5EMyF2%2FrE0e%2BLZV91%2FXpRDr%2F8w2LTrA3WZxO1d9EI%2BKrtZ4PYbcuYXFjiMseo8v5WT5vKC9Yn0%2BnI2StdXXdl0nxBbfHXtnizkfd74wwjbMdM51rOmIVZCU1kEscW8WODQhSbCtOd8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Vary: - Accept-Encoding X-Cache-Backend: - web2 X-Compressed-Content-Length: - '178' X-Content-Encoding: - gzip X-RateLimit-Remaining: - '33' X-Uncompressed-Content-Length: - '297' X-Var-Cache: - MISS X-Via: - fw2 alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1719270681.674181 subliminal-2.2.0/tests/cassettes/opensubtitlescom/0000755000175100001770000000000014636376432022034 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_download_subtitle.yaml0000644000175100001770000053142114636376416027511 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&page=1&query=man+of+steel response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '80267' CF-Cache-Status: - HIT CF-RAY: - 88b13e12be79214f-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Tue, 28 May 2024 21:12:22 GMT Location: - /api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&query=man+of+steel NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=walCNN9dJmjVs5SazVAarEv1833KakKI%2BEc%2FhOyDoMjErBgHOWRkpEGHa%2FBIjrugE2sy51u7noFLgC8kgDH7snS7fyAcIoUrGLRVsp0kCRb%2BpFqzPGVyzO4LIEHqEQ2J5q8PX7fGNsU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '100481483' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&query=man+of+steel response: body: string: "{\"total_pages\":1,\"total_count\":10,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}],\"moviehash_match\":true}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}],\"moviehash_match\":true}},{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}],\"moviehash_match\":false}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}],\"moviehash_match\":false}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}],\"moviehash_match\":false}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}],\"moviehash_match\":false}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}],\"moviehash_match\":false}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}],\"moviehash_match\":false}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}],\"moviehash_match\":false}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}],\"moviehash_match\":false}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '80267' CF-Cache-Status: - HIT CF-RAY: - 88b13e138ac799d4-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:22 GMT Last-Modified: - Mon, 27 May 2024 22:54:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=AgVAnVwM95VqxM6px1yYOLck3sJPQ8ZNvr6IXxf3V%2BFRSgRJ2z5DjRZ4Xlluz8I0O7ohECsBCLq5LFlHGXfYYGWVzC%2FaXRTGdSSWHnRss2cxz9O3CE1T4D0ocB69KRjSsLJnyqiHgiw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '36' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - b4765a3d-af2d-42c7-8a08-8439ae243d1e X-Runtime: - '0.033694' X-StackifyID: - V1|73960c26-baa3-4fa2-a696-24ee822bb8e6|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '80267' CF-Cache-Status: - HIT CF-RAY: - 88b13e14695699dc-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Tue, 28 May 2024 21:12:22 GMT Location: - /api/v1/subtitles?imdb_id=770828&languages=de%2Cfr NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=OJMzf3EJseWDdmhy%2BXaYFGKRWItO9fBEgKdI7%2BehVRfsLVfnu%2BpLvfkAXgJSiTEOPlAkkeX64occdBbxePDMOk2JAFx2Y6i%2BBNB84GtTanRQVcV40E%2FVj8QDn1jt2jtgw%2BtwPOrCp4o%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '116164659' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr response: body: string: "{\"total_pages\":1,\"total_count\":10,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}]}},{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}]}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}]}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}]}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}]}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '80266' CF-Cache-Status: - HIT CF-RAY: - 88b13e1528bf03c5-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:22 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=CwYywRrQB77xp1v5KR0mJK8LzqOVExZPbKnIb0hpn%2F%2FxHpt1vdCk7FVzE4bweY1N%2B2LMDWavrcTNPUYIUhwcGM5UglmjtIcHS58dgIG8VleK64OkEz%2F8Vh86danTKQVjxmAeD34vZoA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '29' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 81f8e0c1-98fd-42e0-bad9-27782c9f831c X-Runtime: - '0.024162' X-StackifyID: - V1|5174cb24-2859-462b-9ebb-3d2c50b09b77|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '80266' CF-Cache-Status: - HIT CF-RAY: - 88b13e15fd6a99b6-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Tue, 28 May 2024 21:12:22 GMT Location: - /api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=KOqVdQTGxAs1wOnjV%2BOi6F0bra1jg9EtHdmMm3GwFinExlaWxHKb8TLdhOF%2B7Ybb1bQW%2FFBWLNxqTP06X2Cc6Mdt42YiGe7dafYZkn5WvcczoLA%2BJB9uiaeUYhZ8b41%2FgEWsILX2AZ4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '102515106' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e response: body: string: '{"total_pages":1,"total_count":2,"per_page":60,"page":1,"data":[{"id":"879122","type":"subtitle","attributes":{"subtitle_id":"879122","language":"fr","download_count":20172,"new_download_count":203,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-16T16:56:06Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"man.of.steel.2013.720p.bluray.x264-felony","comments":"","legacy_subtitle_id":5226251,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/fr/subtitles/legacy/5226251","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/fr/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":960683,"cd_number":1,"file_name":"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com"}],"moviehash_match":true}},{"id":"880717","type":"subtitle","attributes":{"subtitle_id":"880717","language":"de","download_count":2670,"new_download_count":204,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-19T00:53:25Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE","comments":"","legacy_subtitle_id":5229998,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5229998","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/de/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":962352,"cd_number":1,"file_name":"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE"}],"moviehash_match":true}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '80266' CF-Cache-Status: - HIT CF-RAY: - 88b13e16ce0299b6-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:22 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=7%2BvrLus2%2FxlxTz5y1V%2FgyaLJAxUjhORPvOyJ2Q8sOaqG7w9cP7pNFesNNi%2FFnoJMwYgyzPDtLdw3ey8%2BvN2KeSF0V%2F61Z7eQtrGqOJC3Xa2JI7h38rF0yRrp6wdReBuxDDJ8lybhTMY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '25' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - dff46559-94d5-4929-9c07-067a776f7bde X-Runtime: - '0.023235' X-StackifyID: - V1|d48ef1ad-06b2-4f5f-bb65-4c837a905ceb|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&page=1&query=man+of+steel response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '80266' CF-Cache-Status: - HIT CF-RAY: - 88b13e179f3e0483-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Tue, 28 May 2024 21:12:22 GMT Location: - /api/v1/subtitles?languages=de%2Cfr&query=man+of+steel NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=aYayPtu0t1gih4TRR1WI1cmrVmMTuNtIYjerd0bzpR%2FluZc9yaccf5pg2Cmx91XGCj55%2FfNS7QEhWNSGwlVrMiYCmPiyjYeVKKbhxGlmAZNzKmEHJhP4kYmwuDRVKpuA8MMP5rz7kKU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '79736680' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&query=man+of+steel response: body: string: "{\"total_pages\":1,\"total_count\":18,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}]}},{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}]}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}]}},{\"id\":\"4614499\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"4614499\",\"language\":\"fr\",\"download_count\":4213,\"new_download_count\":98,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2018-11-01T17:26:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\",\"comments\":\"\",\"legacy_subtitle_id\":7528072,\"legacy_uploader_id\":2592971,\"uploader\":{\"uploader_id\":69404,\"name\":\"maxoudela\",\"rank\":\"Gold member\"},\"feature_details\":{\"feature_id\":429415,\"feature_type\":\"Episode\",\"year\":2015,\"title\":\"Man of Steel\",\"movie_name\":\"Supergirl - S04E03 L'\xE2ge de l'acier\",\"imdb_id\":8685330,\"tmdb_id\":1593206,\"season_number\":4,\"episode_number\":3,\"parent_imdb_id\":4016454,\"parent_title\":\"Supergirl\",\"parent_tmdb_id\":62688,\"parent_feature_id\":15301},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/7528072\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Supergirl\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/15301\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/4/429415.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/429415\"}],\"files\":[{\"file_id\":4737481,\"cd_number\":1,\"file_name\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\"}]}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"4620011\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"4620011\",\"language\":\"de\",\"download_count\":2208,\"new_download_count\":49,\"hearing_impaired\":false,\"hd\":false,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2018-11-09T23:18:45Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Supergirl.S04E03.HDTV.x264-SVA.de-SubCentral\",\"comments\":\"\",\"legacy_subtitle_id\":7536643,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":429415,\"feature_type\":\"Episode\",\"year\":2015,\"title\":\"Man of Steel\",\"movie_name\":\"Supergirl - S04E03 Man of Steel\",\"imdb_id\":8685330,\"tmdb_id\":1593206,\"season_number\":4,\"episode_number\":3,\"parent_imdb_id\":4016454,\"parent_title\":\"Supergirl\",\"parent_tmdb_id\":62688,\"parent_feature_id\":15301},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/7536643\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Supergirl\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/15301\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/4/429415.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/429415\"}],\"files\":[{\"file_id\":4743011,\"cd_number\":1,\"file_name\":\"Supergirl.S04E03.HDTV.x264-SVA.de-SubCentral\"}]}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}]}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}]}},{\"id\":\"6556241\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6556241\",\"language\":\"de\",\"download_count\":550,\"new_download_count\":78,\"hearing_impaired\":false,\"hd\":false,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2021-10-09T01:24:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel\",\"comments\":\"\",\"legacy_subtitle_id\":8834730,\"legacy_uploader_id\":9055317,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":1373215,\"feature_type\":\"Episode\",\"year\":2021,\"title\":\"Man of Steel\",\"movie_name\":\"Superman \\u0026amp; Lois - S01E07 Man of Steel\",\"imdb_id\":11949922,\"tmdb_id\":2787118,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":11192306,\"parent_title\":\"Superman \\u0026 Lois\",\"parent_tmdb_id\":95057,\"parent_feature_id\":1205428},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8834730\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Superman \\u0026 Lois\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1205428\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/2/1373215.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1373215\"}],\"files\":[{\"file_id\":7525661,\"cd_number\":1,\"file_name\":\"sal17\"}]}},{\"id\":\"2627042\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"2627042\",\"language\":\"de\",\"download_count\":404,\"new_download_count\":16,\"hearing_impaired\":false,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-30T20:00:55Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5066959,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":172454,\"feature_type\":\"Episode\",\"year\":1993,\"title\":\"The Man of Steel Bars\",\"movie_name\":\"Lois \\u0026amp; Clark: The New Adventures of Superman - S01E09 \\\"Lois \\u0026amp; Clark: The New Adventures of Superman\\\" The Man of Steel Bars\",\"imdb_id\":635199,\"tmdb_id\":322021,\"season_number\":1,\"episode_number\":9,\"parent_imdb_id\":106057,\"parent_title\":\"Lois \\u0026 Clark: The New Adventures of Superman\",\"parent_tmdb_id\":4515,\"parent_feature_id\":8874},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5066959\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Lois \\u0026 Clark: The New Adventures of Superman\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/8874\",\"img_url\":\"https://s9.opensubtitles.com/features/4/5/4/172454.jpg\"},{\"label\":\"All subtitles for Episode the man of steel bars\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/172454\"}],\"files\":[{\"file_id\":2701439,\"cd_number\":1,\"file_name\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.DVDRip.Retail\"}]}},{\"id\":\"1546744\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"1546744\",\"language\":\"fr\",\"download_count\":87,\"new_download_count\":3,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2012-05-11T12:51:44Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\",\"comments\":\"\",\"legacy_subtitle_id\":4545822,\"legacy_uploader_id\":1465168,\"uploader\":{\"uploader_id\":60242,\"name\":\"subth1ck\",\"rank\":\"trusted\"},\"feature_details\":{\"feature_id\":116746,\"feature_type\":\"Episode\",\"year\":2006,\"title\":\"Man of Steele\",\"movie_name\":\"Standoff - S1E7 \\\"Standoff\\\" Man of Steele\",\"imdb_id\":852891,\"tmdb_id\":1210425,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":756582,\"parent_title\":\"Standoff\",\"parent_tmdb_id\":630,\"parent_feature_id\":8050},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4545822\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Standoff\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/8050\",\"img_url\":\"https://s9.opensubtitles.com/features/6/4/7/116746.jpg\"},{\"label\":\"All subtitles for Episode man of steele\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/116746\"}],\"files\":[{\"file_id\":1638900,\"cd_number\":1,\"file_name\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\"}]}},{\"id\":\"2627058\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"2627058\",\"language\":\"de\",\"download_count\":71,\"new_download_count\":1,\"hearing_impaired\":true,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-30T18:01:04Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.SDH.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5066960,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"administrator\"},\"feature_details\":{\"feature_id\":172454,\"feature_type\":\"Episode\",\"year\":1993,\"title\":\"The Man of Steel Bars\",\"movie_name\":\"Lois \\u0026amp; Clark: The New Adventures of Superman - S1E9 \\\"Lois \\u0026amp; Clark: The New Adventures of Superman\\\" The Man of Steel Bars\",\"imdb_id\":635199,\"tmdb_id\":322021,\"season_number\":1,\"episode_number\":9,\"parent_imdb_id\":106057,\"parent_title\":\"Lois \\u0026 Clark: The New Adventures of Superman\",\"parent_tmdb_id\":4515,\"parent_feature_id\":8874},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5066960\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Lois \\u0026 Clark: The New Adventures of Superman\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/8874\",\"img_url\":\"https://s9.opensubtitles.com/features/4/5/4/172454.jpg\"},{\"label\":\"All subtitles for Episode the man of steel bars\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/172454\"}],\"files\":[{\"file_id\":2701455,\"cd_number\":1,\"file_name\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.SDH.DVDRip.Retail\"}]}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}]}},{\"id\":\"823209\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"823209\",\"language\":\"de\",\"download_count\":46,\"new_download_count\":5,\"hearing_impaired\":false,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-25T20:11:18Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.50th.Anniversary.1988.German.DOKU.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5058619,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":584412,\"feature_type\":\"Movie\",\"year\":1988,\"title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"movie_name\":\"1988 - Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"imdb_id\":303111,\"tmdb_id\":464654},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5058619\",\"related_links\":[{\"label\":\"All subtitles for superman's 50th anniversary: a celebration of the man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/1988-superman-50th-anniversary\",\"img_url\":\"https://s9.opensubtitles.com/features/2/1/4/584412.jpg\"}],\"files\":[{\"file_id\":901498,\"cd_number\":1,\"file_name\":\"Superman.50th.Anniversary.1988.German.DOKU.DVDRip.Retail\"}]}},{\"id\":\"7164656\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"7164656\",\"language\":\"de\",\"download_count\":1,\"new_download_count\":58,\"hearing_impaired\":true,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2023-05-08T16:42:39Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.and.Lois.S01E07.German.DL.DVDRiP.x264-NAiB\",\"comments\":\"\",\"legacy_subtitle_id\":9544178,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":1373215,\"feature_type\":\"Episode\",\"year\":2021,\"title\":\"Man of Steel\",\"movie_name\":\"Superman \\u0026amp; Lois - S01E07 Man of Steel\",\"imdb_id\":11949922,\"tmdb_id\":2787118,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":11192306,\"parent_title\":\"Superman \\u0026 Lois\",\"parent_tmdb_id\":95057,\"parent_feature_id\":1205428},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9544178\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Superman \\u0026 Lois\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1205428\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/2/1373215.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1373215\"}],\"files\":[{\"file_id\":8100472,\"cd_number\":1,\"file_name\":\"Superman.and.Lois.S01E07.German.DL.DVDRiP.x264-NAiB\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '80267' CF-Cache-Status: - HIT CF-RAY: - 88b13e1869cd0407-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:23 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '2' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=3b536D7VXHTp%2BldMQwezU2sIQptoQFyK7zRfTjwtsXscmPvnIUmGBUvfnAv7LYzLw5Hha8E%2F1wfm%2B7PqI%2BlABUSiVj%2Fg0NM22NKWn8V52MztwaHqWusaCkCq6S233TqmElZ23ITwe%2F4%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '43' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '2' X-Request-Id: - e0a62248-743f-4eb3-ab8e-7b0fabe8eca9 X-Runtime: - '0.040577' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: '{"username": "python-subliminal-test", "password": "subliminal"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Length: - '69' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/login response: body: string: '{"user":{"allowed_translations":1,"allowed_downloads":20,"level":"Sub leecher","user_id":699022,"ext_installed":false,"vip":false},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtUGROdTJ1VjFTS3h2UFRZSFdWeXpadkpueDFTSWZBSiIsImV4cCI6MTcxNzAxNzE0MX0.A5LXYXrqeO2oqjWyD9ae0vynCO8x551HK3kblu1kXkw","status":200,"base_url":"api.opensubtitles.com"}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88b13e193ea73cd4-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:23 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '1' RateLimit-Remaining: - '0' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=sch4Jxn3zxQcs9DdywEp9TmyUBD7P51BkDYkPPeMM%2B4cLHsSoDKFLNKm09ebsuYqhHGagZv%2Bke71noFGmfdoQ81Jo129JF6d6Amx%2FAjD7xCTbt91%2FQjMUEC5miIpIf5K7gO5oIN61Gs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '278' X-RateLimit-Limit-Hour: - '60' X-RateLimit-Limit-Second: - '1' X-RateLimit-Remaining-Hour: - '58' X-RateLimit-Remaining-Second: - '0' X-Request-Id: - 4b45e214-b4ec-4a5e-852c-f6ef7ccb9c4c X-Runtime: - '0.273513' X-Var-Cache: - MISS X-Via: - fw1 X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: '{"file_id": 962144, "file_name": "man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com", "sub_format": "srt"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Authorization: - Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtUGROdTJ1VjFTS3h2UFRZSFdWeXpadkpueDFTSWZBSiIsImV4cCI6MTcxNzAxNzE0MX0.A5LXYXrqeO2oqjWyD9ae0vynCO8x551HK3kblu1kXkw Connection: - keep-alive Content-Length: - '117' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/download response: body: string: '{"link":"https://www.opensubtitles.com/download/6194B87E92A2238C16AE090693C32CD77143074C1FC2E4D4E7AEBC8CCB794C1F527AD0283B6CFB807D1A367E5916C2F3EEDDB1DD46924A60DC4B97AF1A1DE305CC3AC257DE8F6C8AC69FF39F85F6D6ADF8CEFBB4C09C0366219666E087FCA1A9A1CA973F5CDB1D7FD3D3231EC0D053513D4931677471A068DB660DC94FB9BDC00F8178E6EAF494C569EFA0D54C35564BF4FC103AF48054C98D19C60F9A3B5F1908A4C760BAD47465465BC91A2C462E0EDAF220A3CA8455C35099C353EC26F3D68B92851C98BD8DDC8DAD490D9207C8192468E6739C7F27B5D007A0CC98CB8D53189593E21A89FBDA2578BDF0AD041744B29B2F60672A276AE6DD57695217A942B63520748FE646CCB89D258CADB5AFC5333FA0C539B8D6CC5A8369A0E7342AC99796B5D522E0804EF6A42E7F427BCFC915F44522102F6E054324C766AD2B16A82230120FA89D3C1F/subfile/man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com.srt","file_name":"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com.srt","requests":1,"remaining":99,"message":"Your quota will be renewed in 2 hours and 47 minutes (2024-05-28 23:59:59 UTC) ts=1716930743 ","reset_time":"2 hours and 47 minutes","reset_time_utc":"2024-05-28T23:59:59.999Z","uk":"app_ud_96948","uid":699022,"ts":1716930743}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88b13e1bfc17f83c-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:23 GMT Expires: - '0' Last-Modified: - Tue, 28 May 2024 21:12:23 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Pragma: - no-cache RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2FVX7UjkNQ1tMDpZeFB6iCwk7G3YzOe2X44bvBA8vTXEjUURXzqLRKMftMDZXlXYHRyIecPpviuir5ZtgilRubVfqZeNaYf3wEGHFrEdjqFnBTtcbbVXULZ9PzRRjxgoCz%2B%2B9sNFQZUc%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '14' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 849c98c5-628d-43fc-b133-33a86982a36a X-Runtime: - '0.012278' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Authorization: - Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtUGROdTJ1VjFTS3h2UFRZSFdWeXpadkpueDFTSWZBSiIsImV4cCI6MTcxNzAxNzE0MX0.A5LXYXrqeO2oqjWyD9ae0vynCO8x551HK3kblu1kXkw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://www.opensubtitles.com/download/6194B87E92A2238C16AE090693C32CD77143074C1FC2E4D4E7AEBC8CCB794C1F527AD0283B6CFB807D1A367E5916C2F3EEDDB1DD46924A60DC4B97AF1A1DE305CC3AC257DE8F6C8AC69FF39F85F6D6ADF8CEFBB4C09C0366219666E087FCA1A9A1CA973F5CDB1D7FD3D3231EC0D053513D4931677471A068DB660DC94FB9BDC00F8178E6EAF494C569EFA0D54C35564BF4FC103AF48054C98D19C60F9A3B5F1908A4C760BAD47465465BC91A2C462E0EDAF220A3CA8455C35099C353EC26F3D68B92851C98BD8DDC8DAD490D9207C8192468E6739C7F27B5D007A0CC98CB8D53189593E21A89FBDA2578BDF0AD041744B29B2F60672A276AE6DD57695217A942B63520748FE646CCB89D258CADB5AFC5333FA0C539B8D6CC5A8369A0E7342AC99796B5D522E0804EF6A42E7F427BCFC915F44522102F6E054324C766AD2B16A82230120FA89D3C1F/subfile/man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com.srt response: body: string: "1\n00:02:11,047 --> 00:02:14,967\nNe comprenez-vous pas ?\nLe noyau de Krypton s'effondre.\n\n2\n00:02:15,218 --> 00:02:18,554\nCe n'est qu'une question de semaines.\nJe l'avais dit.\n\n3\n00:02:18,805 --> 00:02:22,307\nExploiter le noyau, c'\xE9tait du suicide.\n\xC7a a acc\xE9l\xE9r\xE9\n\n4\n00:02:22,559 --> 00:02:25,269\n- le processus d'implosion.\n- Nos r\xE9serves d'\xE9nergie\n\n5\n00:02:25,520 --> 00:02:27,896\n\xE9taient taries.\nQu'aurions-nous d\xFB faire ?\n\n6\n00:02:28,148 --> 00:02:31,567\nRecourir aux \xE9toiles,\ncomme l'ont fait nos anc\xEAtres.\n\n7\n00:02:31,818 --> 00:02:35,696\nIl y a d'autres mondes habitables.\nCommen\xE7ons par les avant-postes.\n\n8\n00:02:35,947 --> 00:02:39,658\nEnvisagez-vous s\xE9rieusement\nd'\xE9vacuer toute la plan\xE8te ?\n\n9\n00:02:39,909 --> 00:02:43,328\nTout le monde ici est d\xE9j\xE0 mort.\n\n10\n00:02:44,164 --> 00:02:47,708\nConfiez-moi le codex\net j'assurerai la survie de notre race.\n\n11\n00:02:48,668 --> 00:02:49,751\nIl reste de l'espoir.\n\n12\n00:02:50,003 --> 00:02:52,504\nJ'ai tenu cet espoir entre mes mains.\n\n13\n00:03:07,437 --> 00:03:09,563\nCe conseil a \xE9t\xE9 dissous.\n\n14\n00:03:10,064 --> 00:03:11,899\nAu nom de quelle autorit\xE9 ?\n\n15\n00:03:12,275 --> 00:03:13,400\nLa mienne.\n\n16\n00:03:18,156 --> 00:03:21,450\nVous autres serez jug\xE9s\net punis en cons\xE9quence.\n\n17\n00:03:23,453 --> 00:03:25,996\n- Que fais-tu, Zod ? Tu es fou !\n- Je n'ai que trop\n\n18\n00:03:26,247 --> 00:03:26,914\nattendu.\n\n19\n00:03:27,165 --> 00:03:28,207\nCes l\xE9gislateurs\n\n20\n00:03:28,458 --> 00:03:29,541\net leurs d\xE9bats sans fin\n\n21\n00:03:29,792 --> 00:03:30,918\nont conduit\n\xE0 la ruine de Krypton.\n\n22\n00:03:34,297 --> 00:03:35,964\nSi tes forces triomphent,\n\n23\n00:03:36,216 --> 00:03:38,842\n- tu r\xE9gneras sur du vide !\n- Alors rejoins-moi,\n\n24\n00:03:39,093 --> 00:03:42,179\naide-moi \xE0 sauver notre race.\nRecommen\xE7ons \xE0 z\xE9ro.\n\n25\n00:03:42,430 --> 00:03:43,472\nS\xE9parons-nous\n\n26\n00:03:43,723 --> 00:03:46,475\ndes lign\xE9es d\xE9g\xE9n\xE9ratives\nqui nous ont men\xE9s l\xE0.\n\n27\n00:03:46,726 --> 00:03:49,978\nQui d\xE9cidera\nquelles lign\xE9es survivront, Zod ?\n\n28\n00:03:51,522 --> 00:03:52,356\nToi ?\n\n29\n00:03:54,901 --> 00:03:56,610\nNe fais pas \xE7a, El.\n\n30\n00:03:56,861 --> 00:03:59,321\nJe ne veux pas\nque nous devenions ennemis.\n\n31\n00:03:59,572 --> 00:04:02,199\nTu as renonc\xE9 aux principes\nqui nous unissaient.\n\n32\n00:04:02,450 --> 00:04:03,450\nTu t'es retourn\xE9\n\n33\n00:04:03,701 --> 00:04:05,911\ncontre les tiens.\n\n34\n00:04:06,496 --> 00:04:09,373\nJ'honorerai l'homme\nque tu \xE9tais jadis.\n\n35\n00:04:09,832 --> 00:04:11,792\nPas le monstre que tu es devenu.\n\n36\n00:04:15,088 --> 00:04:16,421\nEmmenez-le.\n\n37\n00:04:22,595 --> 00:04:23,929\nMonsieur, tout va bien ?\n\n38\n00:04:24,180 --> 00:04:25,472\n\xC9carte-toi.\n\n39\n00:04:26,349 --> 00:04:26,932\nJ'ai dit...\n\n40\n00:04:43,825 --> 00:04:44,866\nAppelle Lara.\n\n41\n00:04:46,202 --> 00:04:48,370\nJor, derri\xE8re toi !\n\n42\n00:04:52,250 --> 00:04:54,251\nLara, pr\xE9pare le lancement.\n\n43\n00:04:54,502 --> 00:04:56,169\nJe te rejoins au plus vite.\n\n44\n00:05:10,977 --> 00:05:12,144\nH'Raka !\n\n45\n00:05:51,601 --> 00:05:54,311\n- Vois-tu le codex ?\n- Sous la branche centrale.\n\n46\n00:05:54,562 --> 00:05:55,687\nMais je dois vous pr\xE9venir.\n\n47\n00:05:55,938 --> 00:05:58,231\nForcer la chambre de gen\xE8se\nest un crime...\n\n48\n00:05:58,483 --> 00:06:02,069\n\xC7a n'a plus d'importance, Kelex.\nLe monde touche \xE0 sa fin.\n\n49\n00:07:07,218 --> 00:07:09,886\nJor-El,\nau nom de l'autorit\xE9 du g\xE9n\xE9ral Zod,\n\n50\n00:07:10,138 --> 00:07:12,013\nrendez le codex.\n\n51\n00:08:00,021 --> 00:08:01,563\nTout doux, H'Raka.\n\n52\n00:08:22,502 --> 00:08:23,752\nVous avez trouv\xE9 la plan\xE8te ?\n\n53\n00:08:24,337 --> 00:08:26,630\n- Oui.\n- Gravitant autour d'une \xE9toile jaune,\n\n54\n00:08:29,884 --> 00:08:31,468\nUne \xE9toile jeune.\n\n55\n00:08:31,844 --> 00:08:33,512\nIl se nourrira de ses radiations.\n\n56\n00:08:36,641 --> 00:08:38,892\nCette population semble intelligente.\n\n57\n00:08:39,810 --> 00:08:40,894\nIl sera un paria.\n\n58\n00:08:41,896 --> 00:08:43,313\nUn monstre.\n\n59\n00:08:44,565 --> 00:08:45,357\nIls le tueront.\n\n60\n00:08:45,608 --> 00:08:47,025\nComment ?\n\n61\n00:08:47,902 --> 00:08:49,110\nPour eux, il sera un dieu.\n\n62\n00:08:51,447 --> 00:08:53,573\nEt si le vaisseau l\xE2che ?\n\n63\n00:08:54,534 --> 00:08:55,534\nIl mourra.\n\n64\n00:08:56,953 --> 00:08:58,286\nSeul.\n\n65\n00:09:00,081 --> 00:09:01,831\nC'est au-dessus de mes forces.\n\n66\n00:09:02,083 --> 00:09:03,458\nJe pensais en \xEAtre capable...\n\n67\n00:09:03,709 --> 00:09:05,460\nMaintenant qu'il est l\xE0...\n\n68\n00:09:05,920 --> 00:09:07,629\nKrypton est condamn\xE9e.\n\n69\n00:09:08,839 --> 00:09:10,674\nC'est sa seule chance.\n\n70\n00:09:11,384 --> 00:09:13,468\nC'est le seul espoir de notre peuple.\n\n71\n00:09:14,428 --> 00:09:15,637\nOui, Kelex ?\n\n72\n00:09:15,888 --> 00:09:17,847\nCinq vaisseaux d'attaque\narrivent de l'est.\n\n73\n00:09:18,099 --> 00:09:20,433\nLes d\xE9fenses de la citadelle\nsont analys\xE9es.\n\n74\n00:09:20,685 --> 00:09:21,601\nJe vais t\xE9l\xE9charger le codex.\n\n75\n00:09:22,353 --> 00:09:23,770\nAttends.\n\n76\n00:09:25,481 --> 00:09:28,358\nLaisse-moi le regarder.\n\n77\n00:09:31,779 --> 00:09:34,281\nNous ne le verrons jamais marcher.\n\n78\n00:09:36,701 --> 00:09:38,618\nNi ne l'entendrons nous appeler.\n\n79\n00:09:44,041 --> 00:09:45,458\nMais l\xE0-bas,\n\n80\n00:09:45,710 --> 00:09:47,627\nparmi les \xE9toiles...\n\n81\n00:09:49,005 --> 00:09:50,505\nil vivra.\n\n82\n00:10:48,564 --> 00:10:49,856\nAdieu, mon fils.\n\n83\n00:10:51,192 --> 00:10:53,735\nTu emportes\nnos r\xEAves et nos espoirs.\n\n84\n00:11:32,441 --> 00:11:35,235\nVisez surtout les portes principales.\n\n85\n00:11:50,584 --> 00:11:51,543\nDame Lara,\n\n86\n00:11:51,794 --> 00:11:54,838\n- les Phantom propulseurs sont pr\xEAts.\n- Proc\xE9dez \xE0 l'allumage.\n\n87\n00:11:55,631 --> 00:11:56,631\nMon g\xE9n\xE9ral.\n\n88\n00:11:56,882 --> 00:12:00,260\nUn allumage de moteur\na \xE9t\xE9 rep\xE9r\xE9 dans la citadelle.\n\n89\n00:12:01,220 --> 00:12:02,637\nUn lancement.\n\n90\n00:12:03,806 --> 00:12:06,182\nProt\xE9gez cette plateforme, commandant.\n\n91\n00:12:18,612 --> 00:12:20,530\nJe sais que tu as vol\xE9 le codex.\n\n92\n00:12:21,699 --> 00:12:22,699\nRends-le\n\n93\n00:12:22,950 --> 00:12:24,951\net je te laisserai la vie sauve.\n\n94\n00:12:25,578 --> 00:12:28,121\nC'est une nouvelle chance\npour Krypton,\n\n95\n00:12:28,372 --> 00:12:30,707\npas seulement\npour les lign\xE9es \xE9lues.\n\n96\n00:12:32,251 --> 00:12:33,418\nQu'as-tu fait ?\n\n97\n00:12:33,669 --> 00:12:35,962\nNous avons eu un enfant.\n\n98\n00:12:36,964 --> 00:12:38,339\nUn fils.\n\n99\n00:12:38,591 --> 00:12:41,593\nLa premi\xE8re naissance naturelle\ndepuis des si\xE8cles.\n\n100\n00:12:42,553 --> 00:12:44,262\nEt il sera libre.\n\n101\n00:12:44,764 --> 00:12:47,223\nLibre de forger sa propre destin\xE9e.\n\n102\n00:12:48,100 --> 00:12:49,559\nH\xE9r\xE9sie !\n\n103\n00:12:51,479 --> 00:12:52,145\nD\xE9truisez-le !\n\n104\n00:13:45,616 --> 00:13:46,616\nLara !\n\n105\n00:13:46,784 --> 00:13:48,159\n\xC9coutez-moi.\n\n106\n00:13:48,410 --> 00:13:52,038\nLe codex repr\xE9sente\nl'avenir de Krypton.\n\n107\n00:13:52,289 --> 00:13:54,749\nAnnulez le lancement.\n\n108\n00:14:45,634 --> 00:14:46,885\nVotre fils...\n\n109\n00:14:48,178 --> 00:14:50,096\no\xF9 l'avez-vous envoy\xE9 ?\n\n110\n00:14:53,601 --> 00:14:55,351\nIl s'appelle\n\n111\n00:14:55,603 --> 00:14:56,686\nKal...\n\n112\n00:14:57,354 --> 00:14:59,188\nfils d'El.\n\n113\n00:15:02,318 --> 00:15:04,652\nEt il est hors de votre port\xE9e.\n\n114\n00:15:15,289 --> 00:15:16,789\nAbattez ce vaisseau.\n\n115\n00:15:25,132 --> 00:15:26,507\nCible verrouill\xE9e.\n\n116\n00:15:38,228 --> 00:15:39,687\nRendez vos armes.\n\n117\n00:15:39,939 --> 00:15:42,023\nVos troupes sont cern\xE9es.\n\n118\n00:15:52,117 --> 00:15:53,576\nG\xE9n\xE9ral Zod...\n\n119\n00:15:53,827 --> 00:15:56,579\npour les crimes de meurtre\net de haute trahison,\n\n120\n00:15:56,830 --> 00:16:00,041\nle conseil vous condamne,\nainsi que vos insurg\xE9s,\n\n121\n00:16:01,210 --> 00:16:04,671\n\xE0 300 cycles\nde reconditionnement somatique.\n\n122\n00:16:06,173 --> 00:16:07,966\nDes derni\xE8res volont\xE9s ?\n\n123\n00:16:11,261 --> 00:16:12,220\nVous refusez de nous tuer !\n\n124\n00:16:13,722 --> 00:16:15,848\nVous vous saliriez les mains.\nVous pr\xE9f\xE9rez nous condamner\n\n125\n00:16:16,100 --> 00:16:18,267\nau trou noir pour l'\xE9ternit\xE9.\n\n126\n00:16:20,354 --> 00:16:21,396\nJor-El avait raison.\n\n127\n00:16:21,647 --> 00:16:25,316\nVous n'\xEAtes qu'une bande d'imb\xE9ciles.\nTous jusqu'au dernier.\n\n128\n00:16:26,235 --> 00:16:27,402\nEt vous.\n\n129\n00:16:29,113 --> 00:16:31,572\nVous pensez que votre fils\nest \xE0 l'abri ?\n\n130\n00:16:32,282 --> 00:16:33,992\nJe le retrouverai.\n\n131\n00:16:34,243 --> 00:16:37,537\nJe r\xE9cup\xE9rerai\nce que vous nous avez vol\xE9.\n\n132\n00:16:39,957 --> 00:16:41,541\nJe le retrouverai.\n\n133\n00:16:42,751 --> 00:16:44,836\nJe le retrouverai, Lara.\n\n134\n00:16:47,923 --> 00:16:50,466\nJe le retrouverai !\n\n135\n00:18:31,693 --> 00:18:34,821\nDame Lara,\nne devriez-vous pas chercher refuge ?\n\n136\n00:18:35,614 --> 00:18:38,574\nIl n'y a pas de refuge, Kelor.\n\n137\n00:18:39,535 --> 00:18:41,494\nJor-El avait raison.\n\n138\n00:18:43,914 --> 00:18:45,331\nC'est la fin.\n\n139\n00:18:57,386 --> 00:19:00,263\nCr\xE9e un monde meilleur\nque le n\xF4tre, Kal.\n\n140\n00:20:32,439 --> 00:20:33,940\nFais gaffe, abruti.\n\n141\n00:20:34,191 --> 00:20:36,692\nOuvre les yeux\nou tu finiras en bouillie.\n\n142\n00:20:38,695 --> 00:20:41,155\nO\xF9 est-ce qu'ils t'ont d\xE9gott\xE9,\nblanc-bec ?\n\n143\n00:20:41,406 --> 00:20:42,865\nFaut remonter la cage.\n\n144\n00:20:43,116 --> 00:20:44,659\nS\xE9curisez le pont.\n\n145\n00:20:44,910 --> 00:20:47,912\nOn a re\xE7u un appel de d\xE9tresse\nd'une plateforme p\xE9troli\xE8re.\n\n146\n00:20:48,163 --> 00:20:49,455\nS\xE9curisez le pont.\n\n147\n00:20:54,169 --> 00:20:55,711\nLes bateaux civils, restez \xE0 distance.\n\n148\n00:20:55,963 --> 00:20:58,631\nLa plateforme va exploser.\n\n149\n00:20:58,882 --> 00:21:01,217\nBien re\xE7u.\nEt les hommes \xE0 l'int\xE9rieur ?\n\n150\n00:21:01,468 --> 00:21:03,803\n- Oubliez. Ils sont morts.\n- Blanc-bec,\n\n151\n00:21:04,054 --> 00:21:06,097\napporte-moi mes jumelles.\n\n152\n00:21:07,641 --> 00:21:08,975\nBlanc-bec !\n\n153\n00:21:17,317 --> 00:21:20,861\nC'est tout ce qui reste d'oxyg\xE8ne.\nOn tiendra pas longtemps !\n\n154\n00:21:31,206 --> 00:21:33,916\nIci le garde-c\xF4te 6510.\nUn dernier passage et on se tire.\n\n155\n00:21:36,753 --> 00:21:38,879\nAttendez !\nY a des gars sur l'h\xE9liport !\n\n156\n00:21:59,693 --> 00:22:00,860\nFais-le monter.\n\n157\n00:22:01,111 --> 00:22:02,486\nFaut y aller.\n\n158\n00:22:02,738 --> 00:22:04,405\nAllez ! T'attends quoi ?\n\n159\n00:22:49,534 --> 00:22:51,577\n... le Kansas devint un territoire ?\n\n160\n00:22:53,789 --> 00:22:54,747\nClark.\n\n161\n00:22:56,750 --> 00:22:57,708\nTu m'\xE9coutes ?\n\n162\n00:23:02,923 --> 00:23:04,840\nSais-tu qui a colonis\xE9\n\n163\n00:23:05,092 --> 00:23:06,133\nle Kansas ?\n\n164\n00:23:19,356 --> 00:23:20,523\nTout va bien ?\n\n165\n00:23:41,086 --> 00:23:42,628\nClark, sors de l\xE0.\n\n166\n00:23:42,879 --> 00:23:44,213\nLaissez-moi tranquille.\n\n167\n00:23:45,257 --> 00:23:46,841\nJ'ai appel\xE9 ta m\xE8re.\n\n168\n00:23:52,347 --> 00:23:53,347\nJe suis l\xE0.\n\n169\n00:23:53,598 --> 00:23:55,558\nClark, mon ch\xE9ri.\nC'est maman.\n\n170\n00:23:57,978 --> 00:23:59,019\nTu m'ouvres ?\n\n171\n00:23:59,271 --> 00:24:01,230\n- Il est pas normal.\n- Monstre.\n\n172\n00:24:01,481 --> 00:24:02,314\nPleurnicheur.\n\n173\n00:24:02,566 --> 00:24:05,025\nSes parents refusent\nqu'il joue avec les autres.\n\n174\n00:24:05,277 --> 00:24:06,277\nJe sais.\n\n175\n00:24:06,528 --> 00:24:07,361\nMon c\x9Cur.\n\n176\n00:24:08,530 --> 00:24:10,656\nComment t'aider\nsi tu n'ouvres pas ?\n\n177\n00:24:10,907 --> 00:24:13,242\nLe monde est trop grand, maman.\n\n178\n00:24:13,493 --> 00:24:15,119\nAlors, rapetisse-le.\n\n179\n00:24:21,585 --> 00:24:22,710\nConcentre-toi\nsur ma voix.\n\n180\n00:24:25,255 --> 00:24:27,214\nImagine que c'est une \xEEle,\n\n181\n00:24:27,382 --> 00:24:29,258\ndans l'oc\xE9an.\n\n182\n00:24:30,802 --> 00:24:32,094\nTu la vois ?\n\n183\n00:24:35,807 --> 00:24:36,849\nJe la vois.\n\n184\n00:24:38,185 --> 00:24:40,186\nNage dans sa direction, mon ch\xE9ri.\n\n185\n00:24:53,450 --> 00:24:55,284\nQu'est-ce qui va pas chez moi ?\n\n186\n00:26:23,456 --> 00:26:24,999\nTrouduc.\n\n187\n00:26:25,542 --> 00:26:27,209\nAlors, t'as vu le match ?\n\n188\n00:26:27,460 --> 00:26:29,962\n- Fiche-lui la paix.\n- T'es sa nana ?\n\n189\n00:26:30,213 --> 00:26:31,880\nJe veux son avis.\n\n190\n00:26:34,259 --> 00:26:34,925\nAllez,\n\n191\n00:26:35,176 --> 00:26:35,843\nsale merdeux.\n\n192\n00:28:16,820 --> 00:28:17,820\nMon fils \xE9tait l\xE0.\n\n193\n00:28:18,071 --> 00:28:20,280\nIl \xE9tait dans le bus.\n\n194\n00:28:20,532 --> 00:28:23,325\n- Il a vu ce que Clark a fait.\n- Je sais.\n\n195\n00:28:24,285 --> 00:28:28,288\n- Ce qu'il a cru voir \xE9tait...\n- Une action divine, Jonathan.\n\n196\n00:28:29,332 --> 00:28:31,709\nLa providence.\n\n197\n00:28:35,463 --> 00:28:37,506\nVous exag\xE9rez un peu.\n\n198\n00:28:37,757 --> 00:28:41,009\nAbsolument pas.\nLana l'a vu aussi.\n\n199\n00:28:41,261 --> 00:28:42,261\nEt le petit Fordham.\n\n200\n00:28:42,512 --> 00:28:43,721\nCe n'est pas la premi\xE8re fois\n\n201\n00:28:43,972 --> 00:28:45,889\nqu'il fait une telle chose.\n\n202\n00:29:01,239 --> 00:29:03,073\nJe voulais aider.\n\n203\n00:29:03,533 --> 00:29:06,285\nJe sais,\nmais on en a d\xE9j\xE0 parl\xE9.\n\n204\n00:29:06,536 --> 00:29:07,828\nPas vrai ?\n\n205\n00:29:08,288 --> 00:29:10,998\nOn en a parl\xE9. Tu dois...\n\n206\n00:29:11,499 --> 00:29:14,918\nCette partie de toi\ndoit rester secr\xE8te.\n\n207\n00:29:15,378 --> 00:29:19,256\nJ'aurais d\xFB faire quoi ?\nLes laisser mourir ?\n\n208\n00:29:24,053 --> 00:29:25,471\nPeut-\xEAtre.\n\n209\n00:29:27,390 --> 00:29:31,393\nL'enjeu est plus important que nous\nou ceux qui nous entourent.\n\n210\n00:29:34,355 --> 00:29:35,731\nQuand le monde...\n\n211\n00:29:36,691 --> 00:29:40,694\nQuand le monde d\xE9couvrira\ntes capacit\xE9s, \xE7a changera tout.\n\n212\n00:29:40,945 --> 00:29:43,530\nNos croyances, notre conception\n\n213\n00:29:43,782 --> 00:29:46,492\nde ce qu'est un \xEAtre humain.\nTout.\n\n214\n00:29:46,743 --> 00:29:49,536\nTu as vu la r\xE9action de la m\xE8re de Pete.\n\n215\n00:29:49,788 --> 00:29:51,997\nElle \xE9tait effray\xE9e.\n\n216\n00:29:53,124 --> 00:29:53,957\nPourquoi ?\n\n217\n00:29:55,835 --> 00:29:58,670\nLes gens ont peur\nde ce qu'ils ne comprennent pas.\n\n218\n00:29:58,922 --> 00:29:59,838\nElle a raison ?\n\n219\n00:30:01,966 --> 00:30:03,801\nC'est Dieu qui m'a fait \xE7a ?\n\n220\n00:30:05,386 --> 00:30:06,887\nR\xE9ponds-moi.\n\n221\n00:30:21,653 --> 00:30:23,320\nOn t'a trouv\xE9 l\xE0-dedans.\n\n222\n00:30:25,281 --> 00:30:28,242\nOn s'attendait\n\xE0 une visite du gouvernement.\n\n223\n00:30:28,493 --> 00:30:30,452\nMais personne n'est venu.\n\n224\n00:30:44,968 --> 00:30:46,635\nIl y avait \xE7a avec toi.\n\n225\n00:30:49,180 --> 00:30:50,556\nUn chimiste\n\n226\n00:30:50,807 --> 00:30:52,140\nde l'universit\xE9 du Kansas\n\n227\n00:30:52,392 --> 00:30:54,977\nm'a dit que c'\xE9tait fait\nd'une mati\xE8re...\n\n228\n00:30:55,937 --> 00:30:58,689\nqui n'existait pas\ndans le tableau p\xE9riodique.\n\n229\n00:31:00,650 --> 00:31:01,817\nAutrement dit,\n\n230\n00:31:02,068 --> 00:31:04,319\nce n'est pas de ce monde.\n\n231\n00:31:06,447 --> 00:31:07,698\nEt toi non plus.\n\n232\n00:31:10,410 --> 00:31:11,952\nTu es la r\xE9ponse, fiston.\n\n233\n00:31:12,203 --> 00:31:14,580\nLa r\xE9ponse \xE0\n\"Sommes-nous seuls dans l'univers ?\"\n\n234\n00:31:16,749 --> 00:31:18,166\nJe veux pas l'\xEAtre.\n\n235\n00:31:18,418 --> 00:31:20,294\nEt je te comprends.\n\n236\n00:31:20,879 --> 00:31:23,589\nCe serait un lourd fardeau\npour n'importe qui.\n\n237\n00:31:23,840 --> 00:31:27,259\nMais tu n'es pas n'importe qui.\nTout porte \xE0 croire...\n\n238\n00:31:28,428 --> 00:31:30,262\nqu'on t'a envoy\xE9 pour une raison.\n\n239\n00:31:31,514 --> 00:31:34,099\nTous ces bouleversements, un jour,\n\n240\n00:31:34,350 --> 00:31:37,686\ntu les verras comme une b\xE9n\xE9diction.\nCe jour-l\xE0,\n\n241\n00:31:37,937 --> 00:31:39,354\nil te faudra faire un choix.\n\n242\n00:31:39,606 --> 00:31:43,609\nLe choix de t'assumer fi\xE8rement\ndevant les humains ou pas.\n\n243\n00:31:45,361 --> 00:31:48,030\nSi je continuais \xE0 dire\nque je suis ton fils ?\n\n244\n00:31:48,740 --> 00:31:50,657\nTu es mon fils.\n\n245\n00:31:55,121 --> 00:31:57,122\nMais quelque part, l\xE0-bas,\n\n246\n00:31:57,832 --> 00:32:01,043\ntu as un autre p\xE8re\nqui t'a donn\xE9 un autre nom.\n\n247\n00:32:04,130 --> 00:32:04,963\nIl t'a envoy\xE9 ici\n\n248\n00:32:08,760 --> 00:32:12,429\nEt quitte \xE0 y consacrer\nle reste de ta vie, tu te dois\n\n249\n00:32:12,680 --> 00:32:14,806\nde d\xE9couvrir laquelle.\n\n250\n00:32:30,281 --> 00:32:32,449\nT'es pas l\xE0 pour la man\x9Cuvre ?\n\n251\n00:32:32,700 --> 00:32:34,368\nChangement de programme.\n\n252\n00:32:34,619 --> 00:32:36,703\nIls ont d\xE9couvert un truc \xE0 Ellesmere.\n\n253\n00:32:37,246 --> 00:32:39,915\n- Aircom s'y active depuis une semaine.\n- Dans ce trou ?\n\n254\n00:32:40,166 --> 00:32:42,250\nJe sais. Dingue !\n\n255\n00:32:42,502 --> 00:32:44,211\nEt y a plein d'Am\xE9ricains.\n\n256\n00:32:44,462 --> 00:32:47,047\nIls appellent \xE7a un objet anormal.\n\n257\n00:32:47,298 --> 00:32:49,549\n- Va savoir.\n- L\xE2che-moi, Ludlow. S\xE9rieux.\n\n258\n00:32:49,801 --> 00:32:51,593\n- Allez, Chrissie.\n- Arr\xEAte !\n\n259\n00:32:51,844 --> 00:32:53,261\n- Assieds-toi.\n- L\xE2che-moi.\n\n260\n00:32:53,513 --> 00:32:55,180\nLaissez-la.\n\n261\n00:32:59,519 --> 00:33:01,228\nSinon quoi, gros dur ?\n\n262\n00:33:01,771 --> 00:33:05,190\nSinon vous devrez partir.\n\n263\n00:33:06,401 --> 00:33:09,444\nJe pense que je partirai\nquand je le sentirai.\n\n264\n00:33:19,414 --> 00:33:21,081\nIl se r\xE9veille.\n\n265\n00:33:28,381 --> 00:33:30,382\n\xC7a vaut pas le coup, mon chou.\n\n266\n00:33:38,516 --> 00:33:40,892\nOublie pas ton pourboire, connard.\n\n267\n00:33:43,062 --> 00:33:44,855\nStrike.\n\n268\n00:34:35,406 --> 00:34:36,823\nMerci.\n\n269\n00:34:39,118 --> 00:34:40,827\nMlle Lane. Comment allez-vous ?\n\n270\n00:34:41,079 --> 00:34:43,288\n- Bien.\n- Jed Eubanks, d'Arctic Cargo.\n\n271\n00:34:43,539 --> 00:34:45,791\nOn est loin de la station ?\n\n272\n00:34:46,250 --> 00:34:49,336\n- Elle est apr\xE8s la c\xF4te. Je vous accompagne.\n- Parfait.\n\n273\n00:34:49,587 --> 00:34:51,797\nJoe va prendre vos sacs.\n\n274\n00:34:52,048 --> 00:34:53,298\nDonne-lui un coup de main.\n\n275\n00:34:53,549 --> 00:34:56,051\nAttention. C'est lourd.\n\n276\n00:34:58,513 --> 00:35:00,138\nJe dois vous avouer, Mlle Lane,\n\n277\n00:35:00,389 --> 00:35:03,225\nque j'aime pas trop le Daily Planet.\n\n278\n00:35:03,643 --> 00:35:07,604\nMais vos papiers quand vous suiviez\nla division blind\xE9e,\n\n279\n00:35:07,855 --> 00:35:09,689\n\xE7a m'a vachement impressionn\xE9.\n\n280\n00:35:09,941 --> 00:35:13,902\nJ'ai l'angoisse de la page blanche\nsi j'ai pas mon gilet pare-balles.\n\n281\n00:35:19,617 --> 00:35:20,617\nMlle Lane.\n\n282\n00:35:20,868 --> 00:35:23,495\nColonel Hardy, US Northcom.\nPr Emil Hamilton,\n\n283\n00:35:23,746 --> 00:35:24,871\nde DARPA.\n\n284\n00:35:25,123 --> 00:35:26,289\nVous \xEAtes en avance.\n\n285\n00:35:26,541 --> 00:35:27,999\nOn vous attendait demain.\n\n286\n00:35:28,251 --> 00:35:30,710\nC'est pourquoi\nj'ai d\xE9barqu\xE9 aujourd'hui.\n\n287\n00:35:31,379 --> 00:35:33,547\nMettons les choses au clair.\n\n288\n00:35:33,798 --> 00:35:36,633\nJe suis l\xE0 car nous sommes\nsur le sol canadien\n\n289\n00:35:36,884 --> 00:35:40,303\net la cour d'appel a rejet\xE9\nl'injonction de me tenir \xE0 l'\xE9cart.\n\n290\n00:35:40,555 --> 00:35:42,681\nSi le concours de bites est fini,\n\n291\n00:35:42,932 --> 00:35:45,267\nvous me montrez votre d\xE9couverte ?\n\n292\n00:35:47,353 --> 00:35:48,478\nLes satellites de la NASA\n\n293\n00:35:48,729 --> 00:35:50,480\nont relev\xE9 l'anomalie.\n\n294\n00:35:50,731 --> 00:35:53,191\nLa barri\xE8re de glace g\xEAne l'\xE9chosondage\n\n295\n00:35:53,442 --> 00:35:55,777\n- mais on voit \xE7a.\n- Un sous-marin\n\n296\n00:35:56,028 --> 00:35:56,820\nde l'\xE8re sovi\xE9tique ?\n\n297\n00:35:57,071 --> 00:35:58,655\nPeu probable. \xC7a fait 300 m.\n\n298\n00:35:58,906 --> 00:36:01,867\nIls n'ont rien construit de si grand.\n\n299\n00:36:02,118 --> 00:36:03,368\nLe plus flippant...\n\n300\n00:36:04,579 --> 00:36:07,038\nLa glace qui entoure l'objet\n\n301\n00:36:07,290 --> 00:36:10,375\na pr\xE8s de 20 000 ans.\n\n302\n00:36:11,836 --> 00:36:12,669\nMlle Lane !\n\n303\n00:36:14,046 --> 00:36:15,297\nNe vous \xE9loignez pas.\n\n304\n00:36:15,548 --> 00:36:18,633\nIl fait jusqu'\xE0 - 40\xB0 la nuit.\n\n305\n00:36:18,885 --> 00:36:21,136\nOn retrouverait votre corps\nqu'au printemps.\n\n306\n00:36:24,140 --> 00:36:25,640\nEt voil\xE0.\n\n307\n00:36:29,228 --> 00:36:30,687\nEt pour le pipi-room ?\n\n308\n00:36:31,397 --> 00:36:33,023\nIl y a un seau, l\xE0.\n\n309\n00:37:07,225 --> 00:37:09,392\nO\xF9 vas-tu comme \xE7a ?\n\n310\n00:40:55,578 --> 00:40:57,205\nTout va bien.\n\n311\n00:40:57,371 --> 00:40:58,705\nTout va bien.\n\n312\n00:41:13,012 --> 00:41:14,888\nVous faites une h\xE9morragie interne.\n\n313\n00:41:15,139 --> 00:41:17,515\nJe dois caut\xE9riser, sinon...\n\n314\n00:41:18,684 --> 00:41:19,350\nComment...\n\n315\n00:41:19,602 --> 00:41:22,145\nJe peux faire des choses\nhors du commun.\n\n316\n00:41:23,147 --> 00:41:24,272\nPrenez ma main.\n\n317\n00:41:25,107 --> 00:41:26,691\n\xC7a va faire mal.\n\n318\n00:42:28,379 --> 00:42:30,505\nCe que le colonel Hardy\net son \xE9quipe\n\n319\n00:42:30,756 --> 00:42:32,257\nont pris pour\nun sous-marin sovi\xE9tique\n\n320\n00:42:32,508 --> 00:42:34,968\n\xE9tait en fait bien plus exotique.\n\n321\n00:42:35,219 --> 00:42:39,055\nL'analyse isotopique de la glace\nsugg\xE8re qu'un objet\n\n322\n00:42:39,306 --> 00:42:43,142\na \xE9t\xE9 pris dans le glacier\npendant plus de 18 000 ans.\n\n323\n00:42:43,394 --> 00:42:44,936\nMon sauveur, quant \xE0 lui,\n\n324\n00:42:45,187 --> 00:42:47,564\na disparu lors du d\xE9part de l'objet.\n\n325\n00:42:47,982 --> 00:42:50,358\nJ'ai d\xE9couvert que son parcours\n\n326\n00:42:50,609 --> 00:42:52,694\net son identit\xE9 avaient \xE9t\xE9 falsifi\xE9s.\n\n327\n00:42:52,945 --> 00:42:54,821\nLes questions que son existence soul\xE8ve\n\n328\n00:42:55,072 --> 00:42:56,906\nsont terrifiantes\n\n329\n00:42:57,157 --> 00:42:58,783\nmais je sais ce que j'ai vu.\n\n330\n00:43:00,703 --> 00:43:03,288\n\"J'en suis arriv\xE9e\n\xE0 la conclusion in\xE9luctable\n\n331\n00:43:03,539 --> 00:43:05,540\n\"que l'objet et son occupant\n\n332\n00:43:05,791 --> 00:43:07,709\n\"ne sont pas terrestres.\"\n\n333\n00:43:09,461 --> 00:43:12,755\nJe ne peux pas publier\nle fruit d'une hallucination.\n\n334\n00:43:13,007 --> 00:43:15,091\nLes entrepreneurs ont corrobor\xE9...\n\n335\n00:43:15,342 --> 00:43:18,511\nLe Pentagone nie\nla pr\xE9sence d'un vaisseau.\n\n336\n00:43:18,762 --> 00:43:20,597\n\xC9videmment.\nC'est son travail.\n\n337\n00:43:20,848 --> 00:43:22,348\nC'est le Pentagone.\n\n338\n00:43:22,600 --> 00:43:24,267\nPerry, voyons. C'est moi.\n\n339\n00:43:24,518 --> 00:43:27,186\n- J'ai eu le Pulitzer.\n- Agis en cons\xE9quence.\n\n340\n00:43:27,438 --> 00:43:29,564\n- Publiez ou je pars.\n- Impossible.\n\n341\n00:43:29,815 --> 00:43:30,857\nTu es sous contrat.\n\n342\n00:43:33,319 --> 00:43:37,322\nJe ne publierai pas un article\nsur la pr\xE9sence d'aliens parmi nous.\n\n343\n00:43:43,621 --> 00:43:45,204\nNe compte pas sur moi.\n\n344\n00:43:48,459 --> 00:43:50,835\nUn whisky sec pour la petite dame.\n\n345\n00:43:51,086 --> 00:43:52,378\nJe t'envoie l'article.\n\n346\n00:43:52,630 --> 00:43:55,089\nS'il pouvait se retrouver sur le Net...\n\n347\n00:43:55,341 --> 00:43:56,633\nC'est bon.\n\n348\n00:43:56,884 --> 00:43:59,302\nCe n'est pas toi\nqui qualifiais mon site\n\n349\n00:43:59,553 --> 00:44:02,347\nde tissu naus\xE9abond de mensonges.\n\n350\n00:44:02,931 --> 00:44:05,516\nJe maintiens mes propos, Woodburn,\nmais je veux\n\n351\n00:44:05,768 --> 00:44:06,934\n- le publier.\n- Pourquoi ?\n\n352\n00:44:07,978 --> 00:44:11,314\nPour que mon homme-myst\xE8re\nsache que je connais la v\xE9rit\xE9.\n\n353\n00:44:25,663 --> 00:44:27,622\nDiagnostics r\xE9cursifs termin\xE9s.\n\n354\n00:44:28,457 --> 00:44:30,667\nPr\xE9sence pilote authentifi\xE9e.\n\n355\n00:44:30,918 --> 00:44:33,461\nTous syst\xE8mes op\xE9rationnels.\n\n356\n00:44:45,557 --> 00:44:49,477\nTe voir devant moi,\naujourd'hui adulte...\n\n357\n00:44:51,730 --> 00:44:53,564\nSi Lara avait pu voir \xE7a.\n\n358\n00:44:54,692 --> 00:44:55,900\nQui \xEAtes-vous ?\n\n359\n00:44:56,902 --> 00:44:58,861\nJe suis ton p\xE8re, Kal.\n\n360\n00:45:00,239 --> 00:45:02,115\nOu du moins, son ombre.\n\n361\n00:45:02,616 --> 00:45:04,325\nSa conscience.\n\n362\n00:45:06,120 --> 00:45:09,205\nJe m'appelais Jor-El.\n\n363\n00:45:11,875 --> 00:45:13,501\nEt Kal ?\n\n364\n00:45:16,755 --> 00:45:17,964\nC'est mon nom.\n\n365\n00:45:18,841 --> 00:45:22,051\nKal-El. Oui.\n\n366\n00:45:22,761 --> 00:45:24,804\nJ'ai tellement de questions.\n\n367\n00:45:27,516 --> 00:45:29,142\nJe viens d'o\xF9 ?\n\n368\n00:45:30,853 --> 00:45:32,729\nPourquoi m'avoir envoy\xE9 ici ?\n\n369\n00:45:33,564 --> 00:45:35,440\nTu viens de Krypton.\n\n370\n00:45:38,152 --> 00:45:42,155\nUn monde \xE0 l'environnement\nbien plus rigoureux que sur Terre.\n\n371\n00:45:45,951 --> 00:45:47,577\nIl y a longtemps,\n\n372\n00:45:47,828 --> 00:45:50,037\nen pleine \xE8re d'expansion,\n\n373\n00:45:50,289 --> 00:45:53,499\nnotre race a parcouru les \xE9toiles\n\n374\n00:45:53,751 --> 00:45:56,461\nen qu\xEAte de nouveaux mondes\nsur lesquels s'\xE9tablir.\n\n375\n00:45:57,588 --> 00:46:01,090\nDes milliers de vaisseaux comme celui-ci\nont \xE9t\xE9 envoy\xE9s dans l'espace.\n\n376\n00:46:03,677 --> 00:46:06,262\nOn a b\xE2ti des avant-postes\nsur des plan\xE8tes\n\n377\n00:46:06,513 --> 00:46:10,224\navec des machines\nqui les refa\xE7onnaient \xE0 nos besoins.\n\n378\n00:46:12,436 --> 00:46:16,439\nPendant 100 000 ans,\nnotre civilisation a prosp\xE9r\xE9...\n\n379\n00:46:17,983 --> 00:46:19,984\naccomplissant des merveilles.\n\n380\n00:46:21,153 --> 00:46:22,779\nQue s'est-il pass\xE9 ?\n\n381\n00:46:24,782 --> 00:46:27,867\nUn contr\xF4le artificiel de la population\na \xE9t\xE9 \xE9tabli.\n\n382\n00:46:28,577 --> 00:46:32,205\nLes avant-postes d'exploration spatiale\nont \xE9t\xE9 abandonn\xE9s.\n\n383\n00:46:32,790 --> 00:46:35,374\nNous avons \xE9puis\xE9\nnos ressources naturelles.\n\n384\n00:46:35,626 --> 00:46:39,629\nR\xE9sultat, le noyau de notre plan\xE8te\nest devenu instable.\n\n385\n00:46:42,090 --> 00:46:44,634\nUn jour, le chef de notre arm\xE9e,\n\n386\n00:46:44,885 --> 00:46:48,763\nle g\xE9n\xE9ral Zod,\na tent\xE9 un coup d'\xC9tat.\n\n387\n00:46:50,724 --> 00:46:52,892\nMais il \xE9tait d\xE9j\xE0 trop tard.\n\n388\n00:46:54,144 --> 00:46:56,771\nTa m\xE8re et moi\navions pr\xE9vu le d\xE9sastre\n\n389\n00:46:57,022 --> 00:46:59,816\net avons fait en sorte\nd'assurer ta survie.\n\n390\n00:47:01,902 --> 00:47:03,528\nVoici une chambre de gen\xE8se.\n\n391\n00:47:04,404 --> 00:47:07,532\nTous les Kryptoniens \xE9taient con\xE7us\ndans de telles chambres.\n\n392\n00:47:07,783 --> 00:47:11,494\nChaque enfant avait\nun r\xF4le pr\xE9d\xE9termin\xE9 dans la soci\xE9t\xE9.\n\n393\n00:47:11,745 --> 00:47:12,578\nOuvrier,\n\n394\n00:47:12,830 --> 00:47:15,957\nguerrier, chef, et cetera.\n\n395\n00:47:16,208 --> 00:47:19,460\nPour ta m\xE8re et moi,\nKrypton avait perdu une chose pr\xE9cieuse.\n\n396\n00:47:19,711 --> 00:47:21,921\nLa part de choix, de hasard.\n\n397\n00:47:22,422 --> 00:47:24,590\nEt si un enfant avait d'autres r\xEAves\n\n398\n00:47:24,842 --> 00:47:27,343\nque ceux impos\xE9s par la soci\xE9t\xE9 ?\n\n399\n00:47:28,887 --> 00:47:31,472\nS'il avait de plus grandes aspirations ?\n\n400\n00:47:32,266 --> 00:47:34,267\nTu incarnais cette conviction.\n\n401\n00:47:34,518 --> 00:47:36,978\nEnfin une naissance naturelle\nsur Krypton.\n\n402\n00:47:38,105 --> 00:47:40,773\nC'est pourquoi nous avons tout risqu\xE9\npour te sauver.\n\n403\n00:47:41,900 --> 00:47:43,317\nIl fallait m'accompagner.\n\n404\n00:47:46,864 --> 00:47:48,614\nNous ne pouvions pas.\n\n405\n00:47:49,658 --> 00:47:50,658\nM\xEAme si\n\n406\n00:47:50,909 --> 00:47:52,118\nnous le d\xE9sirions ardemment.\n\n407\n00:47:52,619 --> 00:47:54,620\nM\xEAme si nous t'aimions plus que tout.\n\n408\n00:47:55,372 --> 00:47:56,747\nTa m\xE8re Lara et moi\n\n409\n00:47:56,999 --> 00:48:00,126\n\xE9tions le r\xE9sultat des erreurs\nde notre monde, comme Zod.\n\n410\n00:48:00,377 --> 00:48:02,044\nLi\xE9s \xE0 son destin.\n\n411\n00:48:02,296 --> 00:48:04,338\n- Donc, je suis seul.\n- Non.\n\n412\n00:48:06,091 --> 00:48:09,760\nAujourd'hui, tu es autant\nun enfant de la Terre que de Krypton.\n\n413\n00:48:10,012 --> 00:48:13,180\nTu peux incarner\nle meilleur de ces deux mondes.\n\n414\n00:48:13,432 --> 00:48:17,059\nTa m\xE8re et moi avons vou\xE9 notre vie\n\xE0 pr\xE9server ce r\xEAve.\n\n415\n00:48:21,607 --> 00:48:24,567\nIl est vrai que les Terriens\nsont diff\xE9rents.\n\n416\n00:48:24,818 --> 00:48:27,737\nMais finalement,\nc'est une bonne chose.\n\n417\n00:48:27,988 --> 00:48:30,406\nIls ne commettront pas forc\xE9ment\nnos erreurs.\n\n418\n00:48:30,657 --> 00:48:32,617\nPas si tu les guides.\n\n419\n00:48:34,202 --> 00:48:36,245\nPas si tu leur donnes de l'espoir.\n\n420\n00:48:39,666 --> 00:48:41,834\nC'est ce que ce symbole signifie.\n\n421\n00:48:42,544 --> 00:48:44,879\nLe symbole des El signifie espoir.\n\n422\n00:48:45,130 --> 00:48:47,632\nIl renferme la certitude fondamentale\n\n423\n00:48:47,883 --> 00:48:51,802\nque chacun a le potentiel\nd'\xEAtre une force du bien.\n\n424\n00:48:52,930 --> 00:48:54,972\nVoil\xE0 ce que tu peux leur apporter.\n\n425\n00:49:15,160 --> 00:49:16,994\nPourquoi suis-je si diff\xE9rent ?\n\n426\n00:49:18,246 --> 00:49:20,748\nLeur soleil est plus jeune,\nplus \xE9clatant que celui de Krypton.\n\n427\n00:49:22,668 --> 00:49:25,044\nTes cellules ont bu ses radiations,\n\n428\n00:49:25,295 --> 00:49:29,298\nfortifiant tes muscles,\nta peau, tes sens.\n\n429\n00:49:29,841 --> 00:49:33,844\nLa gravit\xE9 terrestre est faible\nmais son atmosph\xE8re est nourrissante.\n\n430\n00:49:35,138 --> 00:49:38,140\nIci, tu es devenu plus fort\nque je n'aurais pu l'imaginer.\n\n431\n00:49:38,392 --> 00:49:39,976\nPour savoir \xE0 quel point...\n\n432\n00:49:41,061 --> 00:49:44,188\ntu dois continuer \xE0 tester tes limites.\n\n433\n00:50:36,450 --> 00:50:40,453\nTu donneras aux Terriens\nun id\xE9al \xE0 atteindre.\n\n434\n00:50:42,122 --> 00:50:43,914\nIls se rueront derri\xE8re toi.\n\n435\n00:50:44,166 --> 00:50:45,541\nIls tr\xE9bucheront.\n\n436\n00:50:45,792 --> 00:50:46,917\nIls tomberont.\n\n437\n00:50:47,169 --> 00:50:48,878\nMais le moment venu...\n\n438\n00:50:50,422 --> 00:50:53,049\nils te rejoindront dans le soleil.\n\n439\n00:50:54,551 --> 00:50:56,260\nLe moment venu,\n\n440\n00:50:56,595 --> 00:50:59,180\ntu les aideras\n\xE0 accomplir des miracles.\n\n441\n00:52:21,596 --> 00:52:25,558\nComment retrouver quelqu'un\nqui a toujours brouill\xE9 les pistes ?\n\n442\n00:52:25,934 --> 00:52:27,560\nEn commen\xE7ant\npar les l\xE9gendes urbaines\n\n443\n00:52:27,811 --> 00:52:30,146\nqu'il a suscit\xE9es.\n\n444\n00:52:30,397 --> 00:52:31,772\nLes amis de quelqu'un\n\n445\n00:52:32,023 --> 00:52:34,024\nqui pr\xE9tend l'avoir vu.\n\n446\n00:52:34,276 --> 00:52:37,111\nPour certains, c'\xE9tait un ange gardien.\nPour d'autres, une \xE9nigme,\n\n447\n00:52:37,362 --> 00:52:39,113\nun fant\xF4me,\ntoujours un peu \xE0 l'\xE9cart.\n\n448\n00:52:41,741 --> 00:52:42,950\nVers la plateforme...\n\n449\n00:52:43,201 --> 00:52:46,328\nEn remontant le temps,\nles histoires finissent par prendre corps.\n\n450\n00:52:47,080 --> 00:52:49,123\nVous connaissez Pete Ross ?\n\n451\n00:52:49,374 --> 00:52:52,209\nIl travaille au IHOP.\nPlus bas...\n\n452\n00:52:54,129 --> 00:52:54,837\nPete Ross ?\n\n453\n00:52:57,174 --> 00:53:00,384\nJ'aimerais vous parler\nd'un accident dans votre enfance.\n\n454\n00:53:00,635 --> 00:53:03,137\nUn bus scolaire,\ntomb\xE9 dans le fleuve ?\n\n455\n00:53:08,643 --> 00:53:10,060\nDusty.\n\n456\n00:53:10,937 --> 00:53:11,979\nMme Kent ?\n\n457\n00:53:12,939 --> 00:53:15,399\nJe suis Lois Lane, du Daily Planet.\n\n458\n00:53:15,942 --> 00:53:16,650\nTais-toi.\n\n459\n00:53:18,278 --> 00:53:21,739\nJe travaille au Daily Planet.\nJ'aimerais parler de votre fils.\n\n460\n00:53:39,841 --> 00:53:43,844\nJ'ai pens\xE9 que si je fouinais partout,\nvous me trouveriez.\n\n461\n00:53:49,434 --> 00:53:52,478\nD'o\xF9 venez-vous ?\nDans quel but ?\n\n462\n00:53:52,729 --> 00:53:54,063\nJe veux raconter votre histoire.\n\n463\n00:53:54,314 --> 00:53:57,441\nSi je ne veux pas qu'on la raconte ?\n\n464\n00:53:57,692 --> 00:53:59,485\nElle finira par sortir.\n\n465\n00:53:59,736 --> 00:54:02,780\nQuelqu'un tombera sur une photo,\nvotre adresse.\n\n466\n00:54:03,031 --> 00:54:05,991\n- Je dispara\xEEtrai \xE0 nouveau.\n- Le seul moyen serait\n\n467\n00:54:06,243 --> 00:54:10,246\nd'arr\xEAter d'aider les gens et j'ai l'impression\nque pour vous, c'est inconcevable.\n\n468\n00:54:14,417 --> 00:54:18,420\nMon p\xE8re pensait\nque si le monde d\xE9couvrait qui j'\xE9tais...\n\n469\n00:54:20,423 --> 00:54:21,423\nil me rejetterait.\n\n470\n00:54:22,175 --> 00:54:23,801\nPar peur.\n\n471\n00:54:25,845 --> 00:54:27,888\nJ'en ai assez des pr\xE9cautions.\n\n472\n00:54:28,139 --> 00:54:30,224\nJe veux me rendre utile.\n\n473\n00:54:30,475 --> 00:54:33,060\n\xCAtre fermier, nourrir les gens,\nce n'est pas utile ?\n\n474\n00:54:33,311 --> 00:54:34,144\nJ'ai pas dit \xE7a.\n\n475\n00:54:34,396 --> 00:54:36,522\nOn est fermiers\ndepuis 5 g\xE9n\xE9rations.\n\n476\n00:54:36,773 --> 00:54:38,691\nDans ta famille, pas la mienne.\n\n477\n00:54:38,942 --> 00:54:41,902\nPourquoi je t'\xE9coute ?\nT'es pas mon p\xE8re.\n\n478\n00:54:42,153 --> 00:54:43,529\nTu m'as trouv\xE9 dans un champ.\n\n479\n00:54:47,325 --> 00:54:48,993\nC'est rien, Martha.\n\n480\n00:54:50,829 --> 00:54:52,913\nC'est vrai. Clark a raison.\n\n481\n00:54:53,498 --> 00:54:54,540\nOn est pas tes parents.\n\n482\n00:54:56,626 --> 00:54:58,335\nMais on a fait de notre mieux\n\n483\n00:54:58,586 --> 00:55:01,964\net on a improvis\xE9 en chemin\ndonc peut-\xEAtre...\n\n484\n00:55:02,215 --> 00:55:04,591\nPeut-\xEAtre que \xE7a ne suffit plus.\n\n485\n00:55:09,639 --> 00:55:11,682\n\xC9coute, papa...\n\n486\n00:55:11,933 --> 00:55:13,392\nMinute.\n\n487\n00:55:33,121 --> 00:55:34,830\nAllez sous le pont.\n\n488\n00:55:36,624 --> 00:55:37,750\nSous le pont !\n\n489\n00:55:40,086 --> 00:55:41,712\nAbritez-vous !\n\n490\n00:55:48,094 --> 00:55:49,261\nElle est coinc\xE9e !\n\n491\n00:55:53,808 --> 00:55:55,684\nHank est dans la voiture.\n\n492\n00:55:58,438 --> 00:56:00,564\nJe vais le chercher.\n\n493\n00:56:01,107 --> 00:56:03,317\nEmm\xE8ne ta m\xE8re sous le pont.\n\n494\n00:56:21,711 --> 00:56:23,504\nHank, viens !\n\n495\n00:56:32,430 --> 00:56:33,639\n- Jonathan !\n- \xC7a va !\n\n496\n00:56:54,661 --> 00:56:56,078\nReste l\xE0 !\n\n497\n00:57:26,943 --> 00:57:30,028\nJ'ai laiss\xE9 mon p\xE8re mourir\ncar je lui faisais confiance.\n\n498\n00:57:30,905 --> 00:57:34,825\nParce qu'il \xE9tait convaincu\nque je devais attendre.\n\n499\n00:57:35,577 --> 00:57:37,744\nQue le monde n'\xE9tait pas pr\xEAt.\n\n500\n00:57:39,497 --> 00:57:41,123\nQu'en pensez-vous ?\n\n501\n00:57:46,045 --> 00:57:47,671\nFais gaffe, Lois.\n\n502\n00:57:48,173 --> 00:57:50,466\nPerry veut ta peau.\n\n503\n00:57:50,717 --> 00:57:54,470\nIl sait que t'es la source de Woodburn.\nTu vas l'entendre !\n\n504\n00:58:00,268 --> 00:58:02,811\nJe t'ai interdit de le publier,\net total,\n\n505\n00:58:03,062 --> 00:58:05,564\ntu laisses Woodburn\nle balancer sur Internet.\n\n506\n00:58:05,815 --> 00:58:08,692\nLes directeurs veulent\nque je te fasse un proc\xE8s.\n\n507\n00:58:08,943 --> 00:58:12,196\nEh bien, si \xE7a peut vous rassurer,\nje laisse tomber.\n\n508\n00:58:12,447 --> 00:58:13,447\nComme \xE7a ?\n\n509\n00:58:15,074 --> 00:58:16,366\nEt tes pistes ?\n\n510\n00:58:17,035 --> 00:58:19,661\nElles n'ont rien donn\xE9.\nC'\xE9tait du vent.\n\n511\n00:58:19,913 --> 00:58:21,830\nT'aurais voulu plus de battage ?\n\n512\n00:58:24,209 --> 00:58:25,042\n15 jours de cong\xE9\n\n513\n00:58:25,293 --> 00:58:26,919\nsans solde,\npour la peine.\n\n514\n00:58:27,170 --> 00:58:28,837\nRecommence un coup pareil\n\n515\n00:58:29,088 --> 00:58:30,756\n- et c'est la porte.\n- Tr\xE8s bien.\n\n516\n00:58:31,007 --> 00:58:33,717\nDisons 3 semaines,\nvu que tu es si conciliante.\n\n517\n00:58:33,968 --> 00:58:35,469\nArr\xEAte.\n\n518\n00:58:37,138 --> 00:58:38,805\nJe crois ton histoire.\n\n519\n00:58:39,307 --> 00:58:42,309\nTu me feras pas croire\nque tes pistes se sont refroidies.\n\n520\n00:58:42,560 --> 00:58:46,063\nQuelles que soient\ntes motivations pour laisser tomber...\n\n521\n00:58:47,106 --> 00:58:48,941\nje pense que tu as raison.\n\n522\n00:58:49,484 --> 00:58:50,734\nPourquoi ?\n\n523\n00:58:52,111 --> 00:58:55,739\nTu imagines la r\xE9action\ndes habitants de cette plan\xE8te...\n\n524\n00:58:57,992 --> 00:59:01,453\ns'ils savaient\nqu'une telle personne existe ?\n\n525\n00:59:19,597 --> 00:59:20,597\nVa le chercher.\n\n526\n00:59:27,438 --> 00:59:29,064\nRegardez-moi \xE7a !\n\n527\n00:59:46,124 --> 00:59:47,916\nUne journaliste est pass\xE9e.\n\n528\n00:59:48,501 --> 00:59:50,711\nC'est une amie.\nNe t'en fais pas.\n\n529\n00:59:53,715 --> 00:59:54,548\nMaman.\n\n530\n00:59:55,508 --> 00:59:56,508\nQuoi ?\n\n531\n00:59:57,969 --> 01:00:00,512\n- Je les ai retrouv\xE9s.\n- Qui \xE7a ?\n\n532\n01:00:01,347 --> 01:00:02,848\nMes parents.\n\n533\n01:00:04,017 --> 01:00:05,350\nMon peuple.\n\n534\n01:00:06,227 --> 01:00:09,438\nJe sais d'o\xF9 je viens.\n\n535\n01:00:13,192 --> 01:00:14,943\nC'est merveilleux.\n\n536\n01:00:16,821 --> 01:00:19,239\nJe suis tellement contente pour toi.\n\n537\n01:00:28,082 --> 01:00:30,626\n- Quoi ?\n- Rien.\n\n538\n01:00:33,338 --> 01:00:36,256\nQuand tu \xE9tais b\xE9b\xE9,\nje m'allongeais pr\xE8s de ton berceau.\n\n539\n01:00:36,507 --> 01:00:38,884\nJe t'\xE9coutais respirer.\n\n540\n01:00:39,927 --> 01:00:41,553\nTu avais du mal.\n\n541\n01:00:42,764 --> 01:00:44,139\nTu luttais.\n\n542\n01:00:44,390 --> 01:00:46,224\nEt j'avais tout le temps peur.\n\n543\n01:00:46,476 --> 01:00:48,310\nQue la v\xE9rit\xE9 \xE9clate.\n\n544\n01:00:52,023 --> 01:00:54,608\nLa v\xE9rit\xE9 \xE0 ton sujet est magnifique.\n\n545\n01:00:55,068 --> 01:00:58,487\nOn l'a su\nd\xE8s qu'on a pos\xE9 les yeux sur toi.\n\n546\n01:01:00,782 --> 01:01:04,785\nOn savait qu'un jour,\nle monde entier le comprendrait.\n\n547\n01:01:07,246 --> 01:01:08,872\nJ'ai...\n\n548\n01:01:09,499 --> 01:01:11,583\npeur qu'on t'enl\xE8ve \xE0 moi.\n\n549\n01:01:13,795 --> 01:01:16,171\nJe n'irai nulle part, maman.\n\n550\n01:01:18,007 --> 01:01:19,508\nPromis.\n\n551\n01:01:25,723 --> 01:01:27,891\nG\xE9n\xE9ral Swanwick.\n\n552\n01:01:28,142 --> 01:01:31,895\nQu'est-ce que c'est ?\nUne com\xE8te ? Un ast\xE9ro\xEFde ?\n\n553\n01:01:33,064 --> 01:01:37,067\nLes com\xE8tes ne corrigent pas\nleur trajectoire, mon g\xE9n\xE9ral.\n\n554\n01:01:39,862 --> 01:01:43,865\nJe voulais vous pr\xE9venir avant qu'un astronome\nen herbe cr\xE9e une panique mondiale.\n\n555\n01:01:45,535 --> 01:01:46,910\nLe vaisseau semble\n\n556\n01:01:47,161 --> 01:01:49,913\ns'\xEAtre ins\xE9r\xE9\nsur une orbite synchrone lunaire.\n\n557\n01:01:50,164 --> 01:01:52,332\nJ'ignore absolument pourquoi.\n\n558\n01:01:52,583 --> 01:01:55,419\nAvez-vous essay\xE9\nd'entrer en communication ?\n\n559\n01:01:55,670 --> 01:01:59,673\nIls n'ont pas r\xE9pondu pour l'instant.\n\n560\n01:02:00,967 --> 01:02:04,970\nSimple sp\xE9culation,\nmais je pense que le pilote\n\n561\n01:02:05,221 --> 01:02:07,723\nveut faire une entr\xE9e th\xE9\xE2trale.\n\n562\n01:02:14,605 --> 01:02:16,022\nQuelqu'un sait\no\xF9 on range les cartouches ?\n\n563\n01:02:17,024 --> 01:02:18,942\n- Quoi ?\n- C'est aux infos.\n\n564\n01:02:19,193 --> 01:02:21,153\nVenez voir \xE7a.\n\n565\n01:02:51,392 --> 01:02:52,726\nJ'arrive.\n\n566\n01:03:36,979 --> 01:03:38,579\nVous n'\xEAtes pas seuls.\n\n567\n01:03:40,738 --> 01:03:42,338\nVous n'\xEAtes pas seuls.\n\n568\n01:03:44,866 --> 01:03:47,239\nVous n'\xEAtes pas seuls.\n\n569\n01:04:20,940 --> 01:04:22,440\n\xC7a passe par le flux RSS.\n\n570\n01:04:25,194 --> 01:04:27,237\nC'est aussi sur mon t\xE9l\xE9phone.\n\n571\n01:04:29,407 --> 01:04:31,825\nJe suis le g\xE9n\xE9ral Zod.\n\n572\n01:04:33,661 --> 01:04:36,454\nJe viens d'un monde\ntr\xE8s \xE9loign\xE9 du v\xF4tre.\n\n573\n01:04:37,832 --> 01:04:41,835\nJ'ai travers\xE9 un oc\xE9an d'\xE9toiles\npour arriver jusqu'\xE0 vous.\n\n574\n01:04:43,963 --> 01:04:47,966\nDepuis un certain temps,\nvotre monde abrite un de mes citoyens.\n\n575\n01:04:48,593 --> 01:04:51,803\nJ'exige que vous me remettiez\n\n576\n01:04:52,054 --> 01:04:54,180\ncet individu.\n\n577\n01:04:54,432 --> 01:04:58,435\nPour une raison que j'ignore,\nil a choisi de garder son existence\n\n578\n01:04:58,686 --> 01:05:00,520\nsecr\xE8te \xE0 vos yeux.\n\n579\n01:05:01,606 --> 01:05:04,774\nIl aura fait ce qu'il faut\npour se fondre dans la masse.\n\n580\n01:05:05,359 --> 01:05:07,027\nIl doit vous ressembler.\n\n581\n01:05:07,778 --> 01:05:10,363\nMais il n'est pas des v\xF4tres.\n\n582\n01:05:11,574 --> 01:05:13,408\n\xC0 ceux d'entre vous qui sauraient\n\n583\n01:05:13,659 --> 01:05:15,660\no\xF9 il se trouve actuellement,\n\n584\n01:05:15,912 --> 01:05:18,455\nle sort de votre plan\xE8te\n\n585\n01:05:18,706 --> 01:05:21,374\nest entre vos mains.\n\n586\n01:05:22,460 --> 01:05:25,503\n\xC0 Kal-El, j'adresse ce message...\n\n587\n01:05:27,548 --> 01:05:30,216\nrends-toi dans les 24 h...\n\n588\n01:05:34,513 --> 01:05:37,474\nou tu verras ce monde\nen subir les cons\xE9quences.\n\n589\n01:05:52,406 --> 01:05:54,783\nNous ignorons presque tout de lui.\n\n590\n01:05:55,034 --> 01:05:57,243\nS'il ne nous veut vraiment aucun mal,\n\n591\n01:05:57,495 --> 01:05:59,496\nil se livrera \xE0 son peuple\net assumera les cons\xE9quences.\n\n592\n01:06:00,122 --> 01:06:01,331\nSinon,\n\n593\n01:06:01,582 --> 01:06:03,583\nce sera \xE0 nous de le faire.\n\n594\n01:06:03,834 --> 01:06:06,795\nLois Lane, du Daily Planet,\nsait qui c'est.\n\n595\n01:06:07,046 --> 01:06:08,672\nIl faudrait l'interroger.\n\n596\n01:06:08,923 --> 01:06:11,675\nVous dites que Lois Lane...\n\n597\n01:06:11,926 --> 01:06:14,427\nTu regardes ?\nC'est en boucle depuis ce matin.\n\n598\n01:06:14,679 --> 01:06:16,972\nPour une fois, Woodburn a raison.\n\n599\n01:06:17,223 --> 01:06:20,517\n- Tu sais o\xF9 il est ?\n- Non. M\xEAme si je savais, je dirais rien.\n\n600\n01:06:20,768 --> 01:06:23,937\nC'est le monde entier\nqui est menac\xE9, l\xE0.\n\n601\n01:06:24,188 --> 01:06:25,814\nC'est pas le moment\n\n602\n01:06:26,065 --> 01:06:28,400\nd'invoquer l'int\xE9grit\xE9 journalistique.\n\n603\n01:06:28,651 --> 01:06:30,110\nL'heure est grave.\n\n604\n01:06:30,361 --> 01:06:33,321\nLe FBI est l\xE0.\nIls parlent de trahison.\n\n605\n01:06:33,572 --> 01:06:35,240\nJe dois y aller.\n\n606\n01:06:51,382 --> 01:06:52,716\nFBI ! Les mains en l'air !\n\n607\n01:06:52,967 --> 01:06:54,759\nL\xE2chez votre sac !\n\n608\n01:07:01,642 --> 01:07:03,893\nConcernant ces visiteurs,\n\n609\n01:07:04,145 --> 01:07:06,604\nnous sommes ignorants.\nSelon des membres du gouvernement,\n\n610\n01:07:06,856 --> 01:07:09,315\nils ne sont pas dangereux,\n\n611\n01:07:09,567 --> 01:07:11,735\nmalgr\xE9 le ton mena\xE7ant du message.\n\n612\n01:07:11,986 --> 01:07:14,487\nUne question nous taraude :\n\n613\n01:07:14,739 --> 01:07:18,533\n\"Qui est ce Kal-El ?\nExiste-t-il r\xE9ellement ?\n\n614\n01:07:18,784 --> 01:07:21,453\n\"Comment a-t-il pu rester cach\xE9\nsi longtemps ?\"\n\n615\n01:07:26,083 --> 01:07:27,375\nSors de l\xE0, Kent !\n\n616\n01:07:34,467 --> 01:07:35,550\nAllez, d\xE9fends-toi.\n\n617\n01:07:35,801 --> 01:07:37,385\nDebout, Kent !\n\n618\n01:07:40,681 --> 01:07:42,057\nC'est tout ?\n\n619\n01:07:42,516 --> 01:07:44,017\nC'est tout ce que t'as ?\n\n620\n01:07:45,686 --> 01:07:47,187\nAllez, Kent.\n\n621\n01:07:48,439 --> 01:07:49,814\nAllez !\n\n622\n01:08:18,427 --> 01:08:19,552\nIls t'ont bless\xE9 ?\n\n623\n01:08:20,846 --> 01:08:22,222\nTu sais bien que non.\n\n624\n01:08:22,598 --> 01:08:25,475\nCe que je te demande,\nc'est si tu vas bien.\n\n625\n01:08:27,478 --> 01:08:29,771\nJe voulais tellement le frapper !\n\n626\n01:08:30,022 --> 01:08:31,481\nJe sais.\n\n627\n01:08:31,732 --> 01:08:34,442\nQuelque part, j'aurais bien aim\xE9.\nMais apr\xE8s ?\n\n628\n01:08:35,152 --> 01:08:36,319\nTu te serais senti mieux ?\n\n629\n01:08:39,698 --> 01:08:43,701\nIl faut que tu d\xE9cides\nquel genre d'homme tu veux devenir.\n\n630\n01:08:43,953 --> 01:08:47,664\nQue cet homme soit bon ou mauvais,\n\n631\n01:08:49,291 --> 01:08:51,417\nil changera le monde.\n\n632\n01:08:56,674 --> 01:08:57,715\nDites-moi tout.\n\n633\n01:09:03,764 --> 01:09:05,056\nPar quoi commencer ?\n\n634\n01:09:05,683 --> 01:09:07,267\nPar ce que vous voulez.\n\n635\n01:09:09,436 --> 01:09:11,563\nLe vaisseau apparu hier soir...\n\n636\n01:09:12,898 --> 01:09:14,691\nc'est moi qu'ils cherchent.\n\n637\n01:09:19,196 --> 01:09:20,697\nSavez-vous...\n\n638\n01:09:21,490 --> 01:09:22,615\npourquoi ?\n\n639\n01:09:22,867 --> 01:09:25,451\nNon. Mais ce g\xE9n\xE9ral Zod,\n\n640\n01:09:25,703 --> 01:09:29,706\nm\xEAme si je me rends,\nrien ne garantit qu'il tiendra parole.\n\n641\n01:09:29,957 --> 01:09:33,960\nMais si j'ai une chance\nde sauver la Terre en me livrant...\n\n642\n01:09:35,588 --> 01:09:36,713\nje dois la saisir, non ?\n\n643\n01:09:38,215 --> 01:09:40,091\nQue vous dit votre instinct ?\n\n644\n01:09:40,801 --> 01:09:42,510\nQue Zod n'est pas fiable.\n\n645\n01:09:45,139 --> 01:09:46,723\nMais...\n\n646\n01:09:47,766 --> 01:09:50,351\nles Terriens le sont-ils davantage ?\n\n647\n01:09:58,360 --> 01:10:01,321\nIl faut parfois faire acte de foi.\n\n648\n01:10:02,740 --> 01:10:04,782\nLa confiance vient apr\xE8s.\n\n649\n01:10:28,933 --> 01:10:31,643\nTr\xE8s bien.\nVous avez toute notre attention.\n\n650\n01:10:32,144 --> 01:10:33,144\nQue voulez-vous ?\n\n651\n01:10:33,395 --> 01:10:35,188\nParler \xE0 Lois Lane.\n\n652\n01:10:35,439 --> 01:10:36,689\nPourquoi serait-elle ici ?\n\n653\n01:10:37,650 --> 01:10:39,692\nNe faites pas le malin avec moi.\n\n654\n01:10:39,944 --> 01:10:43,947\nJe vais me rendre, si vous me garantissez\nla libert\xE9 de Lois.\n\n655\n01:10:54,041 --> 01:10:56,000\nPourquoi vous livrer \xE0 Zod ?\n\n656\n01:10:57,211 --> 01:11:00,838\nJe me livre \xE0 l'humanit\xE9,\nc'est diff\xE9rent.\n\n657\n01:11:01,966 --> 01:11:03,883\nVous vous \xEAtes laiss\xE9 menotter ?\n\n658\n01:11:04,635 --> 01:11:07,053\nOn ne se livre pas\nen opposant r\xE9sistance.\n\n659\n01:11:08,555 --> 01:11:10,598\nEt si \xE7a peut les rassurer...\n\n660\n01:11:11,684 --> 01:11:13,518\n\xE7a ne mange pas de pain.\n\n661\n01:11:17,940 --> 01:11:19,107\nQue repr\xE9sente le S ?\n\n662\n01:11:22,736 --> 01:11:24,320\nCe n'est pas un S.\n\n663\n01:11:25,781 --> 01:11:27,365\nChez moi, \xE7a signifie espoir.\n\n664\n01:11:29,326 --> 01:11:32,829\nEh bien, ici, c'est un S.\n\n665\n01:11:34,873 --> 01:11:36,416\nQue diriez-vous de...\n\n666\n01:11:40,754 --> 01:11:41,754\nSup...\n\n667\n01:11:42,006 --> 01:11:43,047\nMonsieur ?\n\n668\n01:11:43,299 --> 01:11:46,634\n- Bonjour, je suis le professeur...\n- Emil Hamilton.\n\n669\n01:11:46,885 --> 01:11:49,846\nJe vois votre badge\ndans votre poche de poitrine.\n\n670\n01:11:50,097 --> 01:11:52,140\nEt un paquet de pastilles entam\xE9.\n\n671\n01:11:53,309 --> 01:11:55,643\nAinsi que les soldats \xE0 c\xF4t\xE9\n\n672\n01:11:55,894 --> 01:11:58,187\nqui pr\xE9parent l'agent tranquillisant.\n\n673\n01:11:58,439 --> 01:11:59,897\nCe ne sera pas utile.\n\n674\n01:12:00,149 --> 01:12:03,192\nComprenez\nqu'on prenne des pr\xE9cautions.\n\n675\n01:12:03,444 --> 01:12:05,862\nVous pourriez \xEAtre porteur\nd'un agent pathog\xE8ne.\n\n676\n01:12:06,113 --> 01:12:07,572\nJe suis l\xE0 depuis 33 ans.\n\n677\n01:12:07,823 --> 01:12:11,743\n- Je n'ai infect\xE9 personne.\n- \xC0 votre connaissance. Nos inqui\xE9tudes\n\n678\n01:12:11,994 --> 01:12:15,371\nsont l\xE9gitimes.\nVous avez r\xE9v\xE9l\xE9 votre identit\xE9 \xE0 Mlle Lane.\n\n679\n01:12:16,373 --> 01:12:18,583\nPourquoi pas \xE0 nous ?\n\n680\n01:12:19,543 --> 01:12:21,878\nMettons cartes sur table.\n\n681\n01:12:23,339 --> 01:12:25,048\nVous me craignez\ncar vous ne me contr\xF4lez pas.\n\n682\n01:12:25,632 --> 01:12:28,176\nVous n'y arrivez pas\net n'y arriverez jamais.\n\n683\n01:12:29,011 --> 01:12:30,970\nJe ne suis pas pour autant\nvotre ennemi.\n\n684\n01:12:31,221 --> 01:12:32,722\nQui l'est, alors ?\n\n685\n01:12:32,973 --> 01:12:34,390\nZod ?\n\n686\n01:12:35,017 --> 01:12:36,434\nC'est ce qui m'inqui\xE8te.\n\n687\n01:12:37,019 --> 01:12:38,728\nQuoi qu'il en soit,\n\n688\n01:12:38,979 --> 01:12:41,773\nj'ai ordre de vous livrer \xE0 lui.\n\n689\n01:12:42,983 --> 01:12:44,859\nFaites votre devoir, mon g\xE9n\xE9ral.\n\n690\n01:12:49,656 --> 01:12:50,448\nMerci.\n\n691\n01:12:51,575 --> 01:12:52,533\nDe quoi ?\n\n692\n01:12:53,702 --> 01:12:55,286\nD'avoir cru en moi.\n\n693\n01:12:58,332 --> 01:13:00,375\n\xC7a n'a pas chang\xE9 grand-chose.\n\n694\n01:13:01,210 --> 01:13:02,752\nPour moi, si.\n\n695\n01:13:23,357 --> 01:13:24,899\nIls arrivent.\n\n696\n01:13:25,692 --> 01:13:27,193\nVous devriez partir.\n\n697\n01:13:30,322 --> 01:13:31,864\nPartez, Lois.\n\n698\n01:14:42,769 --> 01:14:44,145\nKal-El.\n\n699\n01:14:44,688 --> 01:14:46,731\nJe suis la sous-commandante Faora-Ul.\n\n700\n01:14:47,399 --> 01:14:50,651\nAu nom du g\xE9n\xE9ral Zod, je te salue.\n\n701\n01:14:56,700 --> 01:14:59,785\n- Vous \xEAtes l'officier responsable ?\n- Oui.\n\n702\n01:15:00,037 --> 01:15:01,996\nLe g\xE9n\xE9ral Zod veut\nque cette femme\n\n703\n01:15:02,247 --> 01:15:03,873\nm'accompagne.\n\n704\n01:15:04,833 --> 01:15:05,958\nVous avez demand\xE9 l'alien.\n\n705\n01:15:07,419 --> 01:15:10,338\nIl n'a jamais \xE9t\xE9 question\nd'un des n\xF4tres.\n\n706\n01:15:10,589 --> 01:15:13,716\nJe dis au g\xE9n\xE9ral\nque vous refusez d'obtemp\xE9rer ?\n\n707\n01:15:13,967 --> 01:15:15,843\nDites-lui ce que vous voulez.\n\n708\n01:15:18,847 --> 01:15:20,264\nC'est bon.\n\n709\n01:15:21,350 --> 01:15:22,558\nJ'y vais.\n\n710\n01:16:05,394 --> 01:16:09,230\nLa composition atmosph\xE9rique\nest incompatible avec les humains.\n\n711\n01:16:09,481 --> 01:16:10,856\nVous devrez d\xE9sormais\n\n712\n01:16:11,108 --> 01:16:12,775\nporter un respirateur.\n\n713\n01:16:37,926 --> 01:16:38,843\nKal-El.\n\n714\n01:16:40,804 --> 01:16:42,430\nSi tu savais\n\n715\n01:16:42,681 --> 01:16:44,724\ndepuis combien de temps\nnous te cherchons.\n\n716\n01:16:45,183 --> 01:16:46,183\nZod, je pr\xE9sume.\n\n717\n01:16:46,435 --> 01:16:47,560\nG\xE9n\xE9ral Zod !\n\n718\n01:16:47,811 --> 01:16:49,604\n- Notre commandant.\n- Ce n'est rien.\n\n719\n01:16:49,855 --> 01:16:52,523\nPardonnons-lui son manque de d\xE9corum.\n\n720\n01:16:52,774 --> 01:16:54,692\nIl ne conna\xEEt pas nos usages.\n\n721\n01:16:54,943 --> 01:16:55,985\nNous devrions\n\n722\n01:16:56,236 --> 01:16:59,280\nnous r\xE9jouir, pas nous battre.\n\n723\n01:17:04,119 --> 01:17:05,161\nJe...\n\n724\n01:17:05,412 --> 01:17:06,621\nme sens bizarre.\n\n725\n01:17:09,374 --> 01:17:10,666\nFaible.\n\n726\n01:17:12,878 --> 01:17:14,003\nQue lui arrive-t-il ?\n\n727\n01:17:14,254 --> 01:17:16,797\nIl rejette l'atmosph\xE8re\nde notre vaisseau.\n\n728\n01:17:17,883 --> 01:17:20,551\nTu as r\xE9ussi \xE0 t'adapter\n\xE0 l'environnement terrien\n\n729\n01:17:20,719 --> 01:17:21,636\nmais pas au n\xF4tre.\n\n730\n01:17:21,803 --> 01:17:22,845\nAidez-le.\n\n731\n01:17:23,096 --> 01:17:24,639\nImpossible. Ce qu'il subit\n\n732\n01:17:24,890 --> 01:17:27,433\ndoit suivre son cours.\n\n733\n01:17:28,477 --> 01:17:29,769\nAidez-le.\n\n734\n01:17:31,563 --> 01:17:32,730\nAidez-le !\n\n735\n01:17:44,368 --> 01:17:45,910\nBonjour, Kal.\n\n736\n01:17:47,579 --> 01:17:48,621\nOu pr\xE9f\xE8res-tu Clark ?\n\n737\n01:17:50,374 --> 01:17:51,749\nC'est le pr\xE9nom qu'ils t'ont donn\xE9,\n\n738\n01:17:52,000 --> 01:17:53,292\nn'est-ce pas ?\n\n739\n01:17:54,586 --> 01:17:56,295\nJ'\xE9tais chef\nde l'arm\xE9e de Krypton.\n\n740\n01:17:56,546 --> 01:17:58,964\nTon p\xE8re,\nnotre plus grand scientifique.\n\n741\n01:17:59,216 --> 01:18:00,633\nNous \xE9tions d'accord\nsur une chose,\n\n742\n01:18:00,884 --> 01:18:03,636\nKrypton se mourait.\nPour avoir voulu\n\n743\n01:18:03,887 --> 01:18:06,430\nprot\xE9ger notre civilisation\n\n744\n01:18:06,682 --> 01:18:08,766\net sauver notre plan\xE8te,\n\n745\n01:18:09,017 --> 01:18:13,020\nmes officiers et moi-m\xEAme\navons \xE9t\xE9 condamn\xE9s \xE0 la Zone Phantom.\n\n746\n01:18:15,982 --> 01:18:19,235\nPuis, la destruction de notre monde\n\n747\n01:18:19,486 --> 01:18:20,986\nnous a lib\xE9r\xE9s.\n\n748\n01:18:26,159 --> 01:18:29,662\nNous avons d\xE9riv\xE9, vou\xE9s \xE0 flotter\n\n749\n01:18:29,913 --> 01:18:31,831\nparmi les ruines de notre plan\xE8te\n\n750\n01:18:32,082 --> 01:18:33,958\net \xE0 mourir de faim.\n\n751\n01:18:34,835 --> 01:18:36,460\nEt vous avez trouv\xE9 la Terre ?\n\n752\n01:18:37,212 --> 01:18:41,215\nNous avons transform\xE9 le r\xE9tromoteur\ndu Phantom en hyperpropulseur.\n\n753\n01:18:41,717 --> 01:18:44,885\nTon p\xE8re a fait pareil\nsur l'engin qui t'a amen\xE9 ici.\n\n754\n01:18:46,930 --> 01:18:50,015\nEt alors,\nl'instrument de notre damnation...\n\n755\n01:18:52,060 --> 01:18:53,853\nest devenu notre salut.\n\n756\n01:18:58,817 --> 01:19:01,318\nNous avons explor\xE9\nles avant-postes coloniaux,\n\n757\n01:19:01,570 --> 01:19:03,779\n\xE0 la recherche de signes de vie.\n\n758\n01:19:06,241 --> 01:19:09,034\nMais nous n'avons trouv\xE9\nque la mort.\n\n759\n01:19:10,036 --> 01:19:12,621\nCoup\xE9s de Krypton,\nils avaient d\xE9p\xE9ri\n\n760\n01:19:12,873 --> 01:19:15,082\net \xE9taient morts depuis longtemps.\n\n761\n01:19:15,584 --> 01:19:17,543\nNous avons r\xE9cup\xE9r\xE9\nce que nous avons pu.\n\n762\n01:19:17,794 --> 01:19:19,503\nArmures, armes,\n\n763\n01:19:19,755 --> 01:19:21,672\nm\xEAme une machine \xE0 gravit\xE9.\n\n764\n01:19:23,425 --> 01:19:25,301\nPendant 33 ann\xE9es,\nnous nous sommes pr\xE9par\xE9s.\n\n765\n01:19:26,803 --> 01:19:29,555\nPuis nous avons d\xE9tect\xE9\nune balise de d\xE9tresse\n\n766\n01:19:29,806 --> 01:19:31,599\nque tu as d\xE9clench\xE9e\n\n767\n01:19:31,850 --> 01:19:34,059\nen p\xE9n\xE9trant\ndans le vaisseau de reconnaissance.\n\n768\n01:19:35,479 --> 01:19:38,022\nC'est toi qui nous as men\xE9s ici, Kal.\n\n769\n01:19:39,149 --> 01:19:40,483\nEt maintenant,\ntu as le pouvoir\n\n770\n01:19:40,734 --> 01:19:44,361\nde sauver ce qui reste de ta race.\n\n771\n01:19:49,117 --> 01:19:50,367\nSur Krypton,\n\n772\n01:19:50,619 --> 01:19:53,245\nla matrice g\xE9n\xE9tique\nde chaque \xEAtre \xE0 na\xEEtre\n\n773\n01:19:53,497 --> 01:19:56,040\nest encod\xE9e\ndans le registre des citoyens.\n\n774\n01:19:56,708 --> 01:19:58,834\nTon p\xE8re a vol\xE9\nle codex du registre\n\n775\n01:19:59,085 --> 01:20:01,921\net l'a cach\xE9 dans la capsule\nqui t'a amen\xE9 ici.\n\n776\n01:20:02,631 --> 01:20:03,464\nDans quel but ?\n\n777\n01:20:04,549 --> 01:20:07,259\nPour que Krypton puisse revivre.\n\n778\n01:20:08,136 --> 01:20:09,678\nSur Terre.\n\n779\n01:20:29,533 --> 01:20:31,617\nO\xF9 est le codex ?\n\n780\n01:20:33,286 --> 01:20:35,120\nSi Krypton revit...\n\n781\n01:20:36,289 --> 01:20:37,665\nque devient la Terre ?\n\n782\n01:20:38,708 --> 01:20:42,211\nLes fondations doivent \xEAtre construites\nsur quelque chose.\n\n783\n01:20:42,462 --> 01:20:45,256\nM\xEAme ton p\xE8re reconnaissait ce fait.\n\n784\n01:20:55,183 --> 01:20:56,392\nJe refuse de participer \xE0 \xE7a.\n\n785\n01:20:57,227 --> 01:20:58,936\nAlors tu participeras \xE0 quoi ?\n\n786\n01:21:13,577 --> 01:21:14,702\nTon p\xE8re\n\n787\n01:21:14,953 --> 01:21:16,954\na \xE9t\xE9 digne jusqu'au bout.\n\n788\n01:21:19,833 --> 01:21:21,792\nVous l'avez tu\xE9 ?\n\n789\n01:21:22,168 --> 01:21:23,502\nEn effet.\n\n790\n01:21:24,129 --> 01:21:27,506\nEt pas un jour ne passe\nsans que cela me hante.\n\n791\n01:21:28,884 --> 01:21:31,218\nMais s'il le fallait,\nje recommencerais.\n\n792\n01:21:31,469 --> 01:21:34,930\nJ'ai un devoir envers mon peuple.\n\n793\n01:21:35,181 --> 01:21:39,184\nEt je ne laisserai personne\nm'emp\xEAcher de l'accomplir.\n\n794\n01:21:55,660 --> 01:21:57,286\nQuelle est la situation, commandant ?\n\n795\n01:21:57,913 --> 01:22:00,289\nDeux engins lanc\xE9s\nd'un vaisseau alien.\n\n796\n01:22:00,540 --> 01:22:02,666\nEnvoyez l'image.\n\n797\n01:22:03,084 --> 01:22:04,168\nLes voil\xE0.\n\n798\n01:22:04,419 --> 01:22:05,210\nReciblez Ikon-4\n\n799\n01:22:05,462 --> 01:22:07,880\net zoomez sur ces engins.\n\n800\n01:22:08,214 --> 01:22:09,131\nIci le commandement.\n\n801\n01:22:09,382 --> 01:22:10,549\nMot de passe, trident.\n\n802\n01:22:10,800 --> 01:22:12,885\nEngins aliens en approche d'attaque.\n\n803\n01:22:13,136 --> 01:22:14,762\nIkon-4 activ\xE9.\n\n804\n01:22:15,013 --> 01:22:15,804\nVitesse air ?\n\n805\n01:22:16,056 --> 01:22:17,473\n380 n\x9Cuds. Ils survolent le Kansas\n\n806\n01:22:17,724 --> 01:22:19,725\nsans r\xE9pondre aux signaux.\n\n807\n01:22:19,976 --> 01:22:22,186\nTu te fatigues pour rien.\n\n808\n01:22:23,104 --> 01:22:25,439\nTa force tir\xE9e du soleil terrien\n\n809\n01:22:25,690 --> 01:22:27,775\nest neutralis\xE9e \xE0 bord.\n\n810\n01:22:28,443 --> 01:22:29,568\nIci,\n\n811\n01:22:29,819 --> 01:22:31,403\ndans cet environnement...\n\n812\n01:22:32,197 --> 01:22:33,656\ntu es aussi faible qu'un humain.\n\n813\n01:23:32,215 --> 01:23:34,049\nD'o\xF9 sortez-vous ?\n\n814\n01:23:34,592 --> 01:23:36,010\nLa cl\xE9 de commande\n\n815\n01:23:36,261 --> 01:23:38,679\nm'a t\xE9l\xE9charg\xE9\ndans le processeur central.\n\n816\n01:23:39,931 --> 01:23:40,889\nQui \xEAtes-vous ?\n\n817\n01:23:41,850 --> 01:23:43,142\nLe p\xE8re de Kal.\n\n818\n01:23:44,811 --> 01:23:45,561\nPouvez-vous nous aider ?\n\n819\n01:23:47,522 --> 01:23:49,356\nJ'ai con\xE7u ce vaisseau.\n\n820\n01:23:49,607 --> 01:23:51,775\nJe peux rendre son atmosph\xE8re\n\n821\n01:23:52,027 --> 01:23:53,777\ncompatible aux humains.\n\n822\n01:23:54,029 --> 01:23:54,862\nOn peut les neutraliser\n\n823\n01:23:55,113 --> 01:23:57,573\nen les renvoyant dans la Zone Phantom.\n\n824\n01:23:58,533 --> 01:23:59,158\nComment ?\n\n825\n01:23:59,409 --> 01:24:00,951\nJe vous apprendrai.\n\n826\n01:24:01,202 --> 01:24:02,995\nPuis, vous apprendrez \xE0 Kal.\n\n827\n01:24:03,246 --> 01:24:04,955\nM'aiderez-vous ?\n\n828\n01:24:18,803 --> 01:24:20,095\nL'\xE9quipage est alert\xE9.\n\n829\n01:24:20,346 --> 01:24:21,388\nD\xE9pla\xE7ons-nous.\n\n830\n01:24:21,639 --> 01:24:23,307\nR\xE9cup\xE9rez la cl\xE9.\n\n831\n01:24:30,940 --> 01:24:33,984\n- C'est vous ?\n- Oui. R\xE9cup\xE9rez l'arme.\n\n832\n01:24:43,369 --> 01:24:44,745\nQue se passe-t-il ?\n\n833\n01:25:05,725 --> 01:25:06,391\n\xC0 droite.\n\n834\n01:25:06,643 --> 01:25:07,267\nTirez.\n\n835\n01:25:08,853 --> 01:25:09,561\nDerri\xE8re vous.\n\n836\n01:25:23,076 --> 01:25:25,119\nAttachez-vous dans la nacelle.\n\n837\n01:25:26,162 --> 01:25:28,413\nBon voyage, Mlle Lane.\nNous ne serons pas amen\xE9s\n\n838\n01:25:31,835 --> 01:25:34,920\nLes Phantom propulseurs\nsont essentiels pour les arr\xEAter.\n\n839\n01:25:35,797 --> 01:25:37,047\nPenchez la t\xEAte \xE0 gauche.\n\n840\n01:26:04,617 --> 01:26:06,535\nZod a dit vrai pour le codex ?\n\n841\n01:26:07,662 --> 01:26:09,037\nFrappe cette paroi.\n\n842\n01:26:12,709 --> 01:26:13,876\nNous voulions que tu saches\n\n843\n01:26:14,127 --> 01:26:16,253\nce qu'\xEAtre humain signifiait,\n\n844\n01:26:16,880 --> 01:26:20,507\npour qu'un jour, le moment venu,\ntu puisses \xEAtre le lien\n\n845\n01:26:20,758 --> 01:26:22,509\nentre deux peuples.\n\n846\n01:26:25,263 --> 01:26:26,013\nRegarde.\n\n847\n01:26:29,184 --> 01:26:30,434\nLois.\n\n848\n01:26:31,019 --> 01:26:32,060\nTu peux la sauver.\n\n849\n01:26:35,190 --> 01:26:37,065\nTu peux tous les sauver.\n\n850\n01:27:55,979 --> 01:27:57,521\nVous serez en s\xE9curit\xE9 ici.\n\n851\n01:27:59,857 --> 01:28:01,275\nTout va bien ?\n\n852\n01:28:05,655 --> 01:28:07,114\nJe suis d\xE9sol\xE9e.\n\n853\n01:28:07,865 --> 01:28:10,826\nJe ne voulais pas vous trahir\nmais ils ont sond\xE9\n\n854\n01:28:13,496 --> 01:28:15,247\nIls m'ont fait la m\xEAme chose.\n\n855\n01:28:28,344 --> 01:28:29,678\nClark !\n\n856\n01:28:38,688 --> 01:28:40,439\nL'engin qui l'a amen\xE9...\n\n857\n01:28:40,982 --> 01:28:42,149\no\xF9 est-il ?\n\n858\n01:28:44,068 --> 01:28:45,235\nVa te faire voir.\n\n859\n01:28:56,539 --> 01:28:57,497\nL\xE0-bas.\n\n860\n01:29:20,521 --> 01:29:22,647\nLe codex n'y est pas.\n\n861\n01:29:29,405 --> 01:29:30,447\nO\xF9 l'a-t-il cach\xE9 ?\n\n862\n01:29:30,698 --> 01:29:31,323\nJe ne sais pas.\n\n863\n01:29:31,574 --> 01:29:32,657\nO\xF9 est le codex ?\n\n864\n01:29:48,674 --> 01:29:50,634\nJe vous interdis\nde menacer ma m\xE8re !\n\n865\n01:30:32,427 --> 01:30:33,885\nQue m'as-tu fait ?\n\n866\n01:30:34,137 --> 01:30:36,555\nMes parents m'ont appris\n\n867\n01:30:39,976 --> 01:30:41,560\n\xC0 me concentrer...\n\n868\n01:30:42,145 --> 01:30:43,854\nsur ce que je voulais voir.\n\n869\n01:30:44,105 --> 01:30:45,147\nSans votre casque,\n\n870\n01:30:45,398 --> 01:30:46,982\nvous recevez tout.\n\n871\n01:30:48,234 --> 01:30:49,651\nEt c'est douloureux,\n\n872\n01:30:50,236 --> 01:30:51,611\nn'est-ce pas ?\n\n873\n01:31:36,449 --> 01:31:37,741\nRestez pas \xE0 la fen\xEAtre.\n\n874\n01:31:40,703 --> 01:31:42,496\nRentrez.\nC'est dangereux.\n\n875\n01:31:47,835 --> 01:31:50,712\nIci Guardian,\ncommandant de la mission.\n\n876\n01:31:50,963 --> 01:31:53,006\nJ'ai d\xE9j\xE0 rencontr\xE9 et observ\xE9\n\n877\n01:31:53,257 --> 01:31:55,383\nceux que nous allons attaquer.\n\n878\n01:31:55,635 --> 01:31:58,345\nIls sont tr\xE8s dangereux.\nNous sommes autoris\xE9s\n\n879\n01:31:58,596 --> 01:32:00,096\n\xE0 employer la force l\xE9tale.\n\n880\n01:32:02,058 --> 01:32:04,017\nBien re\xE7u.\nArrivons sur cible.\n\n881\n01:32:09,690 --> 01:32:10,899\nAutorisation tir libre.\n\n882\n01:32:11,150 --> 01:32:12,776\nCompris, 11. Tir libre.\n\n883\n01:32:15,571 --> 01:32:16,321\nThunder 11...\n\n884\n01:32:16,572 --> 01:32:17,614\n3 cibles en vue.\n\n885\n01:32:35,216 --> 01:32:36,007\nThunder 11,\n\n886\n01:32:36,259 --> 01:32:38,677\njoli tir.\nDemande nouvel assaut imm\xE9diat.\n\n887\n01:32:38,928 --> 01:32:41,054\nRe\xE7u, Guardian.\nDeuxi\xE8me passe de tir,\n\n888\n01:32:41,305 --> 01:32:43,390\ncap \xE0 212 degr\xE9s.\n\n889\n01:32:50,398 --> 01:32:51,356\nThunder 11,\n\n890\n01:32:51,607 --> 01:32:52,983\n\xE9jectez-vous !\n\n891\n01:32:53,317 --> 01:32:54,943\nThunder 11, \xE9jectez-vous !\n\n892\n01:33:05,079 --> 01:33:06,663\nEnnemi droit devant !\n\n893\n01:33:27,101 --> 01:33:27,976\nTu es faible,\n\n894\n01:33:28,227 --> 01:33:29,352\nfils d'El.\n\n895\n01:33:29,604 --> 01:33:30,729\nPeu s\xFBr de toi.\n\n896\n01:33:35,985 --> 01:33:38,945\nLe fait que tu poss\xE8des\nune conscience morale,\n\n897\n01:33:39,196 --> 01:33:40,947\net pas nous,\n\n898\n01:33:41,198 --> 01:33:43,742\nnous donne l'avantage de l'\xE9volution.\n\n899\n01:33:47,246 --> 01:33:49,748\nSi l'Histoire\nnous a appris quelque chose...\n\n900\n01:33:59,634 --> 01:34:03,219\nc'est que l'\xE9volution\nl'emporte toujours.\n\n901\n01:34:24,533 --> 01:34:26,034\nTour de contr\xF4le,\nen approche\n\n902\n01:34:26,285 --> 01:34:28,119\nde Jayhawk.\n\n903\n01:35:09,787 --> 01:35:11,079\n\xC0 tous les rangers,\n\n904\n01:35:11,330 --> 01:35:12,497\nattaquez les cibles.\n\n905\n01:35:12,998 --> 01:35:14,082\nIci B01.\n\n906\n01:35:14,333 --> 01:35:15,625\nEt le type en bleu ?\n\n907\n01:35:15,876 --> 01:35:16,918\nJ'ai dit d'attaquer\n\n908\n01:35:17,169 --> 01:35:18,336\ntoutes les cibles.\n\n909\n01:35:40,735 --> 01:35:41,568\n\xC7a va ?\n\n910\n01:35:47,324 --> 01:35:49,409\nAutorotation !\nOn va s'\xE9craser !\n\n911\n01:35:50,161 --> 01:35:53,246\nPosition de s\xE9curit\xE9 !\n\n912\n01:35:53,497 --> 01:35:54,456\nOn s'\xE9crase !\n\n913\n01:35:59,545 --> 01:36:03,548\nAppareil \xE0 terre. Guardian abattu.\nJe r\xE9p\xE8te, Guardian abattu.\n\n914\n01:36:27,239 --> 01:36:28,573\nThunder 12 \xE0 Guardian.\n\n915\n01:36:28,824 --> 01:36:30,158\nVous me recevez ?\n\n916\n01:36:30,409 --> 01:36:31,326\nIci Guardian.\n\n917\n01:36:31,577 --> 01:36:33,953\nEnvoyez les forces\nau nord de ma position.\n\n918\n01:36:34,205 --> 01:36:36,372\n- Amis \xE0 proximit\xE9.\n- Bien re\xE7u.\n\n919\n01:36:36,624 --> 01:36:37,874\nBonne chance.\n\n920\n01:37:17,748 --> 01:37:20,583\nMourir dignement\nest une r\xE9compense en soi.\n\n921\n01:37:34,181 --> 01:37:35,557\nTu ne gagneras pas.\n\n922\n01:37:36,976 --> 01:37:38,518\nPour chaque humain que tu sauveras,\n\n923\n01:37:38,769 --> 01:37:40,937\nnous en tuerons un million.\n\n924\n01:38:32,740 --> 01:38:35,909\nL'alerte est-elle termin\xE9e ?\n\n925\n01:38:36,160 --> 01:38:38,411\n\xC9quipe Alpha, au rapport.\n\n926\n01:38:38,662 --> 01:38:40,246\nVous me recevez ?\n\n927\n01:39:29,755 --> 01:39:31,965\nCet homme n'est pas notre ennemi.\n\n928\n01:39:34,426 --> 01:39:35,969\nMerci, mon colonel.\n\n929\n01:39:53,821 --> 01:39:54,654\nMaman ?\n\n930\n01:39:55,948 --> 01:39:57,615\nTout va bien.\n\n931\n01:40:09,670 --> 01:40:11,629\nJoli costume, fiston.\n\n932\n01:40:12,715 --> 01:40:14,007\nJe suis vraiment d\xE9sol\xE9.\n\n933\n01:40:15,050 --> 01:40:17,343\nCe ne sont que des objets.\n\n934\n01:40:18,512 --> 01:40:20,930\nOn peut toujours les remplacer.\n\n935\n01:40:23,392 --> 01:40:24,642\nToi, tu es irrempla\xE7able.\n\n936\n01:40:25,978 --> 01:40:28,396\nD'apr\xE8s Zod, ce codex pourrait\n\n937\n01:40:28,647 --> 01:40:30,940\nramener mon peuple.\n\n938\n01:40:31,275 --> 01:40:32,942\nN'est-ce pas une bonne chose ?\n\n939\n01:40:37,156 --> 01:40:39,657\nIls ne veulent pas partager ce monde.\n\n940\n01:40:40,284 --> 01:40:41,492\nClark.\n\n941\n01:40:44,997 --> 01:40:46,873\nJe sais comment les neutraliser.\n\n942\n01:40:48,959 --> 01:40:50,376\nQue s'est-il pass\xE9 en bas ?\n\n943\n01:40:50,627 --> 01:40:53,463\nIl a mis \xE0 jour\nune faiblesse passag\xE8re.\n\n944\n01:40:54,339 --> 01:40:56,174\n\xC7a n'a gu\xE8re d'importance.\n\n945\n01:40:57,551 --> 01:41:00,470\nCar j'ai localis\xE9 le codex.\n\n946\n01:41:01,263 --> 01:41:03,514\nIl n'a jamais \xE9t\xE9 dans la capsule.\n\n947\n01:41:04,141 --> 01:41:05,808\nJor-El a pris le codex,\n\n948\n01:41:06,060 --> 01:41:08,519\nl'ADN d'un milliard d'individus.\nPuis il l'a associ\xE9\n\n949\n01:41:08,771 --> 01:41:10,563\naux cellules\n\n950\n01:41:10,814 --> 01:41:11,731\nde son fils.\n\n951\n01:41:11,982 --> 01:41:13,566\nTous les h\xE9ritiers de Krypton\n\n952\n01:41:13,817 --> 01:41:17,236\nvivent cach\xE9s\ndans le corps d'un r\xE9fugi\xE9.\n\n953\n01:41:21,325 --> 01:41:23,284\nKal-El doit-il \xEAtre en vie\n\n954\n01:41:23,535 --> 01:41:26,704\npour que l'on extraie\nle codex de ses cellules ?\n\n955\n01:41:28,082 --> 01:41:29,248\nNon.\n\n956\n01:41:35,172 --> 01:41:37,423\nSortez la machine \xE0 gravit\xE9.\n\n957\n01:42:09,665 --> 01:42:10,581\nC'\xE9tait quoi ?\n\n958\n01:42:10,749 --> 01:42:11,916\nLe vaisseau s'est scind\xE9.\n\n959\n01:42:12,167 --> 01:42:15,253\nUne partie gagne l'est,\nl'autre, l'h\xE9misph\xE8re sud.\n\n960\n01:42:15,504 --> 01:42:17,922\n- L'ennemi arrive vite ?\n- Il atteint\n\n961\n01:42:18,173 --> 01:42:19,590\nMach 24 et il acc\xE9l\xE8re.\n\n962\n01:42:19,842 --> 01:42:22,510\nIl va s'\xE9craser\ndans le sud de l'oc\xE9an Indien.\n\n963\n01:42:41,238 --> 01:42:42,864\nLe reste du vaisseau arrive.\n\n964\n01:42:43,866 --> 01:42:44,991\nMettez le visuel.\n\n965\n01:43:28,994 --> 01:43:31,787\nActivez le Phantom propulseur.\n\n966\n01:43:53,393 --> 01:43:55,228\nNous voil\xE0 esclaves\nde la machine \xE0 gravit\xE9.\n\n967\n01:43:56,980 --> 01:43:58,356\nD\xE9marrez.\n\n968\n01:44:32,432 --> 01:44:35,851\n- Avec quoi nous attaquent-ils ?\n- On dirait une arme \xE0 pesanteur,\n\n969\n01:44:36,103 --> 01:44:38,646\nmarchant de pair avec leur vaisseau.\n\n970\n01:44:40,065 --> 01:44:43,150\nIls arrivent \xE0 augmenter\nla masse de la Terre\n\n971\n01:44:43,402 --> 01:44:45,528\nen emplissant l'atmosph\xE8re\nde particules.\n\n972\n01:44:50,200 --> 01:44:51,200\nIls terraforment.\n\n973\n01:44:51,952 --> 01:44:52,743\nC'est-\xE0-dire ?\n\n974\n01:44:53,578 --> 01:44:54,704\nL'ing\xE9nierie plan\xE9taire\n\n975\n01:44:54,955 --> 01:44:58,165\nmodifie\nl'atmosph\xE8re et la topographie.\n\n976\n01:44:58,417 --> 01:44:59,667\nTransformant la Terre en Krypton.\n\n977\n01:45:00,377 --> 01:45:03,504\n- Qu'allons-nous devenir ?\n- Au vu de ces donn\xE9es,\n\n978\n01:45:03,755 --> 01:45:06,757\n- nous n'existerons plus.\n- G\xE9n\xE9ral Swanwick.\n\n979\n01:45:07,175 --> 01:45:08,551\nOn nous informe\n\n980\n01:45:08,802 --> 01:45:11,053\nque le colonel Hardy\narrive avec Superman.\n\n981\n01:45:11,763 --> 01:45:12,847\nSuperman ?\n\n982\n01:45:13,390 --> 01:45:14,557\nL'alien, monsieur.\n\n983\n01:45:14,808 --> 01:45:17,184\nIls l'ont baptis\xE9 comme \xE7a.\n\n984\n01:45:22,691 --> 01:45:23,899\nNous avons un plan.\n\n985\n01:45:24,151 --> 01:45:25,609\nC'est ce que je crois ?\n\n986\n01:45:26,778 --> 01:45:28,571\nLe vaisseau qui l'a amen\xE9.\n\n987\n01:45:30,240 --> 01:45:32,867\nIl est muni\nd'un Phantom propulseur.\n\n988\n01:45:33,118 --> 01:45:34,577\nIl courbe l'espace.\n\n989\n01:45:34,828 --> 01:45:38,789\nComme celui de Zod.\nSi les propulseurs se heurtent...\n\n990\n01:45:39,041 --> 01:45:40,875\n\xC7a cr\xE9era une singularit\xE9.\n\n991\n01:45:41,126 --> 01:45:42,168\nUn trou noir.\n\n992\n01:45:42,711 --> 01:45:44,211\nSi on ouvre ce portail,\n\n993\n01:45:44,463 --> 01:45:46,088\n\xE7a devrait les aspirer.\n\n994\n01:45:46,340 --> 01:45:48,841\nOn doit les bombarder avec \xE7a ?\n\n995\n01:45:49,092 --> 01:45:51,052\nCet engin atteint au maximum\n\n996\n01:45:51,303 --> 01:45:54,680\n8 tonnes.\nOn peut le larguer d'un C-17.\n\n997\n01:45:54,931 --> 01:45:56,057\nC'est faisable.\n\n998\n01:45:56,308 --> 01:45:58,434\nJe dois arr\xEAter la machine\ndans l'oc\xE9an\n\n999\n01:45:58,685 --> 01:46:00,394\nou le champ de gravit\xE9\ncontinuera\n\n1000\n01:46:00,645 --> 01:46:01,979\nde s'\xE9tendre.\n\n1001\n01:46:07,778 --> 01:46:10,529\nSi cette chose fait de la Terre\nune nouvelle Krypton,\n\n1002\n01:46:10,906 --> 01:46:12,448\nvous ne risquez pas d'\xEAtre affaibli ?\n\n1003\n01:46:14,242 --> 01:46:15,534\nPeut-\xEAtre.\n\n1004\n01:46:16,411 --> 01:46:18,871\nMais \xE7a ne doit pas\nm'emp\xEAcher d'essayer.\n\n1005\n01:46:19,831 --> 01:46:22,041\nVous devriez reculer un peu.\n\n1006\n01:46:24,127 --> 01:46:25,252\nEncore un peu.\n\n1007\n01:46:57,702 --> 01:46:58,327\nFaora.\n\n1008\n01:46:59,329 --> 01:47:00,413\nPrenez le commandement.\n\n1009\n01:47:00,664 --> 01:47:03,791\nJe dois prot\xE9ger\nla chambre de gen\xE8se\n\n1010\n01:47:04,209 --> 01:47:06,961\net pr\xE9senter mes hommages\n\xE0 un vieil ami.\n\n1011\n01:47:14,719 --> 01:47:16,846\nGuardian en route vers Metropolis.\n\n1012\n01:47:17,639 --> 01:47:18,848\nAvec le colis.\n\n1013\n01:48:14,446 --> 01:48:18,115\nCl\xE9 de commande accept\xE9e.\nLa chambre de gen\xE8se est activ\xE9e.\n\n1014\n01:48:18,533 --> 01:48:19,450\nArr\xEAte \xE7a, Zod.\n\n1015\n01:48:19,701 --> 01:48:21,827\nTant qu'il est encore temps.\n\n1016\n01:48:23,079 --> 01:48:26,373\nToujours \xE0 me sermonner, hein ?\nM\xEAme mort.\n\n1017\n01:48:26,750 --> 01:48:28,751\nLe codex ne servira pas \xE0 \xE7a.\n\n1018\n01:48:29,002 --> 01:48:30,711\nTu ne peux pas m'en emp\xEAcher.\n\n1019\n01:48:30,962 --> 01:48:34,006\nCette cl\xE9 de commande\nr\xE9voque ton autorit\xE9.\n\n1020\n01:48:34,257 --> 01:48:37,134\nCe vaisseau est d\xE9sormais\nsous mon contr\xF4le.\n\n1021\n01:49:08,667 --> 01:49:10,251\nNorthcom Lightening-1\n\n1022\n01:49:10,502 --> 01:49:12,920\ndemande autorisation\nde l\xE2cher les chiens.\n\n1023\n01:49:13,171 --> 01:49:16,632\nAccord\xE9e.\nEnvoyez une estimation des d\xE9g\xE2ts.\n\n1024\n01:49:30,188 --> 01:49:32,565\nL'avionique ne r\xE9pond plus.\nLe champ de gravit\xE9\n\n1025\n01:49:32,816 --> 01:49:35,150\nattire nos missiles.\nFaut s'approcher.\n\n1026\n01:49:40,240 --> 01:49:41,282\nIl faut\n\n1027\n01:49:41,533 --> 01:49:44,410\n\xE9vacuer l'immeuble\nimm\xE9diatement !\n\n1028\n01:50:07,559 --> 01:50:09,435\nJ'ai perdu mon ailier !\n\n1029\n01:50:24,534 --> 01:50:26,493\nVenez tous ! Par ici !\n\n1030\n01:50:36,671 --> 01:50:37,713\nJenny !\n\n1031\n01:50:42,761 --> 01:50:43,761\nPerry !\n\n1032\n01:50:56,024 --> 01:50:57,524\nNos peuples peuvent coexister.\n\n1033\n01:50:58,151 --> 01:51:02,154\nEt endurer des ann\xE9es de souffrance\npour s'adapter, comme ton fils ?\n\n1034\n01:51:02,989 --> 01:51:04,657\nTu envisages un g\xE9nocide.\n\n1035\n01:51:04,908 --> 01:51:07,493\nEt j'en d\xE9fends le bien-fond\xE9\navec un fant\xF4me.\n\n1036\n01:51:08,870 --> 01:51:10,663\nNous sommes tous deux des fant\xF4mes.\n\n1037\n01:51:10,914 --> 01:51:14,416\nTu ne comprends pas ?\nKrypton n'existe plus.\n\n1038\n01:51:14,668 --> 01:51:17,252\nUnit\xE9 centrale,\nl'intrus est en quarantaine ?\n\n1039\n01:51:17,504 --> 01:51:18,379\n- Tu \xE9choueras.\n- Affirmatif.\n\n1040\n01:51:18,630 --> 01:51:20,047\nD\xE9truis-le.\n\n1041\n01:51:20,298 --> 01:51:22,091\n- Assez de ce d\xE9bat.\n- Me r\xE9duire au silence\n\n1042\n01:51:22,342 --> 01:51:23,759\nne changera rien.\n\n1043\n01:51:26,012 --> 01:51:27,304\nMon fils est bien...\n\n1044\n01:51:28,139 --> 01:51:29,473\nplus valeureux\nque tu ne l'as jamais \xE9t\xE9.\n\n1045\n01:51:32,477 --> 01:51:34,144\nIl ach\xE8vera notre \x9Cuvre.\n\n1046\n01:51:35,105 --> 01:51:36,313\nJe te le garantis.\n\n1047\n01:51:41,528 --> 01:51:42,903\nDis-moi...\n\n1048\n01:51:43,154 --> 01:51:46,740\ntoi qui as les souvenirs de Jor-El,\nsa conscience...\n\n1049\n01:51:47,450 --> 01:51:48,450\npeux-tu ressentir\n\n1050\n01:51:48,702 --> 01:51:49,827\nsa douleur ?\n\n1051\n01:51:51,871 --> 01:51:55,457\nJ'extirperai le codex\ndu cadavre de ton fils.\n\n1052\n01:51:55,917 --> 01:51:58,210\nEt je reconstruirai Krypton\n\n1053\n01:51:58,461 --> 01:52:00,963\nsur ses ossements.\n\n1054\n01:52:59,606 --> 01:53:02,357\n- Jenny, o\xF9 es-tu ?\n- Ici !\n\n1055\n01:53:03,902 --> 01:53:05,402\nTiens bon.\n\n1056\n01:53:05,653 --> 01:53:06,612\nJe suis coinc\xE9e.\n\n1057\n01:53:06,863 --> 01:53:08,530\nImpossible de bouger.\n\n1058\n01:53:08,782 --> 01:53:11,325\nOn va te sortir de l\xE0.\nTiens bon.\n\n1059\n01:53:12,410 --> 01:53:14,119\n- Piti\xE9, ne me laissez pas.\n- Je reste l\xE0.\n\n1060\n01:53:15,789 --> 01:53:19,124\nLombard !\nViens m'aider, fissa !\n\n1061\n01:53:21,127 --> 01:53:23,086\nFaut d\xE9placer \xE7a.\n\n1062\n01:53:23,338 --> 01:53:25,380\nFaites levier, je tire.\n\n1063\n01:53:32,430 --> 01:53:34,056\n\xC7a se rapproche ! Poussez !\n\n1064\n01:53:36,100 --> 01:53:38,310\nIci Guardian.\nAutorisation largage ?\n\n1065\n01:53:38,853 --> 01:53:39,853\nN\xE9gatif.\n\n1066\n01:54:59,017 --> 01:55:00,350\nIl a r\xE9ussi.\n\n1067\n01:55:02,562 --> 01:55:03,812\nIci Guardian.\n\n1068\n01:55:04,063 --> 01:55:06,315\nOn passe au code rouge.\nPar\xE9s \xE0 larguer.\n\n1069\n01:55:06,566 --> 01:55:07,482\nBonne chance.\n\n1070\n01:55:07,734 --> 01:55:10,152\nArmez le colis.\nVous \xEAtes autoris\xE9s \xE0 tirer.\n\n1071\n01:55:10,403 --> 01:55:12,487\nOn est pr\xEAt\npour la derni\xE8re phase.\n\n1072\n01:55:13,281 --> 01:55:15,282\nC'est \xE0 Hamilton et \xE0 vous de jouer.\n\n1073\n01:55:55,448 --> 01:55:56,198\nC'est pas vrai !\n\n1074\n01:55:56,449 --> 01:55:57,866\nCoordonnateur, colis arm\xE9,\n\n1075\n01:55:58,117 --> 01:55:59,117\npar\xE9 au largage ?\n\n1076\n01:55:59,369 --> 01:56:00,619\nN\xE9gatif, Guardian.\n\n1077\n01:56:00,870 --> 01:56:02,412\nC'est pas cens\xE9 faire \xE7a.\n\n1078\n01:56:02,664 --> 01:56:04,414\nC'est cens\xE9 faire quoi ?\n\n1079\n01:56:04,666 --> 01:56:07,709\n- S'enfoncer compl\xE8tement.\n- Laissez-moi regarder.\n\n1080\n01:56:07,961 --> 01:56:11,755\nCopilote aux commandes.\n\n1081\n01:56:18,513 --> 01:56:21,181\nOn est par\xE9s au largage.\nOn attend quoi ?\n\n1082\n01:56:21,432 --> 01:56:22,432\nY a un petit souci.\n\n1083\n01:56:38,199 --> 01:56:39,700\nVisez cet avion.\n\n1084\n01:56:43,579 --> 01:56:44,997\nCible verrouill\xE9e.\n\n1085\n01:56:54,799 --> 01:56:55,674\nArr\xEAte !\n\n1086\n01:56:55,925 --> 01:56:58,010\nSi tu d\xE9truis ce vaisseau,\n\n1087\n01:56:58,261 --> 01:57:00,929\ntu d\xE9truis Krypton !\n\n1088\n01:57:03,725 --> 01:57:05,892\nKrypton a eu sa chance !\n\n1089\n01:57:59,864 --> 01:58:01,740\nMlle Lane, c'est dangereux\n\n1090\n01:58:01,991 --> 01:58:02,866\nde rester l\xE0 !\n\n1091\n01:58:33,606 --> 01:58:35,357\nD\xE9gage !\n\n1092\n01:58:56,212 --> 01:58:57,212\nMourir dignement\n\n1093\n01:58:57,463 --> 01:58:59,047\nest une r\xE9compense en soi.\n\n1094\n02:00:01,485 --> 02:00:02,944\nIls sont partis ?\n\n1095\n02:00:04,113 --> 02:00:05,488\nJe crois, oui.\n\n1096\n02:00:07,408 --> 02:00:08,742\nIl nous a sauv\xE9s.\n\n1097\n02:00:34,227 --> 02:00:37,437\nOn dit qu'apr\xE8s le premier baiser,\nc'est le d\xE9but de la fin.\n\n1098\n02:00:40,900 --> 02:00:43,944\n\xC7a ne vaut\nque si vous embrassez un humain.\n\n1099\n02:01:13,307 --> 02:01:14,766\nRegarde.\n\n1100\n02:01:17,061 --> 02:01:18,979\nNous aurions pu recr\xE9er Krypton\n\n1101\n02:01:19,230 --> 02:01:20,981\ndans cette mis\xE8re.\n\n1102\n02:01:21,232 --> 02:01:24,359\nMais tu nous as pr\xE9f\xE9r\xE9 les humains.\n\n1103\n02:01:25,778 --> 02:01:27,320\nJe n'existe\n\n1104\n02:01:27,571 --> 02:01:29,990\nque pour prot\xE9ger Krypton.\n\n1105\n02:01:31,742 --> 02:01:35,745\nC'est dans ce seul et unique dessein\nque je suis n\xE9.\n\n1106\n02:01:36,998 --> 02:01:39,124\nTous les actes que j'accomplis,\n\n1107\n02:01:39,375 --> 02:01:41,376\npeu importe leur violence,\n\n1108\n02:01:41,627 --> 02:01:43,336\nou leur cruaut\xE9,\n\n1109\n02:01:44,547 --> 02:01:46,923\nsont dirig\xE9s dans l'int\xE9r\xEAt\n\n1110\n02:01:47,174 --> 02:01:49,092\nde mon peuple.\n\n1111\n02:01:53,431 --> 02:01:54,848\nEt maintenant,\n\n1112\n02:01:55,099 --> 02:01:57,392\nje n'ai plus de peuple.\n\n1113\n02:02:00,813 --> 02:02:02,397\nMon \xE2me...\n\n1114\n02:02:04,483 --> 02:02:08,028\nVoil\xE0 ce que\n\n1115\n02:02:08,279 --> 02:02:09,904\ntu m'as pris.\n\n1116\n02:02:16,787 --> 02:02:19,289\nJe vais les faire souffrir.\n\n1117\n02:02:19,540 --> 02:02:22,959\nCes humains que tu as adopt\xE9s,\nje vais tous te les prendre,\n\n1118\n02:02:28,799 --> 02:02:30,008\nJe vous en emp\xEAcherai.\n\n1119\n02:04:11,610 --> 02:04:12,318\nIl n'y a\n\n1120\n02:04:12,570 --> 02:04:13,903\nqu'une issue possible.\n\n1121\n02:04:14,155 --> 02:04:15,989\nTa mort,\n\n1122\n02:04:16,240 --> 02:04:17,031\nou la mienne.\n\n1123\n02:04:48,689 --> 02:04:50,815\nJ'ai \xE9t\xE9 \xE9lev\xE9 pour \xEAtre un guerrier.\n\n1124\n02:04:51,692 --> 02:04:53,318\nToute une vie d'entra\xEEnement\n\n1125\n02:04:53,569 --> 02:04:55,403\npour ma\xEEtriser mes sens.\n\n1126\n02:04:55,905 --> 02:04:59,491\nEt toi, tu t'es entra\xEEn\xE9 o\xF9 ?\nDans une ferme ?\n\n1127\n02:07:08,412 --> 02:07:09,871\nSi tu aimes\n\n1128\n02:07:10,122 --> 02:07:12,457\nces gens \xE0 ce point,\n\n1129\n02:07:13,208 --> 02:07:15,460\ntu vas les pleurer.\n\n1130\n02:07:19,923 --> 02:07:21,007\nNe faites pas \xE7a !\n\n1131\n02:07:24,219 --> 02:07:25,011\nArr\xEAtez !\n\n1132\n02:07:34,730 --> 02:07:35,855\nJamais.\n\n1133\n02:09:10,534 --> 02:09:11,909\nVous \xEAtes d\xE9bile ou quoi ?\n\n1134\n02:09:12,161 --> 02:09:13,870\nUn de vos drones de surveillance.\n\n1135\n02:09:14,121 --> 02:09:17,832\n- Du matos \xE0 12 millions de dollars.\n- Plus maintenant.\n\n1136\n02:09:18,625 --> 02:09:21,169\nVous voulez savoir\no\xF9 j'enfile ma cape.\n\n1137\n02:09:21,754 --> 02:09:23,212\n- Peine perdue.\n- Passons \xE0 la question\n\n1138\n02:09:23,464 --> 02:09:24,756\nqui br\xFBle les l\xE8vres.\n\n1139\n02:09:25,215 --> 02:09:28,217\nComment s'assurer de votre loyaut\xE9\nenvers l'Am\xE9rique ?\n\n1140\n02:09:28,927 --> 02:09:30,762\nJ'ai grandi dans le Kansas.\n\n1141\n02:09:31,221 --> 02:09:33,389\nOn peut pas faire plus am\xE9ricain.\n\n1142\n02:09:33,682 --> 02:09:34,557\n\xC9coutez,\n\n1143\n02:09:34,808 --> 02:09:36,267\nje veux vous aider.\n\n1144\n02:09:36,518 --> 02:09:38,728\nMais \xE0 mes conditions.\n\n1145\n02:09:38,979 --> 02:09:40,813\nIl faut convaincre Washington.\n\n1146\n02:09:41,064 --> 02:09:45,067\nM\xEAme si j'\xE9tais dispos\xE9 \xE0 essayer,\npourquoi accepteraient-ils ?\n\n1147\n02:09:46,153 --> 02:09:47,737\nJe ne sais pas, mon g\xE9n\xE9ral.\n\n1148\n02:09:49,156 --> 02:09:50,865\nJe m'en remets \xE0 vous.\n\n1149\n02:10:00,417 --> 02:10:01,793\nPourquoi souriez-vous ?\n\n1150\n02:10:02,628 --> 02:10:03,961\nPour rien, mon g\xE9n\xE9ral.\n\n1151\n02:10:07,132 --> 02:10:09,091\nJe le trouve craquant.\n\n1152\n02:10:11,261 --> 02:10:13,387\nEn voiture, capitaine.\n\n1153\n02:10:23,357 --> 02:10:26,567\nIl a toujours pens\xE9\nque de grands desseins t'attendaient.\n\n1154\n02:10:26,819 --> 02:10:28,319\nEt que le jour venu,\n\n1155\n02:10:28,570 --> 02:10:31,364\ntu aurais les \xE9paules assez larges.\n\n1156\n02:10:31,615 --> 02:10:35,451\nS'il avait su qu'il avait raison.\n\n1157\n02:10:35,911 --> 02:10:37,870\nIl le savait, Clark, tu peux me croire.\n\n1158\n02:11:25,377 --> 02:11:28,212\nTu vas faire quoi,\n\xE0 part sauver le monde ?\n\n1159\n02:11:28,463 --> 02:11:31,632\n- Tu as une id\xE9e ?\n- J'en ai une, oui.\n\n1160\n02:11:33,802 --> 02:11:37,805\nJe vais trouver un boulot\no\xF9 je peux me tenir inform\xE9.\n\n1161\n02:11:43,020 --> 02:11:45,104\nO\xF9 personne ne s'\xE9tonnera\n\n1162\n02:11:45,355 --> 02:11:49,150\nque j'aille au-devant du danger\net ne posera de questions.\n\n1163\n02:12:03,248 --> 02:12:06,292\nAllez, Lois.\nSois un peu charitable.\n\n1164\n02:12:07,544 --> 02:12:09,211\nPlaces en or pour le match.\n\n1165\n02:12:09,671 --> 02:12:11,213\n- T'en dis quoi ?\n- J'en dis que\n\n1166\n02:12:11,465 --> 02:12:14,008\ntu devrais retourner\nvoir les stagiaires.\n\n1167\n02:12:14,259 --> 02:12:17,637\nCe sera plus payant. D\xE9sol\xE9e.\n\n1168\n02:12:19,431 --> 02:12:20,097\nPlaces en or ?\n\n1169\n02:12:20,349 --> 02:12:22,058\nRefusez.\n\n1170\n02:12:22,309 --> 02:12:25,102\nLombard, Lane.\nLe nouveau pigiste.\n\n1171\n02:12:25,354 --> 02:12:28,564\nMettez-le au parfum.\nJe vous pr\xE9sente Clark Kent.\n\n1172\n02:12:28,815 --> 02:12:30,107\nBonne chance, petit.\n\n1173\n02:12:31,652 --> 02:12:32,902\nMoi, c'est Steve.\n\n1174\n02:12:33,153 --> 02:12:34,403\nEnchant\xE9.\n\n1175\n02:12:36,406 --> 02:12:37,740\nLois Lane.\n\n1176\n02:12:38,575 --> 02:12:40,117\nBienvenue sur notre Planet.\n\n1177\n02:12:43,872 --> 02:12:45,831\nRavi d'en faire partie, Lois.\n\n1178\n02:22:57,777 --> 02:22:59,778\n[French]\n" headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88b13e1d1ab23cec-CDG Cache-Control: - public, max-age=3155695200 Connection: - keep-alive Content-Encoding: - gzip Content-Security-Policy: - 'default-src ''self''; font-src ''self'' fonts.googleapis.com code.cdn.mozilla.net https: data:; img-src ''self'' image.tmdb.org m.media-amazon.com ia.media-imdb.com https: data:; object-src ''self'' forum.opensubtitles.com; form-action ''self'' forum.opensubtitles.com localhost:4200 www.opensubtitles.com; frame-src ''self'' forum.opensubtitles.com opensubtitles.test.onfastspring.com opensubtitles.onfastspring.com *.cloudfront.net api.blink.net *.tawk.to tawk.to test.blink.net blink.net www.recaptcha.net www.google.com www.youtube.com; connect-src ''self'' region1.google-analytics.com bam.eu01.nr-data.net opensubtitles.test.onfastspring.com opensubtitles.onfastspring.com *.cloudfront.net rb-dev:8082 cana.local:8082 localhost:8082 *.test.resolver.perfops.net *.tawk.to wss://*.tawk.to cdn.datatables.net www.google-analytics.com test.blink.net api.blink.net blink.net www.gstatic.com *.blink.net api.test.blink.net devnull.perfops.net cdnperf-test.innertest.top ffffdloc1p9poy.sboxcdn.com 445991340.r.cdnsun.net perfops1.b-cdn.net perfops-cds.s.llnwi.net cdnperf.qwilt.com 1596384882.rsc.cdn77.org media-edge.1e100cdn.net vodstreaming01.video.globo.com edgecast-perfops.azureedge.net cpt96125.shopvoxpopulus.com cdnperf-rum.quantil.com live.video.globo.com medianova-cdnperf.mncdn.com cdn.jsdelivr.net d3888oxgux3fey.cloudfront.net ultrawaf.canary.scrubbingcenter.com cdnperf-rum.cdnetworks.net akamai-cdn.perfops.io medianova-multicdnperf.mncdn.com perfops.gcorelabs.com perfops.s.llnwi.net 25748s.ha.azioncdn.net test-perfops.haproxy.com cdnperf.cachefly.net rum.perfops.mdb.cdn.orange.com azure-perfops.azureedge.net cdnperf.castway.net ovh-cdn.perfops.io perfops-static.freetls.fastly.net test-perfops.ldgslb.com perfops.swiftycdn.net perfops.cloudflareperf.com cdn81795137.blazingcdn.net perfops.r.worldssl.net proxy.canary.scrubbingcenter.com; base-uri ''self'' test.blink.net api.blink.net blink.net *.blink.net; frame-ancestors ''self''; script-src ''self'' *.cloudfront.net bam.eu01.nr-data.net www.google.com cdn.datatables.net www.recaptcha.net www.google-analytics.com https: ''unsafe-inline'' ''unsafe-eval''; style-src ''self'' cdnjs.cloudflare.com https: ''unsafe-inline''' Content-Type: - text/plain; charset=utf-8 Date: - Tue, 28 May 2024 21:12:23 GMT ETag: - W/"2b6fa1f099aacb2f493f7402545c7c8e" Last-Modified: - Sat, 01 Jan 2011 00:00:00 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Referrer-Policy: - strict-origin-when-cross-origin Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=TzZvtXoYul6LCHv3B1DcosLIephKODXP4PdnGnIZYOiZU2KLDbadJVECgPl%2F4spBmlV5aEjeoyaVlaNMH4QxDsubm%2FGYvKh2rPiFmj7WilLjZmztxWuBUSWdS1sHkNyFoiZzVTNUG8s%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept, Origin, Accept-Encoding X-Cache-Backend: - rb2 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - 5b0cc585-3f0a-45c2-84b9-fbebcfb8b08e X-Runtime: - '0.017785' X-StackifyID: - V1|0b98d614-2a4f-41eb-994a-6e9a07953089|C98184|CD6 X-Var-Cache: - MISS X-Via: - fw1 X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_episode.yaml0000644000175100001770000004253714636376416030555 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=6&languages=hu&page=1&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9967c19f5119e-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:37 GMT Location: - /api/v1/subtitles?episode_number=6&languages=hu&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Q8JXQ5c8GWB%2Bx%2B1U4B3ct8d8r4gZ9okRFNj0BvmIzBLJJ06PD%2Bc%2FwX7O20YHZCxTtTJCx89ZRPLWPO0tfDAddvcCO6xueE0saEiiu%2Fnl0J%2Bey64VaGnRJ6vR3QepQ%2B1sBw7kvibpumY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '91970277' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=6&languages=hu&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 response: body: string: '{"total_pages":1,"total_count":3,"per_page":60,"page":1,"data":[{"id":"2492310","type":"subtitle","attributes":{"subtitle_id":"2492310","language":"hu","download_count":6910,"new_download_count":9,"hearing_impaired":false,"hd":true,"fps":25.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-11-08T00:39:41Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.A.Fractured.House.720p.WEB-DL.DD5.1.H.264-BS","comments":"","legacy_subtitle_id":5885999,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S02E06 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/5885999","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2568816,"cd_number":1,"file_name":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.A.Fractured.House.720p.WEB-DL.DD5.1.H.264-BS"}]}},{"id":"2491535","type":"subtitle","attributes":{"subtitle_id":"2491535","language":"hu","download_count":3158,"new_download_count":2,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-10-30T17:21:18Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels Agents of S.H.I.E.L.D. - 2x06 - A Fractured House.HDTV.HDTV.EVO","comments":"","legacy_subtitle_id":5876161,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S2E6 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/5876161","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2568016,"cd_number":1,"file_name":"Marvels Agents of S.H.I.E.L.D. - 2x06 - A Fractured House.HDTV.HDTV.EVO.hu"}]}},{"id":"2493688","type":"subtitle","attributes":{"subtitle_id":"2493688","language":"hu","download_count":179,"new_download_count":5,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-10-15T16:19:23Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.BDRIP.x264.Hun.Eng-Krissz","comments":"","legacy_subtitle_id":6764373,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S2E6 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/6764373","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2570094,"cd_number":1,"file_name":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.BDRIP.x264.Hun.Eng-Krissz.hu"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9967d1a81153f-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:37 GMT Last-Modified: - Mon, 27 May 2024 22:54:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=H2gP5YKIATOhWFvtEyAbjzPEjya%2FmNJmcu3HmI6VNwJA5vVU%2BWAdxtDbp0dS74JY0C16ef%2BI2JheA8AG90zowxtehmVbLcHkPbRx4pMxjwkTxMXpFK1acB9z0rpBI9AKEInhBssdScU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '34' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - 1466e5ae-b7e3-454c-8908-09ff907b0963 X-Runtime: - '0.030606' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=6&languages=hu&page=1&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - HIT CF-RAY: - 88a9967e39bf2173-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:37 GMT Location: - /api/v1/subtitles?episode_number=6&languages=hu&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=en7xTH%2FrbaxUeNiSc6Xa69df4GKfPrauEhTnOG9mSRAft2lqkdrqpTxvn4KtSk0l6ngu%2BOdazutdKLr%2F9WLm8OTc7PxM2tnX70QDuTxbZh17vnJ%2BudNXYcHXFTbF46eqmA9SAf4al1I%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '91970277' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=6&languages=hu&query=marvels+agents+of+s.h.i.e.l.d.&season_number=2 response: body: string: '{"total_pages":1,"total_count":3,"per_page":60,"page":1,"data":[{"id":"2492310","type":"subtitle","attributes":{"subtitle_id":"2492310","language":"hu","download_count":6910,"new_download_count":9,"hearing_impaired":false,"hd":true,"fps":25.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-11-08T00:39:41Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.A.Fractured.House.720p.WEB-DL.DD5.1.H.264-BS","comments":"","legacy_subtitle_id":5885999,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S02E06 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/5885999","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2568816,"cd_number":1,"file_name":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.A.Fractured.House.720p.WEB-DL.DD5.1.H.264-BS"}]}},{"id":"2491535","type":"subtitle","attributes":{"subtitle_id":"2491535","language":"hu","download_count":3158,"new_download_count":2,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-10-30T17:21:18Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels Agents of S.H.I.E.L.D. - 2x06 - A Fractured House.HDTV.HDTV.EVO","comments":"","legacy_subtitle_id":5876161,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S2E6 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/5876161","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2568016,"cd_number":1,"file_name":"Marvels Agents of S.H.I.E.L.D. - 2x06 - A Fractured House.HDTV.HDTV.EVO.hu"}]}},{"id":"2493688","type":"subtitle","attributes":{"subtitle_id":"2493688","language":"hu","download_count":179,"new_download_count":5,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-10-15T16:19:23Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.BDRIP.x264.Hun.Eng-Krissz","comments":"","legacy_subtitle_id":6764373,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":149353,"feature_type":"Episode","year":2014,"title":"A Fractured House","movie_name":"Marvel''s Agents of S.H.I.E.L.D. - S2E6 A Fractured House","imdb_id":4078580,"tmdb_id":1010684,"season_number":2,"episode_number":6,"parent_imdb_id":2364582,"parent_title":"Marvel''s Agents of S.H.I.E.L.D.","parent_tmdb_id":1403,"parent_feature_id":13370},"url":"https://www.opensubtitles.com/hu/subtitles/legacy/6764373","related_links":[{"label":"All subtitles for Tv Show Marvel''s Agents of S.H.I.E.L.D.","url":"https://www.opensubtitles.com/hu/features/redirect/13370","img_url":"https://s9.opensubtitles.com/features/3/5/3/149353.jpg"},{"label":"All subtitles for Episode a fractured house","url":"https://www.opensubtitles.com/hu/features/redirect/149353"}],"files":[{"file_id":2570094,"cd_number":1,"file_name":"Marvels.Agents.of.S.H.I.E.L.D.S02E06.BDRIP.x264.Hun.Eng-Krissz.hu"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - HIT CF-RAY: - 88a9967eeace99c8-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:37 GMT Last-Modified: - Mon, 27 May 2024 22:54:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=b%2FLGBLdza4vG0mk0GZq5wkAlaMsTS6FF4DHSlf4QfkkHyXcIXww36x5ECQKJ7G8PO5zom%2BcWriBf441DhAFRrcWLTU%2BtX%2BakcftloCtArw3D9STRXDbIaISM2eiHjSXmLnnmUKg5g8E%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '34' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - 1466e5ae-b7e3-454c-8908-09ff907b0963 X-Runtime: - '0.030606' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_movie.yaml0000644000175100001770000021200514636376416030231 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&page=1&query=man+of+steel response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996703ec50405-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:35 GMT Location: - /api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&query=man+of+steel NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=zaeRHVpgwXoAV8UV1nDR81F2IszCfvMtWxvjKktlnGfXyypEDtGlglzxFp5BBabHVtO9Z07vZcz%2FK%2BN1AvA1vGHbyjRJ5OxlF3YfPSNmx7G0QU9FaA9%2BHBf51DAnfBuTv3wU09xKDRE%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '100481483' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&query=man+of+steel response: body: string: "{\"total_pages\":1,\"total_count\":10,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}],\"moviehash_match\":true}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}],\"moviehash_match\":true}},{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}],\"moviehash_match\":false}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}],\"moviehash_match\":false}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}],\"moviehash_match\":false}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}],\"moviehash_match\":false}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}],\"moviehash_match\":false}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}],\"moviehash_match\":false}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}],\"moviehash_match\":false}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}],\"moviehash_match\":false}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996713f0899ba-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:35 GMT Last-Modified: - Mon, 27 May 2024 22:54:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=LI37ew%2FSUkQjulaCYu6iqZQEQO7sPOKm4wMprZ%2FPfC2YCtW0S073AAmL%2BpvUC9x9j4LqfDscWO4WYfbqXQPvPdrqoblSVKKeG4fCD2vKA9blHdxhI07zHF9oCnT09ij7V5VGGcOPnXs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '36' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - b4765a3d-af2d-42c7-8a08-8439ae243d1e X-Runtime: - '0.033694' X-StackifyID: - V1|73960c26-baa3-4fa2-a696-24ee822bb8e6|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996726bea3ce7-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:35 GMT Location: - /api/v1/subtitles?imdb_id=770828&languages=de%2Cfr NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Ey7eQVHzEvAx%2BAvsKe2NWcmSRe7jSyTrrAQSm%2F0RJbLO%2Bw5HZfFp0plSj1xwWINkp2b5T0s%2FG8B%2Fb5IlaVowk3BzjNzgTuiw45Hlcu%2F5CLs3ukPacmhaVyP8L6ODME1VSv6wjd1K1Y0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '116164659' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de%2Cfr response: body: string: "{\"total_pages\":1,\"total_count\":10,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}]}},{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}]}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}]}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}]}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}]}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9967369b899b1-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:36 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=QZ3B9Qt1hCnuhauyVv7l4MmIuxtIkhfYNekYQQkYhRwiqRF4tlGDo6C9qf%2B1WoYXNNSDOMZ04YW853sP%2BMopahi%2FWaTaQ2r3QDrHp0yJGjnujLIt%2FJSKfjzMhVgkdGtz61MSO69Fh4w%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '29' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 81f8e0c1-98fd-42e0-bad9-27782c9f831c X-Runtime: - '0.024162' X-StackifyID: - V1|5174cb24-2859-462b-9ebb-3d2c50b09b77|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99674af5703ff-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:36 GMT Location: - /api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=M7tkylj3vk7owSFOmFfMTWxXmZS2g9vF6Bo7qGxee7MLLrFa2v14GliH8PPp9Lu8w5ElSWvmgrcFq3NmsrqwkRsQbPbFgYdu7xWF%2Bn%2BGBX3TVDJnCNJiQUPQflQb79VULqxpjKQTYIA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '102515106' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&moviehash=5b8f8f4e41ccb21e response: body: string: '{"total_pages":1,"total_count":2,"per_page":60,"page":1,"data":[{"id":"879122","type":"subtitle","attributes":{"subtitle_id":"879122","language":"fr","download_count":20172,"new_download_count":203,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-16T16:56:06Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"man.of.steel.2013.720p.bluray.x264-felony","comments":"","legacy_subtitle_id":5226251,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/fr/subtitles/legacy/5226251","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/fr/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":960683,"cd_number":1,"file_name":"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com"}],"moviehash_match":true}},{"id":"880717","type":"subtitle","attributes":{"subtitle_id":"880717","language":"de","download_count":2670,"new_download_count":204,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-19T00:53:25Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE","comments":"","legacy_subtitle_id":5229998,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5229998","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/de/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":962352,"cd_number":1,"file_name":"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE"}],"moviehash_match":true}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99675b90899b4-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:36 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=X2X63UeqjudvKw3EnZGAKsqsMAuevHgOfpReTaFBRifLhhWo9YbIiqdci97pShFyD6xKBNCKwFHZX2t%2BL%2Fvgbx%2B48q%2F%2BI7yaW%2FMfR%2FqXJOJgp7IhVp%2F2PGKwozSoFOn3EMyf6Fl23gU%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '25' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - dff46559-94d5-4929-9c07-067a776f7bde X-Runtime: - '0.023235' X-StackifyID: - V1|d48ef1ad-06b2-4f5f-bb65-4c837a905ceb|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&page=1&query=man+of+steel response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99676fe083ce9-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:36 GMT Location: - /api/v1/subtitles?languages=de%2Cfr&query=man+of+steel NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=gXbLgH8hBXBbnIczxMPmvLlS48A5odnowDFD9BmsOaKdruOr1NKN70540IWUvEvNkXu4fZkdjKGzbSGKYcTCpkDZXnIuKCVgZZTXkU36UO%2BF1oqR2a8V4zXBojOckFAsABO3j8qZkqo%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '79736680' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de%2Cfr&query=man+of+steel response: body: string: "{\"total_pages\":1,\"total_count\":18,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}]}},{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}]}},{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}]}},{\"id\":\"4614499\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"4614499\",\"language\":\"fr\",\"download_count\":4213,\"new_download_count\":98,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2018-11-01T17:26:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\",\"comments\":\"\",\"legacy_subtitle_id\":7528072,\"legacy_uploader_id\":2592971,\"uploader\":{\"uploader_id\":69404,\"name\":\"maxoudela\",\"rank\":\"Gold member\"},\"feature_details\":{\"feature_id\":429415,\"feature_type\":\"Episode\",\"year\":2015,\"title\":\"Man of Steel\",\"movie_name\":\"Supergirl - S04E03 L'\xE2ge de l'acier\",\"imdb_id\":8685330,\"tmdb_id\":1593206,\"season_number\":4,\"episode_number\":3,\"parent_imdb_id\":4016454,\"parent_title\":\"Supergirl\",\"parent_tmdb_id\":62688,\"parent_feature_id\":15301},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/7528072\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Supergirl\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/15301\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/4/429415.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/429415\"}],\"files\":[{\"file_id\":4737481,\"cd_number\":1,\"file_name\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\"}]}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"4620011\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"4620011\",\"language\":\"de\",\"download_count\":2208,\"new_download_count\":49,\"hearing_impaired\":false,\"hd\":false,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2018-11-09T23:18:45Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Supergirl.S04E03.HDTV.x264-SVA.de-SubCentral\",\"comments\":\"\",\"legacy_subtitle_id\":7536643,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":429415,\"feature_type\":\"Episode\",\"year\":2015,\"title\":\"Man of Steel\",\"movie_name\":\"Supergirl - S04E03 Man of Steel\",\"imdb_id\":8685330,\"tmdb_id\":1593206,\"season_number\":4,\"episode_number\":3,\"parent_imdb_id\":4016454,\"parent_title\":\"Supergirl\",\"parent_tmdb_id\":62688,\"parent_feature_id\":15301},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/7536643\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Supergirl\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/15301\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/4/429415.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/429415\"}],\"files\":[{\"file_id\":4743011,\"cd_number\":1,\"file_name\":\"Supergirl.S04E03.HDTV.x264-SVA.de-SubCentral\"}]}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}]}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}]}},{\"id\":\"6556241\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6556241\",\"language\":\"de\",\"download_count\":550,\"new_download_count\":78,\"hearing_impaired\":false,\"hd\":false,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2021-10-09T01:24:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel\",\"comments\":\"\",\"legacy_subtitle_id\":8834730,\"legacy_uploader_id\":9055317,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":1373215,\"feature_type\":\"Episode\",\"year\":2021,\"title\":\"Man of Steel\",\"movie_name\":\"Superman \\u0026amp; Lois - S01E07 Man of Steel\",\"imdb_id\":11949922,\"tmdb_id\":2787118,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":11192306,\"parent_title\":\"Superman \\u0026 Lois\",\"parent_tmdb_id\":95057,\"parent_feature_id\":1205428},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8834730\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Superman \\u0026 Lois\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1205428\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/2/1373215.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1373215\"}],\"files\":[{\"file_id\":7525661,\"cd_number\":1,\"file_name\":\"sal17\"}]}},{\"id\":\"2627042\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"2627042\",\"language\":\"de\",\"download_count\":404,\"new_download_count\":16,\"hearing_impaired\":false,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-30T20:00:55Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5066959,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":172454,\"feature_type\":\"Episode\",\"year\":1993,\"title\":\"The Man of Steel Bars\",\"movie_name\":\"Lois \\u0026amp; Clark: The New Adventures of Superman - S01E09 \\\"Lois \\u0026amp; Clark: The New Adventures of Superman\\\" The Man of Steel Bars\",\"imdb_id\":635199,\"tmdb_id\":322021,\"season_number\":1,\"episode_number\":9,\"parent_imdb_id\":106057,\"parent_title\":\"Lois \\u0026 Clark: The New Adventures of Superman\",\"parent_tmdb_id\":4515,\"parent_feature_id\":8874},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5066959\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Lois \\u0026 Clark: The New Adventures of Superman\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/8874\",\"img_url\":\"https://s9.opensubtitles.com/features/4/5/4/172454.jpg\"},{\"label\":\"All subtitles for Episode the man of steel bars\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/172454\"}],\"files\":[{\"file_id\":2701439,\"cd_number\":1,\"file_name\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.DVDRip.Retail\"}]}},{\"id\":\"1546744\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"1546744\",\"language\":\"fr\",\"download_count\":87,\"new_download_count\":3,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2012-05-11T12:51:44Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\",\"comments\":\"\",\"legacy_subtitle_id\":4545822,\"legacy_uploader_id\":1465168,\"uploader\":{\"uploader_id\":60242,\"name\":\"subth1ck\",\"rank\":\"trusted\"},\"feature_details\":{\"feature_id\":116746,\"feature_type\":\"Episode\",\"year\":2006,\"title\":\"Man of Steele\",\"movie_name\":\"Standoff - S1E7 \\\"Standoff\\\" Man of Steele\",\"imdb_id\":852891,\"tmdb_id\":1210425,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":756582,\"parent_title\":\"Standoff\",\"parent_tmdb_id\":630,\"parent_feature_id\":8050},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4545822\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Standoff\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/8050\",\"img_url\":\"https://s9.opensubtitles.com/features/6/4/7/116746.jpg\"},{\"label\":\"All subtitles for Episode man of steele\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/116746\"}],\"files\":[{\"file_id\":1638900,\"cd_number\":1,\"file_name\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\"}]}},{\"id\":\"2627058\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"2627058\",\"language\":\"de\",\"download_count\":71,\"new_download_count\":1,\"hearing_impaired\":true,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-30T18:01:04Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.SDH.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5066960,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"administrator\"},\"feature_details\":{\"feature_id\":172454,\"feature_type\":\"Episode\",\"year\":1993,\"title\":\"The Man of Steel Bars\",\"movie_name\":\"Lois \\u0026amp; Clark: The New Adventures of Superman - S1E9 \\\"Lois \\u0026amp; Clark: The New Adventures of Superman\\\" The Man of Steel Bars\",\"imdb_id\":635199,\"tmdb_id\":322021,\"season_number\":1,\"episode_number\":9,\"parent_imdb_id\":106057,\"parent_title\":\"Lois \\u0026 Clark: The New Adventures of Superman\",\"parent_tmdb_id\":4515,\"parent_feature_id\":8874},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5066960\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Lois \\u0026 Clark: The New Adventures of Superman\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/8874\",\"img_url\":\"https://s9.opensubtitles.com/features/4/5/4/172454.jpg\"},{\"label\":\"All subtitles for Episode the man of steel bars\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/172454\"}],\"files\":[{\"file_id\":2701455,\"cd_number\":1,\"file_name\":\"Superman.Die.Abenteuer.von.Lois.und.Clark.S01E09.German.SDH.DVDRip.Retail\"}]}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}]}},{\"id\":\"823209\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"823209\",\"language\":\"de\",\"download_count\":46,\"new_download_count\":5,\"hearing_impaired\":false,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-06-25T20:11:18Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.50th.Anniversary.1988.German.DOKU.DVDRip.Retail\",\"comments\":\"\",\"legacy_subtitle_id\":5058619,\"legacy_uploader_id\":464273,\"uploader\":{\"uploader_id\":41812,\"name\":\"Ralle1\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":584412,\"feature_type\":\"Movie\",\"year\":1988,\"title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"movie_name\":\"1988 - Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"imdb_id\":303111,\"tmdb_id\":464654},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5058619\",\"related_links\":[{\"label\":\"All subtitles for superman's 50th anniversary: a celebration of the man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/1988-superman-50th-anniversary\",\"img_url\":\"https://s9.opensubtitles.com/features/2/1/4/584412.jpg\"}],\"files\":[{\"file_id\":901498,\"cd_number\":1,\"file_name\":\"Superman.50th.Anniversary.1988.German.DOKU.DVDRip.Retail\"}]}},{\"id\":\"7164656\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"7164656\",\"language\":\"de\",\"download_count\":1,\"new_download_count\":58,\"hearing_impaired\":true,\"hd\":false,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2023-05-08T16:42:39Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Superman.and.Lois.S01E07.German.DL.DVDRiP.x264-NAiB\",\"comments\":\"\",\"legacy_subtitle_id\":9544178,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":1373215,\"feature_type\":\"Episode\",\"year\":2021,\"title\":\"Man of Steel\",\"movie_name\":\"Superman \\u0026amp; Lois - S01E07 Man of Steel\",\"imdb_id\":11949922,\"tmdb_id\":2787118,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":11192306,\"parent_title\":\"Superman \\u0026 Lois\",\"parent_tmdb_id\":95057,\"parent_feature_id\":1205428},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9544178\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Superman \\u0026 Lois\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1205428\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/2/1373215.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/de/features/redirect/1373215\"}],\"files\":[{\"file_id\":8100472,\"cd_number\":1,\"file_name\":\"Superman.and.Lois.S01E07.German.DL.DVDRiP.x264-NAiB\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99677ff1f99e8-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:36 GMT Last-Modified: - Mon, 27 May 2024 22:54:36 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '2' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=9plSdZfUGtY64F4kIMOrLfZEX5zwUWrJ9IECsSSJrhqiMw405eZ%2BfEmx0cwKsUC%2BC5Su%2Fbo70wLQ6zf%2BnM86JLZUaUNQ7SDl3GsBXOLV4XO6PhM1RRCfVSkt1bBtMDXF10RLFrlk9wI%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '43' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '2' X-Request-Id: - e0a62248-743f-4eb3-ab8e-7b0fabe8eca9 X-Runtime: - '0.040577' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_list_subtitles_movie_no_hash.yaml0000644000175100001770000001634514636376416031741 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de&page=1&query=enders+game response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996799be699ee-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:37 GMT Location: - /api/v1/subtitles?languages=de&query=enders+game NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=JBzxxbeDNt2UBCwhk4KKkFW3yWFmNkzvhy5SbFiIZTzjIdRgSRPjqFgVaMCR%2BDue0chNyuvPmaKiGkpll6hfqGv%2Boi0Myk0%2Bx2Kf6nt2qe52t0tMqnmDrsTUBUWtEaA%2Br8n4f4wWrEE%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '77868616' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=de&query=enders+game response: body: string: '{"total_pages":1,"total_count":3,"per_page":60,"page":1,"data":[{"id":"939553","type":"subtitle","attributes":{"subtitle_id":"939553","language":"de","download_count":4471,"new_download_count":184,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":1,"ratings":10.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-03-06T16:36:27Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Enders.Game.Das.grosse.Spiel.German.DL.1080p.BluRay.x264-EXQUiSiTE","comments":"","legacy_subtitle_id":5571822,"legacy_uploader_id":1563515,"uploader":{"uploader_id":63224,"name":"newkinds","rank":"trusted"},"feature_details":{"feature_id":586791,"feature_type":"Movie","year":2013,"title":"Ender''s Game","movie_name":"2013 - Ender''s Game","imdb_id":1731141,"tmdb_id":80274},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5571822","related_links":[{"label":"All subtitles for ender''s game","url":"https://www.opensubtitles.com/de/movies/2013-ender-s-game","img_url":"https://s9.opensubtitles.com/features/1/9/7/586791.jpg"}],"files":[{"file_id":1023711,"cd_number":1,"file_name":"endersgame-1080p"}]}},{"id":"940426","type":"subtitle","attributes":{"subtitle_id":"940426","language":"de","download_count":1252,"new_download_count":68,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-10-20T22:08:17Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Enders.Game.2013.1080p.BluRay.x264-SPARKS","comments":"","legacy_subtitle_id":5864769,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":586791,"feature_type":"Movie","year":2013,"title":"Ender''s Game","movie_name":"2013 - Ender''s Game","imdb_id":1731141,"tmdb_id":80274},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5864769","related_links":[{"label":"All subtitles for ender''s game","url":"https://www.opensubtitles.com/de/movies/2013-ender-s-game","img_url":"https://s9.opensubtitles.com/features/1/9/7/586791.jpg"}],"files":[{"file_id":1024649,"cd_number":1,"file_name":"Enders.Game.2013.1080p.BluRay.x264-SPARKS"}]}},{"id":"939532","type":"subtitle","attributes":{"subtitle_id":"939532","language":"de","download_count":570,"new_download_count":25,"hearing_impaired":true,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-03-06T01:27:57Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Enders.Game.Das.grosse.Spiel.German.720p.BluRay.x264-EXQUiSiTE","comments":"","legacy_subtitle_id":5571194,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":586791,"feature_type":"Movie","year":2013,"title":"Ender''s Game","movie_name":"2013 - Ender''s Game","imdb_id":1731141,"tmdb_id":80274},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5571194","related_links":[{"label":"All subtitles for ender''s game","url":"https://www.opensubtitles.com/de/movies/2013-ender-s-game","img_url":"https://s9.opensubtitles.com/features/1/9/7/586791.jpg"}],"files":[{"file_id":1023690,"cd_number":1,"file_name":"Enders.Game.Das.grosse.Spiel.German.720p.BluRay.x264-EXQUiSiTE"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9967aa8622173-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:37 GMT Last-Modified: - Mon, 27 May 2024 22:54:37 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=YI9iCxul%2BiTdhl%2Fd3JpXZzC5AYqtTJrcWYYxd5JpqrmfsTySlpbYhF6ftj4YQOHthjI4%2FEWt1SSExIElV5HijQ4T07ryCwM1eWnGtTh8Kp%2BWOxQbGEgMZKHqOxrp1Ngqz31uDlX5L3E%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '28' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 654b3b57-1125-4de3-bd0d-95f4de8468a2 X-Runtime: - '0.026893' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_login.yaml0000644000175100001770000000557314636376416025103 0ustar00runnerdockerinteractions: - request: body: '{"username": "python-subliminal-test", "password": "subliminal"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Length: - '69' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/login response: body: string: '{"user":{"allowed_translations":1,"allowed_downloads":20,"level":"Sub leecher","user_id":699022,"ext_installed":false,"vip":false},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI2Sm9hMjNaVWxwU0pMemhkbmxvY1FNWUowU0xGa0RhNyIsImV4cCI6MTcxNjg5NDM4MX0.vI0XJO_54twowBlxabxK28aH_-nkUbsjmnYUXqHpp3Y","status":200,"base_url":"api.opensubtitles.com"}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88a9979e8ac899e1-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:55:24 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '1' RateLimit-Remaining: - '0' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=UnVtilNHQQjnJMks9d0wWR1oNJO6IgqqcAcf3til4Rtnwud2JCRMo6QNqaspLXeFRzMujsfDBB%2BE2pWJBmZBFdTli7O%2FeNIS9hLwsLQxDFjQhwctbBYzFWC%2BKMtM%2FjYENxnvi1oUGjM%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '269' X-RateLimit-Limit-Hour: - '60' X-RateLimit-Limit-Second: - '1' X-RateLimit-Remaining-Hour: - '54' X-RateLimit-Remaining-Second: - '0' X-Request-Id: - f8087884-eb1b-494b-aac6-6e45342da958 X-Runtime: - '0.266013' X-Var-Cache: - MISS X-Via: - fw1 X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_login_bad_password.yaml0000644000175100001770000000506014636376416027622 0ustar00runnerdockerinteractions: - request: body: '{"username": "python-subliminal-test", "password": "lanimilbus"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Length: - '64' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/login response: body: string: '{"message":"Error, invalid username/password failed:2 remaining:8 ","status":401}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88a996462cdb3d04-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Length: - '82' Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:29 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '1' RateLimit-Remaining: - '0' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=KLt92E%2FP%2FvwaVqbVaTzSoyY0jzPRF%2BOdur6cvNlOVInWx1DO0c5fvIyj1Mp7%2B6Qh5rVqP3jlvtZXkcr6rkpMm4FsZ58efW69dkQMrdV41%2FjJZukDXaA%2F1V7Ok%2FVllN7Kzum7ypN52As%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '2' X-Kong-Upstream-Latency: - '271' X-RateLimit-Limit-Hour: - '60' X-RateLimit-Limit-Second: - '1' X-RateLimit-Remaining-Hour: - '58' X-RateLimit-Remaining-Second: - '0' X-Request-Id: - 1de07bec-fc68-43d8-a573-b7480ebc6799 X-Runtime: - '0.269016' X-Var-Cache: - MISS X-Via: - fw1 X-Vip-Consumer: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 401 message: Unauthorized version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_logout.yaml0000644000175100001770000000557514636376416025306 0ustar00runnerdockerinteractions: - request: body: '{"username": "python-subliminal-test", "password": "subliminal"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Length: - '69' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/login response: body: string: '{"user":{"allowed_translations":1,"allowed_downloads":20,"level":"Sub leecher","user_id":699022,"ext_installed":false,"vip":false},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI2Sm9hMjNaVWxwU0pMemhkbmxvY1FNWUowU0xGa0RhNyIsImV4cCI6MTcxNjg5NDM4MX0.vI0XJO_54twowBlxabxK28aH_-nkUbsjmnYUXqHpp3Y","status":200,"base_url":"api.opensubtitles.com"}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88a997ae6f26153b-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:55:26 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '1' RateLimit-Remaining: - '0' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ZQ9P0iubNXAQfYD5iA5WdOkwoOa3p62%2BVuichpbxoKciJuvNdvhSSNx45WvDrsiZ%2FwUGip47iolWAMiUOwZ6b5vYuk5MMP5x1zL4jXuGLYWrQ9xM7LoxMKBgngCP0pMF2CF%2FAKf6Bbw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '271' X-RateLimit-Limit-Hour: - '60' X-RateLimit-Limit-Second: - '1' X-RateLimit-Remaining-Hour: - '53' X-RateLimit-Remaining-Second: - '0' X-Request-Id: - a5dfa8f8-5250-4db9-ba60-925541cf280c X-Runtime: - '0.269691' X-Var-Cache: - MISS X-Via: - fw1 X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_hash_size.yaml0000644000175100001770000004340714636376416027173 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=en&moviehash=5b8f8f4e41ccb21e&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996677f0d3cdd-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:34 GMT Location: - /api/v1/subtitles?languages=en&moviehash=5b8f8f4e41ccb21e NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=C9xj20wVKt%2BLTaWYJTZh4AVCpOpw8VcsNWLYofU%2Fxy8wV65wC4hrYmcFh2Vu7rVrb9O%2FlBm40Wfvu%2FGcl%2BAQHESAf5gty2QNgqhMbeCoq5a9ALT8%2FpDQWJsyw4NgKEmNOAl4dMKFZDc%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '110346207' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=en&moviehash=5b8f8f4e41ccb21e response: body: string: '{"total_pages":1,"total_count":12,"per_page":60,"page":1,"data":[{"id":"876180","type":"subtitle","attributes":{"subtitle_id":"876180","language":"en","download_count":392597,"new_download_count":6009,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":3,"ratings":10.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2013-10-16T00:37:02Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"720p.BluRay.x264-Felony [and BDRiP.XViD-NoGRP]","comments":"Fix OCR, italics, overlapping, etc... for all 720p/1080p BluRay","legacy_subtitle_id":5225493,"legacy_uploader_id":847082,"uploader":{"uploader_id":48068,"name":"cipry_master","rank":"Trusted member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - El hombre de acero","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225493","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":957714,"cd_number":1,"file_name":"Man.Of.Steel.2013.720p.BluRay.x264-Felony"}],"moviehash_match":true}},{"id":"3178800","type":"subtitle","attributes":{"subtitle_id":"3178800","language":"en","download_count":210404,"new_download_count":898,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":2,"ratings":10.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2013-11-07T04:48:10Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Arrow.S02E05.HDTV.x264-LOL","comments":"sync, corrected by elderman","legacy_subtitle_id":5259348,"legacy_uploader_id":1332962,"uploader":{"uploader_id":56900,"name":"elderman","rank":"translator"},"feature_details":{"feature_id":348318,"feature_type":"Episode","year":2013,"title":"League of Assassins","movie_name":"Arrow - S02E05 League of Assassins","imdb_id":3128398,"tmdb_id":64139,"season_number":2,"episode_number":5,"parent_imdb_id":2193021,"parent_title":"Arrow","parent_tmdb_id":1412,"parent_feature_id":12491},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5259348","related_links":[{"label":"All subtitles for Tv Show Arrow","url":"https://www.opensubtitles.com/en/features/redirect/12491","img_url":"https://s9.opensubtitles.com/features/8/1/3/348318.jpg"},{"label":"All subtitles for Episode league of assassins","url":"https://www.opensubtitles.com/en/features/redirect/348318"}],"files":[{"file_id":3249003,"cd_number":1,"file_name":"Arrow.S02E05.HDTV.x264-LOL"}],"moviehash_match":true}},{"id":"872093","type":"subtitle","attributes":{"subtitle_id":"872093","language":"en","download_count":145094,"new_download_count":770,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-15T19:02:17Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man Of Steel 2013 BDRip.x264-Larceny","comments":"","legacy_subtitle_id":5224905,"legacy_uploader_id":2020399,"uploader":{"uploader_id":67314,"name":"felixmartini","rank":"Bronze Member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5224905","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":953341,"cd_number":1,"file_name":"Man Of Steel 2013 BDRip.x264-Larceny"}],"moviehash_match":true}},{"id":"869742","type":"subtitle","attributes":{"subtitle_id":"869742","language":"en","download_count":105602,"new_download_count":254,"hearing_impaired":false,"hd":false,"fps":29.97,"votes":1,"ratings":10.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-07-09T13:03:41Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.of.Steel.2013.R6.LiNE.All.Version","comments":"Total 98% Improved,Re-Synced,Spell Checked,Few Lines Added. Specially Thanks to \"tinotpoldas\" \u0026 \"tosem\" .","legacy_subtitle_id":5079931,"legacy_uploader_id":1629008,"uploader":{"uploader_id":64860,"name":"igorrml_","rank":"Gold member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5079931","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":950892,"cd_number":1,"file_name":"Man.of.Steel.2013.R6.LiNE.All.Version"}],"moviehash_match":true}},{"id":"879204","type":"subtitle","attributes":{"subtitle_id":"879204","language":"en","download_count":56498,"new_download_count":270,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-16T17:30:21Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.Of.Steel.2013.720p.BluRay.x264-Felony","comments":"","legacy_subtitle_id":5226279,"legacy_uploader_id":338814,"uploader":{"uploader_id":39690,"name":"Babylonian","rank":"Silver Member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5226279","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":960768,"cd_number":1,"file_name":"Man.Of.Steel.2013.720p.BluRay.x264-Felony.English"}],"moviehash_match":true}},{"id":"877471","type":"subtitle","attributes":{"subtitle_id":"877471","language":"en","download_count":41095,"new_download_count":247,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-16T08:26:55Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man Of Steel 2013 - Bluray","comments":"","legacy_subtitle_id":5225826,"legacy_uploader_id":1534270,"uploader":{"uploader_id":62354,"name":"racunz2012","rank":"Gold member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225826","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":959001,"cd_number":1,"file_name":"Man Of Steel 2013 - Bluray.EN"}],"moviehash_match":true}},{"id":"876365","type":"subtitle","attributes":{"subtitle_id":"876365","language":"en","download_count":37991,"new_download_count":69,"hearing_impaired":true,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2013-10-16T00:37:20Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"720p.BluRay.x264-Felony (COLOR Hearing Impaired)","comments":"Fix OCR, italics, overlapping, etc... for all 720p/1080p BluRay","legacy_subtitle_id":5225494,"legacy_uploader_id":847082,"uploader":{"uploader_id":48068,"name":"cipry_master","rank":"Trusted member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225494","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":957845,"cd_number":1,"file_name":"Man.Of.Steel.2013.720p.BluRay.x264-Felony"}],"moviehash_match":true}},{"id":"871951","type":"subtitle","attributes":{"subtitle_id":"871951","language":"en","download_count":23072,"new_download_count":126,"hearing_impaired":true,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-15T19:01:42Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man Of Steel 2013 BDRip.x264-Larceny","comments":"","legacy_subtitle_id":5224904,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5224904","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":953193,"cd_number":1,"file_name":"Man Of Steel 2013 BDRip.x264-Larceny.Hi"}],"moviehash_match":true}},{"id":"874537","type":"subtitle","attributes":{"subtitle_id":"874537","language":"en","download_count":14666,"new_download_count":87,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-15T23:33:54Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER","comments":"","legacy_subtitle_id":5225363,"legacy_uploader_id":1447693,"uploader":{"uploader_id":59646,"name":"Neomale","rank":"Read Only Member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225363","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":955964,"cd_number":1,"file_name":"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER_eng"}],"moviehash_match":true}},{"id":"873226","type":"subtitle","attributes":{"subtitle_id":"873226","language":"en","download_count":12447,"new_download_count":33,"hearing_impaired":true,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-15T20:22:10Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man.Of.Steel.2013.BDRip.x264-Larceny[rarbg]","comments":"","legacy_subtitle_id":5225027,"legacy_uploader_id":121929,"uploader":{"uploader_id":35815,"name":"untukforum","rank":"Gold member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225027","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":954566,"cd_number":1,"file_name":"l-manofsteel"}],"moviehash_match":true}},{"id":"882182","type":"subtitle","attributes":{"subtitle_id":"882182","language":"en","download_count":10601,"new_download_count":37,"hearing_impaired":false,"hd":true,"fps":23.98,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-28T01:20:44Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Man of Steel 2013 BRRip XvidHD 720p-NPW","comments":"","legacy_subtitle_id":5244413,"legacy_uploader_id":429031,"uploader":{"uploader_id":41158,"name":"willygeerts","rank":"VIP Member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5244413","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":963880,"cd_number":1,"file_name":"Man of Steel 2013 BRRip XvidHD 720p-NPW"}],"moviehash_match":true}},{"id":"877376","type":"subtitle","attributes":{"subtitle_id":"877376","language":"en","download_count":9488,"new_download_count":16,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-16T06:52:41Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"ManOf.Steel.(2013).BDRip.600MB.Ganool","comments":"","legacy_subtitle_id":5225752,"legacy_uploader_id":1548471,"uploader":{"uploader_id":62760,"name":"Drigerray","rank":"Bronze Member"},"feature_details":{"feature_id":580760,"feature_type":"Movie","year":2013,"title":"Man of Steel","movie_name":"2013 - Man of Steel","imdb_id":770828,"tmdb_id":49521},"url":"https://www.opensubtitles.com/en/subtitles/legacy/5225752","related_links":[{"label":"All subtitles for man of steel","url":"https://www.opensubtitles.com/en/movies/2013-man-of-steel","img_url":"https://s9.opensubtitles.com/features/0/6/7/580760.jpg"}],"files":[{"file_id":958900,"cd_number":1,"file_name":"ManOf.Steel.(2013).BDRip.600MB.Ganool"}],"moviehash_match":true}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996688eed1542-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:34 GMT Last-Modified: - Mon, 27 May 2024 22:54:34 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=JlQlqUOd%2Bsc9bdQqHh1IZ1dJtX%2FBJpNHSJ1UO4X4fqcm835A82Ndemi7HAaHFEF9g8eoz4mh%2FPUc5g%2F24H9L%2Bcm0gXCsOGnDLPF4t4H2Vj%2Fg3oPtyQ%2BG2%2B3HtQmectpb6FEDc4xbvU0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '31' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 5e778048-51ee-4649-a3a2-36f04a796357 X-Runtime: - '0.029809' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_imdb_id.yaml0000644000175100001770000002742414636376416026606 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99664ca7a046b-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:33 GMT Location: - /api/v1/subtitles?imdb_id=770828&languages=de NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=KuPCctX2F3%2BUkSfMkP1xHI6gFxxXTGjNUxykVVWdI%2FYolHE1BdFPgH2mVgW%2F32LEXOsxPFr4Mkiyg4Yvsw2gtQw2OQZjqH%2FuMbaFsvn%2FTCVJ5YQYfMrSDS69Fhhet%2FrZzbwU2MsPYig%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '105239426' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=770828&languages=de response: body: string: "{\"total_pages\":1,\"total_count\":6,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880332\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880332\",\"language\":\"de\",\"download_count\":7239,\"new_download_count\":241,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-17T13:26:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5227599,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5227599\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":961964,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.DL.1080p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"883552\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883552\",\"language\":\"de\",\"download_count\":4283,\"new_download_count\":11,\"hearing_impaired\":false,\"hd\":true,\"fps\":25.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-07-31T14:29:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel (2013) Dtv 2h07min\",\"comments\":\"\",\"legacy_subtitle_id\":6698593,\"legacy_uploader_id\":2563175,\"uploader\":{\"uploader_id\":69315,\"name\":\"bergert_\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6698593\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965287,\"cd_number\":1,\"file_name\":\"Man of Steel (DT-2013)\"}]}},{\"id\":\"880717\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880717\",\"language\":\"de\",\"download_count\":2670,\"new_download_count\":204,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-19T00:53:25Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\",\"comments\":\"\",\"legacy_subtitle_id\":5229998,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/5229998\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962352,\"cd_number\":1,\"file_name\":\"Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE\"}]}},{\"id\":\"5166256\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"5166256\",\"language\":\"de\",\"download_count\":1794,\"new_download_count\":14,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2020-03-29T11:40:37Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.german.srt\",\"comments\":\"--\\u003e HI-Items entfernt, Timing teilweise korrigiert, Kursivsetzung korrigiert\\r\\n--\\u003e passend f\xFCr Versionen mit Laufzeit 2h 23min 2s 688ms\",\"legacy_subtitle_id\":8148911,\"legacy_uploader_id\":1189705,\"uploader\":{\"uploader_id\":54111,\"name\":\"arcchancellor\",\"rank\":\"translator\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/8148911\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":5276290,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.720p.german\"}]}},{\"id\":\"883560\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"883560\",\"language\":\"de\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":true,\"hd\":true,\"fps\":23.976,\"votes\":2,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2016-08-01T19:13:17Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man of Steel German DL 1080p BluRay x264-EXQUiSiTE\",\"comments\":\"Duration: 2:23:03\\r\\nvia SubTools from idx to srt\\r\\nFull German\\r\\nHandmade corrected\",\"legacy_subtitle_id\":6699712,\"legacy_uploader_id\":1471910,\"uploader\":{\"uploader_id\":60439,\"name\":\"PissPott\",\"rank\":\"Silver Member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/6699712\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":965292,\"cd_number\":1,\"file_name\":\"exq-manofsteel-1080p.idx.mkv\"}]}},{\"id\":\"6632511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6632511\",\"language\":\"de\",\"download_count\":61,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-06-26T19:32:54Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Should work with 4k BD rips\",\"comments\":\"Source German Retail 4k BD\\r\\nRetail PGS to SSA + improvements\\r\\n\\r\\ncoloured parts\\r\\n\\r\\nIf the timing is off, just correct it with SubtitleEdit.\\r\\n-\\u003e Synchronization \\r\\n-\\u003e Adjust all times \\r\\n-\\u003e all lines\\r\\n\\r\\nWorks best with MPC-BE + XySubFilter + madvr\\r\\nbecause there the font is not in the image,\\r\\nbut at the bottom in the black bars.\",\"legacy_subtitle_id\":9150443,\"legacy_uploader_id\":9372469,\"uploader\":{\"uploader_id\":null,\"name\":\"Anonymous\",\"rank\":\"anonymous\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/de/subtitles/legacy/9150443\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/de/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":7601680,\"cd_number\":1,\"file_name\":\"Man of Steel.Full - German\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996663cbf99b6-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:34 GMT Last-Modified: - Mon, 27 May 2024 22:54:34 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=Ic8BjRo0a%2FAOTfmdRZyHB0U8l3mIlli5IMLbW%2FkMfB3nvImGaJVbN9kS9oTXjHv4d9XayxsuD30Y6It%2FeA%2FDp7oUb4B%2BYCh3EvVQxdSIiTQiCfQXPIheUFmAJpU7nDoDLoNDCL2fYYY%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '17' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - e93eb37d-6f1d-4def-b13c-b370f654316c X-Runtime: - '0.015727' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_episode.yaml0000644000175100001770000005334514636376416030075 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=3&languages=fr&page=1&query=dallas&season_number=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9965e184e216d-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:32 GMT Location: - /api/v1/subtitles?episode_number=3&languages=fr&query=dallas&season_number=1 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=TL8BZR%2BL9AG5jowD%2B5ieNEl2KKUl1%2FXiSYipzQdedyFTltitj0lobH7rcLB6vq9e5EPMv0rqc3g1sbFTsEN7ClVSFF7LJfdpqDJ4q%2FZLFDU92tDGPT1HQZ0WRqlHAP4XKdOWPDvqaPc%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '85258170' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=3&languages=fr&query=dallas&season_number=1 response: body: string: "{\"total_pages\":1,\"total_count\":4,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"3359298\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3359298\",\"language\":\"fr\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2010-10-07T03:56:07Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"The Event - 1x03 - Protect Them from the Truth.HDTV.The Event - 01x03 - Protect Them From the Truth\",\"comments\":\"\",\"legacy_subtitle_id\":3870905,\"legacy_uploader_id\":1168246,\"uploader\":{\"uploader_id\":53768,\"name\":\"nicocha\",\"rank\":\"bronze member\"},\"feature_details\":{\"feature_id\":271191,\"feature_type\":\"Episode\",\"year\":2010,\"title\":\"Protect Them from the Truth\",\"movie_name\":\"The Event - S1E3 \\\"The Event\\\" Protect Them from the Truth\",\"imdb_id\":1653551,\"tmdb_id\":769867,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1582459,\"parent_title\":\"The Event\",\"parent_tmdb_id\":32730,\"parent_feature_id\":10757},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/3870905\",\"related_links\":[{\"label\":\"All subtitles for Tv Show The Event\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/10757\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/1/271191.jpg\"},{\"label\":\"All subtitles for Episode protect them from the truth\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/271191\"}],\"files\":[{\"file_id\":3426643,\"cd_number\":1,\"file_name\":\"The Event - 1x03 - Protect Them from the Truth.HDTV.The Event - 01x03 - Protect Them From the Truth\"}]}},{\"id\":\"3829531\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3829531\",\"language\":\"fr\",\"download_count\":545,\"new_download_count\":12,\"hearing_impaired\":false,\"hd\":false,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2012-06-21T14:43:26Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Dallas (2012) - 01x03 - The Price You Pay.x264-LOL.French.C.updated.Addic7ed.com\",\"comments\":\"\",\"legacy_subtitle_id\":4581134,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":333010,\"feature_type\":\"Episode\",\"year\":2012,\"title\":\"The Price You Pay\",\"movie_name\":\"Dallas - S1E3 \\\"Dallas\\\" The Price You Pay\",\"imdb_id\":2205526,\"tmdb_id\":851353,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1723760,\"parent_title\":\"Dallas\",\"parent_tmdb_id\":37759,\"parent_feature_id\":12129},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4581134\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Dallas\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/12129\",\"img_url\":\"https://s9.opensubtitles.com/features/0/1/0/333010.jpg\"},{\"label\":\"All subtitles for Episode the price you pay\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/333010\"}],\"files\":[{\"file_id\":3904804,\"cd_number\":1,\"file_name\":\"Dallas (2012) - 01x03 - The Price You Pay.x264-LOL.French.C.updated.Addic7ed.com\"}]}},{\"id\":\"3359569\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3359569\",\"language\":\"fr\",\"download_count\":146,\"new_download_count\":4,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2012-02-27T07:35:01Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"The Event S01E03 Protect Them from the Truth 720p BluRay\",\"comments\":\"\",\"legacy_subtitle_id\":4478723,\"legacy_uploader_id\":1253306,\"uploader\":{\"uploader_id\":55203,\"name\":\"Pb8SOWOA\",\"rank\":\"bronze member\"},\"feature_details\":{\"feature_id\":271191,\"feature_type\":\"Episode\",\"year\":2010,\"title\":\"Protect Them from the Truth\",\"movie_name\":\"The Event - S1E3 \\\"The Event\\\" Protect Them from the Truth\",\"imdb_id\":1653551,\"tmdb_id\":769867,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1582459,\"parent_title\":\"The Event\",\"parent_tmdb_id\":32730,\"parent_feature_id\":10757},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4478723\",\"related_links\":[{\"label\":\"All subtitles for Tv Show The Event\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/10757\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/1/271191.jpg\"},{\"label\":\"All subtitles for Episode protect them from the truth\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/271191\"}],\"files\":[{\"file_id\":3426918,\"cd_number\":1,\"file_name\":\"The Event S01E03 Protect Them from the Truth 720p BluRay\"}]}},{\"id\":\"6915085\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6915085\",\"language\":\"fr\",\"download_count\":34,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-07-05T13:19:24Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Space Battleship Yamato 2199 (2012) - 03 VOSTFR BDrip 1080p FLAC x265-GundamGuy\",\"comments\":\"Sous-titres officiels \xE9diteur.\",\"legacy_subtitle_id\":9159327,\"legacy_uploader_id\":8338908,\"uploader\":{\"uploader_id\":285788,\"name\":\"sonkun02\",\"rank\":\"Platinum Member\"},\"feature_details\":{\"feature_id\":1388271,\"feature_type\":\"Episode\",\"year\":2012,\"title\":\"Escape from the Jupiter Sphere\",\"movie_name\":\"Star Blazers [Space Battleship Yamato] 2199 - S01E03 Escape from the Jupiter Sphere\",\"imdb_id\":3626220,\"tmdb_id\":1404349,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":2496120,\"parent_title\":\"Star Blazers [Space Battleship Yamato] 2199\",\"parent_tmdb_id\":45844,\"parent_feature_id\":13449},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/9159327\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Star Blazers [Space Battleship Yamato] 2199\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/13449\",\"img_url\":\"https://s9.opensubtitles.com/features/1/7/2/1388271.jpg\"},{\"label\":\"All subtitles for Episode escape from the jupiter sphere\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/1388271\"}],\"files\":[{\"file_id\":7869617,\"cd_number\":1,\"file_name\":\"Space Battleship Yamato 2199 (2012) - 03 VOSTFR BDrip 1080p FLAC x265-GundamGuy\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9965f28fd3cfe-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:32 GMT Last-Modified: - Mon, 27 May 2024 22:54:32 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ZGv5GTgmPXco%2B0gFCAvnobPV5E8fa8qMxhQYJOAQHM4pOGmpDz71BI%2B%2BLYIpogPF%2BubGwb7FqGQTeLKuQQO58Zn2jz2m7dItKTGC%2FW1jpxFA46BBlgFqj7vZrxsPE2NVOSOYr8XsZts%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '23' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - 862ddfc2-7a93-4d12-8ec6-7d2618a91f8c X-Runtime: - '0.021170' X-StackifyID: - V1|82f8b6c0-e018-4656-9416-79ef2d54d343|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=3&languages=fr&page=1&query=dallas&season_number=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '1' CF-Cache-Status: - HIT CF-RAY: - 88a996605d2d2161-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:33 GMT Location: - /api/v1/subtitles?episode_number=3&languages=fr&query=dallas&season_number=1 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=8tExaDdv8xUHSyGgyXE2ShEq2EP%2BCPzVuyDGLo%2BOoldkODPXJiqANcKNXhAVvhoT8RlKrLqfDs7SGppliXg8CLzovshncVtvtwdJVAnIO%2FK5fwr0ofBCy%2F%2BdsMxnGW3kc5iYj4PlJW8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '85258170' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=3&languages=fr&query=dallas&season_number=1 response: body: string: "{\"total_pages\":1,\"total_count\":4,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"3359298\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3359298\",\"language\":\"fr\",\"download_count\":938,\"new_download_count\":9,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2010-10-07T03:56:07Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"The Event - 1x03 - Protect Them from the Truth.HDTV.The Event - 01x03 - Protect Them From the Truth\",\"comments\":\"\",\"legacy_subtitle_id\":3870905,\"legacy_uploader_id\":1168246,\"uploader\":{\"uploader_id\":53768,\"name\":\"nicocha\",\"rank\":\"bronze member\"},\"feature_details\":{\"feature_id\":271191,\"feature_type\":\"Episode\",\"year\":2010,\"title\":\"Protect Them from the Truth\",\"movie_name\":\"The Event - S1E3 \\\"The Event\\\" Protect Them from the Truth\",\"imdb_id\":1653551,\"tmdb_id\":769867,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1582459,\"parent_title\":\"The Event\",\"parent_tmdb_id\":32730,\"parent_feature_id\":10757},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/3870905\",\"related_links\":[{\"label\":\"All subtitles for Tv Show The Event\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/10757\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/1/271191.jpg\"},{\"label\":\"All subtitles for Episode protect them from the truth\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/271191\"}],\"files\":[{\"file_id\":3426643,\"cd_number\":1,\"file_name\":\"The Event - 1x03 - Protect Them from the Truth.HDTV.The Event - 01x03 - Protect Them From the Truth\"}]}},{\"id\":\"3829531\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3829531\",\"language\":\"fr\",\"download_count\":545,\"new_download_count\":12,\"hearing_impaired\":false,\"hd\":false,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2012-06-21T14:43:26Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Dallas (2012) - 01x03 - The Price You Pay.x264-LOL.French.C.updated.Addic7ed.com\",\"comments\":\"\",\"legacy_subtitle_id\":4581134,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":333010,\"feature_type\":\"Episode\",\"year\":2012,\"title\":\"The Price You Pay\",\"movie_name\":\"Dallas - S1E3 \\\"Dallas\\\" The Price You Pay\",\"imdb_id\":2205526,\"tmdb_id\":851353,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1723760,\"parent_title\":\"Dallas\",\"parent_tmdb_id\":37759,\"parent_feature_id\":12129},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4581134\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Dallas\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/12129\",\"img_url\":\"https://s9.opensubtitles.com/features/0/1/0/333010.jpg\"},{\"label\":\"All subtitles for Episode the price you pay\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/333010\"}],\"files\":[{\"file_id\":3904804,\"cd_number\":1,\"file_name\":\"Dallas (2012) - 01x03 - The Price You Pay.x264-LOL.French.C.updated.Addic7ed.com\"}]}},{\"id\":\"3359569\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"3359569\",\"language\":\"fr\",\"download_count\":146,\"new_download_count\":4,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2012-02-27T07:35:01Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"The Event S01E03 Protect Them from the Truth 720p BluRay\",\"comments\":\"\",\"legacy_subtitle_id\":4478723,\"legacy_uploader_id\":1253306,\"uploader\":{\"uploader_id\":55203,\"name\":\"Pb8SOWOA\",\"rank\":\"bronze member\"},\"feature_details\":{\"feature_id\":271191,\"feature_type\":\"Episode\",\"year\":2010,\"title\":\"Protect Them from the Truth\",\"movie_name\":\"The Event - S1E3 \\\"The Event\\\" Protect Them from the Truth\",\"imdb_id\":1653551,\"tmdb_id\":769867,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":1582459,\"parent_title\":\"The Event\",\"parent_tmdb_id\":32730,\"parent_feature_id\":10757},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4478723\",\"related_links\":[{\"label\":\"All subtitles for Tv Show The Event\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/10757\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/1/271191.jpg\"},{\"label\":\"All subtitles for Episode protect them from the truth\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/271191\"}],\"files\":[{\"file_id\":3426918,\"cd_number\":1,\"file_name\":\"The Event S01E03 Protect Them from the Truth 720p BluRay\"}]}},{\"id\":\"6915085\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"6915085\",\"language\":\"fr\",\"download_count\":34,\"new_download_count\":8,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2022-07-05T13:19:24Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Space Battleship Yamato 2199 (2012) - 03 VOSTFR BDrip 1080p FLAC x265-GundamGuy\",\"comments\":\"Sous-titres officiels \xE9diteur.\",\"legacy_subtitle_id\":9159327,\"legacy_uploader_id\":8338908,\"uploader\":{\"uploader_id\":285788,\"name\":\"sonkun02\",\"rank\":\"Platinum Member\"},\"feature_details\":{\"feature_id\":1388271,\"feature_type\":\"Episode\",\"year\":2012,\"title\":\"Escape from the Jupiter Sphere\",\"movie_name\":\"Star Blazers [Space Battleship Yamato] 2199 - S01E03 Escape from the Jupiter Sphere\",\"imdb_id\":3626220,\"tmdb_id\":1404349,\"season_number\":1,\"episode_number\":3,\"parent_imdb_id\":2496120,\"parent_title\":\"Star Blazers [Space Battleship Yamato] 2199\",\"parent_tmdb_id\":45844,\"parent_feature_id\":13449},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/9159327\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Star Blazers [Space Battleship Yamato] 2199\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/13449\",\"img_url\":\"https://s9.opensubtitles.com/features/1/7/2/1388271.jpg\"},{\"label\":\"All subtitles for Episode escape from the jupiter sphere\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/1388271\"}],\"files\":[{\"file_id\":7869617,\"cd_number\":1,\"file_name\":\"Space Battleship Yamato 2199 (2012) - 03 VOSTFR BDrip 1080p FLAC x265-GundamGuy\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '1' CF-Cache-Status: - HIT CF-RAY: - 88a996612c5999d9-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:33 GMT Last-Modified: - Mon, 27 May 2024 22:54:32 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=l7ioeSTEot9Xap%2B9MJc%2FnFpxVB1IchNrheLrRLH15%2FzOTGctui3PfGgHc7PeoEKL16OY24QpR0eNBlX%2FIz6UzbxM5%2Fq0GTJQ4xNDHZAF7x4F0TTP9DeY9bpWpeO3hpG2wv9eXwKzk8o%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '23' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - 862ddfc2-7a93-4d12-8ec6-7d2618a91f8c X-Runtime: - '0.021170' X-StackifyID: - V1|82f8b6c0-e018-4656-9416-79ef2d54d343|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_movie.yaml0000644000175100001770000002742114636376416027560 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=fr&page=1&query=man+of+steel response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9965bbd1099c8-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:32 GMT Location: - /api/v1/subtitles?languages=fr&query=man+of+steel NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=iUuSXLA%2FKGqIZfH9qfi3ZqSnhBQy6mksgQhPTYP3F%2FHgE6YT%2BsTsyreD259Xm8U1%2F3geG2%2BFRQ1N95%2FLe3KB2JFYt2DaWA6MVKO76kZtaodt3lNt8XVdMWTxhmYamrReLyP1OkJ4UmI%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '76377145' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=fr&query=man+of+steel response: body: string: "{\"total_pages\":1,\"total_count\":6,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"880511\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"880511\",\"language\":\"fr\",\"download_count\":36655,\"new_download_count\":286,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-18T14:26:47Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\",\"comments\":\"\",\"legacy_subtitle_id\":5229112,\"legacy_uploader_id\":1430515,\"uploader\":{\"uploader_id\":59162,\"name\":\"smailpouri\",\"rank\":\"Trusted member\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5229112\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":962144,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"870964\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"870964\",\"language\":\"fr\",\"download_count\":22032,\"new_download_count\":91,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-07-26T08:47:00Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\",\"comments\":\"\",\"legacy_subtitle_id\":5105960,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5105960\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":952177,\"cd_number\":1,\"file_name\":\"Man.of.Steel.2013.R6.LiNE.All.Version-fr\"}]}},{\"id\":\"879122\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"879122\",\"language\":\"fr\",\"download_count\":20172,\"new_download_count\":203,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T16:56:06Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.720p.bluray.x264-felony\",\"comments\":\"\",\"legacy_subtitle_id\":5226251,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5226251\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":960683,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.720p.bluray.x264-felony.www.subsynchro.com\"}]}},{\"id\":\"877697\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"877697\",\"language\":\"fr\",\"download_count\":17037,\"new_download_count\":137,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2013-10-16T09:35:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"man.of.steel.2013.1080p.bluray.x264-sector7\",\"comments\":\"\",\"legacy_subtitle_id\":5225852,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":580760,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Man of Steel\",\"movie_name\":\"2013 - Man of Steel\",\"imdb_id\":770828,\"tmdb_id\":49521},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5225852\",\"related_links\":[{\"label\":\"All subtitles for man of steel\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-man-of-steel\",\"img_url\":\"https://s9.opensubtitles.com/features/0/6/7/580760.jpg\"}],\"files\":[{\"file_id\":959227,\"cd_number\":1,\"file_name\":\"man.of.steel.2013.1080p.bluray.x264-sector7\"}]}},{\"id\":\"4614499\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"4614499\",\"language\":\"fr\",\"download_count\":4213,\"new_download_count\":98,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2018-11-01T17:26:02Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\",\"comments\":\"\",\"legacy_subtitle_id\":7528072,\"legacy_uploader_id\":2592971,\"uploader\":{\"uploader_id\":69404,\"name\":\"maxoudela\",\"rank\":\"Gold member\"},\"feature_details\":{\"feature_id\":429415,\"feature_type\":\"Episode\",\"year\":2015,\"title\":\"Man of Steel\",\"movie_name\":\"Supergirl - S04E03 L'\xE2ge de l'acier\",\"imdb_id\":8685330,\"tmdb_id\":1593206,\"season_number\":4,\"episode_number\":3,\"parent_imdb_id\":4016454,\"parent_title\":\"Supergirl\",\"parent_tmdb_id\":62688,\"parent_feature_id\":15301},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/7528072\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Supergirl\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/15301\",\"img_url\":\"https://s9.opensubtitles.com/features/5/1/4/429415.jpg\"},{\"label\":\"All subtitles for Episode man of steel\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/429415\"}],\"files\":[{\"file_id\":4737481,\"cd_number\":1,\"file_name\":\"Supergirl.S04E03.720p.HDTV.x264-AVS\"}]}},{\"id\":\"1546744\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"1546744\",\"language\":\"fr\",\"download_count\":87,\"new_download_count\":3,\"hearing_impaired\":false,\"hd\":true,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":true,\"foreign_parts_only\":false,\"upload_date\":\"2012-05-11T12:51:44Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\",\"comments\":\"\",\"legacy_subtitle_id\":4545822,\"legacy_uploader_id\":1465168,\"uploader\":{\"uploader_id\":60242,\"name\":\"subth1ck\",\"rank\":\"trusted\"},\"feature_details\":{\"feature_id\":116746,\"feature_type\":\"Episode\",\"year\":2006,\"title\":\"Man of Steele\",\"movie_name\":\"Standoff - S1E7 \\\"Standoff\\\" Man of Steele\",\"imdb_id\":852891,\"tmdb_id\":1210425,\"season_number\":1,\"episode_number\":7,\"parent_imdb_id\":756582,\"parent_title\":\"Standoff\",\"parent_tmdb_id\":630,\"parent_feature_id\":8050},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/4545822\",\"related_links\":[{\"label\":\"All subtitles for Tv Show Standoff\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/8050\",\"img_url\":\"https://s9.opensubtitles.com/features/6/4/7/116746.jpg\"},{\"label\":\"All subtitles for Episode man of steele\",\"url\":\"https://www.opensubtitles.com/fr/features/redirect/116746\"}],\"files\":[{\"file_id\":1638900,\"cd_number\":1,\"file_name\":\"Standoff[1].S01E07.hdtv.xvid-xor.VF\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9965cbbe1998d-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:32 GMT Last-Modified: - Mon, 27 May 2024 22:54:32 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=pHuNIiHfopaVRT1iq2KGkCnfSn8mFxZ%2B6WPUSM1rMQgc5tLtJbsB5CeQIXLu78HSbwzXVrOZbgZ8sIiYVNMfvVTPtNNc4Wn%2Bj924D5%2BrY%2BYqMEJYDOUspn%2By91qJkNS4fk7vD1JYfp8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '28' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - cb9bf36e-7399-4efe-ac09-e50630652a4a X-Runtime: - '0.026282' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_query_season_episode.yaml0000644000175100001770000003412314636376416031436 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=5&languages=de&page=1&query=the+big+bang+theory&season_number=7 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9966c1c0d2155-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:34 GMT Location: - /api/v1/subtitles?episode_number=5&languages=de&query=the+big+bang+theory&season_number=7 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=K4TUT9usKxZzOoQRyiX%2BqOQaC1CzA93gZRFtJb7jDaNUo0tgQ%2BQ6UQfMtcNEWki1mbS4gn2UhY5zalEx2xAYpdGsALPrfch2q7XfYeAt1B6mWfRN59O8DpU67pQ2Q%2FOgtOkPpC91zPg%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '108039496' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=5&languages=de&query=the+big+bang+theory&season_number=7 response: body: string: '{"total_pages":1,"total_count":2,"per_page":60,"page":1,"data":[{"id":"2748964","type":"subtitle","attributes":{"subtitle_id":"2748964","language":"de","download_count":17595,"new_download_count":111,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-19T09:58:22Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.de-SC+TV4U","comments":"","legacy_subtitle_id":5230500,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":160627,"feature_type":"Episode","year":2013,"title":"The Workplace Proximity","movie_name":"The Big Bang Theory - S7E5 \"The Big Bang Theory\" The Workplace Proximity","imdb_id":3229392,"tmdb_id":64782,"season_number":7,"episode_number":5,"parent_imdb_id":898266,"parent_title":"The Big Bang Theory","parent_tmdb_id":1418,"parent_feature_id":8620},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5230500","related_links":[{"label":"All subtitles for Tv Show The Big Bang Theory","url":"https://www.opensubtitles.com/de/features/redirect/8620","img_url":"https://s9.opensubtitles.com/features/7/2/6/160627.jpg"},{"label":"All subtitles for Episode the workplace proximity","url":"https://www.opensubtitles.com/de/features/redirect/160627"}],"files":[{"file_id":2822058,"cd_number":1,"file_name":"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.de-SC+TV4U"}]}},{"id":"4662161","type":"subtitle","attributes":{"subtitle_id":"4662161","language":"de","download_count":315,"new_download_count":163,"hearing_impaired":true,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2018-12-31T06:00:27Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Big.Bang.Theory.S07E05.German.DL.1080p.BluRay.x264","comments":"","legacy_subtitle_id":7593069,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":160627,"feature_type":"Episode","year":2013,"title":"The Workplace Proximity","movie_name":"The Big Bang Theory - S07E05 The Workplace Proximity","imdb_id":3229392,"tmdb_id":64782,"season_number":7,"episode_number":5,"parent_imdb_id":898266,"parent_title":"The Big Bang Theory","parent_tmdb_id":1418,"parent_feature_id":8620},"url":"https://www.opensubtitles.com/de/subtitles/legacy/7593069","related_links":[{"label":"All subtitles for Tv Show The Big Bang Theory","url":"https://www.opensubtitles.com/de/features/redirect/8620","img_url":"https://s9.opensubtitles.com/features/7/2/6/160627.jpg"},{"label":"All subtitles for Episode the workplace proximity","url":"https://www.opensubtitles.com/de/features/redirect/160627"}],"files":[{"file_id":4785161,"cd_number":1,"file_name":"The.Big.Bang.Theory.S07E05.German.DL.1080p.BluRay.x264-iND"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9966d3a123ce7-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:35 GMT Last-Modified: - Mon, 27 May 2024 22:54:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=QobQNNwc6yPqDg1vf5%2BUgTe5kMXbrGp1smw5bUh0zCNpe405OqDNWjGP2xOpZ3MKoKBgBu0wXytPrIfkeJZcv540zrt99YVTKXCZfCbTBswFu8RK%2BStKL0Bjo%2FQCsjYl1PY1grcFlW0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '45' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - b81ffb98-dc2c-4bb3-85db-5236bc58be8b X-Runtime: - '0.043002' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=5&languages=de&page=1&query=the+big+bang+theory&season_number=7 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '1' CF-Cache-Status: - HIT CF-RAY: - 88a9966e9b7e99e8-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:35 GMT Location: - /api/v1/subtitles?episode_number=5&languages=de&query=the+big+bang+theory&season_number=7 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=VFwGdBaZr1BIYav54WgJ5ADJTjOdc31C%2BXR3UaxMCFE%2FLCkLoNIK1pmXWp4eqghzLpeHzZYYjPB2EfwNs9jPQUtvwicxC9cst0llyTsXz%2BeYxMPNZ6b%2B%2B7%2BntI5ATgbgGfWbj%2Bc%2BOo0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '108039496' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=5&languages=de&query=the+big+bang+theory&season_number=7 response: body: string: '{"total_pages":1,"total_count":2,"per_page":60,"page":1,"data":[{"id":"2748964","type":"subtitle","attributes":{"subtitle_id":"2748964","language":"de","download_count":17595,"new_download_count":111,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2013-10-19T09:58:22Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.de-SC+TV4U","comments":"","legacy_subtitle_id":5230500,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":160627,"feature_type":"Episode","year":2013,"title":"The Workplace Proximity","movie_name":"The Big Bang Theory - S7E5 \"The Big Bang Theory\" The Workplace Proximity","imdb_id":3229392,"tmdb_id":64782,"season_number":7,"episode_number":5,"parent_imdb_id":898266,"parent_title":"The Big Bang Theory","parent_tmdb_id":1418,"parent_feature_id":8620},"url":"https://www.opensubtitles.com/de/subtitles/legacy/5230500","related_links":[{"label":"All subtitles for Tv Show The Big Bang Theory","url":"https://www.opensubtitles.com/de/features/redirect/8620","img_url":"https://s9.opensubtitles.com/features/7/2/6/160627.jpg"},{"label":"All subtitles for Episode the workplace proximity","url":"https://www.opensubtitles.com/de/features/redirect/160627"}],"files":[{"file_id":2822058,"cd_number":1,"file_name":"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.de-SC+TV4U"}]}},{"id":"4662161","type":"subtitle","attributes":{"subtitle_id":"4662161","language":"de","download_count":315,"new_download_count":163,"hearing_impaired":true,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2018-12-31T06:00:27Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Big.Bang.Theory.S07E05.German.DL.1080p.BluRay.x264","comments":"","legacy_subtitle_id":7593069,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":160627,"feature_type":"Episode","year":2013,"title":"The Workplace Proximity","movie_name":"The Big Bang Theory - S07E05 The Workplace Proximity","imdb_id":3229392,"tmdb_id":64782,"season_number":7,"episode_number":5,"parent_imdb_id":898266,"parent_title":"The Big Bang Theory","parent_tmdb_id":1418,"parent_feature_id":8620},"url":"https://www.opensubtitles.com/de/subtitles/legacy/7593069","related_links":[{"label":"All subtitles for Tv Show The Big Bang Theory","url":"https://www.opensubtitles.com/de/features/redirect/8620","img_url":"https://s9.opensubtitles.com/features/7/2/6/160627.jpg"},{"label":"All subtitles for Episode the workplace proximity","url":"https://www.opensubtitles.com/de/features/redirect/160627"}],"files":[{"file_id":4785161,"cd_number":1,"file_name":"The.Big.Bang.Theory.S07E05.German.DL.1080p.BluRay.x264-iND"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - HIT CF-RAY: - 88a9966f5c7499c8-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:35 GMT Last-Modified: - Mon, 27 May 2024 22:54:35 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=s48Dm4lRhMKSebQU9tJCQM%2FMgxFLlJlfjsRyNRFozdtPLP7ae7FKOuN3fbfq%2B2oKi8G0fw%2F1NX1j1yn2uB3OWswSsGAcTDGoedbohd0kVa1HZid29DX3mAwHIPnmRxfz%2FI4XDcwLkPs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb11 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '45' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - b81ffb98-dc2c-4bb3-85db-5236bc58be8b X-Runtime: - '0.043002' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_tag_movie.yaml0000644000175100001770000001506614636376416027170 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=fr&page=1&query=enders.game.2013.720p.bluray.x264-sparks.mkv response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a996620f46f85c-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:33 GMT Location: - /api/v1/subtitles?languages=fr&query=enders.game.2013.720p.bluray.x264-sparks.mkv NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=VgRWYZ7Qom5z%2Byqzcp4GDX4ZbT1XxXtNLedfU5RQpJtsG1N6R%2BOPekPaWBTkQGMk%2FQEuMQeDX1sy%2FgY854BBujA2mxPCuzGN534ZCZx3YN6rxSXkQL0tzjbGWtwoFUcv0%2FPQa%2F653xs%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '111263614' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=fr&query=enders.game.2013.720p.bluray.x264-sparks.mkv response: body: string: "{\"total_pages\":1,\"total_count\":2,\"per_page\":60,\"page\":1,\"data\":[{\"id\":\"938965\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"938965\",\"language\":\"fr\",\"download_count\":21081,\"new_download_count\":671,\"hearing_impaired\":false,\"hd\":true,\"fps\":23.976,\"votes\":1,\"ratings\":10.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2014-02-09T15:28:46Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Enders.Game.2013.BDRip.X264-SPARKS\",\"comments\":\"\",\"legacy_subtitle_id\":5532921,\"legacy_uploader_id\":1656162,\"uploader\":{\"uploader_id\":65416,\"name\":\"dumbojet\",\"rank\":\"Bronze Member\"},\"feature_details\":{\"feature_id\":586791,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Ender's Game\",\"movie_name\":\"2013 - La Strat\xE9gie Ender\",\"imdb_id\":1731141,\"tmdb_id\":80274},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5532921\",\"related_links\":[{\"label\":\"All subtitles for ender's game\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-ender-s-game\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/7/586791.jpg\"}],\"files\":[{\"file_id\":1023065,\"cd_number\":1,\"file_name\":\"Enders.Game.2013.BDRip.X264-SPARKS\"}]}},{\"id\":\"940630\",\"type\":\"subtitle\",\"attributes\":{\"subtitle_id\":\"940630\",\"language\":\"fr\",\"download_count\":1713,\"new_download_count\":25,\"hearing_impaired\":false,\"hd\":false,\"fps\":0.0,\"votes\":0,\"ratings\":0.0,\"from_trusted\":false,\"foreign_parts_only\":false,\"upload_date\":\"2014-12-29T03:32:34Z\",\"ai_translated\":false,\"nb_cd\":1,\"machine_translated\":false,\"release\":\"Ender's Game 2013 KORSUB HDRip XViD NO1KNOWS\",\"comments\":\"\",\"legacy_subtitle_id\":5982036,\"legacy_uploader_id\":0,\"uploader\":{\"uploader_id\":3282,\"name\":\"os-auto\",\"rank\":\"Application Developers\"},\"feature_details\":{\"feature_id\":586791,\"feature_type\":\"Movie\",\"year\":2013,\"title\":\"Ender's Game\",\"movie_name\":\"2013 - Ender's Game\",\"imdb_id\":1731141,\"tmdb_id\":80274},\"url\":\"https://www.opensubtitles.com/fr/subtitles/legacy/5982036\",\"related_links\":[{\"label\":\"All subtitles for ender's game\",\"url\":\"https://www.opensubtitles.com/fr/movies/2013-ender-s-game\",\"img_url\":\"https://s9.opensubtitles.com/features/1/9/7/586791.jpg\"}],\"files\":[{\"file_id\":1024868,\"cd_number\":1,\"file_name\":\"Enders Game 2013 KORSUB HDRip XViD NO1KNOWS-fre\"}]}}]}" headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99663098d0417-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:33 GMT Last-Modified: - Mon, 27 May 2024 22:54:33 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=gkxlf31LntGwel%2Fp99Wf9LyZ6xjKYHRoxTrS8qN7TNfb4MqxAGlujDeTwCTEq8AxqySOWbkqkck3zt5VtCQ3iUWRoZCvqvFHc7RjHBmYHtdOlUqAQ%2FJGXwoA43Aukg2t0ea1A9n8M4Y%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '2' X-Kong-Upstream-Latency: - '81' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 76bb0451-dc85-425e-898f-781bcf46ce4c X-Runtime: - '0.072463' X-StackifyID: - V1|c66a9bb7-2af4-49d8-ac30-df6518d44dd3|C98184|CD5 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_query_wrong_hash_wrong_size.yaml0000644000175100001770000000607114636376416031617 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=en&moviehash=123456787654321&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '54' CF-Cache-Status: - HIT CF-RAY: - 88a997be3bed99b0-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:55:28 GMT Location: - /api/v1/subtitles?languages=en&moviehash=123456787654321 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ecIeYUvbUKBLskCFaNftQYFtrnEq5R14h83Zqyks86%2Fpf1Y%2BRLEokQo54evQfdSQH2mzPWIu2YtfBOAHAW90Lpt1NggpeJ4KmQw43epMNiiCw%2BdZn06LhbNXsFBm2O4TqR9pzjGLCYc%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '91158584' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?languages=en&moviehash=123456787654321 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' Age: - '55' CF-Cache-Status: - HIT CF-RAY: - 88a997bfee2f99eb-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:55:29 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=xk%2Bgtl%2BV5wqogbCM5nnrWbulDk5GeJQSESAm1AoIteCWxZWpib0qVeULYsLd2iffeUhV3xzs0927RORVRs%2B5dwiBShQhWFSrkh9wsQ%2BS7IBROJx3EQOIxkJvRBJoTU4Jk%2Fa4PWIYKoE%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Reason: - Request parameters does not make sense, moviehash is wrong X-Varnish: - '89607968' alt-svc: - h3=":443"; ma=86400 status: code: 400 message: Bad Request version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_tag_match.yaml0000644000175100001770000007427514636376416025727 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=1&imdb_id=4516230&languages=pt-br&page=1&query=the+fall&season_number=3 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99688d9b33d17-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:39 GMT Location: - /api/v1/subtitles?episode_number=1&imdb_id=4516230&languages=pt-br&query=the+fall&season_number=3 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=FHZjeNfyoTxi9E17TNOIhshdazNv5X%2FDeO1C4vhR2tsRuOOW9fCvdtNons%2FmVvSrbdJhUjtwNcZA7fdSuVv4cSOuX84nnPsSSz48mgwZsWCMABAaaa8kb8XrTf7SU4BnNBGHmUNSkmw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '111487182' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=1&imdb_id=4516230&languages=pt-br&query=the+fall&season_number=3 response: body: string: '{"total_pages":0,"total_count":0,"per_page":60,"page":1,"data":[]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a99689eb983cc5-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:39 GMT Last-Modified: - Mon, 27 May 2024 22:54:39 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=D5Wwol77vN2xuRnO%2F5DsbHltwqsLhiL3ATRNDBE%2Fc4%2B02LuTwWJnPDh52DW%2FE%2FlzDdIsg2l5oh1ioYctHKm7GYDPS34KFxBwD0yvhkVpeJZQpu9nHjBFjZuCL1XiVpetBRo5oM9yar8%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '1' X-Kong-Upstream-Latency: - '38' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - eebe5ef6-5b73-400d-8fa5-6d505ff4da66 X-Runtime: - '0.031087' X-StackifyID: - V1|3c0e0ebb-f272-4443-bd85-6455bf0da67c|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=4516230&languages=pt-br&page=1 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9968b3a8f99ce-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:39 GMT Location: - /api/v1/subtitles?imdb_id=4516230&languages=pt-br NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=7JG6NNgaOTgBV%2BGFPR2mBKTzEElgwQsr5Uc6UP3Czzwr61il0kIHO79FaoigsAwnZ9bBpsIJtPK7dlJedy6a8a4aLhtrruUieFO0XFsB08XkNVJWUwpaObMIHyOF2otZn02FHqAlAF0%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '100718861' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?imdb_id=4516230&languages=pt-br response: body: string: '{"total_pages":1,"total_count":2,"per_page":60,"page":1,"data":[{"id":"3936502","type":"subtitle","attributes":{"subtitle_id":"3936502","language":"pt-BR","download_count":2817,"new_download_count":38,"hearing_impaired":false,"hd":true,"fps":50.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-10-03T21:13:57Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Fall.S03E01.720p.HDTV.x264-FoV[eztv]","comments":"","legacy_subtitle_id":6753582,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":374751,"feature_type":"Episode","year":2016,"title":"Episode One","movie_name":"The Fall - S03E01 Episode One","imdb_id":4516230,"tmdb_id":1223686,"season_number":3,"episode_number":1,"parent_imdb_id":2294189,"parent_title":"The Fall","parent_tmdb_id":49010,"parent_feature_id":13091},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6753582","related_links":[{"label":"All subtitles for Tv Show The Fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/13091","img_url":"https://s9.opensubtitles.com/features/1/5/7/374751.jpg"},{"label":"All subtitles for Episode episode one","url":"https://www.opensubtitles.com/pt-BR/features/redirect/374751"}],"files":[{"file_id":4014152,"cd_number":1,"file_name":"The.Fall.S03E01.720p.HDTV.x264-FoV[eztv]"}]}},{"id":"3937531","type":"subtitle","attributes":{"subtitle_id":"3937531","language":"pt-BR","download_count":866,"new_download_count":11,"hearing_impaired":false,"hd":true,"fps":25.0,"votes":0,"ratings":0.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2016-10-20T02:41:08Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Fall.S03E01.HDTV.x264-TLA-AFG-FoV-mSD-RBB","comments":"","legacy_subtitle_id":6769109,"legacy_uploader_id":1267974,"uploader":{"uploader_id":55587,"name":"marocas62","rank":"subtranslator"},"feature_details":{"feature_id":374751,"feature_type":"Episode","year":2016,"title":"Episode One","movie_name":"The Fall - S3E1 \"The Fall\" Silence and Suffering","imdb_id":4516230,"tmdb_id":1223686,"season_number":3,"episode_number":1,"parent_imdb_id":2294189,"parent_title":"The Fall","parent_tmdb_id":49010,"parent_feature_id":13091},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6769109","related_links":[{"label":"All subtitles for Tv Show The Fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/13091","img_url":"https://s9.opensubtitles.com/features/1/5/7/374751.jpg"},{"label":"All subtitles for Episode episode one","url":"https://www.opensubtitles.com/pt-BR/features/redirect/374751"}],"files":[{"file_id":4015178,"cd_number":1,"file_name":"The Fall S03E01 HDTV x264-RBB BR-PORT"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9968c2aa603f5-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:40 GMT Last-Modified: - Mon, 27 May 2024 22:54:40 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=bxh0j5NJl%2FAw4eoFZfyC29Xaq5CIydhYn7w7G%2FMaLFiMGnoeFC3PRD9Asysq%2F1ZDahQ9do3UsKYVUfUXvfZU86UeB9Da36KbPmr2XxxEuFypfQIao9vPdRRdk40crgOUeYuO0rOYtag%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '19' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - f9a87bd8-8850-4b72-a2a0-39dcc027909d X-Runtime: - '0.017464' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=1&languages=pt-br&page=1&query=the+fall&season_number=3 response: body: string: '' headers: Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9968d3ab70477-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Length: - '0' Date: - Mon, 27 May 2024 22:54:40 GMT Location: - /api/v1/subtitles?episode_number=1&languages=pt-br&query=the+fall&season_number=3 NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=h8%2FO%2B%2BktVSISrl2Hy7tNl9OZEDp69IJNIynYv3NS%2FQmIhWl7JTQvAGs%2BYHGfD7uCpCOlPfbZbbPL1%2Fd4DeQpP4Du04rRBV2RaliXtZuZK8rIUwMPjD6yuUWRwBaDBqJ0STiCpbYJaOA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Vary: - Accept-Encoding X-Content-Type-Options: - nosniff X-Varnish: - '114529928' alt-svc: - h3=":443"; ma=86400 status: code: 301 message: Moved Permanently - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/subtitles?episode_number=1&languages=pt-br&query=the+fall&season_number=3 response: body: string: '{"total_pages":1,"total_count":11,"per_page":60,"page":1,"data":[{"id":"3004905","type":"subtitle","attributes":{"subtitle_id":"3004905","language":"pt-BR","download_count":5865,"new_download_count":12,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2016-11-10T04:21:09Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"HDTV.x264-KILLERS-FUM-KILLERS","comments":"","legacy_subtitle_id":6791294,"legacy_uploader_id":378614,"uploader":{"uploader_id":40309,"name":"clazevedo","rank":"translator"},"feature_details":{"feature_id":401839,"feature_type":"Episode","year":2016,"title":"After the Fall","movie_name":"Salem - S03E01 After the Fall","imdb_id":4853240,"tmdb_id":1217259,"season_number":3,"episode_number":1,"parent_imdb_id":2963254,"parent_title":"Salem","parent_tmdb_id":60905,"parent_feature_id":14405},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6791294","related_links":[{"label":"All subtitles for Tv Show Salem","url":"https://www.opensubtitles.com/pt-BR/features/redirect/14405","img_url":"https://s9.opensubtitles.com/features/9/3/8/401839.jpg"},{"label":"All subtitles for Episode after the fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/401839"}],"files":[{"file_id":3075098,"cd_number":1,"file_name":"Salem.S03E01.720p.HDTV.x264-KILLERS"}]}},{"id":"3936502","type":"subtitle","attributes":{"subtitle_id":"3936502","language":"pt-BR","download_count":2817,"new_download_count":38,"hearing_impaired":false,"hd":true,"fps":50.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-10-03T21:13:57Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Fall.S03E01.720p.HDTV.x264-FoV[eztv]","comments":"","legacy_subtitle_id":6753582,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":374751,"feature_type":"Episode","year":2016,"title":"Episode One","movie_name":"The Fall - S03E01 Episode One","imdb_id":4516230,"tmdb_id":1223686,"season_number":3,"episode_number":1,"parent_imdb_id":2294189,"parent_title":"The Fall","parent_tmdb_id":49010,"parent_feature_id":13091},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6753582","related_links":[{"label":"All subtitles for Tv Show The Fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/13091","img_url":"https://s9.opensubtitles.com/features/1/5/7/374751.jpg"},{"label":"All subtitles for Episode episode one","url":"https://www.opensubtitles.com/pt-BR/features/redirect/374751"}],"files":[{"file_id":4014152,"cd_number":1,"file_name":"The.Fall.S03E01.720p.HDTV.x264-FoV[eztv]"}]}},{"id":"2852678","type":"subtitle","attributes":{"subtitle_id":"2852678","language":"pt-BR","download_count":1206,"new_download_count":34,"hearing_impaired":false,"hd":false,"fps":25.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2014-08-17T05:17:21Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Doc.Martin.S03E01.(24 September 2007).[TVRip (Xvid)]","comments":"","legacy_subtitle_id":5790997,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":217864,"feature_type":"Episode","year":2007,"title":"The Apple Doesn''t Fall","movie_name":"Doc Martin - S03E01 The Apple Doesn''t Fall","imdb_id":1111524,"tmdb_id":183215,"season_number":3,"episode_number":1,"parent_imdb_id":408381,"parent_title":"Doc Martin","parent_tmdb_id":2430,"parent_feature_id":9526},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/5790997","related_links":[{"label":"All subtitles for Tv Show Doc Martin","url":"https://www.opensubtitles.com/pt-BR/features/redirect/9526","img_url":"https://s9.opensubtitles.com/features/4/6/8/217864.jpg"},{"label":"All subtitles for Episode the apple doesn''t fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/217864"}],"files":[{"file_id":2924588,"cd_number":1,"file_name":"Doc.Martin.S03E01.(24 September 2007).[TVRip (Xvid)]-spa"}]}},{"id":"3004939","type":"subtitle","attributes":{"subtitle_id":"3004939","language":"pt-BR","download_count":1127,"new_download_count":12,"hearing_impaired":false,"hd":true,"fps":23.976,"votes":0,"ratings":0.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2016-11-10T04:24:45Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"720p-1080p.WEB-DL.DD5.1.H.264-DRACULA","comments":"","legacy_subtitle_id":6791295,"legacy_uploader_id":378614,"uploader":{"uploader_id":40309,"name":"clazevedo","rank":"translator"},"feature_details":{"feature_id":401839,"feature_type":"Episode","year":2016,"title":"After the Fall","movie_name":"Salem - S03E01 \"Salem\" After the Fall","imdb_id":4853240,"tmdb_id":1217259,"season_number":3,"episode_number":1,"parent_imdb_id":2963254,"parent_title":"Salem","parent_tmdb_id":60905,"parent_feature_id":14405},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6791295","related_links":[{"label":"All subtitles for Tv Show Salem","url":"https://www.opensubtitles.com/pt-BR/features/redirect/14405","img_url":"https://s9.opensubtitles.com/features/9/3/8/401839.jpg"},{"label":"All subtitles for Episode after the fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/401839"}],"files":[{"file_id":3075133,"cd_number":1,"file_name":"Salem.S03E01.1080p.WEB-DL.DD5.1.H.264-DRACULA"}]}},{"id":"3937531","type":"subtitle","attributes":{"subtitle_id":"3937531","language":"pt-BR","download_count":866,"new_download_count":11,"hearing_impaired":false,"hd":true,"fps":25.0,"votes":0,"ratings":0.0,"from_trusted":true,"foreign_parts_only":false,"upload_date":"2016-10-20T02:41:08Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"The.Fall.S03E01.HDTV.x264-TLA-AFG-FoV-mSD-RBB","comments":"","legacy_subtitle_id":6769109,"legacy_uploader_id":1267974,"uploader":{"uploader_id":55587,"name":"marocas62","rank":"subtranslator"},"feature_details":{"feature_id":374751,"feature_type":"Episode","year":2016,"title":"Episode One","movie_name":"The Fall - S3E1 \"The Fall\" Silence and Suffering","imdb_id":4516230,"tmdb_id":1223686,"season_number":3,"episode_number":1,"parent_imdb_id":2294189,"parent_title":"The Fall","parent_tmdb_id":49010,"parent_feature_id":13091},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6769109","related_links":[{"label":"All subtitles for Tv Show The Fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/13091","img_url":"https://s9.opensubtitles.com/features/1/5/7/374751.jpg"},{"label":"All subtitles for Episode episode one","url":"https://www.opensubtitles.com/pt-BR/features/redirect/374751"}],"files":[{"file_id":4015178,"cd_number":1,"file_name":"The Fall S03E01 HDTV x264-RBB BR-PORT"}]}},{"id":"7046307","type":"subtitle","attributes":{"subtitle_id":"7046307","language":"pt-BR","download_count":860,"new_download_count":1,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-11-04T10:31:37Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]","comments":"","legacy_subtitle_id":6784308,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":401839,"feature_type":"Episode","year":2016,"title":"After the Fall","movie_name":"Salem - S03E01 After the Fall","imdb_id":4853240,"tmdb_id":1217259,"season_number":3,"episode_number":1,"parent_imdb_id":2963254,"parent_title":"Salem","parent_tmdb_id":60905,"parent_feature_id":14405},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6784308","related_links":[{"label":"All subtitles for Tv Show Salem","url":"https://www.opensubtitles.com/pt-BR/features/redirect/14405","img_url":"https://s9.opensubtitles.com/features/9/3/8/401839.jpg"},{"label":"All subtitles for Episode after the fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/401839"}],"files":[{"file_id":7987169,"cd_number":1,"file_name":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]"}]}},{"id":"7046347","type":"subtitle","attributes":{"subtitle_id":"7046347","language":"pt-BR","download_count":365,"new_download_count":4,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":1,"ratings":5.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-11-04T12:05:40Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]","comments":"","legacy_subtitle_id":6784338,"legacy_uploader_id":1441666,"uploader":{"uploader_id":59468,"name":"slayer999","rank":"Sub leecher"},"feature_details":{"feature_id":401839,"feature_type":"Episode","year":2016,"title":"After the Fall","movie_name":"Salem - S03E01 After the Fall","imdb_id":4853240,"tmdb_id":1217259,"season_number":3,"episode_number":1,"parent_imdb_id":2963254,"parent_title":"Salem","parent_tmdb_id":60905,"parent_feature_id":14405},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6784338","related_links":[{"label":"All subtitles for Tv Show Salem","url":"https://www.opensubtitles.com/pt-BR/features/redirect/14405","img_url":"https://s9.opensubtitles.com/features/9/3/8/401839.jpg"},{"label":"All subtitles for Episode after the fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/401839"}],"files":[{"file_id":7987192,"cd_number":1,"file_name":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]"}]}},{"id":"5043877","type":"subtitle","attributes":{"subtitle_id":"5043877","language":"pt-BR","download_count":289,"new_download_count":7,"hearing_impaired":false,"hd":false,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2019-03-09T03:33:46Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Doc Martin S03E01 The Apple Doesnt Fall","comments":"","legacy_subtitle_id":7680735,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":217864,"feature_type":"Episode","year":2007,"title":"The Apple Doesn''t Fall","movie_name":"Doc Martin - S03E01 The Apple Doesn''t Fall","imdb_id":1111524,"tmdb_id":183215,"season_number":3,"episode_number":1,"parent_imdb_id":408381,"parent_title":"Doc Martin","parent_tmdb_id":2430,"parent_feature_id":9526},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/7680735","related_links":[{"label":"All subtitles for Tv Show Doc Martin","url":"https://www.opensubtitles.com/pt-BR/features/redirect/9526","img_url":"https://s9.opensubtitles.com/features/4/6/8/217864.jpg"},{"label":"All subtitles for Episode the apple doesn''t fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/217864"}],"files":[{"file_id":5161591,"cd_number":1,"file_name":"Doc Martin S03E01 The Apple Doesnt Fall"}]}},{"id":"7046329","type":"subtitle","attributes":{"subtitle_id":"7046329","language":"pt-BR","download_count":169,"new_download_count":1,"hearing_impaired":false,"hd":true,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2016-11-04T10:41:16Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]","comments":"there is an error code in the previous , i correct in this one","legacy_subtitle_id":6784309,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":401839,"feature_type":"Episode","year":2016,"title":"After the Fall","movie_name":"Salem - S03E01 After the Fall","imdb_id":4853240,"tmdb_id":1217259,"season_number":3,"episode_number":1,"parent_imdb_id":2963254,"parent_title":"Salem","parent_tmdb_id":60905,"parent_feature_id":14405},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/6784309","related_links":[{"label":"All subtitles for Tv Show Salem","url":"https://www.opensubtitles.com/pt-BR/features/redirect/14405","img_url":"https://s9.opensubtitles.com/features/9/3/8/401839.jpg"},{"label":"All subtitles for Episode after the fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/401839"}],"files":[{"file_id":7987180,"cd_number":1,"file_name":"Salem.S03E01.720p.HDTV.x264-KILLERS[ettv]"}]}},{"id":"5125331","type":"subtitle","attributes":{"subtitle_id":"5125331","language":"pt-BR","download_count":168,"new_download_count":10,"hearing_impaired":false,"hd":false,"fps":0.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2020-06-10T01:23:32Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Doc Martin - 3x01 - The Apple Doesn''t Fall.port","comments":"","legacy_subtitle_id":8241276,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":217864,"feature_type":"Episode","year":2007,"title":"The Apple Doesn''t Fall","movie_name":"Doc Martin - S03E01 \"Doc Martin\" The Apple Doesn''t Fall","imdb_id":1111524,"tmdb_id":183215,"season_number":3,"episode_number":1,"parent_imdb_id":408381,"parent_title":"Doc Martin","parent_tmdb_id":2430,"parent_feature_id":9526},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/8241276","related_links":[{"label":"All subtitles for Tv Show Doc Martin","url":"https://www.opensubtitles.com/pt-BR/features/redirect/9526","img_url":"https://s9.opensubtitles.com/features/4/6/8/217864.jpg"},{"label":"All subtitles for Episode the apple doesn''t fall","url":"https://www.opensubtitles.com/pt-BR/features/redirect/217864"}],"files":[{"file_id":5236106,"cd_number":1,"file_name":"Doc Martin - 3x01 - The Apple Doesnt Fall.port.br"}]}},{"id":"5118726","type":"subtitle","attributes":{"subtitle_id":"5118726","language":"pt-BR","download_count":52,"new_download_count":46,"hearing_impaired":false,"hd":false,"fps":60.0,"votes":0,"ratings":0.0,"from_trusted":false,"foreign_parts_only":false,"upload_date":"2020-05-01T14:58:08Z","ai_translated":false,"nb_cd":1,"machine_translated":false,"release":"Renegado 3 temporada ep1","comments":"","legacy_subtitle_id":8192907,"legacy_uploader_id":0,"uploader":{"uploader_id":3282,"name":"os-auto","rank":"Application Developers"},"feature_details":{"feature_id":372940,"feature_type":"Episode","year":1994,"title":"Dutch On the Run (1)","movie_name":"O Renegado - S03E01 Dutch On the Run (1)","imdb_id":685053,"tmdb_id":956021,"season_number":3,"episode_number":1,"parent_imdb_id":103524,"parent_title":"Renegade","parent_tmdb_id":600,"parent_feature_id":12976},"url":"https://www.opensubtitles.com/pt-BR/subtitles/legacy/8192907","related_links":[{"label":"All subtitles for Tv Show Renegade","url":"https://www.opensubtitles.com/pt-BR/features/redirect/12976","img_url":"https://s9.opensubtitles.com/features/0/4/9/372940.jpg"},{"label":"All subtitles for Episode dutch on the run (1)","url":"https://www.opensubtitles.com/pt-BR/features/redirect/372940"}],"files":[{"file_id":5229907,"cd_number":1,"file_name":"Renegado 3 temporada ep1"}]}}]}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - MISS CF-RAY: - 88a9968e3ddc3cfe-CDG Cache-Control: - public, max-age=86400 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Mon, 27 May 2024 22:54:40 GMT Last-Modified: - Mon, 27 May 2024 22:54:40 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '3' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=nmJLEsb8PZzdLqH3nciODDlnQEK1ur0e0ZB644q3zbg3tLcV%2FEZaqt7WePcTF%2FAXG%2B9qcWCBOojsuGVju90SK6YeuM4e6Z5tNqMd%2BDn5qUBZN0KhVWG26Wsh6GDtL3YhS8ufZjnhHCE%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '40' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '3' X-Request-Id: - 59a939d0-977a-4f63-820e-e200ae74324a X-Runtime: - '0.038397' X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/opensubtitlescom/test_user_infos.yaml0000644000175100001770000001311414636376416026135 0ustar00runnerdockerinteractions: - request: body: '{"username": "python-subliminal-test", "password": "subliminal"}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Connection: - keep-alive Content-Length: - '69' Content-Type: - application/json User-Agent: - Subliminal v2.1 method: POST uri: https://api.opensubtitles.com/api/v1/login response: body: string: '{"user":{"allowed_translations":1,"allowed_downloads":20,"level":"Sub leecher","user_id":699022,"ext_installed":false,"vip":false},"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtUGROdTJ1VjFTS3h2UFRZSFdWeXpadkpueDFTSWZBSiIsImV4cCI6MTcxNzAxNzE0MX0.A5LXYXrqeO2oqjWyD9ae0vynCO8x551HK3kblu1kXkw","status":200,"base_url":"api.opensubtitles.com"}' headers: Access-Control-Allow-Headers: - Origin, Authorization, Accept, Api-Key, Content-Type, X-User-Agent Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' Age: - '0' CF-Cache-Status: - DYNAMIC CF-RAY: - 88b13e0ca8f5999f-CDG Cache-Control: - max-age=0, private, must-revalidate, s-maxage=600 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:21 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '1' RateLimit-Remaining: - '0' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=cg%2B00sKzq%2Fk27%2FsWyXnxV90QCzhmxYUFTC74%2FH8YjH4PgN3jyVQk4Rt9HJNcCOSrW5YzaNsMwljIkBTccnMq911ZXeFDXjRX4ivbwYncaWN9Ut%2Fa70uQ672hNozKxz4XoocD2T8ijnw%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked X-Cache-Backend: - apigw1_8000 rb1-temp X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '0' X-Kong-Upstream-Latency: - '304' X-RateLimit-Limit-Hour: - '60' X-RateLimit-Limit-Second: - '1' X-RateLimit-Remaining-Hour: - '59' X-RateLimit-Remaining-Second: - '0' X-Request-Id: - e30cd658-fc27-4dec-a095-5f6ca217e853 X-Runtime: - '0.300627' X-Var-Cache: - MISS X-Via: - fw1 X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Api-Key: - mij33pjc3kOlup1qOKxnWWxvle2kFbMH Authorization: - Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJtUGROdTJ1VjFTS3h2UFRZSFdWeXpadkpueDFTSWZBSiIsImV4cCI6MTcxNzAxNzE0MX0.A5LXYXrqeO2oqjWyD9ae0vynCO8x551HK3kblu1kXkw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal v2.1 method: GET uri: https://api.opensubtitles.com/api/v1/infos/user response: body: string: '{"data":{"allowed_translations":1,"allowed_downloads":20,"level":"Sub leecher","user_id":699022,"ext_installed":false,"vip":false,"downloads_count":0,"remaining_downloads":20,"username":"python-subliminal-test"}}' headers: Access-Control-Allow-Methods: - GET, HEAD, POST, OPTIONS Access-Control-Allow-Origin: - '*' CF-Cache-Status: - BYPASS CF-RAY: - 88b13e0fc8e92161-CDG Cache-Control: - private, no-store Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json; charset=utf-8 Date: - Tue, 28 May 2024 21:12:21 GMT NEL: - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' RateLimit-Limit: - '5' RateLimit-Remaining: - '4' RateLimit-Reset: - '1' Report-To: - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=OL6BvXF3O7K5LFTzxbtosO4%2BCVXIK4FXtwnNnmfOmqt0foHb2CMBo9NmPgQuoVpPEV1Eq7ZH1KFdBUtLvzVAdmHfaeuvTjdbVbonmy1OU4Tpv3AX1de%2Brio5CbbKS15VMaaiy%2BE9CZA%3D"}],"group":"cf-nel","max_age":604800}' Server: - cloudflare Strict-Transport-Security: - max-age=15552000; includeSubDomains; preload Transfer-Encoding: - chunked Vary: - Accept-Encoding X-Cache-Backend: - apigw1_8000 rb7 X-Content-Type-Options: - nosniff X-Download-Options: - noopen X-Frame-Options: - SAMEORIGIN X-Kong-Proxy-Latency: - '4' X-Kong-Upstream-Latency: - '28' X-RateLimit-Limit-Second: - '5' X-RateLimit-Remaining-Second: - '4' X-Request-Id: - 23e7c628-cff7-4870-8b9e-2da137c9c48e X-Runtime: - '0.025103' X-StackifyID: - V1|1f906691-620f-4df5-946c-ecf25864791f|C98087|CD1 X-Var-Cache: - MISS X-Via: - fw1 X-Vip: - 'false' X-Vip-Consumer: - 'false' X-Vip-User: - 'false' X-XSS-Protection: - 1; mode=block alt-svc: - h3=":443"; ma=86400 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6781812 subliminal-2.2.0/tests/cassettes/podnapisi/0000755000175100001770000000000014636376432020423 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_download_subtitle.yaml0000644000175100001770000024427614636376416026111 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Man+of+Steel&movie_type=movie&language=fr&year=2013 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": false, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\"\ : \"user\"\n }, \n \"created\": \"2013-10-17T07:38:07+00:00\", \n\ \ \"custom_releases\": [\n \"Man.Of.Steel.2013.BDRip.x264-Larceny\"\ \n ], \n \"download\": \"/en/subtitles/fr-man-of-steel-2013/GMso/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"GMso\", \n \"language\": \"fr\", \n \"\ movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n\ \ \"id\": \"WIk\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"omdb:_ngG\"\n \ \ ], \n \"slug\": \"man-of-steel-2013\", \n \"title\": \"Man\ \ of Steel\", \n \"type\": \"movie\", \n \"year\": 2013\n \ \ }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 40130, \n \"characters_per_line\": 27.561813186813186,\ \ \n \"downloads\": 8242, \n \"lines\": 1456, \n \"lines_per_unit\"\ : 1.4887525562372188, \n \"parts\": 1, \n \"units\": 978\n \ \ }, \n \"url\": \"/en/subtitles/fr-man-of-steel-2013/GMso\"\n \ \ }, \n {\n \"audited\": false, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-07-26T07:10:34+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.TS.XviD-JUSTiCE\"\ , \n \"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\"\n ],\ \ \n \"download\": \"/en/subtitles/fr-man-of-steel-2013/d_Im/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"d_Im\",\ \ \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": null, \n \"id\": \"WIk\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"omdb:_ngG\"\n \ \ ], \n \"slug\": \"man-of-steel-2013\", \n \"title\": \"Man\ \ of Steel\", \n \"type\": \"movie\", \n \"year\": 2013\n \ \ }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 40131, \n \"characters_per_line\": 27.5625,\ \ \n \"downloads\": 4968, \n \"lines\": 1456, \n \"lines_per_unit\"\ : 1.4872318692543411, \n \"parts\": 1, \n \"units\": 979\n \ \ }, \n \"url\": \"/en/subtitles/fr-man-of-steel-2013/d_Im\"\n \ \ }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n\ }" headers: connection: - keep-alive content-length: - '3311' content-type: - application/json date: - Sat, 09 May 2020 10:24:44 GMT server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Man+of+Steel&movie_type=movie&language=en&year=2013 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": true, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 41840, \n \"name\": \"gilraen\", \n \"\ type\": \"user\"\n }, \n \"created\": \"2013-11-21T06:29:19+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.EXTRAS.BONUS.DISC.720p.BluRay.DTS.x264-PublicHD:\"\ , \n \"publichd.EXTRAS.Journey.Of.Discovery.Creating.Man.Of.Steel.720p\"\ , \n \"publichd.EXTRAS.Planet.Krypton.720p\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp/download\", \n \"flags\"\ : [\n \"hearing_impaired\", \n \"high_definition\"\n ],\ \ \n \"fps\": \"23.976\", \n \"id\": \"WMgp\", \n \"language\"\ : \"en\", \n \"movie\": {\n \"aliases\": [\n \"\\u010covjek\ \ od \\u010delika\", \n \"L'uomo d'acciaio\", \n \"Jekleni\ \ mo\\u017e\", \n \"El hombre de acero\", \n \"\\u010covek\ \ od \\u010delika\"\n ], \n \"episode_info\": null, \n \ \ \"id\": \"WIk\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Journey of Discovery\ \ Creating Man of Steel
\\r\\nPlanet Krypton
\\r\\n\", \n \"\ num_cds\": 2, \n \"rejected\": null, \n \"releases\": [], \n \ \ \"state\": \"\", \n \"stats\": {\n \"characters\": 133030,\ \ \n \"characters_per_line\": 29.7606263982, \n \"downloads\"\ : 20276, \n \"lines\": 4470, \n \"lines_per_unit\": 1.6494464945,\ \ \n \"parts\": 2, \n \"units\": 2710\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 41840, \n \"name\": \"gilraen\", \n \"type\": \"\ user\"\n }, \n \"created\": \"2013-10-22T06:35:44+00:00\", \n \ \ \"custom_releases\": [\n \"publichd.EXTRAS\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/MOko/download\", \n\ \ \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"MOko\", \n \"language\": \"en\", \n \"\ movie\": {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\"\ , \n \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n\ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Retail...
\\r\\\ npublichd.EXTRAS.All.Out.Actions.720p,
\\r\\npublichd.EXTRAS.Krypton.Decoded.720p\\r\\npublichd.EXTRAS.Small.Characters.Legendary.Role\", \n \"num_cds\"\ : 3, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 55050, \n \"\ characters_per_line\": 31.8392134182, \n \"downloads\": 17114, \n \ \ \"lines\": 1729, \n \"lines_per_unit\": 1.7221115538, \n \ \ \"parts\": 3, \n \"units\": 1004\n }, \n \"url\":\ \ \"/en/subtitles/en-man-of-steel-2013/MOko\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 144401, \n \"name\": \"flax\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-15T23:01:51+00:00\", \n \"\ custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony.[PublicHD].\", \n\ \ \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER.\"\ , \n \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG.\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool.\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv.\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD.\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny.\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO.\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG.\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG.\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG.\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC.\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG.\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N.\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/Tsko/download\", \n \"flags\"\ : [\n \"high_definition\"\n ], \n \"fps\": \"23.976\", \n\ \ \"id\": \"Tsko\", \n \"language\": \"en\", \n \"movie\":\ \ {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\", \n\ \ \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n \ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Fixed some errors.\"\ , \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\"\ : [], \n \"state\": \"\", \n \"stats\": {\n \"characters\"\ : 38858, \n \"characters_per_line\": 23.6506390749, \n \"downloads\"\ : 46418, \n \"lines\": 1643, \n \"lines_per_unit\": 1.2706883217,\ \ \n \"parts\": 1, \n \"units\": 1293\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/Tsko\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 7718, \n \"name\": \"jdinic3\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-15T16:53:11+00:00\", \n \"\ custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony\", \n \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER\", \n \ \ \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-JYK\"\ , \n \"Man.of.Steel.[2013].DVDRIP.DIVX.[Eng]-DUQA\\u252c\\u00ab\",\ \ \n \"Man.of.Steel.2013.1080p.BluRay.x264.YIFY\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/EMgo/download\", \n\ \ \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"EMgo\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 44788, \n \"\ characters_per_line\": 24.1705342688, \n \"downloads\": 25348, \n \ \ \"lines\": 1853, \n \"lines_per_unit\": 1.2579769179, \n \ \ \"parts\": 1, \n \"units\": 1473\n }, \n \"url\":\ \ \"/en/subtitles/en-man-of-steel-2013/EMgo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 86327, \n \"name\": \"mixi69\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-11T15:41:19+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/NLUo/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"NLUo\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33155, \n \"\ characters_per_line\": 25.155538695, \n \"downloads\": 1871, \n \ \ \"lines\": 1318, \n \"lines_per_unit\": 1.4233261339, \n \ \ \"parts\": 1, \n \"units\": 926\n }, \n \"url\": \"\ /en/subtitles/en-man-of-steel-2013/NLUo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T07:37:20+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\\\ u252c\\u00ab\"\n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/uYcm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"uYcm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33194, \n \"\ characters_per_line\": 25.1660348749, \n \"downloads\": 2924, \n \ \ \"lines\": 1319, \n \"lines_per_unit\": 1.4213362069, \n \ \ \"parts\": 1, \n \"units\": 928\n }, \n \"url\": \"\ /en/subtitles/en-man-of-steel-2013/uYcm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T01:31:40+00:00\", \n \"\ custom_releases\": [\n \"Superman.Man.of.Steel.2013.480p.R6.LiNE.x264.AAC-DAMN\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/aoYm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"aoYm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33296, \n \"\ characters_per_line\": 25.1860816944, \n \"downloads\": 11755, \n \ \ \"lines\": 1322, \n \"lines_per_unit\": 1.4199785177, \n \ \ \"parts\": 1, \n \"units\": 931\n }, \n \"url\": \"\ /en/subtitles/en-man-of-steel-2013/aoYm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-09T18:36:51+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.(2013).720p.R6.LiNE.900MB.Ganool\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/XnUm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"XnUm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33220, \n \"\ characters_per_line\": 25.1857467779, \n \"downloads\": 4400, \n \ \ \"lines\": 1319, \n \"lines_per_unit\": 1.4213362069, \n \ \ \"parts\": 1, \n \"units\": 928\n }, \n \"url\": \"\ /en/subtitles/en-man-of-steel-2013/XnUm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-06T21:10:22+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/ZmIm/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"ZmIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 36508, \n \"\ characters_per_line\": 24.3386666667, \n \"downloads\": 6093, \n \ \ \"lines\": 1500, \n \"lines_per_unit\": 1.5321756895, \n \ \ \"parts\": 1, \n \"units\": 979\n }, \n \"url\": \"\ /en/subtitles/en-man-of-steel-2013/ZmIm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-06-24T13:12:30+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.CAM.XviD.MP3.MiLLENiUM\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/whQm/download\"\ , \n \"flags\": [], \n \"fps\": \"25\", \n \"id\": \"whQm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 34169, \n \"\ characters_per_line\": 35.2257731959, \n \"downloads\": 8072, \n \ \ \"lines\": 970, \n \"lines_per_unit\": 1.0, \n \"parts\"\ : 1, \n \"units\": 970\n }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/whQm\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 26933, \n \"name\": \"\ asdasd\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-24T05:15:56+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.XViD-CALiBRATE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/8RIm/download\"\ , \n \"flags\": [], \n \"fps\": \"29.97\", \n \"id\": \"8RIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Cleaned and carefully\ \ edited. Better than the rest.\", \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 34166, \n \"characters_per_line\": 35.2590299278,\ \ \n \"downloads\": 5247, \n \"lines\": 969, \n \"lines_per_unit\"\ : 0.9989690722, \n \"parts\": 1, \n \"units\": 970\n },\ \ \n \"url\": \"/en/subtitles/en-man-of-steel-2013/8RIm\"\n }, \n\ \ {\n \"audited\": true, \n \"contributions\": [], \n \"\ contributor\": {\n \"id\": 7718, \n \"name\": \"jdinic3\", \n\ \ \"type\": \"user\"\n }, \n \"created\": \"2013-06-21T10:08:43+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.NEW.AUDiO.XViD-JUSTiCE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/Nv0l/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"Nv0l\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 31878, \n \"\ characters_per_line\": 29.2190650779, \n \"downloads\": 10623, \n \ \ \"lines\": 1091, \n \"lines_per_unit\": 1.0036798528, \n \ \ \"parts\": 1, \n \"units\": 1087\n }, \n \"url\":\ \ \"/en/subtitles/en-man-of-steel-2013/Nv0l\"\n }\n ], \n \"page\": 1,\ \ \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '24102' content-type: - application/json date: - Sat, 09 May 2020 10:24:45 GMT server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/GMso/download?container=zip response: body: string: !!binary | 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 AQABAF0AAAC9fAAAAAA= headers: accept-ranges: - bytes connection: - keep-alive content-disposition: - attachment; filename="fr-man-of-steel-2013-SubRip-utf-8.zip" content-length: - '32048' content-type: - application/octet-stream date: - Sat, 09 May 2020 10:24:45 GMT etag: - '"5eaeb1f6-7d30"' last-modified: - Sun, 03 May 2020 11:58:46 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_download_subtitles_with_title_unicode.yaml0000644000175100001770000024242014636376416032223 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Caf%C3%A9+Society&language=fr&movie_type=movie&year=2016 response: body: string: "{\n \"all_pages\": 1, \n \"data\": [\n {\n \"audited\": false, \n \"contributions\": [], \n \"contributor\": null, \n \"created\": \"2017-04-28T21:18:09.833000+00:00\", \n \"custom_releases\": [\n \"Cafe.Society.2016.720p.BluRay.ShAaNiG\", \n \"Cafe.Society.2016.BRRip.XviD.AC3-EVO\", \n \"Cafe.Society.2016.BDRip.X264-AMIABLE\", \n \"Cafe.Society.2016.720p.BluRay.YIFY\", \n \"Cafe.Society.2016.1080p.BluRay.x264-Ganool\", \n \"Cafe.Society.2016.720p.BluRay.x264-Ganool\", \n \"Cafe.Society.2016.ML.1080p.x264\", \n \"Cafe.Society.2016.1080p.BluRay.YIFY\", \n \"Cafe.Society.2016.720p.BluRay.X264-AMIABLE\", \n \"Cafe.Society.2016.1080p.BluRay.X264-AMIABLE\", \n \"Cafe.Society.2016.1080p.BluRay.ShAaNiG\"\n \ ], \n \"download\": \"/en/subtitles/fr-cafe-society-2016/iulD/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"iulD\", \n \ \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n \"id\": \"iuo\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"small\": \"/thumbnails/moviedb/small/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"title\": \"/thumbnails/moviedb/title/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\"\n \ }, \n \"providers\": [\n \"omdb:X_sG\", \n \"imdb:4513674\"\n \ ], \n \"slug\": \"cafe-society-2016\", \n \"title\": \"Caf\\u00e9 Society\", \n \"type\": \"movie\", \n \"year\": 2016\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n \"characters\": 96, \n \"characters_per_line\": 19.2, \n \ \"downloads\": 4264, \n \"lines\": 5, \n \"lines_per_unit\": 1.6666666666666667, \n \"parts\": 1, \n \"units\": 3\n }, \n \"url\": \"/en/subtitles/fr-cafe-society-2016/iulD\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [], \n \"contributor\": null, \n \"created\": \"2017-04-28T21:12:38.179000+00:00\", \n \"custom_releases\": [\n \"Cafe.Society.2016.ML.1080p.x264\"\n ], \n \"download\": \"/en/subtitles/fr-cafe-society-2016/ielD/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"ielD\", \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n \"id\": \"iuo\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"small\": \"/thumbnails/moviedb/small/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"title\": \"/thumbnails/moviedb/title/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\"\n \ }, \n \"providers\": [\n \"omdb:X_sG\", \n \"imdb:4513674\"\n \ ], \n \"slug\": \"cafe-society-2016\", \n \"title\": \"Caf\\u00e9 Society\", \n \"type\": \"movie\", \n \"year\": 2016\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n \"characters\": 60606, \n \"characters_per_line\": 27.53566560654248, \n \"downloads\": 84, \n \"lines\": 2201, \n \"lines_per_unit\": 1.5210780926053904, \n \"parts\": 1, \n \"units\": 1447\n }, \n \"url\": \"/en/subtitles/fr-cafe-society-2016/ielD\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [], \n \"contributor\": null, \n \"created\": \"2017-04-28T21:07:02.332000+00:00\", \n \"custom_releases\": [\n \"Cafe.Society.2016.ML.1080p.x264\"\n ], \n \"download\": \"/en/subtitles/fr-cafe-society-2016/iOlD/download\", \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"iOlD\", \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n \"id\": \"iuo\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"small\": \"/thumbnails/moviedb/small/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"title\": \"/thumbnails/moviedb/title/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\"\n \ }, \n \"providers\": [\n \"omdb:X_sG\", \n \"imdb:4513674\"\n \ ], \n \"slug\": \"cafe-society-2016\", \n \"title\": \"Caf\\u00e9 Society\", \n \"type\": \"movie\", \n \"year\": 2016\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n \"characters\": 57423, \n \"characters_per_line\": 24.645064377682402, \n \"downloads\": 427, \n \"lines\": 2330, \n \"lines_per_unit\": 1.3689776733254995, \n \"parts\": 1, \n \"units\": 1702\n }, \n \"url\": \"/en/subtitles/fr-cafe-society-2016/iOlD\"\n }, \n {\n \ \"audited\": false, \n \"contributions\": [], \n \"contributor\": null, \n \"created\": \"2016-09-17T06:20:29.048000+00:00\", \n \"custom_releases\": [\n \"Cafe.Society.2016.720p.BluRay.X264-AMIABLE\", \n \"Cafe.Society.2016.MULTi.1080p.BluRay.x264-LOST\", \n \"Cafe.Society.2016.MULTi.1080p.BluRay.x264-LOST.Fr\", \n \"Cafe.Society.2016.BDRip.X264-AMIABLE\", \n \"Cafe.Society.2016.1080p.BluRay.X264-AMIABLE\"\n ], \n \"download\": \"/en/subtitles/fr-cafe-society-2016/2o5B/download\", \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"2o5B\", \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n \"id\": \"iuo\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"normal\": \"/thumbnails/moviedb/normal/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"small\": \"/thumbnails/moviedb/small/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\", \n \"title\": \"/thumbnails/moviedb/title/8a/b5/50/d4/55/c0/213b02c89c673fa208d5/iuo.jpg\"\n \ }, \n \"providers\": [\n \"omdb:X_sG\", \n \"imdb:4513674\"\n \ ], \n \"slug\": \"cafe-society-2016\", \n \"title\": \"Caf\\u00e9 Society\", \n \"type\": \"movie\", \n \"year\": 2016\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n \"characters\": 57444, \n \"characters_per_line\": 24.66466294547016, \n \"downloads\": 758, \n \"lines\": 2329, \n \"lines_per_unit\": 1.3683901292596945, \n \"parts\": 1, \n \"units\": 1702\n }, \n \"url\": \"/en/subtitles/fr-cafe-society-2016/2o5B\"\n }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: Connection: - keep-alive Content-Length: - '6940' Content-Type: - application/json Date: - Fri, 31 May 2024 12:22:25 GMT Server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate, br, zstd Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/iOlD/download?container=zip response: body: string: !!binary | UEsDBBQAAAAIAIu6nErFuSCbcb8AALr2AQAnAAAAQ2FmZS5Tb2NpZXR5LjIwMTYuVEwuMTA4MHAu eDI2NF9mcmUuc3J0jL07kyRXci6owwz/IQd295aS3Zvxjhi7xrFGAzNDXDSAAZqgUYzKjKqKRr4Q kVHogjTaGmVKq41R4TQFUqFyjWIZ/8j+kvXvcz8eJxK4aytw2IjK4+fl7sffnnz80Wbz203y27RY Z0m1evHib1b2oVo3df7xR/+j/5vnP6/27epyOtw+f+hWu2n17jQN648/Gqdhte/G1fa03/dH+cfu 5o/yz6efTqfd+n/8n/3ffPzRxx+lPkO9TopNNEOWrquq5AwCfj8d+ue/Dt1q7FbnFv//ND12x8tq J4Avp+P48UeH9v7Y3/U/Tt0BfxjbyzQ8fxixorfd9uHYy0JOw8swcxZmlomaPI1nLtblpuHMX2LZ Am8a+I9xNV7aYZTN3fXHVXs8yo7HVbbx7eQOtMDqY6DVui4U6I/Tzem42vVj28syT4fzZeqmsRvX q/3N84dL28vyfZmFQ6zXmzSGmKfrskh0macBy5Oj3v4g4/fjqsPJrHbP/3bsuN59t7of2ousWo7j 0O/7blpte1n/ob2c5C/nBxxcmLQMk8oc9eLecyICJ+2O24dWJsAucM+7oT/+gLnknM+n4RK+DxPO b/Qzqhx4sc7rPAYuSLXZEPhdq8fT3sm/hu7jj2RDzx9kwuN9h++4i6G9P11GP6na4cpJlfGii8Th vpq207Fb3T3/64W4+vY0XV44Wn780VFv4LIS1JnGsRdEa4/j6puHfr/67tINR99GE6Yr0uvp8nWe p5xuEiy5BzZeMM956kcBd3EYycaB5MC5GEg5HzSQeSV7Hw4yuJNzOJ8EX9ar/ymEcPT9J4kDKwX5 CgeW/nazEWrNCOzTod/vsYbV7unYHnDra93Zxx/Z1vvjYzv07e1eCUn+7wRKAkJhHfIf85xGvzJF sqBf+ZDpoX9x0/arx2n1TTvtV2+mY78CYxi3z3+Ve3j+y+qr7qfVP5yGHwguc3D54lDlQ7VOq5x4 8A4Qd4IN3V5WJZh9HrpD3w0ffySUJfd0bsexG7CTWyGlVeuY/pJz5D5HtUDu9LdJuk7yxpY8Tmsb /9jaBWKuw+m469ZhKjuxdnsRFFfwRQAv0LKkjMGDdoS0Xqy+l/sTuN3PKyHD/U0vm+le4g9f4Igf BfdXCn+8aXft+cLdKPjSwYNL1TF4O6E/Td1eFvrj1O77Cw5o6lft+OIyyS10q98RSuVQKsHVJIbS 6CI/O01b3v8aC92utt3qsRuGTldR+/hGaDiLxqcJAH780ZetEVk3zsS0llUBzvQey/kNQTUBlIxc biiVFyATUN+0w+50PHY/vzices6fbnxQtk6aeP0pGG+Os/w7ubrzuduv5BAEUc4Pp6Ni+5uXivA8 8W8EneVSez2YNHHAhbwKC8C1ApYrGkCBx934kqhyuXTy79UUphMy+UMvbGpYfXuS/x11xU4oAmcJ WJ6PuigJmFcluC0ohYN6h+duADb0W9u4E0iG04qxKxMOAuT9HJePQxekev6Xic+lvDLHVX8QOhmF sk+Cvu0eT8aPMh/ZrG7eKSPPBJXSCHier5ONrHHmgyDd/Y3sWHhQv9fFOerLz7OmiceX+KDj16vt Ddb37WlUbEodp+Vn9YJk5EUosCz81hbpqEs2n8c/buSFlHN+267G//ono8fUUVX+3GTxouRZKEoB /lZexJt2xIGJkPAgJCPHbbM5dsqP6yLmqUUGcJztHrLIcCRzFkgrYKtypuN0eP4wnLiSzJEWD8Ry JYUez58mnMyLbac30ykr06Vkjpry67qJ+VZRy9XLuXx6ur19wlBBSchkt72IYnJZ8ooJUr5ph8uT rsSRUUbWyXyGGV6KGhzyb/erx3bVCi4NuGl/IXW8YWGmD0sSj8fWatBFN55l68rKupWQO5D7MuCo QCyyt327lYd9h/dVJDg+lFvFiCz3CQogXjwBN4+jsivKCv9tucDaTN+M1M5FAZf+40rop4h/DPqW H7+RpdyJCKW/r/z3jbwNVfT7ZLNOcaVv5ffHTniaDqjDAPl7lW3iAYJuQE/QgP628d8KMddN/Ntc UFNO+Ws5FvIXHuLft8MRz5wgqkg+nUldp/5CIff2NMnVHwk63zjo/HoZpSFLByz5rH2UG7LnUmhZ pK2L3kGeOIhygW8ZmH6Sy0l+dwNR83S8RCtZy3+LyLAaOoG2N1Cpg8LrkkWghH/LNQjXChulaPJ4 mvanfhBZ47jdi+wNoZI8Y3s6HDqgpciUA1juGS/wsBMOPolc8/xB53P8FPBVFeNnCtEoAeP/9HRc g8OKJC8n8PwvLZ+Db9vtdjhtH/hUQUyPduFICY7dxEiZZXogQjVHSOHHowjGcp7C/fFwiWD//JcX t63iVO4IK8OKMkZYah4yzRuQza3MLtLi/Xol4t7w4yRv1CNUgxfCgon5uSNzVl4DqgXXEr4psqDH k4ATVrIiEArUhAmSXBOSo7kMLOs6gpTjdVK5ayv/p0+csAbBnUGwrVMumzva58Dy+MRFhcgA4Pkf t2BGOp9jvvx1ufI80wuSm9lh2eRkPQQ6TlQ4YuONKWLWJW8FL2Hx+MpLKA8c+d+BN3OBrGawHMNl 6PJCi40uWgTmz0RaEQI5tNRhz3uR3IBxsg9Bv0v7Xm6lA+vHFMJz7+U9dN3N8V7gLU9FXo86UR1B ZLxhEFGpXTBagb/rKHlS6LzIqb/a96tP29t21g0dz/EYVTEDEcaepqpuCmmNoo4JfcuC33VgvQ8g o48/Ou87KIRg1aA2KpDH8SL3OlDUF3Rb/dYnc/QX2PGd5ZD900r1q29Pt91wWX3Rbk+3q89Ow52o LPN6DfM5Is+qGARJQTUUvmI2dg3O9ulwOr53pakoHYrgStrEUErftfCPI3f0IFI2nh5F+FaVBZoS 7gS/5rVVDrW6giqcPNkoMvweDG93A8bTTo8CQ59YUT7WoFp5YH3hDrgOgPFiVJsYcKoYqzoe1Csh edPuVvddf38URBPuAelnhtc4PFBWFsMrZaGZ2RgoP8irMYg2QJMC9S6oMWtSszC2S7+d9jyLQ/j7 LOD5yZQbn1COt1ycTKW3JnwP3Bks5t3U363JKohkJLQycQg42zqGIDIbVIDPoWH1omtQLiV7K1Mf 1VwhXCpiRyXn+vamU8YmF9K97w5nY9VlFoaKUpHkeTwUrFqFvrMIRhy+hnjyrnv+z6P9N2HkDiOT R2sxPXTzlKd4geCIFQhmbdtbvBxCuECQL+QgRN5pRZjv8Qjom186CaTV1WGKYlDi9ripftefLqoh lY7vqShbVXx6Wepc5PuOhpjuOIr4R05EGVgWtcNDv159/tjtn44wBd30QuT9ZboM/XbGq9IJAK9Z HRMnnqVabREH0R9g5hNW9WV3An7CatWL5Lvfn2ZYjvMytF7gqDwwPH+QKDT3k2DLvuPDPslDLMKH A3FElzHLC8CjZPv+RBRNQfH+vofcIUi4vzmd++kAvnHuJmDEJ255ckzOiUAxxMxJR5B5FPlDmC/t TLCbHWFuEloacZUzz6gcr6EwLS5TXqe0VE4keugnQl/j9uGTeaTjdg6BuYhHioRSBusjzuXc3h9l b/JEPD5/UGHALnMG5/guStESRQrIKnrenwM9RNzhgd8N5IEw4AHqp5EhqXLMF6UnS2KOJe9MWBwV ZxhYIYoRQLCGCPLfi9wy4p11mI731JviDYs2RGJ21i9qZS/P7cXHOgGI5rOk5qJxbBJipKgz7bGG Rz5oUC1GuTp58/tHGENGGG46VVyHk4i+JM2DGpIFj8ZLO8l1R1bFysmiaBaHUYj+5HdMgU1OgOLB Dk/LNBx7EdVv24HG2GN//yCK3X66jQyhRiWEVEb7KqBG1Ym+qDjYgxI3nm68yQd522A/Ok0w0s1L bRxeI6wkieAlYGEGb+iE5GAUADjwJxifabSHOVvt9n8v79wDpIBPlRKG2WJfb8IsAjSPbNwFjUlm sl884niJdv3Q39OGNAL9bkWqbyfIOHz0IOcLj/qV16dOwnQQ3dN4OlhkwGlEkqfLAdI8JORRbz8C RkCpA6oXGFhAnq9gvIgNc4PoIt3PLx7x4Xf409eTmmDqLMChGpDFcFLBZLXkCBceV1eSzLjQFOvc 4eBJWsCB0pv4swpt6vmDcMeT7aTwkYVgYB2PFFUNIvIrEZifwvJ3cro6sAwDhQizIsZlIcICkopo v6MgxOBXx6e4rnxggd/FA0V03tRB9YEiyedw14tMeewFPVfthNvZ3TyEA3S0l7FNZKcuYU7YwPj4 lV6DrGW1e/5P01ju2i3fHaDtNMzGgtrQnsOTyKFQQszkcXwDq4OdxiA3IKQJqX03dDuzIjQbByK0 uNnEQHK5HrmN19RA1VwxQDXBtlSlaxIfLVpJZMcvYa9oYM4Q9CHfTRodkfqIap01aTyiBgi5im4w q1+ThR+LKLKJDGTyIZenWRkgXBm0T8Np0m3xVOG4vut37rLIHY6cfBZPSpqQNX0mPPIkerTqaU3h A4TRLk4lE5kfNBOMqauWVzV2pJyBN/Vq256n/VbNX00ZYMnQLLLZljBdVrBsvr7xF4SiwUGUN6gp lNxv2uOxB/sgMqgv4q4LImZTOfT8amtZpStVkxYMYd37fnvCAl8/9Nv2/mRTmK9pVLGrqR1idb1e kUeBpqJZZa4ayoH1h/NpHIn0UAY75UMKzZFUBpd1vD5RgXn0b17+4eWbl+ul8RjC/7Hd71avT/sO utRLNcBvHF9F9FiuTgSIBMxO8ZU7e/6XlgakmSWK8DrSyLz/cRJp1YA6GtNeuwAqcjpUJDlEIaAe V9wGaR2+uhcivduD0o+nAM+RPIfkmkXwhAERnrDKSzBzwgioYslL531CpdPq0PJEIITRG3z5oZsf aIptDjRNF7NAuILJbaCJXuXMWziDbIFOEMLX8gXWCG/iKb7CFtd4V6b31BMuN93xOEFz2D1/eCdI pB6VjZOKjMzyOgbFzcMm+gTrPjb7/GGJOZQb3rWH1k1RAOkUIxDqyD5YQfPdNMp17+joksd0xdFq JwMLDo61lzxlGqVgBjKblE1hZEOIaWRNr8CXNrAEf6mnLnyvHx9w6HBKwQq0h9T0ySACArzsMv84 bYfuE6pFMF3BDoATb+/gO7wR5YhWE8xa+6w85WhW0ZFzWFXlXM+dHM5KDqvHCakX7vD8rwdS1ju8 azenAZhhW2kCUFheF1tJ8C5nAdnuetLnGIzzysKT4IutYDKtN1U8vtILfCsv2urvH3qoU/9zfzru +h86+UnVGITEIVTrMovvSzTYFAolnTOzfVDtL1zSvgvrSB1Kg7OIoIgyG/YxumEd2uKlP/Q7nMM3 cu+33Wi2j9sWkptZu5LgXK3gWEsWy4OGi2f0u+nuTpUeOtyGVbpZ/TcbnftoWF2yeHQBsrveHE54 +9AezhSxw+YKh1JgyhhKoyj9Bang5eq1IzIu6ULXHW1uIQxAjcHyRrZ7A1468OYKmTOwmyLwxIMa eEkvsHmfiGHgPmoFpzZ/B+y7PU3yUwPvtJIt+UyFN4fX+0pO4Oc1aEGYpPB+G+joTnltsa5yXeBh 1HXJ5mD0PXeina/JtPvBeEHi2J2VV9idkTmY0Vi0X4jS9M61q+Opf09lD/uC4z4sKXVkF014E/m1 KhhwiQvGgE/b7XQO/DJ1DJdfVZFBs4IeW8OW9XZS3MQp0o/VcSMi9V6gA8ixX8yJm6SO6XlxvYha DkoNS2T+6oP+vchrq1eio4WIkD+0w5O8jKdzwPHUcRyK8IJ45AmqsP6/PW6H0xMVJx3iiE0HYTxE dOcS6s5bKBX2a0dg0Y2Xa8aThrsUEWrfb/FeyJBX24fnv146ex5BEGdh1QbL8RUPVxmzwQJiJPAV KC58D0eo70zqWAg34IKCCnDsFCEIIqn9N/u54x4ftMXuhEhSda9fROGBlgBV4/fy4AkzMdmgi8Xc JLhDa4jaMfnWFHyBNnCPd3fQKOkugJx+EZ2yx9PZjoqJBlpOA25diEoRmQU3KUEW0QnXdNEBK74G jRxlaCujLuoImhVsIWUcFxwU8niInjm4hzsJTtQaKnIRmfxrPBJEubd4Z8hZEfEBEsCazU/JeKbn v96DW5skFpyphJBHxs0aIRrEiBcrUsU00AXTHneqUf6+ncxQIcejxrDz0J+omRjszGEXCwypYYsl On99jFwcyn8fRarYhkiN4EqtGVBXJhEIcCOA+K7He72DeLmDY2jfM+4DQWPj6h76tLBcKBdHi0EJ Ltea1rwsPkVY5iCQvZqunBb68gf/a60WuHg1IgZXqb78kPXv7ZEegIJ/GKD7CT79w7TdGkcMrtka rGezuMq80nN/Lc/PrSgLqTx4S2XcQNQOQmS2egGiFtxLEbexelglhWGPoz9YxeKqEUuA3z//Xy0c TSLaQQtA/NB6ZTAs+sjRG3FjkWm0plIOkfmbbkKwxmmAnPEo2Hvwk88dfwsYXzbx6AJL+vijT/eM UFrdDiKOC5IqF75hTJAowLvwouSOt0W5LqvFZqCXyzo/5fLf0V5G56ysxQYbYjaUSdJZWGqookLR 1CdtSy/zVi/ixf75LzY+9/HC+oomHi8PCSwc358usE8eEIJHUKJ0H84MMXWABqxwYHhH0hiY6EKg gDdCEd3qN6ug3trA0geWOPp4oDwfaRXZluQKhu7nl7OGbCCqACLbYKoIhKi5BBEHdfAKzMJ0128f JuNLwX/KUUWzACPCK6yMX7WPA/RyhL8xQuzQ7uWBv/hKGgeRXa+kUMT6AvYxBhMJNS4C2tRwg0i5 E+2fFsq2cZCiHpXxLSEatWGYFYPlYLId6BhTm76wJHV67DvldZ+b715462/Uyna7b+8nOQY9gOCL JeQlQkBCgXDPUc8fLr0MOj3/r98x+Aq+rVFdu3hCQgxeGqDJ4KSK0VPU5RwPL5ctXJI29V2weqiu dAgKzuq1sMQng+koLyCKJkYWEV8quOW+7egZlpuZcEMzmtpTUTjWi36dl4tlVWFZ8gQjQI68w4Y5 fuc89XhYDeoTFt4NwcBlYxy1obkvxgirIk3wPEegImn8eKO6qdzlQ3vbX6adkVfhKF5c0zrcAYU+ +mesmcgtL9Bdr4/y2MkJh7e3cBwX6WaJoEXYvS3DNGETx5/oXTX3jj3DpgnethcXpwonANgk6wX8 RvSxfDbMPpK3WNjoarune1RXad7OZAMRJ7ojfJCDg3k3WIIT82vqn7J5RnwAF1SSG/oRhL+jKsww FUFTwwjzceqACO3xAQpSbkonosq64+PpSVRp0Jgg7O10QcCZwckcDgy0SQwH3L2kDXRYqe/PCdx8 nPiVHFkeD0u4e33Qjsa2eB+DHBbt9mcz9CmLFzmG/D0cYxEgQxufTZb4kCo9fxEiPAbwM56KDi19 aIoDj4fmOvQNnK3DoG783U27pStzpQeDfAOalAxc5eBES0viC03A9RM+uJcXz/96GYJSKIz2bg89 E4EnPxuc2uGU12dV+46IXgwZV9HXxjY+tolRXz6kG0UqC4/5OWBG5Xgov8jTxZB0XWC6pbJvDFC9 ILitswiFBsvxVIYuly7Pb4MT+sqiobj+M8JRwljH0BRUm8VjS8VQrGOnah58R4eWYSSiAcmb65Fb 8nqfDaLjqgAo8hjnYZbG9QPpoPquwoniWkOUNEA43iJtZLEoeYYLt57D9ko2p4xJ9D55OzQiBAR5 vMDhHEKiHWMFRLlAOzyomFIOySEeb3BGHn1wP5xgNRh2q7uh/3EKj3LluJxlV7fIJ7UMzxphQcSa qNju+BKfGZjcInTawDkuwyW/wCN5Ngnui8DGz/DiRHjBkKqRiSJ8pgW3RSkdoOcMQx+YfeVYjkiw xcnm4WRBIe8iNi0c2vfriJ5fk31O1JO7/TMkUug6Jw0WPFN5gVATPDpJ7cifg4/GCJtj45n6m2BP JT+S4W4kogahHiNg5EEwpz2GrCAD7/SAl7uJMVDe4ZSBysLc5EGFBmSxMoEP1E4Q0BFmQy8+wBKT zSi3F0TDVRxuoKLJM2aoVjsFFJur7SEuLE8iVoIwnmlP0ZGhiMPHH8ljMFGnHWGuM5YVaPf5A7JM wn3UTiiwKNTxdYq+UFo8+zHQPeJ3RP0LJFE7SYiKkC5uE/FlsNZ916uh6hFaRbCu9WvFj70cf38/ wMhty3FygPEhApjA7Ubt/G9FOF31+xWu9mJhdWoelTWeu+E2mBLNJ6lDBfVjWMWaXOZzDsNb2Q5y gAoMdymcVshMYypsjkWKiLkoAapc3HECG0QB+7UygS6+5l03JxIk5pXEiOZqefKslWbGjU8eHlJk Ss3iqB+pugx0beapBJwMdxADzpV9fv0gioHwcwZZI3ft5/k5NFclfl3gxOPhkC4T6jxrGCFk2G9o HVAOLqgod/nYkWif9MYBMHWAkNzjjeJtyxSZKdK+m8BuNa5WBHkEuBlimIdTxyw3BQXT+WTMdRmq rP6tLeRBaAYmQpijE6PTq00iqQTC8Wc94NDoZXkohY8Bu8/iMbnwbjpw6J8kwxf2qmHOFgwKCKVD yIVJLWaFvF8gRxE22ue/hBwIvkuI1Ru6LfDIlu+ojZiHpIgBNboUngbUHpEuz6qXeooMQ/8hTIBs DKIjdNpcLQ2JJMBG6LUQ/Pd7ebxfHAG/U8yDG15Uw31IQWoctUU33TSbGJhgYJrNCgGD62YBIOLG AuotUAzB3uPsZ0g3jt6IgsgWwCvlOUFWEUoeX4b0IL4gsKVRr71//mckchhIR3mBINcQgeSbVi45 F3WQiZkL9sDtnv8zJkX62MfLkx1uunEKyCE5xJgD0xR0+2/xSMm7xBXSlm0qyMPTaJ6NIGQ/du8j ek03Thk5qHuxeLzQGw9bkVU/GicSVaE3xVvIl2CfIF3Iny8MsG/1lp8U99ON04vArBbkB7M5Dj3s friEFCynF1jCN/HC5EMFb9P3mNF+7bQB5W/O0sAHCEKZo8OZLy8sCrMAnW6cIqDbZfEC4V3FcDpq 7ViPp0NAu9e9aPCWzGN+x4QJkemc0pBo+iKs27rNWe1Pza2Inwiy54sxItFA4OGvQ/7Yxn8OgS+N f4595pGvB6Y9LHX1u9U8LfQYA5U4KMg8mxhUpTRLSjAJNEDTZZsXUX9bZ4tly40WIclAD6l7v+0V MRBpaNNnDgHGzngnotI12IkajuHasUnzMESeuKKOJ6XulWt2je8bU3/30ItUY4dt7kH9fTN7ufAB HFQ2Zb+H6+eus2yX1Dx/CfMZyzl4Gx9qbH8hZr+b+kc/5MpHNrjNaGRqKMHIHfgy5tDkNHFMkl+l s/E50YxEDPs7vL6io4t2xglfrqDVdO9nlSNNHLeQBlPFRyyMfwOqlKdcxStQqmVzBPeaCrmzIqy0 nDoGwvg5m9gTTT1M0yDc0pkBft9dIiEXifvIPFUVcg9Xrp5x6ugIT+3icqFzQRx7Y4mrIru9mNNU 0tRxEYF2RXyr8oCkwMVvg6X5OD8cpgmnqSMivLjLiXNhNKlN/Djf8Pj8n0OY3HFSfry8YIQVg37f Ds9/HV+uPkc++xH21FUIvfrKhO6fV4xHiCIn0tRRFbk2eYwBORR25hh9b8b71VGNty/x8TUeGGbF Bgtfmjr+5pB2YkRAeA/w9xUTvIJmuA/O5TR1BBZOXWziw0XSCXDoc5iuA3Y44iK2d3EccELiMNXQ DGn2Qq2ZJRwA4tIdziGb1TEXfogyRjK4JatG05ARb0zVkzr3H08/QUH+Y/vTD2MUfaUQM0db0TU2 i/MUll/NTnJgvsuhcHV7Pl2aOYrKo7DJF2chTA8M9RXCSezXhpYZWHU9e7ESZjFyRr4pAQ/NGZcw BzE+aWYekqUOLU6qm/OUzfuWaC7i7O1JNKEQt8HU1pDxiyRtGlJ7JJfMaajmcdNh8Xkzz5BwglUy NR+b/ilt4nUiECZpAiMR0Vl5CXOa3ApntwUh52zBWIBaOVRQYXxaCW68jsL32tthumipg5ez9B+i lzldD0IbOv4mzFD7DHJ7m/isUrgAssgbg2ICNqoJo9Lr3YITl40nxJ/b+9Yk4le70/78gEhAwNPg hD1Exm5guES/t2fUvHUKrFiuSTTDugxBRTsN3PKo0pcaCdHB5Suy8/n0Q9D+U/PhKYgl3gmD3gDm 13EKpTns0tzxNcVTVUfjMjzIkdWAgz1+2YY7+mZ42OJps0SHf+oMKXe8hZkqWcxV4SDiOAqI+MyP 6I8/w6w2HHtEec9xA2nu6JsJ1pcxOGF4NbD7tVqRe8YQtQPiwzXFvLs/aXqCQnLkztMrNMzxGGwg YvRB+AuJv4ihVwE/RBiq1aJ7f96bMgLYjuIUtWMiQ0wlDMCxLw9arLzLd8KVA4vIHYURQLm42lyY GJxcf4IhR+7oxTvTXS9eeyB3VEYhlMWh57We0t8dV7EBPy0cP8Hs8xg/IYRjwu+oZk/B5ZAWjn6F qMLNYkgOGEIet+MJGbYyi4e9p4WjH7IwFneIwJNcVUjmF0bB1S2z9346rj7rBsvBTgvHxAIv8HxK OWVsaICvDiwP8keRbZ5err44yVPyZvt66FqRTjSeA9bgdq+x8f/B4In+uO3PbShFYAhMkPFqmTVY wy4773JN1WymXIwvfDxUuCweX+LYmLJ2RFDypN4GWRmeS5gGBhg33l/g/99ZLGxqDrmE+YVXCxKV HBIAUQNxLSzWIe9vtG9DEfPFJUz+S+dsFHzIFUWDehESl1iy6NrClZozTsct7wA5ehbRz9oQFgoo N7kbWqSNAvaFVmXGnDx/uAdFBUd0an44hVTP8f0JE/lyiM6vkKknh7Yn0e9Q6UKdeGlwv2miXhoP RkWOpNZjCiVEVAT+3eqt+rVYrmB+NYN/jhl75QIYRFYw1FeTSGGWGYB90cmghIlAU5ikybdnFxHd 51b9gkkIYbI0TJZBH46vRqTcDO4F2jY1hZ2Z2DYw84FCkHPyQMJMvBoDP7MB43Q79mPIX05LR/IM SJrGI0udUqvvBDE0eIuQn2gPvkFydEd44XIN8thkGnQl6K7m9vPCl7imLZV2l60+d4giGHpfpqM+ vPGRSzUnEwe9M9NNx8Ag1CNQxPhV6SgvP86LeGnCpgu6SCHAW7CN2gMZarD1BTiy440o4qtBth2Y 6HcMzzufoJyJPLbvb/WVeIcIWxE2h0sQG0tHb/oK4kOHqx27Wfom2u2FAsjBncxp5VguQ7LIj8N8 vRxU/l073a3GPpxC5agM9/0ClcHGsQXEpgchbjQUDnJo5cgJHl/Hiy7sBOR+Ze9aoGNocRqX/jIs eFjlmIoY92wBpVYskQcKFznyIvHEniFbCc9+DApL5UhbNAs6KRhUCKRFJgvIz0zMaXDN8RcxHRfM 8OGQySPcUeBMQ6BmThD8cJpqF6FgwSRy5ggt1LvgaePfm2QxoACEjz/6njI6GcHD839cOi9sc9de wjMU3GkFXo08cngUTPPBylnEC/o3LLcXoanHXggcNlcBrQXcDFbjsKBxJhEsCPqQHuQOT8M9IvU1 eE6oHWqnYW7wqvH3VbMAkMmeYBWXQftJFOHx5Xymz/92GVotf8dowPHpcG4vLBgXICcOGarUAnKh +Py9QEIBKLUrMB9rpYlYekPBrcYRV4uDr0ml24CevZbm2hlfvNwwTDmcVPCvcegSligJReZ2vgsZ B8yMKEt0rU4G5xlHXYExjv6KlRssPPkTAvjETcURJEdg+O7n0Ht8yNe0br56Omlgyxl+WZYHROyM jXf0Rax9vhgP2SvB+QLbD55iaHyjdjxOq6ubSXk2cXWctHZ0FRWj2sToimTHygoDMVxmh7IVSMiy oY6dSO9aTJQRJ2SL/Y4uVSA288RQIEjNAwHNmLj+6H6LtHGUFSBNZJhm7mOWzUmS5pIRHNiZKNE4 UsJZXsZcA2mSGQ9tL/p670W6GkfCDHbEPB4CIS3X0ATyNBUG5Pn/qet+eKEhu9+JfLTz0lGOhRls 6DGjyxNdO02LVnXHVuA4J79ZLhqRa3C9/P40HPodA9hnm1U4L0c0VOwq4w3gpcMlWTkQWnu1soo6 jeCG2Z5OgxavCpTdOOZB6p+THvBBOBo8A0z7aC0EUGnJr8+xr8B5LkY3egX/o/+b1w80X3qBAo88 P5wu9pAhcwC5Ee/i4oNp4+gq0GLsYBZn02hSOUSgg5ZRY1gfXeiar02EoztReDBqF0EZE1Ys+uJc oTS4u0o8BUmZxbMAsUIxAwMvRHw63k80CVwgP3780SNKJNGjZiVzvAZp8HYRVEyezAut8npOAY8i wJS1T6PGdBwQMojAjghs4mChSS6WXMvBaI42+akJDHrM5FgzlNShNFcbx3uRZqG8DNCXTntRhw/h BePzRfd7qEF66KgajXLU85/xokRTZmFKmaGq4xtF3apSp/yuZWQhrU1Dx1kZxyrXOTgDAVuJiHOe IvcpwAU28RS1vNG2q1BFT58IRkVEMAqHAStefG2wQllNl9cwJ5G7rueRZRiJsK7FzaQQZZQiUMRy L0xmvUienoFUDkTk5yw+pRTanAJ56yu3EBFjkYfnD9BrTmr5mIHWDlRExCXQ0nHGin7A/39CVgSs NSL8CFKeT6hX43WQFrWDso3TUFpdoZI8LJtaV9xutx2KXXq8OoJBLyG2QvBmrp2QJU45GU68iCEK 7RdeVkcDRUdWbZSzRFGGXQhabG9HanAGfT6MxAkIsV9pjCQZDqPQysca7C8qIxNY18ZXDi0S5600 htqZtNyvHM58JIlTV/aLI4FSoNUaPvm+Zxody0G6aqPha7SzRWt22pHxeeSTKvW92YRqJGpCxbr2 Gvg9V0jJEqcO0TPyJj7WIlMCfKHuEeacIkhNnRqUeI6ouWyVbrLEiUReiqKKEUq0hURBvQpONfun yS1Z4nQC1h7RSQUdoIJB8Zt2QBz4rOyFOolGHfzl1dAcC9GcVjAJRaxPRWAa9k+rP8qX0dJeoqLP WvN5dWnP3Yvnv7zY/z9//r//65+CcysLnkACryK/RQWRf5NVnhNi2kwWvH6aYhu5ZitlzjmLpx6Y R43pvzvr7t4O7TbUb9w4CDx8eQQCdiEIfXA/7kLBsltQE/OM29ECMW5YEvbFo5UtDN49AsiL+NAg 0sPL9Pkljlz50esvBvcef3m1mFyHWqSTOS5txsyH4RVdzCgEkdCFqjId7WmQ01j12F3UWfDtcURa xycJnQHH8OqBKZX2+8J/Xy8wsmJFKVCkhowdUMHFiv52I0omdXd3Gpb5tn23etM+mIKXBc8dk3Nj omOWbVXr5h81zjlYKWyo4ynChSKnX6VMUrOJwnnv24CTahkUDvN6aH+6E4HNwDkiyugsjQ8DMT84 z+d/RGkx2dQdKkC/ZFKG8sHpclIHYZY6dsJZm8e3mdmGWKZ4r2Wd5T4m5SgRG6CDX488c0wlV45v OeOuY4OlBuJzgxrHQYVKt5c5gmZEqhhQqVgm01uKCWz0c+7JGy8Mb6AcYcnL4y3CQAWK/hq5C6Hq 845eFSuqJbxgrRW+eGwD65gekeNpwB2tBVZaxwgBkRzAmeXQH9p7ZBhf5claruGNahcIp/7fTuTI n1+jD7JLQjLaTp5p01Xaw8Tq47TtuC83y5wqchHSI7eH5szCsP/GIkxBiXcU1lEqSXgSS8p5Wegs c2pAUaciXpO8AQ3WtGBtVi3wbfuEyvwKwqlCVIY0Mrwz55QpFyGkCVYEJAPRWRoSNHkxfOBHm0jL uWXBvai5q5H/q4YRqcTF7PHM0gHVhZKohsWNjwWTXywK9lJUh+lC/RuTWES+XTwsur3gUOTAOnID MLuV7OSbUO0TUHT+4DLkj/Imnj+BQUMNvbsThGFapUatdQjRLFTUTQMIGH/m4lD4kIskutHYHBZ0 vnSBinDjf+UjuL85bZ8/tEfVOTTR9MKKe6EVg82T+TyloHsVzSM8toR9/wuiMkpYbeEXxktyiozT HQR3PBSoD2z630gB7SIKpiZGskSXzpeH+YTfppENvIYHobasouCeRcGNC8t12ujCR+PtWowWfQOi hAd9BslrDPHIuxvNpGsPt70+TkF6CV5KQqnqIgZby7VXUYw4MNiofemoCXdfOaxGxIUYVgZbcaJG fg0CP01mj8lyR3ekMyzuAYmJGPZqWu2ftsF2kOWO5AgJXY4A5y8iD7/m36H4suMzEhyKGK3I3+XP n1nG1lfd7dCOP5gUVDhKo1XG4t4ySEGJZeIpn2RdlKvqqAALYjd2QhPcuR/l9LR4UVY4ysPrHHkO agjEDAu9G9oniOUcjIRd1lGB9dhW6dicX58JyvZgla/YTkFY9Pu5tKjhZuG4maMZwmIBou6zfJIn U9Bb13tocfApZ4WjqIxpmviE4TwALnE8KgUO/Qhj2oHGUcvL6jvvUnArbMF35iiKrL4FWAQC5aqR fYvy0IzRWM8NKGYlrHDcRBjQYoOQ+TMt0djLvu7uYOs7UtZ4vxr7Af7dMTyk6vYfnz/sJqpJ3TyD ozH8FJG3oGbgZ5N4tdPH5w9HFhwXoYYF/28HVPxjOs3Q8TBQ/GsrAlOkRhaO9MgRjHCk0Y4WWt5P jddUl6bbd9P9BIOHwwg+Sw7JIvdEg+eiNBimhyK27nhzUs+qptwPrI/Ah6d9tAKKrAGC7OdZvwve TEKNb6zBq7DJ8rks45YGGFAFEPqFhTx8/BFxbHV+6Pen8YQAmFkdDe5LAkujg25YuLxSjfcTs7Yu 6mHKLYJ/0/4Dxw1KX6z6++PJzDHaLmGMCnFmwefZMMevqOLZgOWbYFqKioIL/O7984ctYiovVOLl lYKZ8MLInfBSeDXBebLcJyuvJ2uEGxfeZaWDLx81grvjCD9wsEPYs77vbyFo4IMaekUsRP7IPFMR ZkLEUuQgY548o4l0Ju3uATOJCE9Rqcss+Eo5IN/Ea0WMaKFVWFHPeEd3lwrOh9NFFoLLiNClCpCQ vJPHF4p+AUVpadnqbaX5d6d5x4GDvVjNJeiy4ENlMm0+h3unTJStoc0x4o8cFAFUpk+Yu1R/1sxW 8FRzZLPEc8ghvyAZu7uEmJgXK0QkMZpTF2F+Ux2bzIlb+CCCWZ3MctCn7XDbDu3qO5EVfnra/mAA EgcgNJQvAFSKd6qOqDNZ2268nVaaca+1zYJGxmo9U/8C/2PQU4cOWS6LoCNKL7FcSTfhRJExq9OE L68fWpFzbkxkNX+rDk/r+OxQexOrhQGkRxGw6WLBECPr718GreE33sAyhawDrQh0Cxfn6gLvgc2R +xzArzKeAxJqznw6s/GheN7L1R9O+91PT0eZXKNUhBbG1WtRsiyMOzN/LUBU1+cg4g9sDW9ZDQYP wlGU6hmoJbmZ7GNuW4wDs48PQMhjU2mHhF0/GNeUk+0t1/qRhYpR8tXWVAVQoMQsvnmIfrkGvNDv DTMkdD8hzV7PaRt5C3eMNzKgtQMV3W52QOBDsc4BlMafmxZvsDpWbKSTBepAL5cj1AlUef6zOjfn kCA9lNqJICNSRUMR2Qd54dXkhXaCGFE75sM/t7gTVJHGPVsAauemii44crLaMRv20MVGEXqCi4h4 Re14i5SdbPFrEVnSNJQLjd4LtwvVjpCiQGdlvD3ECqbpHOZIqW1ZwzCrHfdQpiGNDxbhItVcrTzU o7BTdVQTMSuZc0PwAXSQsSXSPUeyVm67Z7VqHezIhcJVVTwpwjWayutNTPR2gv61HlIwojLcGjq5 PjJ+a45gBeTP+DAKbk8dsqen9r6LDbIY6hiGjJvFhgreSiR8HqwE4wALly6DZ4uS7BROrKBSMGE2 joKo3LBZLKsRYqpI4PCICS8mr0GiyIVWo1A2cefatTlq04QlF2anDz6glZqGdxxYxmxUchi0ECxy uUXdnfr9xx9B+F15kaazCKtdSHWGq2IKNgrz8aZMEy3mEjopkz1znHiEyubETZn4Wafxr6FHg4y/ 6+UMTUe8nCLRTVVlzo/7GRbmT3P0KpxmthunzOtkNuLXk+acWBRSd2BQJMAYiMJBZFfnBiFqk4U2 PDDYqMQBKNDCRq1NpCXsYeNC0UnDOXP5Agr68WUxWNFAK38jQ0JE6GZT+bhG8KuKxiGVJklDbRUW 5dL8giOXoYF1BqUOUMCnq3hTKF4AM2ZwQPxmaXG08Y2PzzBpPL5QZHqxQgjhHU8SYbijdiAykeOL K0N1bj7alNmN5WwuTLVTJFTE1w+iefSWY5FvHJ8RhZc08QA0/yqsIlgIWNI2fqwxfbRaR5REyZ22 KDUcXrF848gLlXaxO+QeYi2s8Uruf2Ga7f5kFTLzjeMy6+fH6xJeWTYW3WEV1C+xI1dIjWFBELsR vUwf92xDzDeOzQKpLhfrKhX0L5xG1u+MnFwfHGhnPJIxGGjyjeM4ufACsJxl7RUP5vjMiXUbIeYc YZgKb1i+cbzOYQ6I8boQJSRJZiateZo0sms5rf3+5VxQ10r8ag+ejWO9AFniawE6zqOObCi6Hkpg 5RtHdOjOdUwuBdSUINtoYsiXJ1YDsFKOk3YGQusWVHpTeI74xTXWoUo+tre1TnA8lyCmP7YmOArQ u5N1TcsTR3qUvY/OnamSNaylwS/1xL31AvT5319ayUIwFcb/R+6a3JyqCqKZTeMpkyWrjA2UmFSP Gt3DAKWSBYlQySLKBs3NdZpak8ksBlTo4t6gAhXbjkKcm5gK/fOv1IDLzWuqQ68WVSqCBa/CYxs2 kvuYaoFJTI3cQOV5g9KwkGWp5+Oo23F7gozVr+6nzhq0aclnhVkEmGwslscw0WBU9qT5U+vVt+2O LTsfA8MxZ6n+9GpsvmYs45w7haIMPI5pmCmE6vRFvfa2x8phohdBHcMEeqZhPavfn97/WnW93Dyj OiBbQqj0lihxDx1NulQvRBD8ety2Fo+Vm6tURzT1YmPoCVOzjKLW27xQ/x31VZhf8Nx8pTqkyuIL RsdJPPBvSBMHw2PwoMnKpZDots8fjqJNBGkvTx2PEbIx24xS5nEy50uuyLwav3o0qSNwCrtZTF2o FACkAwR5nPWaRwYQdT+9eDoNP7T9OAuRp7BLR2PYrYsFxFrXpKAYq4+6cUwdve2P3UVT57etmdTz 1NEbVfAWq4MtGYzm8/ft9kK5ROGRRH8BTnt9pY7Z8CjOxdhSpn+WwKSDW0HBvINhyfpB/FahOI5n i57E+CByHP6sEnXUPFONKygf2Qlu/6EdbpFs+LWozLGDEMAd2fGiN4sdoyVlFTHxuci7nZajObyJ CxyVN5qEy7GPc9AgX3dXK9VYC6Qzck4d6zMIUjF7QdndqtL2dYgrovMkhLexxetJI2pfoOhmt/p2 ujzoMjMnA6SY5gugqTDRlAonnD8aqXYJiWN55ugOKWETozscjXAs/cnsZFprSOu2eM3JTjtOWTzP ZA0itt1qVqTzzAkC4sJyDva9pgqwR7MlNLFFPBzC1k4XLXPdhycmczKQYcniIpEPleUersjy1OjH 3KFmzvE0HDotJjEu/hRx6MzJQl76uoj5GUIhrVabcPrd81/3DG9FBc8hbnsuOOqlBZWA0eWgDwft hILw+gWK02IXAka3oViFDXPKYDfPeViGKEhauNXaooFZCBg1hzO1lfYiDy3LTwSJL7gv4X0bW20g GpZohELQxWzqTjVnNss8sprZIF1Iat0hgkMYaABTO5hccC+JwUBCthq/MAXN/cq1WBScglq9/XSw qt0aeTagarm5mnanEEiUm+s2ZeZsM1dASjUbFrI61WArObRjZNAo6troBhEi3aiR/s8ftkPg4ubL TTUltowPHpEwBB2yfHJz4absyHn1Y6OiOXsTTIJdBvAE3LXwaal1V0GlDqq8unB2X07NI6gap5pX NF1Ra2ljj5d2exqj5quqtN62SHt632/b0EfU3LkAncadnvEB7dsz6r9ySKYAq0f0pClCWqQK5mn0 oUNvMpbFNci5Qy4Fc9IYcq29z1ne4tZNwKvv2/HFk40ufHQd9wxOM32jKovhMHtiOzdutPFlGI9c zzyePWf3dFTzvAdS/Wy24HfI6IF3POjfee7EIEOWMIqNwnhtCSG8QWZKvetmNccLXMUOqwDcSaTY xA2jUzZ7LEqWNxYph8XsbkxqoVadbFbtMUBx7Ef9r8UxoewKkJJF7YIabd2O0KTUkRuFwjYxkiGW e2kpZ+WcK0PxZy///qW8vD06CtgbVDgNoIpLsVgNnkqr/KeFNvQtLBzXUTFsDpBOc+VAhuvBe8oc CBcmtJUifICi23wl4tM/qPiEDve0DQ+hYaz5eRVqGRmacxYTw2VQ5HmppgNUnhqZNOitXcOx5Q6o WBw480ZrNjgIco6lD8KR1Yq6ivzp0CG2cCgVziWGUglmZQxsO4UQvNycufrnGFnYdLJOtPsN+Fto UKYRgSGSIXat06wvH0L7kDBFFaZIFj2f8QH9q6q54jOFEnL84YBw99aiubYPaEdg4GoHh9ZkRQyu 0Hv9ana1QHHeTkN/GvuLX1njEIqrK4PXwfeMDDyrORBUAnPY6i/zxV4QlV0nFp5h2UZCYTQRHdo9 QlPweKs1zYqiWvmb3By0CqWcq8alTGZtYLf/I2KvgTRtFJjpuXpY4ccfuYV0adnOzUMLaHncizpl amx0AxZ9rQRUOmaj40YRo1Ja6V4/u4EXic7t7RZ2mMM0yhOwp1L47WnHPrr/HcnYYaOO5AKiXKwE Hoi8mt+y5w8o+YVSXCsNAtXoc3mFtLYWik20bHHI+u63QhMWKpWXTgTwWCxQBHoD7NtwD6JDUPfL HuV56TQBhaFYDM+1L7gVhlDOx1xH4SIQYK29sqN8tmjYnmoXS5imvozcz0K9PQMNEcCAPYSoOeSC egtm1gqFF75l9put1akhWzRkT7VTZb5ZGAchjAhWaz/pFytmS2rNy3A/Thoi6yebeOtsN4lq4qG6 eqxWCu7BFUBkF5XJjUGV0wvKGiyOEiUvYfj98qY90P0+j7VYxsBxHvvtpT9o3ABQ9DLdyvM17U+j CQSVkw+qYpbxIaDCWJlbKK1Wcu3DC1E5WRRw7MV8QOR0Uh2Nulpv/GVk4l1HHZOCuFg5uRTs6R1D 497n8EM2ktPSQIFXsqo67V5oytChM5L113aKQVzMnDCSatIrTO6am/QzK+/RLu91fD1nRt4NzZU/ allLzDEqfKMVgiuis9OEVzg1rCMwITFeabTaonYlj5pQBGClA1tSDvtSsi+9sMJ7FAmC3o9w6eMo ep3aX9BH8/lfH8OlVg5r0Yg+LdS8tjHDsEpGtl/tNBDbdBmVZdgdnK4FrW/RFTGvVRvT2xXxfyBI P7Gwld8X20Cf3mmTPAXaBKACI2pRnzKllR3JmTVPk6mpGeDPFnzVTbNzXUsI7KBMwY4RGqRvfAI0 QG3iCXIRsIpfZCPmwWXLX0Rt7PEBCicxGwKTdnlUf5p8+cfHftcdtHxHZAgLPlyOLpfn1uCDyDgY hYha772g7j9OgIp8Q0uBEwmcCLk7uJ0+uHyZK9tELt9COy7Dh9eFWJPfrLRozpYCrMvTwfPLIcsF Iu0VXMhlp18z8NdOBHCh14vxaLpXhizkQOy1IzotUzFyZqktmm5M+mTXDAs+hYzlvHbURn2HBcpk kGm0Pp/N5DibLTq1p8xF3aSbwNv2VkINhgRmFi965Rgwx9UMrf7is0ZbBk2s+dMUHFpviOwIEQqr aRwXM7aJjwDQM5Qw2YOdJKd74FFQPr+w6nN7bcE420atiVreOMqyv8sCsojrZTKrRAJ1ZMFm4+ON o2dOhImHiu5SROX7h5Z1pEL1HBvvGAg/f7KYutKpv2dzWGshOjOAl4ZXVAlWtIEgn40dcgOqNI6b +aI9PD7U2KkH1w2n3bS9dOHtbBwp8yZuXiwfCrQrLa2d0YQoxUN3uVjdasWxxjFUfpwVi9HAMSva RP04FIKmyxeBkCPMTae7u6FnVSsXtGxhjr5QDZsF6AJbRD0fVh8IR+A4jBJvywHWsxrt2Oaeqnnj iIro/ywmSGSAwR9JgxYq+G9DIkuxcews0Mw6PuoCjTcF6Ks7q32ISD9L6yg2jnsI5ZyDrlP2geU4 Oele1BELHV7hnUF6hHoftw/91iAZKmoD2bnKTso03VwdVRD8d0M7W5thzTsdzmBM69mpvoznt7Ms giuWAKu5k1DKjF22fiajpVca3BL2SOpSvQHIHUB9DQBtzKJObGGoXkoRPKolFbkqHomXDubsb+h0 Y7hFe7TItPE03aEngmKZ76N0YNkCJ5hdyzY/ZBOCdw+C24jZQYghamYzHteWVDmUMu6xjQ+VNgcn nlxlUBXBhcrM3Szyw2l2LcZZ4AjrsFkXq0HIomOHYiaZQ6Jqf/7ZIDYBIlW4eD+MPtiw98SBPg9t qrfYnQIJvlOOaSKHB1NrmypUyoTk9QVKg45ztplm58mVqVe3CD7TUnW8xYLQ17ay3rXmWBA2oFu6 TCxlB/OfCMuhaHqROGYjSWxxX+jwixc08HjN9UGBBjoGRSoJ70eROPbKoOUGs8zbzXuywNjOkfER 20XJrkd2HCeqs3BW4J0evFskjugINCtj3EAFiMRDaq1uXwh2v41iYYvEcR7l7BY4j+qdiabZwxup hfVFDZIXAHStAgMSJ4cLYqxE/W8tWyDKyC4SpwP4fKLHh+19KQV7l3ionAh80FhviG07oPU+dHWB qH4TRYPPZoB5OiMY5n9uIg+k5n8yi0irYmulps7qlL9UA9u2h+IF2CLHe9Wak/mfiuC4JbCoN3XK VE22Cf9GGK9WNQJ7iOugWwBhUINUzZgjCYvg0q0ow86Fx1ImZW7YTWg2XqOuMdLLVIE8QomzXuZF 8OtqrudcqyNlMifbm7k5ZD8Z9oEZCfe5Dw6NIvhyNX9zsRwSbx7iSwYmdmsjkpkSgiOXOZzZpo6H V/IIZRE9aWCrSB+M9xHGiFuHGG3qsmzx7QlBDyeDnTlsNOeJLxniLCzz3wVe9NjOkYQHaz0JEHkA QQtGFoFAna/Uq1F7hbDZZcOancqfgwe3YivsxS7hoUytiwTqUGjxXlP5UZ++teYjAFM6mOYKr9Dm A3jFzM+99Xo+nLCk4KXAF62zxGrFvEnkZY8ntNgK1+mEgejPOdQ/ZZZkU0VCJO0VWO1udqMXqaN+ Xl6Np7SWhheFrsgdyl6E7htb9LlgRovWod/f9IfzoI3QaHEVDMLbg1mcBiDVLW4WYZ5AXfhkcJuB bDLH9mWT65SpluQ/38zvwB3sWHromSN4kV9hEaovwkFwQAzGnjK+sjZD0NYkYqtnghLR++kiV4CM DtB1WJsTQQFmOtMQMytZv/lL9B/vL5cQc0etUoMjL9bODsYxmZalhqFAK+oFhy5BRS3J8SFFm2ZU sz7dIsaU+Bui9orgra0RI5RF/gvmcGrDdbu5Cwg8mtoAFA6gXFwSMyhpKIpE73dW5NbMFRY8qypT cH6CuHanCbFjod5hEZy3BBr1rccHYrB3e/Z4gf6ofTR22s1ag/6n237wzuFFcNMytzPJ41MTrss2 y+oS1gseLXvs+cODKEj9YziB2qGU63SuRYQP9Zq9KN9SWlmMRavE2RZZBP8r0z/rxQUiYbNUieNC lr+251ZHBvdqrbw1vkEIL7h6BO5s/+ufYHdEYGurpnmoYRdS6S5qp14EDyxzMJfw4DLEnz9DkY2e PRYtbvblihEBN+3xvaYTGKw0wIJtegkLz0YaNBsFaIMclyElbWI6gSjTbGbmdMceZsvRjtCoTTXn 86RMb9xAnfuaeUovLFpY43yD2J87OufoMBmvOA8rHtn3297X3DGTHQTjAcK1UivF8ys1borcsQ/F DLP4yqG05ioMWbQOGrDMtEfNnE4pSypTcUJkk1n4yR0t4QiN7C6adNgo+IDf26H/hUQV59ctgvnn ORxrqdrGqI8gi41WlyH6IbMNUUrkZdaATqTIe21B5xALx+aijjvfpo1qp6GYkvbRgwMN+1b7aqex 1s8fHomSM0zDaIIo6wVMtLazVTLxEEmlqHHD0FUoYdt2JxLD+7XWc72DwZCRRBo+j+NB/P6FhTdO x3gnqc8KCS6NZ6191uc/s/CGZvho+eEZQuYQ6sUNMtewsbJgf5rgHWcaPbLO5YzHYFO9zIH+c9/n eIl5mACxk3NVDnwQQagKE5CzslOBxsbca+CZFkgFzNXvZpiFw8wFJRaLbta5ldex3JLucMZLIAht mcWomojmHhoVd7CIE2aBsnLYod0xd3uergzTIcAhj7cAH1u98cpgFlnIItnHpyDxs8Q6/C0RyCqA BNNaghSGBHvmZ/17EWi2D/1RvcKkn4ElzNAedYzr3Zm2EDy5DRW0yFvQgFE1di5v3S9yBInscRJw X9j5tGw7vdWu7tsOjFPDzG/YzzHG+canW3R4lw8Ijis15Zg555Ct5TUYYFJHD4471Pah45VhbiCw 7ghDJN/Bade3KD8yTxXcxITcLKdCL8TKrsDkbiqe2mQMPkkRBUWJ3HVbFDo4IYVQQyxn8E69Obu9 x+DZjnrWGVm2RwPyXnfDhbUTZJb+OOh8ci/t87/v2NrkLp7CSRUm0Mh82NDHBpRmiW10nrmcWPKY 9UJK1GXVhkxF6cSKEuNJzGSKVGnpW2TlspgjO+ZZkc+WjceE28wujaJ0wpSxZZQjwixVAvN+Y5q/ Pnao2dBpUJHGLzHxEh2YuvYH7eb4GRrhHWGCsWmcVhFJN+cnZdqpdZMHWmWreqrhiKR/aGnwDDWa x9ABwWpCzY7e+wHYG52zEquCz2fmnlk/Vp3vO+rjsqdXt1ZAGzOnmxXSDdl3FzHZZtC5DL0KNFQM 9ygCx2tmWGI0c+Uzw5C4iWdutIs3qrZBFinkSpU7fNJpO49jP3yi7wyCtVDuytvcz4Sj0WIaMB5P XIeJUYFkLhSWMZGUXWhI9sKRvj0dd/LAHk8WyX8+800W9iIiyo/BUIXaFWAQO6pS53iqxqfK4jbt GVNUq1K5+fM/ajSVVoGR9T5/uJdZL3TB9ppXwNIhpNHQunLPgiDzXObqVtDNbOfPmIK6sZsE2zWL UODg9yRKcjNsOoKYBIgiAGdzsgI+gAbKUJYNriVmuZsFizsZ25C9JvrYrwBPHTi0oQVwUQuLzA1b FHzOE4tbB6fAb2Y4mcPJr9AITSryIizy8nRGWSbr03NRVX/b7g/dDCt3WNV6kyxgNQBOWMg3bNWL ODD9kKUC7rojNShNTJva6+0WATSqBhbxdkObdGA7C5MP01aDyBUjRMdlmzXO21/ChI+9vC7oOzrP 4bTMPuoxYiM43Ex5sP/3R4MDG8dFW4dQaBBt9zUKRkVAnUwFRp3HDAk96SoXHhRDNay5o5h2Gi+T POOzeF055UERWCwQon2h5ED0Ro6PEJ9KTyjZBNAUE9ZY7L3Iv0cS+DDFTKVygkNpqeUMhR7zp263 Uo5bO92gVcZyiPUoD8EbbE73Es2VLMDswAA4mJ0WGaxF7ZSDKJNNzFUL2IvQDYxxWQw+pLtSI+rm jtt4lPrtvg8l84vaCYbtjuolzNoM4DRl7eAsmA0KtZNIATknjUcWeuyf0iltAdbmnrTgsKJ2qoD3 rI4PCFYTDNc0AbIn68DTi84fvDdLP8p6+TzaHE4eArKardAZM2sT64Aux219itSmZn2A3adjXnEd lEXHnmhPu9JSXtVss1fDrAbEIRZOhSyEkKGvoTYZM4trmKDyCUSBm50QmWbgAr2+fliroVwliTPs C9sQjTD/AawRxdFCGEJhfnaFFGMu83fZtk3TYKze+oiHfgwdGadw1Y1DqeO+7hmTdZmh/mKl/TYt FF3DEDQe63sVfkLT5sK87RnzR/O55FfGfpQsmGXJHMv+Z1oe3aMODFjiwNCtNY2AQfyFxxUNlmX6 TrWYnraZx2lN1XoaSCEvEd2MOJsTo7WWnYIK88RnTOas5vhyfKi0aXDIHH/UpOeJhcI+CC/ka8uo yUtADRKC4odg2bm3TN/CHPYZMznzMp4GvcksIp7YermIRADbhgeEzmkThbnmM2YGVXNeRpZ6O1Iq 6tR3dTWa/jQ7pdq5MkNhDvuM+TzZbGfBB/TwqjwyPOCzOekztoJrZttsxlwbdiJGNc69OfdpkiAG Il6QDjAAqQIQFGtdTAv7DARnPDXfTmxdtfq+3UMxP5qvwHzz+HEetyDNmFDDqnNq6N/JCbTn0Jqj MA+9/ixqdJwxgabCZr9sf3FQVgIohlSa1z5LrWNoBIl9hkLgM2NqNSS7Q7Kd9ZBic7tQu0MLyvWm NJTm2AekPG4OnGmvuNoamiE+nxXptetsZEoszaGfpcoY8xhCo9sM1TZ+pwMMNzNaVqLzZLM4tnTl AJq0PYEbA3MfWMddhDN2Y9vMvWbh2WfZKo35MVwqzTuvP78an8i7kWgjFtPTKH2NjKsK11D6eHlV 5tigLJu7MbNe+ER/1r7dhSOqwsBlB+YsUzE1saa+R02OlxuikwOGqt7rVZTmkddB1Ww0zJjlkXqv xpP142KRljFo+2mBzAVV9dpYPzfgjQOv4yawGXM+WODx7YQcszFkMAmZwVbe3zmamm9ehxSz0o0P 2ZrvR+hXt+1oPtV31uz2j3yDLpNFMg99aEYdrMylOewVXjXHW2dspVaBzLXjx5HZTMggwEMU/suA pA6kiPtBZmy/lkDq/yyOmSkTx1c8C3V87qgLkFmBSk8CtpCVY7C8R7EpZeIoLJwo6niLD9C/NqFZ 2yh6iXqNvL8zCr312968VmXi2Izs/WwBypoXf04TH0nvVs2pwtUmjzoqE0fovIm74GbsX5ZaVQm6 IOQds7Ylojcz9anTxgFyOVEeepk4qiPyabEqkc3YIfVPcdSdmQPmK3YkRxpLvVhSo60/n/+RoSZ8 0seIvBNHYTaknC82Z6gRTEryUooQPNFnyExMZkWbvhXgmPM7Y75K1Jw3Y78ydm0AwvbEX/KZ8bqR fGmu70w7mi3X0qxZ2+gL6Ajy0iEal2XQ0JJEhbBtnOyBzEH5/16ctjS/uIIq5mA++ZAkBrsNntOj Z2n1Y9i1bzQLgJC+MIeQZezpxTgqPO6f9d20+g2Kajy2GiFkd20ecP15OYd44oNIHenGywERfxHE YB0nzBQ0o415wXVkUS+WwqacIWAu/L4Mvyd3in+PDmHQqRm824bfV/77JO7xmWl7r6CaGHcCFbe3 06j2oUvrnTfGMdxB7fDyuPcoPlQ6v7JLQFEuhuo/qrH86bqLb2lOax0dtZ7LNGmh0gfe+uFYyf4z qwwMQWrrd70FcZeZIzCcVwsEQd1kGC6+vWqmWmaOsLDHpvEKUF+ztBK2s2sHdbfY4gQyy+V0uA2v QOboCW11gRW5YcVn8i7B5v3SUuPmlsJl5jiZAxHitRe86RCuBrmYoTX9MWzB0ZHNeeM7ZhuvzLlZ i3CylfWblEugaPP8ISzBcbFYtO/L2IkrtyrTjDLqV6e7O4jjU5CBzcLI+OIgC5tgdyXUZY7CCKmc owwzpgawPFsk2cpgF0sRFxGqbq8VlqE3h0atKjNNDcDDbPIwROMgJUPmXcq6pbmldVzUBzVjay7r RItjD8WnbFjjw8q4oyM+NNoRkn3bZhlSHyYV8cZWXWTq0d+HBJJ39u/HEMRemtc606ZcEZkw8J/d NzVo3xvwWoMLEIpmp9ywdqYFgs/2QBWWbJbEZ8EZlPEspE4rMUSD/hHOnF+NpPq1Ioul+bYVVLaA zT5YiDtiFdNuflRkjY/t+aT5lH/ril4Q7GhnYD8FmyILU6DI0+KQUujIEf1powq9FLPlbVnwkmWn jIEyFSeIwOYoV1hlulh/pUhrqWgU6y7mYOHLe33ai2jX0nzoCmiJwgiEBNW9szLgskwzMbN/NsSI 8UWo/VOabz0rtA9lDAhSY5PFVfEZ5zHO5XeBFmrYhqgMzq99Po/t878/ehvOMnd6y8gc4zlyXeyc HFLmTlTZortrxiSD0gow7Doq/B4tttdIPQPhBJaVcWPZrNAW6Rkxw473bm5ixcGFkw3egzoenKNB TBbrLTOuFk4HoiSnizlRrILVv29MErLQ6bJw/EalvwV+IPV7U/8ylCogQOF4m9dXpCHSKYk7RHCo eyBcRuE4mTdxP+WMcfwbixO8hMLowUUcStDwITx6i/Dx1Ic6gQrd8bIgi4mhF+t0E0r9gZmesbMP 96fnfx8PYbhjI4v0LxYH6S0UxvKgznFibyVbDWLckCPSz00nleMXjoEQduewwYxx9VxWd9Gy7HLO e8Qa2IIMGfm7KtpPSem2iAJl8KrDy27BfBZVaerNxXpUGNTGoeZxL0Z8KBUqHjMg9683zS3NIZwx 6D6bwykzxtJzQ7GExooDlDrC+oJoZq5fHZfNLXLxQR5HoAM527LRXujX9gK2g30X9XAozdGbMQ5/ k8cnhoCvzcZq7zFSl1kmrQWnqSHgBOeVoPp9j1qNu5uH9laUu2AbMBewAkvK+OTQ/wrezzezLH+A 5Khlm/trsRLAcgcmpFDEWIFuVrmnCO2DIX+t9ll5wR6oiMUPoXl6dXCx2HiaK2FFaemMCFPuLjS1 h0O+DfbIMjhxOTKdu8RmbIDFdoKhUshBs2lutVSeDa98OBvjxcNr7ZRnmsZs9dKyYqwhHVhM6bgv T0q6ic8622jDxi6K14VC16OaxDEsw7E8S67H57oLDY1i+oIozdMjkxW1zD49ZiYfbjuTFxVw5cgP M/bi3tjA6koWtHxgZJBfmyzngrr0gYeVV04UMIsvqEveD15P6ACqvq1gYS8rx34+HjES5Oh1UDM/ mfkF8LlbD4uQG/XL6oG6BwXtqI8GAGlMqYgBgXpqhSzb7WXot53nTWj95V8tQ11WTgOoHFLEl4S6 RaVbCUVwCMfviA7jeBWfjnZmjAvVh4L/so1+vNDEHBysdPjR7xocP+5ZLCunADwbTXyOqPlhnQ75 MmlRM5xVyPKICX2G6ERRLNqPZmzOxaah6vccA5i7/r2FAWqYEPtqrA69xlH/doZsdEJAeXSEFU0i ifV/G8f2yUIoRBnSYNlgGZlTWGeojUPNFpjE9l6hYeXnF/VBPa3ASq3C34i0JAcU/KEV64fMCdkZ 24KF1pQod0hblfr82OXNw6s0T1nEqxlo4kCra6BkFiEXBi24rYkIQtDVkkXo9CTNAFMH2CyQqqK1 uVKkgkrypDXw1cGFMjyM3FyvrPXEEVUPIi96GbylzCFZLhUdgaP93wmlyMqOGpihkTaUaMewhzEu oTVja/CoWgOxxRQinltPQZZra9ncc9ZIxwhK4VDYcDOGwh644Uy9ddr29PyfF6RYzDDKACO9xsV0 PsZX1mOEz3a0gMoHo5ljEw+2lq0zYaNCh0gULW/4gZETaGAHYuS7wEaGozPWX4/gLGunnXTJftj0 q0nygOVm3tPgEeuzB9+NGkRZw+bQX+QxtljPu6gZQlk7LcHctaAl2LMy3dhIQ/pFXovhLFpSy17y jzSt0y8UuFR4UeZdNE5iOa87gg/fFTb5ar+Hh/MxdOoOIQfKUhsnJxHKiyo+eVhnwAssi0qNLo1T S7Ho9ZYxt4JVQb/XBPffWukhGq94Me3/90qcWpDMsVxJpSv5+sjkNEhBx57M4Q9D1x1/6rfysqKV oVX5LRsni6KKGxJm2viqum6kjWZg2gVW60yjpOM/X2Z1KfhDNQMjiohiZgULHr3WDhngVY9aWhT5 R7/XYioQU1QfCH5SDiznIhiZplhgZUHhEd7//C+T1v1Rwe2dyvJexKcMDlMOjvqVZtrhCtcfStH2 3BmqUtDCfDN3DbKgqtA2aO726CW7utEWX4fpkKgxh1LiQ7HeVI2pbN4bQovWIUfpVit/CXZfKF5D Ojhtw3U1DhetvePrQlJrpR2Gup9Z/W5U4VfDo+S/H9v/DUZVwR1bM2xtcTpgM1juL/BnbafBAPAT jPkMPdd48B4hg5awWwWPLIFFLePwodAutuqlDP3QZvmKaT494iiDkst98WeLAnFVcNqyidbVFuRk WGUXZRLY3AbFPdBLANXFT9teE+1Y69jjww1q5lBrQZv4vBEVXc7O5FCkbegZf65iT3cM3cYZCee5 yFVw/BLMFVz0Oanp6nqH8o90VK1QadGGOoWhbkQZU1hW6tC/izfi8rOX9kNErOiXLQstnofe63JU G6c5AZXOtVzlA+zsOOPPQ49cy1paVrC/hOYnjD/qGFN+vMyqvk3jxAh34wIhIIE3i0RDG+IExU7n iyGZ9goUHLqzzjsoGgpZ9Vcw3QlInoGrHTbowBj6ICI2i7Fna1efFELitIKyfXV8dSgaijN6dabu YBeWOPojnCCK5mMiRoUpr/wn3kJGu6Qz28UMjHJpF5b/k+fvGCYw1G9oZp+bXeKD8NxElThaGdyu q5QZHMH8YVEtRkJKSqyu2sFMf+ZgCH48VV9O2+10doi5Qyzixpv4UAknQZNVavvajW1EcUOPjamC B5iZHfHtNNpoVhMqL2YynR13VfD7NjSbL84YKRwY6IUV1EUfygYHAJUDyNH+NAZQKUp+hhbK4B72 Rgmu3yHW0vzy8p+3LNsV/PJV8PwSRIyzzAFpbDdIXSVB9YNJMbxlpVAD1ARA6GMTcYuGdowstlHz ZM5tVPigCu5fNoVanircpGRiUecHmung/CeYKOqjCj7ghrG6y3VYL2Ka/rw3o3lqrap1uOXU8RUt CTfxWWfoR6xNhDyRnYY11xkUguNthi6pCwiF4wlD4w5hETbS8RPhucuRaBmgshOTcpCXeOhDKnqV Om5mFX4YjxTRH6t+pf03eIRmhot8olXqSMpeNTFt5Km1PsbxMWt8p3Uxg0fpMHuUAMmxFR7JIl4L su3qcBEQ6+8B6Aad+ZRgNIIf5V74RqHGL+uijCE047c6hSMv0vKaGGkQV4U33XrBzC1nucJQjWwR m6htRuGO6eYDdaxmy7HFDCCPxDtBT2YZ7N6f4ZqUTUDVbS+9vuW/4jgxF1Dg2eY/ztlWLGozig+p NsP7Rj14MEfLcZ2GHdpImrGvMl+y/jydHbE5W4uxGJEudW9BjubNEbn5cA6xgpX5kXVQ1D0QH0pd hYU5DAwZNMvG8myPFvdkIDMHWcYtznI2FWMJ1evWIRYqq0UcgltFs7Mqczjr6Gq5T8Px3/9iTBHG JItOufhgZzs/5mt3Uiyq+FTmOtYxUWNQfEDHqHxZdxltt45rHVn5yDzGopw5GYzPt67VqMbba5D/ FjrW8d7fHXMS52xBdjV9o9OrBZLugx3sJdbHpjJHcW5Nx+L5yawDKWrutEgUsAeYPbrKHS/TJG4w hw+ZduucPXuiGFiGSogT0hPIHTllTDH3c8g1pQKLP6h7GKnO3h9ca6KFrjwaRqee6gszmrWbYmhj UOWOvKgkUy9mQa+jfFFuPMC3sY6lKTooxuSXWdvM18tlKWrljo7sQhbPifA77MybkmtKasgMf+cd s5X15o6k8JgusAQezKbxeEV9AUOTvip3xMwWnBYfam2qR4e4+ZAgsEHr2ouMoIZU7UepGKsQHWFh py7iw0D8L0QgMDiGSo7t0QtG8SWYqVhhOd6iRW0dbyvPtYOkh02FgFdzs6zJp+lvH1k4nP88WqmS Kne0Rg3QuV5uzgyNTeYcz6sxYMWo5jUwN1ZFGjJkThR6UGpNi6pwxGfl/fhYc2uyuUO1Ank/RDA5 heDeqnBc5zsXb7gQ2dfqA+wgh8n1482H2Pc4eX+B441qmIr1BtRRG6X6F2iGp64O1YVDMoEFQbpa YEykcCyHWSZbrK1UCvG2EF5+hW4/1ujkPbuKVDjqF6ThGFijnT0/v1jta0Hxb7rJel13XOfeHCok KosjqMzxmzNVI4bJzmlZGtfMO6ncgFJi+3N725PxgH2hum/AQCgBdOG14cFTS4xNV/p0gkJ1E09X 2Rb8PIaejZFBuqcnGPHXoTWCAascGKSvIgbWaCtODZQ5tINmSlLYEUF6T5fbi9XbZTmwytzGObM0 oo53+MAus/bkqJHjhq+wVz+6rkdYmbtYB8esiu3WyOjfgpiphC/iRCrzE+OXaG+wWIi8RqBEWrkh 2MP2JjfgebyoEqP1X8fZW+tijzmOFVCZxIeGVrZxc0QGrHndA3eWVeYqzhNtoZlGIPBkwWr7deCV 5vjN2XtteQasaN14MHNI4UJ1vY4mE4OQO4Q87nOJD6hh2oSGHLBtgsuc1J5Mp9qEEF69Yav2W5WO 8XwJF6sXKoJR8DtWlqGkqv4e6oj0gdD/4eRdOjqj/scCX7JU1/aFSX/X+o8BcBRG9mG+AJBb71S2 /zydWQnI46GW3dOq0hFXnq6obXCuDeNgXPmqfRysJBl7MRrT02Der24enj+MUeeOKxWpdFSGf3Rx aFmj1ziHAlWVYy8KcRYxjiFRHThmatHWpUB7lCtHT6ShLIeWuP7gfN7zSdVslKdgVawcM+EVXbCX wjp/UiB594tLCTrVm/b4IDIO3mVtBg17Fcwt2hE9SKpRyWvbsuN5kVzPnOHETJiY3gvu2GIdseF+ TWLSKCo9U3PhRtVx1Lb5adTzkzwgqDZa/x3AHctRbWQO785Tqjtg+3D2UKtUzoF2M0jYths3T67+ PlsCgEK+CRfBSqgs9qHlfpftDCrz3+qwqEldznZpTBVAOGSwNaw1q0ljesC2LVsC1D0yii3ZrP4P W2LtoIvrPZZ6gN9o5tjJ0avxIVXcDxkfrGnuG6u+FYpmC81EiUCVuWV1wHLSJPH9aHlxb2AECjZ/ zqDRFwg2BJ05vhn0JEBH2aU5Jz5n/7LUanawqdV3gq6CpUw0ZTSIedDhvTsNdKLMDrvK/LQKJ8/j a0g3SpLBja6B+B+0R/pcwVC76mmZnW62xKznKbIwBVsgLKZAGfVq9v1rF6d+TqKnJfPjj0Zrv37s HrspWnzukLOrW5MnICt98RYBQAs2w8eRIN5tB34furn3ZKiUGM1R+BxwBi3mqLQv5vediED9tl19 93QbVL3ayQQl9tJ4WGbn6hWnUZ7E2nWIAILmIa2m5avb9SIs+PmfQxvTqnbCya6PExaxTKW906T6 86U9d8Hfr9VXDIrTCB6kOb0/Z2ojm8Quju5OO3LjErSJUXS/TjsyMmromLPnGalR/dzA+bX5v0Th cQCNkw5ykvIYuVEE0ACcrcWkOac7Vv/ctud2C3GTZkCt7651htS+Y/285vCJqnFKyiAbxxvPU5/s SxYJhKwzMYZqZPmEuylU9O20AN/zhxmuExLKci42gcalqVcTRYkKU3mYH6/FYqMFOrnAWbG439y6 d4Y8MlgIEIOyBWlCIhZZfLRI6Kpx4lj2N82ZgMlEMH1GmMPkIIII0zje503cfVQ+QJ0Cmr0OY3SA YzyMgAuMglO7rjz4K4icjWMyOiIsrgIvXxGKOF9tT/53uvddOh6j69DitNBAulZqAP+A8bKlzsMM gMfuZ9+qIzAyHCIYGd44djv+RHvMhui1yB3tUTWEVZt3NGd6Z7wnNiRjhPAXc2XC0FGQRnSyPgsY D1IMp7IoxaDv1eYjBUgR6ubcCXzgVUeF716y02F/fvmJDk19aBU3YMw1KxS49zmR6mevyMiO9b84 +Nq8nTkTCZeQEGRXboLDYo5JtIG5D6yvBzahB2HUoUeLHcaNN2tza+qIqONgzsTCLKln8drI1QpD YGwZxiL5eU6xwQc0Ly+gwKOlj9qEBqtbA5sMjIIXjawcnw7nFkJmCJB4adArh17HnUlzNtviyv6E sBd95dC0XQ3Jx5CFM0OqAyQZWM6JDPgQ9mgZgPr7xn8Paov3JdTV5FoqE9XtdwzZQh4gs4/6kMjf z60n68TRmC3e4xNGAF/mDch2bLW41kGOl8U1SlBwLbSUBjwIHdFyTZ9w9/6FsNM9VPnBADmWFmh6 PxNkrsJixjzB3dNRBMsfQ/3QDgK7tgCH8we5hCYlH++g96nB3rZnyKtJjtFhsbkWheRQbu29YJDw at66kCRzTVjbDk4EalovAlqaP1OBxGiZ00SeFdaWtpvs2bdAke7CCiqdIWuIODeghQOtr4DS9LCZ rd2WYWQCnznGfpFkBJhlgAkL+mYTw8TNMQ/XrJHeELYPyYzxGimzmL1DQVcOukAb3Rh0pT1xkXL2 q34rKw4LKLVDgQUnXiByzbFpVi6ECTbIz9jjoX3+t8vgiYq1OUNz674VHx7CS5KN3Yi26Xz+oLSN evTdcCEE84fqgKqKMSUttZ8kel9jT71KJUhQ6raXzs/c7KqhrlHk37KT07WawzRnUmfUexEfMt3z F2qTtBzIQ3vcUThGyqyJafSTX9rBQKYOsr5aPGInamvnsYgneLGSE9EbmbHGeFLqZAMlfBNfrvDO ZhOOk7GxMAHiNI4njexj4G3/M2rK4NLhVrQSx6IYKvKkTkDknvERFLZezQ6bC0T98jQRUHNj+9lZ CH2dOhVB319CFlEDzPa1BiqEjEwPhdHcrV+ivgF2UkLxnSI+EvK8bK7/QHRlK93frcxWgZANP1yn nOIXm2+UKL1Wmg5wIkEuTeQpKVgrDlNrkOFLfU6FHbj1rDaHaq6dmCJzH3MfU3DAX1k3hwYHKbsk RT3u8KHW9ngydJ4qOESZDZnM2Q+5dlUCYn/9QG+CnUTwffLvUbe7nDmJWVGGlKZbIfzttA9pHKw2 fUS5tE5Vxr0GtaFiqqDiIrinDt5Qwizm0ir4gDaBWSQeh43nPqRcb8r4zIRNJXMFjpDPXwd/p+ZO VotJ6rjVpTzGYwt9VLsYGNYGTyd/HSMX+yrxabiKfaqDi5O/aBaXk7K7oiOF/rwOP883V3fJhtAZ CjHTFk5XG2K8g4u6zhyFcvTxLOOxtTak/EqrcqFC5VHr1IMTsAK7oDKKNwZWoCBzRy20tKnjDRfW PpE96doQrWDDHMOKa4SBp6eZ43WtVP6SkHLHtwKdhOJ7RdUGVkZ5/l+/W2lnu1vqoagMT2eKlryw ruJQuDXiNQhSuaNZga4li6VZs9Mv1BVIZSDU8LfBjnBkCfPCmL5GSkOI040m4aIOr8wNbouOZOwb 5oU0onIDdXBwEkrUDQsf0JattPjWY4z8wblZMn8hohfmuLGPqdVI8AyiXwSQWhToIVhyAujKQZe4 rRh05dvsWHSOFZCPlzCy9pFoxLRYFGq4mrh94QmHPmYY1/i4eoG6TJtj/7MvGZSIqhR8upFErUlR aw8UroNnkqOiNmr4gGcGMrc82aJFDXS12ajER6XoqRWPyrRbmj4PVxE5uvTggNS+OMliNLRB1vw6 IptyvfryNAXKCg5H/irP4jNOjFhfrD5D9Znpbm2VflvrUU6p4Ds0gOG1ItjJcn2iEnF18EIyyW25 MDhU0iTWSkObSI/Bp3cYnao8Tq8uHE3TOu41KR+y1AEeVQlSaWB+r4b1HPJ97obdJJrw5xqOKKKS prWFeRyz0ZqtrpfzNFk9d1urC0dVyGTL3+Z645+ztLjGk90EC81ZBVMD4liLdOnIbMn8NGItnTva a6cNEcLsVIgUXnqb4A/b7lszy9eFYzQizhann290E2/JEVS0EyDBh78Ojn1k5+FfzGuJdMHSsXzZ 8zNnolpeeW4qk2KD5VY4/6haF+xLH3907N3opYKrubyCY6EunSwgXC64EuxebCKoDOkJ0hiDKNkr g+mGepWlEwdqky1PodJWiIGzyTsGr38Y6OSBJmwLSi6siybNtXRFmhNx6M9zqPn+xpozaq61YJyX rqpLpwz04FggjajmDDibI3cetLWxVlF4CFfgpIBwgXSxvFrP5ksI/tOuP2lpH83BhI9/YHgEEvSs FG/IfaDyqs7PunQaKJrF4VesHtS4aENvF+Sb2B4TvJVMkIuPnTlqxBDWpbhpraIDnCd3rVVzovrq dX+g2IdST6oVBB8mgUXNF3MmvDH48BzidXfd48CMpHD0jY+FFTOJxiJqOLU+XkAj5u4hYIrM71N5 wlffnH7q9mrQr4PvkgOXq0DbzYoMdE7qebH6e0g47cGAsDGz/Bnag9k/6+DTrLSXxgJk5c3gwqlp fHcPx5Oanud4HXZh2rfqQ6C5W+GnDr+OW47lzCZLQ0JCVPbHbJEuw8ydrevgyNRMtCxeLELJkmY2 S1+WPq1glQ8uVeSYhwfGzXLB6Uloy+NF3kfiycX04FiXtQu2TNxByoOhcvBwcmDUhQ4fam0ch2gY CCI/wrrMgt/y0OLW3lxJJsHZyaFZEqNPZi0WzU6kNZJMoaU6GnVhrisnkGxzdRMZWySG3UFEkfN5 QVbJuiHaaevReocx4RSXZUFJ9rpXTiJ4URaXk5XaofLtZDU1QucsNv8LXkJLRjFoTjQot1HGJ8iu nlCWMeSFkO/KpNdgWqqdTFhEf7GSRttKKsFhJevZIlc7LWRN3O5PPuRsn7V87NuRM3PlBsCRHUkf ecyDUGu0rH8hLbycI1rmpHcVFRSiYzxbW8dbyY3vsHU2eqozKCtUsYAeMO2sR+qr2/G0nzwlpK4d 0eGWWW4UOg9jQLvD4fmv7Mm4+mLaPa3+IGpLSxfD37E84H8gpyauQVTXjvUCJStiTKXFQ/OmQHYh 62Xo5vbPBsOxHbEKC8pBP5S5xarGZaw+11W+2Ldzc5e6dlQvsrh9JD6gzXUyKzxxTyaWJQbTfQLj 3AX5TSPOj27lrh3R0ZAlWUC3VqzPf9bjtwGOywX6ic2XyKRDPe5lbOIF3bX2J62ZFEusAi14KjVj MTplJh7SBu8jQkSOtiy7YVCnQUkcyhKxamZfb0JVFJFPrEAgUxTPE4uMD1CXNdUCLUa7GbWCC5Jg 0ohumVnI1b2Zg3tRUpwNjqgTa0zvndUv5xTsg/b8r5c+uBTr4Jqsqd4sto9Eaei636hN9i8rJoif RJLsow6/y9dBZAjWyPcSE3XwWVpfqMUOQgs/BD4Si8H3WSTmbppXWDgA9MTNIgBsu6nO04FdCq77 5hmEMkBgu+k8hiDCzUYDjY5WAs2qkLgAGlyatfb4i68WFaIC9mv1NPX+kcNbkcKL9QIfp3fycGqQ Zqu987xQcx1cnppnmMSHhNBnlnh6EICIubHK2fE0MsVkzca71Renh+Pq9yG0vg6eUPaayhfLR1TA JvmVUhDCMs/77v2cod9snEpQF2Rxi6hRb2XkPwMyPGiVbL4gyx4pzcapBKmKy23W2lSLFfnluEJb g+AQAp0MpxA41B/v2kt/T145Q3daQYnBOa8or7XZS2nQLZRzDr1dW1kOVHCH02zH0A3ZANhxH6/f iYU9XmJEQrBbrknqDFFkPKY88oNagMZFCRmZ8NvTiC4Xc4WCZuOEwpbU8UXBEl/p8q06J7t9aPr7 nUglqJ0yuWGUgtAcOBRN4aSEsOsFKcnzkNj5k8VpjCC0PK2hIhirVTzMYn65tCwaMMN2IoMvc3H6 BcS/PCqNwCI05pqJ3U4WfDXDdNIr0IQ+Zk7IpSy9c+laeyoiMspLszHiXT1nuOlFzHezcYJDg60o iLJBfAAhv5ANR01FX7oP++BaUhM8tBx1BSZTML9IJ1O2THfHLe0ki0TmJrhpG7wkmwgNGm9FaHIl xOTTtA1mpCb4apl7uYmC6tk5K6/yyNuEE7mNIgvntdkT51n0NC6Ibjfz0yb4cgm3KuMlUpFKVTek To+1sZhwVPhFi/+epr3dvC0/C1BhQ4sSIxptF50oVJpDg3vA2JYByB1AHvd4xYcCEEMFQNtF4T8v rn8uIrHXqfJ0qWCPPb5nmRmeVZQSalBLh9pc7SLdKIvQEGY+Fa7k2g6qMDjdLFgAEz2ZvPil+z/W s/fjpc1d+/A07p6YM9EzqROLxdV8kP44oo2d96xoEkdmqGfL4dbBcT6QQ8i0metbEkjq6Lvsm5gz 25OnamFjcCoeLXhhDpk0KI7KCIhb0BWMdFiKuWhJ5eob1wR3pPQPF8PgY2hT0KSOswhgK+PbRmwL sOsrJu/MernIIu2tMLrJIDh+ZlXc7TVnAihv9iqaXqOvR7jwkW02GOKljqcZOtTHS8lTXQrP2UJh IW9OVl9QOdkw7Vj8Zm6/aoAdowVOUcTokxfaa++rzqt8hrK7++75X7TprALemtbdpI7KsLzVMT+B QrIpPVyFyTbMWkbbLTbi9XhveUT2tjzHbhTnrmP8gksH8D4XifqOcfiicR27YHkkeC25/PwfRmip Izsbi8UoAoNaQQ4ewmleknt/Jw8ZsgNYEo9WL9uoI36RX+EGqqLgvr7r1TZpaKrFXBGsDZc6ahvE 0cpN5kQAh3G22CmvfK7IvtbQZ2GwmoZrABz/i8VRFcwdrWs381yC8bUzY496u7HQPZVeKJcDfA0j o+2uKhUa3zHvLKCjW00ZTye8EcZOvnzX5fka87gWzD9N5whpfKjidXoO7zjJQwxToEXVNuaBLTTF dD58+ZAk2qATDjmhw56+1FY7Jz30W7U2b08Xd8015pzVsVfAcm0m+sWNN4hhF3h0PIJOSs1r4juP Vo80Q7iDvDG3rcKJurHiQz1vlCowEAvM9Risytxq1A9B5ME/drun1ZeC3cOw9qwyETfDPiqfrrm6 EHYeT+dyNZOazrZ7iNrG7MwFrL8u5zyagh27eJ9RncNedUTEbaFiFMQ7OZ59641yGnMLF0z+TKoF vAYfWHPE6v8F85FCFX4iSq2ZIxpzBhfW3CvGlwwtyfL/32UBDV4S4KFsShLfN/I1q5AW8OstXBjx Za1zo0LWTe7kkC8aAuIDLA5W8n9P0ofxskPtbXZXJsoIdhva5E4f7KAYQwLLM7+gv37anQr9H5dB dQGakwoMI0l8erCEWJAorR4eQfX/NvYlS5IcR5Z3iOAfonGYumSVhO/uvFAKVeACKYDVAId99oz0 zPJCZEQylmQlTn2dv2jhZQiOSM+Flz7nj429p4urBUDpEWnpRkelqZmbqdqiy3torl+ltlGwMDq0 LpiAhbkSnZKN+5rMpnLs2A1V033TqL6fbny2WpOLErHwjYU8mN079Lg/M1OXcLKnBepp0GBxwzqx YqFYaFj2RerMjUcqpE7BcG2J5XyOkG86qN5F/uxje+F0/FY5oQAXAIrynfMJPBryxqBBZWlVL6AP DavAGED/o6MKMSDNY4UO7SPkEzVwtmL5QaPLaJ7mKhsWYo1YYK43vQkr4KScJc2f/n9PCkSsEOC/ z/+p4Wutw5FBazC6kQKxJutECdmIjswbecBHHjQOjb8DDVBcSSBW9FIud5zOikXKoVodRoa0g+IS weLB8uSsVIPGrUVqkykM8uxLqaSDY3wUNOOdRFrxiDbyrJD6OGiUWpoHhrCGNWnMj35PStRkWt8g OqnR6KFxi6jri4kip2ojDW8XaLJXtNejAE5YZbbkLCqwp6iCDswtg4SqmfxB5GuoAScjOWcJTSDA taoxbhtI0S+iBjb6cdiLEKzgjsm2n392Pf4IKg5P95PL2ZnFJwIgIdLdTJBQnOk3qazXVhr3Artu moSDeLOmWGqzyLR5dasBRPQCAtSUQqiaxvy7dD+B4i5vUBl5GtbmQzLsmSjRQgEaupJ51ei1iAvM dfgBcau1cqSZN85fcLx8XJuUwqVUYGqMUhpZnfTYevjwRG66QIdDpgZZHQ1OS5OLkeANKZQ14XYB F/tJoFWJWHoykoZBw9UNa8uaJTkcP4BYDU5KA+XBAnyTpugC+BsZx5o/NWiAWloHBsGG5WbcBMSN ANr3H1fXuuFpVBp/1URmRvzQytS+C7XlGEi6R+7VHwwBrQugAkUB4NQbJA3HGjER57iXNBxwt8Ez ZOx4ENe5OJDrxfHwOS24X18QOPuLPI9z0CCz/Gk0vxInFWcU8ZMJJC7zpAeHRpflb6JFlLg6FYhE fq0oprtzsjOH1Jno9VyqSI6KBTh0rq0lrqDZMOAAN5AGVHSRixS+tv3zfzmI4SMvL7fqn+GvxwXR wIq5Rlb0Rpy1oXMNLzH1UcPT9YvU7Li2qQtImShFsTtXbFzUMsUG9AbZNGfeUk7jpxkXX+emuE6H HyLZAPPAgzq9ABkOohectKJM99LJca2vqst+lD+Vzgp9CBtLAiZ/9W7a70Z1cw+d6zs5U+MsC/ch 99pribqS3OSWpgKkTDwCNskQmV96tslzS6hoyVHgoIoQb/wHAUcw++vcDqoh8hU2pOxb9qgl5yWE zlSE635qkX9SOtfqNgIoAJvi0+kwOnCR7iqd2wDJWesog9SrQUYWfRw6N4R0eAXuyIbVY9J7GrCC YEN/sDnN99fPfyfvtYNjykB6twI8/rtoyLgJ97X7xYggmezxyPU4qe9VYt32cjtY9HDoXceR6NnE ZcL5iA2CctPUCkB+MrPlTty7muPln1kIcr8R9Xg/PoxpVAcWdmgrV1rkkoa1rZw5Fa8Ybgm8+yxn hwI67S0PIH3NB9KUa60tHyOHHSAp7/cL/sWgIWbpoVrKOxpSDDbYRCT77hGHJ3T6kc/lpWCBWwO6 fzxv76ghR6Q7vTxN4xG7lXTTeDcZmWfDurQK8yFFtbyfbsgPxgW7WR6fGnKWJnU+O2263i23ns28 u9uawWiQWf6qCfpWEW66Lu3GPkviMcMQ3FNuiXrOXflhOht8t0rtXWra8ZaoRMPiuLaz+h3Lbcv2 FA00y99GA6xYp2OwYdpW2mg4Wf6kXiDg8QP4RcPXg7DmILy3YAnA40GS311W4bKazAQr5p5r6NSg gpwB6Hq7//OZGQEvRhCbqwppKFka1202skGkvZnAJy2H8sN8ZyQirL1Np4QusIaMpV3+ifA79/UF fSDeyacneWYv8wv6aoLf4+Uk1rVTcnfAHGhXrvYlOJyj2peNWPfrzWZ6OO2Fh/4B/Nfb8WS31A/n +3HHSxaC7hLqg1hXc4DFZlrBd16DChwkVzua1cdzUlUp3z5qDB3hlzGdJ1Y+OQyu+GV/YTyAuYKT jQUpzn1stHj7O/lycVDYu3pwg0AIODP5qhQ7es24XCw5GgZX+Kq8MKMKJ4CGj5g05DlhB+Of9qes bNqDGwBekuvsi9or5uco4OMSSZJrRMwlLNZrNwpyyfVBTnoCdlpecnKWcMGB0PfpAh/+/FeUY+2I LzyZaLeRJKnv4/fykGzsMSkv8/DJ6UX0Cyi5SV3u1f6ScDcZ8ANVmXBwG1fBmGWQaSLTvRyuEylf ShNzJfg96qDTsLLFi1Ifbk1JZF/HZUbyUFfJJiMdbCZaO25biwC3kZrstEEAOC8HqYN6TDcoASrD zg2OObpSTzgxDPolyXLDABRWNphGtUegmsmpraFVa6vqz1LJwAnbkNaxVs4JeZilZWZUmcY03pNU BgwweJZ+N96s/jg+bfcHAgIgojAe5hWZuD00nLrrvLu0sy8IZekHuHr70jkDHucdE/1RapCWWlCq V5hBqDoDKWc9TtJoPu7TQiEZJ21HabJ2vMmkMcWue+sadUZ1/NKi9a557UDU+TzejBo8J/QK6iSR ixQEDi4QxMpdFJi25qKx2Plhuh4fkL0jTnBR3EnIYOkT/zBnZAPFWsPJIqkK9lHjgcNNCe+xPx72 D+Q6QA6haKi8BJKEwiSAfi1bV9CvlRrtpbcXCZzpUD8j53azP97vH9JsnqYrxb2Qi83mYPuCBpJF Ur6GcPx1jmdwd3j+64Y5SKe9N668cRfJedMPqCXoBfUB6HwIGl3ZhBHxQV9v3PUEAmbLNYdziJgh R2NL3hzDXNbWI1A5mqzHGkOwZfL2qkz6OEyrv2DABLGNi8Uum4kFFVrn8BXYZ8HkJtEQpcDYEA86 vbr4LzAZpBjNt6zSAp9V6MlNFMWjRewJAIJDF4AyzBxJufB3ZR0BIB+XFAGcQBKRRLs5IrdzqYBp SLfZK5pN2ojwDRQ/6VcQrpsFvkGaWxg8c5lB1K3onMw0jgVwyZ9Pwi18m7YNjXXFwbl94S2TzXCz Fg5f35os8UiDrWZcfJ2n40jIce5nPneIxyT49Jh4rsTfrg9TnJjSDbABsUU0n7SlrteOysJt4fwo uZyCzIC7haX6v8GDdfU94OpPT1dBvpsnyvq7aOCoMW0rTxtS2uNRACq2tPbb+Q5Ei0SEOIzbpbuH 57/dHZY4m/t2Q8dqvCxNLRdAtIacmVGZvgNGzfW0+eHqlwhmtBp9hMKJzw9uFK3mw+adzWblnbaR 4Llhoap97VeK7DAxU4Svv/ND+j/wuY3bKK52cf2FODAPq9aa331DopTZIu+oxWO2ZfCzRtmNyYb/ boENaVhrOuhQMT8nuU2iDo55UViFRyyUonVJZtr2xVfp3x+yLlrvokt7eRw+YjGqW+8YqU4Sfjft krL+sPrTuFv9ds/C/I/7s2i7lm/iHg1X8bj54W68T2Yae+usN5wcXdYb4jYyWd+P9vBlom/qF1B2 3mXU3N7lVRcKVLa+Zag9TprJ+iYp5A/ztPoeRTUEAU4TlC5I6f2zkYyYrwGQ+BTHPXg/XaQ2bkjE SVZoI7BBhfz1eHeecCcAjugdF+D7849Pqy9HoJ7cnhbBGuYXOW02IRUcjCJ4J4FBNbtVXQCzZjxF rdZwP9rhxtZEQY0QYMsI/3zWmlK4jpH2mf77uIHpwGrSHoVk9V3apcM0V26nSVZg127ItLnWz5f7 5R/396v3ICa7Wt09/7ST5Jx/S6/IdP06TNMpinVLTFJybQDoUlEoBNhBgTqSNkjqoBKQ4jaDnROZ hsBlFizvd3P6lnTdelr9Lu2ymfpVbqvIkllS2RsWK9skYSOdt+PDnMTAKNNReN4JcHbq7HGUREOY 2lE2bVzU6a2NXbnp1pdThsBQ1S7bQrryS2GmfGLaH5K6x2lyE8WLocxGPWCt5STDXZEPQE0Ko4ty OtzGQbn5oSI6k9QoDa4fYvJiZ5L9UWL75yPfIQyneL0A4opXZBHFiQnk59CdWydu/nl3rZBP0zo3 JMWVUM3Riz9JNgs6OSDUnVd3aS87RuFukowQReVpaErC9gTe6XRTYIbYeLc73/MO9X5Ot+qXv5vm m+OcDpUwRbUbZJLSL1n4jXCI6pgvz1qWLAUhaoxsU4extcLO5thnsOb0kBq3Fsr+bn9zh/r3/wHl PTH5lGWJ4joMPZTeQ0Yz37RKA23X3sCKjaQCuUY/wguWDqAfV4wUaFVg8PunDirrgIyhfexAGYOl eP5Kwi+Wm7M/49KX7vM/sYyAGUOY+2Scj+nBMtuj2xIRKC6wBTetPGDMq5ymmRDidrvmlSO9Xm9v p42HjIq1ZSa0pGIL5tYyYb8wRloJhCiJWNqhF78DM7GQHXQxD60JxnHYZ4LBx9hbaS+rBRcUSCCb rKZPTA7Z8bVwnMRpgPXebWZ/MFvqgtCADlkPCxPyxz28R4olHM9axnOMqHi7nwXXO4ntXWzGjtyQ 15OM7RYz2hCfYN69FMiVj1b2Qk+YlELAscKnDyBE99tbG/tgnYBXOpudqroit+h7Cf6mO1h6tDFv 3aoPJDEkvZ02I5AJuaOeZs3fLNaW6EBRfZXJbtCZlBHCsTEfkPk2mxuhcfNDomb+6eDRbRDwJkQv MVx2BOllOh4Ng9jfnqCWxLmt4S21UBo0LH1u1l5xztbI5D1IfMFzDxEf5S3j/mdoodqFWxu5iaK1 1Wpt20B3Jgpg/5+VtSYxblT1pVHVSsGdsYCkFm436ZjK1RuvJEEmm7ar49Nu8wF4lsd7f9U3bhrp T/PFR6qS5iaQbpJJXHAInCTlMd2rD0SiQv3TzOvvb9O29+EvOEzSqtKnNBvseLFu3EaQwtDEJUDV AfTs9eGAO7APztW/KS4WDZzVEjxTQIQN7w+vFpjhyd7x4sQs1o3reWoceLgbll6T8PUrt/V/Qfoa imqExSr4G1pX6SZjiscPeO9E/5ZEQ+njUhYPTcgKp0Drig54+DAsYTvVkprX4pniEwA79OEkjoTb 7Xw4CfQ3qlJPfMXhWJsehYcudKQmIOSnS9VN0wknnxxo5528xsxNdsVN8C59wgOOOfHETRqfDMIr F15ls8JK7qJs7chNpoUDYORsSHHl9ZZuAPov7i6e7Ja/0MljsopyO7EGOSMdqfV349Nkm4ilMXR4 1wWC+IZF49yWn/9d/Mjpuvi4P2wsTJLatt52yDYgspPSqr43pyQyvrRAwkJsgCzT16ugJL9aIcj+ Yb8x+Z3JJ3t3E+VXsu6sc4A6++ZguQz8m3wNkZCKy7jHcRdaF2s8eOMmM8COL9FCSc8IMqCOPF4t 4AMJrnZLZGApez6phTK/fzelOzuCMS/hp0aZwP7A9G9kOU6+cxo1YJJZuEw4r9dBJvIvCmZx2xIz Vj4dLY0Hu8XL9GSZA2B9se5c20FdmI0SRe1rMgV8N2rhgexVB6aHv50EzsIEuWajfL2Nmg0k4qoy yCr/KnXyvt0fbu9ZGCoaetTj1+S6ZiM1cZ19cg/W6LSUckF6tJyz9564CkTH0+Sz52qOiNMQFxYP UPipgc6/emceNj4eScTDkxylEzfCyrydyEjNWJnGLgyIJPXjJlEVF1tVerCyn2+NGe5hXBbXNR3J vXmzWji6kZQPZNKtZE4iW1AqrWL4qHPlrzKmafygZOLRYlZv8Dy+llI7H4vbAPBYmmhASOfArL9c pckSpXIEL0nS0nH0bgDAMM7GUSvb+p+kbpoBaLPd3nUcSKZdNPi6FLtJ5086HH58uVxde1dj4Opn 2lerwWvKcbKml7y80E95Gg839s29azDuB5mmpR+Y/Pf+Z21cO+s2Upg35Mlt+iXkhRp5ADSbhCuD kyxWH1bV2r7DVRQ0u3Wcdzxjlaf9lm53RWVlScP8krCcJsUVMDXqq2jUTSUa8PbFh/F6Pp1vpoVk Cs7bJ9zjcAsuVx9MmuslauDruI5ADmwFGYYxEHryKcKOlt6VsWkuVrPRzZSXrs3zP05CFrW1UuLU 2LWw6S40qFHW+rfp+AV/kN2FBlc6oPuHTydDLymALIkUKyFVXcYbtNxeLJeAZe5xNxN+XfSszLFy jRb2Am1betsWbNyxLQjoSWWMs2O+F1O+P0vO5A0qeH780b7eEgfYrFrKYvDDgB94Kqd1kmJWT9RN LWtvOVyMoCiEIDy13L1QDhz6t0EHzUPYhNnXNCaruJwJUrX0+BopFwCG6P3KMXL8qmGjal1SfTmq Vr5H5uXhAcN5eXqZToJYsphEdC7icmrJO9mHypuMhzQ17b1pFxnNGxbWMxHAtzHEoex7rPlgzQEc s47TgJN3WB7dy8pmy1lYVL+n+7eMmolwXjUsoXd9p7/Shq6LgBXL9ABhv6U8RR5LvnTF2hURntw6 zhbyNhCfAzbcTnrV3JNsyK6BqLPvY88Af2nzzC2vgWW4cLJBuC4C9T8bfQUWLufyGG9vPRk1NXO1 A0hIF2er7uNHp/vo8sGuYXAWZh+MwNXQK/aB4PGMxvGIu/xmf9p8MDGuZU0ZydXxA94yhk7BBM27 w0QSSK0QTK8sINQg0QrJqYcF96Qo1q6CQJDOh0edZA2ezyCJrtPWsBFYmper1x9AauCL4xoJzPaF Mb0ZhJck/fP346c9mG/hWLxSf/LN/mwJG4VFu9niQkQlA0qbZQh6pCsC8mDoqNSwjl19eWHanWYT XbhoEA5nohsZXdqCaC2ndO84UPwWvAZHk1C6hOZycO1VtygO7h18YZj3zwRULqC9HEK6w7SVVdpI sqw8ORGKFyxdZqHfLdJqlzbAWoO0AlfvyhNczZZMQLo8orD1lu57kNUtV8XCgtlSxd1lUmuxDiqE 4QlLUbWWc1vaXhLTuhg80esophNLl8zd870csh/GI/MfhH4UPdwJ06JEbvcP8/neZHcuu8s2AZZd 0xreznxm4yb3L3qeT+lOLlh1j+GdpKpr8WpK6Mv41fALrmPp/cjtlCr7s9rIj4xASSgB5NzE6974 ig3eSw2y99hLIwN/h2eX1tprq9JtAhxamdoh/7wzCJm0Vf4w37IY7T59IaoqgxDXfqSS11FIpbb5 cvVOJPxa/9uWxES4+leXtoma7pbI1Twvbzj7XyRZX/xabuMaBFz0o3RTqKpLYfUVU/H+5H5yM4S4 /9jKlW4FFbnooyAcwK3lyNO7CW2/ZuzIxuHqDozGbOEBQoJ5WcZhngZr6zoO3q7sGwAv0izHID/7 m0vHgqUqaN27Ud1RtKt4emEUZfyqupKvSnNtCFm/lm1a6RFMhKs0ct9CQgeLycte7p236iEEX+1E EJK0aibB1bVuLmw4nWZNZ1sBsrpnRYXAQ8IAPMBmfb69ldDpzbQkLRCPw3bVytW7uTS9Bm9TwYb7 c/5WutI3rrAnqCpUruNIfstUIZ2SvRYyegbhwtItN0wrTyqKyjW9aSJPdkOqYy7sy9VbDMCwH16u vpu2oxTEPAC0kPwxKs1VPZ2p+Vo2qmLfQaE9g5x+wPv95jAujpaicj1vgrKBChIAj6R6/2Y0GBB7 36mQV5p6fRRkHxSqHV+tBEuDG7eNFMZgIn0p5IdKvluQp2/32x+QqOP8ialt623r5SvlhzapGw2a tZqknkcmxsT6E31nHaZrp5YuWDLqjWsr/ZEfBpmzt+Lk+MMP2/HD/n4UVBa6wIBfdbhxtcOE3qar cxqs46qlHnrvYbiYT2SOwABp+JLagbvA+YgMzMPRv3gwCSj4qjIJ1RU3e866FIX8g1jXcANfWS6E joRBT2tW9pmcRijN5eyJzNSPpH76Oq0kbj164xFwZ4OHLAizoYLaRY/lh07WJKcvSGM97FxxGea0 v04aFprjnG3NnlDSyVnGcMDyvSezJnFYn1DRdpiXazRDmyajt9pC+aEU6nf6MgXnArxbRN6Q2iRg aO+PF6OsXSC2i6gq9PtdIORpI9d0pEAW2ae10she09Nu+vEVMAUfR0HEcx8PMV690ZBpaQkj/TmQ HTOQkLuM29KjgZskSa7vZXpIt9Hy8CbBN2JyEahjvTBK/ScvrcWFIzh6CfztjfOv42lbw9GLJ0f6 GoNHWpFMbFkmV27ghWWzCvQUeAYzLKXfZ2HFh7QV4pWxEryZHbCp1Woa13aer3H9UTw8XNCNs0oX hTZwfP6LHcZIlzfTdIeJzWXjWp8OvnzoqKGCXXq+q+AKCH2ZNXetb0BHEgdIBqzB30QPUj5DmMlf BOR/ufomd26TP0tltdhkovAO5N/6hfcv1OdwmPzt27iiA9Qk+y74nho+r3ZHroN/jOt5k882OYRr xb57DE4OGEkArE0iVMnZIs5HwejT2mEH9gKUJY01kh0Ey4ldNKt7l9y5ZLCBZ5IbYU9/m27wEhse WR+LE9J28Kb35l1mfYXQPXYMMqYF2Z19r20Ga4Ni1jq2gdNEY3bvlfRb8/ZGFozvd/S5I6cYtVmT /LvkGhNidAl+Fe3aukl70kU3teiQJNMil/m8M/WZtoLDHCUVLqle6Onlh1bo6elpv2KK+yq4XZir rZ/dli4lncXrIkoZsKjy2WfQv5D24n66wb0Ow3p5P9/MJIvW2xs5+BavcRhr5b0M6Tlch16AlqAA eJIqhSqG3W6/A2z1q/i9tcngvhe/F0UzEaQJyaE46u0bG2/ZLZTk8kMPxntjLEgPwf3u5mCF2wX9 xfqHA3QgtMTtu1AEGwXOsaqfwDdnI3B9RgJd9v3ceDqHHTGIHzJBKp2hX2Nb1+s68APLD20y/CKD V9CLe9onr59/uva3SeuKDga1bB4B77dAIgWoaSazIC2dZKfTp3mzR0wA1z2lnbgPB3nnOo4Yf9fG HtK5O/DlBFcpT6sdBBthsciOJNpJnCs6yj7buBmkrZLbDHL/Nh8YR09r8e08pm8fJd6NK1a4wHeu 77ivZ1aDxLKWfHbQBmxZyNND1Zzc48luSCec42oULOJBcxLsxiUh9gC18l8J4Jq+dCv5PCclxybd blqbv9JYGLUTxF/ez8lYbJ3U3km1sH3LD42ooeGic0tFTXZguy1Y0ux/X/bZKFv5aoFJvVnukUaL k1q33jptp/UQWoN/A98oXNuODWSWQDin8f5hvPMbSNeZsGK9cKLLD1Xa2pvgIYaLXsE3pk8vAz2x yepdFjwD6yirxUQhnp92+BXRS83Hb40HbwwXXZwTALA3YpOE4WKwUU52SaHXSjgR1K9dEA6XOgiC /71eXyIByVXNjLovrDmg2rMJQZi7q39R95KSOum8jaN0QTha4myUqopy6qGqAnlv1s5VOP1ZPhFl IxsCkbNH8M/f4BSQ/UTiqTnmckGMZm9cZ2uC2HpZW+K6YR0uO3zvWook8WwiAcTedAtMaup0Bvkb wJ8ZSmfWkuS9Hhj/B6HHPzuOeldoQP3kHZWyYqkjPYEF9C4d5E9Z+VXRuyKTkzeuG1Dcu3rJJJYM 7K3E6LcSNHmp5Zg3llvwK+aSwWlBmPdbySp/IQizrCOInbvmA7i9jyYJRPbSbovpmpXeKoE7OzV1 vQd0bhWbIvyMpsgNTLP4owSfr5FqPJEA4DDezHscBmekfipqpsod3AyQ05YNqVZSbpyVC1k7j7l0 Tt8IC9xInGzDtOFazneHcXm7DG4o9aWdIfah5Oy3OYIPTzDnG8Pwk7Tf4PbGkDzrYcb5k71BBrch FFhmttCQyV6TcbhE40ojocLNgRpU/IcN180KLqYyEwVu6tTTl5zZH3UirZ0bEJLH8nagYE1q9xqb vLRL947r+dqH7xYEEN1+Mb6KrqBCgiRS4n/DghQJDN0//+3GmA/DxDup67Qbfbsb1HgIJLCusj5w lsjT9nrPnBSk8dFrL9nkk6+CXBsXpzsz1fnURHG2fU7nXXWXXfWy4qblSXfAF84nuTbuvXG/0I3z B1JxNll6aIRavFkUE87ZPXwNvkpSHwuOAOtnsH6S2CqsV0V8nnZ56htvB89oMShU3NnMluu1S6oz y6yYzIUwIz8XaMg06kmwkVnX78LUHst14dLAlJtJG64YI+KJhm0JEEb8bC7SYuq6EOW6dFkgN2yC rPQ44jeSmBIIEi8/cgjEXkhyts4fYh7+cl2ZNBxw2bLyDSQrc2P3zS+nnQI/KPK6ialdDO7QdRTT ia1+Oe0uARkEdSasxk0y5Z0xbyWpjUvtMvOr5EFUMiEK6UxLINr4y02EWwhfO/H7UO9flsH7T5/n ltTnItJkuOpXxcJyLT/gDq0vhnRAMKSIyjVIOzBLT8EWrg/TiYBLvoxuEhU1Mwptr2huf4CLelKW 8Qj1cJxR3vPo43OtB6BcG6ep4tZj3yiwWvKdY7a72KgKV3twX/VRURGfaJqQfTstWaHp1s+7Lgu9 earKreT78zHW4LJcyaXlC1rjOSjin/9dwBb297tJnjaS4qtl5HKzQLqfFBoq6trhRg6y351vsjqQ snCDqbuL5QM+HAJ379xg6dNCelzQcRXjlgJgnkwMXFCN5NrDDSHcbiuHrU7f8GhZ/eNqvH7+T0RT dwYkc/IErLJwM0JspIza2jRJ0xp7wSjABwc57ZyIApiGcMkuRwSr2l1CnykHz7T09Vl+QFm4xeBV ln8nuJi7Bf5SMFEOfsUz515ZuMUgDGKM9umHmu6phvR+8gVi/qdfMv9CTYSN4mzUiF40peXOoDbj 6WGi6SF3mqRJcqYx0rADQItwWB7ll61eo4iBrJ0N3lmNmY6dwZUqxMkSMmNHGyQuCEUYZabrxt7h VRZ+pqIs1y65w/wFyagbagUzS9KCN0hQFHwP8sZLsJBIzSatMGnF5aSkM69XaaMogVAgAl0bRIHq RTW2ooIQq9q0gvVFWbWYo6dK3KbrgG4SZeXN6my/qQkfh+/9xlK3jxbv1OoGizoiFZGuhoOvmFZw XWkntXfSZ+ZWCz9rp1ck5T6jS9X912XZWGuyXsch4pCk1uu0bHVOTP/L1psWmf7X8nSTE1GYnxaG 4/HgeCZl2bkEuAiyzhsZunFfJQsgtJ2lZB5RFbNojhsAErbyr+hFc77eT6t/23+cPuz/Mp9+tHau yzU42eMnAP2kZHJ23lLcKv8q6eR2AdMZqVyB627hfJcfcAUpsyDcz+VShqstg9JRbZGginOHOdT/ uryOysrVExtspp7AEYP3InUGKizxL0r0hzat13G7nlSusamhU8HLD61Ierl6H1gC+MjmvnQzHzdn D0iWlasldsdcUm+S3k4h5PwNRmd6WbleAjUgTCXL+5uSVwnL8cYG9miUhBJjfvf8V0S3+Fwykaqv DV6bTlXOH2rlo4YX25M7LjEOuK9lKfUrh2d4SNsmeFR/tZymFvOl9K6qYnfY3qQ+R6A5xqeX1/sn r8OTfUyBCNJT+3xzA86q3XG7/8vqNwhHhG5674b86LGbNHN1GWha9re3DD1uDPYJL+2szLa0KDBb O/86fyBBlxTn3PwMkWZ7/qRVzQifHogtejMtIYW0t40/pt1tgS8pLVDcCEVlnKAGbK6yHvCSep4J 52ojqBDpdvcwbU7jZiuF04ZXyH8A4shjrKEuLXhM4VWTfRiZ6x3+IACKhImx6DH/fAgeaDIat8My z1Jdr/e7tNntwIEj+R2A0ZBIslZEp+Gy4Pu4UpiW+f7h+R+nOEtqkUqc3Md+002nEbePZ1hvJU9M czfG29vtOSc9KkqLMLPcN9oBKYUbnfdv0xSms+ndfvMDiltYII8C9pnszyjC3WFFrnjNtKL11ZsP 0+HwtPrtAfeq0GVjXSLHeYiTh4rd3iEPMPzvpvvjtLvCZyCsABSuEVOVFDVIbF1ivTC+yw/p8qre MGr50Sufj88/EZBAsvC+nA5bVBczCv76Zr+9Xf1uPuGpFrrpvJsuMweW8DIyLQN3N+cVv2FH9m6l /9jMzz8llf2Qbup0uGzg3xKcji8jAkVpgW4Kr4q4MvBLruWjOC8bg8a7nQR4J6ndSUu/sXURZECh U6TUBj45g2aIfQ7eZ5Psu4t9Dj6RUqkPCkvg0DGayMDA/oTy+s8/O55nSRQkoCTSHAh/szk8/3WX RreLymAhc9b5Ol+5/FB5j7LRRtCALfAgzqeXv4BZVFqQnCK6rooy041g3WdYIOE5tiXvBZ396OMw CnlOmCALoFNSlRkgSMIGGe74hDkBX0FaeVaDp8X/uJ+lOpIvMXBfzVk4tGzcuJE9kMtOdzedCk3f JlWOvJ1ZGRnEuEUDwbyNeoPQnR81FuL/p+WTZeOGCldiVQRJKFaFe+q9ukse9SaDO8QJkPJ6GWnc MnlgxMEgJwB3Yl5gvoGZTI9CtfWoSizypHR8o0jMPCIP+wcgd5ziDb9x4xSe+9gT6Nt6Xq+PM3TX TmwbpFsaEgmCpbEolXnuCoe7x1j/cIalWrdqMVIXG3Stk5PA4b7pLXn+DzJQPEom1zHZ6DJVFlfv ZG9vo6RKGNO/12P6qPj6OgaLowth8Tpr2UpLy3PfbJnofnfY64kzupDShaTzto2TUOgkvLFAGC5R X+1o5lfyBANZGN+KSolxbfgJpQXOKcaJ4OWHEqP9/LPfpHPvisMxTCEvfKSE2iWUmTmzvLRE/PKP Z9scsqhhaXFzKUTN5hSgRH2vaWxAft4z5VHzANQbAeX60/4JNaPO1lSUFlMnz3H+SaWu+cKvPRJM Ajv9Hh+E6lwCvMj9m+ly2+e/GfN2Et6Z8PJSDcpaiNXfH/bJaNN9dtq9ylzABvd8M/uq9i6twSJG aa2YcLp4M05jN+8/hfL4snX1Rj1ophUl7q2Fp2h8Mx68NKTsXJfhghxit9zmUUo2LbR3JFfG2j9q TuEu0Ncnaa7fSOcuogIAuxSrmDtjOtdleCuzOUR0DBrzblydUIW8qq0T11MEw7JFhatxIJvGWa5x rAy/X3LUTIQrap3vlyyLpAl9t79OZ/XqX1ZGC/84LkQ+Rdm5vpICOA4Cb9Jq/c9VvXOlRCJFl3VO KnKmGn/Mi4I//+y3SHUdcZ97k3bdO+xsu+nkX+TK2BQLnbn8kLQTzr3XxyPwsElbxShVMJTOtQ95 D9nCIe+h6mO2h3JZszziRlH4TI5rIagW11ELsdnXrWZ6Sczfnni9K2Ha1tft0nsve3Uh/CgCu3lU 3EW5m590pR/GJ/sWC3KzcVwaFi1SmmVVzgYRnFqV3qq4bFVdER/vzbz7My7QyP14hcSNR/O3PU6f /AVtIW62K/pMUA2juBCkrWpvNSQFbEKrtBsrpfTbeakmgTND+O+227PDbJYW1xZi32DPPStpyiwP 1fpuvU15MeIi3cLwCnht2S2npZztON/tcGXiSfJ7hMNWb8+I+fNm/j93M4DslbUtddJ5J9jOsg/s pJOvjS3VtMkiz72y3sc2veywZp1wKUzhjLbIM+l+q6YOTfkCiIj1zz89kKVKSn5PL9Jta3FZW6iZ 7fIxoHymkTAnI7QEo8AueUXM+TAlSdbbZMiIDE0Ba4TyXVsRWarjvHDfbwRoYKM+ICUPxWb0ZBJc c7nzR+tJTwFyjn0rxSM4OBd+ABkgIere7Df7MaljegHuPewyuCLjJFjHKeRtfa1y0/VOXq3YU746 HPbb1W+2T7udxAteKK7/kYgL11tCRn+hyFkTcEi+UI/o4CaQxA/ZTFfpGYWtRRwrjAJ4RqeN1hUf gD/BAdczE08LOMhG/sqauN6nvyjzJoNMfXp6RFzQJUR1O94reycluXKDizHkqJPit0UQklumOOep 44TNUucqM38dirkcXO2RNZGNCzUzmHh3qKf1fP7fTEZGleAdp/oNnpTzbsT77sAXw9O4+XBiUuXh +e/LAruN1CBfjgsMfDq8cqgiV05ealNXrd0qwElUZkPs5YM1hH13nnc3wpLGhq7uSKzI+gQBI/yH kobqS41EYtgP6lknPXou/5GS3QzgTc0MqcG+e6muwit/PqYb/5fT4YdpOz2ZJFd8APt0cT9E7Qz+ GYwv5DDn61kNSez/fHtLnhKwI96Nto9Ua9fu5lLZGlhpI6WI54MAIJ8YSFBaOcIAHVmIcAQ8wdYD 05WFkAd5AC3GP+BxQsjarwK/yz0xfWeHqaksfsw/L4LDVnmCG3k5ql0zZrhcSY7jShPlwNEBuj0X 27nY5nJYYKHuVbUkxKbu+OPs0Q7hqTFhvQvrr8qyD8IKPJwR7EB2O3CWr2yksAxmpRKdcWYtMoUN JoznahuFgXU4ffAX39qbqLJ4MetQ27qOf11fEczJMPZ0Kl7KyL/Q9oW3b6CDsb2qkjz4DmeS19tT qrKgLv9uqOK64EDDXvn876t3SCGeZCMZJWt7RRDT7XY2QZULwtYURwDWeq0O2b5Ih/n+IPy7Ie6U jBiH1V7fi9h2X+/utsabksTXJh4PqpDTzerSrrU6BcJg6HB5jKFA/pFVYmnhDuPtLahEJ99gCtdr vqXi95eNyP0FrJiqcHVGJKqLq4tXkFYxLYwR78cD7rOyn5zORkJsg3AtLi8XAXnhkPYVkgR289Gr 27DBYnu5AaNw2mOQIIGtMF29Xz7/x0sjoqF412vkXeTiKxH/5f6aAZa7fbp6P5kzl84wuFhPoYKr Klyz4Y/LxdWi2X8yv7456Lyuoypd00Eh2MSFBL5ry0PnKK4dO68wT0r9RA7UHDCqKl35UZmaLQaI AOH8e2epyXS9+OqXrv1A18uUti6FxP5LVEwq0ejVSl5r1tpVvq4ujK6G22WtRpfeDiyZEB4srj8Y HNNOclh0oHQFT6+1dT4UMM0KdgK+XUP1d2O62Yu5KLrhHdM60trRSkX5fsIFLFAdsivX+Xq4ULem kK7eeLKhwnDfIOp/YABtQVSoSjcDxGjKTFIrkv40nWF9P67uX0yEDcLOo2k02yl9AUAhD4DXPuTE i0VVulkgRljFTZFuufWFr6ZGql0TPTWU4tqPUOESzyjWfIHhgZ2M6xbISZtZ7l/kSz4TUeLBHo+V BoOlWbtELAupH8X9+vX1kVl0u5M10pBvwTrRi87x3q3h6xp3P1wB5/bIcOQFGkalEV+06JMyr4MI nEpSofXVSeFGNSFbHDc8kR8Fq2opXqPQ0oTydIrjAppCVTtzxnjJnFFpEBh/mo7ydTYgvFTW4cmz GY+jJe/cTCRj2i38cCawdoH1wiMvPzQYHa2fQMzpbZ7OnQVkotJAsPyps8DLD72wkxMiBZ6Ae4wj ra2+5eFwvZlvb50Bs6g0BiyN09QGaUh7LxtPzkSy4kVG7s28yOlMDkpHsykqOWc8VTejJKkcVx/2 QI92ldWgrfx1vjplJaqmVaOHSWjClOhRKrNUiOtrCbrQLgppZYm/GVFRtAO9nSCSzlL7K3WbtPgF m7SqXZdL0ArHUVU6Oc//i8mWP1oLV13yx2Yt0n7RarqqAJgSZ1/uOPsZt9JZnH8swHD/ZVW75laX n5VeV1zwtNkvle7p+rwByyIwQH86nW/mCXE+1OgeNcmeUl2nUe+ZLTzPlAYhWWgzC49Fgw+CAc7m rsFAZ6vjeoNfAm5AMorgdQrINw/72Ue5FuMl1saJqkE03emWiZP9ZoGJq2rX1xq0anEykLBelQ7a YSW5kj2kj6Ta1bRuLiwZID9wVd0rmQD3630yPfIqM5Q8phvV6SwP1qMcFNtgmbUrcZJV1XFKcewo I6GkGGi6M44sZIzaAVC7Cjfri2nlI858za+Qc/Jouf0siKcYm6bGNbe5nCZQ4lWB4RXOXCa+4INn TNbh/HCal8tG4zqNLIRMp5HKjqW2tBU6D5iJJlhaNhrXYICHh68qxJMHYMpx88OE0vlPp/3hiAm+ Ee53XJvTHI387XY+bsbtcpfVcCHk1Nl0FXgdDZiu99M5KZFULeMreX3w2FWlkUI0AKvdECXox33D cAURpnF0R1uwp49GCaVRv4QYCvzPFaG8jsjL3s4PSB7UEEssNKg0SigthsVxjh8qYZRHdh7Sld8B S/Vx3PkCdd40XTCHOAtA+27ENbw1JjrWXcejUWN/8ufdkltbsIqWD2Eq3eoCYxnZriZiMBHY7bOF KHXfg9P+QxKDbdYmgLmKpiUa/JMm+QygqpUy9rMFD2lDVtZ1LWDDOhiNBaIdWDfimgLAU0u5TpMA JHGDu/fcsUqDgAWrXMuwM5FSnIBw5hqFo91auSYCq7uJGlCBSF5q8yRh0Stb0rUYpXomwlURzHBF 1jHoNgYrcL2ZJM+Yp/pmkryQE7/onsyCRwkWWxcC8r5cvFvXViDoVHGxgMHdtE6i7YbWunYiDJ81 wT6Mt+rWKmgeyLBg2C1wic4Ozla1rquA3l6S1wvW0HZ42PxhtxLOTWvi6okdvovqCbYg9I0YxjVI O+adkMRK31JYtnyEKylSxvv4EdhtKxIsGi962tyxtYNoUFLo1c8jWGREZGAGlild59qLMqYmrh4S sCtZvd0LY54ysEDJifo7GEBRMxNunZ2rMQI8+XChmbVCNJxIEx34T1NT12G8AMJykZGbtY7v8uVB Ea9PlMYB5a+ruo3NS6wasVh4PfVbigb+Cla3dgs+DH5IuxI2kbfPP8kjQyq5DGaj0oif/OXQZU2H K5KQEede9TltQUglehTL3e3vj0IyQ+bZkxDbCkQDnMnH05nsIWZlGiMU2VEJSlb+YJzf7hXegKlE K4Gp3VrlZ7q6brdPf9nvb5jHo1I7kwoI6uwTAM2CTziyHDtdzu4nGaTi9wFWKd06BCVwT/SQG91k hWl9ocMtKo0mFqxSXS8JwoVUqZYR4nnlFgkkf/S7y4P4lcYUpXG1JCwXQsCNnZDIRTtLVN8hV538 wSpB44uFVLkGrWcZajMYGzdq6zmU7XztbwYNJ8rfdm32MaDp68ybQLf1BH5gLvRRZ2fZ4aYQb6w0 3liQVbvu4goj3IIXz1c73TxxARLMantLqAy3AITblwgNfkjHM17GSbEenn9C+p+QcCj3mw3CzQGl nQvUUvoBPJiXgHOP56Wq44gcPH06euWqiXVTQZVN9m2AMsCC/l6rDOTOMxEimUmiUYwbAah66rhs 8MUMNILDvTGn0L1yOOCspmN6S6R8ffQeX7AuxRfVLaHGoR0XtYaPeU3nw1FTQAC4lCSkTnBomAhX ctyj+7j94B5dykc+mUv/zIjB9fb5b/d+l+hds0GWMMQPBA314LTCy+1wOjPMuDmggnGD9PpxudoP rueAM67ikOD2wVe9kWeHYxlx7RikTT3dk0NJ/g3xi/SKTR+uLpPB7YAX7Lh5pO2bDBnfTcCs5IWD intDWAkPCgyu8jwZFgkVdnCupxXVyjPhss6w0pCkNLiQUIm+pvc78LzGR/h1dzxr9E2+05SVzXSQ Tc2GVbvQKtNWUk8zZ+tLSxOlLRuOTqUxR/nDesG1KVhESv39gxQFHqYjyuCZx8Kdn9oAGjitB6k0 GClNmyUwVpBzmlAGPICZ7EDe7fFuf7Y8nkojkIXSXDeheVHIR+B2LXVBvJTu768nIZw6jZKfbaJ6 E4WASNAiFpkyzpbn8MNvKgFqP780tFiwvLTIZeCkKQzLfzP+06t2rUFGtKFNRiGwsG5BYZl3fz7P z39DCD9ybycZhckA4kEZB4JCGSyR1UVcrb56nLZPO+++9KY4cqOykWdUIv9HSc8Uf5FWNUmKBCMq y8e46gI/c8HWKsjzXBmeSrT1W9k3JvJEz7bx1GvXV8D1Z0aAWz3m9mfrs8y0DcdVF1j8C4xTwXrN oWwDlsiIjX8pejQUgSuV5IoLx88QFRc0zfAGf1RXkVbYqp/CWeYFLo+Y2+cdiREp1zUa8fsurhxw 8xHtUPasZZsIJHkHLwOr167QCOv3URLiELXsGl9Oy8q79tZpX2riDCP8UAqyu8CpLVTxulHWhatt ejzkE5KeBg0cFSEfAxRRu1sP/teFKyxeGkXcU3joidbpNf9IWhXG/ueTrkfhasujLRt8elfiZgl2 9/MjsVNml5U2fzxofByurwjU1/ErSOpcL0kI8mA2LORdWlTWSiyitQzsSpKXQilZXbgupxNrXUQT b7CltsLwvudoV9Onh+0erokI0Q4ltZl3pUb2WaYyDfbQVl83o/jcFo0UgEYtLDX3VF24ZjfYUxcb kSpPiPvDWZumjZ0Vl9ZUlVdKO8Ps1ThkWD+qEC8IfVthwy/WntcaJpSm1RKixw94cQuklKij4iFb EFeJTkAiIaUOYOh4FDgVih5cdJftjjX2fqJ9fp12kgdUBsyyr2GU4qE5qsPxiFxnXipIOaAXC3um 1RpYFJFNWGIp6FwXysSlM6dBQ/nXYSlsKFiN2VZS/i+FwKfxejzqXcaal94c77kiNm/Spl0IKsWL URs7/latUUP5wy64mlmh2fsGLXgkFwsnRRteLvxiFCYqW0INIoqoi48a8ANQjfCw/nOcicYaocaz ijqEhGM43A1zAPCJ+6f9mSk+d+Pu7hj6bl1MdSmmuSIrg85Iervsnwzq+sPzPx7m07j10bhGl2D/ idNTgg15uHRpX57Epasx/F1dVGO8gMrG0l4jYMLW3lEmxBUWyPtDXF7gH8BiJYY53xtnEJpVroPp r/o+zkE6Mjn/v5cGZhmVq2FFfvPYopKOvpITFpCuMzOUxRyYkHB+pL/vfKeRiLpyvUSOcj4C3Ada UmQrof2UL4FGxsb7PTIHbUEq11f4qJqoU8DW6R354UZCqA7eVFeujYB2a6JFIiOZ30b0cyZtbCYU nRO2w9q7YuKtlKlCesc0FgaDs8BQF+XZmCZkfon/lf7t07xxdMe6ch1NAvJvIXVb9/Os1bpyhURw vIh7FxAyMeFvIqhEGsWXh/1fdqu30+H66fPPdkJUMPKF/c9ywerKtRbcBEMfe+nSVaAxNDMWTKet SI4WFEqsXh9PCxpcXbnq8ixa4tQsjW3hXnqPbZ/BZpRWGEsfIZLvX8y702F23P3aon4Nq1eCOTXy FIrRXizkkpdRW/iPfzm0bWyaPpJGpL7j44uFdSSk19YW7WOLZgGkKhqJUICzJINAqy2S1+Coufj8 XlowtzUifTEPl0VQS61TbTE9tou6QrJt6srLlTIBvvJoO1lx9zu8/gS4dfEz1BblI8V2XcahAetN CKbspXG7HcnT9krB+x4Wu7KoX8Nkr7qIcsB127o/00pONvt0FbqZdY+wsJ/ycGft040XAZR0R8ML nbgC4E08n6TC72YJ8NUW4GOr/HPgL1O2DwKp8cpwUt+s49vj/YwCJA1H1hbuY/tcXxDCRn98aQge n9EdpivH/UgaDBtY4yqLssgQwSFTdwPvxR/pp4rlEnXj2kre7dg7Ih3r1qgghF1S3inIOpUgWhoK SIR/Qa6rMCpNimhAyJ8qy+V16VU2deNajFMgH0wtS/yG2d2WkF83rq4VvzG26IXfPn+tSazdAKvU 3hpXURTBZ/3WYFEvpUznVuiTrZHrIzCN2/iFfFtUqtcEGJOMhaP6RXK0AApz5eTpEpUT75K1+Cvx jl99QA782e/CjesjHiTZRAMroe7s5nCyN1VSxv3tLcpvSFE50eGpvkZU7IeIZN24ctLrFpUKecBV YfEonqF3THo6IIYrNO2alHSliQCXU9i6yoIFYIibDUD51/KiGAGAerdbGMr399f7LRcP8cTz9gFJ u/Pi369bV2qcVV02apypwhdBhBHY1d3zX0+Tp/6lsSJJ9sxCepfo6oxwd4hstEQLXbMKYMe4JOPf S5lFbVFB/mW5FP8Uwnc9+EfyCbFkHNYWC+TfpYWMDaFx1bLTeF+NN6kya24ZHO88dUD/vPU/B1lk H/4cjF2lIiV/0LdmOrH2mw083lcK+YDbqBQiM/aXzlZCsSAwfJo+nTTSTk+97g7LSWNRQCmwzztP D/m1k5Li4o/iXKFVPKy81PkKJ+luelr9/rhNz4Uou3fZ6VXTxeVKuzYpp6VCXR64k+RwPyJwSgST 5//cAZzHcsQJs8c3MkIoQun8O4sAXYVuB+92uFhq1K73Mp+zfBLvolLWsjnDU0NHPZN2w5dYSJES mjquKBDWqrW9If8mTM9ppjXL8lVInj5MtEc9cSyoqHzYmczuqq+MuFqK5JiJRPQxLdQDqfIkpNja r17McUFbKl5rC0C2pLBZiq7SD1Upyvj9nEOT6dBxpJxX80Eh2Q6ToLIAJUBmynpw00J8vYoWAkR7 bOt/OEviMT0nJOdlju7qNi3keOeC3NRSu9y8QRnTrz0qDE/atNnofe/ryYsQ0cX7892cbmWrJXBz PVrYru7cNpHxm60kylp63qzehf33JYojrxdsobpzc+UxFScU1Jb4XKHuuNzFOzc1eNz6OE/pjcIA 3nslZb9SImSvy0dazuNsns5xngzrX5biZ3zudee2l2TnGsv3T0nw2pUXydadWw1grPPPwh20ckjt A8msgNtmC9e7eaQ/HbKFw4GFbfu3oJjyv3fVB6t1GTcd1PZjM/6WnqrjEsKoe1dk5F+FcBar+flF DpCDnOnzdrn99q6iKP3ssg5xxFVZ/uzPWrte8iCLnwc6a6z4n+bT/gr+opcOy1j3rmooLw2ufVb2 l1L19jY+XI3LNf0foFWnL3k5u3Oid73D4Zd/P9iXW2kvDQ018uWKRAU3xAoNc+mq2HB9XBbL/bnY AsS0f/4vliNpqiZEvh81AizMb4EnoLZwITEC1ktFDH4AVU1nE3Ve8rjs6wZvit2wiU1bafoHFlud lGYPWOTp6c1TIL159z9sn0yVLUTIpnX+dZ1oSsC6wnZPdmsdicUABWkghMo6+gtZmbYDZCgDXXoD trAf/ybugYQJGIhPKGxDWl7wMD/gv6155c2rbGsgVEBb9rGG/xY0FyyUuj7Hp4fF+Nimy6aQHJud 7ZRMM9F6kHD/tkgf/7zJVg/1OaXAe12hloUI9ePBsw9qi+wpU+hiYGQKHeALtkKAlfk4aGuSurL3 wI/F+Hq8L9fBESz1se3aPGj3LxyCRRPRngBmlPNn1hbnE+bPEL1kdW3fSULekQXfJ6LU07lx2Lr3 3qJ8vdxZyiABLDrtegmuKSvQKIhQvAf7/YQ0O+MOG7gSAD3MuPZoRKOxOCCltsFLzYpX+tp5GyCi AlKg7kZx9ow3fxmfPv9sfxYQvGk6Ti834w8KQDj9uHqXboPq6WksUiiknvnHKNk7ScIjoXpjMcKe j8h1XNsKZ0tJ0zzOh/2JDLKPUljxBlvDuEX50Q9KGfVCeAluUERjwisX3oIzOQoHzW9n93IvZGF2 gHFZPewREDVZtcsC/2/UnRp3fM9I3gYmQSGyjFgKJq0xacIiHaV10ISM1Y03BCtbYbKQZ1E0azcO HI9FVMKmFHp04XVhRuiJvokIaf6rzz/7ArvHuMV9YCR8GFI1Pm22INrSOrxm7aaD8zC4PHscQOTM +IrAFFYC7r6Rj/bfS35Ts3bLAX9OFxWyASEsJlOO26MzUoYr17hjTeJ0P6s4N6PIzZx+YFEn+bfF SSMiXfks0DjIM62I7WppdzcKwxlHol5AtSoLNPKP++BAJC8o1/B4PjzutyfGk9ik9CZttlhC/gk7 Zerc1Qp31x35t64My/phOtycbeSVCxqgyEFQ2iO7RuswlPsa0EkfRAmIhny48/L8xgKIQhS6gKjj h+qK1fV+80FRSbpPbL1t423by7YDyHXxZGYFl6SjqJh5pyheC76zJvoyR4oJ8+lblyG21k25vugG kAKF7LNUcWy22qjzRnh7Zo0aIYmXVBT4iTfj4cBiHtJqoLReDE/YVJiMiJN8fxZy36RMLA0Qgxq3 5Lc2L2Zj4UYpoWzi2pTKTO7eYXnO/VobDt6wu1DHih++JJMp7QcgZiWh4CHdZ9PFBckodk1vSldv lLEEm2W9JKfgvSQwHacz6XgP1tJVuwIZW/yEqhY6bPAdoxR+2Ttvpti3a3oVaJblh05U45toiqUr NB4+2bfXyixubPJbK+BMHYY9pXRFri/HjC21Lx1UNVD+eI4qA/n3dLQYDjPIUK6TYqYJPorXOX8G NaWrPx4xoRyAHJhEBf9aPAsy7nSJcNMpXacR8cnUE44y+PS+OrHDE6uYWFr590dPYzcxruXIPg55 1qwk5BDEeacqikuIQjOKYo8/S6BoStffJvusco3ddChqddxvX0gKwCvz7nvqeaNRxlJKChefYsly QeYtf+NwDkpnCR08Xp7tKk/Dj9K8W/xk+AFrWzAwkF5YYsRHZgnfbpGQAb8VcsURhZtTR2cP4zQa oiyFPXCIUmG52GO/TwfiMTAMNxqGLFklU7Txy5CDPYjbSUgtEc6/ETzQbdo//nzGm4CJ6xn8YaOB SBHRLXfjsqAXsBCIzQdNhp5whp9RQXyTjqRroBLOGXJfo+FJad4sD9KykOeO+Kg4y8//uRt3VjNI P6uUiX7+GasN0nQddP/e0OXHaIvUkr4KHTbeIcgyuthh+iIFLaIRHPG0V1695dVB3xOKBVHPpu+W RmOaImRYkqDTDyRv6BepyrkqRG8oJeZJ9ymt/5lDVYGdCUT29uIUww81evj8s98env+6YfT4bXo2 X0lx3P7wQKoqzbaSAirx7QVl6l14eltkk47Y1bq6DFPgmSMFEK5bg4sAN8cQRODgq7qc/3XewUWa 7vlInbGEFcYPHvbzDVDXlnB8o9FOEVVmOoZSnlZzIRQqY0mhcVYRL5dsNPopLasyfinsCO/714RT 565lR/ufLeckgs83GgaVpm2RfXIjsjRZ5cUIsJtw8dV4qPzlRdNeZutnTdMs4YqhY2G8TZhPNIWX ct16QLGdz9Sw8E7q0oUIT1O7GSCbfHHllIVQSSQN+SLNzPM/yGObXjSrX+vtunZVB5DBkvFWskiI DKS/gWMssuDYcF2pyd4draTCkfALL4njC/r4FZt+w7ejZEHbaVy7MoONO1tilJFibjEHrFCSG92J pB3BHmpX5qq72NTSgc4iHSnEPumr1e6oWKKDIzUbFc3RSE5IT51M3LSxccUG0kG298A5iaEKCRDy rNwJPe1uzizs5PsunbRfEoDq5oVykm4OhFkCdizyNzcnY9NuGtd+wNTl39XB8AMkPoUtWesmwXWe nH5xsXFt6CUQKARe8obfLdmON2eBoz0qmAjcZ3bqNm4RDUhB49CQ4dG34pbFzmbbQuPK3oA3M2tS icr+lhgw6ZLM/WRKKnQdqmGbxpW+qS5Ul3wSmI9xez8BNe/V6r0gLrA66PgwH9zR3zRuAulJmO+f ZMquSDy9mZVqLqnui4Vxk/nq+82YVheXmy1qt/TJ1bh9IGtkyeYsSQIolLzwaHwDMj9zZWjEVf6m Xg+xEZQ3LvIGz0JrN3i7jEu6ZEUVTzQpscw9SY1GSUvhIRyq2I6UzzEXZff8E56G0yuHQVCYCRNW uLA228CEEhAzyYYAbBHiygOdFuB4XrRUw6Fo1IPqNEoZnDV6FyLOC1mYsxE2GhmVRnEjIQvgWpMR 81Rruj9nYpJIKru/P7ngDOft9sBf9rHW1kuRsRyXQhe4VgINN//N+GCFBKcwb41LwfEbx5rOzAFm ixphiYcdJVgo+QbL8ICCPO+EItIIuh5ZFJJeEeieG/BDGHprneIpm608cHvWw5IlTGJmXNY/bXBd 2l0oO10twj/PaFX6y19pH533gatJF/uAhqAanuEauMzH+3n1nqA7Xx6e/Jxu3SBQspXPTdrecRbj KRksyQ7F1k0CEECZKQECCJ2zI9bJpVe/Pm1t/ljngey50eQGHuamc7tJstpMSeHxg3q58O2Lebfb b0gen1UEySPf8AA4y7gaPP/0OCu9FnKz/d7RuXkhi76PK4aDrWyNMxH1KdidxJ1+wD1I/eKsqj6H C3TnxlZfagEoGhQnniD9+grQGy+OLYV4JgyEoEmPjF7Ce3+MnbgtAnG1iTthTXpVi8aDSxFOkO0I jB1sU5KceaM3bGPRAlxegFRvOjdDFN42UUmAy7ouFhj3/8+HRecmiUSXJfW2FMq/ulLaxu0dRrpV VuDDidkuQjok5wKRSMQzfpg/xTG7/SHwt45jBoJC4/F8TMoGj617TVMRtDF5XLqOMD98cyJ7Gf7o +zmd1fhf8aPUHEnB1y1+8vQDgkKICUB7uM18edhvZ6wtHFDHab7bKR8NypPTP8xH37A1KCtSmsUJ WrLqiDwOr+mpuXnx4TzntwoJSuBy8f44npOGfu/3Sw3dipQLsaBiTUvwxfP/gu942kIoz5WH804P BWLM/nEkqZvD0TQa0xUZgaS2FLo7TMG3Ajv84fmvp3nKRN0S9cQc0xrulZbV4gktWbBEUXJUS/q+ R6QaDfnK3100BE1eszwvkeiOibNtRyO+pXLixTmBbxFvrT8QOuQ2mYvVAipoGNh7jv5Yw1kGf1Y6 N8cHqQu+4iDH2WMFGiEW4UNQUVLWkXP2jxkBtNeEAisNALPKHrTapEvtSVwkH8/zrc9E4x0MkWS6 ZG0T3RPvDbzu69TuqM8oIMaktRF+cWL9L9dyDSiLiHaIg05PCpK+L5AdV0s2ClPphDsJXeASvj/Q WWe33N7NpwLhbZx8INqsDQJ+uY6Il1X8vQzG8C2gFQaS2mz5iU3vVlRxboN0FCN11c+kY7BKWyXI WpJ1h5fa8Xx9xOlsst2U6ipy/uKHRmSnyxDrxcgfwzSNv7qBD240ADHNm4Ost/pnmj64iQD/oIjf hHcB1PXtixEEeVcEP0znq7lMBjcS1NN2cbJJsdrz8XQf4JbS1gSA0MkluK2QWSkqAnA80Xl+A/xo vNQKjGw1tdkXuUkkGYHOt6ycdvWNZoHCtWsVn9ba9R3BpvyjBigr71ySF8WSqbSbW8i2GVyxkd0Q uq5xxef3vDM7SdshMQb/O2PRuLSICATBJbnmhl7eyqoVVjAX0S4bDUWjQa4bNa7vAybkG71O7cD3 trshuXQaGHlsDtN2Rl4TcyUVF/cRxHgRnL7RaDVkYpPuQyfAym6NpBSf+0ujbDUOXUol01ITUrLY qMOOrKmmeOTP6blvSmBgfSyncPfZnAEztRqAFmlR1WplVVWqUtlaWPj4gplGPLICzUSrUWlpGChU S5YSUZIkChwmpHwzEmRrGu9J2L7SfWRjm1erEWmRcyG4FtX7JpwML17vBJE4yf6Gsnl7lPvwPdGT DjvW1gM11yKTrcaqRWi/AFqXyi8nwRTGtGavB2k1Jl1KPVIVdQgFtmVlYTbQ/2IE3rD1huBizz5q uOoqcdR+BIrK0sZVHhDb2UQAUq0yHnaD0vm1NnM957ESra+y7Tl8GcMdMuC7nUc42rUrclVlR0jN JHQM+PnfaQvabeGKe3Hm1MR9WMsRfMvqFdlyYGFMlYaI/xlQEMbz6o/0LZloV9oKVHl1EE2H1vpn s04f0JwegPY6awtXV6BDFHF4wOtspDJGDOdKveT3DGldaW0xSWaEJDHtBeSQU9GusIC4zr4cwNV4 uGiM32KSEys6jbZeHU1t4SrZFJF4uSR3Hz/zv6uJbwtX0NRkqOPi09Wkj9DQOwCShESI8MY4UO2f bOpcd3mSLNPfsPC0XQ5VXha07vrj+WZ8/r9HovlMDmT932zzrYakS9YrrZec9ZJ1RFQ7IMQS7wLP OHMSCZIQrhpb/G57icaZS5YQ1QtiQSmFPbi4p6fLb9It5SM1EZ5EvBfxktHYiLxkfuGR0mosGrKG i7GCmqYSYqk3+x1d60yYi28SiaGmXQlVzaPDlMy7DfJJD5EMqtUwdcnqoaKJS5BeB8z7Ay+WBOC3 5nVBLcCGJ0I6wtJdjHw68xE8K4QESt/1C4RZrUa2RXabd6Zcv07CtRW2FogcsasjLxrXaLyzr7eI JyCIH2SXLhvcjX2QXZbCEJtk75//S7zNj5phcOQVfTLuNOL8G7DRjdj9cT7Eb6isH6Acd0PoBy5/ XI7UWzDeE/jS4Qa+G2/SC+ppuz8QCVk5WK+C6NpFZ2TA+AH2IQ/ux3lHHmdzj6e3ShDRuIi0QbRx dEhN1ll4EKQnuPiTmX9AohUftmQoYbrUzXyY76b42a0JRsJV8PQ3uE/b2N5NTvem/AmwJ0yClPXi NpkUNIh1qwTEWT5eqgjFIjVy5kenQSelmknti7Du3f4safMK8M1viMNWM22Z4hNcoC3DmK3Mx1sG 9B7TTgO9Yr0OhKOeWDizk8a8Gbdzuk2kAz9IH0x6EnYhHSsYZht5tcfxTsYd2CrhR+e8x5KH8AEW fG9JZhI8eK081mWC3rAaCHC0YvsP55MybwKHBqW4pwkxt0/n9EoNwgsXjuf7OggvC9dl2Ax0N63n 96fpEWmQ9zm1YWQvbC1I38pLPhNaCS80jHyhLkzjJdPi5jT+rIqltfB8y/SdEK8RIr/G64QfCE2W RkR1mDezPDntgD0yiDIC9oliaxNLqqc4rSiNq2qH5xAwNPPS6P1yp7jf8NdyBtQRvHq7P9/pCWFx eal56LORN9KF3ZbSVh3AtVqLvbMOYb2ktpZShwAX1mvkcTLEu0extjgYoEYI0uiJbRF3tsqnDk/g yrDtlkzWEZ7Hj8//IUynkHcMuOg+PLcpWn5cYDJxDHITAL/ZSUFG7/E/KIc9/FPClrZyY0KhXRWH i5czQo2slGIKxoz7ngKQpH371lQx3R3/w4HJr1ZSGSgJ7jeO4K8X9dpNq4EOROtF7R3uqTRdAuQc Vt/un//PVnym/waGgmn1b08Oc9HWbkrIIOrimqEOoWzkevE4sfxgRWTPGYF6EJLDu3jv0du2dgtC VUJwSLdC+l6rc+yBFx9NTd0Jnd10OMgj0GS5/ZCucJHVMZhWyHP7EX734JW/R9kCvSr7nYJjPO7h CXTkxNYi9UojOETB4JaQa/zmA4Jj3Jksvt1apJ5/2K6zlunKgRFvJr6L788CTJSMem+pMZTQuoT2 UkIvpMofVelOvIwwe+uwjKDz9mCjiO0BJYuxM1matVJyMWedhTXvrTlKArJPR0nAWjLZWVnFrLGl 38Eb1pEEFz804Kv+/DOgzgs7obeWthZqJxlgERyRHV6z3E7eGD0rCE6YhH9kcjqyz5JIeSKYuMLE gVAqF6fMwooQQYfWnkkatrNYEF3Z/rLGvbNMvw7coffj3W6+pWN+Q0qiI+pwwN38OG33Dw+4jbnZ Lru/BdUpt88WCsAWtdyy0y1jB/oNPK6SwvFmRLduOEcaV1dktpd1lNTKkPEE2rHSx4ny2sZ1tQIB XDYAwNymAXyPZI5rf2s1rpskU4prDFDCQdxJRL9Xy6WXGw9K+PG8Y1dR3NuCg5ykf+SW5XPrLE5V 69w1E8yAXfzKtKkyS/MrqYE1SFNPIAXKEc63EwC4tx/SveokmIsCJxqQ9dvG1RhJF/nYQLbxC3gX bevqC9SNKu5DtTL+0uWA66y/OVtXUnAgZcuP+FAtz3NgGJBtkOBKGKwfPSbH9RVpCGEVSbLXF411 ftQDED6w+weolElQRSQt3hBcfD3ef5TgtSICWKa0QMfgOW0tVN6TdGGI4yjIvaw+PBh+eh0SGlec UZ4+n5fGqtjGxKKqeCluxw+gThkk2fRRuKfOhGHR4ggEtF8qC1K6zEyCkC/gVHBxpWeRLWDrnQAQ v4+dpE0ULoZ3vmet/uk2ZuFw0rL1wR3eC++LR4yY+0dmlq2cO2ll7U7nVaHuSbAQOaUEatqS1Sek plWxL8D+st8xrCXMI0nEO5T3/PhS2BCZNH+cNofJfAcWRu+FTCYb9CCE3N+GVrbcFiDvYfmBFVF+ 4KDeoq5wstTv1sLbvVh97AjQbZidAL52w2cLHlXp1BZasbOfkRbV7nFLu+i8xsynm9h8v1eCeIIz HmHl9y7AVR6Q0H1UeUQ84IpX+nhJYLYV7lzJa858bNdDECtvhYH5KFlaUo0rhLC2lXWu1DXO6Lii TSGT986wd9OwJyms3eFpZYxhD+pG61x1ARudzWoDtqBGg3Qb1lWBY55vCJYiSLUECB3AB4mqSVtc V2Te76LRNa0yTqc/vkSiaDvXVCJOxz0AOG2NMqkZazaTtfR0S3e7hTKg7VwpGzxtlx11EA7QgUSy hx2XGPLu0hwB0v75f+/9qWGxYLYJjKf4AawBgxVpCfS1MFNr08KbVpEIthyEDbrVzXknZSGCLbEb +exF7GDcSBrQOUL0txYYHoQeug5Ssbnho7/fbw7jSQtOTqtfrb4QNq5JbmrTp/EekGb4jdfaUb6f laA3L+SC+wgPnPGctRZSZh+BdrQkTxptJQQG0ra4fYFeBHlj45lNEio4jQe/KVr0mMUngZtUfugR CyvWqvAWCGYBSqCRLZW/K+nNYH/a+p/2kdtSfuCf9vannf0pvFN1XGD4lDqydO0WJbNmvTVrQKwX ZwSsghVLkmNDWnC68J/s3vxqdQGe0VoElsRL5QLXjB9gCm0+lFeQv/A2tRqBrVgIUS0IvhXrHDiX sblBaOgHaRgWf5zNQ8UiBtKMiqKjDJ7Ue6vtPm2ujvLVajS2EsakrH8wjnfkuH39gfmQv9bZoOGz OiheKjUqW5EVqVvcRvihcna8AzEnUZgh21F6NxO8xB4TGoaVRoFwtBJ+Ixw+OCwV4xL50kLs5utF IY0LacGZGYV0MhQ5NwkfbHPZWiMcYwsmYiW8MsX6ciUIaXzvFU6thlzl7wO1Gn5or/i0fC33k/nK npAiS8BjfJefhEJKC2z8NqAB2WotcNhxgtNh0uOrlE184/dUmeMMaqzVmGtFppjAnoYfCiHl/GeL 3K1dXZuMexE/1GlQbVhkXuGVUeuVNnd9xRE1ZM11ii71Ne3Pd36V6Naurunv80VK1tY3GZUyBv3/ AFBLAQIUAxQAAAAIAIu6nErFuSCbcb8AALr2AQAnAAAAAAAAAAAAAACAAQAAAABDYWZlLlNvY2ll dHkuMjAxNi5UTC4xMDgwcC54MjY0X2ZyZS5zcnRQSwUGAAAAAAEAAQBVAAAAtr8AAAAA headers: Accept-Ranges: - bytes Connection: - keep-alive Content-Disposition: - attachment; filename="fr-cafe-society-2016-SubRip-utf-8.zip" Content-Length: - '49185' Content-Type: - application/octet-stream Date: - Fri, 31 May 2024 12:22:26 GMT ETag: - '"5903b216-c021"' Last-Modified: - Fri, 28 Apr 2017 21:20:22 GMT Server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_episode.yaml0000644000175100001770000012356714636376416027147 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Game+of+Thrones&seasons=3&episodes=10&language=fr&movie_type=tv-series&movie_type=mini-series response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": false, \n \"contributions\": [\n {\n \ \ \"contributor\": {\n \"id\": 1, \n \"name\": \"\ Anonymous\", \n \"type\": \"user\"\n }, \n \"\ role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \ \ \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-11T22:22:55+00:00\"\ , \n \"custom_releases\": [\n \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.H.264-NTb\"\ , \n \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.H.264-NTb\", \n \ \ \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\", \n \ \ \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\"\n \ \ ], \n \"download\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/k8Yl/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"k8Yl\",\ \ \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 10, \n \ \ \"id\": null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"omdb:mLUG\"\n \ \ ], \n \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \ \ \"title\": \"Game of Thrones\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2011\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 7924, \n \ \ \"lines\": 758\n }, \n \"url\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/k8Yl\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2013-06-11T22:18:26+00:00\", \n \"custom_releases\"\ : [\n \"Game.of.Thrones.S03E10.720p.HDTV.x264-EVOLVE\", \n \"\ Game.of.Thrones.S03E10.720p.HDTV.x264-CPG\", \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-ChameE\"\ , \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-mSD\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Chivvez\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-3LT0N\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Snake\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-JKS\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-AFG\"\ \n ], \n \"download\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/jcYl/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"jcYl\",\ \ \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 10, \n \ \ \"id\": null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"omdb:mLUG\"\n \ \ ], \n \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \ \ \"title\": \"Game of Thrones\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2011\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 3954, \n \ \ \"lines\": 789\n }, \n \"url\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/jcYl\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 44181, \n \ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n\ \ }\n ], \n \"contributor\": {\n \"id\": 44181, \n\ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n },\ \ \n \"created\": \"2013-06-10T09:02:28+00:00\", \n \"custom_releases\"\ : [\n \"Game.of.Thrones.S03E10.720p.HDTV.x264-EVOLVE\", \n \"\ Game.of.Thrones.S03E10.720p.HDTV.x264-CPG\", \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-ChameE\"\ , \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-mSD\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Chivvez\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-3LT0N\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Snake\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-JKS\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-AFG\"\ \n ], \n \"download\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/8cMl/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"8cMl\", \n \"language\": \"fr\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Gra o tron\", \n \ \ \"Juego de tronos\", \n \"Le tr\\u00f4ne de fer: Game of\ \ Thrones\", \n \"Tr\\u00f3nok harca\", \n \"Igra prestolov\"\ \n ], \n \"episode_info\": {\n \"episode\": 10, \n\ \ \"id\": null, \n \"season\": 3, \n \"slug\":\ \ \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\", \n \"type\"\ : \"ordinary\", \n \"year\": null\n }, \n \"id\": \"\ rLI\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"omdb:mLUG\"\n \ \ ], \n \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \ \ \"title\": \"Game of Thrones\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2011\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 7382, \n \ \ \"lines\": 867\n }, \n \"url\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/8cMl\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 44181, \n \ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n\ \ }\n ], \n \"contributor\": {\n \"id\": 44181, \n\ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n },\ \ \n \"created\": \"2013-06-10T08:19:57+00:00\", \n \"custom_releases\"\ : [\n \"Game.of.Thrones.S03E10.HDTV.x264-EVOLVE\"\n ], \n \ \ \"download\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/6MMl/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"6MMl\"\ , \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\"\ : [\n \"Gra o tron\", \n \"Juego de tronos\", \n \ \ \"Le tr\\u00f4ne de fer: Game of Thrones\", \n \"Tr\\u00f3nok\ \ harca\", \n \"Igra prestolov\"\n ], \n \"episode_info\"\ : {\n \"episode\": 10, \n \"id\": null, \n \"season\"\ : 3, \n \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"omdb:mLUG\"\n \ \ ], \n \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \ \ \"title\": \"Game of Thrones\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2011\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 5087, \n \ \ \"lines\": 867\n }, \n \"url\": \"/en/subtitles/fr-game-of-thrones-2011-S03E10-O-mhysa/6MMl\"\ \n }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\ \n}" headers: connection: - keep-alive content-length: - '9063' content-type: - application/json date: - Sat, 09 May 2020 10:24:43 GMT server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Game+of+Thrones&seasons=3&episodes=10&language=en&movie_type=tv-series&movie_type=mini-series response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": false, \n \"contributions\": [], \n \"contributor\"\ : null, \n \"created\": \"2015-07-06T18:26:18.279000+00:00\", \n \ \ \"custom_releases\": [\n \"Game.of.Thrones.S03E10.720p.BluRay.450MB.ShAaNiG.com\"\ , \n \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.H.264-NTb\", \n \ \ \"Game.of.Thrones.S03E10.720p.BluRay.450MB.ShAaNiG.com.srt\"\n \ \ ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/a1I8/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"a1I8\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"Le tr\\u00f4ne de fer: Game of Thrones\", \n \"\ Tr\\u00f3nok harca\", \n \"Gra o tron\", \n \"Igra prestolov\"\ , \n \"Juego de tronos\", \n \"Taht Oyunlar\\u0131\", \n\ \ \"Igra prestola\", \n \"\\u0418\\u0433\\u0440\\u0430 \\\ u043f\\u0440\\u0435\\u0441\\u0442\\u043e\\u043b\\u0430\"\n ], \n \ \ \"episode_info\": {\n \"episode\": 10, \n \"id\"\ : null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": null, \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 24581, \n \"characters_per_line\"\ : 24.9553299492, \n \"downloads\": 38841, \n \"lines\": 985,\ \ \n \"lines_per_unit\": 1.2628205128, \n \"parts\": 1, \n \ \ \"units\": 780\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/a1I8\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 23329, \n \"name\": \"\ jane\", \n \"type\": \"user\"\n }, \n \"created\": \"2015-01-06T08:20:25+00:00\"\ , \n \"custom_releases\": [\n \"Game.Of.Thrones.S03E10.720p.x264-ILPruny\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/8BM5/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"8BM5\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne de\ \ fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de tronos\"\ , \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\", \n \ \ \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\u0442\\\ u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\": 3, \n\ \ \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 24583, \n \"characters_per_line\"\ : 20.3165289256, \n \"downloads\": 3082, \n \"lines\": 1210,\ \ \n \"lines_per_unit\": 1.4268867925, \n \"parts\": 1, \n \ \ \"units\": 848\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/8BM5\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2014-02-14T23:12:29+00:00\"\ , \n \"custom_releases\": [\n \"game.of.thrones.s03e10.bdrip.x264-demand\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/am0s/download\"\ , \n \"flags\": [\n \"hearing_impaired\"\n ], \n \"\ fps\": \"23.976\", \n \"id\": \"am0s\", \n \"language\": \"en\"\ , \n \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne\ \ de fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de\ \ tronos\", \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\"\ , \n \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\\ u0442\\u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\"\ : 3, \n \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 26190, \n \"characters_per_line\"\ : 24.2724745134, \n \"downloads\": 5765, \n \"lines\": 1079,\ \ \n \"lines_per_unit\": 1.2388059701, \n \"parts\": 1, \n \ \ \"units\": 871\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/am0s\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 63492, \n \"name\": \"\ Rafael4\", \n \"type\": \"user\"\n }, \n \"created\": \"\ 2013-07-16T16:00:43+00:00\", \n \"custom_releases\": [\n \"Game.Of.Thrones.S03E10.1080p.WEB-RiP.x264.anoXmous\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/Eaom/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"Eaom\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne de\ \ fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de tronos\"\ , \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\", \n \ \ \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\u0442\\\ u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\": 3, \n\ \ \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 26436, \n \"characters_per_line\"\ : 20.3353846154, \n \"downloads\": 14925, \n \"lines\": 1300,\ \ \n \"lines_per_unit\": 1.4285714286, \n \"parts\": 1, \n \ \ \"units\": 910\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/Eaom\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-11T22:22:51+00:00\"\ , \n \"custom_releases\": [\n \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.H.264-NTb\"\ , \n \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.H.264-NTb\", \n \ \ \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\", \n \ \ \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\"\n \ \ ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/lMYl/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"lMYl\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne de\ \ fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de tronos\"\ , \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\", \n \ \ \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\u0442\\\ u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\": 3, \n\ \ \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 25135, \n \"characters_per_line\"\ : 20.535130719, \n \"downloads\": 42667, \n \"lines\": 1224,\ \ \n \"lines_per_unit\": 1.4282380397, \n \"parts\": 1, \n \ \ \"units\": 857\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/lMYl\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-11T22:18:12+00:00\"\ , \n \"custom_releases\": [\n \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.H.264-NTb\"\ , \n \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.H.264-NTb\", \n \ \ \"Game.of.Thrones.S03E10.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\", \n \ \ \"Game.of.Thrones.S03E10.1080p.WEB-DL.DD5.1.AAC2.0.H.264-YFN\"\n \ \ ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/msYl/download\"\ , \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"msYl\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"Le tr\\u00f4ne de fer: Game of Thrones\", \n \"Tr\\u00f3nok\ \ harca\", \n \"Gra o tron\", \n \"Igra prestolov\", \n\ \ \"Juego de tronos\", \n \"Taht Oyunlar\\u0131\", \n \ \ \"Igra prestola\", \n \"\\u0418\\u0433\\u0440\\u0430 \\\ u043f\\u0440\\u0435\\u0441\\u0442\\u043e\\u043b\\u0430\"\n ], \n \ \ \"episode_info\": {\n \"episode\": 10, \n \"id\"\ : null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"\", \n \"num_cds\": 1, \n \ \ \"rejected\": null, \n \"releases\": [], \n \"state\": \"\", \n\ \ \"stats\": {\n \"characters\": 26814, \n \"characters_per_line\"\ : 20.4375, \n \"downloads\": 16109, \n \"lines\": 1312, \n \ \ \"lines_per_unit\": 1.4260869565, \n \"parts\": 1, \n \ \ \"units\": 920\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/msYl\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 44181, \n \"name\": \"\ Grzesiek11\", \n \"type\": \"user\"\n }, \n \"created\":\ \ \"2013-06-10T08:54:26+00:00\", \n \"custom_releases\": [\n \"\ Game.of.Thrones.S03E10.720p.HDTV.x264-EVOLVE\", \n \"Game.of.Thrones.S03E10.720p.HDTV.x264-CPG\"\ , \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-ChameE\", \n \"\ Game.of.Thrones.S03E10.480p.HDTV.x264-mSD\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Chivvez\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-3LT0N\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Snake\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-JKS\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-AFG\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/78Ml/download\"\ , \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"78Ml\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"Le tr\\u00f4ne de fer: Game of Thrones\", \n \"Tr\\u00f3nok\ \ harca\", \n \"Gra o tron\", \n \"Igra prestolov\", \n\ \ \"Juego de tronos\", \n \"Taht Oyunlar\\u0131\", \n \ \ \"Igra prestola\", \n \"\\u0418\\u0433\\u0440\\u0430 \\\ u043f\\u0440\\u0435\\u0441\\u0442\\u043e\\u043b\\u0430\"\n ], \n \ \ \"episode_info\": {\n \"episode\": 10, \n \"id\"\ : null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"Resync from - HDTV.x264-EVOLVE
\\\ r\\nSeason finale.\", \n \"num_cds\": 1, \n \"rejected\": null,\ \ \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n\ \ \"characters\": 27599, \n \"characters_per_line\": 20.2933823529,\ \ \n \"downloads\": 47819, \n \"lines\": 1360, \n \"\ lines_per_unit\": 1.4300736067, \n \"parts\": 1, \n \"units\"\ : 951\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/78Ml\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 44181, \n \"name\": \"\ Grzesiek11\", \n \"type\": \"user\"\n }, \n \"created\":\ \ \"2013-06-10T08:54:07+00:00\", \n \"custom_releases\": [\n \"\ Game.of.Thrones.S03E10.720p.HDTV.x264-EVOLVE\", \n \"Game.of.Thrones.S03E10.720p.HDTV.x264-CPG\"\ , \n \"Game.of.Thrones.S03E10.480p.HDTV.x264-ChameE\", \n \"\ Game.of.Thrones.S03E10.480p.HDTV.x264-mSD\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Chivvez\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-3LT0N\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-Snake\"\ , \n \"Game.of.Thrones.S03E10.HDTV.XviD-JKS\", \n \"Game.of.Thrones.S03E10.HDTV.XviD-AFG\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/7sMl/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"7sMl\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne de\ \ fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de tronos\"\ , \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\", \n \ \ \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\u0442\\\ u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\": 3, \n\ \ \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"Resync from - HDTV.x264-EVOLVE
\\\ r\\nSeason finale.\", \n \"num_cds\": 1, \n \"rejected\": null,\ \ \n \"releases\": [], \n \"state\": \"\", \n \"stats\": {\n\ \ \"characters\": 25923, \n \"characters_per_line\": 20.3957513769,\ \ \n \"downloads\": 80088, \n \"lines\": 1271, \n \"\ lines_per_unit\": 1.429696288, \n \"parts\": 1, \n \"units\"\ : 889\n }, \n \"url\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/7sMl\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 44181, \n \"name\": \"\ Grzesiek11\", \n \"type\": \"user\"\n }, \n \"created\":\ \ \"2013-06-10T05:59:16+00:00\", \n \"custom_releases\": [\n \"\ Game.of.Thrones.S03E10.HDTV.x264-EVOLVE\"\n ], \n \"download\":\ \ \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/0MMl/download\",\ \ \n \"flags\": [\n \"hearing_impaired\"\n ], \n \"\ fps\": \"23.976\", \n \"id\": \"0MMl\", \n \"language\": \"en\"\ , \n \"movie\": {\n \"aliases\": [\n \"Le tr\\u00f4ne\ \ de fer: Game of Thrones\", \n \"Tr\\u00f3nok harca\", \n \ \ \"Gra o tron\", \n \"Igra prestolov\", \n \"Juego de\ \ tronos\", \n \"Taht Oyunlar\\u0131\", \n \"Igra prestola\"\ , \n \"\\u0418\\u0433\\u0440\\u0430 \\u043f\\u0440\\u0435\\u0441\\\ u0442\\u043e\\u043b\\u0430\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 10, \n \"id\": null, \n \"season\"\ : 3, \n \"slug\": \"S03E10-O-mhysa\", \n \"title\": \"Mhysa\"\ , \n \"type\": \"ordinary\", \n \"year\": null\n \ \ }, \n \"id\": \"rLI\", \n \"posters\": {\n \"inline\"\ : \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"Season finale.\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 27858, \n \"\ characters_per_line\": 20.4838235294, \n \"downloads\": 35310, \n \ \ \"lines\": 1360, \n \"lines_per_unit\": 1.4300736067, \n \ \ \"parts\": 1, \n \"units\": 951\n }, \n \"url\": \"\ /en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/0MMl\"\n }, \n \ \ {\n \"audited\": true, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 44181, \n \"name\": \"Grzesiek11\", \n \ \ \"type\": \"user\"\n }, \n \"created\": \"2013-06-10T05:58:36+00:00\"\ , \n \"custom_releases\": [\n \"Game.of.Thrones.S03E10.HDTV.x264-EVOLVE\"\ \n ], \n \"download\": \"/en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/z8Ml/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"z8Ml\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"Le tr\\u00f4ne de fer: Game of Thrones\", \n \"\ Tr\\u00f3nok harca\", \n \"Gra o tron\", \n \"Igra prestolov\"\ , \n \"Juego de tronos\", \n \"Taht Oyunlar\\u0131\", \n\ \ \"Igra prestola\", \n \"\\u0418\\u0433\\u0440\\u0430 \\\ u043f\\u0440\\u0435\\u0441\\u0442\\u043e\\u043b\\u0430\"\n ], \n \ \ \"episode_info\": {\n \"episode\": 10, \n \"id\"\ : null, \n \"season\": 3, \n \"slug\": \"S03E10-O-mhysa\"\ , \n \"title\": \"Mhysa\", \n \"type\": \"ordinary\", \n\ \ \"year\": null\n }, \n \"id\": \"rLI\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/b6/c7/4f/17/db/65/8368be2232bb0bdcc53e/rLI.jpg\"\ \n }, \n \"providers\": [\n \"wikipedia:Game_of_Thrones\"\ , \n \"omdb:mLUG\", \n \"imdb:0944947\"\n ], \n \ \ \"slug\": \"game-of-thrones-2011-S03E10-O-mhysa\", \n \"title\"\ : \"Game of Thrones\", \n \"type\": \"tv-series\", \n \"year\"\ : 2011\n }, \n \"notes\": \"Season finale.\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 26154, \n \"\ characters_per_line\": 20.577498033, \n \"downloads\": 50443, \n \ \ \"lines\": 1271, \n \"lines_per_unit\": 1.429696288, \n \ \ \"parts\": 1, \n \"units\": 889\n }, \n \"url\": \"\ /en/subtitles/en-game-of-thrones-2011-S03E10-O-mhysa/z8Ml\"\n }\n ], \n\ \ \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '24121' content-type: - application/json date: - Sat, 09 May 2020 10:24:44 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_episode_alternative_series.yaml0000644000175100001770000007176014636376416033114 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?movie_type=tv-series&movie_type=mini-series&language=en&episodes=13&year=2015&keywords=Marvels+Jessica+Jones&seasons=1 response: body: string: !!python/unicode "{\n \"all_pages\": 0, \n \"data\": [], \n \"page\"\ : 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '87' content-type: - application/json date: - Sat, 09 May 2020 10:24:45 GMT server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?movie_type=tv-series&movie_type=mini-series&language=en&episodes=13&year=2015&keywords=Jessica+Jones&seasons=1 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": false, \n \"contributions\": [], \n \"contributor\"\ : null, \n \"created\": \"2016-12-06T14:53:11.034000+00:00\", \n \ \ \"custom_releases\": [\n \"marvels.jessica.jones.s01e13.dvdrip.x264-bravery\"\ , \n \"Marvels.Jessica.Jones.S01.DVDRip.x264-BRAVERY\"\n ], \n\ \ \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/s1FC/download\"\ , \n \"flags\": [\n \"hearing_impaired\"\n ], \n \"\ fps\": \"\", \n \"id\": \"s1FC\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [], \n \"episode_info\": {\n\ \ \"episode\": 13, \n \"id\": null, \n \"season\"\ : 1, \n \"slug\": \"S01E13-O\", \n \"title\": null, \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"HOY\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 19925, \n \"\ characters_per_line\": 22.3625140292, \n \"downloads\": 159, \n \ \ \"lines\": 891, \n \"lines_per_unit\": 1.323922734, \n \ \ \"parts\": 1, \n \"units\": 673\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/s1FC\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-12-06T14:49:00.457000+00:00\"\ , \n \"custom_releases\": [\n \"marvels.jessica.jones.s01e13.dvdrip.x264-bravery\"\ , \n \"Marvels.Jessica.Jones.S01.DVDRip.x264-BRAVERY\"\n ], \n\ \ \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/tVFC/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"tVFC\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 17740, \n \"\ characters_per_line\": 22.7727856226, \n \"downloads\": 537, \n \ \ \"lines\": 779, \n \"lines_per_unit\": 1.3431034483, \n \ \ \"parts\": 1, \n \"units\": 580\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/tVFC\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-12-06T14:47:31.366000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01.720p.BluRay.x264-DEMAND\"\ , \n \"Marvels.Jessica.Jones.S01E13.720p.BluRay.x264-DEMAND\"\n \ \ ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/wFFC/download\"\ , \n \"flags\": [\n \"hearing_impaired\"\n ], \n \"\ fps\": \"23.976\", \n \"id\": \"wFFC\", \n \"language\": \"en\"\ , \n \"movie\": {\n \"aliases\": [], \n \"episode_info\"\ : {\n \"episode\": 13, \n \"id\": null, \n \"season\"\ : 1, \n \"slug\": \"S01E13-O\", \n \"title\": null, \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"HOY\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 19925, \n \"\ characters_per_line\": 22.3625140292, \n \"downloads\": 186, \n \ \ \"lines\": 891, \n \"lines_per_unit\": 1.323922734, \n \ \ \"parts\": 1, \n \"units\": 673\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/wFFC\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-12-06T14:42:02.594000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01.720p.BluRay.x264-DEMAND\"\ , \n \"Marvels.Jessica.Jones.S01E13.720p.BluRay.x264-DEMAND\"\n \ \ ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/wlFC/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"wlFC\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 17740, \n \"\ characters_per_line\": 22.7727856226, \n \"downloads\": 2191, \n \ \ \"lines\": 779, \n \"lines_per_unit\": 1.3431034483, \n \ \ \"parts\": 1, \n \"units\": 580\n }, \n \"url\": \"\ /en/subtitles/en-jessica-jones-2015-S01E13-O/wlFC\"\n }, \n {\n \ \ \"audited\": false, \n \"contributions\": [], \n \"contributor\"\ : null, \n \"created\": \"2016-08-06T16:59:20.461000+00:00\", \n \ \ \"custom_releases\": [\n \"Marvel's Jessica Jones Season 1 (1080p\ \ x265 10bit Joy)\", \n \"Marvel's Jessica Jones S01E13 Smile (1080p\ \ x265 10bit Joy)\"\n ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/BURB/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"BURB\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 20450, \n \"\ characters_per_line\": 23.1334841629, \n \"downloads\": 189, \n \ \ \"lines\": 884, \n \"lines_per_unit\": 1.3115727003, \n \ \ \"parts\": 1, \n \"units\": 674\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/BURB\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-01-01T13:32:40.192000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01E13.720p.WEBRip.x264-2HD\"\ , \n \"Marvels.Jessica.Jones.S01E13.WEBRip.x264-2HD\", \n \"\ Marvels.Jessica.Jones.S01.1080p.NF.WEBRip.DD5.1.x264-SNEAkY\", \n \"\ Marvels.Jessica.Jones.S01E13.AKA.Smile.1080p.NF.WEBRip.DD5.1.x264-SNEAkY\"\ \n ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/w_g-/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"w_g-\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 17853, \n \"\ characters_per_line\": 30.362244898, \n \"downloads\": 4123, \n \ \ \"lines\": 588, \n \"lines_per_unit\": 1.0, \n \"parts\"\ : 1, \n \"units\": 588\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/w_g-\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-01-01T07:31:47.004000+00:00\"\ , \n \"custom_releases\": [\n \"Marvel's Jessica Jones.S01E01-13.720p/1080p.QCF\"\ , \n \"Marvel's Jessica Jones Season 1 Complete (x265, 720p, 1080p)\"\ , \n \"Marvel's Jessica Jones.S01E01-13.720p/1080p.2HD\", \n \ \ \"Marvel's Jessica Jones.S01E01-13.720p/1080p.WEBRip\", \n \"Marvel's\ \ Jessica Jones.S01E01-13.720p/1080p.WEBRip.HEVC.x265.RMTteam\", \n \ \ \"Marvels.Jessica.Jones.S01E013.AKA.Smile.WEBRip.x264-WR\"\n ], \n\ \ \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/m_c-/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"m_c-\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 18236, \n \"\ characters_per_line\": 23.5, \n \"downloads\": 533, \n \"lines\"\ : 776, \n \"lines_per_unit\": 1.3356282272, \n \"parts\": 1,\ \ \n \"units\": 581\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/m_c-\"\ \n }, \n {\n \"audited\": false, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2016-01-01T00:46:00.360000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01E013.AKA.Smile.WEBRip.x264-WR\"\ , \n \"Marvels.Jessica.Jones.S01E13.AKA.Smile.1080p.NF.WEBRip.DD5.1.x264-NTb\"\ , \n \"Marvels.Jessica.Jones.S01.1080p.NF.WEBRip.DD5.1.x264-NTb\"\n\ \ ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/JPY-/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"JPY-\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": null, \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 17704, \n \"\ characters_per_line\": 22.552866242, \n \"downloads\": 207, \n \ \ \"lines\": 785, \n \"lines_per_unit\": 1.3534482759, \n \ \ \"parts\": 1, \n \"units\": 580\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/JPY-\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2015-11-23T05:56:13.267000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01E13.720p.WEBRip.x264-2HD\"\ , \n \"Marvels.Jessica.Jones.S01E13.WEBRip.x264-2HD\"\n ], \n\ \ \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/CJw-/download\"\ , \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"CJw-\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [], \n\ \ \"episode_info\": {\n \"episode\": 13, \n \"id\"\ : null, \n \"season\": 1, \n \"slug\": \"S01E13-O\", \n\ \ \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"posters\"\ : {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 20504, \n \"\ characters_per_line\": 23.1683615819, \n \"downloads\": 1619, \n \ \ \"lines\": 885, \n \"lines_per_unit\": 1.3130563798, \n \ \ \"parts\": 1, \n \"units\": 674\n }, \n \"url\": \"\ /en/subtitles/en-jessica-jones-2015-S01E13-O/CJw-\"\n }, \n {\n \ \ \"audited\": true, \n \"contributions\": [], \n \"contributor\"\ : null, \n \"created\": \"2015-11-22T08:51:12+00:00\", \n \"custom_releases\"\ : [\n \"Marvels.Jessica.Jones.S01E13.WEBRiP.x264-QCF\", \n \"\ Marvels.Jessica.Jones.S01E13.720p.WEBRiP.x264-QCF\", \n \"Marvels.Jessica.Jones.S01E13.1080p.WEBRiP.x264-QCF\"\ \n ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/iZk-/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"iZk-\", \n \"language\": \"en\", \n \"\ movie\": {\n \"aliases\": [], \n \"episode_info\": {\n \ \ \"episode\": 13, \n \"id\": null, \n \"season\": 1,\ \ \n \"slug\": \"S01E13-O\", \n \"title\": null, \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n \ \ \"id\": \"HOY\", \n \"posters\": {\n \"inline\": \"\ /thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 17914, \n \"\ characters_per_line\": 30.3627118644, \n \"downloads\": 1408, \n \ \ \"lines\": 590, \n \"lines_per_unit\": 1.0, \n \"parts\"\ : 1, \n \"units\": 590\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/iZk-\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": null, \n \"created\": \"2015-11-21T16:05:54.800000+00:00\"\ , \n \"custom_releases\": [\n \"Marvels.Jessica.Jones.S01E013.AKA.Smile.WEBRip.x264-WR\"\ \n ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/v5c-/download\"\ , \n \"flags\": [\n \"hearing_impaired\"\n ], \n \"\ fps\": \"23.976\", \n \"id\": \"v5c-\", \n \"language\": \"en\"\ , \n \"movie\": {\n \"aliases\": [], \n \"episode_info\"\ : {\n \"episode\": 13, \n \"id\": null, \n \"season\"\ : 1, \n \"slug\": \"S01E13-O\", \n \"title\": null, \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"HOY\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 20450, \n \"\ characters_per_line\": 23.1334841629, \n \"downloads\": 702, \n \ \ \"lines\": 884, \n \"lines_per_unit\": 1.3115727003, \n \ \ \"parts\": 1, \n \"units\": 674\n }, \n \"url\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/v5c-\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 260899, \n \"name\":\ \ \"favian89\", \n \"type\": \"user\"\n }, \n \"created\"\ : \"2015-11-21T15:52:25.760000+00:00\", \n \"custom_releases\": [\n \ \ \"Marvels.Jessica.Jones.S01E013.AKA.Smile.WEBRip.x264-WR\"\n \ \ ], \n \"download\": \"/en/subtitles/en-jessica-jones-2015-S01E13-O/u5c-/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"u5c-\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": {\n \"episode\": 13, \n \ \ \"id\": null, \n \"season\": 1, \n \"slug\": \"S01E13-O\"\ , \n \"title\": null, \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"HOY\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/47/4b/ef/23/5f/46/a8bfc0ced3e9bfcfa929/HOY.jpg\"\ \n }, \n \"providers\": [\n \"omdb:AvQG\", \n \ \ \"imdb:2357547\"\n ], \n \"slug\": \"jessica-jones-2015-S01E13-O\"\ , \n \"title\": \"Jessica Jones\", \n \"type\": \"tv-series\"\ , \n \"year\": 2015\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 18189, \n \"\ characters_per_line\": 23.4696774194, \n \"downloads\": 1287, \n \ \ \"lines\": 775, \n \"lines_per_unit\": 1.3339070568, \n \ \ \"parts\": 1, \n \"units\": 581\n }, \n \"url\": \"\ /en/subtitles/en-jessica-jones-2015-S01E13-O/u5c-\"\n }\n ], \n \"page\"\ : 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '22641' content-type: - application/json date: - Sat, 09 May 2020 10:24:46 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_list_subtitles_movie.yaml0000644000175100001770000010550214636376416026623 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Man+of+Steel&movie_type=movie&language=fr&year=2013 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": false, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\"\ : \"user\"\n }, \n \"created\": \"2013-10-17T07:38:07+00:00\", \n\ \ \"custom_releases\": [\n \"Man.Of.Steel.2013.BDRip.x264-Larceny\"\ \n ], \n \"download\": \"/en/subtitles/fr-man-of-steel-2013/GMso/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"GMso\", \n \"language\": \"fr\", \n \"\ movie\": {\n \"aliases\": [], \n \"episode_info\": null, \n\ \ \"id\": \"WIk\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"omdb:_ngG\"\n \ \ ], \n \"slug\": \"man-of-steel-2013\", \n \"title\": \"Man\ \ of Steel\", \n \"type\": \"movie\", \n \"year\": 2013\n \ \ }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 40130, \n \"characters_per_line\": 27.561813186813186,\ \ \n \"downloads\": 8242, \n \"lines\": 1456, \n \"lines_per_unit\"\ : 1.4887525562372188, \n \"parts\": 1, \n \"units\": 978\n \ \ }, \n \"url\": \"/en/subtitles/fr-man-of-steel-2013/GMso\"\n \ \ }, \n {\n \"audited\": false, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 1, \n \"name\": \"Anonymous\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-07-26T07:10:34+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.TS.XviD-JUSTiCE\"\ , \n \"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\"\n ],\ \ \n \"download\": \"/en/subtitles/fr-man-of-steel-2013/d_Im/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"d_Im\",\ \ \n \"language\": \"fr\", \n \"movie\": {\n \"aliases\"\ : [], \n \"episode_info\": null, \n \"id\": \"WIk\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"omdb:_ngG\"\n \ \ ], \n \"slug\": \"man-of-steel-2013\", \n \"title\": \"Man\ \ of Steel\", \n \"type\": \"movie\", \n \"year\": 2013\n \ \ }, \n \"notes\": null, \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 40131, \n \"characters_per_line\": 27.5625,\ \ \n \"downloads\": 4968, \n \"lines\": 1456, \n \"lines_per_unit\"\ : 1.4872318692543411, \n \"parts\": 1, \n \"units\": 979\n \ \ }, \n \"url\": \"/en/subtitles/fr-man-of-steel-2013/d_Im\"\n \ \ }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\n\ }" headers: connection: - keep-alive content-length: - '3311' content-type: - application/json date: - Sat, 09 May 2020 10:24:41 GMT server: - nginx status: code: 200 message: OK - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Man+of+Steel&movie_type=movie&language=en&year=2013 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": true, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 41840, \n \"name\": \"gilraen\", \n \"\ type\": \"user\"\n }, \n \"created\": \"2013-11-21T06:29:19+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.EXTRAS.BONUS.DISC.720p.BluRay.DTS.x264-PublicHD:\"\ , \n \"publichd.EXTRAS.Journey.Of.Discovery.Creating.Man.Of.Steel.720p\"\ , \n \"publichd.EXTRAS.Planet.Krypton.720p\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp/download\", \n \"flags\"\ : [\n \"hearing_impaired\", \n \"high_definition\"\n ],\ \ \n \"fps\": \"23.976\", \n \"id\": \"WMgp\", \n \"language\"\ : \"en\", \n \"movie\": {\n \"aliases\": [\n \"\\u010covjek\ \ od \\u010delika\", \n \"L'uomo d'acciaio\", \n \"Jekleni\ \ mo\\u017e\", \n \"El hombre de acero\", \n \"\\u010covek\ \ od \\u010delika\"\n ], \n \"episode_info\": null, \n \ \ \"id\": \"WIk\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Journey of Discovery\ \ Creating Man of Steel
\\r\\nPlanet Krypton
\\r\\n\", \n \"\ num_cds\": 2, \n \"rejected\": null, \n \"releases\": [], \n \ \ \"state\": \"\", \n \"stats\": {\n \"characters\": 133030,\ \ \n \"characters_per_line\": 29.76062639821029, \n \"downloads\"\ : 20276, \n \"lines\": 4470, \n \"lines_per_unit\": 1.6494464944649447,\ \ \n \"parts\": 2, \n \"units\": 2710\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 41840, \n \"name\": \"gilraen\", \n \"type\": \"\ user\"\n }, \n \"created\": \"2013-10-22T06:35:44+00:00\", \n \ \ \"custom_releases\": [\n \"publichd.EXTRAS\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/MOko/download\", \n\ \ \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"MOko\", \n \"language\": \"en\", \n \"\ movie\": {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\"\ , \n \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n\ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Retail...
\\r\\\ npublichd.EXTRAS.All.Out.Actions.720p,
\\r\\npublichd.EXTRAS.Krypton.Decoded.720p\\r\\npublichd.EXTRAS.Small.Characters.Legendary.Role\", \n \"num_cds\"\ : 3, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 55050, \n \"\ characters_per_line\": 31.839213418160785, \n \"downloads\": 17114,\ \ \n \"lines\": 1729, \n \"lines_per_unit\": 1.7221115537848606,\ \ \n \"parts\": 3, \n \"units\": 1004\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/MOko\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 144401, \n \"name\": \"flax\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-15T23:01:51+00:00\", \n \"\ custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony.[PublicHD].\", \n\ \ \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER.\"\ , \n \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG.\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool.\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv.\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD.\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny.\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO.\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG.\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG.\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG.\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC.\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG.\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N.\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/Tsko/download\", \n \"flags\"\ : [\n \"high_definition\"\n ], \n \"fps\": \"23.976\", \n\ \ \"id\": \"Tsko\", \n \"language\": \"en\", \n \"movie\":\ \ {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\", \n\ \ \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n \ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Fixed some errors.\"\ , \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\"\ : [], \n \"state\": \"\", \n \"stats\": {\n \"characters\"\ : 38858, \n \"characters_per_line\": 23.650639074863054, \n \ \ \"downloads\": 46418, \n \"lines\": 1643, \n \"lines_per_unit\"\ : 1.2706883217324052, \n \"parts\": 1, \n \"units\": 1293\n\ \ }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/Tsko\"\n \ \ }, \n {\n \"audited\": true, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 7718, \n \"name\": \"jdinic3\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-10-15T16:53:11+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony\", \n \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER\", \n \ \ \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-JYK\"\ , \n \"Man.of.Steel.[2013].DVDRIP.DIVX.[Eng]-DUQA\\u252c\\u00ab\",\ \ \n \"Man.of.Steel.2013.1080p.BluRay.x264.YIFY\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/EMgo/download\", \n\ \ \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"EMgo\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 44788, \n \"\ characters_per_line\": 24.17053426875337, \n \"downloads\": 25348,\ \ \n \"lines\": 1853, \n \"lines_per_unit\": 1.2579769178547182,\ \ \n \"parts\": 1, \n \"units\": 1473\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/EMgo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 86327, \n \"name\": \"mixi69\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-11T15:41:19+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/NLUo/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"NLUo\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33155, \n \"\ characters_per_line\": 25.155538694992412, \n \"downloads\": 1871,\ \ \n \"lines\": 1318, \n \"lines_per_unit\": 1.4233261339092873,\ \ \n \"parts\": 1, \n \"units\": 926\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/NLUo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T07:37:20+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\\\ u252c\\u00ab\"\n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/uYcm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"uYcm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33194, \n \"\ characters_per_line\": 25.166034874905232, \n \"downloads\": 2924,\ \ \n \"lines\": 1319, \n \"lines_per_unit\": 1.4213362068965518,\ \ \n \"parts\": 1, \n \"units\": 928\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/uYcm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T01:31:40+00:00\", \n \"\ custom_releases\": [\n \"Superman.Man.of.Steel.2013.480p.R6.LiNE.x264.AAC-DAMN\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/aoYm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"aoYm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33296, \n \"\ characters_per_line\": 25.18608169440242, \n \"downloads\": 11755,\ \ \n \"lines\": 1322, \n \"lines_per_unit\": 1.4199785177228785,\ \ \n \"parts\": 1, \n \"units\": 931\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/aoYm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-09T18:36:51+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.(2013).720p.R6.LiNE.900MB.Ganool\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/XnUm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"XnUm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33220, \n \"\ characters_per_line\": 25.18574677786202, \n \"downloads\": 4400, \n\ \ \"lines\": 1319, \n \"lines_per_unit\": 1.4213362068965518,\ \ \n \"parts\": 1, \n \"units\": 928\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/XnUm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-06T21:10:22+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/ZmIm/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"ZmIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 36508, \n \"\ characters_per_line\": 24.338666666666665, \n \"downloads\": 6093,\ \ \n \"lines\": 1500, \n \"lines_per_unit\": 1.5321756894790604,\ \ \n \"parts\": 1, \n \"units\": 979\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/ZmIm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-06-24T13:12:30+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.CAM.XviD.MP3.MiLLENiUM\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/whQm/download\"\ , \n \"flags\": [], \n \"fps\": \"25\", \n \"id\": \"whQm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 34169, \n \"\ characters_per_line\": 35.225773195876286, \n \"downloads\": 8072,\ \ \n \"lines\": 970, \n \"lines_per_unit\": 1.0, \n \"\ parts\": 1, \n \"units\": 970\n }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/whQm\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 26933, \n \"name\": \"\ asdasd\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-24T05:15:56+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.XViD-CALiBRATE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/8RIm/download\"\ , \n \"flags\": [], \n \"fps\": \"29.97\", \n \"id\": \"8RIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Cleaned and carefully\ \ edited. Better than the rest.\", \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 34166, \n \"characters_per_line\": 35.25902992776058,\ \ \n \"downloads\": 5247, \n \"lines\": 969, \n \"lines_per_unit\"\ : 0.9989690721649485, \n \"parts\": 1, \n \"units\": 970\n \ \ }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/8RIm\"\n \ \ }, \n {\n \"audited\": true, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 7718, \n \"name\": \"jdinic3\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-21T10:08:43+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.NEW.AUDiO.XViD-JUSTiCE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/Nv0l/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"Nv0l\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 31878, \n \"\ characters_per_line\": 29.219065077910173, \n \"downloads\": 10623,\ \ \n \"lines\": 1091, \n \"lines_per_unit\": 1.0036798528058877,\ \ \n \"parts\": 1, \n \"units\": 1087\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/Nv0l\"\n }\n ], \n \"page\": 1,\ \ \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '24224' content-type: - application/json date: - Sat, 09 May 2020 10:24:42 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_query_episode.yaml0000644000175100001770000003245614636376416025237 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?movie_type=tv-series&movie_type=mini-series&language=en&episodes=5&year=2007&keywords=The+Big+Bang+Theory&seasons=7 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": true, \n \"contributions\": [\n {\n \ \ \"contributor\": {\n \"id\": 23329, \n \"name\":\ \ \"jane\", \n \"type\": \"user\"\n }, \n \"\ role\": \"uploader\", \n \"share\": 0.0\n }\n ], \n \ \ \"contributor\": {\n \"id\": 23329, \n \"name\": \"jane\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2014-09-07T07:06:05+00:00\"\ , \n \"custom_releases\": [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\ \n ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581/download\"\ , \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"\", \n \"id\": \"2581\", \n \"language\"\ : \"en\", \n \"movie\": {\n \"aliases\": [\n \"Veliki\ \ pokovci\"\n ], \n \"episode_info\": {\n \"episode\"\ : 5, \n \"id\": null, \n \"season\": 7, \n \"slug\"\ : \"S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\"\ , \n \"year\": null\n }, \n \"id\": \"uJE\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 31744, \n \ \ \"lines\": 348\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/2581\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 23329, \n \ \ \"name\": \"jane\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 23329, \n \ \ \"name\": \"jane\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2014-09-07T07:04:24+00:00\", \n \"custom_releases\"\ : [\n \"the.big.bang.theory.s07e05.1080p.bluray.x264-rovers\"\n \ \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581/download\"\ , \n \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"w581\", \n \"language\": \"en\", \n \"\ movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n \ \ ], \n \"episode_info\": {\n \"episode\": 5, \n \ \ \"id\": null, \n \"season\": 7, \n \"slug\": \"S07E05-O\"\ , \n \"title\": \"\", \n \"type\": \"ordinary\", \n \ \ \"year\": null\n }, \n \"id\": \"uJE\", \n \"\ posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 42579, \n \ \ \"lines\": 335\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/w581\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2013-10-18T14:12:21+00:00\", \n \"custom_releases\"\ : [\n \"The.Big.Bang.Theory.S07E05.720p.WEB-DL.DD5.1.H.264\"\n \ \ ], \n \"download\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo/download\"\ , \n \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"ftUo\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 5, \n \"id\": null, \n \"season\":\ \ 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"uJE\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 39427, \n \ \ \"lines\": 347\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/ftUo\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 44181, \n \ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n\ \ }\n ], \n \"contributor\": {\n \"id\": 44181, \n\ \ \"name\": \"grzesiek11\", \n \"type\": \"user\"\n },\ \ \n \"created\": \"2013-10-18T05:49:11+00:00\", \n \"custom_releases\"\ : [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\"\ , \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"\ The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n ], \n \"download\"\ : \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo/download\", \n\ \ \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"23.976\", \n \"id\": \"EdQo\", \n \"language\": \"en\", \n \ \ \"movie\": {\n \"aliases\": [\n \"Veliki pokovci\"\n\ \ ], \n \"episode_info\": {\n \"episode\": 5, \n \ \ \"id\": null, \n \"season\": 7, \n \"slug\": \"\ S07E05-O\", \n \"title\": \"\", \n \"type\": \"ordinary\"\ , \n \"year\": null\n }, \n \"id\": \"uJE\", \n \ \ \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 64985, \n \ \ \"lines\": 430\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/EdQo\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [\n\ \ {\n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n \ \ }, \n \"role\": \"uploader\", \n \"share\": 0.0\n \ \ }\n ], \n \"contributor\": {\n \"id\": 1, \n \ \ \"name\": \"Anonymous\", \n \"type\": \"user\"\n }, \n \ \ \"created\": \"2013-10-18T02:09:50+00:00\", \n \"custom_releases\"\ : [\n \"The.Big.Bang.Theory.S07E05.HDTV.x264-LOL\", \n \"The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION\"\ , \n \"The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD\", \n \"\ The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG\"\n ], \n \"download\"\ : \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo/download\", \n\ \ \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"WNMo\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"Veliki pokovci\"\n ], \n \"episode_info\": {\n \ \ \"episode\": 5, \n \"id\": null, \n \"season\":\ \ 7, \n \"slug\": \"S07E05-O\", \n \"title\": \"\", \n \ \ \"type\": \"ordinary\", \n \"year\": null\n }, \n\ \ \"id\": \"uJE\", \n \"posters\": {\n \"inline\":\ \ \"/thumbnails/moviedb/inline/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/2c/9c/f5/c9/ae/30/0df660438f29fcf6bef8/uJE.jpg\"\ \n }, \n \"providers\": [\n \"omdb:sY0G\"\n \ \ ], \n \"slug\": \"the-big-bang-theory-2007-S07E05-O\", \n \ \ \"title\": \"The Big Bang Theory\", \n \"type\": \"tv-series\", \n\ \ \"year\": 2007\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"migration\", \n \"stats\": {\n \"downloads\": 39202, \n \ \ \"lines\": 439\n }, \n \"url\": \"/en/subtitles/en-the-big-bang-theory-2007-S07E05-O/WNMo\"\ \n }\n ], \n \"page\": 1, \n \"per_page\": 50, \n \"status\": \"ok\"\ \n}" headers: connection: - keep-alive content-length: - '10231' content-type: - application/json date: - Sat, 09 May 2020 10:24:41 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/podnapisi/test_query_movie.yaml0000644000175100001770000007417014636376416024725 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - application/json Accept-Encoding: - gzip, deflate Connection: - keep-alive User-Agent: - Subliminal/2.1 method: GET uri: https://www.podnapisi.net/subtitles/search/advanced?keywords=Man+of+Steel&movie_type=movie&language=en&year=2013 response: body: string: !!python/unicode "{\n \"all_pages\": 1, \n \"data\": [\n {\n \ \ \"audited\": true, \n \"contributions\": [], \n \"contributor\"\ : {\n \"id\": 41840, \n \"name\": \"gilraen\", \n \"\ type\": \"user\"\n }, \n \"created\": \"2013-11-21T06:29:19+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.EXTRAS.BONUS.DISC.720p.BluRay.DTS.x264-PublicHD:\"\ , \n \"publichd.EXTRAS.Journey.Of.Discovery.Creating.Man.Of.Steel.720p\"\ , \n \"publichd.EXTRAS.Planet.Krypton.720p\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp/download\", \n \"flags\"\ : [\n \"hearing_impaired\", \n \"high_definition\"\n ],\ \ \n \"fps\": \"23.976\", \n \"id\": \"WMgp\", \n \"language\"\ : \"en\", \n \"movie\": {\n \"aliases\": [\n \"\\u010covjek\ \ od \\u010delika\", \n \"L'uomo d'acciaio\", \n \"Jekleni\ \ mo\\u017e\", \n \"El hombre de acero\", \n \"\\u010covek\ \ od \\u010delika\"\n ], \n \"episode_info\": null, \n \ \ \"id\": \"WIk\", \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Journey of Discovery\ \ Creating Man of Steel
\\r\\nPlanet Krypton
\\r\\n\", \n \"\ num_cds\": 2, \n \"rejected\": null, \n \"releases\": [], \n \ \ \"state\": \"\", \n \"stats\": {\n \"characters\": 133030,\ \ \n \"characters_per_line\": 29.76062639821029, \n \"downloads\"\ : 20276, \n \"lines\": 4470, \n \"lines_per_unit\": 1.6494464944649447,\ \ \n \"parts\": 2, \n \"units\": 2710\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/WMgp\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 41840, \n \"name\": \"gilraen\", \n \"type\": \"\ user\"\n }, \n \"created\": \"2013-10-22T06:35:44+00:00\", \n \ \ \"custom_releases\": [\n \"publichd.EXTRAS\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/MOko/download\", \n\ \ \"flags\": [\n \"high_definition\"\n ], \n \"fps\"\ : \"\", \n \"id\": \"MOko\", \n \"language\": \"en\", \n \"\ movie\": {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\"\ , \n \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n\ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Retail...
\\r\\\ npublichd.EXTRAS.All.Out.Actions.720p,
\\r\\npublichd.EXTRAS.Krypton.Decoded.720p\\r\\npublichd.EXTRAS.Small.Characters.Legendary.Role\", \n \"num_cds\"\ : 3, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 55050, \n \"\ characters_per_line\": 31.839213418160785, \n \"downloads\": 17114,\ \ \n \"lines\": 1729, \n \"lines_per_unit\": 1.7221115537848606,\ \ \n \"parts\": 3, \n \"units\": 1004\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/MOko\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 144401, \n \"name\": \"flax\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-15T23:01:51+00:00\", \n \"\ custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony.[PublicHD].\", \n\ \ \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER.\"\ , \n \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG.\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool.\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv.\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD.\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny.\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP.\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO.\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG.\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG.\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG.\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC.\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG.\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N.\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\"\n ], \n \"download\"\ : \"/en/subtitles/en-man-of-steel-2013/Tsko/download\", \n \"flags\"\ : [\n \"high_definition\"\n ], \n \"fps\": \"23.976\", \n\ \ \"id\": \"Tsko\", \n \"language\": \"en\", \n \"movie\":\ \ {\n \"aliases\": [\n \"\\u010covjek od \\u010delika\", \n\ \ \"L'uomo d'acciaio\", \n \"Jekleni mo\\u017e\", \n \ \ \"El hombre de acero\", \n \"\\u010covek od \\u010delika\"\ \n ], \n \"episode_info\": null, \n \"id\": \"WIk\",\ \ \n \"posters\": {\n \"inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Fixed some errors.\"\ , \n \"num_cds\": 1, \n \"rejected\": null, \n \"releases\"\ : [], \n \"state\": \"\", \n \"stats\": {\n \"characters\"\ : 38858, \n \"characters_per_line\": 23.650639074863054, \n \ \ \"downloads\": 46418, \n \"lines\": 1643, \n \"lines_per_unit\"\ : 1.2706883217324052, \n \"parts\": 1, \n \"units\": 1293\n\ \ }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/Tsko\"\n \ \ }, \n {\n \"audited\": true, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 7718, \n \"name\": \"jdinic3\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-10-15T16:53:11+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON\"\ , \n \"Man.Of.Steel.2013.720p.BluRay.x264-Felony\", \n \"Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER\", \n \ \ \"Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG\", \n \"Man.Of.Steel.(2013).BDRip.600MB.Ganool\"\ , \n \"Man.of.Steel.2013.BDRip.x264.700MB-Micromkv\", \n \"\ Man.Of.Steel.2013.BRRip.AAC.x264-SSDD\", \n \"Man.Of.Steel.2013.BDRip.x264-Larceny\"\ , \n \"Man.Of.Steel.2013.BDRiP.XViD-NoGRP\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO\"\ , \n \"Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG\", \n \"\ Man.Of.Steel.[2013].BRRip.XviD-ETRG\", \n \"Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG\"\ , \n \"Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC\", \n \"Man.of.steel.2013.BRRip.XviD.AC3-RARBG\"\ , \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N\", \n \ \ \"Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON\", \n \"Man.Of.Steel.2013.720p.BRRip.x264.AC3-JYK\"\ , \n \"Man.of.Steel.[2013].DVDRIP.DIVX.[Eng]-DUQA\\u252c\\u00ab\",\ \ \n \"Man.of.Steel.2013.1080p.BluRay.x264.YIFY\"\n ], \n \ \ \"download\": \"/en/subtitles/en-man-of-steel-2013/EMgo/download\", \n\ \ \"flags\": [\n \"hearing_impaired\", \n \"high_definition\"\ \n ], \n \"fps\": \"23.976\", \n \"id\": \"EMgo\", \n \ \ \"language\": \"en\", \n \"movie\": {\n \"aliases\": [\n \ \ \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 44788, \n \"\ characters_per_line\": 24.17053426875337, \n \"downloads\": 25348,\ \ \n \"lines\": 1853, \n \"lines_per_unit\": 1.2579769178547182,\ \ \n \"parts\": 1, \n \"units\": 1473\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/EMgo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 86327, \n \"name\": \"mixi69\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-10-11T15:41:19+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/NLUo/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"NLUo\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33155, \n \"\ characters_per_line\": 25.155538694992412, \n \"downloads\": 1871,\ \ \n \"lines\": 1318, \n \"lines_per_unit\": 1.4233261339092873,\ \ \n \"parts\": 1, \n \"units\": 926\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/NLUo\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T07:37:20+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.[2013].INTERNAL.TS.720p.DIVX.[Eng]-DUQA\\\ u252c\\u00ab\"\n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/uYcm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"uYcm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33194, \n \"\ characters_per_line\": 25.166034874905232, \n \"downloads\": 2924,\ \ \n \"lines\": 1319, \n \"lines_per_unit\": 1.4213362068965518,\ \ \n \"parts\": 1, \n \"units\": 928\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/uYcm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-12T01:31:40+00:00\", \n \"\ custom_releases\": [\n \"Superman.Man.of.Steel.2013.480p.R6.LiNE.x264.AAC-DAMN\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/aoYm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"aoYm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33296, \n \"\ characters_per_line\": 25.18608169440242, \n \"downloads\": 11755,\ \ \n \"lines\": 1322, \n \"lines_per_unit\": 1.4199785177228785,\ \ \n \"parts\": 1, \n \"units\": 931\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/aoYm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-09T18:36:51+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.(2013).720p.R6.LiNE.900MB.Ganool\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/XnUm/download\"\ , \n \"flags\": [], \n \"fps\": \"\", \n \"id\": \"XnUm\",\ \ \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 33220, \n \"\ characters_per_line\": 25.18574677786202, \n \"downloads\": 4400, \n\ \ \"lines\": 1319, \n \"lines_per_unit\": 1.4213362068965518,\ \ \n \"parts\": 1, \n \"units\": 928\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/XnUm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-07-06T21:10:22+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.720p.R6.LiNE.x264.AAC-DiGiTAL\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/ZmIm/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"ZmIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 36508, \n \"\ characters_per_line\": 24.338666666666665, \n \"downloads\": 6093,\ \ \n \"lines\": 1500, \n \"lines_per_unit\": 1.5321756894790604,\ \ \n \"parts\": 1, \n \"units\": 979\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/ZmIm\"\n }, \n {\n \"audited\"\ : true, \n \"contributions\": [], \n \"contributor\": {\n \ \ \"id\": 1, \n \"name\": \"Anonymous\", \n \"type\": \"user\"\ \n }, \n \"created\": \"2013-06-24T13:12:30+00:00\", \n \"\ custom_releases\": [\n \"Man.of.Steel.2013.CAM.XviD.MP3.MiLLENiUM\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/whQm/download\"\ , \n \"flags\": [], \n \"fps\": \"25\", \n \"id\": \"whQm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 34169, \n \"\ characters_per_line\": 35.225773195876286, \n \"downloads\": 8072,\ \ \n \"lines\": 970, \n \"lines_per_unit\": 1.0, \n \"\ parts\": 1, \n \"units\": 970\n }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/whQm\"\ \n }, \n {\n \"audited\": true, \n \"contributions\": [],\ \ \n \"contributor\": {\n \"id\": 26933, \n \"name\": \"\ asdasd\", \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-24T05:15:56+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.XViD-CALiBRATE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/8RIm/download\"\ , \n \"flags\": [], \n \"fps\": \"29.97\", \n \"id\": \"8RIm\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"Cleaned and carefully\ \ edited. Better than the rest.\", \n \"num_cds\": 1, \n \"rejected\"\ : null, \n \"releases\": [], \n \"state\": \"\", \n \"stats\"\ : {\n \"characters\": 34166, \n \"characters_per_line\": 35.25902992776058,\ \ \n \"downloads\": 5247, \n \"lines\": 969, \n \"lines_per_unit\"\ : 0.9989690721649485, \n \"parts\": 1, \n \"units\": 970\n \ \ }, \n \"url\": \"/en/subtitles/en-man-of-steel-2013/8RIm\"\n \ \ }, \n {\n \"audited\": true, \n \"contributions\": [], \n\ \ \"contributor\": {\n \"id\": 7718, \n \"name\": \"jdinic3\"\ , \n \"type\": \"user\"\n }, \n \"created\": \"2013-06-21T10:08:43+00:00\"\ , \n \"custom_releases\": [\n \"Man.Of.Steel.2013.CAM.NEW.AUDiO.XViD-JUSTiCE\"\ \n ], \n \"download\": \"/en/subtitles/en-man-of-steel-2013/Nv0l/download\"\ , \n \"flags\": [], \n \"fps\": \"23.976\", \n \"id\": \"Nv0l\"\ , \n \"language\": \"en\", \n \"movie\": {\n \"aliases\"\ : [\n \"\\u010covjek od \\u010delika\", \n \"L'uomo d'acciaio\"\ , \n \"Jekleni mo\\u017e\", \n \"El hombre de acero\", \n\ \ \"\\u010covek od \\u010delika\"\n ], \n \"episode_info\"\ : null, \n \"id\": \"WIk\", \n \"posters\": {\n \"\ inline\": \"/thumbnails/moviedb/inline/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"normal\": \"/thumbnails/moviedb/normal/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"small\": \"/thumbnails/moviedb/small/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ , \n \"title\": \"/thumbnails/moviedb/title/0e/30/30/30/da/f3/1a01e5cf452882d958f9/WIk.jpg\"\ \n }, \n \"providers\": [\n \"imdb:0770828\", \n \ \ \"omdb:_ngG\"\n ], \n \"slug\": \"man-of-steel-2013\"\ , \n \"title\": \"Man of Steel\", \n \"type\": \"movie\", \n\ \ \"year\": 2013\n }, \n \"notes\": \"\", \n \"num_cds\"\ : 1, \n \"rejected\": null, \n \"releases\": [], \n \"state\"\ : \"\", \n \"stats\": {\n \"characters\": 31878, \n \"\ characters_per_line\": 29.219065077910173, \n \"downloads\": 10623,\ \ \n \"lines\": 1091, \n \"lines_per_unit\": 1.0036798528058877,\ \ \n \"parts\": 1, \n \"units\": 1087\n }, \n \"url\"\ : \"/en/subtitles/en-man-of-steel-2013/Nv0l\"\n }\n ], \n \"page\": 1,\ \ \n \"per_page\": 50, \n \"status\": \"ok\"\n}" headers: connection: - keep-alive content-length: - '24224' content-type: - application/json date: - Sat, 09 May 2020 10:24:40 GMT server: - nginx status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6821811 subliminal-2.2.0/tests/cassettes/tmdb/0000755000175100001770000000000014636376432017363 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_get_movie_id.yaml0000644000175100001770000002766414636376416023761 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Man+of+Steel&language=en-US&page=1 response: body: string: "{\"page\":1,\"results\":[{\"adult\":false,\"backdrop_path\":\"/4oYBCR2CWtKpfkOKCzpmlE5EdxY.jpg\",\"genre_ids\":[28,12,878],\"id\":49521,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind.\",\"popularity\":95.663,\"poster_path\":\"/dksTL9NXc3GqPBRHYHcy1aIwjS.jpg\",\"release_date\":\"2013-06-12\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":6.623,\"vote_count\":14763},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[18],\"id\":334166,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"Jeff Forbes, president of Alliance Steel, takes his wife and son Kevin on a trip to the Yukon for a hunting trip with \\\"utterly godless\\\" drunkard Klondike Joe. But - surprise! - Klondike Joe is no longer a drunk. Instead, he\u2019s been \\\"converted by this BARRY MOORE fellow,\\\" a real-life evangelist who \\\"transformed\\\" Joe and now starts on Jeff and Kevin. Sure enough, not only does Jeff start reading the Bible, but loses interest in the company because he\u2019s \\\"had a transforming experience with Jesus Christ!\\\" Kevin, on the other hand, becomes a teenage drunk after his white-trash girlfriend Dana tries to lure him away from religion with parties and \xAD gasp! - bottles of beer. But when one of Kevin\u2019s drunken buddies puts on a dress and falls off the roof of a house, Kevin wants to take Dana to Barry\u2019s Big Crusade.\",\"popularity\":0.875,\"poster_path\":\"/4b3PEKi1yJLXriRjGfzo2mz7STx.jpg\",\"release_date\":\"1967-03-25\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":1.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[14,18,10751,10749],\"id\":319179,\"original_language\":\"nl\",\"original_title\":\"Man van staal\",\"overview\":\"A romantic and funny coming-of-age story. Victor, a 13-year-old boy, is desperately looking for his First Kiss. When that First Kiss comes too close, Victor seeks refuge in his imagination, becoming the Man of Steel who has no emotions, because tears will make him rust. But no Man of Steel can resist Fania, a 13-year-old girl, for very long.\",\"popularity\":3.579,\"poster_path\":\"/dYcPrJVm5twFb0TvOY19LBS5WX6.jpg\",\"release_date\":\"1999-10-13\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":3.8,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,36],\"id\":685611,\"original_language\":\"en\",\"original_title\":\"Stalin: Man of Steel\",\"overview\":\"Emmy Awards nominee for \\\"Outstanding Individual Achievement in a Craft: Research: Multi-faceted portrait of the man who succeeded Lenin as the head of the Soviet Union. With a captivating blend of period documents, newly-released information, newsreel and archival footage and interviews with experts, the program examines his rise to power, deconstructs the cult of personality that helped him maintain an iron grip over his vast empire, and analyzes the policies he introduced, including the deadly expansion of the notorious gulags where he banished so many of his countrymen to certain death.\",\"popularity\":3.102,\"poster_path\":\"/54AMJ8hdITnrbzvjfs6Fkqk4xXD.jpg\",\"release_date\":\"2003-01-01\",\"title\":\"Stalin: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,35,10770],\"id\":464654,\"original_language\":\"en\",\"original_title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"overview\":\"A humourous telling of the history of the comic book superhero.\",\"popularity\":8.046,\"poster_path\":\"/kkifsxOe4jDrpEdfA7DkcWKgTMA.jpg\",\"release_date\":\"1988-02-29\",\"title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"video\":false,\"vote_average\":7.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/eC5uZFXwFHPecN210kkCXUDdm2t.jpg\",\"genre_ids\":[99],\"id\":919038,\"original_language\":\"en\",\"original_title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"overview\":\"George Stephanopoulos sits down with former MI6 spy Christopher Steele for a worldwide exclusive interview, marking his first interview since the publication of the series of intelligence reports now known as the Steele dossier.\",\"popularity\":1.853,\"poster_path\":\"/7ZZgZxc6wlULPM5QMKxgBZEEZI2.jpg\",\"release_date\":\"2021-10-18\",\"title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"video\":false,\"vote_average\":4.5,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1097217,\"original_language\":\"en\",\"original_title\":\"The Man of Steel\",\"overview\":\"A look back at the boxing career of Tony Zale who rose from the steel mills of Indiana to become the middleweight champion of the world.\",\"popularity\":1.246,\"poster_path\":\"/1JlDy9c9lVEa9EGvu4zTNeNSvyr.jpg\",\"release_date\":\"2022-08-10\",\"title\":\"The Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":543138,\"original_language\":\"en\",\"original_title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"overview\":\"Copperhead is caught in the crushing grip of The Robot.\",\"popularity\":0.108,\"poster_path\":\"/8bRZlUWOmjx258VHPYWHGWWu8fy.jpg\",\"release_date\":\"1940-12-05\",\"title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1276700,\"original_language\":\"en\",\"original_title\":\"Richard Serra: Man of Steel\",\"overview\":\"Sculptor and giant of modern art Richard Serra discusses his extraordinary life and work. A creator of enormous, immediately identifiable steel sculptures that both terrify and mesmerise, Serra believes that each viewer creates the sculpture for themselves by being within it. \ To this end, a Japanese family are reminded of the Temples of Kyoto, a Londoner finds sanctuary in the Serra near Liverpool Street station, and most movingly, a Holocaust survivor sees one piece as a wall separating the living from the dead. Contributors include Chuck Close, Philip Glass and Glenn D Lowry, Director of MoMA.\",\"popularity\":0.61,\"poster_path\":null,\"release_date\":\"2008-11-25\",\"title\":\"Richard Serra: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/hQeTECSZlww14OBOTh8dpnmjeJw.jpg\",\"genre_ids\":[99],\"id\":543195,\"original_language\":\"en\",\"original_title\":\"World War Two: 1941 and the Man of Steel\",\"overview\":\"This is an interesting documentary about Stalin, his rise to power, and the invasion of the USSR by Germany in WWII. It's split into two parts, the first a general overview of the early history. The second part is the details of WWII and after. David Reynolds does an excellent job of explaining what happened with snippets from diaries, letters and other contemporaneous accounts. Well-assembled historical work.\",\"popularity\":0.664,\"poster_path\":\"/gN3qZenyWftLDX0ZU1RN4eSjBOs.jpg\",\"release_date\":\"2011-06-13\",\"title\":\"World War Two: 1941 and the Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/5fX1oSGuYdKgwWmUTAN5MNSQGzr.jpg\",\"genre_ids\":[28,12,14],\"id\":209112,\"original_language\":\"en\",\"original_title\":\"Batman v Superman: Dawn of Justice\",\"overview\":\"Fearing the actions of a god-like Super Hero left unchecked, Gotham City\u2019s own formidable, forceful vigilante takes on Metropolis\u2019s most revered, modern-day savior, while the world wrestles with what sort of hero it really needs. And with Batman and Superman at war with one another, a new threat quickly arises, putting mankind in greater danger than it\u2019s ever known before.\",\"popularity\":87.987,\"poster_path\":\"/5UsK3grJvtQrtzEgqNlDljJW96w.jpg\",\"release_date\":\"2016-03-23\",\"title\":\"Batman v Superman: Dawn of Justice\",\"video\":false,\"vote_average\":5.966,\"vote_count\":17583},{\"adult\":false,\"backdrop_path\":\"/ojYrDpRiML9himdedd5huAkKGFf.jpg\",\"genre_ids\":[28,18,80],\"id\":92679,\"original_language\":\"zh\",\"original_title\":\"\u4EC7\u9023\u74B0\",\"overview\":\"Man of Iron was positioned as something of a follow-up to Boxer From Shantung, the rise-and-fall story of Ma Yung Chen and it reunites the directors and some of the cast in a similar but much slighter tale of a lesser gangster's rise and fall in Shanghai. While the opening narration specifically recalls the events and tragic conclusion of BOXER, this one is set 20 years later in the same section of Shanghai but otherwise has nothing to do with the events or characters of the previous film.\",\"popularity\":5.462,\"poster_path\":\"/olnMdMunyQzZdizsH8hlAObhTJk.jpg\",\"release_date\":\"1972-10-13\",\"title\":\"Man of Iron\",\"video\":false,\"vote_average\":6.286,\"vote_count\":7},{\"adult\":false,\"backdrop_path\":\"/1r572PNdY4MoVn6lMGdcahFrajL.jpg\",\"genre_ids\":[37],\"id\":138138,\"original_language\":\"es\",\"original_title\":\"L'uomo dalla pistola d'oro\",\"overview\":\"Doc McGregor, former surgeon become player, is wrongly accused of murder and pursued by Slade, a bounty hunter. In his escape he finds Larry Kitchener's corpse and decides to impersonate him. But his problems get worse as Kitchener was a famous gunslinger hired as sheriff for the people from Baldosas to stop Reyes, a Mexican bandit who has terrorized them.\",\"popularity\":5.878,\"poster_path\":\"/3FqujMYtDSsAcnjkf4J2LrhkDD6.jpg\",\"release_date\":\"1965-12-07\",\"title\":\"Doc, Hands of Steel\",\"video\":false,\"vote_average\":5.75,\"vote_count\":5}],\"total_pages\":1,\"total_results\":13}" headers: Age: - '554' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=8597 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:57 GMT ETag: - W/"cba402e4a530e0861c248add3217fba6" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 55f14075e1cb487de38b7e615fd21a96.cloudfront.net (CloudFront) X-Amz-Cf-Id: - O7u4k0Ky_-HuSrxJZkRXTp9Fzndn1rmwKCkNvCie5BQMG2r_zZYBYw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '17932' x-memc-expires: - '8597' x-memc-key: - 58015024cad18b088f714b2f76f51c12 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_get_movie_id_failed.yaml0000644000175100001770000000275214636376416025254 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Meen+of+Stal&language=en-US&page=1 response: body: string: '{"page":1,"results":[],"total_pages":1,"total_results":0}' headers: Age: - '554' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=27805 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:58 GMT ETag: - W/"0e23279b004381f72a34159d5c7dfd1f" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 191181f299c93f856cc1cdad79c1bb76.cloudfront.net (CloudFront) X-Amz-Cf-Id: - V9o1TiAQ2rGaWO6uYNDvUEzZdh4gIlDtNkJ6ayWGtNsT54tJmoH0kw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - MISS, STORE x-memc-age: - '0' x-memc-expires: - '27805' x-memc-key: - 48dfe98b26252d07dc935cf15aba5cd0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_get_series_id.yaml0000644000175100001770000000466414636376416024127 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=The+Big+Bang+Theory&language=en-US&page=1 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/7RySzFeK3LPVMXcPtqfZnl6u4p1.jpg","genre_ids":[35],"id":1418,"origin_country":["US"],"original_language":"en","original_name":"The Big Bang Theory","overview":"Physicists Leonard and Sheldon find their nerd-centric social circle with pals Howard and Raj expanding when aspiring actress Penny moves in next door.","popularity":845.1,"poster_path":"/ooBGRQBdbGzBxAVfExiO8r7kloA.jpg","first_air_date":"2007-09-24","name":"The Big Bang Theory","vote_average":7.896,"vote_count":10910},{"adult":false,"backdrop_path":null,"genre_ids":[35],"id":239645,"origin_country":["US"],"original_language":"en","original_name":"Untitled ''The Big Bang Theory'' spinoff","overview":"This will be a spinoff for the popular TV series \"The Big Bang Theory\".","popularity":1.839,"poster_path":null,"first_air_date":"","name":"Untitled ''The Big Bang Theory'' spinoff","vote_average":0.0,"vote_count":0}],"total_pages":1,"total_results":2}' headers: Age: - '799' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=24165 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:58 GMT ETag: - W/"e893d04fd9263f507384818375d22587" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 56d84f665e9029878cb3adcd83a21026.cloudfront.net (CloudFront) X-Amz-Cf-Id: - RPtTpppplH6see2lJZizTxiZ2DikVdqYv5519i5L1YVaVEODLm7Q9g== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '3225' x-memc-expires: - '24165' x-memc-key: - c709f17d5f15d43bc80cad8e740ddd85 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_get_series_wrong_id.yaml0000644000175100001770000000275614636376416025343 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=The+Bing+Bag+Theory&language=en-US&page=1 response: body: string: '{"page":1,"results":[],"total_pages":1,"total_results":0}' headers: Age: - '799' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=27356 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:59 GMT ETag: - W/"0e23279b004381f72a34159d5c7dfd1f" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - raGQBM-D0Rm984z6dXWiu6T_vLnMuPlRFtecdJ25X1chOHL9luWNIw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - MISS, STORE x-memc-age: - '0' x-memc-expires: - '27356' x-memc-key: - 29c3efb0f62926bde22e547ff2b93c92 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode.yaml0000644000175100001770000005312714636376416024300 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=the+big+bang+theory&language=en-US&page=1 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/7RySzFeK3LPVMXcPtqfZnl6u4p1.jpg","genre_ids":[35],"id":1418,"origin_country":["US"],"original_language":"en","original_name":"The Big Bang Theory","overview":"Physicists Leonard and Sheldon find their nerd-centric social circle with pals Howard and Raj expanding when aspiring actress Penny moves in next door.","popularity":845.1,"poster_path":"/ooBGRQBdbGzBxAVfExiO8r7kloA.jpg","first_air_date":"2007-09-24","name":"The Big Bang Theory","vote_average":7.896,"vote_count":10910},{"adult":false,"backdrop_path":null,"genre_ids":[35],"id":239645,"origin_country":["US"],"original_language":"en","original_name":"Untitled ''The Big Bang Theory'' spinoff","overview":"This will be a spinoff for the popular TV series \"The Big Bang Theory\".","popularity":1.839,"poster_path":null,"first_air_date":"","name":"Untitled ''The Big Bang Theory'' spinoff","vote_average":0.0,"vote_count":0}],"total_pages":1,"total_results":2}' headers: Age: - '20979' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=24164 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:59 GMT ETag: - W/"e893d04fd9263f507384818375d22587" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 4e377930336336044756fe22e35ac02a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - KypyC5mU6G0B6BJkVenxET08jygKjoc0yDq8VNjzI5ORwI9lMbpzDw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '3226' x-memc-expires: - '24164' x-memc-key: - c709f17d5f15d43bc80cad8e740ddd85 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/1418?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: "{\"adult\":false,\"backdrop_path\":\"/7RySzFeK3LPVMXcPtqfZnl6u4p1.jpg\",\"created_by\":[{\"id\":160172,\"credit_id\":\"5256d00719c2956ff60a3d0e\",\"name\":\"Chuck Lorre\",\"original_name\":\"Chuck Lorre\",\"gender\":2,\"profile_path\":\"/8OTRD3d6N0GKy1Z0LJaWZ3MVxXr.jpg\"},{\"id\":163528,\"credit_id\":\"5256d00719c2956ff60a3d14\",\"name\":\"Bill Prady\",\"original_name\":\"Bill Prady\",\"gender\":2,\"profile_path\":\"/voM7AngVEko9ZzNFuv0F53AMTzu.jpg\"}],\"episode_run_time\":[22],\"first_air_date\":\"2007-09-24\",\"genres\":[{\"id\":35,\"name\":\"Comedy\"}],\"homepage\":\"http://www.cbs.com/shows/big_bang_theory/\",\"id\":1418,\"in_production\":false,\"languages\":[\"en\"],\"last_air_date\":\"2019-05-16\",\"last_episode_to_air\":{\"id\":2767846,\"overview\":\"Johnny Galecki and Kaley Cuoco will lead fans on a trip down memory lane, sharing some of the best-kept backstage secrets and personal memories from the past 12 years.\",\"name\":\"Unraveling the Mystery: A Big Bang Farewell\",\"vote_average\":7.929,\"vote_count\":14,\"air_date\":\"2019-05-16\",\"episode_number\":24,\"episode_type\":\"standard\",\"production_code\":\"T12.16024\",\"runtime\":20,\"season_number\":12,\"show_id\":1418,\"still_path\":\"/eaC2VG6Iy63vIor6mfOfCZTDw3g.jpg\"},\"name\":\"The Big Bang Theory\",\"next_episode_to_air\":null,\"networks\":[{\"id\":16,\"logo_path\":\"/wju8KhOUsR5y4bH9p3Jc50hhaLO.png\",\"name\":\"CBS\",\"origin_country\":\"US\"}],\"number_of_episodes\":279,\"number_of_seasons\":12,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"The Big Bang Theory\",\"overview\":\"Physicists Leonard and Sheldon find their nerd-centric social circle with pals Howard and Raj expanding when aspiring actress Penny moves in next door.\",\"popularity\":845.1,\"poster_path\":\"/ooBGRQBdbGzBxAVfExiO8r7kloA.jpg\",\"production_companies\":[{\"id\":35504,\"logo_path\":\"/e70DaugzSRbTbVEhZV3e1nCofcY.png\",\"name\":\"Chuck Lorre Productions\",\"origin_country\":\"US\"},{\"id\":1957,\"logo_path\":\"/pJJw98MtNFC9cHn3o15G7vaUnnX.png\",\"name\":\"Warner Bros. Television\",\"origin_country\":\"US\"}],\"production_countries\":[{\"iso_3166_1\":\"US\",\"name\":\"United States of America\"}],\"seasons\":[{\"air_date\":null,\"episode_count\":3,\"id\":3732,\"name\":\"Specials\",\"overview\":\"\",\"poster_path\":\"/xYQmc24Gcew5tt5fCA3IDgiOevE.jpg\",\"season_number\":0,\"vote_average\":0.0},{\"air_date\":\"2007-09-24\",\"episode_count\":17,\"id\":3738,\"name\":\"Season 1\",\"overview\":\"University physicists Leonard and Sheldon know whether to use an integral or a differential to solve the area under a curve. But they don't have a clue about girls. Or dating. Or clothes. Or parties. Or having fun. Or, basically, life. So when a pretty blonde named Penny moves in the apartment across the hall, the guys decide to get an education outside of the classroom. Boys, you have a lot to learn.\",\"poster_path\":\"/zqAL2rav7Tg8uwDtLurqZVN3mtr.jpg\",\"season_number\":1,\"vote_average\":7.3},{\"air_date\":\"2008-09-22\",\"episode_count\":23,\"id\":3733,\"name\":\"Season 2\",\"overview\":\"This season, Leonard gets a girl. So does Sheldon. Howard drives the Mars Rover into a ditch. Raj woos a terminator. Gorgeous girl-next-door Penny falls under the spell of Age of Conan. And super-smart, ueberconfident Leslie Winkler reduces mere men to spineless jellyfish.\",\"poster_path\":\"/2NBwUBZ4clwj6qO9fBinfxiB0dR.jpg\",\"season_number\":2,\"vote_average\":7.4},{\"air_date\":\"2009-09-21\",\"episode_count\":23,\"id\":3734,\"name\":\"Season 3\",\"overview\":\"Worlds collide in Season 3! A love affair with Penny has opened a big, wide, wonderful world of romance for Leonard. But Sheldon likes the world just the way it was, thank you. All of which makes for a zany comic triangle with brainy, clueless Sheldon and practical, grounded Penny hilariously vying for the role of hypotenuse.\",\"poster_path\":\"/j64iUb52W2IYE9qV9pLi5tFq8IE.jpg\",\"season_number\":3,\"vote_average\":7.5},{\"air_date\":\"2010-09-23\",\"episode_count\":24,\"id\":3735,\"name\":\"Season 4\",\"overview\":\"This season the Big Bang gang\u2019s romantic universe expands. On the rebound from Penny, Leonard falls into the arms of Raj\u2019s sister Priya. Sheldon gets a girlfriend, or rather a friend who is a girl: Amy, a dour neurobiologist who declares herself besties with Penny. Howard and Bernadette heat up. And so do Raj and Bernadette (at least in Raj\u2019s Bollywood daydream).\",\"poster_path\":\"/hM2TYCmOVXop1xhLA1Mbqyg60ze.jpg\",\"season_number\":4,\"vote_average\":7.3},{\"air_date\":\"2011-09-22\",\"episode_count\":24,\"id\":3736,\"name\":\"Season 5\",\"overview\":\"In season five, Penny and Leonard's relationship is relaunched in full \\\"beta test\\\" mode, while Sheldon, Howard, and Raj discover the feminine mystique is something that cannot be easily graphed or calculated. As Sheldon makes begrudging amendments to his \\\"Relationship Agreement\\\" with his \\\"friend-who-happens-to-be-a-girl\\\" Amy Farrah Fowler, Raj contemplates an arranged marriage, and Howard is all-systems-go for both is NASA space launch and wedding to the spirited Bernadette.\",\"poster_path\":\"/l08Z8ihAsTRPEuOehbwk4axg3cu.jpg\",\"season_number\":5,\"vote_average\":7.2},{\"air_date\":\"2012-09-27\",\"episode_count\":24,\"id\":3737,\"name\":\"Season 6\",\"overview\":\"Whether on or above Earth, hilarity is outrageously universal in TV's most popular comedy featuring four forward-thinking but socially backward geniuses. Fun discoveries multiply: Leonard learns jealousy is bad for a relationship (with Penny) but science is good for seduction (of Penny). Howard finds life in the International Space Station life is no escape from terrestrial turmoil between his mom and his new wife Bernadette. Raj meets someone special who may be a good match, if he can keep her from fleeing mid-date. And then there's Sheldon. He learns what not to say after facing harassment charges or competing for tenure at work and how Dungeons & Dragons can be the icebreaker his relationship with Amy needs.\",\"poster_path\":\"/2Rsb94mlt4OHhiO2UWatDOhnBqv.jpg\",\"season_number\":6,\"vote_average\":7.4},{\"air_date\":\"2013-09-26\",\"episode_count\":24,\"id\":3739,\"name\":\"Season 7\",\"overview\":\"Leonard returns from his North Sea expedition to find that his relationship with Penny involves more beta-testing than he\u2019s ever done in a lab. Howard\u2019s attachment issues with the women in his life in particular and Raj\u2019s social breakthrough with women in general provide more laughs. Bernadette and Amy stand staunchly by the men in their life, even when they\u2019re sitting in marathon role-playing games. Sheldon sees his mom in a totally different way, parties with James Earl Jones, establishes a (sort of) bond with his idol Professor Proton and makes a scientific breakthrough that breaks down before you can say Science Friday.\",\"poster_path\":\"/e0qyw3fMp7HDIA3dtCkaQD18Ra9.jpg\",\"season_number\":7,\"vote_average\":7.4},{\"air_date\":\"2014-09-22\",\"episode_count\":24,\"id\":62016,\"name\":\"Season 8\",\"overview\":\"Sheldon is rescued from his soul-searching cross-country train trip (older but no wiser) and that means The Big Bang Theory gang's all here to spread another gear's cheer as TV's most attended laugh seminar. Enrol in the comic curriculum to observe Leonard's minor surgery, which signals a major catastrophe for Sheldon, Howard's obsession over his mum's relationship with friend-turned-freeloader Stuart and the unexpected results of Penny's technique as a pharmaceutical sales rep. Discover ways to re-create proms not attended or holiday celebrations not especially beloved and play a new game based on Raj's dating life. Savour online fan Fiction by Amy, watch Bernadette take indelicate command of some delicate family matters and, who knows, you might spot a cool special guest or two.\",\"poster_path\":\"/zwb4rlgJg587XcL2cekvNDnqPpq.jpg\",\"season_number\":8,\"vote_average\":7.1},{\"air_date\":\"2015-09-21\",\"episode_count\":24,\"id\":70493,\"name\":\"Season 9\",\"overview\":\"Our two genius roommates, Leonard and Sheldon, and their friends are back once again (smarter, but no wiser). Last season, Sheldon went soul-searching (on a train, of course) and was prepared to make some substantial revisions on his Relationship Agreement with Amy, when everything changed. Leonard, meanwhile, was off to Vegas with Penny to finally tie the knot in the season finale. Howard finds himself alone with Bernadette after the sudden passing of his mother; while Raj is not only talking to women \u2013 he\u2019s getting exclusive with Emily. Together, they will all learn that life is far more complicated outside of the lab as love and friendship never produce predictable results!\",\"poster_path\":\"/uCuUJMzTZgDlpyfnKE9o6VKhyZt.jpg\",\"season_number\":9,\"vote_average\":7.3},{\"air_date\":\"2016-09-19\",\"episode_count\":24,\"id\":80035,\"name\":\"Season 10\",\"overview\":\"Leonard and Penny renew their vows, this time inviting their friends and family for wedding party; they also learn that marriage is about compromise, and figure out how to support each other. Sheldon and Amy experiment to take their relationship to the next level, and after an emotional struggle they move in together in Penny's old apartment. Howard and Bernadette realise that being a parent is a full-time job, but with the help of their friends they manage to find joy in raising their child. When his friends tell him he's extremely spoiled, Raj decides to stop taking his father's money and learn how to make ends meet.\",\"poster_path\":\"/dz2Mq1bpjBFiTOJbomCEP59kqJV.jpg\",\"season_number\":10,\"vote_average\":6.9},{\"air_date\":\"2017-09-25\",\"episode_count\":24,\"id\":91000,\"name\":\"Season 11\",\"overview\":\"After years of only looking out for himself, Sheldon found Amy Farrah Fowler to be the most patient woman to ever walk the earth, and... they did it! Wedding fever continues in season 11.\",\"poster_path\":\"/A373F7AzZtIFy3l2LryC2yr2hC2.jpg\",\"season_number\":11,\"vote_average\":6.9},{\"air_date\":\"2018-09-24\",\"episode_count\":24,\"id\":107083,\"name\":\"Season 12\",\"overview\":\"Best friends and brilliant physicists Leonard Hofstadter and Sheldon Cooper are geniuses in the lab but socially challenge outside of it. Despite this, Leonard married his beautiful, street-smart neighbour, Penny. And Sheldon, after a long courtship, wed successful neurobiologist Amy. And while aerospace engineer Howard and his adorable microbiologist wife, Bernadette, explore the predicament of being married with two kids, astrophysicist Raj considers a traditional arranged marriage. As the supersmart friends solve quotidian conundrums posed by academia. Family crises and video games, their experiments in domestic bliss never fail to produce hilarious results. But all good theories arrive at a conclusion. The twelfth and final season of \\\"television's perpetual laughter continuum comprises\\\" 24 supercharged episodes that take comedy to the next dimension...and beyond.\",\"poster_path\":\"/txta7TTNUfGCgsJI9oB6vb6uFlA.jpg\",\"season_number\":12,\"vote_average\":7.0}],\"spoken_languages\":[{\"english_name\":\"English\",\"iso_639_1\":\"en\",\"name\":\"English\"}],\"status\":\"Ended\",\"tagline\":\"Smart is the new sexy.\",\"type\":\"Scripted\",\"vote_average\":7.896,\"vote_count\":10910,\"external_ids\":{\"imdb_id\":\"tt0898266\",\"freebase_mid\":\"/m/02r5qtm\",\"freebase_id\":\"/en/the_big_bang_theory\",\"tvdb_id\":80379,\"tvrage_id\":8511,\"wikidata_id\":\"Q8539\",\"facebook_id\":\"TheBigBangTheory\",\"instagram_id\":\"bigbangtheory_cbs\",\"twitter_id\":\"bigbangtheory\"}}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=16362 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:38 GMT ETag: - W/"e4eedf8a88fb927a7f916f0995db79c1" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - BFpys6wSqH6bdKoU6BwsTsmd0lJRgkr1cy8W8DtPfZJHVY7MFkYCMQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/1418/season/7/episode/5?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"air_date":"2013-10-17","crew":[{"job":"Associate Producer","department":"Production","credit_id":"558817999251416818001b19","adult":false,"gender":2,"id":1480275,"known_for_department":"Production","name":"Robinson Green","original_name":"Robinson Green","popularity":5.112,"profile_path":null},{"job":"Story","department":"Writing","credit_id":"558b24b9c3a3687e5f00046e","adult":false,"gender":2,"id":1224134,"known_for_department":"Writing","name":"Steve Holland","original_name":"Steve Holland","popularity":6.571,"profile_path":"/m7FIFJs5ZP2DOSqg7HtLKG0zLvB.jpg"},{"job":"Story","department":"Writing","credit_id":"525f43f1760ee3334506faeb","adult":false,"gender":2,"id":1224133,"known_for_department":"Writing","name":"Steven Molaro","original_name":"Steven Molaro","popularity":9.338,"profile_path":"/2NZtxlNz5IWS1XoC0MdeBdkUZ5l.jpg"},{"job":"Director","department":"Directing","credit_id":"5256cfbe19c2956ff60a0548","adult":false,"gender":2,"id":1212114,"known_for_department":"Directing","name":"Mark Cendrowski","original_name":"Mark Cendrowski","popularity":10.415,"profile_path":null},{"job":"Story","department":"Writing","credit_id":"55880b27c3a3682746007b21","adult":false,"gender":1,"id":1222187,"known_for_department":"Production","name":"Maria Ferrari","original_name":"Maria Ferrari","popularity":9.97,"profile_path":"/u7ktJ29oqkAe3Vl85uZI3eOJbKD.jpg"},{"job":"Teleplay","department":"Writing","credit_id":"525f43c8760ee3334907245d","adult":false,"gender":2,"id":1224139,"known_for_department":"Writing","name":"Jim Reynolds","original_name":"Jim Reynolds","popularity":7.01,"profile_path":"/rESrWTeONwpBNxr3m34Z5g0I93Q.jpg"},{"job":"Teleplay","department":"Writing","credit_id":"5451d2930e0a2639fe005f2d","adult":false,"gender":2,"id":1217231,"known_for_department":"Writing","name":"Eric Kaplan","original_name":"Eric Kaplan","popularity":11.654,"profile_path":"/dbZP4dlUOw4QsZkdEEZLXWDbBM8.jpg"},{"job":"Teleplay","department":"Writing","credit_id":"5597fcf9c3a36855d4001623","adult":false,"gender":2,"id":160172,"known_for_department":"Writing","name":"Chuck Lorre","original_name":"Chuck Lorre","popularity":19.46,"profile_path":"/8OTRD3d6N0GKy1Z0LJaWZ3MVxXr.jpg"},{"job":"Story Editor","department":"Writing","credit_id":"59b7ebc7c3a36815cc00f74f","adult":false,"gender":1,"id":581616,"known_for_department":"Writing","name":"Tara Hernandez","original_name":"Tara Hernandez","popularity":9.909,"profile_path":"/yHGB8rxK4Py5wdWAIpvrCowkRal.jpg"},{"job":"Production Coordinator","department":"Production","credit_id":"5ba93c6dc3a3680e4d0627ca","adult":false,"gender":2,"id":1480278,"known_for_department":"Production","name":"Justin D. Hetzel","original_name":"Justin D. Hetzel","popularity":1.734,"profile_path":null},{"job":"Unit Production Manager","department":"Production","credit_id":"5ba2567b925141108901ac7e","adult":false,"gender":0,"id":1585781,"known_for_department":"Production","name":"Jay O''Connell","original_name":"Jay O''Connell","popularity":3.951,"profile_path":null},{"job":"Executive Story Editor","department":"Writing","credit_id":"5bbb9d440e0a266615002803","adult":false,"gender":2,"id":1480277,"known_for_department":"Writing","name":"Anthony Del Broccolo","original_name":"Anthony Del Broccolo","popularity":3.56,"profile_path":null}],"episode_number":5,"guest_stars":[{"character":"Dr. Gunderson","credit_id":"563df3269251417fa9002e1f","order":583,"adult":false,"gender":2,"id":162925,"known_for_department":"Acting","name":"Todd Eric Andrews","original_name":"Todd Eric Andrews","popularity":6.905,"profile_path":"/9aIEnzEksBFqF9IUbATayOQQJ94.jpg"},{"character":"Scientist","credit_id":"563df356c3a3681b5202a5c9","order":584,"adult":false,"gender":1,"id":218715,"known_for_department":"Acting","name":"Ayumi Iizuka","original_name":"Ayumi Iizuka","popularity":9.599,"profile_path":"/7rhFQhLFJyCTCboLcJ2UUYfOeKi.jpg"}],"name":"The Workplace Proximity","overview":"Amy starts working at Caltech which causes friction with Sheldon. Howard agrees with Sheldon who mentions this to Bernadette causing a big fight for the Wolowitzes.","id":64782,"production_code":"4X5305","runtime":19,"season_number":7,"still_path":"/k8atjbd5gAsntuhbPnFpvnvo0qn.jpg","vote_average":7.329,"vote_count":35,"external_ids":{"imdb_id":"tt3229392","freebase_mid":"/m/0xmbxl0","freebase_id":null,"tvdb_id":4668379,"tvrage_id":null,"wikidata_id":"Q51477528"}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=13497 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:38 GMT ETag: - W/"54c20cc9a6426b476fa638d58dc3d821" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 8b0fd9a74745a3290a9c7ffef7d75076.cloudfront.net (CloudFront) X-Amz-Cf-Id: - ZOY1KEcZeTNoUlL5NyJ7SBIx02J_TYsJ-ynoh4ZNq28otEMyOeCK0A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_original_series.yaml0000644000175100001770000006126514636376416027540 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=dallas&language=en-US&page=1 response: body: string: "{\"page\":1,\"results\":[{\"adult\":false,\"backdrop_path\":\"/5Z40OJgNeedcAgqPRTGQzlk17Mv.jpg\",\"genre_ids\":[10766,18,10751],\"id\":40,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas\",\"overview\":\"The world's first mega-soap, and one of the most popular ever produced, Dallas had it all. Beautiful women, expensive cars, and men playing Monopoly with real buildings. Famous for one of the best cliffhangers in TV history, as the world asked \\\"Who shot J.R.?\\\" A slow-burner to begin with, Dallas hit its stride in the 2nd season, with long storylines and expert character development. Dallas ruled the airwaves in the 1980's.\",\"popularity\":1610.815,\"poster_path\":\"/w8Frf2mO0DUVHmSRJWJWldntKCt.jpg\",\"first_air_date\":\"1978-04-02\",\"name\":\"Dallas\",\"vote_average\":6.634,\"vote_count\":187},{\"adult\":false,\"backdrop_path\":\"/xCyr9ay1lMgkA6HV2ugiWIFQtiR.jpg\",\"genre_ids\":[18],\"id\":37759,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas\",\"overview\":\"J.R., Bobby and Sue Ellen Ewing are all back at Southfork, with plenty of secrets, schemes and betrayals in mind. This time, they're joined by the next generation of Ewings, who take ambition and deception to a new level.\",\"popularity\":143.924,\"poster_path\":\"/c76QP3y5PnZ5L1wUvRDqUuP2bd.jpg\",\"first_air_date\":\"2012-06-13\",\"name\":\"Dallas\",\"vote_average\":6.9,\"vote_count\":63},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[10767,35],\"id\":23331,\"origin_country\":[\"DE\"],\"original_language\":\"de\",\"original_name\":\"Dall-As\",\"overview\":\"\",\"popularity\":18.402,\"poster_path\":null,\"first_air_date\":\"1985-01-19\",\"name\":\"Dall-As\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/bRrm6IOUFc79aIO7lvwtZ2z48sS.jpg\",\"genre_ids\":[10764,99],\"id\":10179,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas Cowboys Cheerleaders: Making the Team\",\"overview\":\"Reality show following the auditioning process and making of the annual Dallas Cowboys Cheerleading Squad.\",\"popularity\":29.668,\"poster_path\":\"/gZSwy6ByE5uY9pHsXVFqAzdobTn.jpg\",\"first_air_date\":\"2006-09-29\",\"name\":\"Dallas Cowboys Cheerleaders: Making the Team\",\"vote_average\":7.7,\"vote_count\":13},{\"adult\":false,\"backdrop_path\":\"/cpi61dxvsgSJM69VbCFj3IyCXaG.jpg\",\"genre_ids\":[10765,16,10759,35,37],\"id\":82561,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas \\u0026 Robo\",\"overview\":\"Sassy space-trucker Dallas and self-proclaimed warrior-poet Robo navigate their way around cannibal bikers, rival space truckers, and vending machine burritos as they try to make a buck in the seedy world of interplanetary big-rigging.\",\"popularity\":24.105,\"poster_path\":\"/h0beh9qn09pmUlZh6uhVxqNtu2I.jpg\",\"first_air_date\":\"2018-05-30\",\"name\":\"Dallas \\u0026 Robo\",\"vote_average\":7.2,\"vote_count\":8},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[10764],\"id\":56545,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas Car Sharks\",\"overview\":\"Car enthusiasts battle one another at automobile auctions, then try to flip their purchases.\",\"popularity\":13.254,\"poster_path\":null,\"first_air_date\":\"2013-07-23\",\"name\":\"Dallas Car Sharks\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":10638,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas SWAT\",\"overview\":\"Dallas SWAT is a reality television show that followed the Dallas, Texas SWAT team. The series ran for 3 seasons starting from 2006 to 2007 and aired on the A\\u0026E Network. It also spawned two spin off shows, Detroit SWAT and Kansas City SWAT. Its popular theme song titled \\\"Behind The Blue\\\" was written and performed by Brooklyn, NY band The Shapes.\",\"popularity\":2.626,\"poster_path\":null,\"first_air_date\":\"2006-01-06\",\"name\":\"Dallas SWAT\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/8l6W3y3G4WxTMa0oOeI7diXJROQ.jpg\",\"genre_ids\":[99,10764],\"id\":252257,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"AMERICA'S SWEETHEARTS: Dallas Cowboys Cheerleaders\",\"overview\":\"Follow the 2023-24 Dallas Cowboys Cheerleaders squad from start to finish \u2014 kicking off at auditions and training camp and continuing all the way through the NFL season.\",\"popularity\":18.41,\"poster_path\":\"/46A4V55nWAVx5IGrUgpabfoUQzD.jpg\",\"first_air_date\":\"2024-06-20\",\"name\":\"AMERICA'S SWEETHEARTS: Dallas Cowboys Cheerleaders\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/2LEWLQ61ERXRffIhFrWfOxFFyil.jpg\",\"genre_ids\":[10764],\"id\":39283,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"The Real Housewives of Dallas\",\"overview\":\"An exclusive look into the glamorous galas, scintillating scandals and enormous egos of a group of women as they navigate the social scene of Dallas\u2019 elite, all while juggling their husbands, boyfriends and families.\",\"popularity\":196.16,\"poster_path\":\"/9QDd7EZgr5cWfyEirSYxVBIjDkS.jpg\",\"first_air_date\":\"2016-04-11\",\"name\":\"The Real Housewives of Dallas\",\"vote_average\":7.1,\"vote_count\":14},{\"adult\":false,\"backdrop_path\":\"/jvK6aHHhADWld1ODQhJ2bb6kwdX.jpg\",\"genre_ids\":[10764],\"id\":68502,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Little Women: Dallas\",\"overview\":\"Follow the adventures of a group of young, vibrant little women living in Dallas. People often stare, but it's not because they're little, it's because they can command a room. The show centers around the ladies' real lives and features true tension and tenderness between a group of loyal - and sometimes disloyal - friends.\",\"popularity\":107.802,\"poster_path\":\"/9vuNXv9qRnNrap0ycJTr97rl10n.jpg\",\"first_air_date\":\"2016-11-02\",\"name\":\"Little Women: Dallas\",\"vote_average\":9.0,\"vote_count\":4},{\"adult\":false,\"backdrop_path\":\"/aPwns11S2vlE8C84TMlVlP5DA47.jpg\",\"genre_ids\":[10764],\"id\":39262,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"The A-List: Dallas\",\"overview\":\"The A-List: Dallas is an American reality television series that aired on Logo. The series, the second entry in Logo's The A-List franchise after The A-List: New York, follows the lives of several gay men and one woman as they traverse the gay scene of Dallas, Texas. The series premiered on October 10, 2011. Logo announced the series was canceled along with The A-List: New York.\",\"popularity\":1.693,\"poster_path\":\"/5A143lkWMWuMBWZxHKwpqRdhNDl.jpg\",\"first_air_date\":\"2011-10-10\",\"name\":\"The A-List: Dallas\",\"vote_average\":5.0,\"vote_count\":3},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":57216,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Police Women of Dallas\",\"overview\":\"Police Women of Dallas is the fourth installment of TLC's Police Women reality documentary series, which follows three police officers and a detective of the Dallas Police Department in Dallas, Texas. Despite not being renewed by TLC, the Oprah Winfrey Network ordered a second season which features three new cast members.\",\"popularity\":0.363,\"poster_path\":\"/7nfNiXP21OMwI3UvDFWnsktjLkS.jpg\",\"first_air_date\":\"2010-10-28\",\"name\":\"Police Women of Dallas\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[10764],\"id\":62220,\"origin_country\":[],\"original_language\":\"en\",\"original_name\":\"Donna Decorates Dallas\",\"overview\":\"Interior designer Donna Moss and her team give credence to the notion that everything's bigger in Texas as they undertake dramatic room makeovers in some of the most fabulous homes in the Dallas area.\",\"popularity\":0.749,\"poster_path\":null,\"first_air_date\":\"2011-11-12\",\"name\":\"Donna Decorates Dallas\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":40250,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Most Eligible Dallas\",\"overview\":\"Most Eligible Dallas is American reality television television series on Bravo that premiered on August 15, 2011. The series follows a clique of friends in Dallas, Texas as they navigate through the local social scene.\",\"popularity\":0.068,\"poster_path\":null,\"first_air_date\":\"2011-08-15\",\"name\":\"Most Eligible Dallas\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":12384,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Sheer Dallas\",\"overview\":\"Sheer Dallas was a 2005 television reality show about the rich and eccentric lives of people in Dallas, Texas. It is aired by the cable network The Learning Channel. Some characters included Steve Kemble, Brooke Webster and Charlie Price. The show was narrated by Larry Hagman, who played J.R. Ewing on Dallas.\",\"popularity\":0.033,\"poster_path\":null,\"first_air_date\":\"\",\"name\":\"Sheer Dallas\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/bFa172o4JUJZExyWPD9dKwilgDA.jpg\",\"genre_ids\":[35,18],\"id\":39302,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"GCB\",\"overview\":\"Amanda Vaughn, once the ultimate high school \\\"mean girl,\\\" is forced to return home in disgrace after her marriage ends in scandal. As Amanda and her teenage kids try to adjust to their new lives, the ladies from her past alternate between sympathy and scheming.\",\"popularity\":47.302,\"poster_path\":\"/cBRvJhjEoVYWqYwTR3P7T6zsVCi.jpg\",\"first_air_date\":\"2012-03-04\",\"name\":\"GCB\",\"vote_average\":6.0,\"vote_count\":31},{\"adult\":false,\"backdrop_path\":\"/jmCk673KA3FU9Cw2a4BK21PukxG.jpg\",\"genre_ids\":[99],\"id\":22356,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas DNA\",\"overview\":\"Dallas DNA is an American television program that premiered on April 28, 2009 on the Investigation Discovery cable channel. It documents the cooperation of the Dallas County, Texas District Attorney Office with several law school innocence programs. A new division, the Conviction Integrity Unit, re-investigates past convictions where DNA testing may either exhonerate or confirm convictions of those now serving time in Texas prisons.\",\"popularity\":0.182,\"poster_path\":\"/bVYdYlPBMt5w38NHUEdrtQ5Ujwk.jpg\",\"first_air_date\":\"2009-04-28\",\"name\":\"Dallas DNA\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[10764],\"id\":80227,\"origin_country\":[],\"original_language\":\"en\",\"original_name\":\"Dallas Cakes\",\"overview\":\"Follow talented, Dallas-based bakers as they conceive, create and deliver incredible, customized confections to their customers.\",\"popularity\":0.856,\"poster_path\":\"/jdWTjgDIi0YCMqAQvAtBsldOWNW.jpg\",\"first_air_date\":\"2018-05-01\",\"name\":\"Dallas Cakes\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":31189,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Dallas Divas \\u0026 Daughters\",\"overview\":\"Dallas Divas \\u0026 Daughters is an American reality television series on the Style Network. The series debuted on October 4, 2009.\",\"popularity\":0.174,\"poster_path\":null,\"first_air_date\":\"2009-10-04\",\"name\":\"Dallas Divas \\u0026 Daughters\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/lydOPPcvfFZfLHRvaOy0Od6lW0M.jpg\",\"genre_ids\":[99,10764],\"id\":69273,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Chasing Cameron\",\"overview\":\"Go behind the scenes with social media sensation Cameron Dallas as he takes his career to the next level on an international tour.\",\"popularity\":21.058,\"poster_path\":\"/zHzW4zoCPcqLRsfZstR36nyCtmU.jpg\",\"first_air_date\":\"2016-12-27\",\"name\":\"Chasing Cameron\",\"vote_average\":4.3,\"vote_count\":6}],\"total_pages\":1,\"total_results\":20}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=23008 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:38 GMT ETag: - W/"fa94c61c3feb711b5ac1c374ec1d05bf" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 42bf01bb5b494f9d7ad3dd5810b5a212.cloudfront.net (CloudFront) X-Amz-Cf-Id: - W-6o9sUCXDOOKRWumtVEb-DyVx4yQRfC0GIbEGhy8e1zYqRez2riww== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront x-memc: - HIT x-memc-age: - '1723' x-memc-expires: - '23008' x-memc-key: - eea138102c3a9e4f2ed4ad3005e827b4 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/40?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"adult":false,"backdrop_path":"/5Z40OJgNeedcAgqPRTGQzlk17Mv.jpg","created_by":[{"id":1212323,"credit_id":"5253328019c295794001e110","name":"David Jacobs","original_name":"David Jacobs","gender":2,"profile_path":"/dZ6kv0kWS1JQ8WtHhuRXPpC7CpC.jpg"}],"episode_run_time":[45],"first_air_date":"1978-04-02","genres":[{"id":10766,"name":"Soap"},{"id":18,"name":"Drama"},{"id":10751,"name":"Family"}],"homepage":"","id":40,"in_production":false,"languages":["en"],"last_air_date":"1991-05-03","last_episode_to_air":{"id":1140882,"overview":"Adam takes J.R. on an It''s A Wonderful Life-esque journey just as Bobby hears a gunshot ring out from J.R.''s room.","name":"Conundrum (2)","vote_average":0.0,"vote_count":0,"air_date":"1991-05-03","episode_number":23,"episode_type":"finale","production_code":"446172B","runtime":45,"season_number":14,"show_id":40,"still_path":"/cx26IMGp9tBYUbhiYWHQaHo0uL6.jpg"},"name":"Dallas","next_episode_to_air":null,"networks":[{"id":16,"logo_path":"/wju8KhOUsR5y4bH9p3Jc50hhaLO.png","name":"CBS","origin_country":"US"}],"number_of_episodes":357,"number_of_seasons":14,"origin_country":["US"],"original_language":"en","original_name":"Dallas","overview":"The world''s first mega-soap, and one of the most popular ever produced, Dallas had it all. Beautiful women, expensive cars, and men playing Monopoly with real buildings. Famous for one of the best cliffhangers in TV history, as the world asked \"Who shot J.R.?\" A slow-burner to begin with, Dallas hit its stride in the 2nd season, with long storylines and expert character development. Dallas ruled the airwaves in the 1980''s.","popularity":1610.815,"poster_path":"/w8Frf2mO0DUVHmSRJWJWldntKCt.jpg","production_companies":[],"production_countries":[{"iso_3166_1":"US","name":"United States of America"}],"seasons":[{"air_date":"2004-11-07","episode_count":1,"id":68617,"name":"Specials","overview":"","poster_path":"/zcLox4M9hzmQnFFlV5E3vEpwXG9.jpg","season_number":0,"vote_average":0.0},{"air_date":"1978-04-02","episode_count":5,"id":59768,"name":"Season 1","overview":"","poster_path":"/3IQ7Zu1Tl80xBqkos9aDyAueaPa.jpg","season_number":1,"vote_average":4.5},{"air_date":"1978-09-23","episode_count":24,"id":71569,"name":"Season 2","overview":"","poster_path":"/r7ROioE4kjmNiYfuGmGam7c7jtP.jpg","season_number":2,"vote_average":0.9},{"air_date":"1979-09-21","episode_count":25,"id":71570,"name":"Season 3","overview":"","poster_path":"/8PMvTeU6h73GVmoZ49kNyz28d04.jpg","season_number":3,"vote_average":2.3},{"air_date":"1980-11-07","episode_count":23,"id":71571,"name":"Season 4","overview":"","poster_path":"/iv2NrFPGBepYphoKFPOOswDOiu6.jpg","season_number":4,"vote_average":0.8},{"air_date":"1981-10-09","episode_count":26,"id":71572,"name":"Season 5","overview":"","poster_path":"/o3Rcxa6Za02r5h7zKNpDBJRyOMS.jpg","season_number":5,"vote_average":0.0},{"air_date":"1982-10-01","episode_count":28,"id":71573,"name":"Season 6","overview":"","poster_path":"/gXsnuxXKvUjGny0eSET1OPMBQDz.jpg","season_number":6,"vote_average":1.0},{"air_date":"1983-09-30","episode_count":30,"id":71574,"name":"Season 7","overview":"","poster_path":"/3hbURhI9WIWJcQZFTl6cgSlZF0s.jpg","season_number":7,"vote_average":0.0},{"air_date":"1984-09-28","episode_count":30,"id":71575,"name":"Season 8","overview":"","poster_path":"/4HReCrvVpu4yqes9x2Vs1OuDGpK.jpg","season_number":8,"vote_average":1.0},{"air_date":"1985-09-27","episode_count":31,"id":71576,"name":"Season 9","overview":"","poster_path":"/v8ZRdZ5093KqRyfsLzqlXjEA3qy.jpg","season_number":9,"vote_average":0.0},{"air_date":"1986-09-26","episode_count":29,"id":71577,"name":"Season 10","overview":"","poster_path":"/fraBB3HtkucyTQ5fhhylSd7Tz3i.jpg","season_number":10,"vote_average":1.0},{"air_date":"1987-09-25","episode_count":30,"id":71578,"name":"Season 11","overview":"","poster_path":"/lIJbH1vEWTZFcfM7XnOHtHyUEJp.jpg","season_number":11,"vote_average":6.3},{"air_date":"1988-10-28","episode_count":26,"id":71579,"name":"Season 12","overview":"","poster_path":"/oT7juE8fFZOnNNY92bAQXuYd6u.jpg","season_number":12,"vote_average":1.0},{"air_date":"1989-09-22","episode_count":27,"id":71580,"name":"Season 13","overview":"","poster_path":"/7v3LasHjTj7DIARR0uhtN5I81LS.jpg","season_number":13,"vote_average":0.0},{"air_date":"1990-11-02","episode_count":23,"id":71581,"name":"Season 14","overview":"","poster_path":"/uZF4jDSQV5uLeSDEBLNBpctQ4QS.jpg","season_number":14,"vote_average":0.0}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Ended","tagline":"A family ruthless in its quest for power and passion","type":"Scripted","vote_average":6.634,"vote_count":187,"external_ids":{"imdb_id":"tt0077000","freebase_mid":"/m/0pc_l","freebase_id":null,"tvdb_id":77092,"tvrage_id":3211,"wikidata_id":"Q168708","facebook_id":"DallasTNT","instagram_id":null,"twitter_id":null}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=2583 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:38 GMT ETag: - W/"23e0081042fb5c0b35abd2de3437b25b" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 4IMEy0Ue5K63riWp0I9njU_VsAfz4DEts4oyUMo6Nmk3W8AOJ2lq4w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/40/season/1/episode/3?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"air_date":"1978-04-16","crew":[{"job":"Music","department":"Sound","credit_id":"5eed9e449661fc003860ab28","adult":false,"gender":2,"id":230125,"known_for_department":"Sound","name":"Jerrold Immel","original_name":"Jerrold Immel","popularity":2.84,"profile_path":null},{"job":"Director","department":"Directing","credit_id":"5eed982ab84cdd00362fb042","adult":false,"gender":2,"id":40599,"known_for_department":"Directing","name":"Robert Day","original_name":"Robert Day","popularity":7.427,"profile_path":"/2NEUxGORWzi25fpg35Wv5scsK0a.jpg"},{"job":"Writer","department":"Writing","credit_id":"5eed983db0460500330b4236","adult":false,"gender":2,"id":1220680,"known_for_department":"Writing","name":"Arthur Bernard Lewis","original_name":"Arthur Bernard Lewis","popularity":3.484,"profile_path":null},{"job":"Director of Photography","department":"Camera","credit_id":"5eed9e1a0f1e580036b684f1","adult":false,"gender":2,"id":1951356,"known_for_department":"Camera","name":"Edward R. Plante","original_name":"Edward R. Plante","popularity":0.875,"profile_path":null},{"job":"Art Direction","department":"Art","credit_id":"5f0408fa8a0e9b00339a6a3a","adult":false,"gender":0,"id":1339232,"known_for_department":"Art","name":"Carl Braunger","original_name":"Carl Braunger","popularity":3.621,"profile_path":null},{"job":"Set Decoration","department":"Art","credit_id":"5f0409805e12000037e03098","adult":false,"gender":2,"id":1691172,"known_for_department":"Art","name":"James Hassinger","original_name":"James Hassinger","popularity":5.7,"profile_path":null},{"job":"Editor","department":"Editing","credit_id":"5f040a358ec4ab003440f63d","adult":false,"gender":0,"id":66183,"known_for_department":"Editing","name":"Edward A. Biery","original_name":"Edward A. Biery","popularity":2.294,"profile_path":null}],"episode_number":3,"guest_stars":[{"character":"Senator Orloff","credit_id":"606f0796d4fe0400572287fd","order":517,"adult":false,"gender":2,"id":7139,"known_for_department":"Acting","name":"Norman Alden","original_name":"Norman Alden","popularity":11.535,"profile_path":"/zfClMw6EEImQtxArqunRcjbjvMg.jpg"},{"character":"Connie","credit_id":"5d70330084448e0013293718","order":518,"adult":false,"gender":1,"id":65740,"known_for_department":"Acting","name":"Donna Bullock","original_name":"Donna Bullock","popularity":25.282,"profile_path":"/rsIkkcu3f4KjaoRaZ5B8NYb2oLL.jpg"},{"character":"Julie Grey","credit_id":"5d7032de77c01f4281594670","order":553,"adult":false,"gender":1,"id":29910,"known_for_department":"Acting","name":"Tina Louise","original_name":"Tina Louise","popularity":24.205,"profile_path":"/c4Sl8tnnI5XY6PnKkdaiUJjNZ2e.jpg"}],"name":"Spy in the House","overview":"Pam''s brother, Cliff, is unhappy about her getting married to a Ewing. Cliff ends up with a document Pam was supposed to give to Ewing Oil.","id":1140550,"production_code":"3","runtime":45,"season_number":1,"still_path":"/uga8ctwvzPWXhNzk6GcyPdOhUt8.jpg","vote_average":0.0,"vote_count":0,"external_ids":{"imdb_id":"tt0553425","freebase_mid":"/m/027v4cq","freebase_id":"/en/spy_in_the_house","tvdb_id":228224,"tvrage_id":41204,"wikidata_id":null}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=1082 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:38 GMT ETag: - W/"e4396a784da1e0d5b7583339126c26a5" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - LqIPjwu2sqN4OgXZM0qbRiwXPz7TJNnz71OJX7_NZwv2XzzTpS4iTw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_with_country.yaml0000644000175100001770000005515514636376416027121 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Shameless&language=en-US&page=1 response: body: string: "{\"page\":1,\"results\":[{\"adult\":false,\"backdrop_path\":\"/bFVx0ydejF6NE8SEAVz95ns0o6A.jpg\",\"genre_ids\":[18,35],\"id\":34307,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Shameless\",\"overview\":\"Chicagoan Frank Gallagher is the proud single dad of six smart, industrious, independent kids, who without him would be... perhaps better off. When Frank's not at the bar spending what little money they have, he's passed out on the floor. But the kids have found ways to grow up in spite of him. They may not be like any family you know, but they make no apologies for being exactly who they are.\",\"popularity\":1387.543,\"poster_path\":\"/9akij7PqZ1g6zl42DQQTtL9CTSb.jpg\",\"first_air_date\":\"2011-01-09\",\"name\":\"Shameless\",\"vote_average\":8.153,\"vote_count\":2561},{\"adult\":false,\"backdrop_path\":\"/1FWw7Q5gn74tYVsyLdo3AcO3LNR.jpg\",\"genre_ids\":[35,18],\"id\":1906,\"origin_country\":[\"GB\"],\"original_language\":\"en\",\"original_name\":\"Shameless\",\"overview\":\"The story of a young group of siblings pretty much abandoned by their parents, surviving by their wits - and humor - on a rough Manchester council estate. Whilst they won't admit it, they need help and find it in Steve, a young middle class lad who falls for Fiona, the oldest sibling, and increasingly finds himself drawn to this unconventional and unique family. Anarchic family life seen through the eyes of an exceptionally bright fifteen year old, who struggles to come of age in the context of his belligerent father, closeted brother, psychotic sister and internet porn star neighbors.\",\"popularity\":323.974,\"poster_path\":\"/kE30UWJvJZ03KIIJMmL6m6YoG0l.jpg\",\"first_air_date\":\"2004-01-13\",\"name\":\"Shameless\",\"vote_average\":7.649,\"vote_count\":114},{\"adult\":false,\"backdrop_path\":\"/1pX22o8ivcMI09sZIORdaUX6f3h.jpg\",\"genre_ids\":[18,35],\"id\":86005,\"origin_country\":[\"RU\"],\"original_language\":\"ru\",\"original_name\":\"\u0411\u0435\u0441\u0441\u0442\u044B\u0434\u043D\u0438\u043A\u0438\",\"overview\":\"\",\"popularity\":39.087,\"poster_path\":\"/jkBLMwU7RKZBovtVMyhNOaIwtDW.jpg\",\"first_air_date\":\"2017-09-24\",\"name\":\"Shameless\",\"vote_average\":6.0,\"vote_count\":3},{\"adult\":false,\"backdrop_path\":\"/xY56FG5LaFQZVkCOdJkDxIXaMlO.jpg\",\"genre_ids\":[18],\"id\":208736,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Shameless Hall of Shame\",\"overview\":\"Retrospective look at ten seasons of Gallagher trials and tribulations.\",\"popularity\":59.783,\"poster_path\":\"/ezSi7VR7247XbkwapsjCkF70ooB.jpg\",\"first_air_date\":\"2020-12-22\",\"name\":\"Shameless Hall of Shame\",\"vote_average\":8.7,\"vote_count\":7},{\"adult\":false,\"backdrop_path\":\"/6cgWun89mHPxIjXkIlrbJDhMU5z.jpg\",\"genre_ids\":[99],\"id\":120399,\"origin_country\":[\"DK\"],\"original_language\":\"da\",\"original_name\":\"Skaml\xF8s\",\"overview\":\"Is it SHAMELESS to feel like having a lot of sex when you are a young woman? In DR3\u2019s new reportage series, we follow three strong young women who defy prejudice and shame and set their sexual desires free. Here it is Inger, Asmita and Sofie who \\\"take and give\\\" as the most natural. They refuse to degrade female sexuality into something that should be overlooked, suppressed, or felt wrong. We open the door to the most intimate of their lives and experience all that is not normally said out loud. For Inger, Asmita and Sofie insist that it should be possible to have an open sex life as a woman in 2021 without being labeled \\\"cheap\\\".\",\"popularity\":3.156,\"poster_path\":\"/cFjwl6Uc7PSv7lHsP44PbeOEbx9.jpg\",\"first_air_date\":\"2021-03-07\",\"name\":\"Shameless\",\"vote_average\":2.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":109353,\"origin_country\":[],\"original_language\":\"nb\",\"original_name\":\"Skaml\xF8s\",\"overview\":\"Sofia Srour and Nancy Herz about sex, virginity, faith, honour, and social control.\",\"popularity\":1.213,\"poster_path\":null,\"first_air_date\":\"2020-09-09\",\"name\":\"Shameless\",\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/6QUYgDaET9VT73t7LDEjkyzXg9y.jpg\",\"genre_ids\":[99,10764],\"id\":157512,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Rich \\u0026 Shameless\",\"overview\":\"The true stories of the successes, failures, thrills and miseries that accompany the kind of wealth that ordinary people can never understand. Using a combination of powerful interviews, unique archive and atmospheric visuals, Rich \\u0026 Shameless goes behind the public facade to reveal the dangers of great prosperity.\",\"popularity\":33.139,\"poster_path\":\"/6CnIuXJLCHX3NCa3BqtbjLjUcQt.jpg\",\"first_air_date\":\"2022-02-19\",\"name\":\"Rich \\u0026 Shameless\",\"vote_average\":7.0,\"vote_count\":1}],\"total_pages\":1,\"total_results\":7}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=20500 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:26:08 GMT ETag: - W/"cff20c4c76187dbb0d95899b4e567fd6" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 42c937f806e6e43029a719b83b9a8612.cloudfront.net (CloudFront) X-Amz-Cf-Id: - G6sQlW8MkSlXW8L2bm5I5BieA5c6dEjLzPKrm40XBpCmIZ_zy_CL7w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront x-memc: - HIT x-memc-age: - '5080' x-memc-expires: - '20500' x-memc-key: - 09f24a346559febfe43ecd25ae0a1f9f status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/34307?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: "{\"adult\":false,\"backdrop_path\":\"/bFVx0ydejF6NE8SEAVz95ns0o6A.jpg\",\"created_by\":[{\"id\":47333,\"credit_id\":\"60762d12c392660058efb809\",\"name\":\"John Wells\",\"original_name\":\"John Wells\",\"gender\":2,\"profile_path\":\"/j1cEQmFdSkew87UjO354qeppo1G.jpg\"},{\"id\":1212184,\"credit_id\":\"5b9b133dc3a3686c0200c416\",\"name\":\"Paul Abbott\",\"original_name\":\"Paul Abbott\",\"gender\":2,\"profile_path\":\"/nOSdxmbKRuoVnh29cG1x5fZlBLj.jpg\"}],\"episode_run_time\":[],\"first_air_date\":\"2011-01-09\",\"genres\":[{\"id\":18,\"name\":\"Drama\"},{\"id\":35,\"name\":\"Comedy\"}],\"homepage\":\"http://www.sho.com/shameless\",\"id\":34307,\"in_production\":false,\"languages\":[\"en\"],\"last_air_date\":\"2021-04-11\",\"last_episode_to_air\":{\"id\":2771080,\"overview\":\"Ian and Mickey shop for furniture for their new place and Kev and V look for a buyer for the Alibi. While Lip settles for a new job, Carl finally finds his calling in a new role on the police force. Debbie plunges into a treacherous world when she meets someone new. Frank comes to terms with his own mortality.\",\"name\":\"Father Frank, Full of Grace\",\"vote_average\":6.1,\"vote_count\":7,\"air_date\":\"2021-04-11\",\"episode_number\":12,\"episode_type\":\"finale\",\"production_code\":\"\",\"runtime\":57,\"season_number\":11,\"show_id\":34307,\"still_path\":\"/tGp0pGTCLcQI6IJPVWSf4AFvpId.jpg\"},\"name\":\"Shameless\",\"next_episode_to_air\":null,\"networks\":[{\"id\":67,\"logo_path\":\"/Allse9kbjiP6ExaQrnSpIhkurEi.png\",\"name\":\"Showtime\",\"origin_country\":\"US\"}],\"number_of_episodes\":134,\"number_of_seasons\":11,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"Shameless\",\"overview\":\"Chicagoan Frank Gallagher is the proud single dad of six smart, industrious, independent kids, who without him would be... perhaps better off. When Frank's not at the bar spending what little money they have, he's passed out on the floor. But the kids have found ways to grow up in spite of him. They may not be like any family you know, but they make no apologies for being exactly who they are.\",\"popularity\":1387.543,\"poster_path\":\"/9akij7PqZ1g6zl42DQQTtL9CTSb.jpg\",\"production_companies\":[{\"id\":37423,\"logo_path\":null,\"name\":\"Bonanza Productions\",\"origin_country\":\"US\"},{\"id\":1512,\"logo_path\":null,\"name\":\"John Wells Productions\",\"origin_country\":\"US\"},{\"id\":1957,\"logo_path\":\"/pJJw98MtNFC9cHn3o15G7vaUnnX.png\",\"name\":\"Warner Bros. Television\",\"origin_country\":\"US\"},{\"id\":4343,\"logo_path\":\"/rXq1B1Hnkdnw6soz1zoGcslK3wb.png\",\"name\":\"Showtime Networks\",\"origin_country\":\"US\"},{\"id\":168706,\"logo_path\":\"/gwVk8GKPghzEg2hg1GLzZpVQ9Ry.png\",\"name\":\"Anthony Hemingway Productions\",\"origin_country\":\"US\"},{\"id\":11842,\"logo_path\":\"/eNw316EUzXBLVOzlZPVwOcPKoDw.png\",\"name\":\"Company Pictures\",\"origin_country\":\"GB\"}],\"production_countries\":[{\"iso_3166_1\":\"US\",\"name\":\"United States of America\"}],\"seasons\":[{\"air_date\":\"2010-12-12\",\"episode_count\":39,\"id\":45139,\"name\":\"Specials\",\"overview\":\"\",\"poster_path\":\"/mEsacM6KmTf6z9kDVMisXw0EGmR.jpg\",\"season_number\":0,\"vote_average\":0.0},{\"air_date\":\"2011-01-09\",\"episode_count\":12,\"id\":45137,\"name\":\"Season 1\",\"overview\":\"Frank goes missing and turns up in Toronto, tries without success to embrace sobriety, and bends the law to protect his disability checks. Fiona falls for Steve, a handsome player with a nice car, a fat wallet, and a big secret. Ian embraces his sexuality, much to the chagrin of his brainy brother Lip. Debbie goes too far at a child's birthday party. Monica shows up with an announcement about baby Liam.\",\"poster_path\":\"/3L0ewQDnvgWdfL8rYi4fdHeiell.jpg\",\"season_number\":1,\"vote_average\":7.8},{\"air_date\":\"2012-01-08\",\"episode_count\":12,\"id\":45138,\"name\":\"Season 2\",\"overview\":\"Frank and Monica rekindle their self-destructive relationship after Frank's mother returns from prison to wreak havoc. Fiona is thrown for a loop when Steve returns from Rio with a surprise. Lip makes big changes in preparation for the arrival of his and Karen's baby. Karen and Sheila clash over Karen's new husband Jody, a good-hearted but weird guy she met in Sexaholics Anonymous. Ian tries to get into West Point. Debbie prepares for the onset of puberty. Kev and Veronica contemplate starting a family.\",\"poster_path\":\"/v7yEZZCMXgSMoGBr4DRcj4wwBGt.jpg\",\"season_number\":2,\"vote_average\":7.3},{\"air_date\":\"2013-01-13\",\"episode_count\":12,\"id\":45140,\"name\":\"Season 3\",\"overview\":\"Season three finds each member of the Gallagher family seeking their individual version of the \u201CAmerican Dream.\u201D Jimmy has moved into the Gallagher home, and Fiona is beginning to realize that a long-term relationship isn\u2019t nearly as fulfilling as she expected\u2026 and her GED will only get her so far. Meanwhile, Frank reappears south of the border, with no idea how he got there.\",\"poster_path\":\"/j4tFVJ926chUO9rWfHxCVw6WP18.jpg\",\"season_number\":3,\"vote_average\":7.5},{\"air_date\":\"2014-01-12\",\"episode_count\":12,\"id\":45141,\"name\":\"Season 4\",\"overview\":\"The crazy Gallaghers returned. They have new issues. Lip went to college. Fiona\u2019s life is gradually improving. She has a stable job. The whole family is waiting for news about the health of Frank. Can the Gallaghers finally realize the middle class American dream? This ain\u2019t no tea party.\",\"poster_path\":\"/xunL4azPNRRVYqPqLhxgezwAUBr.jpg\",\"season_number\":4,\"vote_average\":7.8},{\"air_date\":\"2015-01-11\",\"episode_count\":12,\"id\":63466,\"name\":\"Season 5\",\"overview\":\"Season five finds the Gallaghers dealing with both the upside and downside of personal and urban renewal. As their neighborhood begins a move towards gentrifying, the Gallagher clan begins to reconcile their chaotic past in the hopes of building a better future.\",\"poster_path\":\"/hq3BoH2LJfwInCTn3Vc3k8NGfBC.jpg\",\"season_number\":5,\"vote_average\":8.2},{\"air_date\":\"2016-01-10\",\"episode_count\":12,\"id\":70404,\"name\":\"Season 6\",\"overview\":\"Season six picks up a few months after last season\u2019s finale, as the Gallaghers prepare for yet another long Chicago winter. Frank is still mourning his big loss, while his newfound appreciation for life is freaking the Gallaghers out. This season sees more than just the arctic Lake Michigan winds whipping through the Southside. Carl\u2019s out of juvie. While Fiona struggles with a still-unstable Ian to take his meds, she\u2019s also got another situation looming as Debbie faces a brand new baby-mama-drama.\",\"poster_path\":\"/AnA6suQeG9vBF0tx3IFKCLPdq3m.jpg\",\"season_number\":6,\"vote_average\":8.1},{\"air_date\":\"2016-10-02\",\"episode_count\":12,\"id\":77841,\"name\":\"Season 7\",\"overview\":\"The Gallaghers have always scraped by, but season seven finds some of them finally getting a leg up, with more changes than the Chicago River. When Frank awakens from a coma to learn that his loved ones tossed him in the river, he declares war \u2013 Gallagher vs. Gallagher. But Fiona is too busy improving her own life to worry about Frank\u2019s. Gallagher Golden Boy Lip finishes up his time in rehab, and emerges with a new outlook on alcoholism and his future, whereas the once-unstable Ian is now thriving as an EMT and in a comfortable relationship. Debbie is still figuring out how to be a good mom to young Franny, while Carl has some big decisions to face as he enters manhood.\",\"poster_path\":\"/eOqXdkg0flz99a0OXpNKoQTSp7Z.jpg\",\"season_number\":7,\"vote_average\":7.1},{\"air_date\":\"2017-11-05\",\"episode_count\":12,\"id\":91214,\"name\":\"Season 8\",\"overview\":\"In season 8 the Gallaghers are finally on an upswing! Frank tries to become a contributing member of society, Fiona finds success as a landlord, Lip struggles to stay sober, Ian takes up a cause, and Debbie tries life as a working single mom.\",\"poster_path\":\"/1E6asdJoCpoalo8mrFerAHFKANj.jpg\",\"season_number\":8,\"vote_average\":7.8},{\"air_date\":\"2018-09-09\",\"episode_count\":14,\"id\":104861,\"name\":\"Season 9\",\"overview\":\"In season 9, political fervor hits the South Side, and the Gallaghers take justice into their own hands. Frank sees financial opportunity in campaigning and Fiona tries to build on the success of her apartment building.\",\"poster_path\":\"/von3HnQF4SokUopZV6FXt12NfXM.jpg\",\"season_number\":9,\"vote_average\":8.0},{\"air_date\":\"2019-11-10\",\"episode_count\":12,\"id\":128829,\"name\":\"Season 10\",\"overview\":\"Season ten picks up six months after last season\u2019s finale: Frank uses his leg injury to collect as many prescription drugs as possible and his exploits lead him to an old friend. Debbie rules over the Gallagher household with an iron fist. Lip navigates his relationship with Tami. And Gallavich returns as Ian and Mickey rekindle their relationship in prison as both cellmates and lovers.\",\"poster_path\":\"/m2gf7SYOq9z30Q1dJFMF51DfrmF.jpg\",\"season_number\":10,\"vote_average\":7.3},{\"air_date\":\"2020-12-06\",\"episode_count\":12,\"id\":142132,\"name\":\"Season 11\",\"overview\":\"As Frank confronts his own mortality and family ties in his alcoholic and drug induced twilight years, Lip struggles with the prospect of becoming the family\u2019s new patriarch. Newlyweds Ian and Mickey are figuring out the rules and responsibilities of being in a committed relationship while Deb embraces her individuality and single motherhood. Carl finds an unlikely new career in law enforcement and Kevin and V struggle to decide whether a hard life on the South Side is worth fighting for.\",\"poster_path\":\"/9akij7PqZ1g6zl42DQQTtL9CTSb.jpg\",\"season_number\":11,\"vote_average\":7.1}],\"spoken_languages\":[{\"english_name\":\"English\",\"iso_639_1\":\"en\",\"name\":\"English\"}],\"status\":\"Ended\",\"tagline\":\"The Gallaghers. Absolutely, Wildly, Unapologetically... Shameless\",\"type\":\"Scripted\",\"vote_average\":8.153,\"vote_count\":2560,\"external_ids\":{\"imdb_id\":\"tt1586680\",\"freebase_mid\":\"/m/0dll6_j\",\"freebase_id\":null,\"tvdb_id\":161511,\"tvrage_id\":25117,\"wikidata_id\":\"Q23599\",\"facebook_id\":\"ShamelessOnShowtime\",\"instagram_id\":\"shameless\",\"twitter_id\":\"SHO_Shameless\"}}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=490 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:26:08 GMT ETag: - W/"b38347a2c77c1bccb2e7a771568070de" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - rEXgXxGYj0wMFCjQKM-rb-O0dDy0uqURGhCceofPN_BcVtGlynCDuw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/34307/season/8/episode/1?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"air_date":"2017-11-05","crew":[{"job":"Director","department":"Directing","credit_id":"5fdbb24f7776f0003f3145e2","adult":false,"gender":2,"id":80161,"known_for_department":"Directing","name":"Iain B. MacDonald","original_name":"Iain B. MacDonald","popularity":5.57,"profile_path":"/cxCwbSjnomHNGgvW2EP6YSr4hXv.jpg"}],"episode_number":1,"guest_stars":[{"character":"Brad","credit_id":"5e69c30e357c0000163dd9e9","order":16,"adult":false,"gender":2,"id":65728,"known_for_department":"Acting","name":"Scott Michael Campbell","original_name":"Scott Michael Campbell","popularity":22.513,"profile_path":"/p1fKMI59U489Rys9xvqzdTLxPrL.jpg"},{"character":"Trevor","credit_id":"580dc46fc3a3682413018437","order":19,"adult":false,"gender":2,"id":1601960,"known_for_department":"Acting","name":"Elliot Fletcher","original_name":"Elliot Fletcher","popularity":17.845,"profile_path":"/5vv8EFHAhkaeaV82VXcfAIROro7.jpg"},{"character":"Eddie","credit_id":"5b30b9a19251413c580004ee","order":547,"adult":false,"gender":1,"id":1578220,"known_for_department":"Acting","name":"Levy Tran","original_name":"Levy Tran","popularity":28.276,"profile_path":"/ungYHOdC0DETelUD8I6FR1bFdn.jpg"},{"character":"Farhad","credit_id":"5b9b8470c3a3686c08012f1e","order":551,"adult":false,"gender":2,"id":1561485,"known_for_department":"Acting","name":"Peter Banifaz","original_name":"Peter Banifaz","popularity":8.366,"profile_path":"/fQXcGOpKU8mzkYNyzXrmtXP5In4.jpg"},{"character":"Charlie","credit_id":"5bf29986c3a368189f083e89","order":557,"adult":false,"gender":2,"id":1421688,"known_for_department":"Acting","name":"Chet Hanks","original_name":"Chet Hanks","popularity":11.676,"profile_path":"/rk4WtugPbBHtx9FtsC4spM89kMY.jpg"},{"character":"Clyde Youens","credit_id":"5e7bf40e109dec1ebb00eafa","order":661,"adult":false,"gender":2,"id":3008,"known_for_department":"Acting","name":"Alan Rosenberg","original_name":"Alan Rosenberg","popularity":24.291,"profile_path":"/fk5nR9aLZBjGA67J5SOK3FWjjWF.jpg"},{"character":"Carson","credit_id":"65d0ffcfc144dd017cbdef16","order":779,"adult":false,"gender":2,"id":2533916,"known_for_department":"Acting","name":"Ricardo Walker","original_name":"Ricardo Walker","popularity":7.878,"profile_path":"/r5jDeWnRJMiR8sCHPVbpe0z7cLd.jpg"}],"name":"We Become What We... Frank!","overview":"The Gallaghers find themselves with money to burn as Carl sells their inheritance from Monica. Fiona swears off random hookups to focus on her new apartment building. Lip deals with the sacrifice that comes with sobriety. Frank emerges out of a meth-induced haze to make amends for decades of depravity.","id":1347196,"production_code":"","runtime":57,"season_number":8,"still_path":"/7HGoqjNuUbjpLyhM2xJSt4JPTa3.jpg","vote_average":6.9,"vote_count":22,"external_ids":{"imdb_id":"tt6347410","freebase_mid":null,"freebase_id":null,"tvdb_id":6227949,"tvrage_id":null,"wikidata_id":"Q105671664"}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=4253 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:26:09 GMT ETag: - W/"e7e0db58151a1c138400c63c91699a55" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 c6ccd07e1e50408d404ed1f9dd2506ce.cloudfront.net (CloudFront) X-Amz-Cf-Id: - QpisG34YUYTLecKmNWzlAsZbNMN7_767asMZbioSdqBkd2FfYFCOIQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_with_country_hoc_us.yaml0000644000175100001770000003477714636376416030470 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=house+of+cards&language=en-US&page=1 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/yJjxO44EvaMYeeM9VHXHzdZ1kYL.jpg","genre_ids":[18],"id":1425,"origin_country":["US"],"original_language":"en","original_name":"House of Cards","overview":"Set in present day Washington, D.C., House of Cards is the story of Frank Underwood, a ruthless and cunning politician, and his wife Claire who will stop at nothing to conquer everything. This wicked political drama penetrates the shadowy world of greed, sex and corruption in modern D.C.","popularity":649.259,"poster_path":"/hKWxWjFwnMvkWQawbhvC0Y7ygQ8.jpg","first_air_date":"2013-02-01","name":"House of Cards","vote_average":8.023,"vote_count":2592},{"adult":false,"backdrop_path":"/1gsHQidvviNE8QKOOfPAZndWAJw.jpg","genre_ids":[10768,35,18],"id":21720,"origin_country":["GB"],"original_language":"en","original_name":"House of Cards","overview":"Frustrated at a new moderate Conservative government and deprived of a promotion to a senior position, chief whip Francis Urquhart prepares a meticulous plot to bring down the Prime Minister then to take his place.","popularity":43.969,"poster_path":"/evQlyXJtIjI9QiZUu180RsyWVCV.jpg","first_air_date":"1990-11-18","name":"House of Cards","vote_average":8.171,"vote_count":129},{"adult":false,"backdrop_path":"/CENwWZighra483aTJMAixGUtm0.jpg","genre_ids":[18,35,10768],"id":77041,"origin_country":["GB"],"original_language":"en","original_name":"The Final Cut","overview":"Urquhart aims to secure his legacy on the international stage, but faces threats both from abroad and closer to home.","popularity":55.188,"poster_path":"/7lQ6roAFARdKe9qGPF0KigYPASZ.jpg","first_air_date":"1995-11-05","name":"The Final Cut","vote_average":7.8,"vote_count":35},{"adult":false,"backdrop_path":"/csjHEM3cc852KLm18eKRdl1qaQj.jpg","genre_ids":[18,35,10768],"id":13868,"origin_country":["GB"],"original_language":"en","original_name":"To Play the King","overview":"Francis Urquhart''s survival at the top is threatened by the new king''s populist agenda.","popularity":36.659,"poster_path":"/uyTPnSlh7NKic8MgYn2GzD7s0La.jpg","first_air_date":"1993-11-21","name":"To Play the King","vote_average":8.1,"vote_count":48}],"total_pages":1,"total_results":4}' headers: Age: - '6150' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=16164 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 20:43:39 GMT ETag: - W/"36a07a91b1d5740422911bc6b9abb658" Server: - openresty Transfer-Encoding: - chunked Vary: - accept-encoding - Origin Via: - 1.1 c6ccd07e1e50408d404ed1f9dd2506ce.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 5kq2Lz3yB-bTCNDF2j71g6hysZAR3BLhicFr6WXs2rzEPxY-uI1hsw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '13803' x-memc-expires: - '13308' x-memc-key: - 67939338f0acaf6c20e8a2c1ae32c40f status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/1425?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: "{\"adult\":false,\"backdrop_path\":\"/yJjxO44EvaMYeeM9VHXHzdZ1kYL.jpg\",\"created_by\":[{\"id\":64817,\"credit_id\":\"526e4221760ee34c42101dfe\",\"name\":\"Beau Willimon\",\"original_name\":\"Beau Willimon\",\"gender\":2,\"profile_path\":\"/8BTQK12ibYIWPAPSkQktsTnrX99.jpg\"}],\"episode_run_time\":[],\"first_air_date\":\"2013-02-01\",\"genres\":[{\"id\":18,\"name\":\"Drama\"}],\"homepage\":\"http://www.netflix.com/title/70178217\",\"id\":1425,\"in_production\":false,\"languages\":[\"en\"],\"last_air_date\":\"2018-11-02\",\"last_episode_to_air\":{\"id\":1605355,\"overview\":\"Claire tries to tarnish Frank's legacy. Doug provokes Claire by releasing excerpts from Frank's diary. A rift develops between the Shepherds.\",\"name\":\"Chapter 73\",\"vote_average\":4.9,\"vote_count\":19,\"air_date\":\"2018-11-02\",\"episode_number\":8,\"episode_type\":\"finale\",\"production_code\":\"\",\"runtime\":55,\"season_number\":6,\"show_id\":1425,\"still_path\":\"/mELYyfjn4VlGndH6dUb8wHf5Pnq.jpg\"},\"name\":\"House of Cards\",\"next_episode_to_air\":null,\"networks\":[{\"id\":213,\"logo_path\":\"/wwemzKWzjKYJFfCeiB57q3r4Bcm.png\",\"name\":\"Netflix\",\"origin_country\":\"\"}],\"number_of_episodes\":73,\"number_of_seasons\":6,\"origin_country\":[\"US\"],\"original_language\":\"en\",\"original_name\":\"House of Cards\",\"overview\":\"Set in present day Washington, D.C., House of Cards is the story of Frank Underwood, a ruthless and cunning politician, and his wife Claire who will stop at nothing to conquer everything. This wicked political drama penetrates the shadowy world of greed, sex and corruption in modern D.C.\",\"popularity\":649.259,\"poster_path\":\"/hKWxWjFwnMvkWQawbhvC0Y7ygQ8.jpg\",\"production_companies\":[{\"id\":2531,\"logo_path\":\"/9MfCJ2G6Nrf9yyRj4tAgPmMiDcn.png\",\"name\":\"MRC\",\"origin_country\":\"US\"},{\"id\":7626,\"logo_path\":\"/4839MGss4pPAalhqqYH1AD1CnEj.png\",\"name\":\"Trigger Street Productions\",\"origin_country\":\"US\"}],\"production_countries\":[{\"iso_3166_1\":\"US\",\"name\":\"United States of America\"}],\"seasons\":[{\"air_date\":null,\"episode_count\":7,\"id\":142396,\"name\":\"Specials\",\"overview\":\"Additional extras for the House of Cards series.\",\"poster_path\":\"/eowAtyuf9tZ56WugCZTt9HALfeq.jpg\",\"season_number\":0,\"vote_average\":0.0},{\"air_date\":\"2013-02-01\",\"episode_count\":13,\"id\":3768,\"name\":\"Season 1\",\"overview\":\"Betrayed by the White House, Congressman Francis Underwood embarks on a ruthless rise to power. Blackmail, seduction and ambition are his weapons.\",\"poster_path\":\"/oUfT2AbMVCYbVA3GIBbPqA6ZpUC.jpg\",\"season_number\":1,\"vote_average\":7.5},{\"air_date\":\"2014-02-14\",\"episode_count\":13,\"id\":3767,\"name\":\"Season 2\",\"overview\":\"In their ruthless rise to power, Francis and Claire battle threats past and present, and form new alliances while old ones succumb to betrayal.\",\"poster_path\":\"/e5WNFWA1ZLnHxpr9xQdZMhEpvNo.jpg\",\"season_number\":2,\"vote_average\":7.5},{\"air_date\":\"2015-02-27\",\"episode_count\":13,\"id\":63599,\"name\":\"Season 3\",\"overview\":\"President Underwood fights to secure his legacy. Claire wants more than being First Lady. The biggest threat they face is contending with each other.\",\"poster_path\":\"/za2XGEr1BWAuZkI0veLEwVxy30S.jpg\",\"season_number\":3,\"vote_average\":7.7},{\"air_date\":\"2016-03-04\",\"episode_count\":13,\"id\":72724,\"name\":\"Season 4\",\"overview\":\"They've always been a great team. But now in season four, Frank and Claire become even greater adversaries as their marriage stumbles and their ambitions are at odds. In an election year, the stakes are now higher than ever, and the biggest threat they face is contending with each other.\",\"poster_path\":\"/1GeYr0qAYpxIGiIabzu1WqzKgtQ.jpg\",\"season_number\":4,\"vote_average\":8.0},{\"air_date\":\"2017-05-30\",\"episode_count\":13,\"id\":84188,\"name\":\"Season 5\",\"overview\":\"Season five picks up where season four left off: in the midst of a tense presidential election that puts the Underwoods on the same ticket against energetic Republican upstart Will Conway. Viewers will see how their heated campaigns play out as well as which alliances dissolve in the aftermath. Perhaps the biggest question is if Frank and Claire\u2019s relationship is among them.\",\"poster_path\":\"/xaYAGAQwpsYhLdX9JKTaGI2zgCE.jpg\",\"season_number\":5,\"vote_average\":7.8},{\"air_date\":\"2018-11-02\",\"episode_count\":8,\"id\":99023,\"name\":\"Season 6\",\"overview\":\"With Frank out of the picture, Claire Underwood steps fully into her own as the first woman president, but faces formidable threats to her legacy.\",\"poster_path\":\"/AuXh9yFdtppv7GpoisnDnPkBjKU.jpg\",\"season_number\":6,\"vote_average\":5.5}],\"spoken_languages\":[{\"english_name\":\"English\",\"iso_639_1\":\"en\",\"name\":\"English\"}],\"status\":\"Ended\",\"tagline\":\"There are two kinds of pain.\",\"type\":\"Scripted\",\"vote_average\":8.023,\"vote_count\":2592,\"external_ids\":{\"imdb_id\":\"tt1856010\",\"freebase_mid\":\"/m/0h3rv9x\",\"freebase_id\":\"0h3rv9x\",\"tvdb_id\":262980,\"tvrage_id\":27822,\"wikidata_id\":\"Q3330940\",\"facebook_id\":\"HouseofCards\",\"instagram_id\":\"houseofcards\",\"twitter_id\":\"HouseofCards\"}}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=21753 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:26:09 GMT ETag: - W/"2090a22df6b8bd07b327841e887c47ff" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 4c13f73e83aaf9d7bee2c3b379c641d6.cloudfront.net (CloudFront) X-Amz-Cf-Id: - WXIsgYQxIHLBjR1Ubj5JVS_UOVutmwBlolzWn36OZB-34AxD5JUQrQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/1425/season/6/episode/1?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"air_date":"2018-11-02","crew":[],"episode_number":1,"guest_stars":[{"character":"Marcy Siegerson","credit_id":"5cc26cf5c3a3687f8f8dab1d","order":523,"adult":false,"gender":1,"id":143237,"known_for_department":"Acting","name":"Linda Powell","original_name":"Linda Powell","popularity":14.555,"profile_path":"/giYwxYnuw6nfpLAfcbdZMlzZ3sT.jpg"},{"character":"Tabitha Peters","credit_id":"5cc26e8f9251415cd2f3db45","order":524,"adult":false,"gender":0,"id":1220815,"known_for_department":"Acting","name":"Beth Chamberlin","original_name":"Beth Chamberlin","popularity":4.866,"profile_path":null},{"character":"Melody Cruz","credit_id":"5cc26c300e0a264d93ed074b","order":525,"adult":false,"gender":1,"id":51037,"known_for_department":"Acting","name":"Athena Karkanis","original_name":"Athena Karkanis","popularity":33.681,"profile_path":"/bxKJJWXfnTfWVpsD5Y5H8g4vFUq.jpg"},{"character":"Dr. Charles Rosen","credit_id":"5cc26dfdc3a3686b0b95e208","order":581,"adult":false,"gender":2,"id":90039,"known_for_department":"Acting","name":"Chip Zien","original_name":"Chip Zien","popularity":10.5,"profile_path":"/6bExDPk8oOYWOXzx5a9IM9CwCOY.jpg"},{"character":"Nathan Green","credit_id":"5cc26bf90e0a265b0ff138d0","order":584,"adult":false,"gender":2,"id":1595506,"known_for_department":"Acting","name":"Jeremy Holm","original_name":"Jeremy Holm","popularity":8.658,"profile_path":"/cOOu1DOY6s59oAMMjtXJ70RicNU.jpg"},{"character":"Rick Bowman","credit_id":"5cc41180c3a36814588aebc6","order":593,"adult":false,"gender":2,"id":1696797,"known_for_department":"Acting","name":"Chris Agos","original_name":"Chris Agos","popularity":4.904,"profile_path":"/dtHpwxYVigz9f3zDF4RlonTjje1.jpg"},{"character":"Young Claire","credit_id":"5cc411b60e0a260b0ff0b901","order":594,"adult":false,"gender":1,"id":2297951,"known_for_department":"Acting","name":"Ann Charles Sutton","original_name":"Ann Charles Sutton","popularity":1.028,"profile_path":null},{"character":"Lynn Phang","credit_id":"5cc410f792514151ca02b19d","order":598,"adult":false,"gender":1,"id":1831430,"known_for_department":"Acting","name":"Nini Le Huynh","original_name":"Nini Le Huynh","popularity":2.231,"profile_path":null},{"character":"Staff","credit_id":"6199a10e70b444006702fd95","order":617,"adult":false,"gender":1,"id":2818526,"known_for_department":"Acting","name":"Gina Jun","original_name":"Gina Jun","popularity":10.995,"profile_path":"/kIbJ3TTGdYVShC7K8tE5OueZ1wQ.jpg"}],"name":"Chapter 66","overview":"As the first woman president, Claire faces increased scrutiny and threats. Sibling power couple Annette and Bill Shepherd attempt to influence policy.","id":1542492,"production_code":"","runtime":53,"season_number":6,"still_path":"/qtsv3uWX8MMOsBaFwtyE9sxVvBY.jpg","vote_average":5.5,"vote_count":26,"external_ids":{"imdb_id":"tt7538918","freebase_mid":null,"freebase_id":null,"tvdb_id":6553109,"tvrage_id":null,"wikidata_id":"Q58836716"}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=15943 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:26:09 GMT ETag: - W/"6860f4d26b34da9125e58e5d9300f318" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 55f14075e1cb487de38b7e615fd21a96.cloudfront.net (CloudFront) X-Amz-Cf-Id: - rlpzrQVqka_8ktP3dkgBpSoYX5jPrKSXjgj0f4W2k-G3KXA93QdNuQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_episode_year.yaml0000644000175100001770000002574414636376416025324 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=dallas&language=en-US&page=1&year=2012 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/xCyr9ay1lMgkA6HV2ugiWIFQtiR.jpg","genre_ids":[18],"id":37759,"origin_country":["US"],"original_language":"en","original_name":"Dallas","overview":"J.R., Bobby and Sue Ellen Ewing are all back at Southfork, with plenty of secrets, schemes and betrayals in mind. This time, they''re joined by the next generation of Ewings, who take ambition and deception to a new level.","popularity":143.924,"poster_path":"/c76QP3y5PnZ5L1wUvRDqUuP2bd.jpg","first_air_date":"2012-06-13","name":"Dallas","vote_average":6.9,"vote_count":63},{"adult":false,"backdrop_path":"/bRrm6IOUFc79aIO7lvwtZ2z48sS.jpg","genre_ids":[10764,99],"id":10179,"origin_country":["US"],"original_language":"en","original_name":"Dallas Cowboys Cheerleaders: Making the Team","overview":"Reality show following the auditioning process and making of the annual Dallas Cowboys Cheerleading Squad.","popularity":29.668,"poster_path":"/gZSwy6ByE5uY9pHsXVFqAzdobTn.jpg","first_air_date":"2006-09-29","name":"Dallas Cowboys Cheerleaders: Making the Team","vote_average":7.7,"vote_count":13},{"adult":false,"backdrop_path":null,"genre_ids":[10764],"id":62220,"origin_country":[],"original_language":"en","original_name":"Donna Decorates Dallas","overview":"Interior designer Donna Moss and her team give credence to the notion that everything''s bigger in Texas as they undertake dramatic room makeovers in some of the most fabulous homes in the Dallas area.","popularity":0.749,"poster_path":null,"first_air_date":"2011-11-12","name":"Donna Decorates Dallas","vote_average":0.0,"vote_count":0},{"adult":false,"backdrop_path":"/bFa172o4JUJZExyWPD9dKwilgDA.jpg","genre_ids":[35,18],"id":39302,"origin_country":["US"],"original_language":"en","original_name":"GCB","overview":"Amanda Vaughn, once the ultimate high school \"mean girl,\" is forced to return home in disgrace after her marriage ends in scandal. As Amanda and her teenage kids try to adjust to their new lives, the ladies from her past alternate between sympathy and scheming.","popularity":47.302,"poster_path":"/cBRvJhjEoVYWqYwTR3P7T6zsVCi.jpg","first_air_date":"2012-03-04","name":"GCB","vote_average":6.0,"vote_count":31}],"total_pages":1,"total_results":4}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=22265 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:47:55 GMT ETag: - W/"5f7fa9394e54d2124364586b15d5c5e4" Server: - openresty Transfer-Encoding: - chunked Vary: - accept-encoding - Origin Via: - 1.1 68c9162ccc29f8f3ca30be36950cea58.cloudfront.net (CloudFront) X-Amz-Cf-Id: - hmMcfl4ZKzaMVIJhRnmjG39wFJuJvHUK9WTGZA5HS5LTpRBR19xr1A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - RefreshHit from cloudfront x-memc: - MISS, STORE x-memc-age: - '0' x-memc-expires: - '22751' x-memc-key: - 24f7e98e5d6f8eb17a6a6ff5b4ba4af0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/37759?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"adult":false,"backdrop_path":"/xCyr9ay1lMgkA6HV2ugiWIFQtiR.jpg","created_by":[{"id":1212323,"credit_id":"5258eae7760ee3466188f5b4","name":"David Jacobs","original_name":"David Jacobs","gender":2,"profile_path":"/dZ6kv0kWS1JQ8WtHhuRXPpC7CpC.jpg"},{"id":1238640,"credit_id":"5258eae7760ee3466188f5ba","name":"Cynthia Cidre","original_name":"Cynthia Cidre","gender":1,"profile_path":"/uY7HQpN0wDOEw6dy9U2YtvPEsJm.jpg"}],"episode_run_time":[45],"first_air_date":"2012-06-13","genres":[{"id":18,"name":"Drama"}],"homepage":"http://www.tnt.tv/series/dallas/","id":37759,"in_production":false,"languages":["en"],"last_air_date":"2014-09-22","last_episode_to_air":{"id":1002549,"overview":"In the electrifying third season finale, the Ewings and the Rylands finally force the cartel to pay the piper as some lives are saved and others are lost. Bobby and Sue Ellen form a new alliance to protect the family, which pits them against John Ross, who is still trying to regain control of Ewing Global and fix his marriage to Pamela. And Elena is pushed to the brink when she finds out the real depths of Nicolas'' betrayal. As the season comes to an end, enemies are unmasked, new alliances are formed, and John Ross learns a shocking secret about J.R. that sends him halfway around the globe in search of a surprising new cohort.","name":"Brave New World","vote_average":0.0,"vote_count":0,"air_date":"2014-09-22","episode_number":15,"episode_type":"finale","production_code":"","runtime":45,"season_number":3,"show_id":37759,"still_path":"/nIVOxfKkPxMkkATSLAjmOqokDBV.jpg"},"name":"Dallas","next_episode_to_air":null,"networks":[{"id":41,"logo_path":"/6ISsKwa2XUhSC6oBtHZjYf6xFqv.png","name":"TNT","origin_country":"US"}],"number_of_episodes":40,"number_of_seasons":3,"origin_country":["US"],"original_language":"en","original_name":"Dallas","overview":"J.R., Bobby and Sue Ellen Ewing are all back at Southfork, with plenty of secrets, schemes and betrayals in mind. This time, they''re joined by the next generation of Ewings, who take ambition and deception to a new level.","popularity":143.924,"poster_path":"/c76QP3y5PnZ5L1wUvRDqUuP2bd.jpg","production_companies":[{"id":29347,"logo_path":"/y72MLXgCFQGKfJigwUzXUeUO4kX.png","name":"Warner Horizon Television","origin_country":"US"}],"production_countries":[{"iso_3166_1":"US","name":"United States of America"}],"seasons":[{"air_date":null,"episode_count":5,"id":49091,"name":"Specials","overview":"","poster_path":null,"season_number":0,"vote_average":0.0},{"air_date":"2012-06-13","episode_count":10,"id":49089,"name":"Season 1","overview":"","poster_path":"/AqRzqZlwexW23ch2XpHNsGxNQDk.jpg","season_number":1,"vote_average":7.0},{"air_date":"2013-01-28","episode_count":15,"id":49090,"name":"Season 2","overview":"","poster_path":"/eMjtlE8E2tuYLFC7soPaXO6ys0X.jpg","season_number":2,"vote_average":0.0},{"air_date":"2014-02-24","episode_count":15,"id":49092,"name":"Season 3","overview":"","poster_path":"/gxwfYs9KG1UyLWd6vYaIxAr7qby.jpg","season_number":3,"vote_average":1.0}],"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Canceled","tagline":"","type":"Scripted","vote_average":6.9,"vote_count":63,"external_ids":{"imdb_id":"tt1723760","freebase_mid":"/m/0gffhld","freebase_id":null,"tvdb_id":242521,"tvrage_id":28960,"wikidata_id":"Q726735","facebook_id":"DallasTNT","instagram_id":null,"twitter_id":null}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=21745 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:47:55 GMT ETag: - W/"5fa0366cc8e59df1c6d609c05b87d529" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 42c937f806e6e43029a719b83b9a8612.cloudfront.net (CloudFront) X-Amz-Cf-Id: - zv1r3sVvjP68irUDSXdSmYAMf_yqjCiwHAjnxlPHcsHpAkUl9GTTuA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/tv/37759/season/1/episode/3?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: "{\"air_date\":\"2012-06-20\",\"crew\":[{\"department\":\"Writing\",\"job\":\"Writer\",\"credit_id\":\"5258eae4760ee3466188f042\",\"adult\":false,\"gender\":2,\"id\":1213093,\"known_for_department\":\"Writing\",\"name\":\"Bruce Rasmussen\",\"original_name\":\"Bruce Rasmussen\",\"popularity\":4.998,\"profile_path\":\"/a5avkeMI18MZG32u7sDT5jF1cEe.jpg\"},{\"department\":\"Directing\",\"job\":\"Director\",\"credit_id\":\"5258eae4760ee3466188effc\",\"adult\":false,\"gender\":2,\"id\":112548,\"known_for_department\":\"Production\",\"name\":\"Michael M. Robin\",\"original_name\":\"Michael M. Robin\",\"popularity\":6.273,\"profile_path\":null}],\"episode_number\":3,\"guest_stars\":[],\"name\":\"The Price You Pay\",\"overview\":\"Just as John Ross sets out to claim his birthright and make his father proud, J.R. decides to move back to Southfork, much to Ann\u2019s dismay. Bitter Ewing family enemy Cliff Barnes returns and tries to reconnect with his nephew, Christopher. A startling family announcement offers an opportunity to heal old wounds.\",\"id\":851353,\"production_code\":\"\",\"runtime\":45,\"season_number\":1,\"still_path\":\"/9CppiKh8K1nZGJaw7wJfpXFvMBQ.jpg\",\"vote_average\":0.0,\"vote_count\":0,\"external_ids\":{\"imdb_id\":null,\"freebase_mid\":\"/m/0j_f3y6\",\"freebase_id\":null,\"tvdb_id\":4199511,\"tvrage_id\":null,\"wikidata_id\":null}}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=3205 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:47:55 GMT ETag: - W/"f89e6c7f46d63909593bc6d691fd69b5" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 daf51694fe4a175a7249d39be5e22e4c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - QQQgznbcXy-X2pi62BKr0azrF4uvujocsPnd909Nh4_D5UHcQHuD2Q== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_movie.yaml0000644000175100001770000003611414636376416023764 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=man+of+steel&language=en-US&page=1 response: body: string: "{\"page\":1,\"results\":[{\"adult\":false,\"backdrop_path\":\"/4oYBCR2CWtKpfkOKCzpmlE5EdxY.jpg\",\"genre_ids\":[28,12,878],\"id\":49521,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind.\",\"popularity\":95.663,\"poster_path\":\"/dksTL9NXc3GqPBRHYHcy1aIwjS.jpg\",\"release_date\":\"2013-06-12\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":6.623,\"vote_count\":14763},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[18],\"id\":334166,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"Jeff Forbes, president of Alliance Steel, takes his wife and son Kevin on a trip to the Yukon for a hunting trip with \\\"utterly godless\\\" drunkard Klondike Joe. But - surprise! - Klondike Joe is no longer a drunk. Instead, he\u2019s been \\\"converted by this BARRY MOORE fellow,\\\" a real-life evangelist who \\\"transformed\\\" Joe and now starts on Jeff and Kevin. Sure enough, not only does Jeff start reading the Bible, but loses interest in the company because he\u2019s \\\"had a transforming experience with Jesus Christ!\\\" Kevin, on the other hand, becomes a teenage drunk after his white-trash girlfriend Dana tries to lure him away from religion with parties and \xAD gasp! - bottles of beer. But when one of Kevin\u2019s drunken buddies puts on a dress and falls off the roof of a house, Kevin wants to take Dana to Barry\u2019s Big Crusade.\",\"popularity\":0.875,\"poster_path\":\"/4b3PEKi1yJLXriRjGfzo2mz7STx.jpg\",\"release_date\":\"1967-03-25\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":1.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[14,18,10751,10749],\"id\":319179,\"original_language\":\"nl\",\"original_title\":\"Man van staal\",\"overview\":\"A romantic and funny coming-of-age story. Victor, a 13-year-old boy, is desperately looking for his First Kiss. When that First Kiss comes too close, Victor seeks refuge in his imagination, becoming the Man of Steel who has no emotions, because tears will make him rust. But no Man of Steel can resist Fania, a 13-year-old girl, for very long.\",\"popularity\":3.579,\"poster_path\":\"/dYcPrJVm5twFb0TvOY19LBS5WX6.jpg\",\"release_date\":\"1999-10-13\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":3.8,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,36],\"id\":685611,\"original_language\":\"en\",\"original_title\":\"Stalin: Man of Steel\",\"overview\":\"Emmy Awards nominee for \\\"Outstanding Individual Achievement in a Craft: Research: Multi-faceted portrait of the man who succeeded Lenin as the head of the Soviet Union. With a captivating blend of period documents, newly-released information, newsreel and archival footage and interviews with experts, the program examines his rise to power, deconstructs the cult of personality that helped him maintain an iron grip over his vast empire, and analyzes the policies he introduced, including the deadly expansion of the notorious gulags where he banished so many of his countrymen to certain death.\",\"popularity\":3.102,\"poster_path\":\"/54AMJ8hdITnrbzvjfs6Fkqk4xXD.jpg\",\"release_date\":\"2003-01-01\",\"title\":\"Stalin: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,35,10770],\"id\":464654,\"original_language\":\"en\",\"original_title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"overview\":\"A humourous telling of the history of the comic book superhero.\",\"popularity\":8.046,\"poster_path\":\"/kkifsxOe4jDrpEdfA7DkcWKgTMA.jpg\",\"release_date\":\"1988-02-29\",\"title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"video\":false,\"vote_average\":7.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/eC5uZFXwFHPecN210kkCXUDdm2t.jpg\",\"genre_ids\":[99],\"id\":919038,\"original_language\":\"en\",\"original_title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"overview\":\"George Stephanopoulos sits down with former MI6 spy Christopher Steele for a worldwide exclusive interview, marking his first interview since the publication of the series of intelligence reports now known as the Steele dossier.\",\"popularity\":1.853,\"poster_path\":\"/7ZZgZxc6wlULPM5QMKxgBZEEZI2.jpg\",\"release_date\":\"2021-10-18\",\"title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"video\":false,\"vote_average\":4.5,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1097217,\"original_language\":\"en\",\"original_title\":\"The Man of Steel\",\"overview\":\"A look back at the boxing career of Tony Zale who rose from the steel mills of Indiana to become the middleweight champion of the world.\",\"popularity\":1.246,\"poster_path\":\"/1JlDy9c9lVEa9EGvu4zTNeNSvyr.jpg\",\"release_date\":\"2022-08-10\",\"title\":\"The Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":543138,\"original_language\":\"en\",\"original_title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"overview\":\"Copperhead is caught in the crushing grip of The Robot.\",\"popularity\":0.108,\"poster_path\":\"/8bRZlUWOmjx258VHPYWHGWWu8fy.jpg\",\"release_date\":\"1940-12-05\",\"title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1276700,\"original_language\":\"en\",\"original_title\":\"Richard Serra: Man of Steel\",\"overview\":\"Sculptor and giant of modern art Richard Serra discusses his extraordinary life and work. A creator of enormous, immediately identifiable steel sculptures that both terrify and mesmerise, Serra believes that each viewer creates the sculpture for themselves by being within it. \ To this end, a Japanese family are reminded of the Temples of Kyoto, a Londoner finds sanctuary in the Serra near Liverpool Street station, and most movingly, a Holocaust survivor sees one piece as a wall separating the living from the dead. Contributors include Chuck Close, Philip Glass and Glenn D Lowry, Director of MoMA.\",\"popularity\":0.61,\"poster_path\":null,\"release_date\":\"2008-11-25\",\"title\":\"Richard Serra: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/hQeTECSZlww14OBOTh8dpnmjeJw.jpg\",\"genre_ids\":[99],\"id\":543195,\"original_language\":\"en\",\"original_title\":\"World War Two: 1941 and the Man of Steel\",\"overview\":\"This is an interesting documentary about Stalin, his rise to power, and the invasion of the USSR by Germany in WWII. It's split into two parts, the first a general overview of the early history. The second part is the details of WWII and after. David Reynolds does an excellent job of explaining what happened with snippets from diaries, letters and other contemporaneous accounts. Well-assembled historical work.\",\"popularity\":0.664,\"poster_path\":\"/gN3qZenyWftLDX0ZU1RN4eSjBOs.jpg\",\"release_date\":\"2011-06-13\",\"title\":\"World War Two: 1941 and the Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/5fX1oSGuYdKgwWmUTAN5MNSQGzr.jpg\",\"genre_ids\":[28,12,14],\"id\":209112,\"original_language\":\"en\",\"original_title\":\"Batman v Superman: Dawn of Justice\",\"overview\":\"Fearing the actions of a god-like Super Hero left unchecked, Gotham City\u2019s own formidable, forceful vigilante takes on Metropolis\u2019s most revered, modern-day savior, while the world wrestles with what sort of hero it really needs. And with Batman and Superman at war with one another, a new threat quickly arises, putting mankind in greater danger than it\u2019s ever known before.\",\"popularity\":87.987,\"poster_path\":\"/5UsK3grJvtQrtzEgqNlDljJW96w.jpg\",\"release_date\":\"2016-03-23\",\"title\":\"Batman v Superman: Dawn of Justice\",\"video\":false,\"vote_average\":5.966,\"vote_count\":17583},{\"adult\":false,\"backdrop_path\":\"/ojYrDpRiML9himdedd5huAkKGFf.jpg\",\"genre_ids\":[28,18,80],\"id\":92679,\"original_language\":\"zh\",\"original_title\":\"\u4EC7\u9023\u74B0\",\"overview\":\"Man of Iron was positioned as something of a follow-up to Boxer From Shantung, the rise-and-fall story of Ma Yung Chen and it reunites the directors and some of the cast in a similar but much slighter tale of a lesser gangster's rise and fall in Shanghai. While the opening narration specifically recalls the events and tragic conclusion of BOXER, this one is set 20 years later in the same section of Shanghai but otherwise has nothing to do with the events or characters of the previous film.\",\"popularity\":5.462,\"poster_path\":\"/olnMdMunyQzZdizsH8hlAObhTJk.jpg\",\"release_date\":\"1972-10-13\",\"title\":\"Man of Iron\",\"video\":false,\"vote_average\":6.286,\"vote_count\":7},{\"adult\":false,\"backdrop_path\":\"/1r572PNdY4MoVn6lMGdcahFrajL.jpg\",\"genre_ids\":[37],\"id\":138138,\"original_language\":\"es\",\"original_title\":\"L'uomo dalla pistola d'oro\",\"overview\":\"Doc McGregor, former surgeon become player, is wrongly accused of murder and pursued by Slade, a bounty hunter. In his escape he finds Larry Kitchener's corpse and decides to impersonate him. But his problems get worse as Kitchener was a famous gunslinger hired as sheriff for the people from Baldosas to stop Reyes, a Mexican bandit who has terrorized them.\",\"popularity\":5.878,\"poster_path\":\"/3FqujMYtDSsAcnjkf4J2LrhkDD6.jpg\",\"release_date\":\"1965-12-07\",\"title\":\"Doc, Hands of Steel\",\"video\":false,\"vote_average\":5.75,\"vote_count\":5}],\"total_pages\":1,\"total_results\":13}" headers: Age: - '553' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=8594 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:54:00 GMT ETag: - W/"cba402e4a530e0861c248add3217fba6" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 923c2d2f00d1c4aa09564e5db1f3c7a8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - mIy_005lm7NqPO6utxlfJXi7l24DdkhCelyJxuIKoFRmQccAmdcoKA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '17935' x-memc-expires: - '8594' x-memc-key: - 58015024cad18b088f714b2f76f51c12 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/movie/49521?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"adult":false,"backdrop_path":"/4oYBCR2CWtKpfkOKCzpmlE5EdxY.jpg","belongs_to_collection":{"id":209131,"name":"Man of Steel Collection","poster_path":"/rNnIW6xSPeTiIUtsfEhFeIRiJVv.jpg","backdrop_path":"/rPaqhsSMCky0UXVW4qmNOJq5Orp.jpg"},"budget":225000000,"genres":[{"id":28,"name":"Action"},{"id":12,"name":"Adventure"},{"id":878,"name":"Science Fiction"}],"homepage":"https://www.warnerbros.com/movies/man-steel","id":49521,"imdb_id":"tt0770828","origin_country":["US"],"original_language":"en","original_title":"Man of Steel","overview":"A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind.","popularity":95.663,"poster_path":"/dksTL9NXc3GqPBRHYHcy1aIwjS.jpg","production_companies":[{"id":9993,"logo_path":"/2Tc1P3Ac8M479naPp1kYT3izLS5.png","name":"DC Entertainment","origin_country":"US"},{"id":9996,"logo_path":"/3tvBqYsBhxWeHlu62SIJ1el93O7.png","name":"Syncopy","origin_country":"GB"},{"id":16774,"logo_path":null,"name":"Peters Entertainment","origin_country":"US"},{"id":174,"logo_path":"/zhD3hhtKB5qyv7ZeL4uLpNxgMVU.png","name":"Warner Bros. Pictures","origin_country":"US"}],"production_countries":[{"iso_3166_1":"GB","name":"United Kingdom"},{"iso_3166_1":"US","name":"United States of America"}],"release_date":"2013-06-12","revenue":668045518,"runtime":143,"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Released","tagline":"You will believe that a man can fly.","title":"Man of Steel","video":false,"vote_average":6.623,"vote_count":14763,"external_ids":{"imdb_id":"tt0770828","wikidata_id":"Q622769","facebook_id":"manofsteel","instagram_id":null,"twitter_id":null}}' headers: Age: - '553' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=6004 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:54:00 GMT ETag: - W/"0b0649ec29438c455f4ececbdfc3f666" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 9bc25d3cccecc51547f094bc2aa70ef4.cloudfront.net (CloudFront) X-Amz-Cf-Id: - GH1ZjBLgufdKlWBuyI39k-VbfEwaM-igbvqO6SHb9g5dsVx5vRABoQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_refine_movie_guess_alternative_title.yaml0000644000175100001770000001202314636376416030762 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Jack+Reacher&language=en-US&page=1&year=2016 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/ww1eIoywghjoMzRLRIcbJLuKnJH.jpg","genre_ids":[28,53],"id":343611,"original_language":"en","original_title":"Jack Reacher: Never Go Back","overview":"When Major Susan Turner is arrested for treason, ex-investigator Jack Reacher undertakes the challenging task to prove her innocence and ends up exposing a shocking conspiracy.","popularity":51.039,"poster_path":"/cOg3UT2NYWHZxp41vpxAnVCOC4M.jpg","release_date":"2016-10-19","title":"Jack Reacher: Never Go Back","video":false,"vote_average":5.974,"vote_count":4705}],"total_pages":1,"total_results":1}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=26297 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:47:56 GMT ETag: - W/"489c4eff8ac87a6ea20d84d4b56101dd" Server: - openresty Transfer-Encoding: - chunked Vary: - accept-encoding - Origin Via: - 1.1 2982304f906b538b26d5fd128f6030ec.cloudfront.net (CloudFront) X-Amz-Cf-Id: - h44SB3bPs3DrvnXlbXek_HW8X6YvXnEQpLg30CsK0794506_4jE-7w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - RefreshHit from cloudfront x-memc: - HIT x-memc-age: - '10750' x-memc-expires: - '10957' x-memc-key: - 658b2f9578640af48a6f02baad1a326d status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/movie/343611?api_key=3dac925d5d494853ea6ef9161011fbb3&append_to_response=external_ids response: body: string: '{"adult":false,"backdrop_path":"/ww1eIoywghjoMzRLRIcbJLuKnJH.jpg","belongs_to_collection":{"id":403374,"name":"Jack Reacher Collection","poster_path":"/qtafXiYDUMKxzsssU41qWey5oiT.jpg","backdrop_path":"/vViRXFnSyGJ2fzMbcc5sqTKswcd.jpg"},"budget":60000000,"genres":[{"id":28,"name":"Action"},{"id":53,"name":"Thriller"}],"homepage":"","id":343611,"imdb_id":"tt3393786","origin_country":["US"],"original_language":"en","original_title":"Jack Reacher: Never Go Back","overview":"When Major Susan Turner is arrested for treason, ex-investigator Jack Reacher undertakes the challenging task to prove her innocence and ends up exposing a shocking conspiracy.","popularity":51.039,"poster_path":"/cOg3UT2NYWHZxp41vpxAnVCOC4M.jpg","production_companies":[{"id":82819,"logo_path":"/gXfFl9pRPaoaq14jybEn1pHeldr.png","name":"Skydance Media","origin_country":"US"},{"id":83645,"logo_path":null,"name":"Huahua Media","origin_country":"CN"},{"id":3407,"logo_path":"/iVMjKOFyRvm9PW45lW1wW6TSvnj.png","name":"Shanghai Film Group","origin_country":"CN"},{"id":21777,"logo_path":null,"name":"TC Productions","origin_country":"US"},{"id":4,"logo_path":"/gz66EfNoYPqHTYI4q9UEN4CbHRc.png","name":"Paramount","origin_country":"US"}],"production_countries":[{"iso_3166_1":"CN","name":"China"},{"iso_3166_1":"US","name":"United States of America"}],"release_date":"2016-10-19","revenue":162100000,"runtime":118,"spoken_languages":[{"english_name":"English","iso_639_1":"en","name":"English"}],"status":"Released","tagline":"Justice is Coming.","title":"Jack Reacher: Never Go Back","video":false,"vote_average":5.974,"vote_count":4705,"external_ids":{"imdb_id":"tt3393786","wikidata_id":null,"facebook_id":"JackReacherIT","instagram_id":"jackreacher","twitter_id":"jackreacher"}}' headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=17198 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:47:56 GMT ETag: - W/"1e18df1d6f6ef3e8086c0d4b17f10b4e" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 a1a9ff59f73590e3953b5ce6edfc8aa8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - LCzTaU6BxgoMYTOFTDh7IaVssqH59EsSVbX0x0Zu6cAChHRU1Q3MLQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie.yaml0000644000175100001770000002766414636376416023773 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Man+of+Steel&language=en-US&page=1 response: body: string: "{\"page\":1,\"results\":[{\"adult\":false,\"backdrop_path\":\"/4oYBCR2CWtKpfkOKCzpmlE5EdxY.jpg\",\"genre_ids\":[28,12,878],\"id\":49521,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind.\",\"popularity\":95.663,\"poster_path\":\"/dksTL9NXc3GqPBRHYHcy1aIwjS.jpg\",\"release_date\":\"2013-06-12\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":6.623,\"vote_count\":14763},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[18],\"id\":334166,\"original_language\":\"en\",\"original_title\":\"Man of Steel\",\"overview\":\"Jeff Forbes, president of Alliance Steel, takes his wife and son Kevin on a trip to the Yukon for a hunting trip with \\\"utterly godless\\\" drunkard Klondike Joe. But - surprise! - Klondike Joe is no longer a drunk. Instead, he\u2019s been \\\"converted by this BARRY MOORE fellow,\\\" a real-life evangelist who \\\"transformed\\\" Joe and now starts on Jeff and Kevin. Sure enough, not only does Jeff start reading the Bible, but loses interest in the company because he\u2019s \\\"had a transforming experience with Jesus Christ!\\\" Kevin, on the other hand, becomes a teenage drunk after his white-trash girlfriend Dana tries to lure him away from religion with parties and \xAD gasp! - bottles of beer. But when one of Kevin\u2019s drunken buddies puts on a dress and falls off the roof of a house, Kevin wants to take Dana to Barry\u2019s Big Crusade.\",\"popularity\":0.875,\"poster_path\":\"/4b3PEKi1yJLXriRjGfzo2mz7STx.jpg\",\"release_date\":\"1967-03-25\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":1.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[14,18,10751,10749],\"id\":319179,\"original_language\":\"nl\",\"original_title\":\"Man van staal\",\"overview\":\"A romantic and funny coming-of-age story. Victor, a 13-year-old boy, is desperately looking for his First Kiss. When that First Kiss comes too close, Victor seeks refuge in his imagination, becoming the Man of Steel who has no emotions, because tears will make him rust. But no Man of Steel can resist Fania, a 13-year-old girl, for very long.\",\"popularity\":3.579,\"poster_path\":\"/dYcPrJVm5twFb0TvOY19LBS5WX6.jpg\",\"release_date\":\"1999-10-13\",\"title\":\"Man of Steel\",\"video\":false,\"vote_average\":3.8,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,36],\"id\":685611,\"original_language\":\"en\",\"original_title\":\"Stalin: Man of Steel\",\"overview\":\"Emmy Awards nominee for \\\"Outstanding Individual Achievement in a Craft: Research: Multi-faceted portrait of the man who succeeded Lenin as the head of the Soviet Union. With a captivating blend of period documents, newly-released information, newsreel and archival footage and interviews with experts, the program examines his rise to power, deconstructs the cult of personality that helped him maintain an iron grip over his vast empire, and analyzes the policies he introduced, including the deadly expansion of the notorious gulags where he banished so many of his countrymen to certain death.\",\"popularity\":3.102,\"poster_path\":\"/54AMJ8hdITnrbzvjfs6Fkqk4xXD.jpg\",\"release_date\":\"2003-01-01\",\"title\":\"Stalin: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,35,10770],\"id\":464654,\"original_language\":\"en\",\"original_title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"overview\":\"A humourous telling of the history of the comic book superhero.\",\"popularity\":8.046,\"poster_path\":\"/kkifsxOe4jDrpEdfA7DkcWKgTMA.jpg\",\"release_date\":\"1988-02-29\",\"title\":\"Superman's 50th Anniversary: A Celebration of the Man of Steel\",\"video\":false,\"vote_average\":7.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/eC5uZFXwFHPecN210kkCXUDdm2t.jpg\",\"genre_ids\":[99],\"id\":919038,\"original_language\":\"en\",\"original_title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"overview\":\"George Stephanopoulos sits down with former MI6 spy Christopher Steele for a worldwide exclusive interview, marking his first interview since the publication of the series of intelligence reports now known as the Steele dossier.\",\"popularity\":1.853,\"poster_path\":\"/7ZZgZxc6wlULPM5QMKxgBZEEZI2.jpg\",\"release_date\":\"2021-10-18\",\"title\":\"Out of the Shadows: The Man Behind the Steele Dossier\",\"video\":false,\"vote_average\":4.5,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1097217,\"original_language\":\"en\",\"original_title\":\"The Man of Steel\",\"overview\":\"A look back at the boxing career of Tony Zale who rose from the steel mills of Indiana to become the middleweight champion of the world.\",\"popularity\":1.246,\"poster_path\":\"/1JlDy9c9lVEa9EGvu4zTNeNSvyr.jpg\",\"release_date\":\"2022-08-10\",\"title\":\"The Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":543138,\"original_language\":\"en\",\"original_title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"overview\":\"Copperhead is caught in the crushing grip of The Robot.\",\"popularity\":0.108,\"poster_path\":\"/8bRZlUWOmjx258VHPYWHGWWu8fy.jpg\",\"release_date\":\"1940-12-05\",\"title\":\"Mysterious Doctor Satan: Doctor Satan's Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1276700,\"original_language\":\"en\",\"original_title\":\"Richard Serra: Man of Steel\",\"overview\":\"Sculptor and giant of modern art Richard Serra discusses his extraordinary life and work. A creator of enormous, immediately identifiable steel sculptures that both terrify and mesmerise, Serra believes that each viewer creates the sculpture for themselves by being within it. \ To this end, a Japanese family are reminded of the Temples of Kyoto, a Londoner finds sanctuary in the Serra near Liverpool Street station, and most movingly, a Holocaust survivor sees one piece as a wall separating the living from the dead. Contributors include Chuck Close, Philip Glass and Glenn D Lowry, Director of MoMA.\",\"popularity\":0.61,\"poster_path\":null,\"release_date\":\"2008-11-25\",\"title\":\"Richard Serra: Man of Steel\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/hQeTECSZlww14OBOTh8dpnmjeJw.jpg\",\"genre_ids\":[99],\"id\":543195,\"original_language\":\"en\",\"original_title\":\"World War Two: 1941 and the Man of Steel\",\"overview\":\"This is an interesting documentary about Stalin, his rise to power, and the invasion of the USSR by Germany in WWII. It's split into two parts, the first a general overview of the early history. The second part is the details of WWII and after. David Reynolds does an excellent job of explaining what happened with snippets from diaries, letters and other contemporaneous accounts. Well-assembled historical work.\",\"popularity\":0.664,\"poster_path\":\"/gN3qZenyWftLDX0ZU1RN4eSjBOs.jpg\",\"release_date\":\"2011-06-13\",\"title\":\"World War Two: 1941 and the Man of Steel\",\"video\":false,\"vote_average\":10.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/5fX1oSGuYdKgwWmUTAN5MNSQGzr.jpg\",\"genre_ids\":[28,12,14],\"id\":209112,\"original_language\":\"en\",\"original_title\":\"Batman v Superman: Dawn of Justice\",\"overview\":\"Fearing the actions of a god-like Super Hero left unchecked, Gotham City\u2019s own formidable, forceful vigilante takes on Metropolis\u2019s most revered, modern-day savior, while the world wrestles with what sort of hero it really needs. And with Batman and Superman at war with one another, a new threat quickly arises, putting mankind in greater danger than it\u2019s ever known before.\",\"popularity\":87.987,\"poster_path\":\"/5UsK3grJvtQrtzEgqNlDljJW96w.jpg\",\"release_date\":\"2016-03-23\",\"title\":\"Batman v Superman: Dawn of Justice\",\"video\":false,\"vote_average\":5.966,\"vote_count\":17583},{\"adult\":false,\"backdrop_path\":\"/ojYrDpRiML9himdedd5huAkKGFf.jpg\",\"genre_ids\":[28,18,80],\"id\":92679,\"original_language\":\"zh\",\"original_title\":\"\u4EC7\u9023\u74B0\",\"overview\":\"Man of Iron was positioned as something of a follow-up to Boxer From Shantung, the rise-and-fall story of Ma Yung Chen and it reunites the directors and some of the cast in a similar but much slighter tale of a lesser gangster's rise and fall in Shanghai. While the opening narration specifically recalls the events and tragic conclusion of BOXER, this one is set 20 years later in the same section of Shanghai but otherwise has nothing to do with the events or characters of the previous film.\",\"popularity\":5.462,\"poster_path\":\"/olnMdMunyQzZdizsH8hlAObhTJk.jpg\",\"release_date\":\"1972-10-13\",\"title\":\"Man of Iron\",\"video\":false,\"vote_average\":6.286,\"vote_count\":7},{\"adult\":false,\"backdrop_path\":\"/1r572PNdY4MoVn6lMGdcahFrajL.jpg\",\"genre_ids\":[37],\"id\":138138,\"original_language\":\"es\",\"original_title\":\"L'uomo dalla pistola d'oro\",\"overview\":\"Doc McGregor, former surgeon become player, is wrongly accused of murder and pursued by Slade, a bounty hunter. In his escape he finds Larry Kitchener's corpse and decides to impersonate him. But his problems get worse as Kitchener was a famous gunslinger hired as sheriff for the people from Baldosas to stop Reyes, a Mexican bandit who has terrorized them.\",\"popularity\":5.878,\"poster_path\":\"/3FqujMYtDSsAcnjkf4J2LrhkDD6.jpg\",\"release_date\":\"1965-12-07\",\"title\":\"Doc, Hands of Steel\",\"video\":false,\"vote_average\":5.75,\"vote_count\":5}],\"total_pages\":1,\"total_results\":13}" headers: Age: - '554' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=8597 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:57 GMT ETag: - W/"cba402e4a530e0861c248add3217fba6" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 07b26b5e851ab857ec87e6df0aa7882e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - y1SeOx-O_toC0TnzeZtOiVglEelZHikBLdCVDDtqe0PjCH7FjF1mHQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '17932' x-memc-expires: - '8597' x-memc-key: - 58015024cad18b088f714b2f76f51c12 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_page.yaml0000644000175100001770000003213714636376416024756 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=James+Bond&language=en-US&page=2 response: body: string: "{\"page\":2,\"results\":[{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":264022,\"original_language\":\"en\",\"original_title\":\"In Search of James Bond with Jonathan Ross\",\"overview\":\"Jonathan Ross delves into the world of James Bond and meets with new and former cast members who reveal humorous stories and anecdotes in a series of interviews. All the 5 Bonds at the time are featured, though only Lazenby (reflecting in the usual frank, self criticizing manner), Moore and Brosnan granted an interview. Connery and Dalton are featured through some unused footage from LWT's 30 years of James Bond program. The ever faithful Desmond Llewelyn turns up in character as well as some other less related peeps like Christopher Lee, Paul McCartney and the ultimate playboy: Hugh Hefner -- who all give an interesting perspective on the worlds most famous spy.\",\"popularity\":3.626,\"poster_path\":\"/d416YCqX42GzWaX6uzRe8iCnGtd.jpg\",\"release_date\":\"1995-12-10\",\"title\":\"In Search of James Bond with Jonathan Ross\",\"video\":false,\"vote_average\":3.0,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":264017,\"original_language\":\"en\",\"original_title\":\"30 Years of James Bond\",\"overview\":\"An examination of why the James Bond films have proved so popular including a discussion between the four actors who have played Bond, an interview with Cubby Broccoli and contributions from the directors, production designers, special effects and stuntmen.\",\"popularity\":4.164,\"poster_path\":\"/nNSkinqAnUdOlbHG8EG3fWloSsf.jpg\",\"release_date\":\"1992-10-03\",\"title\":\"30 Years of James Bond\",\"video\":false,\"vote_average\":5.3,\"vote_count\":3},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":696912,\"original_language\":\"en\",\"original_title\":\"The Incredible World of James Bond\",\"overview\":\"This promotional film was aired on American television on 26 November 1965, one month before the release of Thunderball (1965). Narrated by Alexander Scourby, the 48 minute documentary aired as a one hour special. It included footage of the filming at Silverstone Racetrack, Northamptonshire and of the fight aboard the Disco Volante at Pinewood Studios; media coverage of Martine Beswick, Luciana Paluzzi and Claudine Auger; and archive footage of Ian Fleming at 'Goldeneye', Jamaica.\",\"popularity\":4.731,\"poster_path\":\"/yvkZlSh4h3ry2GJq0yJxB19OfrV.jpg\",\"release_date\":\"1965-11-26\",\"title\":\"The Incredible World of James Bond\",\"video\":false,\"vote_average\":6.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":433250,\"original_language\":\"hi\",\"original_title\":\"James Bond 777\",\"overview\":\"The adventures of Kishore, a \\\"James Bond 777\\\" CBI agent, as he and heroine Sopa battle criminal mastermind \\\"Boss\\\" and his gang which includes whip-cracking Jamilla and a trio of highly trained dogs.\",\"popularity\":0.636,\"poster_path\":\"/bjRcdYNo7DX0WPegTAAvZAxKtPu.jpg\",\"release_date\":\"1971-01-01\",\"title\":\"James Bond 777\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":685340,\"original_language\":\"en\",\"original_title\":\"James Bond's Greatest Hits\",\"overview\":\"A review of the best James Bond songs\",\"popularity\":0.282,\"poster_path\":\"/mQHrQvIzK3KX18fQ9IEj1h1uXQA.jpg\",\"release_date\":\"\",\"title\":\"James Bond's Greatest Hits\",\"video\":true,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/piYhvgz5Epk8URWPKdMUtdXvXV.jpg\",\"genre_ids\":[35],\"id\":940829,\"original_language\":\"en\",\"original_title\":\"James Bond vs Nan\",\"overview\":\"James Bond joins a call to talk with M but is surprised to stumble across Nan (Catherine Tate), who is cleaning the office.\",\"popularity\":4.049,\"poster_path\":\"/kxqyFDJhAoQqttnRQzBauoKv0uZ.jpg\",\"release_date\":\"2021-03-20\",\"title\":\"James Bond vs Nan\",\"video\":false,\"vote_average\":8.4,\"vote_count\":4},{\"adult\":false,\"backdrop_path\":\"/wmeaIRdbWrSWxzdESsQDA4rAuSM.jpg\",\"genre_ids\":[35,28],\"id\":896864,\"original_language\":\"te\",\"original_title\":\"Lady James Bond\",\"overview\":\"Indian superspy Lady James Bond is assigned to protect a professor and his top-secret research.\",\"popularity\":0.418,\"poster_path\":\"/rxB8DXkWgvFFSQTbYWWLUdpGsNd.jpg\",\"release_date\":\"1985-05-01\",\"title\":\"Lady James Bond\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":763411,\"original_language\":\"fr\",\"original_title\":\"Stierlitz, le James Bond russe\",\"overview\":\"\",\"popularity\":0.178,\"poster_path\":\"/xmC3HLzNbeU8WfMXV72KCAdS0v0.jpg\",\"release_date\":\"2020-11-11\",\"title\":\"Stierlitz, le James Bond russe\",\"video\":false,\"vote_average\":8.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99,10770],\"id\":508744,\"original_language\":\"de\",\"original_title\":\"James Bond: The First 21 Years\",\"overview\":\"A look back at the first 21 years of Britain's most successful film series.\",\"popularity\":5.183,\"poster_path\":\"/i27tAbaQBSNMWzcv8QCwfMCxmkz.jpg\",\"release_date\":\"1983-05-27\",\"title\":\"James Bond: The First 21 Years\",\"video\":false,\"vote_average\":5.0,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[],\"id\":368235,\"original_language\":\"en\",\"original_title\":\"James Bond: License to Thrill\",\"overview\":\"Promotional documentary television special celebrating the 25th Anniversary of James Bond and release of the then new James Bond film _Living Daylights, The (1987)_.\",\"popularity\":0.077,\"poster_path\":null,\"release_date\":\"\",\"title\":\"James Bond: License to Thrill\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":368155,\"original_language\":\"en\",\"original_title\":\"Happy Anniversary 007: 25 Years of James Bond\",\"overview\":\"An hour documentary on the history of Bond for the 25th anniversary of the film series.\",\"popularity\":3.973,\"poster_path\":\"/7YqTYxzukFJzwlfrxpqqd32Vecj.jpg\",\"release_date\":\"1987-05-13\",\"title\":\"Happy Anniversary 007: 25 Years of James Bond\",\"video\":false,\"vote_average\":6.1,\"vote_count\":7},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[28],\"id\":822110,\"original_language\":\"en\",\"original_title\":\"Daniel Craig vs James Bond\",\"overview\":\"Starting with a high-speed taxi sequence, Daniel is constantly recognized as James Bond by surprised locals as he hunts down his missing passport.\",\"popularity\":1.821,\"poster_path\":\"/7hknQnJPd5lfrW1QFJUxmSxp3e4.jpg\",\"release_date\":\"2020-01-25\",\"title\":\"Daniel Craig vs James Bond\",\"video\":false,\"vote_average\":4.5,\"vote_count\":2},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[28,16],\"id\":332654,\"original_language\":\"en\",\"original_title\":\"James Bond: In Service of Nothing\",\"overview\":\"An aging former super spy struggles to find his place in a self absorbed world without boarders, where service to one's nation is an antiquated concept.\",\"popularity\":1.805,\"poster_path\":null,\"release_date\":\"2015-03-02\",\"title\":\"James Bond: In Service of Nothing\",\"video\":false,\"vote_average\":7.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":827281,\"original_language\":\"en\",\"original_title\":\"James Bond in the Bahamas\",\"overview\":\"A documentary about James Bond in the Bahamas.\",\"popularity\":4.148,\"poster_path\":null,\"release_date\":\"2008-10-21\",\"title\":\"James Bond in the Bahamas\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":null,\"genre_ids\":[99],\"id\":1180189,\"original_language\":\"en\",\"original_title\":\"The Guns of James Bond\",\"overview\":\"Short 1964 black-and-white documentary featurette hosted by Sean Connery and featuring the real-life inspiration for the character of Q, Major Geoffrey Boothroyd with a discussion of the gun weaponry used by James Bond.\",\"popularity\":0.768,\"poster_path\":\"/gMovlYutnPE2h7BGRyaxQMgnhTf.jpg\",\"release_date\":\"1964-09-17\",\"title\":\"The Guns of James Bond\",\"video\":false,\"vote_average\":6.0,\"vote_count\":1},{\"adult\":false,\"backdrop_path\":\"/3CqMIX3ZlrD0pU3fpBL6DM0Cneb.jpg\",\"genre_ids\":[12,28,53,80],\"id\":10764,\"original_language\":\"en\",\"original_title\":\"Quantum of Solace\",\"overview\":\"Betrayed by Vesper, the woman he loved, 007 fights the urge to make his latest mission personal. Pursuing his determination to uncover the truth, Bond and M interrogate Mr. White, who reveals that the organization that blackmailed Vesper is far more complex and dangerous than anyone had imagined.\",\"popularity\":137.188,\"poster_path\":\"/e3DXXLJHGqMx9yYpXsql1XNljmM.jpg\",\"release_date\":\"2008-10-29\",\"title\":\"Quantum of Solace\",\"video\":false,\"vote_average\":6.3,\"vote_count\":7610},{\"adult\":false,\"backdrop_path\":\"/fQCsl9zyQcGkOYr8u7QYiPGMnIc.jpg\",\"genre_ids\":[99],\"id\":252362,\"original_language\":\"en\",\"original_title\":\"The Men Behind the Mayhem: The Special Effects of James Bond\",\"overview\":\"Documentary looking at the special effects from the bond movies and the men who created them. Narrated by Marie Clairu.\",\"popularity\":3.564,\"poster_path\":\"/g729oZhc8NMqbhNGcuTE4bNZ9h1.jpg\",\"release_date\":\"2000-01-25\",\"title\":\"The Men Behind the Mayhem: The Special Effects of James Bond\",\"video\":false,\"vote_average\":6.3,\"vote_count\":3},{\"adult\":false,\"backdrop_path\":\"/ykFpThRWBJFFouxcroZGLiNJoF6.jpg\",\"genre_ids\":[12,28,53],\"id\":36669,\"original_language\":\"en\",\"original_title\":\"Die Another Day\",\"overview\":\"James Bond is sent to investigate the connection between a North Korean terrorist and a diamond mogul, who is funding the development of an international space weapon.\",\"popularity\":153.045,\"poster_path\":\"/bZmGqOhMhaLn8AoFMvFDct4tbrL.jpg\",\"release_date\":\"2002-11-17\",\"title\":\"Die Another Day\",\"video\":false,\"vote_average\":5.981,\"vote_count\":3364},{\"adult\":false,\"backdrop_path\":\"/yzvifxX9OMlFGG11YYjaDNR95xq.jpg\",\"genre_ids\":[],\"id\":389491,\"original_language\":\"en\",\"original_title\":\"James Bond 50th Anniversary Gala Concert\",\"overview\":\"In 2012, to celebrate 50 years of James Bond films, the BBC broadcast a concert from the Royal Festival Hall in London celebrating the themes from Bond films over the years.\",\"popularity\":0.29,\"poster_path\":\"/iXREUxR8SAPihjoGVKsQ3VVQGKr.jpg\",\"release_date\":\"2012-12-14\",\"title\":\"James Bond 50th Anniversary Gala Concert\",\"video\":false,\"vote_average\":0.0,\"vote_count\":0},{\"adult\":false,\"backdrop_path\":\"/4mNEIpRylGtqJXdI3xzrUYh7Jf2.jpg\",\"genre_ids\":[99],\"id\":828826,\"original_language\":\"fr\",\"original_title\":\"Sean Connery, de James Bond \xE0 Indiana Jones\",\"overview\":\"\",\"popularity\":0.277,\"poster_path\":\"/nztpCQdCtTDIiVJ7KMMFQpPEEWs.jpg\",\"release_date\":\"2019-01-09\",\"title\":\"Sean Connery, de James Bond \xE0 Indiana Jones\",\"video\":false,\"vote_average\":6.0,\"vote_count\":1}],\"total_pages\":5,\"total_results\":81}" headers: Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=23171 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 22:28:57 GMT ETag: - W/"ce261e68a72a39fc1f93993413ecace5" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 5d25c31f47a198dbf50acf297a389a00.cloudfront.net (CloudFront) X-Amz-Cf-Id: - zRhn2rHW_s1eGWihe--8jDn-ToqJrvJ5Bc4Kmu7u4z2L9peY4RXUXg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront x-memc: - HIT x-memc-age: - '1552' x-memc-expires: - '23171' x-memc-key: - 62318023e63a028192e43268a9a94d7c status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_wrong_title.yaml0000644000175100001770000000275214636376416026377 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Meen+of+Stal&language=en-US&page=1 response: body: string: '{"page":1,"results":[],"total_pages":1,"total_results":0}' headers: Age: - '554' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=27805 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:58 GMT ETag: - W/"0e23279b004381f72a34159d5c7dfd1f" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 229645111d244444bdf50dba19c1f2c8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 2UjJs5Fm3j2QqXh7ycW7GxfHp-EUmoc__4p02dySEu9j82h14j6ndA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - MISS, STORE x-memc-age: - '0' x-memc-expires: - '27805' x-memc-key: - 48dfe98b26252d07dc935cf15aba5cd0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_movie_year.yaml0000644000175100001770000000423614636376416025001 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/movie?api_key=3dac925d5d494853ea6ef9161011fbb3&query=Man+of+Steel&language=en-US&page=1&year=2013 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/4oYBCR2CWtKpfkOKCzpmlE5EdxY.jpg","genre_ids":[28,12,878],"id":49521,"original_language":"en","original_title":"Man of Steel","overview":"A young boy learns that he has extraordinary powers and is not of this earth. As a young man, he journeys to discover where he came from and what he was sent here to do. But the hero in him must emerge if he is to save the world from annihilation and become the symbol of hope for all mankind.","popularity":95.663,"poster_path":"/dksTL9NXc3GqPBRHYHcy1aIwjS.jpg","release_date":"2013-06-12","title":"Man of Steel","video":false,"vote_average":6.623,"vote_count":14763}],"total_pages":1,"total_results":1}' headers: Age: - '554' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=10667 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:58 GMT ETag: - W/"b352efba0ff7725aa8560ba00660b3ff" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 d780d90e1f6b43875e14c416b368d3b6.cloudfront.net (CloudFront) X-Amz-Cf-Id: - OyvfvwQtXcjgc2WUAZrxbA6PCwUNhFodH-9tEMJn4CEw0uGWTumimw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '16346' x-memc-expires: - '10667' x-memc-key: - 3fed4b99e74a2821dfdba4d5bacbc98a status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_series.yaml0000644000175100001770000000466414636376416024141 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=The+Big+Bang+Theory&language=en-US&page=1 response: body: string: '{"page":1,"results":[{"adult":false,"backdrop_path":"/7RySzFeK3LPVMXcPtqfZnl6u4p1.jpg","genre_ids":[35],"id":1418,"origin_country":["US"],"original_language":"en","original_name":"The Big Bang Theory","overview":"Physicists Leonard and Sheldon find their nerd-centric social circle with pals Howard and Raj expanding when aspiring actress Penny moves in next door.","popularity":845.1,"poster_path":"/ooBGRQBdbGzBxAVfExiO8r7kloA.jpg","first_air_date":"2007-09-24","name":"The Big Bang Theory","vote_average":7.896,"vote_count":10910},{"adult":false,"backdrop_path":null,"genre_ids":[35],"id":239645,"origin_country":["US"],"original_language":"en","original_name":"Untitled ''The Big Bang Theory'' spinoff","overview":"This will be a spinoff for the popular TV series \"The Big Bang Theory\".","popularity":1.839,"poster_path":null,"first_air_date":"","name":"Untitled ''The Big Bang Theory'' spinoff","vote_average":0.0,"vote_count":0}],"total_pages":1,"total_results":2}' headers: Age: - '553' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=24165 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:58 GMT ETag: - W/"e893d04fd9263f507384818375d22587" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 f355844b811a4a5ec94df0918f0fb80c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - qGjVy2w_Gbk14WegdJKQ2c-OQpIk8sFn4Ts4O5YSBPoH_gCceBvRBA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - HIT x-memc-age: - '3225' x-memc-expires: - '24165' x-memc-key: - c709f17d5f15d43bc80cad8e740ddd85 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tmdb/test_search_series_wrong_name.yaml0000644000175100001770000000275614636376416026355 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.themoviedb.org/3/search/tv?api_key=3dac925d5d494853ea6ef9161011fbb3&query=The+Bing+Bag+Theory&language=en-US&page=1 response: body: string: '{"page":1,"results":[],"total_pages":1,"total_results":0}' headers: Age: - '553' Alt-Svc: - h3=":443"; ma=86400 Cache-Control: - public, max-age=27356 Connection: - keep-alive Content-Encoding: - br Content-Type: - application/json;charset=utf-8 Date: - Wed, 22 May 2024 14:53:59 GMT ETag: - W/"0e23279b004381f72a34159d5c7dfd1f" Server: - openresty Transfer-Encoding: - chunked Vary: - Accept-Encoding,accept-encoding - Origin Via: - 1.1 347b4531a9eb19c96c462a85600ac33a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 9dP4Rzc3GZjMIxUJG5q69FF60_wb4kWjiC8lif90lhnhNVG7joCy6A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront x-memc: - MISS, STORE x-memc-age: - '0' x-memc-expires: - '27356' x-memc-key: - 29c3efb0f62926bde22e547ff2b93c92 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6861813 subliminal-2.2.0/tests/cassettes/tvdb/0000755000175100001770000000000014636376432017374 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_get_series.yaml0000644000175100001770000000763514636376416023465 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTEsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDExfQ.baPlIWIb6fWdo7idT98r33GDpRT-A-7cl5gGp41jSzGMRp1Hpj8FWu7bNmMNlpiaU_wOclEBSWc6OpSuPl-FSEQJwI9TlqG8QlDWMwnjlje0srzns_I6IRDaCFNSZEWGhuq7Q4hReAMAyCy3OGC86WwJQ-PoznvQPLBdvDN4CbvgbpJZx7JEJ1X07EVy2bHcMFrc8zOYq37KfMUjjosdAxErBjZ429c7r2hA78_bWAAsB4mcgcQTp5nUG_VHL-d9apecEsRGFC-G2AWvG7Q6qJWBSWEX5nYPjUYilKGsqe_L3-XRIhxnBpbEg6vZ8nuh0dJxTuK4HKTIiyhudWB5Fw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:31 GMT Vary: - Accept-Language Via: - 1.1 1a8de953aa4aaf678d8f6dfdeeea9a46.cloudfront.net (CloudFront) X-Amz-Cf-Id: - nTeU7ZdU1yp80N5GygHydTp0WlOAV-eLghuSeiaIkzbRG8HCjj3TYQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTEsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDExfQ.baPlIWIb6fWdo7idT98r33GDpRT-A-7cl5gGp41jSzGMRp1Hpj8FWu7bNmMNlpiaU_wOclEBSWc6OpSuPl-FSEQJwI9TlqG8QlDWMwnjlje0srzns_I6IRDaCFNSZEWGhuq7Q4hReAMAyCy3OGC86WwJQ-PoznvQPLBdvDN4CbvgbpJZx7JEJ1X07EVy2bHcMFrc8zOYq37KfMUjjosdAxErBjZ429c7r2hA78_bWAAsB4mcgcQTp5nUG_VHL-d9apecEsRGFC-G2AWvG7Q6qJWBSWEX5nYPjUYilKGsqe_L3-XRIhxnBpbEg6vZ8nuh0dJxTuK4HKTIiyhudWB5Fw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379 response: body: string: '{"data":{"id":80379,"seriesId":"","seriesName":"The Big Bang Theory","aliases":[],"season":"12","poster":"posters/80379-18.jpg","banner":"graphical/80379-g23.jpg","fanart":"fanart/original/80379-38.jpg","status":"Ended","firstAired":"2007-09-24","network":"CBS","networkId":"57","runtime":"25","language":"en","genre":["Comedy","Romance"],"overview":"A woman who moves into an apartment across the hall from two brilliant but socially awkward physicists shows them how little they know about life outside of the laboratory.","lastUpdated":1716229863,"airsDayOfWeek":"Thursday","airsTime":"8:00 PM","rating":"TV-14","imdbId":"tt0898266","zap2itId":"","added":"2008-02-04 00:00:00","addedBy":1,"siteRating":8.8,"siteRatingCount":41886,"slug":"the-big-bang-theory"}}' headers: Age: - '38729' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '763' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:48:02 GMT Last-Modified: - Mon, 20 May 2024 18:31:03 GMT Vary: - Accept-Language Via: - 1.1 8b0fd9a74745a3290a9c7ffef7d75076.cloudfront.net (CloudFront) X-Amz-Cf-Id: - GJ1_eGQmAQ6ym1pS1CnUEEszoj9YnfiUZi967pGeiGKFW73qB8O15w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_actors.yaml0000644000175100001770000001342014636376416025025 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTIsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEyfQ.1Lu-Q6xIniiNn660Qms8vXHAcKjVX7XqRCoJz4KYrk9q_uGNGZUVcBNYe0SljeqNz4gHDMWVUZs-1qCdhIXciP77h5Gh00k-uHua_BiPJcgtyiQpsu4Zitg4WUkQlAsb0w1uHbUAuxH0WbBEBiiWKw82EwZ15iglu7hu2zGVT-gI-ZOWfmlL_Ld-YQrZ7a-ZibX8hhn8a81-25Wxk8wBJAU_z5Kd03zDXV7mINlob1RypYIndxvu8VUnb2c9k4eNCojE-QHiTR2IsvN8L6wF8yfrMrh_PC-wKluirWYS2L8qTZFh96st_fzxZLBNw2bBaclLCpD1Rgp7GwlX9nkJ_A"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:32 GMT Vary: - Accept-Language Via: - 1.1 68c9162ccc29f8f3ca30be36950cea58.cloudfront.net (CloudFront) X-Amz-Cf-Id: - IqaRO311puOmzQC6vNDXgdwv5xXNHCeGKEeceJoLg5ohMDW88WF4zw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTIsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEyfQ.1Lu-Q6xIniiNn660Qms8vXHAcKjVX7XqRCoJz4KYrk9q_uGNGZUVcBNYe0SljeqNz4gHDMWVUZs-1qCdhIXciP77h5Gh00k-uHua_BiPJcgtyiQpsu4Zitg4WUkQlAsb0w1uHbUAuxH0WbBEBiiWKw82EwZ15iglu7hu2zGVT-gI-ZOWfmlL_Ld-YQrZ7a-ZibX8hhn8a81-25Wxk8wBJAU_z5Kd03zDXV7mINlob1RypYIndxvu8VUnb2c9k4eNCojE-QHiTR2IsvN8L6wF8yfrMrh_PC-wKluirWYS2L8qTZFh96st_fzxZLBNw2bBaclLCpD1Rgp7GwlX9nkJ_A Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379/actors response: body: string: '{"data":[{"id":64621184,"seriesId":80379,"name":"Jim Parsons","role":"Sheldon Cooper","sortOrder":1,"image":"actors/325467.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:15:15","lastUpdated":"2019-06-09 10:15:15"},{"id":64621179,"seriesId":80379,"name":"Johnny Galecki","role":"Leonard Hofstadter","sortOrder":2,"image":"actors/325466.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:16:14","lastUpdated":"2019-06-09 10:16:14"},{"id":64621175,"seriesId":80379,"name":"Kaley Cuoco","role":"Penny","sortOrder":3,"image":"actors/325465.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:18:24","lastUpdated":"2019-06-09 10:18:24"},{"id":64621164,"seriesId":80379,"name":"Kunal Nayyar","role":"Rajesh Koothrappali","sortOrder":4,"image":"actors/325463.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:22:36","lastUpdated":"2019-06-09 10:22:36"},{"id":64621170,"seriesId":80379,"name":"Simon Helberg","role":"Howard Wolowitz","sortOrder":5,"image":"actors/325464.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:20:33","lastUpdated":"2019-06-09 10:20:33"},{"id":64621160,"seriesId":80379,"name":"Melissa Rauch","role":"Bernadette Rostenkowski","sortOrder":6,"image":"actors/325462.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:26:07","lastUpdated":"2019-06-09 10:26:07"},{"id":64621157,"seriesId":80379,"name":"Mayim Bialik","role":"Amy Farrah Fowler","sortOrder":7,"image":"actors/325461.jpg","imageAuthor":171,"imageAdded":"2019-06-09 10:24:19","lastUpdated":"2019-06-09 10:24:19"},{"id":64621188,"seriesId":80379,"name":"Laura Spencer","role":"Emily Sweeney","sortOrder":8,"image":"actors/358188.jpg","imageAuthor":123690,"imageAdded":"2015-10-20 21:50:07","lastUpdated":"2015-10-20 21:50:07"},{"id":64621192,"seriesId":80379,"name":"Sara Gilbert","role":"Leslie Winkle","sortOrder":9,"image":"actors/378343.jpg","imageAuthor":153951,"imageAdded":"2016-06-08 06:29:31","lastUpdated":"2016-06-08 06:29:31"},{"id":64621196,"seriesId":80379,"name":"Kevin Sussman","role":"Stuart Bloom","sortOrder":10,"image":"actors/378344.jpg","imageAuthor":122513,"imageAdded":"2016-05-17 08:36:29","lastUpdated":"2016-05-17 08:36:29"},{"id":64621200,"seriesId":80379,"name":"John Ross Bowie","role":"Barry Kripke","sortOrder":11,"image":"actors/382566.jpg","imageAuthor":153951,"imageAdded":"2016-06-08 06:26:32","lastUpdated":"2016-06-08 06:26:32"},{"id":64621204,"seriesId":80379,"name":"Carol Ann Susi","role":"Debbie Wolowitz","sortOrder":12,"image":"actors/403186.jpg","imageAuthor":161470,"imageAdded":"2016-12-08 17:03:27","lastUpdated":"2016-12-08 17:03:27"}]}' headers: Age: - '39623' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:33:09 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 f2dd3b65381fad5aad94ac94ad7043f8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - zT1ObAoVdMD2LAJxaJf_JRFz6VjAysWMopM2hIu-xHp0YCcq2BNCJg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_actors_wrong_id.yaml0000644000175100001770000000607214636376416026722 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTMsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEzfQ.pop3CJJhjHMHmJ3EHLf0ZYE2ORD-MFqBEi8w9yO9RlIbqkzTkyfLAiUOpflZ7AiASGnkdCLyFZagZKaHcK86YjHRBrrQOQ5jSCN13oVT2d7yOwFP6U4WSLiA8HdHIxLh0Jkh_mnyBUoFJSkJr12WiuouW8mi2HsSfPv1S5kS0m149atLnJFQxXh5BD1AzQaeED1RKNzVvktwGLXDe01yKxsk0xkOYFNDWt3kUh3thH8GwQrsEKn1-L7wxm5s-q7r3xSH7Hqt9RL--M2NVfgAAwmZy0l1-hMr6zJyNgaxx9ClTWbHWh83zIb3M_Op0Oa4iL7rsQ60xkvp96OjNBUbAw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:33 GMT Vary: - Accept-Language Via: - 1.1 5a9df1bcd5f48109e94a8e34d807b686.cloudfront.net (CloudFront) X-Amz-Cf-Id: - U2nsPyjuHOKknP9J4T1FAONBcCjKXsx5Mc_oDclhWlaZi8YeeCOnPg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTMsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEzfQ.pop3CJJhjHMHmJ3EHLf0ZYE2ORD-MFqBEi8w9yO9RlIbqkzTkyfLAiUOpflZ7AiASGnkdCLyFZagZKaHcK86YjHRBrrQOQ5jSCN13oVT2d7yOwFP6U4WSLiA8HdHIxLh0Jkh_mnyBUoFJSkJr12WiuouW8mi2HsSfPv1S5kS0m149atLnJFQxXh5BD1AzQaeED1RKNzVvktwGLXDe01yKxsk0xkOYFNDWt3kUh3thH8GwQrsEKn1-L7wxm5s-q7r3xSH7Hqt9RL--M2NVfgAAwmZy0l1-hMr6zJyNgaxx9ClTWbHWh83zIb3M_Op0Oa4iL7rsQ60xkvp96OjNBUbAw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/999999999/actors response: body: string: '{"data":[]}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '11' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:33 GMT Vary: - Accept-Language Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - qEsZe0BZb51fX6Ypz4CjxxqzcnmVXvC0y0Urlj0uEGWMAqnuHrFrLQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_get_series_wrong_id.yaml0000644000175100001770000000612314636376416025344 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTEsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDExfQ.baPlIWIb6fWdo7idT98r33GDpRT-A-7cl5gGp41jSzGMRp1Hpj8FWu7bNmMNlpiaU_wOclEBSWc6OpSuPl-FSEQJwI9TlqG8QlDWMwnjlje0srzns_I6IRDaCFNSZEWGhuq7Q4hReAMAyCy3OGC86WwJQ-PoznvQPLBdvDN4CbvgbpJZx7JEJ1X07EVy2bHcMFrc8zOYq37KfMUjjosdAxErBjZ429c7r2hA78_bWAAsB4mcgcQTp5nUG_VHL-d9apecEsRGFC-G2AWvG7Q6qJWBSWEX5nYPjUYilKGsqe_L3-XRIhxnBpbEg6vZ8nuh0dJxTuK4HKTIiyhudWB5Fw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:31 GMT Vary: - Accept-Language Via: - 1.1 229645111d244444bdf50dba19c1f2c8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - zDh9J_kXn9NCEM7fqaAe7AXKQk18o7wn_-uZk2qVbwHmY9Cg-w0J_g== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTEsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDExfQ.baPlIWIb6fWdo7idT98r33GDpRT-A-7cl5gGp41jSzGMRp1Hpj8FWu7bNmMNlpiaU_wOclEBSWc6OpSuPl-FSEQJwI9TlqG8QlDWMwnjlje0srzns_I6IRDaCFNSZEWGhuq7Q4hReAMAyCy3OGC86WwJQ-PoznvQPLBdvDN4CbvgbpJZx7JEJ1X07EVy2bHcMFrc8zOYq37KfMUjjosdAxErBjZ429c7r2hA78_bWAAsB4mcgcQTp5nUG_VHL-d9apecEsRGFC-G2AWvG7Q6qJWBSWEX5nYPjUYilKGsqe_L3-XRIhxnBpbEg6vZ8nuh0dJxTuK4HKTIiyhudWB5Fw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/999999999 response: body: string: '{"Error":"ID: 999999999 not found"}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '35' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:32 GMT Vary: - Accept-Language Via: - 1.1 923c2d2f00d1c4aa09564e5db1f3c7a8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - EFmcmA3nl3QE662FDA8y52TqNydK-MZJNAFbXkYKf87BtRdWO947OQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Error from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 404 message: Not Found version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_login.yaml0000644000175100001770000000304714636376416022435 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDcsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA3fQ.HKr4eY9wkRLS-OTtKmP02bVVMfm01DcoW1zLjGehgVHLPFnGBS8jxkTov9UwCgv9FAHtNfWlhWtXyeM1t0yaEPvMan87ASvGQo8ffeMr_r6rOv45yVn0VAznjcBOvI8HmdHcF_gXXJKGK5asCfRMXkb09xZCCdx19Xu--F885pBXfn79LWg3dJv5ykTLTFfYX_yy3MWTdn4qlNYR3QoZ4UGhsuPE-Bdh1IvQJa0x4LM_vQ61nsM1DdtNHoD7nyfUxDQ8uNwf8B-Tt6nK2oEecQVXkUEFPbKglr788A47KF3UzOvjF8AJFGYlVGLgGAiOMzcChEa9b-0JD8eU6WViQw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:27 GMT Vary: - Accept-Language Via: - 1.1 ebe6a6f6a4dd1a63623021825f18f4f8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - RtI1N_ZMCeIqRzR7I_gwRk76_JO0MgV556MWgJU5VYwwPF8bcSHVWg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_login_error.yaml0000644000175100001770000000223614636376416023645 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "1234", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '54' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"Error":"API Key Required"}' headers: Connection: - keep-alive Content-Length: - '28' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:26 GMT Vary: - Accept-Language Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) Www-Authenticate: - JWT realm=jwt auth X-Amz-Cf-Id: - CIgzZQPrUhfZr2R4FJsNaz1lUvLoOMvyGWjQWH_4ztWAWArbK3laIw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Error from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 401 message: Unauthorized version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_query_series_episodes.yaml0000644000175100001770000001053014636376416025732 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTMsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEzfQ.pop3CJJhjHMHmJ3EHLf0ZYE2ORD-MFqBEi8w9yO9RlIbqkzTkyfLAiUOpflZ7AiASGnkdCLyFZagZKaHcK86YjHRBrrQOQ5jSCN13oVT2d7yOwFP6U4WSLiA8HdHIxLh0Jkh_mnyBUoFJSkJr12WiuouW8mi2HsSfPv1S5kS0m149atLnJFQxXh5BD1AzQaeED1RKNzVvktwGLXDe01yKxsk0xkOYFNDWt3kUh3thH8GwQrsEKn1-L7wxm5s-q7r3xSH7Hqt9RL--M2NVfgAAwmZy0l1-hMr6zJyNgaxx9ClTWbHWh83zIb3M_Op0Oa4iL7rsQ60xkvp96OjNBUbAw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:33 GMT Vary: - Accept-Language Via: - 1.1 5a9df1bcd5f48109e94a8e34d807b686.cloudfront.net (CloudFront) X-Amz-Cf-Id: - Vlir5yLHiTAFYEh8TXGw3A3F-TZiTkvD78wjuOsWXc-X5p-4AACTWA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTMsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEzfQ.pop3CJJhjHMHmJ3EHLf0ZYE2ORD-MFqBEi8w9yO9RlIbqkzTkyfLAiUOpflZ7AiASGnkdCLyFZagZKaHcK86YjHRBrrQOQ5jSCN13oVT2d7yOwFP6U4WSLiA8HdHIxLh0Jkh_mnyBUoFJSkJr12WiuouW8mi2HsSfPv1S5kS0m149atLnJFQxXh5BD1AzQaeED1RKNzVvktwGLXDe01yKxsk0xkOYFNDWt3kUh3thH8GwQrsEKn1-L7wxm5s-q7r3xSH7Hqt9RL--M2NVfgAAwmZy0l1-hMr6zJyNgaxx9ClTWbHWh83zIb3M_Op0Oa4iL7rsQ60xkvp96OjNBUbAw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379/episodes/query?airedSeason=7&airedEpisode=5&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":4668379,"airedSeason":7,"airedSeasonID":522809,"airedEpisodeNumber":5,"episodeName":"The Workplace Proximity","firstAired":"2013-10-17","guestStars":["Ayumi Iizuka","Todd Eric Andrews"],"directors":["Mark Cendrowski"],"writers":["Chuck Lorre","Eric Kaplan","Jim Reynolds"],"overview":"Sheldon must decide how much \"Amy time\" is too much after she takes a job at his university, and their relationship is put to the test. Meanwhile, Howard finds himself sleeping on Raj''s couch after a fight with Bernadette.","language":{"episodeName":"en","overview":"en"},"productionCode":"4X5305","showUrl":"","lastUpdated":1592063484,"dvdDiscid":"","dvdSeason":7,"dvdEpisodeNumber":5,"dvdChapter":null,"absoluteNumber":140,"filename":"series/80379/episodes/5eaa0359d5874.jpg","seriesId":80379,"lastUpdatedBy":198416,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt3229392","contentRating":"TV-PG","thumbAuthor":198416,"thumbAdded":"2020-04-29 22:44:41","thumbWidth":"640","thumbHeight":"360","siteRating":7.7,"siteRatingCount":4973,"isMovie":0}]}' headers: Age: - '34327' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 05:01:25 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 4c13f73e83aaf9d7bee2c3b379c641d6.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 3EaR8biYWu91oaKVbwV3v43aWpGhfe3M7JQMPdQ6jMpsM0v0PGl3Nw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_query_series_episodes_wrong_season.yaml0000644000175100001770000000621314636376416030521 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:34 GMT Vary: - Accept-Language Via: - 1.1 42c937f806e6e43029a719b83b9a8612.cloudfront.net (CloudFront) X-Amz-Cf-Id: - HyrLaPS01OJVbUP_9DxUGBAiCuR7PkF7meh2Xx5zrkkKThu0xMVB8w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379/episodes/query?airedSeason=99&page=1 response: body: string: '{"Error":"No results for your query: map[AiredSeason:99]"}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '58' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:34 GMT Vary: - Accept-Language Via: - 1.1 daf51694fe4a175a7249d39be5e22e4c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - utSAEJYb6fq0K36xbaIb9EUYjlkc4l9vypWBqq8C8NKoWCeKuprANA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Error from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 404 message: Not Found version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine.yaml0000644000175100001770000002711114636376416022573 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:34 GMT Vary: - Accept-Language Via: - 1.1 2b1fd1e1421ca124eaa002817c6c475a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - ZRlGvJMw9l8m8F_5_ZcUkEpo4bbvjXOwoVTOWqy_WubSgl5jBugmFQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=the+big+bang+theory response: body: string: "{\"data\":[{\"aliases\":[\"La teoria del Big Bang\",\"\u56E7\u7537\u5927\u7206\u70B8\"],\"banner\":\"/banners/graphical/80379-g23.jpg\",\"firstAired\":\"2007-09-24\",\"id\":80379,\"image\":\"/banners/posters/80379-18.jpg\",\"network\":\"CBS\",\"overview\":\"A woman who moves into an apartment across the hall from two brilliant but socially awkward physicists shows them how little they know about life outside of the laboratory.\",\"poster\":\"/banners/posters/80379-18.jpg\",\"seriesName\":\"The Big Bang Theory\",\"slug\":\"the-big-bang-theory\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '512' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:35 GMT Vary: - Accept-Language Via: - 1.1 2b1fd1e1421ca124eaa002817c6c475a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - u0RLAFO0287UKlgu3HPz7b9SFP9WI400Kos-UFIOEUiFMAuCLVPSZw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379 response: body: string: '{"data":{"id":80379,"seriesId":"","seriesName":"The Big Bang Theory","aliases":[],"season":"12","poster":"posters/80379-18.jpg","banner":"graphical/80379-g23.jpg","fanart":"fanart/original/80379-38.jpg","status":"Ended","firstAired":"2007-09-24","network":"CBS","networkId":"57","runtime":"25","language":"en","genre":["Comedy","Romance"],"overview":"A woman who moves into an apartment across the hall from two brilliant but socially awkward physicists shows them how little they know about life outside of the laboratory.","lastUpdated":1716229863,"airsDayOfWeek":"Thursday","airsTime":"8:00 PM","rating":"TV-14","imdbId":"tt0898266","zap2itId":"","added":"2008-02-04 00:00:00","addedBy":1,"siteRating":8.8,"siteRatingCount":41886,"slug":"the-big-bang-theory"}}' headers: Age: - '38733' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '763' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:48:02 GMT Last-Modified: - Mon, 20 May 2024 18:31:03 GMT Vary: - Accept-Language Via: - 1.1 e78b88048cb2f0beb893089a9fa30352.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 44KPcjJgKsfQ8Y50sGsrJsq1vjXBuYAMA_4Q475P0LXJvUiBX5bRlg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/80379/episodes/query?airedSeason=7&airedEpisode=5&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":4668379,"airedSeason":7,"airedSeasonID":522809,"airedEpisodeNumber":5,"episodeName":"The Workplace Proximity","firstAired":"2013-10-17","guestStars":["Ayumi Iizuka","Todd Eric Andrews"],"directors":["Mark Cendrowski"],"writers":["Chuck Lorre","Eric Kaplan","Jim Reynolds"],"overview":"Sheldon must decide how much \"Amy time\" is too much after she takes a job at his university, and their relationship is put to the test. Meanwhile, Howard finds himself sleeping on Raj''s couch after a fight with Bernadette.","language":{"episodeName":"en","overview":"en"},"productionCode":"4X5305","showUrl":"","lastUpdated":1592063484,"dvdDiscid":"","dvdSeason":7,"dvdEpisodeNumber":5,"dvdChapter":null,"absoluteNumber":140,"filename":"series/80379/episodes/5eaa0359d5874.jpg","seriesId":80379,"lastUpdatedBy":198416,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt3229392","contentRating":"TV-PG","thumbAuthor":198416,"thumbAdded":"2020-04-29 22:44:41","thumbWidth":"640","thumbHeight":"360","siteRating":7.7,"siteRatingCount":4973,"isMovie":0}]}' headers: Age: - '34329' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 05:01:25 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 07b26b5e851ab857ec87e6df0aa7882e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - _OXAzIBCk1Yb3peeXQZjyvlK93ifm7mcEt6Q5hq3Jbn8ylbDhy5i2A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/4668379 response: body: string: '{"data":{"id":4668379,"airedSeason":7,"airedSeasonID":522809,"airedEpisodeNumber":5,"episodeName":"The Workplace Proximity","firstAired":"2013-10-17","guestStars":["Ayumi Iizuka","Todd Eric Andrews"],"directors":["Mark Cendrowski"],"writers":["Chuck Lorre","Eric Kaplan","Jim Reynolds"],"overview":"Sheldon must decide how much \"Amy time\" is too much after she takes a job at his university, and their relationship is put to the test. Meanwhile, Howard finds himself sleeping on Raj''s couch after a fight with Bernadette.","language":{"episodeName":"en","overview":"en"},"productionCode":"4X5305","showUrl":"","lastUpdated":1592063484,"dvdDiscid":"","dvdSeason":7,"dvdEpisodeNumber":5,"dvdChapter":null,"absoluteNumber":140,"filename":"series/80379/episodes/5eaa0359d5874.jpg","seriesId":80379,"lastUpdatedBy":198416,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt3229392","contentRating":"TV-PG","thumbAuthor":198416,"thumbAdded":"2020-04-29 22:44:41","thumbWidth":"640","thumbHeight":"360","siteRating":7.7,"siteRatingCount":4973,"isMovie":0}}' headers: Age: - '50870' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 00:25:45 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - emkRCUEvDcnTRKTGJy7VM7yMc31w_XHaC4RDijDFcwF_cVnsHw677A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_ambiguous.yaml0000644000175100001770000011614514636376416024654 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=colony response: body: string: "{\"data\":[{\"aliases\":[\"Colonie\"],\"banner\":\"/banners/graphical/284210-g.jpg\",\"firstAired\":\"2016-01-14\",\"id\":284210,\"image\":\"/banners/posters/284210-2.jpg\",\"network\":\"USA Network\",\"overview\":\"In 2015, Los Angeles exists in a state of occupation. Some collaborate with the alien authorities and benefit from the new order, while others rebel and suffer the consequences. A family is torn by those opposing forces, making difficult choices as they balance keeping their family together with the struggle of the human race.\\r\\n\",\"poster\":\"/banners/posters/284210-2.jpg\",\"seriesName\":\"Colony\",\"slug\":\"colony\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/105521-g4.jpg\",\"firstAired\":\"2009-07-21\",\"id\":105521,\"image\":\"/banners/v4/series/105521/posters/609db96ca73a9.jpg\",\"network\":\"Discovery\",\"overview\":\"The Colony is a controlled experiment to see exactly what it would take to survive and rebuild under these circumstances. For 10 weeks, a group of 10 volunteers, whose backgrounds and expertise represent a cross-section of modern society, are isolated in an urban environment outside Los Angeles and tasked with creating a livable society\\r\\n\\r\\nWith no electricity from the grid, no running water and no communication with the outside world, all the volunteers have to work with are their skills and whatever tools and supplies they can scavenge from their surroundings.\\r\\n\\r\\nExperts from the fields of homeland security, engineering and psychology have helped design the world of The Colony to reflect elements from both real-life disasters and models of what the future could look like after a global viral outbreak.\",\"poster\":\"/banners/v4/series/105521/posters/609db96ca73a9.jpg\",\"seriesName\":\"The Colony\",\"slug\":\"the-colony\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2019-08-25\",\"id\":415272,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Netflix\",\"overview\":\"Delves into the untold stories and unsung heroes that paved Nigeria's road to independence. Based on the books by host Olasupo Shasore.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Journey of an African Colony\",\"slug\":\"journey-of-an-african-colony\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/259064-g.jpg\",\"firstAired\":\"2012-05-29\",\"id\":259064,\"image\":\"/banners/posters/259064-1.jpg\",\"network\":\"National Geographic\",\"overview\":\"Meet the Hutterites\u2014a small religious colony in rural Montana who holds desperately to their sacred traditions while fighting the modern temptations of the outside world. King Colony is made up of 59 people and they are almost all related. This family lives together, works together, and worships God together, 7 days a week, 365 days a year, for their entire lives. And, like any family, this one doesn\u2019t always agree. Most of the colony is holding tight to the age-old traditions of their ancestors, while others are flirting with modern society. Some feel that bringing modern technology, education, and ideas into the colony will only help it, while others fear that this modern way of thinking threatens their very existence. We follow the men, the women, the young, and the old, as they strive to live as proper Hutterites. Some will succeed, some will fail, and everyone will have a choice to make. This is the very first glimpse into the world of the Hutterites.\",\"poster\":\"/banners/posters/259064-1.jpg\",\"seriesName\":\"American Colony Meet the Hutterites\",\"slug\":\"american-colony-meet-the-hutterites\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/142011-g.jpg\",\"firstAired\":\"2005-01-25\",\"id\":142011,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Australia\u2019s first living history series is a blend of historical discovery, social jeopardy, adventure challenge and experiential learning as pampered 21st Century \u2018pioneers\u2019 attempt to prove they\u2019re tough enough to survive their historical ordeal. Against this backdrop, the series explores the gripping story of the first settlements.\\r\\n\\r\\nThis six-part series transports a group of English, Irish and Australians, both Indigenous and European, back in time to the Australia of their ancestors. Living the life of free settlers, convicts and local Aboriginal people, they experience the unforgiving toughness of the colony of New South Wales as it was 200 years ago.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Colony\",\"slug\":\"the-colony-australia\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-04-15\",\"id\":422893,\"image\":\"/banners/v4/series/422893/posters/62e7f39a0c54d.jpg\",\"network\":\"YouTube\",\"overview\":\"Today the boys use the nuclear option.\",\"poster\":\"/banners/v4/series/422893/posters/62e7f39a0c54d.jpg\",\"seriesName\":\"Neebs Gaming: Pulsar - Lost Colony\",\"slug\":\"neebs-gaming-pulsar-lost-colony\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/95181-g.jpg\",\"firstAired\":\"2007-01-11\",\"id\":95181,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"TVNorge\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Vacation Colony\",\"slug\":\"95181-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5c93a00937dfd.jpg\",\"firstAired\":\"2019-03-11\",\"id\":360904,\"image\":\"/banners/posters/5c9396c380ce9.jpg\",\"network\":\"BBC One\",\"overview\":\"Wales: England's Colony? is designed to stimulate debate about the past story of Wales, and will also challenge the audience to think afresh about some of the future constitutional choices facing Wales as it leaves the European Union.\\r\\n\\r\\nFocussing on how Wales' relationship with England has shaped both the nation's development and how Wales sees itself, the programmes will tell the story of an uneasy and unequal relationship between two nations living side-by-side. It examines Wales' story from its creation to the present day, examining key moments such as medieval conquest, industrial exploitation, the Blue Books, the 1919 race riots and the flooding of Cwm Tryweryn.\\r\\n\",\"poster\":\"/banners/posters/5c9396c380ce9.jpg\",\"seriesName\":\"Wales: England's Colony?\",\"slug\":\"wales-englands-colony\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":392408,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Col\xF3n y la era del descubrimiento\",\"slug\":\"colon-y-la-era-del-descubrimiento\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5bf50db16915b.jpg\",\"firstAired\":\"2018-11-20\",\"id\":355758,\"image\":\"/banners/posters/5bf6fdc99e1a3.jpg\",\"network\":\"VRT CANVAS\",\"overview\":\"In 1960 Congo became independent after a short political struggle. For Belgium it was the end of more than 75 years of presence in the Central African country. In the six-part series Children of the Colony, twenty witnesses look back on that period and on the way in which the colonial legacy determined their lives. For the first time, Flemish television is also allowing the Congolese voice to speak extensively, always paying attention to its relevance today. For five weeks, people who have experienced it up close will talk about colonial and postcolonial Congo. In the sixth episode, six Congo experts delve deeper into the postcolonial image and unravel truth and myths about Belgian Congo.\",\"poster\":\"/banners/posters/5bf6fdc99e1a3.jpg\",\"seriesName\":\"Children of the Colony\",\"slug\":\"kinderen-van-de-kolonie\",\"status\":\"Ended\"},{\"aliases\":[\"A Sinister Sect: Colonia Dignidad (2021)\"],\"banner\":\"/banners/v4/series/410898/banners/616d8e38dc511.jpg\",\"firstAired\":\"2021-10-01\",\"id\":410898,\"image\":\"/banners/v4/series/410898/posters/6163e9f8e6894.jpg\",\"network\":\"Netflix\",\"overview\":\"A colony of German Christians with a charismatic and manipulative leader establishes itself in Chile and becomes instrumental to the dictatorship.\",\"poster\":\"/banners/v4/series/410898/posters/6163e9f8e6894.jpg\",\"seriesName\":\"A Sinister Sect: Colonia Dignidad\",\"slug\":\"voyage-au-bout-de-lemprise-colonia-dignidad\",\"status\":\"Ended\"},{\"aliases\":[\"Colonia Dignidad\"],\"banner\":\"/banners/v4/series/378279/banners/6156edae657a5.jpg\",\"firstAired\":\"2020-03-10\",\"id\":378279,\"image\":\"/banners/v4/series/378279/posters/61640826edc69.jpg\",\"network\":\"Arte\",\"overview\":\"This documentary series plunges into the abyss of German sect, Colonia Dignidad. It shows the way of life of an isolated community that, far from the world, even influenced international politics.\",\"poster\":\"/banners/v4/series/378279/posters/61640826edc69.jpg\",\"seriesName\":\"Colonia Dignidad\",\"slug\":\"colonia-dignidad-une-secte-allemande-au-chili\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2021-06-25\",\"id\":405460,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Canal Brasil\",\"overview\":\"Elisa (Fernanda Marques), uma jovem de vinte anos que chega ao Hosp\xEDcio Col\xF4nia no come\xE7o dos anos setenta. Ela est\xE1 gr\xE1vida de quatro meses de sua grande paix\xE3o juvenil e foi enviada para o local pelo pai, J\xFAlio (Henrique Schafer), que fica enfurecido ao descobrir que a filha arruinara seus projetos de cas\xE1-la com um rico vizinho de fazendas. Elisa logo se depara com a verdadeira loucura ali presente, mas rapidamente consegue descobrir que, assim como ela, muitas outras pessoas sem nenhum tipo de diagnostico de doen\xE7a mental est\xE3o internadas: o alco\xF3latra Raimundo (Bukassa Kabengele), a prostituta Valeska (Andr\xE9ia Horta), o homossexual Gilberto (Arlindo Lopes) e dona Wanda (Rejane Faria), todos para l\xE1 enviados por serem considerados inc\xF4modos para a sociedade.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Col\xF4nia\",\"slug\":\"colonia\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2017-05-04\",\"id\":380106,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Canal Off\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Col\xF4nia de f\xE9rias\",\"slug\":\"colonia-de-ferias\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2017-07-18\",\"id\":330557,\"image\":\"/banners/posters/330557-1.jpg\",\"network\":\"Comedy Central\",\"poster\":\"/banners/posters/330557-1.jpg\",\"seriesName\":\"La Culpa es de Col\xF3n\",\"slug\":\"330557-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/71913-g.jpg\",\"firstAired\":\"2004-05-17\",\"id\":71913,\"image\":\"/banners/posters/71913-2.jpg\",\"network\":\"PBS\",\"overview\":\"A group of ordinary people arrive on a boat to 1628 and have to build a functioning colony, using only time appropriate resources. Their goal: survive for 4 months and pass the final evaluation.\\r\\n\",\"poster\":\"/banners/posters/71913-2.jpg\",\"seriesName\":\"Colonial House\",\"slug\":\"colonial-house\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/410111/banners/61855b98ed566.jpg\",\"firstAired\":\"2021-10-04\",\"id\":410111,\"image\":\"/banners/v4/series/410111/posters/61635e399c44f.jpg\",\"network\":\"France 3\",\"poster\":\"/banners/v4/series/410111/posters/61635e399c44f.jpg\",\"seriesName\":\"Colonisation, une histoire fran\xE7aise\",\"slug\":\"colonisation-une-histoire-francaise\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/78711/banners/6644eb9bc9481.jpg\",\"firstAired\":\"1956-02-22\",\"id\":78711,\"image\":\"/banners/posters/78711-2.jpg\",\"network\":\"\",\"overview\":\"Colonel March of Scotland Yard is based on the character created by John Dickson Carr under the pen name Carter Dickson. Boris Karloff, famous for his affiliation with Universal Studios during the \\\"Golden Age of Hollywood Horror Movies,\\\" portrays Colonel March, of the Department of Queer Complaints who investigates unusual cases, locked-room murders, and mysteries concerning the supernatural. The British series was filmed at Southhall Studios, Middlesex, England from December 1954 - Spring 1955. Boris, 65 years old at the time, as Colonel March is not afraid to get right into the thick of things, often confronting the perpetrators directly. In 1953, a film called Colonel March Investigates was made by Fountain Films Production. It combined three episodes (Hot Money, Death in the Dressing Room, and The New Invisible Man) Karloff narrates the three segments and stars as the lead.\",\"poster\":\"/banners/posters/78711-2.jpg\",\"seriesName\":\"Colonel March of Scotland Yard\",\"slug\":\"colonel-march-of-scotland-yard\",\"status\":\"Ended\"},{\"aliases\":[\"The Survivors, Colonia Dignidad\"],\"banner\":\"\",\"firstAired\":\"2022-09-30\",\"id\":426523,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Prime Video\",\"overview\":\"Explores the hidden truths behind the idyllic German-themed amusement park that was once home to Nazis, torture chambers, extreme medical experiments, and Chile's most dangerous sect.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Los Sobrevivientes, Colonia Dignidad\",\"slug\":\"los-sobrevivientes-colonia-dignidad\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/254376-g.jpg\",\"firstAired\":\"\",\"id\":254376,\"image\":\"/banners/posters/254376-1.jpg\",\"network\":\"\",\"overview\":\"Colonel Bleep, Squeak and Scratch solve mysteries and fight crime from their base on Zero Zero Island.\",\"poster\":\"/banners/posters/254376-1.jpg\",\"seriesName\":\"Colonel Bleep\",\"slug\":\"colonel-bleep\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1961-10-03\",\"id\":75025,\"image\":\"/banners/posters/75025-1.jpg\",\"network\":\"ABC (US)\",\"overview\":\"Calvin and the Colonel is an animated cartoon television series in 1961 about Colonel Montgomery J. Klaxon, a shrewd fox and Calvin T. Burnside, a dumb bear. Their lawyer was Oliver Wendell Clutch, who was a weasel. The colonel lived with his wife Maggie Belle and her sister Sue, who did not trust the colonel at all. Colonel Klaxon was in the real estate business, but always tried get-rich-quick schemes with Calvin's unwitting help.\\r\\n\\r\\nThe series was an animated remake of Amos 'n' Andy [or, more or less, \\\"Andy and The Kingfish\\\"] and featured the voices of Freeman Gosden and Charles Correll from the radio series. Using animals avoided the touchy racial issues which had led to the downfall of Amos 'n' Andy.\\r\\n\\r\\nBecause of low ratings, the show was cancelled after two months, but returned two months later to complete the first season contract. For a year afterward reruns were seen on Saturday mornings, and eventually syndicated through the 1960s. It was also adapted as a comic book by Dell Comics, and as such the first of two issues was the final installment in the company's extremely prolific Four Color anthology series.\",\"poster\":\"/banners/posters/75025-1.jpg\",\"seriesName\":\"Calvin and the Colonel\",\"slug\":\"calvin-and-the-colonel\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/324478-g.jpg\",\"firstAired\":\"2012-05-31\",\"id\":324478,\"image\":\"/banners/posters/324478-1.jpg\",\"network\":\"YouTube\",\"poster\":\"/banners/posters/324478-1.jpg\",\"seriesName\":\"Col\xF4nia Contra-Ataca\",\"slug\":\"colonia-contra-ataca\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/259921-g.jpg\",\"firstAired\":\"\",\"id\":259921,\"image\":\"/banners/posters/259921-2.jpg\",\"network\":\"\",\"overview\":\"Alcatraz... Devil's Island... Botany Bay: these prisons, among the most feared on Earth, give a whole new meaning to the term \\\"hard time.\\\" They didn't merely cage societiety's worst, they shattered their spirits. Many cracked under the torment, but some fought desperately to survive - even escape. This is the closest you'll get - or would want to! - to these notorious lockups.\",\"poster\":\"/banners/posters/259921-2.jpg\",\"seriesName\":\"Colonies of the Condemned\",\"slug\":\"colonies-of-the-condemned\",\"status\":\"Ended\"},{\"aliases\":[\"The Settlers (2016)\"],\"banner\":\"\",\"firstAired\":\"2016-09-27\",\"id\":349122,\"image\":\"/banners/series/349122/posters/60022d079da07.jpg\",\"network\":\"Arte\",\"overview\":\"An intimate look at life inside the Jewish settlements in the West Bank.\",\"poster\":\"/banners/series/349122/posters/60022d079da07.jpg\",\"seriesName\":\"The Settlers\",\"slug\":\"the-settlers\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-04-27\",\"id\":361726,\"image\":\"/banners/series/361726/posters/5ec0f934a5390.jpg\",\"network\":\"\",\"overview\":\"In view of climate change and the threat of global overpopulation, it is possible that the earth could become uninhabitable in the near future. Colonies in space therefore seem to be a suitable alternative to create new habitat. But what is available - the moon, an asteroid or Mars? This three-part documentation shows three possibilities.\",\"poster\":\"/banners/series/361726/posters/5ec0f934a5390.jpg\",\"seriesName\":\"Space Colonies\",\"slug\":\"space-colonies\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/336619-g.jpg\",\"firstAired\":\"2017-10-16\",\"id\":336619,\"image\":\"/banners/posters/336619-1.jpg\",\"network\":\"Comedy Central\",\"overview\":\"An animated series featuring two ignorant, foul-mouthed fish, Vinny Gill and Colonel Peppersnacks; overly confident best friends who have left the ocean behind to conquer the rap game.\",\"poster\":\"/banners/posters/336619-1.jpg\",\"seriesName\":\"Vinny And The Colonel\",\"slug\":\"vinny-and-the-colonel\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":419518,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Set in colonial Chile in the 19th century. It had three seasons broadcast from Monday to Friday during 2010 and 2011, with a total of approximately 100 chapters. The plot of the episode usually contains two stories, a main story and a secondary story, which begins and ends with the denouement of the main story. The chapters always end with the credits and joke scenes.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"La colonia\",\"slug\":\"la-colonia\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1953-10-07\",\"id\":78709,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Welcome to the Colonel Flack guide at TV Tome.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Colonel Flack\",\"slug\":\"colonel-flack\",\"status\":\"Ended\"},{\"aliases\":[\"The Great Courses - American Military History\"],\"banner\":\"\",\"firstAired\":\"\",\"id\":433105,\"image\":\"/banners/v4/series/433105/posters/6463f64ed135e.jpg\",\"network\":null,\"overview\":\"Wars have played a crucial role in defining the United States and its place in the world. No one is better equipped to analyze this subject in depth than retired U.S. Army Gen. Wesley K. Clark. In this 24-lecture course, Gen. Clark explores the full scope of America\u2019s armed conflicts, from the French and Indian War in the mid 18th century to the Global War on Terrorism in the 21st. Gen. Clark sheds light on the tactics and strategy behind such famous battles as Yorktown, New Orleans, Gettysburg, D-Day, Inchon, and Operation Desert Storm, plus many others. He also recounts his own experiences in combat during the Vietnam War, which he barely survived.\",\"poster\":\"/banners/v4/series/433105/posters/6463f64ed135e.jpg\",\"seriesName\":\"American Military History: From Colonials to Counterinsurgents\",\"slug\":\"the-great-courses-american-military-history\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2007-10-01\",\"id\":352929,\"image\":\"/banners/posters/5b9d788646963.jpg\",\"network\":\"\",\"poster\":\"/banners/posters/5b9d788646963.jpg\",\"seriesName\":\"Kolobkov. The Real Colonel!\",\"slug\":\"kolobkov-nastoyaschiy-polkovnik\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/77433-g.jpg\",\"firstAired\":\"1962-09-23\",\"id\":77433,\"image\":\"/banners/posters/77433-1.jpg\",\"network\":\"NBC\",\"overview\":\"A young cadet at a boys' military academy is always getting into trouble and driving his superior officer crazy.\",\"poster\":\"/banners/posters/77433-1.jpg\",\"seriesName\":\"McKeever and the Colonel\",\"slug\":\"mckeever-and-the-colonel\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2010-01-01\",\"id\":348868,\"image\":\"/banners/series/348868/posters/62038976.jpg\",\"network\":\"Toute l'histoire\",\"poster\":\"/banners/series/348868/posters/62038976.jpg\",\"seriesName\":\"Au temps des colonies\",\"slug\":\"au-temps-des-colonies\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":335494,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Colonial Life For Children\",\"slug\":\"colonial-life-for-children\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":419631,\"image\":\"/banners/v4/series/419631/posters/626f1f5fc2a37.jpg\",\"network\":null,\"overview\":\"The history of colonial America is a story of extraordinary scope, with Europeans, Africans, and the native peoples of North America interacting in a drama of settlement and conflict that lasted nearly three centuries. In the midst of it, no one would have predicted that the profoundly different English colonies along the East Coast, separated by religion, politics, economics, and many other factors, would eventually join to form the United States of America.\\r\\n\\r\\n\\\"Before 1776: Life in the American Colonies\\\" tells this epic story in 36 spellbinding lectures by Professor Robert J. Allison of Suffolk University in Boston. An acclaimed teacher, Professor Allison is also an eminent scholar who has served as an advisor to several prestigious museums and historical societies in Massachusetts, including the Commonwealth Museum at the State Archives in Boston.\",\"poster\":\"/banners/v4/series/419631/posters/626f1f5fc2a37.jpg\",\"seriesName\":\"Before 1776: Life in the American Colonies\",\"slug\":\"before-1776-life-in-the-american-colonies\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2020-08-27\",\"id\":414102,\"image\":\"/banners/v4/series/414102/posters/624ac7b566c1e.jpg\",\"network\":\"TVNZ\",\"overview\":\"Colonial Combat takes a laugh at our unofficial NZ colonial history. It's a dog eat dog world, where colourful characters compete inside and outside of the ring.\",\"poster\":\"/banners/v4/series/414102/posters/624ac7b566c1e.jpg\",\"seriesName\":\"Colonial Combat\",\"slug\":\"colonial-combat\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":346581,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"TF1\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Les Colonnes du ciel\",\"slug\":\"346581-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1913-11-23\",\"id\":362519,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Colonel Heeza Liar is the star of the first animated series featuring a recurring character. In this story he comes to the rescue of a baseball team and becomes the star pitcher and hitter.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Colonel Heeza Liar\",\"slug\":\"colonel-heeza-liar\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2024-01-30\",\"id\":446101,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Multishow\",\"overview\":\"Nicole Bahls always welcomes guests to her place.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Col\xF4nia Bahls\",\"slug\":\"colonia-bahls\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/403227/banners/62ad9f2816a1c.jpg\",\"firstAired\":\"2021-06-16\",\"id\":403227,\"image\":\"/banners/v4/series/403227/posters/60c9ed9da4757.jpg\",\"network\":\"Netflix\",\"overview\":\"In a picturesque South African town, an eclectic group of endangered penguins flock together to find mates, raise families and mix with the locals.\",\"poster\":\"/banners/v4/series/403227/posters/60c9ed9da4757.jpg\",\"seriesName\":\"Penguin Town\",\"slug\":\"penguin-town\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/133271/banners/63fa97b8e7bb9.jpg\",\"firstAired\":\"2003-10-15\",\"id\":133271,\"image\":\"/banners/series/133271/posters/5f6b1bd0759bd.jpg\",\"network\":\"ZDF\",\"overview\":\"SOKO K\xF6ln is a German police procedural television programme, a spin-off of the earlier German police programme SOKO 5113.\",\"poster\":\"/banners/series/133271/posters/5f6b1bd0759bd.jpg\",\"seriesName\":\"SOKO K\xF6ln\",\"slug\":\"soko-koln\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/435320/banners/647d2d4bb3bba.jpg\",\"firstAired\":\"2023-05-24\",\"id\":435320,\"image\":\"/banners/v4/series/435320/posters/647cccf6aa647.jpg\",\"network\":\"TLC\",\"overview\":\"With groundbreaking chiropractic methods, Dr. Alessandra Col\xF3n and her staff tackle extreme and debilitating physical conditions; through every snap, crack and pop, she provides relief when no one else can.\",\"poster\":\"/banners/v4/series/435320/posters/647cccf6aa647.jpg\",\"seriesName\":\"Crack Addicts\",\"slug\":\"crack-addicts\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2017-11-08\",\"id\":337870,\"image\":\"/banners/posters/5b193c8e925d9.jpg\",\"network\":\"APTN\",\"overview\":\"1491: The Untold Story of the Americas before Columbus is based on the book \u201C1491: New Revelations of the Americas Before Columbus\u201D by Charles C. Mann (Knopf, 2005). It brings to life the complexity, diversity and interconnectedness of Indigenous peoples in the Americas before the arrival of Columbus. Presented from an Indigenous-perspective the series is a journey along a timeline that dates from 20,000 years ago to 1491. The origins and history of ancient Indigenous societies in North, Central and South America are interpreted by leading Indigenous scholars and cultural leaders in the fields of archaeology, art history, ethnology, genetics, geology, and linguistics.\",\"poster\":\"/banners/posters/5b193c8e925d9.jpg\",\"seriesName\":\"1491: The Untold Story of the Americas before Columbus\",\"slug\":\"1491-the-untold-story-of-the-americas-before-columbus\",\"status\":\"Ended\"},{\"aliases\":[\"Die gro\xDFen Spione: Oberst Wennerstr\xF6m\"],\"banner\":\"\",\"firstAired\":\"1965-10-26\",\"id\":399389,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"ZDF\",\"overview\":\"The Swedish military attach\xE9 Stig Wennerstr\xF6m comes into contact with the American secret service. After a trip to Moscow, he provided the Americans with valuable information about the Soviet jet plane. But Wennerstr\xF6m plays a double game.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Colonel Wennerstr\xF6m\",\"slug\":\"oberst-wennerstroem\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":284037,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"dk4\",\"overview\":\"Katrine Orleman Thrane visits colonial ministers everywhere in Denmark from Sydhavnen in Copenhagen to Haderslev in S\xF8nderjylland.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Colonial Garden Life\",\"slug\":\"284037-show\",\"status\":\"Continuing\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:36 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 ca3702c84b0e2f2daaf573cabe88ad8c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 3fn9d610EjI3aLbTA5JI02TPVMRwDnAYVQrH1ri7z4fBj_wzQqmodQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/284210 response: body: string: '{"data":{"id":284210,"seriesId":"","seriesName":"Colony","aliases":[],"season":"3","poster":"posters/284210-2.jpg","banner":"graphical/284210-g.jpg","fanart":"fanart/original/284210-2.jpg","status":"Ended","firstAired":"2016-01-14","network":"USA Network","networkId":"306","runtime":"42","language":"en","genre":["Action","Adventure","Drama","Science Fiction"],"overview":"In 2015, Los Angeles exists in a state of occupation. Some collaborate with the alien authorities and benefit from the new order, while others rebel and suffer the consequences. A family is torn by those opposing forces, making difficult choices as they balance keeping their family together with the struggle of the human race.\r\n","lastUpdated":1703997737,"airsDayOfWeek":"Thursday","airsTime":"10:00 PM","rating":"TV-14","imdbId":"tt4209256","zap2itId":"","added":"2014-07-29 07:35:43","addedBy":1,"siteRating":8.3,"siteRatingCount":1010,"slug":"colony"}}' headers: Age: - '51173' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '933' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 00:20:42 GMT Last-Modified: - Sun, 31 Dec 2023 04:42:17 GMT Vary: - Accept-Language Via: - 1.1 a48f09960f130cb6049f12b379cf591e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - Ipskt6lkgBE65Lhc8l690C0r7QADB09l6jowEQcf9DtmAx4pnoiPCg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/284210/episodes/query?airedSeason=1&airedEpisode=9&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":5463229,"airedSeason":1,"airedSeasonID":632322,"airedEpisodeNumber":9,"episodeName":"Zero Day","firstAired":"2016-03-10","guestStars":["Adrian Pasdar","Ally Walker","Ben Levin","Carl Weathers","Charles Rahi Chun","Charlie Bewley","Gonzalo Menendez","Jennifer Marshall","Kathleen Rose Perkins","Kathryn Morris","Thora Birch","Victor Rasuk"],"directors":["Roxann Dawson"],"writers":["Anna Fishko","Dre Ryan","Ryan J. Condal"],"overview":"Will wants to remove the family from the occupation; Katie and Broussard prepare for an operation; Snyder tries to protect his office; Maddie makes a bold move.\r\n","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1599565295,"dvdDiscid":"","dvdSeason":1,"dvdEpisodeNumber":9,"dvdChapter":null,"absoluteNumber":9,"filename":"series/284210/episodes/5f4ff0afceff3.jpg","seriesId":284210,"lastUpdatedBy":2302046,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4926022","contentRating":"TV-14","thumbAuthor":2302046,"thumbAdded":"2019-11-13 13:13:27","thumbWidth":"640","thumbHeight":"360","siteRating":8.3,"siteRatingCount":348,"isMovie":0}]}' headers: Age: - '42186' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 02:50:30 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 68c9162ccc29f8f3ca30be36950cea58.cloudfront.net (CloudFront) X-Amz-Cf-Id: - yyo-gRSoee5mVRENgSz8pV-n2QP1dNFdHtR3glI6KvcKgeRcGmp-Vg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/5463229 response: body: string: '{"data":{"id":5463229,"airedSeason":1,"airedSeasonID":632322,"airedEpisodeNumber":9,"episodeName":"Zero Day","firstAired":"2016-03-10","guestStars":["Adrian Pasdar","Ally Walker","Ben Levin","Carl Weathers","Charles Rahi Chun","Charlie Bewley","Gonzalo Menendez","Jennifer Marshall","Kathleen Rose Perkins","Kathryn Morris","Thora Birch","Victor Rasuk"],"directors":["Roxann Dawson"],"writers":["Anna Fishko","Dre Ryan","Ryan J. Condal"],"overview":"Will wants to remove the family from the occupation; Katie and Broussard prepare for an operation; Snyder tries to protect his office; Maddie makes a bold move.\r\n","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1599565295,"dvdDiscid":"","dvdSeason":1,"dvdEpisodeNumber":9,"dvdChapter":null,"absoluteNumber":9,"filename":"series/284210/episodes/5f4ff0afceff3.jpg","seriesId":284210,"lastUpdatedBy":2302046,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4926022","contentRating":"TV-14","thumbAuthor":2302046,"thumbAdded":"2019-11-13 13:13:27","thumbWidth":"640","thumbHeight":"360","siteRating":8.3,"siteRatingCount":348,"isMovie":0}}' headers: Age: - '42187' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 02:50:30 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - m9GtA9Ealf1UCH9punlkvpWgIV5qbyGUUPePClE5CmxMe9DYVHbGXg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_ambiguous_2.yaml0000644000175100001770000025375614636376416025107 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=the+100 response: body: string: "{\"data\":[{\"aliases\":[\"Eloonj\xE4\xE4neet\",\"The Hundred, The 100\",\"100\"],\"banner\":\"/banners/graphical/268592-g2.jpg\",\"firstAired\":\"2014-03-19\",\"id\":268592,\"image\":\"/banners/posters/268592-2.jpg\",\"network\":\"The CW\",\"overview\":\"Set ninety-seven years after a nuclear war has destroyed civilization, when a spaceship housing humanity's lone survivors sends one hundred juvenile delinquents back to Earth, in hopes of possibly re-populating the planet.\\r\\n\",\"poster\":\"/banners/posters/268592-2.jpg\",\"seriesName\":\"The 100\",\"slug\":\"the-100\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-02-12\",\"id\":356823,\"image\":\"/banners/posters/5c8537d7be6a6.jpg\",\"network\":\"VLIVE\",\"poster\":\"/banners/posters/5c8537d7be6a6.jpg\",\"seriesName\":\"THE BOYZ : THE 100\",\"slug\":\"the-boyz-the-100\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5cb232ca82c4d.jpg\",\"firstAired\":\"2018-12-20\",\"id\":360144,\"image\":\"/banners/series/360144/posters/5ec984a8a863f.jpg\",\"network\":\"YouTube\",\"overview\":\"Kelsey Impicciche plays the Sims 4 and begins the very long, and very popular, 100-baby challenge!\",\"poster\":\"/banners/series/360144/posters/5ec984a8a863f.jpg\",\"seriesName\":\"The 100 Baby Challenge\",\"slug\":\"100-baby-challenge\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5b225464d7d95.jpg\",\"firstAired\":\"2018-04-30\",\"id\":347057,\"image\":\"/banners/posters/5aec35fac15a7.jpg\",\"network\":\"VLIVE\",\"overview\":\"The 100 is the new reality featuring the idol group Fromis_9\",\"poster\":\"/banners/posters/5aec35fac15a7.jpg\",\"seriesName\":\"Fromis 9 - The 100\",\"slug\":\"347057-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/201711-g.jpg\",\"firstAired\":\"2004-10-27\",\"id\":201711,\"image\":\"/banners/posters/201711-1.jpg\",\"network\":\"Bravo\",\"overview\":\"Film-makers, performers, genre authorities and selected high-profile fans count down the most chilling moments in cinematic history. Not just from horror films, but from such thrillers as Wait Until Dark (1967) and Jaws (1975) and such science-fiction films as _Terminator, The (1984)_ and Invasion of the Body Snatchers (1956). This entertaining and authoritative special, originally telecast for 5 nights leading up to Halloween 2004, has gone beyond seasonal programming to become one of the Bravo cable network's most popular and oft-encored specials.\",\"poster\":\"/banners/posters/201711-1.jpg\",\"seriesName\":\"The 100 Scariest Movie Moments\",\"slug\":\"the-100-scariest-movie-moments\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1991-03-31\",\"id\":76615,\"image\":\"/banners/posters/76615-1.jpg\",\"network\":\"NBC\",\"overview\":\"This action adventure series was a joint effort from Disney and Steven J. Cannell productions.The story goes that Black Jack Savage a 17th century pirate was hung in the courtyard of his castle for his treacherous deeds,in order for him to escape hell he must save a life for every one he's taken.Now in modern day NY surfaces another Pirate of sorts \\\"Barry Tarberry\\\", hes been bad, swindiling the IRS out of funds and they want him, now to escape his purgatory Barry flies out of the country to a little island that will grant him immunity called San Pietro.He Buys an estate,sight unseen that just happened to belong to Black Jack Savage.The ghost wants to strike a deal with Barry,for every life saved Barry can have half credit toward his own impending fate- the agreement sealed the 2 pirates start trying to save lives on this small carribean island.\",\"poster\":\"/banners/posters/76615-1.jpg\",\"seriesName\":\"The 100 Lives of Black Jack Savage\",\"slug\":\"the-100-lives-of-black-jack-savage\",\"status\":\"Ended\"},{\"aliases\":[\"The 100 Days: That Defined Modern History\"],\"banner\":\"\",\"firstAired\":\"2022-11-01\",\"id\":434037,\"image\":\"/banners/v4/series/434037/posters/6443c86b3f72a.jpg\",\"network\":\"History\",\"overview\":\"\\\"The 100 Days\\\" is a dramatic series that tells stories of the origins and the consequences of great events, revealing unexpected aspects of some of the pivotal moments of modern history. Each episode of \\\"The 100 Days\\\" focuses on one major event and the hundred days that give it context \u2013 the events before, surrounding or following. It is the event itself that history usually highlights, so the narrative of each episode will reward the viewer with unfamiliar incidents and characters. Archive illustrates our stories, supported by graphics and maps where these clarify aspects of the narrative. In depth research presents a unique take on the events, and expert contributors will offer insights into \\\"The 100 Days\\\" \u2013 how they were triggered or how they developed. In history, one hundred days has frequently been all the time needed to cause a defining moment, or to absorb the shattering impact of a great event.\",\"poster\":\"/banners/v4/series/434037/posters/6443c86b3f72a.jpg\",\"seriesName\":\"The 100 Days\",\"slug\":\"the-100-days\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-02-12\",\"id\":363890,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"VLIVE\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Boyz: The 100 (2018)\",\"slug\":\"the-100-the-boyz\",\"status\":\"Ended\"},{\"aliases\":[\"The 100 Infant Challenge\",\"100 Infant Challenge\"],\"banner\":\"/banners/v4/series/432383/banners/64fae982dfd6a.jpg\",\"firstAired\":\"2023-03-13\",\"id\":432383,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Yes, 2 years later Kelsey has decided to retry The 100 Baby Challenge thanks to the new infants update on The Sims 4. But this time the rules have changed and she is going to speedrun it, trying to complete it as fast as possible, will she make it with just one matriarch?\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The 100 Baby Challenge Speedrun\",\"slug\":\"the-100-baby-challenge-speedrun\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2000-09-09\",\"id\":383098,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Channel 4\",\"overview\":\"A celebration of the hundred most memorable bad moments from the UK's television archives.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The 100 Greatest TV Moments from Hell\",\"slug\":\"the-100-greatest-tv-moments-from-hell\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2009-04-05\",\"id\":403663,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Food Network Canada\",\"overview\":\"James MacKinnon and Alisa Smith revolutionized the concept of the 100-mile diet. This method of eating relies solely on consuming those foods that are grown or produced within a 100-mile radius of one's own home. They place a challenge on the residents of Mission, British Columbia, Canada, a small town located in the Fraser Valley just east of Vancouver: live on the 100-mile diet for 100 days.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The 100 Mile Challenge\",\"slug\":\"the-100-mile-challenge\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":358341,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"VLIVE\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Imfact the 100\",\"slug\":\"imfact-the-100\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2021-02-06\",\"id\":426682,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Kelsey shows the numerous ways to kill Sims on her way to create a haunted house and completing the 100 Death Challenge in The Sims 4.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The 100 Death Challenge [Kelsey Impicciche]\",\"slug\":\"killing-100-sims-kelsey-immpicciche\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2000-01-01\",\"id\":429822,\"image\":\"/banners/v4/series/429822/posters/63c660b8133fc.jpg\",\"network\":null,\"overview\":\"Count down the 100 most popular cars ever as voted on by Men \\u0026 Motors viewers, including the Mitsubishi Lancer, Subaru Impreza, and Aston Martin DB9.\",\"poster\":\"/banners/v4/series/429822/posters/63c660b8133fc.jpg\",\"seriesName\":\"The 100 Most Popular Cars Ever\",\"slug\":\"the-100-most-popular-cars-ever\",\"status\":\"Ended\"},{\"aliases\":[\"Kimi no Koto ga Dai Dai Dai Dai Daisuki na 100-nin no Kanojo\",\"Kimi no Koto ga Daidaidaidaidaisuki na 100-nin no Kanojo\",\"100-nin no Kanojo\",\"Hyakkano\",\"100 Kanojo\",\"100\u30AB\u30CE\",\"100 Kano\",\"100\u4EBA\u306E\u5F7C\u5973\",\"100 Girlfriends\",\"\u8D85\u8D85\u8D85\u8D85\u8D85\u559C\u6B61\u4F60\u7684100\u500B\u5973\u670B\u53CB\",\"\u8D85\u8D85\u8D85\u8D85\u559C\u6B22\u4F60\u7684100\u4E2A\u5973\u670B\u53CB\",\"The 100 Girlfriends Who Really, Really, Really, Really, Really Love You\",\"Hyakkano\"],\"banner\":\"/banners/v4/series/432050/banners/663e62e157582.jpg\",\"firstAired\":\"2023-10-08\",\"id\":432050,\"image\":\"/banners/v4/series/432050/posters/640f54e3cfd63.jpg\",\"network\":\"Tokyo MX\",\"overview\":\"Rentar\u014D Aijo was rejected 100 times in middle school. He visits a shrine and prays for better luck in high school. The God of Love appears and promises that he\u2019ll soon meet 100 people he\u2019s destined to date. But there\u2019s a catch\u2014once destiny introduces someone to him, the two must happily love each other. If they don\u2019t, they\u2019ll die. What will befall Rentar\u014D and his 100 girlfriends in high school?\",\"poster\":\"/banners/v4/series/432050/posters/640f54e3cfd63.jpg\",\"seriesName\":\"The 100 Girlfriends Who Really, Really, Really, Really, REALLY Love You\",\"slug\":\"kimi-no-koto-ga-dai-dai-dai-dai-daisuki-na-100-nin-no-kanojo\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":215101,\"image\":\"/banners/posters/215101-1.jpg\",\"network\":\"\",\"poster\":\"/banners/posters/215101-1.jpg\",\"seriesName\":\"The 100th Bride\",\"slug\":\"the-100th-bride\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2006-01-09\",\"id\":347151,\"image\":\"/banners/posters/5aea72b96f44a.jpg\",\"network\":\"MusiquePlus\",\"overview\":\"Retrace the 100 events that shook the cultural field in Quebec.\",\"poster\":\"/banners/posters/5aea72b96f44a.jpg\",\"seriesName\":\"The 100 Scandals and Tragedies of Quebec showbiz\",\"slug\":\"les-100-scandales-et-tragedies-du-showbiz-quebecois\",\"status\":\"Ended\"},{\"aliases\":[\"All Together Now: The 100\"],\"banner\":\"\",\"firstAired\":\"2018-10-07\",\"id\":351438,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Seven Network\",\"overview\":\"The series sees a range of talented singers (solos and groups) perform in front of the biggest judging panel Australia has ever seen. The 100 will be made up of great singers and industry professionals with big voices and even bigger opinions. If any of The 100 like what they hear, they can stand up, join in and sing along. The greater the number that join in, the higher the act's score. Who can get them ALL on their feet singing along? The urge to join in at home will be irresistible.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"All Together Now (AU)\",\"slug\":\"all-together-now-au\",\"status\":\"Ended\"},{\"aliases\":[\"Kelsey Tries the 100 Bae Challenge\"],\"banner\":\"\",\"firstAired\":\"2021-09-15\",\"id\":424496,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Kelsey attempts the 100 Bae Challenge in The Sims 4\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"100 Bae Challenge [Kelsey Impicciche]\",\"slug\":\"100-bae-challenge\",\"status\":\"Ended\"},{\"aliases\":[\"The $100,000 Pyramid\",\"The 100000 Dollar Pyramid\",\"The 100000 Dollar Pyramid 2016\"],\"banner\":\"/banners/v4/series/310590/banners/64d0c0e4d9e6e.jpg\",\"firstAired\":\"2016-06-26\",\"id\":310590,\"image\":\"/banners/v4/series/310590/posters/64d0bed6c2a8c.jpg\",\"network\":\"ABC (US)\",\"overview\":\"Players compete in teams of two, with one celebrity player and one public contestant on each team. The goal of the game is to help your partner guess answers in a particular topic using lists of clues. In the money rounds, the clue-giver has their hands strapped to their chair, so they\u2019re unable to gesture in order to help the guessing process. The show is hosted by Michael Strahan.\",\"poster\":\"/banners/v4/series/310590/posters/64d0bed6c2a8c.jpg\",\"seriesName\":\"The $100,000 Pyramid (2016)\",\"slug\":\"the-100000-dollar-pyramid-2016\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1985-09-09\",\"id\":404327,\"image\":\"/banners/v4/series/404327/posters/60cd2a86d4ebc.jpg\",\"network\":\"Syndication\",\"overview\":\"Big budget nighttime syndicated game show where a contestant has a chance to win the $100,000 grand prize. Two teams (each with one Celebrity Guest and one Contestant) play 2 games where though 6 categories, the winner of each game goes to the winners circle for a chance to win the grand prize.\",\"poster\":\"/banners/v4/series/404327/posters/60cd2a86d4ebc.jpg\",\"seriesName\":\"The $100,000 Pyramid\",\"slug\":\"the-100000-pyramid\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5b49ad85a9c49.jpg\",\"firstAired\":\"2018-02-12\",\"id\":346249,\"image\":\"/banners/posters/5b49ad3a37a6c.jpg\",\"network\":\"VLIVE\",\"overview\":\"A new reality show that shows rookie group THE BOYZ as they prepare for a showcase in 100 hours.\",\"poster\":\"/banners/posters/5b49ad3a37a6c.jpg\",\"seriesName\":\"THE100\",\"slug\":\"346249-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2016-10-19\",\"id\":329178,\"image\":\"/banners/posters/329178-1.jpg\",\"network\":\"Blackpills\",\"overview\":\"First 100 days of Donald Trump at the white house\",\"poster\":\"/banners/posters/329178-1.jpg\",\"seriesName\":\"You Got Trumped: The First 100 Days\",\"slug\":\"you-got-trumped-the-first-100-days\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2009-07-05\",\"id\":320290,\"image\":\"/banners/posters/320290-2.jpg\",\"network\":\"Spike TV\",\"overview\":\"For 16 years, the Ultimate Fighting Championship has been the gold standard in combat sports. Now you can re-live the 100 greatest fights in UFC history with this exciting countdown show. Featuring all the greats of the Octagon, from Royce Gracie and Chuck Liddell to Matt Hughes and Randy Couture, this five episode special has the most dramatic, explosive, and memorable battles of the UFC from 100 down to the greatest UFC fight of all time.\",\"poster\":\"/banners/posters/320290-2.jpg\",\"seriesName\":\"UFC: The Ultimate 100 Greatest Fights\",\"slug\":\"ufc-the-ultimate-100-greatest-fights\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/188471-g2.jpg\",\"firstAired\":\"2010-09-03\",\"id\":188471,\"image\":\"/banners/posters/188471-1.jpg\",\"network\":\"\",\"overview\":\"On Friday, Sept. 3, NFL Network debuts a new 10-episode series produced by NFL Films entitled, The Top 100: NFL\u2019s Greatest Players. The one-hour shows feature a countdown of the top 100 players in history as determined by a blue-ribbon panel comprised of more than 100 NFL experts, historians and all-time great players and coaches. There will be 10 players unveiled in each episode. Each player is presented by a noteworthy individual in the world of sports and entertainment talking about what made that player one of the greats.\",\"poster\":\"/banners/posters/188471-1.jpg\",\"seriesName\":\"The Top 100: NFL's Greatest Players\",\"slug\":\"the-top-100-nfls-greatest-players\",\"status\":\"Ended\"},{\"aliases\":[\"NHL: 100 Years\"],\"banner\":\"/banners/graphical/339364-g.jpg\",\"firstAired\":\"2017-11-27\",\"id\":339364,\"image\":\"/banners/posters/339364-1.jpg\",\"network\":\"NBC Sports Network\",\"overview\":\"The NHL: 100 Years brings our history to life through rare footage, exclusive interviews and expert commentary,\\\" NHL Commissioner Gary Bettman said. \\\"For fans who lived through any of the eras covered, this groundbreaking documentary will refresh some vivid hockey memories. For those newer to our sport, or any sports fan or history buff, The NHL: 100 Years details an important historical record and sets the stage for the future of a great sport.\\\"\",\"poster\":\"/banners/posters/339364-1.jpg\",\"seriesName\":\"The NHL: 100 Years\",\"slug\":\"339364-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/397288/banners/66219244e4607.jpg\",\"firstAired\":\"\",\"id\":397288,\"image\":\"/banners/v4/series/397288/posters/610b8aef9ea97.jpg\",\"network\":\"\",\"overview\":\"\\r\\n\\r\\nThe last 100 days of World War ll are under the spotlight in the 3-parter Countdown to Surrender. It recounts crucial milestones in the last days of the Third Reich and its steady decline towards the inevitable capitulation. Major events provide the context for more intimate and personal fates and give real insight into life at the cutting edge of history.\\r\\n\\r\\nBy following the countdown chronologically, the series brings to life the horror and trepidation that marked the end of the Nazi era, and the sense of all-consuming desperation that increasingly took hold among common people. Soldiers caught on the hellish frontlines and the leaders clinging on to delusions, whatever the cost. It ends with an overwhelming sense of relief for most Germans by the end of the war, and a release from devastation, death and disarray.\\r\\n\",\"poster\":\"/banners/v4/series/397288/posters/610b8aef9ea97.jpg\",\"seriesName\":\"Countdown to Surrender \u2013 The Last 100 Days\",\"slug\":\"countdown-to-surrender-the-last-100-days\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2016-10-16\",\"id\":417011,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Explore the 50-year history of the Baja 1000, the world\u2019s most gruelling off-road motorsports race, through the eyes of five teams preparing to take part in this legendary adventure.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Driving Dirty: The Road to the Baja 1000\",\"slug\":\"driving-dirty-the-road-to-the-baja-1000\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/427183/banners/660850d0d574b.jpg\",\"firstAired\":\"2022-11-29\",\"id\":427183,\"image\":\"/banners/v4/series/427183/posters/637190bb2802e.jpg\",\"network\":\"Magnolia Network\",\"overview\":\"Tara and Percy are interior designers with a passion for old homes. After years of designing for others, now they're taking on a live-in renovation for their own farmhouse in upstate New York.\",\"poster\":\"/banners/v4/series/427183/posters/637190bb2802e.jpg\",\"seriesName\":\"The Story of Home\",\"slug\":\"the-story-of-home\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-01-16\",\"id\":359345,\"image\":\"/banners/posters/5c5facf0e53c5.jpg\",\"network\":\"YouTube\",\"poster\":\"/banners/posters/5c5facf0e53c5.jpg\",\"seriesName\":\"100 Thieves: The Heist\",\"slug\":\"100-thieves-the-heist\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/111841-g.jpg\",\"firstAired\":\"2009-07-06\",\"id\":111841,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Rocked the Nation 2: 100 NZ Pop Culture Stories\",\"slug\":\"rocked-the-nation-2-100-nz-pop-culture-stories\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2017-07-24\",\"id\":390886,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"In a series of films Dan Snow visits the battlefields of Passchendaele and examines how the battle unfolded, and why it became one of the most notorious of the First World War.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Passchendaele 100: Marking the Centenary of the Battle of Passchendaele\",\"slug\":\"passchendaele-100-marking-the-centenary-of-the-battle-of-passchendaele\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2001-03-14\",\"id\":186611,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"ABC (AU)\",\"overview\":\"\u2018100 Years: The Australian Story\u2019, ABC TV, traces the big themes in twentieth-century political history, from 1901 to 2001.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"100 Years: The Australian Story\",\"slug\":\"100-years-the-australian-story\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2012-01-01\",\"id\":364708,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"CCTV\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Forbidden City 100\",\"slug\":\"the-forbidden-city-100\",\"status\":\"Ended\"},{\"aliases\":[\"CineFix Top 100\"],\"banner\":\"/banners/v4/series/438837/banners/64ec5bfa29a22.jpg\",\"firstAired\":\"2023-07-03\",\"id\":438837,\"image\":\"/banners/v4/series/438837/posters/64ec5c8465236.jpg\",\"network\":\"YouTube\",\"overview\":\"The CineFix Top 100 is the first podcast from the longstanding movie-obsessed YouTube page, CineFix. Compiled from their personal top 100s by some sort of robot algorithm that they don't really understand, our resident film nerds Clint Gage, Alex Stedman, and Michael \\\"Cal\\\" Calabro, plan to discuss one of the top 100 movies each week with one catch: they don't know what movies are on it or where they rank!\",\"poster\":\"/banners/v4/series/438837/posters/64ec5c8465236.jpg\",\"seriesName\":\"The CineFix Top 100\",\"slug\":\"the-cinefix-top-100\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-12-31\",\"id\":449933,\"image\":\"/banners/v4/series/449933/posters/663edbe41df9f.jpg\",\"network\":\"Warner Bros. Discovery\",\"overview\":\"Explore the rich history of Warner Bros. through 17 short features with profiles on filmmakers, TV creators and fascinating stories about Warner Bros.' historic backlot and the studio's legacy of cinematic innovation.\",\"poster\":\"/banners/v4/series/449933/posters/663edbe41df9f.jpg\",\"seriesName\":\"WB 100th Behind the Shield\",\"slug\":\"wb-100th-behind-the-shield\",\"status\":\"Ended\"},{\"aliases\":[\"The 1% Club (FR)\"],\"banner\":\"\",\"firstAired\":\"2022-09-24\",\"id\":424975,\"image\":\"/banners/v4/series/424975/posters/6402655106308.jpg\",\"network\":\"France 2\",\"overview\":\"The first quiz that does not test general culture and knowledge, but logic, observation skills and the common sense of viewers! Who will be able to thwart all the traps, and get to the ultimate question? This quiz event will allow viewers to test their logic, their common sense, but also to measure themselves against all the other members of the family!\",\"poster\":\"/banners/v4/series/424975/posters/6402655106308.jpg\",\"seriesName\":\"100% Logic: The Answer is Right in Front of You\",\"slug\":\"100-logique\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/92111-g.jpg\",\"firstAired\":\"1999-09-13\",\"id\":92111,\"image\":\"/banners/posters/92111-2.jpg\",\"network\":\"ZDF\",\"overview\":\"100 Jahre \u2013 Der Countdown (English - 100 Years - The Countdown) is a German documentary television series produced from Zolcer TV. It was first broadcast in 1999 on ZDF. The host of the series is Guido Knopp. The documentaries are usually focusing on a single event in a given year. The total length of the series was about 15 \xBD hours. The series was first broadcast on the last 100 days of 1999, one episode after each of the daily news cast ZDF Heute-Journal. Since New Year's Eve 1999 the full length of \\\"100 Jahre\\\" is broadcast several times a year by Phoenix.\",\"poster\":\"/banners/posters/92111-2.jpg\",\"seriesName\":\"100 Years \u2013 The Countdown\",\"slug\":\"100-years-the-countdown\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2014-01-01\",\"id\":376461,\"image\":\"/banners/series/376461/posters/62068248.jpg\",\"network\":\"\",\"overview\":\"100th Anniversary Commemorative Series! Prepare to embark on a historic journey starting in 1914 Germany through the end of the global conflict in 1918. Compelling and unique, this definitive 5-part series profiles the cause, the players, the trenches and the outcome of the war, year-by-year. Extensive and riveting, The Great War is the most complete and factual series about World War I. Go 'Over The Top' with The Doughboys!\",\"poster\":\"/banners/series/376461/posters/62068248.jpg\",\"seriesName\":\"The Great War 100th Anniversary Commemorative Series\",\"slug\":\"the-great-war-100th-anniversary-commemorative-series\",\"status\":\"Ended\"},{\"aliases\":[\"The Soviet Union\"],\"banner\":\"\",\"firstAired\":\"2022-12-05\",\"id\":428494,\"image\":\"/banners/v4/series/428494/posters/639d1ca014768.jpg\",\"network\":\"History\",\"overview\":\"The Soviet Union was officially formed in 1922, a country, a political experiment, an ideal, a great scar across history. Officially known as the Union of Soviet Socialist Republics, the USSR was a one-party state, governed, controlled, and tormented by a single party rule. That of the Communist Party. Complicated, contradictory figureheads would come and go, men who held this impossible country it seemed by sheer will. Stalin the despot-hero whose cruelty knew few bounds who united a nation to defeat Hitler. Khrushchev the crafty libertarian, who preached reform yet allowed an arms race to escalate. Brezhnev, that unreadable member to the old guard, sending history backwards. And of course Gorbachev, who brought vast change, modernisation, and d\xE9tente, yet saw the Soviet Union collapse under his rule \u2013 the untenable nation. The 20th century was shaped by its convulsions, its purges, its wars, and its leaders.\",\"poster\":\"/banners/v4/series/428494/posters/639d1ca014768.jpg\",\"seriesName\":\"The Soviet Union: 100th Anniversary 1922\",\"slug\":\"the-soviet-union-100th-anniversary-1922\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/379401/banners/6632f502a59c8.jpg\",\"firstAired\":\"2014-03-31\",\"id\":379401,\"image\":\"/banners/v4/series/379401/posters/62418eb64e3d1.jpg\",\"network\":\"Smithsonian Channel\",\"overview\":\"A celebrated Nazi general who plots Hitler's assassination. A sunken U-boat that mysteriously vanishes. An Alpine Fortress that may house millions in lost Nazi gold. Decades after World War II, there are still many Secrets of the Third Reich unfolding. We go into the minds of some of the conflict's most prominent events and notorious figures and uncover the little-known stories that played a large role in determining the fate of the WWII and those who fought in it.\",\"poster\":\"/banners/v4/series/379401/posters/62418eb64e3d1.jpg\",\"seriesName\":\"Secrets of the Third Reich\",\"slug\":\"secrets-of-the-third-reich\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/438001/banners/66201c369161d.jpg\",\"firstAired\":\"2023-05-07\",\"id\":438001,\"image\":\"/banners/v4/series/438001/posters/6601626202f8f.jpg\",\"network\":\"RT\xC9 One\",\"overview\":\"In 1993, Annie McCarrick disappears without a trace from her Dublin home. 30 years later, her case remains unsolved. A recent upgrade of the case to murder gives her family renewed hope. But might vital clues have been missed?\\r\\nA two-part true-crime series looking at some of the most notorious cases of women who disappeared within a so-called Vanishing Triangle throughout the 1990\u2019s.\",\"poster\":\"/banners/v4/series/438001/posters/6601626202f8f.jpg\",\"seriesName\":\"Missing: Beyond The Vanishing Triangle\",\"slug\":\"missing-beyond-the-vanishing-triangle\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/437829/banners/64dddbf571f10.jpg\",\"firstAired\":\"2023-08-30\",\"id\":437829,\"image\":\"/banners/v4/series/437829/posters/64ef3aec04c35.jpg\",\"network\":\"Netflix\",\"overview\":\"Travel around the world with author Dan Buettner to discover five unique communities where people live extraordinarily long and vibrant lives.\",\"poster\":\"/banners/v4/series/437829/posters/64ef3aec04c35.jpg\",\"seriesName\":\"Live to 100: Secrets of the Blue Zones\",\"slug\":\"live-to-100-secrets-of-the-blue-zones\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-07-20\",\"id\":403081,\"image\":\"/banners/v4/series/403081/posters/60a3021af1873.jpg\",\"network\":\"\",\"overview\":\"Historian Lucy Worsley marks the centennial of the Women's Institute in Britain by exploring and celebrating their amazing history, social evolution and impressive accomplishments.\",\"poster\":\"/banners/v4/series/403081/posters/60a3021af1873.jpg\",\"seriesName\":\"Cake Bakers \\u0026 Trouble Makers: Lucy Worsley's 100 Years of the WI\",\"slug\":\"cake-bakers-trouble-makers-lucy-worsleys-100-years-of-the-wi\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2020-04-02\",\"id\":385531,\"image\":\"/banners/series/385531/posters/5ff9f7df99c16.jpg\",\"network\":\"\",\"overview\":\"The Green Bay Packers have launched Legacy: 100 Seasons of the Green Bay Packers, presented by Associated Bank, on the team's free connected TV streaming app. Legacy is a 10-part documentary series celebrating a century of the Packers, with every decade represented by an individual film between one and two hours in length. Associated Bank has been a proud partner and bank of the Packers since 1919.\",\"poster\":\"/banners/series/385531/posters/5ff9f7df99c16.jpg\",\"seriesName\":\"Legacy: 100 Seasons of the Green Bay Packers\",\"slug\":\"legacy-100-seasons-of-the-green-bay-packers\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/347087/banners/6621556c04960.jpg\",\"firstAired\":\"2018-05-01\",\"id\":347087,\"image\":\"/banners/posters/5af22573d5afd.jpg\",\"network\":\"Channel 5\",\"overview\":\"Two-part documentary charting the highs and lows of British Airways as it approaches its centenary. Former pilots, crew and customers reveal their tales, combined with incredible archive footage.\\r\\n\",\"poster\":\"/banners/posters/5af22573d5afd.jpg\",\"seriesName\":\"British Airways: 100 Years in the Sky\",\"slug\":\"347087-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2014-03-09\",\"id\":337417,\"image\":\"/banners/posters/337417-1.jpg\",\"network\":\"PBS\",\"overview\":\"Before the Interstate Highway System, before famed Route 66, before highways were even numbered, there was one road that started it all, one road that changed America forever: The Lincoln Highway. \u201C100 Years on the Lincoln Highway\u201D is the story of the first coast to coast automobile road in the United States and its impact on Wyoming.\",\"poster\":\"/banners/posters/337417-1.jpg\",\"seriesName\":\"100 Years on the Lincoln Highway\",\"slug\":\"100-years-on-the-lincoln-highway\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2014-03-04\",\"id\":367836,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"100 wonders of the world\",\"slug\":\"100-wonders-of-the-world\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/291981-g.jpg\",\"firstAired\":\"2013-04-25\",\"id\":291981,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"CBC\",\"overview\":\"A crew of mariners, scientists and filmmakers are followed as they cast off on the Sedna IV, an oceanographic schooner, to sail around the world exploring the beauty of nature, how ecosystems work and conservation challenges facing the planet.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"1000 Days for the Planet: Human Adventure\",\"slug\":\"1000-days-for-the-planet-human-adventure\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/428319/banners/6601b88c60c43.jpg\",\"firstAired\":\"2022-12-11\",\"id\":428319,\"image\":\"/banners/v4/series/428319/posters/63b82c97c26e6.jpg\",\"network\":\"RT\xC9 One\",\"overview\":\"Narrated by Brendan Gleeson and produced as part of the Decade of Centenary commemorations this documentary series tells the epic and often challenging story of the origins, conflict and legacy of the civil war that took place in Ireland in 1922 and 1923.\\r\\n\\r\\nThe civil war is among the most controversial chapters in Irish history and has been a rarely told tale. Even today, tensions can run high at its mention. Few however will know the intricate details of what led to the war, how the war played out across the country, nor will have heard the often-tragic personal stories of those involved.\\r\\n\\r\\nThis series goes to the heart of this history, telling it straight, teasing out the nuances and complexities, generating unprejudiced, compelling and challenging documentaries that may serve as a suitable commemoration of those troubled years.\",\"poster\":\"/banners/v4/series/428319/posters/63b82c97c26e6.jpg\",\"seriesName\":\"The Irish Civil War\",\"slug\":\"the-irish-civil-war\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/349498/banners/664be5db4425c.jpg\",\"firstAired\":\"2018-07-05\",\"id\":349498,\"image\":\"/banners/posters/5b301f20f32f9.jpg\",\"network\":\"AT-X\",\"overview\":\"The heroine is a normal girl, until one day she is invited to another world and becomes the princess of the dream world, where people use dreams as the energy to live. One day, the dream world is being attacked by something called \\\"yumekui\\\" (\\\"dream eater\\\"), and many princes are being attacked by it. The heroine must wake them up to save the dream world, as the princes are unable to wake up due to having their dreams stolen.\",\"poster\":\"/banners/posters/5b301f20f32f9.jpg\",\"seriesName\":\"100 Sleeping Princes \\u0026 The Kingdom of Dreams\",\"slug\":\"100-sleeping-princes-\\u0026-the-kingdom-of-dreams\",\"status\":\"Ended\"},{\"aliases\":[\"100 Percent Wolf: Legend Of The Moonstone\",\"100 Prozent Wolf - Die Legende des Mondsteins\"],\"banner\":\"/banners/series/394076/banners/5fe9c975e06ba.jpg\",\"firstAired\":\"2020-12-27\",\"id\":394076,\"image\":\"/banners/v4/series/394076/posters/60a70bc27e658.jpg\",\"network\":\"ABC Me\",\"overview\":\"Freddy may be a poodle, but he has the heart of a wolf, and he's going to prove it by graduating from the werewolf-only Howlington Academy!\",\"poster\":\"/banners/v4/series/394076/posters/60a70bc27e658.jpg\",\"seriesName\":\"100% Wolf: Legend Of The Moonstone\",\"slug\":\"100-wolf-legend-of-the-moonstone\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/347085/banners/6647da2f9d618.jpg\",\"firstAired\":\"\",\"id\":347085,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"100 Greatest Songs of the 80's\",\"slug\":\"347085-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2021-04-29\",\"id\":428658,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Be inspired! Introducing 100 passionate stories of efforts and innovations that pave the way towards the UN's 17 SDGs. From the treasure trove of NHK WORLD-JAPAN's rich content library.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"100 Ideas to Save the World\",\"slug\":\"100-ideas-to-save-the-world\",\"status\":\"Continuing\"},{\"aliases\":[\"Zom 100: Zombie ni Naru made ni Shitai 100 no Koto\",\"Zom 100 - Zombie ni Naru made ni Shitai 100 no Koto\",\"Zom 100: Bucket List of the Dead\",\"Zom 100: Bucket List of the Dead\",\"Zom 100: Zombie ni Naru Made ni Shitai 100 no Koto\",\"Zom 100\",\"Zombie 100\",\"Zom 100: Zombie ni Naru\",\"Zom 100: Bucket List of the Dead\",\"Zom 100 - Zombie ni Naru made ni Shitai 100 no Koto\",\"100 \u0110i\u1EC1u T\xF4i S\u1EBD L\xE0m Tr\u01B0\u1EDBc Khi Tr\u1EDF Th\xE0nh Zombie\",\"\u50F5\u5C38100 \u5728\u6210\u4E3A\u50F5\u5C38\u524D\u8981\u505A\u7684100\u4EF6\u4E8B\",\"\u0417\u043E\u043C\u0431\u0438-\u0430\u043F\u043E\u043A\u0430\u043B\u0438\u043F\u0441\u0438\u0441 \u0438 \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u0437 100 \u0434\u0435\u043B, \u0447\u0442\u043E \u044F \u0432\u044B\u043F\u043E\u043B\u043D\u044E \u043F\u0435\u0440\u0435\u0434 \u0441\u043C\u0435\u0440\u0442\u044C\u044E\",\"\u0417\u043E\u043C 100:\u0421\u043E\u0442\u043D\u044F \u0441\u043F\u0440\u0430\u0432, \u044F\u043A\u0456 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043F\u0435\u0440\u0448, \u043D\u0456\u0436 \u0441\u0442\u0430\u0442\u0438 \u0437\u043E\u043C\u0431\u0456\",\"\u0417\u043E\u043C 100: \u0421\u043E\u0442\u043D\u044F \u0441\u043F\u0440\u0430\u0432, \u044F\u043A\u0456 \u0442\u0440\u0435\u0431\u0430 \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043F\u0435\u0440\u0448 \u043D\u0456\u0436 \u0441\u0442\u0430\u0442\u0438 \u0437\u043E\u043C\u0431\u0430\u043A\u043E\u043C\",\"\u0417\u043E\u043C 100: \u0421\u043F\u0438\u0441\u043E\u043A \u0441\u043F\u0440\u0430\u0432 \u043C\u0430\u0439\u0431\u0443\u0442\u043D\u044C\u043E\u0433\u043E \u0437\u043E\u043C\u0431\u0456\",\"\u0417\u043E\u043C 100\",\"\u0417\u043E\u043C 100 - \u0421\u043E\u0442\u043D\u044F \u0441\u043F\u0440\u0430\u0432, \u044F\u043A\u0456 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u0440\u043E\u0431\u0438\u0442\u0438 \u043F\u0435\u0440\u0448, \u043D\u0456\u0436 \u0441\u0442\u0430\u0442\u0438 \u0437\u043E\u043C\u0431\u0456\"],\"banner\":\"/banners/v4/series/429310/banners/64cea9d91b332.jpg\",\"firstAired\":\"2023-07-09\",\"id\":429310,\"image\":\"/banners/v4/series/429310/posters/648b7b9c1be6a.jpg\",\"network\":\"MBS\",\"overview\":\"With three years under his belt at the company from hell, Akira Tend\u014D is mentally and physically spent. All at the ripe old age of twenty-four. Even his crush from Accounting, Saori, wants nothing to do with him. Then, just when life is beginning to look like one big disappointment, it happens. The zombie apocalypse descends on Japan! Surrounded by hordes of hungry zombies, Akira comes to a realization that will forever change his life... \u201CWait, does this mean I never have to go to work again?\u201D Confess to... party like it\u2019s... travel Japan coast to... Now, with his nightmare job no longer, Akira\u2019s got his mojo back. Let the bucket listing begin!!\",\"poster\":\"/banners/v4/series/429310/posters/648b7b9c1be6a.jpg\",\"seriesName\":\"Zom 100: Bucket List of the Dead\",\"slug\":\"zom-100-bucket-list-of-the-dead\",\"status\":\"Ended\"},{\"aliases\":[\"The National Lottery: 1 vs 100\"],\"banner\":\"\",\"firstAired\":\"2006-09-30\",\"id\":429557,\"image\":\"/banners/v4/series/429557/posters/63cee54e01d11.jpg\",\"network\":\"BBC One\",\"overview\":\"1 vs. 100 is a BBC National Lottery game show based on the original Dutch version called E\xE9n tegen 100. It aired on BBC One from 30 September 2006 to 23 May 2009 with Dermot O'Leary hosting the first two series and Ben Shephard hosting the last two series.\",\"poster\":\"/banners/v4/series/429557/posters/63cee54e01d11.jpg\",\"seriesName\":\"1 vs 100 (UK)\",\"slug\":\"the-national-lottery-1-vs-100\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/text/323053.jpg\",\"firstAired\":\"2015-07-27\",\"id\":323053,\"image\":\"/banners/posters/323053-1.jpg\",\"network\":\"PBS\",\"overview\":\"1000 Days of Fear is the inside-the-barbed-wire story of the brilliant men and women who worked on the Manhattan Project at Los Alamos.The fascinating personalities behind the creation of the world\u2019s first atomic bomb were as extraordinary, and often as explosive, as the science they were working in. Through first-hand accounts, never-before-seen interviews, and Los Alamos lore, this documentary looks inside these atomic insiders\u2019 hearts and minds, their triumphs and failures, their bravery in the face of paralyzing fear and, ultimately, their war-winning and world-changing accomplishments.\",\"poster\":\"/banners/posters/323053-1.jpg\",\"seriesName\":\"1000 Days of Fear: The Deadly Race at Los Alamos\",\"slug\":\"1000-days-of-fear-the-deadly-race-at-los-alamos\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2013-09-05\",\"id\":403576,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Eros Now\",\"overview\":\"Get ready for the scariest ride of your life! Watch the most spine-chilling tales and short films.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Twisted Tales\",\"slug\":\"twisted-tales\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/385519/banners/5f87832caa8f1.jpg\",\"firstAired\":\"2020-09-06\",\"id\":385519,\"image\":\"/banners/series/385519/posters/5f578af2d2de0.jpg\",\"network\":\"Smithsonian Channel\",\"overview\":\"Author and medical historian Dr. Lindsey Fitzharris will use science, tests, and demonstrations to shed new light on famous deaths, ranging from drug lord Pablo Escobar to magician Harry Houdini. Using her lab to perform virtual autopsies, experiment with blood samples, interview witnesses and conduct real-time demonstrations, Dr. Fitzharris will put everything about these mysterious deaths to the test. Along the way, she'll be joined by a revolving cast of experts, including Scotland Yard detectives, medical examiners, weapons gurus and more.\",\"poster\":\"/banners/series/385519/posters/5f578af2d2de0.jpg\",\"seriesName\":\"The Curious Life and Death Of...\",\"slug\":\"the-curious-life-and-death-of\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/448643/banners/661d83b1d6de3.jpg\",\"firstAired\":\"2024-03-24\",\"id\":448643,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"RT\xC9 One\",\"overview\":\"Doireann, Donncha and Carl are on the road ready to prank the unsuspecting people of Ireland in the Full Irish Hidden Camera Show!\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Full Irish Hidden Camera Show\",\"slug\":\"the-full-irish-hidden-camera-show\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/286193-g2.jpg\",\"firstAired\":\"2015-09-10\",\"id\":286193,\"image\":\"/banners/posters/286193-2.jpg\",\"network\":\"HBO Nordic\",\"overview\":\"New York. Stockholm. Over the course of the last 12 months, young, blonde and blue-eyed women have been turning up dead in a field of asphodel flowers. Through a special dispensation from the NYPD, Detective Tommy Conley is permitted to observe and advise the Stockholm PD. Upon his arrival in Sweden, he is paired with Mikael Eklund, a by-the-book, Swedish cop with an aversion to American grab-and-go culture. Both hate each other, but the two better straighten out their differences as the killings continue.\\r\\n\\r\\n\",\"poster\":\"/banners/posters/286193-2.jpg\",\"seriesName\":\"100 Code\",\"slug\":\"the-hundred-code\",\"status\":\"Ended\"},{\"aliases\":[\"Hito wa Mita Me ga 100%\",\"Hito wa Mitame ga 100 Percent\",\"Hito wa Mita Me ga 100%\",\"Hito wa Mitame ga 100 Percent\",\"\u4EBA100%\u9760\u5916\u8868\",\"\u4FD7\u5973\u9032\u5316\u8AD6\"],\"banner\":\"/banners/graphical/326526-g.jpg\",\"firstAired\":\"2017-04-13\",\"id\":326526,\"image\":\"/banners/posters/326526-4.jpg\",\"network\":\"Fuji TV\",\"overview\":\"Jun Jonochi works at a paper manufacturing company. She is earnest, but clueless about her own appearance. She doesn't have any interest in making herself look good. One day, she realizes that people don't view her as other women. She begins to read up on things like make-up and fashion trends with her two female colleagues.\",\"poster\":\"/banners/posters/326526-4.jpg\",\"seriesName\":\"It's All About The Looks\",\"slug\":\"its-all-about-the-looks\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/254597-g.jpg\",\"firstAired\":\"1984-02-19\",\"id\":254597,\"image\":\"/banners/v4/series/254597/posters/6425cce345b57.jpg\",\"network\":\"CBS\",\"overview\":\"Based on the novel by Sidney Sheldon, the story spans six generations in the lives of the fictional MacGregor/Blackwell family.\\r\\n\\r\\nElderly Kate Blackwell looks back at her family's life beginning with her Scottish father Jamie McGregor's journey to South Africa to make his fortune in diamonds. The family history is littered with revenge, lust, betrayal, manipulation, and murder.\",\"poster\":\"/banners/v4/series/254597/posters/6425cce345b57.jpg\",\"seriesName\":\"Master of the game\",\"slug\":\"master-of-the-game\",\"status\":\"Ended\"},{\"aliases\":[\"Tycoons - Die Macht der Milliard\xE4re\"],\"banner\":\"\",\"firstAired\":\"2022-10-28\",\"id\":426596,\"image\":\"/banners/v4/series/426596/posters/643c5f5af0aea.jpg\",\"network\":\"ZDF\",\"overview\":\"The richest people in the world who have great influence in their countries. America's super-rich, the Russian oligarchs and the Chinese entrepreneurs at the top of the country's largest corporations.\",\"poster\":\"/banners/v4/series/426596/posters/643c5f5af0aea.jpg\",\"seriesName\":\"Tycoons - The power of billionaires\",\"slug\":\"tycoons-die-macht-der-milliardaere\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":392032,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Nietzsche and the Post-Modern Condition\",\"slug\":\"nietzsche-and-the-post-modern-condition\",\"status\":\"Ended\"},{\"aliases\":[\"Byplayers\",\"\u5982\u679C\u8FD96\u540D\u914D\u89D2\u5171\u540C\u751F\u6D3B\u7684\u8BDD\",\"\u5982\u679C\u540D\u914D\u89D2\u5728TV\u4E1C\u6668\u95F4\u5267\u91CC\u6311\u6218\u65E0\u4EBA\u5C9B\u751F\u6D3B\u7684\u8BDD\",\"\u540D\u914D\u89D2\u7684\u68EE\u6797100\u65E5\"],\"banner\":\"/banners/v4/series/322344/banners/62bc4d0ff13a7.jpg\",\"firstAired\":\"2017-01-13\",\"id\":322344,\"image\":\"/banners/series/322344/posters/5ff59b9cd3871.jpg\",\"network\":\"TV Tokyo\",\"overview\":\"Kenichi Endo, Ren Osugi, Tomorowo Taguchi, Susumu Terajima, Yutaka Matsushige and Ken Mitsuishi all receive offers to take part in a big budget drama series with a famous lead actor and world famous director. To study their roles and relationships, the director asks the six supporting actors to live together for 3 months at a share house. The actors begin their temporary living arrangement. An incident from 10 years ago though causes the actors to hold resentment.\",\"poster\":\"/banners/series/322344/posters/5ff59b9cd3871.jpg\",\"seriesName\":\"The Supporting Actors\",\"slug\":\"byplayers\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2016-03-12\",\"id\":308971,\"image\":\"/banners/posters/5be35ce93fc06.jpg\",\"network\":\"ZDF\",\"overview\":\"The Weimar Republic was undoubtedly a dawn of the modern age, but had too many opponents who wanted to set the clock back to the past. The majority of Germans were not yet ready for democracy. Many were stubborn in their world views. The authoritarian imperial era and the First World War had trained the men to develop martial, violent solutions.\",\"poster\":\"/banners/posters/5be35ce93fc06.jpg\",\"seriesName\":\"Secrets of the Weimar Republic\",\"slug\":\"308971-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2020-01-26\",\"id\":377288,\"image\":\"/banners/series/377288/posters/5eac33f2af443.jpg\",\"network\":\"ZDFinfo\",\"overview\":\"On January 28, 1945, the Allied armies were still on the other side of the border. The breakthrough in the east marked the beginning of the end of the \u201CThird Reich\u201D. The last chapter of the war started 100 days before the end - there were days of horror and death, days of destruction - and at the same time of liberation. This is the prelude to the three-part series on the history of the last three months of dictatorship and war.\",\"poster\":\"/banners/series/377288/posters/5eac33f2af443.jpg\",\"seriesName\":\"Countdown to the End of the War\",\"slug\":\"countdown-zum-kriegsende\",\"status\":\"Ended\"},{\"aliases\":[\"30 Favoriten der Musik\",\"Die verr\xFCckten\u2026\",\"Die 100 sch\xF6nsten Hits\",\"Die 30 tollsten\",\"Der tolle Schlagerabend\",\"Pop nonstop\",\"Die 30 sch\xF6nsten\",\"Die 30 gr\xF6\xDFten\",\"Schlager nonstop\",\"Die 30 legend\xE4rsten\",\"Die Schlager-Traumpaare\",\"Schlager, die Sie kennen sollten\",\"Schlagerhits \\u0026 Spa\xDF\",\"Die gr\xF6\xDFten Pop-Kulthits\",\"Die sch\xF6nsten Kulthits\"],\"banner\":\"\",\"firstAired\":\"2011-12-30\",\"id\":407329,\"image\":\"/banners/v4/series/407329/posters/60f992262bd2b.jpg\",\"network\":\"SWR\",\"overview\":\"Music videos cut together from a decade each.\",\"poster\":\"/banners/v4/series/407329/posters/60f992262bd2b.jpg\",\"seriesName\":\"The Greatest Cult Hits\",\"slug\":\"die-groessten-schlager-kulthits\",\"status\":\"Continuing\"},{\"aliases\":[\"Fixer Upper: Behind the Design\"],\"banner\":\"/banners/graphical/281053-g2.jpg\",\"firstAired\":\"2013-05-23\",\"id\":281053,\"image\":\"/banners/posters/281053-2.jpg\",\"network\":\"HGTV\",\"overview\":\"The first rule of real estate is location, location, location, but what happens when a buyer's only option in the right location is a house with dreadful design and a clunky layout? We say buy it \u2014 then fix it! \\\"Fixer Upper\\\" pairs renovation, design and real estate pros Chip and Joanna Gaines with Waco/Dallas, Texas-area buyers to renovate the wrong house that's in the right location.\",\"poster\":\"/banners/posters/281053-2.jpg\",\"seriesName\":\"Fixer Upper\",\"slug\":\"fixer-upper\",\"status\":\"Ended\"},{\"aliases\":[\"The Popularity Of Music\",\"Billboard Hot 100\",\"Welcome To Spectrum Pulse\"],\"banner\":\"/banners/series/386616/banners/5f357cb9b9417.jpg\",\"firstAired\":\"2014-11-28\",\"id\":386616,\"image\":\"/banners/v4/series/386616/posters/618875627114b.jpg\",\"network\":\"YouTube\",\"overview\":\"This show is hosted by Mark Grondin aka Spectrum Pulse. He reviews new songs from the Billboard Hot 100 (United States) chart. He also has his Voltorb as his partner. He's the subtitle person. This is the music version of \\\"First Take\\\". With comfortably over a thousand albums reviewed spanning every genre of music, his long-running weekly series Billboard BREAKDOWN examining the charts (now on its own channel).\",\"poster\":\"/banners/v4/series/386616/posters/618875627114b.jpg\",\"seriesName\":\"Billboard BREAKDOWN\",\"slug\":\"billboard-breakdown\",\"status\":\"Continuing\"},{\"aliases\":[\"\u0E1B\u0E31\u0E08\u0E09\u0E34\u0E21\u0E2D\u0E40\u0E21\u0E23\u0E34\u0E01\u0E32\"],\"banner\":\"/banners/v4/series/392256/banners/63cded40a22f4.jpg\",\"firstAired\":\"2023-01-15\",\"id\":392256,\"image\":\"/banners/v4/series/392256/posters/6362e8b41ca10.jpg\",\"network\":\"HBO\",\"overview\":\"After a global pandemic destroys civilization, a hardened survivor takes charge of a 14-year-old girl who may be humanity\u2019s last hope.\",\"poster\":\"/banners/v4/series/392256/posters/6362e8b41ca10.jpg\",\"seriesName\":\"The Last of Us\",\"slug\":\"the-last-of-us\",\"status\":\"Continuing\"},{\"aliases\":[\"\u041A\u043B\u0443\u0431 \u043D\u044F\u043D\u0435\u043A\"],\"banner\":\"/banners/v4/series/376698/banners/64a601948211f.jpg\",\"firstAired\":\"2020-07-03\",\"id\":376698,\"image\":\"/banners/series/376698/posters/5e767c28e7131.jpg\",\"network\":\"Netflix\",\"overview\":\"A group of clever, entrepreneurial friends endeavor to launch their own baby-sitting business and learn to overcome challenging growing pains along the way.\",\"poster\":\"/banners/series/376698/posters/5e767c28e7131.jpg\",\"seriesName\":\"The Baby-Sitters Club (2020)\",\"slug\":\"the-baby-sitters-club-2020\",\"status\":\"Ended\"},{\"aliases\":[\"\u0410\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0430\u044F \u0438\u0433\u0440\u0430\"],\"banner\":\"/banners/series/378014/banners/5e7489cc9830c.jpg\",\"firstAired\":\"2020-03-20\",\"id\":378014,\"image\":\"/banners/series/378014/posters/5ebc3632e1842.jpg\",\"network\":\"Netflix\",\"overview\":\"Two 19th-century footballers on opposite sides of a class divide navigate professional and personal turmoil to change the game \u2014 and England \u2014 forever.\",\"poster\":\"/banners/series/378014/posters/5ebc3632e1842.jpg\",\"seriesName\":\"The English Game\",\"slug\":\"the-english-game\",\"status\":\"Ended\"},{\"aliases\":[\"\u0628\u064A\u063A \u0634\u0648 \u062E\u0627\u0631\u062C \u0627\u0644\u062D\u0644\u0628\u0629 (2020)\",\"\u0639\u0631\u0636 \u0628\u064A\u063A \u0634\u0648\",\"\u0639\u0631\u0636 \u0628\u064A\u063A \u0634\u0648 (2020)\"],\"banner\":\"\",\"firstAired\":\"2020-04-06\",\"id\":377281,\"image\":\"/banners/series/377281/posters/5ea48449adcee.jpg\",\"network\":\"Netflix\",\"overview\":\"When the teenage daughter of Big Show comes to live with him, his wife, and two other daughters, he quickly becomes outnumbered and outsmarted. Despite being 7 feet tall and weighing 400 pounds, he is no longer the center of attention.\",\"poster\":\"/banners/series/377281/posters/5ea48449adcee.jpg\",\"seriesName\":\"The Big Show Show\",\"slug\":\"the-big-show-show\",\"status\":\"Ended\"},{\"aliases\":[\"The Innocence Files (2020)\",\"\u0623\u0628\u0631\u064A\u0627\u0621 \u062E\u0644\u0641 \u0627\u0644\u0642\u0636\u0628\u0627\u0646 (2020)\"],\"banner\":\"/banners/series/378246/banners/5e96bdf4a753e.jpg\",\"firstAired\":\"2020-04-15\",\"id\":378246,\"image\":\"/banners/v4/series/378246/posters/6212ee6ccd52d.jpg\",\"network\":\"Netflix\",\"overview\":\"A nine-episode series that spotlights the teams that worked to overturn eight cases of wrongful convictions.\",\"poster\":\"/banners/v4/series/378246/posters/6212ee6ccd52d.jpg\",\"seriesName\":\"The Innocence Files\",\"slug\":\"the-innocence-files\",\"status\":\"Ended\"},{\"aliases\":[\"Pantera Cor de Rosa\"],\"banner\":\"/banners/graphical/100741-g.jpg\",\"firstAired\":\"1993-09-11\",\"id\":100741,\"image\":\"/banners/posters/100741-3.jpg\",\"network\":\"Syndication\",\"overview\":\"The 1993 incarnation of The Pink Panther starred the legendary hip feline in series of brand new adventures, in which he dealt with different situations in a manner similar to the original Looney Tunes shorts, ranging from modern day situations such as working as a delivery boy to outlandish situations like living in caveman days. Unlike previous television series and almost the entire theatrical run, the series was produced with the Panther capable of speaking throughout the episodes, to allow more interaction with other characters. Voiced by Matt Frewer, he was given a humorous American accent in order to appeal to younger children, which was in sharp contrast to the sophisticated British accent supplied by impressionist Rich Little who voiced the Panther briefly in two 1965 cartoon shorts, \\\"Sink Pink\\\" and \\\"Pink Ice.\\\"\",\"poster\":\"/banners/posters/100741-3.jpg\",\"seriesName\":\"The Pink Panther (1993)\",\"slug\":\"the-pink-panther-1993\",\"status\":\"Ended\"},{\"aliases\":[\"Martina Cole's The Take\"],\"banner\":\"/banners/graphical/100002-g2.jpg\",\"firstAired\":\"2009-06-17\",\"id\":100002,\"image\":\"/banners/posters/100002-1.jpg\",\"network\":\"Sky One\",\"overview\":\"Freddie Jackson is just out of prison. He's done his time, made the right connections and now he's ready to use them. His wife Jackie dreams of having her husband home but she's forgotten the rows and the girls Freddie can't leave alone. His younger cousin, Jimmy, dreams of making a name for himself on Freddie's coattails. \\r\\n\\r\\nAt first Freddie gets everything he ever wanted and Jimmy is taken along for the ride: a growing crime empire that gives them all the respect and money they've hungered for. But behind it all sits Ozzy - the legendary criminal godfather who manipulates Freddie and Jimmy's fates from behind the bars of his prison cell. \\r\\n\\r\\nBitter, resentful and increasingly unstable, Jackie sees her life crumble while her little sister Maggie's star rises. In love with Freddie's cousin Jimmy, Maggie is determined not to end up like her sister.\\r\\n\\r\\nFreddie and Jackie watch Jimmy and Maggie achieve all the dreams that they themselves failed to realise: love, family, stability and respect. \\r\\n\\r\\nJealous resentment and an inability to control himself force Freddie to put both the business and family at risk. Torn between being loyal to a cousin he loves and being true to his own destiny, Jimmy is forced to decide between protecting Freddie or the life he has built with Maggie. \\r\\n\\r\\nThis is a powerful human drama about love, power, violence and betrayal.\",\"poster\":\"/banners/posters/100002-1.jpg\",\"seriesName\":\"The Take\",\"slug\":\"the-take\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/text/264235.jpg\",\"firstAired\":\"2012-02-26\",\"id\":264235,\"image\":\"/banners/posters/264235-3.jpg\",\"network\":\"\",\"overview\":\"In an underground world where tunnels extend everywhere, even though they live in dark and confined spaces, people wear protective clothes and lead quiet and enjoyable lives. Patema, a princess in her underground village, loves to explore the tunnels. Her favorite place is a \\\"danger zone\\\" that her village prohibits people from entering. Even though she's scolded, Patema's curiosity can't be held back. No one ever explained what the supposed danger was. On her usual trip to the \\\"danger zone,\\\" Patema faces unexpected events. When hidden secrets come to light, the story begins to unfold.\",\"poster\":\"/banners/posters/264235-3.jpg\",\"seriesName\":\"Patema Inverted: Beginning of the Day\",\"slug\":\"sakasama-no-patema\",\"status\":\"Ended\"},{\"aliases\":[\"\u0413\u043D\u0435\u0437\u0434\u043E\"],\"banner\":\"/banners/v4/series/375608/banners/65d66d0320dcd.jpg\",\"firstAired\":\"2020-03-22\",\"id\":375608,\"image\":\"/banners/series/375608/posters/5e89a74de1238.jpg\",\"network\":\"BBC One\",\"overview\":\"Happy couple Dan and Emily live in a huge house just outside Glasgow and want for nothing, save a baby of their own. Through a chance encounter they meet Kaya, an 18-year-old from the other side of the city, whose life is as precarious at theirs is comfortable. When Kaya agrees to carry their baby, it feels like they were meant to meet, but was it really by chance?\",\"poster\":\"/banners/series/375608/posters/5e89a74de1238.jpg\",\"seriesName\":\"The Nest\",\"slug\":\"the-nest\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/378472/banners/5f134dc8ac44b.jpg\",\"firstAired\":\"2020-04-05\",\"id\":378472,\"image\":\"/banners/series/378472/posters/5e9b9bda945e4.jpg\",\"network\":\"HBO\",\"overview\":\"This docuseries explores the period between 1979 and 1981 when at least 30 African-American children and young adults disappeared or were murdered in Atlanta, Georgia.\",\"poster\":\"/banners/series/378472/posters/5e9b9bda945e4.jpg\",\"seriesName\":\"Atlanta's Missing and Murdered: The Lost Children\",\"slug\":\"atlantas-missing-and\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/375356/banners/65d639c364853.jpg\",\"firstAired\":\"2020-03-06\",\"id\":375356,\"image\":\"/banners/series/375356/posters/62092322.jpg\",\"network\":\"FX\",\"overview\":\"Soon after his birth-mother contacted him for the first time, Gary L. Stewart decided to search for his biological father. His disturbing identity would force Stewart to reconsider everything he thought he knew about himself.\",\"poster\":\"/banners/series/375356/posters/62092322.jpg\",\"seriesName\":\"The Most Dangerous Animal of All\",\"slug\":\"the-most-dangerous-animal-of-all\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/391434/banners/64c6e2c3c2e4d.jpg\",\"firstAired\":\"2020-03-17\",\"id\":391434,\"image\":\"/banners/v4/series/391434/posters/65ef4b5449384.jpg\",\"network\":\"Netflix\",\"overview\":\"Shaun is the center of adventure and excitement at Mossy Bottom Farm for a sixth series on Netflix. The series introduces four new characters to Mossingham: Stash, Rita and new rival Farmer Ben, and his Afghan hound, Lexi.\",\"poster\":\"/banners/v4/series/391434/posters/65ef4b5449384.jpg\",\"seriesName\":\"Shaun the Sheep: Adventures from Mossy Bottom\",\"slug\":\"shaun-the-sheep-adventures-from-mossy-bottom\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5c18dd4bd9240.jpg\",\"firstAired\":\"2018-11-16\",\"id\":355593,\"image\":\"/banners/posters/5bf929005db56.jpg\",\"network\":\"SBS\",\"overview\":\"Village Survival, the Eight is a mystery thriller variety show that is set in the countryside. The stars have to stay together for 24 hours and try to solve a mystery that lies within the village. During their time there, they play different games and compete with one another.\",\"poster\":\"/banners/posters/5bf929005db56.jpg\",\"seriesName\":\"Village Survival, The Eight\",\"slug\":\"village-survival-the-eight\",\"status\":\"Ended\"},{\"aliases\":[\"Inside the NFL (2009)\"],\"banner\":\"/banners/v4/series/72075/banners/65566a06183a3.jpg\",\"firstAired\":\"2009-09-09\",\"id\":72075,\"image\":\"/banners/posters/72075-1.jpg\",\"network\":\"Showtime\",\"overview\":\"Inside the NFL is one of the longest running, Emmy award winning sports shows on cable television today. Each episode has some of the most exciting player profiles, interviews and footage as well as expert comentary from past players from around the NFL. Current hosts include James Brown, Cris Collinsworth, Phil Simms and Warren Sapp who provide the in depth coverage that fans have come to expect since the shows long history.\",\"poster\":\"/banners/posters/72075-1.jpg\",\"seriesName\":\"Inside The NFL\",\"slug\":\"inside-the-nfl\",\"status\":\"Continuing\"},{\"aliases\":[\"Dr. Kimble auf der Flucht\"],\"banner\":\"/banners/v4/series/75258/banners/653185b27aa8d.jpg\",\"firstAired\":\"1963-09-17\",\"id\":75258,\"image\":\"/banners/posters/75258-4.jpg\",\"network\":\"ABC (US)\",\"overview\":\"Dr. Richard Kimble (David Janssen), wrongly accused of murdering his wife, escapes custody while on the road to prison and must elude the police to continue his quest to find the real killer.\",\"poster\":\"/banners/posters/75258-4.jpg\",\"seriesName\":\"The Fugitive\",\"slug\":\"the-fugitive\",\"status\":\"Ended\"},{\"aliases\":[\"Glass Houses\"],\"banner\":\"/banners/series/363778/banners/62109078.jpg\",\"firstAired\":\"2020-03-04\",\"id\":363778,\"image\":\"/banners/series/363778/posters/62099234.jpg\",\"network\":\"ITV1\",\"overview\":\"The series delves into what happens when idle gossip escalates out of control and starts to affect people\u2019s lives. Set in a picturesque fishing village, the series centres on Maggie Cole, the self- appointed oracle of this close-knit community. Maggie makes it her business to know a little bit about everyone\u2019s lives. She certainly doesn\u2019t pay attention to the cautionary adage that \u2018those in glass houses shouldn\u2019t throw stones\u2019.\",\"poster\":\"/banners/series/363778/posters/62099234.jpg\",\"seriesName\":\"The Trouble with Maggie Cole\",\"slug\":\"the-trouble-with-maggie-cole\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/376509/banners/62071967.jpg\",\"firstAired\":\"2020-01-30\",\"id\":376509,\"image\":\"/banners/series/376509/posters/5f83a469a4c08.jpg\",\"network\":\"History\",\"overview\":\"From the creators of HISTORY\u2019s show Alone comes a series where 3 strangers attempt to endure 30 days in a remote location with no tools or modern amenities, just the clothes on their backs \\u0026 an untouched fallen animal. Faced with punishing weather, relentless predators, and their differing survival styles, it\u2019ll take all their ingenuity and stamina to work together \\u0026 survive in Alone: The Beast.\",\"poster\":\"/banners/series/376509/posters/5f83a469a4c08.jpg\",\"seriesName\":\"Alone: The Beast\",\"slug\":\"alone-the-beast\",\"status\":\"Ended\"},{\"aliases\":[\"Mi familia de 1000 kilos\",\"Familia de peso\"],\"banner\":\"/banners/graphical/340840-g2.jpg\",\"firstAired\":\"2018-01-10\",\"id\":340840,\"image\":\"/banners/posters/340840-1.jpg\",\"network\":\"TLC\",\"overview\":\"Cousins Naomi, Drew and Chitoka nearly weigh a combined 2,000 pounds. With the help of Dr. Charles Procter Jr., the desperate cousins attempt to overcome anxieties and live healthier lives, and this series follows their progress. It begins with Naomi's mom, Beverly, undergoing weight-loss surgery, which she hopes will inspire her daughter, niece and nephew to follow her footsteps. Despite seeing the complications involved in her mom's recovery, Naomi is motivated by her dream to start a family. Drew, meanwhile, needs to realize how addictive his eating habits have become, and Chitoka \u2013 bed-bound for more than three years \u2013 must literally take steps forward before qualifying for surgery.\",\"poster\":\"/banners/posters/340840-1.jpg\",\"seriesName\":\"Family by the Ton\",\"slug\":\"340840-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/358781/banners/6643d13702556.jpg\",\"firstAired\":\"2019-01-25\",\"id\":358781,\"image\":\"/banners/series/358781/posters/62061470.jpg\",\"network\":\"CBS All Access\",\"overview\":\"Welcome to The Ready Room. Each episode, Wil Wheaton will sit down with members of the Star Trek casts and crews to discuss all things Trek.\",\"poster\":\"/banners/series/358781/posters/62061470.jpg\",\"seriesName\":\"The Ready Room\",\"slug\":\"the-ready-room\",\"status\":\"Continuing\"},{\"aliases\":[\"Secrets of the Zoo Down Under\"],\"banner\":\"/banners/series/377378/banners/62098142.jpg\",\"firstAired\":\"2020-03-01\",\"id\":377378,\"image\":\"/banners/v4/series/377378/posters/6318955eb1b81.jpg\",\"network\":\"National Geographic Wild\",\"overview\":\"A behind-the-scenes look at what it takes to run the Taronga Zoo Sydney, Australia's largest zoo, located on the shores of Sydney Harbour.\",\"poster\":\"/banners/v4/series/377378/posters/6318955eb1b81.jpg\",\"seriesName\":\"Secrets of the Zoo: Down Under\",\"slug\":\"secrets-of-the-zoo-down-under\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/series/377280/banners/5ea48aa8c61e4.jpg\",\"firstAired\":\"2020-03-05\",\"id\":377280,\"image\":\"/banners/series/377280/posters/5f95a985e6e77.jpg\",\"network\":\"MTV\",\"overview\":\"With a name synonymous with pouring up a good time, no one brings the party like the Busch Family, founders and original owners of the iconic beer brand. The cast features father Billy Busch Sr., great-grandson of beer king Adolphus-Busch, his super-wife Christi, and their seven children ranging in age from 28 to 13: Billy Jr. \u201Cthe responsible one,\u201D Haley \u201Cthe sweet one,\u201D Abbey \u201Cthe wild child,\u201D Gussie \u201Cthe ladies\u2019 man,\u201D Grace \u201Cthe blunt one,\u201D Maddie \u201Cthe wise one\u201D and Peter \u201Cthe baby.\u201D Between Billy Sr., Christi and their seven kids, they boast good looks, serious athleticism, and an over-the-top 700-acre estate with ATVs, jet skis, dogs, cats\u2026 and Clydesdales.\",\"poster\":\"/banners/series/377280/posters/5f95a985e6e77.jpg\",\"seriesName\":\"The Busch Family Brewed\",\"slug\":\"the-busch-family-brewed\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/391980/banners/660ee032c2faf.jpg\",\"firstAired\":\"2020-11-16\",\"id\":391980,\"image\":\"/banners/series/391980/posters/5fb54c1c82473.jpg\",\"network\":\"UEFA.tv\",\"overview\":\"\u2018Man in the Middle\u2019, a weekly four-part series due to premiere on UEFA.tv on 16 November, tracks the professional and private lives of 16 match officials from 11 countries over an 18-month period (February 2019 to August 2020). Each is among an elite group of referees selected by UEFA to officiate at matches in Europe\u2019s premier club competition.\",\"poster\":\"/banners/series/391980/posters/5fb54c1c82473.jpg\",\"seriesName\":\"Man in the Middle\",\"slug\":\"man-in-the-middle\",\"status\":\"Ended\"},{\"aliases\":[\"Sherazade: The Untold Stories\"],\"banner\":\"/banners/graphical/335509-g.jpg\",\"firstAired\":\"2017-12-06\",\"id\":335509,\"image\":\"/banners/v4/series/335509/posters/607eb0e112bc5.jpg\",\"network\":\"\",\"overview\":\"In an epic tale of courage and friendship, the brave Sherazade is on a quest to help her friend Karim get back to his rightful place on the Sultan\u2019s throne, encountering such legendary characters as Aladdin, Sinbad and Ali Baba.\\r\\n\",\"poster\":\"/banners/v4/series/335509/posters/607eb0e112bc5.jpg\",\"seriesName\":\"Sherazade: The Untold Stories\",\"slug\":\"sherazade-the-untold-stories\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/blank/318556.jpg\",\"firstAired\":\"2016-06-07\",\"id\":318556,\"image\":\"/banners/posters/5d0b8cb1352ac.jpg\",\"network\":\"Yesterday\",\"overview\":\"Lives, loves and scandals - this new and exclusive three-part series takes an intimate look behind the closed doors of one of the most celebrated royal dynasties in British constitutional history.\\r\\n\\r\\nBased on a book by Tracy Borman and presented by Tracy, the series is packed with atmospheric reconstructions bringing to life history's enduring personalities, including Henry VIII and Queen Elizabeth I, and the age in which they lived. From known historical scandal, to the minute details of Tudor habits and rituals, this series is entirely dedicated to revealing the 'private' aspects of life at court.\",\"poster\":\"/banners/posters/5d0b8cb1352ac.jpg\",\"seriesName\":\"The Private Lives of the Tudors\",\"slug\":\"the-private-lives-of-the-tudors\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/320659-g.jpg\",\"firstAired\":\"2016-10-27\",\"id\":320659,\"image\":\"/banners/posters/320659-1.jpg\",\"network\":\"YouTube\",\"overview\":\"Watch as hosts Josh \\u0026 Samantha attempt to entertainment audiences very, very early in the morning.\",\"poster\":\"/banners/posters/320659-1.jpg\",\"seriesName\":\"The Earliest Show\",\"slug\":\"the-earliest-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/76676-g.jpg\",\"firstAired\":\"1996-03-12\",\"id\":76676,\"image\":\"/banners/posters/76676-1.jpg\",\"network\":\"ABC (US)\",\"overview\":\"The former SNL cast member (along with Robert Smigel) is the host and star of this sketch comedy series. Each week, the show would be sponsered by a different soda, usually Pepsi or Mug Root Beer. The show, however, was doomed by a sketch in the first episode depicting President Clinton breast-feeding puppies. Broadcast History:\\r\\nMarch-April 1996 Tuesday 9:30-10:00 (8:30 Central)\",\"poster\":\"/banners/posters/76676-1.jpg\",\"seriesName\":\"The Dana Carvey Show\",\"slug\":\"the-dana-carvey-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/351463/banners/664be1c41cbfc.jpg\",\"firstAired\":\"2018-08-13\",\"id\":351463,\"image\":\"/banners/posters/5b8509553c8fb.jpg\",\"network\":\"National Geographic\",\"overview\":\"A special period of recent history is examined closely and discussed by experts in order to develop a broader awareness of meaningful events and individuals that had a direct impact on the way in which society developed afterwards.\",\"poster\":\"/banners/posters/5b8509553c8fb.jpg\",\"seriesName\":\"The '80s Greatest\",\"slug\":\"the-80s-greatest-us\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/376771/banners/62077350.jpg\",\"firstAired\":\"2020-02-09\",\"id\":376771,\"image\":\"/banners/v4/series/376771/posters/645b3e690b3c3.jpg\",\"network\":\"Science Channel\",\"overview\":\"Throughout \u2018Curse of the Bermuda Triangle,\u2019 the team investigates a variety of mysteries and attempts to determine whether these stories of strange mishaps are purely coincidence, or if there\u2019s an explanation \u2013 scientific or supernatural \u2013 hidden beneath the surface.\\r\\nBermuda Triangle is home to some of the most fascinating unsolved mysteries on Earth. This remote territory in the Atlantic Ocean has been the subject of notoriety and legend as countless ships, planes and human lives have been lost in its waters.\",\"poster\":\"/banners/v4/series/376771/posters/645b3e690b3c3.jpg\",\"seriesName\":\"Curse of the Bermuda Triangle\",\"slug\":\"curse-of-the-bermuda-triangle\",\"status\":\"Ended\"},{\"aliases\":[\"Quacula\"],\"banner\":\"/banners/graphical/274741-g.jpg\",\"firstAired\":\"1979-09-08\",\"id\":274741,\"image\":\"/banners/posters/274741-1.jpg\",\"network\":\"CBS\",\"overview\":\"The New Adventures of Mighty Mouse and Heckle \\u0026 Jeckle is an updated version of Mighty Mouse and Heckle \\u0026 Jeckle cartoons from the 1940s. The television series was produced by Filmation, and aired from 1979 to 1981 on CBS with over 48 episodes produced. It is not to be confused with Mighty Mouse: The New Adventures.\",\"poster\":\"/banners/posters/274741-1.jpg\",\"seriesName\":\"The New Adventures of Mighty Mouse and Heckle and Jeckle\",\"slug\":\"the-new-adventures-of-mighty-mouse-and-heckle-and-jeckle\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:37 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 27a35654821ee52d8aa69c940ad5de7e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - aes4LuK1JaWRe0I_ePVyLKEUZlXduM2qX_evKaKNAa_kcoELfQWfJA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/268592 response: body: string: '{"data":{"id":268592,"seriesId":"","seriesName":"The 100","aliases":[],"season":"7","poster":"posters/268592-2.jpg","banner":"graphical/268592-g2.jpg","fanart":"fanart/original/268592-29.jpg","status":"Ended","firstAired":"2014-03-19","network":"The CW","networkId":"267","runtime":"41","language":"en","genre":["Action","Drama","Mystery","Science Fiction","Suspense","Thriller"],"overview":"Set ninety-seven years after a nuclear war has destroyed civilization, when a spaceship housing humanity''s lone survivors sends one hundred juvenile delinquents back to Earth, in hopes of possibly re-populating the planet.\r\n","lastUpdated":1715890063,"airsDayOfWeek":"Wednesday","airsTime":"8:00 PM","rating":"TV-14","imdbId":"tt2661044","zap2itId":"","added":"2013-04-09 18:54:34","addedBy":22600,"siteRating":8.3,"siteRatingCount":4203,"slug":"the-100"}}' headers: Age: - '40635' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '850' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:16:23 GMT Last-Modified: - Thu, 16 May 2024 20:07:43 GMT Vary: - Accept-Language Via: - 1.1 d780d90e1f6b43875e14c416b368d3b6.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 2-0r8sNj_gbWCNYxIyUNCjUsN0LbI4e8un2qjxMB8fUjQ7bdhtPJUQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/268592/episodes/query?airedSeason=3&airedEpisode=9&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":5544536,"airedSeason":3,"airedSeasonID":632464,"airedEpisodeNumber":9,"episodeName":"Stealing Fire","firstAired":"2016-03-31","guestStars":[],"directors":["Uta Briesewitz"],"writers":["Heidi Cole McAdams"],"overview":"Clarke discovers a shocking truth. Octavia is forced to make a decision that could have devastating consequences. Kane and Abby share a moment.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1713103093,"dvdDiscid":"","dvdSeason":3,"dvdEpisodeNumber":9,"dvdChapter":null,"absoluteNumber":38,"filename":"episodes/268592/5544536.jpg","seriesId":268592,"lastUpdatedBy":153464,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4799896","contentRating":"TV-14","thumbAuthor":1,"thumbAdded":"2019-11-13 11:16:24","thumbWidth":"640","thumbHeight":"360","siteRating":7.9,"siteRatingCount":416,"isMovie":0}]}' headers: Age: - '40606' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '967' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:16:52 GMT Vary: - Accept-Language Via: - 1.1 daf51694fe4a175a7249d39be5e22e4c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - Fbfdje1pQpRzj8RofdS5oyHbO14cz2F-CSran1SggwIHGGjrB4WLLw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/5544536 response: body: string: '{"data":{"id":5544536,"airedSeason":3,"airedSeasonID":632464,"airedEpisodeNumber":9,"episodeName":"Stealing Fire","firstAired":"2016-03-31","guestStars":[],"directors":["Uta Briesewitz"],"writers":["Heidi Cole McAdams"],"overview":"Clarke discovers a shocking truth. Octavia is forced to make a decision that could have devastating consequences. Kane and Abby share a moment.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1713103093,"dvdDiscid":"","dvdSeason":3,"dvdEpisodeNumber":9,"dvdChapter":null,"absoluteNumber":38,"filename":"episodes/268592/5544536.jpg","seriesId":268592,"lastUpdatedBy":153464,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4799896","contentRating":"TV-14","thumbAuthor":1,"thumbAdded":"2019-11-13 11:16:24","thumbWidth":"640","thumbHeight":"360","siteRating":7.9,"siteRatingCount":416,"isMovie":0}}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '912' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:38 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Vary: - Accept-Language Via: - 1.1 5d25c31f47a198dbf50acf297a389a00.cloudfront.net (CloudFront) X-Amz-Cf-Id: - t--q5eu6PS-iIr3GOHCD47vLEHyfDZgpbLhofq15IwYUBD6ofZlVUw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_alternative_series.yaml0000644000175100001770000002334514636376416030260 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=turn%3A+washington%27s+spies response: body: string: "{\"data\":[{\"aliases\":[\"Turn\",\"\u041F\u043E\u0432\u043E\u0440\u043E\u0442\"],\"banner\":\"/banners/graphical/272135-g5.jpg\",\"firstAired\":\"2014-04-06\",\"id\":272135,\"image\":\"/banners/posters/272135-3.jpg\",\"network\":\"AMC\",\"overview\":\"Follows New York farmer, Abe Woodhull, who bands together with a group of childhood friends to form The Culper Ring, an unlikely group of spies who turn the tide in America's fight for independence.\",\"poster\":\"/banners/posters/272135-3.jpg\",\"seriesName\":\"TURN: Washington's Spies\",\"slug\":\"turn-washingtons-spies\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '528' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:40 GMT Vary: - Accept-Language Via: - 1.1 2c1fa76ea6af6e9212cf3e52e166c4ce.cloudfront.net (CloudFront) X-Amz-Cf-Id: - qo4tBctkAu3220YAs0fmSF_xbd2pLkwloXEP4Zu_QG8eK5LkPyhkag== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/272135 response: body: string: '{"data":{"id":272135,"seriesId":"","seriesName":"TURN: Washington''s Spies","aliases":["Turn"],"season":"4","poster":"posters/272135-3.jpg","banner":"graphical/272135-g5.jpg","fanart":"fanart/original/272135-6.jpg","status":"Ended","firstAired":"2014-04-06","network":"AMC","networkId":"400","runtime":"45","language":"en","genre":["Adventure","Drama","History","War"],"overview":"Follows New York farmer, Abe Woodhull, who bands together with a group of childhood friends to form The Culper Ring, an unlikely group of spies who turn the tide in America''s fight for independence.","lastUpdated":1699886194,"airsDayOfWeek":"Saturday","airsTime":"9:00 PM","rating":"TV-14","imdbId":"tt2543328","zap2itId":"","added":"2013-08-08 04:59:14","addedBy":1,"siteRating":8.1,"siteRatingCount":696,"slug":"turn-washingtons-spies"}}' headers: Age: - '38579' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '819' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:50:41 GMT Last-Modified: - Mon, 13 Nov 2023 14:36:34 GMT Vary: - Accept-Language Via: - 1.1 d8d835cce198f21656f532aa7cb25fbe.cloudfront.net (CloudFront) X-Amz-Cf-Id: - RJC_UiLOLXaPof8RnMCFdQApyKX4h87oePugGiyp6tKE39btzoym_g== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/272135/episodes/query?airedSeason=4&airedEpisode=3&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":6124360,"airedSeason":4,"airedSeasonID":709698,"airedEpisodeNumber":3,"episodeName":"Blood for Blood","firstAired":"2017-06-24","guestStars":[],"directors":[],"writers":[],"overview":"Abe''s strategy to rescue Caleb takes a deadly turn; Anna must make a burdensome decision; Benedict Arnold has suspicions that Peggy is harboring a secret, which she is keeping from him.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1689698090,"dvdDiscid":"","dvdSeason":null,"dvdEpisodeNumber":null,"dvdChapter":null,"absoluteNumber":null,"filename":"episodes/272135/64b6bf293dd96.jpg","seriesId":272135,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt6137686","contentRating":"TV-14","thumbAuthor":198416,"thumbAdded":"2023-07-18 16:34:49","thumbWidth":"640","thumbHeight":"360","siteRating":7.8,"siteRatingCount":108,"isMovie":0}]}' headers: Age: - '11003' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '989' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 11:30:18 GMT Vary: - Accept-Language Via: - 1.1 ca3702c84b0e2f2daaf573cabe88ad8c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - j1sDR0revjm-8-muhdIAx-lqS-eJBvRQm_TU5kn2AiR0JFQRiYj-BA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/6124360 response: body: string: '{"data":{"id":6124360,"airedSeason":4,"airedSeasonID":709698,"airedEpisodeNumber":3,"episodeName":"Blood for Blood","firstAired":"2017-06-24","guestStars":[],"directors":[],"writers":[],"overview":"Abe''s strategy to rescue Caleb takes a deadly turn; Anna must make a burdensome decision; Benedict Arnold has suspicions that Peggy is harboring a secret, which she is keeping from him.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1689698090,"dvdDiscid":"","dvdSeason":null,"dvdEpisodeNumber":null,"dvdChapter":null,"absoluteNumber":null,"filename":"episodes/272135/64b6bf293dd96.jpg","seriesId":272135,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt6137686","contentRating":"TV-14","thumbAuthor":198416,"thumbAdded":"2023-07-18 16:34:49","thumbWidth":"640","thumbHeight":"360","siteRating":7.8,"siteRatingCount":108,"isMovie":0}}' headers: Age: - '11003' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '934' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 11:30:18 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Vary: - Accept-Language Via: - 1.1 daf51694fe4a175a7249d39be5e22e4c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 2i4CPreOVgPMT38BnIT4OJuuCBomJkTslFRXga1GHpqodccc3NgADw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_no_year.yaml0000644000175100001770000014204314636376416026021 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=dallas response: body: string: "{\"data\":[{\"aliases\":[],\"banner\":\"/banners/graphical/242521-g5.jpg\",\"firstAired\":\"2012-06-13\",\"id\":242521,\"image\":\"/banners/posters/242521-6.jpg\",\"network\":\"TNT (US)\",\"overview\":\"The next generation of the Ewing family - cousins John Ross Ewing and Christopher Ewing - clash over the family's oil business and vast fortune. Roll on drama, sabotage, secrets and betrayal. Everyone is back and then some!\",\"poster\":\"/banners/posters/242521-6.jpg\",\"seriesName\":\"Dallas (2012)\",\"slug\":\"dallas-2012\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/blank/77092.jpg\",\"firstAired\":\"1978-04-02\",\"id\":77092,\"image\":\"/banners/posters/77092-1.jpg\",\"network\":\"CBS\",\"overview\":\"The world's first mega-soap, and one of the most popular ever produced, Dallas had it all. Beautiful women, expensive cars, and men playing Monopoly with real buildings. Famous for one of the best cliffhangers in TV history, as the world asked \\\"Who shot J.R.?\\\" \\r\\nA slow-burner to begin with, Dallas hit its stride in the 2nd season, with long storylines and expert character development. Dallas ruled the airwaves in the 1980's.\",\"poster\":\"/banners/posters/77092-1.jpg\",\"seriesName\":\"Dallas\",\"slug\":\"dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/307475-g2.jpg\",\"firstAired\":\"2016-04-11\",\"id\":307475,\"image\":\"/banners/posters/307475-1.jpg\",\"network\":\"Bravo\",\"overview\":\"An exclusive look into the glamorous galas, scintillating scandals and enormous egos of a group of women as they navigate the social scene of Dallas\u2019 elite, all while juggling their husbands, boyfriends and families.\",\"poster\":\"/banners/posters/307475-1.jpg\",\"seriesName\":\"The Real Housewives of Dallas\",\"slug\":\"the-real-housewives-of-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/79395-g2.jpg\",\"firstAired\":\"2006-09-29\",\"id\":79395,\"image\":\"/banners/posters/79395-2.jpg\",\"network\":\"CMT\",\"overview\":\"It takes a lot more than pompoms and a winning smile to become a member of one of the nation's most iconic cheerleading teams in the world as CMT discovers in the two-hour special, Dallas Cowboys Cheerleaders: Making the Team. \\r\\n\\r\\nCMT cameras document the audition process as 1,000 women descend upon Texas Stadium for Dallas Cowboys Cheerleaders open auditions. CMT cameras will capture the entire journey of the 2005-2006 squad from auditions, through training camp, all the way to the first home game, with unprecedented access. \\r\\n\\r\\n\\\"Through the years, I have found that most people don't truly understand what it takes to be a cheerleader,\\\" says Dallas Cowboys Cheerleaders director Kelli McGonagill Finglass. \\\"This CMT special breaks through the mystique of the organization to reveal a group of women with extraordinary talent, sacrifice and diversity. I am proud for the nation to see how truly impressive the ladies are while always embracing a humble, hometown girl spirit.\\\" \\r\\n\\r\\nWith unlimited access, CMT's original special will take viewers every step of the way, as the field of candidates is whittled down from more than 1,000 to just 38. CMT will go behind the scenes throughout the three audition phases -- preliminaries, semifinals and finals. Then it's off with the 45 remaining candidates for a grueling three-month training camp to learn more than 50 song-and-dance routines for the upcoming football season. Ultimately 38 women will be selected for the 2005-2006 Dallas Cowboys Cheerleaders squad, and CMT will be there as they perform at the first home game against their rivals, the Washington Redskins.\",\"poster\":\"/banners/posters/79395-2.jpg\",\"seriesName\":\"Dallas Cowboys Cheerleaders: Making the Team\",\"slug\":\"dallas-cowboys-cheerleaders-making-the-team\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/319215/banners/65c3d61eb8977.jpg\",\"firstAired\":\"2016-11-02\",\"id\":319215,\"image\":\"/banners/posters/319215-1.jpg\",\"network\":\"Lifetime\",\"overview\":\"Follow the lives of Bri Barlup, Emily Fernandez, Asta Young, Amanda Loy, Tiffany Chance and Caylea Woodbury as they take on new adventures, friendships, fights and (of course!) all the drama. Everything is not always bigger in Texas!\",\"poster\":\"/banners/posters/319215-1.jpg\",\"seriesName\":\"Little Women: Dallas\",\"slug\":\"little-women-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/80341-g.jpg\",\"firstAired\":\"2006-01-05\",\"id\":80341,\"image\":\"/banners/posters/80341-1.jpg\",\"network\":\"A\\u0026E\",\"overview\":\"Dallas SWAT follows the action-packed, high-stress line of work and the elite team of law enforcement officers that make up the Dallas SWAT team. Every day the officers on this team must be at the top of their game, waiting for the next mission. Follow the officers to their homes and see what they do on their down time and how the rigors of their job affect their life out side of the team.\",\"poster\":\"/banners/posters/80341-1.jpg\",\"seriesName\":\"Dallas SWAT\",\"slug\":\"dallas-swat\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/347972/banners/664beea13b4a8.jpg\",\"firstAired\":\"2018-05-30\",\"id\":347972,\"image\":\"/banners/series/347972/posters/5f5a3424d3822.jpg\",\"network\":\"YouTube Premium\",\"overview\":\"DALLAS \\u0026 ROBO is an animated comedy from YouTube Originals about best friends and dysfunctional space truckers Dallas Moonshiner, a boozy ex-stock car racer (Kat Dennings) and Robo, a hulking A.I. with a sensitive side (John Cena.) As they haul their cargo all over the galaxy, they also run out on bar tabs, bicker with rival truckers,and tussle with outlaw cannibal bikers who terrorize the space lanes.\\r\\n\",\"poster\":\"/banners/series/347972/posters/5f5a3424d3822.jpg\",\"seriesName\":\"Dallas \\u0026 Robo\",\"slug\":\"dallas-and-robo\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/252679-g2.jpg\",\"firstAired\":\"2011-10-10\",\"id\":252679,\"image\":\"/banners/posters/252679-1.jpg\",\"network\":\"Logo\",\"overview\":\"Logo goes where everything is bigger, including the drama. The A-List: Dallas is dishing up a Texas-sized serving of larger-than-life personalities and their high-living lifestyles.\",\"poster\":\"/banners/posters/252679-1.jpg\",\"seriesName\":\"The A-List: Dallas\",\"slug\":\"the-a-list-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/274997/banners/662ae9ed9b5ad.jpg\",\"firstAired\":\"2013-12-05\",\"id\":274997,\"image\":\"/banners/posters/274997-2.jpg\",\"network\":\"Bravo\",\"overview\":\"Courtney Kerr, breakout star of Most Eligible Dallas, navigates the lively Dallas social scene, while building a brand new career in this docu-series. This season follows Courtney through an emotional rollercoaster ride as she juggles her search for the perfect southern gentleman and a fast moving fashion career filled with amazing opportunities.\",\"poster\":\"/banners/posters/274997-2.jpg\",\"seriesName\":\"Courtney Loves Dallas\",\"slug\":\"courtney-loves-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/203581-g.jpg\",\"firstAired\":\"2010-10-28\",\"id\":203581,\"image\":\"/banners/posters/203581-1.jpg\",\"network\":\"TLC\",\"overview\":\"Police Women of Dallas is the fourth installment of TLC's Police Women reality documentary series, which follows three police officers and a detective of the Dallas Police Department in Dallas, Texas.\",\"poster\":\"/banners/posters/203581-1.jpg\",\"seriesName\":\"Police Women of Dallas\",\"slug\":\"police-women-of-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/271452/banners/660a9545c89f8.jpg\",\"firstAired\":\"2013-07-23\",\"id\":271452,\"image\":\"/banners/posters/271452-3.jpg\",\"network\":\"Velocity\",\"overview\":\"Car enthusiasts battle one another at automobile auctions, then try to flip their purchases.\",\"poster\":\"/banners/posters/271452-3.jpg\",\"seriesName\":\"Dallas Car Sharks\",\"slug\":\"dallas-car-sharks\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5af2a3181aa19.jpg\",\"firstAired\":\"2018-04-30\",\"id\":345215,\"image\":\"/banners/posters/5b2348800f9f3.jpg\",\"network\":\"Food Network\",\"overview\":\"Dallas Cakes, follows talented, Dallas-based bakers as they conceive, create and deliver incredible, customized confections to their customers.\",\"poster\":\"/banners/posters/5b2348800f9f3.jpg\",\"seriesName\":\"Dallas Cakes\",\"slug\":\"345215-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/79949-g.jpg\",\"firstAired\":\"2007-03-09\",\"id\":79949,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Showtime\",\"overview\":\"This seven-part documentary series from the producers of \\\"Inside Deep Throat\\\" tracks the production of \\\"Debbie Does Dallas Again,\\\" a sequel to the legendary porn feature, as director Paul Thomas and star Stefani Morgan bring their erotic film to life.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Debbie Does Dallas Again\",\"slug\":\"debbie-does-dallas-again\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/250374-g2.jpg\",\"firstAired\":\"2011-08-15\",\"id\":250374,\"image\":\"/banners/posters/250374-1.jpg\",\"network\":\"Bravo\",\"overview\":\"They\u2019re young, they\u2019re hot, they\u2019re single \u2013- they\u2019re Dallas\u2019 Most Eligible. From beauty queens to pro-football players, this group of Texas socialites proves that everything\u2019s bigger in Texas \u2013- including the drama. Some are looking for true love while others have perfected the art of the one-night stand, and somehow their love lives have all crossed paths at one time or another. Dallas serves as the sexy backdrop for this jaw-dropping series that follows a group of successful friends living it up in the lone star state.\",\"poster\":\"/banners/posters/250374-1.jpg\",\"seriesName\":\"Most Eligible Dallas\",\"slug\":\"most-eligible-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2009-10-04\",\"id\":293986,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Style\",\"overview\":\"This show follows the wealthiest mothers and daughters from Dallas' most well-off neighborhoods. See how their relationships fair in the lives of the super-rich. Starring Pamela Martin Duarte and her daughter Hannah Martin Duarte.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallas Divas \\u0026 Daughters\",\"slug\":\"dallas-divas-and-daughters\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/357811/banners/5fc43ef5ac3a4.jpg\",\"firstAired\":\"2009-04-28\",\"id\":357811,\"image\":\"/banners/posters/5c331ccbd15fd.jpg\",\"network\":\"Investigation Discovery\",\"overview\":\"The Texas justice system has always been notorious for having tough judges, tough sentences and putting people away with shaky evidence. In 2007, the district attorney mandated that every Dallas County prisoner who has requested DNA testing can have their case reviewed with the chance to be heard again. This series follows their plight.\",\"poster\":\"/banners/posters/5c331ccbd15fd.jpg\",\"seriesName\":\"Dallas DNA\",\"slug\":\"dallas-dna\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2014-07-10\",\"id\":389255,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Dallasmed65's YouTube Let's Play Minecraft Survival Long Running Series\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Minecraft Lets Play Survival [Dallasmed65]\",\"slug\":\"minecraft-lets-play-survival-dallasmed65\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":347832,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Children's Medical Centre Dallas\",\"slug\":\"childrens-medical-centre-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2024-06-20\",\"id\":449142,\"image\":\"/banners/v4/series/449142/posters/664dfefce8775.jpg\",\"network\":\"Netflix\",\"overview\":\"The series follows the 2023-24 Dallas Cowboys Cheerleaders squad from start to finish \u2014 kicking off at auditions and training camp and continuing all the way through the NFL season.\",\"poster\":\"/banners/v4/series/449142/posters/664dfefce8775.jpg\",\"seriesName\":\"America\u2019s Sweethearts: Dallas Cowboys Cheerleaders\",\"slug\":\"americas-sweethearts-dallas-cowboys-cheerleaders\",\"status\":\"Upcoming\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-09-01\",\"id\":411514,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"In this Minecraft Let's Play Dallasmed65 challenges himself to be moving around all the time, like a real nomad.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Minecraft Nomadic Survival [Dallasmed65]\",\"slug\":\"minecraft-nomadic-survival-dallasmed65\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":269228,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"A glossy, cheeky and occasionally outrageous behind-the-scenes look at the new Dallas\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"John Borrowman's Dallas\",\"slug\":\"john-borrowmans-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2011-08-12\",\"id\":292986,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"HGTV\",\"overview\":\"Interior designer Donna Moss and her team give credence to the notion that everything's bigger in Texas as they undertake dramatic room makeovers in some of the most fabulous homes in the Dallas area.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Donna Decorates Dallas\",\"slug\":\"donna-decorates-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":450111,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Netflix\",\"overview\":\"Tells the story of team owner Jerry Jones and his unique journey in transforming the Cowboys franchise, leading a historic set of players and coaches to three NFL titles in the 1990s and searing his imprint into the global sports business landscape. Along the way, Jones has become one of the most innovative and influential leaders in sports, with his team being the most valuable sports franchise in the world.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallas Cowboys\",\"slug\":\"dallas-cowboys-jerry-jones\",\"status\":\"Upcoming\"},{\"aliases\":[],\"banner\":\"/banners/graphical/320983-g.jpg\",\"firstAired\":\"2016-12-27\",\"id\":320983,\"image\":\"/banners/posters/320983-3.jpg\",\"network\":\"Netflix\",\"overview\":\"Lights. Cameron. Action. Cameron Dallas is more than just a social media star, he\u2019s an entrepreneur and one of the most influential personalities of his generation. In the Netflix original doc-series, Chasing Cameron, peel back the curtain of what happens within the social media and into the lives of Cameron and more of todays' MAGCON Boys as they meet and greet the world.\",\"poster\":\"/banners/posters/320983-3.jpg\",\"seriesName\":\"Chasing Cameron\",\"slug\":\"chasing-cameron\",\"status\":\"Ended\"},{\"aliases\":[\"All or Nothing: A Season with the Arizona Cardinals\",\"All or Nothing: A Season with the Los Angeles Rams\",\"All or Nothing: The Dallas Cowboys\",\"All or Nothing: The Philadelphia Eagles\",\"All or Nothing: The Carolina Panthers\"],\"banner\":\"/banners/graphical/313828-g.jpg\",\"firstAired\":\"2016-06-30\",\"id\":313828,\"image\":\"/banners/posters/313828-1.jpg\",\"network\":\"Prime Video\",\"overview\":\"For the first time in history, Amazon and NFL Films present an unprecedented inside look at the lives of players, coaches and owners of a franchise over the course of an entire NFL season. Witness the real life, behind the scenes journey on the field, off the field, and everything in between.\",\"poster\":\"/banners/posters/313828-1.jpg\",\"seriesName\":\"All or Nothing: American Football\",\"slug\":\"all-or-nothing\",\"status\":\"Ended\"},{\"aliases\":[\"Storage Wars: Dallas\",\"Quem D\xE1 Mais: Texas\"],\"banner\":\"/banners/v4/series/251596/banners/6606d65580916.jpg\",\"firstAired\":\"2011-12-06\",\"id\":251596,\"image\":\"/banners/posters/251596-1.jpg\",\"network\":\"A\\u0026E\",\"overview\":\"Storage Wars: Texas (Originally Storage Wars Dallas) is a reality television series on the A\\u0026E Network that premiered in 2011. It is a regionalized spin-off of the highly-popular series Storage Wars.\",\"poster\":\"/banners/posters/251596-1.jpg\",\"seriesName\":\"Storage Wars: Texas\",\"slug\":\"storage-wars-texas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/281815-g.jpg\",\"firstAired\":\"2013-10-04\",\"id\":281815,\"image\":\"/banners/posters/281815-2.jpg\",\"network\":\"YouTube\",\"poster\":\"/banners/posters/281815-2.jpg\",\"seriesName\":\"Fuga dalla morte\",\"slug\":\"281815-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/256421-g.jpg\",\"firstAired\":\"2011-11-15\",\"id\":256421,\"image\":\"/banners/posters/256421-2.jpg\",\"network\":\"Canale 5\",\"poster\":\"/banners/posters/256421-2.jpg\",\"seriesName\":\"Baciati dall'amore\",\"slug\":\"256421-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-03-16\",\"id\":369339,\"image\":\"/banners/posters/5d74c867a0e26.jpg\",\"network\":\"Rai 3\",\"overview\":\"Cronache dall'antichit\xE0 \xE8 un programma di approfondimento storico, in onda su Rai Storia. Come un inviato nel mondo antico, Cristoforo Gorno guida il telespettatore ora dopo ora nei luoghi dell'azione, non tralasciando il contesto in cui quell'avvenimento si \xE8 determinato.\",\"poster\":\"/banners/posters/5d74c867a0e26.jpg\",\"seriesName\":\"Cronache dall'antichit\xE0\",\"slug\":\"cronache-dallantichita\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-06-28\",\"id\":423796,\"image\":\"/banners/v4/series/423796/posters/642d2965abf41.jpg\",\"network\":\"Rai 2\",\"poster\":\"/banners/v4/series/423796/posters/642d2965abf41.jpg\",\"seriesName\":\"Dalla strada al palco\",\"slug\":\"dalla-strada-al-palco\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":320148,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Lawrence Dallaglio and Freddie Flintoff cycle from Olympia to London\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Flintoff and Dallaglio's Big Ride\",\"slug\":\"flintoff-and-dallaglios-big-ride\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-12-01\",\"id\":442597,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Yara's murder has been in the public spotlight for 12 years.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Sulle tracce dell'assassino - il caso Yara\",\"slug\":\"sulle-tracce-dellassassino-il-caso-yara\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/258261-g.jpg\",\"firstAired\":\"\",\"id\":258261,\"image\":\"/banners/posters/258261-1.jpg\",\"network\":\"\",\"poster\":\"/banners/posters/258261-1.jpg\",\"seriesName\":\"Le frontiere dell'Astronomia\",\"slug\":\"258261-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":251784,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"ITV4\",\"overview\":\"Dallaglio's World Cup is presented by Lawrence Dallaglio and Craig Doyle. He takes a look at the fates of the world\u2019s leading rugby nations from the inaugural Rugby World Cup in 1987 through to France in 2007. He talks to Craig Doyle as he examines what it takes for a country to be able to succeed at the highest level\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallaglio's World Cup\",\"slug\":\"dallaglios-world-cup\",\"status\":\"Ended\"},{\"aliases\":[\"The Woman in the House\",\"TWITHATSFTGITW\",\"La mujer de la casa de enfrente\",\"The Woman in the House\",\"TWITHATSFTGITW\"],\"banner\":\"/banners/v4/series/390537/banners/64cfb58a5d142.jpg\",\"firstAired\":\"2022-01-28\",\"id\":390537,\"image\":\"/banners/v4/series/390537/posters/61d4781055645.jpg\",\"network\":\"Netflix\",\"overview\":\"Mixing wine, pills, casseroles and an overactive imagination, Anna obsesses over a hunky neighbor across the street and witnesses a murder. Or did she?\",\"poster\":\"/banners/v4/series/390537/posters/61d4781055645.jpg\",\"seriesName\":\"The Woman in the House Across the Street from the Girl in the Window\",\"slug\":\"the-woman-in-the-house\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/71301-g.jpg\",\"firstAired\":\"2002-09-07\",\"id\":71301,\"image\":\"/banners/posters/71301-3.jpg\",\"network\":\"Cartoon Network\",\"overview\":\"The characters of Looney Tunes are all babies and live with Granny.\",\"poster\":\"/banners/posters/71301-3.jpg\",\"seriesName\":\"Baby Looney Tunes\",\"slug\":\"baby-looney-tunes\",\"status\":\"Ended\"},{\"aliases\":[\"Bugs Bunny\",\"Daffy Duck\",\"Foghorn Leghorn\",\"Road Runner\",\"Speedy Gonzales\",\"Sylvester\",\"Tweety\",\"Yosemite Sam\",\"The Road Runner Show\"],\"banner\":\"/banners/graphical/72514-g.jpg\",\"firstAired\":\"1929-05-01\",\"id\":72514,\"image\":\"/banners/posters/72514-7.jpg\",\"network\":\"Cartoon Network\",\"overview\":\"Series of comedy short films from 1929 to 1969 during the golden age of American animation, alongside its sister series Merrie Melodies.\",\"poster\":\"/banners/posters/72514-7.jpg\",\"seriesName\":\"Looney Tunes\",\"slug\":\"looney-tunes\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5d0be9d8c6998.jpg\",\"firstAired\":\"2019-06-14\",\"id\":364471,\"image\":\"/banners/v4/series/364471/posters/64dd54c59b220.jpg\",\"network\":\"Netflix\",\"overview\":\"New interviews and an up-to-date analysis of evidence shed light on the 1992 murders of three girls in Spain and their profound impact on the nation.\",\"poster\":\"/banners/v4/series/364471/posters/64dd54c59b220.jpg\",\"seriesName\":\"The Alc\xE0sser Murders\",\"slug\":\"the-alcasser-murders\",\"status\":\"Ended\"},{\"aliases\":[\"Car Masters Von Schrott zu Reichtum\",\"De cacharros a cochazos\",\"De chatarras a carrazos\"],\"banner\":\"/banners/v4/series/352862/banners/62835a11a52af.jpg\",\"firstAired\":\"2018-09-14\",\"id\":352862,\"image\":\"/banners/series/352862/posters/62114833.jpg\",\"network\":\"Netflix\",\"overview\":\"The colorful crew at Gotham Garage overhauls an eclectic collection of cars and trucks, trading up to a showstopper they can sell for big bucks.\",\"poster\":\"/banners/series/352862/posters/62114833.jpg\",\"seriesName\":\"Car Masters: Rust to Riches\",\"slug\":\"car-masters-rust-to-riches\",\"status\":\"Continuing\"},{\"aliases\":[\"Inu ni Nattara Suki na Hito ni Hirowareta\",\"If I Became a Dog I Would be Picked Up by the Person I Like\",\"My Life as Inukai-san's Dog\",\"Inu ni Nattara Suki na Hito ni Hirowareta\"],\"banner\":\"/banners/v4/series/418185/banners/623cc8a19c690.jpg\",\"firstAired\":\"2023-01-07\",\"id\":418185,\"image\":\"/banners/v4/series/418185/posters/6361307ac82cc.jpg\",\"network\":\"Tokyo MX\",\"overview\":\"The \\\"dog's viewpoint romantic comedy\\\" manga centers on a protagonist who suddenly wakes up one day to find out he has been turned into the pet dog of his cool and beautiful classmate Karen Inukai. While Karen is cool and expressionless at school, at home she dotes on her pet dog.\",\"poster\":\"/banners/v4/series/418185/posters/6361307ac82cc.jpg\",\"seriesName\":\"My Life as Inukai-san's Dog\",\"slug\":\"inu-ni-nattara-suki-na-hito-ni-hirowareta\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/422799/banners/632882da4c259.jpg\",\"firstAired\":\"2022-09-22\",\"id\":422799,\"image\":\"/banners/v4/series/422799/posters/62e443d2d0e18.jpg\",\"network\":\"Netflix\",\"overview\":\"A Thai youth soccer team and their assistant coach are trapped within Tham Luang Cave, prompting a global rescue effort. Inspired by true events.\",\"poster\":\"/banners/v4/series/422799/posters/62e443d2d0e18.jpg\",\"seriesName\":\"Thai Cave Rescue\",\"slug\":\"thai-cave-rescue\",\"status\":\"Ended\"},{\"aliases\":[\"Wabbit\",\"Bugs\"],\"banner\":\"/banners/v4/series/300683/banners/662af84c0bbff.jpg\",\"firstAired\":\"2015-09-21\",\"id\":300683,\"image\":\"/banners/posters/300683-1.jpg\",\"network\":\"Boomerang\",\"overview\":\"\\\"New Looney Tunes\\\" (formerly known as \\\"Wabbit. A Looney Tunes Production\\\"), is an animated series from Warner Bros. Animation. The series is a return to Looney Tunes' slapstick-comedy roots. Each episode contains four shorts starring Bugs Bunny as the main character.\",\"poster\":\"/banners/posters/300683-1.jpg\",\"seriesName\":\"New Looney Tunes\",\"slug\":\"wabbit\",\"status\":\"Ended\"},{\"aliases\":[\"Az Apoll\xF3-program\",\"\u767B\u6708\u4E4B\u65C5\"],\"banner\":\"/banners/graphical/7028-g.jpg\",\"firstAired\":\"1998-04-05\",\"id\":77831,\"image\":\"/banners/posters/77831-3.jpg\",\"network\":\"HBO\",\"overview\":\"The story of the United States' space program, from its beginnings in 1961 to the final moon mission in 1972.\",\"poster\":\"/banners/posters/77831-3.jpg\",\"seriesName\":\"From the Earth to the Moon\",\"slug\":\"from-the-earth-to-the-moon\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/433831/banners/6462258bafeeb.jpg\",\"firstAired\":\"2023-05-14\",\"id\":433831,\"image\":\"/banners/v4/series/433831/posters/646137b86a596.jpg\",\"network\":\"TLC\",\"overview\":\"\\\"Match Me Abroad\\\" follows three matchmakers helping seven Americans who are looking to find love.\",\"poster\":\"/banners/v4/series/433831/posters/646137b86a596.jpg\",\"seriesName\":\"Match Me Abroad\",\"slug\":\"match-me-abroad\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/84303-g2.jpg\",\"firstAired\":\"2006-05-03\",\"id\":84303,\"image\":\"/banners/posters/84303-1.jpg\",\"network\":\"Cuatro\",\"poster\":\"/banners/posters/84303-1.jpg\",\"seriesName\":\"Genesis: Inside The Killer's Mind\",\"slug\":\"genesis-inside-the-killers-mind\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/361081/banners/6298de91e85fd.jpg\",\"firstAired\":\"2019-03-14\",\"id\":361081,\"image\":\"/banners/posters/5c947b4b93a5e.jpg\",\"network\":\"National Geographic\",\"overview\":\"An aerial tour of Egypt.\",\"poster\":\"/banners/posters/5c947b4b93a5e.jpg\",\"seriesName\":\"Egypt from Above\",\"slug\":\"egypt-from-above\",\"status\":\"Ended\"},{\"aliases\":[\"Raumpatrouille\",\"Space Patrol\",\"Raumpatrouille Orion\",\"Commando Spatial\",\"Rymdpatrullen\"],\"banner\":\"/banners/graphical/80115-g4.jpg\",\"firstAired\":\"1966-09-17\",\"id\":80115,\"image\":\"/banners/posters/80115-3.jpg\",\"network\":\"Norddeutscher Rundfunk (NDR)\",\"overview\":\"What seems like a fairy tale today may be reality tomorrow. Here we have a fairy tale of the day after tomorrow. There are no more national states, only mankind and her colonies in outer space. We settle on stars far-off, the bottom of the sea is developed as living place. With what are today unimaginable speeds, the starships of tomorrow transverse the Milky Way. One of this starships is the Orion, a little piece in the giant security system which protects the Earth from outer space threats. Let's accompany the Orion and her crew at their patrols-service on the edge of infinity...\",\"poster\":\"/banners/posters/80115-3.jpg\",\"seriesName\":\"Space Patrol Orion\",\"slug\":\"raumpatrouille-orion\",\"status\":\"Ended\"},{\"aliases\":[\"\xC0 vol d'oiseau\"],\"banner\":\"/banners/text/254572.jpg\",\"firstAired\":\"2011-12-29\",\"id\":254572,\"image\":\"/banners/posters/254572-4.jpg\",\"network\":\"BBC One\",\"overview\":\"Bird's-eye view of the natural world, joining the journeys of snow geese, cranes, albatrosses, eagles and other birds across six continents. Beginning in North America, snow geese face their biggest predator, pelicans glide under San Francisco's Golden Gate Bridge, bald eagles in Alaska swoop among brown bears, and on the Great Plains, cowbirds dive under the feet of fighting bison. Narrated by David Tennant.\",\"poster\":\"/banners/posters/254572-4.jpg\",\"seriesName\":\"Earthflight\",\"slug\":\"earthflight\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/262312-g.jpg\",\"firstAired\":\"1983-12-21\",\"id\":262312,\"image\":\"/banners/posters/262312-1.jpg\",\"network\":\"Anime OAV\",\"overview\":\"In a near future, mankind has moved from a drained Earth to the Moon. Rebel acts of terrorism lead to conflicts with the Earth Federal Government. A mysterious entity called Dallos appears to restore hope.\",\"poster\":\"/banners/posters/262312-1.jpg\",\"seriesName\":\"Dallos\",\"slug\":\"dallos\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/81379-g.jpg\",\"firstAired\":\"2007-01-18\",\"id\":81379,\"image\":\"/banners/posters/81379-1.jpg\",\"network\":\"RTL Television\",\"overview\":\"Doctor Daniel Koch works at the forensic in Cologne and tries to solve the many crimes taking place there.\",\"poster\":\"/banners/posters/81379-1.jpg\",\"seriesName\":\"Post Mortem\",\"slug\":\"post-mortem\",\"status\":\"Ended\"},{\"aliases\":[\"In principio: Storie dalla Bibbia\",\"Tezuka Osamu no ky\u016Byaku seisho monogatari\",\"The Little Bible Fox\",\"Tezuka Osamu no Kyuuyaku Seisho Monogatari: In the Beginning\",\"Tezuka Osamu no Ky\u016Byaku Seisho Monogatari\",\"Osamu Tezuka's Old Testament Stories\",\"Tezuka Osamu's Tales from the Old Testament\",\"Osamu Tezukas Erz\xE4hlung vom Alten Testament\",\"Tezuka Osamu no Ky\u016Byaku Seisho Monogatari\",\"Historias de la Biblia\",\"Seisho Monogatari\",\"Las Historias de la Biblia de Osamu Tezuka\",\"Tezuka Osamu no Kyuuyaku Seisho Monogatari\",\"Seisho Monogatari\",\"\u624B\u585A\u6CBB\u866B\u306E\u65E7\u7D04\u8056\u66F8\u7269\u8A9E\",\"\u3066\u3065\u304B\u304A\u3055\u3080\u306E\u304D\u3085\u3046\u3084\u304F\u305B\u3044\u3057\u3087\u3082\u306E\u304C\u305F\u308A\",\"\u0422\u044D\u0434\u0437\u0443\u043A\u0430 \u041E\u0441\u0430\u043C\u0443 \u043D\u043E \u043A\u044E:\u044F\u043A\u0443 \u0441\u044D\u0439\u0441\u0451 \u043C\u043E\u043D\u043E\u0433\u0430\u0442\u0430\u0440\u0438\",\"\u0412\u0435\u0442\u0445\u043E\u0437\u0430\u0432\u0435\u0442\u043D\u044B\u0435 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u041E\u0441\u0430\u043C\u0443 \u0422\u044D\u0434\u0437\u0443\u043A\u0430\",\"Cerita Perjanjian Lama Osamu Tezuka\"],\"banner\":\"/banners/text/260116.jpg\",\"firstAired\":\"1997-04-01\",\"id\":260116,\"image\":\"/banners/v4/series/260116/posters/63f937ca91bae.jpg\",\"network\":\"WOWOW\",\"overview\":\"Based on the Old Testament in the Bible, up until the birth of Jesus Christ.\",\"poster\":\"/banners/v4/series/260116/posters/63f937ca91bae.jpg\",\"seriesName\":\"In the Beginning: The Bible Stories\",\"slug\":\"260116-show\",\"status\":\"Ended\"},{\"aliases\":[\"Studios DaviProdu\xE7\xF5es\",\"Diandra Santos Produ\xE7\xF5es\",\"Diandra Santos\"],\"banner\":\"/banners/v4/series/389473/banners/609dc349287e5.jpg\",\"firstAired\":\"2020-04-27\",\"id\":389473,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Di's house tips and a program Presented by Diandra Santos. from Studios DaviProdu\xE7\xF5es and Diandra Santos Produ\xE7\xF5es\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Di's house tips\",\"slug\":\"dicas-de-casa-da-di\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2005-11-06\",\"id\":327530,\"image\":\"/banners/posters/327530-1.jpg\",\"network\":\"Canale 5\",\"poster\":\"/banners/posters/327530-1.jpg\",\"seriesName\":\"Callas and Onassis\",\"slug\":\"327530-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2016-04-07\",\"id\":313788,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"SVT1\",\"overview\":\"About some of those who beg on our streets. Many have opinions and perhaps also prejudices about beggars. But how many of us have really talked to any of them?\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"We Are Called Beggars\",\"slug\":\"313788-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1968-04-01\",\"id\":407625,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Conversations with Lord Harewood and Maria Callas.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Callas Conversations\",\"slug\":\"the-callas-conversations\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":359698,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Pallas\",\"slug\":\"pallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-03-16\",\"id\":296294,\"image\":\"/banners/posters/296294-1.jpg\",\"network\":\"\",\"overview\":\"Gafas e Pallaso are two characters of a reality that is not governed by the same parameters as ours. The contact with other forms of life resulting from the free intergalactic transit and the miscegenation that this entails, as well as the peculiar religious idols or hegemonic alcoholic beverages whose image is a football myth, not to mention rare parallel worlds or space-time flirtations , Demonstrate what we say. The protagonists are the best proof of this: a clown of race who comes from another planet with a magic band, and an individual whose sunglasses are part of him as his chest hairs. Within this cosmology we can consider various particular and picturesque species and individuals, but also a series of everyday elements that make up a whole with a characteristic and identifiable personality: a monopolistic beer whose corporate image is the legendary porter Oliver Kahn, Excellence, a somewhat special religion.\",\"poster\":\"/banners/posters/296294-1.jpg\",\"seriesName\":\"Gafas e Pallaso\",\"slug\":\"296294-show\",\"status\":\"Ended\"},{\"aliases\":[\"Liar (2020)\",\"Mentiras - Bugie\"],\"banner\":\"/banners/series/378377/banners/5eb0542761590.jpg\",\"firstAired\":\"2020-04-19\",\"id\":378377,\"image\":\"/banners/series/378377/posters/600d66a662b83.jpg\",\"network\":\"atresplayer\",\"overview\":\"A literature teacher suspects that a well-respected surgeon has drugged her and begins a legal case against him.\",\"poster\":\"/banners/series/378377/posters/600d66a662b83.jpg\",\"seriesName\":\"Lies and Deceit\",\"slug\":\"mentiras-2020\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/282590-g.jpg\",\"firstAired\":\"2014-06-20\",\"id\":282590,\"image\":\"/banners/posters/282590-1.jpg\",\"network\":\"Animal Planet\",\"overview\":\"A team of specialists who spend each episode, designing and executing unique and stunning pools that seem to be formed by nature.\",\"poster\":\"/banners/posters/282590-1.jpg\",\"seriesName\":\"The Pool Master\",\"slug\":\"the-pool-master\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/278401/banners/6631643fd2822.jpg\",\"firstAired\":\"2014-02-05\",\"id\":278401,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Here's your choice: would you rather get electrocuted by an electric eel or a Taser? Or your house is on fire, what's the best way to escape: through the window or down the stairs? Or the engine of your aircraft fails, what would you rather be in: a helicopter or a plane? \\r\\n\\r\\nDeadly Dilemmas gives you a load of hypothetical situations in every episode, and all you have to is decide which is the more survivable. Then we'll tell you the science behind why! \\r\\n\\r\\nThink of it as a kind of dangerous version of Play Your Cards Right, where the decision between higher or lower will make the difference between life or death!\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Deadly Dilemmas\",\"slug\":\"deadly-dilemmas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/159161-g.jpg\",\"firstAired\":\"2004-09-06\",\"id\":159161,\"image\":\"/banners/posters/159161-1.jpg\",\"network\":\"\",\"overview\":\"Narrated by Academy Award-winner Ben Kingsley, this series objectively documents Judaism, Islam, Hinduism, Buddhism, Catholicism, and Protestantism worldwide with interviews from experts. Explore issues that probe the very core of our existence and gain new understanding about humanity. Travel to exotic locations and observe how religions have shaped cultures, changed history, brought us closer together and thrust us into war.\",\"poster\":\"/banners/posters/159161-1.jpg\",\"seriesName\":\"Religions of the World\",\"slug\":\"religions-of-the-world\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2013-01-18\",\"id\":398405,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Tales of people so desperate that they commit unspeakable acts of murder and violence\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Desperate Measures\",\"slug\":\"desperate-measures\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1998-01-13\",\"id\":400138,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Animated World Faiths\",\"slug\":\"animated-world-faiths\",\"status\":\"Ended\"}]}" headers: Age: - '1' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:38 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 e78b88048cb2f0beb893089a9fa30352.cloudfront.net (CloudFront) X-Amz-Cf-Id: - O5NBai7cKMFLVt0qwMDuMeL8MQ1bosGyMiRWpAArrC9SczRw1ezuYg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/77092 response: body: string: '{"data":{"id":77092,"seriesId":"","seriesName":"Dallas","aliases":[],"season":"14","poster":"posters/77092-1.jpg","banner":"blank/77092.jpg","fanart":"fanart/original/77092-8.jpg","status":"Ended","firstAired":"1978-04-02","network":"CBS","networkId":"57","runtime":"45","language":"en","genre":["Drama","Romance"],"overview":"The world''s first mega-soap, and one of the most popular ever produced, Dallas had it all. Beautiful women, expensive cars, and men playing Monopoly with real buildings. Famous for one of the best cliffhangers in TV history, as the world asked \"Who shot J.R.?\" \r\nA slow-burner to begin with, Dallas hit its stride in the 2nd season, with long storylines and expert character development. Dallas ruled the airwaves in the 1980''s.","lastUpdated":1707223296,"airsDayOfWeek":"Friday","airsTime":"9:00 PM","rating":null,"imdbId":"tt0077000","zap2itId":"","added":"2008-02-04 00:00:00","addedBy":1,"siteRating":9.3,"siteRatingCount":348,"slug":"dallas"}}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '979' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:40 GMT Last-Modified: - Tue, 06 Feb 2024 12:41:36 GMT Vary: - Accept-Language Via: - 1.1 2b1fd1e1421ca124eaa002817c6c475a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 1U1PjM8bpOkImQwEmwAz19BwJ1GZprGHQwgHOz41l_STdnyQLAusCA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/77092/episodes/query?airedSeason=1&airedEpisode=3&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":228224,"airedSeason":1,"airedSeasonID":12084,"airedEpisodeNumber":3,"episodeName":"Spy in the House","firstAired":"1978-04-16","guestStars":["Bob Mcgruder","David L. Dorr","Donna Bullock","Hugh D. Gorrian","Michael Jaynes","Norman Alden"],"directors":["Robert Day"],"writers":["Arthur Bernard Lewis"],"overview":"Cliff Barnes, Pam''s brother is not pleased that his sister has married a Ewing. A document Bobby asked Pam to bring to Ewing Oil ends up in Cliff''s hands, so all the Ewings blame Pam. Is she a Spy in the House?","language":{"episodeName":"en","overview":"en"},"productionCode":"188552","showUrl":"","lastUpdated":1631405910,"dvdDiscid":"","dvdSeason":1,"dvdEpisodeNumber":3,"dvdChapter":null,"absoluteNumber":3,"filename":"episodes/77092/228224.jpg","seriesId":77092,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt0553425","contentRating":null,"thumbAuthor":1,"thumbAdded":"2019-11-13 13:36:54","thumbWidth":"640","thumbHeight":"480","siteRating":6.5,"siteRatingCount":58,"isMovie":0}]}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:40 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 39ae765868f39f2168989dfa478b9354.cloudfront.net (CloudFront) X-Amz-Cf-Id: - VDZC4na5COeSeUOMxsFaL30ElNVcEMx2F-JW9PkbPId5U08Nzqt5Sg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/228224 response: body: string: '{"data":{"id":228224,"airedSeason":1,"airedSeasonID":12084,"airedEpisodeNumber":3,"episodeName":"Spy in the House","firstAired":"1978-04-16","guestStars":["Bob Mcgruder","David L. Dorr","Donna Bullock","Hugh D. Gorrian","Michael Jaynes","Norman Alden"],"directors":["Robert Day"],"writers":["Arthur Bernard Lewis"],"overview":"Cliff Barnes, Pam''s brother is not pleased that his sister has married a Ewing. A document Bobby asked Pam to bring to Ewing Oil ends up in Cliff''s hands, so all the Ewings blame Pam. Is she a Spy in the House?","language":{"episodeName":"en","overview":"en"},"productionCode":"188552","showUrl":"","lastUpdated":1631405910,"dvdDiscid":"","dvdSeason":1,"dvdEpisodeNumber":3,"dvdChapter":null,"absoluteNumber":3,"filename":"episodes/77092/228224.jpg","seriesId":77092,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt0553425","contentRating":null,"thumbAuthor":1,"thumbAdded":"2019-11-13 13:36:54","thumbWidth":"640","thumbHeight":"480","siteRating":6.5,"siteRatingCount":58,"isMovie":0}}' headers: Age: - '16381' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 10:00:39 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 42c937f806e6e43029a719b83b9a8612.cloudfront.net (CloudFront) X-Amz-Cf-Id: - RmGND9BZL7tovUYmy7BIyPoJLXKEw2qkG_cEPUiOznSB0jsI_4E_aw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_partial.yaml0000644000175100001770000012276714636376416026034 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=csi response: body: string: "{\"data\":[{\"aliases\":[\"CSI: Vegas\",\"CSI\",\"CSI: Las Vegas\",\"CSI\u6EC5\u7F6A\u9451\u8B49\u79D1\"],\"banner\":\"/banners/graphical/19-g.jpg\",\"firstAired\":\"2000-10-06\",\"id\":72546,\"image\":\"/banners/posters/72546-5.jpg\",\"network\":\"CBS\",\"overview\":\"CSI is a crime drama in which the characters use cutting-edge forensic tools to examine the evidence to solve the case. Rather than asking 'whodunnit' (investigating witnesses/suspects), CSI explores the 'howdunnit'.\",\"poster\":\"/banners/posters/72546-5.jpg\",\"seriesName\":\"CSI: Crime Scene Investigation\",\"slug\":\"csi-crime-scene-investigation\",\"status\":\"Ended\"},{\"aliases\":[\"\u9451\u8B49\u884C\u52D5\u7D44\"],\"banner\":\"/banners/graphical/8460-g.jpg\",\"firstAired\":\"2002-09-23\",\"id\":78310,\"image\":\"/banners/posters/78310-3.jpg\",\"network\":\"CBS\",\"overview\":\"CSI's gritty approach to crime known as forensic science makes its way from Las Vegas to the streets of Florida in CSI: Miami. A whole new team of crime scene investigators is on hand to probe the seamy underside of Miami.\",\"poster\":\"/banners/posters/78310-3.jpg\",\"seriesName\":\"CSI: Miami\",\"slug\":\"csi-miami\",\"status\":\"Ended\"},{\"aliases\":[\"CSI: New York\",\"CSI: New York\"],\"banner\":\"/banners/graphical/24125-g.jpg\",\"firstAired\":\"2004-09-22\",\"id\":73696,\"image\":\"/banners/posters/73696-3.jpg\",\"network\":\"CBS\",\"overview\":\"The third edition of the \\\"CSI\\\" franchise sets up shop in the Big Apple, where taciturn Detective Mac Taylor (Gary Sinise) and his partner, Detective Stella Bonasera (Melina Kanakaredes), lead a crime-solving team. Like his counterparts in Las Vegas and Miami, Taylor knows that people may lie, but the evidence rarely does.\",\"poster\":\"/banners/posters/73696-3.jpg\",\"seriesName\":\"CSI: NY\",\"slug\":\"csi-ny\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/blank/281551.jpg\",\"firstAired\":\"2015-03-04\",\"id\":281551,\"image\":\"/banners/posters/281551-1.jpg\",\"network\":\"CBS\",\"overview\":\"The series follows an elite team of FBI Special Agents tasked with investigating cyber crimes in North America. Based out of Quantico, the team is supervised by Avery Ryan a behavioral psychologist turned cyber shrink who established the FBI Cyber Crime division and heads a \\\"hack-for-good\\\" program, a scheme in which the criminals she catches can work for her in lieu of receiving a prison sentence.\",\"poster\":\"/banners/posters/281551-1.jpg\",\"seriesName\":\"CSI: Cyber\",\"slug\":\"csi-cyber\",\"status\":\"Ended\"},{\"aliases\":[\"Les Experts Las Vegas\"],\"banner\":\"/banners/v4/series/400248/banners/6395fc799540f.jpg\",\"firstAired\":\"2021-10-06\",\"id\":400248,\"image\":\"/banners/v4/series/400248/posters/6131260d0c13f.jpg\",\"network\":\"CBS\",\"overview\":\"Facing an existential threat that could bring down the Crime Lab, a brilliant team of forensic investigators must welcome back old friends and deploy new techniques to preserve and serve justice in Sin City.\",\"poster\":\"/banners/v4/series/400248/posters/6131260d0c13f.jpg\",\"seriesName\":\"CSI: Vegas\",\"slug\":\"csi-vegas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":83898,\"image\":\"/banners/posters/5b5e08fdcd284.jpg\",\"network\":\"\",\"overview\":\"A 6 part series for Channel Five about the course for crime scene investigators at the National Forensic Academy in Knoxville, Tennessee.\",\"poster\":\"/banners/posters/5b5e08fdcd284.jpg\",\"seriesName\":\"CSI Academy\",\"slug\":\"csi-academy\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2011-06-29\",\"id\":248519,\"image\":\"/banners/posters/248519-1.jpg\",\"network\":\"\",\"poster\":\"/banners/posters/248519-1.jpg\",\"seriesName\":\"True CSI\",\"slug\":\"true-csi\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2021-03-02\",\"id\":397461,\"image\":\"/banners/v4/series/397461/posters/6107dbacd1c15.jpg\",\"network\":\"YouTube\",\"overview\":\"ITZY investigates!\",\"poster\":\"/banners/v4/series/397461/posters/6107dbacd1c15.jpg\",\"seriesName\":\"[CSI] Codename: Secret ITZY\",\"slug\":\"csi-codename-secret-itzy\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5ccac3bfe5aeb.jpg\",\"firstAired\":\"2019-05-01\",\"id\":362856,\"image\":\"/banners/v4/series/362856/posters/60a543e25f51e.jpg\",\"network\":\"BBC Two\",\"overview\":\"Multiple cameras follow serious crime investigations in real time, revealing the crucial role cutting-edge forensic science now plays in bringing criminals to justice.\",\"poster\":\"/banners/v4/series/362856/posters/60a543e25f51e.jpg\",\"seriesName\":\"Forensics: The Real CSI\",\"slug\":\"forensics-the-real-csi\",\"status\":\"Continuing\"},{\"aliases\":[\"Jurassic C.S.I.\"],\"banner\":\"/banners/graphical/253030-g.jpg\",\"firstAired\":\"2011-07-07\",\"id\":253030,\"image\":\"/banners/posters/253030-1.jpg\",\"network\":\"National Geographic\",\"overview\":\"In Jurassic CSI, dino detective Dr. Phil Manning launches a full-scale investigation to unearth how dinosaurs really looked and lived. \\r\\n\\r\\nJurassic CSI goes into the minds, under the skin and inside the bones of the biggest, most impressive beasts ever to walk the planet. Dr. Manning doesn\u2019t stick to convention \u2013 or even his own discipline \u2013 on his perpetual quest to expand what we know about dinosaurs. With privileged access to some of the world\u2019s most sophisticated technologies \u2013 from crime scene 3D mapping technology to an image machine one million times stronger than a chest X-ray \u2013 Jurassic CSI challenges long \u2013 held assumptions and poses radical questions about our understanding of dinosaurs.\",\"poster\":\"/banners/posters/253030-1.jpg\",\"seriesName\":\"Jurassic CSI\",\"slug\":\"jurassic-csi\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/152441-g.jpg\",\"firstAired\":\"2006-01-12\",\"id\":152441,\"image\":\"/banners/posters/152441-1.jpg\",\"network\":\"National Geographic\",\"overview\":\"Shocking wilderness unfolds as state of art forensics and photography reveal the unknown acts of our animal kingdom. Get up close with predators and see how their instincts make them the fittest when it comes to their survival.\",\"poster\":\"/banners/posters/152441-1.jpg\",\"seriesName\":\"Predator CSI\",\"slug\":\"predator-csi\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2004-01-05\",\"id\":143501,\"image\":\"/banners/posters/143501-1.jpg\",\"network\":\"TVBS Entertainment Channel\",\"poster\":\"/banners/posters/143501-1.jpg\",\"seriesName\":\"Variety Show of Mr. Con \\u0026 Ms. Csi\",\"slug\":\"variety-show-of-mr-con-and-ms-csi\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/434381/banners/6612f969cc8da.jpg\",\"firstAired\":\"2023-03-23\",\"id\":434381,\"image\":\"/banners/v4/series/434381/posters/644df8cf2a006.jpg\",\"network\":null,\"overview\":\"CSI On Trial reveals the shocking lack of scientific validity behind these investigative practices through real-life criminal cases, the stories of the wrongly convicted who are now free, and the believed innocent who remain behind bars.\",\"poster\":\"/banners/v4/series/434381/posters/644df8cf2a006.jpg\",\"seriesName\":\"CSI on Trial\",\"slug\":\"csi-on-trial\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/342048-g.jpg\",\"firstAired\":\"2017-12-02\",\"id\":342048,\"image\":\"/banners/posters/342048-1.jpg\",\"network\":\"TVQ (Australia)\",\"poster\":\"/banners/posters/342048-1.jpg\",\"seriesName\":\"CSI:\uC18C\uBE44\uC790 \uD0D0\uC0AC\uB300\",\"slug\":\"342048-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2019-09-08\",\"id\":415906,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Talks and portraits of extraordinary people every week.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Tell Csilla Tatar!\",\"slug\":\"mondd-el-tatar-csillanak\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":449895,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"CBS\",\"overview\":\"The series will feature real-life crime cases and the cutting-edge forensic science used to solve them.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Real CSI: Miami\",\"slug\":\"the-real-csi-miami\",\"status\":\"Upcoming\"},{\"aliases\":[\"Stargate SG1\",\"Stargate Kommando SG-1\",\"Stargate SG1\"],\"banner\":\"/banners/graphical/185-g.jpg\",\"firstAired\":\"1997-07-27\",\"id\":72449,\"image\":\"/banners/posters/72449-4.jpg\",\"network\":\"Showtime\",\"overview\":\"This sequel to the 1994 movie Stargate chronicles the further adventures of SGC (Stargate Command). It turned out that the Goa'uld Ra was only one of many alien System Lords who used the Stargates to conquer much of the universe. When Earth uncovers a working cartouche to decipher the coding system of their own Stargate, they find they can now travel anywhere. Earth's military sends out SG teams to explore new planets, find technology, and oppose the Goa'uld. Jack O'Neill and Daniel Jackson from the original movie are part of SG-1. They are joined by Sam Carter, a scientist, and Teal'c, a Jaffa who is convinced the Goa'uld are not gods.\",\"poster\":\"/banners/posters/72449-4.jpg\",\"seriesName\":\"Stargate SG-1\",\"slug\":\"stargate-sg-1\",\"status\":\"Ended\"},{\"aliases\":[\"Star Crossed\",\"\u041A\u0438\u0441\u043B\u043E\u0440\u043E\u0434\",\"\u041D\u0435\u0441\u0447\u0430\u0441\u0442\u043D\u044B\u0435\"],\"banner\":\"/banners/graphical/269604-g4.jpg\",\"firstAired\":\"2014-02-17\",\"id\":269604,\"image\":\"/banners/posters/269604-3.jpg\",\"network\":\"The CW\",\"overview\":\"Passion and politics threaten the peace and an epic romance ignites between a human girl and an alien boy when he and eight others of his kind (The Orion 9) are integrated into a suburban high school 10 years after they and hundreds of others landed on Earth and were immediately consigned to an internment camp where they\u2019ve been imprisoned ever since.\",\"poster\":\"/banners/posters/269604-3.jpg\",\"seriesName\":\"Star-Crossed\",\"slug\":\"star-crossed\",\"status\":\"Ended\"},{\"aliases\":[\"Battlestar Galactica: The Resistance\",\"Battlestar Galactica: The Miniseries\",\"Battlestar Galactica: Razor\",\"Battlestar Galactica: Face of the Enemy\",\"Battlestar Galactica (2004)\",\"\u0417\u0432\u0435\u0437\u0434\u043D\u044B\u0439 \u043A\u0440\u0435\u0439\u0441\u0435\u0440 \u0413\u0430\u043B\u0430\u043A\u0442\u0438\u043A\u0430\",\"\u592A\u7A7A\u5821\u58D8\u5361\u62C9\u72C4\u52A0\"],\"banner\":\"/banners/blank/73545.jpg\",\"firstAired\":\"2005-01-14\",\"id\":73545,\"image\":\"/banners/posters/73545-2.jpg\",\"network\":\"SYFY\",\"overview\":\"In a distant part of the universe, a civilization of humans live on planets known as the Twelve Colonies. In the past, the Colonies have been at war with a cybernetic race known as the Cylons. 40 years after the first war the Cylons launch a devastating attack on the Colonies. The only military ship that survived the attack takes up the task of leading a small fugitive fleet of survivors into space in search of a fabled refuge known as Earth.\",\"poster\":\"/banners/posters/73545-2.jpg\",\"seriesName\":\"Battlestar Galactica (2003)\",\"slug\":\"battlestar-galactica-2003\",\"status\":\"Ended\"},{\"aliases\":[\"\u661F\u9645\u4E4B\u95E8\uFF1A\u4E9A\u7279\u5170\u8482\u65AF\"],\"banner\":\"/banners/blank/70851-6.jpg\",\"firstAired\":\"2004-07-16\",\"id\":70851,\"image\":\"/banners/posters/70851-1.jpg\",\"network\":\"SYFY\",\"overview\":\"The story of Stargate Atlantis follows the cliffhanger episode on Stargate SG-1's seventh season finale \\\"Lost City\\\", where SG-1 found an outpost made by the race known as the Ancients in Antarctica. After the events of Stargate SG-1 season eight premiere \\\"New Order\\\", the Stargate Command sends an international team to investigate the outpost. Soon, Dr. Daniel Jackson discovers the location of the greatest city created by the Ancients, Atlantis. The story unfolds when the members of the expedition encounter the Wraith, the race that defeated the Ancients ten thousand years ago.\",\"poster\":\"/banners/posters/70851-1.jpg\",\"seriesName\":\"Stargate Atlantis\",\"slug\":\"stargate-atlantis\",\"status\":\"Ended\"},{\"aliases\":[\"Ester vs. M\xF6rkrets Makter\",\"Star vs. As For\xE7as do Mal\",\"\uBCC4\uB098\uBE44\",\"\u0646\u062C\u0645\u0629 \u0636\u062F \u0642\u0648\u0649 \u0627\u0644\u0634\u0631\"],\"banner\":\"/banners/text/282994.jpg\",\"firstAired\":\"2015-01-18\",\"id\":282994,\"image\":\"/banners/posters/282994-2.jpg\",\"network\":\"Disney Channel\",\"overview\":\"After having skirmished with a number of dangerous monsters, Star Butterfly arrives on Earth to live with the Diaz family. However, rather than living a normal life, Star continues on having to battle villains both throughout the universe and in their high school, although if only to protect her extremely powerful wand, an object which she is still confused with.\",\"poster\":\"/banners/posters/282994-2.jpg\",\"seriesName\":\"Star vs. the Forces of Evil\",\"slug\":\"star-vs-the-forces-of-evil\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/83237-g.jpg\",\"firstAired\":\"2009-10-02\",\"id\":83237,\"image\":\"/banners/posters/83237-5.jpg\",\"network\":\"SYFY\",\"overview\":\"The previously unknown purpose of the ninth chevron is revealed and takes a group of refugees on a one-way trip to a millions of years old Ancient-built ship. Led by Dr. Nicolas Rush and Colonel Everett Young, the refugees are trapped on the ship, unable to change its programmed mission.\",\"poster\":\"/banners/posters/83237-5.jpg\",\"seriesName\":\"Stargate Universe\",\"slug\":\"stargate-universe\",\"status\":\"Ended\"},{\"aliases\":[\"Cowboy Bebop\",\"Kowboj Bebop\"],\"banner\":\"/banners/v4/series/367234/banners/6609f02387b03.jpg\",\"firstAired\":\"2021-11-19\",\"id\":367234,\"image\":\"/banners/v4/series/367234/posters/61794825640b3.jpg\",\"network\":\"Netflix\",\"overview\":\"A ragtag crew of bounty hunters chases down the galaxy's most dangerous criminals. They'll save the world ... for the right price.\",\"poster\":\"/banners/v4/series/367234/posters/61794825640b3.jpg\",\"seriesName\":\"Cowboy Bebop (2021)\",\"slug\":\"cowboy-bebop-2021\",\"status\":\"Ended\"},{\"aliases\":[\"Lee Daniels' Star\",\"\u0421\u0442\u0430\u0440\"],\"banner\":\"/banners/graphical/311810-g2.jpg\",\"firstAired\":\"2016-12-14\",\"id\":311810,\"image\":\"/banners/posters/311810-6.jpg\",\"network\":\"FOX\",\"overview\":\"Star, her sister Simone, and their friend Alex are three talented young singers who navigate the music business on their road to success in Atlanta, where Star and Simone's long lost godmother Carlotta lives. They'll soon learn that success is not only about the music, but also drama, sacrifice and pain.\",\"poster\":\"/banners/posters/311810-6.jpg\",\"seriesName\":\"Star\",\"slug\":\"star\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/17291-g.jpg\",\"firstAired\":\"2003-11-07\",\"id\":72244,\"image\":\"/banners/posters/72244-2.jpg\",\"network\":\"Cartoon Network\",\"overview\":\"Star Wars: Clone Wars picks up where the theatrical feature Star Wars: Episode II: Attack of the Clones left off as an epic civil war pits the Republic against the separatist movement led by the Dark Side of the Force's mastermind Darth Sidious.\",\"poster\":\"/banners/posters/72244-2.jpg\",\"seriesName\":\"Star Wars: Clone Wars\",\"slug\":\"star-wars-clone-wars\",\"status\":\"Ended\"},{\"aliases\":[\"Tin Star: Liverpool\",\"Tin Star (2017)\",\"\u0417\u0432\u0435\u0437\u0434\u0430 \u0448\u0435\u0440\u0438\u0444\u0430\",\"\u0416\u0435\u0441\u0442\u044F\u043D\u0430\u044F \u0437\u0432\u0435\u0437\u0434\u0430\"],\"banner\":\"/banners/graphical/325720-g.jpg\",\"firstAired\":\"2017-09-07\",\"id\":325720,\"image\":\"/banners/posters/325720-1.jpg\",\"network\":\"Sky Atlantic (UK)\",\"overview\":\"Ex undercover UK cop turned police chief of a small town in the Canadian Rockies does what he must to defend his family from those in power whether it's the oilmen, the preachers or the gangsters.\",\"poster\":\"/banners/posters/325720-1.jpg\",\"seriesName\":\"Tin Star\",\"slug\":\"tin-star\",\"status\":\"Ended\"},{\"aliases\":[\"Farscape - Verschollen im All\",\"Farscape: The Peacekeeper Wars\",\"\u0414\u0430\u043B\u0435\u043A\u043E \u0432\u043E \u0412\u0441\u0435\u043B\u0435\u043D\u043D\u043E\u0439\"],\"banner\":\"/banners/graphical/70522-g22.jpg\",\"firstAired\":\"1999-03-19\",\"id\":70522,\"image\":\"/banners/posters/644426314b419.jpg\",\"network\":\"SYFY\",\"overview\":\"Astronaut John Crichton attempts to use the Earth's atmosphere to propel his ship, Farscape 1, at great speeds across the solar system. He went much further though and was sucked down a wormhole to a distant part of the galaxy and into the middle of a battle. He is rescued by a group of escaping prisoners and taken aboard their living ship. As the years went by, Crichton has made enemies, powerful and dangerous enemies. On his journey to find a way back home, he freed other captives who became part of the crew on Moya.\",\"poster\":\"/banners/posters/644426314b419.jpg\",\"seriesName\":\"Farscape\",\"slug\":\"farscape\",\"status\":\"Ended\"},{\"aliases\":[\"Der gestiefelte Kater - Abenteuer in San Lorenzo\"],\"banner\":\"/banners/graphical/290174-g.jpg\",\"firstAired\":\"2015-01-16\",\"id\":290174,\"image\":\"/banners/posters/290174-2.jpg\",\"network\":\"Netflix\",\"overview\":\"The world's greatest fighter, lover (and milk connoisseur) springs to action with mystical, comical tales that take him to exotic locations filled with unforgettable characters.\",\"poster\":\"/banners/posters/290174-2.jpg\",\"seriesName\":\"The Adventures of Puss in Boots\",\"slug\":\"the-adventures-of-puss-in-boots\",\"status\":\"Ended\"},{\"aliases\":[\"Chip und Chap \u2013 Die Ritter des Rechts\",\"Chip 'n Dale: Rescue Rangers\",\"Chip 'n' Dale: Rescue Rangers\",\"Chip \xE9s Dale - A Csipet Csapat\",\"Chip y Dale al rescate\",\"Chip y Dale Rescatadores\",\"Tiku ja Taku pelastajat\",\"Disney Tico e Teco e os Defensores da Lei\"],\"banner\":\"/banners/graphical/75477-g4.jpg\",\"firstAired\":\"1989-03-05\",\"id\":75477,\"image\":\"/banners/posters/75477-6.jpg\",\"network\":\"Disney Channel\",\"overview\":\"Chip and Dale, two chipmunks with a nose for trouble, start a detective agency, Rescue Rangers, along with their new friends Gadget, Monterey Jack, and Zipper. The pint-sized detectives deal with crimes that are often \\\"too small\\\" for the police to handle, usually with other animals as their clients. The gang frequently finds itself going up against two particular arch villains: Mafia-style tabby cat Fat Cat and mad scientist Norton Nimnul (both voiced by Jim Cummings).\",\"poster\":\"/banners/posters/75477-6.jpg\",\"seriesName\":\"Chip 'n Dale Rescue Rangers\",\"slug\":\"chip-n-dale-rescue-rangers\",\"status\":\"Ended\"},{\"aliases\":[\"SpongeBob SquarePants: The Patrick Star Show\",\"Bob Esponja: O Show do Patrick Estrela\"],\"banner\":\"/banners/v4/series/386806/banners/6615f6a298818.jpg\",\"firstAired\":\"2021-07-09\",\"id\":386806,\"image\":\"/banners/v4/series/386806/posters/60e6bc8677d0f.jpg\",\"network\":\"Nickelodeon\",\"overview\":\"Patrick Star hosts his very own talk show, with the support of his family.\",\"poster\":\"/banners/v4/series/386806/posters/60e6bc8677d0f.jpg\",\"seriesName\":\"The Patrick Star Show\",\"slug\":\"the-patrick-star-show\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/400730/banners/644856d8a3922.jpg\",\"firstAired\":\"2021-05-26\",\"id\":400730,\"image\":\"/banners/v4/series/400730/posters/643a7163a6c2f.jpg\",\"network\":\"FOX\",\"overview\":\"Culinary guessing game in which bakers are tasked with decoding what type of dessert was made when all that\u2019s left are the crumbs, flour trails, and a few elusive clues. They must then recreate the recipe for celebrity judges, chef Curtis Stone and cake artist Yolanda Gampp, who will determine how closely their sweet treat matches the missing dessert \u2013 and how good it tastes!\",\"poster\":\"/banners/v4/series/400730/posters/643a7163a6c2f.jpg\",\"seriesName\":\"Crime Scene Kitchen\",\"slug\":\"crime-scene-kitchen\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/174241-g.jpg\",\"firstAired\":\"2004-06-28\",\"id\":174241,\"image\":\"/banners/posters/174241-2.jpg\",\"network\":\"TF1\",\"overview\":\"A young woman returns from the United States to attend the birthday of her father's birthday in the Marseille region. However, a series of murders that at first seem random commence and Esther is brought in to assist and discover who is the \\\"Zodiac.\\\"\",\"poster\":\"/banners/posters/174241-2.jpg\",\"seriesName\":\"Zodiac (2004)\",\"slug\":\"zodiac-2004\",\"status\":\"Ended\"},{\"aliases\":[\"\u0939\u0940\u0930\u093E\u092E\u0902\u0921\u0940: \u0926 \u0921\u093E\u092F\u092E\u0902\u0921 \u092C\u093E\u095B\u093E\u0930\",\"Heeramandi: O Bazar dos Diamantes\"],\"banner\":\"/banners/v4/series/420398/banners/662fda5f367b9.jpg\",\"firstAired\":\"2024-05-01\",\"id\":420398,\"image\":\"/banners/v4/series/420398/posters/6637257502b93.jpg\",\"network\":\"Netflix\",\"overview\":\"Sanjay Leela Bhansali brings his majestic signature flair to stories of love and betrayal in the lives of courtesans in pre-independence India.\",\"poster\":\"/banners/v4/series/420398/posters/6637257502b93.jpg\",\"seriesName\":\"Heeramandi: The Diamond Bazaar\",\"slug\":\"heeramandi\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/307245-g.jpg\",\"firstAired\":\"2015-10-01\",\"id\":307245,\"image\":\"/banners/posters/307245-1.jpg\",\"network\":\"Disney Channel\",\"overview\":\"As far back as anyone can remember, Starlings have granted wishes for Earthlings. But when an evil force suddenly threatens Starland, twelve Star-Charmed girls are sent on the most magical adventures of their lives\u2026as THE STAR DARLINGS!\\r\\n\\r\\nOur Starlings believe in making wishes from the heart, dreaming big and embracing your inner star, because anything is possible! Wish upon your Star!\",\"poster\":\"/banners/posters/307245-1.jpg\",\"seriesName\":\"Star Darlings\",\"slug\":\"star-darlings\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/253208-g.jpg\",\"firstAired\":\"2008-09-01\",\"id\":253208,\"image\":\"/banners/posters/253208-1.jpg\",\"network\":\"TV Nova\",\"overview\":\"Crimi series inspired by real cases.\",\"poster\":\"/banners/posters/253208-1.jpg\",\"seriesName\":\"CSI Andel\",\"slug\":\"csi-andel\",\"status\":\"Continuing\"},{\"aliases\":[\"Spoon Oba-san\",\"Sup\xFBn ob\xE2san\"],\"banner\":\"/banners/v4/series/131361/banners/645c12a67da70.jpg\",\"firstAired\":\"1983-04-04\",\"id\":131361,\"image\":\"/banners/v4/series/131361/posters/618983a882595.jpg\",\"network\":\"NCRV\",\"overview\":\"Mrs. Pepper Pot always wears a golden spoon around her neck. She lives with her husband, a painter, in a small village. Mrs. Pepper can quickly shrink her body as small as the spoon around her neck! When she becomes small, she can communicate with animals and enjoy wonderful adventures in the woods.\",\"poster\":\"/banners/v4/series/131361/posters/618983a882595.jpg\",\"seriesName\":\"Mrs. Pepperpot\",\"slug\":\"mrs-pepperpot\",\"status\":\"Ended\"},{\"aliases\":[\"Iryuu Sousa\"],\"banner\":\"/banners/graphical/249250-g.jpg\",\"firstAired\":\"2011-04-13\",\"id\":249250,\"image\":\"/banners/v4/series/249250/posters/62e410ff78ca4.jpg\",\"network\":\"TV Asahi\",\"overview\":\"Depicts the work of a group of detectives who solve murder cases by looking for clues in the articles left by victims.\",\"poster\":\"/banners/v4/series/249250/posters/62e410ff78ca4.jpg\",\"seriesName\":\"CSI: Crime Scene Talks\",\"slug\":\"iryu-sosa\",\"status\":\"Continuing\"},{\"aliases\":[\"Dakgangjeong\",\"Dalggangjeong\",\"Dak Gang Jeong\",\"Fried Chicken\",\"Chicken Gangjeong\",\"Sweet and Sour Chicken\"],\"banner\":\"/banners/v4/series/424613/banners/65e1053fc5002.jpg\",\"firstAired\":\"2024-03-15\",\"id\":424613,\"image\":\"/banners/v4/series/424613/posters/65cd71cb48620.jpg\",\"network\":\"Netflix\",\"overview\":\"A woman steps into an odd machine and becomes\u2026 a chicken nugget?! Now, it\u2019s up to her father and admirer to embark on a zany quest to bring her back.\",\"poster\":\"/banners/v4/series/424613/posters/65cd71cb48620.jpg\",\"seriesName\":\"Chicken Nugget\",\"slug\":\"424613-\",\"status\":\"Ended\"},{\"aliases\":[\"The Bad Girl\",\"The Mischief of the Bad Girl\"],\"banner\":\"/banners/v4/series/427340/banners/6612fef86cbc7.jpg\",\"firstAired\":\"2022-12-08\",\"id\":427340,\"image\":\"/banners/v4/series/427340/posters/63e708bc8baef.jpg\",\"network\":\"ViX+\",\"overview\":\"The epic love story between Arlette, a nonconformist and adventurous woman, and her once teenage love, Ricardo, a man trapped in a predictable routine. Thanks to Arlette, he slowly learns to get out of his comfort zone. These two characters\u2019 lives will intertwine over 40 years, through reunions across Lima, Paris, Madrid, Tokyo, London, and more. Based on the 2006 novel by Nobel prize winner Mario Vargas Llosa\",\"poster\":\"/banners/v4/series/427340/posters/63e708bc8baef.jpg\",\"seriesName\":\"Travesuras de la ni\xF1a mala\",\"slug\":\"travesuras-de-la-nina-mala\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/262278/banners/6629463e1acdd.jpg\",\"firstAired\":\"2005-08-17\",\"id\":262278,\"image\":\"/banners/posters/262278-2.jpg\",\"network\":\"BBC One\",\"overview\":\"David Attenborough narrates a murder mystery series with a twist - forensic science techniques are used to find out who or what killed an animal.\",\"poster\":\"/banners/posters/262278-2.jpg\",\"seriesName\":\"Animal Crime Scene\",\"slug\":\"animal-crime-scene\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/435541/banners/66204ef14635c.jpg\",\"firstAired\":\"2022-10-17\",\"id\":435541,\"image\":\"/banners/v4/series/435541/posters/650a61ab5432b.jpg\",\"network\":\"ABC (AU)\",\"overview\":\"In the distant future, a seven-year-old girl named Ella is gleefully testing her limits in a star-filled playground called 'The Milky Way.' Ella is a bright-eyed girl propelled by curiosity and ambition. A natural born leader, Ella and her best friends - Slippy (a space native) and Madhu (a space alien) - are discovering exciting new worlds and doing amazing things that nobody else has ever done before like surfing supernovas, riding comets, and racing Moon Scooters around Saturn's rings.\",\"poster\":\"/banners/v4/series/435541/posters/650a61ab5432b.jpg\",\"seriesName\":\"Interstellar Ella\",\"slug\":\"interstellar-ella\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/85236-g.jpg\",\"firstAired\":\"2008-01-10\",\"id\":85236,\"image\":\"/banners/posters/85236-1.jpg\",\"network\":\"Channel 5\",\"overview\":\"Robert Llewellyn presents a series examining the feats of science and engineering behind everyday life.\",\"poster\":\"/banners/posters/85236-1.jpg\",\"seriesName\":\"How Do They Do It? (UK)\",\"slug\":\"how-do-they-do-it-uk\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2012-03-31\",\"id\":257504,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"National Geographic\",\"overview\":\"Ghostly sounds in a haunted wood in Wales, silver stolen in a canyon in California and pets disappearing in Vermont \u2013 are the suspects human or could animals be involved? Just as smart-phone cameras have revolutionised the way news footage is captured around the globe, so the increasing sophistication of camera trapping technology has led to a surge in the recording of unusual animal behaviours. Big cats, small rats, freaky dogs and scary hogs are all under investigation, but who has committed the crimes and why?\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Wild Scene Investigation\",\"slug\":\"wild-scene-investigation\",\"status\":\"Ended\"},{\"aliases\":[\"Majka\",\"Majka, a csillagok k\xFCld\xF6tte\"],\"banner\":\"/banners/graphical/83545-g2.jpg\",\"firstAired\":\"1979-01-20\",\"id\":83545,\"image\":\"/banners/posters/83545-1.jpg\",\"network\":\"\u010Ceskoslovensk\xE1 televize\",\"overview\":\"An extraterrestrial alien lands on Earth near the (fictional) Slovak town \u010Cabovce. The alien, which looks like a little girl, meets with a group of children from the town who name her Maika (Majka). While she has extensive knowledge of encyclopedical facts about the human world, she doesn't really understand people's emotions and behaviour and gets only slowly acquainted with them through the help of her new friends. Maika in turn uses her abilities to fly or to effortlessly replicate things as a source of entertainment and adventures for her friends.\",\"poster\":\"/banners/posters/83545-1.jpg\",\"seriesName\":\"She Came Out of the Blue Sky\",\"slug\":\"she-came-out-of-the-blue-sky\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/81938-g.jpg\",\"firstAired\":\"2008-01-07\",\"id\":81938,\"image\":\"/banners/posters/81938-1.jpg\",\"network\":\"Channel 4\",\"overview\":\"In three hard-hitting programmes, Hugh Fearnley-Whittingstall explores the horrors of intensive chicken farming. The journey takes him far from the cosy lifestyle of River Cottage and into the harrowing conditions of running his own modern poultry production line.\",\"poster\":\"/banners/posters/81938-1.jpg\",\"seriesName\":\"Hugh's Chicken Run\",\"slug\":\"hughs-chicken-run\",\"status\":\"Ended\"},{\"aliases\":[\"Dua Aur Azan\"],\"banner\":\"\",\"firstAired\":\"2024-04-26\",\"id\":449502,\"image\":\"/banners/v4/series/449502/posters/662d3a7b650bd.jpg\",\"network\":\"YouTube\",\"overview\":\"A love story that tells the story of two souls who never wanted to become soulmates, but are destined to become soulmates eventually through a marriage contract. Dua and Azaan over time develop love for each other and begin to build a nest from their love branch, experiencing an increasingly stronger bond through the tests of circumstances and separation.\",\"poster\":\"/banners/v4/series/449502/posters/662d3a7b650bd.jpg\",\"seriesName\":\"Dua Aur Azan\",\"slug\":\"dua-aur-azan\",\"status\":\"Continuing\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:35 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 e78b88048cb2f0beb893089a9fa30352.cloudfront.net (CloudFront) X-Amz-Cf-Id: - TOdgjBq1z0fyyEwlf1FdJuI7Fe6M-GDCkLe8NRXkqIKQ4nJ7f4JYKw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/72546 response: body: string: '{"data":{"id":72546,"seriesId":"","seriesName":"CSI: Crime Scene Investigation","aliases":["CSI","CSI: Las Vegas"],"season":"15","poster":"posters/72546-5.jpg","banner":"graphical/19-g.jpg","fanart":"fanart/original/72546-29.jpg","status":"Ended","firstAired":"2000-10-06","network":"CBS","networkId":"57","runtime":"45","language":"en","genre":["Crime","Drama","Mystery","Thriller"],"overview":"CSI is a crime drama in which the characters use cutting-edge forensic tools to examine the evidence to solve the case. Rather than asking ''whodunnit'' (investigating witnesses/suspects), CSI explores the ''howdunnit''.","lastUpdated":1708445803,"airsDayOfWeek":"Sunday","airsTime":"10:00 PM","rating":"TV-14","imdbId":"tt0247082","zap2itId":"","added":"2008-02-04 00:00:00","addedBy":1,"siteRating":8.4,"siteRatingCount":6457,"slug":"csi-crime-scene-investigation"}}' headers: Age: - '82670' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '861' Content-Type: - application/json; charset=utf-8 Date: - Tue, 21 May 2024 15:35:45 GMT Last-Modified: - Tue, 20 Feb 2024 16:16:43 GMT Vary: - Accept-Language Via: - 1.1 42c937f806e6e43029a719b83b9a8612.cloudfront.net (CloudFront) X-Amz-Cf-Id: - WPb1K2YCdSIcxbR5ngPkWnvUQEYpYM9cdDciqp1MvqRXqaxblaEp-A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/72546/episodes/query?airedSeason=15&airedEpisode=18&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":5104359,"airedSeason":15,"airedSeasonID":590604,"airedEpisodeNumber":18,"episodeName":"The End Game","firstAired":"2015-02-15","guestStars":["Barry Bostwick","Brandon P. Bell","Eric Roberts","Kathryn McCormick","Marc Vann","Mark Valley","Mark-Paul Gosselaar"],"directors":["Alec Smight"],"writers":["Christopher Barbour"],"overview":"The CSI unit faces the final showdown with the Gig Harbor killer whose motives are finally revealed. Meanwhile, Nick Stokes makes a decision that will affect the entire team moving forward.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1701296585,"dvdDiscid":"","dvdSeason":15,"dvdEpisodeNumber":18,"dvdChapter":null,"absoluteNumber":335,"filename":"episodes/72546/5104359.jpg","seriesId":72546,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4145952","contentRating":"TV-14","thumbAuthor":1,"thumbAdded":"2019-11-13 13:21:38","thumbWidth":"640","thumbHeight":"360","siteRating":7.6,"siteRatingCount":306,"isMovie":0}]}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:36 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 e33c092c8429c324c2810046683bf2f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - mlgNLLG0c7kVN-XksEf-N3G74RNYJ45SQ1Z10kYm9SnNmNNn-srwPQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/5104359 response: body: string: '{"data":{"id":5104359,"airedSeason":15,"airedSeasonID":590604,"airedEpisodeNumber":18,"episodeName":"The End Game","firstAired":"2015-02-15","guestStars":["Barry Bostwick","Brandon P. Bell","Eric Roberts","Kathryn McCormick","Marc Vann","Mark Valley","Mark-Paul Gosselaar"],"directors":["Alec Smight"],"writers":["Christopher Barbour"],"overview":"The CSI unit faces the final showdown with the Gig Harbor killer whose motives are finally revealed. Meanwhile, Nick Stokes makes a decision that will affect the entire team moving forward.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1701296585,"dvdDiscid":"","dvdSeason":15,"dvdEpisodeNumber":18,"dvdChapter":null,"absoluteNumber":335,"filename":"episodes/72546/5104359.jpg","seriesId":72546,"lastUpdatedBy":1,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt4145952","contentRating":"TV-14","thumbAuthor":1,"thumbAdded":"2019-11-13 13:21:38","thumbWidth":"640","thumbHeight":"360","siteRating":7.6,"siteRatingCount":306,"isMovie":0}}' headers: Age: - '63624' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Tue, 21 May 2024 20:53:12 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 a48f09960f130cb6049f12b379cf591e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - NI6EvvB5HhGkVDoH0KI61ijFH8nhTf_EUHk8E-2x68HuTcFDf8sj8Q== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_comma.yaml0000644000175100001770000002643514636376416026522 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=alex+inc response: body: string: '{"data":[{"aliases":[],"banner":"/banners/graphical/328635-g2.jpg","firstAired":"2018-03-28","id":328635,"image":"/banners/posters/328635-2.jpg","network":"ABC (US)","overview":"Based on the podcast \"StartUp\" from Gimlet Media, Alex Schuman embarks on the adventure of starting his own company. Having already found success professionally, as a radio journalist, and personally, as a husband and father of two, Alex isn''t satisfied just coasting along and decides to quit his job and start over on his own terms. He quickly learns that building his own business isn''t going to be as easy as he thought, but the payoff will be rewarding.","poster":"/banners/posters/328635-2.jpg","seriesName":"Alex, Inc.","slug":"alex-inc","status":"Ended"},{"aliases":[],"banner":"/banners/v4/series/75497/banners/663fb15bf1aae.jpg","firstAired":"1994-10-08","id":75497,"image":"/banners/posters/75497-2.jpg","network":"Nickelodeon","overview":"Alex Mack is an ordinary teenage girl, living with her parents, George and Barbara, and older sister, Annie, in the corporate town of Paradise Valley. While walking home after her first day of junior high school, she is nearly hit by a truck from a chemical plant, and during the incident, she is drenched with a top-secret chemical called GC-161. She soon discovers that it gave her strange powers. These include telekinesis, the ability to zap bolts of electricity from her fingers, and the capacity to morph into a mobile puddle of metallic liquid. However, her powers prove to be unpredictable (such as when her skin starts glowing brightly while she''s nervous). She confides only in Annie and her best friend, Ray, choosing to keep her powers a secret from everyone else, including her parents, for fear of what the chemical plant CEO, Danielle Atron, will do to her if she finds out.","poster":"/banners/posters/75497-2.jpg","seriesName":"The Secret World of Alex Mack","slug":"the-secret-world-of-alex-mack","status":"Ended"}]}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:41 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 27a35654821ee52d8aa69c940ad5de7e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - N0QOI77qsxZ-m341BagusTovxWi4t2NZy9bosunD6kU4fp8_ZD-bPQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/328635 response: body: string: '{"data":{"id":328635,"seriesId":"","seriesName":"Alex, Inc.","aliases":[],"season":"1","poster":"posters/328635-2.jpg","banner":"graphical/328635-g2.jpg","fanart":"fanart/original/328635-1.jpg","status":"Ended","firstAired":"2018-03-28","network":"ABC (US)","networkId":"5","runtime":"25","language":"en","genre":["Comedy"],"overview":"Based on the podcast \"StartUp\" from Gimlet Media, Alex Schuman embarks on the adventure of starting his own company. Having already found success professionally, as a radio journalist, and personally, as a husband and father of two, Alex isn''t satisfied just coasting along and decides to quit his job and start over on his own terms. He quickly learns that building his own business isn''t going to be as easy as he thought, but the payoff will be rewarding.","lastUpdated":1629325689,"airsDayOfWeek":"Wednesday","airsTime":"8:30 PM","rating":"TV-PG","imdbId":"tt6466948","zap2itId":"","added":"2017-05-16 10:29:38","addedBy":95425,"siteRating":5.5,"siteRatingCount":58,"slug":"alex-inc"}}' headers: Age: - '46573' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 01:37:28 GMT Last-Modified: - Wed, 18 Aug 2021 22:28:09 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 d780d90e1f6b43875e14c416b368d3b6.cloudfront.net (CloudFront) X-Amz-Cf-Id: - fvcmfi28ww1e3Kp1Up4LanKhZkmzs7As2Q5A-iuO7ZBIj23EdxOc3w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/328635/episodes/query?airedSeason=1&airedEpisode=4&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":6627151,"airedSeason":1,"airedSeasonID":745822,"airedEpisodeNumber":4,"episodeName":"The Nanny","firstAired":"2018-04-17","guestStars":[],"directors":[],"writers":[],"overview":"Alex thinks he fired the baby sitter, but the situation gets complicated when she shows up for work.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1597244363,"dvdDiscid":"","dvdSeason":null,"dvdEpisodeNumber":null,"dvdChapter":null,"absoluteNumber":null,"filename":"episodes/328635/6627151.jpg","seriesId":328635,"lastUpdatedBy":201648,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"","contentRating":"TV-PG","thumbAuthor":1,"thumbAdded":"2019-11-13 12:53:34","thumbWidth":"640","thumbHeight":"360","siteRating":0,"siteRatingCount":0,"isMovie":0}]}' headers: Age: - '27100' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '879' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 07:02:02 GMT Vary: - Accept-Language Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - lCFYGCItadWEGzP2B6klil8iOMTguLC1g0OmF_uWGqLAXX11Vf4O9w== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/6627151 response: body: string: '{"data":{"id":6627151,"airedSeason":1,"airedSeasonID":745822,"airedEpisodeNumber":4,"episodeName":"The Nanny","firstAired":"2018-04-17","guestStars":[],"directors":[],"writers":[],"overview":"Alex thinks he fired the baby sitter, but the situation gets complicated when she shows up for work.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1597244363,"dvdDiscid":"","dvdSeason":null,"dvdEpisodeNumber":null,"dvdChapter":null,"absoluteNumber":null,"filename":"episodes/328635/6627151.jpg","seriesId":328635,"lastUpdatedBy":201648,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"","contentRating":"TV-PG","thumbAuthor":1,"thumbAdded":"2019-11-13 12:53:34","thumbWidth":"640","thumbHeight":"360","siteRating":0,"siteRatingCount":0,"isMovie":0}}' headers: Age: - '27100' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '824' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 07:02:02 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Vary: - Accept-Language Via: - 1.1 f2dd3b65381fad5aad94ac94ad7043f8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - RKEz0sDnXXfmoAih5ZiTTNZN9oIH788qSFuSLCb7Bh_5LXRVwkfmxA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_country.yaml0000644000175100001770000005044114636376416027123 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=shameless response: body: string: "{\"data\":[{\"aliases\":[\"Shameless - Nicht ganz n\xFCchtern\",\"Shameless: Hall of Shame\",\"\u05DC\u05DC\u05D0 \u05D1\u05D5\u05E9\u05D4\",\"Shameless \u2013 Niepokorni\",\"\u65E0\u803B\u4E4B\u5F92\"],\"banner\":\"/banners/graphical/161511-g5.jpg\",\"firstAired\":\"2011-01-09\",\"id\":161511,\"image\":\"/banners/posters/161511-1.jpg\",\"network\":\"Showtime\",\"overview\":\"Chicagoan Frank Gallagher is the proud single dad of six smart, industrious, independent kids, who without him would be... frankly, perhaps better off. When Frank's not at the bar spending what little money they have, he's passed out on the floor. But the kids have found ways to grow up in spite of him. They may not be like any family you know, but they make no apologies for being exactly who they are.\",\"poster\":\"/banners/posters/161511-1.jpg\",\"seriesName\":\"Shameless (US)\",\"slug\":\"shameless-us\",\"status\":\"Ended\"},{\"aliases\":[\"Shameless (UK)\",\"Shameless (UK)\"],\"banner\":\"/banners/graphical/78846-g4.jpg\",\"firstAired\":\"2004-01-13\",\"id\":78846,\"image\":\"/banners/posters/78846-2.jpg\",\"network\":\"Channel 4\",\"overview\":\"The lives and relationships of a group of siblings and their estranged father Frank Gallagher on a rough Manchester estate.\",\"poster\":\"/banners/posters/78846-2.jpg\",\"seriesName\":\"Shameless\",\"slug\":\"shameless\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/336588-g.jpg\",\"firstAired\":\"2017-09-01\",\"id\":336588,\"image\":\"/banners/posters/336588-1.jpg\",\"network\":\"\u041D\u0422\u0412\",\"poster\":\"/banners/posters/336588-1.jpg\",\"seriesName\":\"Shameless (2017)\",\"slug\":\"336588-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/416717/banners/6270d43ca9f39.jpg\",\"firstAired\":\"2022-02-19\",\"id\":416717,\"image\":\"/banners/v4/series/416717/posters/64bdb4bc4a793.jpg\",\"network\":\"TNT (US)\",\"overview\":\"Fame. Power. Respect. Money can bring it all. And drain it all away. Rich \\u0026 Shameless tells the true stories of the successes, failures, thrills and miseries that accompany the kind of wealth that ordinary people can never understand. Using a combination of powerful interviews, unique archive and atmospheric visuals, Rich \\u0026 Shameless goes behind the public facade to reveal the dangers of great prosperity. Subjects include the mysterious death of crypto millionaire and suspected con artist Gerald Cotton, Seagrams heiress Clare Bronfman and her involvement in a nefarious sex cult, the unlikely battle between Martin Shkreli and The Wu-Tang Clan, the disappearance of NBA great Bison Dele (formerly Brian Williams) at sea, fashion mogul Peter Nygard\u2019s quest for eternal youth, and more.\",\"poster\":\"/banners/v4/series/416717/posters/64bdb4bc4a793.jpg\",\"seriesName\":\"Rich \\u0026 Shameless\",\"slug\":\"rich-shameless\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2007-09-09\",\"id\":339031,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"TVN\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Shameless Three (PL)\",\"slug\":\"339031-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":439469,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Shameless Hall of Shame is a mini series that airs during the eleventh season of Shameless (US). The series contains new and original scenes that are juxtaposed with flashbacks of the series' lead characters throughout the past ten seasons. Six episodes are set to air, with the final episode airing on February 28, 2021.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Shameless Hall of Shame\",\"slug\":\"hall-of-shame\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/411567/banners/63c58effc8c52.jpg\",\"firstAired\":\"2021-03-07\",\"id\":411567,\"image\":\"/banners/v4/series/411567/posters/63c58ed2ead05.jpg\",\"network\":\"DR P3\",\"overview\":\"Is it SHAMELESS to feel like having a lot of sex when you are a young woman? In DR3\u2019s new reportage series, we follow three strong young women who defy prejudice and shame and set their sexual desires free. Here it is Inger, Asmita and Sofie who \\\"take and give\\\" as the most natural. They refuse to degrade female sexuality into something that should be overlooked, suppressed, or felt wrong. We open the door to the most intimate of their lives and experience all that is not normally said out loud. For Inger, Asmita and Sofie insist that it should be possible to have an open sex life as a woman in 2021 without being labeled \\\"cheap\\\".\",\"poster\":\"/banners/v4/series/411567/posters/63c58ed2ead05.jpg\",\"seriesName\":\"Shameless (2021)\",\"slug\":\"411567-skamlos\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/388209/banners/63c591e19c61b.jpg\",\"firstAired\":\"2020-09-09\",\"id\":388209,\"image\":\"/banners/v4/series/388209/posters/643b2a6865ea4.jpg\",\"network\":\"NRK1\",\"overview\":\"How to live without shame? Two young minority women want to free today's young people from negative social control and honor culture.\",\"poster\":\"/banners/v4/series/388209/posters/643b2a6865ea4.jpg\",\"seriesName\":\"Shameless (2020)\",\"slug\":\"skamlos\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/83997-g.jpg\",\"firstAired\":\"2003-01-10\",\"id\":83997,\"image\":\"/banners/v4/series/83997/posters/6170453d858b4.jpg\",\"network\":\"SAT.1\",\"overview\":\"Die Dreisten Drei play skits in everyday situations, for example in the supermarket, in the park, on the bench, in the bookstore. As a framework, the three can be seen in their shared apartment, where they watch TV together on their yellow couch.\",\"poster\":\"/banners/v4/series/83997/posters/6170453d858b4.jpg\",\"seriesName\":\"The Shameless Three\",\"slug\":\"83997-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/318975-g.jpg\",\"firstAired\":\"1980-07-13\",\"id\":318975,\"image\":\"/banners/v4/series/318975/posters/640cbb149235a.jpg\",\"network\":\"Egyptian Television Network\",\"overview\":\"A story based on real events from the Egyptian spy files of one of the Egyptian intelligence operations against the Israeli Mossad, whose hero was in fact (Ahmed Muhammad Abdel Rahman El-Hwan), who became in the series (Gomaa Al-Shawan).\",\"poster\":\"/banners/v4/series/318975/posters/640cbb149235a.jpg\",\"seriesName\":\"Tears in Shameless Eyes\",\"slug\":\"dumou-fi-oyoun-waqiha\",\"status\":\"Ended\"},{\"aliases\":[\"Shameless (TR)\"],\"banner\":\"\",\"firstAired\":\"2017-09-14\",\"id\":334846,\"image\":\"/banners/series/334846/posters/62040119.jpg\",\"network\":\"FOX T\xFCrkiye\",\"overview\":\"Filiz is the eldest of the 6 siblings whose father, Fikri, is an alcoholic. All the responsibility of managing the house and raising her siblings falls on her shoulders. Baris falls in love with Filiz for who she is but can she fall in love with someone else when her life is not her own but her family's?\",\"poster\":\"/banners/series/334846/posters/62040119.jpg\",\"seriesName\":\"Our Story\",\"slug\":\"shameless-TR\",\"status\":\"Ended\"},{\"aliases\":[\"\u5FC3\u52D5\u4E0D\u53EF\u6065 \u9084\u5F88\u53EF\u611B\",\"Xin Dong Bu Ke Chi Hai Hen Ke Ai\",\"Shameless and Cute\",\"Countdown to Love\"],\"banner\":\"\",\"firstAired\":\"2022-04-19\",\"id\":419332,\"image\":\"/banners/v4/series/419332/posters/6264862a4cdb2.jpg\",\"network\":\"iQiyi\",\"overview\":\"A watch that is ticking in reverse and a 30-day cohabitation contract puts the domineering female CEO together with a pet mortician. Can the countdown on her life be changed?\",\"poster\":\"/banners/v4/series/419332/posters/6264862a4cdb2.jpg\",\"seriesName\":\"Don't Be Shy (2022)\",\"slug\":\"419332-\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/368855/banners/62096861.jpg\",\"firstAired\":\"2020-03-01\",\"id\":368855,\"image\":\"/banners/v4/series/368855/posters/60a93af8dafc5.jpg\",\"network\":\"ABC (AU)\",\"overview\":\"Inspired by true events; a woman escaping a cult, a refugee fleeing with his family, a father trapped in a dead-end job, and a bureaucrat on the verge of a national scandal find their lives intertwined in an immigration detention centre.\",\"poster\":\"/banners/v4/series/368855/posters/60a93af8dafc5.jpg\",\"seriesName\":\"Stateless\",\"slug\":\"stateless\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/301715-g2.jpg\",\"firstAired\":\"2004-10-06\",\"id\":301715,\"image\":\"/banners/posters/301715-1.jpg\",\"network\":\"C31\",\"overview\":\"The Shambles was an Australian television sketch comedy program shown on the community television across Australia. It was written by and stars Sean Lynch, Nathan Valvo and Anthony Ziella, known on the show as Lynchy, Valvo and Sos respectively.\",\"poster\":\"/banners/posters/301715-1.jpg\",\"seriesName\":\"The Shambles With Sos, Valvo \\u0026 Lynchy\",\"slug\":\"the-shambles-with-sos-valvo-and-lynchy\",\"status\":\"Ended\"},{\"aliases\":[\"Shambles\"],\"banner\":\"/banners/v4/series/420062/banners/633d234ab44ca.jpg\",\"firstAired\":\"2022-10-03\",\"id\":420062,\"image\":\"/banners/v4/series/420062/posters/633d229cf1c8a.jpg\",\"network\":\"Canal+\",\"overview\":\"When she is not on stage, Florence Foresti is a woman like the others. Worse. A public figure, she is also a mother in joint custody, a drifting bachelor, an artist in search of inspiration, and a chronic anguish. D\xC9SORDRES invites you to enter the daily life of Florence Foresti, every other week, when she does not have her daughter to support, during the creation of her show \\\"Epilogue\\\", in 2017. Like her dual life, where the routine rubs shoulders with glamour, laughter flirts with the serious, and parody invites itself into reality. A beautiful mess.\",\"poster\":\"/banners/v4/series/420062/posters/633d229cf1c8a.jpg\",\"seriesName\":\"D\xE9sordres\",\"slug\":\"desordres\",\"status\":\"Continuing\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:42 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 68c9162ccc29f8f3ca30be36950cea58.cloudfront.net (CloudFront) X-Amz-Cf-Id: - _EMd4fBsoi5MiBhCQJGlOtNRekyq6k_W3RlWu8btzh3jr-WOwYNlMQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/161511 response: body: string: '{"data":{"id":161511,"seriesId":"","seriesName":"Shameless (US)","aliases":["Shameless: Hall of Shame"],"season":"11","poster":"posters/161511-1.jpg","banner":"graphical/161511-g3.jpg","fanart":"fanart/original/161511-28.jpg","status":"Ended","firstAired":"2011-01-09","network":"Showtime","networkId":"212","runtime":"55","language":"en","genre":["Comedy","Drama"],"overview":"Chicagoan Frank Gallagher is the proud single dad of six smart, industrious, independent kids, who without him would be... frankly, perhaps better off. When Frank''s not at the bar spending what little money they have, he''s passed out on the floor. But the kids have found ways to grow up in spite of him. They may not be like any family you know, but they make no apologies for being exactly who they are.","lastUpdated":1709675824,"airsDayOfWeek":"Sunday","airsTime":"9:00 PM","rating":"TV-MA","imdbId":"tt1586680","zap2itId":"","added":"2010-05-06 13:26:59","addedBy":171,"siteRating":9,"siteRatingCount":4279,"slug":"shameless-us"}}' headers: Age: - '6719' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 12:41:43 GMT Last-Modified: - Tue, 05 Mar 2024 21:57:04 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 c6ccd07e1e50408d404ed1f9dd2506ce.cloudfront.net (CloudFront) X-Amz-Cf-Id: - CDs-JnWF3elE_ZI5hwwinz7L4BLBdmlBfPBq_ZClENPr3r0B8_CukA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/161511/episodes/query?airedSeason=8&airedEpisode=1&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":6227949,"airedSeason":8,"airedSeasonID":722666,"airedEpisodeNumber":1,"episodeName":"We Become What We... Frank!","firstAired":"2017-11-05","guestStars":[],"directors":["Iain B. MacDonald"],"writers":["John Wells"],"overview":"The Gallaghers find themselves with money to burn as Carl sells their inheritance from Monica. Fiona swears off random hookups to focus on her new apartment building. Lip deals with the sacrifice that comes with sobriety. Frank emerges out of a meth-induced haze to make amends for decades of depravity.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1668554355,"dvdDiscid":"","dvdSeason":8,"dvdEpisodeNumber":1,"dvdChapter":null,"absoluteNumber":85,"filename":"episodes/161511/6227949.jpg","seriesId":161511,"lastUpdatedBy":2302046,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt6347410","contentRating":"TV-MA","thumbAuthor":1,"thumbAdded":"2019-11-13 12:59:20","thumbWidth":"640","thumbHeight":"360","siteRating":7,"siteRatingCount":135,"isMovie":0}]}' headers: Age: - '35524' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 04:41:38 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 56d84f665e9029878cb3adcd83a21026.cloudfront.net (CloudFront) X-Amz-Cf-Id: - _Cg9DA7mj8P0S8rFgqthYkuHWeeyoNlPrz6k9u0doSJzs1MqtXC_zA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/6227949 response: body: string: '{"data":{"id":6227949,"airedSeason":8,"airedSeasonID":722666,"airedEpisodeNumber":1,"episodeName":"We Become What We... Frank!","firstAired":"2017-11-05","guestStars":[],"directors":["Iain B. MacDonald"],"writers":["John Wells"],"overview":"The Gallaghers find themselves with money to burn as Carl sells their inheritance from Monica. Fiona swears off random hookups to focus on her new apartment building. Lip deals with the sacrifice that comes with sobriety. Frank emerges out of a meth-induced haze to make amends for decades of depravity.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1668554355,"dvdDiscid":"","dvdSeason":8,"dvdEpisodeNumber":1,"dvdChapter":null,"absoluteNumber":85,"filename":"episodes/161511/6227949.jpg","seriesId":161511,"lastUpdatedBy":2302046,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt6347410","contentRating":"TV-MA","thumbAuthor":1,"thumbAdded":"2019-11-13 12:59:20","thumbWidth":"640","thumbHeight":"360","siteRating":7,"siteRatingCount":135,"isMovie":0}}' headers: Age: - '35524' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 04:41:38 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 e33c092c8429c324c2810046683bf2f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - DQzjiezwzy9pHTjWPPjaIHPRwXwp8hgTIuwl_thQRykWDQDf4nAR0A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_with_country_hoc_us.yaml0000644000175100001770000003076214636376416030467 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=house+of+cards response: body: string: "{\"data\":[{\"aliases\":[\"House of Cards (2013)\",\"\u7D19\u724C\u5C4B\"],\"banner\":\"/banners/graphical/262980-g2.jpg\",\"firstAired\":\"2013-02-01\",\"id\":262980,\"image\":\"/banners/posters/262980-3.jpg\",\"network\":\"Netflix\",\"overview\":\"Ruthless and cunning, Congressman Francis Underwood and his wife Claire stop at nothing to conquer everything. It penetrates the shadowy world of greed, sex and corruption in modern D.C.\",\"poster\":\"/banners/posters/262980-3.jpg\",\"seriesName\":\"House of Cards (US)\",\"slug\":\"house-of-cards-us\",\"status\":\"Ended\"},{\"aliases\":[\"The House of Cards Trilogy: House of Cards\",\"\u041A\u0430\u0440\u0442\u043E\u0447\u043D\u044B\u0439 \u0434\u043E\u043C\u0438\",\"Dom z kart\",\"Maktens korthus\",\"K\xE1rtyav\xE1r\",\"\u7EB8\u724C\u5C4B \u82F1\u7248\"],\"banner\":\"/banners/text/79861.jpg\",\"firstAired\":\"1990-11-18\",\"id\":79861,\"image\":\"/banners/posters/79861-3.jpg\",\"network\":\"BBC One\",\"overview\":\"The schemes of a ruthlessly ambitious British politician who will stop at nothing to get to the top.\",\"poster\":\"/banners/posters/79861-3.jpg\",\"seriesName\":\"House of Cards\",\"slug\":\"house-of-cards\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/text/288520.jpg\",\"firstAired\":\"2014-11-23\",\"id\":288520,\"image\":\"/banners/posters/288520-1.jpg\",\"network\":\"Discovery MAX\",\"poster\":\"/banners/posters/288520-1.jpg\",\"seriesName\":\"House of Cars\",\"slug\":\"house-of-cars\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-09-07\",\"id\":301510,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"BBC One\",\"overview\":\"Following the staff at Belfast's Charles Hurst dealership, the largest car lot in Europe, as they attempt to hit their sales targets\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"House of Cars (2015)\",\"slug\":\"house-of-cars-2015\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/334720/banners/62dfbfc02b5b6.jpg\",\"firstAired\":\"2017-09-10\",\"id\":334720,\"image\":\"/banners/series/334720/posters/5f447b3f88cb4.jpg\",\"network\":\"History\",\"overview\":\"Brian and Jay seek to add rare and collectible vehicles to their father's museum, the Volo Auto Museum.\",\"poster\":\"/banners/series/334720/posters/5f447b3f88cb4.jpg\",\"seriesName\":\"Volo, House of Cars\",\"slug\":\"volo-house-of-cars\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/334021-g.jpg\",\"firstAired\":\"2017-09-04\",\"id\":334021,\"image\":\"/banners/posters/334021-1.jpg\",\"network\":\"\",\"overview\":\"Nate Boyer runs a new type of garage, ``The Doghouse,'' a co-op business where mechanics and hobbyists use Nate's tools and space to modify and restore cars.\",\"poster\":\"/banners/posters/334021-1.jpg\",\"seriesName\":\"Gear Dogs\",\"slug\":\"gear-dogs\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:43 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 f13924e40949c7e0a5bd0c7e333695f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - gZVe-e7vclM6Om8PpXPRIGR2xI4rFArGxCJznYoKbqwgHd06wXq2Hg== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/262980 response: body: string: '{"data":{"id":262980,"seriesId":"","seriesName":"House of Cards (US)","aliases":["House of Cards (2013)"],"season":"6","poster":"posters/262980-3.jpg","banner":"graphical/262980-g9.jpg","fanart":"fanart/original/262980-11.jpg","status":"Ended","firstAired":"2013-02-01","network":"Netflix","networkId":"546","runtime":"52","language":"en","genre":["Crime","Drama"],"overview":"Ruthless and cunning, Congressman Francis Underwood and his wife Claire stop at nothing to conquer everything. It penetrates the shadowy world of greed, sex and corruption in modern D.C.","lastUpdated":1709572378,"airsDayOfWeek":"Friday","airsTime":"3:00 AM","rating":"TV-MA","imdbId":"tt1856010","zap2itId":"","added":"2012-10-04 16:08:09","addedBy":16553,"siteRating":8.9,"siteRatingCount":4719,"slug":"house-of-cards-us"}}' headers: Age: - '38140' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '802' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 03:58:03 GMT Last-Modified: - Mon, 04 Mar 2024 17:12:58 GMT Vary: - Accept-Language Via: - 1.1 daf51694fe4a175a7249d39be5e22e4c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - ELLEIuXbcV2gGL0wirDiB7xE9fF3P2R07U6_03Y0gXKxYdHUORB8KQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/262980/episodes/query?airedSeason=6&airedEpisode=1&page=1 response: body: string: '{"links":{"first":1,"last":1,"next":null,"prev":null},"data":[{"id":6553109,"airedSeason":6,"airedSeasonID":751740,"airedEpisodeNumber":1,"episodeName":"Chapter 66","firstAired":"2018-11-02","guestStars":["Ann Charles Sutton","Athena Karkanis","Beth Chamberlin","Chip Zien","Chris Agos","Cody Fern","Jeremy Holm","Linda Powell","Robert Newman"],"directors":["Alik Sakharov"],"writers":["Frank Pugliese","Melissa James Gibson"],"overview":"As the first woman president, Claire faces increased scrutiny and threats. Sibling power couple Annette and Bill Shepherd attempt to influence policy.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1707077988,"dvdDiscid":"","dvdSeason":6,"dvdEpisodeNumber":1,"dvdChapter":null,"absoluteNumber":66,"filename":"episodes/262980/6553109.jpg","seriesId":262980,"lastUpdatedBy":2302044,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt7538918","contentRating":"TV-MA","thumbAuthor":1,"thumbAdded":"2019-11-13 12:47:54","thumbWidth":"640","thumbHeight":"360","siteRating":0,"siteRatingCount":0,"isMovie":0}]}' headers: Age: - '19317' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 09:11:46 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - D6R9D3SCHewa1w7q342HGqAt-2p5SJ3CQ9Hp6K-CEoJ_UW2VVyhNbQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/6553109 response: body: string: '{"data":{"id":6553109,"airedSeason":6,"airedSeasonID":751740,"airedEpisodeNumber":1,"episodeName":"Chapter 66","firstAired":"2018-11-02","guestStars":["Ann Charles Sutton","Athena Karkanis","Beth Chamberlin","Chip Zien","Chris Agos","Cody Fern","Jeremy Holm","Linda Powell","Robert Newman"],"directors":["Alik Sakharov"],"writers":["Frank Pugliese","Melissa James Gibson"],"overview":"As the first woman president, Claire faces increased scrutiny and threats. Sibling power couple Annette and Bill Shepherd attempt to influence policy.","language":{"episodeName":"en","overview":"en"},"productionCode":"","showUrl":"","lastUpdated":1707077988,"dvdDiscid":"","dvdSeason":6,"dvdEpisodeNumber":1,"dvdChapter":null,"absoluteNumber":66,"filename":"episodes/262980/6553109.jpg","seriesId":262980,"lastUpdatedBy":2302044,"airsAfterSeason":null,"airsBeforeSeason":null,"airsBeforeEpisode":null,"imdbId":"tt7538918","contentRating":"TV-MA","thumbAuthor":1,"thumbAdded":"2019-11-13 12:47:54","thumbWidth":"640","thumbHeight":"360","siteRating":0,"siteRatingCount":0,"isMovie":0}}' headers: Age: - '19316' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 09:11:47 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 f355844b811a4a5ec94df0918f0fb80c.cloudfront.net (CloudFront) X-Amz-Cf-Id: - -SAc5wmQ0nmoHfkuwtiQ1Tn50iJsnT8QFvhF89am0Hpt5PMDioWycQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refine_episode_year.yaml0000644000175100001770000014212614636376416025327 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=dallas response: body: string: "{\"data\":[{\"aliases\":[],\"banner\":\"/banners/graphical/242521-g5.jpg\",\"firstAired\":\"2012-06-13\",\"id\":242521,\"image\":\"/banners/posters/242521-6.jpg\",\"network\":\"TNT (US)\",\"overview\":\"The next generation of the Ewing family - cousins John Ross Ewing and Christopher Ewing - clash over the family's oil business and vast fortune. Roll on drama, sabotage, secrets and betrayal. Everyone is back and then some!\",\"poster\":\"/banners/posters/242521-6.jpg\",\"seriesName\":\"Dallas (2012)\",\"slug\":\"dallas-2012\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/blank/77092.jpg\",\"firstAired\":\"1978-04-02\",\"id\":77092,\"image\":\"/banners/posters/77092-1.jpg\",\"network\":\"CBS\",\"overview\":\"The world's first mega-soap, and one of the most popular ever produced, Dallas had it all. Beautiful women, expensive cars, and men playing Monopoly with real buildings. Famous for one of the best cliffhangers in TV history, as the world asked \\\"Who shot J.R.?\\\" \\r\\nA slow-burner to begin with, Dallas hit its stride in the 2nd season, with long storylines and expert character development. Dallas ruled the airwaves in the 1980's.\",\"poster\":\"/banners/posters/77092-1.jpg\",\"seriesName\":\"Dallas\",\"slug\":\"dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/307475-g2.jpg\",\"firstAired\":\"2016-04-11\",\"id\":307475,\"image\":\"/banners/posters/307475-1.jpg\",\"network\":\"Bravo\",\"overview\":\"An exclusive look into the glamorous galas, scintillating scandals and enormous egos of a group of women as they navigate the social scene of Dallas\u2019 elite, all while juggling their husbands, boyfriends and families.\",\"poster\":\"/banners/posters/307475-1.jpg\",\"seriesName\":\"The Real Housewives of Dallas\",\"slug\":\"the-real-housewives-of-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/79395-g2.jpg\",\"firstAired\":\"2006-09-29\",\"id\":79395,\"image\":\"/banners/posters/79395-2.jpg\",\"network\":\"CMT\",\"overview\":\"It takes a lot more than pompoms and a winning smile to become a member of one of the nation's most iconic cheerleading teams in the world as CMT discovers in the two-hour special, Dallas Cowboys Cheerleaders: Making the Team. \\r\\n\\r\\nCMT cameras document the audition process as 1,000 women descend upon Texas Stadium for Dallas Cowboys Cheerleaders open auditions. CMT cameras will capture the entire journey of the 2005-2006 squad from auditions, through training camp, all the way to the first home game, with unprecedented access. \\r\\n\\r\\n\\\"Through the years, I have found that most people don't truly understand what it takes to be a cheerleader,\\\" says Dallas Cowboys Cheerleaders director Kelli McGonagill Finglass. \\\"This CMT special breaks through the mystique of the organization to reveal a group of women with extraordinary talent, sacrifice and diversity. I am proud for the nation to see how truly impressive the ladies are while always embracing a humble, hometown girl spirit.\\\" \\r\\n\\r\\nWith unlimited access, CMT's original special will take viewers every step of the way, as the field of candidates is whittled down from more than 1,000 to just 38. CMT will go behind the scenes throughout the three audition phases -- preliminaries, semifinals and finals. Then it's off with the 45 remaining candidates for a grueling three-month training camp to learn more than 50 song-and-dance routines for the upcoming football season. Ultimately 38 women will be selected for the 2005-2006 Dallas Cowboys Cheerleaders squad, and CMT will be there as they perform at the first home game against their rivals, the Washington Redskins.\",\"poster\":\"/banners/posters/79395-2.jpg\",\"seriesName\":\"Dallas Cowboys Cheerleaders: Making the Team\",\"slug\":\"dallas-cowboys-cheerleaders-making-the-team\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/319215/banners/65c3d61eb8977.jpg\",\"firstAired\":\"2016-11-02\",\"id\":319215,\"image\":\"/banners/posters/319215-1.jpg\",\"network\":\"Lifetime\",\"overview\":\"Follow the lives of Bri Barlup, Emily Fernandez, Asta Young, Amanda Loy, Tiffany Chance and Caylea Woodbury as they take on new adventures, friendships, fights and (of course!) all the drama. Everything is not always bigger in Texas!\",\"poster\":\"/banners/posters/319215-1.jpg\",\"seriesName\":\"Little Women: Dallas\",\"slug\":\"little-women-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/80341-g.jpg\",\"firstAired\":\"2006-01-05\",\"id\":80341,\"image\":\"/banners/posters/80341-1.jpg\",\"network\":\"A\\u0026E\",\"overview\":\"Dallas SWAT follows the action-packed, high-stress line of work and the elite team of law enforcement officers that make up the Dallas SWAT team. Every day the officers on this team must be at the top of their game, waiting for the next mission. Follow the officers to their homes and see what they do on their down time and how the rigors of their job affect their life out side of the team.\",\"poster\":\"/banners/posters/80341-1.jpg\",\"seriesName\":\"Dallas SWAT\",\"slug\":\"dallas-swat\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/347972/banners/664beea13b4a8.jpg\",\"firstAired\":\"2018-05-30\",\"id\":347972,\"image\":\"/banners/series/347972/posters/5f5a3424d3822.jpg\",\"network\":\"YouTube Premium\",\"overview\":\"DALLAS \\u0026 ROBO is an animated comedy from YouTube Originals about best friends and dysfunctional space truckers Dallas Moonshiner, a boozy ex-stock car racer (Kat Dennings) and Robo, a hulking A.I. with a sensitive side (John Cena.) As they haul their cargo all over the galaxy, they also run out on bar tabs, bicker with rival truckers,and tussle with outlaw cannibal bikers who terrorize the space lanes.\\r\\n\",\"poster\":\"/banners/series/347972/posters/5f5a3424d3822.jpg\",\"seriesName\":\"Dallas \\u0026 Robo\",\"slug\":\"dallas-and-robo\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/252679-g2.jpg\",\"firstAired\":\"2011-10-10\",\"id\":252679,\"image\":\"/banners/posters/252679-1.jpg\",\"network\":\"Logo\",\"overview\":\"Logo goes where everything is bigger, including the drama. The A-List: Dallas is dishing up a Texas-sized serving of larger-than-life personalities and their high-living lifestyles.\",\"poster\":\"/banners/posters/252679-1.jpg\",\"seriesName\":\"The A-List: Dallas\",\"slug\":\"the-a-list-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/274997/banners/662ae9ed9b5ad.jpg\",\"firstAired\":\"2013-12-05\",\"id\":274997,\"image\":\"/banners/posters/274997-2.jpg\",\"network\":\"Bravo\",\"overview\":\"Courtney Kerr, breakout star of Most Eligible Dallas, navigates the lively Dallas social scene, while building a brand new career in this docu-series. This season follows Courtney through an emotional rollercoaster ride as she juggles her search for the perfect southern gentleman and a fast moving fashion career filled with amazing opportunities.\",\"poster\":\"/banners/posters/274997-2.jpg\",\"seriesName\":\"Courtney Loves Dallas\",\"slug\":\"courtney-loves-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/203581-g.jpg\",\"firstAired\":\"2010-10-28\",\"id\":203581,\"image\":\"/banners/posters/203581-1.jpg\",\"network\":\"TLC\",\"overview\":\"Police Women of Dallas is the fourth installment of TLC's Police Women reality documentary series, which follows three police officers and a detective of the Dallas Police Department in Dallas, Texas.\",\"poster\":\"/banners/posters/203581-1.jpg\",\"seriesName\":\"Police Women of Dallas\",\"slug\":\"police-women-of-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/271452/banners/660a9545c89f8.jpg\",\"firstAired\":\"2013-07-23\",\"id\":271452,\"image\":\"/banners/posters/271452-3.jpg\",\"network\":\"Velocity\",\"overview\":\"Car enthusiasts battle one another at automobile auctions, then try to flip their purchases.\",\"poster\":\"/banners/posters/271452-3.jpg\",\"seriesName\":\"Dallas Car Sharks\",\"slug\":\"dallas-car-sharks\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5af2a3181aa19.jpg\",\"firstAired\":\"2018-04-30\",\"id\":345215,\"image\":\"/banners/posters/5b2348800f9f3.jpg\",\"network\":\"Food Network\",\"overview\":\"Dallas Cakes, follows talented, Dallas-based bakers as they conceive, create and deliver incredible, customized confections to their customers.\",\"poster\":\"/banners/posters/5b2348800f9f3.jpg\",\"seriesName\":\"Dallas Cakes\",\"slug\":\"345215-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/79949-g.jpg\",\"firstAired\":\"2007-03-09\",\"id\":79949,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Showtime\",\"overview\":\"This seven-part documentary series from the producers of \\\"Inside Deep Throat\\\" tracks the production of \\\"Debbie Does Dallas Again,\\\" a sequel to the legendary porn feature, as director Paul Thomas and star Stefani Morgan bring their erotic film to life.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Debbie Does Dallas Again\",\"slug\":\"debbie-does-dallas-again\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/250374-g2.jpg\",\"firstAired\":\"2011-08-15\",\"id\":250374,\"image\":\"/banners/posters/250374-1.jpg\",\"network\":\"Bravo\",\"overview\":\"They\u2019re young, they\u2019re hot, they\u2019re single \u2013- they\u2019re Dallas\u2019 Most Eligible. From beauty queens to pro-football players, this group of Texas socialites proves that everything\u2019s bigger in Texas \u2013- including the drama. Some are looking for true love while others have perfected the art of the one-night stand, and somehow their love lives have all crossed paths at one time or another. Dallas serves as the sexy backdrop for this jaw-dropping series that follows a group of successful friends living it up in the lone star state.\",\"poster\":\"/banners/posters/250374-1.jpg\",\"seriesName\":\"Most Eligible Dallas\",\"slug\":\"most-eligible-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2009-10-04\",\"id\":293986,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Style\",\"overview\":\"This show follows the wealthiest mothers and daughters from Dallas' most well-off neighborhoods. See how their relationships fair in the lives of the super-rich. Starring Pamela Martin Duarte and her daughter Hannah Martin Duarte.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallas Divas \\u0026 Daughters\",\"slug\":\"dallas-divas-and-daughters\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/series/357811/banners/5fc43ef5ac3a4.jpg\",\"firstAired\":\"2009-04-28\",\"id\":357811,\"image\":\"/banners/posters/5c331ccbd15fd.jpg\",\"network\":\"Investigation Discovery\",\"overview\":\"The Texas justice system has always been notorious for having tough judges, tough sentences and putting people away with shaky evidence. In 2007, the district attorney mandated that every Dallas County prisoner who has requested DNA testing can have their case reviewed with the chance to be heard again. This series follows their plight.\",\"poster\":\"/banners/posters/5c331ccbd15fd.jpg\",\"seriesName\":\"Dallas DNA\",\"slug\":\"dallas-dna\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2014-07-10\",\"id\":389255,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Dallasmed65's YouTube Let's Play Minecraft Survival Long Running Series\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Minecraft Lets Play Survival [Dallasmed65]\",\"slug\":\"minecraft-lets-play-survival-dallasmed65\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":347832,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Children's Medical Centre Dallas\",\"slug\":\"childrens-medical-centre-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2024-06-20\",\"id\":449142,\"image\":\"/banners/v4/series/449142/posters/664dfefce8775.jpg\",\"network\":\"Netflix\",\"overview\":\"The series follows the 2023-24 Dallas Cowboys Cheerleaders squad from start to finish \u2014 kicking off at auditions and training camp and continuing all the way through the NFL season.\",\"poster\":\"/banners/v4/series/449142/posters/664dfefce8775.jpg\",\"seriesName\":\"America\u2019s Sweethearts: Dallas Cowboys Cheerleaders\",\"slug\":\"americas-sweethearts-dallas-cowboys-cheerleaders\",\"status\":\"Upcoming\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2018-09-01\",\"id\":411514,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"In this Minecraft Let's Play Dallasmed65 challenges himself to be moving around all the time, like a real nomad.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Minecraft Nomadic Survival [Dallasmed65]\",\"slug\":\"minecraft-nomadic-survival-dallasmed65\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":269228,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"A glossy, cheeky and occasionally outrageous behind-the-scenes look at the new Dallas\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"John Borrowman's Dallas\",\"slug\":\"john-borrowmans-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2011-08-12\",\"id\":292986,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"HGTV\",\"overview\":\"Interior designer Donna Moss and her team give credence to the notion that everything's bigger in Texas as they undertake dramatic room makeovers in some of the most fabulous homes in the Dallas area.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Donna Decorates Dallas\",\"slug\":\"donna-decorates-dallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":450111,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"Netflix\",\"overview\":\"Tells the story of team owner Jerry Jones and his unique journey in transforming the Cowboys franchise, leading a historic set of players and coaches to three NFL titles in the 1990s and searing his imprint into the global sports business landscape. Along the way, Jones has become one of the most innovative and influential leaders in sports, with his team being the most valuable sports franchise in the world.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallas Cowboys\",\"slug\":\"dallas-cowboys-jerry-jones\",\"status\":\"Upcoming\"},{\"aliases\":[],\"banner\":\"/banners/graphical/320983-g.jpg\",\"firstAired\":\"2016-12-27\",\"id\":320983,\"image\":\"/banners/posters/320983-3.jpg\",\"network\":\"Netflix\",\"overview\":\"Lights. Cameron. Action. Cameron Dallas is more than just a social media star, he\u2019s an entrepreneur and one of the most influential personalities of his generation. In the Netflix original doc-series, Chasing Cameron, peel back the curtain of what happens within the social media and into the lives of Cameron and more of todays' MAGCON Boys as they meet and greet the world.\",\"poster\":\"/banners/posters/320983-3.jpg\",\"seriesName\":\"Chasing Cameron\",\"slug\":\"chasing-cameron\",\"status\":\"Ended\"},{\"aliases\":[\"All or Nothing: A Season with the Arizona Cardinals\",\"All or Nothing: A Season with the Los Angeles Rams\",\"All or Nothing: The Dallas Cowboys\",\"All or Nothing: The Philadelphia Eagles\",\"All or Nothing: The Carolina Panthers\"],\"banner\":\"/banners/graphical/313828-g.jpg\",\"firstAired\":\"2016-06-30\",\"id\":313828,\"image\":\"/banners/posters/313828-1.jpg\",\"network\":\"Prime Video\",\"overview\":\"For the first time in history, Amazon and NFL Films present an unprecedented inside look at the lives of players, coaches and owners of a franchise over the course of an entire NFL season. Witness the real life, behind the scenes journey on the field, off the field, and everything in between.\",\"poster\":\"/banners/posters/313828-1.jpg\",\"seriesName\":\"All or Nothing: American Football\",\"slug\":\"all-or-nothing\",\"status\":\"Ended\"},{\"aliases\":[\"Storage Wars: Dallas\",\"Quem D\xE1 Mais: Texas\"],\"banner\":\"/banners/v4/series/251596/banners/6606d65580916.jpg\",\"firstAired\":\"2011-12-06\",\"id\":251596,\"image\":\"/banners/posters/251596-1.jpg\",\"network\":\"A\\u0026E\",\"overview\":\"Storage Wars: Texas (Originally Storage Wars Dallas) is a reality television series on the A\\u0026E Network that premiered in 2011. It is a regionalized spin-off of the highly-popular series Storage Wars.\",\"poster\":\"/banners/posters/251596-1.jpg\",\"seriesName\":\"Storage Wars: Texas\",\"slug\":\"storage-wars-texas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/281815-g.jpg\",\"firstAired\":\"2013-10-04\",\"id\":281815,\"image\":\"/banners/posters/281815-2.jpg\",\"network\":\"YouTube\",\"poster\":\"/banners/posters/281815-2.jpg\",\"seriesName\":\"Fuga dalla morte\",\"slug\":\"281815-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/256421-g.jpg\",\"firstAired\":\"2011-11-15\",\"id\":256421,\"image\":\"/banners/posters/256421-2.jpg\",\"network\":\"Canale 5\",\"poster\":\"/banners/posters/256421-2.jpg\",\"seriesName\":\"Baciati dall'amore\",\"slug\":\"256421-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-03-16\",\"id\":369339,\"image\":\"/banners/posters/5d74c867a0e26.jpg\",\"network\":\"Rai 3\",\"overview\":\"Cronache dall'antichit\xE0 \xE8 un programma di approfondimento storico, in onda su Rai Storia. Come un inviato nel mondo antico, Cristoforo Gorno guida il telespettatore ora dopo ora nei luoghi dell'azione, non tralasciando il contesto in cui quell'avvenimento si \xE8 determinato.\",\"poster\":\"/banners/posters/5d74c867a0e26.jpg\",\"seriesName\":\"Cronache dall'antichit\xE0\",\"slug\":\"cronache-dallantichita\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-06-28\",\"id\":423796,\"image\":\"/banners/v4/series/423796/posters/642d2965abf41.jpg\",\"network\":\"Rai 2\",\"poster\":\"/banners/v4/series/423796/posters/642d2965abf41.jpg\",\"seriesName\":\"Dalla strada al palco\",\"slug\":\"dalla-strada-al-palco\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":320148,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Lawrence Dallaglio and Freddie Flintoff cycle from Olympia to London\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Flintoff and Dallaglio's Big Ride\",\"slug\":\"flintoff-and-dallaglios-big-ride\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2022-12-01\",\"id\":442597,\"image\":\"/banners/images/missing/series.jpg\",\"network\":null,\"overview\":\"Yara's murder has been in the public spotlight for 12 years.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Sulle tracce dell'assassino - il caso Yara\",\"slug\":\"sulle-tracce-dellassassino-il-caso-yara\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/258261-g.jpg\",\"firstAired\":\"\",\"id\":258261,\"image\":\"/banners/posters/258261-1.jpg\",\"network\":\"\",\"poster\":\"/banners/posters/258261-1.jpg\",\"seriesName\":\"Le frontiere dell'Astronomia\",\"slug\":\"258261-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":251784,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"ITV4\",\"overview\":\"Dallaglio's World Cup is presented by Lawrence Dallaglio and Craig Doyle. He takes a look at the fates of the world\u2019s leading rugby nations from the inaugural Rugby World Cup in 1987 through to France in 2007. He talks to Craig Doyle as he examines what it takes for a country to be able to succeed at the highest level\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Dallaglio's World Cup\",\"slug\":\"dallaglios-world-cup\",\"status\":\"Ended\"},{\"aliases\":[\"The Woman in the House\",\"TWITHATSFTGITW\",\"La mujer de la casa de enfrente\",\"The Woman in the House\",\"TWITHATSFTGITW\"],\"banner\":\"/banners/v4/series/390537/banners/64cfb58a5d142.jpg\",\"firstAired\":\"2022-01-28\",\"id\":390537,\"image\":\"/banners/v4/series/390537/posters/61d4781055645.jpg\",\"network\":\"Netflix\",\"overview\":\"Mixing wine, pills, casseroles and an overactive imagination, Anna obsesses over a hunky neighbor across the street and witnesses a murder. Or did she?\",\"poster\":\"/banners/v4/series/390537/posters/61d4781055645.jpg\",\"seriesName\":\"The Woman in the House Across the Street from the Girl in the Window\",\"slug\":\"the-woman-in-the-house\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/71301-g.jpg\",\"firstAired\":\"2002-09-07\",\"id\":71301,\"image\":\"/banners/posters/71301-3.jpg\",\"network\":\"Cartoon Network\",\"overview\":\"The characters of Looney Tunes are all babies and live with Granny.\",\"poster\":\"/banners/posters/71301-3.jpg\",\"seriesName\":\"Baby Looney Tunes\",\"slug\":\"baby-looney-tunes\",\"status\":\"Ended\"},{\"aliases\":[\"Bugs Bunny\",\"Daffy Duck\",\"Foghorn Leghorn\",\"Road Runner\",\"Speedy Gonzales\",\"Sylvester\",\"Tweety\",\"Yosemite Sam\",\"The Road Runner Show\"],\"banner\":\"/banners/graphical/72514-g.jpg\",\"firstAired\":\"1929-05-01\",\"id\":72514,\"image\":\"/banners/posters/72514-7.jpg\",\"network\":\"Cartoon Network\",\"overview\":\"Series of comedy short films from 1929 to 1969 during the golden age of American animation, alongside its sister series Merrie Melodies.\",\"poster\":\"/banners/posters/72514-7.jpg\",\"seriesName\":\"Looney Tunes\",\"slug\":\"looney-tunes\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/5d0be9d8c6998.jpg\",\"firstAired\":\"2019-06-14\",\"id\":364471,\"image\":\"/banners/v4/series/364471/posters/64dd54c59b220.jpg\",\"network\":\"Netflix\",\"overview\":\"New interviews and an up-to-date analysis of evidence shed light on the 1992 murders of three girls in Spain and their profound impact on the nation.\",\"poster\":\"/banners/v4/series/364471/posters/64dd54c59b220.jpg\",\"seriesName\":\"The Alc\xE0sser Murders\",\"slug\":\"the-alcasser-murders\",\"status\":\"Ended\"},{\"aliases\":[\"Car Masters Von Schrott zu Reichtum\",\"De cacharros a cochazos\",\"De chatarras a carrazos\"],\"banner\":\"/banners/v4/series/352862/banners/62835a11a52af.jpg\",\"firstAired\":\"2018-09-14\",\"id\":352862,\"image\":\"/banners/series/352862/posters/62114833.jpg\",\"network\":\"Netflix\",\"overview\":\"The colorful crew at Gotham Garage overhauls an eclectic collection of cars and trucks, trading up to a showstopper they can sell for big bucks.\",\"poster\":\"/banners/series/352862/posters/62114833.jpg\",\"seriesName\":\"Car Masters: Rust to Riches\",\"slug\":\"car-masters-rust-to-riches\",\"status\":\"Continuing\"},{\"aliases\":[\"Inu ni Nattara Suki na Hito ni Hirowareta\",\"If I Became a Dog I Would be Picked Up by the Person I Like\",\"My Life as Inukai-san's Dog\",\"Inu ni Nattara Suki na Hito ni Hirowareta\"],\"banner\":\"/banners/v4/series/418185/banners/623cc8a19c690.jpg\",\"firstAired\":\"2023-01-07\",\"id\":418185,\"image\":\"/banners/v4/series/418185/posters/6361307ac82cc.jpg\",\"network\":\"Tokyo MX\",\"overview\":\"The \\\"dog's viewpoint romantic comedy\\\" manga centers on a protagonist who suddenly wakes up one day to find out he has been turned into the pet dog of his cool and beautiful classmate Karen Inukai. While Karen is cool and expressionless at school, at home she dotes on her pet dog.\",\"poster\":\"/banners/v4/series/418185/posters/6361307ac82cc.jpg\",\"seriesName\":\"My Life as Inukai-san's Dog\",\"slug\":\"inu-ni-nattara-suki-na-hito-ni-hirowareta\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/422799/banners/632882da4c259.jpg\",\"firstAired\":\"2022-09-22\",\"id\":422799,\"image\":\"/banners/v4/series/422799/posters/62e443d2d0e18.jpg\",\"network\":\"Netflix\",\"overview\":\"A Thai youth soccer team and their assistant coach are trapped within Tham Luang Cave, prompting a global rescue effort. Inspired by true events.\",\"poster\":\"/banners/v4/series/422799/posters/62e443d2d0e18.jpg\",\"seriesName\":\"Thai Cave Rescue\",\"slug\":\"thai-cave-rescue\",\"status\":\"Ended\"},{\"aliases\":[\"Wabbit\",\"Bugs\"],\"banner\":\"/banners/v4/series/300683/banners/662af84c0bbff.jpg\",\"firstAired\":\"2015-09-21\",\"id\":300683,\"image\":\"/banners/posters/300683-1.jpg\",\"network\":\"Boomerang\",\"overview\":\"\\\"New Looney Tunes\\\" (formerly known as \\\"Wabbit. A Looney Tunes Production\\\"), is an animated series from Warner Bros. Animation. The series is a return to Looney Tunes' slapstick-comedy roots. Each episode contains four shorts starring Bugs Bunny as the main character.\",\"poster\":\"/banners/posters/300683-1.jpg\",\"seriesName\":\"New Looney Tunes\",\"slug\":\"wabbit\",\"status\":\"Ended\"},{\"aliases\":[\"Az Apoll\xF3-program\",\"\u767B\u6708\u4E4B\u65C5\"],\"banner\":\"/banners/graphical/7028-g.jpg\",\"firstAired\":\"1998-04-05\",\"id\":77831,\"image\":\"/banners/posters/77831-3.jpg\",\"network\":\"HBO\",\"overview\":\"The story of the United States' space program, from its beginnings in 1961 to the final moon mission in 1972.\",\"poster\":\"/banners/posters/77831-3.jpg\",\"seriesName\":\"From the Earth to the Moon\",\"slug\":\"from-the-earth-to-the-moon\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/433831/banners/6462258bafeeb.jpg\",\"firstAired\":\"2023-05-14\",\"id\":433831,\"image\":\"/banners/v4/series/433831/posters/646137b86a596.jpg\",\"network\":\"TLC\",\"overview\":\"\\\"Match Me Abroad\\\" follows three matchmakers helping seven Americans who are looking to find love.\",\"poster\":\"/banners/v4/series/433831/posters/646137b86a596.jpg\",\"seriesName\":\"Match Me Abroad\",\"slug\":\"match-me-abroad\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"/banners/graphical/84303-g2.jpg\",\"firstAired\":\"2006-05-03\",\"id\":84303,\"image\":\"/banners/posters/84303-1.jpg\",\"network\":\"Cuatro\",\"poster\":\"/banners/posters/84303-1.jpg\",\"seriesName\":\"Genesis: Inside The Killer's Mind\",\"slug\":\"genesis-inside-the-killers-mind\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/361081/banners/6298de91e85fd.jpg\",\"firstAired\":\"2019-03-14\",\"id\":361081,\"image\":\"/banners/posters/5c947b4b93a5e.jpg\",\"network\":\"National Geographic\",\"overview\":\"An aerial tour of Egypt.\",\"poster\":\"/banners/posters/5c947b4b93a5e.jpg\",\"seriesName\":\"Egypt from Above\",\"slug\":\"egypt-from-above\",\"status\":\"Ended\"},{\"aliases\":[\"Raumpatrouille\",\"Space Patrol\",\"Raumpatrouille Orion\",\"Commando Spatial\",\"Rymdpatrullen\"],\"banner\":\"/banners/graphical/80115-g4.jpg\",\"firstAired\":\"1966-09-17\",\"id\":80115,\"image\":\"/banners/posters/80115-3.jpg\",\"network\":\"Norddeutscher Rundfunk (NDR)\",\"overview\":\"What seems like a fairy tale today may be reality tomorrow. Here we have a fairy tale of the day after tomorrow. There are no more national states, only mankind and her colonies in outer space. We settle on stars far-off, the bottom of the sea is developed as living place. With what are today unimaginable speeds, the starships of tomorrow transverse the Milky Way. One of this starships is the Orion, a little piece in the giant security system which protects the Earth from outer space threats. Let's accompany the Orion and her crew at their patrols-service on the edge of infinity...\",\"poster\":\"/banners/posters/80115-3.jpg\",\"seriesName\":\"Space Patrol Orion\",\"slug\":\"raumpatrouille-orion\",\"status\":\"Ended\"},{\"aliases\":[\"\xC0 vol d'oiseau\"],\"banner\":\"/banners/text/254572.jpg\",\"firstAired\":\"2011-12-29\",\"id\":254572,\"image\":\"/banners/posters/254572-4.jpg\",\"network\":\"BBC One\",\"overview\":\"Bird's-eye view of the natural world, joining the journeys of snow geese, cranes, albatrosses, eagles and other birds across six continents. Beginning in North America, snow geese face their biggest predator, pelicans glide under San Francisco's Golden Gate Bridge, bald eagles in Alaska swoop among brown bears, and on the Great Plains, cowbirds dive under the feet of fighting bison. Narrated by David Tennant.\",\"poster\":\"/banners/posters/254572-4.jpg\",\"seriesName\":\"Earthflight\",\"slug\":\"earthflight\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/262312-g.jpg\",\"firstAired\":\"1983-12-21\",\"id\":262312,\"image\":\"/banners/posters/262312-1.jpg\",\"network\":\"Anime OAV\",\"overview\":\"In a near future, mankind has moved from a drained Earth to the Moon. Rebel acts of terrorism lead to conflicts with the Earth Federal Government. A mysterious entity called Dallos appears to restore hope.\",\"poster\":\"/banners/posters/262312-1.jpg\",\"seriesName\":\"Dallos\",\"slug\":\"dallos\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/81379-g.jpg\",\"firstAired\":\"2007-01-18\",\"id\":81379,\"image\":\"/banners/posters/81379-1.jpg\",\"network\":\"RTL Television\",\"overview\":\"Doctor Daniel Koch works at the forensic in Cologne and tries to solve the many crimes taking place there.\",\"poster\":\"/banners/posters/81379-1.jpg\",\"seriesName\":\"Post Mortem\",\"slug\":\"post-mortem\",\"status\":\"Ended\"},{\"aliases\":[\"In principio: Storie dalla Bibbia\",\"Tezuka Osamu no ky\u016Byaku seisho monogatari\",\"The Little Bible Fox\",\"Tezuka Osamu no Kyuuyaku Seisho Monogatari: In the Beginning\",\"Tezuka Osamu no Ky\u016Byaku Seisho Monogatari\",\"Osamu Tezuka's Old Testament Stories\",\"Tezuka Osamu's Tales from the Old Testament\",\"Osamu Tezukas Erz\xE4hlung vom Alten Testament\",\"Tezuka Osamu no Ky\u016Byaku Seisho Monogatari\",\"Historias de la Biblia\",\"Seisho Monogatari\",\"Las Historias de la Biblia de Osamu Tezuka\",\"Tezuka Osamu no Kyuuyaku Seisho Monogatari\",\"Seisho Monogatari\",\"\u624B\u585A\u6CBB\u866B\u306E\u65E7\u7D04\u8056\u66F8\u7269\u8A9E\",\"\u3066\u3065\u304B\u304A\u3055\u3080\u306E\u304D\u3085\u3046\u3084\u304F\u305B\u3044\u3057\u3087\u3082\u306E\u304C\u305F\u308A\",\"\u0422\u044D\u0434\u0437\u0443\u043A\u0430 \u041E\u0441\u0430\u043C\u0443 \u043D\u043E \u043A\u044E:\u044F\u043A\u0443 \u0441\u044D\u0439\u0441\u0451 \u043C\u043E\u043D\u043E\u0433\u0430\u0442\u0430\u0440\u0438\",\"\u0412\u0435\u0442\u0445\u043E\u0437\u0430\u0432\u0435\u0442\u043D\u044B\u0435 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u041E\u0441\u0430\u043C\u0443 \u0422\u044D\u0434\u0437\u0443\u043A\u0430\",\"Cerita Perjanjian Lama Osamu Tezuka\"],\"banner\":\"/banners/text/260116.jpg\",\"firstAired\":\"1997-04-01\",\"id\":260116,\"image\":\"/banners/v4/series/260116/posters/63f937ca91bae.jpg\",\"network\":\"WOWOW\",\"overview\":\"Based on the Old Testament in the Bible, up until the birth of Jesus Christ.\",\"poster\":\"/banners/v4/series/260116/posters/63f937ca91bae.jpg\",\"seriesName\":\"In the Beginning: The Bible Stories\",\"slug\":\"260116-show\",\"status\":\"Ended\"},{\"aliases\":[\"Studios DaviProdu\xE7\xF5es\",\"Diandra Santos Produ\xE7\xF5es\",\"Diandra Santos\"],\"banner\":\"/banners/v4/series/389473/banners/609dc349287e5.jpg\",\"firstAired\":\"2020-04-27\",\"id\":389473,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"YouTube\",\"overview\":\"Di's house tips and a program Presented by Diandra Santos. from Studios DaviProdu\xE7\xF5es and Diandra Santos Produ\xE7\xF5es\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Di's house tips\",\"slug\":\"dicas-de-casa-da-di\",\"status\":\"Continuing\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2005-11-06\",\"id\":327530,\"image\":\"/banners/posters/327530-1.jpg\",\"network\":\"Canale 5\",\"poster\":\"/banners/posters/327530-1.jpg\",\"seriesName\":\"Callas and Onassis\",\"slug\":\"327530-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2016-04-07\",\"id\":313788,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"SVT1\",\"overview\":\"About some of those who beg on our streets. Many have opinions and perhaps also prejudices about beggars. But how many of us have really talked to any of them?\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"We Are Called Beggars\",\"slug\":\"313788-show\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1968-04-01\",\"id\":407625,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Conversations with Lord Harewood and Maria Callas.\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"The Callas Conversations\",\"slug\":\"the-callas-conversations\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"\",\"id\":359698,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Pallas\",\"slug\":\"pallas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2015-03-16\",\"id\":296294,\"image\":\"/banners/posters/296294-1.jpg\",\"network\":\"\",\"overview\":\"Gafas e Pallaso are two characters of a reality that is not governed by the same parameters as ours. The contact with other forms of life resulting from the free intergalactic transit and the miscegenation that this entails, as well as the peculiar religious idols or hegemonic alcoholic beverages whose image is a football myth, not to mention rare parallel worlds or space-time flirtations , Demonstrate what we say. The protagonists are the best proof of this: a clown of race who comes from another planet with a magic band, and an individual whose sunglasses are part of him as his chest hairs. Within this cosmology we can consider various particular and picturesque species and individuals, but also a series of everyday elements that make up a whole with a characteristic and identifiable personality: a monopolistic beer whose corporate image is the legendary porter Oliver Kahn, Excellence, a somewhat special religion.\",\"poster\":\"/banners/posters/296294-1.jpg\",\"seriesName\":\"Gafas e Pallaso\",\"slug\":\"296294-show\",\"status\":\"Ended\"},{\"aliases\":[\"Liar (2020)\",\"Mentiras - Bugie\"],\"banner\":\"/banners/series/378377/banners/5eb0542761590.jpg\",\"firstAired\":\"2020-04-19\",\"id\":378377,\"image\":\"/banners/series/378377/posters/600d66a662b83.jpg\",\"network\":\"atresplayer\",\"overview\":\"A literature teacher suspects that a well-respected surgeon has drugged her and begins a legal case against him.\",\"poster\":\"/banners/series/378377/posters/600d66a662b83.jpg\",\"seriesName\":\"Lies and Deceit\",\"slug\":\"mentiras-2020\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/282590-g.jpg\",\"firstAired\":\"2014-06-20\",\"id\":282590,\"image\":\"/banners/posters/282590-1.jpg\",\"network\":\"Animal Planet\",\"overview\":\"A team of specialists who spend each episode, designing and executing unique and stunning pools that seem to be formed by nature.\",\"poster\":\"/banners/posters/282590-1.jpg\",\"seriesName\":\"The Pool Master\",\"slug\":\"the-pool-master\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/v4/series/278401/banners/6631643fd2822.jpg\",\"firstAired\":\"2014-02-05\",\"id\":278401,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Here's your choice: would you rather get electrocuted by an electric eel or a Taser? Or your house is on fire, what's the best way to escape: through the window or down the stairs? Or the engine of your aircraft fails, what would you rather be in: a helicopter or a plane? \\r\\n\\r\\nDeadly Dilemmas gives you a load of hypothetical situations in every episode, and all you have to is decide which is the more survivable. Then we'll tell you the science behind why! \\r\\n\\r\\nThink of it as a kind of dangerous version of Play Your Cards Right, where the decision between higher or lower will make the difference between life or death!\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Deadly Dilemmas\",\"slug\":\"deadly-dilemmas\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"/banners/graphical/159161-g.jpg\",\"firstAired\":\"2004-09-06\",\"id\":159161,\"image\":\"/banners/posters/159161-1.jpg\",\"network\":\"\",\"overview\":\"Narrated by Academy Award-winner Ben Kingsley, this series objectively documents Judaism, Islam, Hinduism, Buddhism, Catholicism, and Protestantism worldwide with interviews from experts. Explore issues that probe the very core of our existence and gain new understanding about humanity. Travel to exotic locations and observe how religions have shaped cultures, changed history, brought us closer together and thrust us into war.\",\"poster\":\"/banners/posters/159161-1.jpg\",\"seriesName\":\"Religions of the World\",\"slug\":\"religions-of-the-world\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"2013-01-18\",\"id\":398405,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"overview\":\"Tales of people so desperate that they commit unspeakable acts of murder and violence\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Desperate Measures\",\"slug\":\"desperate-measures\",\"status\":\"Ended\"},{\"aliases\":[],\"banner\":\"\",\"firstAired\":\"1998-01-13\",\"id\":400138,\"image\":\"/banners/images/missing/series.jpg\",\"network\":\"\",\"poster\":\"/banners/images/missing/series.jpg\",\"seriesName\":\"Animated World Faiths\",\"slug\":\"animated-world-faiths\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:38 GMT Transfer-Encoding: - chunked Vary: - Accept-Language Via: - 1.1 5a9df1bcd5f48109e94a8e34d807b686.cloudfront.net (CloudFront) X-Amz-Cf-Id: - vyz0evP2CHl7-7Ldv3q3LIBjQiWrC7TQNzgqpIjOVqBaEyp-lJq1mw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/242521 response: body: string: '{"data":{"id":242521,"seriesId":"","seriesName":"Dallas (2012)","aliases":[],"season":"3","poster":"posters/242521-6.jpg","banner":"graphical/242521-g5.jpg","fanart":"fanart/original/242521-1.jpg","status":"Ended","firstAired":"2012-06-13","network":"TNT (US)","networkId":"273","runtime":"45","language":"en","genre":["Drama","Romance"],"overview":"The next generation of the Ewing family - cousins John Ross Ewing and Christopher Ewing - clash over the family''s oil business and vast fortune. Roll on drama, sabotage, secrets and betrayal. Everyone is back and then some!","lastUpdated":1708963506,"airsDayOfWeek":"","airsTime":"","rating":"TV-14","imdbId":"tt1723760","zap2itId":"","added":"2011-03-22 04:34:14","addedBy":38654,"siteRating":8,"siteRatingCount":562,"slug":"dallas-2012"}}' headers: Age: - '44903' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '790' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 02:05:16 GMT Last-Modified: - Mon, 26 Feb 2024 16:05:06 GMT Vary: - Accept-Language Via: - 1.1 191181f299c93f856cc1cdad79c1bb76.cloudfront.net (CloudFront) X-Amz-Cf-Id: - WQ9QGDQ_xa4nJMVJ7KLOe5qKDBcdEYeJN-imWDASS-PgZdBiHSxOCA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/series/242521/episodes/query?airedSeason=1&airedEpisode=3&page=1 response: body: string: "{\"links\":{\"first\":1,\"last\":1,\"next\":null,\"prev\":null},\"data\":[{\"id\":4199511,\"airedSeason\":1,\"airedSeasonID\":477792,\"airedEpisodeNumber\":3,\"episodeName\":\"The Price You Pay\",\"firstAired\":\"2012-06-20\",\"guestStars\":[],\"directors\":[\"Michael M. Robin\"],\"writers\":[\"Bruce Rasmussen\"],\"overview\":\"Just as John Ross sets out to claim his birthright and make his father proud, J.R. decides to move back to Southfork, much to Ann\u2019s dismay. Bitter Ewing family enemy Cliff Barnes returns and tries to reconnect with his nephew, Christopher. A startling family announcement offers an opportunity to heal old wounds.\",\"language\":{\"episodeName\":\"en\",\"overview\":\"en\"},\"productionCode\":\"\",\"showUrl\":\"\",\"lastUpdated\":1573641655,\"dvdDiscid\":\"\",\"dvdSeason\":1,\"dvdEpisodeNumber\":3,\"dvdChapter\":null,\"absoluteNumber\":3,\"filename\":\"episodes/242521/4199511.jpg\",\"seriesId\":242521,\"lastUpdatedBy\":1,\"airsAfterSeason\":null,\"airsBeforeSeason\":null,\"airsBeforeEpisode\":null,\"imdbId\":\"tt2205526\",\"contentRating\":\"TV-14\",\"thumbAuthor\":1,\"thumbAdded\":\"2019-11-13 10:40:55\",\"thumbWidth\":\"640\",\"thumbHeight\":\"360\",\"siteRating\":7.2,\"siteRatingCount\":484,\"isMovie\":0}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:39 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 68c9162ccc29f8f3ca30be36950cea58.cloudfront.net (CloudFront) X-Amz-Cf-Id: - dytdl6Z2deWwTr6p38NxxTepSWufudfE9djf0NX1j0BtOV_Qg9iFeA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTQsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDE0fQ.dJAo_FBEcSnkDtgNp-g_mZjEyYoW1MHhgAb-IWuwL3OIhiI3Ga0QAn0MbhX6o88BtmVsoHsWoRD1dFYGeNyO4AK8JUOYV4zwUBpZzxr2dBCd02cEDvbOnA9yLaYmhpUAyN86p3hWKLKlLTBrctBQD9obkMY8pIFoeHNS0SfkQD6PMnjsHdqtpjab0IoH2cFpgm45HhAq78XhEOPBAX45WjlsP-wXrF4H49nzAL_bFButDyS_cCYdYcqaTv4J65OyDJ0VQpA4aUp4T-_6WjwnZ2d0WtcPSaXGX0cDiGFSQMptR7atojVlRJD30ZaZU_wrAfpWGcaoip22xeEx_D0DJg Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/episodes/4199511 response: body: string: "{\"data\":{\"id\":4199511,\"airedSeason\":1,\"airedSeasonID\":477792,\"airedEpisodeNumber\":3,\"episodeName\":\"The Price You Pay\",\"firstAired\":\"2012-06-20\",\"guestStars\":[],\"directors\":[\"Michael M. Robin\"],\"writers\":[\"Bruce Rasmussen\"],\"overview\":\"Just as John Ross sets out to claim his birthright and make his father proud, J.R. decides to move back to Southfork, much to Ann\u2019s dismay. Bitter Ewing family enemy Cliff Barnes returns and tries to reconnect with his nephew, Christopher. A startling family announcement offers an opportunity to heal old wounds.\",\"language\":{\"episodeName\":\"en\",\"overview\":\"en\"},\"productionCode\":\"\",\"showUrl\":\"\",\"lastUpdated\":1573641655,\"dvdDiscid\":\"\",\"dvdSeason\":1,\"dvdEpisodeNumber\":3,\"dvdChapter\":null,\"absoluteNumber\":3,\"filename\":\"episodes/242521/4199511.jpg\",\"seriesId\":242521,\"lastUpdatedBy\":1,\"airsAfterSeason\":null,\"airsBeforeSeason\":null,\"airsBeforeEpisode\":null,\"imdbId\":\"tt2205526\",\"contentRating\":\"TV-14\",\"thumbAuthor\":1,\"thumbAdded\":\"2019-11-13 10:40:55\",\"thumbWidth\":\"640\",\"thumbHeight\":\"360\",\"siteRating\":7.2,\"siteRatingCount\":484,\"isMovie\":0}}" headers: Age: - '15630' Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Encoding: - gzip Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 10:13:09 GMT Last-Modified: - Thu, 01 Jan 1970 00:00:00 GMT Transfer-Encoding: - chunked Vary: - Accept-Encoding,Accept-Language Via: - 1.1 735dd7fa3c296627cd805d04e3e3a3e8.cloudfront.net (CloudFront) X-Amz-Cf-Id: - ODJ0UA0pzXZipSgRUqjql1J4DInSSRDiluGvKBVwtPoT1GnM77nXtw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Hit from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_refresh_token.yaml0000644000175100001770000000677414636376416024175 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDgsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA4fQ.C9wPve2OE4lyWYcTW35JAaShE3DSIbOQh-f-WxGT8gmN6vrV7rm4-N9VDOeIgE0Vew0c-w2tWtEc6C47v-JSjyM3m3GzIYvcDOAIF599W2tP94hVCRuT8wiNa4wkdBCxYM9P0bMP-Tgkz-r4HFhV86YKui4n5l6KZ2eQrDfnxoXCBslSXXhiXsWLwf8eAGMQ2Oyo8SXAS59dHr2zIO4dCycSc0OI-DTBT9UbE4Z9jXcsGQ_IQPNi3V9jSHWNqMknE2FObDCT1IYN72QAoRVgzDWAyDLdQ-yVuRVoAACpP7zM1M4pHODj_223fh1g2mQTIbv-qczNvYzQNLITqcc4Cw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:28 GMT Vary: - Accept-Language Via: - 1.1 2982304f906b538b26d5fd128f6030ec.cloudfront.net (CloudFront) X-Amz-Cf-Id: - XIE0xzr0hlYRTJ4rasUkPk1SG067V72mhpDxCJ9PBcF9teKyBYc3cw== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDgsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA4fQ.C9wPve2OE4lyWYcTW35JAaShE3DSIbOQh-f-WxGT8gmN6vrV7rm4-N9VDOeIgE0Vew0c-w2tWtEc6C47v-JSjyM3m3GzIYvcDOAIF599W2tP94hVCRuT8wiNa4wkdBCxYM9P0bMP-Tgkz-r4HFhV86YKui4n5l6KZ2eQrDfnxoXCBslSXXhiXsWLwf8eAGMQ2Oyo8SXAS59dHr2zIO4dCycSc0OI-DTBT9UbE4Z9jXcsGQ_IQPNi3V9jSHWNqMknE2FObDCT1IYN72QAoRVgzDWAyDLdQ-yVuRVoAACpP7zM1M4pHODj_223fh1g2mQTIbv-qczNvYzQNLITqcc4Cw Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/refresh_token response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDksImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA4fQ.VuTLoHP3TOemtdH7s-6b5v3qbaMtw1u7kSXH0Jw34ww54_m9r7UsEfcJQ3Lq4Y5V_u-NWd0hFWeiAc3Wicldzi0ddj3GDvWXKvDVkd8uWR4UXi3AtnXiiOcAl3yMKE6rJphZwdUMitXIqoPI5l6hxjvbeOFrQoCnD5ZAAwKhMzmzIcnFWWsKes_zU0jVtfHXo8W8iPklKZxIJ9a1-jtbNVt9iJFnU6Nuw-aYfZQN-lC_Eb53R5XqR_xgrWj2YvWYpvwuLbemtDnNrbCcK5_5bMjIudYLn0QvVB-ptP8pYDAkufWfrF3O_uk7ulG2jJ37kBWuvPM-pMnbLfjuJ_zbKg"}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:29 GMT Vary: - Accept-Language Via: - 1.1 d8d835cce198f21656f532aa7cb25fbe.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 39dlhM1guWIiSYFBL8aWS7FR-qqaxwVRSdGYXw5F5LZw8LukcbLryQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_search_series.yaml0000644000175100001770000000723414636376416024146 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDksImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA5fQ.rmGlRQEnzMycKnlMsr3EP-qtH4p94SphmDzvUCncPjzq8-f0ZhbcIs6TPMHS9mlFgxr0soBZaH7DAjkuP9B4eeTW3Jm4vRpJ8PPEyFxS-ZeO_delVccATUVD1gOf72MCYucZljOnx8GuGqyoYpVeNC_vVymjVmtr1urcHbw95NV8l1r_4eqeEEl1bnkkceELPUGEdm6N4OcPz8qF4mSnRwLEmcq59UXuvZjtOw-H7MklXObhwAGrLMybSu-E-J7EmH1tBAWT64GfvqY0d81rzgQPSSjqa88-eJ2NQSIsMrENSrQQRqgOgEMwxr7bNJTRqlQgbOiZCNZF7CN22q52sQ"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:29 GMT Vary: - Accept-Language Via: - 1.1 07b26b5e851ab857ec87e6df0aa7882e.cloudfront.net (CloudFront) X-Amz-Cf-Id: - cdS0cHSfD6Ok4SseoOo0rZxzwblE9uXrVaCL6YdXWBOTVvF5xZgHsA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDksImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA5fQ.rmGlRQEnzMycKnlMsr3EP-qtH4p94SphmDzvUCncPjzq8-f0ZhbcIs6TPMHS9mlFgxr0soBZaH7DAjkuP9B4eeTW3Jm4vRpJ8PPEyFxS-ZeO_delVccATUVD1gOf72MCYucZljOnx8GuGqyoYpVeNC_vVymjVmtr1urcHbw95NV8l1r_4eqeEEl1bnkkceELPUGEdm6N4OcPz8qF4mSnRwLEmcq59UXuvZjtOw-H7MklXObhwAGrLMybSu-E-J7EmH1tBAWT64GfvqY0d81rzgQPSSjqa88-eJ2NQSIsMrENSrQQRqgOgEMwxr7bNJTRqlQgbOiZCNZF7CN22q52sQ Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=The+Big+Bang+Theory response: body: string: "{\"data\":[{\"aliases\":[\"La teoria del Big Bang\",\"\u56E7\u7537\u5927\u7206\u70B8\"],\"banner\":\"/banners/graphical/80379-g23.jpg\",\"firstAired\":\"2007-09-24\",\"id\":80379,\"image\":\"/banners/posters/80379-18.jpg\",\"network\":\"CBS\",\"overview\":\"A woman who moves into an apartment across the hall from two brilliant but socially awkward physicists shows them how little they know about life outside of the laboratory.\",\"poster\":\"/banners/posters/80379-18.jpg\",\"seriesName\":\"The Big Bang Theory\",\"slug\":\"the-big-bang-theory\",\"status\":\"Ended\"}]}" headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '512' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:30 GMT Vary: - Accept-Language Via: - 1.1 1a8de953aa4aaf678d8f6dfdeeea9a46.cloudfront.net (CloudFront) X-Amz-Cf-Id: - d9ZyS8HAy5Sgfq5NqxABmjF8mpYFFQe6KsxNI-zJ5DelFRJ1Ya8MRA== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_search_series_wrong_name.yaml0000644000175100001770000000614414636376416026361 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTAsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEwfQ.lb_8mIl4INbWn7usAK-gdS6AKk7OvUba29NpsvniDPwJb_dcqQQM94q63xSTzTiQlFUj_577aytUfSjxgy41CUQHzhLOkODY3xfdhU6Koi9VBjI9So_eOjmvUASX9Y-AjOUgasJ54SNnOZqQdXnDqpmBBlgeSviiXP0V579Qc1eoQQNZZ4CjJra4alQVULoSFrJEGTBlDGYJtIPD7Mb-qEppUaCk0f0ZSWxQxo_58fqcWL-dJk-iufUcp_5uvKiRwok0jsh3ciR27y2DIVnOjXYUUfTdJGwSI_NhafHGW-aEuObu6B-NeQwtHLKDnrtPhpaTW9z9r7_L56Z30u0i0w"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:30 GMT Vary: - Accept-Language Via: - 1.1 e78b88048cb2f0beb893089a9fa30352.cloudfront.net (CloudFront) X-Amz-Cf-Id: - Nsd6s26_a0sb2zhqrn4YrrugC2NmgOpj0HEnEsynIWBqmKFusfHxew== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Authorization: - Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMTAsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDEwfQ.lb_8mIl4INbWn7usAK-gdS6AKk7OvUba29NpsvniDPwJb_dcqQQM94q63xSTzTiQlFUj_577aytUfSjxgy41CUQHzhLOkODY3xfdhU6Koi9VBjI9So_eOjmvUASX9Y-AjOUgasJ54SNnOZqQdXnDqpmBBlgeSviiXP0V579Qc1eoQQNZZ4CjJra4alQVULoSFrJEGTBlDGYJtIPD7Mb-qEppUaCk0f0ZSWxQxo_58fqcWL-dJk-iufUcp_5uvKiRwok0jsh3ciR27y2DIVnOjXYUUfTdJGwSI_NhafHGW-aEuObu6B-NeQwtHLKDnrtPhpaTW9z9r7_L56Z30u0i0w Connection: - keep-alive Content-Type: - application/json User-Agent: - Subliminal/2.1 method: GET uri: https://api.thetvdb.com/search/series?name=The+Bing+Bag+Theory response: body: string: '{"Error":"Resource not found"}' headers: Cache-Control: - private, max-age=86400 Connection: - keep-alive Content-Length: - '30' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:31 GMT Vary: - Accept-Language Via: - 1.1 a8c46277c4df8eb178aecf68b391d6de.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 4nW5Ri_zHdUwl60Dy6f_yoEB-H3qGbjTOsRfWohWOqLUpc9N_cV90A== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Error from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 404 message: Not Found version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvdb/test_token_needs_refresh.yaml0000644000175100001770000000304714636376416025341 0ustar00runnerdockerinteractions: - request: body: '{"apikey": "5EC930FB90DA1ADA", "username": null, "password": null}' headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br, zstd Accept-Language: - en Connection: - keep-alive Content-Length: - '66' Content-Type: - application/json User-Agent: - Subliminal/2.1 method: POST uri: https://api.thetvdb.com/login response: body: string: '{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTY5OTMyMDcsImlkIjoic3VibGltaW5hbCIsIm9yaWdfaWF0IjoxNzE2Mzg4NDA3fQ.HKr4eY9wkRLS-OTtKmP02bVVMfm01DcoW1zLjGehgVHLPFnGBS8jxkTov9UwCgv9FAHtNfWlhWtXyeM1t0yaEPvMan87ASvGQo8ffeMr_r6rOv45yVn0VAznjcBOvI8HmdHcF_gXXJKGK5asCfRMXkb09xZCCdx19Xu--F885pBXfn79LWg3dJv5ykTLTFfYX_yy3MWTdn4qlNYR3QoZ4UGhsuPE-Bdh1IvQJa0x4LM_vQ61nsM1DdtNHoD7nyfUxDQ8uNwf8B-Tt6nK2oEecQVXkUEFPbKglr788A47KF3UzOvjF8AJFGYlVGLgGAiOMzcChEa9b-0JD8eU6WViQw"}' headers: Connection: - keep-alive Content-Length: - '470' Content-Type: - application/json; charset=utf-8 Date: - Wed, 22 May 2024 14:33:27 GMT Vary: - Accept-Language Via: - 1.1 e33c092c8429c324c2810046683bf2f2.cloudfront.net (CloudFront) X-Amz-Cf-Id: - 2IalgiWaigNn0UG2tjEPa8VrkOYCnWC-MPkIt0syF1bVwziOqEY9GQ== X-Amz-Cf-Pop: - LIS50-P1 X-Cache: - Miss from cloudfront X-Powered-By: - Thundar! X-Thetvdb-Api-Version: - 3.0.0 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6901813 subliminal-2.2.0/tests/cassettes/tvsubtitles/0000755000175100001770000000000014636376432021025 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_download_subtitle.yaml0000644000175100001770000041317014636376416026502 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang+Theory headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '22' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.008 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:45:58 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:45:58 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-7.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 7\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
7x24The Status Quo Combustion6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x23The Gorilla Dissolution6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x22The Proton Transmogrification6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x21The Anything Can Happen Recurrence6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x20The Relationship Diremption6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x19The Indecision Amalgamation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x18The Mommy Observation7\"en\" \"es\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x17The Friendship Turbulence7\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x16The Table Polarization6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x15The Locomotive Manipulation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x14The Convention Conundrum6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x13The Occupation Recalibration6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x12The Hesitation Ramification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x11The Cooper Extraction8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x10The Discovery Dissipation8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x09The Thanksgiving Decoupling8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x08The Itchy Brain Simulation9\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x07The Proton Displacement7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x06The Romance Resonance6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x05The Workplace Proximity6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x04The Raiders Minimization8\"en\" \"\" \"fr\" \"\" \"ru\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x03The Scavenger Vortex6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x02The Deception Verification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"ko\" \"ro\" 
7x01The Hofstadter Insufficiency7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
All episodes12\"en\" \"es\" \"fr\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"ko\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:45:58 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:45:58 GMT - visited1=1; expires=Tue, 14-May-2024 00:45:58 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-46051.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for The Big Bang Theory episode 7x05 - \"The Big Bang Theory\"\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"The\n \

The Big Bang Theory 7x05

\n

 The Workplace Proximity (Season 7 Episode 5)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
53/122
\n
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n

\"uploaded\"\n\t18.10.13 09:19:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t28861

\n\t\n
\n\t\n
\n
34/29
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL)
\n

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t26.09.14 15:07:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1153

\n\t\n
\n\t\n
French subtitles
\n
\n
46/76
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:34:23

\n\t

\"author\"\n\t karelknight

\n\t

\"downloaded\"\n\t27503

\n\t\n
\n\t\n
\n
33/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.afg-lol-evolve)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tafg-lol-evolve

\n

\"uploaded\"\n\t19.10.13 18:18:02

\n\t

\"author\"\n\t Addic7ed-GBT

\n\t

\"downloaded\"\n\t4852

\n\t\n
\n\t\n
Italian subtitles
\n
\n
39/37
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t14.03.14 15:20:30

\n\t

\"author\"\n\t italiansubs

\n\t

\"downloaded\"\n\t436

\n\t\n
\n\t\n
Hungarian subtitles
\n
\n
45/33
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:53:12

\n\t

\"author\"\n\t krisztoo

\n\t

\"downloaded\"\n\t1100

\n\t\n
\n\t\n
Portuguese subtitles
\n
\n
32/35
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t19.10.13 17:17:18

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t857

\n\t\n
\n\t\n
\n
21/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n

\"uploaded\"\n\t21.10.13 22:20:28

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1035

\n\t\n
\n\t\n
\n
27/22
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL.DD5.1.H.264)
\n \

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\tDD5.1.H.264

\n \

\"uploaded\"\n\t24.05.14 13:44:32

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t188

\n\t\n
\n\t\n
Romanian subtitles
\n
\n
43/32
\n \
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n \

\"uploaded\"\n\t22.10.13 07:35:04

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t376

\n\t\n
\n\t\n
Back to The Big Bang Theory
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.002 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:45:58 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:45:58 GMT - visited1=1; expires=Tue, 14-May-2024 00:45:58 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/download-249499.html response: body: string: !!binary | PGNlbnRlcj48YnIgLz48YnIgLz48YnIgLz48ZGl2IGlkPSJsaW5rUGxhY2UiPjxiPldhaXQ6IDxz cGFuIGlkPSJ0aW1lTnVtZXIiPjA8L3NwYW4+IHNlYyAuLi48L2I+PC9kaXY+PC9jZW50ZXI+Cgo8 c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIKICAgICAgICAgICAgICAgbGFuZ3VhZ2U9Ikph dmFTY3JpcHQiPgoKdmFyIHRpbWVyRklHID0gMTsgLy8g9+jx6+7sIPPq4Of74uDl8vH/IO3l7uH1 7uTo7PvpIO/l8Oju5CDn4OTl8Obq6CDiIPHl6vPt5OD1IC4uLgogICAgICAgZG9jdW1lbnQuYWxs LnRpbWVOdW1lci5pbm5lckhUTUwgPSB0aW1lckZJRzsgLy8g7eD34OvuIO7y8ffl8uAg7/Du7+jx ++Lg5fLx/yDg4vLu7ODy6Pfl8eroIC4uLgoKdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoInN0YXJ0 VGltZXIoKSIsMTAwMCk7CgogICAgICAgIGZ1bmN0aW9uIHN0YXJ0VGltZXIoKQp7CiAgICAgICAg aWYodGltZXJGSUcgIT09IDEpIHsKICAgICAgICAgICB0aW1lckZJRy0tOwogICAgICAgICAgIGRv Y3VtZW50LmFsbC50aW1lTnVtZXIuaW5uZXJIVE1MID0gdGltZXJGSUc7CiAgICAgICAgfSBlbHNl IHsKICAgICAgICAJICB2YXIgczE9ICdmaWwnOwogICAgICAgIAkgIGRvY3VtZW50LmFsbC50aW1l TnVtZXIuaW5uZXJIVE1MID0gJ2Rvd25sb2FkIHN0YXJ0aW5nJzsKICAgICAgICAgICBjbGVhcklu dGVydmFsKHRpbWVyKTsKICAgICAgICAgICB2YXIgczI9ICdlcy9UJzsKICAgICAgICAgICB2YXIg czM9ICdoZSc7CiAgICAgICAgICAgdmFyIHM0PSAnIEJpZyBCYW5nIFRoZW9yeV83eDA1X0hEVFYu TE9MLmVuLnppcCc7CiAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24gPSBzMStzMitzMytzNDsK ICAgICAgICB9Cn0KPC9zY3JpcHQ+Cg== headers: Connection: - Keep-Alive Content-Length: - '877' Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:45:58 GMT Keep-Alive: - timeout=5, max=97 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:45:58 GMT - visited1=1; expires=Tue, 14-May-2024 00:45:58 GMT Strict-Transport-Security: - max-age=31536000; preload X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/files/The%20Big%20Bang%20Theory_7x05_HDTV.LOL.en.zip response: body: string: !!binary | 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 AA== headers: Accept-Ranges: - bytes Connection: - Keep-Alive Content-Length: - '12484' Content-Type: - application/zip Date: - Mon, 13 May 2024 12:45:58 GMT ETag: - '"30c4-5b0df14a6d1c9"' Keep-Alive: - timeout=5, max=96 Last-Modified: - Sun, 04 Oct 2020 21:30:54 GMT Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Strict-Transport-Security: - max-age=31536000; preload status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_download_subtitle_with_quote.yaml0000644000175100001770000041307314636376416030754 0ustar00runnerdockerinteractions: - request: body: qs=Marvel%27s+Agents+of+S.H.I.E.L.D. headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '36' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n \n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:55 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:55 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-1340-2.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"Marvel's Agents of S.H.I.E.L.D.\" season 2\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

Marvel's Agents of S.H.I.E.L.D.

\n

Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
2x22S.O.S. (2)1\"\" \"\" \"\" \"\" \"\" \"\" \"pt\" \"\" 
2x21S.O.S. (1)5\"en\" \"\" \"fr\" \"\" \"gr\" \"\" \"pt\" \"ro\" 
2x20Scars6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x19The Dirty Half Dozen6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x18The Frenemy of My Enemy6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x17Melinda6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x16Afterlife6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x15One Door Closes6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x14Love in the Time of Hydra6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x13One of Us6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x12Who You Really Are7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x11Aftershocks7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x10What They Become6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x09...Ye Who Enter Here6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x08The Things We Bury6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x07The Writing on the Wall7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x06A Fractured House8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x05A Hen in the Wolf House8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x04Face My Enemy8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x03Making Friends and Influencing People8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x02Heavy is the Head8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x01Shadows8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
All episodes8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:56 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:56 GMT - visited1=1; expires=Tue, 14-May-2024 00:52:56 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-52573.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for Marvel's Agents of S.H.I.E.L.D. episode 2x06 - \"Marvel's Agents of S.H.I.E.L.D.\"\n \ \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"Marvel's\n

Marvel's Agents of S.H.I.E.L.D. 2x06

\n \

 A Fractured House (Season 2 Episode 6)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
54/75
\n
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.KILLERS)
\n \

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tKILLERS

\n \

\"uploaded\"\n\t29.10.14 11:10:25

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t8987

\n\t\n
\n\t\n
Spanish subtitles
\n
\n
32/20
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (WEB-DL)
\n

\"rip\"\n\tWEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t30.10.14 18:30:34

\n\t

\"author\"\n\t WOLF

\n\t

\"downloaded\"\n\t471

\n\t\n
\n\t\n
French subtitles
\n
\n
38/34
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (720p HDTV.KILLERS)
\n

\"rip\"\n\t720p HDTV

\n\t

\"release\"\n\tKILLERS

\n

\"uploaded\"\n\t29.10.14 19:32:06

\n\t

\"author\"\n\t Addic7ed

\n\t

\"downloaded\"\n\t2034

\n\t\n
\n\t\n
Russian subtitles
\n
\n
31/31
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t01.11.14 20:18:23

\n\t

\"author\"\n\t notabenoid.com

\n\t

\"downloaded\"\n\t260

\n\t\n
\n\t\n
Greek subtitles
\n
\n
31/29
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (1080p.WEB-DL)
\n

\"rip\"\n\t1080p.WEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t08.03.15 12:24:53

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t614

\n\t\n
\n\t\n
Hungarian subtitles
\n
\n
32/51
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.EVO)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tEVO

\n

\"uploaded\"\n\t30.10.14 18:43:07

\n\t

\"author\"\n\t Bender

\n\t

\"downloaded\"\n\t4256

\n\t\n
\n\t\n
Portuguese subtitles
\n
\n
22/17
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.KILLERS)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tKILLERS

\n

\"uploaded\"\n\t02.11.14 00:05:30

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t262

\n\t\n
\n\t\n
\n
21/22
\n
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (720p.WEB-DL.BS)
\n \

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\tBS

\n \

\"uploaded\"\n\t02.11.14 00:05:56

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t195

\n\t\n
\n\t\n
Romanian subtitles
\n
\n
33/34
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.x264-KILLERS)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tx264-KILLERS

\n

\"uploaded\"\n\t31.10.14 11:35:24

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t246

\n\t\n
\n\t\n
Back to Marvel's Agents of S.H.I.E.L.D.
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.001 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:56 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:56 GMT - visited1=1; expires=Tue, 14-May-2024 00:52:56 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/download-91420.html response: body: string: !!binary | PGNlbnRlcj48YnIgLz48YnIgLz48YnIgLz48ZGl2IGlkPSJsaW5rUGxhY2UiPjxiPldhaXQ6IDxz cGFuIGlkPSJ0aW1lTnVtZXIiPjA8L3NwYW4+IHNlYyAuLi48L2I+PC9kaXY+PC9jZW50ZXI+Cgo8 c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIKICAgICAgICAgICAgICAgbGFuZ3VhZ2U9Ikph dmFTY3JpcHQiPgoKdmFyIHRpbWVyRklHID0gMTsgLy8g9+jx6+7sIPPq4Of74uDl8vH/IO3l7uH1 7uTo7PvpIO/l8Oju5CDn4OTl8Obq6CDiIPHl6vPt5OD1IC4uLgogICAgICAgZG9jdW1lbnQuYWxs LnRpbWVOdW1lci5pbm5lckhUTUwgPSB0aW1lckZJRzsgLy8g7eD34OvuIO7y8ffl8uAg7/Du7+jx ++Lg5fLx/yDg4vLu7ODy6Pfl8eroIC4uLgoKdmFyIHRpbWVyID0gc2V0SW50ZXJ2YWwoInN0YXJ0 VGltZXIoKSIsMTAwMCk7CgogICAgICAgIGZ1bmN0aW9uIHN0YXJ0VGltZXIoKQp7CiAgICAgICAg aWYodGltZXJGSUcgIT09IDEpIHsKICAgICAgICAgICB0aW1lckZJRy0tOwogICAgICAgICAgIGRv Y3VtZW50LmFsbC50aW1lTnVtZXIuaW5uZXJIVE1MID0gdGltZXJGSUc7CiAgICAgICAgfSBlbHNl IHsKICAgICAgICAJICB2YXIgczE9ICdmaWwnOwogICAgICAgIAkgIGRvY3VtZW50LmFsbC50aW1l TnVtZXIuaW5uZXJIVE1MID0gJ2Rvd25sb2FkIHN0YXJ0aW5nJzsKICAgICAgICAgICBjbGVhcklu dGVydmFsKHRpbWVyKTsKICAgICAgICAgICB2YXIgczI9ICdlcy9NJzsKICAgICAgICAgICB2YXIg czM9ICdhcic7CiAgICAgICAgICAgdmFyIHM0PSAndmVsIHMgQWdlbnRzIG9mIFMuSC5JLkUuTC5E Ll8yeDA2X0hEVFYuS0lMTEVSUy5lbi56aXAnOwogICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u ID0gczErczIrczMrczQ7CiAgICAgICAgfQp9Cjwvc2NyaXB0Pgo= headers: Connection: - Keep-Alive Content-Length: - '893' Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:56 GMT Keep-Alive: - timeout=5, max=97 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:56 GMT - visited1=1; expires=Tue, 14-May-2024 00:52:56 GMT Strict-Transport-Security: - max-age=31536000; preload X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/files/Marvel%20s%20Agents%20of%20S.H.I.E.L.D._2x06_HDTV.KILLERS.en.zip response: body: string: !!binary | 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 bi5zcnRQSwUGAAAAAAEAAQB8AAAAXFAAAAAA headers: Accept-Ranges: - bytes Connection: - Keep-Alive Content-Length: - '20718' Content-Type: - application/zip Date: - Mon, 13 May 2024 12:52:56 GMT ETag: - '"50ee-5b194c392ed87"' Keep-Alive: - timeout=5, max=96 Last-Modified: - Tue, 13 Oct 2020 22:16:18 GMT Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Strict-Transport-Security: - max-age=31536000; preload status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_get_episode_ids.yaml0000644000175100001770000023525114636376416026110 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-5.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 5\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
5x24The Countdown Reflection9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x23The Launch Acceleration9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x22The Stag Convergence9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x21The Hawking Excitation9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x20The Transporter Malfunction9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x19The Weekend Vortex9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x18The Werewolf Transformation10\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"sv\" \"\" \"\" \"\" \"ro\" 
5x17The Rothman Disintegration11\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"sv\" \"\" \"jp\" \"\" \"ro\" 
5x16The Vacation Solution10\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"sv\" \"\" \"\" \"\" \"ro\" 
5x15The Friendship Contraction9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x14The Beta Test Initiation9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x13The Recombination Hypothesis9\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x12The Shiny Trinket Maneuver10\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"\" \"gr\" \"hu\" \"\" \"\" \"nl\" \"pt\" \"\" \"\" \"\" \"\" \"ro\" 
5x11The Speckerman Recurrence15\"en\" \"es\" \"fr\" \"\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"\" \"fi\" \"\" \"cz\" \"ro\" 
5x10The Flaming Spittoon Acquisition15\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"\" \"nl\" \"pt\" \"\" \"fi\" \"\" \"cz\" \"ro\" 
5x09The Ornithophobia Diffusion17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x08The Isolation Permutation17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x07The Good Guy Fluctuation17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x06The Rhinitis Revelation17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x05The Russian Rocket Reaction17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x04The Wiggly Finger Catalyst17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x03The Pulled Groin Extrapolation17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x02The Infestation Hypothesis17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
5x01The Skank Reflex Analysis17\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"\" \"cz\" \"ro\" 
All episodes18\"en\" \"es\" \"fr\" \"de\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"pl\" \"tr\" \"nl\" \"pt\" \"sv\" \"fi\" \"jp\" \"cz\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\u0414\u043E\u043C\u0435\u043D kapac.ru: \u043A\u0443\u043F\u0438\u0442\u044C \u0432 \u043C\u0430\u0433\u0430\u0437\u0438\u043D\u0435 \u0434\u043E\u043C\u0435\u043D\u043D\u044B\u0445 \u0438\u043C\u0435\u043D \u0420\u0435\u0433.\u0440\u0443
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:45 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:44 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_get_episode_ids_wrong_season.yaml0000644000175100001770000004410014636376416030663 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-55.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 55\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
All episodes0
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:47 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:47 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_list_subtitles.yaml0000644000175100001770000034011714636376416026031 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang+Theory headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '22' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:52 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:52 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-7.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 7\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
7x24The Status Quo Combustion6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x23The Gorilla Dissolution6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x22The Proton Transmogrification6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x21The Anything Can Happen Recurrence6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x20The Relationship Diremption6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x19The Indecision Amalgamation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x18The Mommy Observation7\"en\" \"es\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x17The Friendship Turbulence7\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x16The Table Polarization6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x15The Locomotive Manipulation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x14The Convention Conundrum6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x13The Occupation Recalibration6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x12The Hesitation Ramification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x11The Cooper Extraction8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x10The Discovery Dissipation8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x09The Thanksgiving Decoupling8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x08The Itchy Brain Simulation9\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x07The Proton Displacement7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x06The Romance Resonance6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x05The Workplace Proximity6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x04The Raiders Minimization8\"en\" \"\" \"fr\" \"\" \"ru\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x03The Scavenger Vortex6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x02The Deception Verification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"ko\" \"ro\" 
7x01The Hofstadter Insufficiency7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
All episodes12\"en\" \"es\" \"fr\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"ko\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:52 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:52 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:52 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-46051.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for The Big Bang Theory episode 7x05 - \"The Big Bang Theory\"\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"The\n \

The Big Bang Theory 7x05

\n

 The Workplace Proximity (Season 7 Episode 5)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
53/122
\n
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n

\"uploaded\"\n\t18.10.13 09:19:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t28861

\n\t\n
\n\t\n
\n
34/29
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL)
\n

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t26.09.14 15:07:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1153

\n\t\n
\n\t\n
French subtitles
\n
\n
46/76
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:34:23

\n\t

\"author\"\n\t karelknight

\n\t

\"downloaded\"\n\t27503

\n\t\n
\n\t\n
\n
33/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.afg-lol-evolve)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tafg-lol-evolve

\n

\"uploaded\"\n\t19.10.13 18:18:02

\n\t

\"author\"\n\t Addic7ed-GBT

\n\t

\"downloaded\"\n\t4852

\n\t\n
\n\t\n
Italian subtitles
\n
\n
39/37
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t14.03.14 15:20:30

\n\t

\"author\"\n\t italiansubs

\n\t

\"downloaded\"\n\t436

\n\t\n
\n\t\n
Hungarian subtitles
\n
\n
45/33
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:53:12

\n\t

\"author\"\n\t krisztoo

\n\t

\"downloaded\"\n\t1100

\n\t\n
\n\t\n
Portuguese subtitles
\n
\n
32/35
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t19.10.13 17:17:18

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t857

\n\t\n
\n\t\n
\n
21/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n

\"uploaded\"\n\t21.10.13 22:20:28

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1035

\n\t\n
\n\t\n
\n
27/22
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL.DD5.1.H.264)
\n \

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\tDD5.1.H.264

\n \

\"uploaded\"\n\t24.05.14 13:44:32

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t188

\n\t\n
\n\t\n
Romanian subtitles
\n
\n
43/32
\n \
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n \

\"uploaded\"\n\t22.10.13 07:35:04

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t376

\n\t\n
\n\t\n
Back to The Big Bang Theory
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.001 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:52 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:52 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:52 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_list_subtitles_episode_alternative_series.yaml0000644000175100001770000021775314636376416033522 0ustar00runnerdockerinteractions: - request: body: qs=TURN%3A+Washington%27s+Spies headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '31' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:54 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:54 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: qs=Turn headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '7' Content-Type: - application/x-www-form-urlencoded Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:54 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:54 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:54 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-1466-3.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"Turn\" season 3\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

Turn

\n

Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \ \n \n \n
\n \n \n \n \n
\n \ \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
3x10Episode 100\"\" 
3x09Episode 90\"\" 
3x08Episode 80\"\" 
3x07Judgment0\"\" 
3x06Many Mickles Make a Muckle0\"\" 
3x05Hypocrisy, Fraud and Tyranny0\"\" 
3x04Hearts and Minds1\"fr\" 
3x03Benediction1\"fr\" 
3x02Cold Murdering Bastards1\"fr\" 
3x01Valediction1\"fr\" 
All episodes1\"fr\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:54 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:54 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:54 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-61409.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for Turn episode 3x01 - \"Turn\"\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"Turn\"\n

Turn 3x01

\n \

 Valediction (Season 3 Episode 1)

Advertising:\n
\"\"

Subtitles for this episode:
\u0444\u0440\u0430\u043D\u0446\u0443\u0437\u044C\u043A\u0456 \ subtitles
\n
\n
22/13
\n \
\"\"Turn 3x01 (HDTV.FLEET+AVS)
\n \

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tFLEET+AVS

\n \

\"uploaded\"\n\t27.04.16 18:21:54

\n\t

\"author\"\n\t Addic7ed

\n\t

\"downloaded\"\n\t332

\n\t\n
\n\t\n
Back to Turn
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.001 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:55 GMT Keep-Alive: - timeout=5, max=97 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:55 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:55 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query.yaml0000644000175100001770000034001014636376416024115 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang+Theory headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '22' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.007 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:49 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:49 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-7.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 7\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
7x24The Status Quo Combustion6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x23The Gorilla Dissolution6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x22The Proton Transmogrification6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x21The Anything Can Happen Recurrence6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x20The Relationship Diremption6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x19The Indecision Amalgamation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x18The Mommy Observation7\"en\" \"es\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x17The Friendship Turbulence7\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x16The Table Polarization6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x15The Locomotive Manipulation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x14The Convention Conundrum6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x13The Occupation Recalibration6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x12The Hesitation Ramification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x11The Cooper Extraction8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x10The Discovery Dissipation8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x09The Thanksgiving Decoupling8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x08The Itchy Brain Simulation9\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x07The Proton Displacement7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x06The Romance Resonance6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x05The Workplace Proximity6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x04The Raiders Minimization8\"en\" \"\" \"fr\" \"\" \"ru\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x03The Scavenger Vortex6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x02The Deception Verification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"ko\" \"ro\" 
7x01The Hofstadter Insufficiency7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
All episodes12\"en\" \"es\" \"fr\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"ko\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n \
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:49 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:49 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:49 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-46051.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for The Big Bang Theory episode 7x05 - \"The Big Bang Theory\"\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"The\n \

The Big Bang Theory 7x05

\n

 The Workplace Proximity (Season 7 Episode 5)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
53/122
\n
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n

\"uploaded\"\n\t18.10.13 09:19:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t28861

\n\t\n
\n\t\n
\n
34/29
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL)
\n

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t26.09.14 15:07:20

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1153

\n\t\n
\n\t\n
French subtitles
\n
\n
46/76
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:34:23

\n\t

\"author\"\n\t karelknight

\n\t

\"downloaded\"\n\t27503

\n\t\n
\n\t\n
\n
33/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.afg-lol-evolve)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tafg-lol-evolve

\n

\"uploaded\"\n\t19.10.13 18:18:02

\n\t

\"author\"\n\t Addic7ed-GBT

\n\t

\"downloaded\"\n\t4852

\n\t\n
\n\t\n
Italian subtitles
\n
\n
39/37
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t14.03.14 15:20:30

\n\t

\"author\"\n\t italiansubs

\n\t

\"downloaded\"\n\t436

\n\t\n
\n\t\n
Hungarian subtitles
\n
\n
45/33
\n \
\"\"The Big Bang Theory 7x05 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t18.10.13 17:53:12

\n\t

\"author\"\n\t krisztoo

\n\t

\"downloaded\"\n\t1100

\n\t\n
\n\t\n
Portuguese subtitles
\n
\n
32/35
\n \
\"\"The Big Bang Theory 7x05 (HDTV.LOL)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tLOL

\n \

\"uploaded\"\n\t19.10.13 17:17:18

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t857

\n\t\n
\n\t\n
\n
21/27
\n
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n

\"uploaded\"\n\t21.10.13 22:20:28

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t1035

\n\t\n
\n\t\n
\n
27/22
\n
\"\"The Big Bang Theory 7x05 (720p.WEB-DL.DD5.1.H.264)
\n \

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\tDD5.1.H.264

\n \

\"uploaded\"\n\t24.05.14 13:44:32

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t188

\n\t\n
\n\t\n
Romanian subtitles
\n
\n
43/32
\n \
\"\"The Big Bang Theory 7x05 (HDTV.AFG)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tAFG

\n \

\"uploaded\"\n\t22.10.13 07:35:04

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t376

\n\t\n
\n\t\n
Back to The Big Bang Theory
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:49 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:49 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:49 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_no_year.yaml0000644000175100001770000016670414636376416025651 0ustar00runnerdockerinteractions: - request: body: qs=Dallas headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '9' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n \
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:50 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:50 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-646-1.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"Dallas\" season 1\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

Dallas

\n

Season 14 | Season 13 | Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
1x05Barbecue2\"en\" \"\" \"br\" \"\" 
1x04Winds of Vengeance2\"en\" \"\" \"br\" \"\" 
1x03Spy in the House2\"en\" \"\" \"br\" \"\" 
1x02Lessons2\"en\" \"\" \"br\" \"\" 
1x01Digger's Daughter4\"en\" \"fr\" \"br\" \"ru\" 
All episodes4\"en\" \"fr\" \"br\" \"ru\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:50 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:50 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:50 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-24927.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for Dallas episode 1x03 - \"Dallas\"\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"Dallas\"\n

Dallas 1x03

\n

 Spy in the House (Season 1 Episode 3)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
62/30
\n
\"\"Dallas 1x03
\n

\"rip\"\n\t

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t20.04.10 16:16:11

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t684

\n\t\n
\n\t\n
Portuguese(br) subtitles
\n
\n
13/19
\n \
\"\"Dallas 1x03 (DVDRip)
\n \

\"rip\"\n\tDVDRip

\n\t

\"release\"\n\t

\n \

\"uploaded\"\n\t26.03.22 13:22:29

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t18

\n\t\n
\n\t\n
Back to Dallas
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.002 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:50 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:50 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:50 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_with_quote.yaml0000644000175100001770000030765314636376416026405 0ustar00runnerdockerinteractions: - request: body: qs=Marvel%27s+Agents+of+S.H.I.E.L.D. headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '36' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n \n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.009 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:54 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:54 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-1340-2.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"Marvel's Agents of S.H.I.E.L.D.\" season 2\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

Marvel's Agents of S.H.I.E.L.D.

\n

Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
2x22S.O.S. (2)1\"\" \"\" \"\" \"\" \"\" \"\" \"pt\" \"\" 
2x21S.O.S. (1)5\"en\" \"\" \"fr\" \"\" \"gr\" \"\" \"pt\" \"ro\" 
2x20Scars6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x19The Dirty Half Dozen6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x18The Frenemy of My Enemy6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x17Melinda6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x16Afterlife6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x15One Door Closes6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x14Love in the Time of Hydra6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x13One of Us6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x12Who You Really Are7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x11Aftershocks7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x10What They Become6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x09...Ye Who Enter Here6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x08The Things We Bury6\"en\" \"\" \"fr\" \"\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x07The Writing on the Wall7\"en\" \"\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x06A Fractured House8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x05A Hen in the Wolf House8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x04Face My Enemy8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x03Making Friends and Influencing People8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x02Heavy is the Head8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
2x01Shadows8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
All episodes8\"en\" \"es\" \"fr\" \"ru\" \"gr\" \"hu\" \"pt\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.007 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:54 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:54 GMT - visited1=1; expires=Tue, 14-May-2024 00:52:54 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1; visited1=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/episode-52573.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles for Marvel's Agents of S.H.I.E.L.D. episode 2x06 - \"Marvel's Agents of S.H.I.E.L.D.\"\n \ \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n\t\t\t
\n\n \"Marvel's\n

Marvel's Agents of S.H.I.E.L.D. 2x06

\n \

 A Fractured House (Season 2 Episode 6)

Advertising:\n
\"\"

Subtitles for this episode:
English \ subtitles
\n
\n
54/75
\n
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.KILLERS)
\n \

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tKILLERS

\n \

\"uploaded\"\n\t29.10.14 11:10:25

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t8987

\n\t\n
\n\t\n
Spanish subtitles
\n
\n
32/20
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (WEB-DL)
\n

\"rip\"\n\tWEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t30.10.14 18:30:34

\n\t

\"author\"\n\t WOLF

\n\t

\"downloaded\"\n\t471

\n\t\n
\n\t\n
French subtitles
\n
\n
38/34
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (720p HDTV.KILLERS)
\n

\"rip\"\n\t720p HDTV

\n\t

\"release\"\n\tKILLERS

\n

\"uploaded\"\n\t29.10.14 19:32:06

\n\t

\"author\"\n\t Addic7ed

\n\t

\"downloaded\"\n\t2034

\n\t\n
\n\t\n
Russian subtitles
\n
\n
31/31
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t01.11.14 20:18:23

\n\t

\"author\"\n\t notabenoid.com

\n\t

\"downloaded\"\n\t260

\n\t\n
\n\t\n
Greek subtitles
\n
\n
31/29
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (1080p.WEB-DL)
\n

\"rip\"\n\t1080p.WEB-DL

\n\t

\"release\"\n\t

\n

\"uploaded\"\n\t08.03.15 12:24:53

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t614

\n\t\n
\n\t\n
Hungarian subtitles
\n
\n
32/51
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.EVO)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tEVO

\n

\"uploaded\"\n\t30.10.14 18:43:07

\n\t

\"author\"\n\t Bender

\n\t

\"downloaded\"\n\t4256

\n\t\n
\n\t\n
Portuguese subtitles
\n
\n
22/17
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.KILLERS)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tKILLERS

\n

\"uploaded\"\n\t02.11.14 00:05:30

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t262

\n\t\n
\n\t\n
\n
21/22
\n
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (720p.WEB-DL.BS)
\n \

\"rip\"\n\t720p.WEB-DL

\n\t

\"release\"\n\tBS

\n \

\"uploaded\"\n\t02.11.14 00:05:56

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t195

\n\t\n
\n\t\n
Romanian subtitles
\n
\n
33/34
\n \
\"\"Marvel's Agents of S.H.I.E.L.D. 2x06 (HDTV.x264-KILLERS)
\n

\"rip\"\n\tHDTV

\n\t

\"release\"\n\tx264-KILLERS

\n

\"uploaded\"\n\t31.10.14 11:35:24

\n\t

\"author\"\n\t 

\n\t

\"downloaded\"\n\t246

\n\t\n
\n\t\n
Back to Marvel's Agents of S.H.I.E.L.D.
\n
\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.001 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 12:52:55 GMT Keep-Alive: - timeout=5, max=98 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Tue, 14-May-2024 00:52:55 GMT - visited1=1; expires=Tue, 14-May-2024 00:52:55 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_wrong_episode.yaml0000644000175100001770000023033014636376416027044 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang+Theory headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '22' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:51 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:51 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Cookie: - visited=1 Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-154-7.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"The Big Bang Theory\" season 7\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

The Big Bang Theory

\n

Season 12 | Season 11 | Season 10 | Season 9 | Season 8 | Season 7 | Season 6 | Season 5 | Season 4 | Season 3 | Season 2 | Season 1

Advertising:\n
\"\"

\n \n \n \n
\n \n \n \n \n
\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
7x24The Status Quo Combustion6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x23The Gorilla Dissolution6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x22The Proton Transmogrification6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x21The Anything Can Happen Recurrence6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x20The Relationship Diremption6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x19The Indecision Amalgamation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x18The Mommy Observation7\"en\" \"es\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x17The Friendship Turbulence7\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x16The Table Polarization6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x15The Locomotive Manipulation6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x14The Convention Conundrum6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x13The Occupation Recalibration6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x12The Hesitation Ramification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x11The Cooper Extraction8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x10The Discovery Dissipation8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x09The Thanksgiving Decoupling8\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x08The Itchy Brain Simulation9\"en\" \"\" \"fr\" \"br\" \"\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"\" \"ro\" 
7x07The Proton Displacement7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x06The Romance Resonance6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x05The Workplace Proximity6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x04The Raiders Minimization8\"en\" \"\" \"fr\" \"\" \"ru\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x03The Scavenger Vortex6\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
7x02The Deception Verification7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"\" \"hu\" \"\" \"pt\" \"ko\" \"ro\" 
7x01The Hofstadter Insufficiency7\"en\" \"\" \"fr\" \"\" \"\" \"it\" \"gr\" \"hu\" \"\" \"pt\" \"\" \"ro\" 
All episodes12\"en\" \"es\" \"fr\" \"br\" \"ru\" \"it\" \"gr\" \"hu\" \"nl\" \"pt\" \"ko\" \"ro\" 
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.007 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:51 GMT Keep-Alive: - timeout=5, max=99 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:51 GMT - visited1=1; expires=Mon, 13-May-2024 22:51:51 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_query_wrong_series.yaml0000644000175100001770000004256414636376416026720 0ustar00runnerdockerinteractions: - request: body: null headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: GET uri: https://www.tvsubtitles.net/tvshow-155-7.html response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Subtitles \"John Adams\" season 7\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n \
\n
\n \

\n
\n \
\n
\n \
\n
\n
\n
\n\n \ \"\"/\n

John Adams

\n

Season 1

Advertising:\n
\"\"

\n \ \n \n \n
\n \n \n \n \n
\n \ \n \n \n \n \n\n\n\n\n\n\n\n\n\n
#EpisodeAmountSubtitles
All episodes0
\n \
\n
\n
\n
\n
\n
\n
\n\n
\n \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.007 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:51 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:51 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id.yaml0000644000175100001770000004364714636376416025751 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang+Theory headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '22' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:40 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:40 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_ambiguous.yaml0000644000175100001770000010317214636376416030012 0ustar00runnerdockerinteractions: - request: body: qs=New+Girl headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '11' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.014 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:41 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:41 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_error.yaml0000644000175100001770000004417714636376416027161 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+How+I+Met+Your+Mother headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '32' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.005 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:44 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:44 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_incomplete.yaml0000644000175100001770000004416214636376416030161 0ustar00runnerdockerinteractions: - request: body: qs=The+Big+Bang headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '15' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:41 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:41 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_no_year.yaml0000644000175100001770000004210214636376416027446 0ustar00runnerdockerinteractions: - request: body: qs=Dallas headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '9' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:43 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:43 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_uk.yaml0000644000175100001770000004407314636376416026442 0ustar00runnerdockerinteractions: - request: body: qs=Beautiful+People headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '19' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.004 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:42 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:42 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_us.yaml0000644000175100001770000006042514636376416026451 0ustar00runnerdockerinteractions: - request: body: qs=House+of+Cards headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '17' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n \n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.012 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:42 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:42 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/cassettes/tvsubtitles/test_search_show_id_year_in_title.yaml0000644000175100001770000004213714636376416030651 0ustar00runnerdockerinteractions: - request: body: qs=Dallas headers: Accept: - '*/*' Accept-Encoding: - gzip, deflate, br Connection: - keep-alive Content-Length: - '9' Content-Type: - application/x-www-form-urlencoded Referer: - https://www.tvsubtitles.net/ User-Agent: - Subliminal/2.1 X-Requested-With: - XMLHttpRequest method: POST uri: https://www.tvsubtitles.net/search.php response: body: string: "\n\t\n\t\n\n\t\n \n \n \n TVsubtitles.net - Search\n \n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t
\n
\n

\"english\"\n \"spanish\"\n \"french\"\n \"russian\"
\n \ \"ukrainian\"\n \"ukrainian\"\n \"hungarian\"\n \"greek\"
\n Movie subtitles

\n

TVsubtitles.net

\n

Download latest TV Show and TV Series subtitles

\n
\n \n\tShow subtitles \"\"\n\n
\n
\n

\n
\n
\n
\n
\n
\n \
\n

Search

\n \

Search results


\n
\n
\n
\n\n
\n \ \t
\n

\"Site\n Site statistics
Total subtitles: 305222
TV Shows: 2219
TV Episodes: 72846
Downloads: 500 522 215

Amount subtitles in languages:

\n\n\n\n\n\n\n
\"english\" - 61 921\"french\" - 43 292\"greek\" - 42 822
\"portuguese\" - 28 085\"hungarian\" - 19 871\"portuguese(br)\" - 19 276
\"russian\" - 16 328\"spanish\" - 14 477\"romanian\" - 13 484
\"polish\" - 12 977\"italian\" - 7 490\"bulgarian\" - 5 910
\"dutch - 5 414\"turkish\" - 4 364\"german\" - 3 849
\"arabic\" - 2 273\"ukrainian\" - 1 183\"korean\" - 736

Downloads:

\n
\"english\" - 190.7 mil\"french\" - 122.7 mil\"greek\" - 58.12 mil
\"russian\" - 18.9 mil\"portuguese(br)\" - 17.87 mil\"spanish\" - 13.61 mil
\"portuguese\" - 13.42 mil\"hungarian\" - 13.21 mil\"polish\" - 8.84 mil
\"italian\" - 7.85 mil\"romanian\" - 7.3 mil\"bulgarian\" - 5.02 mil
\"dutch - 4.92 mil\"german\" - 4.61 mil\"ukrainian\" - 4.46 mil
\"turkish\" - 3.13 mil\"arabic\" - 1.94 mil\"czech\" - 1.33 mil

\n
\"rss
\n\n
\n
© Copyright 2024 TVsubtitles.net. Page generation 0.006 seconds.\n
\n
\n\t\n\t\n" headers: Cache-Control: - no-cache Connection: - Keep-Alive Content-Type: - text/html; charset=utf-8 Date: - Mon, 13 May 2024 10:51:43 GMT Keep-Alive: - timeout=5, max=100 Server: - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.3.29 Set-Cookie: - visited=1; expires=Mon, 13-May-2024 22:51:43 GMT Strict-Transport-Security: - max-age=31536000; preload Transfer-Encoding: - chunked X-Powered-By: - PHP/5.3.29 status: code: 200 message: OK version: 1 ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/conftest.py0000644000175100001770000003702214636376416016644 0ustar00runnerdockerfrom __future__ import annotations import os import subprocess from io import BytesIO from unittest.mock import Mock from zipfile import ZipFile import pytest import requests from babelfish import Country # type: ignore[import-untyped] from subliminal import Episode, Movie from subliminal.cache import region TESTS = os.path.dirname(__file__) @pytest.fixture(autouse=True, scope='session') def _configure_region(): region.configure('dogpile.cache.null') region.configure = Mock() # type: ignore[method-assign] @pytest.fixture() def movies() -> dict[str, Movie]: return { 'man_of_steel': Movie( os.path.join('Man of Steel (2013)', 'man.of.steel.2013.720p.bluray.x264-felony.mkv'), 'Man of Steel', source='Blu-ray', release_group='felony', resolution='720p', video_codec='H.264', audio_codec='DTS', imdb_id='tt0770828', size=7033732714, year=2013, hashes={ 'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', 'opensubtitles': '5b8f8f4e41ccb21e', 'shooter': '314f454ab464775498ae6f1f5ad813a9;fdaa8b702d8936feba2122e93ba5c44f;' '0a6935e3436aa7db5597ef67a2c494e3;4d269733f36ddd49f71e92732a462fe5', 'thesubdb': 'ad32876133355929d814457537e12dc2', }, ), 'enders_game': Movie( 'enders.game.2013.720p.bluray.x264-sparks.mkv', "Ender's Game", source='Blu-ray', release_group='sparks', resolution='720p', video_codec='H.264', year=2013, ), 'café_society': Movie( 'Café Society.1080p.avc1.RARBG.mp4', 'Café Society', year=2016, ), 'interstellar': Movie( 'Interstellar.2014.2014.1080p.BluRay.x264.YIFY.rar', 'Interstellar', source='Blu-ray', release_group='YIFY', resolution='1080p', video_codec='H.264', year=2014, ), 'jack_reacher_never_go_back': Movie( os.path.join( 'Jack Reacher- Never Go Back (2016)', 'Jack.Reacher.Never.Go.Back.2016.1080p.WEBDL.AC3.x264-FGT.mkv' ), 'Jack Reacher: Never Go Back', source='Web', release_group='FGT', resolution='1080p', video_codec='H.264', audio_codec='Dolby Digital', imdb_id='tt3393786', year=2016, ), } @pytest.fixture() def episodes() -> dict[str, Episode]: return { 'bbt_s07e05': Episode( os.path.join('The Big Bang Theory', 'Season 07', 'The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.mkv'), 'The Big Bang Theory', 7, 5, title='The Workplace Proximity', year=2007, tvdb_id=4668379, series_tvdb_id=80379, series_imdb_id='tt0898266', source='HDTV', release_group='DIMENSION', resolution='720p', video_codec='H.264', audio_codec='Dolby Digital', imdb_id='tt3229392', size=501910737, hashes={ 'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', 'opensubtitles': '6878b3ef7c1bd19e', 'shooter': 'c13e0e5243c56d280064d344676fff94;cd4184d1c0c623735f6db90841ce15fc;' '3faefd72f92b63f2504269b4f484a377;8c68d1ef873afb8ba0cc9f97cbac41c1', 'thesubdb': '9dbbfb7ba81c9a6237237dae8589fccc', }, ), 'got_s03e10': Episode( os.path.join( 'Game of Thrones', 'Season 03', 'Game.of.Thrones.S03E10.Mhysa.720p.WEB-DL.DD5.1.H.264-NTb.mkv' ), 'Game of Thrones', 3, 10, title='Mhysa', tvdb_id=4517466, series_tvdb_id=121361, series_imdb_id='tt0944947', source='Web', release_group='NTb', resolution='720p', video_codec='H.264', audio_codec='Dolby Digital', imdb_id='tt2178796', size=2142810931, hashes={ 'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', 'opensubtitles': 'b850baa096976c22', 'shooter': 'b02d992c04ad74b31c252bd5a097a036;ef1b32f873b2acf8f166fc266bdf011a;' '82ce34a3bcee0c66ed3b26d900d31cca;78113770551f3efd1e2d4ec45898c59c', 'thesubdb': 'b1f899c77f4c960b84b8dbf840d4e42d', }, ), 'dallas_s01e03': Episode( 'Dallas.S01E03.mkv', 'Dallas', 1, 3, title='Spy in the House', year=1978, tvdb_id=228224, imdb_id='tt0553425', series_tvdb_id=77092, series_imdb_id='tt0077000', ), 'dallas_2012_s01e03': Episode( 'Dallas.2012.S01E03.mkv', 'Dallas', 1, 3, title='The Price You Pay', year=2012, original_series=False, tvdb_id=4199511, series_tvdb_id=242521, series_imdb_id='tt1723760', imdb_id='tt2205526', ), 'marvels_agents_of_shield_s02e06': Episode( 'Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.mkv', "Marvel's Agents of S.H.I.E.L.D.", 2, 6, year=2013, source='HDTV', release_group='KILLERS', resolution='720p', video_codec='H.264', ), 'csi_cyber_s02e03': Episode( 'CSI.Cyber.S02E03.hdtv-lol.mp4', 'CSI: Cyber', 2, 3, source='HDTV', release_group='lol', ), 'the_x_files_s10e02': Episode( 'The.X-Files.S10E02.HDTV.x264-KILLERS.mp4', 'The X-Files', 10, 2, source='HDTV', release_group='KILLERS', video_codec='H.264', ), 'colony_s01e09': Episode( 'Colony.S01E09.720p.HDTV.x264-KILLERS.mkv', 'Colony', 1, 9, title='Zero Day', year=2016, tvdb_id=5463229, series_tvdb_id=284210, series_imdb_id='tt4209256', source='HDTV', release_group='KILLERS', resolution='720p', video_codec='H.264', imdb_id='tt4926022', ), 'the_jinx_e05': Episode( 'The.Jinx-The.Life.and.Deaths.of.Robert.Durst.E05.BDRip.x264-ROVERS.mkv', 'The Jinx: The Life and Deaths of Robert Durst', 1, 5, year=2015, original_series=True, source='Blu-ray', release_group='ROVERS', video_codec='H.264', ), 'the_100_s03e09': Episode( 'The.100.S03E09.720p.HDTV.x264-AVS.mkv', 'The 100', 3, 9, title='Stealing Fire', year=2014, tvdb_id=5544536, series_tvdb_id=268592, series_imdb_id='tt2661044', source='HDTV', release_group='AVS', resolution='720p', video_codec='H.264', imdb_id='tt4799896', ), 'the fall': Episode( 'the_fall.3x01.720p_hdtv_x264-fov.mkv', 'The Fall', 3, 1, title='The Fall', year=2013, tvdb_id=5749493, series_tvdb_id=258107, series_imdb_id='tt2294189', source='HDTV', release_group='fov', resolution='720p', video_codec='H.264', imdb_id='tt4516230', ), 'csi_s15e18': Episode( 'CSI.S15E18.720p.HDTV.X264.DIMENSION.mkv', 'CSI: Crime Scene Investigation', 15, 18, title='The End Game', year=2000, tvdb_id=5104359, series_tvdb_id=72546, series_imdb_id='tt0247082', source='HDTV', release_group='DIMENSION', resolution='720p', video_codec='H.264', imdb_id='tt4145952', ), 'turn_s04e03': Episode( 'Turn.S04E03.720p.HDTV.x264-AVS.mkv', "TURN: Washington's Spies", 4, 3, title='Blood for Blood', year=2014, tvdb_id=6124360, series_tvdb_id=272135, series_imdb_id='tt2543328', source='HDTV', release_group='AVS', resolution='720p', video_codec='H.264', imdb_id='tt6137686', alternative_series=['Turn'], ), 'turn_s03e01': Episode( 'Turn.S03E01.720p.HDTV.x264-AVS.mkv', "TURN: Washington's Spies", 3, 1, title='Valediction', year=2014, tvdb_id=5471384, series_tvdb_id=272135, series_imdb_id='tt2543328', source='HDTV', release_group='AVS', resolution='720p', video_codec='H.264', imdb_id='tt4909774', alternative_series=['Turn'], ), 'marvels_jessica_jones_s01e13': Episode( 'Marvels.Jessica.Jones.S01E13.720p.WEBRip.x264-2HD', 'Marvels Jessica Jones', 1, 13, title='AKA Smile', year=2015, tvdb_id=5311273, series_tvdb_id=284190, series_imdb_id='tt2357547', source='Web', release_group='2HD', resolution='720p', video_codec='H.264', imdb_id='tt4162096', alternative_series=['Jessica Jones'], ), 'fear_walking_dead_s03e10': Episode( 'Fear.the.Walking.Dead.S03E10.1080p.WEB-DL.DD5.1.H264-RARBG', 'Fear the Walking Dead', 3, 10, resolution='1080p', source='Web', video_codec='H.264', release_group='RARBG', ), 'the_end_of_the_fucking_world': Episode( 'the.end.of.the.fucking.world.s01e04.720p.web.x264-skgtv.mkv', 'The End of the Fucking World', 1, 4, resolution='720p', source='Web', video_codec='H.264', release_group='skgtv', alternative_series=['The end of the f***ing world'], ), 'Marvels.Agents.of.S.H.I.E.L.D.S05E01-E02': Episode( 'Marvels.Agents.of.S.H.I.E.L.D.S05E01-E02.720p.HDTV.x264-AVS', 'Marvels.Agents.of.S.H.I.E.L.D', 5, 1, resolution='720p', source='HDTV', video_codec='H.264', release_group='AVS', ), 'alex_inc_s01e04': Episode( 'Alex.Inc.S01E04.HDTV.x264-SVA.mkv', 'Alex, Inc.', 1, 4, source='HDTV', video_codec='H.264', release_group='SVA', year=2018, title='The Nanny', series_imdb_id='tt6466948', tvdb_id=6627151, series_tvdb_id=328635, ), 'shameless_us_s08e01': Episode( 'Shameless.US.s08e01.web.h264-convoy', 'Shameless', 8, 1, source='Web', video_codec='H.264', country=Country('US'), original_series=False, release_group='convoy', year=2011, alternative_series=['Shameless: Hall of Shame'], title='We Become What We... Frank!', series_imdb_id='tt1586680', series_tvdb_id=161511, imdb_id='tt6347410', tvdb_id=6227949, ), 'house_of_cards_us_s06e01': Episode( 'house.of.cards.us.s06e01.720p.web-dl.x264', 'House of Cards', 6, 1, source='Web', video_codec='H.264', country=Country('US'), year=2013, original_series=False, alternative_series=['House of Cards (2013)'], title='Chapter 66', series_imdb_id='tt1856010', series_tvdb_id=262980, imdb_id='tt7538918', tvdb_id=6553109, ), 'walking_dead_s08e07': Episode( 'The Walking Dead - 08x07 - Time for After.AMZN.WEB-DL-CasStudio.mkv', 'The Walking Dead', 8, 7, source='Web', streaming_service='Amazon Prime', release_group='CasStudio', ), 'suits_s06_e12': Episode( 'Suits.S06E12.1080p.BluRay.x265-RARBG.mp4', 'Suits', 6, 12, source='Blu-ray', release_group='RARBG', hashes={ 'napiprojekt': '32f216ee3fda2cf765e10847e7a8e90f', }, ), 'suits_s06_e13': Episode( 'Suits.S06E13.1080p.BluRay.x265-RARBG.pl.srt', 'Suits', 6, 13, source='Blu-ray', release_group='RARBG', hashes={ 'napiprojekt': '95bdf8ca5716166e6ad1e030a4a6b5cd', }, ), 'grimsburg_s01e01': Episode( 'Grimsburg - S01E01 - Pilot [720p.h265.AAC.Webrip].mkv', 'Grimsburg', 1, 1, ), } @pytest.fixture(scope='session') def mkv(): data_path = os.path.join(TESTS, 'data', 'mkv') # download matroska test suite if not os.path.exists(data_path) or len(os.listdir(data_path)) != 8: r = requests.get('http://downloads.sourceforge.net/project/matroska/test_files/matroska_test_w1_1.zip') with ZipFile(BytesIO(r.content), 'r') as f: f.extractall(data_path, [m for m in f.namelist() if os.path.splitext(m)[1] == '.mkv']) # populate a dict with mkv files files = {} for path in os.listdir(data_path): name, _ = os.path.splitext(path) files[name] = os.path.join(data_path, path) return files @pytest.fixture(scope='session') def rar(mkv): data_path = os.path.join(TESTS, 'data', 'rar') if not os.path.exists(data_path): os.makedirs(data_path) downloaded_files = { 'pwd-protected': 'https://github.com/markokr/rarfile/blob/master/test/files/rar5-psw.rar?raw=true', 'simple': 'https://github.com/markokr/rarfile/blob/master/test/files/rar5-quick-open.rar?raw=true', } generated_files = { 'video': [mkv.get('test1')], 'videos': [mkv.get('test3'), mkv.get('test4'), mkv.get('test5')], } files = {} # Add downloaded files for name, download_url in downloaded_files.items(): filename = os.path.join(data_path, name + '.rar') if not os.path.exists(filename): r = requests.get(download_url) with open(filename, 'wb') as f: f.write(r.content) files[name] = filename # Add generated files for name, videos in generated_files.items(): existing_videos = [v for v in videos if v and os.path.isfile(v)] filename = os.path.join(data_path, name + '.rar') if not os.path.exists(filename): subprocess.run(['rar', 'a', filename, *existing_videos], shell=True) if os.path.exists(filename): files[name] = filename return files ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6901813 subliminal-2.2.0/tests/providers/0000755000175100001770000000000014636376432016454 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_addic7ed.py0000644000175100001770000005042114636376416021535 0ustar00runnerdockerimport os import pytest from babelfish import Language, language_converters # type: ignore[import-untyped] from subliminal.exceptions import AuthenticationError, ConfigurationError from subliminal.providers.addic7ed import Addic7edProvider, Addic7edSubtitle, addic7ed_sanitize, series_year_re from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'addic7ed')), ) USERNAME = 'subliminal' PASSWORD = 'subliminal' @pytest.mark.converter() def test_converter_convert_alpha3_country_script(): assert language_converters['addic7ed'].convert('srp', None, 'Cyrl') == 'Serbian (Cyrillic)' @pytest.mark.converter() def test_converter_convert_alpha3_country(): assert language_converters['addic7ed'].convert('por', 'BR') == 'Portuguese (Brazilian)' @pytest.mark.converter() def test_converter_convert_alpha3(): assert language_converters['addic7ed'].convert('eus') == 'Euskera' @pytest.mark.converter() def test_converter_convert_alpha3_name_converter(): assert language_converters['addic7ed'].convert('fra') == 'French' @pytest.mark.converter() def test_converter_reverse(): assert language_converters['addic7ed'].reverse('Chinese (Traditional)') == ('zho',) @pytest.mark.converter() def test_converter_reverse_name_converter(): assert language_converters['addic7ed'].reverse('English') == ('eng', None, None) def test_series_year_re(): match = series_year_re.match("That's: A-series.name!? (US) (2016)") assert match assert match.group('series') == "That's: A-series.name!? (US)" assert int(match.group('year')) == 2016 def test_get_matches_release_group(episodes): subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', year=2007, release_group='DIMENSION', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group'} def test_get_matches_equivalent_release_group(episodes): subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', year=2007, release_group='LOL', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group'} def test_get_matches_resolution_release_group(episodes): subtitle = Addic7edSubtitle( language=Language('heb'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', year=2007, release_group='720PDIMENSION', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution'} def test_get_matches_source_release_group(episodes): subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='Game of Thrones', season=3, episode=10, title='Mhysa', year=None, release_group='WEB-DL-NTb', ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'source'} def test_get_matches_streaming_service(episodes): subtitle = Addic7edSubtitle( language=Language('nld'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Walking Dead', season=8, episode=7, title=None, year=None, release_group='AMZN.WEB-DL-CasStudio', ) matches = subtitle.get_matches(episodes['walking_dead_s08e07']) assert matches == {'series', 'season', 'episode', 'year', 'country', 'release_group', 'streaming_service', 'source'} def test_get_matches_only_year_country(episodes): subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', year=None, release_group='DIMENSION', ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'year', 'country'} def test_get_matches_no_match(episodes): subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', year=2007, release_group='DIMENSION', ) matches = subtitle.get_matches(episodes['house_of_cards_us_s06e01']) assert matches == set() @pytest.mark.parametrize( ('text', 'expected'), [ ('The Big Bang Theory', 'the big bang theory'), ("Marvel's Agents of S.H.I.E.L.D.", 'marvel s agents of s h i e l d'), ('11.22.63', '11 22 63'), ('Alex, Inc.', 'alex inc'), ('CSI: Cyber', 'csi cyber'), ('Älska mig', 'alska mig'), ], ) def test_sanitize(text: str, expected: str): sanitized = addic7ed_sanitize(text) assert sanitized == expected def test_configuration_error_no_username(): with pytest.raises(ConfigurationError): Addic7edProvider(password=PASSWORD) def test_configuration_error_no_password(): with pytest.raises(ConfigurationError): Addic7edProvider(username=USERNAME) @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_login(): provider = Addic7edProvider(USERNAME, PASSWORD) assert provider.logged_in is False provider.initialize() assert provider.logged_in is True assert provider.session is not None r = provider.session.get(provider.server_url + '/panel.php', allow_redirects=False, timeout=10) assert r.status_code == 302 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_login_bad_password(): provider = Addic7edProvider(USERNAME, 'lanimilbus') with pytest.raises(AuthenticationError): provider.initialize() @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_logout(): provider = Addic7edProvider(USERNAME, PASSWORD) provider.initialize() provider.terminate() assert provider.logged_in is False assert provider.session is not None r = provider.session.get(provider.server_url + '/panel.php', allow_redirects=False, timeout=10) assert r.status_code == 302 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'the big bang theory' in show_ids assert show_ids['the big bang theory'] == 126 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_no_year(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'dallas' in show_ids assert show_ids['dallas'] == 802 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_year(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'dallas 2012' in show_ids assert show_ids['dallas 2012'] == 2559 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_dot(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'mr robot' in show_ids assert show_ids['mr robot'] == 5151 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_country(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'being human us' in show_ids assert show_ids['being human us'] == 1317 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_quote(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() assert 'marvel s agents of s h i e l d' in show_ids assert show_ids['marvel s agents of s h i e l d'] == 4010 @pytest.mark.integration() @vcr.use_cassette('test_get_show_ids') def test_get_show_ids_unicode(): with Addic7edProvider() as provider: show_ids = provider._get_show_ids() # "Älska_mig" assert 'alska mig' in show_ids assert show_ids['alska mig'] == 7816 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id(): with Addic7edProvider() as provider: show_id = provider._search_show_id('The Big Bang Theory') assert show_id == 126 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_incomplete(): with Addic7edProvider() as provider: show_id = provider._search_show_id('The Big Bang') assert show_id == 126 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_no_year(): with Addic7edProvider() as provider: show_id = provider._search_show_id('Dallas') assert show_id == 802 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_year(): with Addic7edProvider() as provider: show_id = provider._search_show_id('Dallas 2012') assert show_id == 2559 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_error(): with Addic7edProvider() as provider: show_id = provider._search_show_id('The Big How I Met Your Mother') assert show_id is None @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_quote(): with Addic7edProvider() as provider: show_id = provider._search_show_id("Grey's Anatomy") assert show_id == 30 @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_ids_quote_dots_mixed_case(episodes): video = episodes['marvels_agents_of_shield_s02e06'] with Addic7edProvider() as provider: series = addic7ed_sanitize(video.series) show_ids = provider._search_show_ids(series) expected = {'marvel s agents of s h i e l d': 4010, 'marvel s agents of s h i e l d slingshot': 6144} assert show_ids == expected @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_ids_with_comma(episodes): video = episodes['alex_inc_s01e04'] with Addic7edProvider() as provider: series = addic7ed_sanitize(video.series) show_ids = provider._search_show_ids(series) expected = {'alex inc': 6388} assert show_ids == expected @pytest.mark.skip() @pytest.mark.integration() @vcr.use_cassette def test_search_show_ids_with_country(episodes): with Addic7edProvider() as provider: series = addic7ed_sanitize('Being Human') show_ids = provider._search_show_ids(series) expected = {'being human': 311, 'being human us': 1317, 'being human the annie broadcasts': 1325} assert show_ids == expected @pytest.mark.integration() @vcr.use_cassette def test_get_show_id_quote_dots_mixed_case(episodes): video = episodes['marvels_agents_of_shield_s02e06'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series) assert show_id == 4010 @pytest.mark.integration() @vcr.use_cassette def test_get_show_id_with_comma(episodes): video = episodes['alex_inc_s01e04'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series) assert show_id == 6388 @pytest.mark.integration() @vcr.use_cassette def test_get_show_id_country(): with Addic7edProvider() as provider: show_id = provider.get_show_id('Being Human', country_code='US') assert show_id == 1317 @pytest.mark.integration() @vcr.use_cassette def test_get_show_id_year(): with Addic7edProvider() as provider: show_id = provider.get_show_id('Dallas', year=2012) assert show_id == 2559 @pytest.mark.integration() @vcr.use_cassette def test_get_show_id(): with Addic7edProvider() as provider: show_id = provider.get_show_id('Dallas') assert show_id == 802 @pytest.mark.integration() @vcr.use_cassette def test_query(episodes): video = episodes['bbt_s07e05'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season) assert len(subtitles) == 474 for subtitle in subtitles: assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.year is None @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_series(episodes): video = episodes['bbt_s07e05'] with Addic7edProvider() as provider: subtitles = provider.query(0, series=video.series[:12], season=video.season, year=video.year) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query_parsing(episodes): video = episodes['got_s03e10'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season) assert len(subtitles) > 0 matched_id = 'updated/1/76311/1' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == Language('eng') assert subtitle.hearing_impaired is True assert subtitle.page_link == 'https://www.addic7ed.com/serie/Game_of_Thrones/3/10/Mhysa' assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.title == video.title assert subtitle.year == video.year assert subtitle.release_group == 'EVOLVE' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_quote_dots_mixed_case(episodes): video = episodes['marvels_agents_of_shield_s02e06'] show_id = 4010 with Addic7edProvider() as provider: subtitles = provider.query(show_id, video.series, video.season) matched_id = 'updated/10/93279/9' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == Language('por', country='BR') assert subtitle.hearing_impaired is False assert ( subtitle.page_link == 'https://www.addic7ed.com/serie/Marvel%27s_Agents_of_S.H.I.E.L.D./2/6/A_Fractured_House' ) assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == 'KILLERS' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_colon(episodes): video = episodes['csi_cyber_s02e03'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season) assert show_id == 4633 matched_id = 'updated/1/105111/2' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == Language('eng') assert subtitle.hearing_impaired is False assert subtitle.page_link == 'https://www.addic7ed.com/serie/CSI%3A_Cyber/2/3/Brown_Eyes%2C_Blue_Eyes' assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == 'DIMENSION' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_dash(episodes): video = episodes['the_x_files_s10e02'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season) matched_id = 'updated/8/108202/21' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == Language('fra') assert subtitle.hearing_impaired is False assert subtitle.page_link == 'https://www.addic7ed.com/serie/The_X-Files/10/2/Founder%27s_Mutation' assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == 'KILLERS' @pytest.mark.integration() @vcr.use_cassette def test_query_year(episodes): video = episodes['dallas_2012_s01e03'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series, video.year) subtitles = provider.query(show_id, series=video.series, season=video.season, year=video.year) assert len(subtitles) == 123 for subtitle in subtitles: assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.year == video.year @pytest.mark.integration() @vcr.use_cassette def test_query_no_year(episodes): video = episodes['dallas_s01e03'] with Addic7edProvider() as provider: show_id = provider.get_show_id(video.series) assert show_id is not None subtitles = provider.query(show_id, video.series, video.season) assert len(subtitles) == 7 for subtitle in subtitles: assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.year is None @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles(episodes): video = episodes['bbt_s07e05'] languages = {Language('deu'), Language('fra')} expected_subtitles = {'updated/8/80254/1', 'updated/11/80254/5'} with Addic7edProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(episodes): video = episodes['bbt_s07e05'] languages = {Language('fra')} with Addic7edProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode_alternative_series(episodes): video = episodes['turn_s04e03'] languages = {Language('eng')} expected_subtitles = {'updated/1/125243/0', 'updated/1/125243/1'} with Addic7edProvider() as provider: subtitles = provider.list_subtitles(video, languages) matches = subtitles[0].get_matches(episodes['turn_s04e03']) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert matches == {'episode', 'title', 'series', 'season', 'year', 'country', 'release_group'} @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_show_with_asterisk(episodes): video = episodes['the_end_of_the_fucking_world'] languages = {Language('eng')} names = {'The End of the Fucking World'} expected_subtitles = {'updated/1/129156/1', 'updated/1/129156/0', 'updated/1/129156/2'} with Addic7edProvider() as provider: subtitles = provider.list_subtitles(video, languages) matches = subtitles[0].get_matches(episodes['the_end_of_the_fucking_world']) assert {subtitle.series for subtitle in subtitles} == names assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert matches == {'year', 'country', 'series', 'episode', 'season'} ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_gestdown.py0000644000175100001770000003521214636376416021724 0ustar00runnerdockerimport os import pytest from babelfish import Language, language_converters # type: ignore[import-untyped] from subliminal.providers.gestdown import GestdownProvider, GestdownSubtitle from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'gestdown')), ) @pytest.mark.converter() def test_converter_convert_alpha3_country(): assert language_converters['addic7ed'].convert('por', 'BR') == 'Portuguese (Brazilian)' def test_get_matches_release_group(episodes): subtitle = GestdownSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', release_group='DIMENSION', page_link=None, ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group'} def test_get_matches_equivalent_release_group(episodes): subtitle = GestdownSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', release_group='LOL', page_link=None, ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group'} def test_get_matches_resolution_release_group(episodes): subtitle = GestdownSubtitle( language=Language('heb'), subtitle_id='', hearing_impaired=True, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', release_group='720PDIMENSION', page_link=None, ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution'} def test_get_matches_source_release_group(episodes): subtitle = GestdownSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, series='Game of Thrones', season=3, episode=10, title='Mhysa', release_group='WEB-DL-NTb', page_link=None, ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'source'} def test_get_matches_streaming_service(episodes): subtitle = GestdownSubtitle( language=Language('nld'), subtitle_id='', hearing_impaired=True, series='The Walking Dead', season=8, episode=7, title=None, release_group='AMZN.WEB-DL-CasStudio', page_link=None, ) matches = subtitle.get_matches(episodes['walking_dead_s08e07']) assert matches == {'series', 'season', 'episode', 'year', 'country', 'release_group', 'streaming_service', 'source'} def test_get_matches_only_year_country(episodes): subtitle = GestdownSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', release_group='DIMENSION', page_link=None, ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'year', 'country'} def test_get_matches_no_match(episodes): subtitle = GestdownSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, series='The Big Bang Theory', season=7, episode=5, title='The Workplace Proximity', release_group='DIMENSION', page_link=None, ) matches = subtitle.get_matches(episodes['house_of_cards_us_s06e01']) assert matches == set() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id(): with GestdownProvider() as provider: show_id = provider._search_show_id('The Big Bang Theory') assert show_id == '91eb9278-8cf5-4ddd-9111-7f60b15958cb' @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_incomplete(): with GestdownProvider() as provider: show_id = provider._search_show_id('The Big Bang') assert show_id is None @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_no_year(): with GestdownProvider() as provider: show_id = provider._search_show_id('Dallas') assert show_id == '226d7f34-a9f5-4fe2-98d7-ecf944243714' @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_error(): with GestdownProvider() as provider: show_id = provider._search_show_id('The Big How I Met Your Mother') assert show_id is None @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_quote(): with GestdownProvider() as provider: show_id = provider._search_show_id("Grey's Anatomy") assert show_id == 'cb13bb68-c637-4e0f-b79d-d4f1b4972380' @pytest.mark.integration() @vcr.use_cassette def test_search_show_series_tvdb_id(): with GestdownProvider() as provider: # The Big Bang Theory show_id = provider._search_show_id('', series_tvdb_id='80379') assert show_id == '91eb9278-8cf5-4ddd-9111-7f60b15958cb' @pytest.mark.integration() @vcr.use_cassette def test_get_title_and_show_id_only_title(episodes): video = episodes['marvels_agents_of_shield_s02e06'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) assert title == "Marvel's Agents of S.H.I.E.L.D." assert show_id == '8976d3bb-a213-4210-9a03-f4b6d17ce540' @pytest.mark.integration() @vcr.use_cassette def test_get_title_and_show_id_with_tvdb_id(episodes): video = episodes['alex_inc_s01e04'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) assert title == 'Alex, Inc.' assert show_id == '6e507429-0994-443f-833e-1b06cbc18705' @pytest.mark.integration() @vcr.use_cassette def test_get_title_and_show_id_alternative_name(episodes): video = episodes['the_end_of_the_fucking_world'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) assert title == 'The end of the f***ing world' assert show_id == 'e789f371-ae07-4db4-b9aa-6b34e7e9e7b0' @pytest.mark.integration() @vcr.use_cassette def test_get_title_and_show_id_no_year(episodes): video = episodes['dallas_s01e03'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) assert title == 'Dallas' assert show_id == '226d7f34-a9f5-4fe2-98d7-ecf944243714' @pytest.mark.integration() @vcr.use_cassette def test_query(episodes): video = episodes['bbt_s07e05'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, Language('eng')) assert len(subtitles) == 5 for subtitle in subtitles: assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode @pytest.mark.integration() @vcr.use_cassette def test_query_no_language(episodes): video = episodes['bbt_s07e05'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, None) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_series(episodes): video = episodes['bbt_s07e05'] with GestdownProvider() as provider: subtitles = provider.query('', video.series[:12], video.season, video.episode, Language('eng')) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query_parsing(episodes): lang = Language('por', country='BR') video = episodes['got_s03e10'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, lang) matched_id = '9f486fef-ce86-4918-a292-dacd5dda07c8' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == lang assert subtitle.hearing_impaired is False assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.title == video.title assert subtitle.release_group == 'All_with_preview' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_quote_dots_mixed_case(episodes): lang = Language('eng') video = episodes['marvels_agents_of_shield_s02e06'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, lang) matched_id = '2dea1511-0b72-40db-89b5-eb6f0fb218a5' matched_subtitles = [s for s in subtitles if s.page_link and s.page_link.endswith(matched_id)] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == lang assert subtitle.hearing_impaired is False assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == '720p-KILLERS' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_colon(episodes): lang = Language('eng') video = episodes['csi_cyber_s02e03'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, lang) matched_id = 'be0fedf1-3863-42bc-a026-88af7f6a9461' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == lang assert subtitle.hearing_impaired is False assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == 'DIMENSION' @pytest.mark.integration() @vcr.use_cassette def test_query_parsing_dash(episodes): lang = Language('fra') video = episodes['the_x_files_s10e02'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, video.episode, lang) matched_id = '82efacfe-9a35-49ae-9ea8-a43af308e7e2' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] assert subtitle.language == lang assert subtitle.hearing_impaired is False assert subtitle.series == video.series assert subtitle.season == video.season assert subtitle.episode == video.episode assert subtitle.release_group == 'KILLERS' @pytest.mark.integration() @vcr.use_cassette def test_query_all_series(episodes): lang = Language('eng') video = episodes['got_s03e10'] with GestdownProvider() as provider: title, show_id = provider.get_title_and_show_id(video) subtitles = provider.query(show_id, title, video.season, None, lang) assert len(subtitles) == 85 for subtitle in subtitles: assert subtitle.series == video.series assert subtitle.season == video.season assert not all(sub.episode == video.episode for sub in subtitles) @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles(episodes): video = episodes['bbt_s07e05'] languages = {Language('deu'), Language('fra')} expected_subtitles = { '90fe1369-fa0c-4154-bd04-d3d332dec587', '712de981-a7cc-4ce0-842c-0da9a06d1472', } with GestdownProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(episodes): video = episodes['bbt_s07e05'] languages = {Language('fra')} with GestdownProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode_alternative_series(episodes): video = episodes['turn_s04e03'] languages = {Language('eng')} expected_subtitles = { '6081b9e1-a57c-4082-8e65-aa07d5547b64', '6b789fec-02e9-4a8d-b0a1-fd701a817d75', } with GestdownProvider() as provider: subtitles = provider.list_subtitles(video, languages) matches = subtitles[0].get_matches(episodes['turn_s04e03']) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert matches == {'episode', 'title', 'series', 'season', 'country', 'year', 'release_group'} @pytest.mark.integration() @vcr.use_cassette def test_show_with_asterisk(episodes): video = episodes['the_end_of_the_fucking_world'] languages = {Language('eng')} expected_subtitles = { '425506e2-2981-481a-b048-6b4e1efa145f', '0594bbe3-aef4-41a7-8673-c7d7c1b40334', 'b54fb204-c809-4405-844b-f1fd6fe12925', } with GestdownProvider() as provider: subtitles = provider.list_subtitles(video, languages) matches = subtitles[0].get_matches(episodes['the_end_of_the_fucking_world']) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert matches == {'country', 'series', 'episode', 'season', 'year'} @pytest.mark.integration() @vcr.use_cassette def test_download_with_bom(episodes): video = episodes['grimsburg_s01e01'] languages = {Language('eng')} with GestdownProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) > 0 subtitle = subtitles[0] provider.download_subtitle(subtitle) assert subtitle.content is not None assert subtitle.is_valid() is True ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_napiprojekt.py0000644000175100001770000000720414636376416022420 0ustar00runnerdockerimport os import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.providers.napiprojekt import NapiProjektProvider, NapiProjektSubtitle from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'napiprojekt')), ) def test_get_matches(movies): subtitle = NapiProjektSubtitle(Language('pol'), '6303e7ee6a835e9fcede9fb2fb00cb36') matches = subtitle.get_matches(movies['man_of_steel']) assert matches == {'hash'} def test_get_matches_no_match(episodes): subtitle = NapiProjektSubtitle(Language('pol'), 'de2e9caa58dd53a6ab9d241e6b251234') matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == set() @pytest.mark.integration() @vcr.use_cassette def test_query_microdvd(movies): language = Language('pol') video = movies['man_of_steel'] with NapiProjektProvider() as provider: subtitles = provider.query(language, video.hashes['napiprojekt']) assert len(subtitles) == 1 subtitle = subtitles[0] assert subtitle.language == language assert subtitle.content assert subtitle.is_valid() assert subtitle.subtitle_format == 'microdvd' @pytest.mark.integration() @vcr.use_cassette def test_query_srt(episodes): language = Language('pol') video = episodes['suits_s06_e12'] with NapiProjektProvider() as provider: subtitles = provider.query(language, video.hashes['napiprojekt']) assert len(subtitles) == 1 subtitle = subtitles[0] assert subtitle.language == language assert subtitle.content assert subtitle.is_valid() assert subtitle.subtitle_format == 'srt' @pytest.mark.integration() @vcr.use_cassette def test_query_srt_reencode(episodes): language = Language('pol') video = episodes['suits_s06_e13'] with NapiProjektProvider() as provider: subtitles = provider.query(language, video.hashes['napiprojekt']) assert len(subtitles) == 1 subtitle = subtitles[0] assert subtitle.language == language assert subtitle.content assert subtitle.is_valid() assert subtitle.subtitle_format == 'srt' assert subtitle.encoding == 'windows-1250' subtitle.reencode() assert subtitle.encoding == 'utf-8' assert 'O czym myślisz?' in subtitle.text @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_hash(): with NapiProjektProvider() as provider: subtitles = provider.query(Language('pol'), 'abcdabdcabcd1234abcd1234abcd123') assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles(episodes): video = episodes['bbt_s07e05'] languages = {Language('pol')} with NapiProjektProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) == 1 subtitle = subtitles[0] assert {subtitle.language} == languages assert subtitle.content assert subtitle.is_valid() @pytest.mark.integration() @vcr.use_cassette def test_download_subtitles(episodes): video = episodes['got_s03e10'] languages = {Language('pol')} with NapiProjektProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) == 1 subtitle = subtitles[0] assert {subtitle.language} == languages content = subtitle.content assert content with NapiProjektProvider() as provider: provider.download_subtitle(subtitle) assert subtitle.content == content assert subtitle.is_valid() ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_opensubtitles.py0000644000175100001770000003631514636376416022777 0ustar00runnerdockerimport os import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.exceptions import ConfigurationError from subliminal.providers.opensubtitles import ( OpenSubtitlesProvider, OpenSubtitlesSubtitle, OpenSubtitlesVipProvider, Unauthorized, ) from vcr import VCR # type: ignore[import-untyped] USERNAME = 'python-subliminal' PASSWORD = 'subliminal' vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'opensubtitles')), ) def test_get_matches_movie_hash(movies): subtitle = OpenSubtitlesSubtitle( language=Language('deu'), subtitle_id='1953771409', hearing_impaired=False, page_link=None, matched_by='moviehash', movie_kind='movie', moviehash='5b8f8f4e41ccb21e', movie_name='Man of Steel', movie_release_name='Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE', movie_year=2013, movie_imdb_id='tt0770828', series_season=0, series_episode=0, filename='Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE.srt', encoding=None, ) matches = subtitle.get_matches(movies['man_of_steel']) assert matches == {'title', 'year', 'country', 'video_codec', 'imdb_id', 'hash', 'resolution', 'source'} def test_get_matches_episode(episodes): subtitle = OpenSubtitlesSubtitle( language=Language('ell'), subtitle_id='1953579014', hearing_impaired=False, page_link=None, matched_by='fulltext', movie_kind='episode', moviehash='0', movie_name='"Game of Thrones" Mhysa', movie_release_name=' Game.of.Thrones.S03E10.HDTV.XviD-AFG', movie_year=2013, movie_imdb_id='tt2178796', series_season=3, series_episode=10, filename='Game.of.Thrones.S03E10.HDTV.XviD-AFG.srt', encoding=None, ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'imdb_id', 'series', 'year', 'country', 'episode', 'season', 'title'} def test_get_matches_episode_year(episodes): subtitle = OpenSubtitlesSubtitle( language=Language('spa'), subtitle_id='1953369959', hearing_impaired=False, page_link=None, matched_by='tag', movie_kind='episode', moviehash='0', movie_name='"Dallas" The Price You Pay', movie_release_name=' Dallas.2012.S01E03.HDTV.x264-LOL', movie_year=2012, movie_imdb_id='tt2205526', series_season=1, series_episode=3, filename='Dallas.2012.S01E03.HDTV.x264-LOL.srt', encoding='cp1252', ) matches = subtitle.get_matches(episodes['dallas_2012_s01e03']) assert matches == {'imdb_id', 'series', 'year', 'episode', 'season', 'title'} def test_get_matches_episode_filename(episodes): subtitle = OpenSubtitlesSubtitle( language=Language('por', country='BR'), subtitle_id='1954453973', hearing_impaired=False, page_link=None, matched_by='fulltext', movie_kind='episode', moviehash='0', movie_name='"Agents of S.H.I.E.L.D." A Fractured House', movie_release_name='HDTV.x264-KILLERS-mSD-AFG-EVO-KILLERS', movie_year=2014, movie_imdb_id='tt4078580', series_season=2, series_episode=6, filename='Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.srt', encoding='cp1252', ) matches = subtitle.get_matches(episodes['marvels_agents_of_shield_s02e06']) assert matches == { 'series', 'year', 'country', 'season', 'episode', 'release_group', 'source', 'resolution', 'video_codec', } def test_get_matches_episode_tag(episodes): subtitle = OpenSubtitlesSubtitle( language=Language('por', country='BR'), subtitle_id='1954453973', hearing_impaired=False, page_link=None, matched_by='tag', movie_kind='episode', moviehash='0', movie_name='"Agents of S.H.I.E.L.D." A Fractured House', movie_release_name='HDTV.x264-KILLERS-mSD-AFG-EVO-KILLERS', movie_year=2014, movie_imdb_id='tt4078580', series_season=2, series_episode=6, filename='', encoding='cp1252', ) matches = subtitle.get_matches(episodes['marvels_agents_of_shield_s02e06']) assert matches == {'series', 'year', 'country', 'season', 'episode', 'source', 'video_codec'} def test_get_matches_imdb_id(movies): subtitle = OpenSubtitlesSubtitle( language=Language('fra'), subtitle_id='1953767650', hearing_impaired=True, page_link=None, matched_by='imdbid', movie_kind='movie', moviehash=None, movie_name='Man of Steel', movie_release_name='man.of.steel.2013.720p.bluray.x264-felony', movie_year=2013, movie_imdb_id='tt0770828', series_season=0, series_episode=0, filename='man.of.steel.2013.720p.bluray.x264-felony.srt', encoding=None, ) matches = subtitle.get_matches(movies['man_of_steel']) assert matches == {'title', 'year', 'country', 'video_codec', 'imdb_id', 'resolution', 'source', 'release_group'} def test_get_matches_no_match(episodes): subtitle = OpenSubtitlesSubtitle( language=Language('fra'), subtitle_id='1953767650', hearing_impaired=False, page_link=None, matched_by='imdbid', movie_kind='movie', moviehash=0, # type: ignore[arg-type] movie_name='Man of Steel', movie_release_name='man.of.steel.2013.720p.bluray.x264-felony', movie_year=2013, movie_imdb_id=770828, # type: ignore[arg-type] series_season=0, series_episode=0, filename='man.of.steel.2013.720p.bluray.x264-felony.srt', encoding=None, ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == set() def test_configuration_error_no_username(): with pytest.raises(ConfigurationError): OpenSubtitlesProvider(password=PASSWORD) def test_configuration_error_no_password(): with pytest.raises(ConfigurationError): OpenSubtitlesProvider(username=USERNAME) @pytest.mark.skip('authorization no longer works on the old API') @pytest.mark.integration() @vcr.use_cassette def test_login(): provider = OpenSubtitlesProvider(USERNAME, PASSWORD) assert provider.token is None provider.initialize() assert provider.token is not None @pytest.mark.integration() @vcr.use_cassette def test_login_bad_password(): provider = OpenSubtitlesProvider(USERNAME, 'lanimilbus') with pytest.raises(Unauthorized): provider.initialize() @pytest.mark.integration() @vcr.use_cassette def test_login_vip_login(): provider = OpenSubtitlesVipProvider(USERNAME, PASSWORD) with pytest.raises(Unauthorized): provider.initialize() @pytest.mark.integration() @vcr.use_cassette def test_login_vip_bad_password(): provider = OpenSubtitlesVipProvider(USERNAME, 'lanimilbus') with pytest.raises(Unauthorized): provider.initialize() @pytest.mark.skip('authorization no longer works on the old API') @pytest.mark.integration() @vcr.use_cassette def test_logout(): provider = OpenSubtitlesProvider(USERNAME, PASSWORD) provider.initialize() provider.terminate() assert provider.token is None @pytest.mark.integration() @vcr.use_cassette def test_no_operation(): with OpenSubtitlesProvider() as provider: provider.no_operation() @pytest.mark.integration() @vcr.use_cassette def test_query_not_enough_information(): languages = {Language('eng')} with OpenSubtitlesProvider() as provider: # noqa: SIM117 with pytest.raises(ValueError) as excinfo: # noqa: PT011 provider.query(languages) assert str(excinfo.value) == 'Not enough information' @pytest.mark.integration() @vcr.use_cassette def test_query_query_movie(movies): video = movies['man_of_steel'] languages = {Language('fra')} expected_subtitles = { '1953150292', '1953647841', '1953767244', '1953767650', '1953770526', '1955250359', '1955252613', '1955260179', '1955260793', '1956104848', } with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, query=video.title) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_query_episode(episodes): video = episodes['dallas_2012_s01e03'] languages = {Language('fra')} expected_subtitles = {'1953147577'} with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, query=video.series, season=video.season, episode=video.episode) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.skip('query by tag currently broken on opensubtitles') @pytest.mark.integration() @vcr.use_cassette def test_query_tag_movie(movies): video = movies['interstellar'] languages = {Language('fra')} expected_subtitles = {'1954121830'} with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, tag=video.name) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_imdb_id(movies): video = movies['man_of_steel'] languages = {Language('deu')} expected_subtitles = { '1953768982', '1953771409', '1955278518', '1955279635', '1955742626', '1956717408', '1957720375', } with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, imdb_id=video.imdb_id) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_hash_size(movies): video = movies['man_of_steel'] languages = {Language('eng')} expected_subtitles = { '1953621994', '1953766279', '1953766280', '1953766413', '1953766751', '1953766883', '1953767141', '1953767218', '1953767330', '1953767678', '1953785668', } with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, moviehash=video.hashes['opensubtitles'], size=video.size) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_hash_wrong_size(): languages = {Language('eng')} with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, moviehash='123456787654321', size=99999) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query_query_season_episode(episodes): video = episodes['bbt_s07e05'] languages = {Language('deu')} expected_subtitles = {'1953771908', '1956168972'} with OpenSubtitlesProvider() as provider: subtitles = provider.query(languages, query=video.series, season=video.season, episode=video.episode) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_movie(movies): video = movies['man_of_steel'] languages = {Language('deu'), Language('fra')} expected_subtitles = { '1953150292', '1953600788', '1953608995', '1953608996', '1953647841', '1953767244', '1953767650', '1953768982', '1953770526', '1953771409', '1954879110', '1955250359', '1955252613', '1955260179', '1955260793', '1955268745', '1955278518', '1955279635', '1955280869', '1955280874', '1955742626', '1955752850', '1955752852', '1955933986', '1956104848', '1956113223', '1956683278', '1956683279', '1956717408', '1956717410', '1958112113', '1957400516', '1957720375', '1957200647', } with OpenSubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_movie_no_hash(movies): video = movies['enders_game'] languages = {Language('deu')} expected_subtitles = {'1954157398', '1954156756', '1954443141'} with OpenSubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode(episodes): video = episodes['marvels_agents_of_shield_s02e06'] languages = {Language('hun')} expected_subtitles = {'1954464403', '1955344515', '1954454544'} with OpenSubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(movies): video = movies['man_of_steel'] languages = {Language('deu'), Language('fra')} with OpenSubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True assert subtitles[0].encoding == 'cp1252' @pytest.mark.skip('query by tag currently broken on opensubtitles') @pytest.mark.integration() @vcr.use_cassette def test_tag_match(episodes): video = episodes['the fall'] languages = {Language('por', 'BR')} unwanted_subtitle_id = '1954369181' # 'Doc.Martin.S03E01.(24 September 2007).[TVRip (Xvid)]-spa.srt' with OpenSubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) matched_subtitles = [s for s in subtitles if s.id == unwanted_subtitle_id and s.matched_by == 'tag'] assert len(matched_subtitles) == 1 found_subtitle = matched_subtitles[0] matches = found_subtitle.get_matches(video) assert len(subtitles) > 0 assert unwanted_subtitle_id in {subtitle.id for subtitle in subtitles} # Assert is not a tag match: {'series', 'year', 'season', 'episode'} assert matches == {'episode', 'year', 'country', 'season'} ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_opensubtitlescom.py0000644000175100001770000003370714636376416023500 0ustar00runnerdockerimport os import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.exceptions import ConfigurationError from subliminal.providers.opensubtitlescom import ( OpenSubtitlesComError, OpenSubtitlesComProvider, OpenSubtitlesComSubtitle, Unauthorized, ) from vcr import VCR # type: ignore[import-untyped] USERNAME = 'python-subliminal-test' PASSWORD = 'subliminal' vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'opensubtitlescom')), ) def test_get_matches_movie_hash(movies): subtitle = OpenSubtitlesComSubtitle( language=Language('deu'), subtitle_id='1953771409', hearing_impaired=False, movie_kind='movie', movie_title='Man of Steel', release='Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE', movie_year=2013, movie_imdb_id='tt0770828', series_season=0, series_episode=0, moviehash_match=True, file_name='Man.of.Steel.German.720p.BluRay.x264-EXQUiSiTE.srt', ) matches = subtitle.get_matches(movies['man_of_steel']) assert matches == { 'title', 'year', 'country', 'video_codec', 'resolution', 'source', 'hash', } def test_get_matches_episode(episodes): subtitle = OpenSubtitlesComSubtitle( language=Language('ell'), subtitle_id='1953579014', hearing_impaired=False, movie_kind='episode', movie_title='Mhysa', release=' Game.of.Thrones.S03E10.HDTV.XviD-AFG', movie_year=2013, movie_imdb_id='tt2178796', series_title='Game of Thrones', series_season=3, series_episode=10, file_name='Game.of.Thrones.S03E10.HDTV.XviD-AFG.srt', ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == { 'series', 'year', 'country', 'episode', 'season', 'title', } def test_get_matches_episode_year(episodes): subtitle = OpenSubtitlesComSubtitle( language=Language('spa'), subtitle_id='1953369959', hearing_impaired=False, movie_kind='episode', movie_title='The Price You Pay', release=' Dallas.2012.S01E03.HDTV.x264-LOL', movie_year=2012, movie_imdb_id='tt2205526', series_title='Dallas', series_season=1, series_episode=3, file_name='Dallas.2012.S01E03.HDTV.x264-LOL.srt', ) matches = subtitle.get_matches(episodes['dallas_2012_s01e03']) assert matches == {'series', 'year', 'episode', 'season', 'title'} def test_get_matches_episode_filename(episodes): subtitle = OpenSubtitlesComSubtitle( language=Language('por', country='BR'), subtitle_id='1954453973', hearing_impaired=False, movie_kind='episode', movie_title='A Fractured House', release='HDTV.x264-KILLERS-mSD-AFG-EVO-KILLERS', movie_year=2014, movie_imdb_id='tt4078580', series_title='Agents of S.H.I.E.L.D.', series_season=2, series_episode=6, file_name='Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.srt', ) matches = subtitle.get_matches(episodes['marvels_agents_of_shield_s02e06']) assert matches == { 'series', 'year', 'country', 'season', 'episode', 'release_group', 'source', 'resolution', 'video_codec', } def test_get_matches_episode_tag(episodes): subtitle = OpenSubtitlesComSubtitle( language=Language('por', country='BR'), subtitle_id='1954453973', hearing_impaired=False, movie_kind='episode', movie_title='A Fractured House', release='HDTV.x264-KILLERS-mSD-AFG-EVO-KILLERS', movie_year=2014, movie_imdb_id='tt4078580', series_title='Agents of S.H.I.E.L.D.', series_season=2, series_episode=6, file_name='', ) matches = subtitle.get_matches(episodes['marvels_agents_of_shield_s02e06']) assert matches == { 'year', 'country', 'season', 'episode', 'source', 'video_codec', } def test_get_matches_imdb_id(movies): subtitle = OpenSubtitlesComSubtitle( language=Language('fra'), subtitle_id='1953767650', hearing_impaired=True, movie_kind='movie', movie_title='Man of Steel', release='man.of.steel.2013.720p.bluray.x264-felony', movie_year=2013, movie_imdb_id='tt0770828', imdb_match=True, series_season=0, series_episode=0, file_name='man.of.steel.2013.720p.bluray.x264-felony.srt', ) matches = subtitle.get_matches(movies['man_of_steel']) assert matches == { 'title', 'year', 'country', 'video_codec', 'imdb_id', 'resolution', 'source', 'release_group', } def test_get_matches_no_match(episodes): subtitle = OpenSubtitlesComSubtitle( language=Language('fra'), subtitle_id='1953767650', hearing_impaired=False, movie_kind='movie', movie_title='Man of Steel', release='man.of.steel.2013.720p.bluray.x264-felony', movie_year=2013, movie_imdb_id=770828, # type: ignore[arg-type] series_season=0, series_episode=0, file_name='man.of.steel.2013.720p.bluray.x264-felony.srt', ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == set() def test_configuration_error_no_username(): with pytest.raises(ConfigurationError): OpenSubtitlesComProvider(password=PASSWORD) def test_configuration_error_no_password(): with pytest.raises(ConfigurationError): OpenSubtitlesComProvider(username=USERNAME) @pytest.mark.integration() @vcr.use_cassette def test_login(): provider = OpenSubtitlesComProvider(USERNAME, PASSWORD) assert provider.token is None provider.initialize() provider.login(wait=True) assert provider.token is not None @pytest.mark.integration() @vcr.use_cassette def test_login_bad_password(): provider = OpenSubtitlesComProvider(USERNAME, 'lanimilbus') with pytest.raises(Unauthorized): # noqa: PT012 provider.initialize() provider.login(wait=True) @pytest.mark.integration() @vcr.use_cassette def test_logout(): provider = OpenSubtitlesComProvider(USERNAME, PASSWORD) provider.initialize() provider.login(wait=True) provider.terminate() assert provider.token is None @pytest.mark.integration() @vcr.use_cassette def test_user_infos(): with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: provider.login(wait=True) ret = provider.user_infos() assert ret @pytest.mark.integration() @vcr.use_cassette def test_query_not_enough_information(): languages = {Language('eng')} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: # noqa: SIM117 with pytest.raises(ValueError) as excinfo: # noqa: PT011 provider.query(languages) assert str(excinfo.value) == 'Not enough information' @pytest.mark.integration() @vcr.use_cassette def test_query_query_movie(movies): video = movies['man_of_steel'] languages = {Language('fra')} expected_subtitles = { '870964', '877697', '879122', '880511', '1546744', '4614499', } with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, query=video.title) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_query_episode(episodes): video = episodes['dallas_2012_s01e03'] languages = {Language('fra')} expected_subtitles = { '3359298', '3359569', '3829531', '6915085', } with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, query=video.series, season=video.season, episode=video.episode) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_tag_movie(movies): video = movies['enders_game'] languages = {Language('fra')} expected_subtitles = {'938965', '940630'} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, query=video.name) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_imdb_id(movies): video = movies['man_of_steel'] languages = {Language('deu')} expected_subtitles = { '880332', '880717', '883552', '883560', '5166256', '6632511', } with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, imdb_id=video.imdb_id) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_hash_size(movies): video = movies['man_of_steel'] languages = {Language('eng')} expected_subtitles = { '869742', '871951', '872093', '873226', '874537', '876180', '876365', '877376', '877471', '879204', '882182', '3178800', } with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, moviehash=video.hashes['opensubtitles']) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_hash_wrong_size(): languages = {Language('eng')} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: # noqa: SIM117 with pytest.raises(OpenSubtitlesComError): provider.query(languages, moviehash='123456787654321') @pytest.mark.integration() @vcr.use_cassette def test_query_query_season_episode(episodes): video = episodes['bbt_s07e05'] languages = {Language('deu')} expected_subtitles = {'2748964', '4662161'} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.query(languages, query=video.series, season=video.season, episode=video.episode) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_movie(movies): video = movies['man_of_steel'] languages = {Language('deu'), Language('fra')} expected_subtitles = { '883560', '880332', '883552', '6632511', '5166256', '879122', '880717', '870964', '880511', '877697', '4614499', '1546744', '2627058', '4620011', '7164656', '6556241', '823209', '2627042', } with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_movie_no_hash(movies): video = movies['enders_game'] languages = {Language('deu')} expected_subtitles = {'939532', '939553', '940426'} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode(episodes): video = episodes['marvels_agents_of_shield_s02e06'] languages = {Language('hun')} expected_subtitles = {'2491535', '2492310', '2493688'} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(movies): video = movies['man_of_steel'] languages = {Language('deu'), Language('fra')} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True assert subtitles[0].encoding == 'utf-8' @pytest.mark.integration() @vcr.use_cassette def test_tag_match(episodes): video = episodes['the fall'] languages = {Language('por', 'BR')} with OpenSubtitlesComProvider(USERNAME, PASSWORD) as provider: subtitles = provider.list_subtitles(video, languages) assert len(subtitles) > 0 # 'Doc.Martin.S03E01.(24 September 2007).[TVRip (Xvid)]-spa.srt' unwanted_subtitle_id = '2852678' found_subtitles = [s for s in subtitles if s.subtitle_id == unwanted_subtitle_id] assert len(found_subtitles) > 0 found_subtitle = found_subtitles[0] matches = found_subtitle.get_matches(video) # Assert is not a tag match: {'series', 'year', 'season', 'episode'} assert matches == {'episode', 'year', 'country', 'season'} ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_podnapisi.py0000644000175100001770000002113014636376416022052 0ustar00runnerdockerimport os import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.providers.podnapisi import PodnapisiProvider, PodnapisiSubtitle from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'podnapisi')), ) def test_get_matches_movie(movies): subtitle_releases = [ 'Man.Of.Steel.2013.720p.BRRip.x264.AAC-ViSiON', 'Man.Of.Steel.2013.720p.BluRay.x264-Felony', 'Man.Of.Steel.2013.1080p.BluRay.x264-SECTOR7', 'Man.Of.Steel.2013.720p.BRRip.x264.AC3-UNDERCOVER', 'Man.Of.Steel.2013.BDRip.XviD.MP3-RARBG', 'Man.Of.Steel.(2013).BDRip.600MB.Ganool', 'Man.of.Steel.2013.BDRip.x264.700MB-Micromkv', 'Man.Of.Steel.2013.BRRip.AAC.x264-SSDD', 'Man.Of.Steel.2013.BDRip.x264-Larceny', 'Man.Of.Steel.2013.BDRiP.XViD-NoGRP', 'Man.Of.Steel.2013.720p.BRRip.x264.AC3-EVO', 'Man.of.Steel.2013.720p.BRRip.h264.AAC-RARBG', 'Man.Of.Steel.[2013].BRRip.XviD-ETRG', 'Man.of.Steel.[2013].BRRip.XViD.[AC3]-ETRG', 'Man.Of.Steel.2013.BRRiP.XVID.AC3-MAJESTIC', 'Man.of.steel.2013.BRRip.XviD.AC3-RARBG', 'Man.Of.Steel.2013.720p.BRRip.x264.AC3-SUPERM4N', 'Man.Of.Steel.2013.720p.BRRip.XviD.AC3-ViSiON', 'Man.Of.Steel.2013.720p.BRRip.x264.AC3-JYK', 'Man.of.Steel.[2013].DVDRIP.DIVX.[Eng]-DUQA', 'Man.of.Steel.2013.1080p.BluRay.x264.YIFY', ] subtitle = PodnapisiSubtitle( language=Language('eng'), subtitle_id='EMgo', hearing_impaired=True, page_link=None, releases=subtitle_releases, title='Man of Steel', season=None, episode=None, year=2013, ) matches = subtitle.get_matches(movies['man_of_steel']) assert matches == {'title', 'year', 'country', 'video_codec', 'resolution', 'source', 'release_group'} def test_get_matches_episode(episodes): subtitle_releases = [ 'The.Big.Bang.Theory.S07E05.HDTV.x264-LOL', 'The.Big.Bang.Theory.S07E05.720p.HDTV.x264-DIMENSION', 'The.Big.Bang.Theory.S07E05.480p.HDTV.x264-mSD', 'The.Big.Bang.Theory.S07E05.HDTV.XviD-AFG', ] subtitle = PodnapisiSubtitle( language=Language('eng'), subtitle_id='EdQo', hearing_impaired=False, page_link=None, releases=subtitle_releases, title='The Big Bang Theory', season=7, episode=5, year=2007, ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == { 'series', 'season', 'episode', 'video_codec', 'resolution', 'source', 'release_group', 'year', 'country', } def test_get_matches_episode_year(episodes): subtitle_releases = ['Dallas.2012.S01E03.HDTV.x264-LOL'] subtitle = PodnapisiSubtitle( language=Language('eng'), subtitle_id='-5oa', hearing_impaired=True, page_link=None, releases=subtitle_releases, title='Dallas', season=1, episode=3, year=2012, ) matches = subtitle.get_matches(episodes['dallas_2012_s01e03']) assert matches == {'series', 'year', 'season', 'episode'} def test_get_matches_no_match(episodes): subtitle_releases = ['The.Big.Bang.Theory.S07E05.1080p.HDTV.DIMENSION'] subtitle = PodnapisiSubtitle( language=Language('eng'), subtitle_id='EdQo', hearing_impaired=False, page_link=None, releases=subtitle_releases, title='The Big Bang Theory', season=7, episode=5, year=2007, ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'year', 'country'} @pytest.mark.integration() @vcr.use_cassette def test_query_movie(movies): video = movies['man_of_steel'] language = Language('eng') expected_subtitles = { 'Nv0l', 'EMgo', '8RIm', 'whQm', 'aoYm', 'WMgp', 'Tsko', 'uYcm', 'XnUm', 'NLUo', 'ZmIm', 'MOko', } with PodnapisiProvider() as provider: subtitles = provider.query(language, video.title, year=video.year) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == {language} @pytest.mark.integration() @vcr.use_cassette def test_query_episode(episodes): video = episodes['bbt_s07e05'] language = Language('eng') expected_subtitles = {'EdQo', '2581', 'w581', 'ftUo', 'WNMo'} with PodnapisiProvider() as provider: subtitles = provider.query(language, video.series, season=video.season, episode=video.episode, year=video.year) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == {language} @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_movie(movies): video = movies['man_of_steel'] languages = {Language('eng'), Language('fra')} expected_subtitles = { 'Tsko', 'Nv0l', 'XnUm', 'EMgo', 'ZmIm', 'whQm', 'MOko', 'aoYm', 'WMgp', 'd_Im', 'GMso', '8RIm', 'NLUo', 'uYcm', } with PodnapisiProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode(episodes): video = episodes['got_s03e10'] languages = {Language('eng'), Language('fra')} expected_subtitles = { '8cMl', '6MMl', 'jcYl', 'am0s', 'msYl', '7sMl', 'k8Yl', '8BM5', 'Eaom', 'z8Ml', 'lMYl', '78Ml', '0MMl', 'a1I8', } with PodnapisiProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(movies): video = movies['man_of_steel'] languages = {Language('eng'), Language('fra')} with PodnapisiProvider() as provider: subtitles = provider.list_subtitles(video, languages) matched_id = 'GMso' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] # Matches matches = subtitle.get_matches(video) assert matches == {'title', 'year', 'country', 'source', 'video_codec'} # Download provider.download_subtitle(subtitle) assert subtitle.content assert subtitle.is_valid() @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode_alternative_series(episodes): video = episodes['marvels_jessica_jones_s01e13'] languages = {Language('eng')} expected_subtitles = { 'JPY-', 'BURB', 'm_c-', 'wFFC', 'tVFC', 'wlFC', 'iZk-', 'w_g-', 'CJw-', 'v5c-', 's1FC', 'u5c-', } with PodnapisiProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitles_with_title_unicode(movies): video = movies['café_society'] languages = {Language('fra')} expected_subtitles = {'iOlD', 'iulD', '2o5B', 'ielD'} with PodnapisiProvider() as provider: subtitles = provider.list_subtitles(video, languages) matched_id = 'iOlD' matched_subtitles = [s for s in subtitles if s.subtitle_id == matched_id] assert len(matched_subtitles) == 1 subtitle = matched_subtitles[0] # Matches matches = subtitle.get_matches(movies['café_society']) assert matches == {'title', 'year', 'country'} # Download provider.download_subtitle(subtitle) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert subtitle.content assert subtitle.is_valid() ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/providers/test_tvsubtitles.py0000644000175100001770000002433314636376416022464 0ustar00runnerdockerimport os import pytest from babelfish import Language, language_converters # type: ignore[import-untyped] from subliminal.providers.tvsubtitles import TVsubtitlesProvider, TVsubtitlesSubtitle from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'tvsubtitles')), ) @pytest.mark.converter() def test_converter_convert_alpha3_country(): assert language_converters['tvsubtitles'].convert('por', 'BR') == 'br' @pytest.mark.converter() def test_converter_convert_alpha3(): assert language_converters['tvsubtitles'].convert('ukr') == 'ua' @pytest.mark.converter() def test_converter_convert_alpha3_alpha2_converter(): assert language_converters['tvsubtitles'].convert('fra') == 'fr' @pytest.mark.converter() def test_converter_reverse(): assert language_converters['tvsubtitles'].reverse('gr') == ('ell',) @pytest.mark.converter() def test_converter_reverse_name_converter(): assert language_converters['tvsubtitles'].reverse('en') == ('eng', None, None) def test_get_matches_format_release_group(episodes): subtitle = TVsubtitlesSubtitle( language=Language('fra'), subtitle_id='249518', page_link=None, series='The Big Bang Theory', season=7, episode=5, year=2007, rip='HDTV', release='lol-dimension', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'year', 'country', 'source', 'release_group'} def test_get_matches_format_equivalent_release_group(episodes): subtitle = TVsubtitlesSubtitle( language=Language('fra'), subtitle_id='249518', page_link=None, series='The Big Bang Theory', season=7, episode=5, year=2007, rip='HDTV', release='lol', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'series', 'season', 'episode', 'year', 'country', 'source', 'release_group'} def test_get_matches_video_codec_resolution(episodes): subtitle = TVsubtitlesSubtitle( language=Language('por'), subtitle_id='261077', page_link=None, series='Game of Thrones', season=3, episode=10, year=None, rip='720p.BluRay', release='x264-DEMAND', ) matches = subtitle.get_matches(episodes['got_s03e10']) assert matches == {'series', 'season', 'episode', 'year', 'country', 'video_codec', 'resolution'} def test_get_matches_only_year_country(episodes): subtitle = TVsubtitlesSubtitle( language=Language('por'), subtitle_id='261077', page_link=None, series='Game of Thrones', season=3, episode=10, year=None, rip='1080p.BluRay', release='DEMAND', ) matches = subtitle.get_matches(episodes['bbt_s07e05']) assert matches == {'year', 'country'} def test_get_matches_no_match(episodes): subtitle = TVsubtitlesSubtitle( language=Language('por'), subtitle_id='261077', page_link=None, series='Game of Thrones', season=3, episode=10, year=2011, rip='1080p.BluRay', release='DEMAND', ) matches = subtitle.get_matches(episodes['house_of_cards_us_s06e01']) assert matches == set() @pytest.mark.integration() @vcr.use_cassette def test_search_show_id(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('The Big Bang Theory') assert show_id == 154 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_incomplete(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('The Big Bang') assert show_id is None @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_ambiguous(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('New Girl') assert show_id == 977 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_us(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('House of Cards', 2013) assert show_id == 1246 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_uk(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('Beautiful People') assert show_id == 657 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_no_year(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('Dallas') assert show_id == 646 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_year_in_title(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('Dallas', 2012) assert show_id == 1127 @pytest.mark.integration() @vcr.use_cassette def test_search_show_id_error(): with TVsubtitlesProvider() as provider: show_id = provider.search_show_id('The Big How I Met Your Mother') assert show_id is None @pytest.mark.integration() @vcr.use_cassette def test_get_episode_ids(): expected_episode_ids = { 1: 34274, 2: 34275, 3: 34276, 4: 34277, 5: 34849, 6: 34923, 7: 35022, 8: 35023, 9: 35436, 10: 35503, 11: 35887, 12: 36369, 13: 36513, 14: 36610, 15: 36718, 16: 36795, 17: 37152, 18: 37153, 19: 37407, 20: 37863, 21: 38218, 22: 38574, 23: 38686, 24: 38687, } with TVsubtitlesProvider() as provider: episode_ids = provider.get_episode_ids(154, 5) assert episode_ids == expected_episode_ids @pytest.mark.integration() @vcr.use_cassette def test_get_episode_ids_wrong_season(): with TVsubtitlesProvider() as provider: episode_ids = provider.get_episode_ids(154, 55) assert len(episode_ids) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query(episodes): video = episodes['bbt_s07e05'] expected_subtitles = { '268673', '249733', '249518', '249519', '249714', '32596', '249590', '249592', '249499', '261214', } with TVsubtitlesProvider() as provider: show_id = provider.search_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season, video.episode, video.year) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles @pytest.mark.integration() @vcr.use_cassette def test_query_no_year(episodes): video = episodes['dallas_s01e03'] expected_subtitles = {'124753', '167064'} with TVsubtitlesProvider() as provider: show_id = provider.search_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season, video.episode, video.year) assert show_id == 646 assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles @pytest.mark.integration() @vcr.use_cassette def test_query_with_quote(episodes): video = episodes['marvels_agents_of_shield_s02e06'] expected_subtitles = {'91420', '278637', '278909', '278910', '278972', '279205', '279216', '279217', '285917'} with TVsubtitlesProvider() as provider: show_id = provider.search_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season, video.episode, video.year) assert show_id == 1340 assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_series(episodes): video = episodes['bbt_s07e05'] with TVsubtitlesProvider() as provider: subtitles = provider.query(155, video.series[:12], video.season, video.episode, video.year) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_query_wrong_episode(episodes): video = episodes['bbt_s07e05'] with TVsubtitlesProvider() as provider: show_id = provider.search_show_id(video.series, video.year) subtitles = provider.query(show_id, video.series, video.season, 55, video.year) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng'), Language('fra')} expected_subtitles = {'249592', '249499', '32596', '249518'} with TVsubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages assert subtitles[0].release == 'The Big Bang Theory 7x05 (HDTV.LOL)' @pytest.mark.integration() @vcr.use_cassette def test_list_subtitles_episode_alternative_series(episodes): video = episodes['turn_s03e01'] languages = {Language('fra')} expected_subtitles = {'307588'} with TVsubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) assert {subtitle.subtitle_id for subtitle in subtitles} == expected_subtitles assert {subtitle.language for subtitle in subtitles} == languages @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng'), Language('fra')} with TVsubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True @pytest.mark.integration() @vcr.use_cassette def test_download_subtitle_with_quote(episodes): video = episodes['marvels_agents_of_shield_s02e06'] languages = {Language('eng'), Language('fra')} with TVsubtitlesProvider() as provider: subtitles = provider.list_subtitles(video, languages) provider.download_subtitle(subtitles[0]) assert subtitles[0].content is not None assert subtitles[0].is_valid() is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1719270681.6941814 subliminal-2.2.0/tests/refiners/0000755000175100001770000000000014636376432016254 5ustar00runnerdocker././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/refiners/test_hash.py0000644000175100001770000000106114636376416020610 0ustar00runnerdockerfrom subliminal.refiners.hash import hash_opensubtitles, hash_thesubdb def test_hash_opensubtitles(mkv): assert hash_opensubtitles(mkv['test1']) == '40b44a7096b71ec3' def test_hash_opensubtitles_too_small(tmpdir): path = tmpdir.ensure('test_too_small.mkv') assert hash_opensubtitles(str(path)) is None def test_hash_thesubdb(mkv): assert hash_thesubdb(mkv['test1']) == '054e667e93e254f8fa9f9e8e6d4e73ff' def test_hash_thesubdb_too_small(tmpdir): path = tmpdir.ensure('test_too_small.mkv') assert hash_thesubdb(str(path)) is None ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/refiners/test_omdb.py0000644000175100001770000001325014636376416020611 0ustar00runnerdockerimport os import pytest import requests from subliminal.refiners.omdb import OMDBClient, refine from subliminal.video import Episode, Movie from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'omdb')), ) @pytest.fixture() def client(): return OMDBClient() def test_session(): session = requests.Session() client = OMDBClient(session=session) assert client.session is session def test_headers(): client = OMDBClient(headers={'X-Test': 'Value'}) assert 'X-Test' in client.session.headers assert client.session.headers['X-Test'] == 'Value' def test_apikey(): apikey = '000000000' client = OMDBClient(headers={'X-Test': 'Value'}) client.apikey = apikey assert 'apikey' in client.session.params # type: ignore[operator] assert client.session.params['apikey'] == apikey # type: ignore[index,call-overload] @pytest.mark.integration() @vcr.use_cassette def test_get_id(client): data = client.search_by_id('tt0770828') assert data['Title'] == 'Man of Steel' @pytest.mark.integration() @vcr.use_cassette def test_get_wrong_id(client): data = client.search_by_id('tt9999999') assert not data @pytest.mark.integration() @vcr.use_cassette def test_get_title(client): data = client.search_by_title('Man of Steel') assert data['imdbID'] == 'tt0770828' @pytest.mark.integration() @vcr.use_cassette def test_get_wrong_title(client): data = client.search_by_title('Meen of Stal') assert not data @pytest.mark.integration() @vcr.use_cassette def test_search(client): data = client.search('Man of Steel') assert data['totalResults'] == '30' assert len(data['Search']) == 10 assert data['Search'][0]['imdbID'] == 'tt0770828' assert data['Search'][0]['Year'] == '2013' @pytest.mark.integration() @vcr.use_cassette def test_search_wrong_title(client): data = client.search('Meen of Stal') assert not data @pytest.mark.integration() @vcr.use_cassette def test_search_type(client): data = client.search('Man of Steel', is_movie=True) assert data['totalResults'] == '28' @pytest.mark.integration() @vcr.use_cassette def test_search_year(client): data = client.search('Man of Steel', year=2013) assert data['totalResults'] == '15' @pytest.mark.integration() @vcr.use_cassette def test_search_page(client): data = client.search('Man of Steel', page=3) assert data['totalResults'] == '30' assert len(data['Search']) == 10 assert data['Search'][0]['imdbID'] == 'tt2378339' assert data['Search'][0]['Title'] == 'Kurt Morrow: Man of Steel' @pytest.mark.integration() @vcr.use_cassette def test_refine_episode(episodes): episode = Episode( episodes['bbt_s07e05'].name, episodes['bbt_s07e05'].series.lower(), episodes['bbt_s07e05'].season, episodes['bbt_s07e05'].episode, ) refine(episode) assert episode.series == episodes['bbt_s07e05'].series assert episode.year == episodes['bbt_s07e05'].year assert episode.series_imdb_id == episodes['bbt_s07e05'].series_imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_original_series(episodes): episode = Episode( episodes['dallas_s01e03'].name, episodes['dallas_s01e03'].series.lower(), episodes['dallas_s01e03'].season, episodes['dallas_s01e03'].episode, ) refine(episode) assert episode.series == episodes['dallas_s01e03'].series assert episode.year == 1978 assert episode.series_imdb_id == 'tt0077000' @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_year(episodes): episode = Episode( episodes['dallas_2012_s01e03'].name, episodes['dallas_2012_s01e03'].series.lower(), episodes['dallas_2012_s01e03'].season, episodes['dallas_2012_s01e03'].episode, year=episodes['dallas_2012_s01e03'].year, original_series=False, ) refine(episode) assert episode.series == episodes['dallas_2012_s01e03'].series assert episode.year == episodes['dallas_2012_s01e03'].year assert episode.series_imdb_id == 'tt1723760' @pytest.mark.integration() @vcr.use_cassette def test_refine_movie(movies): movie = Movie(movies['man_of_steel'].name, movies['man_of_steel'].title.lower()) refine(movie) assert movie.title == movies['man_of_steel'].title assert movie.year == movies['man_of_steel'].year assert movie.imdb_id == movies['man_of_steel'].imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_movie_guess_alternative_title(movies): movie = Movie.fromname(movies['jack_reacher_never_go_back'].name) refine(movie) assert movie.title == movies['jack_reacher_never_go_back'].title assert movie.year == movies['jack_reacher_never_go_back'].year assert movie.imdb_id == movies['jack_reacher_never_go_back'].imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country(episodes): episode = Episode.fromname(episodes['shameless_us_s08e01'].name) video_series = episode.series refine(episode) # omdb has no country info. No match assert episode.series == video_series assert episode.series_imdb_id is None @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country_hoc_us(episodes): episode = Episode.fromname(episodes['house_of_cards_us_s06e01'].name) video_series = episode.series refine(episode) # omdb has no country info. No match assert episode.series == video_series assert episode.series_imdb_id is None ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/refiners/test_tmdb.py0000644000175100001770000001470714636376416020626 0ustar00runnerdockerimport os import pytest import requests from subliminal.refiners.tmdb import TMDBClient, refine from subliminal.video import Episode, Movie from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'tmdb')), ) #: TMDB subliminal test API key TMDB_API_KEY = '3dac925d5d494853ea6ef9161011fbb3' @pytest.fixture() def client(): return TMDBClient(apikey=TMDB_API_KEY) def test_session(): session = requests.Session() client = TMDBClient(session=session) assert client.session is session def test_headers(): client = TMDBClient(headers={'X-Test': 'Value'}) assert 'X-Test' in client.session.headers assert client.session.headers['X-Test'] == 'Value' def test_apikey(): apikey = '000000000' client = TMDBClient(headers={'X-Test': 'Value'}) client.apikey = apikey assert 'api_key' in client.session.params # type: ignore[operator] assert client.session.params['api_key'] == apikey # type: ignore[index,call-overload] @pytest.mark.integration() @vcr.use_cassette def test_search_movie(client): data = client.search('Man of Steel', is_movie=True) assert len(data) == 13 movie = data[0] assert movie['id'] == 49521 assert movie['release_date'] == '2013-06-12' @pytest.mark.integration() @vcr.use_cassette def test_search_movie_wrong_title(client): data = client.search('Meen of Stal', is_movie=True) assert data == [] @pytest.mark.integration() @vcr.use_cassette def test_search_movie_year(client): data = client.search('Man of Steel', is_movie=True, year=2013) assert len(data) == 1 @pytest.mark.integration() @vcr.use_cassette def test_search_movie_page(client): data = client.search('James Bond', is_movie=True, page=2) assert len(data) == 20 movie = data[0] assert movie['id'] == 264022 assert movie['title'] == 'In Search of James Bond with Jonathan Ross' @pytest.mark.integration() @vcr.use_cassette def test_search_series(client): data = client.search('The Big Bang Theory', is_movie=False) assert len(data) == 2 series = data[0] assert series['id'] == 1418 assert series['first_air_date'] == '2007-09-24' @pytest.mark.integration() @vcr.use_cassette def test_search_series_wrong_name(client): data = client.search('The Bing Bag Theory', is_movie=False) assert not data @pytest.mark.integration() @vcr.use_cassette def test_get_movie_id(client): id_ = client.get_id('Man of Steel', is_movie=True) assert id_ == 49521 @pytest.mark.integration() @vcr.use_cassette def test_get_movie_id_failed(client): id_ = client.get_id('Meen of Stal', is_movie=True) assert id_ is None @pytest.mark.integration() @vcr.use_cassette def test_get_series_id(client): id_ = client.get_id('The Big Bang Theory', is_movie=False) assert id_ == 1418 @pytest.mark.integration() @vcr.use_cassette def test_get_series_wrong_id(client): id_ = client.get_id('The Bing Bag Theory', is_movie=False) assert id_ is None def test_refine_no_apikey(movies): movie = Movie(movies['man_of_steel'].name, movies['man_of_steel'].title.lower()) refine(movie) assert movie.tmdb_id is None @pytest.mark.integration() @vcr.use_cassette def test_refine_episode(episodes): episode = Episode( episodes['bbt_s07e05'].name, episodes['bbt_s07e05'].series.lower(), episodes['bbt_s07e05'].season, episodes['bbt_s07e05'].episode, ) refine(episode, apikey=TMDB_API_KEY) assert episode.series == episodes['bbt_s07e05'].series assert episode.year == episodes['bbt_s07e05'].year assert episode.series_imdb_id == episodes['bbt_s07e05'].series_imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_original_series(episodes): episode = Episode( episodes['dallas_s01e03'].name, episodes['dallas_s01e03'].series.lower(), episodes['dallas_s01e03'].season, episodes['dallas_s01e03'].episode, ) refine(episode, apikey=TMDB_API_KEY) assert episode.series == episodes['dallas_s01e03'].series assert episode.year == 1978 assert episode.series_imdb_id == 'tt0077000' @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_year(episodes): episode = Episode( episodes['dallas_2012_s01e03'].name, episodes['dallas_2012_s01e03'].series.lower(), episodes['dallas_2012_s01e03'].season, episodes['dallas_2012_s01e03'].episode, year=episodes['dallas_2012_s01e03'].year, original_series=False, ) refine(episode, apikey=TMDB_API_KEY) assert episode.series == episodes['dallas_2012_s01e03'].series assert episode.year == episodes['dallas_2012_s01e03'].year assert episode.series_imdb_id == 'tt1723760' @pytest.mark.integration() @vcr.use_cassette def test_refine_movie(movies): movie = Movie(movies['man_of_steel'].name, movies['man_of_steel'].title.lower()) refine(movie, apikey=TMDB_API_KEY) assert movie.title == movies['man_of_steel'].title assert movie.year == movies['man_of_steel'].year assert movie.imdb_id == movies['man_of_steel'].imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_movie_guess_alternative_title(movies): movie = Movie.fromname(movies['jack_reacher_never_go_back'].name) refine(movie, apikey=TMDB_API_KEY) assert movie.title == movies['jack_reacher_never_go_back'].title assert movie.year == movies['jack_reacher_never_go_back'].year assert movie.imdb_id == movies['jack_reacher_never_go_back'].imdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country(episodes): episode = Episode.fromname(episodes['shameless_us_s08e01'].name) refine(episode, apikey=TMDB_API_KEY) # omdb has no country info. No match assert episode.series == episodes['shameless_us_s08e01'].series assert episode.series_tmdb_id == 34307 assert episode.series_imdb_id == 'tt1586680' @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country_hoc_us(episodes): episode = Episode.fromname(episodes['house_of_cards_us_s06e01'].name) refine(episode, apikey=TMDB_API_KEY) # omdb has no country info. No match assert episode.series == episodes['house_of_cards_us_s06e01'].series assert episode.series_tmdb_id == 1425 assert episode.series_imdb_id == 'tt1856010' ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/refiners/test_tvdb.py0000644000175100001770000002736014636376416020636 0ustar00runnerdockerimport os import time from datetime import datetime, timedelta, timezone import pytest import requests from subliminal.refiners.tvdb import TVDBClient, refine, series_re from subliminal.video import Episode from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'tvdb')), ) @pytest.fixture() def client(): return TVDBClient() def test_apikey(): apikey = '000000000' client = TVDBClient() client.apikey = apikey assert client.token is None def test_series_re_no_year(): m = series_re.match('Series Name') assert m groups = m.groupdict() assert groups['series'] == 'Series Name' assert groups['year'] is None def test_series_re_year_parenthesis(): m = series_re.match('Series Name (2013)') assert m groups = m.groupdict() assert groups['series'] == 'Series Name' assert groups['year'] == '2013' assert groups['country'] is None def test_series_re_text_parenthesis(): m = series_re.match('Series Name (Rock)') assert m groups = m.groupdict() assert groups['series'] == 'Series Name (Rock)' assert groups['year'] is None assert groups['country'] is None def test_series_re_text_unclosed_parenthesis(): m = series_re.match('Series Name (2013') assert m groups = m.groupdict() assert groups['series'] == 'Series Name (2013' assert groups['year'] is None assert groups['country'] is None def test_series_re_country(): m = series_re.match('Series Name (UK)') assert m groups = m.groupdict() assert groups['series'] == 'Series Name' assert groups['year'] is None assert groups['country'] == 'UK' def test_language(): client = TVDBClient() assert 'Accept-Language' in client.session.headers assert client.session.headers['Accept-Language'] == 'en' assert client.language == 'en' client.language = 'fr' assert client.session.headers['Accept-Language'] == 'fr' assert client.language == 'fr' def test_session(): session = requests.Session() client = TVDBClient(session=session) assert client.session is session def test_headers(): client = TVDBClient(headers={'X-Test': 'Value'}) assert 'X-Test' in client.session.headers assert client.session.headers['X-Test'] == 'Value' @pytest.mark.integration() @vcr.use_cassette def test_login_error(): client = TVDBClient('1234') with pytest.raises(requests.HTTPError): client.login() @pytest.mark.integration() @vcr.use_cassette def test_login(client): assert client.token is None assert client.token_date <= datetime.now(timezone.utc) - timedelta(hours=1) assert client.token_expired client.login() assert client.token is not None assert client.token_date > datetime.now(timezone.utc) - timedelta(seconds=1) assert client.token_expired is False @pytest.mark.integration() @vcr.use_cassette def test_token_needs_refresh(client, monkeypatch): monkeypatch.setattr(client, 'refresh_token_every', timedelta(milliseconds=100)) assert client.token_needs_refresh client.login() assert not client.token_needs_refresh time.sleep(0.5) assert client.token_needs_refresh @pytest.mark.integration() @vcr.use_cassette def test_refresh_token(client): client.login() old_token = client.token time.sleep(0.5) client.refresh_token() assert client.token != old_token @pytest.mark.integration() @vcr.use_cassette def test_search_series(client): data = client.search_series('The Big Bang Theory') assert len(data) == 1 series = data[0] assert series['id'] == 80379 assert series['firstAired'] == '2007-09-24' @pytest.mark.integration() @vcr.use_cassette def test_search_series_wrong_name(client): data = client.search_series('The Bing Bag Theory') assert data == {} @pytest.mark.integration() @vcr.use_cassette def test_get_series(client): series = client.get_series(80379) assert series['id'] == 80379 assert series['firstAired'] == '2007-09-24' assert series['imdbId'] == 'tt0898266' @pytest.mark.integration() @vcr.use_cassette def test_get_series_wrong_id(client): series = client.get_series(999999999) assert series == {} @pytest.mark.integration() @vcr.use_cassette def test_get_series_actors(client): actors = client.get_series_actors(80379) assert len(actors) == 12 assert 'Jim Parsons' in {a['name'] for a in actors} @pytest.mark.integration() @vcr.use_cassette def test_get_series_actors_wrong_id(client): actors = client.get_series_actors(999999999) assert actors == [] @pytest.mark.integration() @vcr.use_cassette def test_query_series_episodes(client): episodes_data = client.query_series_episodes(80379, aired_season=7, aired_episode=5) assert episodes_data['links']['first'] == 1 assert episodes_data['links']['last'] == 1 assert episodes_data['links']['next'] is None assert episodes_data['links']['prev'] is None assert len(episodes_data['data']) == 1 assert episodes_data['data'][0]['episodeName'] == 'The Workplace Proximity' @pytest.mark.integration() @vcr.use_cassette def test_query_series_episodes_wrong_season(client): episodes_data = client.query_series_episodes(80379, aired_season=99) assert episodes_data == {} @pytest.mark.integration() @vcr.use_cassette def test_refine(episodes): video = episodes['bbt_s07e05'] episode = Episode(video.name.lower(), video.series.lower(), video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_partial(episodes): video = episodes['csi_s15e18'] episode = Episode(video.name.lower(), video.series.lower().split(':')[0], video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_ambiguous(episodes): video = episodes['colony_s01e09'] episode = Episode(video.name.lower(), video.series.lower(), video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_ambiguous_2(episodes): video = episodes['the_100_s03e09'] episode = Episode(video.name.lower(), video.series.lower(), video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_year(episodes): video = episodes['dallas_2012_s01e03'] episode = Episode( video.name.lower(), video.series.lower(), video.season, video.episode, year=video.year, original_series=video.original_series, ) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_no_year(episodes): video = episodes['dallas_s01e03'] episode = Episode(video.name.lower(), video.series.lower(), video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_alternative_series(episodes): video = episodes['turn_s04e03'] episode = Episode(video.name.lower(), video.series.lower(), video.season, video.episode) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_comma(episodes): video = episodes['alex_inc_s01e04'] episode = Episode.fromname(video.name) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country(episodes): video = episodes['shameless_us_s08e01'] episode = Episode.fromname(video.name) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series @pytest.mark.integration() @vcr.use_cassette def test_refine_episode_with_country_hoc_us(episodes): video = episodes['house_of_cards_us_s06e01'] episode = Episode.fromname(video.name) refine(episode) assert episode.series == video.series assert episode.year == video.year assert episode.original_series == video.original_series assert episode.title == video.title assert episode.imdb_id == video.imdb_id assert episode.series_imdb_id == video.series_imdb_id assert episode.tvdb_id == video.tvdb_id assert episode.series_tvdb_id == video.series_tvdb_id assert episode.alternative_series == video.alternative_series ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_cache.py0000644000175100001770000000275314636376416017124 0ustar00runnerdockerfrom unittest.mock import Mock from dogpile.cache import make_region # A Mock version is already provided in conftest.py so no need to configure it again from subliminal.cache import region as region_custom # Configure default dogpile cache region_dogpile = make_region() region_dogpile.configure('dogpile.cache.null') region_dogpile.configure = Mock() # type: ignore[method-assign] str_object = 'The Simpsons-S12E09-HOMЯ' bytes_object = b'The Simpsons-S12E09-HOM\xd0\xaf' namespace = 'namespace' expected_key = 'test_cache:fn|namespace|The Simpsons-S12E09-HOMЯ' # Key is expected as native string def fn(): pass def test_dogpile_cache_key_generator_unicode_string(): key = region_dogpile.function_key_generator(namespace, fn)(str_object) assert key == expected_key assert isinstance(key, str) def test_dogpile_cache_key_generator_byte_string(): key = region_dogpile.function_key_generator(namespace, fn)(bytes_object) assert key == 'test_cache:fn|namespace|' + str(b'The Simpsons-S12E09-HOM\xd0\xaf') assert key != expected_key # Key is not as expected assert isinstance(key, str) def test_custom_cache_key_generator_unicode_string(): key = region_custom.function_key_generator(namespace, fn)(str_object) assert key == expected_key assert isinstance(key, str) def test_custom_cache_key_generator_byte_string(): key = region_custom.function_key_generator(namespace, fn)(bytes_object) assert key == expected_key assert isinstance(key, str) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_core.py0000644000175100001770000006324214636376416017011 0ustar00runnerdocker# ruff: noqa: PT011, SIM115 import os import sys from datetime import datetime, timedelta, timezone from typing import Any from unittest.mock import Mock import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.core import ( AsyncProviderPool, ProviderPool, check_video, download_best_subtitles, download_subtitles, list_subtitles, refine, save_subtitles, scan_archive, scan_video, scan_videos, search_external_subtitles, ) from subliminal.extensions import provider_manager from subliminal.providers.tvsubtitles import TVsubtitlesSubtitle from subliminal.score import episode_scores from subliminal.subtitle import Subtitle from subliminal.utils import timestamp from subliminal.video import Episode, Movie from vcr import VCR # type: ignore[import-untyped] vcr = VCR( path_transformer=lambda path: path + '.yaml', record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), decode_compressed_response=True, match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'], cassette_library_dir=os.path.realpath(os.path.join('tests', 'cassettes', 'core')), ) unix_platform = pytest.mark.skipif( not sys.platform.startswith('linux'), reason='only on linux platform', ) @pytest.fixture() def _mock_providers(monkeypatch): for provider in provider_manager: monkeypatch.setattr(provider.plugin, 'initialize', Mock()) monkeypatch.setattr(provider.plugin, 'list_subtitles', Mock(return_value=[provider.name])) monkeypatch.setattr(provider.plugin, 'download_subtitle', Mock()) monkeypatch.setattr(provider.plugin, 'terminate', Mock()) def test_provider_pool_get_keyerror(): pool = ProviderPool() with pytest.raises(KeyError): pool['de7cidda'] def test_provider_pool_del_keyerror(): pool = ProviderPool() with pytest.raises(KeyError): del pool['addic7ed'] @pytest.mark.usefixtures('_mock_providers') def test_provider_pool_iter(): pool = ProviderPool() assert len(list(pool)) == 0 pool['tvsubtitles'] assert len(list(pool)) == 1 @pytest.mark.usefixtures('_mock_providers') def test_provider_pool_list_subtitles_provider(episodes): pool = ProviderPool() subtitles = pool.list_subtitles_provider('tvsubtitles', episodes['bbt_s07e05'], {Language('eng')}) assert subtitles == ['tvsubtitles'] # type: ignore[comparison-overlap] assert provider_manager['tvsubtitles'].plugin.initialize.called assert provider_manager['tvsubtitles'].plugin.list_subtitles.called @pytest.mark.usefixtures('_mock_providers') def test_provider_pool_list_subtitles(episodes): pool = ProviderPool() subtitles = pool.list_subtitles(episodes['bbt_s07e05'], {Language('eng')}) assert sorted(subtitles) == ['gestdown', 'opensubtitles', 'opensubtitlescom', 'podnapisi', 'tvsubtitles'] # type: ignore[type-var,comparison-overlap] for provider in subtitles: assert provider_manager[provider].plugin.initialize.called assert provider_manager[provider].plugin.list_subtitles.called @pytest.mark.usefixtures('_mock_providers') def test_async_provider_pool_list_subtitles_provider(episodes): pool = AsyncProviderPool() subtitles = pool.list_subtitles_provider_tuple('tvsubtitles', episodes['bbt_s07e05'], {Language('eng')}) assert subtitles == ('tvsubtitles', ['tvsubtitles']) # type: ignore[comparison-overlap] assert provider_manager['tvsubtitles'].plugin.initialize.called assert provider_manager['tvsubtitles'].plugin.list_subtitles.called @pytest.mark.usefixtures('_mock_providers') def test_async_provider_pool_list_subtitles(episodes): pool = AsyncProviderPool() subtitles = pool.list_subtitles(episodes['bbt_s07e05'], {Language('eng')}) assert sorted(subtitles) == ['gestdown', 'opensubtitles', 'opensubtitlescom', 'podnapisi', 'tvsubtitles'] # type: ignore[type-var,comparison-overlap] for provider in subtitles: assert provider_manager[provider].plugin.initialize.called assert provider_manager[provider].plugin.list_subtitles.called def test_check_video_languages(movies): video = movies['man_of_steel'] languages = {Language('fra'), Language('eng')} assert check_video(video, languages=languages) video.subtitle_languages = languages assert not check_video(video, languages=languages) def test_check_video_age(movies, monkeypatch): video = movies['man_of_steel'] monkeypatch.setattr('subliminal.video.Video.age', timedelta(weeks=2)) assert check_video(video, age=timedelta(weeks=3)) assert not check_video(video, age=timedelta(weeks=1)) def test_check_video_undefined(movies): video = movies['man_of_steel'] assert check_video(video, undefined=False) assert check_video(video, undefined=True) video.subtitle_languages = {Language('und')} assert check_video(video, undefined=False) assert not check_video(video, undefined=True) def test_search_external_subtitles(episodes, tmpdir): video_name = os.path.split(episodes['bbt_s07e05'].name)[1] video_root = os.path.splitext(video_name)[0] video_path = str(tmpdir.ensure(video_name)) expected_subtitles = { video_name + '.srt': Language('und'), video_root + '.srt': Language('und'), video_root + '.en.srt': Language('eng'), video_name + '.fra.srt': Language('fra'), video_root + '.pt-BR.srt': Language('por', 'BR'), video_name + '.sr_cyrl.sub': Language('srp', script='Cyrl'), video_name + '.re.srt': Language('und'), video_name + '.something.srt': Language('und'), } tmpdir.ensure(os.path.split(episodes['got_s03e10'].name)[1] + '.srt') for path in expected_subtitles: tmpdir.ensure(path) subtitles = search_external_subtitles(video_path) assert subtitles == expected_subtitles def test_search_external_subtitles_archive(movies, tmpdir): video_name = os.path.split(movies['interstellar'].name)[1] video_root = os.path.splitext(video_name)[0] video_path = str(tmpdir.ensure(video_name)) expected_subtitles = { video_name + '.srt': Language('und'), video_root + '.srt': Language('und'), video_root + '.en.srt': Language('eng'), video_name + '.fra.srt': Language('fra'), video_root + '.pt-BR.srt': Language('por', 'BR'), video_name + '.sr_cyrl.sub': Language('srp', script='Cyrl'), video_name + '.something.srt': Language('und'), } tmpdir.ensure(os.path.split(movies['interstellar'].name)[1] + '.srt') for path in expected_subtitles: tmpdir.ensure(path) subtitles = search_external_subtitles(video_path) assert subtitles == expected_subtitles def test_search_external_subtitles_no_directory(movies, tmpdir, monkeypatch): video_name = os.path.split(movies['man_of_steel'].name)[1] video_root = os.path.splitext(video_name)[0] tmpdir.ensure(video_name) monkeypatch.chdir(str(tmpdir)) expected_subtitles = {video_name + '.srt': Language('und'), video_root + '.en.srt': Language('eng')} for path in expected_subtitles: tmpdir.ensure(path) subtitles = search_external_subtitles(video_name) assert subtitles == expected_subtitles def test_search_external_subtitles_in_directory(episodes, tmpdir): video_name = episodes['marvels_agents_of_shield_s02e06'].name video_root = os.path.splitext(video_name)[0] tmpdir.ensure('tvshows', video_name) subtitles_directory = str(tmpdir.ensure('subtitles', dir=True)) expected_subtitles = {video_name + '.srt': Language('und'), video_root + '.en.srt': Language('eng')} tmpdir.ensure('tvshows', video_name + '.fr.srt') for path in expected_subtitles: tmpdir.ensure('subtitles', path) subtitles = search_external_subtitles(video_name, directory=subtitles_directory) assert subtitles == expected_subtitles def test_scan_video_movie(movies, tmpdir, monkeypatch): video = movies['man_of_steel'] monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(video.name) scanned_video = scan_video(video.name) assert isinstance(scanned_video, Movie) assert scanned_video.name == video.name assert scanned_video.source == video.source assert scanned_video.release_group == video.release_group assert scanned_video.resolution == video.resolution assert scanned_video.video_codec == video.video_codec assert scanned_video.audio_codec is None assert scanned_video.imdb_id is None assert scanned_video.hashes == {} assert scanned_video.size == 0 assert scanned_video.subtitle_languages == set() assert scanned_video.title == video.title assert scanned_video.year == video.year def test_scan_video_episode(episodes, tmpdir, monkeypatch): video = episodes['bbt_s07e05'] monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(video.name) scanned_video = scan_video(video.name) assert isinstance(scanned_video, Episode) assert scanned_video.name, video.name assert scanned_video.source == video.source assert scanned_video.release_group == video.release_group assert scanned_video.resolution == video.resolution assert scanned_video.video_codec == video.video_codec assert scanned_video.audio_codec is None assert scanned_video.imdb_id is None assert scanned_video.hashes == {} assert scanned_video.size == 0 assert scanned_video.subtitle_languages == set() assert scanned_video.series == video.series assert scanned_video.season == video.season assert scanned_video.episode == video.episode assert scanned_video.title is None assert scanned_video.year is None assert scanned_video.tvdb_id is None def test_refine_video_metadata(mkv): scanned_video = scan_video(mkv['test5']) refine(scanned_video, episode_refiners=('metadata',), movie_refiners=('metadata',)) assert type(scanned_video) is Movie assert scanned_video.name == mkv['test5'] assert scanned_video.source is None assert scanned_video.release_group is None assert scanned_video.resolution is None assert scanned_video.video_codec == 'H.264' assert scanned_video.audio_codec == 'AAC' assert scanned_video.imdb_id is None assert scanned_video.hashes == { 'opensubtitlescom': '49e2530ea3bd0d18', 'opensubtitles': '49e2530ea3bd0d18', } assert scanned_video.size == 31762747 assert scanned_video.subtitle_languages == { Language('spa'), Language('deu'), Language('jpn'), Language('und'), Language('ita'), Language('fra'), Language('hun'), } assert scanned_video.title == 'test5' assert scanned_video.year is None def test_scan_video_path_does_not_exist(movies): with pytest.raises(ValueError) as excinfo: scan_video(movies['man_of_steel'].name) assert str(excinfo.value) == 'Path does not exist' def test_scan_video_invalid_extension(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) movie_name = os.path.splitext(movies['man_of_steel'].name)[0] + '.mp3' tmpdir.ensure(movie_name) with pytest.raises(ValueError) as excinfo: scan_video(movie_name) assert str(excinfo.value) == "'.mp3' is not a valid video extension" def test_scan_video_broken(mkv, tmpdir, monkeypatch): broken_path = 'test1.mkv' with open(mkv['test1'], 'rb') as original, tmpdir.join(broken_path).open('wb') as broken: broken.write(original.read(512)) monkeypatch.chdir(str(tmpdir)) scanned_video = scan_video(broken_path) assert type(scanned_video) is Movie assert scanned_video.name == str(broken_path) assert scanned_video.source is None assert scanned_video.release_group is None assert scanned_video.resolution is None assert scanned_video.video_codec is None assert scanned_video.audio_codec is None assert scanned_video.imdb_id is None assert scanned_video.hashes == {} assert scanned_video.size == 512 assert scanned_video.subtitle_languages == set() assert scanned_video.title == 'test1' assert scanned_video.year is None def test_scan_archive_invalid_extension(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) movie_name = os.path.splitext(movies['interstellar'].name)[0] + '.mp3' tmpdir.ensure(movie_name) with pytest.raises(ValueError) as excinfo: scan_archive(movie_name) assert str(excinfo.value) == "'.mp3' is not a valid archive" def test_scan_videos_path_does_not_exist(movies): with pytest.raises(ValueError) as excinfo: scan_videos(movies['man_of_steel'].name) assert str(excinfo.value) == 'Path does not exist' def test_scan_videos_path_is_not_a_directory(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(movies['man_of_steel'].name) with pytest.raises(ValueError) as excinfo: scan_videos(movies['man_of_steel'].name) assert str(excinfo.value) == 'Path is not a directory' def test_scan_videos(movies, tmpdir, monkeypatch): man_of_steel = tmpdir.ensure('movies', movies['man_of_steel'].name) tmpdir.ensure('movies', '.private', 'sextape.mkv') tmpdir.ensure('movies', '.hidden_video.mkv') tmpdir.ensure('movies', 'Sample', 'video.mkv') tmpdir.ensure('movies', 'sample.mkv') tmpdir.ensure('movies', movies['enders_game'].name) tmpdir.ensure('movies', movies['interstellar'].name) tmpdir.ensure('movies', os.path.splitext(movies['enders_game'].name)[0] + '.nfo') tmpdir.ensure('movies', 'watched', dir=True) watched_path = tmpdir.join('movies', 'watched', os.path.split(movies['man_of_steel'].name)[1]) if hasattr(watched_path, 'mksymlinkto'): watched_path.mksymlinkto(man_of_steel) # mock scan_video and scan_archive with the correct types mock_video = Mock(subtitle_languages=set()) mock_scan_video = Mock(return_value=mock_video) monkeypatch.setattr('subliminal.core.scan_video', mock_scan_video) mock_scan_archive = Mock(return_value=mock_video) monkeypatch.setattr('subliminal.core.scan_archive', mock_scan_archive) monkeypatch.chdir(str(tmpdir)) videos = scan_videos('movies') # general asserts assert len(videos) == 3 assert mock_scan_video.call_count == 2 assert mock_scan_archive.call_count == 1 # scan_video calls kwargs: dict[str, Any] = {} scan_video_calls = [ ((os.path.join('movies', movies['man_of_steel'].name),), kwargs), ((os.path.join('movies', movies['enders_game'].name),), kwargs), ] mock_scan_video.assert_has_calls(scan_video_calls, any_order=True) # type: ignore[arg-type] # scan_archive calls kwargs = {} scan_archive_calls = [((os.path.join('movies', movies['interstellar'].name),), kwargs)] mock_scan_archive.assert_has_calls(scan_archive_calls, any_order=True) # type: ignore[arg-type] def test_scan_videos_age(movies, tmpdir, monkeypatch): tmpdir.ensure('movies', movies['man_of_steel'].name) tmpdir.ensure('movies', movies['enders_game'].name).setmtime( timestamp(datetime.now(timezone.utc) - timedelta(days=10)) ) # mock scan_video and scan_archive with the correct types mock_video = Mock(subtitle_languages=set()) mock_scan_video = Mock(return_value=mock_video) monkeypatch.setattr('subliminal.core.scan_video', mock_scan_video) mock_scan_archive = Mock(return_value=mock_video) monkeypatch.setattr('subliminal.core.scan_archive', mock_scan_archive) monkeypatch.chdir(str(tmpdir)) videos = scan_videos('movies', age=timedelta(days=7)) # general asserts assert len(videos) == 1 assert mock_scan_video.call_count == 1 assert mock_scan_archive.call_count == 0 # scan_video calls kwargs: dict[str, Any] = {} scan_video_calls = [((os.path.join('movies', movies['man_of_steel'].name),), kwargs)] mock_scan_video.assert_has_calls(scan_video_calls, any_order=True) # type: ignore[arg-type] @pytest.mark.usefixtures('_mock_providers') def test_list_subtitles_movie(movies): video = movies['man_of_steel'] languages = {Language('eng')} subtitles = list_subtitles({video}, languages) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitlesvip', 'tvsubtitles'): assert not provider_manager[name].plugin.list_subtitles.called for name in ('opensubtitles', 'opensubtitlescom', 'podnapisi'): assert provider_manager[name].plugin.list_subtitles.called # test result assert len(subtitles) == 1 assert sorted(subtitles[movies['man_of_steel']]) == ['opensubtitles', 'opensubtitlescom', 'podnapisi'] # type: ignore[type-var,comparison-overlap] @pytest.mark.usefixtures('_mock_providers') def test_list_subtitles_episode(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng'), Language('heb')} subtitles = list_subtitles({video}, languages) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitlesvip'): assert not provider_manager[name].plugin.list_subtitles.called for name in ('gestdown', 'opensubtitles', 'opensubtitlescom', 'podnapisi', 'tvsubtitles'): assert provider_manager[name].plugin.list_subtitles.called # test result assert len(subtitles) == 1 assert sorted(subtitles[episodes['bbt_s07e05']]) == [ # type: ignore[type-var,comparison-overlap] 'gestdown', 'opensubtitles', 'opensubtitlescom', 'podnapisi', 'tvsubtitles', ] @pytest.mark.usefixtures('_mock_providers') def test_list_subtitles_providers(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng')} subtitles = list_subtitles({video}, languages, providers=['opensubtitles']) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitlesvip', 'podnapisi', 'tvsubtitles'): assert not provider_manager[name].plugin.list_subtitles.called for name in ('opensubtitles',): assert provider_manager[name].plugin.list_subtitles.called # test result assert len(subtitles) == 1 assert sorted(subtitles[episodes['bbt_s07e05']]) == ['opensubtitles'] # type: ignore[type-var,comparison-overlap] @pytest.mark.usefixtures('_mock_providers') def test_list_subtitles_episode_no_hash(episodes): video = episodes['dallas_s01e03'] languages = {Language('eng'), Language('heb')} subtitles = list_subtitles({video}, languages) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitlesvip'): assert not provider_manager[name].plugin.list_subtitles.called for name in ('gestdown', 'opensubtitles', 'podnapisi', 'tvsubtitles'): assert provider_manager[name].plugin.list_subtitles.called # test result assert len(subtitles) == 1 assert sorted(subtitles[episodes['dallas_s01e03']]) == [ # type: ignore[type-var,comparison-overlap] 'gestdown', 'opensubtitles', 'opensubtitlescom', 'podnapisi', 'tvsubtitles', ] @pytest.mark.usefixtures('_mock_providers') def test_list_subtitles_no_language(episodes): video = episodes['dallas_s01e03'] languages = {Language('eng')} video.subtitle_languages = languages subtitles = list_subtitles({video}, languages) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitles', 'opensubtitlesvip', 'podnapisi', 'tvsubtitles'): assert not provider_manager[name].plugin.list_subtitles.called # test result assert len(subtitles) == 0 @pytest.mark.usefixtures('_mock_providers') def test_download_subtitles(): subtitles = [ TVsubtitlesSubtitle( language=Language('por'), subtitle_id='261077', page_link=None, series='Game of Thrones', season=3, episode=10, year=None, rip='1080p.BluRay', release='DEMAND', ) ] download_subtitles(subtitles) # test providers for name in ('addic7ed', 'napiprojekt', 'opensubtitles', 'opensubtitlesvip', 'podnapisi'): assert not provider_manager[name].plugin.download_subtitle.called for name in ('tvsubtitles',): assert provider_manager[name].plugin.download_subtitle.called @pytest.mark.integration() @vcr.use_cassette def test_download_best_subtitles(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng'), Language('fra')} providers = ['gestdown', 'podnapisi'] expected_subtitles = { ('podnapisi', 'EdQo'), ('podnapisi', 'Dego'), # ('gestdown', 'a295515c-a460-44ea-9ba8-8d37bcb9b5a6'), # ('gestdown', '90fe1369-fa0c-4154-bd04-d3d332dec587'), } subtitles = download_best_subtitles({video}, languages, providers=providers) assert len(subtitles) == 1 assert len(subtitles[video]) == 2 assert {(s.provider_name, s.id) for s in subtitles[video]} == expected_subtitles @pytest.mark.integration() @vcr.use_cassette def test_download_best_subtitles_min_score(episodes): video = episodes['bbt_s07e05'] languages = {Language('fra')} providers = ['gestdown'] subtitles = download_best_subtitles({video}, languages, min_score=episode_scores['hash'], providers=providers) assert len(subtitles) == 1 assert len(subtitles[video]) == 0 def test_download_best_subtitles_no_language(episodes): video = episodes['bbt_s07e05'] languages = {Language('fra')} video.subtitle_languages = languages providers = ['gestdown'] subtitles = download_best_subtitles({video}, languages, min_score=episode_scores['hash'], providers=providers) assert len(subtitles) == 0 def test_download_best_subtitles_undefined(episodes): video = episodes['bbt_s07e05'] languages = {Language('und')} video.subtitle_languages = languages providers = ['gestdown'] subtitles = download_best_subtitles( {video}, languages, min_score=episode_scores['hash'], only_one=True, providers=providers ) assert len(subtitles) == 0 @pytest.mark.integration() @vcr.use_cassette def test_download_best_subtitles_only_one(episodes): video = episodes['bbt_s07e05'] languages = {Language('eng'), Language('por', 'BR')} providers = ['gestdown', 'podnapisi'] # expected_subtitles = {('gestdown', 'a295515c-a460-44ea-9ba8-8d37bcb9b5a6')} expected_subtitles = {('podnapisi', 'EdQo')} subtitles = download_best_subtitles({video}, languages, only_one=True, providers=providers) assert len(subtitles) == 1 assert len(subtitles[video]) == 1 assert {(s.provider_name, s.id) for s in subtitles[video]} == expected_subtitles def test_save_subtitles(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) tmpdir.ensure(movies['man_of_steel'].name) subtitle_no_content = Subtitle(Language('eng'), '') subtitle = Subtitle(Language('fra'), '') subtitle.content = b'Some content' subtitle_other = Subtitle(Language('fra'), '') subtitle_other.content = b'Some other content' subtitle_pt_br = Subtitle(Language('por', 'BR'), '') subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle_no_content, subtitle, subtitle_other, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles) # subtitle without content is skipped path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.en.srt') assert not os.path.exists(path) # first subtitle with language is saved path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.fr.srt') assert os.path.exists(path) assert open(path, 'rb').read() == b'Some content' # ietf language in path path = os.path.join(str(tmpdir), os.path.splitext(movies['man_of_steel'].name)[0] + '.pt-BR.srt') assert os.path.exists(path) assert open(path, 'rb').read() == b'Some brazilian content' def test_save_subtitles_single_directory_encoding(movies, tmpdir): subtitle = Subtitle(Language('jpn'), '') subtitle.content = 'ハローワールド'.encode('shift-jis') subtitle_pt_br = Subtitle(Language('por', 'BR'), '') subtitle_pt_br.content = b'Some brazilian content' subtitles = [subtitle, subtitle_pt_br] save_subtitles(movies['man_of_steel'], subtitles, single=True, directory=str(tmpdir), encoding='utf-8') # first subtitle only and correctly encoded path = os.path.join(str(tmpdir), os.path.splitext(os.path.split(movies['man_of_steel'].name)[1])[0] + '.srt') assert os.path.exists(path) assert open(path, encoding='utf-8').read() == 'ハローワールド' @pytest.mark.integration() @vcr.use_cassette def test_download_bad_subtitle(movies): pool = ProviderPool() subtitles = pool.list_subtitles_provider('opensubtitles', movies['man_of_steel'], {Language('eng')}) assert len(subtitles) >= 1 subtitle = subtitles[0] subtitle.subtitle_id = '' pool.download_subtitle(subtitle) assert subtitle.content is None assert subtitle.is_valid() is False @unix_platform def test_scan_archive_with_one_video(rar, mkv): if 'video' not in rar: return rar_file = rar['video'] actual = scan_archive(rar_file) assert actual.name == os.path.join(os.path.split(rar_file)[0], mkv['test1']) @unix_platform def test_scan_archive_with_multiple_videos(rar, mkv): if 'video' not in rar: return rar_file = rar['videos'] actual = scan_archive(rar_file) assert actual.name == os.path.join(os.path.split(rar_file)[0], mkv['test5']) @unix_platform def test_scan_archive_with_no_video(rar): with pytest.raises(ValueError) as excinfo: scan_archive(rar['simple']) assert excinfo.value.args == ('No video in archive',) @unix_platform def test_scan_bad_archive(mkv): with pytest.raises(ValueError) as excinfo: scan_archive(mkv['test1']) assert excinfo.value.args == ("'.mkv' is not a valid archive",) @unix_platform def test_scan_password_protected_archive(rar): with pytest.raises(ValueError) as excinfo: scan_archive(rar['pwd-protected']) assert excinfo.value.args == ('Rar requires a password',) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_extensions.py0000644000175100001770000000600214636376416020247 0ustar00runnerdockerfrom sys import version_info if version_info >= (3, 10): # 'group' keyword argument was introduced in 3.10 from importlib.metadata import entry_points else: from importlib_metadata import entry_points # type: ignore[assignment,no-redef,import-not-found] from subliminal.extensions import ( RegistrableExtensionManager, default_providers, disabled_providers, parse_entry_point, provider_manager, ) def test_registrable_extension_manager_all_extensions(): native_extensions = sorted(e.name for e in provider_manager) manager = RegistrableExtensionManager( 'subliminal.providers', ['esopensubtitl = subliminal.providers.opensubtitles:OpenSubtitlesProvider'] ) extensions = sorted(e.name for e in manager) assert len(extensions) == len(native_extensions) + 1 assert extensions == sorted(name for name in ('esopensubtitl', *native_extensions)) def test_registrable_extension_manager_internal_extension(): manager = RegistrableExtensionManager( 'subliminal.test_providers', [ 'addic7ed = subliminal.providers.addic7ed:Addic7edProvider', 'opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider', 'podnapisi = subliminal.providers.podnapisi:PodnapisiProvider', 'tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider', ], ) assert len(list(manager)) == 4 assert len(manager.internal_extensions) == 4 def test_registrable_extension_manager_register(): manager = RegistrableExtensionManager( 'subliminal.test_providers', [ 'addic7ed = subliminal.providers.addic7ed:Addic7edProvider', 'opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider', ], ) assert len(list(manager)) == 2 manager.register('de7cidda = subliminal.providers.addic7ed:Addic7edProvider') assert len(list(manager)) == 3 assert 'de7cidda' in manager.names() def test_registrable_extension_manager_unregister(): manager = RegistrableExtensionManager( 'subliminal.test_providers', [ 'gestdown = subliminal.providers.gestdown:GestdownProvider', 'tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider', ], ) assert len(list(manager)) == 2 manager.register('de7cidda = subliminal.providers.addic7ed:Addic7edProvider') manager.unregister('de7cidda = subliminal.providers.addic7ed:Addic7edProvider') assert len(list(manager)) == 2 assert set(manager.names()) == {'gestdown', 'tvsubtitles'} def test_provider_manager(): setup_names = {ep.name for ep in entry_points(group=provider_manager.namespace)} internal_names = { parse_entry_point(iep, provider_manager.namespace).name for iep in provider_manager.internal_extensions } enabled_names = set(default_providers) disabled_names = set(disabled_providers) assert enabled_names == setup_names - disabled_names assert internal_names == enabled_names | disabled_names ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_matches.py0000644000175100001770000000763214636376416017506 0ustar00runnerdockerfrom subliminal.matches import guess_matches def test_guess_matches_movie(movies): video = movies['man_of_steel'] guess = { 'title': video.title.upper(), 'year': video.year, 'release_group': video.release_group.upper(), 'screen_size': video.resolution, 'source': video.source, 'video_codec': video.video_codec, 'audio_codec': video.audio_codec, } expected = {'title', 'year', 'country', 'release_group', 'resolution', 'source', 'video_codec', 'audio_codec'} assert guess_matches(video, guess) == expected def test_guess_matches_episode(episodes): video = episodes['bbt_s07e05'] guess = { 'title': video.series, 'season': video.season, 'episode': video.episode, 'year': video.year, 'episode_title': video.title.upper(), 'release_group': video.release_group.upper(), 'screen_size': video.resolution, 'source': video.source, 'video_codec': video.video_codec, 'audio_codec': video.audio_codec, } expected = { 'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution', 'source', 'video_codec', 'audio_codec', } assert guess_matches(video, guess) == expected def test_guess_matches_episode_equivalent_release_group(episodes): video = episodes['bbt_s07e05'] guess = { 'title': video.series, 'season': video.season, 'episode': video.episode, 'year': video.year, 'episode_title': video.title.upper(), 'release_group': 'LOL', 'screen_size': video.resolution, 'source': video.source, 'video_codec': video.video_codec, 'audio_codec': video.audio_codec, } expected = { 'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution', 'source', 'video_codec', 'audio_codec', } assert guess_matches(video, guess) == expected def test_guess_matches_multiple_sources(episodes): video = episodes['bbt_s07e05'] video.source = [video.source, 'Blu-ray'] guess = { 'title': video.series, 'season': video.season, 'episode': video.episode, 'year': video.year, 'episode_title': video.title.upper(), 'release_group': 'LOL', 'screen_size': video.resolution, 'source': video.source, 'video_codec': video.video_codec, 'audio_codec': video.audio_codec, } expected = { 'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution', 'source', 'video_codec', 'audio_codec', } assert guess_matches(video, guess) == expected def test_guess_matches_multiple_sources_no_match(episodes): video = episodes['bbt_s07e05'] guess = { 'title': video.series, 'season': video.season, 'episode': video.episode, 'year': video.year, 'episode_title': video.title.upper(), 'release_group': 'LOL', 'screen_size': video.resolution, 'source': [video.source, 'Blu-ray'], 'video_codec': video.video_codec, 'audio_codec': video.audio_codec, } expected = { 'series', 'season', 'episode', 'title', 'year', 'country', 'release_group', 'resolution', 'video_codec', 'audio_codec', } assert guess_matches(video, guess) == expected def test_guess_matches_episode_no_year(episodes): video = episodes['dallas_s01e03'] guess = {'title': video.series, 'season': video.season, 'episode': video.episode} expected = {'series', 'season', 'episode', 'year', 'country'} assert guess_matches(video, guess) == expected ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_provider.py0000644000175100001770000000311714636376416017706 0ustar00runnerdocker# ruff: noqa: PT011 from __future__ import annotations import pytest from subliminal.providers import FeatureNotFound, ParserBeautifulSoup, Provider from subliminal.video import Episode, Movie def test_parserbeautifulsoup_reject_features(): with pytest.raises(ValueError): ParserBeautifulSoup('', ['lxml', 'html']) def test_parserbeautifulsoup_reject_builder_kwarg(): with pytest.raises(ValueError): ParserBeautifulSoup('', ['lxml', 'html.parser'], builder='reject') def test_parserbeautifulsoup_reject_features_kwarg(): with pytest.raises(ValueError): ParserBeautifulSoup('', ['lxml', 'html.parser'], features='reject') def test_parserbeautifulsoup_no_parser(): with pytest.raises(FeatureNotFound): ParserBeautifulSoup('', ['myparser']) def test_parserbeautifulsoup(): ParserBeautifulSoup('', ['lxml', 'html.parser']) def test_check_episodes_only(episodes, movies): Provider.video_types = (Episode,) Provider.required_hash = None assert Provider.check(movies['man_of_steel']) is False assert Provider.check(episodes['bbt_s07e05']) is True def test_check_movies_only(episodes, movies): Provider.video_types = (Movie,) Provider.required_hash = None assert Provider.check(movies['man_of_steel']) is True assert Provider.check(episodes['bbt_s07e05']) is False def test_check_required_hash(episodes, movies): Provider.video_types = (Episode, Movie) Provider.required_hash = 'opensubtitles' assert Provider.check(movies['man_of_steel']) is True assert Provider.check(episodes['dallas_s01e03']) is False ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_score.py0000644000175100001770000001035014636376416017164 0ustar00runnerdockerfrom __future__ import annotations from babelfish import Language # type: ignore[import-untyped] from subliminal.providers.addic7ed import Addic7edSubtitle from subliminal.providers.opensubtitles import OpenSubtitlesSubtitle from subliminal.providers.podnapisi import PodnapisiSubtitle from subliminal.score import compute_score, episode_scores, movie_scores, solve_episode_equations, solve_movie_equations def test_episode_equations(): expected_scores = {} for symbol, score in solve_episode_equations().items(): expected_scores[str(symbol)] = score assert episode_scores == expected_scores def test_movie_equations(): expected_scores = {} for symbol, score in solve_movie_equations().items(): expected_scores[str(symbol)] = score assert movie_scores == expected_scores def test_compute_score(episodes): video = episodes['bbt_s07e05'] subtitle = Addic7edSubtitle( language=Language('eng'), subtitle_id='', hearing_impaired=True, page_link=None, series='the big BANG theory', season=6, episode=4, title=None, year=None, release_group='1080p', ) expected_score = episode_scores['series'] + episode_scores['year'] + episode_scores['country'] assert compute_score(subtitle, video) == expected_score def test_get_score_cap(movies): video = movies['man_of_steel'] subtitle = OpenSubtitlesSubtitle( language=Language('eng'), subtitle_id='1', hearing_impaired=True, page_link=None, matched_by='hash', movie_kind='movie', moviehash='5b8f8f4e41ccb21e', movie_name='Man of Steel', movie_release_name='man.of.steel.2013.720p.bluray.x264-felony.mkv', movie_year=2013, movie_imdb_id='tt770828', series_season=None, series_episode=None, filename='', encoding='utf-8', ) assert compute_score(subtitle, video) == movie_scores['hash'] def test_compute_score_episode_imdb_id(movies): video = movies['man_of_steel'] subtitle = OpenSubtitlesSubtitle( language=Language('eng'), subtitle_id='1', hearing_impaired=True, page_link=None, matched_by='hash', movie_kind='movie', moviehash=None, movie_name='Man of Steel', movie_release_name='man.of.steel.2013.720p.bluray.x264-felony.mkv', movie_year=2013, movie_imdb_id='tt770828', series_season=None, series_episode=None, filename='', encoding='utf-8', ) assert compute_score(subtitle, video) == sum( movie_scores.get(m, 0) for m in ('imdb_id', 'title', 'year', 'country', 'release_group', 'source', 'resolution', 'video_codec') ) def test_compute_score_episode_title(episodes): video = episodes['bbt_s07e05'] subtitle = PodnapisiSubtitle( language=Language('eng'), subtitle_id='1', hearing_impaired=True, page_link=None, releases=['The.Big.Bang.Theory.S07E05.The.Workplace.Proximity.720p.HDTV.x264-DIMENSION.mkv'], title=None, season=7, episode=5, year=None, ) assert compute_score(subtitle, video) == sum( episode_scores.get(m, 0) for m in ( 'series', 'year', 'country', 'season', 'episode', 'release_group', 'source', 'resolution', 'video_codec', 'title', ) ) def test_compute_score_hash_hearing_impaired(movies): video = movies['man_of_steel'] subtitle = OpenSubtitlesSubtitle( language=Language('eng'), subtitle_id='1', hearing_impaired=True, page_link=None, matched_by='hash', movie_kind='movie', moviehash='5b8f8f4e41ccb21e', movie_name='Man of Steel', movie_release_name='man.of.steel.2013.720p.bluray.x264-felony.mkv', movie_year=2013, movie_imdb_id='tt770828', series_season=None, series_episode=None, filename='', encoding='utf-8', ) assert compute_score(subtitle, video, hearing_impaired=True) == ( movie_scores['hash'] + movie_scores['hearing_impaired'] ) ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_subtitle.py0000644000175100001770000001151214636376416017705 0ustar00runnerdockerimport os import pytest from babelfish import Language # type: ignore[import-untyped] from subliminal.subtitle import Subtitle, fix_line_ending, get_subtitle_path def test_subtitle_text(): subtitle = Subtitle(Language('eng')) subtitle.content = b'Some ascii text' assert subtitle.text == 'Some ascii text' def test_subtitle_text_no_content(): subtitle = Subtitle(Language('eng')) assert subtitle.text == '' def test_subtitle_is_valid_no_content(): subtitle = Subtitle(Language('fra')) assert subtitle.is_valid() is False def test_subtitle_is_valid_valid(monkeypatch): subtitle = Subtitle(Language('fra')) text = ( '1\n' '00:00:20,000 --> 00:00:24,400\n' "En réponse à l'augmentation de la criminalité\n" 'dans certains quartiers,\n' ) monkeypatch.setattr(Subtitle, 'text', text) assert subtitle.is_valid() is True assert subtitle.subtitle_format == 'srt' @pytest.mark.xfail() def test_subtitle_is_valid_invalid(monkeypatch): subtitle = Subtitle(Language('fra')) text = ( '1\n' '00:00:20,000 --> 00:00:24,400\n' "En réponse à l'augmentation de la criminalité\n" 'dans certains quartiers,\n\n' ) text += "This line shouldn't be here" monkeypatch.setattr(Subtitle, 'text', text) assert subtitle.is_valid() is False def test_subtitle_is_valid_valid_begin(monkeypatch): subtitle = Subtitle(Language('fra')) text = ( '1\n' '00:00:20,000 --> 00:00:24,400\n' "En réponse à l'augmentation de la criminalité\n" 'dans certains quartiers,\n\n' ) * 20 text += "This line shouldn't be here" monkeypatch.setattr(Subtitle, 'text', text) assert subtitle.is_valid() is True def test_subtitle_is_valid_sub_format(monkeypatch, movies): video = movies['man_of_steel'] subtitle = Subtitle(Language('pol')) text = ( '{3146}{3189}/Nie rozumiecie?\n' '{3189}{3244}/Jšdro Kryptona się rozpada.\n' '{3244}{3299}To kwestia tygodni.\n' ) monkeypatch.setattr(Subtitle, 'text', text) assert subtitle.is_valid() is True assert subtitle.subtitle_format == 'microdvd' path = subtitle.get_path(video, single=True) extension = os.path.splitext(path)[1] assert extension == '.sub' def test_get_subtitle_path(movies): video = movies['man_of_steel'] assert get_subtitle_path(video.name, extension='.sub') == os.path.splitext(video.name)[0] + '.sub' def test_get_subtitle_path_language(movies): video = movies['man_of_steel'] assert get_subtitle_path(video.name, Language('por', 'BR')) == os.path.splitext(video.name)[0] + '.pt-BR.srt' def test_get_subtitle_path_language_undefined(movies): video = movies['man_of_steel'] assert get_subtitle_path(video.name, Language('und')) == os.path.splitext(video.name)[0] + '.srt' def test_fix_line_ending(): content = b'Text\r\nwith\r\nweird\nline ending\r\ncharacters' assert fix_line_ending(content) == b'Text\nwith\nweird\nline ending\ncharacters' # https://github.com/pannal/Sub-Zero.bundle/issues/646 replaced all Chinese character “不” with “上” def test_fix_line_ending_chinese_characters(): character = bytes('不', 'utf16') content = b''.join([character, b'\r\n', character, b'\n', character]) expected = b''.join([character, b'\n', character, b'\n', character]) assert fix_line_ending(content) == expected def test_subtitle_valid_encoding(): subtitle = Subtitle( language=Language('deu'), hearing_impaired=False, page_link=None, encoding='windows-1252', ) assert subtitle.encoding == 'cp1252' def test_subtitle_empty_encoding(): subtitle = Subtitle( language=Language('deu'), hearing_impaired=False, page_link=None, encoding=None, ) assert subtitle.encoding is None def test_subtitle_invalid_encoding(): subtitle = Subtitle( language=Language('deu'), hearing_impaired=False, page_link=None, encoding='rubbish', ) assert subtitle.encoding is None def test_subtitle_guess_encoding_utf8(): subtitle = Subtitle( language=Language('zho'), hearing_impaired=False, page_link=None, encoding=None, ) subtitle.content = b'Something here' assert subtitle.guess_encoding() == 'utf-8' assert subtitle.text == 'Something here' # regression for #921 def test_subtitle_text_guess_encoding_none(): content = b'\x00d\x00\x80\x00\x00\xff\xff\xff\xff\xff\xff,\x00\x00\x00\x00d\x00d\x00\x00\x02s\x84\x8f\xa9' subtitle = Subtitle( language=Language('zho'), hearing_impaired=False, page_link=None, encoding=None, ) subtitle.content = content assert subtitle.guess_encoding() is None assert not subtitle.is_valid() assert subtitle.text == '' ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_utils.py0000644000175100001770000000022714636376416017213 0ustar00runnerdockerfrom subliminal.utils import sanitize def test_sanitize(): assert sanitize("Marvel's Agents of S.H.I.E.L.D.") == 'marvels agents of s h i e l d' ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tests/test_video.py0000644000175100001770000001574614636376416017175 0ustar00runnerdocker# ruff: noqa: PT011 from __future__ import annotations from datetime import datetime, timedelta, timezone from unittest.mock import Mock import pytest from subliminal.utils import sanitize, timestamp from subliminal.video import Episode, Movie, Video def test_video_exists_age(movies, tmpdir, monkeypatch): monkeypatch.chdir(str(tmpdir)) video = movies['man_of_steel'] tmpdir.ensure(video.name).setmtime(timestamp(datetime.now(timezone.utc) - timedelta(days=3))) assert video.exists assert timedelta(days=3) <= video.age < timedelta(days=3, seconds=1) def test_video_age(movies): assert movies['man_of_steel'].age == timedelta() def test_video_fromguess_episode(episodes, monkeypatch): guess = {'type': 'episode'} monkeypatch.setattr(Episode, 'fromguess', Mock()) Video.fromguess(episodes['bbt_s07e05'].name, guess) assert Episode.fromguess.called # type: ignore[attr-defined] def test_video_fromguess_movie(movies, monkeypatch): guess = {'type': 'movie'} monkeypatch.setattr(Movie, 'fromguess', Mock()) Video.fromguess(movies['man_of_steel'].name, guess) assert Movie.fromguess.called # type: ignore[attr-defined] def test_video_fromguess_wrong_type(episodes): guess = {'type': 'subtitle'} with pytest.raises(ValueError) as excinfo: Video.fromguess(episodes['bbt_s07e05'].name, guess) assert str(excinfo.value) == 'The guess must be an episode or a movie guess' def test_video_fromname_movie(movies): video = Video.fromname(movies['man_of_steel'].name) assert isinstance(video, Movie) assert video.name == movies['man_of_steel'].name assert video.source == movies['man_of_steel'].source assert video.release_group == movies['man_of_steel'].release_group assert video.resolution == movies['man_of_steel'].resolution assert video.video_codec == movies['man_of_steel'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.title == movies['man_of_steel'].title assert video.year == movies['man_of_steel'].year def test_video_fromname_episode(episodes): video = Video.fromname(episodes['bbt_s07e05'].name) assert isinstance(video, Episode) assert video.name == episodes['bbt_s07e05'].name assert video.source == episodes['bbt_s07e05'].source assert video.release_group == episodes['bbt_s07e05'].release_group assert video.resolution == episodes['bbt_s07e05'].resolution assert video.video_codec == episodes['bbt_s07e05'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.series == episodes['bbt_s07e05'].series assert video.season == episodes['bbt_s07e05'].season assert video.episode == episodes['bbt_s07e05'].episode assert video.title is None assert video.year is None assert video.tvdb_id is None def test_video_fromname_episode_no_season(episodes): video = Video.fromname(episodes['the_jinx_e05'].name) assert isinstance(video, Episode) assert video.name == episodes['the_jinx_e05'].name assert video.source == episodes['the_jinx_e05'].source assert video.release_group == episodes['the_jinx_e05'].release_group assert video.resolution == episodes['the_jinx_e05'].resolution assert video.video_codec == episodes['the_jinx_e05'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert sanitize(video.series) == sanitize(episodes['the_jinx_e05'].series) assert video.season == episodes['the_jinx_e05'].season assert video.episode == episodes['the_jinx_e05'].episode assert video.title is None assert video.year is None assert video.tvdb_id is None def test_video_hash(episodes): video = episodes['bbt_s07e05'] assert hash(video) == hash(video.name) def test_episode_from_guess_multi_episode(episodes): video = Video.fromname(episodes['Marvels.Agents.of.S.H.I.E.L.D.S05E01-E02'].name) # Multi-ep is converted to single-ep by taking the lowest episode number assert isinstance(video, Episode) assert video.episode == episodes['Marvels.Agents.of.S.H.I.E.L.D.S05E01-E02'].episode def test_episode_fromguess_wrong_type(episodes): guess = {'type': 'subtitle'} with pytest.raises(ValueError) as excinfo: Episode.fromguess(episodes['bbt_s07e05'].name, guess) assert str(excinfo.value) == 'The guess must be an episode guess' def test_episode_fromguess_insufficient_data(episodes): guess = {'type': 'episode'} with pytest.raises(ValueError) as excinfo: Episode.fromguess(episodes['bbt_s07e05'].name, guess) assert str(excinfo.value) == 'Insufficient data to process the guess' def test_movie_fromguess_wrong_type(movies): guess = {'type': 'subtitle'} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies['man_of_steel'].name, guess) assert str(excinfo.value) == 'The guess must be a movie guess' def test_movie_fromguess_insufficient_data(movies): guess = {'type': 'movie'} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies['man_of_steel'].name, guess) assert str(excinfo.value) == 'Insufficient data to process the guess' def test_movie_fromname(movies): video = Movie.fromname(movies['man_of_steel'].name) assert isinstance(video, Movie) assert video.name == movies['man_of_steel'].name assert video.source == movies['man_of_steel'].source assert video.release_group == movies['man_of_steel'].release_group assert video.resolution == movies['man_of_steel'].resolution assert video.video_codec == movies['man_of_steel'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.title == movies['man_of_steel'].title assert video.year == movies['man_of_steel'].year def test_episode_fromname(episodes): video = Episode.fromname(episodes['bbt_s07e05'].name) assert isinstance(video, Episode) assert video.name == episodes['bbt_s07e05'].name assert video.source == episodes['bbt_s07e05'].source assert video.release_group == episodes['bbt_s07e05'].release_group assert video.resolution == episodes['bbt_s07e05'].resolution assert video.video_codec == episodes['bbt_s07e05'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.series == episodes['bbt_s07e05'].series assert video.season == episodes['bbt_s07e05'].season assert video.episode == episodes['bbt_s07e05'].episode assert video.title is None assert video.year is None assert video.tvdb_id is None ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1719270670.0 subliminal-2.2.0/tox.ini0000644000175100001770000000015714636376416014615 0ustar00runnerdocker[tox] envlist = {py38,py39,py310,py311,py312}-{native,lxml} [testenv] deps = lxml: lxml commands = pytest