├── CNAME ├── docs ├── .gitignore ├── requirements.txt ├── source │ ├── index.rst │ ├── lineage.rst │ └── conf.py ├── Makefile └── make.bat ├── requirements.txt ├── tests ├── fixtures │ ├── 01_Just_A_Text_File.txt │ ├── 1_Intro.ipynb │ ├── _4_Python_Private.ipynb │ ├── 1_Some_Extras │ │ └── 1_Intro_In_Sub.ipynb │ ├── Header.ipynb │ ├── .ipynb_checkpoints │ │ ├── 1_Intro-checkpoint.ipynb │ │ ├── _4_Python_Private-checkpoint.ipynb │ │ ├── Header-checkpoint.ipynb │ │ ├── 3_Conclusion-checkpoint.ipynb │ │ └── 2_Middle-checkpoint.ipynb │ ├── 3_Conclusion.ipynb │ └── 2_Middle.ipynb └── test_merge.py ├── .gitignore ├── setup.cfg ├── MANIFEST.in ├── .travis.yml ├── appveyor.yml ├── LICENSE ├── README.rst ├── cli_tests.sh ├── setup.py └── nbmerge └── __init__.py /CNAME: -------------------------------------------------------------------------------- 1 | nbmerge.falsifiable.com -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | nbformat 2 | -------------------------------------------------------------------------------- /tests/fixtures/01_Just_A_Text_File.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx_rtd_theme 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | nbmerge.egg-info/ 3 | build/ 4 | .coverage 5 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | universal = 1 3 | 4 | [metadata] 5 | license_file = LICENSE 6 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.rst *.txt LICENSE tox.ini .travis.yml docs/Makefile .coveragerc conftest.py 2 | recursive-include tests *.py 3 | recursive-include docs *.rst 4 | recursive-include docs *.py 5 | prune docs/_build 6 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | Welcome to nbmerge's documentation! 2 | =================================== 3 | 4 | .. include:: ../../README.rst 5 | 6 | .. toctree:: 7 | :maxdepth: 2 8 | :caption: Contents: 9 | 10 | lineage 11 | 12 | 13 | 14 | Indices and tables 15 | ================== 16 | 17 | * :ref:`genindex` 18 | * :ref:`modindex` 19 | * :ref:`search` 20 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - nightly 4 | - 3.6 5 | - 3.5 6 | - 3.4 7 | - 3.3 8 | - 2.7 9 | install: 10 | - pip install -r requirements.txt 11 | - pip install . 12 | - pip install nose coveralls 13 | script: 14 | - coverage run --source=nbmerge setup.py nosetests 15 | - ./cli_tests.sh 16 | after_success: coveralls 17 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | 3 | matrix: 4 | - PYTHON: "C:\\Python27" 5 | - PYTHON: "C:\\Python33" 6 | - PYTHON: "C:\\Python34" 7 | - PYTHON: "C:\\Python35" 8 | - PYTHON: "C:\\Python27-x64" 9 | - PYTHON: "C:\\Python33-x64" 10 | DISTUTILS_USE_SDK: "1" 11 | - PYTHON: "C:\\Python34-x64" 12 | DISTUTILS_USE_SDK: "1" 13 | - PYTHON: "C:\\Python35-x64" 14 | 15 | install: 16 | - "%PYTHON%\\python.exe -m pip install nose coveralls" 17 | - "%PYTHON%\\python.exe -m pip install -r requirements.txt" 18 | - "%PYTHON%\\python.exe -m pip install ." 19 | 20 | test_script: 21 | - "%PYTHON%\\python.exe setup.py nosetests" 22 | 23 | build: off 24 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = python -msphinx 7 | SPHINXPROJ = nbmerge 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | s3upload: 18 | s3cmd sync build/html/ s3://nbmerge.falsifiable.com/ 19 | 20 | # Catch-all target: route all unknown targets to Sphinx using the new 21 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 22 | %: Makefile 23 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 24 | -------------------------------------------------------------------------------- /tests/fixtures/1_Intro.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 1" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Some markdown." 15 | ] 16 | } 17 | ], 18 | "metadata": { 19 | "kernelspec": { 20 | "display_name": "Python 3", 21 | "language": "python", 22 | "name": "python3" 23 | }, 24 | "language_info": { 25 | "codemirror_mode": { 26 | "name": "ipython", 27 | "version": 3 28 | }, 29 | "file_extension": ".py", 30 | "mimetype": "text/x-python", 31 | "name": "python", 32 | "nbconvert_exporter": "python", 33 | "pygments_lexer": "ipython3", 34 | "version": "3.5.2" 35 | }, 36 | "test_meta": { 37 | "title": "Page 1" 38 | } 39 | }, 40 | "nbformat": 4, 41 | "nbformat_minor": 2 42 | } 43 | -------------------------------------------------------------------------------- /tests/fixtures/_4_Python_Private.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "Hidden, Normally" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": { 14 | "collapsed": true 15 | }, 16 | "outputs": [], 17 | "source": [] 18 | } 19 | ], 20 | "metadata": { 21 | "kernelspec": { 22 | "display_name": "Python 3", 23 | "language": "python", 24 | "name": "python3" 25 | }, 26 | "language_info": { 27 | "codemirror_mode": { 28 | "name": "ipython", 29 | "version": 3 30 | }, 31 | "file_extension": ".py", 32 | "mimetype": "text/x-python", 33 | "name": "python", 34 | "nbconvert_exporter": "python", 35 | "pygments_lexer": "ipython3", 36 | "version": "3.5.2" 37 | } 38 | }, 39 | "nbformat": 4, 40 | "nbformat_minor": 2 41 | } 42 | -------------------------------------------------------------------------------- /tests/fixtures/1_Some_Extras/1_Intro_In_Sub.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Sub Notebook" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": { 14 | "collapsed": true 15 | }, 16 | "outputs": [], 17 | "source": [] 18 | } 19 | ], 20 | "metadata": { 21 | "kernelspec": { 22 | "display_name": "Python 3", 23 | "language": "python", 24 | "name": "python3" 25 | }, 26 | "language_info": { 27 | "codemirror_mode": { 28 | "name": "ipython", 29 | "version": 3 30 | }, 31 | "file_extension": ".py", 32 | "mimetype": "text/x-python", 33 | "name": "python", 34 | "nbconvert_exporter": "python", 35 | "pygments_lexer": "ipython3", 36 | "version": "3.5.2" 37 | } 38 | }, 39 | "nbformat": 4, 40 | "nbformat_minor": 2 41 | } 42 | -------------------------------------------------------------------------------- /tests/fixtures/Header.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# In the beginning, there was House Music" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": { 14 | "collapsed": true 15 | }, 16 | "outputs": [], 17 | "source": [] 18 | } 19 | ], 20 | "metadata": { 21 | "kernelspec": { 22 | "display_name": "Python 3", 23 | "language": "python", 24 | "name": "python3" 25 | }, 26 | "language_info": { 27 | "codemirror_mode": { 28 | "name": "ipython", 29 | "version": 3 30 | }, 31 | "file_extension": ".py", 32 | "mimetype": "text/x-python", 33 | "name": "python", 34 | "nbconvert_exporter": "python", 35 | "pygments_lexer": "ipython3", 36 | "version": "3.5.2" 37 | } 38 | }, 39 | "nbformat": 4, 40 | "nbformat_minor": 2 41 | } 42 | -------------------------------------------------------------------------------- /tests/fixtures/.ipynb_checkpoints/1_Intro-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 1" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Some markdown." 15 | ] 16 | } 17 | ], 18 | "metadata": { 19 | "kernelspec": { 20 | "display_name": "Python 3", 21 | "language": "python", 22 | "name": "python3" 23 | }, 24 | "language_info": { 25 | "codemirror_mode": { 26 | "name": "ipython", 27 | "version": 3 28 | }, 29 | "file_extension": ".py", 30 | "mimetype": "text/x-python", 31 | "name": "python", 32 | "nbconvert_exporter": "python", 33 | "pygments_lexer": "ipython3", 34 | "version": "3.5.2" 35 | }, 36 | "test_meta": { 37 | "title": "Page 1" 38 | } 39 | }, 40 | "nbformat": 4, 41 | "nbformat_minor": 2 42 | } 43 | -------------------------------------------------------------------------------- /tests/fixtures/.ipynb_checkpoints/_4_Python_Private-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "Hidden, Normally" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": { 14 | "collapsed": true 15 | }, 16 | "outputs": [], 17 | "source": [] 18 | } 19 | ], 20 | "metadata": { 21 | "kernelspec": { 22 | "display_name": "Python 3", 23 | "language": "python", 24 | "name": "python3" 25 | }, 26 | "language_info": { 27 | "codemirror_mode": { 28 | "name": "ipython", 29 | "version": 3 30 | }, 31 | "file_extension": ".py", 32 | "mimetype": "text/x-python", 33 | "name": "python", 34 | "nbconvert_exporter": "python", 35 | "pygments_lexer": "ipython3", 36 | "version": "3.5.2" 37 | } 38 | }, 39 | "nbformat": 4, 40 | "nbformat_minor": 2 41 | } 42 | -------------------------------------------------------------------------------- /tests/fixtures/.ipynb_checkpoints/Header-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# In the beginning, there was House Music" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": { 14 | "collapsed": true 15 | }, 16 | "outputs": [], 17 | "source": [] 18 | } 19 | ], 20 | "metadata": { 21 | "kernelspec": { 22 | "display_name": "Python 3", 23 | "language": "python", 24 | "name": "python3" 25 | }, 26 | "language_info": { 27 | "codemirror_mode": { 28 | "name": "ipython", 29 | "version": 3 30 | }, 31 | "file_extension": ".py", 32 | "mimetype": "text/x-python", 33 | "name": "python", 34 | "nbconvert_exporter": "python", 35 | "pygments_lexer": "ipython3", 36 | "version": "3.5.2" 37 | } 38 | }, 39 | "nbformat": 4, 40 | "nbformat_minor": 2 41 | } 42 | -------------------------------------------------------------------------------- /tests/fixtures/3_Conclusion.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 3" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": { 13 | "collapsed": true 14 | }, 15 | "source": [ 16 | "The end." 17 | ] 18 | } 19 | ], 20 | "metadata": { 21 | "final_answer": 42, 22 | "kernelspec": { 23 | "display_name": "Python 3", 24 | "language": "python", 25 | "name": "python3" 26 | }, 27 | "language_info": { 28 | "codemirror_mode": { 29 | "name": "ipython", 30 | "version": 3 31 | }, 32 | "file_extension": ".py", 33 | "mimetype": "text/x-python", 34 | "name": "python", 35 | "nbconvert_exporter": "python", 36 | "pygments_lexer": "ipython3", 37 | "version": "3.5.2" 38 | }, 39 | "test_meta": { 40 | "title": "Page 3" 41 | } 42 | }, 43 | "nbformat": 4, 44 | "nbformat_minor": 2 45 | } 46 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=python -msphinx 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | set SPHINXPROJ=nbmerge 13 | 14 | if "%1" == "" goto help 15 | 16 | %SPHINXBUILD% >NUL 2>NUL 17 | if errorlevel 9009 ( 18 | echo. 19 | echo.The Sphinx module was not found. Make sure you have Sphinx installed, 20 | echo.then set the SPHINXBUILD environment variable to point to the full 21 | echo.path of the 'sphinx-build' executable. Alternatively you may add the 22 | echo.Sphinx directory to PATH. 23 | echo. 24 | echo.If you don't have Sphinx installed, grab it from 25 | echo.http://sphinx-doc.org/ 26 | exit /b 1 27 | ) 28 | 29 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 30 | goto end 31 | 32 | :help 33 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 34 | 35 | :end 36 | popd 37 | -------------------------------------------------------------------------------- /tests/fixtures/.ipynb_checkpoints/3_Conclusion-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 3" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": { 13 | "collapsed": true 14 | }, 15 | "source": [ 16 | "The end." 17 | ] 18 | } 19 | ], 20 | "metadata": { 21 | "final_answer": 42, 22 | "kernelspec": { 23 | "display_name": "Python 3", 24 | "language": "python", 25 | "name": "python3" 26 | }, 27 | "language_info": { 28 | "codemirror_mode": { 29 | "name": "ipython", 30 | "version": 3 31 | }, 32 | "file_extension": ".py", 33 | "mimetype": "text/x-python", 34 | "name": "python", 35 | "nbconvert_exporter": "python", 36 | "pygments_lexer": "ipython3", 37 | "version": "3.5.2" 38 | }, 39 | "test_meta": { 40 | "title": "Page 3" 41 | } 42 | }, 43 | "nbformat": 4, 44 | "nbformat_minor": 2 45 | } 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 John Bjorn Nelson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/source/lineage.rst: -------------------------------------------------------------------------------- 1 | Lineage 2 | ======= 3 | 4 | `@fperez `__ wrote an 5 | `nbmerge.py `__ 6 | script which "Merge[s]/concatenate[s] multiple IPython notebooks into 7 | one." I use it a lot. Evidently, `other people do, 8 | too `__. 9 | In early 2016, he opened an `issue to add the script as an nbconvert 10 | tool `__, but nothing 11 | came of it. However, he and `@Carreau `__ came up 12 | with good (i.e. unsurprising) `semantics for metadata merging and 13 | notebook 14 | naming `__: 15 | 16 | .. code:: python 17 | 18 | metadata = {} 19 | for n in reversed(notebooks): 20 | metadata.update(n.metadata) 21 | 22 | 23 | I don't think it's possible to implement the merger as a preprocessor. 24 | Preprocessors are stateless, so you can't implement a reduce operation. 25 | Instead, I wrote (er, packaged up) this library as an 26 | `nbstripoutput `__-like package . 27 | It fits in a ``Makefile`` script just fine. 28 | 29 | Right now, only the basic (originally fperez's) functionality is 30 | implemented. However, I'm going to follow 31 | `kynan's `__ lead and slowly pull in functionality 32 | similar to his ``nbstripout`` package. 33 | 34 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | .. image:: https://travis-ci.org/jbn/nbmerge.svg?branch=master 2 | :target: https://travis-ci.org/jbn/nbmerge 3 | .. image:: https://ci.appveyor.com/api/projects/status/69kj3prrrieyp8q2/branch/master?svg=true 4 | :target: https://ci.appveyor.com/project/jbn/nbmerge/branch/master 5 | .. image:: https://coveralls.io/repos/github/jbn/nbmerge/badge.svg?branch=master 6 | :target: https://coveralls.io/github/jbn/nbmerge?branch=master 7 | .. image:: https://img.shields.io/pypi/v/nbmerge.svg 8 | :target: https://pypi.python.org/pypi/nbmerge 9 | .. image:: https://img.shields.io/badge/license-MIT-blue.svg 10 | :target: https://raw.githubusercontent.com/jbn/nbmerge/master/LICENSE 11 | .. image:: https://img.shields.io/pypi/pyversions/nbmerge.svg 12 | :target: https://pypi.python.org/pypi/nbmerge 13 | 14 | 15 | ================================================== 16 | ``nbmerge``: merge / concatenate Jupyter notebooks 17 | ================================================== 18 | 19 | Installation 20 | ============ 21 | 22 | .. code:: sh 23 | 24 | pip install nbmerge 25 | 26 | Usage 27 | ===== 28 | 29 | For the usage as originally specified by 30 | `@fperez `__'s gist, 31 | 32 | .. code:: sh 33 | 34 | nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged.ipynb 35 | 36 | Alternatively, nbmerge can cursively collect all files in the current 37 | directory and below, recursively. After collection, it sorts them 38 | lexicographically. You can use a regular expression as a file name 39 | predicate. All ``.ipynb_checkpoints`` are automatically ignored. And, you 40 | can use the ``-i`` option to ignore any notebook prefixed with an underscore 41 | (think pseudo-private in python). 42 | 43 | For example, the following command collects all notebooks in your project 44 | that have the word ``intro`` in the file name and saves it to a merged file 45 | named ``_merged.ipynb``, 46 | 47 | .. code:: sh 48 | 49 | nbmerge --recursive -i -p ".*intro.*" -o _merged.ipynb 50 | 51 | Finally, you can also instruct the script to demarcate the boundary 52 | between each original file with the ``-b`` / ``-boundary [BOUNDARY]`` flag. 53 | The ``src_nb`` value in the metadata for the first cell in each original 54 | notebook will then contain the path of the original notebook, relative to 55 | the cwd at the point of script execution. 56 | 57 | More details 58 | ============ 59 | 60 | Read the docs: `here `_. 61 | -------------------------------------------------------------------------------- /cli_tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -ev # Fail on first non-zero return value. 4 | 5 | ############################################################################### 6 | # Explicit file paths, explicit output. 7 | ############################################################################### 8 | 9 | nbmerge \ 10 | tests/fixtures/1_Intro.ipynb \ 11 | tests/fixtures/2_Middle.ipynb \ 12 | tests/fixtures/3_Conclusion.ipynb \ 13 | -o cli_test.ipynb 14 | 15 | cmp cli_test.ipynb tests/fixtures/_gold.ipynb 16 | 17 | rm cli_test.ipynb 18 | 19 | ############################################################################### 20 | # Explicit file paths, stdout. 21 | ############################################################################### 22 | 23 | nbmerge \ 24 | tests/fixtures/1_Intro.ipynb \ 25 | tests/fixtures/2_Middle.ipynb \ 26 | tests/fixtures/3_Conclusion.ipynb \ 27 | > cli_test.ipynb 28 | 29 | cmp cli_test.ipynb tests/fixtures/_gold.ipynb 30 | 31 | rm cli_test.ipynb 32 | 33 | 34 | ############################################################################### 35 | # Recursive with a regexp, to stdout. 36 | ############################################################################### 37 | 38 | nbmerge \ 39 | --recursive -i \ 40 | -p "(1_Intro|2_Middle|3_Conclusion)\.ipynb" \ 41 | > cli_test.ipynb 42 | 43 | cmp cli_test.ipynb tests/fixtures/_gold.ipynb 44 | 45 | ############################################################################### 46 | # Recursive with a regexp, explicit output. 47 | ############################################################################### 48 | 49 | nbmerge \ 50 | --recursive -i \ 51 | -p "(1_Intro|2_Middle|3_Conclusion)\.ipynb" \ 52 | -o cli_test.ipynb 53 | 54 | cmp cli_test.ipynb tests/fixtures/_gold.ipynb 55 | 56 | rm cli_test.ipynb 57 | 58 | ############################################################################### 59 | # Recursive with a regexp and explict input, explicit output. 60 | ############################################################################### 61 | 62 | nbmerge \ 63 | --recursive -i \ 64 | -p "(2_Middle|3_Conclusion)\.ipynb" \ 65 | -o cli_test.ipynb \ 66 | tests/fixtures/1_Intro.ipynb 67 | 68 | cmp cli_test.ipynb tests/fixtures/_gold.ipynb 69 | 70 | rm cli_test.ipynb 71 | 72 | ############################################################################### 73 | # When called without any arguments, nbmerge should emit a usage message. 74 | ############################################################################### 75 | 76 | (! nbmerge ) | grep -q usage 77 | 78 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import codecs 2 | import os 3 | import re 4 | 5 | from setuptools import setup, find_packages 6 | 7 | ############################################################################### 8 | 9 | NAME = 'nbmerge' 10 | 11 | PACKAGES = find_packages(where=".") 12 | 13 | META_PATH = os.path.join("nbmerge", "__init__.py") 14 | 15 | KEYWORDS = ["jupyter", "ipython", "nbconvert"] 16 | 17 | CLASSIFIERS = [ 18 | "Development Status :: 3 - Alpha", 19 | "Framework :: IPython", 20 | "Intended Audience :: Science/Research", 21 | "Natural Language :: English", 22 | "License :: OSI Approved :: MIT License", 23 | "Operating System :: OS Independent", 24 | "Programming Language :: Python", 25 | "Programming Language :: Python :: 2", 26 | "Programming Language :: Python :: 2.6", 27 | "Programming Language :: Python :: 2.7", 28 | "Programming Language :: Python :: 3", 29 | "Programming Language :: Python :: 3.3", 30 | "Programming Language :: Python :: 3.4", 31 | "Programming Language :: Python :: 3.5", 32 | "Programming Language :: Python :: Implementation :: CPython", 33 | "Programming Language :: Python :: Implementation :: PyPy", 34 | "Topic :: Software Development :: Libraries :: Python Modules", 35 | ] 36 | 37 | INSTALL_REQUIRES = [] 38 | 39 | ############################################################################### 40 | 41 | SELF_DIR = os.path.abspath(os.path.dirname(__file__)) 42 | 43 | 44 | def read_file_safely(*path_parts): 45 | with codecs.open(os.path.join(SELF_DIR, *path_parts), "rb", "utf-8") as f: 46 | return f.read() 47 | 48 | 49 | META_FILE = read_file_safely(META_PATH) 50 | 51 | META_VARS_RE = re.compile(r"^__([_a-zA-Z0-9]+)__ = ['\"]([^'\"]*)['\"]", re.M) 52 | 53 | META_VARS = dict(META_VARS_RE.findall(META_FILE)) 54 | 55 | ############################################################################### 56 | 57 | if __name__ == "__main__": 58 | setup( 59 | name=NAME, 60 | entry_points={'console_scripts': ['nbmerge = nbmerge:main']}, 61 | description=META_VARS["description"], 62 | license=META_VARS["license"], 63 | url=META_VARS["uri"], 64 | version=META_VARS["version"], 65 | author=META_VARS["author"], 66 | author_email=META_VARS["email"], 67 | maintainer=META_VARS["author"], 68 | maintainer_email=META_VARS["email"], 69 | keywords=KEYWORDS, 70 | long_description=read_file_safely("README.rst"), 71 | packages=PACKAGES, 72 | package_dir={"": "."}, 73 | zip_safe=False, 74 | classifiers=CLASSIFIERS, 75 | install_requires=INSTALL_REQUIRES, 76 | ) 77 | -------------------------------------------------------------------------------- /tests/test_merge.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import unittest 4 | 5 | from tempfile import mkstemp 6 | from nbformat import reads 7 | from nbmerge import merge_notebooks, main, parse_plan, annotate_source_path 8 | 9 | 10 | SELF_DIR = os.path.abspath(os.path.dirname(__file__)) 11 | 12 | FIXTURES_DIR = os.path.join(SELF_DIR, "fixtures") 13 | 14 | TARGET_NBS = [os.path.join(FIXTURES_DIR, file_name + ".ipynb") 15 | for file_name in ("1_Intro", "2_Middle", "3_Conclusion")] 16 | 17 | 18 | def file_names_from(file_paths): 19 | return [os.path.basename(f) for f in file_paths] 20 | 21 | 22 | class TestMerge(unittest.TestCase): 23 | def setUp(self): 24 | if not hasattr(sys.stdout, "getvalue"): 25 | self.fail("need to run in buffered mode") 26 | 27 | def _validate_merged_three(self, merged): 28 | self.assertEqual(len(merged.cells), 6) 29 | self.assertEqual(merged.metadata['test_meta']['title'], "Page 1") 30 | self.assertEqual(merged.metadata['final_answer'], 42) 31 | 32 | def test_merge_defaults(self): 33 | self._validate_merged_three(merge_notebooks(FIXTURES_DIR, TARGET_NBS)) 34 | 35 | def test_merge_verbose(self): 36 | nb = merge_notebooks(FIXTURES_DIR, TARGET_NBS, verbose=True) 37 | self._validate_merged_three(nb) 38 | lines = sys.stdout.getvalue().splitlines() 39 | self.assertEqual(lines[0].strip(), "Merging notebooks...") 40 | for target, line in zip(TARGET_NBS, lines[1:4]): 41 | self.assertEqual(line.strip(), "Reading `{}`".format(target)) 42 | 43 | def test_merge_with_boundary_key(self): 44 | nb = merge_notebooks(FIXTURES_DIR, TARGET_NBS, boundary_key='xxx') 45 | self._validate_merged_three(nb) 46 | self.assertEqual(nb.cells[0].metadata['xxx'], '1_Intro.ipynb') 47 | self.assertEqual(nb.cells[2].metadata['xxx'], '2_Middle.ipynb') 48 | self.assertEqual(nb.cells[4].metadata['xxx'], '3_Conclusion.ipynb') 49 | 50 | def test_parse_plan(self): 51 | header_nb = os.path.join(FIXTURES_DIR, "Header.ipynb") 52 | plan = parse_plan([header_nb, 53 | "-o", "myfile.ipynb", 54 | "-p", "(_|1|2)_.*", 55 | "-i", "-r", "-v"]) 56 | 57 | self.assertEqual(file_names_from(plan['notebooks']), 58 | ["Header.ipynb", "1_Intro.ipynb", 59 | "1_Intro_In_Sub.ipynb", "2_Middle.ipynb"]) 60 | self.assertTrue(plan["verbose"]) 61 | self.assertEqual(plan["output_file"], "myfile.ipynb") 62 | with self.assertRaises(IOError): 63 | parse_plan(["this-file-doesn't-exist"]) 64 | 65 | def test_annotate_source_path(self): 66 | nb_path = os.path.join(FIXTURES_DIR, "1_Intro.ipynb") 67 | with open(nb_path, "r") as fp: 68 | nb = reads(fp.read(), as_version=4) 69 | annotate_source_path(nb, SELF_DIR, nb_path, "xylophone") 70 | self.assertEqual(nb.cells[0].metadata['xylophone'], 71 | os.path.join('fixtures', '1_Intro.ipynb')) 72 | 73 | def test_main_to_stdout(self): 74 | main(TARGET_NBS) 75 | self._validate_merged_three(reads(sys.stdout.getvalue(), as_version=4)) 76 | 77 | def test_main_to_file(self): 78 | _, path = mkstemp() 79 | 80 | try: 81 | main(TARGET_NBS + ["-o", path]) 82 | with open(path) as fp: 83 | self._validate_merged_three(reads(fp.read(), as_version=4)) 84 | except: 85 | os.unlink(path) 86 | -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | # 4 | # nbmerge documentation build configuration file, created by 5 | # sphinx-quickstart on Sat Nov 11 07:22:57 2017. 6 | # 7 | # This file is execfile()d with the current directory set to its 8 | # containing dir. 9 | # 10 | # Note that not all possible configuration values are present in this 11 | # autogenerated file. 12 | # 13 | # All configuration values have a default; values that are commented out 14 | # serve to show the default. 15 | 16 | # If extensions (or modules to document with autodoc) are in another directory, 17 | # add these directories to sys.path here. If the directory is relative to the 18 | # documentation root, use os.path.abspath to make it absolute, like shown here. 19 | # 20 | # import os 21 | # import sys 22 | # sys.path.insert(0, os.path.abspath('.')) 23 | 24 | 25 | # -- General configuration ------------------------------------------------ 26 | 27 | # If your documentation needs a minimal Sphinx version, state it here. 28 | # 29 | # needs_sphinx = '1.0' 30 | 31 | # Add any Sphinx extension module names here, as strings. They can be 32 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 33 | # ones. 34 | extensions = [] 35 | 36 | # Add any paths that contain templates here, relative to this directory. 37 | templates_path = ['_templates'] 38 | 39 | # The suffix(es) of source filenames. 40 | # You can specify multiple suffix as a list of string: 41 | # 42 | # source_suffix = ['.rst', '.md'] 43 | 44 | source_suffix = ['.rst', '.md'] 45 | 46 | source_parsers = { 47 | '.md': 'recommonmark.parser.CommonMarkParser', 48 | } 49 | 50 | # The master toctree document. 51 | master_doc = 'index' 52 | 53 | # General information about the project. 54 | project = 'nbmerge' 55 | copyright = '2017, John Bjorn Nelson' 56 | author = 'John Bjorn Nelson' 57 | 58 | # The version info for the project you're documenting, acts as replacement for 59 | # |version| and |release|, also used in various other places throughout the 60 | # built documents. 61 | # 62 | # The short X.Y version. 63 | version = 'v0.0.4' 64 | # The full version, including alpha/beta/rc tags. 65 | release = 'v0.0.4' 66 | 67 | # The language for content autogenerated by Sphinx. Refer to documentation 68 | # for a list of supported languages. 69 | # 70 | # This is also used if you do content translation via gettext catalogs. 71 | # Usually you set "language" from the command line for these cases. 72 | language = None 73 | 74 | # List of patterns, relative to source directory, that match files and 75 | # directories to ignore when looking for source files. 76 | # This patterns also effect to html_static_path and html_extra_path 77 | exclude_patterns = [] 78 | 79 | # The name of the Pygments (syntax highlighting) style to use. 80 | pygments_style = 'sphinx' 81 | 82 | # If true, `todo` and `todoList` produce output, else they produce nothing. 83 | todo_include_todos = False 84 | 85 | 86 | # -- Options for HTML output ---------------------------------------------- 87 | 88 | # The theme to use for HTML and HTML Help pages. See the documentation for 89 | # a list of builtin themes. 90 | 91 | # html_theme = 'alabaster' 92 | try: 93 | import sphinx_rtd_theme 94 | html_theme = "sphinx_rtd_theme" 95 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] 96 | except ImportError: 97 | pass 98 | 99 | # Theme options are theme-specific and customize the look and feel of a theme 100 | # further. For a list of options available for each theme, see the 101 | # documentation. 102 | # 103 | # html_theme_options = {} 104 | 105 | # Add any paths that contain custom static files (such as style sheets) here, 106 | # relative to this directory. They are copied after the builtin static files, 107 | # so a file named "default.css" will overwrite the builtin "default.css". 108 | html_static_path = ['_static'] 109 | 110 | # Custom sidebar templates, must be a dictionary that maps document names 111 | # to template names. 112 | # 113 | # This is required for the alabaster theme 114 | # refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars 115 | html_sidebars = { 116 | '**': [ 117 | 'about.html', 118 | 'navigation.html', 119 | 'relations.html', # needs 'show_related': True theme option to display 120 | 'searchbox.html', 121 | 'donate.html', 122 | ] 123 | } 124 | 125 | 126 | # -- Options for HTMLHelp output ------------------------------------------ 127 | 128 | # Output file base name for HTML help builder. 129 | htmlhelp_basename = 'nbmergedoc' 130 | 131 | 132 | # -- Options for LaTeX output --------------------------------------------- 133 | 134 | latex_elements = { 135 | # The paper size ('letterpaper' or 'a4paper'). 136 | # 137 | # 'papersize': 'letterpaper', 138 | 139 | # The font size ('10pt', '11pt' or '12pt'). 140 | # 141 | # 'pointsize': '10pt', 142 | 143 | # Additional stuff for the LaTeX preamble. 144 | # 145 | # 'preamble': '', 146 | 147 | # Latex figure (float) alignment 148 | # 149 | # 'figure_align': 'htbp', 150 | } 151 | 152 | # Grouping the document tree into LaTeX files. List of tuples 153 | # (source start file, target name, title, 154 | # author, documentclass [howto, manual, or own class]). 155 | latex_documents = [ 156 | (master_doc, 'nbmerge.tex', 'nbmerge Documentation', 157 | 'John Bjorn Nelson', 'manual'), 158 | ] 159 | 160 | 161 | # -- Options for manual page output --------------------------------------- 162 | 163 | # One entry per manual page. List of tuples 164 | # (source start file, name, description, authors, manual section). 165 | man_pages = [ 166 | (master_doc, 'nbmerge', 'nbmerge Documentation', 167 | [author], 1) 168 | ] 169 | 170 | 171 | # -- Options for Texinfo output ------------------------------------------- 172 | 173 | # Grouping the document tree into Texinfo files. List of tuples 174 | # (source start file, target name, title, author, 175 | # dir menu entry, description, category) 176 | texinfo_documents = [ 177 | (master_doc, 'nbmerge', 'nbmerge Documentation', 178 | author, 'nbmerge', 'One line description of project.', 179 | 'Miscellaneous'), 180 | ] 181 | 182 | 183 | 184 | -------------------------------------------------------------------------------- /nbmerge/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | import argparse 3 | import io 4 | import re 5 | import os 6 | import sys 7 | 8 | from nbformat import read as read_notebook 9 | from nbformat import write as write_notebook 10 | 11 | 12 | __title__ = "nbmerge" 13 | __description__ = "A tool to merge / concatenate Jupyter (IPython) notebooks" 14 | __uri__ = "https://github.com/jbn/nbmerge" 15 | __doc__ = __description__ + " <" + __uri__ + ">" 16 | __license__ = "MIT" 17 | __copyright__ = "Copyright (c) 2017 John Bjorn Nelson" 18 | __version__ = "0.0.4" 19 | 20 | # See Readme.rst for ancestry. My role is mostly packaging this up for 21 | # PyPI. The author is truely Fernando Perez (@fperez). 22 | __author__ = "John Bjorn Nelson" 23 | __email__ = "jbn@abreka.com" 24 | 25 | 26 | def annotate_source_path(notebook, base_dir, nb_path, boundary_key): 27 | """ 28 | Add the notebook's relative path to the cell metadata. 29 | 30 | :param notebook: the parsed notebook object 31 | :param base_dir: the base directory for this merge 32 | :param nb_path: the file path to the notebook 33 | :param boundary_key: the target key in the meatadata dictionary 34 | """ 35 | cells = notebook.cells 36 | if cells: 37 | cells[0].metadata[boundary_key] = os.path.relpath(nb_path, base_dir) 38 | 39 | 40 | def merge_notebooks(base_dir, file_paths, verbose=False, boundary_key=None): 41 | """ 42 | Merge the given notebooks into one notebook. 43 | 44 | This function aggregates metadata in reverse order relative to the 45 | ``file_paths``. It does not do so recursively. Concretely, the first 46 | notebook will overwrite any keys in the metadata for notebooks 2 and 47 | on; the second notebook will overwrite any keys in the metadata for 48 | notebooks 3 and on; and so forth. If the second notebook has a key 49 | path of metadata.ns.x which does not exist in the first notebook, 50 | but the first notebook has a key path of metadata.ns.y, the second 51 | data's entry is overwritten. It does not recursively descend into 52 | the dictionaries. 53 | 54 | :param base_dir: the base directory for recursion and relative path 55 | calculation 56 | :param file_paths: the ordered file paths to the notebooks for 57 | concatenation 58 | :param boundary_key: the key in the first cells metadata where the 59 | source file_path goes 60 | :param verbose: if True, print message for each notebook when processing 61 | :return: the merged notebook 62 | """ 63 | merged, metadata = None, [] 64 | 65 | if verbose: 66 | print("Merging notebooks...") 67 | 68 | for path in file_paths: 69 | with io.open(path, 'r', encoding='utf-8') as fp: 70 | if verbose: 71 | print("\tReading `{}`".format(path)) 72 | nb = read_notebook(fp, as_version=4) 73 | 74 | metadata.append(nb.metadata) 75 | 76 | if boundary_key: 77 | annotate_source_path(nb, base_dir, path, boundary_key) 78 | 79 | if merged is None: 80 | merged = nb 81 | else: 82 | merged.cells.extend(nb.cells) 83 | 84 | if verbose: 85 | print("Merging metadata in reverse order...") 86 | 87 | merged_metadata = {} 88 | for meta in reversed(metadata): 89 | merged_metadata.update(meta) 90 | merged.metadata = merged_metadata 91 | 92 | return merged 93 | 94 | 95 | def recursive_find(base_dir, ignore_underscored, predicate_re): 96 | """ 97 | Find notebooks relative to the base dir which match the filtering criteria. 98 | 99 | :param base_dir: the base directory for the search 100 | :param ignore_underscored: filter out all notebooks which begin with 101 | an underscore prefix, irrespective of the predicate regexp 102 | :param predicate_re: a filter for file name acceptance 103 | :return: lexicographically ordered list of notebook file paths 104 | """ 105 | predicate_re = re.compile(predicate_re or ".*") 106 | 107 | file_paths = [] 108 | 109 | for dir_path, dir_names, file_names in os.walk(base_dir): 110 | # I can't think of a scenario where you'd ever want checkpoints. 111 | if os.path.basename(dir_path) == ".ipynb_checkpoints": 112 | continue 113 | 114 | for file_name in file_names: 115 | if not file_name.endswith(".ipynb"): 116 | continue 117 | 118 | if ignore_underscored and file_name.startswith('_'): 119 | continue 120 | 121 | if not predicate_re.match(file_name): 122 | continue 123 | 124 | file_paths.append(os.path.join(dir_path, file_name)) 125 | 126 | return sorted(file_paths) # For lexicographic sorting 127 | 128 | 129 | def parse_plan(args=None, base_dir=None): 130 | """ 131 | Parse the command line arguments and produce an execution plan. 132 | """ 133 | if base_dir is None: 134 | base_dir = os.getcwd() 135 | 136 | parser = argparse.ArgumentParser(prog="nbmerge", 137 | description=__description__) 138 | 139 | parser.add_argument("-o", "--output", 140 | help="Write to the specified file") 141 | 142 | parser.add_argument("-b", "--boundary", 143 | help="Add boundary metadata to header cells" + 144 | "(optionally by given key)", 145 | nargs="?", 146 | const="src_nb") 147 | parser.add_argument("-i", "--ignore-underscored", 148 | help="Ignore notebooks with underscore prefix", 149 | action="store_true") 150 | parser.add_argument("-r", "--recursive", 151 | help="Merge all notebooks in subdirectories", 152 | action="store_true") 153 | parser.add_argument("-p", "--predicate-re", 154 | help="Regexp for filename acceptance") 155 | parser.add_argument("-v", "--verbose", 156 | help="Print progress as processing", 157 | action="store_true") 158 | 159 | parser.add_argument("files", 160 | help="Paths to files to merge", 161 | nargs="*") 162 | 163 | args = parser.parse_args(args) 164 | 165 | file_paths = args.files[:] 166 | 167 | if not file_paths and not args.recursive: 168 | parser.print_help() 169 | sys.exit(1) 170 | 171 | for file_path in file_paths: 172 | if not os.path.exists(file_path): 173 | raise IOError("Notebook `{}` does not exist".format(file_path)) 174 | 175 | if args.recursive: 176 | # If you specify any files, they are added first, in order. 177 | # This is useful for a header notebook of some sort. 178 | file_paths.extend(recursive_find(base_dir, 179 | args.ignore_underscored, 180 | args.predicate_re)) 181 | return {'notebooks': file_paths, 182 | 'base_dir': base_dir, 183 | 'output_file': args.output, 184 | 'boundary_key': args.boundary, 185 | 'verbose': args.verbose} 186 | 187 | 188 | def main(args=None): 189 | plan = parse_plan(args) 190 | 191 | nb = merge_notebooks(plan['base_dir'], 192 | plan['notebooks'], 193 | plan['verbose'], 194 | plan['boundary_key']) 195 | 196 | if plan['output_file'] is None: 197 | # See: 198 | # - http://stackoverflow.com/a/1169209 199 | # - http://github.com/kynan/nbstripout/commit/8e26f4df 200 | # import codecs 201 | # write_notebook(nb, codecs.getwriter('utf8')(sys.stdout)) 202 | write_notebook(nb, sys.stdout) 203 | else: 204 | with io.open(plan['output_file'], 'w', encoding='utf8') as fp: 205 | write_notebook(nb, fp) 206 | -------------------------------------------------------------------------------- /tests/fixtures/2_Middle.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 2" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 11, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "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\n9j8Z0Sk7cyZ/MwAAAABJRU5ErkJggg==\n", 18 | "text/plain": [ 19 | "" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | }, 25 | { 26 | "data": { 27 | "image/png": "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\nY3fhwoUAIK978+bN8vKvvPIKiAjXXHON/Jx0wps+fTqGDx+Ovn37oqSkBAaDAW63G7NmzQKgvG3r\n6+vx8ccfw+VypeSIG264AQUFBbjnnntQUFCAvn374swzz8QTTzyBxsbGzm6+TjmgTcZmz56NwsJC\nTJgwIeNySmehdHw+H6ZOnYpu3bph9OjRmDt3Lnbv3g0iwvr16zFs2LB274lGo2mbggHJUuPKlSvR\no0cPnH322bjnnnvw5Zdf4txzz8XixYthMpkwatQoHHXUUdi0aVO790+ePBknnngi3n77bWzduhU7\nduzAggULMG/ePJxxxhl4++23FRO+VHIZOXJkxu8slXClpk5S0j377LMxZMgQVFVVIRgMorm5Gf37\n98+4LgA4+uijsWXLFsyfPx/fffcddu7ciVWrVmHZsmWYMWMGPvroI1RXVwNIHqSZTh47duyA2+2G\n2+0GkDxIlyxZkvKdTznlFLz88svy37t27UIwGMSCBQtgt9tRVlaGPn36oLS0FJWVlejWrRsAoKam\nBgDQ0NCATz75BLW1tVi+fDleffVVaLVaTJ8+XV6nTqeTk9zIkSPx4IMP4p577sGRRx6JW2+9FcAv\nJ6+2JdCNGzfihRdewPDhw9G1a1fMmTMH8XgcP/74I7xeL1wul+L3d7vdiiVdKcElEom0CXjHjh0A\nIDfjqq2tBZAsOa5atQp1dXVYvnw5/vnPf4KIcP/997dbxyOPPILa2lo8++yzWL16NdauXQugfdJt\nbW2FIAj73exRSrr7Jiu324133nlHbp4n7ccjRozIuK6dO3e2a643YsQIvPHGG1i7di0GDBiAlStX\nom/fvujfvz+6desmX4USEV566SUMHjwYRx99tPx+6ar0nXfegdFoRGlpKaqqqjB48GCUlZXJzcWk\nfSkcDuPzzz9HU1MTPvvsM7z00kuoq6vDzJkzYTKZ5PV269YNmzdvxvz58/HNN9/gp59+wpdffon3\n338fjzzyCD744AP5Cvh/dqDqKcLhcLsbQErGjh1LJpOpw+UCgQCNHTu2XRMW6fHII4+kfd8xxxxD\nVVVVaV/76quvCABdccUVFI/HyW6308CBA6muro60Wi2de+65RET0pz/9iQRBIK/X22Gce/bsodNO\nO63DOiGpPnTflgltiaJI5eXl1Lt3b/k56QZEZ5sSdUYwGKT77ruPAKQ0c+rVq1fKZ7dVVlaWUudr\nsVjo+OOPpxtuuIEeeOAB+vrrr9vdgS4vL6cTTjihw/gvv/zytL/zkCFD2t05P+aYY+SmZkTJ7Sbd\nsHv99dfl5wDQZZddJi+3a9cuOvbYYxX3qY5u0Bx99NF01FFHpX3tL3/5CwGgmpqatK9ffPHFpNVq\n5ZsykyZNShvD4MGDad26de3ev2TJErmlTNtHcXFxynYfM2YMWa3WjN9F6TuYTCa65ZZb6NZbb6VF\nixa1+91OOeUUcjgcGdeza9cu+Tjb144dO+TWB88//3zKTfFzzjmHysvLSRRF+abjyy+/nPJ+6Tdu\namrK2Ixr7ty5abdTZWUlLViwoFPbIhKJyC1Mhg4d2qn3dMYBq15IVxekJBgMtqvHSufrr7/Gm2++\nCb1ej2OOOQaTJk3Ciy++iC+//BIGg0HxctBmsyEcDqd9TTpLDx06FFqtFkOHDsX69evx/PPPI5FI\nYNy4cQCA/v37g4jwxRdfdBhnly5dMHfuXADABx98oLicVILau3ev4jIff/wxampqMGrUKPm5WCwG\nAIql91/DbDZj6tSpOPbYY1NiPuyww/Ddd9+lrbr5/vvvUVtbi969ewNIlkaCwSBOPvlkzJw5E/fc\ncw/69evXrhF6MBiE0+nssNQllbD3LVH07NkTs2fPRr9+/VKWjUQi8hUAAAiCgOeffx4nnHACLrnk\nEixfvhyCIKSUiAFg8eLFWLduHaxWK0466STcfPPNmDdvnnyZ21EVg8lkald3LJE6qXz55Zdpv9sn\nn3yC6upquYSV7vsedthhmDNnjlwfvq8HHngAkUgEFRUVGDNmDB566CG8//77uPrqq9HQ0CBfIQHJ\nbd6ZK8m2gsEgXC4XnnjiCTz++OMYPXp0u9/N6XQiEAik1Me3NW/ePABI2Y8BoLKyEmVlZfjiiy/w\n4osvwmQy4eKLLwaQvCKrqanB7t278fzzz6OwsBDnn39+yvtDoRAMBgMKCwszdnaQtm2fPn3k48Zi\nseCpp56S6487YjAYcP311+Oss87CJ598kraa6lc5UNk7kUhQ165dqVevXhSNRlNe27JlC40YMUIu\ngQwZMoS6d+/e4TofeOCBtHd3iYgGDBggnxXbOvXUU6mkpCTtOkeMGEEAaMeOHUT0S2sCs9lMBoNB\nbvS/evVqAkB33323/N5FixYplmKkEnSmjgo//vgjCYJAZ599dtq4A4EA9e7dm/R6Pf3444/y851t\ncpXO+vXr290RloRCIerWrRv16NFDfu7ZZ59VLLFLrSikNtKxWIwA0LRp0zLG4HK56Mwzz+wwVqlE\n7/f76bvvvqOzzjqLAMiN6vf9/tXV1WlLnHV1dVRVVUVGo5GWL19OZrOZrrrqKvl1qYXBt99+m/K+\nSCRCBoOBzjrrrIwxnnLKKVReXp72tc2bNyte7b333nsEJNvzSqSScUNDA23evJnOOeccAkBarZam\nTJmS0gqioaGBTCYT9e/fv92+I7XuePXVV+Xnjj/+eKqurs74XdK59NJL6ZBDDsm4jNSu9sEHH0z7\n+o8//kgOh4MqKyvTNrUaM2aM3IZ+36uQt956iwDQ7NmzyWg00i233NLuvWPHjiW9Xt/h93jttdcI\nAC1atIgaGxvplltuIa1WSwDo3HPPpebmZnnZTZs2KbaGiMfj1L9/f3K5XAesg8QBbTJ2//33y5er\nGzdupI0bN9K0adPIYrGkXCr06dOnXZON3bt309y5c+nee++lcDhM4XCYSkpKqKysTG4usi9ph923\nbaUoitTQ0ED9+/cnt9tNixcvpoULF9K7774rH7But5sKCwvl90jNigCkHHChUIh0Op18CRuJREgQ\nBBowYEC7Hk7r16+nXr16kclkatebrC2pLedVV12V0uB/7dq1dMwxx6TdmaXmOb/G8OHDyWKxpLS7\nJEomJ2m9UtMuomQbZpvNRi6XK6Wn05IlS8hisdDw4cPl56Skq9QOVtKjR492zcrSkdpIS21LRVGk\nt99+W26Af9lll8ltiisrK6lXr15p1/Ptt99SUVERmUwm0mg0NHHiRCL65aR3yimnpH3fiSeeSAaD\nIWMPttGjR5PBYFB8fejQoXL7VCnWrVu3Us+ePamgoCClukrqabjvPrNs2TLq0aMHAaDx48fLBRjp\n2Nr3t5L89NNPBCTbxUuOPPLIdtv8559/pldeeYWmTZuW9pgiSibdyspKxe9HlGyH2717d9JqtfTY\nY4/JCUwURXrzzTepoqKCNBqNYicEqe0t2jT9kpoaSm2w01XDTZw4kQBQa2trxhiXLFnS7kT07bff\n0rBhwwgA9evXT97PLr74YtLpdHK7conH45GrgB577LGMn7c/DmjSjUQiNGrUqHb1KH369EnpFdSt\nWzc65JBD6Oqrr6ZRo0ZRz5495WV1Oh1t376dli1blrHe9vPPP09py7hq1SoyGAyKdXXr16+nUChE\nAFLqJBOJhNwTbP78+SmfMWjQIBIEQT4IpY4BVquVTjnlFBo1ahT16tWLgGTX1s7UFfl8Pjr55JPl\nuI444gjq1asXCYJAOp2O7rzzznZn1AsuuKBT7VzT+fe//y23gRw0aBCNHj2aBg8eLJ/1J02a1K4E\n/c4778glkb59+9Lxxx9PGo2GevbsSZs2bZKXk5KuUolHcskll5Ber6fbbruNZsyYQQ888ABNnTqV\nbrnlFrrtttvkxKLUU9Hv99Ppp59OAGjOnDlElCw9S11D0/nPf/4j92iTrlakKyelettnnnmGAOW2\np0REZ5xxBhUVFSm+vm3bNurevTsBoK5du9JJJ51Edrud7HZ7u56D06dPJwApVzVEySuekSNHptR3\nHn744dS1a9eUTgj7Ov7448loNMrJtLKykg499FD5GKuurpb3Ob1eTz/99FPa9Vx66aXUrVs3xe8n\n+eGHH+ReXnq9nvr160eVlZUEJHvsvfLKK4rvlY5ds9mc0jFHup/R9hjdl9SB5sILL6SHH36YHnzw\nQbr33nvpzjvvpKuvvlo+ga1YsSLtSUoURblX5fnnn09ERBs3biSbzUYAaMCAAXTOOefQkCFD5Hwy\nfvx4xZPUr/Gb9Ej76KOPaPLkyXTHHXfQihUr2iWRCy+8MCUhHnLIIXT22WfTo48+Knd/3Lt3L919\n990ZOyE8+eST9K9//YuIkjv72LFj6YorrqD77ruPnnvuOXrxxRfplVdeocWLF1MikaBIJEL9+vVr\n14Pp1VdfpUmTJrXrwvvMM8+Q0WiUS6SiKNIHH3xAl19+OR177LHUs2dPOu200+jxxx/fr+6W8Xic\nli5dShMmTKAePXpQdXU1XXDBBWkb+BMlbzC5XK5Or7+tzZs305133kknnngi9ezZkwYNGkS33357\nu9LvvjweD/3f//0fjR07ls4++2x68MEH014qPvzww+0u1dtav359ykG/78Nms8klpS+++IImTpzY\nrnqKKFm6eu655+TSSb9+/eiee+7J+LmbNm2i8ePHyyeK9evX06OPPqp4mRiLxejWW29tlwT3tXbt\nWlq5cmXGz41Go7Ro0SK65JJLaMSIEXTdddel7fK+fv16uuqqq9Ie0LFYjObMmSPvV3//+98zfu6m\nTZvorrvukr/bBRdc0O4YO+ecc+ixxx5r1xtrXx999BE9//zzGb+fJBAI0EsvvUTDhw+nqqoq6t27\nN914440djvcQDodpxIgRctfefUmdOpYuXZr2vVKhRSo07PsQBIHee+89Ikruv5dffrnid128eHHK\n/r9z506aNm0anXTSSXT44YfTMcccQ5MnT6ZPPvmkU9tifwhE2Z+YUhRF7NixA3q9HsXFxVkbzevX\nCIVCOY/P4/GgsbERPXv2zGkc/6vGxkbs3r0b8Xhc7txQUVHxq274dDQy28Eun46xfcXjcezYsUNu\nwqgkGAxi27ZtCIfD0Ol0MBqNKC8vR0FBQZYi/fVyknQZY+xgxYOYM8ZYFnHSZYyxLOKkyxhjWaSY\ndLmqlzHGDjzFpLt582bo9Xq8/vrr2YyHMcZ+1xSTrtVqRTweTxlzkjHG2P8mY9IFfhmGkTHG2P9O\nMelKDdY56TLG2IGjmHSNRiMEQVAcxo4xxtj+U0y60qjz6eaXYowx9utkbKdrtVq5eoExxg6gjEnX\nZrPJM5Yyxhj732VMuhaLhet0GWPsAMqYdM1mMyddxhg7gDImXYPBcOAmY2OMMZY56Wo0GoiimK1Y\nGGPsd6/DpMsD3zDG2IGTMekSEU+HwhhjB1DGpCvNQ8UYY+zA4JIuY4xlUcakm0gkoNVqsxULY4z9\n7mVMupFIBEajMVuxMMbY754u04vhcBgmkylbsTDGOhAMBnHWWefD4/HDYjHD7S5EYaEDXboUwW63\nwmazwW63o7y8HE6nE1arFcXFxSgsLORjWSUyJt1YLAa9Xp+tWBhjHfj731/A2rUigsEHAQQBNAFo\nAdAIjaYVen0tdLoAdLq9APwgakUsVo9otBl6vRk2WwEsFhtsNgdcLidKSopQUOBAcbETRUUuOJ1O\nOBwOuFwu2Gw2OBwO2O122Gw26PV6GI1G6PV6aLVaCIIAIgIRIRaLIRqNIhaLIRQK4bjjjsOnn36K\nbt265XR7qVHGpBuNRmEwGLIVC2OsA08//SKCwf8D8Id2r4kiEIkkH+0REolmhMPNAFoB+AF4kUza\nfgB+6HT10Ou3QqfzQ6PxAmgBUQtEsQXxeACiGEUiEYEoxkGU2GfdArRaPTSa5EOrtSAY3IvGxkZO\numlwSZexPNLS4gNQ8SveKQAo/O8jvXg8+fg1EonkQ+J0/oHHbVGQ8UZaKBSC2WzOViyMsQ7E4zEA\n+VAQsqOlpSXXQaiSYtIVRRF+vx8ulyub8TDGMojFIgDU36JIFO08FrcCxaQbCARARHA6ndmMhzGW\nQTyeH0k3kbBw0lWgmHS9Xi8AcNJlTEUSiTjyoXohHnfB5/PlOgxVUky6jY2NAICioqKsBcMYyyyR\niCIfkm5MwAQ6AAAgAElEQVQsZuH5FRUoJt3m5mYAnHQZUxMiEYD6u+YTWdDSwjOJp9NhSbewULmJ\nCWMsFzI2OlIJO5qbuU43nQ7rdAsKCrIWDGOsM/JhNhczl3QVKCbdYDC5waxWa9aCYYxlJggaAIkO\nl8s9O7xebqebjmLSraurg16vh8PhyGY8jLEMNBodgF/ZbSyryrB3b02ug1CljEm3pKQEGk0+1B8x\ndnDQavXIl6Tb0FCX6yBUSTGj1tTUoKysLJuxMMY6oNebAIRzHUYnOBEM+nMdhCopJt36+nqUl5dn\nMxbGWAf0eiOAtMOIqUwxAoEmxH/tCDq/Y4pJt6GhAW63O5uxMMY6YLHYkRyKUe10MBgK5Kan7Bdp\nky4Rob6+HiUlJdmOhzGWgcPhApAf3WsNhgrs2bMn12GoTtqk6/P5EI1GOekypjJGowlAfoxTKwgl\nqK+vz3UYqpM26UobqrS0NKvBMMYys1jMyJekG4t14ZJuGmmTrt+frDPiEcYYUxe73QYgP7rXRqNu\nNDU15ToM1VGsXgA46TKmNi6XHfmSdOPxItTXe3IdhupkLOna7fasBsMYy6y42IXkhJL5wAqfj4d3\nbCtj0uUuwIypS0VFMbTafLk5ZYXXmx+l8mzKWL3A86Mxpi52ux16fb4MJGNBa2t+3PTLpoxJl0u6\njKmL3W6HVpsvSdcGvz9fYs2etEk3EAjAYDBAr1f/tCCMHUycTie02nzokQYAJoTD+dBlObvSJt1Y\nLMYJlzEVstlsEIR8KT1a0drKdbptpU26kUgEJpMp27EwxjqQvM+SH92AARMikXwYES270ibd1tZW\nWCyWbMfCGOuAw+FAIpEvTcYcCATypSoke9Im3XA4zCVdxlTI7XYjGs2XkbssiEa59UJbiknXbDZn\nOxbGWAcKCgpAFAOQD50OOOmmkzbpBoNBTrqMqZAgCLBaCwDkQ/daI2IxTrptcesFxvJMcXEXAHtz\nHUYn6CGKPHNEW4ozR/CElIypU0VFBYB8GDJRABHlOgjVUZw5gjGmTpWV5QDyYXpzIdcBqBIXZxnL\nM0VFDgD50EFCzHUAqpQ26QqCAFHkDcaYGlVUlMJgqM11GJ1AEAQu17WVdotoNBpOuoyplNvthl6f\nDzMyiJx00+Cky1iesVqt0GrzoZ1uDBqNLtdBqE7apKvT6RCPc1MPxtTIbDZDEIK5DqMTwjAYuL1/\nW5x0GcszyS76+TBkYhQ6nSHXQagOJ13G8ozNli8zAseg1XInq7bSJl29Xo9YLJbtWBhjnWA0GkGU\nD0MmRqDXc0m3rbRJ12QyIRzOhx+VsYOP2WyGKObD8Rnj6oU00iZdo9GISCQf6owYO/hYrVaIYj60\nXmiB1WrLdRCqkzbpGgwGRKPRbMfCGOsEg8EAUcyH49OLgoKCXAehOmmTrsViQSjEQ7IxpkZ6vR6i\nmA/3XPxwOnlG8bYyJl3uIMGY+uh0ujxJuh6UlBTmOgjVUUy6APhmGmMqlCzp5kOTzgZUVLhzHYTq\npE26drsdANDSkg8jGTF2cEmWdNWfdHU6L4qKXLkOQ3XSJt1k42sgEMiHBtiMHVySEwyof8xro7ER\nbjeXdNtSbKcLgG+mMcZ+NY2mVS7AsV+kTbrSpJScdBlTn+QNbvXPyqDR+OBwcOuFtjjpMpZnEokE\nNBptrsPoENFedOnSJddhqE7apGu1WgEAra350OuFsYNLNBqFRqP+gWSi0XoUFxfnOgzVSZt0pUsC\nbr3AmPokk67axzSIIhbzorS0NNeBqA6XdBnLM/F4PA9mZGiG2ez8b0sLtq+MTcY46TKmPpFIBBqN\nKddhdKAWhYXluQ5CldImXZfLBY1Gg/r6+mzHwxjrQCwWy4M63QYUFRXlOghVUpw5wu12c9JlTIWi\n0SgEQe1JtxYVFVzSTUexwsVms/GNNMZUqLW1FYJgzXUYHfCgrIxLuukoJl2r1cp1uoypUDLpqr2n\nVwAFBWqPMTcyJt1gMB+meWbs4JI8LtVd0tXpPHC7eQDzdBSTrt1u5+oFxlQoHA6DSN3tdHW6Vrnp\nKUulmHSdTid8Pl82Y2GMdUJraytEUd2X7nq9Fy4XD+uYjmLSdTgcnHQZU6GmpibEYuq+SaXR+OF0\nOnMdhiopJt2CggJ4vd5sxsIY64SWlhbEYuou6QI+TroKMjYZCwaDPE8aYyrT1OSDKKr90j0Co9GY\n6yBUSTHpSgOZ8zxpjKlLU5MfgLrHqSWKQq9XeweO3MhY0gV4/AXG1GbnzhoAZbkOIyNRDMoT3LJU\niklX6jfd0NCQtWAYYx1rbGwCoO4baaIY4qSroMOk29zcnLVgGGMdCwZbAaj7Rpoocp2ukg6rF3hG\nYMbUpbVV/XW68ThXLyjJ2CMN4NkjGFOblpYmAIW5DiOjRIJLukoUk25hYfJHbWxszFowjLHMiAjh\ncAvUXtIlSkCrVf/kmbmgmHSlCeX4Rhpj6hEMBqHVGgCofboeQBDUP018LigmXYPBAJvNBo/Hk814\nGGMZ1NTUwGhUd3MxCSfd9DLOGmez2fhGGmMq0tzcDJ1O3fW5Eu7Nml7GpGswGBCNRrMVC2OsA36/\nH0A+jGkgcNJVkDHpmkwm7gbMmIrU19dDFItzHUaHBEHDSVcBJ13G8kggEEAioe6OEQCg0WiRSCRy\nHYYqcfUCY3mktbUV8bj6Z2QQBB3i8Xiuw1CljElXp+MNx5ia1Nc3Ihp15zqMDmk0es4dCjImXa2W\nLxEYU5Pm5gAAe67D6JBGwwU2JR0mXa4MZ0w9mptbkB9J14BIJJLrMFQpY9JljKlLIBAEoP6BZDQa\nM9+EV5Ax6YqiyL1KGFOR5mYf8qGdriDo+Sa8goxJN5HgQSsYUxOfT/3DOgKAIBg56SrgpMtYHgkE\n/MiHOl1BsPIQAgo6rF7QaLjalzG1iETCAEy5DqMTzAiFQrkOQpUyZtRYLMYzejKmIpFIEID6O0cQ\n2XhSWwWcdBnLI+FwK/Kh9YIoOv47OA9rK2PSjcfjnHQZU5FEIgbAkOswOpRIcPWCkoxJNxQKwWTK\nh/ojxg4OiUQU+ZF0TZx0FXSYdM1mc7ZiYYx1QBTjANTfoiiRsHDSVZAx6UajURgM6j+rMnawICLk\nQ0fSRMKMYJCTbjqKvx4RobW1FTab+sfuZOzgkg+9RB1oamrJdRCqpJh0Q6EQEokE7Hb1N8Rm7OCS\nD0nXBq+XO0eko5h0peYeDof6uxwydnChXAfQCRb4/Zx001FMul6vFwDgcrmyFgxjrDPyIek6/zs4\nD2tLMen6fMkN5nSqf0Qjxg4WyVH/8mGM63LU1NTkOghV6rB6gZMuY+qh0egA5MOMDC60tHhzHYQq\nKSZdqd+01ar+ft6MHSy0WgOAWK7D6ATbf7sss7YUk25TUxMAoKCgIGvBMMYy02p1yI+ka0Ukwkk3\nHcWkW19fDwAoLS3NWjCMscySJd18GBzcjHg8zHMsppGx9YLRaORuwIypiNFoBpAPc49poddb0dLC\nHSTayngjjdvoMqYuBoMJ+ZF0AZ3OzsM7pqGYdBsbG1FYWJjNWBhjHTCZzADyY0wDrdYlt/dnv1BM\nuh6PB0VFRdmMhTHWAZerEIAn12F0ikbjktv7s19kbDLGzcUYUxer1QIgmOswOsmMYDBfYs0exaQb\nCAR4hDHGVMZsNiFfqheIeEzddDK20+U6XcbUpbi4AEBzrsPoFFF0cPVCGhmbjHHSZUxdDj20BEB9\nrsPolHC4FHV1dbkOQ3XSJt1YLIZwOMxj6TKmMoWFLuh0+dEiIB63IxDgXmltpU26PMIYY+pksVig\n0+VLPakdHg93jmgrbdLlwW4YUyer1QqtNl9Kjw40NnKdbltpk244nOzxwtOvM6YuxcXF0Okach1G\nJ5Vg7978qH/OJk66jOWR5H2WfOlaW4TGxsZcB6E6XKfLWB5JDkCVL3W6Lvh8+XHTL5vSJl2eH40x\ndbLZbBDFfKnTNSEazY/BebKJb6QxlkdcLhfi8fzoHAEYEYtFch2E6mSsXuCSLmPqYrfbEY/ny9Tm\nZi7pppE26UoDD3PnCMbUxWw2Ix6PID8mpzT8N1a2r7RJ1+/3Q6PRwGKxZDsexlgGWq0WNlsRgHxo\nNqZHIpEP87llV9qk6/F44HK5oNEoDs3AGMsRk8mK/BjeUQuiRK6DUJ20WTUYDHIplzGVMputAPKh\nBYMOoshJty3FAW/0en22Y2GMdUL+zB4h5DoAVeKky1iesdmsAPKhBQPlOgBVSpt04/E4dDpdtmNh\njHVCMunmQ52uCEHg+0JtcUmXsTzjctkB5MOQiQloNNpcB6E6aZNuNBqFwWDIdiyMsU6oqioDsDfX\nYXRCgku6aXD1AmN5pqKiDEZjPkyDk4AgcEm3rbRJN5FIQKvljcWYGrndbhgM+TBkYgw6HV8xt5U2\n6RIRd4xgTKWKi4uh0eTD4OBxaLV8b6gtxcwqCNzGjjE1KioqAlE+tNONQKfjpNuWYtIl4jZ2jKmR\nw+GAKOZD64UQjEbu2doWJ13G8kxyeMd8mLInDIPBmOsgVCdt0tVqtUgkuM80Y2pkNpuRSOTDlD1h\nGI08z2JbaZOuTqfjpMuYSul0OohiPoyn64PDwfMstpU26RoMBkQiPPgwY2qk1+vzJOm2/rfLMttX\n2qRrNpsRCuXD5QtjBx+tNl/GqW2G212Q6yBUJ23StVqt8uSUjDF1yZ/mnH4UFjpyHYTqpE26FouF\nS7qMqVT+tCzyoqyMS7ptpU26er0e0Wg027EwxjohFotBo1H/2Cg6XQB2uy3XYaiO4o00TrqMqVMy\n6aq/p5dO1wKbjZNuWxmTbv5cxjB28IhGo9Bq1d/pwGCoQ2lpaa7DUJ20SddoNIKIEI/nQ7MUxg4u\nsVgMgqD+6gVB8KCoqCjXYahO2qRrt9sBAH5/PnQ1ZOzgEg6HodGov6cXkQ8ulyvXYahO2qQrnZ2a\nm5uzGgxjrGM+nw86nfp7eomiXy7AsV+kTboFBclmHh5PPgwfx9jBJRAIQBDUn8zC4Vqu000jbdJ1\nOpNnUZ/Pl9VgGGMdS1b7qT3pJpBIhGG1cjfgthR7pAHgXmmMqZDH44Eoqv0GVRB6vSWPes9lD5d0\nGcszLS0tSCTU3v7VB7OZuwCnk/FGWmNjPkx+x9jBJRQKIR5X+4wMDSgoKM51EKqkWNI1mUyoqanJ\ndjyMsQ54vT7EYmovRQZgtaq93jk30iZdQRBQXl6O2trabMfDGOvA3r2NIHLnOowOeOFyqb9ZWy4o\nzpFWUFAAr9ebzVgYY53g9QYAqL1OtwUul9pL47mhmHQdDgffSGNMhXbt2gugPNdhdCAEi0X9veZy\nIWPSbWnJh2meGTu41NTsBVCR6zA6EOakq0Ax6RYVFaG+vj6bsTDGOiEYbIH6O0eEYLervYVFbigm\n3bKyMtTX1/PwjoypTEtLEwB1d47QaBpRXq7uGHNFMemWlpYikUigqakpm/EwxjKIRqOIxcIA1H2T\nSq9v5S7ACjImXQBoaGjIWjCMscz27t0Ls7kMgLq71+p0fjgc6j4x5Ipi0pWm2QgEAlkLhjGW2d69\ne6HTqf0mGqDV+uThBFiqjK0XAB7InDE1SbYoUvtNNEAQuHpBCSddxvJIMBgEUT60CmhGYWFhroNQ\nJcWka7Ekf1ge3pEx9QiFQhBF9SfdRMLL1QsKOizpcgcJxtQjEAhAFNXeBRggisFgMOQ6DFVSTLrS\n3EacdBlTj6amJkQi6r9sJ4pBr9fnOgxVUky6ZrMZQLIOiTGmDvX1HiQS6k+6ohiDTqf+aeJzQTHp\najQamEwmrtNlTEVaWkIAzLkOo0NEcS7pKlBMukDyZlooFMpWLIyxDrS2hgGofyCZRCLKSVdBxqRr\ns9m4cwRjKuLz5Uc7XVGM8o00BRmTrtVq5aTLmIq0tLRC/QOYA0QitFptrsNQpYxJV6/XIxaLZSsW\nxlgHQqH8qF4gEqHRZEwvB62MW8VgMCAajWYrFsZYByKRCABjrsPoFE666XFJl7E8Egy2AuAxDfJZ\nxqSr1WqRSCSyFQtjrAPBYAD5cCMNAE+AoCBj0tVoNLzhGFORSCSEfKjTBQBRFHMdgiplTLqiKEIQ\n1D1YMmMHk1gsAkD9TbE0Gh1fJSvImHQTiQQ3+2BMRRKJGAD1dzrQaPSIx+O5DkOVMibdeDzO/acZ\nU5F4PD9aL2i1Ju7NqiBj0o1EIjAa1f8DM3awSJZ01V+9oNWaebAsBRmTbjgchsmUH5X2jB0MRDEO\nQP1Xn1qtlQfLUpAx6QaDQXkGCcaYWqi/04EgmP7bkYO1xUmXMfYb0HNvVgUZk240yiMFMaY+6m87\nLwg8hIASvpHGWB5JtpvPh04HRk66ChSTbjweRywW4+oFxlREo9EByIfxUMzcZEyBYtKV7jxarTy4\nBmNqodOZAIRzHUaHEokCeDyeXIehSopJV9pgBQUFWQuGMZaZyWQDoP6mWLFYAZqbm3Mdhip1mHTd\nbnfWgmGMZWY22wCofzaXaJSTrhLFpOv3+wEADocja8EwxjJzOFwA1J/MiBzweFpyHYYqKSZdn88H\nAHA6nVkLhjGWWbK6z5vrMDrBAr+fuwGno9ifULo04DrdA2P69Olp/8/Y/nA47AAOXAmSKHV/vO++\n6YrL7p8i1NQ0HqB1/b4oJl1pFmCbTf0zj+aD++67T/4/J132a7lcBzbpAqn7JjD9AK3Vjfp6Trrp\nKFYvSG3szGZz1oJhjGXmcFiRDzfSgK6oqdmd6yBUKWOdrlar5c4RjKlISYkL+VGnWwyfj0u66Sgm\n3ZaWFtjtdp6uhzEVKS4ugsHQlOswOsGOcNjPcyymoVin6/F44HK5shkLY6wDhx56KKqrt8JsBrp0\nAVwuwGIBbDbAak3+3+EA7Pbkc3Z78mG1AiYToNcn/zUak/9viwiIxYBoNPkIh4GWll8efj/g9Sb/\n9fmA5ubk814v4PEkn2tpAQIBI5qbrQiFQny13IZACqeikSNHoqamBuvXr892TAcEEcHn86GpqQk+\nnw+tra3w+Xxobm5GU1MTWlpaEIlEEI1GEY1GEYvFEAwG0drailAohGg0ing83m5yPUEQoNVqodPp\nYDAYoNfrodPpoNfrodfrYbFYUFhYCIfDAbvdDqfTiQkTJqRcMfz000+wWq1wOp3Qp9vzfwfi8Ti8\nXi8CgQBaW1vh9/vlbRsKhRAOhxEIBNDS0oJgMCg/otEoIpEIwuEwYrEY4vG4/BBFEaIoyqUnaZtK\n291kMsFkMsFqtcJoNEKv18Nms8HpdMLpdMLhcMDhcMj/LykpgdPpzNuruZaWFng8HrS2tsqPYDCI\nlpYWtLS0yNtX+r+0TcPhMCKRCGKxGN57772U7z9s2DB53zYYDDCbzbDb7fJj3+3ncrngcrnk/xcU\nFLTbn0VRhEaj/vF/9xWJRLB37140NzfD4/Ggrq5O3n/D4bC8r0YiEXmflvbVN998s8OJHxRLuqFQ\nSH7zZZddBqfTKScRs9kMm82GgoIC+QcoLCxEYWEhrFbrAZtXTRRFhEIhtLS0wO/3IxgMwu/3w+/3\nIxAIoK6uDnV1daitrUVTU5P8WnNzM2pqahAOZ+6jLgiCvHNJO5jVaoXZbIbRaIRWq4VWq4UgCBAE\nAUSERCKBSCSCeDwuJ2tpcCApcXu93pTppydMmJDyuVVVVfL/TSYTXC4XioqKYLPZYLVaUVhYCLfb\nLe/MJSUlKCoqgtVqlXd6aWc3m80HPGlEo1E0NDTA4/HIB2xTUxOamprkgzcQCKC5uRl+vx8+nw8t\nLS3ygR8IBNDY2LhfU3CbzWaYzWYYDAYYjUaYTCb5hCY9NBqN/ACSJ1ZpH6mrq5OTeTAYlBNMRyNd\nGQwGlJSUoLi4GCUlJSgvL0dpaSlKS0thsVjgcrngdrtRUFAAt9sNl8sFm812wBIJESESicgnfClx\nSgWGmpoa1NbWyv/W1tbC4/HIv0VnGI1G2Gw2mM1m6HQ6mEwm+aTUVjweRzgclgsj4XBYPv46M4CN\nxWKBzWaD3W6Xt2lRUREKCwthsVhQXFwMt9st7+tOpxMFBQVyAj8Q25WIEI1GEQwGEQgE4Pf70dDQ\ngObmZvlv6TtJBbGamho0NDSgvr4eDQ0NGdcv3esyGo1yvti38NURxZLujTfeCEEQ8MQTT6C6uhpe\nrxctLS2dmlZZr9fDaDTCYDDAYrHIpRCj0QidTgetVguNRgNRFJFIJOSDIxaLyQetdOB0RKvVoqSk\nBCUlJfJJweVyoaysDOXl5XC73XA6nfIPXFhYiIKCAjgcDuh0ut+klCOKolzi8Hq9aG1txdNPP41w\nOIx4PI4RI0bIJW+ptOLxeORSYVNTEzweD/x+f4ej72u1WlitVvmkIR1YUslbo9HIJw9ph04kEkgk\nEvKJIxwOywdaIBDo1MEsJSSpFGm322GxWGC1WmG32+XfxGq1ys9JO6j0kA5Ok8n0m5WGYrEY/H4/\nvF6vfLD5fD74fD7U1dWhvr4e9fX1aGxslBNbfX09YjHlkbwEQZBPeHq9Xr7ikfZx6USt0WggCIJc\nQo9GowiFQnIykEpJHdV7ajQalJSUoEuXLigrK4Pb7UZhYSG6dOmCoqIiebtbrVZYLBb5Kstms8Fm\ns3WYCDrbhjyRSKScZL1er7xdvV4vmpub5TzR0tIib9eGhgZ4vd4O50yTtqvVapW3q5RHpKQmzU6+\n7z4ciUQQiUQQCoXkq6vO1CXrdDo5X5SWlsrbtqKiAhUVFfLJtrS0FE6nU85jer3+f8obikk3HSJC\nMBhEKBSSSzo+nw9+vx+NjY1obm6Wz9TSpbtUFJcuaaRLdiKSL9X33XGlHUUqdVosFvnSRirpORwO\n2Gw2FBcXo6ioKG8vDzsjGAyioaFBTsBEJCeSxsZGbN26Fc3NzfIBLZXwpId0YpO2OQA5EUuXkSaT\nCUVFRbDb7UgkEnA6nXKJRDp4CwoKUFxcDKvV+psmSTUQRVG+nJQuMaWSvpSwvV6vfFkpFRikfVza\n1tJDSsBGozHlhGO1WmGz2VBYWAi73Y7y8nK5ykl6FBUVoaSk5HexvUVRRGNjI5qamuSqJI/HIydl\nj8cjF1Kk/VcqDEhXlNLV0777sNFohNFolAsCNpsNJpNJzh0Oh0MubdtsNvmk9FtcJXbGfiVdxhhj\n/xv1Tyt6AEiljf0Ri8VQU1ODWCyGsrKynI4rTERyyeqbb75BQ0MDzGYzunXrhn79+smXXP/LTQvp\niqVLly7y+lh2eDweCIKADRs2YM+ePdDr9ejSpQsGDhyYMnOLKIqoq6tDIBCQS26/ZUw6nQ4bNmzA\nzz//DK1Wi7KyMgwcOFBujfC/7G+hUAiNjY1wu90HXwcsUrlwOEyzZs2i66+/ni699FKaO3duyuvR\naJSeeeYZGjlyJJ122mk0efJkWrVqlfx6KBSibt260VNPPZV2/Vu3bqVBgwZRa2srERH9/e9/p8LC\nQtJqtYTkZFQkCAINGjSI/vOf/9DixYtp4sSJdMUVV9CkSZPojjvuoFmzZtHq1auJiGjWrFlUWVlJ\n/fv3pwkTJtD777+v+N3+8pe/0BtvvJHy3Lx58+jcc88lURTl5xYtWkSCIMjx7Ps488wziYho1apV\nZLPZ6KqrrqItW7bsxxYmGjt2rLw+q9VKd999N0UiESIi+vzzz2ncuHHy3/t64YUX6L777tuvzzqY\nhEIhGjhwIPXs2ZOGDh1KU6ZMobq6upRltm3bRhqNJu3vW15eTqIo0oYNG6iwsJBMJlPK64cddhgt\nWLCAiJL73bZt29LGMWPGDNq4cSMREU2aNInGjBlD1157LU2ePJmuv/56uvbaa+mWW26hBx54gGbN\nmkW7du0ivV6fNian00mhUIi8Xi+Vl5fTaaedRv/6179S9teOPP300/LxpdFo6Pzzz6c9e/YQEZHX\n66Uzzjgj7XdZt24djRkzZr8+S41UnXQ3bNhAhx9+OBmNRjriiCMIAI0fPz7l9erqatJqtTR8+HAa\nOXIkVVVVEQC66667iIjI5/MRANLpdLR27dp2n/Hdd98RADk5Tp8+nZxOJz3zzDO0dOlS+uCDD2j+\n/Pl0yy230IYNG+iOO+6go446irp3704AyO12EwDq2rUrERGNGzeOunbtSpdeein17NmTANAll1xC\niUQi7eeeeOKJKc8PHjyYANDXX38tP/fOO+8QAJozZw5t3ryZ/H4/7d27lz744AP67LPPiIhozpw5\n8kEhCAKdd9559NVXX3VqOx955JE0YcIEWr58OU2dOpWMRiNNnDiRiIg2btxIWq2W7r///pT3eL1e\nKigooBtvvLFTn3Ew2rlzJwGgESNG0IgRI8hqtVJhYSGtWLFCXmbXrl0EgG677TbasGEDeb1eamho\noM8++4yWLl1KREQrVqwgAHTvvffSW2+9RStWrKC33nqLpk2bRm+99RYRERUXF9OsWbPSxuF0Ounx\nxx8nIqL777+fTjzxRDryyCOppKSEAFCfPn2oR48e5Ha7yeFw0OrVqwkATZo0ib766ivyeDzU2NhI\na9asobfeeotEUaQff/yRAJDL5SIAdOyxx9LChQs7lRCvv/56OuKII+jDDz+kZ599lioqKqhXr14U\njUblQtKwYcPaHTOnnnoq9e7d+1f9Fmqi2qS7Z88eKi0tpf79+9OPP/5IRES33XabnEw9Hg9VVFRQ\n37596ZtvvpHfF4/HafLkyaTVaqmhoYFEUSSDwUBarZZ69epFwWAw5XNEUSSHw0F33nknESV3yqqq\nqg7jW7BgAQGgcDhMoVBILilPmjSJBg4cKK973rx5ZDKZ2pUIn3nmGQJAJpOJYrEYESVLRgaDgQCk\nlOhXrlxJAGjnzp2K8bzwwguk0WjI7/fTX//6VyorKyOtVkt/+9vfOjwQunfvTtOnT5f/fu6550ij\n0VBjYyMREU2ZMoX0ej19++238jKPPPIImUwmqqmp6XBbHaxaW1sJAL322mtERFRfX0+jR4+mwsJC\n+rgPD1wAAB/eSURBVOmnn4iIqKmpiQDQ22+/rbiejz76iADQ7t27FZcxGo00c+bMtK/Z7XZ69NFH\n2z3/0ksvEQCKRqMpz4uiSADoH//4h+Lnbd++nQDQihUr6M0336QBAwYQALrooovkY0HJlVdeSSed\ndJL89+bNmwkALVy4kIiIPvzwQwJAs2fPlpdZs2YNAZBPMvlMtbdEr7zySuh0Oixfvhw9evQAADz2\n2GN4+OGHAQAzZsyAz+fD0qVL0bt3b/l9Wq0W9957LxKJBJYtWwZBEGCz2TB58mQEg0HcdNNNKZ8j\nCAJKS0vR2JjsJ06drP9tbm5OaVMq1XMZDL9MPS0IAiZMmICnn34a06dPx+7dvwwA8tVXX0EQBITD\nYWzevBkA8MknnyAajUKv18vPAZCbzmVqdK3T6SCKIqxWK26++WZs3boV119/PSZPnowZM2Zk/C6h\nUAh2u13+u6ysDKIoys2mpk6disrKStx8880Aks11Zs+ejfHjx6OsrKzDbXWwkppqSftDcXExXn/9\ndZSXl+Ouu+4C0LnfVrpjn2m/VGoTTURobW1N22xMGrZVGjtbIsXb0f4mfe55552HtWvX4v/9v/+H\nt956C6NHj87YtDQUCqWMXlhSUgLgl21x6qmn4rLLLsOUKVPg9SbHmXjuuedQWVmJs88+W3G9+UKV\nN9I2bNiA9957D4sWLUJxcXG714kICxYswBVXXIFDDjmk3esFBQWw2+2ora0FkNxBysrK8Oabb2LI\nkCH4wx/+gIsuukhevqioSG5DmEgk0NTUhPPOOw+bNm1CNBqFy+XCddddhz//+c/yewKBQNobAB6P\np90NjsMOOwxEhKamJnTt2hUA8PXXX+P000/H8uXLsX79ehx11FF499130aVLFwwYMAA//PCD/H7p\noFizZg08Ho/cWN7r9WL69OmoqqqSD6pEIgGNRgOr1Yq//e1vCIfDmD59Ov70pz+hvLw87fb2+Xzy\nDCG7du3Cvffeiz/+8Y9yQjWZTJgxYwbGjRuH1atXo7m5GT/99BMmTpyYdn0sSZryat/9QafT4dBD\nD5Ub4Eu/7Q8//JDSVrihoQFXXnklhgwZIiewG264AVu2bIHf74fdbscf//hHzJw5EwAUb362trZC\nFMW0XXGlqbg8Hk/KtFxSTNu2bcP8+fPlThn19fUYP348hg8fnrK/AckmXH/6059gs9lw/vnnY9Gi\nRRg7dmzamPbd31pbW3H99dfD6XTirLPOkpeZMWMGFixYgGeeeQbXXnstFixYgKlTp/4ubvKqMunO\nnj0b3bt3x6hRo9K+vnHjRvz8888YM2ZM2telhtLSDys1rB44cCBmzpyJq666Cj179sTAgQMBIOUO\ncTweR2trK+rq6nDqqadCp9Ohubm53TgUkUgkbemhtrYWbrdb7t2yYsUKPPDAAxg0aJBcIvd6vfj6\n66/x5JNPYseOHVi7di0uueQSLF26FOeddx7sdjsWL14sr/Pnn38GAPksb7PZUFJSgoqKCrnzhFQK\nalviefTRR7Fw4ULMmTMnbcN3qS31tGnTMHPmTHz//ffQ6XR49dVXU5Y799xz0b9/f/zlL39BcXEx\n+vXrh+OOOy7t9mdJ0knfbrdj165d2Lp1K55//nm89957mD9/PgDIVz833ngjgOS+KPWIk2bkjsfj\nAJKJefDgwXA6nfB6vSgtLZU/S6fTpS1dSiXFbt26tXutqKgoZRmJtL/dc889AJJXb6WlpSgpKcGI\nESMAQG610HZ/Gzt2LIYPH46ZM2cqJl2v14tVq1ZhwIAB2LJlC1pbWzF79uyUY6y8vBzXXnstHnnk\nETQ0NCCRSOCKK65Iu758o8qku3LlSowbN07xrLZnzx4AkKsd2lq1ahXi8ThOOukkAJC78ALAxIkT\nsXr1aowaNQpffPEFqqqqYDAY5M+Kx+Po1asXPv3004wx6vX6tDt5U1MTVqxYgTfeeENebsKECXjy\nySflz/joo4+QSCQwdOhQrF+/Hh9//DHWrl2L7du3Y9y4cdi9ezceeeQReaQ3URThdruxZs0alJaW\npm2+Jh2YbU8ETqcT/fr1Syk570uaC69fv34oKiqCyWTCunXrcOGFF2LRokXyNtZoNJgzZw5OOOEE\nxONxvPjii7/rTikHQlNTcjQwaT8EgMrKSrz66qsYP348gF9KiqtXr8YRRxwBh8PRbrtKv+2nn36q\nOAiVy+VCfX19u+el/XjfKrh93wO0T7pSIn333Xdx/PHHpx2fQml/EwQBJ510Ep566qm0cQLJkm73\n7t3Rt29fFBUVYdWqVZgyZQoqKiowcuRIeblp06Zh0aJFmDlzJi666KLfTVWWKut0g8FgSulTIvX9\nlqoctm7dmvb9L730Erp3744jjzwSAOSecEByp5g9ezaqq6tx2mmnYc+ePe2S7v9v79yjorquP/4d\nBoYZZ3B4iLwfiqiDUCugxgcUMFqssIQYNRqVakga1KqxGiFq1NQ0WlO14oNqooYoaluXRCM+UJHE\nEGhUNEFUrBgUAeUN4wDz2r8/6D1ymRlifkmNpPezlkude+6cc+fue+69++z93U+iHaFQKMymKRuN\nRoSEhLCnQF9fX7z22mvsqQIAsrOzYW9vj8DAQERGRqKoqAgbN26Eq6srRo4cieDgYBiNRhQUFLDj\ntrOzQ9++fS3GC7e0tLC0344QEe7du8d7KuoI51Z566238PHHH+Orr75CUVERrKys8Pvf/57XdujQ\noYiOjoaLiwumT5/+nb/R/zrc5DV16lTmYoiJieG9wXE2HRAQYFF8h7Pdrl6tg4KCzIpTHT16FE5O\nTmZdS5zPtnN6LjemgQMHwt7e3uyYuH3M+X3v3bvX5QSp0WgQFxeHvXv3Ijs7G/fv38evf/1rTJs2\njaeVoVQqsWDBAgAwWYvpzjyTk25UVBT279/P7sAGgwFbtmyBk5MTLly4gNDQUAQGBuLtt982MZiP\nPvoIGRkZSElJYcbCpRRyyGQyHDt2DHK5HBEREaipqWGTlU6neyK/ESeC0xmZTIbg4GDk5+fjxIkT\nAIDRo0djxYoV7Gn7woULGDVqFMRiMaKiogAAhw4dQlxcHMRiMfz9/aFUKpGTkwOg/WmiKy0AwPKN\n6vjx4ygpKUFcXJzZ/Tr65Dh0Oh0aGhp4NwoAKC4uRlZWFpYsWfKdSkoCYH7Ud955B3fu3MHixYuR\nlpaGQYMGoaioCMDjJ8Wuzi+3rSu7jI6ORnZ2NnJzc9lnjY2NyMrKQlJSkllb5RazOmttcA8dXY2J\nu+4621xFRQUOHDhg0d6AdpvreCxEhJqaGqaHwtHW1obU1FRER0cjJCTE4vd1O366wAnLXL9+nZRK\nJbm7u1N8fDyLvX3ttddYkH5OTg5JpVLy9PSklJQUSk1NpZiYGAJACQkJLEzKaDSSjY0Nvffeeyb9\nVFVVUb9+/QgAzZs3j4iI5s6dy0K+zPH5559TUlISBQUFkZWVFQ0aNIhUKhULZRszZgzNnDmTtW9t\nbaWUlBQCQG+99RYZDAaytrZmIWpERP7+/iz8hmPMmDEUEhJCRET/+Mc/WJzxnTt3qKSkhIqKiig/\nP58d57p168jW1pYOHz5MpaWldOXKFXr//fdJLpebJFt0hAv9SUhIoFdffZUGDx5MAGjIkCFUXV3N\na/viiy+Sr68vtbS0WPx9BB5TWFhIAOjq1avss6KiIgoICCAHBwe6desWi3c9cOAA3blzh27dukXX\nrl2jvLw8am1tJaL2hBn8JzzREi0tLaRSqahXr160Zs0a2rNnDwUEBJCLiwvV19eb3Uev15OVlRX9\n7W9/431eXV1NAGjHjh1UWlpKt27douLiYvryyy9JrVYTEdFXX33FYodLSkqouLiYMjIyyN/fn3x8\nfKihocHiWH19fSkyMpLmzZtHkZGRJJFIyMnJifLy8njtuNDFjiGhPweeyUmXqD1TZ968eRQVFUXz\n58+n4uJikzZFRUWUmJhITk5ObALMzMzkTTB6vZ7kcjllZWWZ7efbb7+lyMhIOnr0KBG1Z4mNHj3a\n4rh27NhBQUFBNH78eJozZw4lJSXRggUL6MiRI0TUnlxhLvvt448/prS0NGptbSV7e3vKzs5m27Zu\n3UpxcXG8YPDNmzeTnZ0dGY1Gqq2tZRNz5z/c73Lx4kUaOXIkb5tMJqP58+d3OUmq1WoKCgoiX19f\nCg4Opjlz5tDBgwfNxm46OjqaZAQKWKa6uppGjRpFVVVVvM/r6upo7ty5VFZWRkajkZ5//nmz5zYj\nI4OIiA4dOkQikYj0en2X/dXW1tL69etp6NChNGDAAHrllVdMbpwdMRqNtHjxYrp7967JtilTppgd\n09atW4mIqL6+niZPnszL3ARA0dHRXcaTExElJCSQh4cHBQUFUXx8PG3ZsoVqa2tN2r344os0e/bs\nLr+rO/KzEbzpKg+ciz54koWfiooKNDY2QqVS/dhDZDxJzrrRaERVVRXc3d3Z/2/cuIGHDx9Cr9dD\nIpHAw8MDfn5+vP3Kyspw+/ZtODk5oW/fvrz42x9KW1ubWReGwA/n9u3bqKqqgkajYepigYGBEIlE\naGlpQWFhIUaOHPlUx1RWVob79++zOF8HBwcEBgbyXAP19fX4+uuvIZPJ4Ovry2Jufww4V9/PQWGt\nIz+bSVdAQECgO/DzuoUICAgIPOMIk66AgIDAU0SYdAUEBASeIs9kRtqTQkSoqKhguehubm7/ldxs\nIkJ1dTVqa2vRo0cPuLq6PhMLSlqtFuXl5dBqtXB0dISzs7OQJfYM0dTUhMrKSlhbW7Mafv8NWlpa\nUF5eDiKCs7MzE7L5KSEiPHz4EHV1dZDL5XB1dYVEIvmph/VM0C0n3W3btmHr1q2orKzkKSQplUps\n2LABiYmJePfddzFlyhT079/fZP/z589DrVYjJiYGy5cvx969e9HW1gaVSoU333yTZQydPn0a8+bN\nQ1NTEy/FUiqVYuHChVi3bh12796NrKwsODs7IygoCFOnTuUlFdTX1+Po0aPQaDSwsrKCQqGAm5sb\n/Pz84OPjw9rdv38fe/fuRUpKCq/abUpKCmbMmMFL44yPj8e///1v3Lx5kxfA7uvri2PHjkEikWDR\nokXYuXMnE9jpSE5ODr755hssWLAADQ0N2LBhA5ycnFimn16vZ+ps9vb28PHxgb+///c+T/+LPHjw\nAKNHjwbAz5i0srJCREQEsrOzkZ2djZqaGp7oEkd9fT3S0tLw5ptvorCwELNmzUJVVRV69+6NF154\nASkpKbCzswMRYciQIdDr9SguLuYVYgwKCsK5c+egVquxdOlSyOVy+Pj4ICYmhumNcJw8eRJ3796F\nwWCATCaDo6MjvL29ERAQwJskt2zZgrFjx/Kiek6dOoWSkhJe5uKRI0eQnJyMuro6ptwHtCeKJCcn\nY+XKlXj99dcxYsQIJCQkmBx/S0sLlixZgrVr18LBwQEfffQR7t69C3d3d9ja2rJ6f1wVbaVSieHD\nh/9oFcifCj9RqNoPIiUlhWQyGa1atYoOHz5MOTk5dPjwYVq5ciVlZ2eTXq8nlUpFHh4eTJGeo6Cg\ngCQSCa1YsYKIiAIDA2nq1Km0a9cumjVrFolEItq+fTsREaWnpxMAeuONN+jgwYOUk5NDR48epXff\nfZfS09OJiCg4OJhcXFyYYLmDgwP9/e9/Z/1xge3m/nQUVZ87dy4B4AWIcxqi06dP5x3D4MGDaeDA\ngbRp0ybKysqis2fPUnp6Oi1ZsoTKy8tZn+Hh4WZjO9euXUv29vak1+vpzp071L9/f4uVKQCQt7f3\nDzxj/zvcuXOHANDEiRPpww8/pDNnztDJkycpNTWVVq9eTUajkf7yl78QANq1axdv37a2Nho1ahR5\neXlRS0sLpaamkqurK+3Zs4fWrFlDbm5uFBISQjqdjoxGI8lkMho5ciRt376dTp8+TdnZ2bRr1y5a\nunQpqdVqJmwfHBxMcrmcCepzcdt6vZ6USqXZc56YmMjGdfXqVQJAv/3tb3njHTx4MFlbW1NdXR37\njNOJTk5OpkOHDlFOTg5lZmbSH//4R3ZdKBQKsrGxocLCQpPf78GDBwSAVcRITEykHj16WLRNAHTi\nxIkf5+Q9JbrlpLthwwZycnLqsk15eTm5uLjQmDFj2MRTXV1Nnp6eFBYWxoL/VSoVbdmyhe33/vvv\nk6OjI+l0Ojp+/DgBoIcPH1rsJyoqimWg3b9/n2bMmEHW1tasogNRe7aQRqMhALR9+3a6dOkSnT17\nlomXExHLjOMU/omINm7cSABowIABvD4jIyN5WW+dOXnyJDPIjt/HwYmi/+tf/2KfGQwGUqvVNG7c\nOIqLi6O2tjaqqamh27dvU0VFhcW+BPg0NTXxBLnNYTQa6ZVXXiGpVMrK6BARLVy4kCQSCbsZb968\nmQYNGsS2l5eXk0KhYBOSh4cHrV271mI/nNC+RqMhrVZLu3fvpp49e/ImVK1WS21tbTR79mwaOXIk\nlZSU0Llz53gJExs2bCAA5O/vzz5rbGxkN+rc3FyTPrtKyPHx8SEAFBgYaLadn58fb4xGo5FaW1vp\nwIEDBIAqKyupqamJ7t69Szdu3Oh25Xu65UKaVqv9Tp+qh4cH9u3bh5ycHCxfvhxEhMTERKjVamRk\nZLCc99bWVp6gckhICOrq6tDS0sJkE7vqq0ePHmhubgYAuLu7Iz09HZMnT8bUqVPZK59UKmVtvL29\nERwcjKioKPZK1NDQwF5FCwsL2XefPXsWAFBaWspET57k+Dn1qKSkJCxfvhyXL1/mbedcDh1F1TkN\nXicnJ6jVakgkEpZgYUmHV8CUJ7EZkUiE1NRU+Pv7Iz4+HnV1dTh+/Dj++te/Yv369QgNDQVgKvbt\n4eEBNzc3dt7a2tq69JNy2g9qtRo2NjaYPXs2PvnkE3zwwQfIysoC0K79IJFIUF9fDycnJ/j7+yMy\nMpKnU33x4kUAwK1bt5gdnz9/ntl3SUmJyfF3NS57e3tMnDgRNTU1SE5ONtnu6enJs02RSARbW1sm\noqPRaGBnZwcvLy8MGDCg261jdCNHyGOampqgUCiYmDf3N6e5yS2mPf/883jvvfewbNkylJWV4ZNP\nPsH+/ft5fk5uEQ5o92Vu3rwZYWFhsLOzY7KHra2tKCsrY/00NTUhISGBtemoVSoSiRAbG4sDBw6g\noaGBLWpwxmpOJezq1asAgNDQUDZBtrS04Ny5c4iNjcWxY8dQWlrK/NNNTU2QSqUoKytjx19VVYU+\nffrwBKaTkpLQ0tKCyZMn4/Lly1AqlQAei1d3FgvitnW8iAS+H5zNiEQi3Lx5k9lMdXU1xo8fz6Qy\nZTIZMjMzERoaiilTpuDq1auIiIhgqlrcd3VcfDt69Chu376N8ePHs+02NjYsm62yshIPHjzA0KFD\nMWzYMDYWTlcaAMLCwqBUKvHNN9/wRMObm5vNFgwA2gX3Q0JCcOnSJRQWFiI8PBxZWVnw9vaGvb09\nrl+/zhuzXC5HbW0tKisrmX0+evQIs2fPhkwmg7W1Nby8vPCHP/wBUVFRCA8PxwsvvMC+g9Oj7gxn\nt/X19U94Np5RfuIn7f8XL7/8slnfTu/evU2ENoxGI40dO9asT8poNJJYLKbY2FhKSkqifv36kUKh\noPz8fCJq932a60ehULDCkf3792diN1qtlo4fP05eXl40bNgwXl/Xrl0jAHThwgWT41m7di1JpVLa\nsWMHiUQiampqYq6NixcvEgDKzMxk7R0cHMyOKy4ujojai0kCoOvXr5NGo6HBgwfThAkTmJuFc3Vw\nfumOrF69mvr06fO9zofAY3Jzc82eG7FYbOLDJWoXMwJAzs7OJjXQkpKSyMfHh9544w2Kjo4mALRo\n0SIiaq+3Zq4fkUhES5YsIaJ2V1lHN1xJSQlNmzaNxGKxSZHW0aNHm3VZcT7W7du3k1QqpY0bN5LB\nYCBPT09avHgxvfzyy6wiNRHRsmXLzI5LqVSyKtXPPfccO46NGzdSz549eaI2M2bMMKt/UlFRQQDo\n9OnTXZ+EZ5xu+aSr1+vxi1/8AmvWrGEq+5bEva9evYovv/wSQHsueUfdA41GA4PBwMLOpk+fjjlz\n5rCoAr1eDycnJ6SlpcHFxQWurq7o3bs3T2i6uroaaWlpSE9PR3V1NbRaLX71q19h3759vHFw7clM\n1nV2djaee+45hIeHg4hw4cIFHDp0CEFBQQgJCYGvry8uXbqEiRMnsnHNmjULL730Ejt2Z2dn9krX\nMVddJpPh8OHDCAkJwcKFC5GamsramQuvc3Bw6P5PEj8hnBto27ZtGDhwIDs/jo6OJhoCOp0OH3zw\nAYB2Gca6ujp4eHiw7U1NTdDr9SgoKICfnx+ysrIQHR3N6yc5ORmRkZGsn169ejG3VXV1NRoaGtCn\nTx/U19ejsbERjo6OOHDgAHNhcHQU+u8I5+IaM2YMQkNDkZubi2HDhqG8vByTJ0/G+fPnsXnzZlZb\nUK/Xw9PTE5s3b4arqysbl0KhYNeAlZUV+/eiRYuQl5eHCRMmID8/H25ubpBIJGb1Fri3xu5un91y\n0tVoNOjXr1+Xmp1Au88yJiYG/fr1w9q1axEbG4utW7eyVziuHMqePXsQFBRktp/evXtbLDsCtPtX\nXV1dce/ePWi1WkRFRSEzM9MkJpP7f2fhc7Vajby8PKSkpEClUsHZ2Rmffvopjhw5gqVLlwIAhgwZ\ngi+++II3rvDwcPaaaW5MwGOtXD8/Pxw8eBCxsbFwdXXFihUrIBKJzBq2TCYz63YQeDK4365z6GBn\niAjz58/HmTNncOzYMaxYsQKzZs1CQUEBuyk+evQI8fHxSE1NtdjPhAkTWIhaZ7RaLWQyGQwGAxob\nG6FQKJCZmYmwsDCTtnZ2dmZF+U+fPg1XV1f4+/sjIiICqampcHV1hZeXF4YPH47GxkY8ePAApaWl\n8PPzg0ajgbu7OyZNmmTx2LVaLa+owO7du5k9nz17FjY2NmYfCDg/OSey3l3plgtpIpHIYvVTjubm\nZsTGxkIkEuHTTz/FhAkTsHjxYixbtgzXrl0D8Fik2VKM35P0I5PJ8Lvf/Q5VVVVYtGgRcnNzoVKp\nTMr9dKye2pGCggLodDqEh4dDJBIhKioKO3fuRHNzM/NzDR06FPn5+bwqw12Ni2vXMYY3Ojoa6enp\nePvtt/GnP/3JomHL5XLeRSHw/bBUq64zGzZswM6dO5GWloaYmBjs27cP165dw6pVq1gbnU7XpW1+\nVz8ymQwuLi749ttv8c9//hOOjo6IiIhAcnKyyX5cNenOfPbZZwgLC2O22djYiA8//BDx8fEQiURM\nXPyzzz5j4/quY9dqtTzbtLOzw8mTJ/Ho0SOMHTsWarXarG2KRCLI5XL2sNRd6ZaTrre3N8rLy3kn\nl4jYyqlWq8WkSZNw+/ZtHD9+nL2yvfPOO/D09MRLL73EO3GWsti8vb1RVVXFKyECPF6hBdpXiFtb\nW+Hg4IBNmzahsLAQ7u7uGDduHM6cOYO2tjZkZGRgy5YtAIBNmzZh1qxZWLhwIYxGI65cuQKgvUYZ\n0P4ap9frMWDAAFZuaNiwYdBoNOxp19vbmxUP5NDr9Wyi5J4EOr8uTps2Ddu2bcPy5ctZqffOcBWO\nuUUYge8H55rqfH7a2trY+di/fz+WLVuGlJQUJCYmAmivYbZixQqsX78ep0+fZvtZkjV0c3ODjY2N\nST9arZZdF5xtWllZYdKkSbh+/TqWLl2K9evXY86cOSAi5OXlYfv27SgqKkJhYSESEhIwc+ZMXL58\nGU1NTSgtLcUvf/lLAMCIESMglUqh1+vZk2yvXr3Qt29fnDp1ih1/RUUF76bd8doETN/2AMDFxQXZ\n2dl4+PAh9u/fb9Y2gXb77Pa2+VM5k38IJ06cIAAkl8vJwcGBBVs7ODiQwWCg3bt3k42NDa8SA0dB\nQQHZ2trSqlWrqKGhgby8vOjBgwdm+ykpKSGJREK2trbk6OhICoWCbG1tSSwWM6HmESNG8OJ8iYge\nPXpE06ZNo02bNrEEB4VCQSqVioYOHUojRoyguLg40ul0tHLlSurbty/bt7KykuRyOaWlpbHPmpub\nSSaTseoXCxYsYIsT9vb21KNHD7KysmJJFCdOnCCxWGwxvvjPf/4zSSQStrDRkfz8fBo3bhxPUF3g\nyTEYDOTr60tisZgcHR2pZ8+eJJVKCQAdOnSIdDodSaVSmjlzpkl8qVarpbCwMHJzcyMiotdff92s\nID5HdHQ0iUQicnBwIKVSSTKZjEQiEa1evZqIiPbu3cuL8+XIyMigUaNGkcFgoCFDhpBYLCZvb28K\nDg6m4cOHU1hYGJ0/f57Ky8sJ4Fc0mT59OoWGhvLs49VXXyVfX18iIrpy5QqJxWKSSqXsmpFIJCSR\nSJigupeXF61bt87sMV27do1VgzHHb37zG/r8888t/ibdgW6rp3vjxg3k5eWhtrYWRARbW1uoVCqM\nGzcOGo0GZWVlFoXIL168iN69e8Pb2/s7+6moqMCZM2dQXV3NxMO9vLwQHx8PsVgMo9FosV4aBxdP\naa5Nc3MzGhoaeHGRra2tJjXIvvjiC/Tr1w8uLi4wGo3Izc3FzZs30dDQALFYzOq9BQQEQKfTIT8/\n36zvjuNJC3AKfH/UajVOnDiByspKnih5fHw8lEolvv76awQEBJj9/RsbG3Hp0iVWO68rdDodTp06\nhbKyMjQ3N8Pa2hpKpRLjx49nYZGd65F1hkv5ttSmuLgYKpWK2a7BYIDRaOQ9idbU1ODGjRvMt3z3\n7l3k5OSw0um2trbw9fXFxIkTIRKJcPnyZfTt29diZWO9Xg+xWNzt4m+flG476QoICAh0R7qlT1dA\nQECguyJMugICAgJPEWHSFRAQEHiKCJOugICAwFNEmHQFBAQEniLCpCsgICDwFBEmXQEBAYGniDDp\nCggICDxFhElXQEBA4CnyfwqlopaYAbHDAAAAAElFTkSuQmCC\n", 28 | "text/plain": [ 29 | "" 30 | ] 31 | }, 32 | "metadata": {}, 33 | "output_type": "display_data" 34 | } 35 | ], 36 | "source": [ 37 | "from matplotlib import pyplot as plt\n", 38 | "import numpy as np\n", 39 | "\n", 40 | "plt.xkcd()\n", 41 | "\n", 42 | "fig = plt.figure()\n", 43 | "ax = fig.add_subplot(1, 1, 1)\n", 44 | "ax.spines['right'].set_color('none')\n", 45 | "ax.spines['top'].set_color('none')\n", 46 | "plt.xticks([])\n", 47 | "plt.yticks([])\n", 48 | "ax.set_ylim([-30, 10])\n", 49 | "\n", 50 | "data = np.ones(100)\n", 51 | "data[70:] -= np.arange(30)\n", 52 | "\n", 53 | "plt.annotate(\n", 54 | " 'THE DAY I REALIZED\\nI COULD COOK BACON\\nWHENEVER I WANTED',\n", 55 | " xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))\n", 56 | "\n", 57 | "plt.plot(data)\n", 58 | "\n", 59 | "plt.xlabel('time')\n", 60 | "plt.ylabel('my overall health')\n", 61 | "\n", 62 | "fig = plt.figure()\n", 63 | "ax = fig.add_subplot(1, 1, 1)\n", 64 | "ax.bar([-0.125, 1.0-0.125], [0, 100], 0.25)\n", 65 | "ax.spines['right'].set_color('none')\n", 66 | "ax.spines['top'].set_color('none')\n", 67 | "ax.xaxis.set_ticks_position('bottom')\n", 68 | "ax.set_xticks([0, 1])\n", 69 | "ax.set_xlim([-0.5, 1.5])\n", 70 | "ax.set_ylim([0, 110])\n", 71 | "ax.set_xticklabels(['CONFIRMED BY\\nEXPERIMENT', 'REFUTED BY\\nEXPERIMENT'])\n", 72 | "plt.yticks([])\n", 73 | "\n", 74 | "plt.title(\"CLAIMS OF SUPERNATURAL POWERS\")\n", 75 | "\n", 76 | "plt.show()" 77 | ] 78 | } 79 | ], 80 | "metadata": { 81 | "kernelspec": { 82 | "display_name": "Python 3", 83 | "language": "python", 84 | "name": "python3" 85 | }, 86 | "language_info": { 87 | "codemirror_mode": { 88 | "name": "ipython", 89 | "version": 3 90 | }, 91 | "file_extension": ".py", 92 | "mimetype": "text/x-python", 93 | "name": "python", 94 | "nbconvert_exporter": "python", 95 | "pygments_lexer": "ipython3", 96 | "version": "3.5.2" 97 | } 98 | }, 99 | "nbformat": 4, 100 | "nbformat_minor": 2 101 | } 102 | -------------------------------------------------------------------------------- /tests/fixtures/.ipynb_checkpoints/2_Middle-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Notebook 2" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 11, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "data": { 17 | "image/png": "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\n9j8Z0Sk7cyZ/MwAAAABJRU5ErkJggg==\n", 18 | "text/plain": [ 19 | "" 20 | ] 21 | }, 22 | "metadata": {}, 23 | "output_type": "display_data" 24 | }, 25 | { 26 | "data": { 27 | "image/png": "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\nY3fhwoUAIK978+bN8vKvvPIKiAjXXHON/Jx0wps+fTqGDx+Ovn37oqSkBAaDAW63G7NmzQKgvG3r\n6+vx8ccfw+VypeSIG264AQUFBbjnnntQUFCAvn374swzz8QTTzyBxsbGzm6+TjmgTcZmz56NwsJC\nTJgwIeNySmehdHw+H6ZOnYpu3bph9OjRmDt3Lnbv3g0iwvr16zFs2LB274lGo2mbggHJUuPKlSvR\no0cPnH322bjnnnvw5Zdf4txzz8XixYthMpkwatQoHHXUUdi0aVO790+ePBknnngi3n77bWzduhU7\nduzAggULMG/ePJxxxhl4++23FRO+VHIZOXJkxu8slXClpk5S0j377LMxZMgQVFVVIRgMorm5Gf37\n98+4LgA4+uijsWXLFsyfPx/fffcddu7ciVWrVmHZsmWYMWMGPvroI1RXVwNIHqSZTh47duyA2+2G\n2+0GkDxIlyxZkvKdTznlFLz88svy37t27UIwGMSCBQtgt9tRVlaGPn36oLS0FJWVlejWrRsAoKam\nBgDQ0NCATz75BLW1tVi+fDleffVVaLVaTJ8+XV6nTqeTk9zIkSPx4IMP4p577sGRRx6JW2+9FcAv\nJ6+2JdCNGzfihRdewPDhw9G1a1fMmTMH8XgcP/74I7xeL1wul+L3d7vdiiVdKcElEom0CXjHjh0A\nIDfjqq2tBZAsOa5atQp1dXVYvnw5/vnPf4KIcP/997dbxyOPPILa2lo8++yzWL16NdauXQugfdJt\nbW2FIAj73exRSrr7Jiu324133nlHbp4n7ccjRozIuK6dO3e2a643YsQIvPHGG1i7di0GDBiAlStX\nom/fvujfvz+6desmX4USEV566SUMHjwYRx99tPx+6ar0nXfegdFoRGlpKaqqqjB48GCUlZXJzcWk\nfSkcDuPzzz9HU1MTPvvsM7z00kuoq6vDzJkzYTKZ5PV269YNmzdvxvz58/HNN9/gp59+wpdffon3\n338fjzzyCD744AP5Cvh/dqDqKcLhcLsbQErGjh1LJpOpw+UCgQCNHTu2XRMW6fHII4+kfd8xxxxD\nVVVVaV/76quvCABdccUVFI/HyW6308CBA6muro60Wi2de+65RET0pz/9iQRBIK/X22Gce/bsodNO\nO63DOiGpPnTflgltiaJI5eXl1Lt3b/k56QZEZ5sSdUYwGKT77ruPAKQ0c+rVq1fKZ7dVVlaWUudr\nsVjo+OOPpxtuuIEeeOAB+vrrr9vdgS4vL6cTTjihw/gvv/zytL/zkCFD2t05P+aYY+SmZkTJ7Sbd\nsHv99dfl5wDQZZddJi+3a9cuOvbYYxX3qY5u0Bx99NF01FFHpX3tL3/5CwGgmpqatK9ffPHFpNVq\n5ZsykyZNShvD4MGDad26de3ev2TJErmlTNtHcXFxynYfM2YMWa3WjN9F6TuYTCa65ZZb6NZbb6VF\nixa1+91OOeUUcjgcGdeza9cu+Tjb144dO+TWB88//3zKTfFzzjmHysvLSRRF+abjyy+/nPJ+6Tdu\namrK2Ixr7ty5abdTZWUlLViwoFPbIhKJyC1Mhg4d2qn3dMYBq15IVxekJBgMtqvHSufrr7/Gm2++\nCb1ej2OOOQaTJk3Ciy++iC+//BIGg0HxctBmsyEcDqd9TTpLDx06FFqtFkOHDsX69evx/PPPI5FI\nYNy4cQCA/v37g4jwxRdfdBhnly5dMHfuXADABx98oLicVILau3ev4jIff/wxampqMGrUKPm5WCwG\nAIql91/DbDZj6tSpOPbYY1NiPuyww/Ddd9+lrbr5/vvvUVtbi969ewNIlkaCwSBOPvlkzJw5E/fc\ncw/69evXrhF6MBiE0+nssNQllbD3LVH07NkTs2fPRr9+/VKWjUQi8hUAAAiCgOeffx4nnHACLrnk\nEixfvhyCIKSUiAFg8eLFWLduHaxWK0466STcfPPNmDdvnnyZ21EVg8lkald3LJE6qXz55Zdpv9sn\nn3yC6upquYSV7vsedthhmDNnjlwfvq8HHngAkUgEFRUVGDNmDB566CG8//77uPrqq9HQ0CBfIQHJ\nbd6ZK8m2gsEgXC4XnnjiCTz++OMYPXp0u9/N6XQiEAik1Me3NW/ePABI2Y8BoLKyEmVlZfjiiy/w\n4osvwmQy4eKLLwaQvCKrqanB7t278fzzz6OwsBDnn39+yvtDoRAMBgMKCwszdnaQtm2fPn3k48Zi\nseCpp56S6487YjAYcP311+Oss87CJ598kraa6lc5UNk7kUhQ165dqVevXhSNRlNe27JlC40YMUIu\ngQwZMoS6d+/e4TofeOCBtHd3iYgGDBggnxXbOvXUU6mkpCTtOkeMGEEAaMeOHUT0S2sCs9lMBoNB\nbvS/evVqAkB33323/N5FixYplmKkEnSmjgo//vgjCYJAZ599dtq4A4EA9e7dm/R6Pf3444/y851t\ncpXO+vXr290RloRCIerWrRv16NFDfu7ZZ59VLLFLrSikNtKxWIwA0LRp0zLG4HK56Mwzz+wwVqlE\n7/f76bvvvqOzzjqLAMiN6vf9/tXV1WlLnHV1dVRVVUVGo5GWL19OZrOZrrrqKvl1qYXBt99+m/K+\nSCRCBoOBzjrrrIwxnnLKKVReXp72tc2bNyte7b333nsEJNvzSqSScUNDA23evJnOOeccAkBarZam\nTJmS0gqioaGBTCYT9e/fv92+I7XuePXVV+Xnjj/+eKqurs74XdK59NJL6ZBDDsm4jNSu9sEHH0z7\n+o8//kgOh4MqKyvTNrUaM2aM3IZ+36uQt956iwDQ7NmzyWg00i233NLuvWPHjiW9Xt/h93jttdcI\nAC1atIgaGxvplltuIa1WSwDo3HPPpebmZnnZTZs2KbaGiMfj1L9/f3K5XAesg8QBbTJ2//33y5er\nGzdupI0bN9K0adPIYrGkXCr06dOnXZON3bt309y5c+nee++lcDhM4XCYSkpKqKysTG4usi9ph923\nbaUoitTQ0ED9+/cnt9tNixcvpoULF9K7774rH7But5sKCwvl90jNigCkHHChUIh0Op18CRuJREgQ\nBBowYEC7Hk7r16+nXr16kclkatebrC2pLedVV12V0uB/7dq1dMwxx6TdmaXmOb/G8OHDyWKxpLS7\nJEomJ2m9UtMuomQbZpvNRi6XK6Wn05IlS8hisdDw4cPl56Skq9QOVtKjR492zcrSkdpIS21LRVGk\nt99+W26Af9lll8ltiisrK6lXr15p1/Ptt99SUVERmUwm0mg0NHHiRCL65aR3yimnpH3fiSeeSAaD\nIWMPttGjR5PBYFB8fejQoXL7VCnWrVu3Us+ePamgoCClukrqabjvPrNs2TLq0aMHAaDx48fLBRjp\n2Nr3t5L89NNPBCTbxUuOPPLIdtv8559/pldeeYWmTZuW9pgiSibdyspKxe9HlGyH2717d9JqtfTY\nY4/JCUwURXrzzTepoqKCNBqNYicEqe0t2jT9kpoaSm2w01XDTZw4kQBQa2trxhiXLFnS7kT07bff\n0rBhwwgA9evXT97PLr74YtLpdHK7conH45GrgB577LGMn7c/DmjSjUQiNGrUqHb1KH369EnpFdSt\nWzc65JBD6Oqrr6ZRo0ZRz5495WV1Oh1t376dli1blrHe9vPPP09py7hq1SoyGAyKdXXr16+nUChE\nAFLqJBOJhNwTbP78+SmfMWjQIBIEQT4IpY4BVquVTjnlFBo1ahT16tWLgGTX1s7UFfl8Pjr55JPl\nuI444gjq1asXCYJAOp2O7rzzznZn1AsuuKBT7VzT+fe//y23gRw0aBCNHj2aBg8eLJ/1J02a1K4E\n/c4778glkb59+9Lxxx9PGo2GevbsSZs2bZKXk5KuUolHcskll5Ber6fbbruNZsyYQQ888ABNnTqV\nbrnlFrrtttvkxKLUU9Hv99Ppp59OAGjOnDlElCw9S11D0/nPf/4j92iTrlakKyelettnnnmGAOW2\np0REZ5xxBhUVFSm+vm3bNurevTsBoK5du9JJJ51Edrud7HZ7u56D06dPJwApVzVEySuekSNHptR3\nHn744dS1a9eUTgj7Ov7448loNMrJtLKykg499FD5GKuurpb3Ob1eTz/99FPa9Vx66aXUrVs3xe8n\n+eGHH+ReXnq9nvr160eVlZUEJHvsvfLKK4rvlY5ds9mc0jFHup/R9hjdl9SB5sILL6SHH36YHnzw\nQbr33nvpzjvvpKuvvlo+ga1YsSLtSUoURblX5fnnn09ERBs3biSbzUYAaMCAAXTOOefQkCFD5Hwy\nfvx4xZPUr/Gb9Ej76KOPaPLkyXTHHXfQihUr2iWRCy+8MCUhHnLIIXT22WfTo48+Knd/3Lt3L919\n990ZOyE8+eST9K9//YuIkjv72LFj6YorrqD77ruPnnvuOXrxxRfplVdeocWLF1MikaBIJEL9+vVr\n14Pp1VdfpUmTJrXrwvvMM8+Q0WiUS6SiKNIHH3xAl19+OR177LHUs2dPOu200+jxxx/fr+6W8Xic\nli5dShMmTKAePXpQdXU1XXDBBWkb+BMlbzC5XK5Or7+tzZs305133kknnngi9ezZkwYNGkS33357\nu9LvvjweD/3f//0fjR07ls4++2x68MEH014qPvzww+0u1dtav359ykG/78Nms8klpS+++IImTpzY\nrnqKKFm6eu655+TSSb9+/eiee+7J+LmbNm2i8ePHyyeK9evX06OPPqp4mRiLxejWW29tlwT3tXbt\nWlq5cmXGz41Go7Ro0SK65JJLaMSIEXTdddel7fK+fv16uuqqq9Ie0LFYjObMmSPvV3//+98zfu6m\nTZvorrvukr/bBRdc0O4YO+ecc+ixxx5r1xtrXx999BE9//zzGb+fJBAI0EsvvUTDhw+nqqoq6t27\n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\n", 28 | "text/plain": [ 29 | "" 30 | ] 31 | }, 32 | "metadata": {}, 33 | "output_type": "display_data" 34 | } 35 | ], 36 | "source": [ 37 | "from matplotlib import pyplot as plt\n", 38 | "import numpy as np\n", 39 | "\n", 40 | "plt.xkcd()\n", 41 | "\n", 42 | "fig = plt.figure()\n", 43 | "ax = fig.add_subplot(1, 1, 1)\n", 44 | "ax.spines['right'].set_color('none')\n", 45 | "ax.spines['top'].set_color('none')\n", 46 | "plt.xticks([])\n", 47 | "plt.yticks([])\n", 48 | "ax.set_ylim([-30, 10])\n", 49 | "\n", 50 | "data = np.ones(100)\n", 51 | "data[70:] -= np.arange(30)\n", 52 | "\n", 53 | "plt.annotate(\n", 54 | " 'THE DAY I REALIZED\\nI COULD COOK BACON\\nWHENEVER I WANTED',\n", 55 | " xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))\n", 56 | "\n", 57 | "plt.plot(data)\n", 58 | "\n", 59 | "plt.xlabel('time')\n", 60 | "plt.ylabel('my overall health')\n", 61 | "\n", 62 | "fig = plt.figure()\n", 63 | "ax = fig.add_subplot(1, 1, 1)\n", 64 | "ax.bar([-0.125, 1.0-0.125], [0, 100], 0.25)\n", 65 | "ax.spines['right'].set_color('none')\n", 66 | "ax.spines['top'].set_color('none')\n", 67 | "ax.xaxis.set_ticks_position('bottom')\n", 68 | "ax.set_xticks([0, 1])\n", 69 | "ax.set_xlim([-0.5, 1.5])\n", 70 | "ax.set_ylim([0, 110])\n", 71 | "ax.set_xticklabels(['CONFIRMED BY\\nEXPERIMENT', 'REFUTED BY\\nEXPERIMENT'])\n", 72 | "plt.yticks([])\n", 73 | "\n", 74 | "plt.title(\"CLAIMS OF SUPERNATURAL POWERS\")\n", 75 | "\n", 76 | "plt.show()" 77 | ] 78 | } 79 | ], 80 | "metadata": { 81 | "kernelspec": { 82 | "display_name": "Python 3", 83 | "language": "python", 84 | "name": "python3" 85 | }, 86 | "language_info": { 87 | "codemirror_mode": { 88 | "name": "ipython", 89 | "version": 3 90 | }, 91 | "file_extension": ".py", 92 | "mimetype": "text/x-python", 93 | "name": "python", 94 | "nbconvert_exporter": "python", 95 | "pygments_lexer": "ipython3", 96 | "version": "3.5.2" 97 | } 98 | }, 99 | "nbformat": 4, 100 | "nbformat_minor": 2 101 | } 102 | --------------------------------------------------------------------------------