diff --git a/.gitignore b/.gitignore
old mode 100644
new mode 100755
index 0ebbf86..e562f8a
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ lib/
lib64/
parts/
sdist/
+dist/
var/
*.egg-info/
.installed.cfg
@@ -58,7 +59,7 @@ aiomisc
aiohttp
# Config file
-nonocaptcha.yaml
+goodbyecaptcha.yaml
# Mac's DS_Store
.DS_Store
@@ -84,3 +85,12 @@ pocketsphinx
# visual studio code editor configs
.vscode
+
+# Pycharm
+venv
+.idea
+
+# Images Project
+goodbyecaptcha/data/pictures/*
+goodbyecaptcha/tmp/*
+goodbyecaptcha/models/yolov3.weights
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 5fa18b1..ec883a2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: python
-python: 3.6
+python: 3.7
sudo: required
before_install:
- sudo apt-get update && sudo apt-get install swig libpulse-dev libasound2-dev
diff --git a/CHANGES.md b/CHANGES.md
deleted file mode 100644
index 079e52e..0000000
--- a/CHANGES.md
+++ /dev/null
@@ -1,370 +0,0 @@
-History
-=======
-### Current Version (2018-12-25)
-* Implement working circumvention around detection
-* Add option to enable/disable deface
-* Add option to retain content of original page source
-* Add Pyppeteer 0.0.25 to requirements
-
-### Version 1.8.8 (2018-09-14)
-* Add Pyppeteer 0.0.24 to requirements
-
-### Version 1.8.7 (2018-09-14)
-* Bug fix
-
-### Version 1.8.6 (2018-09-14)
-* Remove Websocket debugger
-
-### Version 1.8.5 (2018-09-14)
-* Output errors using traceback during solver initialization
-
-### Version 1.8.4 (2018-09-14)
-* Output errors during solver initialization
-* Catch additional errors during page load
-* Revert back to opening new tab
-
-### Version 1.8.3 (2018-09-10)
-* Add option to block images by setting block_images in configuration file.
-* Return result to logging, for example "Result: Success", "Result: Blocked"
-* Some behind the scene changes.
-
-### Version 1.8.2 (2018-09-05)
-* requirements.txt
- * Update to include Pyppeteer v0.0.21 (Whoops)
-
-### Version 1.8.1 (2018-09-05)
-* Move exceptions to a separate module - exceptions.py
-* solver.py
- * Place some long running coroutines into AbastractEventLoop.create_task
- * No longer handling BaseExceptions on initial solve method
-* launcher.py
- * Add modifications for Pyppeteer v0.0.21
-* proxy.py
- * Replace asyncio.Lock with threading.Lock
-* examples/
- * aiohttp_executor.py
- * Polished multithreading, ensuring browser exits (hopefully)
-* Once again might have forgot something...
-
-### Version 1.8.0 (2018-08-06)
-* solver.py
- * Add function cleanup() to solver for closing browsers
- * Bypass Content-Security-Policy in response headers
-* launcher.py
- * Remove signal handlers in launcher due to redundancy
-* proxy.py
- * Remove last_used_timeout argument
-* examples/
- * Change naming of files
- * api.py
- * Add multi-threaded support
-* Fix bugs
-* I might have forgot a change...
-
-### Version 1.7.11 (2018-07-25)
-* Add compatiblity for Python versions 3.6.0 - 3.7.0
-
-### Version 1.7.10 (2018-07-18)
-* Fix bug
-
-### Version 1.7.9 (2018-07-17)
-* Move configuration checking out of __init__.py into base.py
-
-### Version 1.7.8 (2018-07-17)
-* Remove proxy settings from configuration file
-* Remove proxy protocol attribute from Solver (Aiohttp only supports HTTP)
-* Fix proxy authentication when downloading audio file
-* Add flake8 for auto-testing in repository
-
-### Version 1.7.7 (2018-07-10)
-* Fix new Chromium update with Pyppeteer 0.0.19
-
-### Version 1.7.6 (2018-07-10)
-* Fix check_detection timeout
-
-### Version 1.7.5 (2018-07-10)
-* Fix importing of non-existent/removed Exceptions
-
-### Version 1.7.4 (2018-07-08)
-* Change the way results are handled
- * Success will return in dict {'status': 'success', 'code': CAPTCHACODE}
- * Detected will return in dict {'status': 'detected'}
- * Max audio retries will return in dict {'status': 'retries_exceeded'}
-* Set audio garabage removal to /3.1
-* Add browser hang patches from Pyppeteer's repo
-
-### Version 1.7.3 (2018-07-08)
-* Fix nonocaptcha.example.yaml keys
-
-### Version 1.7.2 (2018-07-08)
-* Remove APSW dependency in Proxy database for Windows compatibility
-
-### Version 1.7.1 (2018-07-08)
-* Fix nonocaptcha.example.yaml inclusion
-
-### Version 1.7.0 (2018-07-08)
-* Add proxy management
- * example usage is provided in examples/run.py
-* solver.py & audio.py
- * Add comments line by line
-* Fix bugs
-
-### Version 1.6.0 (2018-07-04)
-* Switch configuration file to YAML format
-* Clean-up requirements.txt
-* Downgrade back to pyppeteer 0.0.17 due to frame issues
-
-### Version 1.5.8 (2018-07-04)
-* Fix bugs
-* Update requirements
-
-### Version 1.5.7 (2018-07-03)
-* Fix bugs
-
-### Version 1.5.6 (2018-07-03)
-* speech.py
- * Remove playback left behind from debugging
-
-### Version 1.5.5 (2018-07-03)
-* audio.py
- * Fix change from InvalidDownload to DownloadError
-
-### Verison 1.5.4 (2018-07-03)
-* solver.py
- * Fix typo on DefaceError
-
-### Verison 1.5.3 (2018-07-03)
-* Fix bugs
-
-### Verison 1.5.2 (2018-07-03)
-* requirements.txt
- * Remove deepspeech since it makes Windows install fail
-
-### Verison 1.5.1 (2018-07-03)
-* solver.py
- * Revert back to documentloaded
- * Don't open a new tab
-
-### Verison 1.5.0 (2018-07-02)
-* Add support for Mozilla's DeepSpeech
-* solver.py
- * Deface as soon as page loads except instead waiting for document
-* Fix bugs
-
-### Verison 1.4.23 (2018-07-02)
-* Made more adjustments to the way exits are handled
-* Resolutions.json is deprecated, update your configs
-* solver.py
- * Removed OK| before the reCAPTCHA solution
-* data/
- * Update deface.html with nonoCAPTCHA title
-
-### Verison 1.4.22 (2018-07-02)
-* launcher.py
- * Fix Exception thrown while killing non-existent process
-
-### Verison 1.4.22 (2018-07-02)
-* launcher.py
- * Fix typo in kill process
-
-### Verison 1.4.21 (2018-07-02)
-* Fix bugs
-
-### Verison 1.4.19 (2018-07-02)
-* speech.py
- * Fix mp3_to_wav()
-
-### Verison 1.4.18 (2018-07-02)
-* Add requests to requirements.txt
-
-### Verison 1.4.17 (2018-07-02)
-* Increase polling to 500ms for detection checking
-* Recursively kill child processes of Chrome
-
-### Verison 1.4.16 (2018-07-01)
-* Fix audio downloading and file saving in Windows
-* Pipe PocketSphinx logs to NUL under Windows
-* Decrease polling to 100ms for detection checking
-
-### Version 1.4.15 (2018-07-01)
-* Attempt to fix issues with ongoing issue with Windows directory removal
-* Possible fix for rare hanging on close
-* More redifinition of exception handling
-
-### Version 1.4.14 (2018-07-01)
-* Redefine names of thrown exceptions better suited for invidual cases
-* Fix bugs
-
-### Version 1.4.13 (2018-06-30)
-* Fix issues with Windows directory removal
-
-### Version 1.4.12 (2018-06-30)
-* Remove remove_readonly
-
-### Version 1.4.11 (2018-06-30)
-* Place subprocess into list for killing parent Chrome
-
-### Version 1.4.10 (2018-06-30)
-* Actually 'import subprocess'
-
-### Version 1.4.9 (2018-06-30)
-* launcher..py
- * 'import subprocess'
-
-### Version 1.4.8 (2018-06-30)
-* Kill parent Chromium process in Windows to allow deletion of Temporary User Data
-* Fix Google login
-* audio.py
- * Add 'import asyncio'
-* solver.py
- * remove self.kill_chrome
-* Fix bugs
-
-### Version 1.4.7 (2018-06-30)
-* Fix bugs
-
-### Version 1.4.6 (2018-06-30)
-* util.py
- * Fix aiohttp missing Timeout outside it's scope
-* examples/app.py
- * Now uses aiohttp instead of Quart
-
-### Version 1.4.5 (2018-06-29)
-* Sphinx module
- * Strip static by percentage instead of 1500ms
-* Audio solving
- * Fix "Please solve more" bug, where it would exit instead of trying again
-
-### Version 1.4.4 (2018-06-29)
-* Sphinx module
- * Strip static from audio files
- * Remove extra spaces from middle of words
-
-### Version 1.4.3 (2018-06-29)
-* Sphinx module
- * Remove detect silence
-
-### Version 1.4.2 (2018-06-29)
-* Fix bugs
-
-### Version 1.4.1 (2018-06-29)
-* Remove yet another print..
-
-### Version 1.4.0 (2018-06-29)
-* Add support for PocketSphinx
-
-### Version 1.3.3 (2018-06-29)
-* Actually remove a print function..
-
-### Version 1.3.2 (2018-06-29)
-* Remove a print function..
-
-### Version 1.3.1 (2018-06-29)
-* Fix Azure Speech-to-text
-
-### Version 1.3.0 (2018-06-28)
-* Add support for Amazon's Transcribe Speech-to-text
-
-### Version 1.2.10 (2018-06-28)
-* Fix bugs
-
-### Version 1.2.9 (2018-06-27)
-* Delete temporary Chrome profile on Browser exit
-
-### Version 1.2.8 (2018-06-27)
-* Possible fix for Chrome termination on ungraceful exit (such as timeout)
-
-### Version 1.2.7 (2018-06-27)
-* Revert back to old reCAPTCHA loading method
-
-### Version 1.2.6 (2018-06-26)
-* Remove chrome arguments uncertatin of their purpose
-* Remove hardcoded timeout from solver, handle externally
-* Add new example for HTTP client - create_task / get_task
-
-### Version 1.2.5 (2018-06-26)
-* Fix bugs
-
-### Version 1.2.4 (2018-06-26)
-* Timeout patch in solver reverted
-
-### Version 1.2.3 (2018-06-25)
-* Add CHANGES.md file
-* Add TODO.md file
-* Lower mouse click (30ms,130ms) and wait delay(500ms,1.5secs)
-
-### ... unfinished
-
-### Version 0.0.14 (2018-06-20)
-* Fix bugs
-
-### Version 0.0.13 (2018-06-20)
-* Fix bugs
-
-### Version 0.0.12 (2018-06-20)
-* nonocaptcha/util.py
- * Increase get_page default timeout to 5 minutes
-* Add config.py missing warning
-* Fix bugs
-
-### Version 0.0.11 (2018-06-20)
-* Fix bugs
-
-### Version 0.0.10 (2018-06-20)
-
-* data/
- * Move to package directory
-* examples/
- * app.py
- * Proxies load in packground with 10 minute interval
-* setup.py
- * Add Github url
-* Rename package to be all lowercase
-* Register PyPI
-* Keep count of tasks in logging
-* Fix bugs
-
-### Version 0.0.9 (2018-06-20)
-
-* data/
- * Add cookie_jar directory
-* config.py to work from current directory
-* Add new presentation
-* Option to sign-in to single Google account
-* Fix bugs
-
-### Version 0.0.6 (2018-06-19)
-
-* Distribution
- * Script can now be installed with setup.py
-* config.example.py
- * Blacklist setting added
-* examples/
- * run.py
- * Parallel continous browsing
-* Log use logging module
-* Async subprocess calls browser
-* Add Extra chrome arguments for less tracking
-* Option to check Google search for blacklist heuristic
-* Fix bugs
-
-### Version 0.0.3 (2018-06-17)
-
-* README.md
- * Added Compatibility section
- * Updated Requirements to include FFmpeg
-* config.example.py
- * Added debug setting
- * Lowered success_timeout to 5 seconds
-
-### Version 0.0.2 (2018-06-15)
-
-* README.md
- * Added Displaimer section
- * Added presentation GIF
-* Code formatting with black
-
-
-### Version 0.0.1 (2018-06-14)
-
-* Released to Githib
diff --git a/Dockerfile b/Dockerfile
index cfe01c7..af72398 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,14 +2,13 @@
# Dockerfile. After the build is complete, run "docker images" and copy the
# most recent create image. Then run the command "docker run -i -t COPIEDIMAGE"
# which will place you in the shell of the newly created container.
-# All files are located in /nonocaptcha.
+# All files are located in /goodbyecaptcha.
# This Dockerfile assumes all required files/folders are in the relative
# folder:
-# - nonocaptcha.yaml
-# - examples/app.py
-# - pocketsphinx (folder)
+# - goodbyecaptcha.yaml
+# - app.py
# You may want to add proxies.txt at the bottom of this file.
# We are using Ubuntu 16.04 for the base Docker image
@@ -64,30 +63,31 @@ RUN apt-get update \
ffmpeg \
swig \
software-properties-common curl \
- && add-apt-repository ppa:jonathonf/python-3.6 \
+ && add-apt-repository ppa:deadsnakes/ppa \
&& apt-get remove -y software-properties-common \
&& apt autoremove -y \
&& apt-get update \
- && apt-get install -y python3.6 \
- python3.6-dev \
+ && apt-get install -y python3.6 python3.6-dev \
&& curl -o /tmp/get-pip.py "https://bootstrap.pypa.io/get-pip.py" \
&& python3.6 /tmp/get-pip.py \
&& apt-get remove -y curl \
&& apt autoremove -y \
- && pip install nonocaptcha
+ && pip install goodbyecaptcha
+RUN pip install sanic json-api
# Copies required files for running nonoCAPTCHA to the Docker container.
# You can comment out pocketsphinx if you aren't using Pocketsphinx.
-RUN mkdir /nonocaptcha
-ADD pocketsphinx /nonocaptcha/pocketsphinx
-ADD nonocaptcha.yaml /nonocaptcha
-# ADD proxies.txt /nonocaptcha/proxies.txt
+RUN mkdir /goodbyecaptcha
+WORKDIR /goodbyecaptcha
+#ADD pocketsphinx /goodbyecaptcha/pocketsphinx
+ADD goodbyecaptcha.yaml /goodbyecaptcha
+# ADD proxies.txt /goodbyecaptcha/proxies.txt
# This determines which file you want to copy over to the Docker container,
# by default the aiohttp server is copied to the container.
-ADD examples/app.py /nonocaptcha
+ADD app.py /goodbyecaptcha
# Uncomment the lines below if you want to autostart the app and expose the
# port on your machine, which can be accessed by going to http://localhost:5000
-# RUN python3.6 /nonocaptcha/app.py
-# EXPOSE 5000
\ No newline at end of file
+EXPOSE 5000
+CMD ["python3.6", "/goodbyecaptcha/examples/app.py"]
\ No newline at end of file
diff --git a/MANIFEST.in b/MANIFEST.in
index c26f3fe..f2cc308 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,5 +1,7 @@
-include nonocaptcha/data/*.*
-include nonocaptcha/nonocaptcha.example.yaml
+include goodbyecaptcha/data/*.*
+include goodbyecaptcha/models/yolov3.cfg
+include goodbyecaptcha/models/yolov3.txt
+include goodbyecaptcha/goodbyecaptcha.example.yaml
include README.rst
include setup.py
include CHANGES.md
\ No newline at end of file
diff --git a/README.rst b/README.rst
index 6ace1f2..1b9f39e 100644
--- a/README.rst
+++ b/README.rst
@@ -1,27 +1,29 @@
-.. image:: https://travis-ci.org/mikeyy/nonoCAPTCHA.svg?branch=master
- :target: https://travis-ci.org/mikeyy/nonoCAPTCHA
-.. image:: https://img.shields.io/pypi/v/nonocaptcha.svg
+.. image:: https://img.shields.io/pypi/v/goodbyecaptcha.svg
:alt: PyPI
- :target: https://pypi.org/project/nonocaptcha/
-.. image:: https://img.shields.io/pypi/pyversions/nonocaptcha.svg
+ :target: https://pypi.org/project/goodbyecaptcha/
+.. image:: https://img.shields.io/pypi/pyversions/goodbyecaptcha.svg
:alt: PyPI - Python Version
- :target: https://pypi.org/project/nonocaptcha/
-.. image:: https://img.shields.io/pypi/l/nonocaptcha.svg
- :alt: PyPI - License
- :target: https://pypi.org/project/nonocaptcha/
-.. image:: https://img.shields.io/pypi/status/nonocaptcha.svg
+ :target: https://pypi.org/project/goodbyecaptcha/
+.. image:: https://img.shields.io/sourceforge/dt/goodbyecatpcha.svg
+ :alt: SourceForge - Downloads
+ :target: https://sourceforge.net/projects/goodbyecatpcha/files/latest/download
+.. image:: https://img.shields.io/pypi/l/goodbyecaptcha.svg
+ :alt: PyPI - License
+ :target: https://pypi.org/project/goodbyecaptcha/
+.. image:: https://img.shields.io/pypi/status/goodbyecaptcha.svg
:alt: PyPI - Status
- :target: https://pypi.org/project/nonocaptcha/
+ :target: https://pypi.org/project/goodbyecaptcha/
-nonoCAPTCHA
-===========
+GoodByeCaptcha
+==============
-An async Python library to automate solving ReCAPTCHA v2 by audio using
-Mozilla's DeepSpeech, PocketSphinx, Microsoft Azure’s, and Amazon's Transcribe
-Speech-to-Text API. Built with Pyppeteer for Chrome automation framework
-and similarities to Puppeteer, PyDub for easily converting MP3 files into WAV,
-aiohttp for async minimalistic web-server, and Python’s built-in AsyncIO
-for convenience.
+An async Python library to automate solving ReCAPTCHA v2 by images/audio using
+Mozilla's DeepSpeech, PocketSphinx, Microsoft Azure’s, Wit.AI, Google Speech or
+Amazon's Transcribe Speech-to-Text API. Also image recognition to detect
+the object suggested in the captcha. Built with Pyppeteer for Chrome
+automation framework and similarities to Puppeteer, PyDub for easily
+converting MP3 files into WAV, aiohttp for async minimalistic web-server,
+and Python’s built-in AsyncIO for convenience.
Disclaimer
----------
@@ -34,23 +36,6 @@ the persons in question. The author will not be held responsible in the
event any criminal charges be brought against any individuals misusing
the information in this GitHub Repository to break the law.
-Public
-------
-
-This script was first featured on Reddit at
-`/r/Python `__ - `see
-here `__
-for the thread. I’ve finally decided to release the script.
-
-Preview
--------
-
-Check out 1-minute presentation of the script in action, with only
-8 threads!
-
-.. figure:: https://github.com/mikeyy/nonoCAPTCHA/blob/presentation/presentation.gif
- :alt: nonoCAPTCHA preview
-
Compatibility
-------------
@@ -60,24 +45,42 @@ Requirements
------------
Python
-`3.6.0 `__ -
-`3.7.0 `__,
+`3.7 `__,
`FFmpeg `__, a `Microsoft
Azure `__ account for Bing Speech API access, an
-Amazon Web Services account for Transcribe and S3 access, and for Pocketsphinx
-you'll need pulseaudio, swig, libasound2-dev, and libpulse-dev under Ubuntu.
+Amazon Web Services account for Transcribe and S3 access, a Wit.AI or for Pocketsphinx.
+You'll need pulseaudio, swig, libasound2-dev, and libpulse-dev under Debian.
+
+Train the yolov3 neural network to improve image recognition.
+
+
+Training YoloV3
+---------------
+
+I recommend training yolov3 to improve the recaptcha resolution with the following information:
+ - `Dataset `__
+ - `Tutorial Video `__
+ - Object classes: `bicycle, bridge, bus, car, chimneys, crosswalk, fire hydrant, motorcycle, palm trees, parking meters, stair, taxis, tractors, traffic light, trees`
+
Installation
------------
.. code:: shell
- $ pip install nonocaptcha
+ $ apt-get update && apt-get install -y libpangocairo-1.0-0 libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libgconf-2-4 libasound2 libasound2-dev libatk1.0-0 libgtk-3-0 gconf-service libappindicator1 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libnspr4 libpango-1.0-0 libpulse-dev libstdc++6 libx11-6 libxcb1 libxext6 libxfixes3 libxrender1 libxtst6 ca-certificates fonts-liberation lsb-release xdg-utils build-essential ffmpeg swig software-properties-common curl python3-pocketsphinx libpulse-dev
+ $ pip install goodbyecaptcha
+
+Install tutorial
+----------------
+
+.. image:: https://img.youtube.com/vi/hPYMUdQ2aV8/0.jpg
+ :target: https://www.youtube.com/watch?v=hPYMUdQ2aV8
Configuration
-------------
-Please edit nonocaptcha.example.yaml and save as nonocaptcha.yaml
+Please edit goodbyecaptcha.example.yaml and save as goodbyecaptcha.yaml
Usage
-----
@@ -86,37 +89,67 @@ If you want to use it in your own script
.. code:: python
- import asyncio
- from nonocaptcha.solver import Solver
-
- pageurl = "https://www.google.com/recaptcha/api2/demo"
- sitekey = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
-
- proxy = "127.0.0.1:1000"
- auth_details = {
- "username": "user",
- "password": "pass"
- }
- args = ["--timeout 5"]
- options = {"ignoreHTTPSErrors": True, "args": args}
- client = Solver(
- pageurl,
- sitekey,
- options=options,
- proxy=proxy,
- proxy_auth=auth_details,
- )
-
- solution = asyncio.get_event_loop().run_until_complete(client.start())
- if solution:
+ from goodbyecaptcha.solver import Solver
+
+ pageurl = "https://www.google.com/recaptcha/api2/demo"
+
+ proxy = "127.0.0.1:1000"
+ auth_details = {"username": "user", "password": "pass"}
+ args = ["--timeout 5"]
+ options = {"ignoreHTTPSErrors": True, "args": args} # References: https://miyakogi.github.io/pyppeteer/reference.html
+ client = Solver(
+ # With Proxy
+ # pageurl, lang='en-US', options=options, proxy=proxy, proxy_auth=auth_details
+ # Without Proxy
+ pageurl, lang='en-US', options=options
+ )
+
+ solution = client.loop.run_until_complete(client.start())
+ if solution:
print(solution)
-Donations
----------
+If you want to use events
+
+.. code:: python
+
+ from goodbyecaptcha.solver import Solver
+
+ pageurl = "https://www.google.com/recaptcha/api2/demo"
+
+ proxy = "127.0.0.1:1000"
+ auth_details = {"username": "user", "password": "pass"}
+ args = ["--timeout 5"]
+ options = {"ignoreHTTPSErrors": True, "args": args} # References: https://miyakogi.github.io/pyppeteer/reference.html
+
+
+ class MySolver(Solver):
+ async def on_goto(self):
+ # Set Cookies and other stuff
+ await self.page.setCookie({
+ 'name': 'cookie1',
+ 'value': 'value1',
+ 'domain': '.google.com'
+ })
+ self.log('Cookies ready!')
+
+ async def on_start(self):
+ # Set or Change data
+ self.log('Set data in form ...')
+ await self.page.type('input[name="input1"]', 'value')
+
+ async def on_finish(self):
+ # Click button Send
+ self.log('Clicking send button ...')
+ await self.page.click('input[id="recaptcha-demo-submit"]')
+ await self.page.waitForNavigation()
+ await self.page.screenshot({'path': 'image.png'})
+
-The use of proxies are required for my continuous updates and fixes on
-nonoCAPTCHA. Any donations would be a great help in allowing me to purchase
-these proxies, that are clearly expensive. If anyone is willing to share
-their proxies, I wouldn't hesitate to accept the offer.
+ client = MySolver(
+ # With Proxy
+ # pageurl, lang='en-US', options=options, proxy=proxy, proxy_auth=auth_details
+ # Without Proxy
+ pageurl, lang='en-US', options=options
+ )
-Bitcoin: 1BfWQWAZBsSKCNQZgsq2vwaKxYvkrhb14u
\ No newline at end of file
+ client.loop.run_until_complete(client.start())
diff --git a/TODO.md b/TODO.md
index e8fdc2e..59eb03f 100644
--- a/TODO.md
+++ b/TODO.md
@@ -2,7 +2,7 @@ TODO
=======
1. Define parameters that are interchangeable and list them along with explanations to the README.
1. Output version number when script starts
-1. Add logging for displaying error messages during runtime, and option to output to file
+1. Add logging for displaying error messages during runtime, and option to output to file
1. Ensure script can run auto-piloted, without user interaction and safely integrating with Jetson TX2
-1. Build an API for customizing the eye, including but not limited to color, shape, focus. This should have a separate option for developers with flexible yet breakable settings control.
+1. Build an API for customizing the eye, including but not limited to color, shape, focus. This should have a separate option for developers with flexible yet breakable settings control.
1. Brainstorm.
\ No newline at end of file
diff --git a/audio_files/000c9a0d93e7439a90273d31e0fb397c.mp3 b/audio_files/000c9a0d93e7439a90273d31e0fb397c.mp3
deleted file mode 100644
index 872be14..0000000
Binary files a/audio_files/000c9a0d93e7439a90273d31e0fb397c.mp3 and /dev/null differ
diff --git a/audio_files/000c9a0d93e7439a90273d31e0fb397c.wav b/audio_files/000c9a0d93e7439a90273d31e0fb397c.wav
deleted file mode 100644
index ddfc799..0000000
Binary files a/audio_files/000c9a0d93e7439a90273d31e0fb397c.wav and /dev/null differ
diff --git a/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.mp3 b/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.mp3
deleted file mode 100644
index b12edd6..0000000
Binary files a/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.mp3 and /dev/null differ
diff --git a/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.wav b/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.wav
deleted file mode 100644
index bf940ba..0000000
Binary files a/audio_files/0016fa9c86304a1b8da0d1d40ef8b25f.wav and /dev/null differ
diff --git a/audio_files/00228304bda14cf9accead392d7991cf.mp3 b/audio_files/00228304bda14cf9accead392d7991cf.mp3
deleted file mode 100644
index de71cfa..0000000
Binary files a/audio_files/00228304bda14cf9accead392d7991cf.mp3 and /dev/null differ
diff --git a/audio_files/010fb26f3e4f4030841ec870e7152051.mp3 b/audio_files/010fb26f3e4f4030841ec870e7152051.mp3
deleted file mode 100644
index 19ae721..0000000
Binary files a/audio_files/010fb26f3e4f4030841ec870e7152051.mp3 and /dev/null differ
diff --git a/audio_files/010fb26f3e4f4030841ec870e7152051.wav b/audio_files/010fb26f3e4f4030841ec870e7152051.wav
deleted file mode 100644
index 5cfb1f8..0000000
Binary files a/audio_files/010fb26f3e4f4030841ec870e7152051.wav and /dev/null differ
diff --git a/audio_files/0221f43cff4645198883c8cb303d9219.mp3 b/audio_files/0221f43cff4645198883c8cb303d9219.mp3
deleted file mode 100644
index 635bd92..0000000
Binary files a/audio_files/0221f43cff4645198883c8cb303d9219.mp3 and /dev/null differ
diff --git a/audio_files/0221f43cff4645198883c8cb303d9219.wav b/audio_files/0221f43cff4645198883c8cb303d9219.wav
deleted file mode 100644
index 658743c..0000000
Binary files a/audio_files/0221f43cff4645198883c8cb303d9219.wav and /dev/null differ
diff --git a/audio_files/02cd2e2a11fc44c89f3813f9f25844af.mp3 b/audio_files/02cd2e2a11fc44c89f3813f9f25844af.mp3
deleted file mode 100644
index a27d406..0000000
Binary files a/audio_files/02cd2e2a11fc44c89f3813f9f25844af.mp3 and /dev/null differ
diff --git a/audio_files/02cd2e2a11fc44c89f3813f9f25844af.wav b/audio_files/02cd2e2a11fc44c89f3813f9f25844af.wav
deleted file mode 100644
index 63d1e46..0000000
Binary files a/audio_files/02cd2e2a11fc44c89f3813f9f25844af.wav and /dev/null differ
diff --git a/audio_files/02ff7583f66f4b5493804e6c38aa8326.mp3 b/audio_files/02ff7583f66f4b5493804e6c38aa8326.mp3
deleted file mode 100644
index b759925..0000000
Binary files a/audio_files/02ff7583f66f4b5493804e6c38aa8326.mp3 and /dev/null differ
diff --git a/audio_files/02ff7583f66f4b5493804e6c38aa8326.wav b/audio_files/02ff7583f66f4b5493804e6c38aa8326.wav
deleted file mode 100644
index 32e2b27..0000000
Binary files a/audio_files/02ff7583f66f4b5493804e6c38aa8326.wav and /dev/null differ
diff --git a/audio_files/03043b5c558140c2895583e5400892d5.mp3 b/audio_files/03043b5c558140c2895583e5400892d5.mp3
deleted file mode 100644
index ba6152c..0000000
Binary files a/audio_files/03043b5c558140c2895583e5400892d5.mp3 and /dev/null differ
diff --git a/audio_files/03043b5c558140c2895583e5400892d5.wav b/audio_files/03043b5c558140c2895583e5400892d5.wav
deleted file mode 100644
index cd0088f..0000000
Binary files a/audio_files/03043b5c558140c2895583e5400892d5.wav and /dev/null differ
diff --git a/audio_files/0385dbe2312a479abe78ecca5029424c.mp3 b/audio_files/0385dbe2312a479abe78ecca5029424c.mp3
deleted file mode 100644
index 0ce940a..0000000
Binary files a/audio_files/0385dbe2312a479abe78ecca5029424c.mp3 and /dev/null differ
diff --git a/audio_files/0385dbe2312a479abe78ecca5029424c.wav b/audio_files/0385dbe2312a479abe78ecca5029424c.wav
deleted file mode 100644
index 9b421f2..0000000
Binary files a/audio_files/0385dbe2312a479abe78ecca5029424c.wav and /dev/null differ
diff --git a/audio_files/041985e5e1c445f0980b9a94caf72281.mp3 b/audio_files/041985e5e1c445f0980b9a94caf72281.mp3
deleted file mode 100644
index 41186d5..0000000
Binary files a/audio_files/041985e5e1c445f0980b9a94caf72281.mp3 and /dev/null differ
diff --git a/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.mp3 b/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.mp3
deleted file mode 100644
index 8d2876f..0000000
Binary files a/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.mp3 and /dev/null differ
diff --git a/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.wav b/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.wav
deleted file mode 100644
index 50a3b42..0000000
Binary files a/audio_files/04b3d1d7901d4e2eb695ff1245779ac3.wav and /dev/null differ
diff --git a/audio_files/05738043acc448cb9ab7965cb11bd5c0.mp3 b/audio_files/05738043acc448cb9ab7965cb11bd5c0.mp3
deleted file mode 100644
index 0545731..0000000
Binary files a/audio_files/05738043acc448cb9ab7965cb11bd5c0.mp3 and /dev/null differ
diff --git a/audio_files/05738043acc448cb9ab7965cb11bd5c0.wav b/audio_files/05738043acc448cb9ab7965cb11bd5c0.wav
deleted file mode 100644
index 541df22..0000000
Binary files a/audio_files/05738043acc448cb9ab7965cb11bd5c0.wav and /dev/null differ
diff --git a/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.mp3 b/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.mp3
deleted file mode 100644
index dbd9c44..0000000
Binary files a/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.mp3 and /dev/null differ
diff --git a/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.wav b/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.wav
deleted file mode 100644
index 4bf4507..0000000
Binary files a/audio_files/066a9d7f9c5c48a39f5b66a2c9ce25ef.wav and /dev/null differ
diff --git a/audio_files/068b2725ef0744b7904f58875d235c10.mp3 b/audio_files/068b2725ef0744b7904f58875d235c10.mp3
deleted file mode 100644
index 8ea7a4c..0000000
Binary files a/audio_files/068b2725ef0744b7904f58875d235c10.mp3 and /dev/null differ
diff --git a/audio_files/068b2725ef0744b7904f58875d235c10.wav b/audio_files/068b2725ef0744b7904f58875d235c10.wav
deleted file mode 100644
index 4fd31ea..0000000
Binary files a/audio_files/068b2725ef0744b7904f58875d235c10.wav and /dev/null differ
diff --git a/audio_files/06e581dfe51c4ee8afc1d39adad2a397.mp3 b/audio_files/06e581dfe51c4ee8afc1d39adad2a397.mp3
deleted file mode 100644
index a045d14..0000000
Binary files a/audio_files/06e581dfe51c4ee8afc1d39adad2a397.mp3 and /dev/null differ
diff --git a/audio_files/0719729dddab4afd82523d575dac9386.mp3 b/audio_files/0719729dddab4afd82523d575dac9386.mp3
deleted file mode 100644
index 60bd729..0000000
Binary files a/audio_files/0719729dddab4afd82523d575dac9386.mp3 and /dev/null differ
diff --git a/audio_files/0719729dddab4afd82523d575dac9386.wav b/audio_files/0719729dddab4afd82523d575dac9386.wav
deleted file mode 100644
index 730adcb..0000000
Binary files a/audio_files/0719729dddab4afd82523d575dac9386.wav and /dev/null differ
diff --git a/audio_files/074970d220cb417e9933159bb2b3bbe1.mp3 b/audio_files/074970d220cb417e9933159bb2b3bbe1.mp3
deleted file mode 100644
index bd0b014..0000000
Binary files a/audio_files/074970d220cb417e9933159bb2b3bbe1.mp3 and /dev/null differ
diff --git a/audio_files/0781473154c44bf88c5130eb2a07e6d2.mp3 b/audio_files/0781473154c44bf88c5130eb2a07e6d2.mp3
deleted file mode 100644
index ffb5f5e..0000000
Binary files a/audio_files/0781473154c44bf88c5130eb2a07e6d2.mp3 and /dev/null differ
diff --git a/audio_files/0781473154c44bf88c5130eb2a07e6d2.wav b/audio_files/0781473154c44bf88c5130eb2a07e6d2.wav
deleted file mode 100644
index dde76c9..0000000
Binary files a/audio_files/0781473154c44bf88c5130eb2a07e6d2.wav and /dev/null differ
diff --git a/audio_files/082d5ff321604b7c915ec5bf88284151.mp3 b/audio_files/082d5ff321604b7c915ec5bf88284151.mp3
deleted file mode 100644
index 930ff70..0000000
Binary files a/audio_files/082d5ff321604b7c915ec5bf88284151.mp3 and /dev/null differ
diff --git a/audio_files/0885524ffbbe443e928fe9a48e699a4c.mp3 b/audio_files/0885524ffbbe443e928fe9a48e699a4c.mp3
deleted file mode 100644
index a8f5a71..0000000
Binary files a/audio_files/0885524ffbbe443e928fe9a48e699a4c.mp3 and /dev/null differ
diff --git a/audio_files/0885524ffbbe443e928fe9a48e699a4c.wav b/audio_files/0885524ffbbe443e928fe9a48e699a4c.wav
deleted file mode 100644
index e5d2301..0000000
Binary files a/audio_files/0885524ffbbe443e928fe9a48e699a4c.wav and /dev/null differ
diff --git a/audio_files/08889ec86be34e87bdf926db8d1c00fb.mp3 b/audio_files/08889ec86be34e87bdf926db8d1c00fb.mp3
deleted file mode 100644
index eb5d65e..0000000
Binary files a/audio_files/08889ec86be34e87bdf926db8d1c00fb.mp3 and /dev/null differ
diff --git a/audio_files/0a09235e2d92440ca71532f4f1322edb.mp3 b/audio_files/0a09235e2d92440ca71532f4f1322edb.mp3
deleted file mode 100644
index 5f6f9ed..0000000
Binary files a/audio_files/0a09235e2d92440ca71532f4f1322edb.mp3 and /dev/null differ
diff --git a/audio_files/0a09235e2d92440ca71532f4f1322edb.wav b/audio_files/0a09235e2d92440ca71532f4f1322edb.wav
deleted file mode 100644
index ddb6257..0000000
Binary files a/audio_files/0a09235e2d92440ca71532f4f1322edb.wav and /dev/null differ
diff --git a/audio_files/0b753f2770274d0e8bdc24685cad514f.mp3 b/audio_files/0b753f2770274d0e8bdc24685cad514f.mp3
deleted file mode 100644
index 449c5e9..0000000
Binary files a/audio_files/0b753f2770274d0e8bdc24685cad514f.mp3 and /dev/null differ
diff --git a/audio_files/0b753f2770274d0e8bdc24685cad514f.wav b/audio_files/0b753f2770274d0e8bdc24685cad514f.wav
deleted file mode 100644
index f0129de..0000000
Binary files a/audio_files/0b753f2770274d0e8bdc24685cad514f.wav and /dev/null differ
diff --git a/audio_files/0b76a007b4954c6a9ac7fe11431642be.mp3 b/audio_files/0b76a007b4954c6a9ac7fe11431642be.mp3
deleted file mode 100644
index 94fe84e..0000000
Binary files a/audio_files/0b76a007b4954c6a9ac7fe11431642be.mp3 and /dev/null differ
diff --git a/audio_files/0b76a007b4954c6a9ac7fe11431642be.wav b/audio_files/0b76a007b4954c6a9ac7fe11431642be.wav
deleted file mode 100644
index ca5ed0a..0000000
Binary files a/audio_files/0b76a007b4954c6a9ac7fe11431642be.wav and /dev/null differ
diff --git a/audio_files/0d1f90b0ff1f4fba8c2074cc1527429c.wav b/audio_files/0d1f90b0ff1f4fba8c2074cc1527429c.wav
deleted file mode 100644
index 58ff8bf..0000000
Binary files a/audio_files/0d1f90b0ff1f4fba8c2074cc1527429c.wav and /dev/null differ
diff --git a/audio_files/0dd85b30877545068057d78fe136521c.mp3 b/audio_files/0dd85b30877545068057d78fe136521c.mp3
deleted file mode 100644
index c8e00b6..0000000
Binary files a/audio_files/0dd85b30877545068057d78fe136521c.mp3 and /dev/null differ
diff --git a/audio_files/0dd85b30877545068057d78fe136521c.wav b/audio_files/0dd85b30877545068057d78fe136521c.wav
deleted file mode 100644
index 57a491f..0000000
Binary files a/audio_files/0dd85b30877545068057d78fe136521c.wav and /dev/null differ
diff --git a/audio_files/0e1e256af78c438db272cafbb4cee171.mp3 b/audio_files/0e1e256af78c438db272cafbb4cee171.mp3
deleted file mode 100644
index 70047b4..0000000
Binary files a/audio_files/0e1e256af78c438db272cafbb4cee171.mp3 and /dev/null differ
diff --git a/audio_files/0e1e256af78c438db272cafbb4cee171.wav b/audio_files/0e1e256af78c438db272cafbb4cee171.wav
deleted file mode 100644
index 749cb4f..0000000
Binary files a/audio_files/0e1e256af78c438db272cafbb4cee171.wav and /dev/null differ
diff --git a/audio_files/0fa4b7f294d34f62ae712a08644c9567.mp3 b/audio_files/0fa4b7f294d34f62ae712a08644c9567.mp3
deleted file mode 100644
index 6165555..0000000
Binary files a/audio_files/0fa4b7f294d34f62ae712a08644c9567.mp3 and /dev/null differ
diff --git a/audio_files/10947514975b46a4b1ca26faf5307e84.mp3 b/audio_files/10947514975b46a4b1ca26faf5307e84.mp3
deleted file mode 100644
index ce41e39..0000000
Binary files a/audio_files/10947514975b46a4b1ca26faf5307e84.mp3 and /dev/null differ
diff --git a/audio_files/10d020acf4a34fd798d1a4991cda6068.mp3 b/audio_files/10d020acf4a34fd798d1a4991cda6068.mp3
deleted file mode 100644
index b59e1e7..0000000
Binary files a/audio_files/10d020acf4a34fd798d1a4991cda6068.mp3 and /dev/null differ
diff --git a/audio_files/1187fc42c63949d5b38c531c4c97f796.mp3 b/audio_files/1187fc42c63949d5b38c531c4c97f796.mp3
deleted file mode 100644
index d9e1f27..0000000
Binary files a/audio_files/1187fc42c63949d5b38c531c4c97f796.mp3 and /dev/null differ
diff --git a/audio_files/12bb29e41daa49c3bdb374675172f0dd.mp3 b/audio_files/12bb29e41daa49c3bdb374675172f0dd.mp3
deleted file mode 100644
index b8eec6d..0000000
Binary files a/audio_files/12bb29e41daa49c3bdb374675172f0dd.mp3 and /dev/null differ
diff --git a/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.mp3 b/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.mp3
deleted file mode 100644
index 9016bd4..0000000
Binary files a/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.mp3 and /dev/null differ
diff --git a/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.wav b/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.wav
deleted file mode 100644
index 490a7b1..0000000
Binary files a/audio_files/139f2c6922ce4f3fbf00481b632c0bf6.wav and /dev/null differ
diff --git a/audio_files/13b1ca7e867848a98818a78cb6865e4c.mp3 b/audio_files/13b1ca7e867848a98818a78cb6865e4c.mp3
deleted file mode 100644
index d18ae99..0000000
Binary files a/audio_files/13b1ca7e867848a98818a78cb6865e4c.mp3 and /dev/null differ
diff --git a/audio_files/1401e5bfb69e4bb89d36d50b147c9db0.mp3 b/audio_files/1401e5bfb69e4bb89d36d50b147c9db0.mp3
deleted file mode 100644
index 4fe1830..0000000
Binary files a/audio_files/1401e5bfb69e4bb89d36d50b147c9db0.mp3 and /dev/null differ
diff --git a/audio_files/14a66e28e7b0403d997cf4b6296d3f08.mp3 b/audio_files/14a66e28e7b0403d997cf4b6296d3f08.mp3
deleted file mode 100644
index edc6aab..0000000
Binary files a/audio_files/14a66e28e7b0403d997cf4b6296d3f08.mp3 and /dev/null differ
diff --git a/audio_files/14a66e28e7b0403d997cf4b6296d3f08.wav b/audio_files/14a66e28e7b0403d997cf4b6296d3f08.wav
deleted file mode 100644
index c13b5d3..0000000
Binary files a/audio_files/14a66e28e7b0403d997cf4b6296d3f08.wav and /dev/null differ
diff --git a/audio_files/14ac0f0a27ff4f33ac6feb33aaaeb085.mp3 b/audio_files/14ac0f0a27ff4f33ac6feb33aaaeb085.mp3
deleted file mode 100644
index 6d4c7cd..0000000
Binary files a/audio_files/14ac0f0a27ff4f33ac6feb33aaaeb085.mp3 and /dev/null differ
diff --git a/audio_files/156de9a310f14537ac613e002cb68466.mp3 b/audio_files/156de9a310f14537ac613e002cb68466.mp3
deleted file mode 100644
index 8a54ff4..0000000
Binary files a/audio_files/156de9a310f14537ac613e002cb68466.mp3 and /dev/null differ
diff --git a/audio_files/156de9a310f14537ac613e002cb68466.wav b/audio_files/156de9a310f14537ac613e002cb68466.wav
deleted file mode 100644
index f7ee99d..0000000
Binary files a/audio_files/156de9a310f14537ac613e002cb68466.wav and /dev/null differ
diff --git a/audio_files/15bbb0885a9449a4848bb9cf29d7c567.mp3 b/audio_files/15bbb0885a9449a4848bb9cf29d7c567.mp3
deleted file mode 100644
index ce1583f..0000000
Binary files a/audio_files/15bbb0885a9449a4848bb9cf29d7c567.mp3 and /dev/null differ
diff --git a/audio_files/15f2c780b8b54990a4cb75707f4decb9.mp3 b/audio_files/15f2c780b8b54990a4cb75707f4decb9.mp3
deleted file mode 100644
index eca8e99..0000000
Binary files a/audio_files/15f2c780b8b54990a4cb75707f4decb9.mp3 and /dev/null differ
diff --git a/audio_files/15f2c780b8b54990a4cb75707f4decb9.wav b/audio_files/15f2c780b8b54990a4cb75707f4decb9.wav
deleted file mode 100644
index 761a995..0000000
Binary files a/audio_files/15f2c780b8b54990a4cb75707f4decb9.wav and /dev/null differ
diff --git a/audio_files/1785619904ab45a798204b4c8c13b6ed.mp3 b/audio_files/1785619904ab45a798204b4c8c13b6ed.mp3
deleted file mode 100644
index 72dd9c4..0000000
Binary files a/audio_files/1785619904ab45a798204b4c8c13b6ed.mp3 and /dev/null differ
diff --git a/audio_files/1785619904ab45a798204b4c8c13b6ed.wav b/audio_files/1785619904ab45a798204b4c8c13b6ed.wav
deleted file mode 100644
index 4dcd772..0000000
Binary files a/audio_files/1785619904ab45a798204b4c8c13b6ed.wav and /dev/null differ
diff --git a/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.mp3 b/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.mp3
deleted file mode 100644
index 5e67f7b..0000000
Binary files a/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.mp3 and /dev/null differ
diff --git a/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.wav b/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.wav
deleted file mode 100644
index d217ddf..0000000
Binary files a/audio_files/18ad3b99165f4e838f3a3464d4a7fccf.wav and /dev/null differ
diff --git a/audio_files/1993a5bed507455a95ccd28817850b54.mp3 b/audio_files/1993a5bed507455a95ccd28817850b54.mp3
deleted file mode 100644
index d96f9d3..0000000
Binary files a/audio_files/1993a5bed507455a95ccd28817850b54.mp3 and /dev/null differ
diff --git a/audio_files/19a3a528a524454d939ec9daa4a1097c.mp3 b/audio_files/19a3a528a524454d939ec9daa4a1097c.mp3
deleted file mode 100644
index c032db9..0000000
Binary files a/audio_files/19a3a528a524454d939ec9daa4a1097c.mp3 and /dev/null differ
diff --git a/audio_files/19a3a528a524454d939ec9daa4a1097c.wav b/audio_files/19a3a528a524454d939ec9daa4a1097c.wav
deleted file mode 100644
index 1a21b17..0000000
Binary files a/audio_files/19a3a528a524454d939ec9daa4a1097c.wav and /dev/null differ
diff --git a/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.mp3 b/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.mp3
deleted file mode 100644
index 8e24359..0000000
Binary files a/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.mp3 and /dev/null differ
diff --git a/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.wav b/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.wav
deleted file mode 100644
index 80357c4..0000000
Binary files a/audio_files/19fe70f7281a47e3befa8bc0cf7153ef.wav and /dev/null differ
diff --git a/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.mp3 b/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.mp3
deleted file mode 100644
index d3a0616..0000000
Binary files a/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.mp3 and /dev/null differ
diff --git a/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.wav b/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.wav
deleted file mode 100644
index 2fa3f1a..0000000
Binary files a/audio_files/1a9062a9ec824b7aaef8bc99a073d0e4.wav and /dev/null differ
diff --git a/audio_files/1ab1c96899a94d22af6b848687b8683a.mp3 b/audio_files/1ab1c96899a94d22af6b848687b8683a.mp3
deleted file mode 100644
index 0d3bc1b..0000000
Binary files a/audio_files/1ab1c96899a94d22af6b848687b8683a.mp3 and /dev/null differ
diff --git a/audio_files/1ab1c96899a94d22af6b848687b8683a.wav b/audio_files/1ab1c96899a94d22af6b848687b8683a.wav
deleted file mode 100644
index 42d4941..0000000
Binary files a/audio_files/1ab1c96899a94d22af6b848687b8683a.wav and /dev/null differ
diff --git a/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.mp3 b/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.mp3
deleted file mode 100644
index 37f5a06..0000000
Binary files a/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.mp3 and /dev/null differ
diff --git a/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.wav b/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.wav
deleted file mode 100644
index dbcfa8a..0000000
Binary files a/audio_files/1b2ea8bbd6fd4039b763f536e73c1e2e.wav and /dev/null differ
diff --git a/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.mp3 b/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.mp3
deleted file mode 100644
index 45f9a8f..0000000
Binary files a/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.mp3 and /dev/null differ
diff --git a/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.wav b/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.wav
deleted file mode 100644
index b9b3c1d..0000000
Binary files a/audio_files/1b4774eb894246eabc55fffa5a4fb2fb.wav and /dev/null differ
diff --git a/audio_files/1b9c3fea58784d868af17fedf1f2dab2.mp3 b/audio_files/1b9c3fea58784d868af17fedf1f2dab2.mp3
deleted file mode 100644
index aabbec5..0000000
Binary files a/audio_files/1b9c3fea58784d868af17fedf1f2dab2.mp3 and /dev/null differ
diff --git a/audio_files/1b9c3fea58784d868af17fedf1f2dab2.wav b/audio_files/1b9c3fea58784d868af17fedf1f2dab2.wav
deleted file mode 100644
index 9fff8d9..0000000
Binary files a/audio_files/1b9c3fea58784d868af17fedf1f2dab2.wav and /dev/null differ
diff --git a/audio_files/1beb991866a24103a8b63036a06ae6e5.mp3 b/audio_files/1beb991866a24103a8b63036a06ae6e5.mp3
deleted file mode 100644
index 3decdc2..0000000
Binary files a/audio_files/1beb991866a24103a8b63036a06ae6e5.mp3 and /dev/null differ
diff --git a/audio_files/1bf24b4d62934285aa950caa7d82e4cc.mp3 b/audio_files/1bf24b4d62934285aa950caa7d82e4cc.mp3
deleted file mode 100644
index 01075ce..0000000
Binary files a/audio_files/1bf24b4d62934285aa950caa7d82e4cc.mp3 and /dev/null differ
diff --git a/audio_files/1e7cadcbcdfb4a6eaeeaaab89891b776.mp3 b/audio_files/1e7cadcbcdfb4a6eaeeaaab89891b776.mp3
deleted file mode 100644
index be803e6..0000000
Binary files a/audio_files/1e7cadcbcdfb4a6eaeeaaab89891b776.mp3 and /dev/null differ
diff --git a/audio_files/1ed66c485c31471d996c6bc58ec8a39c.mp3 b/audio_files/1ed66c485c31471d996c6bc58ec8a39c.mp3
deleted file mode 100644
index 9173e3a..0000000
Binary files a/audio_files/1ed66c485c31471d996c6bc58ec8a39c.mp3 and /dev/null differ
diff --git a/audio_files/1ed66c485c31471d996c6bc58ec8a39c.wav b/audio_files/1ed66c485c31471d996c6bc58ec8a39c.wav
deleted file mode 100644
index f8ee185..0000000
Binary files a/audio_files/1ed66c485c31471d996c6bc58ec8a39c.wav and /dev/null differ
diff --git a/audio_files/20a6f5fdd888488d90346d137679e258.mp3 b/audio_files/20a6f5fdd888488d90346d137679e258.mp3
deleted file mode 100644
index 0b2f2ba..0000000
Binary files a/audio_files/20a6f5fdd888488d90346d137679e258.mp3 and /dev/null differ
diff --git a/audio_files/214a5df554a646abb5e7198fd8cbd612.mp3 b/audio_files/214a5df554a646abb5e7198fd8cbd612.mp3
deleted file mode 100644
index e448546..0000000
Binary files a/audio_files/214a5df554a646abb5e7198fd8cbd612.mp3 and /dev/null differ
diff --git a/audio_files/214a5df554a646abb5e7198fd8cbd612.wav b/audio_files/214a5df554a646abb5e7198fd8cbd612.wav
deleted file mode 100644
index 0bfd9dc..0000000
Binary files a/audio_files/214a5df554a646abb5e7198fd8cbd612.wav and /dev/null differ
diff --git a/audio_files/2159bf9afded4c6db3f18cfff207eaf3.mp3 b/audio_files/2159bf9afded4c6db3f18cfff207eaf3.mp3
deleted file mode 100644
index 73ae7d9..0000000
Binary files a/audio_files/2159bf9afded4c6db3f18cfff207eaf3.mp3 and /dev/null differ
diff --git a/audio_files/2159bf9afded4c6db3f18cfff207eaf3.wav b/audio_files/2159bf9afded4c6db3f18cfff207eaf3.wav
deleted file mode 100644
index 613cfb4..0000000
Binary files a/audio_files/2159bf9afded4c6db3f18cfff207eaf3.wav and /dev/null differ
diff --git a/audio_files/21ae03582bdb4e01b84f045b87b17551.mp3 b/audio_files/21ae03582bdb4e01b84f045b87b17551.mp3
deleted file mode 100644
index 706b46a..0000000
Binary files a/audio_files/21ae03582bdb4e01b84f045b87b17551.mp3 and /dev/null differ
diff --git a/audio_files/22679b2cc91546d6bbddacccaf64ae38.mp3 b/audio_files/22679b2cc91546d6bbddacccaf64ae38.mp3
deleted file mode 100644
index 79c1787..0000000
Binary files a/audio_files/22679b2cc91546d6bbddacccaf64ae38.mp3 and /dev/null differ
diff --git a/audio_files/22679b2cc91546d6bbddacccaf64ae38.wav b/audio_files/22679b2cc91546d6bbddacccaf64ae38.wav
deleted file mode 100644
index aa5ad4d..0000000
Binary files a/audio_files/22679b2cc91546d6bbddacccaf64ae38.wav and /dev/null differ
diff --git a/audio_files/2368e9eb00504978ab209cc41a727af1.mp3 b/audio_files/2368e9eb00504978ab209cc41a727af1.mp3
deleted file mode 100644
index 3163d42..0000000
Binary files a/audio_files/2368e9eb00504978ab209cc41a727af1.mp3 and /dev/null differ
diff --git a/audio_files/24292dc19eda476da1ecc8e709dd81bd.mp3 b/audio_files/24292dc19eda476da1ecc8e709dd81bd.mp3
deleted file mode 100644
index 96bb458..0000000
Binary files a/audio_files/24292dc19eda476da1ecc8e709dd81bd.mp3 and /dev/null differ
diff --git a/audio_files/24f98de8ffa04e1690d4652b612ad3c5.mp3 b/audio_files/24f98de8ffa04e1690d4652b612ad3c5.mp3
deleted file mode 100644
index c006d27..0000000
Binary files a/audio_files/24f98de8ffa04e1690d4652b612ad3c5.mp3 and /dev/null differ
diff --git a/audio_files/24f98de8ffa04e1690d4652b612ad3c5.wav b/audio_files/24f98de8ffa04e1690d4652b612ad3c5.wav
deleted file mode 100644
index f7928a8..0000000
Binary files a/audio_files/24f98de8ffa04e1690d4652b612ad3c5.wav and /dev/null differ
diff --git a/audio_files/25303eb5d6e543afa7e3df6081739035.mp3 b/audio_files/25303eb5d6e543afa7e3df6081739035.mp3
deleted file mode 100644
index 32a8360..0000000
Binary files a/audio_files/25303eb5d6e543afa7e3df6081739035.mp3 and /dev/null differ
diff --git a/audio_files/25303eb5d6e543afa7e3df6081739035.wav b/audio_files/25303eb5d6e543afa7e3df6081739035.wav
deleted file mode 100644
index 7960187..0000000
Binary files a/audio_files/25303eb5d6e543afa7e3df6081739035.wav and /dev/null differ
diff --git a/audio_files/26369ffc499644f5a5f7181fd9adff9c.mp3 b/audio_files/26369ffc499644f5a5f7181fd9adff9c.mp3
deleted file mode 100644
index fb81eab..0000000
Binary files a/audio_files/26369ffc499644f5a5f7181fd9adff9c.mp3 and /dev/null differ
diff --git a/audio_files/2649a18819b440028f2046010afbedd3.mp3 b/audio_files/2649a18819b440028f2046010afbedd3.mp3
deleted file mode 100644
index fa674a4..0000000
Binary files a/audio_files/2649a18819b440028f2046010afbedd3.mp3 and /dev/null differ
diff --git a/audio_files/2649a18819b440028f2046010afbedd3.wav b/audio_files/2649a18819b440028f2046010afbedd3.wav
deleted file mode 100644
index d26b87b..0000000
Binary files a/audio_files/2649a18819b440028f2046010afbedd3.wav and /dev/null differ
diff --git a/audio_files/273ce82361d7486ca1529e68b22ee26e.mp3 b/audio_files/273ce82361d7486ca1529e68b22ee26e.mp3
deleted file mode 100644
index b7591e9..0000000
Binary files a/audio_files/273ce82361d7486ca1529e68b22ee26e.mp3 and /dev/null differ
diff --git a/audio_files/27452037991847ba911eb4a0b51c4cee.mp3 b/audio_files/27452037991847ba911eb4a0b51c4cee.mp3
deleted file mode 100644
index 93d325d..0000000
Binary files a/audio_files/27452037991847ba911eb4a0b51c4cee.mp3 and /dev/null differ
diff --git a/audio_files/27452037991847ba911eb4a0b51c4cee.wav b/audio_files/27452037991847ba911eb4a0b51c4cee.wav
deleted file mode 100644
index 5b37d48..0000000
Binary files a/audio_files/27452037991847ba911eb4a0b51c4cee.wav and /dev/null differ
diff --git a/audio_files/275ea112c78b482b92fb43d17d12dccb.mp3 b/audio_files/275ea112c78b482b92fb43d17d12dccb.mp3
deleted file mode 100644
index 07b5342..0000000
Binary files a/audio_files/275ea112c78b482b92fb43d17d12dccb.mp3 and /dev/null differ
diff --git a/audio_files/275ea112c78b482b92fb43d17d12dccb.wav b/audio_files/275ea112c78b482b92fb43d17d12dccb.wav
deleted file mode 100644
index 6ce8002..0000000
Binary files a/audio_files/275ea112c78b482b92fb43d17d12dccb.wav and /dev/null differ
diff --git a/audio_files/28ee15bdd37d4b8687113152911f3be2.mp3 b/audio_files/28ee15bdd37d4b8687113152911f3be2.mp3
deleted file mode 100644
index 8d05705..0000000
Binary files a/audio_files/28ee15bdd37d4b8687113152911f3be2.mp3 and /dev/null differ
diff --git a/audio_files/2a5c24343d3b418b8fdd5160d88a077c.mp3 b/audio_files/2a5c24343d3b418b8fdd5160d88a077c.mp3
deleted file mode 100644
index 0182f68..0000000
Binary files a/audio_files/2a5c24343d3b418b8fdd5160d88a077c.mp3 and /dev/null differ
diff --git a/audio_files/2adcfae94dc948a89af96168924862e2.mp3 b/audio_files/2adcfae94dc948a89af96168924862e2.mp3
deleted file mode 100644
index f295b9b..0000000
Binary files a/audio_files/2adcfae94dc948a89af96168924862e2.mp3 and /dev/null differ
diff --git a/audio_files/2adcfae94dc948a89af96168924862e2.wav b/audio_files/2adcfae94dc948a89af96168924862e2.wav
deleted file mode 100644
index 37034df..0000000
Binary files a/audio_files/2adcfae94dc948a89af96168924862e2.wav and /dev/null differ
diff --git a/audio_files/2b071b0dde7141de81d19ba791e85ab9.mp3 b/audio_files/2b071b0dde7141de81d19ba791e85ab9.mp3
deleted file mode 100644
index 81027b0..0000000
Binary files a/audio_files/2b071b0dde7141de81d19ba791e85ab9.mp3 and /dev/null differ
diff --git a/audio_files/2b071b0dde7141de81d19ba791e85ab9.wav b/audio_files/2b071b0dde7141de81d19ba791e85ab9.wav
deleted file mode 100644
index 417768f..0000000
Binary files a/audio_files/2b071b0dde7141de81d19ba791e85ab9.wav and /dev/null differ
diff --git a/audio_files/2b723d3a8396409b818a728cc1a53c74.mp3 b/audio_files/2b723d3a8396409b818a728cc1a53c74.mp3
deleted file mode 100644
index e4f4a71..0000000
Binary files a/audio_files/2b723d3a8396409b818a728cc1a53c74.mp3 and /dev/null differ
diff --git a/audio_files/2b723d3a8396409b818a728cc1a53c74.wav b/audio_files/2b723d3a8396409b818a728cc1a53c74.wav
deleted file mode 100644
index 986896e..0000000
Binary files a/audio_files/2b723d3a8396409b818a728cc1a53c74.wav and /dev/null differ
diff --git a/audio_files/2bda2477c2d74866b96e70e9a9198779.mp3 b/audio_files/2bda2477c2d74866b96e70e9a9198779.mp3
deleted file mode 100644
index 6067008..0000000
Binary files a/audio_files/2bda2477c2d74866b96e70e9a9198779.mp3 and /dev/null differ
diff --git a/audio_files/2be579de2dab4e118a7e9e572cadd440.mp3 b/audio_files/2be579de2dab4e118a7e9e572cadd440.mp3
deleted file mode 100644
index 58a176f..0000000
Binary files a/audio_files/2be579de2dab4e118a7e9e572cadd440.mp3 and /dev/null differ
diff --git a/audio_files/2be579de2dab4e118a7e9e572cadd440.wav b/audio_files/2be579de2dab4e118a7e9e572cadd440.wav
deleted file mode 100644
index 7200d7b..0000000
Binary files a/audio_files/2be579de2dab4e118a7e9e572cadd440.wav and /dev/null differ
diff --git a/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.mp3 b/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.mp3
deleted file mode 100644
index 7c5257f..0000000
Binary files a/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.mp3 and /dev/null differ
diff --git a/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.wav b/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.wav
deleted file mode 100644
index 3b2be05..0000000
Binary files a/audio_files/2ccf3320dd6d4520b4ea11c4114c6876.wav and /dev/null differ
diff --git a/audio_files/2d2ce465bced479eb573c9591cf5dc9f.mp3 b/audio_files/2d2ce465bced479eb573c9591cf5dc9f.mp3
deleted file mode 100644
index a5ee72b..0000000
Binary files a/audio_files/2d2ce465bced479eb573c9591cf5dc9f.mp3 and /dev/null differ
diff --git a/audio_files/2d31870c14404e06b4126371f14bfc05.mp3 b/audio_files/2d31870c14404e06b4126371f14bfc05.mp3
deleted file mode 100644
index 2a543cf..0000000
Binary files a/audio_files/2d31870c14404e06b4126371f14bfc05.mp3 and /dev/null differ
diff --git a/audio_files/2d31870c14404e06b4126371f14bfc05.wav b/audio_files/2d31870c14404e06b4126371f14bfc05.wav
deleted file mode 100644
index 484c05d..0000000
Binary files a/audio_files/2d31870c14404e06b4126371f14bfc05.wav and /dev/null differ
diff --git a/audio_files/2e46ce87fc9243fb90a7acb1a4b33992.mp3 b/audio_files/2e46ce87fc9243fb90a7acb1a4b33992.mp3
deleted file mode 100644
index fecff63..0000000
Binary files a/audio_files/2e46ce87fc9243fb90a7acb1a4b33992.mp3 and /dev/null differ
diff --git a/audio_files/2e4a0afd82d947c1a7d46aa71f8f24c3.mp3 b/audio_files/2e4a0afd82d947c1a7d46aa71f8f24c3.mp3
deleted file mode 100644
index 19949f2..0000000
Binary files a/audio_files/2e4a0afd82d947c1a7d46aa71f8f24c3.mp3 and /dev/null differ
diff --git a/audio_files/2ed0f5ce10144c9282ba8e94304d6754.mp3 b/audio_files/2ed0f5ce10144c9282ba8e94304d6754.mp3
deleted file mode 100644
index 5048a0e..0000000
Binary files a/audio_files/2ed0f5ce10144c9282ba8e94304d6754.mp3 and /dev/null differ
diff --git a/audio_files/2f865709c8c44e829c37ac8ef82f95e1.mp3 b/audio_files/2f865709c8c44e829c37ac8ef82f95e1.mp3
deleted file mode 100644
index 31cad5a..0000000
Binary files a/audio_files/2f865709c8c44e829c37ac8ef82f95e1.mp3 and /dev/null differ
diff --git a/audio_files/2f865709c8c44e829c37ac8ef82f95e1.wav b/audio_files/2f865709c8c44e829c37ac8ef82f95e1.wav
deleted file mode 100644
index a92d7d2..0000000
Binary files a/audio_files/2f865709c8c44e829c37ac8ef82f95e1.wav and /dev/null differ
diff --git a/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.mp3 b/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.mp3
deleted file mode 100644
index 82ee427..0000000
Binary files a/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.mp3 and /dev/null differ
diff --git a/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.wav b/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.wav
deleted file mode 100644
index 597f97f..0000000
Binary files a/audio_files/2f9a7243cd7b43d881e8ea41ab9a5729.wav and /dev/null differ
diff --git a/audio_files/2fbca03f74774f3ebca62ced93ae6f9e.mp3 b/audio_files/2fbca03f74774f3ebca62ced93ae6f9e.mp3
deleted file mode 100644
index ca6d50e..0000000
Binary files a/audio_files/2fbca03f74774f3ebca62ced93ae6f9e.mp3 and /dev/null differ
diff --git a/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.mp3 b/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.mp3
deleted file mode 100644
index 89c8298..0000000
Binary files a/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.mp3 and /dev/null differ
diff --git a/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.wav b/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.wav
deleted file mode 100644
index d26b87b..0000000
Binary files a/audio_files/2fe414e4b1c44aafbc0b74ee439d5357.wav and /dev/null differ
diff --git a/audio_files/3058c259de22471e9f45c9992e0e508d.mp3 b/audio_files/3058c259de22471e9f45c9992e0e508d.mp3
deleted file mode 100644
index 0bb1987..0000000
Binary files a/audio_files/3058c259de22471e9f45c9992e0e508d.mp3 and /dev/null differ
diff --git a/audio_files/3058c259de22471e9f45c9992e0e508d.wav b/audio_files/3058c259de22471e9f45c9992e0e508d.wav
deleted file mode 100644
index fb05305..0000000
Binary files a/audio_files/3058c259de22471e9f45c9992e0e508d.wav and /dev/null differ
diff --git a/audio_files/318293ebc6654b239610d73bc2170a53.mp3 b/audio_files/318293ebc6654b239610d73bc2170a53.mp3
deleted file mode 100644
index b5193a3..0000000
Binary files a/audio_files/318293ebc6654b239610d73bc2170a53.mp3 and /dev/null differ
diff --git a/audio_files/31e331b9276643dbbabe9e37aa6d3874.mp3 b/audio_files/31e331b9276643dbbabe9e37aa6d3874.mp3
deleted file mode 100644
index ead52db..0000000
Binary files a/audio_files/31e331b9276643dbbabe9e37aa6d3874.mp3 and /dev/null differ
diff --git a/audio_files/31e331b9276643dbbabe9e37aa6d3874.wav b/audio_files/31e331b9276643dbbabe9e37aa6d3874.wav
deleted file mode 100644
index 93685b9..0000000
Binary files a/audio_files/31e331b9276643dbbabe9e37aa6d3874.wav and /dev/null differ
diff --git a/audio_files/31f56e0f5d2741a4a80a62309efbedec.mp3 b/audio_files/31f56e0f5d2741a4a80a62309efbedec.mp3
deleted file mode 100644
index cdce573..0000000
Binary files a/audio_files/31f56e0f5d2741a4a80a62309efbedec.mp3 and /dev/null differ
diff --git a/audio_files/31f56e0f5d2741a4a80a62309efbedec.wav b/audio_files/31f56e0f5d2741a4a80a62309efbedec.wav
deleted file mode 100644
index 409a71a..0000000
Binary files a/audio_files/31f56e0f5d2741a4a80a62309efbedec.wav and /dev/null differ
diff --git a/audio_files/325d44481f3d4837b0ee96e5399f6622.mp3 b/audio_files/325d44481f3d4837b0ee96e5399f6622.mp3
deleted file mode 100644
index 0fa924a..0000000
Binary files a/audio_files/325d44481f3d4837b0ee96e5399f6622.mp3 and /dev/null differ
diff --git a/audio_files/32b832e9843f402ea23c3d2e37920cf7.mp3 b/audio_files/32b832e9843f402ea23c3d2e37920cf7.mp3
deleted file mode 100644
index fb5ffb3..0000000
Binary files a/audio_files/32b832e9843f402ea23c3d2e37920cf7.mp3 and /dev/null differ
diff --git a/audio_files/32b832e9843f402ea23c3d2e37920cf7.wav b/audio_files/32b832e9843f402ea23c3d2e37920cf7.wav
deleted file mode 100644
index c16fa59..0000000
Binary files a/audio_files/32b832e9843f402ea23c3d2e37920cf7.wav and /dev/null differ
diff --git a/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.mp3 b/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.mp3
deleted file mode 100644
index 98e126f..0000000
Binary files a/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.mp3 and /dev/null differ
diff --git a/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.wav b/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.wav
deleted file mode 100644
index 847c811..0000000
Binary files a/audio_files/32ed44031c1e4ec29b3488a3f1b06e52.wav and /dev/null differ
diff --git a/audio_files/3317df1f53884833a19ad478e6532ce9.mp3 b/audio_files/3317df1f53884833a19ad478e6532ce9.mp3
deleted file mode 100644
index 41c0f4c..0000000
Binary files a/audio_files/3317df1f53884833a19ad478e6532ce9.mp3 and /dev/null differ
diff --git a/audio_files/3317df1f53884833a19ad478e6532ce9.wav b/audio_files/3317df1f53884833a19ad478e6532ce9.wav
deleted file mode 100644
index 4405f86..0000000
Binary files a/audio_files/3317df1f53884833a19ad478e6532ce9.wav and /dev/null differ
diff --git a/audio_files/3359c492065540eba79b734d95770e94.mp3 b/audio_files/3359c492065540eba79b734d95770e94.mp3
deleted file mode 100644
index 2800635..0000000
Binary files a/audio_files/3359c492065540eba79b734d95770e94.mp3 and /dev/null differ
diff --git a/audio_files/3359c492065540eba79b734d95770e94.wav b/audio_files/3359c492065540eba79b734d95770e94.wav
deleted file mode 100644
index 5535d5d..0000000
Binary files a/audio_files/3359c492065540eba79b734d95770e94.wav and /dev/null differ
diff --git a/audio_files/338b0c2d1c4c49899425341dcebb48e1.mp3 b/audio_files/338b0c2d1c4c49899425341dcebb48e1.mp3
deleted file mode 100644
index af15ef9..0000000
Binary files a/audio_files/338b0c2d1c4c49899425341dcebb48e1.mp3 and /dev/null differ
diff --git a/audio_files/338b0c2d1c4c49899425341dcebb48e1.wav b/audio_files/338b0c2d1c4c49899425341dcebb48e1.wav
deleted file mode 100644
index 2235522..0000000
Binary files a/audio_files/338b0c2d1c4c49899425341dcebb48e1.wav and /dev/null differ
diff --git a/audio_files/342a3ef97550465f930710ff565b79a4.mp3 b/audio_files/342a3ef97550465f930710ff565b79a4.mp3
deleted file mode 100644
index aa98387..0000000
Binary files a/audio_files/342a3ef97550465f930710ff565b79a4.mp3 and /dev/null differ
diff --git a/audio_files/342a3ef97550465f930710ff565b79a4.wav b/audio_files/342a3ef97550465f930710ff565b79a4.wav
deleted file mode 100644
index caa16b2..0000000
Binary files a/audio_files/342a3ef97550465f930710ff565b79a4.wav and /dev/null differ
diff --git a/audio_files/34c2de769bc04d7f9235e46c64a92d30.mp3 b/audio_files/34c2de769bc04d7f9235e46c64a92d30.mp3
deleted file mode 100644
index 6ece977..0000000
Binary files a/audio_files/34c2de769bc04d7f9235e46c64a92d30.mp3 and /dev/null differ
diff --git a/audio_files/3550fc8bfac04f03b49dbfb2d06917da.mp3 b/audio_files/3550fc8bfac04f03b49dbfb2d06917da.mp3
deleted file mode 100644
index 7135a67..0000000
Binary files a/audio_files/3550fc8bfac04f03b49dbfb2d06917da.mp3 and /dev/null differ
diff --git a/audio_files/3550fc8bfac04f03b49dbfb2d06917da.wav b/audio_files/3550fc8bfac04f03b49dbfb2d06917da.wav
deleted file mode 100644
index 83610f8..0000000
Binary files a/audio_files/3550fc8bfac04f03b49dbfb2d06917da.wav and /dev/null differ
diff --git a/audio_files/368e59361ea440adafd6137e40354049.mp3 b/audio_files/368e59361ea440adafd6137e40354049.mp3
deleted file mode 100644
index 37e42ff..0000000
Binary files a/audio_files/368e59361ea440adafd6137e40354049.mp3 and /dev/null differ
diff --git a/audio_files/368e59361ea440adafd6137e40354049.wav b/audio_files/368e59361ea440adafd6137e40354049.wav
deleted file mode 100644
index 1ad9cd8..0000000
Binary files a/audio_files/368e59361ea440adafd6137e40354049.wav and /dev/null differ
diff --git a/audio_files/36bad1ad0fc644348d6f0f5906cbc90e.mp3 b/audio_files/36bad1ad0fc644348d6f0f5906cbc90e.mp3
deleted file mode 100644
index cb633a0..0000000
Binary files a/audio_files/36bad1ad0fc644348d6f0f5906cbc90e.mp3 and /dev/null differ
diff --git a/audio_files/375429dbde0c4a44ad2bd3bde5084a7c.mp3 b/audio_files/375429dbde0c4a44ad2bd3bde5084a7c.mp3
deleted file mode 100644
index b48ec1f..0000000
Binary files a/audio_files/375429dbde0c4a44ad2bd3bde5084a7c.mp3 and /dev/null differ
diff --git a/audio_files/37703784c19d41a89e0ad281934d5215.mp3 b/audio_files/37703784c19d41a89e0ad281934d5215.mp3
deleted file mode 100644
index b9df96e..0000000
Binary files a/audio_files/37703784c19d41a89e0ad281934d5215.mp3 and /dev/null differ
diff --git a/audio_files/37703784c19d41a89e0ad281934d5215.wav b/audio_files/37703784c19d41a89e0ad281934d5215.wav
deleted file mode 100644
index af14109..0000000
Binary files a/audio_files/37703784c19d41a89e0ad281934d5215.wav and /dev/null differ
diff --git a/audio_files/378dd0331fa044b19209e657c294b328.mp3 b/audio_files/378dd0331fa044b19209e657c294b328.mp3
deleted file mode 100644
index fa24a1c..0000000
Binary files a/audio_files/378dd0331fa044b19209e657c294b328.mp3 and /dev/null differ
diff --git a/audio_files/378dd0331fa044b19209e657c294b328.wav b/audio_files/378dd0331fa044b19209e657c294b328.wav
deleted file mode 100644
index 64aaeeb..0000000
Binary files a/audio_files/378dd0331fa044b19209e657c294b328.wav and /dev/null differ
diff --git a/audio_files/37b8e09a00fe4e7b8d51e00000d11200.mp3 b/audio_files/37b8e09a00fe4e7b8d51e00000d11200.mp3
deleted file mode 100644
index 92fd828..0000000
Binary files a/audio_files/37b8e09a00fe4e7b8d51e00000d11200.mp3 and /dev/null differ
diff --git a/audio_files/37b8e09a00fe4e7b8d51e00000d11200.wav b/audio_files/37b8e09a00fe4e7b8d51e00000d11200.wav
deleted file mode 100644
index 6647480..0000000
Binary files a/audio_files/37b8e09a00fe4e7b8d51e00000d11200.wav and /dev/null differ
diff --git a/audio_files/3827082ff5b041f8b60366b37fe5e565.mp3 b/audio_files/3827082ff5b041f8b60366b37fe5e565.mp3
deleted file mode 100644
index 2d4cbd5..0000000
Binary files a/audio_files/3827082ff5b041f8b60366b37fe5e565.mp3 and /dev/null differ
diff --git a/audio_files/3992084b94774e78a16f27ece24afb99.mp3 b/audio_files/3992084b94774e78a16f27ece24afb99.mp3
deleted file mode 100644
index db88e80..0000000
Binary files a/audio_files/3992084b94774e78a16f27ece24afb99.mp3 and /dev/null differ
diff --git a/audio_files/3992084b94774e78a16f27ece24afb99.wav b/audio_files/3992084b94774e78a16f27ece24afb99.wav
deleted file mode 100644
index 3161c9f..0000000
Binary files a/audio_files/3992084b94774e78a16f27ece24afb99.wav and /dev/null differ
diff --git a/audio_files/39f12ade45d9406c9b87ec9cfc14918b.mp3 b/audio_files/39f12ade45d9406c9b87ec9cfc14918b.mp3
deleted file mode 100644
index 4a8e80e..0000000
Binary files a/audio_files/39f12ade45d9406c9b87ec9cfc14918b.mp3 and /dev/null differ
diff --git a/audio_files/3d133756ce2347238fba0cc658634e03.mp3 b/audio_files/3d133756ce2347238fba0cc658634e03.mp3
deleted file mode 100644
index c5ed616..0000000
Binary files a/audio_files/3d133756ce2347238fba0cc658634e03.mp3 and /dev/null differ
diff --git a/audio_files/3d133756ce2347238fba0cc658634e03.wav b/audio_files/3d133756ce2347238fba0cc658634e03.wav
deleted file mode 100644
index 99e0255..0000000
Binary files a/audio_files/3d133756ce2347238fba0cc658634e03.wav and /dev/null differ
diff --git a/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.mp3 b/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.mp3
deleted file mode 100644
index 771a57c..0000000
Binary files a/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.mp3 and /dev/null differ
diff --git a/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.wav b/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.wav
deleted file mode 100644
index 5c9cdfc..0000000
Binary files a/audio_files/3dc470b6d3da4d0791a8ca20534b5de8.wav and /dev/null differ
diff --git a/audio_files/3e497473cf3a401c85649e6b6f94aa7d.mp3 b/audio_files/3e497473cf3a401c85649e6b6f94aa7d.mp3
deleted file mode 100644
index 8c4bd4e..0000000
Binary files a/audio_files/3e497473cf3a401c85649e6b6f94aa7d.mp3 and /dev/null differ
diff --git a/audio_files/3f6395aaf22847c19b77a371d9e60ce4.mp3 b/audio_files/3f6395aaf22847c19b77a371d9e60ce4.mp3
deleted file mode 100644
index ed6d782..0000000
Binary files a/audio_files/3f6395aaf22847c19b77a371d9e60ce4.mp3 and /dev/null differ
diff --git a/audio_files/40262751fbf14b65ba8423d7c7266edd.mp3 b/audio_files/40262751fbf14b65ba8423d7c7266edd.mp3
deleted file mode 100644
index 4dbd207..0000000
Binary files a/audio_files/40262751fbf14b65ba8423d7c7266edd.mp3 and /dev/null differ
diff --git a/audio_files/40262751fbf14b65ba8423d7c7266edd.wav b/audio_files/40262751fbf14b65ba8423d7c7266edd.wav
deleted file mode 100644
index a41bc09..0000000
Binary files a/audio_files/40262751fbf14b65ba8423d7c7266edd.wav and /dev/null differ
diff --git a/audio_files/4059ae1c844b4f609398c7fbf9ad3869.mp3 b/audio_files/4059ae1c844b4f609398c7fbf9ad3869.mp3
deleted file mode 100644
index 56957bc..0000000
Binary files a/audio_files/4059ae1c844b4f609398c7fbf9ad3869.mp3 and /dev/null differ
diff --git a/audio_files/4059ae1c844b4f609398c7fbf9ad3869.wav b/audio_files/4059ae1c844b4f609398c7fbf9ad3869.wav
deleted file mode 100644
index 6f413cc..0000000
Binary files a/audio_files/4059ae1c844b4f609398c7fbf9ad3869.wav and /dev/null differ
diff --git a/audio_files/40f2c6d193db41a6a3be5405d3cd4289.mp3 b/audio_files/40f2c6d193db41a6a3be5405d3cd4289.mp3
deleted file mode 100644
index 540d9e0..0000000
Binary files a/audio_files/40f2c6d193db41a6a3be5405d3cd4289.mp3 and /dev/null differ
diff --git a/audio_files/41e0d38002d14fb0b95cdfed7ff6d14f.mp3 b/audio_files/41e0d38002d14fb0b95cdfed7ff6d14f.mp3
deleted file mode 100644
index b800b64..0000000
Binary files a/audio_files/41e0d38002d14fb0b95cdfed7ff6d14f.mp3 and /dev/null differ
diff --git a/audio_files/423b14fe3977456a857cda580be1c037.mp3 b/audio_files/423b14fe3977456a857cda580be1c037.mp3
deleted file mode 100644
index 415be4c..0000000
Binary files a/audio_files/423b14fe3977456a857cda580be1c037.mp3 and /dev/null differ
diff --git a/audio_files/423b14fe3977456a857cda580be1c037.wav b/audio_files/423b14fe3977456a857cda580be1c037.wav
deleted file mode 100644
index d26b87b..0000000
Binary files a/audio_files/423b14fe3977456a857cda580be1c037.wav and /dev/null differ
diff --git a/audio_files/425f4c5d926244ed899e8461a99f4fe2.mp3 b/audio_files/425f4c5d926244ed899e8461a99f4fe2.mp3
deleted file mode 100644
index 8d218bc..0000000
Binary files a/audio_files/425f4c5d926244ed899e8461a99f4fe2.mp3 and /dev/null differ
diff --git a/audio_files/42663c0a199f46e0969bf8317b07565a.mp3 b/audio_files/42663c0a199f46e0969bf8317b07565a.mp3
deleted file mode 100644
index 57b178d..0000000
Binary files a/audio_files/42663c0a199f46e0969bf8317b07565a.mp3 and /dev/null differ
diff --git a/audio_files/42663c0a199f46e0969bf8317b07565a.wav b/audio_files/42663c0a199f46e0969bf8317b07565a.wav
deleted file mode 100644
index 1d1c991..0000000
Binary files a/audio_files/42663c0a199f46e0969bf8317b07565a.wav and /dev/null differ
diff --git a/audio_files/42a563032d9b4c08839684aa6d1d5488.mp3 b/audio_files/42a563032d9b4c08839684aa6d1d5488.mp3
deleted file mode 100644
index ed61133..0000000
Binary files a/audio_files/42a563032d9b4c08839684aa6d1d5488.mp3 and /dev/null differ
diff --git a/audio_files/42a563032d9b4c08839684aa6d1d5488.wav b/audio_files/42a563032d9b4c08839684aa6d1d5488.wav
deleted file mode 100644
index 6ffabaf..0000000
Binary files a/audio_files/42a563032d9b4c08839684aa6d1d5488.wav and /dev/null differ
diff --git a/audio_files/435da0fb36f34c7ea004ee3b6d836345.mp3 b/audio_files/435da0fb36f34c7ea004ee3b6d836345.mp3
deleted file mode 100644
index a86d402..0000000
Binary files a/audio_files/435da0fb36f34c7ea004ee3b6d836345.mp3 and /dev/null differ
diff --git a/audio_files/45f6527abf6340a9860160a8e4f921e5.mp3 b/audio_files/45f6527abf6340a9860160a8e4f921e5.mp3
deleted file mode 100644
index 14c42c5..0000000
Binary files a/audio_files/45f6527abf6340a9860160a8e4f921e5.mp3 and /dev/null differ
diff --git a/audio_files/46aac7ef07624dbd9a43fa02a9f9871e.mp3 b/audio_files/46aac7ef07624dbd9a43fa02a9f9871e.mp3
deleted file mode 100644
index db88e80..0000000
Binary files a/audio_files/46aac7ef07624dbd9a43fa02a9f9871e.mp3 and /dev/null differ
diff --git a/audio_files/47298dcd42714297b1e4e42c1bf11418.mp3 b/audio_files/47298dcd42714297b1e4e42c1bf11418.mp3
deleted file mode 100644
index 080c3b6..0000000
Binary files a/audio_files/47298dcd42714297b1e4e42c1bf11418.mp3 and /dev/null differ
diff --git a/audio_files/47298dcd42714297b1e4e42c1bf11418.wav b/audio_files/47298dcd42714297b1e4e42c1bf11418.wav
deleted file mode 100644
index 66138d2..0000000
Binary files a/audio_files/47298dcd42714297b1e4e42c1bf11418.wav and /dev/null differ
diff --git a/audio_files/497b9d17c76a4ddb951360ef0cde8932.mp3 b/audio_files/497b9d17c76a4ddb951360ef0cde8932.mp3
deleted file mode 100644
index c2c0469..0000000
Binary files a/audio_files/497b9d17c76a4ddb951360ef0cde8932.mp3 and /dev/null differ
diff --git a/audio_files/49c87bd4a0214b34a67c8163e5bbda42.mp3 b/audio_files/49c87bd4a0214b34a67c8163e5bbda42.mp3
deleted file mode 100644
index fa674a4..0000000
Binary files a/audio_files/49c87bd4a0214b34a67c8163e5bbda42.mp3 and /dev/null differ
diff --git a/audio_files/49c87bd4a0214b34a67c8163e5bbda42.wav b/audio_files/49c87bd4a0214b34a67c8163e5bbda42.wav
deleted file mode 100644
index c53c08a..0000000
Binary files a/audio_files/49c87bd4a0214b34a67c8163e5bbda42.wav and /dev/null differ
diff --git a/audio_files/49c8e020944446b4a0cde63de70c43cf.mp3 b/audio_files/49c8e020944446b4a0cde63de70c43cf.mp3
deleted file mode 100644
index 02d0aee..0000000
Binary files a/audio_files/49c8e020944446b4a0cde63de70c43cf.mp3 and /dev/null differ
diff --git a/audio_files/49c8e020944446b4a0cde63de70c43cf.wav b/audio_files/49c8e020944446b4a0cde63de70c43cf.wav
deleted file mode 100644
index b125893..0000000
Binary files a/audio_files/49c8e020944446b4a0cde63de70c43cf.wav and /dev/null differ
diff --git a/audio_files/49e7ef23dc23429db73d42262197d147.mp3 b/audio_files/49e7ef23dc23429db73d42262197d147.mp3
deleted file mode 100644
index ea4fbb1..0000000
Binary files a/audio_files/49e7ef23dc23429db73d42262197d147.mp3 and /dev/null differ
diff --git a/audio_files/49e963a82d684dce980a15889bf2ef12.mp3 b/audio_files/49e963a82d684dce980a15889bf2ef12.mp3
deleted file mode 100644
index 820addb..0000000
Binary files a/audio_files/49e963a82d684dce980a15889bf2ef12.mp3 and /dev/null differ
diff --git a/audio_files/4a539d883a1f4399a5abdcc92e9f6d87.mp3 b/audio_files/4a539d883a1f4399a5abdcc92e9f6d87.mp3
deleted file mode 100644
index d1d9165..0000000
Binary files a/audio_files/4a539d883a1f4399a5abdcc92e9f6d87.mp3 and /dev/null differ
diff --git a/audio_files/4afab8f2e8214727adf73ee00627b4c0.mp3 b/audio_files/4afab8f2e8214727adf73ee00627b4c0.mp3
deleted file mode 100644
index c24ff94..0000000
Binary files a/audio_files/4afab8f2e8214727adf73ee00627b4c0.mp3 and /dev/null differ
diff --git a/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.mp3 b/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.mp3
deleted file mode 100644
index 55ca11d..0000000
Binary files a/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.mp3 and /dev/null differ
diff --git a/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.wav b/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.wav
deleted file mode 100644
index 2a37199..0000000
Binary files a/audio_files/4b9fc2984e314cc98c04cc653dfeeb52.wav and /dev/null differ
diff --git a/audio_files/4c20410f5c6a42a9aac3d310258f8878.mp3 b/audio_files/4c20410f5c6a42a9aac3d310258f8878.mp3
deleted file mode 100644
index 1d5e260..0000000
Binary files a/audio_files/4c20410f5c6a42a9aac3d310258f8878.mp3 and /dev/null differ
diff --git a/audio_files/4c20410f5c6a42a9aac3d310258f8878.wav b/audio_files/4c20410f5c6a42a9aac3d310258f8878.wav
deleted file mode 100644
index 8925d40..0000000
Binary files a/audio_files/4c20410f5c6a42a9aac3d310258f8878.wav and /dev/null differ
diff --git a/audio_files/4d0cef8b01d84f5da6670d08a07b8453.mp3 b/audio_files/4d0cef8b01d84f5da6670d08a07b8453.mp3
deleted file mode 100644
index b0ea8a0..0000000
Binary files a/audio_files/4d0cef8b01d84f5da6670d08a07b8453.mp3 and /dev/null differ
diff --git a/audio_files/4d0cef8b01d84f5da6670d08a07b8453.wav b/audio_files/4d0cef8b01d84f5da6670d08a07b8453.wav
deleted file mode 100644
index 31b78cf..0000000
Binary files a/audio_files/4d0cef8b01d84f5da6670d08a07b8453.wav and /dev/null differ
diff --git a/audio_files/4d55746d01e1499aa603267a4920caa8.mp3 b/audio_files/4d55746d01e1499aa603267a4920caa8.mp3
deleted file mode 100644
index d6ec0df..0000000
Binary files a/audio_files/4d55746d01e1499aa603267a4920caa8.mp3 and /dev/null differ
diff --git a/audio_files/4da5cb08b5cd46749d05a3fb44f52669.mp3 b/audio_files/4da5cb08b5cd46749d05a3fb44f52669.mp3
deleted file mode 100644
index 76f85e2..0000000
Binary files a/audio_files/4da5cb08b5cd46749d05a3fb44f52669.mp3 and /dev/null differ
diff --git a/audio_files/4df46681d8dc4a75a786709c6532751f.mp3 b/audio_files/4df46681d8dc4a75a786709c6532751f.mp3
deleted file mode 100644
index 5e80552..0000000
Binary files a/audio_files/4df46681d8dc4a75a786709c6532751f.mp3 and /dev/null differ
diff --git a/audio_files/4df46681d8dc4a75a786709c6532751f.wav b/audio_files/4df46681d8dc4a75a786709c6532751f.wav
deleted file mode 100644
index 18e1fa7..0000000
Binary files a/audio_files/4df46681d8dc4a75a786709c6532751f.wav and /dev/null differ
diff --git a/audio_files/4e59861d008d422a95aea30271358009.mp3 b/audio_files/4e59861d008d422a95aea30271358009.mp3
deleted file mode 100644
index 5f84284..0000000
Binary files a/audio_files/4e59861d008d422a95aea30271358009.mp3 and /dev/null differ
diff --git a/audio_files/4eca197d6524407abcf48f83e5fc33b9.mp3 b/audio_files/4eca197d6524407abcf48f83e5fc33b9.mp3
deleted file mode 100644
index b69cf23..0000000
Binary files a/audio_files/4eca197d6524407abcf48f83e5fc33b9.mp3 and /dev/null differ
diff --git a/audio_files/4eca197d6524407abcf48f83e5fc33b9.wav b/audio_files/4eca197d6524407abcf48f83e5fc33b9.wav
deleted file mode 100644
index 29878b2..0000000
Binary files a/audio_files/4eca197d6524407abcf48f83e5fc33b9.wav and /dev/null differ
diff --git a/audio_files/4fc0d885e04b41c299f9030cc9691e10.mp3 b/audio_files/4fc0d885e04b41c299f9030cc9691e10.mp3
deleted file mode 100644
index 4770add..0000000
Binary files a/audio_files/4fc0d885e04b41c299f9030cc9691e10.mp3 and /dev/null differ
diff --git a/audio_files/4fc0d885e04b41c299f9030cc9691e10.wav b/audio_files/4fc0d885e04b41c299f9030cc9691e10.wav
deleted file mode 100644
index 5b8c807..0000000
Binary files a/audio_files/4fc0d885e04b41c299f9030cc9691e10.wav and /dev/null differ
diff --git a/audio_files/51c1b14af96f4e9099f392a15a2e498c.mp3 b/audio_files/51c1b14af96f4e9099f392a15a2e498c.mp3
deleted file mode 100644
index 41186d5..0000000
Binary files a/audio_files/51c1b14af96f4e9099f392a15a2e498c.mp3 and /dev/null differ
diff --git a/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.mp3 b/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.mp3
deleted file mode 100644
index 8afc18b..0000000
Binary files a/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.mp3 and /dev/null differ
diff --git a/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.wav b/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.wav
deleted file mode 100644
index ba1b975..0000000
Binary files a/audio_files/52cce065fe6c49a2ae042e58d3d87bdc.wav and /dev/null differ
diff --git a/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.mp3 b/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.mp3
deleted file mode 100644
index 9ef0c5a..0000000
Binary files a/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.mp3 and /dev/null differ
diff --git a/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.wav b/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.wav
deleted file mode 100644
index 6e959cc..0000000
Binary files a/audio_files/531a09d5d5b74cdbb9d1c79c7184f6c3.wav and /dev/null differ
diff --git a/audio_files/537775fc16d04b539eff9badcfab37bb.mp3 b/audio_files/537775fc16d04b539eff9badcfab37bb.mp3
deleted file mode 100644
index 853c191..0000000
Binary files a/audio_files/537775fc16d04b539eff9badcfab37bb.mp3 and /dev/null differ
diff --git a/audio_files/54943a0c5fb84df5bab7b514b695c84f.mp3 b/audio_files/54943a0c5fb84df5bab7b514b695c84f.mp3
deleted file mode 100644
index 9abdebf..0000000
Binary files a/audio_files/54943a0c5fb84df5bab7b514b695c84f.mp3 and /dev/null differ
diff --git a/audio_files/5609eb68a8e14be8aabf2898ba137760.mp3 b/audio_files/5609eb68a8e14be8aabf2898ba137760.mp3
deleted file mode 100644
index 85ed0c0..0000000
Binary files a/audio_files/5609eb68a8e14be8aabf2898ba137760.mp3 and /dev/null differ
diff --git a/audio_files/566bb75ceef640c6bf032d22d674ba70.mp3 b/audio_files/566bb75ceef640c6bf032d22d674ba70.mp3
deleted file mode 100644
index f53e6f3..0000000
Binary files a/audio_files/566bb75ceef640c6bf032d22d674ba70.mp3 and /dev/null differ
diff --git a/audio_files/566bb75ceef640c6bf032d22d674ba70.wav b/audio_files/566bb75ceef640c6bf032d22d674ba70.wav
deleted file mode 100644
index 37c3ba4..0000000
Binary files a/audio_files/566bb75ceef640c6bf032d22d674ba70.wav and /dev/null differ
diff --git a/audio_files/56bf2b52989841e59e6cd989351cb542.mp3 b/audio_files/56bf2b52989841e59e6cd989351cb542.mp3
deleted file mode 100644
index f1eff8d..0000000
Binary files a/audio_files/56bf2b52989841e59e6cd989351cb542.mp3 and /dev/null differ
diff --git a/audio_files/5716027c574d4247889133366f9ceabe.mp3 b/audio_files/5716027c574d4247889133366f9ceabe.mp3
deleted file mode 100644
index e95aebe..0000000
Binary files a/audio_files/5716027c574d4247889133366f9ceabe.mp3 and /dev/null differ
diff --git a/audio_files/57284fe2d97844968a0b0030f0e16273.mp3 b/audio_files/57284fe2d97844968a0b0030f0e16273.mp3
deleted file mode 100644
index b02d006..0000000
Binary files a/audio_files/57284fe2d97844968a0b0030f0e16273.mp3 and /dev/null differ
diff --git a/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.mp3 b/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.mp3
deleted file mode 100644
index adf4f34..0000000
Binary files a/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.mp3 and /dev/null differ
diff --git a/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.wav b/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.wav
deleted file mode 100644
index 3b6a29e..0000000
Binary files a/audio_files/578b7e3b3d974c5cb1ef8a16c565c046.wav and /dev/null differ
diff --git a/audio_files/58532af81db24d8d9b77c4b00e742a80.mp3 b/audio_files/58532af81db24d8d9b77c4b00e742a80.mp3
deleted file mode 100644
index 5acf881..0000000
Binary files a/audio_files/58532af81db24d8d9b77c4b00e742a80.mp3 and /dev/null differ
diff --git a/audio_files/58532af81db24d8d9b77c4b00e742a80.wav b/audio_files/58532af81db24d8d9b77c4b00e742a80.wav
deleted file mode 100644
index 0bd99ae..0000000
Binary files a/audio_files/58532af81db24d8d9b77c4b00e742a80.wav and /dev/null differ
diff --git a/audio_files/595658281ecf49c8b34798eb9dc41096.mp3 b/audio_files/595658281ecf49c8b34798eb9dc41096.mp3
deleted file mode 100644
index 9e7a836..0000000
Binary files a/audio_files/595658281ecf49c8b34798eb9dc41096.mp3 and /dev/null differ
diff --git a/audio_files/5a1414486f924c60be21b4457f27bfe3.mp3 b/audio_files/5a1414486f924c60be21b4457f27bfe3.mp3
deleted file mode 100644
index 3ccd7dd..0000000
Binary files a/audio_files/5a1414486f924c60be21b4457f27bfe3.mp3 and /dev/null differ
diff --git a/audio_files/5c3ef727830f489db3fe99641bad8a7c.mp3 b/audio_files/5c3ef727830f489db3fe99641bad8a7c.mp3
deleted file mode 100644
index fbed2a2..0000000
Binary files a/audio_files/5c3ef727830f489db3fe99641bad8a7c.mp3 and /dev/null differ
diff --git a/audio_files/5c3ef727830f489db3fe99641bad8a7c.wav b/audio_files/5c3ef727830f489db3fe99641bad8a7c.wav
deleted file mode 100644
index 3f2ed33..0000000
Binary files a/audio_files/5c3ef727830f489db3fe99641bad8a7c.wav and /dev/null differ
diff --git a/audio_files/5d13882991054b73b24315f82c3afcd7.mp3 b/audio_files/5d13882991054b73b24315f82c3afcd7.mp3
deleted file mode 100644
index 70e3cec..0000000
Binary files a/audio_files/5d13882991054b73b24315f82c3afcd7.mp3 and /dev/null differ
diff --git a/audio_files/5d89a6e321d44a2b9eff623f02a865d0.mp3 b/audio_files/5d89a6e321d44a2b9eff623f02a865d0.mp3
deleted file mode 100644
index 771711e..0000000
Binary files a/audio_files/5d89a6e321d44a2b9eff623f02a865d0.mp3 and /dev/null differ
diff --git a/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.mp3 b/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.mp3
deleted file mode 100644
index a140a06..0000000
Binary files a/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.mp3 and /dev/null differ
diff --git a/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.wav b/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.wav
deleted file mode 100644
index 64543ff..0000000
Binary files a/audio_files/5f65ce1b98414168bd54bf8a5b6b80f5.wav and /dev/null differ
diff --git a/audio_files/5f7e5b772caf4141b9951020e7ce5722.mp3 b/audio_files/5f7e5b772caf4141b9951020e7ce5722.mp3
deleted file mode 100644
index e2843d7..0000000
Binary files a/audio_files/5f7e5b772caf4141b9951020e7ce5722.mp3 and /dev/null differ
diff --git a/audio_files/604bf26f88004820af6e52a0d82d47f2.mp3 b/audio_files/604bf26f88004820af6e52a0d82d47f2.mp3
deleted file mode 100644
index 31d3aa7..0000000
Binary files a/audio_files/604bf26f88004820af6e52a0d82d47f2.mp3 and /dev/null differ
diff --git a/audio_files/604bf26f88004820af6e52a0d82d47f2.wav b/audio_files/604bf26f88004820af6e52a0d82d47f2.wav
deleted file mode 100644
index a39abe5..0000000
Binary files a/audio_files/604bf26f88004820af6e52a0d82d47f2.wav and /dev/null differ
diff --git a/audio_files/605fb7249cd64e3c879ce5097b4d477e.mp3 b/audio_files/605fb7249cd64e3c879ce5097b4d477e.mp3
deleted file mode 100644
index 2e72455..0000000
Binary files a/audio_files/605fb7249cd64e3c879ce5097b4d477e.mp3 and /dev/null differ
diff --git a/audio_files/605fb7249cd64e3c879ce5097b4d477e.wav b/audio_files/605fb7249cd64e3c879ce5097b4d477e.wav
deleted file mode 100644
index 29462c4..0000000
Binary files a/audio_files/605fb7249cd64e3c879ce5097b4d477e.wav and /dev/null differ
diff --git a/audio_files/6074c483a14542b0a41ae0a3be8b6c1c.mp3 b/audio_files/6074c483a14542b0a41ae0a3be8b6c1c.mp3
deleted file mode 100644
index 8900c5a..0000000
Binary files a/audio_files/6074c483a14542b0a41ae0a3be8b6c1c.mp3 and /dev/null differ
diff --git a/audio_files/60a926f555c141568121ac199cfcd617.mp3 b/audio_files/60a926f555c141568121ac199cfcd617.mp3
deleted file mode 100644
index 431b0c0..0000000
Binary files a/audio_files/60a926f555c141568121ac199cfcd617.mp3 and /dev/null differ
diff --git a/audio_files/6214235d3cd64117a5bfe2cd407722cc.mp3 b/audio_files/6214235d3cd64117a5bfe2cd407722cc.mp3
deleted file mode 100644
index 853c370..0000000
Binary files a/audio_files/6214235d3cd64117a5bfe2cd407722cc.mp3 and /dev/null differ
diff --git a/audio_files/6214235d3cd64117a5bfe2cd407722cc.wav b/audio_files/6214235d3cd64117a5bfe2cd407722cc.wav
deleted file mode 100644
index d498072..0000000
Binary files a/audio_files/6214235d3cd64117a5bfe2cd407722cc.wav and /dev/null differ
diff --git a/audio_files/63e764521e2f426d89c804975c6aea13.mp3 b/audio_files/63e764521e2f426d89c804975c6aea13.mp3
deleted file mode 100644
index 3154e5f..0000000
Binary files a/audio_files/63e764521e2f426d89c804975c6aea13.mp3 and /dev/null differ
diff --git a/audio_files/64825af2cd3941cb87f0272c78d5b5d8.mp3 b/audio_files/64825af2cd3941cb87f0272c78d5b5d8.mp3
deleted file mode 100644
index 3b2ee5c..0000000
Binary files a/audio_files/64825af2cd3941cb87f0272c78d5b5d8.mp3 and /dev/null differ
diff --git a/audio_files/64825af2cd3941cb87f0272c78d5b5d8.wav b/audio_files/64825af2cd3941cb87f0272c78d5b5d8.wav
deleted file mode 100644
index 4e75430..0000000
Binary files a/audio_files/64825af2cd3941cb87f0272c78d5b5d8.wav and /dev/null differ
diff --git a/audio_files/64c4ceca40f5453db951832abb716434.mp3 b/audio_files/64c4ceca40f5453db951832abb716434.mp3
deleted file mode 100644
index 819b06c..0000000
Binary files a/audio_files/64c4ceca40f5453db951832abb716434.mp3 and /dev/null differ
diff --git a/audio_files/64c4ceca40f5453db951832abb716434.wav b/audio_files/64c4ceca40f5453db951832abb716434.wav
deleted file mode 100644
index b40a59e..0000000
Binary files a/audio_files/64c4ceca40f5453db951832abb716434.wav and /dev/null differ
diff --git a/audio_files/656a4a6cd39946eb9c49b875d79480ab.mp3 b/audio_files/656a4a6cd39946eb9c49b875d79480ab.mp3
deleted file mode 100644
index 2a34a1b..0000000
Binary files a/audio_files/656a4a6cd39946eb9c49b875d79480ab.mp3 and /dev/null differ
diff --git a/audio_files/6583c37329e843c89fbb9de7b755de59.mp3 b/audio_files/6583c37329e843c89fbb9de7b755de59.mp3
deleted file mode 100644
index 419b65b..0000000
Binary files a/audio_files/6583c37329e843c89fbb9de7b755de59.mp3 and /dev/null differ
diff --git a/audio_files/65d66212db5c4a1a8b5498853caae18e.mp3 b/audio_files/65d66212db5c4a1a8b5498853caae18e.mp3
deleted file mode 100644
index 298d452..0000000
Binary files a/audio_files/65d66212db5c4a1a8b5498853caae18e.mp3 and /dev/null differ
diff --git a/audio_files/66e30daaf48944058aba992f3a4b9ec2.mp3 b/audio_files/66e30daaf48944058aba992f3a4b9ec2.mp3
deleted file mode 100644
index ce41e39..0000000
Binary files a/audio_files/66e30daaf48944058aba992f3a4b9ec2.mp3 and /dev/null differ
diff --git a/audio_files/6821a53fe9244fe9a45bd48d687748a9.mp3 b/audio_files/6821a53fe9244fe9a45bd48d687748a9.mp3
deleted file mode 100644
index f5dfbcd..0000000
Binary files a/audio_files/6821a53fe9244fe9a45bd48d687748a9.mp3 and /dev/null differ
diff --git a/audio_files/68926d500dda491f9d9c4743ba04ff26.mp3 b/audio_files/68926d500dda491f9d9c4743ba04ff26.mp3
deleted file mode 100644
index 0d5442e..0000000
Binary files a/audio_files/68926d500dda491f9d9c4743ba04ff26.mp3 and /dev/null differ
diff --git a/audio_files/68926d500dda491f9d9c4743ba04ff26.wav b/audio_files/68926d500dda491f9d9c4743ba04ff26.wav
deleted file mode 100644
index a3f3a44..0000000
Binary files a/audio_files/68926d500dda491f9d9c4743ba04ff26.wav and /dev/null differ
diff --git a/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.mp3 b/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.mp3
deleted file mode 100644
index 2c3dcf7..0000000
Binary files a/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.mp3 and /dev/null differ
diff --git a/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.wav b/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.wav
deleted file mode 100644
index e277630..0000000
Binary files a/audio_files/689aa4de7ab24a1f83e1d3ae30f1cd0b.wav and /dev/null differ
diff --git a/audio_files/68ed7566bfe148f9b5736dcdfd95d8e1.mp3 b/audio_files/68ed7566bfe148f9b5736dcdfd95d8e1.mp3
deleted file mode 100644
index c9f7c60..0000000
Binary files a/audio_files/68ed7566bfe148f9b5736dcdfd95d8e1.mp3 and /dev/null differ
diff --git a/audio_files/698dc032af174aaa97df48799d3601f7.mp3 b/audio_files/698dc032af174aaa97df48799d3601f7.mp3
deleted file mode 100644
index fef2980..0000000
Binary files a/audio_files/698dc032af174aaa97df48799d3601f7.mp3 and /dev/null differ
diff --git a/audio_files/698dc032af174aaa97df48799d3601f7.wav b/audio_files/698dc032af174aaa97df48799d3601f7.wav
deleted file mode 100644
index 2f91c05..0000000
Binary files a/audio_files/698dc032af174aaa97df48799d3601f7.wav and /dev/null differ
diff --git a/audio_files/6a6692eb0db5417483da9849ab0ea804.mp3 b/audio_files/6a6692eb0db5417483da9849ab0ea804.mp3
deleted file mode 100644
index a945f90..0000000
Binary files a/audio_files/6a6692eb0db5417483da9849ab0ea804.mp3 and /dev/null differ
diff --git a/audio_files/6a67a4493f8b45debd02fb978caff17d.mp3 b/audio_files/6a67a4493f8b45debd02fb978caff17d.mp3
deleted file mode 100644
index 6fa13b3..0000000
Binary files a/audio_files/6a67a4493f8b45debd02fb978caff17d.mp3 and /dev/null differ
diff --git a/audio_files/6ab5e9182ba448b8a0db77fc27ce0c03.mp3 b/audio_files/6ab5e9182ba448b8a0db77fc27ce0c03.mp3
deleted file mode 100644
index d04a584..0000000
Binary files a/audio_files/6ab5e9182ba448b8a0db77fc27ce0c03.mp3 and /dev/null differ
diff --git a/audio_files/6b475542b7864338a2c673d2e06c2e3f.mp3 b/audio_files/6b475542b7864338a2c673d2e06c2e3f.mp3
deleted file mode 100644
index cc8ec6e..0000000
Binary files a/audio_files/6b475542b7864338a2c673d2e06c2e3f.mp3 and /dev/null differ
diff --git a/audio_files/6b475542b7864338a2c673d2e06c2e3f.wav b/audio_files/6b475542b7864338a2c673d2e06c2e3f.wav
deleted file mode 100644
index 5b5c66f..0000000
Binary files a/audio_files/6b475542b7864338a2c673d2e06c2e3f.wav and /dev/null differ
diff --git a/audio_files/6c5bcf14ac10421ab96f0b9542689563.mp3 b/audio_files/6c5bcf14ac10421ab96f0b9542689563.mp3
deleted file mode 100644
index d3386a5..0000000
Binary files a/audio_files/6c5bcf14ac10421ab96f0b9542689563.mp3 and /dev/null differ
diff --git a/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.mp3 b/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.mp3
deleted file mode 100644
index 9072f2f..0000000
Binary files a/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.mp3 and /dev/null differ
diff --git a/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.wav b/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.wav
deleted file mode 100644
index c56e062..0000000
Binary files a/audio_files/6c7e0d33fca54f39ae1f890ee58b7603.wav and /dev/null differ
diff --git a/audio_files/6d8dd98d10d64c80b80695884b22793d.mp3 b/audio_files/6d8dd98d10d64c80b80695884b22793d.mp3
deleted file mode 100644
index fb337f5..0000000
Binary files a/audio_files/6d8dd98d10d64c80b80695884b22793d.mp3 and /dev/null differ
diff --git a/audio_files/6d8dd98d10d64c80b80695884b22793d.wav b/audio_files/6d8dd98d10d64c80b80695884b22793d.wav
deleted file mode 100644
index 77acc0f..0000000
Binary files a/audio_files/6d8dd98d10d64c80b80695884b22793d.wav and /dev/null differ
diff --git a/audio_files/6f73721dac884a9cb85e2fc2d30875a2.mp3 b/audio_files/6f73721dac884a9cb85e2fc2d30875a2.mp3
deleted file mode 100644
index 8e43a5a..0000000
Binary files a/audio_files/6f73721dac884a9cb85e2fc2d30875a2.mp3 and /dev/null differ
diff --git a/audio_files/6f73721dac884a9cb85e2fc2d30875a2.wav b/audio_files/6f73721dac884a9cb85e2fc2d30875a2.wav
deleted file mode 100644
index 9fc8e01..0000000
Binary files a/audio_files/6f73721dac884a9cb85e2fc2d30875a2.wav and /dev/null differ
diff --git a/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.mp3 b/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.mp3
deleted file mode 100644
index 29a6ad5..0000000
Binary files a/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.mp3 and /dev/null differ
diff --git a/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.wav b/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.wav
deleted file mode 100644
index 5882f88..0000000
Binary files a/audio_files/6f7d14ab9df944b0befd0308e3d2fb2b.wav and /dev/null differ
diff --git a/audio_files/70246a7c6bc647729fbea7f7b54e799b.mp3 b/audio_files/70246a7c6bc647729fbea7f7b54e799b.mp3
deleted file mode 100644
index 152b3bd..0000000
Binary files a/audio_files/70246a7c6bc647729fbea7f7b54e799b.mp3 and /dev/null differ
diff --git a/audio_files/70cb20bedbff474ab7cbaf9792a0ec3d.mp3 b/audio_files/70cb20bedbff474ab7cbaf9792a0ec3d.mp3
deleted file mode 100644
index 25dd55f..0000000
Binary files a/audio_files/70cb20bedbff474ab7cbaf9792a0ec3d.mp3 and /dev/null differ
diff --git a/audio_files/71070f0e6047463387e3dfe33f0746d8.mp3 b/audio_files/71070f0e6047463387e3dfe33f0746d8.mp3
deleted file mode 100644
index b6c00c8..0000000
Binary files a/audio_files/71070f0e6047463387e3dfe33f0746d8.mp3 and /dev/null differ
diff --git a/audio_files/71070f0e6047463387e3dfe33f0746d8.wav b/audio_files/71070f0e6047463387e3dfe33f0746d8.wav
deleted file mode 100644
index fcd3cc6..0000000
Binary files a/audio_files/71070f0e6047463387e3dfe33f0746d8.wav and /dev/null differ
diff --git a/audio_files/71ac7e75c2534b93ad50f5dbed7472b5.mp3 b/audio_files/71ac7e75c2534b93ad50f5dbed7472b5.mp3
deleted file mode 100644
index 3bfa7c6..0000000
Binary files a/audio_files/71ac7e75c2534b93ad50f5dbed7472b5.mp3 and /dev/null differ
diff --git a/audio_files/71e079791c1944e69224b4a2fd52054a.mp3 b/audio_files/71e079791c1944e69224b4a2fd52054a.mp3
deleted file mode 100644
index bb11363..0000000
Binary files a/audio_files/71e079791c1944e69224b4a2fd52054a.mp3 and /dev/null differ
diff --git a/audio_files/71e079791c1944e69224b4a2fd52054a.wav b/audio_files/71e079791c1944e69224b4a2fd52054a.wav
deleted file mode 100644
index fa9c9b4..0000000
Binary files a/audio_files/71e079791c1944e69224b4a2fd52054a.wav and /dev/null differ
diff --git a/audio_files/722a0221c1474f7cacba9b7d8b11c431.mp3 b/audio_files/722a0221c1474f7cacba9b7d8b11c431.mp3
deleted file mode 100644
index 7d9cc3f..0000000
Binary files a/audio_files/722a0221c1474f7cacba9b7d8b11c431.mp3 and /dev/null differ
diff --git a/audio_files/725d0b68d8e144c484c1ad868f7615b3.mp3 b/audio_files/725d0b68d8e144c484c1ad868f7615b3.mp3
deleted file mode 100644
index 1602d0d..0000000
Binary files a/audio_files/725d0b68d8e144c484c1ad868f7615b3.mp3 and /dev/null differ
diff --git a/audio_files/725d0b68d8e144c484c1ad868f7615b3.wav b/audio_files/725d0b68d8e144c484c1ad868f7615b3.wav
deleted file mode 100644
index 5d7062d..0000000
Binary files a/audio_files/725d0b68d8e144c484c1ad868f7615b3.wav and /dev/null differ
diff --git a/audio_files/73f2dbd3e7664234ab28867078bcaeb7.mp3 b/audio_files/73f2dbd3e7664234ab28867078bcaeb7.mp3
deleted file mode 100644
index 45f6cc7..0000000
Binary files a/audio_files/73f2dbd3e7664234ab28867078bcaeb7.mp3 and /dev/null differ
diff --git a/audio_files/73f2dbd3e7664234ab28867078bcaeb7.wav b/audio_files/73f2dbd3e7664234ab28867078bcaeb7.wav
deleted file mode 100644
index b9d77b8..0000000
Binary files a/audio_files/73f2dbd3e7664234ab28867078bcaeb7.wav and /dev/null differ
diff --git a/audio_files/74baac0e3b27404dbf9bc37ff76df511.mp3 b/audio_files/74baac0e3b27404dbf9bc37ff76df511.mp3
deleted file mode 100644
index 8e6e5d0..0000000
Binary files a/audio_files/74baac0e3b27404dbf9bc37ff76df511.mp3 and /dev/null differ
diff --git a/audio_files/74db755536bb47da808d4b84d09d0b28.mp3 b/audio_files/74db755536bb47da808d4b84d09d0b28.mp3
deleted file mode 100644
index 8b6403f..0000000
Binary files a/audio_files/74db755536bb47da808d4b84d09d0b28.mp3 and /dev/null differ
diff --git a/audio_files/74db755536bb47da808d4b84d09d0b28.wav b/audio_files/74db755536bb47da808d4b84d09d0b28.wav
deleted file mode 100644
index 0e9ac22..0000000
Binary files a/audio_files/74db755536bb47da808d4b84d09d0b28.wav and /dev/null differ
diff --git a/audio_files/750b064b16744763af3c381ff8da08c0.mp3 b/audio_files/750b064b16744763af3c381ff8da08c0.mp3
deleted file mode 100644
index 065328f..0000000
Binary files a/audio_files/750b064b16744763af3c381ff8da08c0.mp3 and /dev/null differ
diff --git a/audio_files/750b064b16744763af3c381ff8da08c0.wav b/audio_files/750b064b16744763af3c381ff8da08c0.wav
deleted file mode 100644
index 0cf2d6e..0000000
Binary files a/audio_files/750b064b16744763af3c381ff8da08c0.wav and /dev/null differ
diff --git a/audio_files/750e9422abe54496bafac54fa1fee9a1.mp3 b/audio_files/750e9422abe54496bafac54fa1fee9a1.mp3
deleted file mode 100644
index de6db56..0000000
Binary files a/audio_files/750e9422abe54496bafac54fa1fee9a1.mp3 and /dev/null differ
diff --git a/audio_files/755794df9c52479c8dd8694741f36e2d.mp3 b/audio_files/755794df9c52479c8dd8694741f36e2d.mp3
deleted file mode 100644
index f96b4a6..0000000
Binary files a/audio_files/755794df9c52479c8dd8694741f36e2d.mp3 and /dev/null differ
diff --git a/audio_files/764c43f2f4d94e2da2a599a4d52b29a1.mp3 b/audio_files/764c43f2f4d94e2da2a599a4d52b29a1.mp3
deleted file mode 100644
index fade3ea..0000000
Binary files a/audio_files/764c43f2f4d94e2da2a599a4d52b29a1.mp3 and /dev/null differ
diff --git a/audio_files/769425c7fa5e43169b681d9896d05996.mp3 b/audio_files/769425c7fa5e43169b681d9896d05996.mp3
deleted file mode 100644
index 9fa343e..0000000
Binary files a/audio_files/769425c7fa5e43169b681d9896d05996.mp3 and /dev/null differ
diff --git a/audio_files/771e076be1f84b0cb01a727cdc519d42.mp3 b/audio_files/771e076be1f84b0cb01a727cdc519d42.mp3
deleted file mode 100644
index bd9f60d..0000000
Binary files a/audio_files/771e076be1f84b0cb01a727cdc519d42.mp3 and /dev/null differ
diff --git a/audio_files/77eb03e57d7145e48321d560376fa051.mp3 b/audio_files/77eb03e57d7145e48321d560376fa051.mp3
deleted file mode 100644
index 5a7ff78..0000000
Binary files a/audio_files/77eb03e57d7145e48321d560376fa051.mp3 and /dev/null differ
diff --git a/audio_files/78db923979ba4602bfd2c79d3216e5fd.mp3 b/audio_files/78db923979ba4602bfd2c79d3216e5fd.mp3
deleted file mode 100644
index 6ea885d..0000000
Binary files a/audio_files/78db923979ba4602bfd2c79d3216e5fd.mp3 and /dev/null differ
diff --git a/audio_files/78db923979ba4602bfd2c79d3216e5fd.wav b/audio_files/78db923979ba4602bfd2c79d3216e5fd.wav
deleted file mode 100644
index 31507b8..0000000
Binary files a/audio_files/78db923979ba4602bfd2c79d3216e5fd.wav and /dev/null differ
diff --git a/audio_files/7956e0c7c3634581841bae40266cf8f8.mp3 b/audio_files/7956e0c7c3634581841bae40266cf8f8.mp3
deleted file mode 100644
index f264c14..0000000
Binary files a/audio_files/7956e0c7c3634581841bae40266cf8f8.mp3 and /dev/null differ
diff --git a/audio_files/798d1db24b244473b0367a6e8df5d053.mp3 b/audio_files/798d1db24b244473b0367a6e8df5d053.mp3
deleted file mode 100644
index 0eabc78..0000000
Binary files a/audio_files/798d1db24b244473b0367a6e8df5d053.mp3 and /dev/null differ
diff --git a/audio_files/79a93712eeec4891936a133b1050f343.mp3 b/audio_files/79a93712eeec4891936a133b1050f343.mp3
deleted file mode 100644
index 544b381..0000000
Binary files a/audio_files/79a93712eeec4891936a133b1050f343.mp3 and /dev/null differ
diff --git a/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.mp3 b/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.mp3
deleted file mode 100644
index 706b46a..0000000
Binary files a/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.mp3 and /dev/null differ
diff --git a/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.wav b/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.wav
deleted file mode 100644
index 433bb1a..0000000
Binary files a/audio_files/7acfaa8703384342a5fb7d82cfec0b9d.wav and /dev/null differ
diff --git a/audio_files/7aec026a856d477e8fe8b97e9fe6f008.mp3 b/audio_files/7aec026a856d477e8fe8b97e9fe6f008.mp3
deleted file mode 100644
index bcbb495..0000000
Binary files a/audio_files/7aec026a856d477e8fe8b97e9fe6f008.mp3 and /dev/null differ
diff --git a/audio_files/7aec026a856d477e8fe8b97e9fe6f008.wav b/audio_files/7aec026a856d477e8fe8b97e9fe6f008.wav
deleted file mode 100644
index 8bd813e..0000000
Binary files a/audio_files/7aec026a856d477e8fe8b97e9fe6f008.wav and /dev/null differ
diff --git a/audio_files/7afb1ad8ee834b17b671215b29c0d026.mp3 b/audio_files/7afb1ad8ee834b17b671215b29c0d026.mp3
deleted file mode 100644
index c510bcb..0000000
Binary files a/audio_files/7afb1ad8ee834b17b671215b29c0d026.mp3 and /dev/null differ
diff --git a/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.mp3 b/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.mp3
deleted file mode 100644
index 635fba0..0000000
Binary files a/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.mp3 and /dev/null differ
diff --git a/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.wav b/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.wav
deleted file mode 100644
index 229cdfe..0000000
Binary files a/audio_files/7ceaaabe6f3d48d2838512825e7e0a1a.wav and /dev/null differ
diff --git a/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.mp3 b/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.mp3
deleted file mode 100644
index 00410af..0000000
Binary files a/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.mp3 and /dev/null differ
diff --git a/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.wav b/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.wav
deleted file mode 100644
index 80a5359..0000000
Binary files a/audio_files/7d59d93a6d3d4b2fb7572d460dac9684.wav and /dev/null differ
diff --git a/audio_files/7d5fe61c700d4760977485147f79b22f.mp3 b/audio_files/7d5fe61c700d4760977485147f79b22f.mp3
deleted file mode 100644
index 69896fd..0000000
Binary files a/audio_files/7d5fe61c700d4760977485147f79b22f.mp3 and /dev/null differ
diff --git a/audio_files/7d5fe61c700d4760977485147f79b22f.wav b/audio_files/7d5fe61c700d4760977485147f79b22f.wav
deleted file mode 100644
index 43fdf3e..0000000
Binary files a/audio_files/7d5fe61c700d4760977485147f79b22f.wav and /dev/null differ
diff --git a/audio_files/7d6c7854f70646d49a060d06ef74a909.mp3 b/audio_files/7d6c7854f70646d49a060d06ef74a909.mp3
deleted file mode 100644
index 2090385..0000000
Binary files a/audio_files/7d6c7854f70646d49a060d06ef74a909.mp3 and /dev/null differ
diff --git a/audio_files/7d6c7854f70646d49a060d06ef74a909.wav b/audio_files/7d6c7854f70646d49a060d06ef74a909.wav
deleted file mode 100644
index 5fcb6c5..0000000
Binary files a/audio_files/7d6c7854f70646d49a060d06ef74a909.wav and /dev/null differ
diff --git a/audio_files/7d74e605f0bb4fe399b81d679fd4d755.mp3 b/audio_files/7d74e605f0bb4fe399b81d679fd4d755.mp3
deleted file mode 100644
index e98c6f5..0000000
Binary files a/audio_files/7d74e605f0bb4fe399b81d679fd4d755.mp3 and /dev/null differ
diff --git a/audio_files/7e43b603f3b2484d931e64206802d8ca.mp3 b/audio_files/7e43b603f3b2484d931e64206802d8ca.mp3
deleted file mode 100644
index 04dd149..0000000
Binary files a/audio_files/7e43b603f3b2484d931e64206802d8ca.mp3 and /dev/null differ
diff --git a/audio_files/7f3768478b484309bebf8616d6bf4b6f.mp3 b/audio_files/7f3768478b484309bebf8616d6bf4b6f.mp3
deleted file mode 100644
index 5c06c28..0000000
Binary files a/audio_files/7f3768478b484309bebf8616d6bf4b6f.mp3 and /dev/null differ
diff --git a/audio_files/7fad87e79293482bb959f36878f1bddf.mp3 b/audio_files/7fad87e79293482bb959f36878f1bddf.mp3
deleted file mode 100644
index 134e5bc..0000000
Binary files a/audio_files/7fad87e79293482bb959f36878f1bddf.mp3 and /dev/null differ
diff --git a/audio_files/7fad87e79293482bb959f36878f1bddf.wav b/audio_files/7fad87e79293482bb959f36878f1bddf.wav
deleted file mode 100644
index 30d70e2..0000000
Binary files a/audio_files/7fad87e79293482bb959f36878f1bddf.wav and /dev/null differ
diff --git a/audio_files/7fff62ec8ff5435b9ff68df2f530701e.mp3 b/audio_files/7fff62ec8ff5435b9ff68df2f530701e.mp3
deleted file mode 100644
index ce1a481..0000000
Binary files a/audio_files/7fff62ec8ff5435b9ff68df2f530701e.mp3 and /dev/null differ
diff --git a/audio_files/7fff62ec8ff5435b9ff68df2f530701e.wav b/audio_files/7fff62ec8ff5435b9ff68df2f530701e.wav
deleted file mode 100644
index 09567bc..0000000
Binary files a/audio_files/7fff62ec8ff5435b9ff68df2f530701e.wav and /dev/null differ
diff --git a/audio_files/806528b8268f41e7b7dee9f3ae208995.mp3 b/audio_files/806528b8268f41e7b7dee9f3ae208995.mp3
deleted file mode 100644
index c7cbd93..0000000
Binary files a/audio_files/806528b8268f41e7b7dee9f3ae208995.mp3 and /dev/null differ
diff --git a/audio_files/806528b8268f41e7b7dee9f3ae208995.wav b/audio_files/806528b8268f41e7b7dee9f3ae208995.wav
deleted file mode 100644
index 3bde659..0000000
Binary files a/audio_files/806528b8268f41e7b7dee9f3ae208995.wav and /dev/null differ
diff --git a/audio_files/81310c591db24165ac3beef039810e0e.mp3 b/audio_files/81310c591db24165ac3beef039810e0e.mp3
deleted file mode 100644
index 7decc63..0000000
Binary files a/audio_files/81310c591db24165ac3beef039810e0e.mp3 and /dev/null differ
diff --git a/audio_files/81310c591db24165ac3beef039810e0e.wav b/audio_files/81310c591db24165ac3beef039810e0e.wav
deleted file mode 100644
index 624c1bc..0000000
Binary files a/audio_files/81310c591db24165ac3beef039810e0e.wav and /dev/null differ
diff --git a/audio_files/826e86ae887f4774a09d07e6ddb18f74.mp3 b/audio_files/826e86ae887f4774a09d07e6ddb18f74.mp3
deleted file mode 100644
index e8c25f1..0000000
Binary files a/audio_files/826e86ae887f4774a09d07e6ddb18f74.mp3 and /dev/null differ
diff --git a/audio_files/826e86ae887f4774a09d07e6ddb18f74.wav b/audio_files/826e86ae887f4774a09d07e6ddb18f74.wav
deleted file mode 100644
index 55749c9..0000000
Binary files a/audio_files/826e86ae887f4774a09d07e6ddb18f74.wav and /dev/null differ
diff --git a/audio_files/8359bb7677b7459ca0b997bb41878f42.mp3 b/audio_files/8359bb7677b7459ca0b997bb41878f42.mp3
deleted file mode 100644
index 0f54997..0000000
Binary files a/audio_files/8359bb7677b7459ca0b997bb41878f42.mp3 and /dev/null differ
diff --git a/audio_files/8359bb7677b7459ca0b997bb41878f42.wav b/audio_files/8359bb7677b7459ca0b997bb41878f42.wav
deleted file mode 100644
index 3d97db8..0000000
Binary files a/audio_files/8359bb7677b7459ca0b997bb41878f42.wav and /dev/null differ
diff --git a/audio_files/838ee307d52b4a95ae17a92425f5b686.mp3 b/audio_files/838ee307d52b4a95ae17a92425f5b686.mp3
deleted file mode 100644
index 07fc341..0000000
Binary files a/audio_files/838ee307d52b4a95ae17a92425f5b686.mp3 and /dev/null differ
diff --git a/audio_files/83c9ee49dbe0403891359994d03d9510.mp3 b/audio_files/83c9ee49dbe0403891359994d03d9510.mp3
deleted file mode 100644
index 058dffd..0000000
Binary files a/audio_files/83c9ee49dbe0403891359994d03d9510.mp3 and /dev/null differ
diff --git a/audio_files/83c9ee49dbe0403891359994d03d9510.wav b/audio_files/83c9ee49dbe0403891359994d03d9510.wav
deleted file mode 100644
index 5f311a1..0000000
Binary files a/audio_files/83c9ee49dbe0403891359994d03d9510.wav and /dev/null differ
diff --git a/audio_files/841517927f604267b5945e916115b2ea.mp3 b/audio_files/841517927f604267b5945e916115b2ea.mp3
deleted file mode 100644
index 1387f13..0000000
Binary files a/audio_files/841517927f604267b5945e916115b2ea.mp3 and /dev/null differ
diff --git a/audio_files/84c2582b4099482d894f0f603a668b3c.mp3 b/audio_files/84c2582b4099482d894f0f603a668b3c.mp3
deleted file mode 100644
index 2f063af..0000000
Binary files a/audio_files/84c2582b4099482d894f0f603a668b3c.mp3 and /dev/null differ
diff --git a/audio_files/85c6cefa1f9646da8e6920960e6df91b.mp3 b/audio_files/85c6cefa1f9646da8e6920960e6df91b.mp3
deleted file mode 100644
index 7c8bd44..0000000
Binary files a/audio_files/85c6cefa1f9646da8e6920960e6df91b.mp3 and /dev/null differ
diff --git a/audio_files/85c6cefa1f9646da8e6920960e6df91b.wav b/audio_files/85c6cefa1f9646da8e6920960e6df91b.wav
deleted file mode 100644
index 605b034..0000000
Binary files a/audio_files/85c6cefa1f9646da8e6920960e6df91b.wav and /dev/null differ
diff --git a/audio_files/86ece81e2a514d33bc5e27cb65341ab5.mp3 b/audio_files/86ece81e2a514d33bc5e27cb65341ab5.mp3
deleted file mode 100644
index 5acf881..0000000
Binary files a/audio_files/86ece81e2a514d33bc5e27cb65341ab5.mp3 and /dev/null differ
diff --git a/audio_files/86ece81e2a514d33bc5e27cb65341ab5.wav b/audio_files/86ece81e2a514d33bc5e27cb65341ab5.wav
deleted file mode 100644
index 0bd99ae..0000000
Binary files a/audio_files/86ece81e2a514d33bc5e27cb65341ab5.wav and /dev/null differ
diff --git a/audio_files/881e99890fe6416db2be4a4b8c48875d.mp3 b/audio_files/881e99890fe6416db2be4a4b8c48875d.mp3
deleted file mode 100644
index 10ebb11..0000000
Binary files a/audio_files/881e99890fe6416db2be4a4b8c48875d.mp3 and /dev/null differ
diff --git a/audio_files/88fbb3f5a2ab446eabde6c4540c57760.mp3 b/audio_files/88fbb3f5a2ab446eabde6c4540c57760.mp3
deleted file mode 100644
index 56f4f92..0000000
Binary files a/audio_files/88fbb3f5a2ab446eabde6c4540c57760.mp3 and /dev/null differ
diff --git a/audio_files/892b44465d4646ceb317f25aad418137.mp3 b/audio_files/892b44465d4646ceb317f25aad418137.mp3
deleted file mode 100644
index 4284074..0000000
Binary files a/audio_files/892b44465d4646ceb317f25aad418137.mp3 and /dev/null differ
diff --git a/audio_files/892b44465d4646ceb317f25aad418137.wav b/audio_files/892b44465d4646ceb317f25aad418137.wav
deleted file mode 100644
index 85d3461..0000000
Binary files a/audio_files/892b44465d4646ceb317f25aad418137.wav and /dev/null differ
diff --git a/audio_files/892bcb49a304422283919329ae0b822e.mp3 b/audio_files/892bcb49a304422283919329ae0b822e.mp3
deleted file mode 100644
index 458eb9e..0000000
Binary files a/audio_files/892bcb49a304422283919329ae0b822e.mp3 and /dev/null differ
diff --git a/audio_files/895cc97e8cf1433a96c3858f86951bbf.mp3 b/audio_files/895cc97e8cf1433a96c3858f86951bbf.mp3
deleted file mode 100644
index a0913f4..0000000
Binary files a/audio_files/895cc97e8cf1433a96c3858f86951bbf.mp3 and /dev/null differ
diff --git a/audio_files/895cc97e8cf1433a96c3858f86951bbf.wav b/audio_files/895cc97e8cf1433a96c3858f86951bbf.wav
deleted file mode 100644
index 2f01c13..0000000
Binary files a/audio_files/895cc97e8cf1433a96c3858f86951bbf.wav and /dev/null differ
diff --git a/audio_files/897b457804cc421cb8708450c452ca99.mp3 b/audio_files/897b457804cc421cb8708450c452ca99.mp3
deleted file mode 100644
index a327648..0000000
Binary files a/audio_files/897b457804cc421cb8708450c452ca99.mp3 and /dev/null differ
diff --git a/audio_files/897b457804cc421cb8708450c452ca99.wav b/audio_files/897b457804cc421cb8708450c452ca99.wav
deleted file mode 100644
index d074cfd..0000000
Binary files a/audio_files/897b457804cc421cb8708450c452ca99.wav and /dev/null differ
diff --git a/audio_files/8b6f38a6dcf346e6b275d97431f73a44.mp3 b/audio_files/8b6f38a6dcf346e6b275d97431f73a44.mp3
deleted file mode 100644
index c75d70e..0000000
Binary files a/audio_files/8b6f38a6dcf346e6b275d97431f73a44.mp3 and /dev/null differ
diff --git a/audio_files/8b6f38a6dcf346e6b275d97431f73a44.wav b/audio_files/8b6f38a6dcf346e6b275d97431f73a44.wav
deleted file mode 100644
index 14d6583..0000000
Binary files a/audio_files/8b6f38a6dcf346e6b275d97431f73a44.wav and /dev/null differ
diff --git a/audio_files/8b806a00f9a3478b8ad47dba686fdaec.mp3 b/audio_files/8b806a00f9a3478b8ad47dba686fdaec.mp3
deleted file mode 100644
index 21370fa..0000000
Binary files a/audio_files/8b806a00f9a3478b8ad47dba686fdaec.mp3 and /dev/null differ
diff --git a/audio_files/8bd9f2c63ac34658b10258aa75c92192.mp3 b/audio_files/8bd9f2c63ac34658b10258aa75c92192.mp3
deleted file mode 100644
index 513f0a6..0000000
Binary files a/audio_files/8bd9f2c63ac34658b10258aa75c92192.mp3 and /dev/null differ
diff --git a/audio_files/8bd9f2c63ac34658b10258aa75c92192.wav b/audio_files/8bd9f2c63ac34658b10258aa75c92192.wav
deleted file mode 100644
index 6bd5344..0000000
Binary files a/audio_files/8bd9f2c63ac34658b10258aa75c92192.wav and /dev/null differ
diff --git a/audio_files/8c178dd27d3c4319a072a76703c99b2c.mp3 b/audio_files/8c178dd27d3c4319a072a76703c99b2c.mp3
deleted file mode 100644
index 00464b4..0000000
Binary files a/audio_files/8c178dd27d3c4319a072a76703c99b2c.mp3 and /dev/null differ
diff --git a/audio_files/8c178dd27d3c4319a072a76703c99b2c.wav b/audio_files/8c178dd27d3c4319a072a76703c99b2c.wav
deleted file mode 100644
index 5dd830e..0000000
Binary files a/audio_files/8c178dd27d3c4319a072a76703c99b2c.wav and /dev/null differ
diff --git a/audio_files/8c51c818a3ad40c9849f607702061a7d.mp3 b/audio_files/8c51c818a3ad40c9849f607702061a7d.mp3
deleted file mode 100644
index 33d6d65..0000000
Binary files a/audio_files/8c51c818a3ad40c9849f607702061a7d.mp3 and /dev/null differ
diff --git a/audio_files/8c51c818a3ad40c9849f607702061a7d.wav b/audio_files/8c51c818a3ad40c9849f607702061a7d.wav
deleted file mode 100644
index 38da8d5..0000000
Binary files a/audio_files/8c51c818a3ad40c9849f607702061a7d.wav and /dev/null differ
diff --git a/audio_files/8ca5ad88990d471f9e3f3408520067de.mp3 b/audio_files/8ca5ad88990d471f9e3f3408520067de.mp3
deleted file mode 100644
index 25cd684..0000000
Binary files a/audio_files/8ca5ad88990d471f9e3f3408520067de.mp3 and /dev/null differ
diff --git a/audio_files/8ca5ad88990d471f9e3f3408520067de.wav b/audio_files/8ca5ad88990d471f9e3f3408520067de.wav
deleted file mode 100644
index 93fd316..0000000
Binary files a/audio_files/8ca5ad88990d471f9e3f3408520067de.wav and /dev/null differ
diff --git a/audio_files/8d4e071092754c6cbdfded459d31b4cb.mp3 b/audio_files/8d4e071092754c6cbdfded459d31b4cb.mp3
deleted file mode 100644
index 4fe1830..0000000
Binary files a/audio_files/8d4e071092754c6cbdfded459d31b4cb.mp3 and /dev/null differ
diff --git a/audio_files/8d4e071092754c6cbdfded459d31b4cb.wav b/audio_files/8d4e071092754c6cbdfded459d31b4cb.wav
deleted file mode 100644
index aaa3833..0000000
Binary files a/audio_files/8d4e071092754c6cbdfded459d31b4cb.wav and /dev/null differ
diff --git a/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.mp3 b/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.mp3
deleted file mode 100644
index 1f91fa1..0000000
Binary files a/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.mp3 and /dev/null differ
diff --git a/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.wav b/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.wav
deleted file mode 100644
index 94d5185..0000000
Binary files a/audio_files/8d557d0054d4470bb0d8c41d6dcc3d21.wav and /dev/null differ
diff --git a/audio_files/8d860eea208b4803969696fd8f34afd8.mp3 b/audio_files/8d860eea208b4803969696fd8f34afd8.mp3
deleted file mode 100644
index e65d324..0000000
Binary files a/audio_files/8d860eea208b4803969696fd8f34afd8.mp3 and /dev/null differ
diff --git a/audio_files/8d860eea208b4803969696fd8f34afd8.wav b/audio_files/8d860eea208b4803969696fd8f34afd8.wav
deleted file mode 100644
index 6f0c986..0000000
Binary files a/audio_files/8d860eea208b4803969696fd8f34afd8.wav and /dev/null differ
diff --git a/audio_files/8dd0dbcfb379496d9731d591df984e03.mp3 b/audio_files/8dd0dbcfb379496d9731d591df984e03.mp3
deleted file mode 100644
index 0998f48..0000000
Binary files a/audio_files/8dd0dbcfb379496d9731d591df984e03.mp3 and /dev/null differ
diff --git a/audio_files/8dd0dbcfb379496d9731d591df984e03.wav b/audio_files/8dd0dbcfb379496d9731d591df984e03.wav
deleted file mode 100644
index fea0b3a..0000000
Binary files a/audio_files/8dd0dbcfb379496d9731d591df984e03.wav and /dev/null differ
diff --git a/audio_files/8ddf9d8fa10940d58c56b4c8aefd5f0d.mp3 b/audio_files/8ddf9d8fa10940d58c56b4c8aefd5f0d.mp3
deleted file mode 100644
index fe09eda..0000000
Binary files a/audio_files/8ddf9d8fa10940d58c56b4c8aefd5f0d.mp3 and /dev/null differ
diff --git a/audio_files/8e7e676f9c1a44ef9fc7dcd6bb0de08e.mp3 b/audio_files/8e7e676f9c1a44ef9fc7dcd6bb0de08e.mp3
deleted file mode 100644
index 6b86ed3..0000000
Binary files a/audio_files/8e7e676f9c1a44ef9fc7dcd6bb0de08e.mp3 and /dev/null differ
diff --git a/audio_files/8fe6f7bc28d94f818e1a3335bba1b78d.mp3 b/audio_files/8fe6f7bc28d94f818e1a3335bba1b78d.mp3
deleted file mode 100644
index b5e6235..0000000
Binary files a/audio_files/8fe6f7bc28d94f818e1a3335bba1b78d.mp3 and /dev/null differ
diff --git a/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.mp3 b/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.mp3
deleted file mode 100644
index f0ae73f..0000000
Binary files a/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.mp3 and /dev/null differ
diff --git a/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.wav b/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.wav
deleted file mode 100644
index 81f22d1..0000000
Binary files a/audio_files/9161f0b6da5c46c3acf8ccbaf483e95b.wav and /dev/null differ
diff --git a/audio_files/92e97dfbff824221974cf745ce2a52f4.mp3 b/audio_files/92e97dfbff824221974cf745ce2a52f4.mp3
deleted file mode 100644
index a1fa6a1..0000000
Binary files a/audio_files/92e97dfbff824221974cf745ce2a52f4.mp3 and /dev/null differ
diff --git a/audio_files/93928a85d51645d7b836f3d45ad2221a.mp3 b/audio_files/93928a85d51645d7b836f3d45ad2221a.mp3
deleted file mode 100644
index bbe77f9..0000000
Binary files a/audio_files/93928a85d51645d7b836f3d45ad2221a.mp3 and /dev/null differ
diff --git a/audio_files/93928a85d51645d7b836f3d45ad2221a.wav b/audio_files/93928a85d51645d7b836f3d45ad2221a.wav
deleted file mode 100644
index aa45054..0000000
Binary files a/audio_files/93928a85d51645d7b836f3d45ad2221a.wav and /dev/null differ
diff --git a/audio_files/93ac3729c54745b69fe2833157a5e395.mp3 b/audio_files/93ac3729c54745b69fe2833157a5e395.mp3
deleted file mode 100644
index fed763b..0000000
Binary files a/audio_files/93ac3729c54745b69fe2833157a5e395.mp3 and /dev/null differ
diff --git a/audio_files/93ac3729c54745b69fe2833157a5e395.wav b/audio_files/93ac3729c54745b69fe2833157a5e395.wav
deleted file mode 100644
index ab4c5d2..0000000
Binary files a/audio_files/93ac3729c54745b69fe2833157a5e395.wav and /dev/null differ
diff --git a/audio_files/94132e47725d427098801282b6a47e16.mp3 b/audio_files/94132e47725d427098801282b6a47e16.mp3
deleted file mode 100644
index c14f394..0000000
Binary files a/audio_files/94132e47725d427098801282b6a47e16.mp3 and /dev/null differ
diff --git a/audio_files/94132e47725d427098801282b6a47e16.wav b/audio_files/94132e47725d427098801282b6a47e16.wav
deleted file mode 100644
index 19e3e44..0000000
Binary files a/audio_files/94132e47725d427098801282b6a47e16.wav and /dev/null differ
diff --git a/audio_files/944127b3115e4866b2523301ae5f2c18.mp3 b/audio_files/944127b3115e4866b2523301ae5f2c18.mp3
deleted file mode 100644
index 09f0abe..0000000
Binary files a/audio_files/944127b3115e4866b2523301ae5f2c18.mp3 and /dev/null differ
diff --git a/audio_files/958194abfbe84318b72fd74fd1e426b7.mp3 b/audio_files/958194abfbe84318b72fd74fd1e426b7.mp3
deleted file mode 100644
index c356883..0000000
Binary files a/audio_files/958194abfbe84318b72fd74fd1e426b7.mp3 and /dev/null differ
diff --git a/audio_files/958194abfbe84318b72fd74fd1e426b7.wav b/audio_files/958194abfbe84318b72fd74fd1e426b7.wav
deleted file mode 100644
index 31538ae..0000000
Binary files a/audio_files/958194abfbe84318b72fd74fd1e426b7.wav and /dev/null differ
diff --git a/audio_files/95c945f27dde4d6a8972eadf72408596.mp3 b/audio_files/95c945f27dde4d6a8972eadf72408596.mp3
deleted file mode 100644
index 9867d35..0000000
Binary files a/audio_files/95c945f27dde4d6a8972eadf72408596.mp3 and /dev/null differ
diff --git a/audio_files/95c945f27dde4d6a8972eadf72408596.wav b/audio_files/95c945f27dde4d6a8972eadf72408596.wav
deleted file mode 100644
index ad113b8..0000000
Binary files a/audio_files/95c945f27dde4d6a8972eadf72408596.wav and /dev/null differ
diff --git a/audio_files/95ce93876c9d4684af98f2c6409314be.mp3 b/audio_files/95ce93876c9d4684af98f2c6409314be.mp3
deleted file mode 100644
index 2b9189f..0000000
Binary files a/audio_files/95ce93876c9d4684af98f2c6409314be.mp3 and /dev/null differ
diff --git a/audio_files/95ce93876c9d4684af98f2c6409314be.wav b/audio_files/95ce93876c9d4684af98f2c6409314be.wav
deleted file mode 100644
index 866aa29..0000000
Binary files a/audio_files/95ce93876c9d4684af98f2c6409314be.wav and /dev/null differ
diff --git a/audio_files/9613ca9086b649319f09d55a2a6b6f4d.mp3 b/audio_files/9613ca9086b649319f09d55a2a6b6f4d.mp3
deleted file mode 100644
index b5e6235..0000000
Binary files a/audio_files/9613ca9086b649319f09d55a2a6b6f4d.mp3 and /dev/null differ
diff --git a/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.mp3 b/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.mp3
deleted file mode 100644
index d1e2a3f..0000000
Binary files a/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.mp3 and /dev/null differ
diff --git a/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.wav b/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.wav
deleted file mode 100644
index 34583e2..0000000
Binary files a/audio_files/96d9311bd8db4892b4a7f1bc9f1ab2b8.wav and /dev/null differ
diff --git a/audio_files/96eb1c20c4174207a72024153ea4b38b.mp3 b/audio_files/96eb1c20c4174207a72024153ea4b38b.mp3
deleted file mode 100644
index a64cdd4..0000000
Binary files a/audio_files/96eb1c20c4174207a72024153ea4b38b.mp3 and /dev/null differ
diff --git a/audio_files/96eb1c20c4174207a72024153ea4b38b.wav b/audio_files/96eb1c20c4174207a72024153ea4b38b.wav
deleted file mode 100644
index 51522a1..0000000
Binary files a/audio_files/96eb1c20c4174207a72024153ea4b38b.wav and /dev/null differ
diff --git a/audio_files/977a2406530045988d2ec0840c32e771.mp3 b/audio_files/977a2406530045988d2ec0840c32e771.mp3
deleted file mode 100644
index 1737541..0000000
Binary files a/audio_files/977a2406530045988d2ec0840c32e771.mp3 and /dev/null differ
diff --git a/audio_files/977a2406530045988d2ec0840c32e771.wav b/audio_files/977a2406530045988d2ec0840c32e771.wav
deleted file mode 100644
index 3bcb802..0000000
Binary files a/audio_files/977a2406530045988d2ec0840c32e771.wav and /dev/null differ
diff --git a/audio_files/97c08957b9df4d3f90101a4f4cdb3fe0.mp3 b/audio_files/97c08957b9df4d3f90101a4f4cdb3fe0.mp3
deleted file mode 100644
index 873d207..0000000
Binary files a/audio_files/97c08957b9df4d3f90101a4f4cdb3fe0.mp3 and /dev/null differ
diff --git a/audio_files/9970a81137044a4397edcc5517016992.mp3 b/audio_files/9970a81137044a4397edcc5517016992.mp3
deleted file mode 100644
index c80615d..0000000
Binary files a/audio_files/9970a81137044a4397edcc5517016992.mp3 and /dev/null differ
diff --git a/audio_files/99a1aaaeaf5c420eb98d6be713a24c36.mp3 b/audio_files/99a1aaaeaf5c420eb98d6be713a24c36.mp3
deleted file mode 100644
index 4469c2e..0000000
Binary files a/audio_files/99a1aaaeaf5c420eb98d6be713a24c36.mp3 and /dev/null differ
diff --git a/audio_files/9a951ddbd0df4cc8a0355952ffcff02b.mp3 b/audio_files/9a951ddbd0df4cc8a0355952ffcff02b.mp3
deleted file mode 100644
index 46e874f..0000000
Binary files a/audio_files/9a951ddbd0df4cc8a0355952ffcff02b.mp3 and /dev/null differ
diff --git a/audio_files/9a9babdadfd346eda298243d2d2ecb35.mp3 b/audio_files/9a9babdadfd346eda298243d2d2ecb35.mp3
deleted file mode 100644
index 33db730..0000000
Binary files a/audio_files/9a9babdadfd346eda298243d2d2ecb35.mp3 and /dev/null differ
diff --git a/audio_files/9aa45b10bc9c4d138f8a45c44ff3d212.mp3 b/audio_files/9aa45b10bc9c4d138f8a45c44ff3d212.mp3
deleted file mode 100644
index 1bcc277..0000000
Binary files a/audio_files/9aa45b10bc9c4d138f8a45c44ff3d212.mp3 and /dev/null differ
diff --git a/audio_files/9adaee891613430185f79f4162a75dd1.mp3 b/audio_files/9adaee891613430185f79f4162a75dd1.mp3
deleted file mode 100644
index d7c16f3..0000000
Binary files a/audio_files/9adaee891613430185f79f4162a75dd1.mp3 and /dev/null differ
diff --git a/audio_files/9c53b6a207d54545b1233f0ce00b9c71.mp3 b/audio_files/9c53b6a207d54545b1233f0ce00b9c71.mp3
deleted file mode 100644
index 726198a..0000000
Binary files a/audio_files/9c53b6a207d54545b1233f0ce00b9c71.mp3 and /dev/null differ
diff --git a/audio_files/9c55ad0436074949976b9d0d08fb3d76.mp3 b/audio_files/9c55ad0436074949976b9d0d08fb3d76.mp3
deleted file mode 100644
index fb233ce..0000000
Binary files a/audio_files/9c55ad0436074949976b9d0d08fb3d76.mp3 and /dev/null differ
diff --git a/audio_files/9c55ad0436074949976b9d0d08fb3d76.wav b/audio_files/9c55ad0436074949976b9d0d08fb3d76.wav
deleted file mode 100644
index 19832f0..0000000
Binary files a/audio_files/9c55ad0436074949976b9d0d08fb3d76.wav and /dev/null differ
diff --git a/audio_files/9c728b17f05b4e85b55cb0553357bc5b.mp3 b/audio_files/9c728b17f05b4e85b55cb0553357bc5b.mp3
deleted file mode 100644
index 2853816..0000000
Binary files a/audio_files/9c728b17f05b4e85b55cb0553357bc5b.mp3 and /dev/null differ
diff --git a/audio_files/9c728b17f05b4e85b55cb0553357bc5b.wav b/audio_files/9c728b17f05b4e85b55cb0553357bc5b.wav
deleted file mode 100644
index 3e41faa..0000000
Binary files a/audio_files/9c728b17f05b4e85b55cb0553357bc5b.wav and /dev/null differ
diff --git a/audio_files/9f2876759dbc4958871c2d0bfc53e62c.mp3 b/audio_files/9f2876759dbc4958871c2d0bfc53e62c.mp3
deleted file mode 100644
index de0341b..0000000
Binary files a/audio_files/9f2876759dbc4958871c2d0bfc53e62c.mp3 and /dev/null differ
diff --git a/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.mp3 b/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.mp3
deleted file mode 100644
index 15cc3d6..0000000
Binary files a/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.mp3 and /dev/null differ
diff --git a/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.wav b/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.wav
deleted file mode 100644
index 9921f14..0000000
Binary files a/audio_files/9ff2864017c84dc2ad900f7f2f4839ef.wav and /dev/null differ
diff --git a/audio_files/a010017876bd4ff4be4984545a07e3b5.mp3 b/audio_files/a010017876bd4ff4be4984545a07e3b5.mp3
deleted file mode 100644
index 36eb6cb..0000000
Binary files a/audio_files/a010017876bd4ff4be4984545a07e3b5.mp3 and /dev/null differ
diff --git a/audio_files/a010017876bd4ff4be4984545a07e3b5.wav b/audio_files/a010017876bd4ff4be4984545a07e3b5.wav
deleted file mode 100644
index b1f27c3..0000000
Binary files a/audio_files/a010017876bd4ff4be4984545a07e3b5.wav and /dev/null differ
diff --git a/audio_files/a24d1fd50f8a4de3918f10ceadca185e.mp3 b/audio_files/a24d1fd50f8a4de3918f10ceadca185e.mp3
deleted file mode 100644
index 6839c49..0000000
Binary files a/audio_files/a24d1fd50f8a4de3918f10ceadca185e.mp3 and /dev/null differ
diff --git a/audio_files/a24d1fd50f8a4de3918f10ceadca185e.wav b/audio_files/a24d1fd50f8a4de3918f10ceadca185e.wav
deleted file mode 100644
index 648117a..0000000
Binary files a/audio_files/a24d1fd50f8a4de3918f10ceadca185e.wav and /dev/null differ
diff --git a/audio_files/a25a8ddeb0ad4f409a8a2faf42c2a664.mp3 b/audio_files/a25a8ddeb0ad4f409a8a2faf42c2a664.mp3
deleted file mode 100644
index a140044..0000000
Binary files a/audio_files/a25a8ddeb0ad4f409a8a2faf42c2a664.mp3 and /dev/null differ
diff --git a/audio_files/a39f92e4319c42baad35b40a5fa8790c.mp3 b/audio_files/a39f92e4319c42baad35b40a5fa8790c.mp3
deleted file mode 100644
index 06f908a..0000000
Binary files a/audio_files/a39f92e4319c42baad35b40a5fa8790c.mp3 and /dev/null differ
diff --git a/audio_files/a3b88026a2a54176b7338081623fa68e.mp3 b/audio_files/a3b88026a2a54176b7338081623fa68e.mp3
deleted file mode 100644
index 633fee2..0000000
Binary files a/audio_files/a3b88026a2a54176b7338081623fa68e.mp3 and /dev/null differ
diff --git a/audio_files/a3b88026a2a54176b7338081623fa68e.wav b/audio_files/a3b88026a2a54176b7338081623fa68e.wav
deleted file mode 100644
index 31e3f73..0000000
Binary files a/audio_files/a3b88026a2a54176b7338081623fa68e.wav and /dev/null differ
diff --git a/audio_files/a3d64095c8f84ad3a19f55cc34b6aeab.mp3 b/audio_files/a3d64095c8f84ad3a19f55cc34b6aeab.mp3
deleted file mode 100644
index 802b087..0000000
Binary files a/audio_files/a3d64095c8f84ad3a19f55cc34b6aeab.mp3 and /dev/null differ
diff --git a/audio_files/a3ea2a84067d4c239a153e1add3138a3.mp3 b/audio_files/a3ea2a84067d4c239a153e1add3138a3.mp3
deleted file mode 100644
index adaa7f1..0000000
Binary files a/audio_files/a3ea2a84067d4c239a153e1add3138a3.mp3 and /dev/null differ
diff --git a/audio_files/a3ea2a84067d4c239a153e1add3138a3.wav b/audio_files/a3ea2a84067d4c239a153e1add3138a3.wav
deleted file mode 100644
index 84a3d08..0000000
Binary files a/audio_files/a3ea2a84067d4c239a153e1add3138a3.wav and /dev/null differ
diff --git a/audio_files/a485e44daded4dbd861dc2e0055c2945.mp3 b/audio_files/a485e44daded4dbd861dc2e0055c2945.mp3
deleted file mode 100644
index 784d578..0000000
Binary files a/audio_files/a485e44daded4dbd861dc2e0055c2945.mp3 and /dev/null differ
diff --git a/audio_files/a485e44daded4dbd861dc2e0055c2945.wav b/audio_files/a485e44daded4dbd861dc2e0055c2945.wav
deleted file mode 100644
index 3351c48..0000000
Binary files a/audio_files/a485e44daded4dbd861dc2e0055c2945.wav and /dev/null differ
diff --git a/audio_files/a57f05352b194f0c9354d730ad88fc60.mp3 b/audio_files/a57f05352b194f0c9354d730ad88fc60.mp3
deleted file mode 100644
index 00850c5..0000000
Binary files a/audio_files/a57f05352b194f0c9354d730ad88fc60.mp3 and /dev/null differ
diff --git a/audio_files/a57f05352b194f0c9354d730ad88fc60.wav b/audio_files/a57f05352b194f0c9354d730ad88fc60.wav
deleted file mode 100644
index 9a72bf9..0000000
Binary files a/audio_files/a57f05352b194f0c9354d730ad88fc60.wav and /dev/null differ
diff --git a/audio_files/a5c931747bb14786a7582b01df9d3517.mp3 b/audio_files/a5c931747bb14786a7582b01df9d3517.mp3
deleted file mode 100644
index c2f7412..0000000
Binary files a/audio_files/a5c931747bb14786a7582b01df9d3517.mp3 and /dev/null differ
diff --git a/audio_files/a69965eb0a604a48b9432e37968ed1b9.mp3 b/audio_files/a69965eb0a604a48b9432e37968ed1b9.mp3
deleted file mode 100644
index d7e0927..0000000
Binary files a/audio_files/a69965eb0a604a48b9432e37968ed1b9.mp3 and /dev/null differ
diff --git a/audio_files/a69965eb0a604a48b9432e37968ed1b9.wav b/audio_files/a69965eb0a604a48b9432e37968ed1b9.wav
deleted file mode 100644
index 4bb58d3..0000000
Binary files a/audio_files/a69965eb0a604a48b9432e37968ed1b9.wav and /dev/null differ
diff --git a/audio_files/a8196fec87b24456b8b5f695f152e192.mp3 b/audio_files/a8196fec87b24456b8b5f695f152e192.mp3
deleted file mode 100644
index 35cf1b9..0000000
Binary files a/audio_files/a8196fec87b24456b8b5f695f152e192.mp3 and /dev/null differ
diff --git a/audio_files/aab5009ad37a45c0a0ecd3e88c9e2e2c.mp3 b/audio_files/aab5009ad37a45c0a0ecd3e88c9e2e2c.mp3
deleted file mode 100644
index 4f9953a..0000000
Binary files a/audio_files/aab5009ad37a45c0a0ecd3e88c9e2e2c.mp3 and /dev/null differ
diff --git a/audio_files/abb6970e741f4adeb7288214246fb256.mp3 b/audio_files/abb6970e741f4adeb7288214246fb256.mp3
deleted file mode 100644
index d3d39dd..0000000
Binary files a/audio_files/abb6970e741f4adeb7288214246fb256.mp3 and /dev/null differ
diff --git a/audio_files/abb6970e741f4adeb7288214246fb256.wav b/audio_files/abb6970e741f4adeb7288214246fb256.wav
deleted file mode 100644
index 807afe7..0000000
Binary files a/audio_files/abb6970e741f4adeb7288214246fb256.wav and /dev/null differ
diff --git a/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.mp3 b/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.mp3
deleted file mode 100644
index 18ed47c..0000000
Binary files a/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.mp3 and /dev/null differ
diff --git a/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.wav b/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.wav
deleted file mode 100644
index 0e688e4..0000000
Binary files a/audio_files/ac0dbd221aa745338ed7fac9e7ceb4ec.wav and /dev/null differ
diff --git a/audio_files/ac646587036c4ea59d5d7b97e8745605.mp3 b/audio_files/ac646587036c4ea59d5d7b97e8745605.mp3
deleted file mode 100644
index dc46a3a..0000000
Binary files a/audio_files/ac646587036c4ea59d5d7b97e8745605.mp3 and /dev/null differ
diff --git a/audio_files/ac6610ee1cc64fe894d6cf44f805614a.mp3 b/audio_files/ac6610ee1cc64fe894d6cf44f805614a.mp3
deleted file mode 100644
index 6b2e5d6..0000000
Binary files a/audio_files/ac6610ee1cc64fe894d6cf44f805614a.mp3 and /dev/null differ
diff --git a/audio_files/ac6610ee1cc64fe894d6cf44f805614a.wav b/audio_files/ac6610ee1cc64fe894d6cf44f805614a.wav
deleted file mode 100644
index f6c44f6..0000000
Binary files a/audio_files/ac6610ee1cc64fe894d6cf44f805614a.wav and /dev/null differ
diff --git a/audio_files/ac8e8921adc04c2b87677993ca709b60.mp3 b/audio_files/ac8e8921adc04c2b87677993ca709b60.mp3
deleted file mode 100644
index 7f21b02..0000000
Binary files a/audio_files/ac8e8921adc04c2b87677993ca709b60.mp3 and /dev/null differ
diff --git a/audio_files/ac8e8921adc04c2b87677993ca709b60.wav b/audio_files/ac8e8921adc04c2b87677993ca709b60.wav
deleted file mode 100644
index b65b683..0000000
Binary files a/audio_files/ac8e8921adc04c2b87677993ca709b60.wav and /dev/null differ
diff --git a/audio_files/acebf9bea2c8407788301c91fe0c4c0e.mp3 b/audio_files/acebf9bea2c8407788301c91fe0c4c0e.mp3
deleted file mode 100644
index c407090..0000000
Binary files a/audio_files/acebf9bea2c8407788301c91fe0c4c0e.mp3 and /dev/null differ
diff --git a/audio_files/adae532fbae94257887f19724804b087.mp3 b/audio_files/adae532fbae94257887f19724804b087.mp3
deleted file mode 100644
index dd294ad..0000000
Binary files a/audio_files/adae532fbae94257887f19724804b087.mp3 and /dev/null differ
diff --git a/audio_files/addd77841ac74a8a9c93437d8aa1e66c.mp3 b/audio_files/addd77841ac74a8a9c93437d8aa1e66c.mp3
deleted file mode 100644
index 2f4786c..0000000
Binary files a/audio_files/addd77841ac74a8a9c93437d8aa1e66c.mp3 and /dev/null differ
diff --git a/audio_files/addd77841ac74a8a9c93437d8aa1e66c.wav b/audio_files/addd77841ac74a8a9c93437d8aa1e66c.wav
deleted file mode 100644
index d0ea4c2..0000000
Binary files a/audio_files/addd77841ac74a8a9c93437d8aa1e66c.wav and /dev/null differ
diff --git a/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.mp3 b/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.mp3
deleted file mode 100644
index 872be9e..0000000
Binary files a/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.mp3 and /dev/null differ
diff --git a/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.wav b/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.wav
deleted file mode 100644
index ba1151c..0000000
Binary files a/audio_files/ae4db64436f44eaf8db4b740d77fd7b1.wav and /dev/null differ
diff --git a/audio_files/af07b17ba39f444a912324a8237264ed.mp3 b/audio_files/af07b17ba39f444a912324a8237264ed.mp3
deleted file mode 100644
index bfd21e1..0000000
Binary files a/audio_files/af07b17ba39f444a912324a8237264ed.mp3 and /dev/null differ
diff --git a/audio_files/afecb11ca54244258322becdff506276.mp3 b/audio_files/afecb11ca54244258322becdff506276.mp3
deleted file mode 100644
index 3688aff..0000000
Binary files a/audio_files/afecb11ca54244258322becdff506276.mp3 and /dev/null differ
diff --git a/audio_files/b02cb2044d3e41a683342f860fc9c681.mp3 b/audio_files/b02cb2044d3e41a683342f860fc9c681.mp3
deleted file mode 100644
index 4158a92..0000000
Binary files a/audio_files/b02cb2044d3e41a683342f860fc9c681.mp3 and /dev/null differ
diff --git a/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.mp3 b/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.mp3
deleted file mode 100644
index a21e89c..0000000
Binary files a/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.mp3 and /dev/null differ
diff --git a/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.wav b/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.wav
deleted file mode 100644
index 04b0e22..0000000
Binary files a/audio_files/b23413fbc3da4fd58172cbbd2f2dc205.wav and /dev/null differ
diff --git a/audio_files/b27b299bd06a4249867c4681a9b51fc8.mp3 b/audio_files/b27b299bd06a4249867c4681a9b51fc8.mp3
deleted file mode 100644
index 3803798..0000000
Binary files a/audio_files/b27b299bd06a4249867c4681a9b51fc8.mp3 and /dev/null differ
diff --git a/audio_files/b27b299bd06a4249867c4681a9b51fc8.wav b/audio_files/b27b299bd06a4249867c4681a9b51fc8.wav
deleted file mode 100644
index 635e3e8..0000000
Binary files a/audio_files/b27b299bd06a4249867c4681a9b51fc8.wav and /dev/null differ
diff --git a/audio_files/b31c3ed82693476b89e333953c74ee65.mp3 b/audio_files/b31c3ed82693476b89e333953c74ee65.mp3
deleted file mode 100644
index 298638d..0000000
Binary files a/audio_files/b31c3ed82693476b89e333953c74ee65.mp3 and /dev/null differ
diff --git a/audio_files/b31c3ed82693476b89e333953c74ee65.wav b/audio_files/b31c3ed82693476b89e333953c74ee65.wav
deleted file mode 100644
index 09357bf..0000000
Binary files a/audio_files/b31c3ed82693476b89e333953c74ee65.wav and /dev/null differ
diff --git a/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.mp3 b/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.mp3
deleted file mode 100644
index 72873d1..0000000
Binary files a/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.mp3 and /dev/null differ
diff --git a/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.wav b/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.wav
deleted file mode 100644
index f27ceac..0000000
Binary files a/audio_files/b3648b6113a54b5c843a94a5bb0b1bfa.wav and /dev/null differ
diff --git a/audio_files/b44b7ecd7c95478a9d86887ab298c19e.mp3 b/audio_files/b44b7ecd7c95478a9d86887ab298c19e.mp3
deleted file mode 100644
index 1fe4587..0000000
Binary files a/audio_files/b44b7ecd7c95478a9d86887ab298c19e.mp3 and /dev/null differ
diff --git a/audio_files/b44b7ecd7c95478a9d86887ab298c19e.wav b/audio_files/b44b7ecd7c95478a9d86887ab298c19e.wav
deleted file mode 100644
index 412ad4f..0000000
Binary files a/audio_files/b44b7ecd7c95478a9d86887ab298c19e.wav and /dev/null differ
diff --git a/audio_files/b5151b883c6d4733b091f6ba988fb7b6.mp3 b/audio_files/b5151b883c6d4733b091f6ba988fb7b6.mp3
deleted file mode 100644
index 00756a4..0000000
Binary files a/audio_files/b5151b883c6d4733b091f6ba988fb7b6.mp3 and /dev/null differ
diff --git a/audio_files/b587bebdc9364a568eaeba207475769b.mp3 b/audio_files/b587bebdc9364a568eaeba207475769b.mp3
deleted file mode 100644
index e08369e..0000000
Binary files a/audio_files/b587bebdc9364a568eaeba207475769b.mp3 and /dev/null differ
diff --git a/audio_files/b59951f4ba8b4931bc50732b62fe58cd.mp3 b/audio_files/b59951f4ba8b4931bc50732b62fe58cd.mp3
deleted file mode 100644
index a3891a7..0000000
Binary files a/audio_files/b59951f4ba8b4931bc50732b62fe58cd.mp3 and /dev/null differ
diff --git a/audio_files/b59951f4ba8b4931bc50732b62fe58cd.wav b/audio_files/b59951f4ba8b4931bc50732b62fe58cd.wav
deleted file mode 100644
index aeb8b6f..0000000
Binary files a/audio_files/b59951f4ba8b4931bc50732b62fe58cd.wav and /dev/null differ
diff --git a/audio_files/b5af427078514d98942690b7d4493c16.mp3 b/audio_files/b5af427078514d98942690b7d4493c16.mp3
deleted file mode 100644
index 12e40b1..0000000
Binary files a/audio_files/b5af427078514d98942690b7d4493c16.mp3 and /dev/null differ
diff --git a/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.mp3 b/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.mp3
deleted file mode 100644
index 327117c..0000000
Binary files a/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.mp3 and /dev/null differ
diff --git a/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.wav b/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.wav
deleted file mode 100644
index 86dce5d..0000000
Binary files a/audio_files/b5eddec90c6b46e582fd0d6d92c838c3.wav and /dev/null differ
diff --git a/audio_files/b658924bfbef4a76b7ad9021681ddccc.mp3 b/audio_files/b658924bfbef4a76b7ad9021681ddccc.mp3
deleted file mode 100644
index 64bde43..0000000
Binary files a/audio_files/b658924bfbef4a76b7ad9021681ddccc.mp3 and /dev/null differ
diff --git a/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.mp3 b/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.mp3
deleted file mode 100644
index 94c7cd5..0000000
Binary files a/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.mp3 and /dev/null differ
diff --git a/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.wav b/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.wav
deleted file mode 100644
index d62f1ca..0000000
Binary files a/audio_files/b6d0f2be87a34c07b4d2e4f3edc65bf9.wav and /dev/null differ
diff --git a/audio_files/b70b7162a87f4c219171091238fd497a.mp3 b/audio_files/b70b7162a87f4c219171091238fd497a.mp3
deleted file mode 100644
index 6eab70a..0000000
Binary files a/audio_files/b70b7162a87f4c219171091238fd497a.mp3 and /dev/null differ
diff --git a/audio_files/b70b7162a87f4c219171091238fd497a.wav b/audio_files/b70b7162a87f4c219171091238fd497a.wav
deleted file mode 100644
index d5bb546..0000000
Binary files a/audio_files/b70b7162a87f4c219171091238fd497a.wav and /dev/null differ
diff --git a/audio_files/b7d82da58b014e3d8494862714c2895f.mp3 b/audio_files/b7d82da58b014e3d8494862714c2895f.mp3
deleted file mode 100644
index 35cf1b9..0000000
Binary files a/audio_files/b7d82da58b014e3d8494862714c2895f.mp3 and /dev/null differ
diff --git a/audio_files/b8c5769c210e4bbb85deb6048a68320e.mp3 b/audio_files/b8c5769c210e4bbb85deb6048a68320e.mp3
deleted file mode 100644
index 77f07eb..0000000
Binary files a/audio_files/b8c5769c210e4bbb85deb6048a68320e.mp3 and /dev/null differ
diff --git a/audio_files/b8c5769c210e4bbb85deb6048a68320e.wav b/audio_files/b8c5769c210e4bbb85deb6048a68320e.wav
deleted file mode 100644
index c1996c6..0000000
Binary files a/audio_files/b8c5769c210e4bbb85deb6048a68320e.wav and /dev/null differ
diff --git a/audio_files/b8f00e92629f40cd92c62f5c10834b68.mp3 b/audio_files/b8f00e92629f40cd92c62f5c10834b68.mp3
deleted file mode 100644
index d463a38..0000000
Binary files a/audio_files/b8f00e92629f40cd92c62f5c10834b68.mp3 and /dev/null differ
diff --git a/audio_files/b8f00e92629f40cd92c62f5c10834b68.wav b/audio_files/b8f00e92629f40cd92c62f5c10834b68.wav
deleted file mode 100644
index b1fb2a9..0000000
Binary files a/audio_files/b8f00e92629f40cd92c62f5c10834b68.wav and /dev/null differ
diff --git a/audio_files/b8fc3e212b98496996d6a8810b7f0018.mp3 b/audio_files/b8fc3e212b98496996d6a8810b7f0018.mp3
deleted file mode 100644
index b020267..0000000
Binary files a/audio_files/b8fc3e212b98496996d6a8810b7f0018.mp3 and /dev/null differ
diff --git a/audio_files/b8fc3e212b98496996d6a8810b7f0018.wav b/audio_files/b8fc3e212b98496996d6a8810b7f0018.wav
deleted file mode 100644
index 694d834..0000000
Binary files a/audio_files/b8fc3e212b98496996d6a8810b7f0018.wav and /dev/null differ
diff --git a/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.mp3 b/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.mp3
deleted file mode 100644
index 4a83b18..0000000
Binary files a/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.mp3 and /dev/null differ
diff --git a/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.wav b/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.wav
deleted file mode 100644
index 0f17dfa..0000000
Binary files a/audio_files/b9066c9b9e9f4b18bf807da6868bea2e.wav and /dev/null differ
diff --git a/audio_files/b9b349dff1d448e3a48ccc7571ef763c.mp3 b/audio_files/b9b349dff1d448e3a48ccc7571ef763c.mp3
deleted file mode 100644
index 9c93e86..0000000
Binary files a/audio_files/b9b349dff1d448e3a48ccc7571ef763c.mp3 and /dev/null differ
diff --git a/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.mp3 b/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.mp3
deleted file mode 100644
index 2193c29..0000000
Binary files a/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.mp3 and /dev/null differ
diff --git a/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.wav b/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.wav
deleted file mode 100644
index f204fd5..0000000
Binary files a/audio_files/b9bb829f8f1d4ddabee53668f06b40e9.wav and /dev/null differ
diff --git a/audio_files/ba56a566d03141f2bae2360cd4e1eced.mp3 b/audio_files/ba56a566d03141f2bae2360cd4e1eced.mp3
deleted file mode 100644
index c118301..0000000
Binary files a/audio_files/ba56a566d03141f2bae2360cd4e1eced.mp3 and /dev/null differ
diff --git a/audio_files/ba56a566d03141f2bae2360cd4e1eced.wav b/audio_files/ba56a566d03141f2bae2360cd4e1eced.wav
deleted file mode 100644
index 00ca545..0000000
Binary files a/audio_files/ba56a566d03141f2bae2360cd4e1eced.wav and /dev/null differ
diff --git a/audio_files/ba962f1ed4454b40a9336c51bba77aa4.mp3 b/audio_files/ba962f1ed4454b40a9336c51bba77aa4.mp3
deleted file mode 100644
index 2ea3f98..0000000
Binary files a/audio_files/ba962f1ed4454b40a9336c51bba77aa4.mp3 and /dev/null differ
diff --git a/audio_files/baab925180d04f8b8b35edfc3559112d.mp3 b/audio_files/baab925180d04f8b8b35edfc3559112d.mp3
deleted file mode 100644
index dde1e4f..0000000
Binary files a/audio_files/baab925180d04f8b8b35edfc3559112d.mp3 and /dev/null differ
diff --git a/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.mp3 b/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.mp3
deleted file mode 100644
index 93d2368..0000000
Binary files a/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.mp3 and /dev/null differ
diff --git a/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.wav b/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.wav
deleted file mode 100644
index 1ca847e..0000000
Binary files a/audio_files/bb1d3b3931d841a7bd5c01a47c503a29.wav and /dev/null differ
diff --git a/audio_files/bc77b55340bd4cd18c049e40245bd1c9.mp3 b/audio_files/bc77b55340bd4cd18c049e40245bd1c9.mp3
deleted file mode 100644
index ee4b90f..0000000
Binary files a/audio_files/bc77b55340bd4cd18c049e40245bd1c9.mp3 and /dev/null differ
diff --git a/audio_files/bc902a0fd6e04a668bc736997937d9ed.mp3 b/audio_files/bc902a0fd6e04a668bc736997937d9ed.mp3
deleted file mode 100644
index df1930e..0000000
Binary files a/audio_files/bc902a0fd6e04a668bc736997937d9ed.mp3 and /dev/null differ
diff --git a/audio_files/bc902a0fd6e04a668bc736997937d9ed.wav b/audio_files/bc902a0fd6e04a668bc736997937d9ed.wav
deleted file mode 100644
index 72b91a5..0000000
Binary files a/audio_files/bc902a0fd6e04a668bc736997937d9ed.wav and /dev/null differ
diff --git a/audio_files/bcc8c833456d468f8fd65b6bf5b3295b.mp3 b/audio_files/bcc8c833456d468f8fd65b6bf5b3295b.mp3
deleted file mode 100644
index b35f6dd..0000000
Binary files a/audio_files/bcc8c833456d468f8fd65b6bf5b3295b.mp3 and /dev/null differ
diff --git a/audio_files/bced30d4974345fa8113c052a67e04d4.mp3 b/audio_files/bced30d4974345fa8113c052a67e04d4.mp3
deleted file mode 100644
index adaa7f1..0000000
Binary files a/audio_files/bced30d4974345fa8113c052a67e04d4.mp3 and /dev/null differ
diff --git a/audio_files/bced30d4974345fa8113c052a67e04d4.wav b/audio_files/bced30d4974345fa8113c052a67e04d4.wav
deleted file mode 100644
index 84a3d08..0000000
Binary files a/audio_files/bced30d4974345fa8113c052a67e04d4.wav and /dev/null differ
diff --git a/audio_files/bd95debe738b44b9b3d0de21b3c29c0a.mp3 b/audio_files/bd95debe738b44b9b3d0de21b3c29c0a.mp3
deleted file mode 100644
index a3d8fd0..0000000
Binary files a/audio_files/bd95debe738b44b9b3d0de21b3c29c0a.mp3 and /dev/null differ
diff --git a/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.mp3 b/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.mp3
deleted file mode 100644
index 5dba6e7..0000000
Binary files a/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.mp3 and /dev/null differ
diff --git a/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.wav b/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.wav
deleted file mode 100644
index 7bd3843..0000000
Binary files a/audio_files/bd9e90cf01cd418d8ecbe9338cb99799.wav and /dev/null differ
diff --git a/audio_files/bdb6c9eecca145028413593154ce371d.mp3 b/audio_files/bdb6c9eecca145028413593154ce371d.mp3
deleted file mode 100644
index b16b07e..0000000
Binary files a/audio_files/bdb6c9eecca145028413593154ce371d.mp3 and /dev/null differ
diff --git a/audio_files/bed0000d4828428d98eabbc0542b6a2a.mp3 b/audio_files/bed0000d4828428d98eabbc0542b6a2a.mp3
deleted file mode 100644
index 506db5a..0000000
Binary files a/audio_files/bed0000d4828428d98eabbc0542b6a2a.mp3 and /dev/null differ
diff --git a/audio_files/bf2be8110611418fa3190716d74539c4.mp3 b/audio_files/bf2be8110611418fa3190716d74539c4.mp3
deleted file mode 100644
index 2f1db11..0000000
Binary files a/audio_files/bf2be8110611418fa3190716d74539c4.mp3 and /dev/null differ
diff --git a/audio_files/bf46db32f7264b3d97a60a6045389c5a.mp3 b/audio_files/bf46db32f7264b3d97a60a6045389c5a.mp3
deleted file mode 100644
index da2150c..0000000
Binary files a/audio_files/bf46db32f7264b3d97a60a6045389c5a.mp3 and /dev/null differ
diff --git a/audio_files/bf46db32f7264b3d97a60a6045389c5a.wav b/audio_files/bf46db32f7264b3d97a60a6045389c5a.wav
deleted file mode 100644
index 607f3fd..0000000
Binary files a/audio_files/bf46db32f7264b3d97a60a6045389c5a.wav and /dev/null differ
diff --git a/audio_files/bf780800fb6d45c5a20f96b9025b6bab.mp3 b/audio_files/bf780800fb6d45c5a20f96b9025b6bab.mp3
deleted file mode 100644
index ce41e39..0000000
Binary files a/audio_files/bf780800fb6d45c5a20f96b9025b6bab.mp3 and /dev/null differ
diff --git a/audio_files/bf780800fb6d45c5a20f96b9025b6bab.wav b/audio_files/bf780800fb6d45c5a20f96b9025b6bab.wav
deleted file mode 100644
index 498e63c..0000000
Binary files a/audio_files/bf780800fb6d45c5a20f96b9025b6bab.wav and /dev/null differ
diff --git a/audio_files/c09c9c0ca72d4998bed1e55d167d732e.mp3 b/audio_files/c09c9c0ca72d4998bed1e55d167d732e.mp3
deleted file mode 100644
index c8802f3..0000000
Binary files a/audio_files/c09c9c0ca72d4998bed1e55d167d732e.mp3 and /dev/null differ
diff --git a/audio_files/c09c9c0ca72d4998bed1e55d167d732e.wav b/audio_files/c09c9c0ca72d4998bed1e55d167d732e.wav
deleted file mode 100644
index 0cdd0b7..0000000
Binary files a/audio_files/c09c9c0ca72d4998bed1e55d167d732e.wav and /dev/null differ
diff --git a/audio_files/c16ee4071ad44735b63e7478719d2a04.mp3 b/audio_files/c16ee4071ad44735b63e7478719d2a04.mp3
deleted file mode 100644
index f63447f..0000000
Binary files a/audio_files/c16ee4071ad44735b63e7478719d2a04.mp3 and /dev/null differ
diff --git a/audio_files/c1841fe9fa4a4f96904d1c7b66a8be06.mp3 b/audio_files/c1841fe9fa4a4f96904d1c7b66a8be06.mp3
deleted file mode 100644
index a06a800..0000000
Binary files a/audio_files/c1841fe9fa4a4f96904d1c7b66a8be06.mp3 and /dev/null differ
diff --git a/audio_files/c1dceb902c1e4a8fba38a9500cf6e4a5.mp3 b/audio_files/c1dceb902c1e4a8fba38a9500cf6e4a5.mp3
deleted file mode 100644
index 7752245..0000000
Binary files a/audio_files/c1dceb902c1e4a8fba38a9500cf6e4a5.mp3 and /dev/null differ
diff --git a/audio_files/c390f67bcc494f8199b333c7a9b3279c.mp3 b/audio_files/c390f67bcc494f8199b333c7a9b3279c.mp3
deleted file mode 100644
index 6d1b8f6..0000000
Binary files a/audio_files/c390f67bcc494f8199b333c7a9b3279c.mp3 and /dev/null differ
diff --git a/audio_files/c390f67bcc494f8199b333c7a9b3279c.wav b/audio_files/c390f67bcc494f8199b333c7a9b3279c.wav
deleted file mode 100644
index 7538a2c..0000000
Binary files a/audio_files/c390f67bcc494f8199b333c7a9b3279c.wav and /dev/null differ
diff --git a/audio_files/c4ac093a4f164b3490ac7bb466d546f1.mp3 b/audio_files/c4ac093a4f164b3490ac7bb466d546f1.mp3
deleted file mode 100644
index 44503e5..0000000
Binary files a/audio_files/c4ac093a4f164b3490ac7bb466d546f1.mp3 and /dev/null differ
diff --git a/audio_files/c4cbad6ca7c240d78e93638a88494175.mp3 b/audio_files/c4cbad6ca7c240d78e93638a88494175.mp3
deleted file mode 100644
index 541e841..0000000
Binary files a/audio_files/c4cbad6ca7c240d78e93638a88494175.mp3 and /dev/null differ
diff --git a/audio_files/c4cbad6ca7c240d78e93638a88494175.wav b/audio_files/c4cbad6ca7c240d78e93638a88494175.wav
deleted file mode 100644
index 190334c..0000000
Binary files a/audio_files/c4cbad6ca7c240d78e93638a88494175.wav and /dev/null differ
diff --git a/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.mp3 b/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.mp3
deleted file mode 100644
index 9a525d1..0000000
Binary files a/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.mp3 and /dev/null differ
diff --git a/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.wav b/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.wav
deleted file mode 100644
index 7ea39f4..0000000
Binary files a/audio_files/c51cb70e7eb64e56b18024cb4ba4e295.wav and /dev/null differ
diff --git a/audio_files/c5e1f44da6234f0e92b7356186ab4202.mp3 b/audio_files/c5e1f44da6234f0e92b7356186ab4202.mp3
deleted file mode 100644
index 418bcb9..0000000
Binary files a/audio_files/c5e1f44da6234f0e92b7356186ab4202.mp3 and /dev/null differ
diff --git a/audio_files/c5e1f44da6234f0e92b7356186ab4202.wav b/audio_files/c5e1f44da6234f0e92b7356186ab4202.wav
deleted file mode 100644
index 7810c88..0000000
Binary files a/audio_files/c5e1f44da6234f0e92b7356186ab4202.wav and /dev/null differ
diff --git a/audio_files/c85896204c7d405284297c92761d2651.mp3 b/audio_files/c85896204c7d405284297c92761d2651.mp3
deleted file mode 100644
index bf79e01..0000000
Binary files a/audio_files/c85896204c7d405284297c92761d2651.mp3 and /dev/null differ
diff --git a/audio_files/c85896204c7d405284297c92761d2651.wav b/audio_files/c85896204c7d405284297c92761d2651.wav
deleted file mode 100644
index dd8a8b4..0000000
Binary files a/audio_files/c85896204c7d405284297c92761d2651.wav and /dev/null differ
diff --git a/audio_files/c8bbc1e58f0641a79923ac6c25dfa8c1.mp3 b/audio_files/c8bbc1e58f0641a79923ac6c25dfa8c1.mp3
deleted file mode 100644
index 086770c..0000000
Binary files a/audio_files/c8bbc1e58f0641a79923ac6c25dfa8c1.mp3 and /dev/null differ
diff --git a/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.mp3 b/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.mp3
deleted file mode 100644
index 2e1a4de..0000000
Binary files a/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.mp3 and /dev/null differ
diff --git a/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.wav b/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.wav
deleted file mode 100644
index 13015bb..0000000
Binary files a/audio_files/c8eaf89d732e4fd0a35dc2b56bd1dfd0.wav and /dev/null differ
diff --git a/audio_files/c948527664f94c02ba7a046505c5346d.mp3 b/audio_files/c948527664f94c02ba7a046505c5346d.mp3
deleted file mode 100644
index 0a267c0..0000000
Binary files a/audio_files/c948527664f94c02ba7a046505c5346d.mp3 and /dev/null differ
diff --git a/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.mp3 b/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.mp3
deleted file mode 100644
index 1843dc0..0000000
Binary files a/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.mp3 and /dev/null differ
diff --git a/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.wav b/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.wav
deleted file mode 100644
index e083c00..0000000
Binary files a/audio_files/c959b6d9d5b34b7cbd32ba4ac81420dc.wav and /dev/null differ
diff --git a/audio_files/ca119d7e63894e909eec989e7b4b73d9.mp3 b/audio_files/ca119d7e63894e909eec989e7b4b73d9.mp3
deleted file mode 100644
index 7107018..0000000
Binary files a/audio_files/ca119d7e63894e909eec989e7b4b73d9.mp3 and /dev/null differ
diff --git a/audio_files/ca119d7e63894e909eec989e7b4b73d9.wav b/audio_files/ca119d7e63894e909eec989e7b4b73d9.wav
deleted file mode 100644
index 3af1b28..0000000
Binary files a/audio_files/ca119d7e63894e909eec989e7b4b73d9.wav and /dev/null differ
diff --git a/audio_files/ca1362acdfa04ba9bec49deda7656a34.mp3 b/audio_files/ca1362acdfa04ba9bec49deda7656a34.mp3
deleted file mode 100644
index 12c0dcd..0000000
Binary files a/audio_files/ca1362acdfa04ba9bec49deda7656a34.mp3 and /dev/null differ
diff --git a/audio_files/ca1362acdfa04ba9bec49deda7656a34.wav b/audio_files/ca1362acdfa04ba9bec49deda7656a34.wav
deleted file mode 100644
index 43ea6ae..0000000
Binary files a/audio_files/ca1362acdfa04ba9bec49deda7656a34.wav and /dev/null differ
diff --git a/audio_files/cabaeb4f2f9747a7914de02dcaa438c4.mp3 b/audio_files/cabaeb4f2f9747a7914de02dcaa438c4.mp3
deleted file mode 100644
index 8afc18b..0000000
Binary files a/audio_files/cabaeb4f2f9747a7914de02dcaa438c4.mp3 and /dev/null differ
diff --git a/audio_files/cacf5be7220a47f3843ebd38259c2766.mp3 b/audio_files/cacf5be7220a47f3843ebd38259c2766.mp3
deleted file mode 100644
index 4359140..0000000
Binary files a/audio_files/cacf5be7220a47f3843ebd38259c2766.mp3 and /dev/null differ
diff --git a/audio_files/cacf5be7220a47f3843ebd38259c2766.wav b/audio_files/cacf5be7220a47f3843ebd38259c2766.wav
deleted file mode 100644
index 0da7f44..0000000
Binary files a/audio_files/cacf5be7220a47f3843ebd38259c2766.wav and /dev/null differ
diff --git a/audio_files/cad2b48db8d94aaca4053e2920fb180e.mp3 b/audio_files/cad2b48db8d94aaca4053e2920fb180e.mp3
deleted file mode 100644
index 4dc6f79..0000000
Binary files a/audio_files/cad2b48db8d94aaca4053e2920fb180e.mp3 and /dev/null differ
diff --git a/audio_files/cc0bd2ab5a454c76837e8d28180cd02e.mp3 b/audio_files/cc0bd2ab5a454c76837e8d28180cd02e.mp3
deleted file mode 100644
index 05e0830..0000000
Binary files a/audio_files/cc0bd2ab5a454c76837e8d28180cd02e.mp3 and /dev/null differ
diff --git a/audio_files/cccd1e7d862e49108256a6bf6b5df650.mp3 b/audio_files/cccd1e7d862e49108256a6bf6b5df650.mp3
deleted file mode 100644
index d5dcdd4..0000000
Binary files a/audio_files/cccd1e7d862e49108256a6bf6b5df650.mp3 and /dev/null differ
diff --git a/audio_files/cccd1e7d862e49108256a6bf6b5df650.wav b/audio_files/cccd1e7d862e49108256a6bf6b5df650.wav
deleted file mode 100644
index 3501389..0000000
Binary files a/audio_files/cccd1e7d862e49108256a6bf6b5df650.wav and /dev/null differ
diff --git a/audio_files/cd4a877b18e840eeab44104752b48daa.mp3 b/audio_files/cd4a877b18e840eeab44104752b48daa.mp3
deleted file mode 100644
index a451342..0000000
Binary files a/audio_files/cd4a877b18e840eeab44104752b48daa.mp3 and /dev/null differ
diff --git a/audio_files/cd4a877b18e840eeab44104752b48daa.wav b/audio_files/cd4a877b18e840eeab44104752b48daa.wav
deleted file mode 100644
index 9d25f32..0000000
Binary files a/audio_files/cd4a877b18e840eeab44104752b48daa.wav and /dev/null differ
diff --git a/audio_files/cdb0177dfece4c6e8894e3832fd96ee0.mp3 b/audio_files/cdb0177dfece4c6e8894e3832fd96ee0.mp3
deleted file mode 100644
index 8086abc..0000000
Binary files a/audio_files/cdb0177dfece4c6e8894e3832fd96ee0.mp3 and /dev/null differ
diff --git a/audio_files/ce49eed9386142a89ef26a9d42cd5ce1.mp3 b/audio_files/ce49eed9386142a89ef26a9d42cd5ce1.mp3
deleted file mode 100644
index 1b226ca..0000000
Binary files a/audio_files/ce49eed9386142a89ef26a9d42cd5ce1.mp3 and /dev/null differ
diff --git a/audio_files/ce6174d0246949d097fbc3cf93d42e86.mp3 b/audio_files/ce6174d0246949d097fbc3cf93d42e86.mp3
deleted file mode 100644
index 72f52c1..0000000
Binary files a/audio_files/ce6174d0246949d097fbc3cf93d42e86.mp3 and /dev/null differ
diff --git a/audio_files/ce6174d0246949d097fbc3cf93d42e86.wav b/audio_files/ce6174d0246949d097fbc3cf93d42e86.wav
deleted file mode 100644
index 4cf2b90..0000000
Binary files a/audio_files/ce6174d0246949d097fbc3cf93d42e86.wav and /dev/null differ
diff --git a/audio_files/cef5c9d825054eed85779507036fb39f.mp3 b/audio_files/cef5c9d825054eed85779507036fb39f.mp3
deleted file mode 100644
index cec0c55..0000000
Binary files a/audio_files/cef5c9d825054eed85779507036fb39f.mp3 and /dev/null differ
diff --git a/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.mp3 b/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.mp3
deleted file mode 100644
index e3b6853..0000000
Binary files a/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.mp3 and /dev/null differ
diff --git a/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.wav b/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.wav
deleted file mode 100644
index d26b87b..0000000
Binary files a/audio_files/cff2ddc5739f46eaa9410eac5f8c3627.wav and /dev/null differ
diff --git a/audio_files/d01585012cf644de90f448dab10f0f09.mp3 b/audio_files/d01585012cf644de90f448dab10f0f09.mp3
deleted file mode 100644
index c9ee6c9..0000000
Binary files a/audio_files/d01585012cf644de90f448dab10f0f09.mp3 and /dev/null differ
diff --git a/audio_files/d02a8cfeb1bf4443b843cf67771a8657.mp3 b/audio_files/d02a8cfeb1bf4443b843cf67771a8657.mp3
deleted file mode 100644
index 2ea3f98..0000000
Binary files a/audio_files/d02a8cfeb1bf4443b843cf67771a8657.mp3 and /dev/null differ
diff --git a/audio_files/d02a8cfeb1bf4443b843cf67771a8657.wav b/audio_files/d02a8cfeb1bf4443b843cf67771a8657.wav
deleted file mode 100644
index 20b486b..0000000
Binary files a/audio_files/d02a8cfeb1bf4443b843cf67771a8657.wav and /dev/null differ
diff --git a/audio_files/d0a2c9e4610941bebe81993f63100be0.mp3 b/audio_files/d0a2c9e4610941bebe81993f63100be0.mp3
deleted file mode 100644
index 005039c..0000000
Binary files a/audio_files/d0a2c9e4610941bebe81993f63100be0.mp3 and /dev/null differ
diff --git a/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.mp3 b/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.mp3
deleted file mode 100644
index f454f3d..0000000
Binary files a/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.mp3 and /dev/null differ
diff --git a/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.wav b/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.wav
deleted file mode 100644
index 27d0033..0000000
Binary files a/audio_files/d124e15ae0fe429bb205ed3fdbff27d8.wav and /dev/null differ
diff --git a/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.mp3 b/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.mp3
deleted file mode 100644
index 39f6a60..0000000
Binary files a/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.mp3 and /dev/null differ
diff --git a/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.wav b/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.wav
deleted file mode 100644
index fb52e14..0000000
Binary files a/audio_files/d2e105e1e7ba493c8a05d9e72074b73a.wav and /dev/null differ
diff --git a/audio_files/d38df6206f8e49cb99ad9d1510a3d687.mp3 b/audio_files/d38df6206f8e49cb99ad9d1510a3d687.mp3
deleted file mode 100644
index 056d586..0000000
Binary files a/audio_files/d38df6206f8e49cb99ad9d1510a3d687.mp3 and /dev/null differ
diff --git a/audio_files/d38df6206f8e49cb99ad9d1510a3d687.wav b/audio_files/d38df6206f8e49cb99ad9d1510a3d687.wav
deleted file mode 100644
index cc01e80..0000000
Binary files a/audio_files/d38df6206f8e49cb99ad9d1510a3d687.wav and /dev/null differ
diff --git a/audio_files/d3a7952b108f424bbbcdb4a9fd7676d8.mp3 b/audio_files/d3a7952b108f424bbbcdb4a9fd7676d8.mp3
deleted file mode 100644
index 9398582..0000000
Binary files a/audio_files/d3a7952b108f424bbbcdb4a9fd7676d8.mp3 and /dev/null differ
diff --git a/audio_files/d46532bda71445b1bc714e253c877ae5.mp3 b/audio_files/d46532bda71445b1bc714e253c877ae5.mp3
deleted file mode 100644
index fe743de..0000000
Binary files a/audio_files/d46532bda71445b1bc714e253c877ae5.mp3 and /dev/null differ
diff --git a/audio_files/d46532bda71445b1bc714e253c877ae5.wav b/audio_files/d46532bda71445b1bc714e253c877ae5.wav
deleted file mode 100644
index 0f07424..0000000
Binary files a/audio_files/d46532bda71445b1bc714e253c877ae5.wav and /dev/null differ
diff --git a/audio_files/d46b4d51a4924f788c4f54cf8734342b.mp3 b/audio_files/d46b4d51a4924f788c4f54cf8734342b.mp3
deleted file mode 100644
index 37ff077..0000000
Binary files a/audio_files/d46b4d51a4924f788c4f54cf8734342b.mp3 and /dev/null differ
diff --git a/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.mp3 b/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.mp3
deleted file mode 100644
index 7ee0054..0000000
Binary files a/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.mp3 and /dev/null differ
diff --git a/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.wav b/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.wav
deleted file mode 100644
index 6196c15..0000000
Binary files a/audio_files/d4b73fd77cdb4d22bf7c8050ba7247fa.wav and /dev/null differ
diff --git a/audio_files/d57af0996e344d428a172db944fce56f.mp3 b/audio_files/d57af0996e344d428a172db944fce56f.mp3
deleted file mode 100644
index 78d4b21..0000000
Binary files a/audio_files/d57af0996e344d428a172db944fce56f.mp3 and /dev/null differ
diff --git a/audio_files/d6959795f4974d1f858b45defb796b3d.mp3 b/audio_files/d6959795f4974d1f858b45defb796b3d.mp3
deleted file mode 100644
index 28bb7bd..0000000
Binary files a/audio_files/d6959795f4974d1f858b45defb796b3d.mp3 and /dev/null differ
diff --git a/audio_files/d6cfa964a4d045e7aaca6411899b406b.mp3 b/audio_files/d6cfa964a4d045e7aaca6411899b406b.mp3
deleted file mode 100644
index 89e163e..0000000
Binary files a/audio_files/d6cfa964a4d045e7aaca6411899b406b.mp3 and /dev/null differ
diff --git a/audio_files/d7ca29a5c5b6464ba83ef8b16d9b4a14.mp3 b/audio_files/d7ca29a5c5b6464ba83ef8b16d9b4a14.mp3
deleted file mode 100644
index 9d45ccf..0000000
Binary files a/audio_files/d7ca29a5c5b6464ba83ef8b16d9b4a14.mp3 and /dev/null differ
diff --git a/audio_files/d7f5fb63eb5b4d22ae5f959caed90b41.mp3 b/audio_files/d7f5fb63eb5b4d22ae5f959caed90b41.mp3
deleted file mode 100644
index bc49505..0000000
Binary files a/audio_files/d7f5fb63eb5b4d22ae5f959caed90b41.mp3 and /dev/null differ
diff --git a/audio_files/d805b857d72b4d5392535c321354bc7f.mp3 b/audio_files/d805b857d72b4d5392535c321354bc7f.mp3
deleted file mode 100644
index 64f9da1..0000000
Binary files a/audio_files/d805b857d72b4d5392535c321354bc7f.mp3 and /dev/null differ
diff --git a/audio_files/d8174fdaabc947bbb8e63f01bdbb1acd.mp3 b/audio_files/d8174fdaabc947bbb8e63f01bdbb1acd.mp3
deleted file mode 100644
index 847a2fe..0000000
Binary files a/audio_files/d8174fdaabc947bbb8e63f01bdbb1acd.mp3 and /dev/null differ
diff --git a/audio_files/d92878d841c544c88cae9de396851a7c.mp3 b/audio_files/d92878d841c544c88cae9de396851a7c.mp3
deleted file mode 100644
index 0628a18..0000000
Binary files a/audio_files/d92878d841c544c88cae9de396851a7c.mp3 and /dev/null differ
diff --git a/audio_files/d92878d841c544c88cae9de396851a7c.wav b/audio_files/d92878d841c544c88cae9de396851a7c.wav
deleted file mode 100644
index 1336008..0000000
Binary files a/audio_files/d92878d841c544c88cae9de396851a7c.wav and /dev/null differ
diff --git a/audio_files/da096683f511448a842540105ea28ec2.mp3 b/audio_files/da096683f511448a842540105ea28ec2.mp3
deleted file mode 100644
index 94d0db9..0000000
Binary files a/audio_files/da096683f511448a842540105ea28ec2.mp3 and /dev/null differ
diff --git a/audio_files/daebbc572ede47b58c1d9cfd0b87b06c.mp3 b/audio_files/daebbc572ede47b58c1d9cfd0b87b06c.mp3
deleted file mode 100644
index dcf4388..0000000
Binary files a/audio_files/daebbc572ede47b58c1d9cfd0b87b06c.mp3 and /dev/null differ
diff --git a/audio_files/db792c6a38bc4f11868fee41d0a39245.mp3 b/audio_files/db792c6a38bc4f11868fee41d0a39245.mp3
deleted file mode 100644
index cfc57b7..0000000
Binary files a/audio_files/db792c6a38bc4f11868fee41d0a39245.mp3 and /dev/null differ
diff --git a/audio_files/db792c6a38bc4f11868fee41d0a39245.wav b/audio_files/db792c6a38bc4f11868fee41d0a39245.wav
deleted file mode 100644
index a85bebe..0000000
Binary files a/audio_files/db792c6a38bc4f11868fee41d0a39245.wav and /dev/null differ
diff --git a/audio_files/de006d63bbfe49fcb05c485eadda8ba0.mp3 b/audio_files/de006d63bbfe49fcb05c485eadda8ba0.mp3
deleted file mode 100644
index a1fa6a1..0000000
Binary files a/audio_files/de006d63bbfe49fcb05c485eadda8ba0.mp3 and /dev/null differ
diff --git a/audio_files/de006d63bbfe49fcb05c485eadda8ba0.wav b/audio_files/de006d63bbfe49fcb05c485eadda8ba0.wav
deleted file mode 100644
index c3d9742..0000000
Binary files a/audio_files/de006d63bbfe49fcb05c485eadda8ba0.wav and /dev/null differ
diff --git a/audio_files/de0387d04d99427b9a256e18ddacf9f2.mp3 b/audio_files/de0387d04d99427b9a256e18ddacf9f2.mp3
deleted file mode 100644
index 161a125..0000000
Binary files a/audio_files/de0387d04d99427b9a256e18ddacf9f2.mp3 and /dev/null differ
diff --git a/audio_files/de0387d04d99427b9a256e18ddacf9f2.wav b/audio_files/de0387d04d99427b9a256e18ddacf9f2.wav
deleted file mode 100644
index c3a42f4..0000000
Binary files a/audio_files/de0387d04d99427b9a256e18ddacf9f2.wav and /dev/null differ
diff --git a/audio_files/de0a269fd7334484b707486e5710a0b8.mp3 b/audio_files/de0a269fd7334484b707486e5710a0b8.mp3
deleted file mode 100644
index 9bec267..0000000
Binary files a/audio_files/de0a269fd7334484b707486e5710a0b8.mp3 and /dev/null differ
diff --git a/audio_files/dfe3021aed3942fb9ded84b6203c46a6.mp3 b/audio_files/dfe3021aed3942fb9ded84b6203c46a6.mp3
deleted file mode 100644
index 3388a1f..0000000
Binary files a/audio_files/dfe3021aed3942fb9ded84b6203c46a6.mp3 and /dev/null differ
diff --git a/audio_files/dfe3021aed3942fb9ded84b6203c46a6.wav b/audio_files/dfe3021aed3942fb9ded84b6203c46a6.wav
deleted file mode 100644
index 685812d..0000000
Binary files a/audio_files/dfe3021aed3942fb9ded84b6203c46a6.wav and /dev/null differ
diff --git a/audio_files/dffc947b436742d4a23d24cea4f30ded.mp3 b/audio_files/dffc947b436742d4a23d24cea4f30ded.mp3
deleted file mode 100644
index b6670ae..0000000
Binary files a/audio_files/dffc947b436742d4a23d24cea4f30ded.mp3 and /dev/null differ
diff --git a/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.mp3 b/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.mp3
deleted file mode 100644
index 33181bf..0000000
Binary files a/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.mp3 and /dev/null differ
diff --git a/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.wav b/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.wav
deleted file mode 100644
index a7edef0..0000000
Binary files a/audio_files/e0bbfc0091a74f4baaad60dc97180bdd.wav and /dev/null differ
diff --git a/audio_files/e0ea7db335354d0890be999131d05314.mp3 b/audio_files/e0ea7db335354d0890be999131d05314.mp3
deleted file mode 100644
index a5d5a3a..0000000
Binary files a/audio_files/e0ea7db335354d0890be999131d05314.mp3 and /dev/null differ
diff --git a/audio_files/e0ea7db335354d0890be999131d05314.wav b/audio_files/e0ea7db335354d0890be999131d05314.wav
deleted file mode 100644
index a7bff4d..0000000
Binary files a/audio_files/e0ea7db335354d0890be999131d05314.wav and /dev/null differ
diff --git a/audio_files/e133e584d62f41be825ae30a292ce924.mp3 b/audio_files/e133e584d62f41be825ae30a292ce924.mp3
deleted file mode 100644
index cf3af15..0000000
Binary files a/audio_files/e133e584d62f41be825ae30a292ce924.mp3 and /dev/null differ
diff --git a/audio_files/e160540b145c43ea9427fdbdfc73e575.mp3 b/audio_files/e160540b145c43ea9427fdbdfc73e575.mp3
deleted file mode 100644
index fb594e7..0000000
Binary files a/audio_files/e160540b145c43ea9427fdbdfc73e575.mp3 and /dev/null differ
diff --git a/audio_files/e160540b145c43ea9427fdbdfc73e575.wav b/audio_files/e160540b145c43ea9427fdbdfc73e575.wav
deleted file mode 100644
index 0284d40..0000000
Binary files a/audio_files/e160540b145c43ea9427fdbdfc73e575.wav and /dev/null differ
diff --git a/audio_files/e19d9dd639a34b9b8c53313bb17562ca.mp3 b/audio_files/e19d9dd639a34b9b8c53313bb17562ca.mp3
deleted file mode 100644
index 58c3900..0000000
Binary files a/audio_files/e19d9dd639a34b9b8c53313bb17562ca.mp3 and /dev/null differ
diff --git a/audio_files/e1d728a46cfe4e1bb5371ec5d4841c8e.mp3 b/audio_files/e1d728a46cfe4e1bb5371ec5d4841c8e.mp3
deleted file mode 100644
index f54c39c..0000000
Binary files a/audio_files/e1d728a46cfe4e1bb5371ec5d4841c8e.mp3 and /dev/null differ
diff --git a/audio_files/e33c10886c3541be9c9a7e013192b295.mp3 b/audio_files/e33c10886c3541be9c9a7e013192b295.mp3
deleted file mode 100644
index d1dbc3f..0000000
Binary files a/audio_files/e33c10886c3541be9c9a7e013192b295.mp3 and /dev/null differ
diff --git a/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.mp3 b/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.mp3
deleted file mode 100644
index 333e485..0000000
Binary files a/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.mp3 and /dev/null differ
diff --git a/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.wav b/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.wav
deleted file mode 100644
index c0426b3..0000000
Binary files a/audio_files/e3e2d79f4ab345bb99ddb16738b00fc2.wav and /dev/null differ
diff --git a/audio_files/e51187c5473044d3b375e3afd4d67acf.mp3 b/audio_files/e51187c5473044d3b375e3afd4d67acf.mp3
deleted file mode 100644
index dcc2781..0000000
Binary files a/audio_files/e51187c5473044d3b375e3afd4d67acf.mp3 and /dev/null differ
diff --git a/audio_files/e5db929548d14cdf9917f6154c01b04f.mp3 b/audio_files/e5db929548d14cdf9917f6154c01b04f.mp3
deleted file mode 100644
index a90fe41..0000000
Binary files a/audio_files/e5db929548d14cdf9917f6154c01b04f.mp3 and /dev/null differ
diff --git a/audio_files/e64e88174f874f5f907c28dd2e6d063f.mp3 b/audio_files/e64e88174f874f5f907c28dd2e6d063f.mp3
deleted file mode 100644
index e423b92..0000000
Binary files a/audio_files/e64e88174f874f5f907c28dd2e6d063f.mp3 and /dev/null differ
diff --git a/audio_files/e67fc517ae24446d8766595da39dfeb3.mp3 b/audio_files/e67fc517ae24446d8766595da39dfeb3.mp3
deleted file mode 100644
index 05603c6..0000000
Binary files a/audio_files/e67fc517ae24446d8766595da39dfeb3.mp3 and /dev/null differ
diff --git a/audio_files/e67fc517ae24446d8766595da39dfeb3.wav b/audio_files/e67fc517ae24446d8766595da39dfeb3.wav
deleted file mode 100644
index 7bb5d75..0000000
Binary files a/audio_files/e67fc517ae24446d8766595da39dfeb3.wav and /dev/null differ
diff --git a/audio_files/e71558008f3d4238adc2a7812dabce7f.mp3 b/audio_files/e71558008f3d4238adc2a7812dabce7f.mp3
deleted file mode 100644
index ee4d8e0..0000000
Binary files a/audio_files/e71558008f3d4238adc2a7812dabce7f.mp3 and /dev/null differ
diff --git a/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.mp3 b/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.mp3
deleted file mode 100644
index 78d4b21..0000000
Binary files a/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.mp3 and /dev/null differ
diff --git a/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.wav b/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.wav
deleted file mode 100644
index b827a6f..0000000
Binary files a/audio_files/e8d016779b4f4d4c9ae3f02f87ac4ac4.wav and /dev/null differ
diff --git a/audio_files/ea9bc91401c34dac85ed5478f62b214e.mp3 b/audio_files/ea9bc91401c34dac85ed5478f62b214e.mp3
deleted file mode 100644
index 9d45ccf..0000000
Binary files a/audio_files/ea9bc91401c34dac85ed5478f62b214e.mp3 and /dev/null differ
diff --git a/audio_files/eb16efb8cead4fce840b6f48bcef2e29.mp3 b/audio_files/eb16efb8cead4fce840b6f48bcef2e29.mp3
deleted file mode 100644
index 799fc9b..0000000
Binary files a/audio_files/eb16efb8cead4fce840b6f48bcef2e29.mp3 and /dev/null differ
diff --git a/audio_files/eb16efb8cead4fce840b6f48bcef2e29.wav b/audio_files/eb16efb8cead4fce840b6f48bcef2e29.wav
deleted file mode 100644
index e9b820d..0000000
Binary files a/audio_files/eb16efb8cead4fce840b6f48bcef2e29.wav and /dev/null differ
diff --git a/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.mp3 b/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.mp3
deleted file mode 100644
index 0ab3d71..0000000
Binary files a/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.mp3 and /dev/null differ
diff --git a/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.wav b/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.wav
deleted file mode 100644
index 0701fbb..0000000
Binary files a/audio_files/ec4f620b4d3140f2b3e6b89203aaf7c4.wav and /dev/null differ
diff --git a/audio_files/ec86f264657c4130b89aaa4f5629e7b9.mp3 b/audio_files/ec86f264657c4130b89aaa4f5629e7b9.mp3
deleted file mode 100644
index dd9c361..0000000
Binary files a/audio_files/ec86f264657c4130b89aaa4f5629e7b9.mp3 and /dev/null differ
diff --git a/audio_files/ec86f264657c4130b89aaa4f5629e7b9.wav b/audio_files/ec86f264657c4130b89aaa4f5629e7b9.wav
deleted file mode 100644
index b766047..0000000
Binary files a/audio_files/ec86f264657c4130b89aaa4f5629e7b9.wav and /dev/null differ
diff --git a/audio_files/ed0ce9b036bc4f04bb4a587e1cbb0537.mp3 b/audio_files/ed0ce9b036bc4f04bb4a587e1cbb0537.mp3
deleted file mode 100644
index be1cc26..0000000
Binary files a/audio_files/ed0ce9b036bc4f04bb4a587e1cbb0537.mp3 and /dev/null differ
diff --git a/audio_files/ed3f70f5932749128f9ca6352254b17d.mp3 b/audio_files/ed3f70f5932749128f9ca6352254b17d.mp3
deleted file mode 100644
index 302475c..0000000
Binary files a/audio_files/ed3f70f5932749128f9ca6352254b17d.mp3 and /dev/null differ
diff --git a/audio_files/ed3f70f5932749128f9ca6352254b17d.wav b/audio_files/ed3f70f5932749128f9ca6352254b17d.wav
deleted file mode 100644
index 4518a2f..0000000
Binary files a/audio_files/ed3f70f5932749128f9ca6352254b17d.wav and /dev/null differ
diff --git a/audio_files/ed732cdfebce4333b61e2a34c228ba40.mp3 b/audio_files/ed732cdfebce4333b61e2a34c228ba40.mp3
deleted file mode 100644
index 48e891c..0000000
Binary files a/audio_files/ed732cdfebce4333b61e2a34c228ba40.mp3 and /dev/null differ
diff --git a/audio_files/ed732cdfebce4333b61e2a34c228ba40.wav b/audio_files/ed732cdfebce4333b61e2a34c228ba40.wav
deleted file mode 100644
index e178c8a..0000000
Binary files a/audio_files/ed732cdfebce4333b61e2a34c228ba40.wav and /dev/null differ
diff --git a/audio_files/ee9d7383e1964df693e7437a434c8f5d.mp3 b/audio_files/ee9d7383e1964df693e7437a434c8f5d.mp3
deleted file mode 100644
index 66aa71b..0000000
Binary files a/audio_files/ee9d7383e1964df693e7437a434c8f5d.mp3 and /dev/null differ
diff --git a/audio_files/ef217901fd504389bb111513582790b6.mp3 b/audio_files/ef217901fd504389bb111513582790b6.mp3
deleted file mode 100644
index 513f0a6..0000000
Binary files a/audio_files/ef217901fd504389bb111513582790b6.mp3 and /dev/null differ
diff --git a/audio_files/f06820f222184d9cba76f6247c7216e4.mp3 b/audio_files/f06820f222184d9cba76f6247c7216e4.mp3
deleted file mode 100644
index 3bb5847..0000000
Binary files a/audio_files/f06820f222184d9cba76f6247c7216e4.mp3 and /dev/null differ
diff --git a/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.mp3 b/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.mp3
deleted file mode 100644
index b7c33d7..0000000
Binary files a/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.mp3 and /dev/null differ
diff --git a/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.wav b/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.wav
deleted file mode 100644
index 4173aa2..0000000
Binary files a/audio_files/f06dc1ed4c1b4abe8dc4ae0fa4908391.wav and /dev/null differ
diff --git a/audio_files/f0be9e608a5f409e951db0c2672b9544.mp3 b/audio_files/f0be9e608a5f409e951db0c2672b9544.mp3
deleted file mode 100644
index a8ba7cb..0000000
Binary files a/audio_files/f0be9e608a5f409e951db0c2672b9544.mp3 and /dev/null differ
diff --git a/audio_files/f0be9e608a5f409e951db0c2672b9544.wav b/audio_files/f0be9e608a5f409e951db0c2672b9544.wav
deleted file mode 100644
index 0fcd88a..0000000
Binary files a/audio_files/f0be9e608a5f409e951db0c2672b9544.wav and /dev/null differ
diff --git a/audio_files/f1995be87a834cb3a915143b086042b9.mp3 b/audio_files/f1995be87a834cb3a915143b086042b9.mp3
deleted file mode 100644
index c915424..0000000
Binary files a/audio_files/f1995be87a834cb3a915143b086042b9.mp3 and /dev/null differ
diff --git a/audio_files/f1995be87a834cb3a915143b086042b9.wav b/audio_files/f1995be87a834cb3a915143b086042b9.wav
deleted file mode 100644
index 1d3766c..0000000
Binary files a/audio_files/f1995be87a834cb3a915143b086042b9.wav and /dev/null differ
diff --git a/audio_files/f24901ebfe9e4a4a8dee9daf30f5ccfe.mp3 b/audio_files/f24901ebfe9e4a4a8dee9daf30f5ccfe.mp3
deleted file mode 100644
index b66ffb9..0000000
Binary files a/audio_files/f24901ebfe9e4a4a8dee9daf30f5ccfe.mp3 and /dev/null differ
diff --git a/audio_files/f359abbd29d74a4286f708ca17dc9500.mp3 b/audio_files/f359abbd29d74a4286f708ca17dc9500.mp3
deleted file mode 100644
index b2d04d6..0000000
Binary files a/audio_files/f359abbd29d74a4286f708ca17dc9500.mp3 and /dev/null differ
diff --git a/audio_files/f359abbd29d74a4286f708ca17dc9500.wav b/audio_files/f359abbd29d74a4286f708ca17dc9500.wav
deleted file mode 100644
index 47bc789..0000000
Binary files a/audio_files/f359abbd29d74a4286f708ca17dc9500.wav and /dev/null differ
diff --git a/audio_files/f3d759516bd14bb6abad7f468947c8be.mp3 b/audio_files/f3d759516bd14bb6abad7f468947c8be.mp3
deleted file mode 100644
index 635fba0..0000000
Binary files a/audio_files/f3d759516bd14bb6abad7f468947c8be.mp3 and /dev/null differ
diff --git a/audio_files/f3d759516bd14bb6abad7f468947c8be.wav b/audio_files/f3d759516bd14bb6abad7f468947c8be.wav
deleted file mode 100644
index 2921808..0000000
Binary files a/audio_files/f3d759516bd14bb6abad7f468947c8be.wav and /dev/null differ
diff --git a/audio_files/f6839ad808db4951a72c06fd3f3ec278.mp3 b/audio_files/f6839ad808db4951a72c06fd3f3ec278.mp3
deleted file mode 100644
index 44a2508..0000000
Binary files a/audio_files/f6839ad808db4951a72c06fd3f3ec278.mp3 and /dev/null differ
diff --git a/audio_files/f70845ea69f1432681f824524ea13a50.mp3 b/audio_files/f70845ea69f1432681f824524ea13a50.mp3
deleted file mode 100644
index 1368f3e..0000000
Binary files a/audio_files/f70845ea69f1432681f824524ea13a50.mp3 and /dev/null differ
diff --git a/audio_files/f70845ea69f1432681f824524ea13a50.wav b/audio_files/f70845ea69f1432681f824524ea13a50.wav
deleted file mode 100644
index a015bb5..0000000
Binary files a/audio_files/f70845ea69f1432681f824524ea13a50.wav and /dev/null differ
diff --git a/audio_files/f70ecf22239544efabe70d10a69e25c5.mp3 b/audio_files/f70ecf22239544efabe70d10a69e25c5.mp3
deleted file mode 100644
index c63da74..0000000
Binary files a/audio_files/f70ecf22239544efabe70d10a69e25c5.mp3 and /dev/null differ
diff --git a/audio_files/f70ecf22239544efabe70d10a69e25c5.wav b/audio_files/f70ecf22239544efabe70d10a69e25c5.wav
deleted file mode 100644
index 49edbea..0000000
Binary files a/audio_files/f70ecf22239544efabe70d10a69e25c5.wav and /dev/null differ
diff --git a/audio_files/f7114c8b0aea42648a379ded6b570e79.mp3 b/audio_files/f7114c8b0aea42648a379ded6b570e79.mp3
deleted file mode 100644
index 10d12af..0000000
Binary files a/audio_files/f7114c8b0aea42648a379ded6b570e79.mp3 and /dev/null differ
diff --git a/audio_files/f7114c8b0aea42648a379ded6b570e79.wav b/audio_files/f7114c8b0aea42648a379ded6b570e79.wav
deleted file mode 100644
index 0c861e6..0000000
Binary files a/audio_files/f7114c8b0aea42648a379ded6b570e79.wav and /dev/null differ
diff --git a/audio_files/f78f1551b6f5431292566e7a696653e5.mp3 b/audio_files/f78f1551b6f5431292566e7a696653e5.mp3
deleted file mode 100644
index bf9dce9..0000000
Binary files a/audio_files/f78f1551b6f5431292566e7a696653e5.mp3 and /dev/null differ
diff --git a/audio_files/f78f1551b6f5431292566e7a696653e5.wav b/audio_files/f78f1551b6f5431292566e7a696653e5.wav
deleted file mode 100644
index b44ad95..0000000
Binary files a/audio_files/f78f1551b6f5431292566e7a696653e5.wav and /dev/null differ
diff --git a/audio_files/f790e93f7ff442339a3e1ab58831af3f.mp3 b/audio_files/f790e93f7ff442339a3e1ab58831af3f.mp3
deleted file mode 100644
index 0d8f994..0000000
Binary files a/audio_files/f790e93f7ff442339a3e1ab58831af3f.mp3 and /dev/null differ
diff --git a/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.mp3 b/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.mp3
deleted file mode 100644
index 3f0c9fa..0000000
Binary files a/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.mp3 and /dev/null differ
diff --git a/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.wav b/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.wav
deleted file mode 100644
index a839a33..0000000
Binary files a/audio_files/f7fcef3a1a2040168ce3a2cf06361f2c.wav and /dev/null differ
diff --git a/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.mp3 b/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.mp3
deleted file mode 100644
index a500e13..0000000
Binary files a/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.mp3 and /dev/null differ
diff --git a/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.wav b/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.wav
deleted file mode 100644
index d9556bc..0000000
Binary files a/audio_files/f8b35cd714a34be6bba6c9c41e10a7b9.wav and /dev/null differ
diff --git a/audio_files/f913d7f262d6481bad2f3c03322a38cb.mp3 b/audio_files/f913d7f262d6481bad2f3c03322a38cb.mp3
deleted file mode 100644
index f347860..0000000
Binary files a/audio_files/f913d7f262d6481bad2f3c03322a38cb.mp3 and /dev/null differ
diff --git a/audio_files/f935181ed33042a5bab877e1194e892b.mp3 b/audio_files/f935181ed33042a5bab877e1194e892b.mp3
deleted file mode 100644
index b08fe69..0000000
Binary files a/audio_files/f935181ed33042a5bab877e1194e892b.mp3 and /dev/null differ
diff --git a/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.mp3 b/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.mp3
deleted file mode 100644
index c2bb259..0000000
Binary files a/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.mp3 and /dev/null differ
diff --git a/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.wav b/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.wav
deleted file mode 100644
index e5c48ab..0000000
Binary files a/audio_files/f9f860f77f1841a8b117cb42b7f62f3a.wav and /dev/null differ
diff --git a/audio_files/fa1536ef858e49c68804f2d30af72a82.mp3 b/audio_files/fa1536ef858e49c68804f2d30af72a82.mp3
deleted file mode 100644
index 9ee80f7..0000000
Binary files a/audio_files/fa1536ef858e49c68804f2d30af72a82.mp3 and /dev/null differ
diff --git a/audio_files/fa1536ef858e49c68804f2d30af72a82.wav b/audio_files/fa1536ef858e49c68804f2d30af72a82.wav
deleted file mode 100644
index 4f03005..0000000
Binary files a/audio_files/fa1536ef858e49c68804f2d30af72a82.wav and /dev/null differ
diff --git a/audio_files/fb1e753b7b084885924d02637b21963d.mp3 b/audio_files/fb1e753b7b084885924d02637b21963d.mp3
deleted file mode 100644
index dd2b1c7..0000000
Binary files a/audio_files/fb1e753b7b084885924d02637b21963d.mp3 and /dev/null differ
diff --git a/audio_files/fb1e753b7b084885924d02637b21963d.wav b/audio_files/fb1e753b7b084885924d02637b21963d.wav
deleted file mode 100644
index d8042f1..0000000
Binary files a/audio_files/fb1e753b7b084885924d02637b21963d.wav and /dev/null differ
diff --git a/audio_files/fb76af1a458c4c0e989100d0c89e3d70.mp3 b/audio_files/fb76af1a458c4c0e989100d0c89e3d70.mp3
deleted file mode 100644
index d856ff7..0000000
Binary files a/audio_files/fb76af1a458c4c0e989100d0c89e3d70.mp3 and /dev/null differ
diff --git a/audio_files/fb76af1a458c4c0e989100d0c89e3d70.wav b/audio_files/fb76af1a458c4c0e989100d0c89e3d70.wav
deleted file mode 100644
index 6e345c5..0000000
Binary files a/audio_files/fb76af1a458c4c0e989100d0c89e3d70.wav and /dev/null differ
diff --git a/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.mp3 b/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.mp3
deleted file mode 100644
index 97c77e7..0000000
Binary files a/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.mp3 and /dev/null differ
diff --git a/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.wav b/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.wav
deleted file mode 100644
index 8737975..0000000
Binary files a/audio_files/fc4f83c1918d4f41b630dc50eee54bb3.wav and /dev/null differ
diff --git a/audio_files/fd95db4f73df47caa5752843fe0a4028.mp3 b/audio_files/fd95db4f73df47caa5752843fe0a4028.mp3
deleted file mode 100644
index 2624d8d..0000000
Binary files a/audio_files/fd95db4f73df47caa5752843fe0a4028.mp3 and /dev/null differ
diff --git a/audio_files/fd95db4f73df47caa5752843fe0a4028.wav b/audio_files/fd95db4f73df47caa5752843fe0a4028.wav
deleted file mode 100644
index ca8653b..0000000
Binary files a/audio_files/fd95db4f73df47caa5752843fe0a4028.wav and /dev/null differ
diff --git a/audio_files/fe449977e71c4fb7a6e189fb2fa4c234.mp3 b/audio_files/fe449977e71c4fb7a6e189fb2fa4c234.mp3
deleted file mode 100644
index 5b1d859..0000000
Binary files a/audio_files/fe449977e71c4fb7a6e189fb2fa4c234.mp3 and /dev/null differ
diff --git a/audio_files/ff33b9d014f742689668bd11fe86949e.mp3 b/audio_files/ff33b9d014f742689668bd11fe86949e.mp3
deleted file mode 100644
index 0ae3492..0000000
Binary files a/audio_files/ff33b9d014f742689668bd11fe86949e.mp3 and /dev/null differ
diff --git a/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.mp3 b/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.mp3
deleted file mode 100644
index 994a891..0000000
Binary files a/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.mp3 and /dev/null differ
diff --git a/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.wav b/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.wav
deleted file mode 100644
index d119fba..0000000
Binary files a/audio_files/ffa29d84b9674ae2a43fe5d4035a5893.wav and /dev/null differ
diff --git a/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.mp3 b/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.mp3
deleted file mode 100644
index bed99b1..0000000
Binary files a/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.mp3 and /dev/null differ
diff --git a/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.wav b/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.wav
deleted file mode 100644
index 1291404..0000000
Binary files a/audio_files/ffc3755f5cf142c88d3f1109c0e738e6.wav and /dev/null differ
diff --git a/audio_files/fffea8e4f09a483ab67c752eafb864de.mp3 b/audio_files/fffea8e4f09a483ab67c752eafb864de.mp3
deleted file mode 100644
index 1836583..0000000
Binary files a/audio_files/fffea8e4f09a483ab67c752eafb864de.mp3 and /dev/null differ
diff --git a/audio_files/fffea8e4f09a483ab67c752eafb864de.wav b/audio_files/fffea8e4f09a483ab67c752eafb864de.wav
deleted file mode 100644
index cd22085..0000000
Binary files a/audio_files/fffea8e4f09a483ab67c752eafb864de.wav and /dev/null differ
diff --git a/audio_files/wavs/0781473154c44bf88c5130eb2a07e6d2.wav b/audio_files/wavs/0781473154c44bf88c5130eb2a07e6d2.wav
deleted file mode 100644
index f3e6435..0000000
Binary files a/audio_files/wavs/0781473154c44bf88c5130eb2a07e6d2.wav and /dev/null differ
diff --git a/audio_files/wavs/10947514975b46a4b1ca26faf5307e84.wav b/audio_files/wavs/10947514975b46a4b1ca26faf5307e84.wav
deleted file mode 100644
index d6e2eeb..0000000
Binary files a/audio_files/wavs/10947514975b46a4b1ca26faf5307e84.wav and /dev/null differ
diff --git a/audio_files/wavs/273ce82361d7486ca1529e68b22ee26e.wav b/audio_files/wavs/273ce82361d7486ca1529e68b22ee26e.wav
deleted file mode 100644
index 68fd789..0000000
Binary files a/audio_files/wavs/273ce82361d7486ca1529e68b22ee26e.wav and /dev/null differ
diff --git a/audio_files/wavs/2adcfae94dc948a89af96168924862e2.wav b/audio_files/wavs/2adcfae94dc948a89af96168924862e2.wav
deleted file mode 100644
index 57134bd..0000000
Binary files a/audio_files/wavs/2adcfae94dc948a89af96168924862e2.wav and /dev/null differ
diff --git a/audio_files/wavs/2bda2477c2d74866b96e70e9a9198779.wav b/audio_files/wavs/2bda2477c2d74866b96e70e9a9198779.wav
deleted file mode 100644
index 9209a59..0000000
Binary files a/audio_files/wavs/2bda2477c2d74866b96e70e9a9198779.wav and /dev/null differ
diff --git a/audio_files/wavs/2e4a0afd82d947c1a7d46aa71f8f24c3.wav b/audio_files/wavs/2e4a0afd82d947c1a7d46aa71f8f24c3.wav
deleted file mode 100644
index 70cc21d..0000000
Binary files a/audio_files/wavs/2e4a0afd82d947c1a7d46aa71f8f24c3.wav and /dev/null differ
diff --git a/audio_files/wavs/32b832e9843f402ea23c3d2e37920cf7.wav b/audio_files/wavs/32b832e9843f402ea23c3d2e37920cf7.wav
deleted file mode 100644
index 71391c9..0000000
Binary files a/audio_files/wavs/32b832e9843f402ea23c3d2e37920cf7.wav and /dev/null differ
diff --git a/audio_files/wavs/3d133756ce2347238fba0cc658634e03.wav b/audio_files/wavs/3d133756ce2347238fba0cc658634e03.wav
deleted file mode 100644
index 9b76d0d..0000000
Binary files a/audio_files/wavs/3d133756ce2347238fba0cc658634e03.wav and /dev/null differ
diff --git a/audio_files/wavs/42a563032d9b4c08839684aa6d1d5488.wav b/audio_files/wavs/42a563032d9b4c08839684aa6d1d5488.wav
deleted file mode 100644
index 0dc19fd..0000000
Binary files a/audio_files/wavs/42a563032d9b4c08839684aa6d1d5488.wav and /dev/null differ
diff --git a/audio_files/wavs/4afab8f2e8214727adf73ee00627b4c0.wav b/audio_files/wavs/4afab8f2e8214727adf73ee00627b4c0.wav
deleted file mode 100644
index 3180f65..0000000
Binary files a/audio_files/wavs/4afab8f2e8214727adf73ee00627b4c0.wav and /dev/null differ
diff --git a/audio_files/wavs/4b9fc2984e314cc98c04cc653dfeeb52.wav b/audio_files/wavs/4b9fc2984e314cc98c04cc653dfeeb52.wav
deleted file mode 100644
index 86db62e..0000000
Binary files a/audio_files/wavs/4b9fc2984e314cc98c04cc653dfeeb52.wav and /dev/null differ
diff --git a/audio_files/wavs/4d55746d01e1499aa603267a4920caa8.wav b/audio_files/wavs/4d55746d01e1499aa603267a4920caa8.wav
deleted file mode 100644
index af15d0d..0000000
Binary files a/audio_files/wavs/4d55746d01e1499aa603267a4920caa8.wav and /dev/null differ
diff --git a/audio_files/wavs/578b7e3b3d974c5cb1ef8a16c565c046.wav b/audio_files/wavs/578b7e3b3d974c5cb1ef8a16c565c046.wav
deleted file mode 100644
index 96d0795..0000000
Binary files a/audio_files/wavs/578b7e3b3d974c5cb1ef8a16c565c046.wav and /dev/null differ
diff --git a/audio_files/wavs/605fb7249cd64e3c879ce5097b4d477e.wav b/audio_files/wavs/605fb7249cd64e3c879ce5097b4d477e.wav
deleted file mode 100644
index 14165ea..0000000
Binary files a/audio_files/wavs/605fb7249cd64e3c879ce5097b4d477e.wav and /dev/null differ
diff --git a/audio_files/wavs/71ac7e75c2534b93ad50f5dbed7472b5.wav b/audio_files/wavs/71ac7e75c2534b93ad50f5dbed7472b5.wav
deleted file mode 100644
index d4e0b81..0000000
Binary files a/audio_files/wavs/71ac7e75c2534b93ad50f5dbed7472b5.wav and /dev/null differ
diff --git a/audio_files/wavs/71e079791c1944e69224b4a2fd52054a.wav b/audio_files/wavs/71e079791c1944e69224b4a2fd52054a.wav
deleted file mode 100644
index bca8be7..0000000
Binary files a/audio_files/wavs/71e079791c1944e69224b4a2fd52054a.wav and /dev/null differ
diff --git a/audio_files/wavs/73f2dbd3e7664234ab28867078bcaeb7.wav b/audio_files/wavs/73f2dbd3e7664234ab28867078bcaeb7.wav
deleted file mode 100644
index b1c9909..0000000
Binary files a/audio_files/wavs/73f2dbd3e7664234ab28867078bcaeb7.wav and /dev/null differ
diff --git a/audio_files/wavs/7aec026a856d477e8fe8b97e9fe6f008.wav b/audio_files/wavs/7aec026a856d477e8fe8b97e9fe6f008.wav
deleted file mode 100644
index 04837ce..0000000
Binary files a/audio_files/wavs/7aec026a856d477e8fe8b97e9fe6f008.wav and /dev/null differ
diff --git a/audio_files/wavs/84c2582b4099482d894f0f603a668b3c.wav b/audio_files/wavs/84c2582b4099482d894f0f603a668b3c.wav
deleted file mode 100644
index 93aaedb..0000000
Binary files a/audio_files/wavs/84c2582b4099482d894f0f603a668b3c.wav and /dev/null differ
diff --git a/audio_files/wavs/85c6cefa1f9646da8e6920960e6df91b.wav b/audio_files/wavs/85c6cefa1f9646da8e6920960e6df91b.wav
deleted file mode 100644
index b727d33..0000000
Binary files a/audio_files/wavs/85c6cefa1f9646da8e6920960e6df91b.wav and /dev/null differ
diff --git a/audio_files/wavs/944127b3115e4866b2523301ae5f2c18.wav b/audio_files/wavs/944127b3115e4866b2523301ae5f2c18.wav
deleted file mode 100644
index d951f8f..0000000
Binary files a/audio_files/wavs/944127b3115e4866b2523301ae5f2c18.wav and /dev/null differ
diff --git a/audio_files/wavs/a57f05352b194f0c9354d730ad88fc60.wav b/audio_files/wavs/a57f05352b194f0c9354d730ad88fc60.wav
deleted file mode 100644
index 882ac24..0000000
Binary files a/audio_files/wavs/a57f05352b194f0c9354d730ad88fc60.wav and /dev/null differ
diff --git a/audio_files/wavs/ae4db64436f44eaf8db4b740d77fd7b1.wav b/audio_files/wavs/ae4db64436f44eaf8db4b740d77fd7b1.wav
deleted file mode 100644
index 1bb0f5f..0000000
Binary files a/audio_files/wavs/ae4db64436f44eaf8db4b740d77fd7b1.wav and /dev/null differ
diff --git a/audio_files/wavs/audio.wav b/audio_files/wavs/audio.wav
deleted file mode 100644
index 7267a8f..0000000
Binary files a/audio_files/wavs/audio.wav and /dev/null differ
diff --git a/audio_files/wavs/b02cb2044d3e41a683342f860fc9c681.wav b/audio_files/wavs/b02cb2044d3e41a683342f860fc9c681.wav
deleted file mode 100644
index 6305877..0000000
Binary files a/audio_files/wavs/b02cb2044d3e41a683342f860fc9c681.wav and /dev/null differ
diff --git a/audio_files/wavs/b27b299bd06a4249867c4681a9b51fc8.wav b/audio_files/wavs/b27b299bd06a4249867c4681a9b51fc8.wav
deleted file mode 100644
index 1743267..0000000
Binary files a/audio_files/wavs/b27b299bd06a4249867c4681a9b51fc8.wav and /dev/null differ
diff --git a/audio_files/wavs/b9066c9b9e9f4b18bf807da6868bea2e.wav b/audio_files/wavs/b9066c9b9e9f4b18bf807da6868bea2e.wav
deleted file mode 100644
index f1112b9..0000000
Binary files a/audio_files/wavs/b9066c9b9e9f4b18bf807da6868bea2e.wav and /dev/null differ
diff --git a/audio_files/wavs/baab925180d04f8b8b35edfc3559112d.wav b/audio_files/wavs/baab925180d04f8b8b35edfc3559112d.wav
deleted file mode 100644
index f4df521..0000000
Binary files a/audio_files/wavs/baab925180d04f8b8b35edfc3559112d.wav and /dev/null differ
diff --git a/audio_files/wavs/bd9e90cf01cd418d8ecbe9338cb99799.wav b/audio_files/wavs/bd9e90cf01cd418d8ecbe9338cb99799.wav
deleted file mode 100644
index bde9204..0000000
Binary files a/audio_files/wavs/bd9e90cf01cd418d8ecbe9338cb99799.wav and /dev/null differ
diff --git a/audio_files/wavs/bdb6c9eecca145028413593154ce371d.wav b/audio_files/wavs/bdb6c9eecca145028413593154ce371d.wav
deleted file mode 100644
index 95766c0..0000000
Binary files a/audio_files/wavs/bdb6c9eecca145028413593154ce371d.wav and /dev/null differ
diff --git a/audio_files/wavs/ca119d7e63894e909eec989e7b4b73d9.wav b/audio_files/wavs/ca119d7e63894e909eec989e7b4b73d9.wav
deleted file mode 100644
index 570f982..0000000
Binary files a/audio_files/wavs/ca119d7e63894e909eec989e7b4b73d9.wav and /dev/null differ
diff --git a/audio_files/wavs/d6959795f4974d1f858b45defb796b3d.wav b/audio_files/wavs/d6959795f4974d1f858b45defb796b3d.wav
deleted file mode 100644
index dd83e52..0000000
Binary files a/audio_files/wavs/d6959795f4974d1f858b45defb796b3d.wav and /dev/null differ
diff --git a/audio_files/wavs/de0a269fd7334484b707486e5710a0b8.wav b/audio_files/wavs/de0a269fd7334484b707486e5710a0b8.wav
deleted file mode 100644
index 840f74d..0000000
Binary files a/audio_files/wavs/de0a269fd7334484b707486e5710a0b8.wav and /dev/null differ
diff --git a/audio_files/wavs/fc4f83c1918d4f41b630dc50eee54bb3.wav b/audio_files/wavs/fc4f83c1918d4f41b630dc50eee54bb3.wav
deleted file mode 100644
index 6b9b089..0000000
Binary files a/audio_files/wavs/fc4f83c1918d4f41b630dc50eee54bb3.wav and /dev/null differ
diff --git a/examples/app.py b/examples/app.py
index 60305e5..81a6602 100644
--- a/examples/app.py
+++ b/examples/app.py
@@ -11,21 +11,21 @@
import asyncio
import shutil
import sys
-
-from aiohttp import web
-from async_timeout import timeout
from concurrent.futures import ThreadPoolExecutor
from functools import partial
from pathlib import Path
from threading import RLock
-from nonocaptcha import util
-from nonocaptcha.proxy import ProxyDB
-from nonocaptcha.solver import Solver
+from aiohttp import web
+from async_timeout import timeout
+
+from goodbyecaptcha import util
+from goodbyecaptcha.proxy import ProxyDB
+from goodbyecaptcha.solver import Solver
SECRET_KEY = "CHANGEME"
-BANNED_TIMEOUT = 45*60 # 45 minutes
-SOLVE_DURATION = 3*60 # 3 minutes
+BANNED_TIMEOUT = 45 * 60 # 45 minutes
+SOLVE_DURATION = 3 * 60 # 3 minutes
proxies = ProxyDB(last_banned_timeout=BANNED_TIMEOUT)
proxy_source = None # Can be URL or file location
@@ -81,8 +81,8 @@ async def start(self):
with self._lock:
# Blocking occurs unless wrapped in an asyncio.Future object
task = asyncio.wrap_future(
- asyncio.run_coroutine_threadsafe(
- self.seek(), self._loop))
+ asyncio.run_coroutine_threadsafe(
+ self.seek(), self._loop))
try:
# Wait for the Task to complete or Timeout
async with timeout(self.duration):
@@ -100,6 +100,7 @@ def callback(task):
task.result()
except Exception:
pass
+
while True:
try:
# Deadlock occurs unless wrapped in an asyncio.Future object.
@@ -129,10 +130,10 @@ async def cleanup(self):
gathered.cancel()
await gathered
self._loop.call_soon_threadsafe(self._loop.stop)
- self.executor.shutdown()
+ self._executor.shutdown()
-async def work(pageurl, sitekey, loop):
+async def work(pageurl, loop):
proxy = proxies.get()
proxy_auth = None
if proxy_username and proxy_password:
@@ -141,7 +142,6 @@ async def work(pageurl, sitekey, loop):
options = {"ignoreHTTPSErrors": True, "args": ["--timeout 5"]}
client = Solver(
pageurl,
- sitekey,
loop=loop,
options=options,
proxy=proxy,
@@ -159,22 +159,21 @@ async def work(pageurl, sitekey, loop):
async def get_solution(request):
params = request.rel_url.query
pageurl = params.get("pageurl")
- sitekey = params.get("sitekey")
secret_key = params.get("secret_key")
- if not pageurl or not sitekey or not secret_key:
+ response = {"error": "error"}
+ if not pageurl or not secret_key:
response = {"error": "invalid request"}
else:
if secret_key != SECRET_KEY:
response = {"error": "unauthorized attempt logged"}
else:
- if pageurl and sitekey:
- coro = partial(work, pageurl, sitekey)
- async with TaskRerun(coro, duration=SOLVE_DURATION) as t:
- result = await t.start()
- if result:
- response = {"solution": result}
- else:
- response = {"error": "worker timed-out"}
+ coro = partial(work, pageurl)
+ async with TaskRerun(coro, duration=SOLVE_DURATION) as t:
+ result = await t.start()
+ if result:
+ response = {"solution": result}
+ else:
+ response = {"error": "worker timed-out"}
return web.json_response(response)
diff --git a/examples/basic.py b/examples/basic.py
index 1d4609a..d81a1a1 100644
--- a/examples/basic.py
+++ b/examples/basic.py
@@ -1,25 +1,20 @@
import asyncio
import sys
-from nonocaptcha.solver import Solver
+from goodbyecaptcha.solver import Solver
-if len(sys.argv) == 4:
- pageurl, sitekey, proxy = sys.argv[1:]
+if len(sys.argv) == 3:
+ pageurl, proxy = sys.argv[1:]
else:
- print('Invalid number of arguments (pageurl, sitekey, proxy)')
+ print('Invalid number of arguments (pageurl, proxy)')
sys.exit(0)
-
-loop = asyncio.get_event_loop()
-options = {
- "headless": False,
- "ignoreHTTPSErrors": True,
- "args": ["--timeout 5"]}
+options = {"ignoreHTTPSErrors": True, "args": ["--timeout 5"]}
if proxy.lower() == "none":
proxy = None
-client = Solver(pageurl, sitekey, options=options, proxy=proxy)
+client = Solver(pageurl, options=options, proxy=proxy)
try:
- result = loop.run_until_complete(client.start())
+ result = client.loop.run_until_complete(client.start())
except asyncio.CancelledError:
raise
else:
diff --git a/examples/console.py b/examples/console.py
index 40dc5b2..d01b322 100644
--- a/examples/console.py
+++ b/examples/console.py
@@ -8,16 +8,14 @@
import sys
from async_timeout import timeout
-
-from nonocaptcha import util
-from nonocaptcha.proxy import ProxyDB
-from nonocaptcha.solver import Solver
+from goodbyecaptcha import util
+from goodbyecaptcha.proxy import ProxyDB
+from goodbyecaptcha.solver import Solver
threads = 1 # Max browsers to open
sort_position = False
pageurl = "https://www.google.com/recaptcha/api2/demo"
-sitekey = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
proxy_source = None # Can be URL or file location
proxy_username, proxy_password = (None, None)
@@ -53,7 +51,8 @@ class Run(object):
proxies_loading = True
def __init__(self, loop):
- self.proxies = ProxyDB(last_banned_timeout=45*60)
+ self.proxies = ProxyDB(last_banned_timeout=45 * 60)
+ self.loop = loop
if proxy_source:
asyncio.ensure_future(self.get_proxies(), loop=loop)
@@ -86,10 +85,7 @@ async def work(self):
"--window-size=400,400",
]
)
- options = {
- "ignoreHTTPSErrors": True,
- "args": args
- }
+ options = {"ignoreHTTPSErrors": True, "args": args}
proxy = self.proxies.get() if proxy_source else None
proxy_auth = None
if proxy_username and proxy_password:
@@ -97,8 +93,8 @@ async def work(self):
"password": proxy_password}
client = Solver(
pageurl,
- sitekey,
options=options,
+ loop=self.loop,
proxy=proxy,
proxy_auth=proxy_auth
)
diff --git a/examples/demo.py b/examples/demo.py
index cb45c54..7e04500 100644
--- a/examples/demo.py
+++ b/examples/demo.py
@@ -1,17 +1,18 @@
-import asyncio
-from nonocaptcha.solver import Solver
+from goodbyecaptcha.solver import Solver
pageurl = "https://www.google.com/recaptcha/api2/demo"
-sitekey = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
proxy = "127.0.0.1:1000"
auth_details = {"username": "user", "password": "pass"}
args = ["--timeout 5"]
-options = {"ignoreHTTPSErrors": True, "args": args}
+options = {"ignoreHTTPSErrors": True, "args": args} # References: https://miyakogi.github.io/pyppeteer/reference.html
client = Solver(
- pageurl, sitekey, options=options, proxy=proxy, proxy_auth=auth_details
+ # With Proxy
+ # pageurl, lang='en-US', options=options, proxy=proxy, proxy_auth=auth_details
+ # Without Proxy
+ pageurl, lang='en-US', options=options
)
-solution = asyncio.get_event_loop().run_until_complete(client.start())
+solution = client.loop.run_until_complete(client.start())
if solution:
print(solution)
diff --git a/examples/events.py b/examples/events.py
new file mode 100644
index 0000000..660d8ea
--- /dev/null
+++ b/examples/events.py
@@ -0,0 +1,41 @@
+from goodbyecaptcha.solver import Solver
+
+pageurl = "https://www.google.com/recaptcha/api2/demo"
+
+proxy = "127.0.0.1:1000"
+auth_details = {"username": "user", "password": "pass"}
+args = ["--timeout 5"]
+options = {"ignoreHTTPSErrors": True, "args": args} # References: https://miyakogi.github.io/pyppeteer/reference.html
+
+
+class MySolver(Solver):
+ async def on_goto(self):
+ # Set Cookies and other stuff
+ await self.page.setCookie({
+ 'name': 'cookie1',
+ 'value': 'value1',
+ 'domain': '.google.com'
+ })
+ self.log('Cookies ready!')
+
+ async def on_start(self):
+ # Set or Change data
+ self.log('Set data in form ...')
+ await self.page.type('input[name="input1"]', 'value')
+
+ async def on_finish(self):
+ # Click button Send
+ self.log('Clicking send button ...')
+ await self.page.click('input[id="recaptcha-demo-submit"]')
+ await self.page.waitForNavigation()
+ await self.page.screenshot({'path': 'image.png'})
+
+
+client = MySolver(
+ # With Proxy
+ # pageurl, lang='en-US', options=options, proxy=proxy, proxy_auth=auth_details
+ # Without Proxy
+ pageurl, lang='en-US', options=options
+)
+
+client.loop.run_until_complete(client.start())
diff --git a/examples/nonocaptcha.example.yaml b/examples/nonocaptcha.example.yaml
deleted file mode 100644
index f6e69a0..0000000
--- a/examples/nonocaptcha.example.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-debug: true
-headless: false
-keyboard_traverse: false
-block_images: true
-timeout:
- page_load: 30
- iframe: 30
- animation: 5
-
-speech:
- service: pocketsphinx
- deepspeech:
- model_dir: deepspeech/models
- pocketsphinx:
- model_dir: pocketsphinx/model
- azure:
- api_subkey:
- azurespeech:
- region:
- subscription_key:
- language_type:
- amazon:
- secret_key_id:
- secret_access_key:
- region:
- s3_bucket:
-
-data:
- deface_html: data/deface.html
- jquery_js: data/jquery.js
- override_js: data/override.js
- pictures: data/pictures
diff --git a/nonocaptcha/__init__.py b/goodbyecaptcha/__init__.py
similarity index 82%
rename from nonocaptcha/__init__.py
rename to goodbyecaptcha/__init__.py
index c3b9eec..715b8b9 100644
--- a/nonocaptcha/__init__.py
+++ b/goodbyecaptcha/__init__.py
@@ -4,11 +4,10 @@
import os.path
import sys
-version_info = (2, 0, 1)
+version_info = (2, 4, 2)
__version__ = "{}.{}.{}".format(*version_info)
-
-authors = (("Michael Mooney", "mikeyy@mikeyy.com"),)
+authors = (("MacKey-255", "mackeyfuturo@gmail.com"), ("Michael Mooney", "mikeyy@mikeyy.com"))
authors_email = ", ".join("{}".format(email) for _, email in authors)
@@ -18,7 +17,7 @@
)
package_info = (
- "An asynchronized Python library to automate solving ReCAPTCHA v2 by audio"
+ "An asynchronized Python library to automate solving ReCAPTCHA v2 by images/audio"
)
__maintainer__ = __author__
diff --git a/goodbyecaptcha/audio.py b/goodbyecaptcha/audio.py
new file mode 100644
index 0000000..3eb774f
--- /dev/null
+++ b/goodbyecaptcha/audio.py
@@ -0,0 +1,213 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+""" Audio solving module. """
+import asyncio
+import os
+import random
+import shutil
+import tempfile
+from asyncio import TimeoutError, CancelledError
+
+from aiohttp.client_exceptions import ClientError
+
+from goodbyecaptcha import util
+from goodbyecaptcha.base import Base
+from goodbyecaptcha.exceptions import DownloadError, ReloadError, TryAgain, ButtonError, SafePassage, ResolveMoreLater
+from goodbyecaptcha.speech import AzureSpeech, Amazon, Azure, DeepSpeech, Sphinx, Google, WitAI
+
+
+class SolveAudio(Base):
+ def __init__(self, page, image_frame, loop=None, proxy=None, proxy_auth=None, lang='en-US', options=None,
+ chromePath=None, **kwargs):
+ self.page = page
+ self.image_frame = image_frame
+ self.service = self.speech_service.lower()
+
+ super(SolveAudio, self).__init__(loop=loop, proxy=proxy, proxy_auth=proxy_auth, language=lang, options=options,
+ chromePath=chromePath, **kwargs)
+
+ async def solve_by_audio(self):
+ """Go through procedures to solve audio"""
+ self.log('Wait for Audio Buttom ...')
+ await self.loop.create_task(self.wait_for_audio_button())
+ self.log('Click random images ...')
+ for _ in range(int(random.uniform(2, 5))):
+ await asyncio.sleep(random.uniform(0.2, 0.5)) # Wait 2-5 ms
+ await self.click_tile() # Click random images
+ await asyncio.sleep(random.uniform(1.5, 3.5)) # Wait 1-3 seg
+ await self.click_verify() # Click Verify button
+ self.log('Clicking Audio Buttom ...')
+ await asyncio.sleep(random.uniform(1, 3)) # Wait 1-3 sec
+ result = await self.click_audio_button() # Click audio button
+ if isinstance(result, dict):
+ if result["status"] == "detected": # Verify if detected
+ return result
+ # Start process
+ await self.get_frames()
+ answer = None
+ # Start url for ...
+ start_url = self.page.url
+ for _ in range(8):
+ try:
+ answer = await self.loop.create_task(self.get_audio_response())
+ temp = self.service
+ self.service = self.speech_secondary_service.lower() # Secondary Recognition
+ self.speech_secondary_service = temp
+ except TryAgain:
+ self.log('Try again Error!')
+ except DownloadError:
+ self.log('Download Error!')
+ except ReloadError:
+ self.log('Reload Error!')
+ else:
+ if not answer:
+ continue
+ else:
+ if len(answer) < 4:
+ continue
+ await self.type_audio_response(answer)
+ await self.click_verify()
+ await asyncio.sleep(2.0) # Wait 2seg
+ if start_url != self.page.url:
+ return {'status': 'success'}
+ try:
+ result = await self.check_detection(self.animation_timeout)
+ except TryAgain:
+ continue
+ except SafePassage:
+ continue
+ except Exception:
+ raise ResolveMoreLater('You must solve more captchas.')
+ else:
+ return result
+ else:
+ return {"status": "retries_exceeded"}
+
+ async def wait_for_audio_button(self):
+ """Wait for audio button to appear."""
+ try:
+ await self.image_frame.waitForFunction(
+ "jQuery('#recaptcha-audio-button').length",
+ timeout=self.animation_timeout)
+ except ButtonError:
+ raise ButtonError("Audio button missing, aborting")
+ except Exception as ex:
+ self.log(ex)
+ raise Exception(ex)
+
+ async def click_tile(self):
+ """Click random title for bypass detection"""
+ self.log("Clicking random tile")
+ tiles = await self.image_frame.JJ(".rc-imageselect-tile")
+ await self.click_button(random.choice(tiles))
+
+ async def click_audio_button(self):
+ """Click audio button after it appears."""
+ audio_button = await self.image_frame.J("#recaptcha-audio-button")
+ await self.click_button(audio_button)
+ try:
+ result = await self.check_detection(self.animation_timeout)
+ except SafePassage:
+ pass
+ else:
+ return result
+
+ async def get_audio_response(self):
+ """Download audio data then send to speech-to-text API for answer"""
+ try:
+ audio_url = await self.image_frame.evaluate('jQuery("#audio-source").attr("src")')
+ if not isinstance(audio_url, str):
+ raise DownloadError(f"Audio url is not valid, expected `str` instead received {type(audio_url)}")
+ except CancelledError:
+ raise DownloadError("Audio url not found, aborting")
+
+ self.log("Downloading audio file ...")
+ try:
+ if self.debug:
+ self.log("audio file: {0}".format(str(audio_url)))
+ # Get the challenge audio to send to Google
+ audio_data = await self.loop.create_task(
+ util.get_page(audio_url, proxy=self.proxy, proxy_auth=self.proxy_auth, binary=True,
+ timeout=self.page_load_timeout))
+ self.log("Downloaded audio file!")
+ except ClientError as e:
+ self.log(f"Error `{e}` occured during audio download, retrying")
+ else:
+ answer = await self.get_answer(audio_data, self.service)
+ if answer is not None:
+ self.log(f'Received answer "{answer}"')
+ answer = await self.add_error_humans_to_text(answer)
+ self.log(f'Received human answer "{answer}"')
+ return answer
+ elif self.service is self.speech_service.lower():
+ return None # Secondary Recognition
+
+ self.log("No answer, reloading")
+ await self.click_reload_button()
+ func = (
+ f'"{audio_url}" !== '
+ f'jQuery(".rc-audiochallenge-tdownload-link").attr("href")')
+ try:
+ await self.image_frame.waitForFunction(
+ func, timeout=self.animation_timeout)
+ except TimeoutError:
+ raise ReloadError("Download link never updated")
+
+ async def type_audio_response(self, answer):
+ """Enter answer text on input"""
+ self.log("Waiting audio response")
+ response_input = None
+ for i in range(4):
+ response_input = await self.image_frame.J("#audio-response")
+ if response_input:
+ break
+ await asyncio.sleep(2.0) # Wait 2seg
+ self.log("Typing audio response")
+ length = random.uniform(70, 130)
+ try:
+ await self.loop.create_task(response_input.type(text=answer, delay=length))
+ except Exception:
+ raise TryAgain('Try again later')
+
+ async def get_answer(self, audio_data, service):
+ """Get answer text from API selected (Primary and Secondary)"""
+ if service in ["azure", "pocketsphinx", "deepspeech", "azurespeech", "google", "wit.ai"]:
+ self.log('Initialize a new recognizer')
+ if service == "azurespeech":
+ self.log('Using Azure Speech Recognition')
+ speech = AzureSpeech()
+ elif service == "azure":
+ self.log('Using Azure Recognition')
+ speech = Azure()
+ elif service == "pocketsphinx":
+ self.log('Using Sphinx Recognition')
+ speech = Sphinx()
+ elif service == "google":
+ self.log('Using Google Speech Recognition')
+ speech = Google()
+ elif service == "amazon":
+ self.log('Using Amazon Recognition')
+ speech = Amazon()
+ elif service == "wit.ai":
+ self.log('Using Wit.AI Recognition')
+ speech = WitAI()
+ else:
+ speech = DeepSpeech()
+ tmpd = tempfile.mkdtemp()
+ tmpf = os.path.join(tmpd, "audio.mp3")
+ await util.save_file(tmpf, data=audio_data, binary=True)
+ answer = await self.loop.create_task(speech.get_text(tmpf))
+ shutil.rmtree(tmpd)
+ else:
+ speech = Google() # Set default Speech (Google is Free)
+ answer = await self.loop.create_task(speech.get_text(audio_data))
+ return answer
+
+ async def add_error_humans_to_text(self, answer):
+ """Create Imperfections in text_output (The Humans is not perfect)"""
+ answer = answer[:-1] if 6 < len(answer) < 20 else answer
+ answer = answer.split(' ')[0] + ' ' + answer.split(' ')[1] \
+ if 30 > len(answer) > 20 and len(answer.split(' ')) > 2 else answer
+ answer = answer if answer[-1:] != ' ' else answer[:-1]
+ return answer
diff --git a/goodbyecaptcha/base.py b/goodbyecaptcha/base.py
new file mode 100644
index 0000000..2955a5a
--- /dev/null
+++ b/goodbyecaptcha/base.py
@@ -0,0 +1,343 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+""" Base module. """
+import asyncio
+import logging
+import os
+import random
+import sys
+import traceback
+from shutil import copyfile
+
+import fuckcaptcha
+from fake_useragent import UserAgent
+from pyppeteer.errors import TimeoutError, PageError, PyppeteerError, NetworkError
+from pyppeteer.launcher import Launcher
+from pyppeteer.util import merge_dict
+from pyppeteer_stealth import stealth
+
+from goodbyecaptcha import package_dir
+from goodbyecaptcha.exceptions import SafePassage, TryAgain
+from goodbyecaptcha.util import patch_pyppeteer, get_event_loop, load_file, get_random_proxy
+
+if len(logging.root.handlers) == 0:
+ logging.basicConfig(format="%(asctime)s %(message)s")
+
+try:
+ import yaml
+
+ yaml.warnings({'YAMLLoadWarning': False})
+
+ with open("goodbyecaptcha.yaml") as f:
+ settings = yaml.load(f)
+except FileNotFoundError:
+ logging.error(
+ "Solver can't run without a configuration file!\n"
+ "An example (goodbyecaptcha.example.yaml) has been copied to your folder."
+ )
+
+ copyfile(
+ f"{package_dir}/goodbyecaptcha.example.yaml", "goodbyecaptcha.example.yaml")
+ sys.exit(0)
+
+
+class Base:
+ """Base control Pyppeteer"""
+
+ browser = None
+ context = None
+ launcher = None
+ page = None
+ page_index = 0
+ loop = None
+
+ # Import configurations
+ logger = logging.getLogger(__name__)
+ debug = settings["debug"]
+ if debug:
+ logger.setLevel("DEBUG")
+ headless = settings["headless"]
+ method = settings["method"]
+ keyboard_traverse = settings["keyboard_traverse"]
+ page_load_timeout = settings["timeout"]["page_load"] * 1000
+ click_timeout = settings["timeout"]["click"] * 1000
+ animation_timeout = settings["timeout"]["animation"] * 1000
+ speech_service = settings["speech"]["service"]
+ speech_secondary_service = settings["speech"]["secondary_service"]
+ jquery_data = os.path.join(package_dir, settings["data"]["jquery_js"])
+ pictures = os.path.join(package_dir, settings['data']['pictures'])
+
+ def __init__(self, loop=None, proxy=None, proxy_auth=None, options=None, language='en-US', chromePath=None, **kwargs):
+ self.options = merge_dict({} if options is None else options, kwargs)
+ self.loop = loop or get_event_loop()
+ self.proxy = proxy
+ self.proxy_auth = proxy_auth
+ self.language = language
+ self.chromePath = chromePath
+
+ patch_pyppeteer() # Patch Pyppeter (Fix InvalidStateError and Download Chrome)
+
+ async def get_frames(self):
+ """Get frames to checkbox and image_frame of reCaptcha"""
+ self.checkbox_frame = next(frame for frame in self.page.frames if "api2/anchor" in frame.url)
+ self.image_frame = next(frame for frame in self.page.frames if "api2/bframe" in frame.url)
+
+ async def click_reload_button(self):
+ """Click reload button"""
+ self.log('Click reload ...')
+ reload_button = await self.image_frame.J("#recaptcha-reload-button")
+ await self.click_button(reload_button)
+ await asyncio.sleep(self.click_timeout / 1000) # Wait for animations (Change other images)
+
+ async def check_detection(self, timeout):
+ """Checks if "Try again later", "please solve more" modal appears or success"""
+
+ func = """(function() {
+ checkbox_frame = parent.window.jQuery(
+ "iframe[src*='api2/anchor']").contents();
+ image_frame = parent.window.jQuery(
+ "iframe[src*='api2/bframe']").contents();
+
+ var bot_header = jQuery(".rc-doscaptcha-header-text", image_frame)
+ if(bot_header.length){
+ if(bot_header.text().indexOf("Try again later") > -1){
+ parent.window.wasdetected = true;
+ return true;
+ }
+ }
+
+ var try_again_header = jQuery(
+ ".rc-audiochallenge-error-message", image_frame)
+ if(try_again_header.length){
+ if(try_again_header.text().indexOf("please solve more") > -1){
+ try_again_header.text('Trying again...')
+ parent.window.tryagain = true;
+ return true;
+ }
+ }
+
+ var checkbox_anchor = jQuery(".recaptcha-checkbox", checkbox_frame);
+ if(checkbox_anchor.attr("aria-checked") === "true"){
+ parent.window.success = true;
+ return true;
+ }
+
+})()"""
+ try:
+ await self.page.waitForFunction(func, timeout=timeout)
+ except asyncio.TimeoutError:
+ raise SafePassage()
+ except Exception as ex:
+ self.log('FATAL ERROR: {0}'.format(ex))
+ else:
+ status = '?'
+ if await self.page.evaluate("parent.window.wasdetected === true;"):
+ status = "detected"
+ elif await self.page.evaluate("parent.window.success === true"):
+ status = "success"
+ elif await self.page.evaluate("parent.window.tryagain === true"):
+ await self.page.evaluate("parent.window.tryagain = false;")
+ raise TryAgain()
+ return {"status": status}
+
+ async def click_verify(self):
+ """Click button of Verify"""
+ self.log('Verifying ...')
+ element = await self.image_frame.querySelector('#recaptcha-verify-button')
+ try:
+ await self.click_button(element)
+ await asyncio.sleep(self.click_timeout / 1000) # Wait for animations (Change other images)
+ except Exception as ex:
+ self.log(ex)
+ raise Exception(ex)
+
+ async def click_button(self, button):
+ """Click button object"""
+ if self.keyboard_traverse:
+ bb = await button.boundingBox()
+ await self.page.mouse.move(
+ random.uniform(0, 800),
+ random.uniform(0, 600),
+ steps=int(random.uniform(40, 90))
+ )
+ await self.page.mouse.move(
+ bb["x"], bb["y"], steps=int(random.uniform(40, 90))
+ )
+ await button.hover()
+ await asyncio.sleep(random.uniform(0, 2))
+ click_delay = random.uniform(30, 170)
+ await button.click(delay=click_delay)
+
+ async def open_page(self, url, cookies=None, new_page=True):
+ """Create new page"""
+ if new_page:
+ self.page_index += 1 # Add Actual Index
+ self.page = await self.context.newPage()
+ if self.proxy_auth and self.proxy:
+ await self.page.authenticate(self.proxy_auth)
+ self.log(f"Open page with proxy {self.proxy}")
+ await self.set_bypass_csp() # Set Bypass Enable
+ await self.set_cookies(cookies) # Set Cookies
+ await self.on_goto()
+ await stealth(self.page) # Headless Browser prevent detection
+ await self.goto(url) # Go to page
+ await self.on_start()
+
+ async def goto(self, url):
+ """Navigate to address"""
+ jquery_js = await load_file(self.jquery_data)
+ await self.page.evaluateOnNewDocument("() => {\n%s}" % jquery_js) # Inject JQuery
+ await self.page.setExtraHTTPHeaders({'Accept-Language': self.language}) # Forced set Language
+ await fuckcaptcha.bypass_detections(self.page) # bypass reCAPTCHA detection in pyppeteer
+ retry = 3 # Go to Page and Retry 3 times
+ while True:
+ try:
+ await self.loop.create_task(self.page.goto(
+ url, timeout=self.page_load_timeout * 1000,
+ waitUntil=["networkidle0", "domcontentloaded"]
+ ))
+ break
+ except asyncio.TimeoutError as ex:
+ traceback.print_exc(file=sys.stdout)
+ self.log('Error timeout: ' + str(ex) + ' retry ' + str(retry))
+ if retry > 0:
+ retry -= 1
+ else:
+ raise TimeoutError("Page loading timed-out")
+ except PyppeteerError as ex:
+ traceback.print_exc(file=sys.stdout)
+ self.log(f"Pyppeteer error: {ex}")
+ if retry > 0:
+ retry -= 1
+ else:
+ raise ex
+ except Exception as ex:
+ traceback.print_exc(file=sys.stdout)
+ self.log('Error unexpected: ' + str(ex) + ' retry ' + str(retry))
+ if retry > 0:
+ retry -= 1
+ else:
+ raise PageError(f"Page raised an error: `{ex}`")
+
+ async def get_new_browser(self):
+ """Get a new browser, set proxy and arguments"""
+ agent = UserAgent(verify_ssl=False).random
+ args = [
+ '--cryptauth-http-host ""',
+ '--disable-accelerated-2d-canvas',
+ '--disable-background-networking',
+ '--disable-background-timer-throttling',
+ '--disable-browser-side-navigation',
+ '--disable-client-side-phishing-detection',
+ '--disable-default-apps',
+ '--disable-dev-shm-usage',
+ '--disable-device-discovery-notifications',
+ '--disable-extensions',
+ '--disable-features=site-per-process',
+ '--disable-hang-monitor',
+ '--disable-java',
+ '--disable-popup-blocking',
+ '--disable-prompt-on-repost',
+ '--disable-setuid-sandbox',
+ '--disable-sync',
+ '--disable-translate',
+ '--disable-web-security',
+ '--disable-webgl',
+ '--metrics-recording-only',
+ '--no-first-run',
+ '--safebrowsing-disable-auto-update',
+ '--no-sandbox',
+ # Automation arguments
+ '--enable-automation',
+ '--password-store=basic',
+ '--use-mock-keychain',
+ '--lang="{0}"'.format(self.language),
+ '--user-agent="{0}"'.format(agent)]
+ if self.proxy:
+ if self.proxy == 'auto':
+ self.proxy = get_random_proxy()
+ args.append(f"--proxy-server={self.proxy}")
+ if "args" in self.options:
+ args.extend(self.options.pop("args"))
+ self.options.update({
+ "headless": self.headless,
+ "args": args,
+ # Silence Pyppeteer logs
+ "logLevel": "CRITICAL"})
+ if self.chromePath:
+ self.options.update({
+ "executablePath": self.chromePath,
+ })
+ self.launcher = Launcher(self.options, handleSIGINT=False, handleSIGTERM=False, handleSIGHUP=False)
+ browser = await self.launcher.launch()
+ # Set user-agent to all pages
+ pages = await browser.pages()
+ for page in pages:
+ await page.setUserAgent(agent)
+ self.page = pages[0] # Set first page
+ return browser
+
+ async def page_switch(self, index=0):
+ """Switch actual page"""
+ self.page = (await self.browser.pages())[index] # Set Actual Page
+ self.page_index = index # Update index
+ await self.page.bringToFront() # Focus new page
+
+ async def block_images_css(self):
+ """Reject requests to all image and css resource types"""
+
+ async def handle_request(request):
+ try:
+ if request.resourceType == 'image' and request.resourceType == 'stylesheet':
+ await request.abort()
+ else:
+ await request.continue_()
+ except NetworkError:
+ pass
+
+ await self.page.setRequestInterception(True) # Enable interception
+ self.page.on('request', handle_request)
+
+ async def set_cookies(self, cookies=None):
+ """Set cookie list to current page"""
+ if cookies:
+ for cookie in cookies:
+ cookie['url'] = self.page.url
+ await self.page.setCookie(cookie)
+
+ async def wait_load(self, waitUntil='load'):
+ """Wait for Navigation"""
+ await self.page.waitForNavigation({'waitUntil': waitUntil})
+
+ async def cleanup(self):
+ """Kill Browser"""
+ if self.launcher:
+ await self.launcher.killChrome()
+ self.log('Browser closed')
+
+ async def set_bypass_csp(self):
+ """Enable bypassing of page's Content-Security-Policy."""
+ await self.page._client.send("Page.setBypassCSP", {'enabled': True})
+
+ @staticmethod
+ def enter_after_text(text=None):
+ """Insert Enter after of text"""
+ from six import unichr
+ return text + ''.join(map(unichr, [13])) if text else ''.join(map(unichr, [13]))
+
+ # Events
+ async def on_goto(self):
+ """Run before to open URL"""
+ pass
+
+ async def on_start(self):
+ """Run after to open URL"""
+ pass
+
+ async def on_finish(self):
+ """Run after to finish the process"""
+ pass
+
+ def log(self, message):
+ self.logger.debug(f"[{self.page_index}] {message}")
diff --git a/nonocaptcha/data/jquery.js b/goodbyecaptcha/data/jquery.js
similarity index 100%
rename from nonocaptcha/data/jquery.js
rename to goodbyecaptcha/data/jquery.js
diff --git a/nonocaptcha/exceptions.py b/goodbyecaptcha/exceptions.py
similarity index 53%
rename from nonocaptcha/exceptions.py
rename to goodbyecaptcha/exceptions.py
index 284e97d..aa81fcb 100644
--- a/nonocaptcha/exceptions.py
+++ b/goodbyecaptcha/exceptions.py
@@ -4,42 +4,40 @@
""" Exceptions used in library. """
-class nonocaptchaError(Exception):
- """ nonoCAPTCHA base exception. """
+class goodbyecaptchaError(Exception):
+ """ GoodByeCAPTCHA base exception. """
-class SafePassage(nonocaptchaError):
- """ Raised when all checks have passed. Such as being detected or try
- again.
- """
+class SafePassage(goodbyecaptchaError):
+ """ Raised when all checks have passed. Such as being detected or try again. """
pass
-class TryAgain(nonocaptchaError):
+class ResolveMoreLater(goodbyecaptchaError):
""" Raised when audio deciphering is incorrect and we can try again. """
pass
-class ReloadError(nonocaptchaError):
+class TryAgain(goodbyecaptchaError):
+ """ Raised when audio deciphering is incorrect and we can try again. """
+ pass
+
+
+class ReloadError(goodbyecaptchaError):
""" Raised when audio file doesn't reload to a new one. """
pass
-class DownloadError(nonocaptchaError):
+class DownloadError(goodbyecaptchaError):
""" Raised when downloading the audio file errors. """
pass
-class ButtonError(nonocaptchaError):
+class ButtonError(goodbyecaptchaError):
""" Raised when a button doesn't appear. """
pass
-class IframeError(nonocaptchaError):
+class IframeError(goodbyecaptchaError):
""" Raised when defacing page times out. """
pass
-
-
-class PageError(nonocaptchaError):
- """ Raised when loading page times out. """
- pass
diff --git a/nonocaptcha/nonocaptcha.example.yaml b/goodbyecaptcha/goodbyecaptcha.example.yaml
similarity index 71%
rename from nonocaptcha/nonocaptcha.example.yaml
rename to goodbyecaptcha/goodbyecaptcha.example.yaml
index c4a7163..9089da9 100644
--- a/nonocaptcha/nonocaptcha.example.yaml
+++ b/goodbyecaptcha/goodbyecaptcha.example.yaml
@@ -1,16 +1,17 @@
debug: true # Output current actions and resulting state in console
headless: false # Run Chrome without a GUI (background)
keyboard_traverse: false # Emulate keyboard shortcuts instead of mouse behaviors
-block_images: true # Reject requests to all image resource types
+method: images # Method to resolve captcha (images/audio)
timeout:
page_load: 30 # Length to wait for page load in seconds
- iframe: 30 # Length to wait for iframe to render in seconds
+ click: 2 # Length to wait for click verify or reload button (may vary depending on connection)
animation: 5 # Length to wait for animations, such as spinning wheel after
# clicking the widget's checkbox
speech:
- service: pocketsphinx
+ service: google # It not required key (english audio)
+ secondary_service: wit.ai # Recommend use wit.ai visit https://wit.ai/
deepspeech:
model_dir: deepspeech/models
pocketsphinx:
@@ -26,9 +27,9 @@ speech:
secret_access_key:
region:
s3_bucket:
+ wit.ai:
+ secret_key:
data:
- deface_html: data/deface.html
jquery_js: data/jquery.js
- override_js: data/override.js
pictures: data/pictures
diff --git a/goodbyecaptcha/image.py b/goodbyecaptcha/image.py
new file mode 100755
index 0000000..d2ad0cf
--- /dev/null
+++ b/goodbyecaptcha/image.py
@@ -0,0 +1,273 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+""" Image solving module. """
+import asyncio
+import os
+
+from PIL import Image
+
+from goodbyecaptcha import package_dir
+from goodbyecaptcha import util
+from goodbyecaptcha.base import Base
+from goodbyecaptcha.exceptions import SafePassage
+from goodbyecaptcha.predict import predict, is_marked
+
+
+class SolveImage(Base):
+ title = None
+ pieces = None
+ download = None
+ cur_image_path = None
+
+ def __init__(self, page, image_frame, loop=None, proxy=None, proxy_auth=None, options=None, lang='en-US',
+ chromePath=None, **kwargs):
+ self.page = page
+ self.image_frame = image_frame
+
+ super(SolveImage, self).__init__(loop=loop, proxy=proxy, proxy_auth=proxy_auth, options=options, language=lang,
+ chromePath=chromePath, **kwargs)
+
+ async def get_start_data(self):
+ """Detect pieces and get title image"""
+ self.log('Solving Image Captcha ...')
+ await self.get_title()
+ image = await self.download_image()
+ await self.create_folder(self.title, image)
+ file_path = os.path.join(self.cur_image_path, f'{self.title}.jpg')
+ await util.save_file(file_path, image, binary=True) # Save Image
+ self.pieces = await self.image_no() # Detect Type Captcha (9 or 16)
+ return file_path
+
+ async def solve_by_image(self):
+ """Go through procedures to solve image"""
+ while True:
+ file_path = await self.get_start_data() # Detect pieces and get images
+ chooses = await self.choose(file_path) # Choose images of the title
+ await self.click_image(chooses) # Click this choose
+ if self.pieces == 16:
+ await self.click_verify() # Click Verify button
+ if not await self.is_next() and not await self.is_finish():
+ await self.click_reload_button() # Click Reload button
+ elif self.pieces == 9:
+ if chooses:
+ if await self.is_one_selected():
+ await self.click_verify() # Click Verify button
+ if not await self.is_next() and not await self.is_finish():
+ await self.click_reload_button() # Click Reload button
+ else:
+ await self.cycle_selected(chooses)
+ await self.click_verify() # Click Verify button
+ if not await self.is_next() and not await self.is_finish():
+ await self.click_reload_button() # Click Reload button
+ else:
+ await self.click_reload_button() # Click Reload button
+ if await self.is_finish():
+ return {'status': 'success'}
+ try:
+ result = await self.check_detection(self.animation_timeout)
+ return result # If completed return result
+ except SafePassage:
+ pass # Catch no completed error
+ continue
+ return {'status': '?'}
+
+ async def cycle_selected(self, selected):
+ """Cyclic image selector"""
+ while True:
+ self.log('Getting New Images ...')
+ await asyncio.sleep(self.animation_timeout / 1000) # Wait for animations (Change image)
+ images = await self.get_images_block(selected)
+ new_selected = []
+ i = 0
+ for image_url in images:
+ # Verify if image change
+ if images != self.download:
+ self.log('Download New Image # {0}/{1}'.format(i + 1, len(images)))
+ image = await util.get_page(
+ image_url, self.proxy, self.proxy_auth, binary=True
+ )
+ await self.create_folder(self.title, image)
+ file_path = os.path.join(self.cur_image_path, f'{self.title}.jpg')
+ await util.save_file(file_path, image, binary=True) # Save Image
+
+ result = await predict(file_path)
+ if self.debug:
+ self.log('result #' + str(selected[i]) + ' ' + str(result))
+ if self.title == 'vehicles':
+ if 'car' in result or 'truck' in result:
+ new_selected.append(selected[i])
+ if self.title != 'vehicles' and self.title.replace('_', ' ') in result:
+ new_selected.append(selected[i])
+ i += 1
+ if new_selected:
+ await self.click_image(new_selected)
+ else:
+ break
+
+ async def choose(self, image_path):
+ """Get list of images selected"""
+ selected = []
+ # Use Prediction Image
+ if self.pieces == 9:
+ image_obj = Image.open(image_path)
+ util.split_image(image_obj, self.pieces, self.cur_image_path) # Cut Images
+ # Select elements
+ for i in range(self.pieces):
+ # Predict everyone
+ result = await predict(os.path.join(self.cur_image_path, f'{i}.jpg'))
+ if self.debug:
+ self.log('result #' + str(i) + ' ' + str(result))
+ if self.title.replace('_', ' ') in result:
+ selected.append(i)
+ else:
+ result = await predict(image_path, self.title.replace('_', ' '))
+ if result is not False:
+ image_obj = Image.open(result)
+ util.split_image(image_obj, self.pieces, self.cur_image_path) # Cut Images
+ # Select elements
+ for i in range(self.pieces):
+ if is_marked(f"{self.cur_image_path}/{i}.jpg"):
+ selected.append(i)
+ os.remove(result) # Clear tmp archive
+ self.log('Selected: ' + str(selected)) # Show Selected
+ return selected
+
+ async def get_images(self):
+ """Get list of images"""
+ table = await self.image_frame.querySelector('table')
+ rows = await table.querySelectorAll('tr')
+ for row in rows:
+ cells = await row.querySelectorAll('td')
+ for cell in cells:
+ yield cell
+
+ async def click_image(self, list_id):
+ """Click specific images of the list"""
+ self.log('Clicking images ...')
+ elements = await self.image_frame.querySelectorAll('.rc-imageselect-tile')
+ for i in list_id:
+ try:
+ await self.click_button(elements[i])
+ except Exception as ex:
+ self.log(ex)
+
+ async def search_title(self, title):
+ """Search title with classes"""
+ classes = ('bus', 'car', 'bicycle', 'fire_hydrant', 'crosswalk', 'stair', 'bridge', 'traffic_light',
+ 'vehicles', 'motorcycle', 'boat', 'chimneys')
+ # Only English and Spanish detected!
+ possible_titles = (
+ ('autobuses', 'autobús', 'bus', 'buses'),
+ ('automóviles', 'cars', 'car', 'coches', 'coche'),
+ ('bicicletas', 'bicycles', 'bicycle', 'bici'),
+ ('boca de incendios', 'boca_de_incendios', 'una_boca_de_incendios', 'fire_hydrant', 'fire_hydrants',
+ 'a_fire_hydrant', 'bocas_de_incendios'),
+ ('cruces_peatonales', 'crosswalk', 'crosswalks', 'cross_walks', 'cross_walk', 'pasos_de_peatones'),
+ ('escaleras', 'stair', 'stairs'),
+ ('puentes', 'bridge', 'bridges'),
+ ('semaforos', 'semaphore', 'semaphores', 'traffic_lights', 'traffic_light', 'semáforos'),
+ ('vehículos', 'vehicles'),
+ ('motocicletas', 'motocicleta', 'motorcycle', 'motorcycle'),
+ ('boat', 'boats', 'barcos', 'barco'),
+ ('chimeneas', 'chimneys', 'chimney', 'chimenea')
+ )
+ if self.debug:
+ self.log(f'Searching title: {title}')
+ i = 0
+ for objects in possible_titles:
+ if title in objects:
+ if self.debug:
+ self.log(f'Found title: {title} in {classes[i]}')
+ return classes[i]
+ i += 1
+ if self.debug:
+ self.log(f'No Found title: {title}')
+ return title
+
+ async def pictures_of(self):
+ """Get title of solve object"""
+ el = await self.get_description_element()
+ of = await self.image_frame.evaluate('el => el.firstElementChild.innerText', el)
+ return str(of).replace(' ', '_')
+
+ async def get_description_element(self):
+ """Get text of object"""
+ name1 = await self.image_frame.querySelector('.rc-imageselect-desc')
+ name2 = await self.image_frame.querySelector('.rc-imageselect-desc-no-canonical')
+ return name1 if name1 else name2
+
+ async def create_folder(self, title, image):
+ """Create tmp folder and save image"""
+ if not os.path.exists(self.pictures):
+ os.mkdir(self.pictures)
+ if not os.path.exists(os.path.join(self.pictures, f'{title}')):
+ os.mkdir(os.path.join(self.pictures, f'{title}'))
+ if not os.path.exists(os.path.join(package_dir, 'tmp')):
+ os.mkdir(os.path.join(package_dir, 'tmp'))
+ # Save Image
+ self.cur_image_path = os.path.join(os.path.join(self.pictures, f'{title}'), f'{hash(image)}')
+ if not os.path.exists(self.cur_image_path):
+ os.mkdir(self.cur_image_path)
+
+ async def get_image_url(self):
+ """Get image url for download"""
+ image_url = (
+ 'document.getElementsByClassName("rc-image-tile-wrapper")[0].'
+ 'getElementsByTagName("img")[0].src'
+ )
+ return await self.image_frame.evaluate(image_url)
+
+ async def image_no(self):
+ """Get number of images in captcha"""
+ if self.debug:
+ self.log('image_n: ' + str(len([i async for i in self.get_images()])))
+ return len([i async for i in self.get_images()])
+
+ async def is_one_selected(self):
+ """Is one selection or multi-selection images"""
+ comprobate = (
+ 'document.getElementsByClassName("rc-imageselect-tileselected").'
+ 'length === 0'
+ )
+ return not await self.image_frame.evaluate(comprobate)
+
+ async def is_finish(self):
+ """Return true if process is finish"""
+ try:
+ result = await self.loop.create_task(self.check_detection(self.animation_timeout))
+ except SafePassage:
+ return False
+ else:
+ if result["status"] == "success":
+ return True
+ return False
+
+ async def is_next(self):
+ """Verify if next captcha or the same"""
+ image_url = await self.get_image_url()
+ return False if image_url == self.download else True
+
+ async def download_image(self):
+ """Download image captcha"""
+ self.log('Downloading Image ...')
+ self.download = await self.get_image_url()
+ return await util.get_page(self.download, self.proxy, self.proxy_auth, binary=True)
+
+ async def get_images_block(self, images):
+ """Get specific image in the block"""
+ images_url = []
+ for element in images:
+ image_url = (
+ f'document.getElementsByClassName("rc-image-tile-wrapper")[{element}].'
+ 'getElementsByTagName("img")[0].src'
+ )
+ result = await self.image_frame.evaluate(image_url)
+ images_url.append(result)
+ return images_url
+
+ async def get_title(self):
+ """Get title of image to solve"""
+ title = await self.pictures_of()
+ self.log(f'Image of {title}')
+ self.title = await self.search_title(title)
diff --git a/goodbyecaptcha/models/yolov3.cfg b/goodbyecaptcha/models/yolov3.cfg
new file mode 100644
index 0000000..5043581
--- /dev/null
+++ b/goodbyecaptcha/models/yolov3.cfg
@@ -0,0 +1,788 @@
+[net]
+# Testing
+# batch=64
+# subdivisions=1
+# Training
+batch=64
+subdivisions=16
+width=416
+height=416
+channels=3
+momentum=0.9
+decay=0.0005
+angle=0
+saturation = 1.5
+exposure = 1.5
+hue=.1
+
+learning_rate=0.001
+burn_in=1000
+max_batches = 500846
+policy=steps
+steps=400000,450000
+scales=.1,.1
+
+[convolutional]
+batch_normalize=1
+filters=32
+size=3
+stride=1
+pad=1
+activation=leaky
+
+# Downsample
+
+[convolutional]
+batch_normalize=1
+filters=64
+size=3
+stride=2
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=32
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=64
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+# Downsample
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=3
+stride=2
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=64
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=64
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+# Downsample
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=2
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+# Downsample
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=2
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+# Downsample
+
+[convolutional]
+batch_normalize=1
+filters=1024
+size=3
+stride=2
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=1024
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=1024
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=1024
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=1024
+size=3
+stride=1
+pad=1
+activation=leaky
+
+[shortcut]
+from=-3
+activation=linear
+
+######################
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=1024
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=1024
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=512
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=1024
+activation=leaky
+
+[convolutional]
+size=1
+stride=1
+pad=1
+filters=255
+activation=linear
+
+
+[yolo]
+mask = 6,7,8
+anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
+classes=80
+num=9
+jitter=.3
+ignore_thresh = .5
+truth_thresh = 1
+random=1
+
+
+[route]
+layers = -4
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[upsample]
+stride=2
+
+[route]
+layers = -1, 61
+
+
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=512
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=512
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=256
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=512
+activation=leaky
+
+[convolutional]
+size=1
+stride=1
+pad=1
+filters=255
+activation=linear
+
+
+[yolo]
+mask = 3,4,5
+anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
+classes=80
+num=9
+jitter=.3
+ignore_thresh = .5
+truth_thresh = 1
+random=1
+
+
+
+[route]
+layers = -4
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[upsample]
+stride=2
+
+[route]
+layers = -1, 36
+
+
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=256
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=256
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+filters=128
+size=1
+stride=1
+pad=1
+activation=leaky
+
+[convolutional]
+batch_normalize=1
+size=3
+stride=1
+pad=1
+filters=256
+activation=leaky
+
+[convolutional]
+size=1
+stride=1
+pad=1
+filters=255
+activation=linear
+
+
+[yolo]
+mask = 0,1,2
+anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
+classes=80
+num=9
+jitter=.3
+ignore_thresh = .5
+truth_thresh = 1
+random=1
diff --git a/goodbyecaptcha/models/yolov3.txt b/goodbyecaptcha/models/yolov3.txt
new file mode 100644
index 0000000..ad41922
--- /dev/null
+++ b/goodbyecaptcha/models/yolov3.txt
@@ -0,0 +1,84 @@
+person
+bicycle
+car
+motorcycle
+airplane
+bus
+train
+truck
+boat
+traffic light
+fire hydrant
+stop sign
+parking meter
+bench
+bird
+cat
+dog
+horse
+sheep
+cow
+elephant
+bear
+zebra
+giraffe
+backpack
+umbrella
+handbag
+tie
+suitcase
+frisbee
+skis
+snowboard
+sports ball
+kite
+baseball bat
+baseball glove
+skateboard
+surfboard
+tennis racket
+bottle
+wine glass
+cup
+fork
+knife
+spoon
+bowl
+banana
+apple
+sandwich
+orange
+broccoli
+carrot
+hot dog
+pizza
+donut
+cake
+chair
+couch
+potted plant
+bed
+dining table
+toilet
+tv
+laptop
+mouse
+remote
+keyboard
+cell phone
+microwave
+oven
+toaster
+sink
+refrigerator
+book
+clock
+vase
+scissors
+teddy bear
+hair drier
+toothbrush
+crosswalk
+stair
+bridge
+taxis
\ No newline at end of file
diff --git a/goodbyecaptcha/predict.py b/goodbyecaptcha/predict.py
new file mode 100644
index 0000000..245fc6a
--- /dev/null
+++ b/goodbyecaptcha/predict.py
@@ -0,0 +1,143 @@
+from io import BytesIO
+
+import cv2
+import numpy as np
+from PIL import Image
+
+from goodbyecaptcha import package_dir
+
+__all__ = [
+ 'is_marked',
+ "get_output_layers",
+ "draw_prediction",
+ "predict"
+]
+
+
+def is_marked(img_path):
+ """Detect specific color for detect marked"""
+ img = Image.open(img_path).convert('RGB')
+ w, h = img.size
+ for i in range(w):
+ for j in range(h):
+ r, g, b = img.getpixel((i, j))
+ if r == 0 and g == 0 and b == 254: # Detect Blue Color
+ return True
+ return False
+
+
+def get_output_layers(net):
+ layer_names = net.getLayerNames()
+ output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
+ return output_layers
+
+
+def draw_prediction(img, x, y, x_plus_w, y_plus_h):
+ """Paint Rectangle Blue for detect prediction"""
+ color = 256 # Blue
+ cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, cv2.FILLED)
+
+
+async def predict(file, obj=None):
+ """Predict Object on image"""
+ weight_file = f"{package_dir}/models/yolov3.weights"
+ file_names = f"{package_dir}/models/yolov3.txt"
+ file_cfg = f"{package_dir}/models/yolov3.cfg"
+
+ image = cv2.imread(file)
+ width = image.shape[1]
+ height = image.shape[0]
+ scale = 0.00392
+
+ with open(file_names, 'r') as f:
+ classes = [line.strip() for line in f.readlines()]
+
+ # Import YoloV3
+ try:
+ net = cv2.dnn.readNet(weight_file, file_cfg)
+ except Exception:
+ # Download YoloV3
+ yolo_url = 'https://pjreddie.com/media/files/yolov3.weights'
+
+ import urllib3
+ from tqdm import tqdm
+
+ with urllib3.PoolManager() as http:
+ # Get data from url.
+ data = http.request('GET', yolo_url, preload_content=False)
+
+ try:
+ total_length = int(data.headers['content-length'])
+ except (KeyError, ValueError, AttributeError):
+ total_length = 0
+
+ process_bar = tqdm(total=total_length)
+
+ # 10 * 1024
+ _data = BytesIO()
+ for chunk in data.stream(10240):
+ _data.write(chunk)
+ process_bar.update(len(chunk))
+ process_bar.close()
+ # Save weights matrix
+ with open(weight_file, 'wb') as f:
+ f.write(_data.getvalue())
+ return await predict(file, obj) # Reload method
+
+ if obj is None:
+ blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)
+ net.setInput(blob)
+ outs = net.forward(get_output_layers(net))
+ classes_names = []
+ for out in outs:
+ for detection in out:
+ scores = detection[5:]
+ class_id = int(np.argmax(scores))
+ confidence = scores[class_id]
+ if confidence > 0.5:
+ classes_names.append(classes[class_id])
+ return classes_names # Return all names object in the images
+ else:
+ out_path = f"{package_dir}/tmp/{hash(file)}.jpg"
+ blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)
+ net.setInput(blob)
+ outs = net.forward(get_output_layers(net))
+
+ class_ids = []
+ confidences = []
+ boxes = []
+ conf_threshold = 0.5
+ nms_threshold = 0.4
+
+ for out in outs:
+ for detection in out:
+ scores = detection[5:]
+ class_id = np.argmax(scores)
+ confidence = scores[class_id]
+ if confidence > 0.5:
+ center_x = int(detection[0] * width)
+ center_y = int(detection[1] * height)
+ w = int(detection[2] * width)
+ h = int(detection[3] * height)
+ x = center_x - w / 2
+ y = center_y - h / 2
+ class_ids.append(class_id)
+ confidences.append(float(confidence))
+ boxes.append([x, y, w, h])
+
+ indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)
+ out = False
+ for i in indices:
+ if classes[int(class_ids[int(i)])] == obj or (obj == 'vehicles' and (
+ classes[int(class_ids[int(i)])] == 'car' or classes[int(class_ids[int(i)])] == 'truck')):
+ out = out_path
+ box = boxes[i[0]]
+ x = box[0]
+ y = box[1]
+ w = box[2]
+ h = box[3]
+ draw_prediction(image, round(x), round(y), round(x + w), round(y + h))
+ # Save Image
+ if out:
+ cv2.imwrite(out_path, image)
+ return out # Return path of images or False if not found object
diff --git a/nonocaptcha/proxy.py b/goodbyecaptcha/proxy.py
similarity index 92%
rename from nonocaptcha/proxy.py
rename to goodbyecaptcha/proxy.py
index 70b3a87..167ee0b 100644
--- a/nonocaptcha/proxy.py
+++ b/goodbyecaptcha/proxy.py
@@ -4,10 +4,9 @@
""" Proxy manager module. """
import time
-
from threading import RLock
-from peewee import SqliteDatabase, Model, CharField, BooleanField, IntegerField
+from peewee import SqliteDatabase, Model, CharField, BooleanField, IntegerField
database_filename = "proxy.db"
database = db = SqliteDatabase(
@@ -84,11 +83,11 @@ def get(self):
(Proxy.active == 0)
& (Proxy.alive == 1)
& (
- (
- Proxy.last_banned + self.last_banned_timeout
- <= time.time()
- )
- | (Proxy.last_banned == 0)
+ (
+ Proxy.last_banned + self.last_banned_timeout
+ <= time.time()
+ )
+ | (Proxy.last_banned == 0)
)
)
.order_by(Proxy.last_used)
diff --git a/goodbyecaptcha/solver.py b/goodbyecaptcha/solver.py
new file mode 100644
index 0000000..ea859d5
--- /dev/null
+++ b/goodbyecaptcha/solver.py
@@ -0,0 +1,156 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+""" Solver module. """
+
+import sys
+import time
+import traceback
+
+from pyppeteer.errors import NetworkError, PageError, PyppeteerError
+from pyppeteer.util import merge_dict
+
+from goodbyecaptcha import util
+from goodbyecaptcha.audio import SolveAudio
+from goodbyecaptcha.base import Base
+from goodbyecaptcha.exceptions import SafePassage, ButtonError, IframeError, TryAgain, ResolveMoreLater
+from goodbyecaptcha.image import SolveImage
+from goodbyecaptcha.util import get_random_proxy
+
+
+class Solver(Base):
+ def __init__(self, pageurl, loop=None, proxy=None, proxy_auth=None, options=None, lang='en-US', chromePath=None,
+ **kwargs):
+ self.url = pageurl
+ self.loop = loop or util.get_event_loop()
+ self.proxy = proxy
+ self.proxy_auth = proxy_auth
+ self.options = merge_dict({} if options is None else options, kwargs)
+ self.chromePath = chromePath
+
+ super(Solver, self).__init__(loop=loop, proxy=proxy, proxy_auth=proxy_auth, language=lang, options=options,
+ chromePath=chromePath)
+
+ async def start(self):
+ """Begin solving"""
+ start = time.time()
+ result = None
+ try:
+ self.browser = await self.get_new_browser()
+ self.context = await self.browser.createIncognitoBrowserContext()
+ await self.open_page(self.url, new_page=False) # Use first page
+ result = await self.solve()
+ except NetworkError as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Network error: {ex}")
+ except ResolveMoreLater as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Resolve More Captcha error: {ex}")
+ except TryAgain as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Try Again error: {ex}")
+ except TimeoutError as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Error timeout: {ex}")
+ except PageError as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Page Error: {ex}")
+ except IframeError as ex:
+ print(f"IFrame error: {ex}")
+ except PyppeteerError as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Pyppeteer error: {ex}")
+ except Exception as ex:
+ traceback.print_exc(file=sys.stdout)
+ print(f"Error unexpected: {ex}")
+ finally:
+ # Close all Context and Browser
+ if self.context:
+ await self.context.close()
+ self.context = None
+ if self.browser:
+ await self.browser.close()
+ self.browser = None
+ await self.cleanup()
+ # Return result
+ if isinstance(result, dict):
+ status = result['status'].capitalize()
+ print(f"Result: {status}")
+ elapsed = time.time() - start
+ print(f"Time elapsed: {elapsed}")
+ return result
+
+ async def solve(self):
+ """Click checkbox, otherwise attempt to decipher image/audio"""
+ self.log('Solvering ...')
+ try:
+ await self.get_frames()
+ except Exception:
+ return await self.get_code({'status': 'success'})
+ self.log('Wait for CheckBox ...')
+ await self.loop.create_task(self.wait_for_checkbox())
+ self.log('Click CheckBox ...')
+ await self.click_checkbox()
+ try:
+ result = await self.loop.create_task(
+ self.check_detection(self.animation_timeout)) # Detect Detection or captcha finish
+ except SafePassage:
+ return await self._solve() # Start to solver
+ else:
+ return self.get_code(result)
+
+ async def _solve(self):
+ """Select method solver"""
+ proxy = get_random_proxy() if self.proxy == 'auto' else self.proxy
+ if self.method == 'images':
+ self.log('Using Image Solver')
+ self.image = SolveImage(page=self.page, image_frame=self.image_frame, loop=self.loop, proxy=proxy,
+ proxy_auth=self.proxy_auth, options=self.options, chromePath=self.chromePath)
+ solve = self.image.solve_by_image
+ else:
+ self.log('Using Audio Solver')
+ self.audio = SolveAudio(page=self.page, image_frame=self.image_frame, loop=self.loop, proxy=proxy,
+ proxy_auth=self.proxy_auth, options=self.options, chromePath=self.chromePath)
+ solve = self.audio.solve_by_audio
+
+ try:
+ result = await self.loop.create_task(solve())
+ return await self.get_code(result)
+ except PyppeteerError as ex:
+ raise TryAgain(ex)
+
+ async def get_code(self, result_status):
+ if result_status["status"] == "success":
+ code = await self.g_recaptcha_response()
+ if code:
+ result_status["code"] = code
+ return result_status
+ else:
+ return result_status
+
+ async def wait_for_checkbox(self):
+ """Wait for checkbox to appear."""
+ try:
+ await self.checkbox_frame.waitForFunction(
+ "jQuery('#recaptcha-anchor').length",
+ timeout=self.animation_timeout)
+ except ButtonError:
+ raise ButtonError("Checkbox missing, aborting")
+ except Exception as ex:
+ self.log(ex)
+ await self.click_checkbox() # Try Click
+
+ async def click_checkbox(self):
+ """Click checkbox on page load."""
+ try:
+ checkbox = await self.checkbox_frame.J("#recaptcha-anchor")
+ await self.click_button(checkbox)
+ except Exception as ex:
+ self.log(ex)
+ raise ex
+
+ async def g_recaptcha_response(self):
+ """Result of captcha"""
+ code = await self.page.evaluate(
+ "jQuery('#g-recaptcha-response').val()")
+ return code
diff --git a/nonocaptcha/speech.py b/goodbyecaptcha/speech.py
similarity index 66%
rename from nonocaptcha/speech.py
rename to goodbyecaptcha/speech.py
index f969a97..e9caa68 100644
--- a/nonocaptcha/speech.py
+++ b/goodbyecaptcha/speech.py
@@ -1,31 +1,33 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
-""" Speech module. Text-to-speech classes - Sphinx, Amazon, and Azure. """
-
-import aiobotocore
-import aiofiles
+""" Speech module. Text-to-speech classes - Sphinx, Google, WitAI, Amazon, and Azure. """
import asyncio
import json
+import logging
import os
import re
import struct
import sys
import time
-import websockets
-import requests
-
from datetime import datetime
from uuid import uuid4
-from pydub import AudioSegment
+
+import aiobotocore
+import aiofiles
+import pocketsphinx
+import requests
+import speech_recognition as sr
+import websockets
from pocketsphinx.pocketsphinx import Decoder
+from pydub import AudioSegment
-from nonocaptcha.base import settings
-from nonocaptcha import util
+from goodbyecaptcha import util
+from goodbyecaptcha.base import settings
-@util.threaded
-def mp3_to_wav(mp3_filename):
+async def mp3_to_wav(mp3_filename):
+ """Convert mp3 to wav"""
wav_filename = mp3_filename.replace(".mp3", ".wav")
segment = AudioSegment.from_mp3(mp3_filename)
sound = segment.set_channels(1).set_frame_rate(16000)
@@ -59,37 +61,69 @@ async def get_text(self, mp3_filename):
return result
+class Google(object):
+ async def get_text(self, mp3_filename):
+ wav_filename = await mp3_to_wav(mp3_filename)
+ # Initialize a new recognizer with the audio in memory as source
+ recognizer = sr.Recognizer()
+ with sr.AudioFile(wav_filename) as source:
+ audio = recognizer.record(source) # read the entire audio file
+
+ # recognize speech using Google Speech Recognition
+ audio_output = None
+ try:
+ audio_output = recognizer.recognize_google(audio)
+ print("Google Speech Recognition: " + audio_output)
+ except sr.UnknownValueError:
+ logging.warning("Google Speech Recognition could not understand audio")
+ except sr.RequestError as e:
+ logging.warning("Could not request results from Google Speech Recognition service; {0}".format(e))
+ return audio_output
+
+
+class WitAI(object):
+ API_KEY = settings["speech"]["wit.ai"]["secret_key"]
+
+ async def get_text(self, mp3_filename):
+ wav_filename = await mp3_to_wav(mp3_filename)
+ # Initialize a new recognizer with the audio in memory as source
+ recognizer = sr.Recognizer()
+ with sr.AudioFile(wav_filename) as source:
+ audio = recognizer.record(source) # read the entire audio file
+
+ # recognize speech using WIT.AI Recognition
+ audio_output = None
+ try:
+ # Llamamos al metodo de reconocimiento por wit y le pasamos el audio, y la key
+ audio_output = recognizer.recognize_wit(audio, key=self.API_KEY)
+ print("Wit.AI Recognition: " + audio_output)
+ except sr.UnknownValueError: # Definimos excepciones que se puedan presentar
+ logging.warning("Wit.ai could not understand audio")
+ except sr.RequestError as e:
+ logging.warning("Could not request results from Wit.ia; {0}".format(e))
+
+ return audio_output
+
+
class Sphinx(object):
- MODEL_DIR = settings["speech"]["pocketsphinx"]["model_dir"]
+ MODEL_DIR = os.path.dirname(pocketsphinx.__file__)
+ MODEL_DIR = os.path.join(MODEL_DIR, "model")
+ if not os.path.isdir(MODEL_DIR):
+ MODEL_DIR = settings["speech"]["pocketsphinx"]["model_dir"]
- @util.threaded
- def build_decoder(self):
+ async def build_decoder(self):
config = Decoder.default_config()
- config.set_string(
- "-dict", os.path.join(self.MODEL_DIR, "cmudict-en-us.dict")
- )
- config.set_string(
- "-fdict", os.path.join(self.MODEL_DIR, "en-us/noisedict")
- )
- config.set_string(
- "-featparams", os.path.join(self.MODEL_DIR, "en-us/feat.params")
- )
- config.set_string(
- "-tmat", os.path.join(self.MODEL_DIR, "en-us/transition_matrices")
- )
+ config.set_string("-dict", os.path.join(self.MODEL_DIR, "cmudict-en-us.dict"))
+ config.set_string("-fdict", os.path.join(self.MODEL_DIR, "en-us/noisedict"))
+ config.set_string("-featparams", os.path.join(self.MODEL_DIR, "en-us/feat.params"))
+ config.set_string("-tmat", os.path.join(self.MODEL_DIR, "en-us/transition_matrices"))
config.set_string("-hmm", os.path.join(self.MODEL_DIR, "en-us"))
config.set_string("-lm", os.path.join(self.MODEL_DIR, "en-us.lm.bin"))
config.set_string("-mdef", os.path.join(self.MODEL_DIR, "en-us/mdef"))
config.set_string("-mean", os.path.join(self.MODEL_DIR, "en-us/means"))
- config.set_string(
- "-sendump", os.path.join(self.MODEL_DIR, "en-us/sendump")
- )
- config.set_string(
- "-var", os.path.join(self.MODEL_DIR, "en-us/variances")
- )
- null_path = "/dev/null"
- if sys.platform == "win32":
- null_path = "NUL"
+ config.set_string("-sendump", os.path.join(self.MODEL_DIR, "en-us/sendump"))
+ config.set_string("-var", os.path.join(self.MODEL_DIR, "en-us/variances"))
+ null_path = "NUL" if sys.platform == "win32" else "/dev/null"
config.set_string("-logfn", null_path)
return Decoder(config)
@@ -106,9 +140,7 @@ async def get_text(self, mp3_filename):
break
decoder.end_utt()
hyp = " ".join([seg.word for seg in decoder.seg()])
- answer = " ".join(
- re.sub("<[^<]+?>|\[[^<]+?\]|\([^<]+?\)", " ", hyp).split()
- )
+ answer = " ".join(re.sub("<[^<]+?>|\[[^<]+?\]|\([^<]+?\)", " ", hyp).split())
return answer
@@ -134,9 +166,7 @@ async def get_text(self, audio_data):
)
filename = f"{uuid4().hex}.mp3"
# Upload audio file to bucket
- await upload.put_object(
- Bucket=self.S3_BUCKET, Key=filename, Body=audio_data
- )
+ await upload.put_object(Bucket=self.S3_BUCKET, Key=filename, Body=audio_data)
job_name = uuid4().hex
job_uri = (
f"https://s3.{self.REGION_NAME}.amazonaws.com/{self.S3_BUCKET}/"
@@ -152,21 +182,14 @@ async def get_text(self, audio_data):
# Wait 90 seconds for transcription
timeout = 90
while time.time() > timeout:
- status = await transcribe.get_transcription_job(
- TranscriptionJobName=job_name
- )
- if status["TranscriptionJob"]["TranscriptionJobStatus"] in [
- "COMPLETED",
- "FAILED",
- ]:
+ status = await transcribe.get_transcription_job(TranscriptionJobName=job_name)
+ if status["TranscriptionJob"]["TranscriptionJobStatus"] in ["COMPLETED", "FAILED"]:
break
await asyncio.sleep(5)
# Delete audio file from bucket
await upload.delete_object(Bucket=self.S3_BUCKET, Key=filename)
if "TranscriptFileUri" in status["TranscriptionJob"]["Transcript"]:
- transcript_uri = status["TranscriptionJob"]["Transcript"][
- "TranscriptFileUri"
- ]
+ transcript_uri = status["TranscriptionJob"]["Transcript"]["TranscriptFileUri"]
data = json.loads(await util.get_page(transcript_uri))
transcript = data["results"]["transcripts"][0]["transcript"]
return transcript
@@ -184,8 +207,7 @@ class AzureSpeech(object):
SUB_KEY = settings["speech"]["azurespeech"]["subscription_key"]
language_type = settings["speech"]["azurespeech"]['language_type']
- @util.threaded
- def extract_json_body(self, response):
+ async def extract_json_body(self, response):
return json.loads(response)
async def bytes_from_file(self, filename):
@@ -194,7 +216,7 @@ async def bytes_from_file(self, filename):
return chunk
async def get_text(self, mp3_filename):
- ''' return text result or None '''
+ """ return text result or None """
# convert mp3 file to WAV
wav_filename = await mp3_to_wav(mp3_filename)
# read bytes from WAV file.
@@ -212,24 +234,14 @@ async def get_text(self, mp3_filename):
f"language={self.language_type}&format=detailed"
)
- response = requests.post(
- speech_to_text_url,
- headers=headers,
- data=wav_bytes
- )
+ response = requests.post(speech_to_text_url, headers=headers, data=wav_bytes)
if response.status_code == 200:
print(response.content)
content = await self.extract_json_body(response.content)
- if (
- "RecognitionStatus" in content
- and content["RecognitionStatus"] == "Success"
- ):
+ if "RecognitionStatus" in content and content["RecognitionStatus"] == "Success":
answer = content["NBest"][0]["Lexical"]
return answer
- if (
- "RecognitionStatus" in content
- and content["RecognitionStatus"] == "EndOfDictation"
- ):
+ if "RecognitionStatus" in content and content["RecognitionStatus"] == "EndOfDictation":
return
else:
print(response.status_code)
@@ -239,16 +251,12 @@ async def get_text(self, mp3_filename):
class Azure(object):
SUB_KEY = settings["speech"]["azure"]["api_subkey"]
- @util.threaded
- def extract_json_body(self, response):
+ async def extract_json_body(self, response):
pattern = "^\r\n" # header separator is an empty line
m = re.search(pattern, response, re.M)
- return json.loads(
- response[m.end():]
- ) # assuming that content type is json
+ return json.loads(response[m.end():]) # assuming that content type is json
- @util.threaded
- def build_message(self, req_id, payload):
+ async def build_message(self, req_id, payload):
message = b""
timestamp = datetime.utcnow().isoformat()
header = (
@@ -289,15 +297,9 @@ async def get_text(self, mp3_filename):
while time.time() < timeout:
response = await websocket.recv()
content = await self.extract_json_body(response)
- if (
- "RecognitionStatus" in content
- and content["RecognitionStatus"] == "Success"
- ):
+ if "RecognitionStatus" in content and content["RecognitionStatus"] == "Success":
answer = content["NBest"][0]["Lexical"]
return answer
- if (
- "RecognitionStatus" in content
- and content["RecognitionStatus"] == "EndOfDictation"
- ):
+ if "RecognitionStatus" in content and content["RecognitionStatus"] == "EndOfDictation":
return
await asyncio.sleep(1)
diff --git a/goodbyecaptcha/util.py b/goodbyecaptcha/util.py
new file mode 100644
index 0000000..85478ee
--- /dev/null
+++ b/goodbyecaptcha/util.py
@@ -0,0 +1,208 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+""" Utility functions. """
+import asyncio
+import glob
+import itertools
+import pickle
+import random
+from math import sqrt
+
+import aiofiles
+import certifi
+import requests
+from bs4 import BeautifulSoup
+from pyppeteer.chromium_downloader import *
+
+__all__ = [
+ 'get_event_loop',
+ "save_file",
+ "load_file",
+ "get_page",
+ "get_random_proxy",
+ "get_proxy",
+ "serialize",
+ "deserialize",
+ "patch_pyppeteer"
+]
+
+NO_PROGRESS_BAR = os.environ.get('PYPPETEER_NO_PROGRESS_BAR', '')
+if NO_PROGRESS_BAR.lower() in ('1', 'true'):
+ NO_PROGRESS_BAR = True # type: ignore
+
+win_postf = "win" if int(REVISION) > 591479 else "win32"
+downloadURLs.update({
+ 'win32': f'{BASE_URL}/Win/{REVISION}/chrome-{win_postf}.zip',
+ 'win64': f'{BASE_URL}/Win_x64/{REVISION}/chrome-{win_postf}.zip',
+})
+chromiumExecutable.update({
+ 'win32': DOWNLOADS_FOLDER / REVISION / f'chrome-{win_postf}' / 'chrome.exe',
+ 'win64': DOWNLOADS_FOLDER / REVISION / f'chrome-{win_postf}' / 'chrome.exe',
+})
+
+
+def get_event_loop():
+ """Get loop of asyncio"""
+ if sys.platform == "win32":
+ return asyncio.ProactorEventLoop()
+ return asyncio.new_event_loop()
+
+
+async def save_file(file, data, binary=False):
+ """Save data on file"""
+ mode = "w" if not binary else "wb"
+ async with aiofiles.open(file, mode=mode) as f:
+ await f.write(data)
+
+
+async def load_file(file, binary=False):
+ """Load data on file"""
+ mode = "r" if not binary else "rb"
+ async with aiofiles.open(file, mode=mode) as f:
+ return await f.read()
+
+
+async def get_page(url, proxy=None, proxy_auth=None, binary=False, verify=False, timeout=300):
+ """Get data of the page (File binary of Response text)"""
+ urllib3.disable_warnings()
+ proxies = None
+ if proxy:
+ if proxy_auth:
+ proxy = proxy.replace("http://", "")
+ username = proxy_auth['username']
+ password = proxy_auth['password']
+ proxies = {
+ "http": f"http://{username}:{password}@{proxy}",
+ "https": f"http://{username}:{password}@{proxy}"}
+ else:
+ proxies = {"http": proxy, "https": proxy}
+ retry = 3 # Retry 3 times
+ while retry > 0:
+ try:
+ with requests.Session() as session:
+ response = session.get(url, proxies=proxies, verify=verify, timeout=timeout)
+ if binary:
+ return response.content
+ return response.text
+ except requests.exceptions.ConnectionError:
+ retry -= 1
+
+
+def serialize(obj, p):
+ """Must be synchronous to prevent corrupting data"""
+ with open(p, "wb") as f:
+ pickle.dump(obj, f)
+
+
+async def deserialize(p):
+ data = await load_file(p, binary=True)
+ return pickle.loads(data)
+
+
+def split_image(image_obj, pieces, save_to):
+ """Splits an image into constituent pictures of x"""
+ width, height = image_obj.size
+ row_length = int(sqrt(pieces))
+ interval = width // row_length
+ for x, y in itertools.product(range(row_length), repeat=2):
+ cropped = image_obj.crop((interval * x, interval * y, interval * (x + 1), interval * (y + 1)))
+ cropped.save(os.path.join(save_to, f'{y * row_length + x}.jpg'))
+
+
+def get_proxies():
+ """Get free proxy list of https://free-proxy-list.net/"""
+ parser = BeautifulSoup(get_page('https://free-proxy-list.net/'), "html.parser")
+ proxies = list()
+ for element in parser.find('table', {'id': 'proxylisttable'}).find_all('tr')[1:-1]:
+ more = element.find_all('td')[:2]
+ proxies.append(
+ str(more[0]).replace('', '').replace(' | ', '') + ':' + str(more[1]).replace('', '').replace(
+ ' | ', '').replace('https://', '').replace('http://', ''))
+ return proxies
+
+
+def get_proxy(proxys):
+ """Select one proxy list"""
+ result = random.choice(proxys)
+ return result['ip'] + ':' + result['port']
+
+
+def get_random_proxy():
+ """Get random one proxy list"""
+ return random.choice(get_proxies())
+
+
+def download_zip(url: str) -> BytesIO:
+ """Download data from url."""
+ logger.warning('start patched secure https chromium download.\n'
+ 'Download may take a few minutes.')
+
+ with urllib3.PoolManager(cert_reqs='CERT_REQUIRED',
+ ca_certs=certifi.where()) as https:
+ # Get data from url.
+ # set preload_content=False means using stream later.
+ data = https.request('GET', url, preload_content=False)
+
+ try:
+ total_length = int(data.headers['content-length'])
+ except (KeyError, ValueError, AttributeError):
+ total_length = 0
+
+ process_bar = tqdm(
+ total=total_length,
+ file=os.devnull if NO_PROGRESS_BAR else None,
+ )
+
+ # 10 * 1024
+ _data = BytesIO()
+ for chunk in data.stream(10240):
+ _data.write(chunk)
+ process_bar.update(len(chunk))
+ process_bar.close()
+
+ logger.warning('\nchromium download done.')
+ return _data
+
+
+def patch_pyppeteer():
+ """Patch pyppeteer of InvalidStateError and SSLError Chrome download"""
+ import pyppeteer.chromium_downloader
+ import pyppeteer.connection
+
+ pyppeteer.chromium_downloader.download_zip = download_zip
+ _connect = pyppeteer.connection.websockets.client.connect
+
+ def connect(*args, ping_interval=None, ping_timeout=None, **kwargs):
+ return _connect(*args, ping_interval=ping_interval,
+ ping_timeout=ping_timeout, **kwargs)
+
+ pyppeteer.connection.websockets.client.connect = connect
+
+
+def get_train_and_test(path, out):
+ """Create train and test directories to YoloV3"""
+ folders = []
+ for r, d, f in os.walk(path): # r=root, d=directories, f = files
+ for folder in d:
+ folders.append(os.path.join(r, folder))
+
+ for directory in folders:
+ file = directory.split('/')[-1:][0]
+ print('Extract Train and Test of Directory:', file)
+ # Percentage of images to be used for the test set
+ percentage_test = 20
+ # Create and/or truncate train.txt and test.txt
+ file_train = open(os.path.join(out, 'data_train.txt'), 'a')
+ file_test = open(os.path.join(out, 'data_test.txt'), 'a')
+ # Populate train.txt and test.txt
+ counter = 1
+ index_test = round(100 / percentage_test)
+ for pathAndFilename in glob.iglob(os.path.join(directory, "*.jpg")):
+ title, ext = os.path.splitext(os.path.basename(pathAndFilename))
+ if counter == index_test:
+ counter = 1
+ file_test.write(directory + "/" + title + '.jpg' + "\n")
+ else:
+ file_train.write(directory + "/" + title + '.jpg' + "\n")
+ counter = counter + 1
diff --git a/install_README.rst b/install_README.rst
index d8ab624..1c9788b 100644
--- a/install_README.rst
+++ b/install_README.rst
@@ -82,6 +82,6 @@ Install PyPI
&& apt autoremove -y
```
-Finally, install nonoCAPTCHA
+Finally, install goodbyecaptcha
- `pip install nonocaptcha`
+ `pip install goodbyecaptcha`
diff --git a/nonocaptcha/audio.py b/nonocaptcha/audio.py
deleted file mode 100644
index 31d0d67..0000000
--- a/nonocaptcha/audio.py
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-""" Audio solving module. """
-
-import os
-import random
-import shutil
-import tempfile
-
-from asyncio import TimeoutError, CancelledError
-from aiohttp.client_exceptions import ClientError
-
-from nonocaptcha import util
-from nonocaptcha.speech import Amazon, Azure, Sphinx, DeepSpeech, AzureSpeech
-from nonocaptcha.base import Base
-from nonocaptcha.exceptions import DownloadError, ReloadError, TryAgain
-
-
-class SolveAudio(Base):
- def __init__(self, page, loop, proxy, proxy_auth, proc_id):
- self.page = page
- self.loop = loop
- self.proxy = proxy
- self.proxy_auth = proxy_auth
- self.proc_id = proc_id
-
- async def solve_by_audio(self):
- """Go through procedures to solve audio"""
- await self.get_frames()
- for _ in range(10):
- try:
- answer = await self.loop.create_task(self.get_audio_response())
- except DownloadError:
- raise
- except ReloadError:
- raise
- else:
- if not answer:
- continue
- await self.type_audio_response(answer)
- await self.click_verify()
- try:
- result = await self.check_detection(self.animation_timeout)
- except TryAgain:
- continue
- else:
- return result
- else:
- return {"status": "retries_exceeded"}
-
- async def get_audio_response(self):
- """Download audio data then send to speech-to-text API for answer"""
- try:
- audio_url = await self.image_frame.evaluate(
- 'jQuery("#audio-source").attr("src")')
- if not isinstance(audio_url, str):
- raise DownloadError(f"Audio url is not valid, expected `str`"
- "instead received {type(audio_url)}")
- except CancelledError:
- raise DownloadError("Audio url not found, aborting")
-
- self.log("Downloading audio file")
- try:
- audio_data = await self.loop.create_task(
- util.get_page(
- audio_url,
- proxy=self.proxy,
- proxy_auth=self.proxy_auth,
- binary=True,
- timeout=self.page_load_timeout))
- except ClientError as e:
- self.log(f"Error `{e}` occured during audio download, retrying")
- else:
- answer = None
- service = self.speech_service.lower()
- if service in [
- "azure",
- "pocketsphinx",
- "deepspeech",
- "azurespeech"
- ]:
- if service == "azurespeech":
- speech = AzureSpeech()
- elif service == "azure":
- speech = Azure()
- elif service == "pocketsphinx":
- speech = Sphinx()
- else:
- speech = DeepSpeech()
- tmpd = tempfile.mkdtemp()
- tmpf = os.path.join(tmpd, "audio.mp3")
- await util.save_file(tmpf, data=audio_data, binary=True)
- answer = await self.loop.create_task(speech.get_text(tmpf))
- shutil.rmtree(tmpd)
- else:
- speech = Amazon()
- answer = await self.loop.create_task(
- speech.get_text(audio_data))
- if answer:
- self.log(f'Received answer "{answer}"')
- return answer
-
- self.log("No answer, reloading")
- await self.click_reload_button()
- func = (
- f'"{audio_url}" !== '
- f'jQuery(".rc-audiochallenge-tdownload-link").attr("href")')
- try:
- await self.image_frame.waitForFunction(
- func, timeout=self.animation_timeout)
- except TimeoutError:
- raise ReloadError("Download link never updated")
-
- async def type_audio_response(self, answer):
- self.log("Typing audio response")
- response_input = await self.image_frame.J("#audio-response")
- length = random.uniform(70, 130)
- await self.loop.create_task(
- response_input.type(text=answer, delay=length))
-
- async def click_verify(self):
- self.log("Clicking verify")
- verify_button = await self.image_frame.J("#recaptcha-verify-button"
- )
- await self.click_button(verify_button)
diff --git a/nonocaptcha/base.py b/nonocaptcha/base.py
deleted file mode 100644
index ff1fded..0000000
--- a/nonocaptcha/base.py
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-""" Base module. """
-
-import asyncio
-import logging
-import os
-import random
-
-from nonocaptcha import package_dir
-from nonocaptcha.exceptions import SafePassage, TryAgain
-
-FORMAT = "%(asctime)s %(message)s"
-logging.basicConfig(format=FORMAT)
-
-try:
- import yaml
- with open("nonocaptcha.yaml") as f:
- settings = yaml.load(f)
-except FileNotFoundError:
- print(
- "Solver can't run without a configuration file!\n"
- "An example (nonocaptcha.example.yaml) has been copied to your folder."
- )
-
- import sys
- from shutil import copyfile
-
- copyfile(
- f"{package_dir}/nonocaptcha.example.yaml", "nonocaptcha.example.yaml")
- sys.exit(0)
-
-
-class Clicker:
- @staticmethod
- async def click_button(button):
- click_delay = random.uniform(30, 170)
- await button.click(delay=click_delay)
-
-
-class Base(Clicker):
- logger = logging.getLogger(__name__)
- if settings["debug"]:
- logger.setLevel("DEBUG")
- proc_id = 0
- headless = settings["headless"]
- should_block_images = settings["block_images"]
- page_load_timeout = settings["timeout"]["page_load"] * 1000
- iframe_timeout = settings["timeout"]["iframe"] * 1000
- animation_timeout = settings["timeout"]["animation"] * 1000
- speech_service = settings["speech"]["service"]
- deface_data = os.path.join(package_dir, settings["data"]["deface_html"])
- jquery_data = os.path.join(package_dir, settings["data"]["jquery_js"])
- override_data = os.path.join(package_dir, settings["data"]["override_js"])
-
- async def get_frames(self):
- self.checkbox_frame = next(
- frame for frame in self.page.frames if "api2/anchor" in frame.url
- )
- self.image_frame = next(
- frame for frame in self.page.frames if "api2/bframe" in frame.url
- )
-
- async def click_reload_button(self):
- reload_button = await self.image_frame.J("#recaptcha-reload-button")
- await self.click_button(reload_button)
-
- async def check_detection(self, timeout):
- """Checks if "Try again later", "please solve more" modal appears
- or success"""
-
- func = """(function() {
- checkbox_frame = parent.window.jQuery(
- "iframe[src*='api2/anchor']").contents();
- image_frame = parent.window.jQuery(
- "iframe[src*='api2/bframe']").contents();
-
- var bot_header = jQuery(".rc-doscaptcha-header-text", image_frame)
- if(bot_header.length){
- if(bot_header.text().indexOf("Try again later") > -1){
- parent.window.wasdetected = true;
- return true;
- }
- }
-
- var try_again_header = jQuery(
- ".rc-audiochallenge-error-message", image_frame)
- if(try_again_header.length){
- if(try_again_header.text().indexOf("please solve more") > -1){
- try_again_header.text('Trying again...')
- parent.window.tryagain = true;
- return true;
- }
- }
-
- var checkbox_anchor = jQuery("#recaptcha-anchor", checkbox_frame);
- if(checkbox_anchor.attr("aria-checked") === "true"){
- parent.window.success = true;
- return true;
- }
-
-})()"""
- try:
- await self.page.waitForFunction(func, timeout=timeout)
- except asyncio.TimeoutError:
- raise SafePassage()
- else:
- if await self.page.evaluate("parent.window.wasdetected === true;"):
- status = "detected"
- elif await self.page.evaluate("parent.window.success === true"):
- status = "success"
- elif await self.page.evaluate("parent.window.tryagain === true"):
- await self.page.evaluate("parent.window.tryagain = false;")
- raise TryAgain()
-
- return {"status": status}
-
- def log(self, message):
- self.logger.debug(f"{self.proc_id} {message}")
diff --git a/nonocaptcha/data/deface.html b/nonocaptcha/data/deface.html
deleted file mode 100644
index 826cd62..0000000
--- a/nonocaptcha/data/deface.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- nonoCAPTCHA
-
-
-
-
-
-
-
-
diff --git a/nonocaptcha/data/override.js b/nonocaptcha/data/override.js
deleted file mode 100644
index 4102070..0000000
--- a/nonocaptcha/data/override.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-window.ready_eddy = false;
-
-document.addEventListener('DOMContentLoaded', waitondom, false);
-window.RTCPeerConnection = undefined;
-window.webkitRTCPeerConnection = undefined;
-var waitondom = function () {
- for (let frame of window.document.querySelectorAll('iframe')){
- if (frame.contentWindow !== "undefined") {
- for (const key of Object.keys(_navigator)) {
- obj = frame.contentWindow.navigator;
- Object.defineProperty(obj, key, {
- value: _navigator[key]
- });
- }
- }
- }
-}
-
-for (const key of Object.keys(_navigator)) {
- obj = window.navigator;
- Object.defineProperty(obj, key, {
- value: _navigator[key]
- });
-}
-
-jQuery.noConflict();
diff --git a/nonocaptcha/image.py b/nonocaptcha/image.py
deleted file mode 100644
index f149232..0000000
--- a/nonocaptcha/image.py
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-""" ***IN TESTING*** """
-
-import os
-import asyncio
-import threading
-from PIL import Image
-from http.server import HTTPServer, BaseHTTPRequestHandler
-
-from nonocaptcha import util
-from nonocaptcha.base import Base, settings
-from nonocaptcha import package_dir
-
-PICTURES = os.path.join(package_dir, settings['data']['pictures'])
-
-
-class Handler(BaseHTTPRequestHandler):
- base_path = None
-
- def do_GET(self):
- self.send_response(200)
- self.end_headers()
- image_file = os.path.join(self.base_path, self.path.lstrip('/'))
- self.wfile.write(open(image_file, 'rb').read())
-
-
-class SolveImage(Base):
- url = 'https://www.google.com/searchbyimage?site=search&sa=X&image_url='
- ip_address = 'http://91.121.226.109'
-
- def __init__(self, browser, image_frame, proxy, proxy_auth, proc_id):
- self.browser = browser
- self.image_frame = image_frame
- self.proxy = proxy
- self.proxy_auth = proxy_auth
- self.proc_id = proc_id
- self.cur_image_path = None
- self.title = None
- self.pieces = None
-
- async def get_images(self):
- table = await self.image_frame.querySelector('table')
- rows = await table.querySelectorAll('tr')
- for row in rows:
- cells = await row.querySelectorAll('td')
- for cell in cells:
- yield cell
-
- async def is_solvable(self):
- el = await self.get_description_element()
- desc = await self.image_frame.evaluate('el => el.innerText', el)
- return 'images' in desc
-
- async def pictures_of(self):
- el = await self.get_description_element()
- of = await self.image_frame.evaluate(
- 'el => el.firstElementChild.innerText', el
- )
- return of.lstrip('a ')
-
- async def get_description_element(self):
- name1 = await self.image_frame.querySelector('.rc-imageselect-desc')
- name2 = await self.image_frame.querySelector(
- '.rc-imageselect-desc-no-canonical'
- )
- return name1 if name1 else name2
-
- async def cycle_to_solvable(self):
- while not await self.is_solvable() or await self.image_no() != 9:
- await self.click_reload_button()
-
- async def solve_by_image(self):
- await self.cycle_to_solvable()
- title = await self.pictures_of()
- pieces = 9 # TODO: crop other sizes
- image = await self.download_image()
- self.title = title
- print(f'Image of {title}')
- self.pieces = pieces
- os.mkdir(PICTURES)
- self.cur_image_path = os.path.join(PICTURES, f'{hash(image)}')
- os.mkdir(self.cur_image_path)
- file_path = os.path.join(self.cur_image_path, f'{title}.jpg')
- await util.save_file(file_path, image, binary=True)
- image_obj = Image.open(file_path)
- util.split_image(image_obj, pieces, self.cur_image_path)
- self.start_app()
- queries = [self.reverse_image_search(i) for i in range(pieces)]
- results = await asyncio.gather(*queries, return_exceptions=True)
- for r in results:
- if isinstance(r, tuple) and r[1] is True:
- pass
- # TODO: return a list of numbers corresponding to image index
-
- return {'status': '?'}
-
- async def get_image_url(self):
- image_url = (
- 'document.getElementsByClassName("rc-image-tile-wrapper")[0].'
- 'getElementsByTagName("img")[0].src'
- )
- return await self.image_frame.evaluate(image_url)
-
- async def image_no(self):
- return len([i async for i in self.get_images()])
-
- async def download_image(self):
- image_url = await self.get_image_url()
- return await util.get_page(
- image_url, self.proxy, self.proxy_auth, binary=True
- )
-
- async def reverse_image_search(self, image_no):
- image_path = f'{self.ip_address}:8080/{image_no}.jpg'
- url = self.url + image_path
- page = await self.browser.newPage()
- await page.goto(url)
- card = await page.querySelector('div.card-section')
- if card:
- best_guess = await page.evaluate('el => el.children[1].innerText',
- card)
- print(image_no, best_guess)
- else:
- best_guess = ''
- await asyncio.sleep(100)
- await page.close()
- return self.title in best_guess
-
- def start_app(self):
- Handler.base_path = self.cur_image_path
- httpd = HTTPServer(('0.0.0.0', 8080), Handler)
- threading.Thread(target=httpd.serve_forever).start()
diff --git a/nonocaptcha/launcher.py b/nonocaptcha/launcher.py
deleted file mode 100644
index 2c3030c..0000000
--- a/nonocaptcha/launcher.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# !/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-""" Launcher module. Workarounds to launch browsers asynchronously. """
-
-import asyncio
-import json
-import logging
-import os
-
-from urllib.request import urlopen
-from urllib.error import URLError
-
-from pyppeteer import launcher
-from pyppeteer.browser import Browser
-from pyppeteer.connection import Connection
-from pyppeteer.errors import BrowserError
-from pyppeteer.util import check_chromium, chromium_executable
-from pyppeteer.util import download_chromium, merge_dict, get_free_port
-
-
-class Launcher(launcher.Launcher):
- """Chrome parocess launcher class."""
-
- def __init__(self, options, # noqa: C901
- **kwargs) -> None:
- """Make new launcher."""
- self.options = merge_dict(options, kwargs)
- self.port = get_free_port()
- self.url = f'http://127.0.0.1:{self.port}'
- self.chrome_args = [f'--remote-debugging-port={self.port}']
- self._loop = self.options.get('loop', asyncio.get_event_loop())
-
- logLevel = self.options.get('logLevel')
- if logLevel:
- logging.getLogger('pyppeteer').setLevel(logLevel)
- self.chromeClosed = True
- if self.options.get('appMode', False):
- self.options['headless'] = False
- self._tmp_user_data_dir = None
- self._parse_args()
- if self.options.get('devtools'):
- self.chrome_args.append('--auto-open-devtools-for-tabs')
- self.options['headless'] = False
- if 'headless' not in self.options or self.options.get('headless'):
- self.chrome_args.extend([
- '--headless',
- '--disable-gpu',
- '--hide-scrollbars',
- '--mute-audio',
- ])
- if 'executablePath' in self.options:
- self.exec = self.options['executablePath']
- else:
- if not check_chromium():
- download_chromium()
- self.exec = str(chromium_executable())
- self.cmd = [self.exec] + self.chrome_args
-
- async def launch(self):
- self.chromeClosed = False
- self.connection = None
- env = self.options.get("env")
- self.proc = await asyncio.subprocess.create_subprocess_exec(
- *self.cmd,
- stdout=asyncio.subprocess.DEVNULL,
- stderr=asyncio.subprocess.DEVNULL,
- env=env,
- )
- # Signal handlers for exits used to be here
- connectionDelay = self.options.get("slowMo", 0)
- self.browserWSEndpoint = await self._get_ws_endpoint()
- self.connection = Connection(
- self.browserWSEndpoint, self._loop, connectionDelay)
- return await Browser.create(
- self.connection, self.options, self.proc, self.killChrome)
-
- async def _get_ws_endpoint(self) -> str:
- url = self.url + '/json/version'
- while self.proc.returncode is None:
- await asyncio.sleep(0.1)
- try:
- with urlopen(url) as f:
- data = json.loads(f.read().decode())
- break
- except URLError:
- continue
- else:
- raise BrowserError(
- 'Browser closed unexpectedly:\n{}'.format(
- await self.proc.stdout.read().decode()
- )
- )
- return data['webSocketDebuggerUrl']
-
- async def waitForChromeToClose(self):
- if self.proc.returncode is None and not self.chromeClosed:
- self.chromeClosed = True
- try:
- self.proc.terminate()
- await self.proc.wait()
- except (OSError, ProcessLookupError):
- pass
-
- async def killChrome(self):
- """Terminate chromium process."""
- if self.connection and self.connection._connected:
- try:
- await self.connection.send("Browser.close")
- await self.connection.dispose()
- except Exception:
- pass
- if self._tmp_user_data_dir and os.path.exists(self._tmp_user_data_dir):
- # Force kill chrome only when using temporary userDataDir
- await self.waitForChromeToClose()
- self._cleanup_tmp_user_data_dir()
diff --git a/nonocaptcha/solver.py b/nonocaptcha/solver.py
deleted file mode 100644
index 0b480c7..0000000
--- a/nonocaptcha/solver.py
+++ /dev/null
@@ -1,356 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-""" Solver module. """
-
-import asyncio
-import json
-import sys
-import time
-import traceback
-
-from pyppeteer.util import merge_dict
-from user_agent import generate_navigator_js
-
-from nonocaptcha import util
-from nonocaptcha.base import Base
-from nonocaptcha.audio import SolveAudio
-from nonocaptcha.image import SolveImage
-from nonocaptcha.launcher import Launcher
-from nonocaptcha.exceptions import (SafePassage, ButtonError, IframeError,
- PageError)
-
-
-class Solver(Base):
- browser = None
- launcher = None
- proc_count = 0
- proc = None
-
- def __init__(
- self,
- pageurl,
- sitekey,
- loop=None,
- proxy=None,
- proxy_auth=None,
- options={},
- enable_injection=True, # Required for pages that don't initially
- # render the widget.
- retain_source=True, # Pre-load page source and insert widget code.
- # Useful for bypassing high-security thresholds.
- # This can cause problems if the page has a widget
- # already or doesn't include a
tag.
- **kwargs
- ):
- self.options = merge_dict(options, kwargs)
- self.url = pageurl
- self.sitekey = sitekey
- self.loop = loop or asyncio.get_event_loop()
- self.proxy = f"http://{proxy}" if proxy else proxy
- self.proxy_auth = proxy_auth
- self.enable_injection = enable_injection
- self.retain_source = retain_source
- self.proc_id = self.proc_count
- type(self).proc_count += 1
-
- async def start(self):
- """Begin solving"""
- start = time.time()
- result = None
- try:
- self.browser = await self.get_new_browser()
- self.page = await self.browser.newPage()
- if self.should_block_images:
- await self.block_images()
- if self.enable_injection:
- await self.inject_widget()
- if self.proxy_auth:
- await self.page.authenticate(self.proxy_auth)
- self.log(f"Starting solver with proxy {self.proxy}")
- await self.set_bypass_csp()
- await self.goto()
- await self.wait_for_frames()
- result = await self.solve()
- except BaseException as e:
- print(traceback.format_exc())
- self.log(f"{e} {type(e)}")
- except Exception as e:
- traceback.print_exc(file=sys.stdout)
- raise e
- finally:
- if isinstance(result, dict):
- status = result['status'].capitalize()
- self.log(f"Result: {status}")
- end = time.time()
- elapsed = end - start
- await self.cleanup()
- self.log(f"Time elapsed: {elapsed}")
- return result
-
- async def inject_widget(self):
- def insert(source="