pax_global_header00006660000000000000000000000064147464334220014523gustar00rootroot0000000000000052 comment=8722b0b598681713c49c7ffc2e5568378b14f756 cokelaer-colormap-8722b0b/000077500000000000000000000000001474643342200154525ustar00rootroot00000000000000cokelaer-colormap-8722b0b/.github/000077500000000000000000000000001474643342200170125ustar00rootroot00000000000000cokelaer-colormap-8722b0b/.github/workflows/000077500000000000000000000000001474643342200210475ustar00rootroot00000000000000cokelaer-colormap-8722b0b/.github/workflows/ci.yml000066400000000000000000000014231474643342200221650ustar00rootroot00000000000000name: Tests on: push: branches: - main pull_request: branches-ignore: [] jobs: build-linux: runs-on: ubuntu-latest strategy: max-parallel: 5 matrix: python: [3.9, "3.10", "3.11", "3.12"] fail-fast: false steps: - uses: actions/checkout@v3 - name: Set up Python 3.X uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Install the package itself run: | pip install poetry poetry install --with dev - name: Test with pytest run: | poetry run pytest --cov-report term --cov=colormap - name: coveralls run: | poetry run coveralls --service=github env: GITHUB_TOKEN: ${{ github.token }} cokelaer-colormap-8722b0b/.github/workflows/pypi.yml000066400000000000000000000017111474643342200225530ustar00rootroot00000000000000name: Publish to PyPI on: workflow_dispatch: push: tags: - '*' jobs: build-n-publish: name: Build and publish to PyPI and TestPyPI runs-on: ubuntu-20.04 steps: - uses: actions/checkout@main - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: "3.10" - name: Install package run: | pip install build poetry - name: Build source tarball run: | rm -rf dist; poetry build - name: Publish distribution to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository_url: https://test.pypi.org/legacy/ - name: Publish distribution to PyPI if: startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} cokelaer-colormap-8722b0b/.gitignore000066400000000000000000000012431474643342200174420ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .cache nosetests.xml coverage.xml # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # PyBuilder target/ cokelaer-colormap-8722b0b/.pre-commit-config.yaml000066400000000000000000000014141474643342200217330ustar00rootroot00000000000000 files: '\.(py|rst|sh)$' fail_fast: false repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml #- id: check-executables-have-shebangs - id: check-ast - repo: https://github.com/pycqa/flake8 rev: 6.1.0 hooks: - id: flake8 args: ["-j8", "--ignore=E203,E501,W503,E722", "--max-line-length=120", "--exit-zero"] - repo: https://github.com/psf/black rev: 22.10.0 hooks: - id: black args: ["--line-length=120"] exclude: E501 - repo: https://github.com/pycqa/isort rev: 5.12.0 hooks: - id: isort args: ["--profile", "black"] # solves conflicts between black and isort cokelaer-colormap-8722b0b/.readthedocs.yml000066400000000000000000000006401474643342200205400ustar00rootroot00000000000000 version: 2 sphinx: configuration: doc/source/conf.py builder: html # Set the version of Python and other tools you might need build: os: ubuntu-22.04 tools: python: "3.10" formats: [] python: # install doc/requirements at the end to make sure pillow 9.5.0 is used # also needs sphinx <7 install: - method: pip path: . - requirements: doc/requirements.txt cokelaer-colormap-8722b0b/LICENSE000066400000000000000000000027401474643342200164620ustar00rootroot00000000000000BSD 3-Clause License Copyright (c) 2014, Thomas Cokelaer All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of colormap nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cokelaer-colormap-8722b0b/MANIFEST.in000066400000000000000000000001651474643342200172120ustar00rootroot00000000000000include LICENSE include README.rst recursive-exclude * __pycache__ recursive-exclude * *pyc include requirements*txt cokelaer-colormap-8722b0b/README.rst000066400000000000000000000101131474643342200171350ustar00rootroot00000000000000############################# COLORMAP documentation ############################# Please see : http://colormap.readthedocs.io/ for an up-to-date documentation. .. image:: https://badge.fury.io/py/colormap.svg :target: https://pypi.python.org/pypi/colormap .. image:: https://github.com/cokelaer/colormap/actions/workflows/ci.yml/badge.svg?branch=main :target: https://github.com/cokelaer/colormap/actions/workflows/ci.yml .. image:: https://coveralls.io/repos/cokelaer/colormap/badge.png?branch=main :target: https://coveralls.io/r/cokelaer/colormap?branch=main .. image:: https://static.pepy.tech/personalized-badge/colormap?period=month&units=international_system&left_color=black&right_color=orange&left_text=Downloads :target: https://pepy.tech/project/colormap .. image:: http://readthedocs.org/projects/colormap/badge/?version=main :target: http://colormap.readthedocs.org/en/latest/?badge=main :alt: Documentation Status :version: Python 3.9, 3.10, 3.11, 3.12 :contributions: Please join https://github.com/cokelaer/colormap :issues: Please use https://github.com/cokelaer/colormap/issues :notebook: Please see https://github.com/cokelaer/colormap/tree/main/notebooks What is it ? ################ **colormap** package provides utilities to convert colors between RGB, HEX, HLS, HUV and a framework to easily create and build colormaps for matplotlib. All matplotlib colormaps and some R colormaps are also available altogether. The plot_colormap method (see below) is handy to quickly pick up a colormaps and the test_colormap is useful to see a live version of the new colormap. Installation ################### :: pip install colormap Usage examples ############### 1. convert RGB to HEX: :: from colormap import rgb2hex, hex2rgb hex_color = rgb2hex(255, 0, 0) # Red color in HEX print(hex_color) # Output: "#ff0000" rgb_color = hex2rgb("#ff0000") # Convert back to RGB print(rgb_color) # Output: (255, 0, 0) 2. Generate a Custom colormap: Create your own colormap. For instance, from red to green colors with intermediate color as whitish (diverging map from red to green):: from colormap import Colormap c = Colormap() mycmap = c.cmap( {'red':[1,1,0], 'green':[0,1,.39], 'blue':[0,1,0]}) cmap = c.test_colormap(mycmap) Even simpler if the colormap is linear using color's name:: from colormap import Colormap c = Colormap() mycmap = c.cmap_linear('red', 'white', 'green(w3c)') cmap = c.test_colormap(mycmap) .. image:: https://colormap.readthedocs.io/en/latest/_images/quickstart-6.png :width: 50% :align: center 3. Visualise existing matplotlib colormap: :: from colormap import plot_colormap, plot_category plot_colormap("viridis") Using the Colormap instance, you can see all valid names using:: c.colormaps Matplotlib is very well known in the PYthon ecosystem and has categorised colormaps into categories such as a "diverging". To visualise all of them:: plot_category('diverging') .. image:: https://colormap.readthedocs.io/en/latest/_images/quickstart-4.png :width: 50% :align: center Other sets of colormaps are : sequentials, sequentials2, misc, diverging, qualitative See online documentation for details: http://colormap.readthedocs.io/ changelog ######### ========= ================================================================================ Version Description ========= ================================================================================ 1.3.0 * support for poetry 2.0 thanks to @cjwatson PR#26 * Slightly better doc 1.2.0 1.1.0 * switch to pyproject. remove easydev dependency. compat for python 3.11 and 3.12 1.0.6 * Fix a matplotlib deprecation * Fix RTD documentation 1.0.5 * remove Python3.6 and added Python3.10 to CI action * Fix issue in setup reported in https://github.com/cokelaer/colormap/pull/14 * add requirements in MANIFEST * applied black on all files ========= ================================================================================ cokelaer-colormap-8722b0b/doc/000077500000000000000000000000001474643342200162175ustar00rootroot00000000000000cokelaer-colormap-8722b0b/doc/ChangeLog.txt000066400000000000000000000015051474643342200206100ustar00rootroot000000000000001.0.4: if a cmap_builded get a colormap as input, simply returns the colormap 1.0.3: accepted pull request https://github.com/cokelaer/colormap/pull/9 and https://github.com/cokelaer/colormap/pull/8 (doc and small fixes). Also fixed travis CI 1.0.2: 1.0.1: ported to conda-forge (fixing metadata) 1.0.0: stable version 0.9.7:fix rgb2hex function that raised error in python3.5 due to float being passed to "X" format (fixes #4) 0.9.6: remove deprecated function get_cmap; fix issue #1: cmap_builder accepts a string with colors separeated by underscores. 0.9.5: add docstrings and aliases to Colormap.test_cmap method called test_cmap 0.9.4 0.9.3: add cmap_bicolor method. Rename get_cmap function into cmap_builder to avoid clashes with matplotlib 0.9.1: add cmap_linear method. add get_cmap function, add new colormaps 0.9.0 Creation cokelaer-colormap-8722b0b/doc/Makefile000066400000000000000000000111541474643342200176610ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " text to make text files" @echo " man to make manual pages" @echo " changes to make an overview of all changed/added/deprecated items" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" clean: -rm -rf $(BUILDDIR)/* html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ebisoftware.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ebisoftware.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/ebisoftware" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ebisoftware" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." make -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." publish: scp -r build/html/* cokelaer@ebi1-001.ebi.ac.uk:/homes/cokelaer/public_html/cnolab/wrapper cokelaer-colormap-8722b0b/doc/images/000077500000000000000000000000001474643342200174645ustar00rootroot00000000000000cokelaer-colormap-8722b0b/doc/images/colormaps.png000066400000000000000000000654541474643342200222070ustar00rootroot00000000000000PNG  IHDRO-uAsBIT|d pHYsaa?i IDATx{՝O8#U`6"0J5@Q?NTwQoHd11D"'E71 #jȮAP"4jbԉYM6GwWWuWTOߪ/o[S3Lcˮv <@L &O' `0y<@L &O' `0y<@L &O' `0y<@݀&$Yd)sףƕβt:+G^W~۲t:ӹw+?X%+:wy;t<ο3ctXfIge..Ui,[|+L'wy1Ywכ˟NAs-+k|A8u+p,#^I>s?cH깓Ƥ8qJsN=7rkrc|woK\ec6D͸ۗyʘ옼kKc\m4i3ks/'OmJ<&]^̺O/]X|ڒƧ]_*w5~Cbőz\iڋ9oioirdwb)K6,|η;yq{72,!iFayhc0yԇ8q{u[uWCwYw_ja*(Hac0y <@L &O'SLu'[U`Jyo(Tw_ja*gK K$N߰⎱<x a[GQXz#,f&,1Váx a( KoeXBҌ„> `W|8o6,XyꐰFX%$(LX:c&OqŇC m" KoeXBҌ„> `W|8o6,XyꐰFX%$(LX:XM6Mm;_zҘ1c+ͷfO]3F/NϫA{uWC_~Сڼy10`8PB7O)]vUssu 'Ԯ]:iu曷jnn5m4ۿn6IҀ$W$N:xF&O)V;V~'9+$3a;6"]lBxjJrBAɱIn֮*UVoUA_xb4V??YսޫO>DƍLϟg޽[{ы/G8q${zuhرWc9F;wSO=%IԩS)p[~/6,|Mr˰ K}1+˲SO$544hzG[onѹsgO_~Ν;svZq2e>Cr!:|rnqLbSvxC۰Se%,(HX:X-^X/yv1b=#n#‹y!oh>}Sa40a<<+O m" SvNv KoeXBҌ„> `W|8o6,XyꐰFX%$(LX:c&O?>8%A ^PL &O' `ΨGD1PSSLqx a&˰ K})P2B;mXIn72,!iFayhc2W' `0y<@݀FYc%Ieɒ%+QeYcɸ\S_tvƱD_;&+ Tol1'>1t̲ru˛Uo5#+ozIXz*SrLt&pyyH']c? +VP0{WXj+Uڎ &O' `򄂥bTlA y~7P)0OeLТK9=7؉G|^V'%TZLJ SY.$7`&OJ' S1+Oڕ2Gt0T'Si!qDC0yB$7BD$l[{* V<@LP3M&۶e۶5`r-:p֬Ym[z駟^x!V}k_ӀԥK}S>9OpfnP)ei̘1Zx٣UV骫R]]N:$IҎ;ԣG;7>[ow.Iz7tꩧ3e-\P}رcy(VP31Scc.L---zǝ;666QÆ 5\>H;vpʸ+UWW 6_&}_ʕ+='۶h"M0Aݺuӧ?iX`򄂱InInձInuVl-oyYڷoP?#-[Lr9I|իW몫R.]o}K&M+>[^x׿lPIL w8nU^Zܪ}ȶ W=4`9s&LݻceYھ}Əijj$_;蠃<,Kmmm?1+O(F3c\xInaBk׮jnnV߾}&N*c@ԳgO} _нޫݻwg7UlD' .]K/ռy~I}ݧN#x `tXy*-V"7`&O(FVƒMrkC ' `0yB$7B$$:B{r67 &OJ;w*/-nU!qDC2Ac@ c `0y<@L &O@j7 /IJl$i)xLĒ[;t:M*yS1wtfl7]:ddVbSA;Nk/fɲ}$rStX]NN;\msˌڧT}qoJYF~o,3SF:euybr*ϵjjBtʎΛүO]Nd̳BfSy$/3>y=tyuLtKyxekr;Lv[v>cgXsnӖx.+d^\1:vӸp3}3~pmr͟byҷk3mKʝoRiM*键W⮘Ӿ̼N'򯷀Et^j3dwfKNg\:Lu.#L;;V<ŖU+i r=ˈ1^wlFX%,.z-a PB^|0'`)j `o\XAgWexXz*eUֳ,赸@qzy~ `0y<@5;y*1ѼLn](VeoUn S]؂ߪ9b*/P徬wk赸@qzy~)*{KlŸ nU^"v K;^k0y/6c '9InElҎ`Lpb\+OʓWX\Z\j`M &T1&O G81.ȁb+,.z-a1iӦɶmٶz 0@r8(IjiiYgӡw}WRx|:CР?^\s~WP~Lbpb\+OʓWX\Z\b2Xei̘1jmm믿Yf[.C=z$-YDׯ… ofϞ{W}1F'O׾5;VWֶm۴h"|[u(n@IL>h)G52XVh> aK&J4T:թQte?۷o{1Wӌ3tg訣_3]&Lo[~X LojJjDcy=:}.\P[n̙3gϞα;vh\sР~$PLPSV\uEg}&Mows޽{.ӱ/~c~?gm޼Y7sβ_@M=z,X:G=SNԩSV|ھ}'֫W/K{.i<tU۷oĩ-}+_~;=n"B' Wr4i~ӟjҤIug?A˗/W75T]CymZ(Ve7-$In-s6-P徬=AZ\8ouX:,ɲ7j;Nk/fɲ}$rStX]NN;\msˌڧT}qoJYF~o,3SF:euybr*krtʎΛүO]Nd&TIKgeŌO^']v^z1/#}y4c1wN>'OF9#-#望q%gˊ)פ'W:w̷保4:錷|cx\i}tmsL[rTdZʣd:uU+/3/-sQf,;]꥗ -ٝ1W:*|s'2γwUͮ<şU+i r=ˈ1^wlFX%,.z-a )LI*V 3~l wlFX%,.z-a )X'9A,o>+9g,O<{myD-:lb+٨`1;wy:͛sTϲ\ϕ.GLlrSty˕/`vK;Oen,XavH=7ԑ7mI\1ڑ21非1aq0oJ2ېw|dI2:75Y1匹/},󼝘umF6oL>t3b{QfI1Fjgr&g>2ļǕk[$m1+UͮgyFO?N?t1?;v$ CUD I$»L\QZrԥK}ٚ4infI(dNp;>1|CBE{kHeXy.(`=Z ,P]]#N'ض51J:$}ӟ$:thV۶m=nݺ]y J&@pl 6 k׮jnnV߾}$[HUu IDATh֭ο?jРA&Y7oֳ>|+?TMNѣG'ԪU}v]q裏eiѢEzW/}I/?Gոqt)kܘ<fi:uLQFcѨQd[N:uҘ1c4`p 袋zjtA8 T x:wky8裏[W[[[C)>&H ; ުMr3q(a<]"J"y݅l[Rܪ<:<*"y݅l[R]yB&.(a&O1'yH^w!i4+O%StpIG N&@pl 6( `)a\TE$Mr]FxoU&E0X@N.FW%BhnU^Rܪ<:,LXy<@L &O'й rIRb{6J<ږU-j/Q:Ćucvy1β&tJWb4:>*ێm:g[6>1W:'Yy*tvӜsKs嵼y<Y޼V;y3Jke2òȬL>e-3>|ʳ+/1Vc<2ړ3+G$g$Xr &t&O^w<%SxW:sWt<>yIgH><Տm>N>os=:o:+c\wڌQϒ1Kk .W,}N19Iɘ)N:לL쬼>:ǔY~z R1o35J/#7JLt&;f2ӵL*fL/6_Db)$5QP} Q^JS Khby^P&O' `vH+W˃(Fz/h1>/6ןkҔ\/%\?xҽ H^`@i1yB^|*5N+(P$]+C&BXyBv G+ F( ` V""D5<-^ltG1)FE`[oɶmmٲMA1y@͘6mlۖm۪ӑG+Rq2RW}} n-GtvJ,Kcƌŋo>mذASN޽{Tֳ>;N{K.ӧ6VP31Wcc8?^---Z~_԰aԥKxڸqoY={Tccɓ'SO?3gz{袋sr(;&Oe$7bI.c"In&ͭ[jڵ1b$iΝ;v?x˚;wf͚n96lo~tIN̲_C^Fzƭʣ[!Q1+WAמ={4e-X@l2ch"iӟ+"SN9Emk޽ڷo.2kObTFZX>EG+ Fרѣyf_^SNիFl۶MCU]]~ȑ<#ڼyl٢GyD?tWPLW>dMr#"D5*FcյkW577kȐ!z衇ԳgO͙395ݯ_?577k򗿬3g;+Im;1DbAKIIntňfl!ltaYn-]T=XmٲE{qҬ[.pYw&H{ֻ?pnZ@E1y@M8qzyiɲ,K^z^}UZJwuoSkk??͛ѣG{OjժUھ} }G<5' uI3f… %I+V+Ç릛nҝwҢ>}4vX-_9>}tM:USLѨQt1hԨQ=AejX\vģmYeJ ek%Y_ͱ\/zK sN?O<&YV7FN:+loT޺ s)tѶ'wfIg9Q/g1Hg:͉9˃(Fz&R*t `0y<P7ah;&Mr&U&@!:Ďucvy1βd% K$KJ,ۛ&U|G4YeY6yۑmYly˱3br&W:'Jsԛ<+_:Xc~u#Nusybt7S'<˛j'of;\iXyXS~Ee_O]tiKF_[=m2S\uX>rՑUy~ 7h%H uH(G1//][[[z+U[M]*eLyaOxTÔbwSrjy|EtElWR`+g}1t@1<@L &O')Z*W˃(BVӸ[YߪߞVRqUyw@BxTWℾ%L‹Xy@0yB^|T/b):;D[o%۶e˖j7U yy P!JPiӦMm۲m[uuu:#uW?.'=z;0uU _M6&OW,4OkcteY3fZ[[o{Ѳe4ŝʙ={&MÇkŊڱc-[f]ej=j1FjllGǫEׯwҼ6ltOuuu2e/^}iٲe>}ziO 5˲,p Zt{={ڲeYn'ɓsNw}K3h:p;2*Sp+W˃(B)쓓-i̹:`ĉݻ͛ɓ'˲,]zzWj*u]#GԿ;_??hݺuZhTʠA4rH]wuߞVRl*ͲI{N4c -\Pb +>|n&yYyokٲeڸqƍO:%I/wI?}tݻ_ًn VReeP+g}Ce6 *[IoℾC]uU:4j(~e/=et@Eb+)VC-YDK,v3P"<3^c<"Dp>=9T' `0y<MT*`yE퓹sa:yӖ*]XtNZI$wI11oyyb2SF;o͕^2~0pU<>˛[G lKtst9tbm|rLNf͕ׯ;8.Jc\InytP<A[m[[l I+cP LP3M&۶e۶tG+(~+׿'k.577k$Y%˵L۹sgqKt'caYƌV曺{l2͜93PN;MW_}Mݻw;kVݺuӭޚ[nEzX?~%9/T' cب#8BǏWKK֯_y5l0uE'x6n)oW]]fϞ-I/EiҥYwCCuL_~9>w\ 6̓{_SG tvňT&]TTx+lKY7"cl>+]V;U`ܨͿy&Q2+tܘqϸc֭Zv8 IΝ;5vXyZlx㍬աz-]TrZZZt5o̚wъ+4rʍ'8U9oƭV#$$y)\R ҥ 38C ,$-[L-ZH9ۈ#tS޽u7ٳgA]vU~ԩS'};)9<<&(+O&IntIn:/ѣGkZ~NիW;7ضm\C7t1d,K^{6oެW^yE>1:sVCY1y'-FJ+OZFҼyvZYFdvV T6*f'O(aMr&!@y,K7p.]{O{l٢={8i֭[W%O>$[46mU'@&N޽{k޼y1v7W/<c,d˘t'bΗ}-UԱ 霴J1J>O<1 c 3c\eȧz&\eH&O'Wy~}f3]//W[s+.9gkK;ghw[1}mُGTWFyhI朤7cF ι++O@NLBV}%-q.6Q{t,DC1Hw]9τbt@No1(H?ţXG+ uQ<&&OpTZJ_%+OeV+O谐\@51y'O%ˏ@XyV"$$9PM5;yⳓѪ GHƊ1/Aw `dc8bܪcܪ$7 Vqrؖ*[G*\@5YJ0y<@L &O's2klGWb*22KU,J-cf,\ymX[Wo*=,)+#.dKzyٮy"f1;oyv劧Hy.w:W\m\ǂ%P{˴ܱtgYɧ}s׷(ILO̝/O,s<'NsSVyNn?Kg2әtLy]\Ɣ5V2m3tJ?qm8LKGw2v(i/i9q܍Oc<4Տm96u-xT;+Uy&}=;1tAc,X' Xy r);>u!4q60VcQ`"D}W!ּTUM8\e<+|X˅O :  `0yjv cUy*FHnI%ߍJU**5Rz -+ P'd zr '.`~\B  ilq[\B  i@_N=]vY^{$ɲ,Yo7n\>}VSSƍ+WPvL` E);Va (\`ei̘1jmm՛o{G˖-̙3?tWkڴiڽ{kխ[7z뭾q9RwҥK}vЄ 4g/jvO}Xd'x IDAT]TU "|[1Wcc8?^---Z~_԰aԥKxڸqo]uuu={$闿-ZK.]v/ָqb Iӵi&Cfٶ{N'puSO=U;v(c <62֭[vZ1BsN;V^~e͝;Wf䯯ҥKpB=>}nF 6̷~Z~+}A̙3Gw}6lؠΝ;k8S'Ԕ+WA]tѐ!Ctghe˖Ei:s|'=#F_;O{֍7ޘԪK/'//h<t0o^`f+@^Ym[G>Rf^ ŝWfm<ױm 2-w,cVti_\<1#!5127I=sbt `yʈ9gh1e6*t&3IǔוNoLYc*#_6NdL׆$zt!#oҙҙv( s:SHX\ؖoSׂO5CRg׳K4溮͂~E(]yB6+` ȉ ,8<f &OH3c@N\0e>_A,kׅd\B  i(Iڰa$iɒ%jmmK/~3mڴI{n͚5KosɶmM0ݕ+WFu ETvܪ+4dXBҌ { C= sZd.R>|N;4M4IgtO.I^Zsϟ˗xICCկ~+[oլY&I6l$W^Rcc}{ҥKճgO'vyy,ZHڶm= ٕc\TQٱIWV,$ͨ@;vМ9s4j( 8wDZNP{>=Z?ezGo[Ǐw/^;voֆ 4c I҅^^zizoj͚5׾wyGRywt=^/{)?5jmm_לM?^u=s׿^A{<f444hȑ޽HU .%VPVE((RmPj`ȭ?؋T((XZT .B@%)R*u>?v9g~v\d3=Ǝ:-^X?|#<7k=sꪫ$IڱcnM{uuY4m4\RO=M4IGu_|mۦ>}hС$qܷ&b1mܸQo4|=),pLqbMs4=y9Mi1_#%.:o}`Z/i I /c_9%Ҍ/MaijJ +/GrdYjIIP6CY7-ɱ tIyNW3޶7,ZQ6ժ:o"͐XK/N6$%?dX4LM41s3rS7q!in4Z]VNJ?ey4#Fj[aeS{Co)ϗ+Zj}5IN<>"3?d/n[m-iͺ[ۺ+(2< L ,)x^]h"nךK.g-6J4t`8Vʨտ(q[ aE2-Eҍec#W9x[wEbW^WSI7 VJ+O@8rūC(XycɯHQagj#p<ͫ%^DcW)`KUysTlAXhvhn I$7$?E ~3*Kʁp<=*G[";*+ŠdZVV@8Ï'@X x O`][w$_sMGŘx2kk%e`tsmtMl6-eLcxC}kV%nb<ޯ NX(:/l곝?|e>y*_"&S#PXy3=ڵzŋKV^:7͛Oi7h"IҥK5d]VW\qjjj {"(8']InU9V2gUohժUZb֮]zP.\ÇبÇ-۷o_ B 25E<Ȃ;^ ڹszuIcƌQCCvءcw1E!x<*,d^{͗{n 8PXLcƌi&Kj mۦ]viLO(ϟÇի5gIյkWmذ4/$. gU|csRo$esB)><֗ ܏ iaeSLs7ǓcMs oW_έF0`Z 1!zf\O&$?163ԗ6̈́mHF0~+(c1ōO)iyIIPw&$?9eS"/n<Ͻt!măyڈ).xx -/,틦v+Oi9]*BYhsd~e;'0TpTMTRӼ3(nMU/.2g;cT <v3a*8x{O` ,<'PSǭl6UlU)mr~&Sj,Kn qrT */ܶ*GRvRa7EXy*$n5n0<+V3V 0<+V3V 0։'Ŵo߾ \򄜱THO~/\UUU2dnݚaÆi'OV:}b1?~\~z 6L;wV^4uT>}-РX,-[hСΝ;U__ٳgkܹ/}I<>cM>];wրe˖HDz<,\P=,YCOzO>D'NTnݴgmڴI۷o<]rVX˗k8qnV=z4z544Hj ^}U]zڹs$Q_Wԯ_?Iڷo6oެ'N{Iֲejg}V={oYfwܡ1c護҄ twfeqLtFI9N»q' )הN0-5_scJ)N`>)];wN={Ԛ5k4c ߱wZp}UWWK^z%M4I'OT=/Yf… r#F 7ܠիWĉׯ~m |>cԨAr׿jҤInzc(Iҥnv[Nt)Kwã֊*ơCt7.u]N4j(q>|XgϞɓ'5zh_ѣGСCtM:wݫF;VcǎuWU__75i$W;wV}}{wذaqW$)[nsz)I32!x@FaySV2]vյ^رC7|6#Gѣ;v$oڵ6lؠ={矗1F/^۱cǔڷoq_Z6x&O PuuoߞrV>S7m׮]b+չsg7W_ͱc_֎;T__K/T ~3[$:s~_j8pN:љ# }ZںuΜ9nAw4~x^-;{lG?5x` /}kn=1oFc|R}}N=zкui&]}Zl/_R_=7!*x=O@mϑn{\*\TLTesՒ=cxÔCTʪ"=WKǎQSqbZS Sb 9c婐Xy+O S LO->X:W)`PRXR-6 UpX x O`'6!͖{w=f ((Tg  {<9nqB&Q& S S&7-$n5n08`@Xy O` ,<'@ڵul9Τg15ݺ|4Y˶֖LAa[۲*9Nc,&9ėkl-gۯ֜kkҊ}Q]k8##GF2FǓai-:-<}Ke͗?a0vα ӌ92 N[[\$i)wAc ei9 _%<'@ ;"OTGE Z .J4/@9vvr' xPX(R+OyJ"ƀT: eŃJ@y!x,8qBXL[sLvmG׿ԭ[OEXbٳg^ԩS^Gnx*_թFݻw駟J֮]AZ o~\m{5uTS5558p֭[˻i&tMш#t1޽[CUNo[6o3hٲe߿Էo_=%a eƈv֎J]JUT>rIu]z5e={V;w1FdYFC ޽{5sLuQӦMKkѢE:t萶l٢ݻȑ#:/ҥKrJ]~1ccǎZz~W/SO=%IrG… vZ\R7xN:Cw6g TPBتt˼}HIҒ%Kb M;_ݻC77o>7N ,i߾0@ھ}{du"7m_5qDCN>Z=#={t颉'… ڳg>#͛7/ŋkذaՅ /6VUU顇҃>:hԨQ:}<3fD<btYVZg_VX'Jjjj_J ,Pǎ5x`͝;- K.?'NZcƌƍCڦw[hڵkŋ>P^t6ȚcJƎ3YLM-}2_lmd*ږU fl~9$Ǒx~zt<-6_إ;6L3J~N+T;ŔVl)~K<'^*ElU1%$j-+*Ӽ"xxFP+81/"BIPr_y*' @P1%O(;.(U X x O` ,<̰P)bg1(!Uy9U*yEͱvP*/ 9WZX x O` ,<'@X x O` ,<'@X x O` ,<'@X x O`I ~IENDB`cokelaer-colormap-8722b0b/doc/images/example.png000066400000000000000000000420751474643342200216350ustar00rootroot00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxo]y7{`CmTR$bH -) )5J@j?P %RZ+FXm4mVP%SAҒTT X c̼ .نY{F599ڿ}LMMM@]0w(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2 zOc9&vyز?|\y啱hѢXdI\wu1::ёӥy]e?Ӹ K/4/^7o;g;wƼyI:koo6m}3<zjDD\tEqW=7xcC%.={DxXf͡#"/:+TH& 4r 7ĉ'CCCO}*~ݫK"".J\@O=ظk㪫Ks=[lO~ ?صkWDD,_|˗/ݻwx̟??=KK.9k֬uyv[?c۷/""; EDľ} s`J_ogt_Cߋ|0bq߿?"2 {+;?U˥{+r)̑ƚ[56uWwݺcU^ u|Mk2Vdݺ۫nر}^jcC K1v|^bl**W^y%N?{/U~0zx7]zΥXk׮8~1 BO݈8;I[+FGG … cٲeOXnΝqy@PGD?>3t~?W_}u֭[cddЭx{xbƍ6ySГ|3`8S??;N,\0Zom۶e]7|sŖ-[Ϗ믿@' gw_|߈7x#-[^{m|+_38rvZVscMr9e@RU9vOȵi2V1+Ovqi,=(@J'BAd@d̀N1~Лƻj:8[W5zVeY Lv_6i;S0y[7|8oXƆuFysj&XŷG QN H @\EÀɘt;莞"^iv8ksz^WNmU˕/HO`6MxIIf)3  f@d̀ QN9X'c*' 7 VozWa*)BumyuՐNu'Q7>oZx3= U}% PwQkӦM188wa7pC 9szz ׿XpajN:TGF qƸK_b͛ׯo(Kh__x&''cll,Q+3 izN܃ Ʀw3B;z yNѫ=y)z^1Vu^L_j*nX1^StudtMя~ݻ7N<ػwo,^8֯_wqGp -0%PKo&^y#.bŊVرcG|[ߊO`U'w~|%N>#.iӦxx8<۶m~*Qn1/}),Y6l8C[b`` }ѣ^M^G 13zv]7 H$&Ҩ`.ު澲au⍥4;"N{K/w//cdd$""b1>>/rx≱xbɒ%{vb(@JFnG馛OOf3Έo9lٲFMy s=7|_җbϞ=WWqgāb|||F¯}kz$K> .XK,k7q5DD/b|$""v۷orn Z500p?5\>hlݺ5&&&bʕyظqcGIW w=X{G!c* U:C%ΏBnNc9i:X\ilō2jӫ}-a#N{キb6%Rf@Ja't8Zf@d̀ Qf6Л%ϯU덕Bz7cB_{UU +\CA .X~ s 1$ctf@($77 y7Gݱ{\y.cu]ӛs WBXUh\cUoSmЫDk}@{hL@%@)H @d@( 3 ɥzzyn)ƦtU*p{JlnFS0)uuY奫m'A)!t K̀N16iW7r- 9V*R'ˑSM֭9av4Yn#E /}r!) f 29 w ҹ H Hn݈ y!罎:vLoaہ.i\mݰz`z:UL酛KJ. 9Y @d@( 3 3BA ɥz5;"v\'vtBNef}eUMxØmС ^Bs, |,ct2   =A}~uuݹ{ ^?r)wBvxor|٘"pU'TW,Wd' ExWgM(ɀP_BhӦM188wތ=qWƢEbɒ%quhGÌ. H|_ VK/ŋ͛cll,xgcΝ1o%ˠٸqc\r%q/~q6mgy&N=Ԉ袋+{'n6̹ F_%x?f͚CGD_guVLM;w1c9s;zpyW!wM yRU=wu;z&s\xߟHLotB0>997tSa|W_}5^ g/۷q$ǗxW+k׮X|-_r}EDq7wCCCQ2 K_R,Y$6lpe,X s;r21>s!`M_F HWyʀ\9M]k\kD H=;#Mw_zw###sSS_~9NdsL/!Rw{%"6U/>22SSSqM7şɟg7|su]lٲxg,sθ :eQ ȹ>/}KgϞ83""bݺuu9t+{,^xظqc)@8jK,k7q5c۶mqe7ccce˖8Ox@t}aiœO>+Wn-lk֬̀&F r w5&^o9^wݜƚ4'\i3^WE^w_]5W}ٚ^B:-`ɘ(]GС )@($7W\S\ݱ3%s n7󜺞 ݃#uBP$/! S!t 3  f@d̀!tg厙9v@: yۏcMBB蹇Лt=;z>UMXƚ_NV|LIJˀP\o9 !BÀɘ( M!cHjz`zfu)URU'˥z^7\;z]9߰J{Rk=E0KtEAr̀N(@r3B 5Ȋ̯r`7)4V%)tIjݶyw\M z\oҜjgn\EAr|f3 s 1$ctf@($7m6"89$vȹ}tum6"LnDU0JWh9aNaޮΟ~k7 }n˺ϯM (`Q\3  f@d̀N5;Ķrxry:Lo\.Uw;/7 7 ^u| 1$ct2  ҙ 9>01s,Eě.KѤyzuwyu~o]{}Muv0IwV|M8BFr| c=\ LJ>8bٲe;;# 73~9眎.(]G`˱gϞcŊwk׮oвCCCqwNtI}8hr'WիW6aÆXjUu] ͋ק>D2,ҽi @|_3~799cccGQf3 kݱ\jcߧIX=E༫`z]uUg&6pd*9uLwXR_ WW\czݱ9n޽o߾կ~c3f;'xbݻ7/^ׯ;#N8ᄎx nܸ1o6""cݺuo~WX_cժU199;vo}[8xtQ\[n%>OǫLLLā~ӦM-?<<gyf|_m۶pCCM#q*guV|SCX]=׹[b`` }ѣz Hn܈0L3 )82 MN+(ʀhXw{]s,)%cS 6 ^zT-?x3Ϭ\fhh(,Ywm'KP6:ϻFăG}EDį~#.gϞe˖(Kc{7,XsN8p 3c}k30(]Gw?x7ⓟdzk}?O㮻?>^~>ׯ|#cǎؾ}{\uUaQГ~qwǷ/~-qwW_kG}4nrؼyslܸG@ i1~LEҜBz7 7Yw6[g!4cUщoҹf@'tR{-S -B1P.^1C9B*9CMuݪ/Bi'^ج ˀP3 @2f@J'BÀɘ( z͔@MK{)Mm?m[%EXWMvnj*[7\w*U}W5]9i2oQ\u뭊ͩTR]( ɀP3 @2f@rc'e4n˩Kp`hܻIhIM)z&Lo3qЫ -=^ H @̀PHnZ̀ĬH.َ鮞ْnMr!)UI i;1}&gH۹6y):QNȀɘ( 1$c$75:W T\U;Ewms}tu]samnPJn9ZNj&Q7\K.OX>_/2  ɀP3 @2f@Jg(@rS#SX'vSP;.M7^7\" ߣz:usRBP@(@J, `t. LOU$fKg6VKm>hsJu몳&VH8IM z~8bٲe;;#X矏+2-ZK,뮻.FGG?tc˱gϞcŊwk׮o1""FFFK/ŋ͛cll,xgcΝ1o%.XWիW6aÆXjUu] M6ž}gSO=5"".袸+{9sKh@|_xXf͡#"/:+.Mgshf~?M_)7[n>i~K.=ll޽q'I'K, 6ěo%3 W~7FFFX"/ƪUbrr2vַ?q<18K 矏 6oou]wh|ӦM-7<<gyf|_m۶pCCMM񧦟gqWŋb`ཧdnG}Ǹ 6Y7ވ+2x_]ghh(,YwngJ2BR(9p@Y&^zxpٳ'FGGcٲeGuOP_šxꩧ⡇/x2Xpa_""b-1%PГ[o5~Xvm}w?kb|$""v۷o*֮]š!@ẚя~?<@\s5裏֭[cbb"V\7o7ɝdG.1ku"uSloj\l}ݜ1[eN:餸{ Pn B~  o)sH H檮)@\z)kA&AN4uϕ_?3c=3Gʀ4l|^ɘ(\2 f@3 @2f@ g(@昮{)m続`/1{tT)qrE#BJӿ Y @u o+2Їm$7=&zTaWfK˩cz >9g~T)t_#Јp2 y$cpf@($sm7rJq]mյ]<]=u?`JS[.@WѺ{^W-A@} ¹ %1$cp2 y$c$7JɊF]j{ɺr w8oH}#~9K{~߬r~}+BI s %q^ɘ(J12͖`hm{{~v0J!܏^m"rNomo/ϥF1P8J1P8JN-.r ew+~G9Fs:?%wBx n?駟 6Ĺ .O?=>ċ/8c>XhQ,Y$m)zrw~?w^ko~3VZO=Ts9122^zi,^86occcqwƳ>;wyt.(\WwڸqcapoFl޼9n6m}3<zjDD\tEqW=7xc\ |1{rG??O=f͚CGD_guVɎ<M!tcrGrsl +mznw~{nDDDž^8c/8o)Q/!FW!*wcdd$>FDĮ]""b3]|y޽;{RЊ>6l[]w]DD۷/"";  sK U~W_/kq߿e JrrbbS84VE]2 w,0vtcUóoDux㍸+7ވ__;w.zRw۵kW|1")@ F}?fD<>8p ֬Y/RǺL|zS'hKp] z(K( H @\EI b~m;nI]ě6Νs@_v:4閞{0={HW{=܃9˻ W}Bw,JK̀N8d̀f_/T1vp|XWjD{&fEU|tIFFMnk5"lE"~7"*R37=ɀP3 @2 J(8d̀z͜)m7"^I]uC)[ہ&v$幯[zжmr J1P8Jw کwSc=${G̑ L7\!̛|YI=]un| 9m/Ul $+ 3 3BIW@2f@rc'n\^ǺmoIfѬ[7fs-\ۚt=_OEÌГ7|3կիcɒ%188[n 73~9eXp4ʀƟٟ駟\pA<G\vhh(>'tR;JQ +VkrJ?.Λ7/֯_R$`Г)R{Q3 i1>Q=Bo1.!&G}v=tUfYݻ7N<ػwo,^8֯_wqGp -d`6YbE|_UVdر#oŏx'bpE9spπlڴ3<3/Ƕmbxx=Q&r-100>hׇBbf@rbd67'd@&yۓ?Vۓglj~,ˀqy ^bɒ%{>e o#>oϞ=1::˖-ȕp9g@8pƿEDի[ %Qг뿎_122=PwDDtM{>ׯ|#cǎؾ}{\uUvΎn(@ Ȗ-[W^x/| | xGc֭111+W͛7ƍpNcI&!f $@z p7V=&tS7YyW#Pvcm}*X6}{ P`iжf3 .X0p.$ 13ޚ ]j*7]WmWd65 ]!\mWwMK8[9zszF ,J1P83 y$c$7}Wuo=oXpy yMMBMV7v\n&P7H^wݜmS u7 yNqTv)!tw$(X5<GC8d̀N(@r3=>oao%X;}""㎛񻡡Öan0Pg@,X̼F{-ܠM3 m_]16Q1bݚʀTzypwu~՛Hd@-#h9=z̖̀cUWشJYoX\zΥXk׮8]~5(@ ]?rDyX"-[O?ܹ3.{42 պuGCc=X 1<<3 2_PqCGDM7-o=m]vY|166[l??>99Sг-[+ƃ>_bѢEqiœO>zkvmqƚ5kb˖-s$7]Лߚ9U+ӟ:j:V7H{s*M֭^HLo;\"ޤyr 8bpy!!62 GZ:5$" 60 H @̀PLuղ8xE͕NG&]ϫ^moۤczzMmr;^w[)7Yjl*"pd:eVΟ,cp2 y$cp2 D.:*m@U "޶9:slNuuu)7YMMBu˽zW:ԥI0@տHt1MP8J1P83 y$c$79wB` mp^9uBo8 ]:Yu 8/y`zCuiL'n;Sr!tȊK 7ǟOc9&vd0@#^xac+Whȝp]pF.={DP%s̆z)MT$<!&UtBXyN\B+tOB?>rXwbll,9昸K;}8"f=9ck*.]=\lٲ%>O~8>D2(\WK.$.Cf͚Xn]wyqm??( Ї>{?xLMMu}8d HnIWjwbl_Ņ+[.s {zU׈W-'""Oޣjَf;ʀ*gұ62 ;"Nq[㭷ފ7|3.\Șm ĕoO"=l??chhHA%`N裣3~?a1K(\W!|3`8S??;N,\0መ  o|oIJek|+qgt}xdJ6CuޜJW励dE#: 6LL$o.OL"p^gݜ^]Λ B8b0ys<~ 6Ć gf3 3 *p^ɘ(\W$7UA6$O1v8DEJi]ԛ˫ͽ;zNcUr"νy] h^Ŝ"p$\v0I@u)@ 'BIW@2f@ g8d̀N:ߦXUJˤzzW*M֭^=zہaO;ϵNu)1P8J(K(H HnJv [bXIZ{Zubwz7 ]N'#ˏ쵣y۝zUwIDATzgK( H @̀Pdx]!mwjKI.EVn#:\obM 4vTovj:74m=[7Ud6>md/=Z#¶s!s .X$W`1P8J1P8J@]_Mt8o;d̫֫~r5jVc`z]u6E༫`zeunl h:)@ 'BIW@2f@ g(@ 'NI ijA mBonTE:nl$^bQײz͖zС$ ¹8d̀N1!zcBmh OToPz۫neh; ;&>'B2 y$cpf@( H @(@r#^oLXzkڛ$,ׅ&Ѻ˥x L}NС$ ɀP4OMPdf*u\s)pK.?>>woqҥK}极W^Ѿmҥ}>sHFHF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  HF$Q(@d @2  H?,*&IENDB`cokelaer-colormap-8722b0b/doc/make.bat000077500000000000000000000106551474643342200176360ustar00rootroot00000000000000@ECHO OFF REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set BUILDDIR=build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source if NOT "%PAPER%" == "" ( set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% ) if "%1" == "" goto help if "%1" == "help" ( :help echo.Please use `make ^` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. changes to make an overview over all changed/added/deprecated items echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* goto end ) if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\ebisoftware.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\ebisoftware.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) :end cokelaer-colormap-8722b0b/doc/requirements.txt000066400000000000000000000001231474643342200214770ustar00rootroot00000000000000numpydoc sphinx<7 sphinx_rtd_theme pillow<=10.3.0 sphinx_gallery sphinx_copybutton cokelaer-colormap-8722b0b/doc/source/000077500000000000000000000000001474643342200175175ustar00rootroot00000000000000cokelaer-colormap-8722b0b/doc/source/_static/000077500000000000000000000000001474643342200211455ustar00rootroot00000000000000cokelaer-colormap-8722b0b/doc/source/_static/colormap_logo_256.png000066400000000000000000002663751474643342200251260ustar00rootroot00000000000000PNG  IHDR?1uiCCPicc(}=HBQ{Pr(5RebZ ݟ4{ܫ8BC?KVCKs A4D8*(}yx~= WMid,KtЮ=HiYwH⼍Y )n;V͂-x0K =]le13,$AJ&1 lrƆ`3_֬yĘe Er)!K?A<9tfD;[73:RB˞uy{Kߨ -|[p~д]؆G[uԪLN!ZVJBJ;s%rw cHRMz&u0`:pQ<bKGD pHYs.#.#x?vtIME 6pm:zTXtRaw profile type icc8SI1 y*?Ʈ^t0.)Y$:5Ɛn  q0w(2Cxb,;Vv1ӚJ17=P5s0ˡ \x&ʍ (9hOQox<!d&Uɶ*:ya.Ղۅ՚%6pndpw,w,+5zJs`u?fLJ  ~gXdEt1K!;ܿău 8TUydFqvSq2`_{g[Ց;T9t=9H,$d &`clc_gc1pA`<Fzs\u {9fO U=gWxֳ7{82IDP@@I@,(@B p/@ B@` _- ! #k" K "‚AD1^XDB"V_/FBD@p' U|7`oeFf`D !"A`za"p D'u.~?@@oиrqC "WX#"2wwN2  =D0-dPnJ `y1(H+"(6 eh7 YX8 @B@%pZ-D~3E$E ;í"JDZ@Dw@ ū&wh#+"[ Pac۱B&R 6. ; ЂekqYED? Z{ߝ+ϭjlz_ +o.~VD$xѲ 6Mۄs ߘ" #DDAkZR =KDp@׶9ܠ B`q!," !{+DtfoO@!"HH~!Fs5  ; ȭˆ(qc5DD +n@-ۂ@Y j;|q?D#AB4z91#wǍOv3|m_aO>ۘI]ܻ(@oz4_YУyBLН~HG ?! @(@>"Ј@o0v#pBMsREݶrf$cŒ9ttJ$n7 B"c!;BLMaY6",:?l*<Xt 4-4},ausGs rBTo}!k9qO6~L\ %L4u,vq7>4V- *>a]F7 7S  A(K#{y>_?6D(DaÿYE ENd ޗtG7'ͯhyX'.wF$މB?~ m8wn+ 3aIA2w,(r- 'ͪ/y_D=6;$a#: BF<0Mذ,⟡3#2xB!M}# !g!<4>h8+n"->XC7l[4ngcBh$~<0M4 uppMr?_>dfW6\x|u@#Q"0Hy}K>8wZɘi>擿V}oomҴ|]}2d@$H1MiR 8i  VvwʅHcR5R]$DOb۳ BB6SenBm|Ĵ*>qg1-ΐ427iѺA7ޕlkEaaP#5XwCPa"@ۧ@Mw8 5-o-BH=&º@>ɡ^~jЗ,0v|%G㖡vjAp +rtZ0!1N3O?g:gҧ? W5q&cË#2~#G}.>3CDcY1A}}0.(ƂF&calùDDgP+vb" eTrÉ@H z5[p ,1J;aΕ?Y0J'a6׈uf0n"~{ ak{Ѫ@MOaf"ipX!Xc(+*G™ >$O: 2u04;x% -Ƣևћ` CDj+HcQĸ^c& ힳCFЧXq9$a j f _> q(djK&Ay@i \7Y췐5P}mqE5`|~~\B(HH,caBymhR1KzXDNb.dq7H(rY̛@ 53GB_WyP ee(,Oh>h Ҿ;+*#y~TK̷&n7{p6D>ۻb!tWf |+Weh]vaC}4ʍ|Y,XP5!$%{?Xk8;K>Tv]chhbؾ'o7hFD s͈Y@#T4>7nG(Pk#h.0 ":i|vipP\})-:Jx,5C^}>MKX)n1fg+b_ؑxL}R"fvPmQ}1KA1Qeͳԃ@">PSm@5U8cYՈY w7.>hrhиF#$إ]1Facłk/Jc3ďiTkyR]m coPBIUP7AK`>أ`EC"_# lMk>" '9êw; akHfJP+4Yic&0Ljl'F w3@>1]s9d0c !biڎkXCj(2B)u:&M8]}}iWhm[Jwoj[=cӮ+z` VA˺HM@f"3kC1TcecPjjk7eLk/""3Q |VmjM7"fS<9~8YkKO^F >`<HH}oC8NL[MOX'> B#͈Ayb˓F%ҦD(`,|R١vb']RʑqXIJ, #rlu=7R9ykL lRFp0{!D3k)>2Ug]r Ҩl!T!$P졈X.h rHuaV1Rk3miF'Cn|@@Xbz=A#1mmcARdD$8ܱ!sm~$a*M΅(}R@ AtN#E' 榫,o ?ECzBw@_ӛI `v ʂ{m8N`,jN8CȀ(@v8+H8*`網5 ;T[[YA_]GT E( C5G %3pRELф́ ؚdžrwvu8O :9mWqDw a xZ qosB` QEXx.qleׇ!ю:y n3PKlc7HS1aG 5E_6] t5xBu#kFR𓱮ALꒂRJ-., Q7_f 񬲱wCf'm\PpA:+xX?g u/Rrd32!@*s[y$iֺ<~µDrUNcL%"l1h(SmyOMЉ : # Ɂaa|3{DjLRyߏ=,L: QDģZ#',3z ,*RܣE%+k|f<Ѡ;boM㩩bkspo$Xh}ƕ,A9WS+0 !餬-gYzţ-.,|Tlm ]H݋Y4Q}꩗^zڐX[̾YeUY Ŋ܃v!1̌LmUΠ5(!jU}_i<Pxk\9 8m 9wḏYh @b!S&F=6c* 8cǮ*Q'fJ`!"My V^f֘='[gZβ$]^^YY] c8E&6fjr;w/IbmNJիg/=+/h ANOuz$Ì@`cXC9Ipa'5\(qDʦdRJ- ػpHC ޅGyw!QzF@aS ]{ =ǒ4`Sz["X$BEy/9[*֛;)"UeLNΔz#EiֵoqQGR˗DCTEY! wƬZY0av)*[@ A)FOķsKlhIiҽ8|zh~4Bc[h;\Ǟd}ugg5QmvH)/A ?`m'"5?YS3p԰1hd>qRC>F& QfBj4y+W uKа)R(FJu \š=gRJkcZ,5JZtm7td?!Ԋ:'S׮\K4˲G%))WK aeZj{:uٹ^Qƚ$UI?=wUa֊Dv{Ƣ#~;7ppA똦a/jqX/j^i<>;]j3UF|Gp@ZBjn`]="vY"u뺋$O2;B^Lf5fQ@j!˱Aw*!.n|_8uF xW\S{G1j^;9`8X],K {o7aTUI[LQGʹKTv"* qJ[O:~Poie)\pG^t*i";?fT1b־iٶ?yh2c]߱BfqnD{7fux}%&ʮmQfIJuŲTuՕ_y?n~]LjW8VlXT/.$IQq̕˗/[)D)BٹcȑCpuSY,t$Z{#zTHb.한 jͤmĄl݄SkZ ߌ _!GN P@ͺuՌ@! ~g`=X1fL}IH=f ^ƚ}baAB /K,m5FJ +@8rdo:{tYVeeΊ}neEoKK~Y\l$(a]'oi~aQUD'n_{3g.&B^kfj2Ku7ۡ"ž^Hh좂k8?R# 8J#-}/RO_pfC TǩPf"h[LU:6r4T$2bN@H!醒{ j-s:V Ab"cPV``R5^GvBDhsk( [w75,!muX՗.=kkNw2~<7Ͷc.RS\>E>HtrЁo921ѩRt{$Kјlnj"K*f'kJ R"J xpR*Q&gnG;@Z,LBYô$>:pU3p*8S{M fWcj(\0D%R̟Wh冑4nRQW#mwKVr.HY`Plٹ;9~~,*RKk>Ե,ZH cM'M!E0Y@D7NJX} R&AJiȉڭ(K t:k}/PD"l' X#ʵV̖oDGQj][&8ޓgyK7NnwO ׿j0Btx|#C;):&RxIcY a#!W,re'X5 mmB,M(=u;*Z$ l yX;&I$:At4(yo Ea;z?k !5=vFaBSϫErcd$6Cl±*t50ئay~F?DӷOch-7#8ۂ$ ?rZ=JAh P+cEP1nm\590&du[wx*[iJ IKeNFK;ŮjcC|Ͱ'nC7<חnH0`GjG%\[܀|5nC<Zk<~$վiPZ!wq5b݌ވ5:H6OMuw]?p۟uFy+/N?=ۘx|#+)EJͭ-bhϾ[o?kX[YZmM=s'LF\!b6& ԞaGwnf¤tLC5,H  ia!/=_c=I=z{/|>&NR$̕e7쟻箻v],MYtY]|hDON4a[̹ZrYӞ Ojnظ?۹K?%`<:dQ4?r-kyBD+ڮ#zBmgIٖ`*&Vk5/FhgEP+ i"llQ[뛣,J+s 7~wqYfPIN7~kW%*I2N͑%۲\H(Dʨ4anJ)&;Ņc7o'n1?0 \Sd >؟Ο?ܸ.~w7W^ēןzOlp,o$,I+TG.h牂c'rɲ̭)[ieC_Nk5igDP1n9Fbo m\R~DjFNBXkLO,358zZťxAD~i@F$FX (kSBC!Lvg#ĚSq_Pkev/3[][nl9yM'Nސf* PJI{8?ҙgr;K]$"B,&4=u ӭ6&頪7K^[{k++Օ᠟WHjrj]7=tm͢(Y@Qh1)[ %?羱5&p-{oh6sO?/>ť+-V@a[D䩃NjtYjiK_+KYXEfSTeYy'L(sKK>#w]3oPNnVUSKDliFֺF!jћ /%+::6JlFN!Vͳ2{wvD̖Ğ0h G0$_gd4pec7޸['TwY'|٧_ˇy( h%%Z+$9g1;~i&8q*c 1EQr 75X_I;Z+z?M2)E,Gf厙Si-mҤDAڢ$%P BuJS$UUT/33?k뛛y2o׉{n|ǁٝ9 j@\v7H_r~]>LnW?߱V&*T g?`k:)$ d{#{γTPZeƳO~s"JgJH+eֱGR EEB m[eʇ 9ĻYޱ)Xaf) ~ޕi]Gة7U:yaI"5Z@9LȝÉwm@DDxu%ֱ]$"y1abvGxMY+͋"&I+<ҵDě@!E%CUL֙ص34U Q+^G2mIuKt&B$t*tH;Vy_~_yE]};>C?WޗVQNKܹ~?|?&rx;ބfAK?cS~/E,P퟿֣ 3֘VI|}/ZZ R#=q,ǡS# UwWxz-NCIX0kx__";j~~QsR:14LѲ?O֏"!W#5QP`JԌB7W Ee6k7߲o+*ꏊGyGFUR~UA _߹m>0R@Lq$ (dR(@ZHB"TP,M55=q{?xϷ|;N|`}csF1z/>N81Y4d0i]rd;>w;V_]z_:{̱[O9[Tph̛.5T`iiA>7Л,*Mڽ_^^7V*c $LB]o yt fp~%F:\uFQ p Kz*|Q+9=3@Ew jQIk!IFS9#P 2. &fCYu7+Z50T'Cws 7B¢,Tݫ*>gז[VRrGM7~I;+I%Yu$ӎJ*$Y['YFX5ϟHseҷqcveu}icUGZn:~h&(mfhFw}#ݏtG3r2.MKb~Ef,`pJ[FUa˰:up92mJk/>{f}}]+r)թw7^ps\,yZc LT;ʹtIztqF:pxx{zS\(E$ D!*A@cLv7~.$-܏_/@bCJ&i~}p5soy0_Q@+I)SO|1z?Bhe"bho<[NX\LiLPZ2>ه}z8,NB(IAI P.pz:1FweLWuDMfؗ&&S;I#'2Fv8f\KE(*ald[QXHm5ːe% *XؔH! DH F+%n:iT$(k_p"rRM W}"|csI#& &jJKyMe*g)Gڴ048F4D vζ:u ws7>HۣX񂷎@ (Q'&{KWw,#4%KH7з%azSl '_zB3hy$xn?eHTZ|Ͻkn;Մ®OY@1\Ш'bff@B)B~Ex|@1 hԿ"'6!BZEP!(QH4mk)!f(Τ׸)6PlքJsKg H**5@J;ar]UQjY+g\|WG"M`_w93L-K64dN,S7͵:I:BtQSꢪ kG:2׆ºye5ū )v6ڻ |Mw:3 EeQF0$crMqps/mS1l,)Jr/$ɥSLY #jaߴ09?-(EH0($DABq 9 :E!` KWȅc¨krmOݲ=oBJH鶪bG/VMy]cˈhCӏf=Гf8c_=|VQDSy/VR?.I"(T)yǝ'#yi+}OQ)pD/M3BuZ,w)l%*veƘ4F]]?"riDZB6Pѷ)a gHDaWs '2B*Q؍͡1Ɗ5N&;nD$Z//oʙזDfց Z r|-7~xǠ-h-Mafxg !}ƝD|1A$0f<_]f:WViR([o}r;JjckZD zQdt'{_^xeMUNK;?~i ϴ_xޟ~irwAQj>$gY^*svb ċkM Xbuqr~nʚ DRY_xu5[$͆yeL( iVKqDr "O3 R$ګ0c-߳Ύ]SČ Z.k_@24li k,XPm0jm<-V[|yi+#a)YJQiK+“';vϳec8iH̑S7x'0L#0KQ0D!Z aTHoXQU&wî7ߍDTiU/=ԋI0*7o=GxOwfhY%H@5AJ!j@BQ$ FI29hY?W @kR$P$UR=ۑzso9veX 0tgo<Ž+ E^@ [لz|eŧ^M}㫏>o[zVYUHdIѨ{3Ұ?>Ltb*B "CZ٢^?xtcm2ųZ׃{4+ѰiwZRe9qѓ7<򙢬,sYcbH#i c*KZ%^*ZkVSn~YeNBs^G@̻* ] dMNx>yȜF .h0OZ!")&FM@ЯvR 1hSR.V&'ݴL3Jԅ ןx+ҍe߈Ft,S~boJZ[FYHSJ3Rl%Nx*g0ӑɖ2eN M='ST4C4ആ--1 `[21iD2Vұ{wbV#c:}O{W?1hhD d퐡[Ѿ +xzKϼuq~ٟ}{_<9_x|cl'\0Rd@Tpa^][I5T"KbX.^zŪ{^cN=>$j,;hzvdj_S0sQBGyڐqDuw8@C [➺~ΰ?ѩ9g!hQC?`Xq35ʊ.(T7G: T2kk UZu?}ʼn;'ZJl Qū잙Zx^y霭L$R:LzPY1?wxO,lD Z z&)mH訡z%E+RY1 B-5Үڕf fc2bDQօ$HZS1޷ofqN:O~izn▻o-ˢ$DfՖ-Pw=}R?O<ޏ+MY;N_^`J-!L(3*{;:cI^TzUU]x+{\Ul^B+9#ߵο]?yGߑ0y1ݾQ-(/νz{ LW\,+ldY2t-A(9#:DZ"/?cNw|oeݔQ Uf+bTt~g?{2;"G7[E6͓޲py' XDF !;-k}0m͆ajonldWe*]2lXp=;m^~Y[2N4D W cmP}L?5 cisD틒EQ}~Pbd:j|L%ЂC(khQcGZf6R(&H P^w.[j29>Zt.8Y~OŽ|Br3R@r^OŴs[/W1Pck-S OMhi(RUg=jD[j|?8ōFz,6dJ=c)( g7n)m+c^9<:DS<"$ rn â(qڽ*Lx{Vd+AgM@ m΃ܔJ7`%"7MҨI ڲpֿ &귣hI_tC\9_A,K(YnÌ\1tD((A[5Hbx쭝NM&dt8wߺUT'.b`y5|e˾_ZZ@UYcuNoDPjIR69sGRuWss;=i24tGMITH aeʨU)>oA`,Y`m-JvSF߼w?&3fKO_x߼Ǿej@)0[0ho˝_{ܕ'Go>g{h儬O,C\D,FM{:O:v' $f-SD*VR^7)v[/a7l*X"*jDk>X`cx] (ɑktVKBիmQ|0x-Nȭnѯb7 %ݶX"Z8&J" PKTNj2j{njPk lAV&X7_/S[GIiw];ۡnbRhm++vCxUTVkW>싂+Ձe`.)gȴb.z;Z$1AHT 1pNnHFHK:kA_r\YɟeױJV287_XzϮaaT2_~3Si;٨3!zO&fFPdj89 `RX 1̋W*Jd"(_)ghމa/{P>k`~O#vDyzԾ^5J5੎HК@l}Ƙ5u$@A reTaV,h0¡,F#MDWGx5zRF%SWt9u`wVd0  @ 'CW5[>k7pU*'qnjfvZ.zT+mP-H,fQY_BMb[B4 JV 1?0q4>مo4߽`d6}g^]=1;1bFr-CqvKɯ[q|;[b{]yze)^EyY3sȼ^.@!VI@0pM Z=jĂ|<"X;ey{Jje[ Mm[qq[+U˷=` o߭[45&Z$%j%[2QLZbiQ4zU<ӛglUJa?x>kSms3O⟾[Zw2owk"mPM0paRH4FP P "ekfyMub/ *fprIsr6M-A"eW:WГF!l-VW*VtܥaqAk_yT&'>*F ĀbDupsmyϿV;odT'40@"$/Eb[]ui;[=XI;@F b-HЂW-'LGOYILtکR\*A^XRkGF6 B8lQD^9^ "F9N1Fy (TɋR!%boL6pZSj")C!G.~hġIS)V$%eF_J=;t>rKvLͷLɗZkP^XVPfHX)IVz\x)<)9.Vrl.\T JEKl >qKOI5̒4°:UB(Ɗ"M*Z.SGRU!$&k轳˃*7ݻn=r b4)+Rխhj e/K>vŗOrW[p{ - 6Jo1;+׉@%6W-K3?}\)"JtK NlxP_l@GNQ--" ci ނG049)4xг(l!T M$@Ђ)Jrk?^O\KZwr"dS_x ד3KOߔR5t_VpMHiEk7߯ ~{i?K+ol鯗vwUNWWKmNp]3?7|9Y;glHoE){Ĥ Z1@"0B$&(o _*O?ܱ0BBA +WN+d,b?)}/kzvwݺdG%ɢ3xp lڻ5R][Z>hZ -KzsjwV58Q17PϜh WU("6:H8'hqu\=b{@:R=9tӂpD(QB;eYm7%g?6;7PI'Iܱ3{μ[I'M?5| 1q4Ic i2̀b+H!VK鴪=L'r{ƘJJ9j݁}j%3 TʄYF%dm2*x}g [>Okʎ:eݏuw'ZN  U"qRđ*3+@uvlv|vrk(dF֖7/MGyU"+iOxb?ͮ rAa,J^ILRwXî_ɦ$r d2_>pY'KzZ2eT/Õʼn˿o@Q,2O !~>w2 BGK}6N;ݠy<64D@@\YTtWѱoDX`+&%lXP[Ch8)8xIA_zϊͶb.r/߰cGegr^$ΫrKR]jnJ&/|w[Ol؃mȼ9:ǦٿvGo̱{ĂjO NQz"S-nۅNvлx4fX3& V?[\z ENSҨ tJk^fc=g ]-ԃWϝywf&QaE!(%l[.X*J uuusޱf !ds\1kf*Ke7\'#*S ΩՉ<'[-\f$LSS 3\][kB#l mc:{ff`c+1hNa%tMF XQ0׆q՝Q,*?r LV}D"Ww쾫G_Y9mu~msh.,52)"ho/=SޚZ:;>|m'f"Kr&hX$ $MYY-4yE1y~MJ܀2WEbШ#lz$X1 ҥ.SZQ@P 3TSMګ[Ο:9v5u,19|iP4)*ê=hՃEkA+‰IYj_,j;NHk/é ?T)uij"օm,c̃.a& G1126ѧFUЪ4i!1B++um-~a.3EeFVJT &-V__m7Hs99w{󉉅}=ؖDA@U|*(B %)wD) $!@) iDqBb+4v/u߃w5E𲪾`VT D JS.f1 tCnKJOk8(hEKk6FHEYޱkl<Zu:{=,'DjcUTr}P~3p.>6x+*`(jBfml|s_O/\O[~osΥI ƴYoZqE8WXt * ,/$Q"̄(75Q&[h%sj$k`0[y^MvV- *Rm4QZS[ bsO]յO?,Ýr+QETKib˰o>i~ۉxw:`&hڊSDH@f\#bWLXS$=IH*T֊( lwz kP =/K* PYUv@MXq@d7i[x|8|U:}nc0y%Ec-ݡ +9P:/|򾬓7?dlG!Q XHMV%Y{;;̙(0iZmL2fݑ$swuեi+v?8XXSSm|ǰǤ&v&'9)L0m2&I)0<-$!^NVZ91v"/4pEk};TY[ cHRSW~J_][e*AJT:k=!4T;_9'JSDSR<Y]wX02k@!(E=.%: 0"L%E+0ʮej5k礪 &vi, A"bhXr $z_WotVW&mՊ0 l-[7(J!(JwpZ9[Ǐj Q AB[`I)#sOʱrԗ(MD F{r#''ח֯\^Mv3 gjNmib{ç$4֔_ D"0D Ő@ԏBZCDc4{P (`8*jǎɩnݷz_)-"ٍqoL0QտMsP %{a)~r[{zrzvl"T j׽nPoQi y%VX~gy*< uˏ0?Y0`Tڠ]-Ac"+CnRXdW"=XBe҄ JZRʃ0/w;[N :Q0ARW 1edT<=zEjft3M"QV0OL襁y|SO'W@'YOXj~v[P^^_&eZ9I 6fAK=@xG0X5C,EO QD$ސ^n`X}rBrlƌ} !V+Tg? $_j@ҝW2ҟtn3'gڗBJV-pA!A@s1kb7J6GeJ&]*4V*˞^$&+%56 ԫb7f0ªWo7ӻ[}+d7myr?[.h&+IQ@ A+Pf(͹-8EdJ+IHD ]C$BF+lȺiJDD )g4и᪪CщPV2peLpZ35vy6"]ՋdڪI-0; {/W7<_ZY|ϽN,HyyC tbSh4\&b+Fd !f5=xOEw|DVtErP!233o66IūLMڄQTTN0agH瞄fV>(uJ/ 7mL6q,Dl=X?\/by]*aAUg&1͈ #IoB%Jj (_nfru{Gdjk"c3SI8pټdcf~r.-૿{VRZC>LV^}#ۺ;?ݿ8x!+Vpim4mFLM5'gs|~C&WADq?^n:;7v=.{oc~k#ϠԷc#ldC]#Yjg@DOHs7`q7! D*~f*~|D@rR jNO -DN;`m2V7cJ c).@UZYGT+$BvK 9RU'%3\gf,dlU&oӓG@jBVa*WhtgH F0W˭ ePE ??w͙d(FW@Cz$7}+ou?e}*nJi'u{Lbs/}cF _aPX* Ӡ5&TRB1hTx̜VkS^кմt]!!"5m6Kxjo@XYU+5bZ䥙DA^U 7p{G6Cv#96Kk o$bfЌ:*9M~r%_Osjj!7-*D[1E-J4ppa`'P,yDtq&;q̚6.aX$钱;ArB6AM bU4wQ֟e]nY5˧vvo-6-o=|wW_W?<_'CnI*-3aw/n< /{( )"pjkMz>H22ڊ{Z,HʨR&4^[7_k;<;O} llψXgxlCS??sEfED䢧Z-"hš7fx~=@#f 2>cԞ)^RcZ@0Q"HC6TAJLᙳ`Hnߛ0fHA` ИM S(UR_+f2ҚH?_y4ˉV"'5H&1!+Y0(A $VA+k3MJPJ(5,؊HRb;MTb+-(Z kdgTاM.O%\Ulߣv OUY3Faé2@l `P!yin붎O,K0ƨ{2d~_pwXـBzR|գ=1݊ɷ37MhFU >lJN'ssD7H*^i;=VY 7TKg`fAM2Pyt0Dޖ"2&RW'@%lpDY,ރ4cRZLAn׏J8/i?v0:p8%ɷ،y(4hlNRcz^zJIB\\wihKR&ɫ\'=s_"tϷ_kW5HZ uft*Mn4І+\ze;kCe׺1࢘M؂9!ͦ':ݎNR5NOMr}msko,)},=HV3kӣһ3SwUTXY*H!1bf`:}flӷykbHF%FB"VЂNPN `БIX$kYJޝDO<@Rfеb j,GBBS:u!ݍPikfAĕ G-V)yb3E+c,}|5{wEBӿ^F~ҭoQ8)RjLܠXkK %Yp xZ>=كd,Ξ1D$FYiZIw}e<w" k"c-) bQr {?^](mZ]ȵ^Q 9;kH5vBVtC%ѡnQR$9NsV=OTjeфÞ(ɸs+VJEq'lޑ}FܙDЕ)X] JXUpVo  ) jfRqcMG-ˀIFQ-ҙ8Z))1(Bv9yUΞX!$]UL#tEAe =AZca(4~,, J}$ͻ1؁UThT6O+ gX1 #QJ$X~r$F ZK[q;p8볚d}),ylpnJE^W).4gGzH*JԒ"3Нk0b85g_qsqy1n OjOhiHS-D|'zs3 [aS٩#37gJp/ R<#ZkR2 #*D`t6, JoFpbe?{ٷjnx;Zl][w5Zei~sJVi?YiN5tgql?^gAfDK>pR R;^^[kkn.J+Fhx:n|Wsfyfa:rVSng?0 C%KR>p((@@DV "0G`Hᆍ0/jAaG ƨ{=0RgȭPO͗7J Ta@AEŕ|`#ǟ)x*\( &D*Lz{R^TNT&jt2n`ndnߤzKz<w ʠPO 虦# ^1' ' uff_/޿qfp7x[}wt| n<:smzqvzo~7v>yzcBkNu2 hןKQ!f>aHaسg"񰴲loz~{7]+~w>ן#P 3چQ ٳtɰ=3Z m%`@DFK4=p`>fAi[XɊd ?DggU 0OQ!23XǨ5LmÓs/8$\ kq량x*+V%WYvT'+fh" ?!YD[QMn}*sW:r * "u%Oq ޓ&DD\ff طvX ~A>p2Z2;6 ^qwXH=v\~lcw&>m asm8rs,ȭT0 wm!d_Br9ִڧPo~OĹHBJox嫾qm?`%ZF$M܎\)]@)wM Q9 e$C 9 j)^|4<8nvƩ2g" CU~'YZ|31 s Ux'6y#ƈx8:ʒAcr63x' \TpPPWT2n΋kX£ -h32(`~&n !=exRȌD:2ekb /xoRY?` E",2ۅ-*C ΐ~h~'S$kM3?|Z ˜CTiDq+&^inWV_zչGyمWd;*9@_{MO>R{+vUյ0!Z[fWuCB!df4fyg̑(- }ɨ2fy{hiz"\^۴#ab&?xD hoB}GqHQgs#0k*W2ޡ&Cꪇ'%2ǚ*W9ʪzh G,PI@ͳ^->'6 uD9bsD&K~PIr]5$wȂX\0{FQA<qDNgFH XᎍjvԿy>,=bЇ{W9'u]t:0z~7vwwoHSb/\ȺY<@6w~~_.|If-PDFzaiux؉@2C[y;\ze$Ub= gF+̜$) z~Ek$%}Uk6lA9B%D43a<s9nq^V 3RH2CPYY/thR,^sͰ G L=$S3*zqiwDZ@З ɒM: MIF뜨+NPkzݵ/{׿ushfV[rW t5oR'ÉYҍG5 $"eK4 Py,̅3fGCLd|H>*2Q{I؎.}1"6GC8lu>?mn6m q-0-QpgØ5/*)֊ 8視Ei+k!%P-kQJ[ehyB%JRQ*=MI5$KF_mfq~ NQ8A0Yc.Ӄ/V3xǂm1XY# Kgpd`e qѿԯE49k/yGO^tdQ5Bkv5+Zj?:ScMNsdbݯ㤲±E?&o/F 9DMB$o4cK* i~w@2lPC>jtیͯy6݉~o[fHwnFDQy"˲E@A啥_ϿW=w?q~ca7|O=b0nn}{YEZ= AN-.T+E<(p;,kd6 !*,|Qe /s>˼3>5΂gBԈ$Bbt? Wc:w DRFǑȻ13%$ʖ,+ULKi`ˣ<Xk`=. kuN%UUEQM_%rYn"='޲{/Z`19'l!CG_>rQ盍~b_z[珇)AHsNK*qplwY+eAgϔHp95ʼnѿ-oQ%{Yt^@+(RK\.Y !xG7o ,SS:tW#غSjð0e#>`õ|0!ĻMu#r5ɚvGe*, !>yvHʫ,+\F(L2dx ȹ ;f`=BF$?~emlo3{WjJyX 6& "⽟0>v^T⡧#Czv t?`yTJI%2JyR^ZF6lA/ $ ؈r >r$}.j?'6#Hld UӝݻOA&5JhaHch,P5%IeYXJ3ڊa AX1[M P 4\8QBaZY+->H*/2cbQ?SRxeT TZEfDOA4)E!7L@S_?u("x t#O_Yha$ P wET` unNHt< 9T:R VF{Ջݹ0 K~,=]e]UE²$\E-yqi+ X21S+6,ȑa\<z R4P#F}2#4v\Jibf !NP, Wa\X1\@zC5K`| u`%J4401^TeJz Ck?+#hf TKU ZRM3 VAbAq~̸语>ٲ&p-+ir:r\8TOWK74NXNȭi'V=kkްۈ?yCk|)V iR:ͥWgD鸏mPfȚ_AѤ 'r8JS苛S` )oN$|%>URJ "3z13Č sea̕QCkV&$֊-dKC[SA-%^2(&t6+LQ1Xqwe Afa̠B@dy92UHXPxU'D=./TA`\4M ȤvN kf9N_Z!o`ϾݱUj @!]# 2 6ţA @-l]~|ɱ30=qLI6~l2s}A7hnHz(Muf}.kϝb58{0+H:3{<Zk [,>më0J7l9 ]YQ*e#z0P+E_C}}H5p0uK/ =2EFi0g%&ۺU?njbV2[Q4TDh¸jܘtn ,>U*Uy62 ;k҃ơv/a* ¥B BĆ}i?Y8J?ң_3%&?a|[陮;ғQ4硍T;GF!v AAkY*xn| j,2!,R!2m+Hs@891.xF<|ߏ_O?}X&e Yj<0w "JP^cPYjW䫟Ng6@Z$;@䑏 Z*YR ڃZ"CZ,5QA rURՀz¢J#"aȝ41e=~'Te)Sz!_TA'8Z?@@`(``rIQt۱9BrnM ^lrOi (z|yoމ^WL&=: /?0psQtj4 cӪ1a}rK2:Su#2G~gej%,BP˺" "ztP 8wčZ*ԓ~EH^a^r7!&\DTP2P.g쥰o(a޾W%!1!ZB7 xσt"ޑOY7Ux{ e02guj+oVÄqXX^ yZE?PzkcSf.i㨏s!GMJ}y"!15&Yb(m^sA/S)_D4 IB̹V_| 9/xY6eG`s)/*cb]E4 ?ksjQ:$Eh l1`]~|]z\7@ 8G=k<4%֟1.;쑄s"QYDZW-![ ͏Zo>_7Z#Ps*rx\;C{Wa2ok7tkLl zj&`}1*cktG~vBj&%Ӕ^T*Rlj$N N]x3sqqL#ՔuwЉ#mRR$AŢ56{$+WayֻޘpM X7[&5!Jφu &F#09r4b\ ǎ(ctkWN]| T*҉'\de,NǓ1{₀jU  8QT!N/9&+X]xoק:R MpjcъN5s7{^zcp!ҹh,˯֯yfP)"r"Q<9H7D7~ӫ6sZP; 1H2 #,BkUbQybz|hNijhN*F-r\Z&.X䈠'e LxS֛hw~~o7_d s8KWGWY,к )|vއO #-ݷ ~z- bj yDZOr_F~ ^ '@ً;8xAҁ="g7wNH 7{qYD+333;;7ػ>B2(f(o?{7w>b9waš7%*Śb EM;DWFP r` mlo#tO/e6N>ؒ;tw(m:M3ڸe 7TDaϟʫ^Ɵ_^<43=Ս 3_{O[c!wf<˘go;E Bvϗ_uܦwY%0 h*dNB!C3{T8]]~5zPug;rzq m֠(&WI֕cxkXp;ݱV}Sp Zx.:oNѸLFzB*v ɍO;>$1,ϐ7TԢXw|$$D)%Yq݉Vw=/6_vX杻fЈ q^ٙv50B w$R&m- P2aOe 333F7~ڗoܖ K?K<̌18{ fo~8;|NS:1Or'!?t_歹3{?ˉ jN9L -Q=hɿ2Ͻw'`j֫6a$~̮*h;#{ HN.4TUR(K>iS5 Rje =Co@]w OeR[4E~Pݻ)Y@у<\D1Yb&0ҰlsIϞMHV<#vl,VݷgvOi8ǫ P@Ü8=2׍qC WVB GӦ\Y!;L7//_Ͱ߻5t'o_a2%q$L& pSJu`Юo zQ؁gfvf{g]a{XQpB&Q5&B-<`.4 gߢi.fM:Gʝ]&ٝz8խ_uUs8vIb <)!b0FB逌dMF-fJ@kphCM{giMNs40Guh6*gsWf Yc3r,23چm٥R;z_sUyXāJ=(3/Ox反#vלZֱ"hsOJ Udh|,js?zئ׷A"s=m,RFt[}^$fv{ lU}1G~>A&e5[~lZ-j!zZeNg)(?x( *S$(;{[BH^Z\Ks|j XJ=xE^Tɓ_Tw#{E4`CS3(l%!D T2'݆S57bDB =Fg\큯>|f6z'=zl!O.WDxʛb\Pg[WA!jYs ~" ڶ={䱷ʹ; +5Č'=;-" [|Asbq F/M$kIe cb[=fCc-Ra]R'/ *v^!+#P ]KN  rh|#!2J">"qO#@_ =d=(3C^VS[gy(ix%'Id`bzB C"! _M"ȌHZoac+k^enI X5q}B ¸+]7N}pecifnt/IIP5⮟r'fK5yYd[, ?Qj4_;MDVz4, c𝷹CO/}[=FP`bi"Š;N^X@D ܯ1j+Κa0yKݷ5v!ed`u_TK*®&9[c@JP: *p6RY\3^=fӫ) }R40,c8_9JS(E ґUv.Xh\{ - UC(IRZ(HB& P UNBMןvއjt(ŝe:B0"r5Vϊ6\4vY-?38C,A;jm0Rb6VlZM춒eEقB%V[A:%y;\c"Bf+;@@A04KCJF*TnJVᢓye)|%@DSk]_16Ns>e\<[d1T؊'u|`"s AqP [8H)28ȅNssQZa Yi㌇ؘ8ɡ<{l7s~T#;yi`М?Wos1.D@}vnC,OYh Q@0h5M#VqtB!TQɉX-:RvA܇;X<e|'.c2`Y" YA~sw^C% U=6-$<<0 .sm*=)֩4@<|ᵄ0T{N`qZF( \@0!料E!*E BEӛ [QiL),ix/{iu<6ٝipk?~ pp#ށ+F(^@O+v5F5K:mٳ)tF[/NPAØ p@PՀ8V  im2rt+)P$>+{wG/ ³uWD^ D8 2f/9G3nˣMr \@ޯ8 jǣ܉:8P*Tq+:jB/K/)JkD*_WwU';QiE@2n`"<'@]݅,B%+X)ǒJe' E~LFgH7X5D$9x bܳH@<KT @a!BE Dt!01[uB?r|%qGZ" {5?z l@i'?|ZyMǿjQ.piY`FEx&,K.(@oho+Ѡwf6&Z)E&i1I! HAGykvV?_ox~b9|oxFtR3yAAǖ^ڡ D/G©waO+mEP-QX)zz$Ձ8zs!p "<9Ҫ-ve )ۮB(ɘ AyD3&BYy3He02L@{" iki)VI`A Q`lqFxFB$J(PŒy`Qa#7@A~w>rGi;%gӇ;p{L /s{6TDޑd&ζwdJ:yx'd4MUg:snj&hy AJE!CBFuAzh&usff{z_#naӳɡqъ(B'!.'yAS{$h/z[sϵ~V"oUj\fL&R-^ՔB ,P8-Y% u Yjag2J4-UR~O++uܠ`TӮ2&׋&Gž(/!#"u_>>-{~Wj]v"hE"#{6옑DLo@xϜ޹3v 芤pr LH4K0"ֶB0^bR4 T9$fU,k}$"դt=q{N^l{Lu:OwϻX y|'h|t%y=x4F!E*# V@S@+Rڐ&T Hb@ˊb/mؤ|~5;yb"a+ N3.Fϼ~z23 TK7P?:Z 9NA h[r\3\}paZ^1:ʑ 'T!ү1ߦ׆)sCUS꼁]@5_; UzU)"NڕM&Us~]ItZG|0"E\E-[Hc"Z\ \={*p^ E#H>*Dd@1 M\]f^uZ`]~6|e 4B"U oo_ݗ[f|/}| h˚{Y}U뻴L3] %0 Ö(0ai%Ji@$-J!ѡ@T&5P6¨~ Zx[h/LDčt%J2k4OH)IGպGnA+oɛ:vp2j6v_O\ZjT5koν#?hPƗu4H}yС y{枽<އڰ 7݅!eTYa5Q4c )1Qb&Frȕ<4@bgbEDQ" Ǫ5cmOPG4bscNxיܙ}uz!58ѿvLaEn#-YQcOnenCbyD\JmhK)G{LshDHˆmqZFG2\^ys42^zcoU?a^䥳AU3}5?~E##^\s<ɰT|xnQxay y?r9&ĩ6g$ ~jmO ET6JC%X ?qz?Fǎ`-Nxnˮ/<y_{ƦMT0"@'W>}b8KJYwٟNpæaܭAؔIH^)U{ZON9>yH&@R,J,O*\4aWF4aU)Ic dW1ɤغ\!Xbš-H(QOQAYrɿvFZ&y/X!bchh=JLzL s3ZȨ9g)8vt #)PF?̋Q7LoW2yp98gWdw?3 ~o7}=r,6~(q0߸'_5+|e'͐t2n{^i1CHaLq☢61 oyI@:tIyP2bԝ^袳.\{ѕ,l`rWHJalи;}L<, D,nL/}%3,y1 &騁x'a@\HU)(ҰQ ,R"cLl}LÔ">‘[&⢨jG)5S&c" H{L7IY-l9 k}8G8qDQfra#.](i=Ǡ96T#+ 20n#ԽA"1Ԏ;2 xE[o9tKz7;]; 0_87]$7ķ>/=틏4H?JC3س3\1쭩OO+n4U9C6yf&3[wo83.>ϕv  F JHPߟ$9quMˬ/eAJ?ɏv3;okF~+9xg& ܤʭ*2BJE2(+ K5 죪*Nf\+ ( fB$cn CCV/fGeP&H{ S@"{~jji Mb Ҙ9b$eQD#x}>ՈXZLo2i5fEvyo3}\M~رEiX㰱S/_izgg7Qgk#υw ovb5^Ϥ} E<|:^uY|˦!3}shUY=^M?a)/RQњ4;yܶ ݎ H_fȠ&UT" )F`ͥ}Ua bQAMW|o'r;k~OkwCnx*S4I{UV"2^Bcr,NL&ccJ OXLU{r$TC2Dq kBQ //a zs\'嬞S*W[D" |8öJxe֞mF!|[<}h ͘ ̂FHH[[j~dxuzAGͷM7mć%F{[׾vY#cWBvo;l㎇[M|J/=NxqQlGP:R l x˄ M @F@3`@@]6d&B1P:,mQ *}kK\<9[8{=B@8l>Ň`e[n?:PZ:y޾aCrodA_;ڂ T,Rd\o\L_wΆ '!0g;q b8oS>gIG")H}f872j0<nD1H*ew_=K+nQw#AH #8/QS3xt_ۏ9񘊻W{-1mλQ ]mARTCjTZtjw(IaFEeҫFG&MS^ βdl[;oULr6Y et8%*fZTx\&o/R-k4M3޹^eRHROlvv>% ؋'!9H Txܛ*n A6FCmPl'ͷL6d^N#X2nv˟{Z,F/?#s#!vnGhBE{W_uzo~1u09|,5al\0x.Cے?C+tOws[$ԬۈGGO4E]J&ipY N'yC}t٩8qLk',<o$—E,zI'R*j+0k_uxWJE\q!,V5R*g%>8!@@FQ}Qp 6Pw%8r (PWj2ML} wtm &"Zqqۗt8s443 CN6{wO7KM^<2f;#4+.޲w;dy^l[XӇW׆e1JPϓUkZ:h)"GNخx>:6?Gõ+_Y\sï5!a+cH &vlHw8 {ч?}q(~C'~:{#ȪI62>OFq@ݑH+,6IQ4ϭ<φ>.OP, YTڷW+ N*#1ʥa-9RTHԆ"m8e}ͫKɟ P?P%ڐk-Xuy֖V|S:/ކhĪCSrDъO7IF|WjW"&K';^ 6lf^qN3j(*bCk(ՖCA߾l:njnvg\к𺳳<Ś(s3 $! ]r…'gY=\a-ɞڷu>8,mCBTf?Õdesb:<2<;=5<%ɣI(y$yK{*|43XfNs˽/iF ^OKtK6\t^sbQ-I9&0PV4b9筵=Բ ,b]De}(hv/!rPFP pQ["=RS1DUw"U|eլԸgxX4ˬ-0OW^7^[_=_1lmsɏ LOJ!e.۵豽'=zqH1r:o_I>~zqΦqҞi0⥑;:%" F4dhb-FCRR!Q*L(.R6b :|AQ+yɥ{^{#G yL?ZAsCg{^߾濼璷t^};^739niY7BÐZTz$\;p6-xE EEQHj|Y}"<1.nxBXEwi"=G0hΩS4tXy[Y+w\:уiCK`1[48($@񆃦 6M=<06Z C(L֍3_cI \Šf!$M_ܓ8ΰM*IW9 Ԥ2OwyI;cgŲx!,2/E) !Utʘ`m{ 'ҏ5վە_-qkNJUV /h$euy+~ggi&Y:e^|0!ͰXe)UG@] %jҒ[ZYƽO%cN??{p:Û^N @S*(CKGfE P)Hz$}9O֒au}E'M#Tu*K X@JH8Y)cKP 5bSDʈU5;u4!SI+Q~ Pu6sUE7ND ]pu~FC&8>'BZwҘwn~;k*Qp܎^?j/Ua`۴kKv#s: p6cMqGD{~LWk)j];=J O^8qٓjn,[S*s~:xD?{\OmV۶˔7:|CUs jnJ0č,g^R/̣e`H4[˖t)O?ܧ?'l(|o~kXVEk> INR3G֭F2*Iצ/u~XC?R0ݲKeٹ=XS|7 3ǭ8"\U u^7`ڡY-jf7)] '; P&R$ׁz1*E!?*uc6(mBBo)QR,,d(y{~~9ܴ%8oڑK'Q(sӴaf2KC噤 Y3gړY?r7W[_~Oqu6EWg]o?v|kݹgf:pXhrYù*#%Nr B8:Ii [o6w\|HċTA)ܺg[0YCe|(V%B ]%Nbb*cmV<FZ-DRs3պgNZUI b*9ܸH+p8b+ONF\ !7r8 BĤT.7 ]A LAکY}(3¶909?~r*Y}B=abHB\I'6@)6KqeM2S&Oa8vT R :4fAOlI6!fKD]R=Z?"jj#~APֶDyutqPR ^2>`Frw!3wZV8 L(Bjq^O }H KѝQ+U5Iq!!HQlr涹o wĿ% g\:3{{WXmPrn{A'iVm[XL)0cH}s,;;*wP@%.cJ/=o[sy/AzhDݍ=OՙV65e8"4@<83qۑs# ]6yj%RR. P͆=C'1*T\핣z6>\A]m}fx5&5@0gX:?bjcr3cϡ1iFݫҝ`m2 ,VToJcuڽizlƨinQPrTm!)H&[Y~~/$i/Wa^kD"ޢi*v(=MĤ-kH-(@#VA3hn/<׉O6m`kn- *@?ʕ%`Fwo|Wܴ5W٠|~ڽtf^:q3høi-j5u[ ՌUeZ-l͸PD-'|O_< ĭΎ_2ӖYkc sG 8ZEozDe/SyVRޏ-}>@ch`T2q$xRQQp DDRQ+3O?[KbDT1ۘQ +m#Hꠎ-fA6PG/WjR"t!1/"*gNQ+4D]d7vܚSlCYcǫ?x#kv/!=)j|6yqNX|э`G/:v]]Ԍ?7vj*_֑уqjg_5r kMCufl;GC 8] %sA+B$?|y<1 JYFȝlM0-h!4(>5^n_YސG!P;k.y"Yɟ]n_/GFe,|=q-~8&i@/#7o~nnzq*/Fx8BA\nJ]Xunn5=gDj/2~(^P&Df ce/TP&&Ļ(J^8I> 9_k|/1MʺقgsqsnG{jzǓ}O@ 9:v`L!ӟ~?Ͻdem- |AMDM EGϧo?8=?qYAG[i!;m6̿|d%i_l)D)tBHEcnnT_,ca`ă`YDfSȟ}v;=<|rh>c0(x&@^U$JaA`K0d֬{CmgGr 9|ҷ%K)Y4ґ6FsF@y.et~kxqP03OH'h=.j:kޏ=nB)%r0IZ8u\QCEc{WO`fI,"{ - 7]4ȊȰ 9m}_m#IaWw<.N c53v}VTP.R88c %#md?z[?YYR ݌/| 2FJ+b+ baL0Mz~tjIĄOTG3VJm)WF/6؎{&01r{J3qe3 y^[?;x4m)ˣ{l?|53f2HD0zWtj T?]6j,ӀH89so3_W3$2P!8++6޾.36gوb~4y~hafN?x!FnE` ZHwhxW{?dS:kƞ99wqԳg҃-V2CØa3DҖM {Xlݺe~anf1-cT:nЄ,Qd> RujZ2;XS]xKWݶL}./qU1N6:壞SQUu| Njg*+> y2IiJ'0Ip[w" SX )DBy>J> -hAsRJeONH)"r9=GuFqFv-em5*u&E|Qun2ěIVk±@!I%Cy5Q!֦B[0哞TAƊZZ˺{`9al -e0Y* "^!#RNRPZ G?KD0tzpz#<+H}To][if+$<YҵmrQ7}GxͅkSŽi:O[ (n.u[;Ki֧d%ܦf3zWk\I= 爨[PXTI8ŁXqx hmJ8#Pr9xO E1L%wsk#e" f禶ltZp͸ٌۋE "8_QAaD Q)*1/*1,} #2 А+(,-eBZl('Krh5h%1~a=p[3갶" r⼃[ x%(4Z4jPT`w" ]Rӂ`@x"Weo/٭doy< z>Fw^  "<:&]N?f秿yJr|gҍB0/dLLN& 6/d 810FD3BB IMwoppz}3sRz߹n]nu6ξjq`I9B( 4, ?wpkG=n2A) R HB-\P;t+)Fu EUꤺn>_WAmHa~礓.'BB(`ʲk~&̠hMZ_ ʎ. FAK_XOzhY56=ByB֋,\"y+')Ԯ]2dYo {Z'-%Ũew떝RzeY*ۓ0c)_EΛ+V,lmrOsJ4jڝ0@CD9hɠErΏPãy*_jsOEV7rtk~=/]tn NŃNxYkWGoh7s !T1# ssx{GGrnud FG"L,kԵ4QnA9rUzl^rt㪕Ȗ>2%T,GBB )x ',sdG_q+HUT+=ReY@Sb(a.5@bT ܪa֓q?I)g~DeLoߒfBj}NjQg3A8Sv`8Ǯ4dB5)։n904Q MQv;Zkf!;WWUU58fET3z3:Ks42H :]ol`_z[߷k[G=}ADvZ8uߋ޲\Yo}2^96pRi\~~q}^u_WAW;8_wk ,#w! p@8'emSRbf, Z +gy0U]t;i:4Cw(>{qH#=EQ Rʱol>26>m8DXa__O~IҊI53.Sг dTIA7g|ScԮmvp0կ:s[.z4&gČ9Cف}Qr)he iBBPDZ) kkF7S` =;8GFȏ77]jGZeZDĒd3nm~ֿtgmM@RHa5P諗datnS+WhcQg SĠ5Mm g05}w! J wh2d_kFʓ(JhD5iVZkR R7 ee!j\7k K.^şw`Dtru"K4qO;(#ᮢi:fY~hz) $ ZHXE҄h^rֲc/T*)#/ך vn6'wc~lE>hFdekn*jud>Xh <_|&e+!$r#@,M.;|Ig/>9rk ښ|~ u` Tم^O:]( *bD Ȃ,z'^!ւBԪ(K2hO>OicS"D Pz޾:eᜏ!Q)j]嚫"ED~4 BDQ (ShK[JV" g@@O3R*nPK~Ylf¯³8'@*%l`m?9W ҄&vlOnv7($xa49f6N@3X,Ni I;:&(ZГ7wnpӭO龃O\u=ZMW4'~~·_o?Y#뫍u8i&;2)ֹ'-欽79iO_fUh 4IN\³wwk@5¤Hc:\Mk#A_׿<+Cm;]ʫ1*/]fq\X(Em}Ry+DVZɠ6Ə08S0R=Il_HP@8u#Li&O;Gm>U"InJ2(@46hh>øM!tjyv^~!AbIͳJp2pD{R  @㸱6u9 u+"Ou[h8Dd&ַ_[a;vWnM[HD TtQ,7]_TK;2,ayagǛp)(jRN BJ7:owJW?/;0:4BƲ4ijAfM)ہ`RQPzD44DVք\XYYRoq1ƛ32":P) <"ldM Hdh"#20bt$؜ 0 Ĉ:5"dZ`»1uv=Ml#R@wDީn^ϯ;CT"G"Njk,+ZIĢ(:)LH0=ԣV5i@ba(ݵ.MNwtkS.<\9[DBdcT>7xsˮ~R=OaϦևʺV "&X9־dxQԈ˶ȼh]$#`GNJء"lis,8=MCDPʲupZGMmQFYsp~jrŤq]P/M& 㚅5M;}7FW rҮ^wc>>0Q=!Lpɤ(qqY=an`dˇëʖۜT謃H"$0(;P]'4Wغb?V:)(,Z|4PZ"e;;"T TEaV e}[ (,~F-r2[܌IM ǃLZ@g~N*R]ĩU#+㯐 <"3iK ' & IQ>Vz euY\Z'!վn#bJiH<0I=s pX`r.,ܪQur~]))5;P >OXw]O\ n~FK>x~vpUHf2QAR8lcPY(Ugӝ UNUx8n6Զj\cHAMnTOWryZdz=-; (2>>:TJ"\iEJhnEacpl =Y훒U3I%q:0_1Ta융6H )-PED 3ʪn-Y$5/"28Q>5nhmK WH^ cdU PTjtulյcffh_;ZTvȻ)GxŽI ^n=>ٞd4BB!plN_hOO֠B, ;]z߰KĹʱ%MŠE7l5,r#˖aRp!w߹l󻗑rOCD|,MkH) ъQZLUɄJj<=p!>lc4ue.by/!2HLKF2%Ĉn!0DA!a4c,ԮݩދOoX4 Me8mHIfN&R9Kb@ʕ$Q =iZD,$! "펐P)HQ`dئtTD0tRH @Szo串ΰv߾үwrGlqH R5[rmvsڮ#[ Wj}+WW=ܭTgWO-,8o⠄u9~ c; : BN;^'RhFH)4Zi gd1 ~.'m sMJ" Gy [[0 Ž搐} A1xY;/c4g ,*e0FzGB+3oq8A`kKPXm# ٱVZ]hڤf戬!z(Sf/$ s[[CW7>[]4[[w==;oj@ڢMSIc.E{W/[O7MUu3Nvq c"18PV ,;FVڃ^>嵴U U90-z1AueV7cvB! 8 p'"'(y7R&m6iqG7-I2Cs3KH{/_0囁 OP:84ytE> _):/&D; gG,|ʏ$>ڌ5Vzx<%ϲ߁LZ{ODn;+WH h8r]ͫջy˧Γmp @q]3-`6'z`fµ#8R/]S HݩJlټʂ,ʦ$:y%S0Km]X {:2eo/ EQ zoOF[[McC$@quiR}6CH`k\Q&1M k:yRR*bʂ)fƓɤi,"*QF1e\hL_Ϲ`&X>]9&DN \f~nDZln6ׇM̈́wP T5.KSFZ;% 淩 S&JJ̦pS3C$J2M̫,LY22ՠT"ڵGNyd8 dMZbȉSZ D~]Ԯe~#mvE}WgTDۋY !YkjXHm]F)ty"J\@ 5ٗa,QPiRH ~7v b@m|j=mՍ);jFcД)LYhSmR 0<dJqQ`'rH-2 JZPl ϯ3v2Ѝ%`f:f`q;Z^#2%jQq $'k#ۭ<Ϩu*R`6V.l(CIkS8Im9GP"1gֺp f{sD+!e5*{XcEh* ,b~Sx\*tXi0vMShcaěg.V U%"9&JņH#9J-B6PZzQFbPvz RPRjyqwlʝZ]k$Hu#Ԫj'iЉ)h7{3hoŒߐ䑓۱L@Kv^ | DB `_ZF$"xRYNJV7(ЎcGlɎXV$(mU;݈㺑]Pn[Q"NNВATJ p8^[NIy^OsNG):RP䊣nj1Flͣ^l6pf־[R/"DRH[ -IRKJol$Ւ԰22WAI\ΧKC?Pg lvcȺd?xNnk*)Gʝ D$HlF"bB+6im~} Rvi\mEZ U7s^t3Ej[7n) Zhk4̧H}* "NJ| uz1n۸: G֨i"阢1)T,tSj @J 0 Mv\g[9@TɆFM_qB"OynK*@K64Z"o #Z(eYWfF8vJ|Lh Thf؉(UZ+uc}b6v;Ea07,'kY`e"* :fFQ =]X*! JOj9GیkBИlyΕ76eLbH(79RдtDN/>;c@(̘FvLt؜7XLRC:H-q`6{7*̘[nh4TfJY^oBt"0-&S+CJ{[ (2vPq0KEkVYA("/VBojRiՈ P#QڱcZUU1LPTEi囊QRѦP^Why '5u"[Is)b/hmTӛGLSˌD@-Sz }"Kt%gʒv!()ьUtBxihcМ;4hÈ$S>PpALE}15\my%f*zߩDa*gHqd\ً*QWrة:+bx\Y"(U1ZV# u,"V*p˜NY(=fTRu-l!"̬55T#< Iu -",ly!/H~4ä|5،wdQJ Vow9pvIGT;D@#*զh&R( &x BF`9 ۏs[Ws%[QgQ"MDSp)!U"D9S#F:LWQƓzZS4.Z^4̌X;,%.M±k/5 Mg5./N{{t5`>5 8qw -U]Wuc:X8 4Nڕ|"cFA)p܄jaSzݕLi% ˋ_1 ), R} R@) kފK$e:U;J*s&Ab;9dwUb&͒RU Q>bz%r~.12O: )g9=iN)~_ I>bAq&)o1IW P[|.y0~Py'Qڽ 3)bEf'C3{=ˋsP4k+G921Zǘ # yYr,e~,uV-3KG 523 4v̾vt@w %pڛ q4_ʲ`[tR_@Dɕ0.ҚzN3\q\!C[Wl8: 'LK+/Xr> \ HN!|*H,CY](Q k;PA{lUvlNg!6MMל#׈٣<~ߝh*^MՍ͹{9(o 77eKQGC.JcJJuʱCR4 NA~|ħ_9DNYU_1Hj\ADuS"Q]U"EuV?1ϺeӋC?>kssC+4JkO\]۴ 1WU֎Wi*D: ^|+ߵ# ?"Ɠ=~Ӟ0Z_Q|yFH.sq]>7+L&l,;( p2n<ʢu>5L*o 5"X[8l 7fVaoG}-*R3HUv&G=o=KZ@$P֞q(!'1{0\Tn1^xR>˅s߶B:Fw}??>g}skqKVw}3>? rdmia9V꺙X=ix?ِ}^~K90YX`4-%'NG7{~{ac{^/zo '.Z_TJj~;a}şwy~pDʂP־Fz> Zk3G=`D*u$i':qҩ{܇?Ay7&gF`te>ηhR{h#85X׿3ϻћ_G<^=5>kr7g><8@nu=*[YK2kE*-R2ʒxK|F=f.wW Slb,s r(;t'~ȅ}5j#dK5AD]K~㟽rxWu✳Nk=ͮ~c+CЂ}V m{wy?{V.2|4%HwG'O|k_҃.pV)|Rw?F ll:rI=NVWO߽@&ҡCfnTcSN<|_{vBÛGqiWʇ ۶+ <|SaR8QgWa~ٳ 0U-~[<]fHķ-_1FEᦖ"Z^TkȿM0e,6yd`93#qJ8#RT6NƐĿyk Jn} *2/~CpkzƐDijpixkK_c jc{σyqu[!DARd5?Owf<CD#*5$I#GU׾`;WYX', еlӞɖ&bZ(7:զQ0ɉbl<ɏ>3㪮]?~&DگwsDߝtXߺoWo_nX˄Jkcth "ZC]ʗdY6 -o~'-_oPP(!mȓ׼66_ 2 G5ƘGp`!G!($AY܋ڢXs#¤hvnAq2N>oBDfV}w~~9 `P\lsl񬁭jo|nyASZkvSZ/'jcZB=i<| |tu[Q R$uNDRG ^0n80N)^joOдLZuHUs݃V_=ħZ;Agc"t?>tV$"|#ҺsޭiND1v(*ˢ;q zt{O[h4{]꽅RJ|St{auuMQyjN7$2p˩3tiJ0Vӂ77h_@ڞw:$BL۶ȦI0ZjZ0Ζ -ۭۜz)FYE_xkWgt:DARF몪}g5FG>G:M΁Q+w|?>Nj*)e4?Tx0]e/@BgHY 5X][?x8ܛ>a:3Z_gS_/Hhj :}R(-lq)p;J l<|? Ưz߼EO$;Y Hx?n\C4} U$A evB͕++[}\x{߃a!*`߶,i#2np 㝜uS4a)GJ,yևE#[SܷONV C^[Fw Gq޽ @[(FBbqbfGD0Z8j! 5`ć)o`tw.~Ctͯ0!h}{_Xu'=}Vҫ[{ouzj_{⯮@(׿O{ÊZt_W^bsG>o~ų|oVa_CD `]W]V[dǿ}I9bq[(}ӟ\\Z4nGA)2Dz}9ssNPHCKEE@uoAʈAD8˄,i4H)C1qآSZ%3OXk_\1Ҥ}+I [o;7""YH z4@S5:/|ƘNTZ,2||*:I+/{;sy]1 L`B5{FapD2%^TB; "߀9ՎEMoxnh/7s(_ڷ9b&0K<-ؿy_~?p{mia~bG("NTm).6ƃbeApPB珹^ыGҺlX)vBBIz xh 2ߞmيE: @dYDhvBdUW\{/u)0gVՄy 82YLoW- [cB\V7e(;LItH NYΝ{3wn1 rR!UVhkk= g{VpB7;Rؠ.+w@sWEFH{̳s %4dR;Qo}c qZN }D"66OxV2rut[,ftm{PPMz38i~ceq-Iw,])8pAgDNjV: V$YtkO"}5?M6f^&4 s&JعD(/z.g]UmJH[Q=7z>|ocs k;b,F~샊nZ с{S\P9rk5pLЃ J)_y) =n?%NPZYГ̀\~yY;ź#^@"/_zp{_R^u"Ҥ#=LQRXSO~7+^XC_^~GN7=ħ T.*L"lx|g^xnl8Ǔ.ǎ~KV Te1$u YiΨ ,i,iXmot@fٸ[e/Z[_OG5O}>6+^{A :@?h8ʗ qp4';Uӭ!Ѹ:Wɽpǭf5X EI,bN8,/_oS4</Z \cMAib8]{"U O׏W~x+. 5Vv"*ƙ~0y_fBCQE4uڋ~d3@Js>Ie DhH2+3Ӹw^Ρ_vxg&$inYwcW_WuyӞoxˋ?|_q i7ũ9Oݲk1Ry ՑęCtB76K|>Oʽ Kկ|\:U>k޽{Tdpx,d=0I$ At N=sGViû܃s`ĵZ}'SX5N[vk7 iPX陷nqy?g<}etCѬɳҟ]sgfUS/vп}s]KaC,|sq:nK/_׽kFڨ7tW:tSiaqXćxybDt*-UƉ[h6a'l!fqΣKku #ZDN)_^u $튠ep,s,ͯ~qŇ]kmWo}[f_W׶P{% 0( Db`[>Y5]$4[ u_Y^\j- uO>I/(N(LgU' ?E {kPr/W_9̱v>$Kϖ"-xiu;V咇Uݍ7 nLivAH߼ϘifXl J2۶(5 675̮ŽW|~}' z=1u~[?§rW6w-ﱍE(Bnܳx;餓. Vo|ǿ_-wqa/^Hębpacf ՠ?g>'<1'xB~_{}kݢ Ƃx` /zύׇ*ֽr6ɯ)IPBD9碣RxX`Z5ZEYۜhm؉QG>I{CGs. n.O9F d1sbh]E_[}sia' K$9RKƤ/ z5d}[iPrUYX)Ǚ8|KI &{!?w@8qV&j8;LjDZƆsݻ./-uΤ>:,5,.ѕ[[C*EFq]UN>ݻRznaNYװseRW^W9vƘ3^Hj4WUkS<ODC\{u_=:k+"1 qAh)"#Ps 1A"qҔEv-p4b‚Dtª QZE(6'AHحowN;ˮq5-LGNTD+GW_G@Q_-|ߺ?p?XY[_\y.ݽku5 3/-/v; 0I dC,3& !e&HxQ :=D^ @FZhl%" I_vKp8YJYJ)McmBSZ0q iEk8?(JOkQiMHU][kEXkmLY:"N=x ѩ3Vŕv;Xidl4ʓشeY`k-;k 8)ÇWF1o'3"Dp<)4zN:atsѸ,ni憯#&F~g^\\Fu! Zg~ M4#VA>Ncq bkj4 4l,XnkhSu`啎m(zh4&enV2Q, ߎuo$Zm ZkTs^Qw:ʹ"O)&VPrj4hj1=fy:@4y;DFfcЅ"SP:SI F`zݲ,p1&cL0JHH3N/uUUU忀Cc&B2tnY :4vejqs$n&lUU7Ή0s{Q+4EcY(ˋkrK1ݲfOsG ljKPb0`XAݞ=0]qR5VQ=lXbEa&fR׶V/!)2tu1WЊ:V) m,VD4t:e(vUh nĶ#3xe鈤]ZUiiQgJB*1rĈa3t |\pv@XM mQV2[_KT#Ed&R.3Mb2tʲdf{D>jrqnHvrPݸ@R~I@K(w)a;pqiݵ<LJ̎-,.XX9DQBH-fqqK&"bkPfn=200:=ҧ{]%Q>[!"EdRZ@h_c![R |/fP%Lr_69}1+\M@DD E0D"lkdLO fCEHA1!DLCLHmSE$bBH! 2d)`0L Ʉ"" ũ͈`Z&)Us$ZrvT([(44 &Ua *(*)QEH(xjE+b.e4E X5SEQi~f NN؝S$|" 1!8$y^ E,KjRO'RQuD|V Jy=,92+[.+:A&msA޵kI'j;0=Doͪ${7/crk7)ġumwe yk˛yk[@Ktooج0;+>x~~-)}-2S1RG.SO4*%23i,Rr4%"?X{*mL۔lٶͰU6Zf]ZP Pk ąkP ̧NLfn;$x2̀9=2}ȶ*XC`̒RFm 4i8&?o9W,ybfm_?fȎ.qO E!OnΤXYck+c|R[t9}3cHM#$r`TGla.얡B;ᄽdb/a~M]K!LXzp,2gL,v. mOO}7"߹T-qߦ+J*;r( @q M\mv=+|pHύe ,d .T^)0P <x4}3ϘNJ}YB H휖P;K8䌖";ޫ}-kS cA ^rF6Ì\oݝvsdx1P67 |ۄFiX{ EJcqq8D:~o)l7;jǩ}l+Yx~-hǬ7*!;$cqH;9tc%&#$* ZD"xۃ-+7<&rqSW3}1c^ay%d7;̨ VR b>X'%)p>ͲҸL"<x)hiɐa`%1VҶaG1K/(?it{ߎougӔ ￳cKSI$5uf߷ m;~;e2$FsKCمoߴgnGaYߏExz ;{";Q~WǶJiC"171HrV2;;vGuk{D8&M3g?F La6{i.N(:su70D,پ;F1¹i0QZO"U7"I 蝿0dȰ =, l،41>-͛J3O$po;;??Ӣ(ew &?ɂmSd]46ut6cy&i|,K9FtcBm[6R C)G|0 |Ildߛ~X2ZF1`{Nt# ~f fFD:55KuW݁^Qɀ,2 ۔K@Jo\-X!]Z̒\D[g xY'^BQ|?PVhO}3 2xOT[*!oߘ?4O[CSm$DȘ<(Jd`!R( }1g+(^2GKvf6H7 ڶtEXtCommentCreated with GIMPW%tEXtdate:create2025-01-29T12:27:49+00:00ρ2%tEXtdate:modify2025-01-29T12:27:14+00:00(tEXtdate:timestamp2025-01-29T12:30:54+00:00g[tEXticc:copyrightPublic Domain1["tEXticc:descriptionGIMP built-in sRGBLgAtEXticc:manufacturerGIMPLtEXticc:modelsRGB[`ICIENDB`cokelaer-colormap-8722b0b/doc/source/_static/copybutton.js000066400000000000000000000046301474643342200237140ustar00rootroot00000000000000$(document).ready(function() { /* Add a [>>>] button on the top-right corner of code samples to hide * the >>> and ... prompts and the output and thus make the code * copyable. */ var div = $('.highlight-python .highlight,' + '.highlight-python3 .highlight') var pre = div.find('pre'); // get the styles from the current theme pre.parent().parent().css('position', 'relative'); var hide_text = 'Hide the prompts and ouput'; var show_text = 'Show the prompts and ouput'; var border_width = pre.css('border-top-width'); var border_style = pre.css('border-top-style'); var border_color = pre.css('border-top-color'); var button_styles = { 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', 'border-color': border_color, 'border-style': border_style, 'border-width': border_width, 'color': border_color, 'text-size': '75%', 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em' } // create and add the button to all the code blocks that contain >>> div.each(function(index) { var jthis = $(this); if (jthis.find('.gp').length > 0) { var button = $('>>>'); button.css(button_styles) button.attr('title', hide_text); jthis.prepend(button); } // tracebacks (.gt) contain bare text elements that need to be // wrapped in a span to work with .nextUntil() (see later) jthis.find('pre:has(.gt)').contents().filter(function() { return ((this.nodeType == 3) && (this.data.trim().length > 0)); }).wrap(''); }); // define the behavior of the button when it's clicked $('.copybutton').toggle( function() { var button = $(this); button.parent().find('.go, .gp, .gt').hide(); button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); button.css('text-decoration', 'line-through'); button.attr('title', show_text); }, function() { var button = $(this); button.parent().find('.go, .gp, .gt').show(); button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); button.css('text-decoration', 'none'); button.attr('title', hide_text); }); }); cokelaer-colormap-8722b0b/doc/source/_static/plot_colormap.png000066400000000000000000006052751474643342200245440ustar00rootroot00000000000000PNG  IHDR^9tEXtSoftwareMatplotlib version3.9.2, https://matplotlib.org/!N pHYs.#.#x?vIDATx{eY({֬Y^1b n%l;QvZ[Ott[fnjiM6kkEI[S@*ENfDDx9 y~ìY<07x{=gg A`L{0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0@%LT0?V/wa:o%/ y^"<P5 f袋W_vܙI_oG<4777P[_ЇZv '3;?ݓW]uմ47^xaz[2?Sz#N=ԖFk׮tꩧKoݻ:&`s7׿NߍP0FsssxD:Cдtuץ;/}O]wݪ]vOgm!vرfJڹsg馛ҭޚAUW]^צ??NgGnjL)y^%/yIzK^2a[L#j+;cK^c?c~xGUo޽;/N^zi1=ۿ9|ee%]r%sIsN5+.tqǥ餓N y?{G<1SNX_+W@@Ks/~1} _H|+םc=үگ뭊]~8;ϧG</}iz{ޓ}(}kRz _~ڷm۶<&Hӗt-}s|紇љva .HzjW=)OI{fٟ~7륟J{nz_&OOnu)[n%{=yOt1Ǥim<0ߚ5?MՍڶm[:Sһ5ni[u!iW `nJg}v׾n馴^{?=яNGyXz/9}H]w]Ӟ{ta>m2yצK.$}H;wLv[vؑ>tǦګ՞9;wL{ci&ر#=LyC&2{j&]p_rJ?=1KKKsM_W 7ܐmۖN?'=iJ#yx^yeVy^bo~sRZN8al>o~sݼūr򐇬_]vgg{WQG58Ÿ}؏غOJi`ee%NM OdpGgǰ0x3183ß{3򐇬ϋ_usgo{vXq?|+_߇O>ygz߼qk׮VP+qW G^\{'< ?777ٟ]Ff.hpGnsCϭ,q@e0 7 ]_}k=<畻yer<{[ax0pO04Mzы^~w~'l8_b:ӭ:rϳ>;{SO97N==.}_p9眓BRJ+LO~Ӈ>pvmO~rMj駟򔧤z9guVzsv}7/y7\}o:G>Gʹ/8=qK5r7?>?sAzߟ猴fɹ瞛;t%l8gee%L<ƑoعAzF֫^5nree%4"h畍񼲖;y^yey^w0}!g=Y裏Nxҭޚ.WWK/4jz׻޵~gyfz3N'= OHCдo=]y鳟lg>>^zity祽{<77>tG?iO{wOrKҹ瞛8U?,ؽ{wz^:G=jiFtEg?wO>9}NxYzVzt뭷/}K#HkVyߞ=q#~~>=яNx#ґG; t7}kN;[oM??/C9dwyы^ rH:餓k&wycXW~ӟN??>OÕW^N>?OMO|Ӊ'>സtg_׾O}j:æ0p 3\}3_s\?OiT+W{|[W@Wb` ڪ?P;v˿ˆze/[7qC|3pr;K_5/чa>O~rCu{>φ5l_}k7T/8m}lwqVt:+bCcU}\rɆrv~0~m3mT[?P/+++׿ރnO5>]w})l$~^l[+9Wye֞Wٶ;L>o~e';s'>U7+?kƴ}g}/~qzj_+\/;|oF'oxe^{mJ)__Oys֭Vnԧ64l׿~}V׽.ȏȆ'>qղo6I{lzߝ:o_?׼fղo9}Z񲗽,]~e/{ٔF4fٵ^WBVyjWRUW +w2 Dp zˎ;Z//V0oy[V~׾oaa!e'{P?ӫõ?s?sR7m8?k~W~W6~vz]pΏK/zыV-p>xϝRJrʚe}{c-nOԚe;Pmo{[Umۦ3}wͲ`nZyec<;+y^٘x^ `&*Mc=vz;N/--[%/yɚ7?YZZJg}vFqJW\qEK_477ưZ=,H9zԣ,{ _s ؾ}{zj٥^:8=//zы|d=GuT:V-袋ҷ&#X<XLj{//Y׾6=Oˆoo yec۶9~XꌺM?ַ5vi~{xΝ#nwGYvzto$lԽ /0=Lv۪sL~$E{d-y%%+wq>lUW4?UJ;v-,,YVuTW^ye_|qw_{{^{핶oJ~Sɰ}:fwN6*==Б]<5ˮPIk5vկ~5=OM7pêGyd=)7xeN'^S x^i+ L01a#?جަ< ޭ mڟvޝ^}cհol&7+&mRzR.'=)ۿ۪~xg>8)lc5<=W6x-Wd {sOtSvؑLGqD:C>׼%}嗧>ˬ ٭-oy|?ǧ?<=Nbڶm۪{gspoVr-ַғ|g;,~頃6sY{{0ؚ<;+yVp'wYTgu⋇J޽;/^ool5юk6MoZկ~`ߊŽ.\JVo;x[֪zh:3ҡ:ef0yp'Txe;~6]}ի5YPIN;m"򖷤__N[3wJ&F(O<1}\N~z:æ3]s5 /\0ؚ<+יmxeݸ?êO1r.! ޞ_zk^3rW\P^f٬Z\uUOL7V-?蠃g?)ltz׻ʪe xƔF[yVLPX쬳ΚHo۫# EL޽봵=~җ=,?nvHғ}m>OOGqĔF6]vk?NF[yLPO񉫖]yC{瞫{zlb:؞~R[CJЇFj]tњGC9qu]'/x8 ~Fws9~vz0yx^;y^X0Uz^f//oU=AZ_W_k&/Rˣ"s\6E7M+Lr~~ͲWm {StEZ< }3I}7;H~omMlǎ]zF[y:+y& 'ԧZv7g<kQKKKfʯl_~G~$6qy뭷7 ʽs~߈7Ć^t駯Z~Evܙԧ]g>:)l4wqGЇ>Ǥwk^/y:C0:<+Wy^X `~0tA}k_K{lzӛޔnuk }./b:+^[x3wU>я_KMO}SKw^J_ =yKۥ~6qw\\\L)wN:=5M3tMe/{Y5i}ieL[n%=H\p;vH13it~镯|e:COO /pͿݾ}{˿=m #zx^a񏧥׾6H{ґGwtצs=7}cC<9/~Z|;5˻nzK^ys֜W6}z;ޱfJΝ;-ܒ:[+ky^a<5Z7__Bc0&*qm/}K'>q!ycg祯~bv['?>Ou{]:3Ygj_sVwsI\rɪW^yЇ{ZXXHox>?K/M)tW}򓟜v=t^M̿ooۛ?8/rz+_]pW,+Dz>޽{w+a<_ @:tWwJ>YzV,,,N;-ȏHwя~4/i>>O=q#tAӟtVdzcǎtYg?#Lۿ۴{:{=yhk^?L1fx^ @ `{t)/N;-}^~pON^ziz|鬳Jz׻|C71]r%x8}{_zwn7=OOgqFz)s>0}O}jz+_y޹sg˿ -,,L{P5+ljy`sPo1wykM_}w=(=aK=ߓ7+H5\n洸:G<"s1innOĤ\zsM]w]Ҟ{c9&=ak~>ҙg}_O~+Rz>tqǥB0T& .&*a&*a&*a&*17 0 P 0 P 0 P 0 P 0 P 0 P 0 Pͽan ۳9bwq"Jyczy"륔R32Y/Wu憿?vbzX9ɛu͠HzyX$'M^z^zDEJڎrK^hHz)kJ9zho1Hsz^tVom/owyԌn϶jTQs8j޳jϫ=w-w͚+`0њ|ζjTQ>g[5^(Ts1zi5L㨹gɚi3g +} `J `Jt= no&]HR^)X^o7r^$gHz) Dr֋jFbO]oXf)gn 4J!׏h^I'||W*oi~x\>osyz^zXk^4oH7h.vD&UZd&*a&*ѝ GZbwq"Jyczy"륔R32Y/Wu憿?77ȆRj|l?z8bնޟՌ*ebsR[7˧~N Jvh8{^se4/+kzyl-~2P 0 P N{@#-Ll8zRN۱h|oHzyXRJ~Ռ+@Iw,cMEEcՙ;r~q"Jnv27WPP8'/72˝ڮy/ҫ3ΑhHzM@%LT0@%LT;qőo&}aH׋EvR,Z79/^^$/%^z\R4X?zEr땴]o3yxﮔW+ ysB!ga>GMbsJ\k<ՙoH^W$59`96|0{|&*a&*ѝ GZ>X)gk^)֛ZT3^,RT_."c֛/g/r&֫Erѫ$5IuRN$vR[-+bB162GW(K\hR37|䖏#V)d80 P 0 P N{@#-Gl+F΋䬗]/ᗙǖF+Ջƚf2yzM^W:cx.W3ګu3z$gXf^ 6˟(wwy+"94^\,3^%ѼY wWi;6^-h^)/Dcc?W.zuuU:gˍaXW./++l "9l?n&*a&*ѝ GZbwqzRN۱h|oHzyX)gɆR})/_^=gXf^)dVH֋jFEcml&z1#G)/䤔Rp;UW2RNRknu }$v$ Z>W՘i&*a&*ѝH7۾}b&&٫7k-glNZ^h^^۱k;TX)$5IuRN$vRfn5#9ѼRh,w\bҾț/cq!o.G~Dkzclퟢp70 P N{@bwqm_ɋ=ҫ7 *r5#9{n_|y9c\,ZErk;TX)$5IuRN$vRfn5#9ѼRc㵗?grD\޶B;smRD"5+A|ErTO<LT0@%LT;qő#6+/loWojRHNJ)7PJKKhSJ^)W"96X4/LWDơuzm&٫[-+bq*Ѽ\z)תN֙ѼIf0Eg `JDw#-G^^r5K9sXZ^ǖF+ǑErH8z5MW)/䌣WI$/k:w"yHzXp ZW"9UyX {BVҙkն5EH,Z= P 0 P N{@bwq{U)#:c9'd~?Sz"k;TX)$5IuRN$vRfn5Ku.'WvRqYG k Qmǟ[^lVM30 P 0 P-vGZ>X^o7^XXZL8b﷗+Ջƚf2yzM^W:cx.W3ګu3bc%Z/+퇥z#tM7Jm5J90 P 0 P N{@\o7qzRN۱RζNs;󱥥˗9EbzyrH8z5MW)/k^I67:J9zRnᖱKJo)/X)Wv7+9h..fD3ȯH,Z䏣\,& `J `Jt= n8qzvXǖL^$gI9XW./+kXJڎrJ"y^ [+Db~Xfn5Kr9ѼRcµzJ*4WE3ȯ\,^dh0{|&*a&*ѝ|o-vgW۱;9ii)[ErˋĢ"9bqjXR^.vm&ouݕr"Jyz-c)//R^nX)~gBlq[>m >J~3|o^)foT0@%LT0@%]i8b^^$,/gs"9㈍W?~s9ѼRhi&S/W7ؤE{3r5Jy^jrR+zmzMqȻ)sX;|6zdl+foT0@%LT0@%כ|hz7PJˣ-Glfe~>+E{EbMag+k;TX)$5IuRN$v,Rxfnk'yZErk;TX)$5IuRN$vRfn5K2^}xdvaf\au7 ]s}$'foT0@%LT0@%כ|n')+7r6'JڎW3rGt쑼Rk;TX)$5IuRN$v,͛De8"9Xb6g7qJyX$M P 0 P N{@\o7ĺ᧋qJ/ _i;Glr-^XLz\hh͜Y3w"5(bRn'sT"&ϗ0I\"9XRJ=f0|;+g0 P 0 Pu;z󽑖Wonw?KL,<ۍr${c1F?WdѱݫibJyX$gҽJyxﮔv,Zry-ht*՜Iﻑ}jc(#5>JZ|^Y7zX왁0 P N{@\o7qĺidap/cˣ-O)~X)qL8csE^O)4+GlRs^HhW.g=~<̊svDbkQxH)-tpUo7b`60@%LT0@%LT;qC8||/|lyyhHԫ8rIuXEv*bq*E{MR'n]$]/6nAhf[Jc(#yu%JZtn>{E `J `JDw⺝pn8bH~rEr63\,:-^hR^.vm&ouݕr"Jyz-cc~>۫t.m^./^kbX ԜnϷj.Z= P 0 P N{@\o7ĺc˓땋kmqi&SoXf^46zQ^ #G)/ҫ\h\qj[[dGcy/5+Gw>_tOo-_/ `J `Jt= ~疏%vR6'ڮw_5+[^\Ri&SoXf^46z^m\hR^W: &~ێrJH^׬_X.?)LT0@%LT0@% ?s7[ilN1G^+2q|g֋&U/ګm1?Uʋj{\U:#ym~SZhY&FQ8E `J `JDw⺝pnfb|N1V4^,W3Z/k3g3ymޑ/R핋Er֋{Mr+{hYvLpm|G`0@%LT0@%LT;qp䖯-O)^)vlkzEr5KY8J땴]o3ym:J9XiRnᖱjFjNPRZuXʋ7XF)/k֯8zlG`x `J `Jt= ~疯KHN44R^ϕvhII7c[2+D&Sx4\^$gXDi?,f9zf]tDs+~3 Rl װ| `J `JDw⺝pnztR>4-O)~zRh\lryu8+92^9+k9Z/k3g3ymߑ+*Er"9)-\WrhtFzCnyi}D22R^[,\Kym_RJ݅ˣ `J `JDw:s-O)A`chˣJyz^8zpV>sdmTsV>$q#ҫ$)[WˋLZin5Cפ˜*ՋSѱzEotr551K0{<T0@%LT0@%יGnyJ)i7VUzp+|HIm7&=RlR67 JcͥQ 2R[ʛs@8zv^"$K{K`x `J `Jt= ~疧RZcBiF[Xn55 1YoJ"+R/ZsԤEEzu\i~m+)d^k[nN6q5l+j\?qdb^+[37*a&*ai #W9)[W./Kh{u^V>&n,kbtm*t`+ `J `JDwƠiڏMޤ{&+c[n,oV>$ƱߴO#o)wˋL$?W)/Ro+GK5qMW$Ƕx^۽0 P 0 Pu&GL^۽&)2yS출jsE>$?׬R˥"969.DZ\7^IĉsI&*a&*ѝ-ifW۱q|kN3vuѱo\r_\w J9[AsE,|čC`jfhl `J `Jt=` &82pfe}q}-;[Yk=vzy}id&*ai!M3iVj{^o\5gS&k8ƞvIq1feT0@%LT0@%LT0@%LT0@%LT0@%0C:3NȬ8JfJ5f3co׬ԬxqS'0 P 0 PAnG)6qle:,ŚL8V^ExsVfccc<T0@%LT0@%u&IW۱q|kN3vu7MyEt}Ismu1鱷}>u5qcL(T0@%LT0@% Ѭ"zmطMir*Ƒ7)\5+mL$?׬\;\7fyUzMsX<M?]LT0@%LT;c)Mޤ{&+c[n,/ګizƑ7)\m2i[{ma+GK5DZ&+c[n<^P 0 P 0 P5fNݎqfWtmכzC۽ڎ5ÏuE"Gd}xp~8j=&nf8Us|0['0@%LT0@%Et2GEsڎsB8v:l'Ws^X^C_IY&F1X\-O *a&*aik@phw }bm׋ĶBwJ&ܱ7ϕ뵙mMr\p~ ${6fWɬ߭-KZ qS1?9 &*a&*ѝf k^qګ$gSx#k^qګ$׬#~3c) `J `Jt= GZRJa_u2o&8zMsBq4Mh[?sEǗ\hgmhԌ8Cftzެ_'=6k{82c)̞(e&*aikHSJ)bnU7+"9)sf3zbmj{m;^^^t[b9uΑ1LZ3;c%/N1s$?WV -Fڎm^M3z^$gHz%JmG굽~ge;Or3r5Jy^X؋s5qdZzm~㨿| `J `Jt= GZ>Bpi;z5y"DrfI<} ҫ3wr(EzbTW9kG7^^/8vڽ#7*a&*ai[^Ymٜ-bJ^o~^X^ӌY//֋h^TT)VۮWZWz2fVHN^)Tt.1ZyWZ5qkc KH0|&*a&*ѝ~i8b+M6gR?+u3E{5\jFrc)'j5To]m)o"y?T^mr"br^|G<:\q|\r^3-WR=]0{|&*a&*ѝ~i8b+ٜ=X~f)TiFrGc_fJU'TnyJz3ywIՋj[i{]3ګΗbzXv=h,k+^6 \^Yʦ}O `J `Jt= nyeyn'h+n _4~W*"K<\RNW$V :wr7+om+E$>ŜҶd9Ty۱#M3G?׬j{Ss`uh,Z= P 0 P N{@\鏴|3˻i[XncM3z,qk"+3#-Q_?|J7W3Fcml&z"5(ERtn*Ջ֋\sڮYv,fW$4Xs_"{{D`O,0 P N{@Nn;z:sOzMi=6^ϕ*:"9zXn>U9+JI$/koJ$6cDryzmJRJڎM3 JLX)m*0 P 0 P-,]c92RL\l㘤N杦qJT>:fVWym8VrHN4/r J9J4/g/֛\)½JߌE7*a&*ai[^YmJ9;&Ņl\f^T5;-/W"9Xm>}͌#ڎu ~?>E߭pDqHN4TX~R\,Ss}@&{.YE{hl4^z `J `J `Jt= nyeyn'h#)+bRt^oxi9X9[E']ŜhRhٷX>~?(Fj}]>X)$5I2qvR_rH8zz^\z)Vr qaRJiyeuWr&9h=`0@%LT0@%LT;qK;sw;ڎrJy VEkllH'rSJ^)W"94/LWDơ]${u z\,3^<]/_sV k9sR&WGΉ+E{ 0 P 0 P-.h;V)MJ3hff)7E;u[RJJhR^.ɉƚ6.k;TX)$5IȱW]/[HN4TX)?gr륔v ?ٜ|,wS+Dvvl+fla&*a&*ѝ坹me͠i8zEs^6cqnᒰu Ff^thk ۸TRcH^$J9XRϑh^^۱^[v^`!_oy%]s =L)vlv5r^$'fO3:A&*a&*ѝ坹XD^㘤fЌ#9l,u ۫o/'&~ۮ^,W3Z/k3g3ym+QqrHNJ2ҫT/+ZeΗm Vr!W2BOE{Ebm8v5^0{,  `JDwv5!#izc^۱RN\Xv3 |WYi;Vi F4/LWI4ouRN۱I*JJyX$gzPB>2|/Sr9R^^HWWfJH0|&*a&*ѝ坹ͺfЌDczR\ӛѝ~Y.fsRpiZ^o&d>syzM^W:c8jF{"Y/R݃9;sO)qJ9h^W$vRڵ{yh,Z=[wFULT0@%LT;qv&43ѫX^Ol^Xo7'x"uBB!B!BH% !ʜ9s0tPx_hjjҥKO /DϞ=_*h !B!q\?س=.BRM6=\"}0BH kO=/bl-B!B!B!BBH \yx駥} qѣG{Cuu5˱vZ,Y| BB!B!BiP&;oT?~<ywqejkk_믿m=B$RB!B! B|0 ׿k>}:^xdeei1}tTTT`֬Yؾ}B!B!B! B|/ĦMڴ=+ҹsg\G!B!B!tpBHwމkQPPh!B!B! fB͛7ǵM0! ֭[h"l޼(**BϞ=qGgϞ7n݊o۷oGee%< ÑPQQQEa(--EUUPTTÇcԨQԩSB>˱j*]娮Fnn`ҤI(**i쩭… vZ;wƱѣG;ohh_|-[`׮]HKKCϞ=qcرku k׮Œ%K}v444k׮ӧNB_}m߾V¦MPQQ:t EEE0`&NR B!DF!fZ %%%Dzz: ѭ[7; ~Cb1|X|9DЭ[7 <~8233}҂cƍرck׮=z4=P/Fqq1=zgϞ2eJwuhjj… rJzCѶSYYEaػw/ЫW/qׯ_P&jkkh"ܹ%%%@NNtaÆaԨQڵkB>j*Yf溺,G8CѫW/}zj^())AVVwcɁ7 +Vw};v:t(<@}رc-Z7EEEӧ&N>}$%&p$aB!>r'<{Pc1cFԚ7p6f̘Ѧ^3L}#&M2Ν:+Ξ6ngg֬Yonr-ƠAi}dff&M2nVcҥbN{oI&iii񦥥SL1~c۶mZ^{͸ˍÇ;H$b=oTUUy&/4:,#++K]wekƍƌ3N:)W^wfG}t9G} wX,f|Ϙ4iد_?͛7{ږyٜ7o޾ ;|3.bc˖-bg3wWXXh׿6͛5kVܸ7_[[k<#Ƅ H$!==8#gyhnnvio߾ݸ꫍e Ç7os=Wy,0;0?w ~Fuuu?nuQFffC9ĸ[5khojj2{=W1fc| 2ĸ;={ho\a=.pxƕW^w@|dgg'tkNKJJ[nիԷu78]Ky׍;L?ѨqGZ u |);}&D$B!8O?j ~ {5N?t?VcN'0!SWW)n/477ѥKO ,cيNB?mS5\xN~nj\m0`xb۸[޶m[oi׺z9\L!+A|㏍{qn?1:ws5؏b=xD"o[WmSO{+^z֭5x mipII_B>>hc֭Z0FQQ0cg;n|IҞB|EV_NB$PZZS7t5_LPpwkEuuuCѢ '|2nvݻדڎYt)*++=ZEs9x衇<0iii9眃?0 Ón _v[ٲe >h,YēOٰa&Oռx~9_~%]ͱcʔ)< B%7n֭[=onnߏ38#Uz ?8$Efy7't.] ,kw1_Gu郚lܸgwԤı\UUSN9eH$?< |ٳ_|^u׷COɓ]NKK1zhxڵ+:u0PYYkb/ͫy睇KB!~ի&L#GbРAԩrssQSSb,_.{뭷p뭷G-˖--܂F@NNM: zBzz:n݊mnn/KX;wW^yepc='p틦&lݺo.\矏nw};qG߾}܌[bܹ?~xq"-- ?O<űxbzv?я0eʔ}_~6mj3^gs=<y}}i:]v޽{pBq7atM8_[:FMMM8餓駟EQL0ӦMÀеkWף˗/ǂ rJ:p@7FB~PPPTWWcǎXl{ク߹3gZiW^ւ2 0`Cw]{6cu֝.**R\SNEyyy\ߤIpG`Ĉ(,,Dcc#v܉/ݵk~믿O <J@gggƇ~[\\ltIq|jNf iӦ͹JGXXxq7EEEbrܑH/eˌoܹsd\|af<弪;nͮݻZ6dǃY,--͸;j|uXjU|r)kYWOm2d'П ԩSիW+}Ɓ7K.Z1u뮻(//έ7暸#F0,X`DQh-%SO)ܹsqٹOcƪU]ָ{={:뮻>xǴ 7['++K뷗a8++WWWFyi+WsN㢋.'~[s&ⵔ}KDQ㦛nR3n}s_ZNΗ,E!aIB|o5}5.駟6-[j\ĉRA7_GN\QQC/件ֈbSOI/H⋮mUTT8?nؿ/ZsUkfEQ_v˱g'?Z|V2z|?lsmCwD.`B!;aFeex7o6 &?_kL42w>,nCjͽKyZ7ڵ6l2~'8#Fwꩧ KKKKN;4ǹvO|07ƚ';(++3wFNoBؿy睸D;wwo&N[榺|UW{饗^#n>On466&YXO= o cݺu\I0!$B|{a߾};f͚/cǎEAA&O_WxW9%.]W_u,ҕ{6oe]VNNV@455kqy繶שS'UnqWj+qikjjSO=@dy$T0!ܹsqk… sE޽q1gmN26k9q'{mږ,YwXQUUֵk$D̿olٲMI'L?o|ҥdw}y3gΌk,m't9h.W;rv5TeU?H%! !B.]0{lСC]5 | ~_`׿Pθ0a„6m|רFTs̉ks{gv 6f,^ؓ.;mzk;W\q9~ .՜¸!믿FSSS( !!"bȐ!mϟqgˉI&ŵ9}?eeeاOOڴ guk[_~y܍pPncƵ]r%ɇ N:i {\dm~xΝ;GmڼSW_}'(((dG.]ڴ}Ǯlts83^w'z3}] xQYYmc˖-袋`̙eȐ!۷yV)q4Æ CQQtM>|8<$F+}qj---ꫯl2,_;wDUUܬeCbcu=7nlvgᤓNB^^jjj\)Sh2dVZduu5>S|Xr%JKKQYYb1x+ ؽ{7?!/!h"|ؼy3*++QUUZn]^}Ѯ3;wX,Ei;cFÇʒQ__ߦ3$ Gydj(--uzQG=p6//˗{w^6t ( fddxZ& %Kd,_۶mCUU*++7-Z l޼9.C#l/bmѥKbƌ6&OUf>LD!Wӧ_l6|_Kx$T0!IOOiN; ---Xl>s,ZK.իZyP[[^z)tӦF=ؾRuQ8pEG?Q}`سgO?<4vC= Q]ϑ73uIOOǘ1cJՅIޓK,~;̙3uuub0ٻw/`B!;<5kV\-߇.+^:&.ߟ̹n`C=Գ'4 ҥKqkp[ 4;A QCC.]ڦmرMȮ.J[ R/"oE٥|~'I%! !Y"# ,y+Գ/cԩBӼ6u3Cߎ9s`Æ m}D"=z4?pL8Gy$Fj2O?oU^/Z-f$xIzOanjj¯k}A!;Iyy9~ӟ݀Fq'Ļヒ+VhiiLvoH0|Q2~۬_^zi\qFF:,<zjFFs{E&&DA?q/ !ĞT!BƐ!CJ|8Y%##W\q ,Y.>S̟?6vŘ6m>vm&Z\o~_ǵ]|xG*NtDf]-mOlӖwk/$'B={ڴzx\۞>) 2-A6Joo mN>d<ݻ^v"'''w'hRD>|I!0BHҩS'\|qW?v_%&Ln 39 0p_/Ev֭ŋ۴~5kR.%5u_n3gN\?믿]~ !DyOM߿mSSS7|M1gW/Y^֭[\[{:WAUUUBUě%),KB0!fҤIqmbFpG@17u(>`\}xWP\\^xÇ{M7zߏk;]ٰaxGqm@jժDi7aa!:vB!c۶mm~_^Ӷ)N*Oݻwk=_re\L"zۨ[nq7O?[\ɼuvHϞ=6oޜHRfϿi6n܈6mk"|I!P&.0ں8~ sܮu-YYY8d7M1|}<8_~[yC=Եʯ<1a„%Kx腩TB|'OןBI_z%? h4'i=]b֬Yj㑝ݦ7@KKkwg}֦mĈ,ins1m777Ǖ\de7p{97f̘O?4Z7xӼ^{-mʔ) FӖd/> !o(BIi>裸!C$!`1bD\… ]٨ہ(#:문wk󼼼ܵh'$-rJ;vo_WBJyK?*ۉB?{ų>WH!~?v|ۦm׮]D~:'o#oG}4tx/_g俠 ړ-?E"?nV[[?Oc눼سg9{;^K|%Bϗ~ۄ7 !ʛo7bk SO=Ę1cJ̾ ls=3,Gv&[=\ WVVL'[nCSSݺ:{wW5kp%he5]?ς /%_js=Zs7mڄǞSBH0nܸp?a۶mZ^_ "֭.6m8s*|(G?Q\6Mphe3Έ-ucذabѝwk صkOGeeX,+"qΝ;i;wg{|p\W{C %\ҦgqKO6[ZZ[۵oؿq222pUWZRϗhFj{yZrB0!inns=#Gbʔ)x'wC˨̙31n8,_6m 8qW`6;|0`rMI&amھ L>ݶ\ڢEpQGѩS'x'^c}oਣw1)'''8S>hۯɿpw^Dxqa;U^B! 83۴cڴiP@덜\pAL[nm>cwq>sL:uͰ^?E"<3HKKk>{lxXnr 0uT|7mڻtu,a66m~ߴi3 7p9J7n܈4h}]޽{cԩm֭[N: 7oV^z5N>}_zz:rsscD"8ڴ}[P\\AwNysϡε?qݻq1ছnR "| nv :~{=H$+pm)ohhhm&@umWϗ~xW/K!EJB,X ,u]Aa5ju놮]"7o7|>HYj'? f̘1a„6⬳aN;  B$ݻ1|֕D"ڵb}PXXo.ᮻ¥^ڦ Apgcʔ)֭e;Xp! 7's6#x xp m~m :r |8."o~9眃1c ??eeeXz5̙~8; !0;K/d]f ƍO>wfܹ1>6^O>I&x{9s&=6+3w?xزe ~m,X`|p ڕD~뮻D͛QFaڴi8зo_`֭;w.6`G~a,]k:=PL6 DQQQVV-L6M1|pq:u*zzl߾>>67?yxg< [^zi@CᡇB޽QTTWJ?18[袋ڔX%\_߿? n{Zߧs)S{}MMMxGcÑG~ػw/vڅe˖aɒ%7'zSO=O>$bxg1cƠk׮(--ŷ~^{M*O0zkq&|y饗b̙mf͚Yf{޽{r_zvF5!$A!W\a1c Y+3f;p@y酻+.~];>z'7ƵϚ5KGD"ƣ>iy̘6mZqϛ7mf~]w9n_"ǐrm3-Z9>͜>Zk}'9a޽Ɓieddo1o<ǜaB2sL߇;8w2?sL#tcΜ9ƬY6nܨ{%?:~B~%|3 ø=۾袋X,;wzulٲŘ=$<}QWyC 0ԣs0eW>?яB +O>$233]ͻK1wܸe(W\qH{Naa!fϞO?=awy'^|EQFDž^pm^x?߁VѵkW1<n}%}uHKKíފ⨣̙3j*_.n%==wu6n܈;cƌq=33s }Ql߾ǏoxqG؎ܹ3 X^{ 믿}f̘a+~;VXΩL߾}駟'm8wVZ:* !pꪫ_?i\)K+8駟gi矏UVkEݕ:w뮻7wyXny7;ozz:NooqGGG'ٿZlذ<&M(&EQL<w6m7SN9~nn..,Yo}t_Xjnvi2d m+*FEO>_c=CN<<{7oC=;L릀 q뮻h"\?<Ő7+b0`ԩٳgǭ8_feeæM#`1bv)Ba !0 ۷oڵkeTVV H:uBAAz1cƠgϞ7ebXhVZ={5jLE ]6l@qq1҂tÇ<}'ʮ]_%%%hllD~~>u#F`ȑ_Evލ/;v޽{={bȑ7n\aЀ?[l]FѳgO3cǎWƢEg //Ø1c0bĈdG!BMM KlذeeeD"(**°a0qDW7~GW_aƍعs' @n0zhz衞,޽-Bqq1ك4tz”)S^$?FXhvލ={yyy(**1j(NJFvݻwor4qsG`ѢEعs'JKKw^dgg=z#0lذPAs|شiSܸm۶aѢEشijjjPTT޽{cҤI۷o;%!d0!B!B!+Bi0B!B!B!B: !B!B!B!@B!B!B!B: !B!B!B!@B!B!B!B: !B!B!B!@B!B!B!B: !B!B!B!1 HvB!B!B!BB!B!B!AL!B!B!B! B!B!B!AL!B!B!B! B!B!B!AL!B!B!B! B!B!B!AL!B!B!B! B!B!B!AL!B!B!B! B!B!B!AL!B!B!B! B!B!B!AL!B!B!B!d@!)O7jG&iCo58NJű2c11--m|jx}sʮMY96M?_gv]xLSQl;ۯC*";U8vvǪ*=U̇ūs~JOv !B!B:0 !DLS^Kz)!쳮E6+}09Jtkξ/~;NǠm aNdYL 0R~V}dEUP=Q$EXQMT9T-n,뼖2L7c`,#B!BOL!N0:ǽd:su'B{ME׫dDA'*AD&8 V_bhNum6d@G<4}e..iվrM2~zu>V!B!B !Dď~|NfoY:*۪6DHDt+7b["*Nt4Խ!KMKS IJ[̦*;X6+خ|5&bWM605ʲkUEYÉfVL`3DE`]B!B! ]*WL_~U㽎]RYߋpayZuʎN_'v}B>Ȫla;m6V"Y=Y#ةTZl`ٸ "PeD`Yg/ !B!B: !D$_q 'H]-n]DYvĬ J<; AۑٲaGoPtBo~u|f:rlM%`U1鈪ʲѦMf;V{Xf[E`1kv!B!47~Ln.B!L!*܊V-+ꈯn_]οo{} ;Sة/ѵd!nng/evDAX e"(RJD{* miŭ lWFZmMV5,fƙvdc)[.feꔃ&B!)).noƌM^B\1 E!d?g?&S毓Xk7.{xۋ $VJbkSٴk7yUTҙgwGduJ9ɶWܖ;B~u y'/an-Z>1ss_񆒴4 =!yk }40z43 !$šL!"3fM_/sx?_;1/7~eۉ1 /bbQٴeXS^n0q+뼏 s'17c]WVu|΍L"&/b19de%!R_6pwGg!_a hBqBA],:]DWq$8e 75y0N1$ݫ-lgCOo8^EBXUu$U%eXĵtuexxĒJl̖hoTeUk2l:S+G-b. -%u^7MYhBH0Fݼ9@n.L|BH*SR< PV+MK.i-M!$`0!\r{NjcUjL8Wxq]̖W~} gih|>d&K8Rn5#8lB;e}hK8}͚b@MMkDj] g]S6hU`K>!Ä-D#Qd =*-z /L)BH `BQ/[Ǻu۞=!k'm|Yخ]eɏZ+mpEn3FКQl"fsTmVD^_k861#״#fW[ʲ|eLqnvew *[S..13 LH!k`WEV[yyD]:@@Ϟ3!eueXS5(+Es"Kvt @ND[?y_hg:w6!L!"nW݅q8u]`'d%2VpK4Vugrn|8'6d§KU>ND3m;y>w*lCĭ®pecI0Y(D`+veeUqcE~a7ljj- Cq1ygGS}{W/`[لBHV _kv+0P^_r-[| jV[ pM!)`BQ_Ϻ¯N)g~d;ٓ=**5׭Z-?u Hn25RU4 *a-;e"\;' _S']7=8Y2;yekkSưL|6ms;e;`@O:7Buu33Ǭ[TTxkP^ xC!d_m kJ׸[Xc]~="jl0n\0 !0!8E B$؊㼖|Y.6'RaN@_AƲNٲd8rgn 'K6Nl\1.RNՖ(Y竄9ybgY6ܩ$lG?B[;Tw) m}-u3Ue=lMN~!&ͭe+HO+X1%q{B:< xg;lLNIQ6^?? l):O>ƎM a%%hliDZ$ yyi !DM8^+ïNZlu_+vB]2{Af&*Na ,agΎ~71"sUȄKYJ%fɪYvNseOYf8OGx ~,{RQ<[ٕf qRԺ%ne*!uv0ZٜMM&z50r$Щv !t8֚P`Kzḯvap"ΝK% m≘Ú5Xs TlAmSmܘh$q`1DtZ΄t(B J:) 苪n9 n9({. DE_d9s71V(v[NW'Y ^ۉx^J=dȧ,,H &NeYê58U"u[u2eY2>iii ;M%}kҚyL!4ǚw}MhBA/]J80 Kw-G?BE1#5f7>)FL!@u !d?!qsګW&8K$7QE sQꈿ:}XuO3룽u[tDm[7sTq1ŧkצ7eN9W}_ٚĪ^sgAХFkƯIII뚽Aؚ%E!HXc v,-O&DK_m (qCE}?_+/|_ΒWBLs"?ٺ?G>eT0E_vvsbl9lKMuQ}8[kwNv稠UuKJ2{VTeu#XٕqvZĪ{md˲Ay&_sGlq1л7/B!톒,/^.YvD!}N;w~ERU <ҀWU;a?B4TG% EB+'EnJ>QY[)*Ȳwc܎9e~t2e6d*)C5,^_#+~gZymedYcjC5Wc7GGgO] X;y ;;e²3BeYh&g+3 xX/ _YYl ٵ+?B ˋ@+w? NL|$()Ƭe,ؾse&0!ފC!"d^:Mla׮,t{YI\tD_q^uݻ? 2vn'.UvuZOWʖUef&:.Y=x fVluu3xMqXX+X]& 5YO$cn{wx>l^R^|ucǎ֛rrC %!D:l(tl엏[|lîA҈ڦZm/ؾ{cB & `Bo72!q*QIՍO\6-{NTU Z$="]^Ŗ*޸pve8K AVZ\yNUBxY VD{nP) mZl'Z^3fq,>oAꄴ_5sJUUx>cLΝI?oO> |%/8|꫁q‹3» jC`7|Һ쿳 -BH{gcBQa':GosTLoabz}mS!Ci';2~۫+M :tV zi/Eqj[vٙbxUF ѶHN*U5_G։COwt+Bt QSrZ5kPTHv!^1ddg4I \vnok}v0s&зo!BvO|LHKIlU _m*P - n.?@B0!x-kן*~e;f&pߠJ=!z3vsUmvbЛ@ۑ]ni/^^#p. y\?2ݎ ebDB2<6T%edeeY޲121)6vlڑ!\!I27D@<5f0w\P}w k0sujq?ՕO ?-|~_ >q[ 0kFcK#[DH4z)ȳEk÷ ŗv, !x;!vj좸SIgُV"r{YN *zqnצh$x9)]9U1VeKl[cך)fl2qUEv)# m`.V_L`~ŪO7 vY„G$zhng;q%OnFCKͱf;mC¯E̕L̳Sq_7 Ep*+'Rbydӎ]Ln7sJJ+lsD~ _q]`ԳuuUbюhgOb'+ ]|qgpߏ nbv0+ÁC ~ kFECj˾0eW5V!;=:#3-3HFZ4 k4S{^A"Z=5{s !^%0Ff(]veeOvʊelb*vց%~veevz-mZY767ep[8H[J=U4!/.YO<3M5]x:vV.38Me%0PX]ջ_] ,M!?3?t5>>:s6``WP}Bë݅~xbw1nEq溍2cdvTqj/YWNquMR84ֺ>X:vı*Uِel%n츒2{IeC>[#Xe_2 yX\*ފys9NFӺvk vdqdv: !h Wvv߼/^k +-H;vWSJ5n h xeˀ G`P^_W- S')zIǦ{nPT7!чxp`ܸWT7U3TB+#bn_պ:t>Sa_٪:YP+8kƯJLU Cl_ѶjŹlIbDŽS |\;!V~lZ:NWٴ`//>use"Ֆ]&[L@vvlzzkgQP?+(ko]Ɩ/'.ٴ xp|=a(+"0y=B׽>q#99g37 $bpB *B!*\8*9 VdYƩ.ebhN|t~~eP1#V l'"'2N.VٹJFE`UjwL`U^։"qDem{^3XVwlxcXsIɽhj4kxe…JUUmO5iliDy}vˀ߰MU.ŗx;2 i?';BI9tn3eh[:i*&s1N~Y)׍=)N8y\y^Ǥ" C{:516c1~Ktxq`=_:37}b_4ClH|sX_ :jߴ:FsM{ۣ֘b,iAB=k64o;//ZTԚƺzi  8VvTܵsqƁg<9\!҈6"7=99 iV4 +KV:bfzߍ[eW2`D#hDiB늭#_Q&ەI]j[>v !; !$ht$,*;lt3tEUxY "XcO6NoJUŤ?H7tT*%2h=7ȄJQL 2ii9Y\vd1;ٓm~Ŕv©,SE['_nbt3Š"p^^,^^?_2zn^_m,X,Z6pij&\K0Oa. ݲ2Nh_H .],Q߄Q_/֠\kvm#:Vobe=V9 YUB#Gӧ:y4@OA|;ϋlf ! n\);M̏]L7k6W6N7W̳j[D&%&[4ubNQ)k7F7#ha+}bF4nu|UT1ʲeK6*Xg lWeʲxMQ~ qbmvZ&@ HUNKj,6DuJK򀄣L팩/~L oL֮ &ݎo _H441&1#ڦZg:M;cB X=4{;qK¯Kss F~wG`z}CG5Su'@Bt Znuo%2b݈an};j_L{rsda'd[mk,`_NdU Xq̸M[b6* Y&[J •2beUflqM`'Xj[Ӻ I$degV9+UHvxC}{WE4 n/@[Xsjºuux~gT7V0{{7cwֆIo-!KC{C1[hDNݺ֭m@]23}[CO?}#kC7PB0!VōOg_"2ju[Vז0< $^[񳜮 ݲVkju]:C 2_VٮhjKs~\+nE`\em+)D@~~빥hl_.JZZLw砌 `(` 1֋SVǷ VL3` @]s@h59֌(/ĉF8qȉx{(+W`W,MԂ[ S0XtRkad~JoO$`rxs͛*, !?BH_el$s"8X9VRY"xS(TvؽvkؕVJDؕPV esNYhg,>1c:ߏx+RV2U7"k N6A!B5tss[--JTfeԺpEEbfgC)irWZLx6Ś` \a0l:Tl=&8Oϴ |4#`wqY99"2X|sEZM񄐤w!Ď/Y:b@l.k ^:NTo$"/ 4NGα#UX̝bw3凇[ #h;~n}v$zݸݞ{܌αe=6TDZ!{NĿlLPko!K4ښ##ß 33#U޽[Kt)HZi^M*Æa2fLB%4  S5(+Cs9H{${f@lGcx{c鮥xrѓX^FБLY]cB&[! NU n2{vzݮSY]eUnef[ǩb[Q7N"?4=nQe\PesI:ba>7k[,[X6ƋUecL`k֭L`La՚&d1&NY„(г'ЭgOz@rֵ6. 硇+$bF7EnX[[+4N( œBE5kTx!D۹wkk߿mp&* n;7#g<+)7B0!xxl\&_|U~bakEDk7FN"%Ucc/׍p%\$TǎU)7kەg UcU(|ZXJYUZFW6:Ɗ+cΰ՟8iX j]`Q6uUUM_u~d]C0!oҀ^Z @MM룹5}@c ]nvpHCBG$LDGI !D]W%dJ6tG\*Cѭ`EDƯ*@1taʯ\:2` m*JIB̶,DIפ sE}so6I;`P#M&];78? .k']ӆݵG18\y8mi 0B]Ifk*ձ!!2qu2vUct={MsТon|ݼGt|vIh7@UԳ:ft@UXlu&,V7Y8̎::keꔃ6+$bnuiGD5!#8 <9sL~&FrK0Ӂ ^dNi4D#QČ~+lڻ +/ߋ6~S5Y֬ eUX7kuP\S̥!io2&m۰b vT@IM cFGSC"7#7aB|0!p#(銿]і(Hw'W7׭l*Ć0D2:e1*eū"ѲщJoܮզl}U~21)E5UyhB>9^,lcWFZՎl`kJB.f]#ZALbrк7M4!pHCpׯh:pO< |07,ƎZVWm܀h4.Y]пsdDƪPŌX;}}T`>H }{.jtk_c1~4GC!߹C! `B]YVqNSih'ُecݔsv+Zq[YW66L v%umaɖ1vN’Sn3ib=T8cj+YB ,6eZEWQ\Q3cTٰ#"ƫ2}Edvǘl!tP?~wbs o>f@lHO^y8Lík*1,ݹnJVIבLa`灘w"N| G&/3<x垕h5cюEeLz=+}N! "VP]|W eecD^4e|u[ogÏDD /eu|u{!5B㖽_TY{sܯlHՍݔWedX?Be bU,~'؜c"nvENMr|3>,e8'1B:xpʿNAeCO~n)^Emkhap\|)%gD3@467bGՎ@}@sKWc\q"I&=-5M5lD ڵ@EEw,`ࠃ}B`Bqk'ݖve!H5FGeu|?37 mʶ/8 NP &eUL^Ӈh&keUDe-*YN l ,mw΍*XnM`qcIlW byqKgao^_l:T<HQJ<0}:pe mz*0s&Я 3Ģ\1|s|kb/pcS&[KvX'JVᐞ Mo.龳zg[xv`lw*EbKI1c3>Z !{BEGefz헍Q"DSgL[Yvuu▍iO0}u^c;veY :B̾*CX'NYT vŌZmv*T+FƢ.L`sL` WE`B~Τ0o<\垄:h:nH붤Nh/>bYI/׋hh/" e>tVvDȄ\+21j*YeʊU}ela'fA 5m9h?P& :CtbiO7uV ]'O׫Z6ZC)8j*l_ц]f,[I4۲*AU&~tE`:>b 2X6ޭȫB\6BH'-\_WWyKv.AsY:kNW2\>rL%B`ڴև[g*]7m/d }):eu¶msCimi>I  lGu~ x@^K {W\AB0!ءkkd_¯Sx!^_%~M46-;2bWD&bcOVFZ'\,#7:´5&Dy- גbS6j]`xv9hӧXuAeBH cg`oNJXU HknW5;OLLZ݋^=0^c-[`>ܐ̴LՕ)FZ$ E9EN5͵$!㡸[4I68U5s>^z ܹL=!ߡL!b'@>fl*/8.QWY~x,W%Nx&n*m^{ۉȢ'D̘ɬꔄe6t _:[fgB }&0×hb 欞ڦZ4 /Wt]_;UT&! +-EJ=;? `B)W%:~;a.7o% ~u=huy22;vocG5 ,fLd Yƭl̯jN6SyhSe {ɮ5hak_5.[/e \Y&5nkrb9mLo!B օo{v5!'#'TaœBՕ3i曁+|1xb_=uq_ŗV6B:8&TnB;X*,;uxuڍ%r GՎṠx]bF a >3l~pU''v2{V;V29!Γ 9z#|UjSy$L`ٱ3O >!BlBYW  lڻ)Ta2hXhvG.#)BN^t>}$>m8ͽ[+=ķ߆B:8&^u(&3X7d~z:qٵyA\i]?/֬c9N5}YvL`1ֺ9:N|m2b&iCܞ02eyL`L_ _B!~o>+*BÊah1\n#AR,ˁ#W`i|wpO|xTwr^󺨢9MD5kG! "FRo+ -ƑjNeYYVT9H۲9'{;gve%dD3pցgaЊmC]]> !CBTD17ٻNk iI_ϲqiied|~m [ *׋HZ6WeC5׮]O|ڕx[ v ;QX#ceۤDi1q{N~e%~ϑ:KX'XѯL`xmU"=!d[c BHp˭)I㨁Go#fc=F^%H$<CzkDeC';;#@aN!spBBѢ]I_'T"UE7ǵgz|Fo,vS vsD_*laYh[G"'ts22vuujW5Vv qcڼt/vDѴO+s{Vq{%)ٱA!R8$T;TɠG^;XD hC `b$ECqաWAǡSV'y:1/tP6tҏB3&ҹ2!)3XY,(k}k6+Xf;UMD "׋8ֿ_vԲd(JʲoM> NFUM8r8bX_+6cgN݃D#QW~/.aEC½I0th> !CBtpx蔅V|}+hv:³lTq{*8hq̆=?npkC[*⪈LDue]u*在kZ˄`5MTq~vf **dU%U$~Xcm[M,myeD`B!(\8;͡vP :ϱj'*wstd bXau7@~mf"^!*){W7N;Uk6ٓͳl ꂿ_';v_=/WUFXVjW#/5U%M;2{2[4n/h+F82nYZ9S榬nsfPn?nΧbh1%#cBiD"&RڏNfJ*o{ ։Ok'aX]Wu] ZjS2bm{)+Q'3pUv~uikW:.:N,_c&fveUf>AdX3u9L_ѿNTBHAUo`w@;\de#UD"88(+Ƕm(-Ai])Z3bȈfKvt톞y=ѷS\6IqN?xp|{lr& `B]&7 n>E\/Uv*"~Av'UٶTn]qabKݺOŵεc`kE@xeb՞5;AOOMD&: :DDkL0VŒϺ>eM!ڮZS|AnWR!B@KUUh5#=E@HJµC4Nu s QS0g`$`}uV>!d?0!ɴ4=(^T2xuy*an]~u׈N4{Xwl5'D)9q*1κNjeȲxdزJmnӯl`<_2rbUQe k&~NkW2eSL_ U&<&x0 /_cCl܊Ɩ} < cJ)R8 #qynMmljD>{~cDuvB  baaRII fG>fnF.:. :7$SOcGg`B~ 3 !-qk7'_7ϩۧ3ލcC"1~D_]Ǯ,lͮ &bqgg7Wj͎5ǫ2jsdv嚭c~]*, eeٳv%U^UN5OVeʎ 9`o^<9,ݵ-['/qK%"HLYzvv-So!$sz57rs{K! `B13u3`ezu#WchVʮl{#Kʎ_|2}ڝ۞psB.>O43MӘDl؝;Tdfצ9$n]7vlĀug3 !W@UcU¶ 2 ~}|r< {1c f!$47<̛珽<ࡇ!8(BU"z7 DS7.HD~{5Ǹuc>xq6>7c:2:DZ:q: 8GYhj8Ʈ Npכt+Wm~ތӯGV/B}so6ӳq7Q&z|C]l8>=SʒτtdZZZAϚ45y3jpMF!$ "r饭E1N*ZMʸ۞2U¨UUne;;&sf׮T.;dO7XڿnDz*2s_pJ3d&*[eے*)ܮ7/;}V?vBH}t**}]YI0 .]U%l=UmCCsҢi C `p`5;';\BHXlOe^쳁40A!x0!X`fxZMYn3nRm[|ND "S\GqϝڝHQ7(9~( mW&ڭ5/!8UJB)$&Z*).v%*_0!5aEO`Ł{<~5WM!d`z`/R #FQyh` dg!;=HJ~CBqMz YW^]`.{OfL1ѽHw+γ]_lz:ϝڝ袯붺=͹y>a~lii}ZX7NJb9NcoVd$ >#?ǘsOSf?="vci>w%zׁVN ! ׭R`zv6~Pٷ+*ZjkP4Ǜi5 Ս(E)3Q]7B: !D2y@r3A}v[Si;hܔ4 :7kceݴٵ؟D^]1/' v:Ÿ9Y3NJ-/kQ/>;~`s(gKc/qD<ψ>e"i*LumjT`"A!:W!-s ;ޡL!dkW=mliDqM1*\1` Ս:!xWC!7DqMd}EY8Ϯl;8 ]O&!艿f ~sN8}`j3鈹ֱvytX2Cq<>q_+7me}Ns~q 'V<ٕE6ڍ+ċ9bhSvWH  =cXW._cލ"BR*l܊6 (+]^O!^L!"*NVվDj].SW'+Xe3g [ 쳓eWdԧį)W 2X?Nq]Njt ©,YB! vv}2N"5>3Fȱ{+T&\ЫyDDlj|ڽ"J?)#&m+]L0ϲq\NmH\)~|M"^8ZV?̱X{ީ:eŵeU%Ų9nPܗVduRѢ?*/nkbnЪrϲ>B~p3r7?B!$kCqI}s=A& BHBV/le⼓+Cw"U1z}UdcRE 5oJ=ڳ//vfwlxse~vebSQmCP=7q)SX5^D\ؑ*%BHa6Ul 潛a !ČX IuS5O!fBLin]H9,Dyb9lf[&XD uVez[ !5m g]s됛_B!$YՕ9={h7BH;0!!so7ыN3ed;ũM%|%ZQ ؗUv[v2W|%ŸUD&l:`g퓉nN_!i#?z| 2պ jStVMp6lEB+ZEpB!$Uh2p?1#*t/BP&v}MdDEdS!W6Nu_ѯ_ R]CMfvpPY:~VVNZ؉v\7Y>պl.p"LUe5ug lfJƩe6!-ь/!6UU0 I!P&ND5(6׫e~>I :׍,7a >ԉn; ">U+Д V/^Z%[`@$t"̟(̊´@,Mb2u6cp*MoLDAfB󙗑B40 =@F0?cchhi,!h@B"+"_En;AVȄ Y]/O;1. nS/L׉ 0d "NY²x2Xyvڗn2s}*-sOYmn,U7Mv77BkU\884_끊 ߕZ99@N.A aOGUC>)56,}vq0H4GHP&;C76xU,ٕj*laTu_9N}֘d~4&Ea~gEPX^g;qZ%~ZdujbSu{TɀS&*;Wf gvE!W% $;%_qX0{|B$Fk&ommbvZB 3ӟ`4ǚ ĞʆJ| 4Śl݃={/Чy6&R_P&'Mfp }*W9N˴] 2e}Ae"Ͳ}nZKv; vv%lU2aϮ_wb&(dsOTӱ$u"JtVtU-;7fLIizƨr}6} 0{[5)o]hjiBFZFNPVQ&DschI,ھx|g".{1:eu BB_(B N@5uJ?J-\Ml7GO& bCuxɢMTMD;7D_/v8pN?: c*!N|e_;S/Td>Yg+'¢_lj~d堭2wL(7eq"\u;dMdN+n !NvZ(O !ĆJG9֌n7+fGܘy}1h5g*ʀn݀t^J% IISaxW1gm-ڱ7#nB>DG(B=n[^sngeȝc]UҖ⾗_1Vp پv?b"v"L,ovsl,DV:VV׌Úk-vV.a'TbLvy^[YiiB~qԀO1TCmS-QTD@~f>3󑕞0S۲-<ߘ?ԖR}s{?njQ {po@%$Ɉf3=JI#xu嫘&qפ|n?v]Bg"k&BH[=}&Ue:e"n&ʗ,fs]Tz^3uJA; :p_bQXu!EG ;Og^7%ٵ;{|aݞotan*!*>7ؽݜoÜΓb_ ~NJsWc tHjkp;QRW9]q߱!/3w$47W۷@v60h0xAkjz'lدo#Ң @w={oVlץyv1XtE.$mjWxrѓ[{2¿`B1`bؗ f@G;"Mĭe03~f&|Ubo"~UcdttKq~^npeq8mDq J)Bډ> ,,Gʵ;*lPW?S'C>)քft .=߳RkjZ?Khg7E]`y鹘u,9mQZ-9ι$q*+p7:0??@BDNs݋Ad=@dO*n7%~͚siSnE_U%܊NRX:ytaAׯ DE`@?u:79>?T@\lyh}f( cW.cO힄muoG^glK QTWo~dg,וcMٚ" /fKPRҚ-ίOM1j7de__&!r՗+-$2sL|@}DDN}CHG0!LKƓ#C&y-j*}=esdbmo*^]hg8Qs* w6{{uaf'"ttݖ~vS:_l0n[o1B Ǜ>lG㼃CnF'W7{q!Oc8-)ƚ50e܌\`deb]5oކisCM 1_NY?8AX36W$p҄44)ք;"ңH@fZ&zFQnaו-Nv4\<ґ V"!s.ꄓ"!TYjNX杖ʐ n27e∓kT",&qYmX~.>6lX;ٓ=W9ȱ;g[ZIh{^p٭>dvtE0D^3}h-S'aYB\2|s "~{pq7qR(o)$&7G 2.] !x9}tm7455Ō~3@_l`^ ! 2 \3 uMu(-=lD]sc͈1ČZ44eueXW[+"[@]d B6BR,;Y:6L7Ӗ*J*3 PkS|[*b$"dhؕtN$CX]n,5TvD;CZH,V1N>/v8j,Vnii}Ǣخg/k7礥1m}"ut{~ii췴ۭ6"s>cjӺdq_K}ooYB ##Q\S` شw~(eYSA0dĈ̚\w끟NnliPT1@, oŁxx}>rz~itڦZmq9֌ 44ҀMz GaNpGj}'擐`BQ:]ܶ]M;!YnS/?>srnDd=W+yn'`wnf@&` 2jO}%LdJbN7`' V*BZۭnoSHM>St7M&ʐ MQ)_ơ)U'B8}CstD#N|;^-bV68 :Mb'dB0/fZX >W%ۉ;qI 2K&gEZ .Wknq:N !Dh$?Q_\~Mnx}5**d(.=_cuP\//^b|#$Cn(+QkCy}o>wT@KÊ9o֬i]V3S'``p`sdGꚭ[n ! ""ܔ~wMg(+vj`1&1f;O;ԩSIfu}FM`ю*1YܬS9\{VHE9E8!gN|"vX@3lHOB: !D*W&4ى]v%_kc,2Lun9Fk3۝$odS3+X6W5ϩ/~EٟLZ1CX&zk$՞kŹ5~~ ^q|KK*zĺn[Y&̌^Uxl_h,[f@,[خ<8!b2gyJ_XXaQ5h22bwkBu|g_Ivz6uꇊeh1ׁ֔jtZ6p}s=[f.{VHl(߀;㙥 ~4G8sęgq !DD&Ȅ?3ᜲ]M_m ͹ K3 x{d'8miFO# ! A\DV]+S*2|1$Ie'ꬭ+Ķ*QXfNٱm]cH%}qYeD"j{ և9FHKk;_eΖ*PQj7V'{dTt-V=>5y.hii޷;GvLslا紭Xڊ8e[}UD?KL-B!2:\K&\@R|&}9c% @B:8ŵ0GBYk7M[o6la~oqsǸT7V9# `BQaEtYf]'ixAɞ*é_ __ѶhGMm~ Nnu:dO+Αi%l-ʯ]Ưl *Α38,sgW".XD3 cM!mmFۊxNf4_>ZWr~>0~T%&g&Yn)hYiub0!bR] ]e˸vbD@NP[$ JJ_B5šjBmSmp۶uuYO='߿Zm֖wAoch|{BhOYF`+l7QtsRU-&F/1!p˄X5UQq \jKp-U,sqD[:bfq_s8F֧KY6~1ɮ,CX OE7ؽƈ7 ɎT=}>BI>%%,Ood0K{Fvzv> i/4ǚCFPPX x}kºu?|__ظw/vtߋ0! `BFwb)fe[M;NU npSYdS̆mOlTNY,pko7F5Nll*)J.yf9_U8UƯ,)Yi,Unmm `sL`vYj]aӆ}%[K+L`Z1CW%l_khGC5&dž,B$Ő "E2|&t ?j)<1=DŽ拐FMcx1|vEosؒw̻ÇZV 2iFRfdBR B,²LۜD[QPseNB%눿yNm%eUQY cMWMćJ"(mzL;zu(ZX[}>s7mC;!X&J۵p* -NN)g<TbчjuLSO-mܣB=4NWx6r֒v9 9] /|`gB!:* gz4iYYH(,CN e4CGH{#f=n,ܹ xsf7>Ӗue밧fvb/`0BDd  _ %qLt ;1x(H毛l^b)hӯ]j;tJ@$.~s8m8:OK Yvn@vTcduup* 5.X9NUZ]&mmRK&_plpkDʎSj=x+}{B?FC"<ơsVgDp>duAd1}; QBל!P >Ww@m-%3}  X}Nr"22}^nn' 2ċbu(کDa;*,C>b8*VvRUJյ-5Ǩ$m2E;>C۹>1fUƯhG+#ږ6vbݹ:vp{n{ٕk3{[Zٝ3c6XsIXꜻu/7qǹeYBt2%tiPثWhRt\?D#Q\:Rm؋J g$֬ߦ[y-hG>Ԗj|44jwbjfBa~V]]kJVs[qb*ji9l}!ۗ*ƫOeXU|`6*f̞*մkR l㔕kQUmۦj.X_׺h4L`1C)gqZxlo`1^z&{WmӄB:>?9?+/>'JjKw.Y]L?.{60|!q Du q ܲ:>nj4uU֕bަy:`*r3g*;X8dҢ ^!0!hg,D@^.v_ω^DĹNz)l'yem:#xbR͕͑#62N#2AVc ub5;Wu`kl; v³վ(«UΑ q*#?Q6A'r-Btwyό Cc,YOtW,:%zOYt >O39k(, UyřU"m;-)ʸ;pβsp {jkro_**JJXQEwE[Ӵ͔Nl(O[6^QW)49~`4C$ 7sd[}ye~ϕe[70Li銧pj&m\ԓ}t %į9<-l{r_M"+?SX8h`뗧yz)QD( acnÎ 7m:VEQM7<|/|![e45>SYKJ]<_YhoC|s A+~qo54xyn í('.tcs##{>.OM}/mvZE_7u 랟yF*TEC3㈿6KptQJGb$uƙTo6ATڬ۬KX)OXI۹-"v+59{v6*@mڒ.fkYbimcF{e:E\וfm&9OKLu>ۄa۱"G5( 牽bk/^G=jksK.ZMÛTuPE}o }?~}9I;rbxٯơڪ*((抭v[QN6mĝ{D-H/:Ϻu]w7S`ʦ/Y`ggYm*F2TE "8$(lK3("It"6WgS%LVm/_ĕel[~DaY/cg[7 ͺ$8%2$%~B.KAٵ&r!%iP0L"NFM!iIؕ-4rʓ˷k$\G=mtKykoS~>qF+E$sEQdJ?~W gC+xӱ*l` G4EӆO/{?~Ï8< ߇r_8cزt .[{;aN(|' #RG?VHnuxh8|868|fKc[q;MEQ EQ%T%ԃrL϶4J”U+a"r(li_Lm¯ie✟I˶o_%<䡞e.7,qᔋyIN$ВKu~X_P&Zu6ygZyMiqa%xJpp肮K8SCA+(i|9p?^ E?oxCiI~6EbBbV" PUf v g<㕩Y5L'P|Gg:t/cەHw >\zmp^_ez) JL ! ]Xӿ&EIEQ$>pvMb˕)GqpD0lY73;2v}eӺf_U ;W([ Ko5og:x_) sT).v6^&r篬G -&\רN`ShrR_e׍ZKt~D&/m~n_YmoL.`EQE #W ԧ/|8r$o&w}I-&*8^:8A<|uƣTk9*RpVr121y9{{ { c<Æ a=I͝W]U_NNli-K؋B ۏGvXXlNeAk(E/Lgբ:aQhFq_ymu6O4 ( )UK84q(6UValޒ[ņ w&سT-'l,q|Qq @@zQ;CS^M}lj?kg~6~6ݦ(( |9e8_[K&$P(fҢ:]Roc PKyn$ "')qW Xը/k맙8N~TMTT?~T0/EQeARUp`@me=2mSi c{Dy9lތDk728^:j0oBu,-A/Eڹ6Տ0Μ➧ 拹"~3H$(%a!smp!ʟ5=4p6a.Bm]) B۹UT֮=0eur'} =xoirJfΥJy|Mu:e=mLyŦy{V=gOi+%jFm lIEQEQy9x2kX̞ɉ@}='rA$* y9t; ҥ>V7駓/}ÿXy,Xѷmy,shCW7^kJ4 urSA.K-TVqi )/Ϸ0 *+(#בi{|1R'R\+cǑկd`˿>`Ŋ97vsxz,!/.V۷&k_vJ4:EQZ!haKno +069.fIIaiQ yyߢ:|tę3y[Yqö|yb7co+I+6'.m.]6]n`[x=XnP0JilN G-]|ߣ^Or9qae9x|27S((*txx&m Gw4?4qK&?vxpesgwwp9E/9~}KMoَlNKuQj}@wƱ1ᬛe(J蕨("09̭jUvvI#Z:uLe]M=SZ]"K`rRiQ@m26& aI;n2<4!hIcKupr}B(e:iSYW}RҺǻBA"J\BEVXQEQG&}lKM*K@94vkLa9np.bn_rT6Wh]2oUhtP͔,鼬Lye,BAs&A_P}s|`z@E`EQEQWñ}>VWedr$'0}t7yܷ>9jTl<,Yi*j)~طn ꒢(PXQxM mHڳl k&]<KAY:d8hIUDȍf{Y$D(nTW߹&dD;.(a}y KZsǀ 8hMp't膥I/"4}y|EQEɐBJR*}(4B$2msM{S)|o{<4/ś}pJi2mo?(ab~ ``ɒ:( +%ܿK(l)Vw.&5k;maFu6-}ۜҽ+y)lK 67;W\o鐔q&֔Ǵ6g)mLnS9a"p'nWYrM.\×s4mwJ(0l+_.˦((JD<` ON=[Eo7Tu ۿGK㩷?{v;o;oiçW|8/.\y"6GpN-O \yezRʼn (b{ &"z aߨmsJו$_#V-|,?Y.ʾBGmiiъ۪@#Yw+B]k{sIѩٷ59a~a`h()yEQ @ X浉’4€JtJ &L}mFD)ڰs:l.]i<ܗ\A/D=n<ܲi՛T%{霐E [!M}pai\l(j A|TV37gE!Ɖbt(,XQD96Q\YUzyZEVMicj"yKۥi`ir?9|LV6'p79q9i%&HG10SH񗧛%:&aɅkv.ǰL}}J&)ѷUqصR$=&$ڄb)Q(}V-5H2&8*aªIeY)Rw~-̈́NK^S70E ((ЕBW rr\5y/Bbd.ĸ4ڼkǾxpͽ5M:lx]}PEQEQp0MJkQ}%Z_wx/ pRbE(s (.XrBJPkm"f m맍8j.wrJ)ٜq_N񗐎] rqa`vԮIoafrG&$M$~#tt+/sfQDCMB V{6SIHvپMcW )D}iR/ߖ:^a R)i(b/0;4lO^((##]T}X~c}t7CL":g1t-A/\+'NΑۗha<|aA/-cbz7|6v=VSGqt(E[mK`dN&Ic_* g:}ZNKᔠ-] 'ZW%:*+؈'EݨD^Sb[&ǮL"ؖK4a;6%I@x8q6۾&%~]MoT'p.`*ݩ&kR w'8۱+dܽ+6 Q?GYf_ (2gN}ɑ'1Q@/`Y2l]WkOEO\zksz?^ /Hg1{l/n~&+M1U#O`I,]W X;C]CM!]FWY"I<+N]~.>q'MxMt5y3z=4iEQ`\nL9o(' ?Li, }Gu8*Mm.7)5 6o\8\б&hf>/x^뷉s&5*&LYg՛ץrLcessD$.qM L\sxj]iq9m//1.Q(]1y/80T-3]<_itsDZ <1|& ^& !ݴ=3¸mQE`)n.ZQz.+ydc9\6 67QgEQ%Jcg,JRh>y\r%ȋ>C3詢(>!`߾~ۈC'~K0;vݍ$r~X?&徽LZ&Z 8dT%6(J;J8"[fHR\&L™kj$腵OQCmyL?layY.pu[}<o%WEm7 MniV^܍rGK^F~c_ά>,÷to(x%8s$^Sz.}TqSy>ȴ¨rO?ƴnk{6`?OAAz{9`룢( W'&P1G_rmo|)UK3:5'FH8{gz&m7ێYڵ͕^9QWQ+DE:LL鶰QKv͊ YO7߉ggق|u^OiMH 5isEq-Ǵo8ƗIa5i!JBIقǁmk곥˺ɵZc(3u]6 M-+*}LSxyyl5FBD=n(JS>;#pp 񚭯InEQ"rM;k-cK| āap~LQ_ض 8~hpYg[Mۉ.ˀÇGҥ}ZEIEQ\o&XCisCrQCv.Wr((]cc:9y~>ys) o0})m/q0~P8N( ߸iMqt(>SW~*vE1kp =,&#* ̴cJo|1~§tuÅ+/L޶! Q_"uQXjA 2==9?3\.׆(( O:8mpDaVڗͺqCz.4W.SWɁjgۗI\m͛7ʷa[mm ,5Lr'%179M›t˰Ų<1|mi^~Kg8V+Tter Ѽ^kXmsdߛ=LM&tNE|A#f_p <&g .sdHo.U VEI_3iG_>/gi&)r۳mTz X:v'#@s?ӆO˴(CVƿoc\}ՉV|s]=|:G?[* &+(sЙD/++2/QXQ%.aoܦD؜ayL®)d.-}$rQA:}mnXY)_Xgۗ$_$R("ob0Ц~ʹ_8h))BD[h'AP lK3AIl4 |{TZɯ/jןI¢ yQΑ(B'!wۘB ms ǽߘ<~&aהw|Š(Jb2ydA>u?duw_xJmw ~v?; ?-{{Qxcc6)(6M7M0RP|dy}.%YF5m54Sٸ.b7f;ơL"gfk븸K$$yin[&+=mm" lm}R{焹Zu^}2;Vw+L26ۖ(Dq*+J=}ǎe&d"\߂]ླྀu׭xo^7X޻<ޚK?ܯz>{~::Pz1[oEq|j=^BEר(b$ޠw4^g!0l$iН6g;Eo Whg.]ߨ\{`YO%ҲFc^.׿r(i=.rMJn ,0 {Bݿз60#漌z>ef1V<3q^M-T4,`)%nr^{We\"t 1I̎\+,mK3U4VEI{ݛi{Z9U\DUIRDkpLnz|W{݋9\u8^:n?9W*7ex8rx{=oOM߹+Roj _Ot|?1a@*S,*.;EQXQeQ_k&i͛MsiG$I xl/OB:asFĥmi戶6y}Q„3Ö7#tQlP)qXEǸ"oH'I s20ei;9I/_Mfױ*R(^B8e;\{EQN"<`퍗DZ}t;6m̴]EYtt,6wef#x|qܷ>9j\Wegcy!l̇>ߟ\}-UyQ8Ϣqt x(bE`EQ8DzDߓE6kz'$st.0; 4/Cs ~AYtJUqVK!Ls9~6eLb>˲qp -CuyLu6Y\lat >WEQd]Qeݺ&ЍBc9`\]76WG=T،:󝉶(A`EQQzEg\"rXz}pEEEܿQ\Dd^)E\S^ZuI1o#\pzT\(O3M|ou }QӴnKsa3) >L-?*suj2vh$ɹbMg"i\\nO?&®i˦kk1p.Y\|L7Ku6+F[9V:}EQ2؃C2m؛i{ٰ!ۗ/iځxՕ²e$o&SWTwz01sE ( EQ0qDžA5ח4&$Ěܡ)kWSݦcy~" .Zc״Cڶ4>=l(Ow~M]:^\W6+/6QشlKi=,] q3c[-C?K&wu/rCEsPhQ0PoZs6#uSdy. S+Yy{q|ߣы%zZQEIӆO#;3k/~p}f){~M{{^6p327/ތb7%{|K%}̚^t~wc2sZQW?EQ` $&26]]pv.EMBqUm^.6{|m\e~Xj鸑(0&8ɏm[ZCpOÏڮS_Tw'S\nWblڮ}l^^_;|i#vx nǁ1YDeA`EQR2Xt굵,6Ǯ)-Tm"MxrgQݿ\" /iL]7l vNaއ(k_wXmt\a_&!G*wpr/w}%xY~M{^N@cIvw>ȼ4m.`t^9MeyW \mrȶ4Ԟ($3O}&p{v]|5(J-[3z(vX(6bpɩ~ 1`~csH2;/So}3jA 9O]犲EQ$R<ܵ XlZ#ʷ񵉵2 ns6I|pqvx$\nU"/a^]b/ rryfZڞԇhK3mO^}ǃ>c`:^(r]G9^Q vI"O:uq*'AlhؽQ;)]n^?~zmOzʔӊ(J\r%X;6^( 󀷽 H+_oEpѪRiRl]5oJ%z"y*!9E9'!(umfDᤰLsڐaH]yd+lT\mrRlBѺ5wk8y`S^Sg)$HDQM~MB S=q>:M>ڐB0}\~L® &D`&t[.a1V_1mQ&vf¦ xDvUUEi|Ǜys&m]"lY%E1t)7Sw@N-e>|zu/߶V#&Du w}* Њ(6LsJ/E]S I! z/AY&懕,2\ElnfC?(g_@Ԍa1*2$m-[9񃂄IZf/flZK؎M˶4ۋ >WMi ](4BR:BDW*~R}(r߲еgtkR/N(hٯfWr\c'-)3'i?q琩8s]BdžӰ4W (o<{;L?OS_Qv2kI?鏭8j_ov \]S`q/Bsgi .8kMymמ>~6lmI}u˰a8, vڢ>((S?\ߪ*J3_lE8Jqɩ9k_hMC/yO8:% =-6Ei("L CRNQҥ+Hhre(ª+Di>_rmQ59]V.vLLB- C'aedZ3ӹy*soײiVHg3D>(OmA#l/gQ\&]Qj:ΦQ>f o'Zer~~>Sl*/0asca lW2eWg. ˷} Qb+or%L.IQL.Wu$Ӻ+7+;b,OkyY>1 r.`5/V*o{@…eS:(J*x}byr|Ő8\2z(Jr3Y<uGSOzz5kkOk؃WWZPSy?t;溛J>|בD(# ( /i( ^ƲtyBJ(ΖQ: @&ݿ.)̑(E`7'1- i|~6 Kˀ9_϶~G!L sy&еh54`Zm|:f4ykJ?l~\q곝tGv])@qv.eq>?$-kTv%6o4[N?hVEQbswxC{W+n-w2SX㥳`` EQ!y&'+?: WU(bCyiv5UR s&ZWV(&ao:/e,rL;GB.FTֵl$솉./K.ؕ >~lݎ$<,9e[{<))"V8P}7pig#(#o~3p]w/ٙKu: ](J(JTIqO rJQ1 ȦzliqT]:j'0)bٯVMua"IإeܿIv-mir[&}P,$`F/|]Eer[̟,t\86a'ʅ^°i aPMbK 1L^ɷĿX6NpN% |?6/K) Ilcas& 8yf;V}?m,6tڠc` -]5d((sǎuzV=,(mqܽn?Z݅nlތ V^ N+W<7{+\Bt=9(J(D> kW֔'E(e3~x͸}ű٬X';weg sӺt<|[\ ke]a}ma7,3Q`ZveM>pϴLNr(\txhg@ a`owJyLj+w䐥}1OBA|~a\ͺMyty{+p&9~\$]?J3峽((Jz)jAQ8zPE P4aN0A$nrќauG6L=ƶ <HvܗC/>o}FĴaBiiam+(Z]MoWxyop8oLsO>WKknyjeϐ?PH? e*2Њ(.(f$$ Ѓz׼KR(N_TtKDI 25r]ax{Kyeh=4f\˦o8,6V/'o2:/uT(ԏ) ir\`fh.Xy4>g?(PS~91O#(3> >˗D\: ~,#:<1MPhӱt!$ܾ⌿((#1PGOOEQfpt(ҕe--׵n\+W}W]y,þ}"?B%UlDm]K2-1M|Dn7ay׹,=a [gIؽ"Oek[7'Y#((Jٴ^S%*Sxٵ/KD%* ^ۏ~;:ۅ31cЊ<_yA"[`ײN3RAZZQ (+wㅅN _IT4 ijP~ˇ܉+öale+asrM{)l/_0QY: 9LiF˼6$eb@$︮P4] Z _rka^ej/o:PM7!}yLaSgYV3o}ÿ>4 _ܩ^r|ڥg3W^&qIӤ L'((gpx6m; \M{y߇vܔxՠx`բU?WLhǏ*{xQ go< |ej}EQN^5yEQN\fna\^QfH⁾I`m6Զ$^[_E.ͩi 8jo7[fm0M|m/.q+l[YsFM#-O "|Äa+]®:Խ]džV1ͥ8.㊢($'w{@cM#SGpFp_UyaC[{73#^SW|'_7ި⯢(F(b$ kr\ʲ&G0hln_YMTga wr;y0 =Q 'Džx\>p4^k]"iZLc5f:Hܶߔ.'G8痧0x>.\~H.l.Q#KRnu4Nriȹ|M`9pXMuB8q5k$Ŋ(С=EYF-Holz\TɊSOŧ\IK|=[+~jў\eye|xU6Ln\=/..k~M}4-$r((J[Q##ٶ92y2M늢(=r+V/4* 3GGvf^Og @VAYEQ(ɝ5s8L[qyd^:&J1YGg_G)R>.9\2Ԟ.4*Qܒ͊I-Mb|x_~7jI:i6f\w5((͑Gs,Ž#;2m=wTp_G>OmzLIގ\>vǰw9Lw:vىjP39-Kuᬥg%EQ*+HZ}K-hE(EԌY&|r6և8I+sɕ&q0}xW2߇(DuFf;qabI߯E7pJw)9I||V/Z69sqoKefg+Pl:^ {OEQn`|<6{zNxV}˼{ݛyi~p=>sg \__cǾ1n};n};Ŗ%[𺭯K6D V> QECaiQ|KQ%ʺ\$]iVi&1J|r.JWmƶK\i|C;s'x) J=>.A& C |b|=O߃_ʯG&8?߾{i/?9EQ$+WRA6vm$D\{Xַ(\R\o ›Mq >M&E%7fW.TS0_:;mxHN^ʔiH侚Bɲ|fRBKv5C7Sa)~iYWsLi_b圽^o7/υ~*oғ6.a((J_}w6/j>n](fQǢ˼ͬtͥtͥx#C`ߑM8s|8{+mz8@"+]}>~qKSQF`EQf# Q~XL )F z2lkq19]GM\79~X antP٪G؍# 4n[$5׷\QTgLnZn}MIXV!鼓IGהkܤd7۸PL5+\ ڜi\n]Q(㪢(dCWz5cGm^]oOQ8kYuۜ+6oZP(J ~ &ML%* s{W} h݊*+փV srL`Y0"0&^[}y>5{\Q`R|#`)}#8&m4Srمtox*M"/q-NVk/1u3UFY~_r| y*)$Dž;]krOdm\홎ETҴ|qt:yXnVZS*+(ȡC?6mN?Xh{vJ].HQ˱o:Tfm^–/㮽wÏቑ'pp * ~czlڄWB{H{>ۿWq[Si{:?  B*m(("0S:-C | ze.\"-m\ mjS #Qh´6 ,r0e~x~[]º )3o2,vyCx?qK a*keI &]cɅ^k{ы r8LKɅb!0Iu.ƹLB1{.Ƃ]qaǛ!P۬P۴.~ڒ&.03ʹ<*(\qo};Yg~5U"=gQ%u}Ϭ}^eۃl~ǘL?>w9k+O+zW4n;c{?TQeniu}EQ|moMD͗!)_ôqZ[q$,ڐn)ɶ>p~ xKqs&-ҥԽti~EQ2m-^81vj=5?~ULT&ǿ|=D֞/1c~}GZJEQu+4K}ӃܿԌ㗻lqe&H/k*0UKܑKN_Vgz2i-͵jl4n6.}Gzy/\ϏwRZ6ټ,wʱ9HeMINSJNa9My=L%&#L}7V)WJt2w8؜&C6y>aP9S$\2KQEQ ;w{@s7օJ{e?ppr՗%3.9ܻz3(ֿckr/ElKދJR?Lv9x/UfdbZ9zÿ#ԗ ##mά-EQG(aLGM#x-]<$qjVp-oBJhlF|\Z {K0LM)D({M`r|磶ۮ$BJe )SPKوz|\T Lyx6X:iLtܨ&U>n&qmsLNiI#*j(o6p$A1a._ \,>mp3J\pqԥ( qLV'r~}>s4/\z:B7eߋb:!=7ѾRTi/35v/QDbۢ~( lr,SY+8sQ 4[_E۾2&qr LC2)xon;R6uSXhazh.BF+(\Q.'ɊĮ]>PK{pi)ԅmۀr]]M]]SQ!S)lݎ=`dr,zXܽcq⦅^Qn۳Ɔ /;H/ʃ_k63mQ7Xeކo?nzp)cT cϱ=("a7UlpjXf1_iG_W6-lMHn_pǯtrG)r>X]S )d\`kZ&APhcLΩEa%ǭ\4s;//X^MZP:Yj;a4s[\-gަ(٠(J$X%uQ9k]NQ\΅cҁmsR^.ʐ ҹE$ܿ~C` SUOw[__v\}Sww܌WL3wyjsXֻ,EEQ]jxy()$qD_.:`36NkS] FhZ!"R^R{yG{&q8 )_ <3 \ؕi\lrB@>}JG>6tlhFj` MT=Xl)co9%fkt3^ꗜ;;m"I(}kZ5 E\]tM~R\Ǭ1X .$1 ivE I^EaEQ%K>mV?GFP̮MEq[qt.?݅ȡGZ#z4$g,9wR=kbZW'ԳA'FH~Y'9kIk%.g.9!BQD`EQV’ Sh]k lK9y]D˰z\ܿr46!Hv6 grW 6l.h45x&/Q.IsaxlM^V(4\%0/K+|MPq \!ɉ 40{{tP| c[mJ}&ȅǕ9Lyh &Q]>MB9;wD\:VLG/wDF5nz@; :L1wm`J7eEQeض-&{?[6a8۱wN]t*>SpΛ蓉Է.| +&RƽEZJ<5kb5I:i&T-yK[o+6^I; z( X)E$Sިnp)a i/}ފ,ӥdpMBeڰ5IL}sLak;o&06&/~[,6^m93F]]OlS; >ϼr; rGkMnl]svsUolmo7Il׷FUB(K'YcoyɗEQ%+ͼČjPŞc{pwcdr$('/?_!jf?%w//;I0Peheׄ!w $8dsOyrIl]qs\+~Z9v~_IdfEQEQ%I6[:A[Ibrlk MpJ1$Jї;&$/'3eZ}|wT |e-E#䚍:iM!)<7 ƙB<RDb>oM01͏IPylLB,K 2l5 &a) S`~|,ZBAjv{6|O7Y"_cΤm_9֊(57Ytnqd f#dc27sl\{48gض5S_e[)G-&$+(BdÆ̛_"4Σ;qp`Q۔AM1YL {Rmc>QUpthmxVx&erSZLN6ByKs :T}i;LٜnQ>>P ]29>!&e2]m 0L+:ﳌa꣫ Yطc/W^ʯ(gy7Ds>1;:ī"\uyMCĭjƱcˤvftr4DahC\Y[.~ W+DT=Q(JQ\*-0Fv.(JfkLeL² @ӏmۑw͙6>_Qx]`(lIZΆ@L0OwWyvu5ڤGyˮ;->Jt,xٜreӱi$5 i|!7a^afO^D gq((iqi@_vؚD[}t{=R^^5=+`:+u/ÏeV;eqhEK~)\,^ٿcЦDy|6,Ei( i i]w5.ɍ /cLB0,\=Horp &y~CB(+ )L`rJ/>Ҽl'hr+KCNrS}z]TC^/AO#g)g+ٜ.+;n%.1R.Xy~cU$[ٸ.4cLY(("pUfӗ_+X3zdJ~I/.:w|_ ϾlkW9g-9 +Vbϱ=5N_|zaI|?شKޏ3gBQC`EQC8N_Y>)~Hh"c&&˅<|[uenK?۔G~(tNd{$ȒkqH3{y}U,g mq+h*61LnV.jrFឧfdr\B1Lc_.7ڦrsNQi]&\Lm0\n\')2į P0OG{ex mmOp=$s5$$'Acc ((YWe"W;;p.>_BL9*8L9\pզ/wKm]骶< ]K/"|o\vyr_~N( EQ`CM\3i$Ez&?.ǩ7j؇w ͅYN".O+fs(La}8vsP{>~>_3`tl|.ܿB?WO.Q.~saT&sgoY,a9c"3a>o0q,9Pqۊ($k~5𵯥_{1ݝ?@/aG'Gm#rzn_|ܴ&uQܽAPw撋I.f L!hi||^ǚ֥vHY[291зEr.-~*K1FI͖Iqq8̧r_EQ%M~wnMbU͉ Tj3iDZ߰)Kv؇t,;3kr^x;?Cu}@f` ~Pqx0&+(w3E!EQNN/?EQIAs?0ǙO&7N4?Id1apKH7k+E= 6 {&δY\^B09r;塢ys{^ }kT*Ԧ@7%{>|GVyzzy}e`fc>-J#3ze5!<2\hƏas$Ժ"#C%t |%Ң m2Dpt`^i.D)Mi7 q8+\QEQw`b5Xi JɌV y9/<=Xֻ,:|,^?Smei丧s;51 Xr0l+LZ;.a&* +(9&&ⁿx;&2~s04|JoǧɝE)@S~S;q\&8Iyyyz+3ʱ*<$3$ܒz)3v\ QCE](UK&1\$%T*,'KCˡxBysř]ut4B@J 3\r$$<\ab).x'~5L#\^wʼq1 *M8rL&LJToX=Y(2&099Sd!yx4~ Mg*iG-wrׯM=sй*CBxEAI n'**(9^ |s/WA>U<3VEQe.菀׾׀o} 8vYdj.&( % Z؇b߼t.Ep2kS2kk>ixv݅CRkBZYP xKO{)~Op[qdȬ8ro~EQEQ-iCp8Uly7C8Si :>T]N_e[67αr.KsR>/$bD(jGRL/_"&09z~](6L \”|sy:;. iLӘ 03!&$:B@Wj܉mCgi)ƻVEQAo].LT&2io[i>VCgNkeaah=(L|]vnjw,s<ɖ[?`wpʵ2* _j(J(Z6KIԓqN(\M "!<؄av[ 1 2;O|W>ZZuzT-\+#%LUKH&/͓uP+ <ϛnR~9bi߀7mc&Ǟ1M_ `L²)ܳ%HEl? rV}[QEQR<,]Sok<\\2|:}G&GgC{>}qݣr1:}{1^Ÿ黰ΦwbբU NԂL(&pt15BVy (bMY> w u )wrg 5Q]Q(g[gC=S(zr\՜_ J;iұkۘR^~2MUWQE,Y=5RaZ|a}~zԂnu[$1 g.9/??zaY2ưL`drS)rXԱXܽzo#:#SG0^TujvѕBO]'Mx8v9k0UΣ;1:9Ssw+L訇w!)ELpNV&qtZci0 Msx@\BV3\&]Po:rkA y??-2+N0=p-.ޖ؃RFǬѸ;:a+ZOrJdrɡ*msLBSc9k6&Qіy3mNBDێc((~p=JF&GZ7}|ظ'n=_x鯘m:p;D+Ve_ޅG= |ʢSK~i^ hfwޏo|Ц.W2 _tqβs6<>8NwaZlތ4z#206V?o!$!/f^8vݙxՠ۱yxe!(JL?:dQ?+I @iQW+@9mmܿq`S(0 \(P9.՜ʉ9~3^Ls9KULV&QAI0,엑<ՠ;* ~b8-(Na<\\ƹQ(ǔZ= QRW,;:ұ#,-W*̈́kr] A=] <t%kL`r*G?WI5\_(( {>N: xC3~Ý{wxӡyOƷ6~_^V˟Y`h@W g/;g/;S)8cc֪=n w kx؅Bt<f\t]L?]D`΅`ܝ\\҇1/ b/ $ eLV&0M_`:n٫{bZPTuj r(wut Mř0wS8dKWS$m}C?Д4Gm3DBtqbB6k9΃OEQyyXҽ/KqѪ6Ȯ??uܸX/Yp9%\/&NL:Xѷ+")m_㥓={ǀxہkSXi,Q(UK>6|L?HÓ15MQXQR̤DfǬձnc gI&@p$J7}t/+0\-UK(W3CegJ2-BHm9/=jLyO:_O֪x, 4 "iH - R<45MhZ7 \uGkWj+d5I9qPEQ9Ïᮽwᮽww<{uV6| AgZG`ۡmxУmmvx[S=`W<%&߈CQp ʕJu>woxCjՂZ*/1QXֻ,6Zppip` Ҧ(2=w9|9qnI?Q.6&!#4C԰a!pM) HmM%P ;{)3O Յr2!˵rZTe Z2< M1 ꡜR QљD;t~yV/SZGP΅{K2<<_]1ٞ,&!kxi ~?"gi={AMuGB̓ìDsEQEI5\pqSmK\:N+mF~/(K_>ǩ)o6ol_}c?k.v )st(JҼYQ(|#}Yj H\e[\r9yWp͵ KVjcVv ׂ29)K)҃ Qg5/|a/|Ӷ \ĵCK I$M 89EQEI{ݛyxp:訴-jN3ߦJ@rnj`b"NP 885@I;pdH*< )Ѓ|'L-m6[%ȹy+nta,ݿ$1i'X87-|F.a8ZP.UK3B@ yr^yx_v3^C/̘8d[-OL!K|Gf:CzC<6+X?JPaKꬕy[Oi=,A+qN(ɭj_Wvr>( Ǧa~8GQ *ࡘ+bs]Xڳ9Ù9:9:cSm4Pk%}~Co&zs OщYQbdr+zW g"q SEw3TT]MQ@`EQ@3NݹpšYqWMK qWelxVw&a;WyXh.T&_M Ax2QwV3b 1ɑk"{>A.pKNO 9/_P%4-8K0< ΆpKcCI<3?6RۚE6 ~4CL"qZpaBKAi2tY Q[m6UEQ9԰nl; [=@5kix4Y 6;sTaЋKb$e0: } \~9pT7:5H=Q5-`g̥NQZ؇2,Tuj/WkUL271b&wp~Tc@ QypГ"jA Y`GxiٮJs(EcOߦ.\a:J1 I;TB59NPQEi[چ%G#cxpw6n3I;ӆO^)1壿*qٷJÇxӛZ]ʒ04\+be?Tb(>|EQvC]h'c)5i6tDA!F.X.Z4/_xg^/Ni'omf]rϨDRd׾}5f4&Wi-Viv>IIv%REQ6{0^ǍOވcIr3isҳBOHn- |Qׯ _jsӒ5õ׶#M͆^.[KTU9A(';F4sڶIlPxhWa$yLr1r< kkeTkպ-yrZP;xQ^y9~0=o5+b Sup)LVwR??\$FprAʷm!۷UܸC,5wBPzR.lEQEQښ?ߗhZ7 -ٺt+;129j;ĪUXշ 09`Zc1l; ֪wbujZJTɷ][;v>uVU\&nkƒ}+V *k~SR5TVE9H̹rFN$5/oum~YF.- -DbsDr<-K/QS}u"3="`Z<Z} GZo>MܺV<"Ѓ˶MW5&SyѣOf$KLˡ#ׁT2C]C?Psd%(퓖0qX -,D$ReF딟PXfSeuN~kA ~࣊*F5"gCBSQ<4\{=YE?~iz EQxY/%:,ݒZpWǖpB/׶;SrG]<}z(m޽͂_Lۋ``BCEEQ'}u'1?\ewr-w͒;~e~CKn^\[YMNb'>uRE9i׹<@gLaoKHW<'BxyY yFHhOnucy Ӧ}5\urYH\d;0u?^ܹH;ZBWEQxy{ɬ'?z:W\JXb/>ϟa Go({~wH^QڊB!6_[%2Py, וt^^%[ ($I\(J%~06wyy.zxY.¿q%,9~yL3L\&q)OAݧEQqhPLd5˯r"pOo%VgGK:?0QnQ(+osŊG'Йp2Pя~g|GF MQtiϻ($ b((rrh"[8@Lz;V.Xp= ={l/>OVSǞgLj+JqٷyY-W{>t/I3,^z;yVrl`b(ɣ((((2/9V:yGf>ֽx5]\(-W,umsDYҽ]t9_ѻ"PIR~`=ry:4kl (ɍQEQEQOd` >o)~ߌ$jgֽztxSe-I;\yevm[<_ ?%؋TNB6mD=('3WEQǛ/j5ĥV ض^: 9O>roz'zH=6]t~<~e:G% ((s\+߅kA:<{YQNnTVE9+B'U#BC\\jȳ?'(Ibp6M %QeJI y9T hy\h2oC i{2Ws8:yx3Ê0a^b/řDg35촢d (Q1=h6`MyZ&Q +,r׌g;z+nh9ĶmA03wV@c~!N0g^3ǧRi%mk۱rq8.tFkEIp\EQ%Nt~<#TV>^/})p+b:_+<<K{ΫarCӋdVEQ?Ap, IAD` g/lsrGp9kAmz#3r>1q5 | Mo8YõG @QEQN05\So>n3F'G3oԑT9yO}(z/xӂAqd&LRkqܑ@w݅n t _ 'e:E\r;2>f9mubM.nSv借ϤTM3cd9n(Jۑs0|06 oʤ%:Z@MEs^z >d~<9?tf^"`/.|GZJ-x3^W%}TVE9i,j5ya :qWꂶv`.ХPV5Ԃr Ԧ)Ϭ!daOboF1WD1W&/>JCc&CgƗ3]a[umBi׵VXtVXQEQښC𡇭%Pw<|ǂhՀ``b^,K˗\PI_uଳ?cǚ ^_T>_b-Vey.{yQN=>M(Jv(nVi ꢖk~T6ܴyg-sr1 \.sQR ׅ^kfԂ#f:sz8(CKSas~n2m^)rv&wCUg?]aO􇶢(rSYK}K .\ya?޶ .'&'/-^ y&uk=8bM\ݿ:6ێ v~SG)KvV.~SI5+Vg|  <\ݾz5p9'}4#Бdu26Y(٢W(|'iU1mlꊚg\ʔ7Duۄur/t딶AõpˍeG˴RJBnsETj^ j(=\jPEG9/JR }b7\+A=!WMu2 @M|'|Ggsrϣ#1ܙD1Wi0tL -.Y-t<Ʀoa/,DJ;q˸ a7nPiu<ᷢ(8c}t7ONTn)źa{߫^^IO- M7> lJ^ 7p)1Ctefơ<9ڊz'h;|xӛ6C]5L.ꡨO9.L*s A_ѭR7X[M<E^"N`2Ǩ(F3B\`mq;3&RaҽڌH .aD.Db ިc[6/}xHg#Fg&yxb(Bg'*'QҦS ?;3ߜC5N;~IԦ |03߉B|':(u1+5NaMpc1| IB1 \rlԱǃ-K`˒-:?3_N~.k3cXҽ֫N eZ$'g?[#lYCEyw쨟 `n˱c׿˹瞛lmyg^S)hn ^(m/(2HJ; ۭC̗a"as8-(sIwIsB]PRx_mgkrXS"g0F}p\Xq.^K/BrSrn`"m1[%H"N6|)( B.]})y3]]~I\ l]_ON%~x[ :_O;Kt 0M+N;{ ](u{YR]IY$ (ZȖ,ڒl_+ز?gIum,+XWJ "000Ly{IŞ^z]ΩN<9UvkW}w|rZ -K+f`pcppˌ_<\,j\<%] Q`麔ܿ:6/uo+[/aNi-+e$S>I}~"+(cL&%S`Q";[mִ-kScjԔ{n-{g>LqA|1ߘH1Ν# >r>:a}iI' V&/\x;&LLLTPY*Z" s2PXQKZ8+]tM\I K<9N]RAڈFЧ頍f^ gnZ9m5؈PdN*%rd+4 SlRAFԏlS¯k\43#,悦%K.jSn֍(i> qHk(%f|܊(L;c~|TU<.*S.6MESIܿZ`Al=ۏoDZc(UJh5`V,,˦-Cgcg&\=7$Nd2ѥ8,s+^{1M gz@9^_C<4p:/D\NaÁɷ5d2!d(EQ↺U%.}ui/)8?ױSgZK<aN(tAǂ Lv12>W0Zy`` -ͧF,"ɢT͜,ɝ׬yjSbxj.Cjj?0Ln5M\ 4O9{ͼјk鎋 Ξ}6^z5ΙsNri#pc&?SnO_iޏ]]}o@l ;w%NoAk \7.yeKziׯ4p(*pX?t(ܹKPQA`EQ$Q7N>j)Iо[s}^/&ǘcK\):+W]0Bw>?/=%o*Xcqb|`qx;U_Z1ml.4b߯w|ObWbe܊ədi< p5tAjظ1tVQ9v ؽX06ٰ!vLIͱFWSO'N.Y>pCEI)LVoFtt [0$ >p񗏣6봬ZahjbI6i_-3yeTl9vIh#暲rrl5;,4Su,Uz/Sm&E`![vt.;u,R?~%֬4& l yl]}{^׼c߱oXwEQEIR?GkkgV݄Wh3+ˇo}k tR|-_g,nvT ' Ξ}v=T^sxǏ'-ygF8PdϞ) < ;yx#jU=TUTVER6'?TpKL=:43V+؈Ƶh14mrCr-I s ӺxàJsR^P-d7k.v3>jYs[,K#ܾ堭Rl& ʁ [ѐk8n(7lRA4m40r`*r|frkm m\ g؍׼}}X yh6ɮ.R Ii4quZ'lcz@gm/7%ɛccu,EQ⤯x +3)e4Ӂ3DsGbĦUGq[|ch7.=p ;q{_iWW*=Z4Sر{*M)M:o^:)rX.qիmsٹ3Xww_:f 7MM(R3*+$h΅ EDZ˝j\\3}t-p1֌$Ի8Į<4.%k5f~8gݾTH6)M:W|.?4W.\㩔f`#f3a` \\(\) (ڇlllTf~_ l0akp'pM7sT*S_~:r{ќoV`i6a`ƌtMӖ_“{K_+G^c(Wh5b8cX3{ NvLIc߰6--vVxrhm9~K/f<ׯƼ@KKEQXQcnakp's}ħZϦm*N)c1Ӟ\=ʹ–K.g#TiC30or!sK)6ɠT)_bԧy?5Lw.g3aspS lfZdјoDcq+!׀\2-'ܿf\.So8c:LuI_^Wrrv7iԛl~/iz t9 q̱,(BI(2T} |V ^W_ |CA E%6DbzjYKl˖x:͛'lhkhÕKĕKvJmvu\w?XԆN&lQ+[FSQe}9((J~Hi .OZI t,ŏP9 :&ImʌS5?RgLG;]^ %M۹\PǤvf]c̈ CJ~䚚Rh9%Ԛt@5lRB.CZETU T+^&y d2Sn&AsyX \6w*sS m my`p(soo0v͍&n^F6q-k͹Re?:i68Yͺ4Nҍ(i R mK|OS6qxPEI^/7XO&9;v{//6>^\h=Oh R7pEpaܷ#Q]B!Npɓa4Tg4撝,?lݚ\|EĨXQŗj5x/ /uc9K,чLh nmrP_;;nK OEQ Wl9po/G|ƞD9֧}_L lo|T&/f~qb,3Q3׉ȎA?q (lʌkF5q2|0oa#9~{زBG6Z_p= Һ]I|JN_EQC7Iz яO ʋ_L6.uV c 16T@WpX lߨ1ہ3~OA>,\2)Ppdf+wŽz4Ta2iP,HѢx1ſ?Č (a>5`W$k%7$ѶXidXKT?4T̕Q']7h:\VbKL5w`G>?<y :1l~h+0 N.UJh5R)$6_6韍#Wn5\=5DB \6\&wJ`xqw\t2N8ʋg Wj }}`cyڸlqTUe,20鴵opa Smsww5 xwd;ޑ|;LOeI>T*C#sw[:z{R>,hoGRP.8GJC={7Jo7c~|jUⓅY={okmM )鶫(EQ|D$`G|H`G^#:昸EbM>n6|\ ._Ώ6/0L:s]޶tpA^GXkq9j)7qCð4ӹF476 &3w0Plؔ7t{ub1C]Ci 6鴍,SG a`yqׯyw.|aH8pV%Jb.oþ7,*wtu$TVe,_s=#ING{ߛ|TI]=T*|y} ^g ggk؋VL1`݇jmw/y=јk3.YU qUAf$]\8~(1(J%W\1]rQ(LE:a灧y'%=7O\ 6plsb,ini:o#';H l2qC)-47oBR1pIM7mмbPF8#1.anBOg[J(-.\K. `Ɍ9/Kq#WytA^EQ*7N&t}A K]w!68M|8ipVCS蜷M/#Fs[AyؙH#HyNu1H\< < &L6olD_:p>G.3$Y*3`5qi,)%7ܿQpz|_ݸ}M=rJe7\"2 a}sEVgkn4LB8VWQƦM鶷LqLkCi^[ 1 S4 >IuǏ'3nww0UKNDATA}vDIDATȝx B֝h}y+x\^w򼻕j];1mG,MimMK!؇oM<6pam8xY1ߑ[xNEcy$E(¡b O=)ObW)yYX$RV}igZO:yZ+%Imƕ}3e/д䬤1;O1q_5`jnbv2|>(U.fB+sSur,r"s ͢ D3f *O}w.=LmC&,pwjj 20̜O@chSQ&0*+AbDI =8{I$aٕZJlkV\0Ipe3R.-Dfl@iE#xE5W3,r].B2~Y6RE|)m:tLjhƁeݿ2Ia1x}ܤn`\) iqEQ "qL&)K¡Rksɔ%ZMxbm_u*v1) m::eaVB@WpզFt=+O{Bhbfǁ.@B+E .YGi`Tܿ==_ [}'_|⏡QvRő#xKѵw<4ДoXܹ+gĬYË|>p>67/}M;{6ysmΙn{2QXQ#,qS}204˕]d k' W F" OMZa:|R\p!24zY`(.lNL`#o7lO,Fy=*c,4uuÏ17?4&k66TP5l:ike,9{{{ `i_..Gp-`yrKۜugTi*i.7b>.w/]v9]1eQ\(2ڌ2ygf>p?__{f* ppJA;+j{b\|V:t>4:= f5NukO<FV*܏/=%|?8Zb a SJj*\*3SFlbӀ)Ox)nҞ NvEu(RqibR5mHQƞ+(~PQڸdyj\I5tMBzy9HQ&3DOۜ#Rlb#,FsO2slR>Sk֍0la:.Gc&J?//p`s.i8I+ims6t )XWEQ3fiWnS/ǝD8m;md/n`(\q,^oJ/Ɂ٨=0X/k@碚bO۫ N.@YyO?cX.v$tb7܀Gw?K^[c}_F~ίcf(M5 x;fn,)ϳA8cr?\dI%N.%f&7('yiDƤc.4HX*w9DOklb3R(.`S@|,90DS0h *Sa&q1XcTHE`ZNY5q #0 V2L1Riϴ1c]`.Ra:{;004/qZݾaDr5@G`NanT#c{%1ާ ~yDžx)E,_rzuvNy c.|8^vu< p| \]eڪVӃ--cK4ܿ~T{zp$kh-J4oށLJ!i= }sg\sR6]SWc@KA,x;x;Ν{..,Cv&Ńy.ZpQ}9s.;x0+!iӂF{ʛBGG07ƍw鴣(EQ|bMDzXaef6q:Ryv 66].7|flDDi_IdG~Nc|]:kM]ZF5SnWOAvΤ2=w|怑TвI =88$tϙL. 1._: FR-R ~0pQ:lK,e8\H._}ѴfySgtθWt_ wf;ж}6~T^:^ M<վ)}ˢlwAvz(ir+VkFn9'o؋<+_QWwׁ5ۑ4\ v(Xe@jk^ۙ\2r,~8 Blm5q l;-؃}G19oT]E_~8mil/ؑ# /YutW">Lx|&ZLlE(.DZ h8\ғMzж+MlsC_k%wُxג+gn1#݇a0=oQ!EFzQ)3--3jbfhߍ،Icp7 ֋šXC.S׮9NBp8$raK6eab//Z>\]Oa/ZrRg>yQ04϶﫰ԃm r^6qAX (M7#MzSN2 ~co\)㡝w{qS?I?կiu롫 җ_ફoapbjKj8.rq|ԩ;vJz[8<JO_}}/~lOw7Of**2Y2az]ɵ1>w'd&ÝKl׽残 30vW__̉D"T1RCzsJQΏ߇\vudgN6>z]$!ήXԹ(ڎ;w?Y.bxa` kFkkmq&+g v|"z0((/(HE&׏7#<"2JM[g[f8zDK~sW)m6n Tsӱ\*,J$zJ𺦌ݔf>T +Kk5uӎK\s]þ"0/Tdُ۸)uڼrפ_3.2jF5³)"& R-3—KmbEZrb CcMtKMԱmΗ4dzM4 5"o#ߕZm0cIimq$l߸xTWQfqōX7gh93g 2U; ?Ypcw,i`Z[0go7;v̜<9.|pǃksnaӦ -}޽xc\gZ%{zuA%QTVEQ±N [[F5˾㜓9 EO.ѓ䨴9:.WF &JᒊF́lC#&G#@R6!۴gRK10$l7b0bh_}_J .wM,LAl%Q1iשM`t"Ƕi)sEQ-?o?Ί71ۂ{ދ'>}N\2\*jbOcb`>ͤe˂4pGojLM&Li)MSИ:) ) @@EsNiRgF$ J؞γމBܾ=> }w0Oboj8\ݪ()(J?ekH]hC&)>`S.%„D.bܱ+OAz\\ J`5ą_A]l\f^`eF 鞹;6m&um sܾf;wJeTfI\Z0 䦾)XrC 66ae&'/lEQ t=tx, Rd2,˧-GZ6;rB٭dLo>~Ⱦ@M@,x;* ܏mǷpа X:e)t.@!Y7| Ԛ6BX dPgЂc̓=qbDB`ywae==A$uu)&Vmo"rC0l̜|9DQRD`EQae6*-bb$ri1O/mK7]/Q`ɹ_kl[_)\ iM?M=#r* K)%μ~m[_Zf2I^:&p!:TD y^*QQ+ 4-ް϶6W Z_&m&k6wt,|<$D|!.mAk\@slͺm\%ׂϱQWQ¢Eg? ۿNZYǁիcN61?O=I ѣic̾g"P'O`xK8g9>/ަɤgT d0u}UM9ms"q|GB=qٵ-W.,֭-i%Dflo Hۿ?H}Pp/$ Eϝ ̟L_ETVEII0cT`R8sص}`q)6G˔s/.Bͻ$ 뇞0ۓ9ʹw9ֈKyg*T_w#ïZ6ۨkʨ Bs RmAi_1_nKlX Lnۗ;~)4<50˷K{mbsL+L:;?Sફ/9e7x;dR [iPm]w+#/cӑM5?:X{X;g-qts֬T(e,qdT(708p~)8:)#߳?8<޽Νw䗿.T)ݏ}O#/cm-" ڰl21 ?|;\d3u>,XESEQR– )TI3P#q@ݨ<5Q͎trOlf?.G]*0RiqfS0JǾT^n*.a[r9}m=>F4zKiJi`)6'3Φ,n f00]灏yuв|~H䥩؜zn3Xrs0?(1)M tSaĦfs #+խͰ*%.=a%(X㵯.xE'?6n 8cfsAņQ2ٷ8r$~\V܁簣+{WE .?aC0cp8q` hڴ ]$wx ^8BlhQ(|a_\I;nQEQENWWmvwX.$G^Ɯ9'ԩ89O{Ca` +_>Fz+7OO,)[jwaBd=$8Ghx >gݿ棛W싽 EQG(܎Rh_w)u?J0܍JsoOa9kArKk\QLݦ|?~ph,ygnܫr̤36)5qTL)?/z|ly;hhRs%:`3Ie>"K|FkC)3OMre4tlp0$z<-K 4u3N`:4Ml{CZB,+'i >Jzu8H9PEQ%~~|{*m9b/Z - s׭[kA3`c?W]?~ cLۋ [Xto{['LS [>|FbrF,~}|Zb |XecQ"Lkf|VR%ۊ/<b)`GhVМXċ (.G;i L9s$A׶qmnm 6Tmrv ;4$Һ4>N2ELη*9w-^4.}6/Dž <-4-%jpl}yGlWEQ6/~B0o݁XӦ˗g\z)`hv2 NN)$8fJXho>;p8/e2?>8 f]_I=Гz%`Æ`&˧-o[+687&Vͨ:jU W.2v"16T+/>b%9|<CwѾX>m9/@fLFTVEP4,^f b)lvr-Ci[m7}E=ii3ff)}˒0Hc~K¨|V`K#3s: .xZ5Na:M.ܙÎ&ck:%َ3Nؼ9vyMœ KcG9N;PZ6q#y}wr^&-s'=-t>k96㛎 0$31ݦfc;w,(J}> qr`.g??׼& ę??&fwpzI6ycǀǃko6 c1#?\}V _'~R(x!xcsf\|`}B+޷}8kYk9<GE[C.Rcc}gS{K_JMG6`Aj 7لn 8|pXQ&*+Q4ɸa",`ME`BBxR;q\,5mSEx*STb^+ Fl͹seֹP4T$c/Y@lKy_]6?'M o}= q^|{X h®ILmL_ItQb,-qmk fs][.lByjDZIҾ}B-׺O8*(cj@“O.~0T#1K_twZ_q/klZCN}uvu}y?w^|1+g_\ƆoOcݜuxBGcG,}gxƿ=oijγމ|;m}{gNzr뇕?p3L EQZ7}oһqsrMB$:i̹{6J("M=益#r÷e΅4.? (cҰ[TZ˴L÷6l}ITΏV.T;~2IjsjssaWz&SҸbUEQg`@PRfMk=؝^{2zv1ta,: )1wg<}_x%x'jGm msx" i29?||&Ξ}6.]xi1)9;?̙Aw, <{TGr?vuJDG(>H.P2Wy7ոD+)ǥ`¬妼 ʷӴxmt:;OM\X͏u)]4헔EqF50Nr5RF]˾}mcWKۘHƥKxgs6[R;\Ѓwv㦐a^5oBuoRב54Kx(??c|ڵd2Aj|'r95Aiɷňkq-!S*a}?Q^| O#4=|#5pr@zʔcM]eSm߆G7cgNލRP M>;cholO?<8p6k ޵sΝ;|ڲY`\MEA6)8{3[G [mh)EQQXQe4ICjhh'j۶16*HOFSFmnZϗM0iM߹3шg=n*x~~(Ilbq]sʏAꋭ,L-k!L(]^&KPᖿ}yg*>҇,xNM m-kWV"Kߘ(jԧ  pmE] <@ %ɹK_dtI[ M%}8[‹/ _E@\N6޽Z65a휵X;g1߈\MG7sqbޅ/663O3Lt$q!;O+ ^>2]zE G`EQfnY#ZPL_qQɌGݼCaTd4$\]t_>/0 L]:.B:&Z/u#2t^`gȴ6<Ըtnt}ei=-i=Mjυ$ږ:̼LۗQ!KC[ ө@K ]墣4/S^uݿTķmS/lnaq$;nRh_=[AO}+q^; F5D^.ӘTϮk=&J$5Mb;/~8f\[[]ۈCtVEQҥ+god,_~cg2*lD?v,4ДoJ1v ;w;w*99s" 48+3oƺǶFaBܲ̚X|*3 0 V}h[ؼ9އRރ3fkԏ (aHi}(Q± WiMvXjsR/wie[;t=\.&SWyh hZ&\P ռoR?\v:҃<{g@`Ek(K +pQ1,vٜKL_`(  mTW[q o6qt;ɤe#f}hSǴ&VrXVs|ιR ;:il24n0e+(C(EUXunî>]9ͻq-).wc ek20<)6wx\Ɔ u^׍8 Xjy"EQeS.~:m;<ץX&{[u煜: /ynZ[Nw7pO~,]kkw8",ƭSn<ݻWCU41c>:;mjsL㍙O{͖X$~]g՗=0P[QDѿ(i ԭs+r#'mNS.$ ̡B1?@[+as17!4%/Vfڗܛ6AGV?*:|m}?q8>,m}}xg2MF"JsNKq+ŔbHH co=6'5f[WEQ&6<{T6r7iW}87)Nmttprv.LQ\>8OSS^ ؾؼ֭K3D[CVXNcs^|WijeLG/w߂+>xRlM67Ή*+C`EQt-K#"JTH Èhhp%(2'bL<$6my]cg+`͝te\:~ ~w5ܿtۣ1%70Og,%i% i"XEQNj/ƍ,ML8wSO fγ>pdl2<{laA4ogT9p}l6g{8q"mmֶ/sÅ'ep!70O^Za|79&OZh#zmM6\0hxmrEq̱{͵C/ܼ>cg{߸*÷"۠cÅ`^:54?F˴?(.JBXkm{\!eVߵ%ݳph;(pׯv |]z绅O\Zo >0"(biSE&B!K'k~fX7g *dNM_C>dXx C;v\`@[< گ*NӇokƫ^.3NWQ&*++6q1,cT`ŸK6PWcsjA ұrxs# xig?cMݕt_+Fx;M.hƓ#wKS;2S}6 se46MV;.[>ԭksz4ˀKzQ:N6/#rG0~I:.lboEQq20~Gh93CY:e)Ϗ=R>x_C>/\˚4IFkkz|ݺ@$=t(۵#6XzI۸s^G|4/w:\t][aD˅@WFxm/ 1cm/k7.Yr)((ܪ6,\J<[ŝqs:}wse+V/$oJ`}?|~2 }y[th&^|J߽}~yTl&7xi5EEQb@UEq7~ܷL&" 4k?*RW0yZhWLI4&LJJES3-8LEn~? 8Ѷ33e#23wR4HJehN`ۋ_a;0AW L: lKn_.8sv̾خI~2.kokTX(װ:sJqs#5/E +(!(3u>YTF%S9ߌg?rNl&3geSMlדogs7T`pm_۶'N$~SpVL /=26#k.+_mu4v (JEQ4Eh2t^рuli@`C˸3Ƶ sٰ(RjU`s:xyjun:2ݫm/.Uxyfn-[Y.7\( pyvn[EۖIi_Rx!x|D8^kPy5eR@]ר2E5RِĮ:t <-OLY7a0b'6>\rSY '#6Y,94΃tN~sf]Ѽl,rqږw.-L}敖5dM|GXp\B޵$9j(Ƈ= )ͷolD9v.XPEQqF-_>vED4psrJ8;wo1}NY)MSh󓟤g%O.[]wguի㋧(NLu+WQ |7|6٭~NaEQE`EQB~ctT3\pԊ- 4 XBHiQ>W0qr^#I5MIF1uX"(?N?7X>15M/mbkT~L\F%6C먤%D\b:g2nLf,K.mٶLCÐT~qWrJ6[=Fg\oIsm92~:` HEQS&嗧ӎEKfªWCWz{Pdєo”)h-N|/;H"0{³~|;@)'nX82^yTk,Vx_.h4p"ϣs1rY}JQ"*+Dg~_>X mTDႳ$&uJN_IB'u |$ kieIHb*<ʢ6e]^Ʒٶ׃o+ ؈aean_L\lbS .Q3)i=? k"c$u>&NW(2imoxoG|3ۚGc-[FuV~wؼv.f`Wϧ{sQΞu6\r%^hE NQzQXQD*p+tʼnS6ԉ +JN_d6N_[0/]ۗƒr U*#^#qpKu\ ױR$n8, \.[,-2lx|lG(N|_^Eb/-31פ-t_# C$AX:.IH)/㢬$:T,vգ6pWFl$$@t¾}3: (O-n+_I3+JfoL8u8u+op| Yy;cFVуg2K:aW9sAkCkR%.TVEA0aק8-xf. KiN<ҍuTI!M9ܬSg7~T6A疻mt_s0$ۄ.'nkM E}^R=`gK,-K>q0’j]Kb0%kc8-:}^W})%P*_GK{mmV$ lmN{n]Q1K&0 61h;]X_0-p6FRAcv,ڜ&-ILBl1l7N<)_v]q WR0, KbUhL9[2}A?%Ji'%LzP) 2: :`JӔ(J|(R+.1Vތ9:\QV:7/OksRAQrs("qظS!s}1SaoFrrm|ݼy) 5X* OTصŐubL&wʸ(ovx=ZDNWKWs깄dIeX 6$ۨS;|sX~ܥ2Qry&ܾO+9z6`|YQb+(s~~̙}ִxosTLtw?Ռ8 @NE5K.81p=edA!W@{C;1esIQxQXQEؼT27meF`M\`HUyc%QaS݇G7%+c]Jl>.?~`(-L}q̺-4w̸Csq 46h h*Tܕe[1Ip-/0\"M7y{glc:kiTϼ-˘_ףŕڙ$:>sK`\6WQEW_KF[2^ioDtvXQ* ཀྵ);曁}-2?:;ؑJ{ (>PѪzmDz `L}[IHi;0R6ڜC*e[6*\E [:h>l1K.C(_PekG{-T_6AJ,A=kKkS?۶^\ccF^ w\-FC[QE\xazeG?^xضmoӁ+K/~WU2޹ \ EOT ~54`:Y[ޒ|;**+0"!"![Eze2OME9-s Rab|[bY]]. ֥pь%q&uRG/wJ+y<:0iSIN?@^+.ᗮs7̅_0ǮKBA i`:\MYdw4Qo&N]\;t$Jt BtXrWOnL{(3 s1ԩiu+HE97cJd(p ޸"66e?܇]Ca+NT\⯴l+.!X~Y^h,5}̆,5lsr(D(כMDZGΧ+Vwu((6NS[Vf:L[]|(2QXQc|K}^^Z<}°zEFEDIT>tXI L j.S3.|D`WY0K*w` [7}baMH7l>_;L "kT$ѝn3eTw}iǵǧ5&n\Ik铢(2Vxf3g=8SK_K_7}/,F`%}x`d/XVHz473g_"ַ:^'(cEQ\Hڄ])&!hI"\Dei6\̺_Z7 y])Mu #KmN`~Kubfڤvkc%K˶2b~|E y 67L6<ݳj MlGIۣ}]3 9^R^ZَK5^boX<[zhW;zDE~O͵EQqNjwC/D޷ԏmX~;NvZ=T ,|nhm>Y(Jb` ꫁/x{{0q`sOQ1O EQIn4nC-6~]QҶ/[$.Eُ;K]aq H\`t6yy.'%jP!5ڡFe)J.\.@:?,//~8> i}mqmZF!wKlRzK Ǎ$JI((؋~k)G'o#g_0cF|1[[?s`ɒb*xXL巾w9s{E˗KQq:EQ0.`ۗ,dmeq]i_ 8 ux{>9kʹnZ/좵 9`+\Jl9g_7'SN^uKileҲoej&e[. <\:0 k\ur7.03-7rB^qJRÎ۸J"KpYz3a]޴\[_ݿ(J܏۞ xs;7 d%T/>)ӟ6l/֒%G? ,ZKew f«~:p57v|~S)2PXQņ(+L~IDX)t_W`"> t0llRQlb2g`bxB66~9てeT`2"hmA1$g=W7۲GYeTkyh?\#0 9HEZͬ 6,Z˗mua3&.17|DZQEQ&$~|/&Rۘ:[A+2c GWE?n 喡 PN>9O ׁ'1/>[9EdU}<^Qe^;oK8|>et)i0$ErNI*^f?-RY-nNM+>&U.0\\3yU霬R*_Ӯ|ه(J`ܪf 垬T2SW|8(W#G]낋OIuk6鶰v¾uasus~y]6.Je:ۃkuCZ.}mCaeR(2!;G?y:>zGјoL E<;wΚj`ʔ4z(ݒ=w?~=3ƍɓ)Sku+{N*J"*<r $1("VEuJ6*uu57Is,Ϭ}]c#aϴ%9ycu#4GT.GԆ=nlٮ >Աk,m:]1Mɹhc5Xلa[^+|<}`0K㻄>i? ^ \s=`׍fDal64î |p4m.g`0-Io9񱉿Ҿ\emUQE|Tcǂ ֆǷ'*?SܸDQVב#-0\--AXEE g4~[\pACTU,ĉ(R;1 r hkhC{C;rYMK(I( h61lԾ[(} *Ʒ"1z|[-"M`є<3?&s1cڷ!mu|lKYƓ㢞h [$_=X*sm.~ 6g2O].DrGԇzyp@˯)!DŽ6KBX)m>)x]3pKeMY>?]Iݿae? hgtNck;p͕6œae<席kk.Ca_JIN4T.u RJrXqX:'*K#_[=DV;nRm<=L(LE _8|Ki3i&pԏg?\{lEQ%%n r q n{0e&ZZ衢LnTVEI.JeQ\t[p8w" S<i;:z95Xp1 ;Ä^UmلvaKEXIeFxwBחڥkŕ;iy}kʸ'\յulq/$RVfڑRNӺ\caeǐ\`&m\5Ek7L7K|w(h#/%7p-cnk\~bn89򰺮2J{((G :O?P ;fb\]VȌ4(jw_r")K}GASSQ&;*+ؐ##J.E4ZdFUt {miy|?9fHbixA2l[穢MJedhxLnk~<4N&TTfA8_g^&8֋KU][`kmmHe_\_>4fZR;K}xD{%HHu0|qW&(6qx׎T_Ê(G>94KRH4Rh=LFTVEuku#AiMAQS QEܨ漌\7=LM,l/-lD] ZNϴ\בqIm'6ۤ}R1+R|+s%gK gWy\67!͹èƼtMP\}EQF&wZ̜ ,Y̟?6e$۷ߘ_Cc xODOS|+UVE/)ϩVg NLf\{RM7סCXعL_e.EQ\pkDD.6rwf8\\fɒ/il>礩CD&GuF:tlKpXaz6\dàc׹(hWW.m-f( J%}8|)~45Ͻ^{mT-hQhh;2PXQ skr^UJw$Ms\L# Kqh$o\@)}_;K%1W9م$<.tqȴAoIZ/ʅ3I aH ڴ%澔^=3ݗƣmvm}C2 _7,NG-sVEM^yҗ =֬`ڴD8OݻmbA4iWqhԞ$غfqJu%-luOCVIW{ai^*ٮ0׈KXsE ض]J%%+}W."Ji]imե472*ڤׇ<<hq]QzkGEQ4);~S_ٟkEۿHxO_MѬ%EQqyEӁ3Hmmc[,WK *89x(EQ8>1PL @vX%]mւM<?ZN~44"m§.Ǭ4|k6 nH4Ħ-Lh=Sn#I ö4vy[GJMۤ1L:hX]WDո`&p-K>؄Qۻ䶥h]boԣ\㥒<I:61a;_T.^#C|R]+f62Kvi($"pms瀣G믯?xgyS%.pGLowr)Lz `xwbI:{TV:N(u=.L.QHB da냫qDZV.B*rsEi֣mK :7.9\d;i :R=>]/67)u;U=}@m/5on[捵]Cvn|g>q=H/EIJGy'p}oy}$ڦso;W>Dqppa?sS0KS5U8N'TWKK{8w%o^m|b.^iRٮ0p&C|CʤV+\\}ʤ(F-#؆:OJ=:T~<8/X_޻7bŸ{_Y)#d(JGQwkabA~s۠`[Ƥ=>ܹDTi~f9D`##^(Z6ۑR?i}C )c* ƍ6%/Gr}- IS3n״'x! 8\g aF_ D(15(ip`i <0pɶ3JɎ?zSFC6lϮrD03g78Ǚ05Vzl+fgR?6݌G7MwyM+ބΦΔz:)k߷O ?=6-pV*@ooM7(dcF2PXQ 8>6aEݓ.q8 %QGԶ~MaHb)U_LjM].?J%pqTXRlcQr\g6ڣI}20'0'kٕٵ+f%l7?%!JM]>:%&T..neQN:KKк>_EQG.4 xi\+ O{ͫfysϋ3jρ}Rﴷ-p+51X6l Uq7y#3&d^>ϔL&׾ԇ (q`{Tح7vRAm8 ȮV넭JEJexe2ÅXigھiKsFy8#ɷKq7~t_?mEظڨU aleD E:)m$vxY"C GHK} Qn؇Š(cJA{駧X> l53oћP._:zY`fͪ?$Imٵ8}>|eWv|͚Y )FAیBr) P (.|@gs6&yr}>x6- p .2G,XlߞZEm5i*޿>7)J?Yq>q6M*s7V]9rɕǞ,Xn{ܔoB@WzRkKQ&*(Jܮr/] 0`~لiFvLޮ%}\mD%t( `mƥGKM}~kG lͺ>ː h]z<h;B8|ii',::p|xm5ИkLE(TpQ8I <4r&t6:~i9\c#s/yZc}2iY"53%q^lIskX~?oW2[ֱcqێ)-ˮϼ5A}*EaNw~(=d lukM<,\xݽ{X)"ɡ :`aBZU{/|;2[ޒ|[Gw?Rt%=%֤⢋k ش'9_M]ҥ7sRӞLH_9J%ppsG0e'q9z9x]oLC]j/|QղO-D_. .W-}؃+I^`ȵ8GvDZ*wܻ>N_=xRiR}.(\bz(I<9 MKm wMs$ێ֣70;V9EZ;;xo?7)6 j'?IBaB=ɌeKMϫOlKrۮI1JlB0unܼnߤU>m'ѿ0ᗯ_~sk6/oDZS;0r_ vMA</$\"luEQ$-6oNŋkkw63׿>OK/65=Z}6zu{ 鶹s ;vI?iRm7NKxjSxd#߳Y7 VXK^3V"I7~.=ob d2n}'Ś к6mzVe4X*]xժk(O+|-^ 9'2{;X^ %xKKzڕ~I9#9];ǥ\VgqƻݣUTFl< ;ߎs)?|ѣ< {x%`n\='אk9(4ͼĉw(2Zƹn7y*RIuzԥ̷ (R X$%E=$w%G6$L0-0뢵Gq^|_v^v]J!$1%@l"'oJ_)3v|6'c8N|-"(Xһ;w.bE:mU>R5Z|*&MW۶ D$ӁN/6]1E=Nz/+뿂jͩwu§i<T]aat֮/NccwMc@'u96Mł**JXQ^l.Jޗmb}鼮 UIe¦/RW:_'pfqr>p|i*I.o>Wp8_#)|\Q1W.(e60w>2r;ziI\a CX8ܿkEc.(MgIp5 ˿m{chhnx&1ˡC>lP{|$V>ΰ& >'R?.:}>|bWwro>oJf.V R'f2Yg7L m mh7{݃(UJdA{c;:;ѐkH29!)Ix+ u6Sۈ"r)Ȥ5&e#J#E`'k뷯˒0LE[>F^*ౌ@n-B0K2^$f~%a.L5u\b_X-hlkW:0; +0&_!}_HI@NlʥkO:g>mȊ(M7??S̛\~yr ;\tQ ?77kfHp~뷀={wAֿ;0ɜcq *Hkq<9%K>c)?s4pkc; ߺxq`vy \=;*qA*IF.橘4}> 0P@R,YxG޾ر8v, `̠޲e[qtc׼9k]n`W/7f{x7)ソ:bik[ꯢ(X6m{.ط,]܉DGpK|Ӂ8.pJ2"sN kk#qYԹ(6kaW.ܿWQ7_&>zGK#EQz'VQ%.ҾQbo-7a&$g/xٗ >NEFGߩs׈ b$U~ef_nǴ)[0'2k|\+J-ms\w>eҾ-jTmssnF.dH2s>ۛmCUe<"oM0/ |;ɶw'f Ee ,1K,IYƍWF5ýGmCQe( 'KzҖߠےpc1є<)upqH5n6ꐋZfga.B-wW&pR!&I`R ܷT^V*PY*-ʋ۸l+].oacPSԈp\ׁgF̾ڢLꫭqet|6/_דuœ ٕ.6W3(i}]WE#^c56T,Em?o1Hii h [c婵w SkwOh0-}0ǭ=}9(̯+W):(cBx<{<.,޾)h /]wgN;hnN׾6v)]3y\ EXjm=Ƕ֞(xA`EQ>i'iXqaCWlekGSD*J|u0#744\|;%8f쵘6'v.]t)o'ݒj{nN=EQ@~;(2)`Tu6s[~|hˀs*Ѻf%ѪT24q>|=>NqAT_qPGԴ])Ͳ+oԹ% aKgl2epx9l"sXJ׼kF:| mρ(X&^u$cG:~<+ bL4y&{tM^:g;kP]l>G99o7OW1qSTݽ;EQ*+ a`(اH°X-b[*Ě6 ټT_Q7$៟g*kz-0e=ۃt6%g[} J=.oR]+لbSG ]B`R.f}-oacnK_(6`U#Cx[;ض-67nL& ?(,.?cg3Yښ_Cc1Ip0tr)W( #jasS$'+T0A˘ͩG0bk6V</jGh5؜>O<#;oQ 9Gv6hV|˧pͷТ8m}8ʥck>œܑ Le>_Wiyyb39|K) WZݿTQe"P*9N: xO~*?}{>Aۀ^y%op߅Gw?[ 2[|b&@i 6鷩(2QXQ%ZE`CJ"r'e}Iq6׈?a+IyL~&.:-kkt[TW h[<301-Mta$q}}_W(6aR]4an0/ONE]2[[67ljMNy}^pHwEہ; g^ZWJ}gr#>yXL@u;ndށB v_r uͭ8g91nb|EQ'*+|뺬[ܝ oK?8meand(iS8E]tTtSz֧>L ɏSEKAxU/N|(_Kbh-⯴%҅97y I0]- {]&w9e42N8DaW9 s}+Lt^y_ ؼ96X OQ|ߚz{`zu,oxb̚ti]Ld3Ye[rJ|X⬘:]Zn)fs96EQ:*+p$ " Z\゜-4-mQ w4_4X䔠R-&KxɅb+uJ]~>]pw+4=#J].hh#&B׵VZvlm\o h~8~َVe./uelswuwXa]m1:)ʽOx9X )JTNM޶F|o3o)?괴%}..(d`匕xzGzl2\r?vzt40X1%y֖(xA`EQ8q9opHoqe>w4/Oj~R'0OUH#,8%g˱km6xqL`&qIH1qvwň*e_UU*?~ q9?~>/3r^%-|S:>?~F}KQeӟ;o<1s@wwjMZ8 ^m߆\vN lY^z ص+'!;x` 5s4piW ^>2ۂ];~ Eͅf,XEp3'd1}>ߖZ :a'EQ (6PU\M.™r$IWޗ0pT$,/+&8. >B,*}E`zLRL+v И>s>Jc$]m֤skC8i\>nF׺+sӶ=Lu VՆ?`o5u%x78|+8N MCsWQƍ7.pO_olE #V=q \={O{ ̿ $I>L6ŪjJj1TW֖(xA`EQ(Ԛ ԡkKˀp5J1mضx%"6וho|YZw! ay?LyLII-e4m?.ܕ꘶M=5VqH"즬j+p._W'n7mVfGkqtRߴe\Dž4Q඘6gxXR.rK+@0oRv>yCJ&2&ӽ/~wc89xj l tR\)~/'Ԏsq|1Ul8/8AZ]81xdԁ 9X3{ lm]PE(‘ĹZH>\5$qLrqbtQ8S0K$욾sל;U\N`7-wy ׯFEI^z Tb/ݟǰ]S>Kc9":}}%z# QE_O%Sj}(s p_C|9k+矓Bn3]KT7w_˃q?_,EQ4񏃹ӠPSioPV[89xҚ4 Z -4.&xE|"o_v zD[n N-kR oǜ9M^9 O; q![+n'/$v,LGw=;6ޑH|6]1EQ,XQņ lKLݖ6ӾƗַkk{4R;3}:u ۜ߮tВ+]8i<[YX{Ҙpgws)mJ)yl|f} @,sn{W1|D_I,gN^_go\¯n+&JBYOɰqjW˯_׵WJ/Eݿu?EG z{>/*z=) ߓǬY8eT\|_]|v( snMNO?D6w^dF`A'J}_}$"z.ܳ[:㍋\Ƿ}O7 ޾**8PXQ.\;'cE¨4~xf|M{FصŖ}xf,li/! Ҝ>b0״oOMEaSzC㸰k%}D:jEgveW(_ִXÖY+lsPm*cb/>ޭ؃?kF&V j&շܹOQe(/q.l,'L쥂ύp*ImD{yKTdq;]"0#\ak.Wv~>i ]Km1v G=QD_.vܾR(۵,1_)m._Zv]z 0\ЕA[6:NTUe`K΅[Z֓2mP|oPd ~}µleiV%u*J/u_kbۜRlM`W}hw_ymĝY)2V9xpriZ{G χy~40eZVb Jۻc锥h5Wm`On{M+WKd2ko³ݸ򛏡gPN=^#紮>k?U5|l2k(ؓl&]3g_;vF? Ο>޸h)$KEQ (Q,9:%.+a{Jmb]P*t?.*t EV:1ovf 7mm`˵K5ۥrmzHo|ɨ}nq$þq6xWYm{X=Ih5$r-וrD(}V($m *%9P3s<'vcZ4Li wRݻt /;HlJw'ہVsώ큪BMY+;Ċ#[@sLvp{A6K&)KtRT9ݻ=ЍrB-3c:;{FQe( v$P XȢ886K/F( eHQΕM${Hh=K|Дa飹˯G>\E׃!Q:EQsN6 j%V=Ѝ\&' }jN=C=0qJ"nӧ={L4Ea}on7Zg [҂_޸q- Es ]ȕ+(8>GtiSXbWy xxø|剷5f6ssy+(GEQ|ם&4U'{}Qs#E0(uuSv|S q+6Olp+G֓ti_^NcW-bq˧x|i >R]'B8>gC>E*86o$|ls2>+PL|{Ŋtc=k8 }ő)Ot*Kt=MxpݘoČbSN./ÖpdԺ\&9*,MdRk뿟REQzQ( L ;l)l]4p/-7mHR+/}$jCָ|M_tɑˏaN`zܒX 6˖:$Wcegb:}}ת9}kۤ}mb~-):Q#ۈ"8}SDb5~a׹i!(\kg7jgu*29̺^tv'ơCXб`X֣Gmrf̌5]P冰ђnT~Ck̳j? +@c~S+pXjݻ^\WEQGEQvC5k mܓ&MT}ܨsJn< la)O61xuLZ9jy9w֓\yr~h߇b%G.zvvxo:v^U;#اϵs}"}8+>)y\(lb}9a>%mKlCj'-1WQεצV[pGV8ڗ[qbĩJ5*%c}͂e~⯜l%^J;܁RmT)C/ڦ(Ԋ%QEp=/.g/œV |6w_|N%G^S D] \$QSsMb,'R5L-dqT t(LwW$|uR߸ۡqt?k}d)tuvm\a8m5*=8B0Q%.|xkNpT̵ywq6\0+5.0yy\0P@*.T_4P@5N R#}iTv Qʆ5o7y׼/M=M?>6?|m*(J-h hEQ&.OMS4nR*Je j)iԵޕʍS:vhݏ -a6L()+U_r!Sh_A*!,&}1Lzh?E4y]|? Kg5._bEImr2|ܽҲK`Ir\ K)MrI)])]i-9KׇAEQH.گɶ|sm8Nbr?ͱq}\6 Uycq`1\4pՒ+< lll83333tJ4L1;/6EQTVE8D`*nĤ'ۡqH$K$H+}6M}It=׵{];.q,Jz`?T`mm |kaonԶ.5gp=bn=DzWuA_~ʒ!a^6|_EQʍ7 1غ\a?wYN_ksF޸Xs@>.!ײVF_r߆+Gg_.v.ǮOy}?.|< ;/(cl?7WDZFRLSbٟ&}d^sjmoSQEQjA(JR#IX @6Gڏw:[[Fw;Ny~Rr7۱e/45<:]}K˗'_y~]s碖}|3l{ׯK5"Jm;}^|΀]K>`M zvpHoA+%:) .(Xgӟ99W#jEls4zIysbiŒ&10u&}nNnS=kރӖ~Ccjn7iSX3{ͤhSQA8n{cψ(Jt4( D) QRAa6M])ib`ڒoǙ[ALtͶro}ΩLAKۢĦ}TрI-V4R| [sպt֏҆cum$Kۢ,wvmsNl"+Vexb44)jv ̫MyO!3F1\8BܷT ڑ=g[pq֬CBg3Y,kf Re?oFǁ|$pϟ_\%kfA>Om.vC2(UJzl+vtCMc3[gbn\m mSE(K(*b :T$}ڵm$4\=?a=ke.6CBK9:\c>U&>Iڐ`WGcqhN ԉs}ORdpqWx5OۻI{zÙpw}9rd[$'o [V ذ2&I (p`'ZXb;׶ؖdk MjHpϐÙY{ʋ#9sg~<眧a;tIxJ7.h~]x/ |roq-4C㟛xcv:vuҷ=s=s}=7-Gޢ '8[`go,զfpPb3 \U.v}UC`3sUs9*qr*͊sRv?mVW'Tln8> QNu['7W ﷛R:N}y=$?x-3o'20=8HW#7Co=V}ٯ:ݭLH_c8}UϜ{Fz͇473? @eO>f.~kS<׮c爅~c}dϷhOxkq]wϯuבzfT[r®`W_9b[wJ('}!oh,X\' U= [jae{}X8˳˭_}o`^wezz5<\LfUp2cEQ_}_?[v__\twP 6WEcYZ %u)hr\k5_sfq]!l?Zq[:VE®-T9ޮt-:z˯s\T|6uؽ`?n. B?WußܟsV'M*~oyɪ<6kOzS}6R*|}Ao~g?T2VVW&2̼U\8յ^u/no}HG.g=a7_}#sh<~wɍܶ6{U'JL/MO+5_a)}{߹`&MJR v՗ڷ|#UTd3PX`W=fW*q|}<6P&BXh&PcjV؇/\U9BR=!)k}|՚U_}}mby\u*|Sj߫TԘhq8v}cEQQv>|й-EQoSWVsO_ gIRy}+}Ttirx'so>zG._ԟ?~?xk;c3֮خ4Vc\s(Ǭ51+Ƕ}sRli>`WҚy;faz5b6V-\= &t}slk\89Kە~9V5H{nN)K|vկ}v>Tە ߪ7A{ WJw=M?_/`A 3ewҍoԉ'45#KG2X~_Ϊn~]K{tKu4h?FioBMMj;i}nW^Ɏ+B_e53S}⍟hh󥧿/n}S˸;0bKB`W61͡cv )C`sg\kUB`sס\ZEyfB"]Fks`/߱7Mο9&uIM_{Nk?U↎U cI&_{JogRѾmKJv 瞓zJ:};vV:tHfi^o<t`N]NK57KxPÍaH#/x}TY,oɛ?y}humU ̭螃C=7Go?&ONlյUpR/]?1rb)T] SUsCK>㸪eJvC%C`Z{9JUi ~j}T'Mz&&=ۥ.7k%vFw/U_෾U2ӵ[򾁻fvZ:uy.o\~ji? ISa.>Y…=rD{w8^9h4J5i'="=p[=`۸qEg蘧."M [\dxPhJv1Ԕ`֮ukW2ϩ[ \%Dɩ6ۮyv+C®}s<𴩀1:8u*[ ^&*~r75G=P=9R}Um6*X\^M`9>?/}圛rHoxϮ=Z,Sq9Bv,/Z]l={}L\׭J?d>5۔/qǤGVXq%m6&u`RJoNg.sy+.9!y rСFBO%+7%}ɷoh_Wo__Ű^Z<||ϋ)vؘUi2@vv}}sU2UoUjWuXNk>N寔_A>6J_jo)G{uQ]ٸsWR̳ߣVVƯCaqFQoi;&J61 K㟏@ZXCίc]G !cB`_*ud/#77fS!Nvqs0u,~ =ov%oih1(PsW+s<}Jj֭-6Iu}.Uo+Ҿ}&s3s:8sPF1ƚ6Fh\-< 473H33#G66-,}_`c0Fܭ*Nh Srh/JzwޡCW0VbKA7pJ`Wk_M^9_u6)KB}S+,t_;ĖN]-Mroʷi |]tq_8\"87뚛]زϡJݜXМLmTitx޶=EA1`qKwJO=%<9оp_ڽ[:xpZ;*Ѱ7gg#?ko ӏd?/O?-],Y?UĉM7ām_L~:`9B`M :v_7shf_5)TkV>yC8H}7i=Csh~ I*k)/ )K2n㻆OjReC}V ́`?^mY\gώݿ677j7G-c?GE^2=:F7]"=+F[>=^"`ynyG t0TY7wV;C`{yf{o_gk5lVxsBJ;@-_g_ಏ<}Xq9_q ÖZ\>nKmUi.Mϭ*~Cmua}#uXo&7u?`U.H^sꍍr.H7V%z&a'>&u#6s ISJ&t>:{|#|~uu̵L`(p9csmװ)`O:s4gϱlgu7w=zSBWhFs:k27-ۚ6e_)뜛&_B;7GCuK+C/0jcLIP[nnoQ]jlo~ߓ<3^rYݵwc^xDv P>'M޷5n_j=}jrƖ=xՙ3occ\o ~`vVJ}}K|zңo5g^j_awV{wՁyHjZnص_t1y.m.l^T}Erо~|KBmqc>mB/mWQdmHl91sC9RRʾ@>^wI-,5s(77'u- ٳ[3Td$nEV[_ IieEmo ܥ>Չ~uU@xGlf%- 8M:UXJ`WcyS5T*v}}4QMlVm\H w}{ܫ7|SN[WS>c*l cof\kmmg Hu!w_>a;iϞ}a\ =\cllLvv9pO,u;[؉3o:UcݿYQi!:U ||Rj_W}><.e%U \!T]U*pV۹UڪTCR_in2HZ*m)f;;xuCf=*†*}4tT]}Nƾ{*t 0Hұcҧ?-}SK=*/o׵Nni˪7׵9o~7z= z>՘$톷:v1 v2`oP5Xj\SUrel E~k)b2vc;vuuł`גY_]s =)srO c)Jr6mס@7\t\BzP`ZlS5 ʱ7:>Ă*w^B8P"?}'RG?~VwN UN]u۟w4^|q ~Q6.ic߸P]38X$fz]M{nj_cB\Am,q/+ssa/8'v9mKJ5+0N ~]a/lU6P }CoimJνw>'m*u7V[bjjoj9!&*BmǪCB[^^xac/$EIٻ-,Hυ cIt++ҝwJ:3d'F#zZH#]ڸK4ۛʮ zT7ܠ>=xFqF6'O󤫫5}7 [s.r6j>TtO_,]l}U S[C>J]7ϛYg}d/Ξ ѩv(FJBԩMbM655N }v~r*sn =+udʾ%S+]R4ڸ>'Ej h]U7gYh&iQHwOvLLzj>(v-stb4m3U+,X饋/iyvYEޡ:pzEOPQ߷M5M+~T.Gu?)j_>Kc6UY+_XհCea؜>ۙ*v]oyN)T )mbL2ӓ~J_o(|)UO"K ]mRڔq/MWnsB?߶.ڷos i\J^=&w_Fq7.˯4ڪ6=w=uJ}gcҝ>&lfZT. bK5VoA_֚s}] B`|Αh֩Wn[>v@jWعXH_K v;j+_s*fCA]~Rnz,G,uUךmrtVsw}9}S'|gu;ߠY&|r*5}=ڮyֵtyB`}sS4{m).7xvO9Ƒ⁸-5UOԹTJ^׹v?UB_m(̫Os+U ]Um-욗XjIJϹЇ, th`}m6&25>ޛZR+[m7u!lV V={ݽ=zzS:u^l^~A^:ަA}I#*\!y,D/$"'#UU( %z-|B0ۺ>0P^PBh<m׵쥪ߵd}s-r,>5a}MMVfT%5T UWBjsu/;wH3WQU3 H7v5ݕ+߯lH#j﮽( C7 _ r}oBm&W%oc*bquIյ넿! ]|oݔ|!n)놿9r*CU)K-.J{W|߃t`=6GcG/2--"ifFk /o\pSTMC/3:v^/hc8^R_8Xڣ-)D 9bKiqh/RRױcj|u-5m|.|WSa؜CJ5]mu1څ*}c{ *K|Rs__:l\)fnElj_{Kik =+e9fWeٮNoߜ_\]mb>7Y]uK}t;>榛Oڷz:8wd~2c]ھFfИSO=;5opfڛ5Tl/ug>)X919-;tܞ}m߭.0wI]U՝L}msv>~{&SǬ6O*_Uusj{΍Il1$tZs^XHov׮{7=&Ci\ss@|.L9AoS`q}sD꧉0׾s)ڧVܪij g~C3 ՕUp_/](>-9#o`\gϸm@P_}}F# GC4h4~ \ =*~Ѭ5ivOtݍ/,IQvɏSt3ՠ?u57B 6vH+]77S]]s0DZoڮesSgy-e;ZǪU*]Ap(-U!)m޾\]ٛ T {8uIH]&%5 JS*lT*,бRU'my/E$ߔ}s ́n`)BDZ )Y\/78v\kcz㫼 0 MלRT \!py rvs S k+j}sH SBU_x vckJ(,ŗ6җt J r*ecu٪U9γۧlU'@*K/\t=Ү]iv1dOnKzo6'tu6G U6x,S 2n[VٷshIԾ\_S?^_Z7K׾y=Sۧ!ŗ|N]u>^'v?TK9Uu}k;'xSR?d`w~ -;?eYi +7e.@E!y=뚛[Z\ߗLoFpLxi/䅓si^Yrc{S2fUfKjX%/x3t\gWd6UŦV 1CߒfXUہkb7v)/t[UK){nZk$tΒйajݰJo<]"eg]MuY깮6kTu*S$`{+rIO<1!?hV0zl矟X@w-Tۧ.SKcb!psJx ]%]} mkz:Ⱦk9Tu[% vcute]~@UI?+ !kQHKGH˓ s:KfkFzBN]<ަ~]D .vX QCakrϮ7]+(u-ۤ*=}v)V!py\ ϡ}jP1W(kYr/l_ea] Sw+羞,NZ76fǫ-\Zu9f~]W: P̌t ѣٳttE! x{@dya0qvK1ܘxPk `rUrn(5M 1ʯ<-}A}y0˶k]{]*o;uUV]<5k~, sR( v]G}cz,6t~AcU4_f9KJamTؒUvqC &gϔ)BE[;Xހ _\9&0M#u\NY6orv+]Jژv;n_Ao>m p#,y~Q\{}wﱲW_W?W:r2\71__)wF[4䆿)mqxl, dY,_,ƶ1&ɠB*~~lrC ou%=Y[ ͣqWM/ 7Flyպ\Wuo(p78k1-CؼbXl*~T%x]۩)s]M5u ؁О]{[cafAs3s G*F1L0r,C\PțphO`W{5B`k9h\{9Pѱ)cmbs]:tM<\/;PN#%6嚓ݿ랮Ƥ+Um*us#%ITc9L*u Cbr~.ji/'<ӛտm)xc 0J`;ͩ{\ W4gy+fo)T l_/ uбWsؔpR,8L];mU9k{lj_a__Rfկ6:%sP%~>׭rľ쒆}۵OoeL~0*%+K'sYھ%~]c!pײ{hK]sIY| ;t.[27%k]KJ\o&^OMW/Gʱ\],MY:9n[n/V-\u E_kjϮ=_x'[,M~ɏ `2xro,oM)^U sF ݯrs7~?.Eq\|sL:ui ރu\~VSP9K:w)U+]}-uYg*ڊLZXB+s+ڷklE<˒@WQ Xbnu-3rГ. U*D]vMTrdzdՕZlO vCNXsvͿ%cR>:3Xz S.ư=r_XPsN0*W]9x[r{ۻuU憿)FP={]SB\bPQ̼6Z\p]Í=  z?EP /80[k?`W̾BY)[ 컾&C`{ދσ]- ]dWe؞y}nZjj lSPmޏ6_9^s{87nnol6uߔ^*Uu+.Kojo,N'U{VOi.]޸8@:E !P>r{6S%.O kؒЮ5eؒбkYU \ί %+c9I1VXރ9s'caUE=nR_=r&؜춮1RVoղϮ9, cn7N~q^5, t$oHT/V8o6ۄHVQJn fRZz4oIXةM])A_M"/5*ԟTs܄{bwfB?rϡC-7 iץe}bBbϮ=.|`,hӁ `HVn+& rЮeu]Aʱ.mk_K*W%9's _%mhI|RcהڮlhKW&%x[ۮ ʨԳ>:8Vj7}n%bU+}Y_v[uq^9hKK} `:@X/W)!ol9ƨʾbKB--m)١k/buEбcM˹BBp)kS4˙g}9n+5ϯ]Jk4ǮTկ-H SO/Wt{헾34^􈅀tU ^v]krU !\{cxޖ̀מWJŰ&:rE 㤆 MK%CrN{jҚɩSO6_)\_;eYXp89m:ܕsoĹzܳ:{67OV7ރjnfn J׽gH-".Mob_`!YrR qJxr϶X%2ٵ4sSO{P5W듺,tj? ׾<Ǟ4-m-kj 2%' -UReKm,3ݖIUNr*RT7ee.;Շ_gOOS=#̥K:w圎9.I5Ko>fj ^Mo+^zyvYU+s+-"3l6JJy]mec}-,\|vk[rťXpLjz_IUiRnkklZksu?\_)XJm,3}@/qE 'u‰/|Y?t7[p@%w>]Xο3Egy޵[kivi30-(P!~},*wjXޕu\NK,iNuuէ -Z-_}=)uoͭT7`i:i *!nHp^)w_>/55rϾvs4Q]U㺖* ]~6á'=tꔴ6oiI:zT鮻ݻ[Ω OzKz;g^3703ؙ6~AG{}- $`+Cl_8eNss >RCP{׹rOZSnWz}p6Uk~]7ͭ m|&5TMhNk=%/rx^O^n)xEW]7 7o$!0@  C`7R5NhN1rT ,ln!v;7Vi#̝eQS_Wo(v}#USoJy̬ w-c{MYzB6U~w"])oKgJ?HǏ'^x~od_a `U)UWukV*>|UҸ]jSj\ZT훨vqU9Kig J96~o窮ϮsTSvw~˶9K:T'vy!KTb4鏞f1˶uڕ_V}mv(g$篫m]OǤ/~/]~w*}x =LÓr_ץK `'Ѐ(}}B!p(l5o҇otyM2ڵ?/0.ۙa]jlcMHdt _Sk@׷sj)nu:lU;*oWHLc?.}KN_kv.kkz#XbüCy^zY|u6$t9knFoC49֩Ǟu-)bANU7d+>(9 +7KFul:`a!pLh9huNʆm\F_u-%))B`sl }Ap|=7=nYk_>ϡ@g*T5Nh"u߷q=fSUʒf۔`7DoB4-X8sݧ_|\u^7@ oA-7pv_jgqZWꓺ$tJ weSb6 - wo߹>\o__h4otא^5oyg׽m;'tox벟[[[\s_S7uߔ%}ǎ s`=:B:|8^Z-N&k]:p`"cTͮʴ+8%w%py&..bWڕ ^zמkia;]u9R}, Z~n.m[Mmt!}cK؆ ֔=c[J:վs\+t_WYJkkjzXպoh !iv6딙ތ}OAKz{o~oc$T@LSoW'gLכ 7Swkr&嵨}^lcSU\'t~1s{q֩6U%9)ORuNoԟI_紳 C}_vu{k+ߧ뗮ox2WsP >V{?`)=w~UmW|^ DBk g}VolØИc [\a; \_{ΚWO]rG`#%KAe9oTݲsW kv;9/v(j{ޡk"'v=[Kt(@ sBk_>%w3Ԧmə-gWlI]W_UByIj{7*RiWk n䳯Pmj.}-z/v|c~j2ן?iqv>0F 1@9UBX+tvܽ}ru( |}a5qá*p{<{.9T/7v ]}P lkjR'x 9o }}冩MWƪvSCc׹]}V `7gP/&U_vpI'1?/}õy7I>O7R 0X?ʱ}ZctJp;k9r.R<5 aoѱ<Ƿ=O{>m. mgG6ķvy)Rђ?wZ*r}R嶂~cEN{<YrඉeC"ggԥSiicv[TFoKH++to7?/T߿kFkv+}1[ 7]mR˜X^]UCQ')P%]P% kܔ]}΋=7l R_Wu_}[k\WBVQug~f`ʲu__X[9>OK/Ij}p}JZ\ן}uaBy|@o9Qmle,n+Mۛv܀lVe UPN\w9=#$7,e7tjhZ6';c~Xk[?d#L'O}J:s~Cjuu=zŇ̹gtʹk߯wߨynz6`'6E |ߔ7St7&B6tm`W9n,x!5 H9 %csU%蕚 87eb}AռM3nMR}^MML]G(}_ܼrNg/hS3߯}^=s RKطk6i'#}Vy.r5^'Ѿ~{2X_)ǫvM,\g| [F8e9JC!Gj`WnmN%9 4MM*[+˵sj5/ ml̾>R:^& ,[e/`_9KDO"<)v,4Nu+~ZlUThlsSW!YrMqU&ehjYRJw(UKySo4Rs8>T3=9!V-{L.lFo5UO5m/D >K_ IDATxkC*׾){VaWRl_W[גԡ}̹fu'>+WYvt9{ƤVwQε>Pb*__}WUK=KAnysy'߯Mk[*'A 6;vRf` K%TƖ6bJ87o }v==S`_k3*m})EMȹϷ[X:U,UY.*YG~+ߔ]BQ%uf[WH v mL>ZJU V۪qw2@ шw G&```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````` v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. html_logo = "tatic/colormap_logo_256.png" # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # the copybutton.js must be copied there: html_static_path = ["_static"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. html_last_updated_fmt = "%b %d, %Y" # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. html_index = "index.html" # Custom sidebar templates, maps page names to templates. # html_sidebars = { # 'index': [ 'indexsidebar.html'], # 'contents':'indexsidebar.html', # } # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = { 'index': 'index.html'} # If false, no module index is generated. html_use_modindex = True # If false, no index is generated. html_use_index = True # If true, the index is split into individual pages for each letter. html_split_index = False # If true, links to the reST sources are added to the pages. html_show_sourcelink = True html_copy_source = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = "doc" # -- Options for LaTeX output -------------------------------------------------- # NOT in original quickstart # imgmath_use_preview = True # The paper size ('letter' or 'a4'). latex_elements = {} latex_elements["latex_paper_size"] = "a4" # The font size ('10pt', '11pt' or '12pt'). latex_font_size = "10pt" # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ("index", "main.tex", title, author, "manual"), ] latex_elements = {"inputenc": "\\usepackage[utf8]{inputenc}"} # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Additional stuff for the LaTeX preamble. latex_elements[ "preamble" ] = r""" \definecolor{VerbatimColor}{rgb}{.9,1,0.9} \definecolor{VerbatimBorderColor}{rgb}{0,0,0} \setlength{\fboxrule}{2pt} \renewcommand{\Verbatim}[1][1]{% % list starts new par, but we don't want it to be set apart vertically \bgroup\parskip=0pt% \smallskip% % The list environement is needed to control perfectly the vertical % space. \list{}{% \setlength\parskip{5pt}% space between verbatim and previous paragraph \setlength\itemsep{0ex}% \setlength\topsep{1ex}% \setlength\partopsep{0pt}% \setlength\leftmargin{10pt}% }% \item\MakeFramed {\FrameRestore}% \small% \OriginalVerbatim[#1]% } """ # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [("index", project, project, [author], 1)] # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {"python": ("http://docs.python.org/", None)} cokelaer-colormap-8722b0b/doc/source/index.rst000066400000000000000000000002121474643342200213530ustar00rootroot00000000000000 |version|, |today| .. include:: ../../README.rst .. toctree:: :maxdepth: 2 :numbered: quickstart.rst references cokelaer-colormap-8722b0b/doc/source/quickstart.rst000066400000000000000000000126371474643342200224540ustar00rootroot00000000000000.. _quickstart: Conventions ============== hexadecimal --------------- hexadecimal can be encoded as explained in :meth:`colormap.colors.hex2rgb`: * #FFF * #0000FF * 0x0000FF * 0xFA1 normalisation --------------- By default, input should be normalised (e.g., RGB values between 0 and 1) and outputs are normalised. If you provide unnormalised values (e.g., RGB in 0-255) then set the noramlised parameter to True (see example in codecs). Codecs ========== list -------- There is a bunch of codecs available in :mod:`colormap.colors` such as hex2rgb:: >>> from colormap.colors import hex2rgb >>> hex2rgb("#FFF", normalise=False) (255, 255, 255) >>> hex2rgb("#FFFFFF", normalise=True) (1.0, 1.0, 1.0) =============== ===================================== codecs =============== ===================================== hex2web :meth:`colormap.colors.hex2web` web2hex :meth:`colormap.colors.web2hex` hex2rgb :meth:`colormap.colors.hex2rgb` rgb2hex :meth:`colormap.colors.rgb2hex` rgb2hls :meth:`colormap.colors.rgb2hls` rgb2hsv :meth:`colormap.colors.rgb2hsv` hsv2rgb :meth:`colormap.colors.hsv2rgb` hls2rgb :meth:`colormap.colors.hls2rgb` hex2dec :meth:`colormap.colors.hex2dec` yuv2rgb :meth:`colormap.colors.yuv2rgb` rgb2yuv_int :meth:`colormap.colors.rgb2yuv_int` yuv2rgb_int :meth:`colormap.colors.yuv2rgb_int` =============== ===================================== format ---------- * RGB (red/green/blue): a triple of values between 0 and 255 * HLS (): H in 0-360 and L,S in 0-100 * HSV (): H in 0-360, S,V in * YUV: all in 0-1 Color class =========== On task, which is quite common is to know the hexadecimal code of a color known by name (e.g. red). The :class:`colormap.colors.Color` would be useful:: >>> c = Color('red') >>> c.rgb (1.0, 0.0, 0.0) >>> c.hls (0.0, 0.5, 1.0) >>> c.hex '#FF0000' >>> print(c) Color Red hexa code: #FF0000 RGB code: (1.0, 0.0, 0.0) RGB code (un-normalised): [255.0, 0.0, 0.0] HSV code: (0.0, 1.0, 1.0) HSV code: (un-normalised) 0.0 100.0 100.0 HLS code: (0.0, 0.5, 1.0) HLS code: (un-normalised) 0.0 50.0 100.0 Input when instanciating can be anything in RGB, HEX, HLS, common name from :mod:`colormap.xfree86`:: >>> sorted(colormap.xfree86.XFree86_colors.keys()) colormap ============ There are lots of colormaps in matplotlib. This is great but some may be missing or it is not obvious to know what the colormap will look like. The :class:`colormap.colors.Colormap` class allows you: - To build easily new colormaps and visualise them - Visualise existing colormaps visualise colormaps ------------------------- .. plot:: :include-source: :width: 80% >>> from colormap import plot_category >>> plot_categoryp('sequentials') .. plot:: :include-source: :width: 80% >>> from colormap import plot_category >>> plot_category('sequentials2') .. plot:: :include-source: :width: 80% >>> from colormap import plot_category >>> plot_category('misc') .. plot:: :include-source: :width: 80% >>> from colormap import plot_category >>> plot_category('diverging') .. plot:: :include-source: :width: 80% >>> from colormap import plot_category >>> plot_category('qualitative') Visualise existing colormap ----------------------------- .. plot:: :include-source: :width: 80% >>> from colormap import plot_colormap, >>> plot_colormap("viridis") Create a linear colormap ------------------------------- The simplest colormap are linear with 3 colors. In such case, we provide a method that is easy to use. Imagine you want a colormap from red to green with white color in between: .. plot:: :include-source: :width: 80% from colormap import Colormap c = Colormap() cmap = c.cmap_linear('red', 'white', 'green') cmap = c.test_colormap(cmap) Here, we use color names, which are the xfree86 names. However, you could have used any format accepted by :class:`~colormap.Colors`:: red = Color('red') cmap = cmap_linear(red, 'white', '#0000FF') Create a general colormap ----------------------------- In the previous example, we used 3 colors assuming a linear scale. However, you may want a different scale, in which case, you need to provide more colors. In such case, you can use :meth:`~colormap.colors.Colormap.cmap` method. Here we again use the same example a above but it can be generalised easily. First, we need to know the RGB components of the colors:: >>> from colormap import Color, Colormap >>> green = Color('Dark Green').rgb >>> red = Color('red').rgb >>> white = Color('white').rgb >>> white (1.0, 1.0, 1.0) For instance RGB values of white are 1,1,1 Second, built a dictionary with the three RGB name (red/green/blue) as keys and with the values being the evolution of the red/green/blue when a value goes from 0 to 1. Here, we use a linear scaling so we just need 3 values at 0, 0.5, and 1. Therefore we have list of 4 values. You could provide list of arbitrary lengths if required :: >>> c = Colormap() >>> mycmap = c.cmap( {'red':[1,1,0,1], 'green':[0,1,.39,1], 'blue':[0,1,0,1]}) Finally, test it:: c.test_colormap(mycmap) .. plot:: from colormap import Colormap c = Colormap() c.test_colormap(c.cmap({'red':[1,1,0,1], 'green':[0,1,.39,1], 'blue':[0,1,0,1]})) cokelaer-colormap-8722b0b/doc/source/references.rst000066400000000000000000000004441474643342200223740ustar00rootroot00000000000000Reference guide =================== .. contents:: colors ------------ .. automodule:: colormap.colors :members: :inherited-members: :synopsis: cmap module --------------- .. automodule:: colormap.get_cmap xfree86 module ---------------- .. automodule:: colormap.xfree86 cokelaer-colormap-8722b0b/notebooks/000077500000000000000000000000001474643342200174555ustar00rootroot00000000000000cokelaer-colormap-8722b0b/notebooks/README.md000066400000000000000000000001641474643342200207350ustar00rootroot00000000000000Please see notebooks inside [nbviewer](http://nbviewer.ipython.org/github/cokelaer/colormap/tree/master/notebooks/) cokelaer-colormap-8722b0b/notebooks/colormap package demonstration.ipynb000066400000000000000000006046421474643342200265730ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "# Using the colormap package" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "- You can use the class Colormap as shown below\n", "- You can use the cmap_builder function and test_cmap function as well (see end of notebook)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "%pylab is deprecated, use %matplotlib inline and import the required libraries.\n", "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "from colormap import Colormap" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "c = Colormap()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "cmap = c.cmap('cool')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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+3xfX58eeeQRffe739Vll12mWbNmad26dfrFL36hXbt2jXn/1oOFSy65RNu2bdMrr7wiSfrlL3+pHTt26IorrpAkHThwQN3d3Wptbc2+pqamRnPmzNHOnTtH3OfAwIAymUzOAwCAuLEVLLiveQMDA57v29bWpiuvvDLn2ipJXV1dGhwczHl+xowZampqGvWaOxLrBY633HKLMpmMZsyYoZKSEg0NDWnVqlVauHChJKm7u1uSVFdXl/O6urq67Da3jo4O3X777ac9f2ouyp2T8mq7t9meehi3W1wH/Xn9pj6a9k/Scs/cotpsu+12mpZ7dgt7OWfbS3ebvl+slnt2tZOgsbExp71y5UrddtttI/bduHGjnn/+ee3evfu0bd3d3SovL1dtbW3O817X3JFYDxZ+/OMf69FHH9WGDRt09tlna+/evVq6dKkaGhq0aNGivPa5fPlytbe3Z9uZTOa0EwkAQNRszYY4dOiQqqurs89XVFSM2P/QoUO66aabtHXrVlVWVub/xj6sBwtf//rXdcstt+jaa6+VJJ177rn67W9/q46ODi1atEj19fWSpJ6eHk2bNi37up6eHp1//vkj7rOiomLUEwUAQFzYChaqq6tzgoXRdHV16ciRI/r4xz+efW5oaEjPPvusHnjgAT311FM6fvy4ent7c0YXenp6stfjsbBes/DOO++ouDh3tyUlJRoefnccqLm5WfX19dq2bVt2eyaTUWdnp1paWmwfDgAAqXX55ZfrxRdf1N69e7OP2bNna+HChdn/Lisry7nm7t+/XwcPHjS65lofWbjqqqu0atUqNTU16eyzz9YLL7yg7373u/rSl74kSdn5n3fccYemT5+u5uZmrVixQg0NDZo/f77Re9mqWaDt3aZmIby2n6hrFvz6F7rtPh+nbo/6swv7sw36WfltD/t246b9veoQ4lyzUOhFmSZNmqRzzjkn57kJEyZoypQp2ecXL16s9vZ2TZ48WdXV1brxxhvV0tKiiy++eMzvYz1YuP/++7VixQp99atf1ZEjR9TQ0KC/+Zu/0a233prtc/PNN+vYsWO64YYb1Nvbq0svvVRPPvlkqPkWAAAKIW6rMN57770qLi7WggULNDAwoHnz5umhhx4y2keRc+rSigmRyWRUU1Oj9fP79L6yd3M6g2W5fbzafn3dswX8tgftbzqbIujsBmZDjL496n+dujGykNv2+tdo0BtFBb2xlN/2oP1LT9jt794etH/ZoN3+7u2ntr22jdR+ZzCj67fUqK+vb0x1APk4eV3aNqtPE0rzf49jJzK6vCvcY81Hou8NQRqiMO2kBQunXmCjvuskUyeDtf2mQ3rddTJun2XQ/qQhxrZtpHaa0xCFkuhgAQCAOCFYAAAAntIaLFifOgkAANIl0SMLtmoWTHPspjl7v3bUNQhBjy/o+aNmIf/tQcW9ZsFrqqR7u99rwy5GDcrvXJjeZtn2Z2f6PeFXg+Dub7KdmoXCS3SwAABAnKQ1WCANAQAAPDGyAACAJWkdWUh0sDBcnF/NQtQ1A7bXOYj65wlakxC0hsGrDsG0JsF2DYNboefqhz0332+77XUVvOoSbN+i2k/U9SZufjUOptsLuaDWSNu9ahhMaxaGXQtMhSmtwQJpCAAA4CnRIwsAAMRJWkcWCBYAALCEYCGGhovfyzGb5LkLnYMP+14MYdcwBK054EZSo7fdov6iiPu6Cl51CV73jbAh6GdjWj9iuj+/dRhM13EIWpPg9z1guu7Cqe2g3xEwl+hgAQCAOGFkAQAAeCJYiKG0LPdse9g+7OOJ23LPQaZOhp2WcAt7up6foFMpC52mMLlFtVvalnsOmjYwXZ456PdErJZ7NlwqO4i0BgtkcgAAgKdEjywAABAnaR1ZIFgAAMASgoUYynfqZNg59rhPTYz78aV56qRb1FMpo17e2XQqZZRTJ4MKOnUyaA2DaY2CaU1E2FMnvb7DmToZvkQHCwAAxAkjCwAAwFNagwUGZwAAgKdEjyzYqlmI+hbLhb5FddjrNth+P7+6gzBrFkz7u4235Z5N+/vdtjhoTYWXqOtB/PoHXc7Z9i2qTf9ug9YwBPkOj7JmIa0jC4kOFgAAiJu4XvCDIA0BAAA8JXpkId/lnqNejjnp7bgtbx1kueewp1a62V5S2O/1YU/XM+1vOjXStL9X37CnVtpOO5i23b+7Qbfb/rs2STP47Y/lngsv0cECAABxQrAAAAA8pTVYoGYBAAB4SvTIQlhTJ2mH247TLaqTVrOQ9ltUB33/fPvaEPXS2HGrWQiz5oGpk4WX6GABAIA4SWuwQBoCAAB4YmQBAABL0jqykOhgwSmiZiGJ7SDLN5vuj5qFXNQs5P96v7w3NQt22yZ/16b7ClNagwXSEAAAwFOiRxYAAIiTtI4sJDpYYOokbSnZaQjT7ab9/ZZLNu0/ntMQQfuThrDXZupk4ZGGAAAAnhI9sgAAQJykdWSBYAEAAEsIFmLo1A/FJJccdGqf7al/tvcf9fGZvn/QugCv/QetSTDt72a7psGU6f6C5t39ahzcbb/bFpv29+ob9PfKzXbNgGnb9Ny5twe9ZXSU3xO2a4lsSmuwQM0CAADwlOiRBQAA4iStIwsECwAAWEKwEENxWWchSE49Cf3DroEI8/MImke13XYrdA2Dm2nNgWlNgp+gNQpety0Om+36jqDnwrR/0BqGKL8n4rzOQlolOlgAACBOGFkAAACe0hosMDgDAAA8JXpkId+ahaBz6+NW0xB1TYLttQxsvn/Y6ypEXaNgeq8Hv9eHXcNge+0Ak9eaClpjEHRdBds1DUFrGOL0PRHnmoW0jiwkOlgAACBO0hoskIYAAACeEj2yEJflnm2nGYKmHcI+nrgv92yyLGzap06apimCph2C8hsKd/P6u47bcs+m7+eXZvB7vWlaIknfE3Fe7jmK9yuERAcLAADESVrTEAQLAABYktZggZoFAADgKdEjC/nWLNjOY4+3qZNxqwPwen/bn23QmoSwaxRM2a5RMJ1K6VeTYJKHD1qjEDQHH3TqY9qmTob5PRHnmoW0jiwkOlgAACBO0hoskIYAAACeGFkAAMCStI4sJDpYCGu557jn5KNuh71Ogs3ltKOut3CznUs1XUfBdH9BaxT8mK6r4NXfdJ0EP6brJAStaUhbO8zvCZZ7LjzSEAAAwFOiRxYAAIgTRhYMvP766/rCF76gKVOmqKqqSueee6727NmT3e44jm699VZNmzZNVVVVam1t1auvvmr8Pic/FNPHyfTFyUe++ynUw+940/bzFHJ/YZ+7qH/WqN8/yZ9l2v6u0vbzmD4KxcbPbmLNmjWaOXOmqqurVV1drZaWFj3xxBPZ7f39/Wpra9OUKVM0ceJELViwQD09PcY/l/Vg4f/+7/80d+5clZWV6YknntDLL7+sf/qnf9L73//+bJ+7775bq1ev1tq1a9XZ2akJEyZo3rx56u/vt304AAAUTKGDhTPOOEN33nmnurq6tGfPHl122WW6+uqr9dJLL0mSli1bpscee0ybNm3S9u3bdfjwYV1zzTXGP5f1NMRdd92lxsZGrVu3Lvtcc3Nz9r8dx9F9992nb33rW7r66qslST/84Q9VV1enLVu26Nprr7V9SAAApNJVV12V0161apXWrFmjXbt26YwzztAjjzyiDRs26LLLLpMkrVu3TmeddZZ27dqliy++eMzvY31k4Wc/+5lmz56tz3/+85o6daouuOACPfzww9ntBw4cUHd3t1pbW7PP1dTUaM6cOdq5c+eI+xwYGFAmk8l5AAAQN7ZGFtzXvIGBAd/3Hhoa0saNG3Xs2DG1tLSoq6tLg4ODOdfbGTNmqKmpadTr7Wisjyz85je/0Zo1a9Te3q5vfOMb2r17t772ta+pvLxcixYtUnd3tySprq4u53V1dXXZbW4dHR26/fbbT3v+1BPrHrrxapv0pZ3sdpyOZSSmQ46FzL3GQZDzF/VnTTu8tu2/Q5vySSW4Xy9JjY2NOc+vXLlSt91224ivefHFF9XS0qL+/n5NnDhRmzdv1sc+9jHt3btX5eXlqq2tzenvdb0djfVgYXh4WLNnz9Z3vvMdSdIFF1ygffv2ae3atVq0aFFe+1y+fLna29uz7Uwmc9qJBAAgLQ4dOqTq6upsu6KiYtS+H/3oR7V371719fXp3/7t37Ro0SJt377d6vFYDxamTZumj33sYznPnXXWWfr3f/93SVJ9fb0kqaenR9OmTcv26enp0fnnnz/iPisqKjxPFAAAcWBrZOHk7IaxKC8v10c+8hFJ0qxZs7R7925973vf01/+5V/q+PHj6u3tzRld6OnpyV6Lx8p6zcLcuXO1f//+nOdeeeUVnXnmmZLeLXasr6/Xtm3bstszmYw6OzvV0tJi+3AAACiYQs+GGMnw8LAGBgY0a9YslZWV5Vxv9+/fr4MHDxpfb62PLCxbtkyXXHKJvvOd7+gv/uIv9Nxzz+kHP/iBfvCDH0iSioqKtHTpUt1xxx2aPn26mpubtWLFCjU0NGj+/PlG70XNAm2/dpyOZSTULHijZoH2SO041ywU2vLly3XFFVeoqalJb7/9tjZs2KCf//zneuqpp1RTU6PFixervb1dkydPVnV1tW688Ua1tLQYzYSQQggWLrzwQm3evFnLly/XP/7jP6q5uVn33XefFi5cmO1z880369ixY7rhhhvU29urSy+9VE8++aQqKyttHw4AAAVjKw0xVkeOHNFf//Vf64033lBNTY1mzpypp556Sp/+9KclSffee6+Ki4u1YMECDQwMaN68eXrooYeMj6vIcRzDW79EL5PJqKamRt/8ep8qK97N6QyW5fbxaru3nSgdvW8+28NuD5WYbQ+77b5JS9DtNm8s5Xczm0LfFMyt0CMLpjd68uvv3m677b6xlNd2v9cGbZcM2d0edrv0hNn2sNtlg/a2u/v6tfsHMlp1T436+vrGXAdg6uR16Z4v96mqPP/3+N3xjL7+cLjHmo9E3xsi3zTESPuJc9vNdHvc2m5h7q/QxxJ0/6b8Xu93p0NTtvcXdP+nbrd9V0ev94pj2y3NPw9piMJLdLAAAECcFDoNUSgECwAAWEKwAAAAfMX1gh/EuAwW4p77C7r/qI/P9P2DslmfYtrf9s8e9rnxY1ozELSGweb7uV9rWszpxvdEuPs3fX9Ea1wGCwAAhIE0BAAA8JTWYMH6cs8AACBdEj2ycGoEZ5JPCzv357c/0/5h5/psH1/U87ttHoupsPO4tvnVDAStKfATtCbi1O1Rr2MQt7/DoP39Xm/a3+bxxnmdhbSOLCQ6WAAAIE7SGiyQhgAAAJ5SM7Jgc6g66uHAQk/RMn29nzgP5yZt+ljYTNMOUS/37LXdLwUy3v4u0vw9EedplmkdWUhNsAAAQNTSGiyQhgAAAJ4YWQAAwJK0jiwkOljI90MJO7dmW9zz3GFPwQry/lGfu7jXMAStUQi6pLJbkPf3+72wPa3Tr3/Uf5em222L8nuCqZP2JTpYAAAgTtIaLFCzAAAAPDGyAACAJWkdWSBYUPg59EKuIzCW/oVeKjXqXOlYtxVC3PPKha5R8GNznQXbxxL09XxP2H19XKQ1WCANAQAAPDGyAACAJWkdWSBYAADAEoKFmLOZP4v6w0p67q+Q6yiELew8bdqYno9C1kCkLcc+no+fv8PCS02wAABA1BhZAAAAnggWEs7mBxDXD7NQbP/8YU4Ji3op6rSzvaSy6W2mvfoH3XdQ4+13wY3zmS7jJlgAACBsjCwAAABPBAsAAMBXXC/4QbCCIwAA8MTIAgAAlpCGAAAAntIaLJCGAAAAnsbNyILNZWULfZveuLH985vuz+82yvn2zae/7dcnTdDfhaCffVT7jmJ/STNez2daRxbGTbAAAEDY0hoskIYAAACeUjOy4B6iCjJkFfVwV6GHdm2zffxRDu0HXb54vPH77KL83bR9LGn7Oys0m9/RUf8sp0rryEJqggUAAKKW1mCBNAQAAPDEyAIAAJakdWSBYEHh59ht53GD9g/7+PzeP2ynvp/fbYoL/Yfp9/6FPj6/zybqXHCcjo/vCbO2qah/12whWAAAAJ7SGixQswAAADwxsgAAgCVpHVlIdLBQ5OSX57KdywtbnPK2I71foZfVNVmHIeoagaDvH/Vna7o9yvePOofO94T3+xXyeyLKzyKtwQJpCAAA4CnRIwsAAMRJWkcWUhMsBJnWY3u4zHQ4MOjrw95/3M6HyZ0jox72D/r+cZ86GfZ0O5tD62n/u/B7fdj7L+T5iDrl4yWtwQJpCAAA4Ck1IwsAAEQtrSMLBAsAAFhCsBBDp06dNMm/hZ3L89ufaf9C5w5N+4ediw1S0xC0RsH0D9d0f0mfOhn2NFi//ib7CrueIm5/h0H7+73etL/N47X9WcJfooMFAADihJEFAADgiWABAAD4iusFP4hxGSxEPV856vnWUc+Ft50/9Np/0BoF02ON+v3coq4pCDuvblKLZIrviXD3b/r+iNa4DBYAAAgDaQgAAOAprcECKzgCAABPiR5ZyHedhZH2E+e2W9TrGESdazVZmyDsmgE/tvcfdH+2+8ftdyNOxxK3vyu/7XFru3n9XQfdt01pHVlIdLAAAECcpDVYIA0BAAA8hR4s3HnnnSoqKtLSpUuzz/X396utrU1TpkzRxIkTtWDBAvX09Bjv+2QaggcPHjx48PB6FMrJkYUgDxMdHR268MILNWnSJE2dOlXz58/X/v37c/rYuOaGGizs3r1b3//+9zVz5syc55ctW6bHHntMmzZt0vbt23X48GFdc801YR4KAAChK3SwsH37drW1tWnXrl3aunWrBgcH9ZnPfEbHjh3L9rFxzQ2tZuHo0aNauHChHn74Yd1xxx3Z5/v6+vTII49ow4YNuuyyyyRJ69at01lnnaVdu3bp4osvPm1fAwMDGhgYyLYzmUxYhw0AQOTc17mKigpVVFSc1u/JJ5/Maa9fv15Tp05VV1eXPvGJT+R1zR1JaCMLbW1tuvLKK9Xa2przfFdXlwYHB3OenzFjhpqamrRz584R99XR0aGamprso7GxMazDBgAgb7ZGFhobG3Ouex0dHWN6/76+PknS5MmTJeV3zR1JKCMLGzdu1PPPP6/du3eftq27u1vl5eWqra3Neb6urk7d3d0j7m/58uVqb2/PtjOZjBobG3NyUe6clFfbpC/t5LXHum0s29PG9Oc1PX9RtuN0LLTj/VmHydZsiEOHDqm6ujr7/EijCm7Dw8NaunSp5s6dq3POOUdSftfckVgPFg4dOqSbbrpJW7duVWVlpZV9jjb8AgBAnNgKFqqrq3OChbFoa2vTvn37tGPHjvwPYBTW0xBdXV06cuSIPv7xj6u0tFSlpaXavn27Vq9erdLSUtXV1en48ePq7e3NeV1PT4/q6+ttHw4AAKm3ZMkSPf7443rmmWd0xhlnZJ+vr6+3cs21HixcfvnlevHFF7V3797sY/bs2Vq4cGH2v8vKyrRt27bsa/bv36+DBw+qpaXF9uEAAFAwhZ4N4TiOlixZos2bN+vpp59Wc3NzzvZZs2ZZueZaT0NMmjQpmys5acKECZoyZUr2+cWLF6u9vV2TJ09WdXW1brzxRrW0tIy5KvOkfGsWiofH3jcObffxDhebbY/6+P1+Hr8ljIOcH79cpd+5C8r9/kFXZzPdX9BcrWnu1/bvRpR/10n/nkjzzzMeahbGqq2tTRs2bNBPf/pTTZo0KVuHUFNTo6qqKtXU1Fi55kay3PO9996r4uJiLViwQAMDA5o3b54eeuihKA4FAIDEWrNmjSTpk5/8ZM7z69at0/XXXy/JzjW3IMHCz3/+85x2ZWWlHnzwQT344IOFeHsAAAqi0CMLjuM/bGLjmpvoG0kVD783VOUesvJqj7fhyaSlEUx5pV1M0wxB0xJB0wSmXxS2h1eDphlM+5v+LZkMTZt8J+RzLHxPeLfDPJ9BP9swcSMpAAAwLiV6ZAEAgDhJ68gCwQIAAJYQLMRQvlMnw86j2n696VRJv5oCv6mVfq/3q1GwXdMQJLdpeu7cTM9F0BoF21Mt/ZjWHPhtj3I6YNxz8mF/TwSdShn1z2PzOzzKqZNplehgAQCAOGFkAQAAeCJYAAAAvuJ6wQ8i0cFCvjULtnN/tmsS/F4fdLnnoDUJpvvzm+M8npd7Nt3uZnu556hrGOK83HPU3xM26zsKcTxh1lBQs1B4iQ4WAACIE9IQAADAE8FCDIW13HPQ4bLxNnXSL+1gOtXSlN/P73UspucuaNv21Mmgw6tRpx3CnDoZ9nLPcfueiNvUyTDTInFe7jmtEh0sAAAQJ4wsAAAAT2kNFriRFAAA8JTokYV8axaC5rsKXZNgu0Yh7OWc3QodKZ/689o+d378ag5sT520LWiNgml/m3UCtv+u4/Y9Eff+tmtGwvwOD1NaRxYSHSwAABAnaQ0WSEMAAABPjCwAAGBJWkcWEh0sxGW5Z9u5OdMahqjXDojbcs+nKnR9R9B1E0y/KMb7cs9eeey4Lfccdg1EoV8f5boPcV7umWABAAB4SmuwQM0CAADwxMgCAACWpHVkIdHBQlzWWQi7HbRGwHaNQqHz7jZfH/RnsX1ugt6S2nZNgl//JNcsRP13TNtem3UWCo80BAAA8JTokQUAAOIkrSMLiQ4WihzSEPlsjzoNYTq10k+a0hB+gn6RkIYYe5s0RrRtm7eoZupkcKQhAACAp0SPLAAAECdpHVkgWAAAwBKChRhi6mR+26OuWbBtPNUs+O3PLWiudjzXLJQMBXs97WBtr/Mf56mTaZXoYAEAgDhhZAEAAHgiWAAAAJ4IFmKoZOi9vJb71sJebdNbQPvl0oLuL2k1C35s/7L75a3d59+kr9/yyX79bdcoRP1FEbQmwbR/kBoF9/agc+9t1yiM95qHMM+ne9+mbZhLdLAAAEDcRB30h4FgAQAAS0hDxFBYUydN0wxB0xLu1/sNXfv19xtyi3vawc0rzeDH9l0go14a2zbTNILf9rDbNtMQhR5mDzos7ze0bvp+pvuL0/lg6mThJTpYAAAgThhZAAAAntIaLHAjKQAA4CnRIwu2ahb8ag6C1jCY5rVN9xe05sFU3CJfrzy3+7MKOjUy6uWe036LatOplWEu9xy0BiBoDYLtGoA0HV+caxbSOrKQ6GABAIA4SWuwQBoCAAB4YmQBAABL0jqykOhgwdZyz6Y1Cn41AraXkzZdzjlozUShf1mD5rWDLPdsex2FpN3e2y1u6yokeZ0F2+sYhL1ug+3jCXMdiDgv90ywAAAAPKU1WKBmAQAAeEr0yEK+Uyf90gxRT500TSu42Z4q6bd/U6bT90z3ZzJ10i+FFPflnf36B50qGXS77amShZw6GfbyxUGH0m1PdbR9PGGmbZg6WXiJDhYAAIiTtAYLpCEAAIAnRhYAALAkrSMLiQ4WioftTJ30q0kIO69tu4ahkNOEpOB5br/+plMnT91uWqMQ9lRKt6inUkZdo2BzuWfbyzvbXq44aE1AoW9RHXXb63iD7itMaQ0WSEMAAABPiR5ZAAAgTtI6skCwAACAJQQLMVQyJJX8PpGS5OWeTddlcAs6Nz/pyz171Rn41SAUerlnN2oWvNtxqlmIernnqGsGWO55fEt0sAAAQJwwsgAAADwRLMRQWGmIoFMlTfu7FToN4SfsJYNtt089/0m766Rb1GkIv/7cdXLs25M+lTFO7TinIdIaLDB1EgAAeEr0yAIAAHET19GBIAgWAACwJK1pCOvBQkdHh37yk5/o17/+taqqqnTJJZforrvu0kc/+tFsn/7+fv3d3/2dNm7cqIGBAc2bN08PPfSQ6urqjN6LmoWxbQ/aP2k1C6e2o54qydRJu21qFmjb2FeaPPvss7rnnnvU1dWlN954Q5s3b9b8+fOz2x3H0cqVK/Xwww+rt7dXc+fO1Zo1azR9+nSj97Fes7B9+3a1tbVp165d2rp1qwYHB/WZz3xGx44dy/ZZtmyZHnvsMW3atEnbt2/X4cOHdc0119g+FAAACurkyEKQh4ljx47pvPPO04MPPjji9rvvvlurV6/W2rVr1dnZqQkTJmjevHnq7+83eh/rIwtPPvlkTnv9+vWaOnWqurq69IlPfEJ9fX165JFHtGHDBl122WWSpHXr1umss87Srl27dPHFF5+2z4GBAQ0MDGTbmUzG9mEDABCYrTSE+zpXUVGhioqK0/pfccUVuuKKK0bel+Povvvu07e+9S1dffXVkqQf/vCHqqur05YtW3TttdeO+bhCnw3R19cnSZo8ebIkqaurS4ODg2ptbc32mTFjhpqamrRz584R99HR0aGamprso7GxMezDBgAgMo2NjTnXvY6ODuN9HDhwQN3d3TnX25qaGs2ZM2fU6+1oQi1wHB4e1tKlSzV37lydc845kqTu7m6Vl5ertrY2p29dXZ26u7tH3M/y5cvV3t6ebWcyGTU2NlqrWbBdgxA0zxx2zYKbX554qCTc/YWZ1/ZbervQtxt3o2bBux2n5Z5Nl0OOU44/n3bpCbO27fdLas2CrZGFQ4cOqbq6Ovv8SKMKfk5eU931gF7X29GEGiy0tbVp37592rFjR6D9jDb8AgBAnNgKFqqrq3OChaiFloZYsmSJHn/8cT3zzDM644wzss/X19fr+PHj6u3tzenf09Oj+vr6sA4HAIBx5eQ1taenJ+f5fK631oMFx3G0ZMkSbd68WU8//bSam5tzts+aNUtlZWXatm1b9rn9+/fr4MGDamlpsX04AAAUTKFnQ3hpbm5WfX19zvU2k8mos7PT+HprPQ3R1tamDRs26Kc//akmTZqUzYvU1NSoqqpKNTU1Wrx4sdrb2zV58mRVV1frxhtvVEtLy4gzIbyEVbNQ6Dx22HnvsJnWJPi9Pmhe2+veEIVed8Et6ntF2L4XhGn/MGsWTPrm0w7zlsvjoW2zxmE81CyM1dGjR/Xaa69l2wcOHNDevXs1efJkNTU1aenSpbrjjjs0ffp0NTc3a8WKFWpoaMhZi2EsrAcLa9askSR98pOfzHl+3bp1uv766yVJ9957r4qLi7VgwYKcRZkAAEiyQgcLe/bs0ac+9als++RkgEWLFmn9+vW6+eabdezYMd1www3q7e3VpZdeqieffFKVlZVG71PkOI7hvzWil8lkVFNTo3+d16f3lb1bADJYltvHq+3edqJ09L75bA+77f6Xu9/2sNvukZig203bXiNDUY8iuTGyYNZmZCH/tt+/5E1nOwRtlw3a2+7u69d+ZzCjv3yqRn19faEVDZ68Lp39//pUMjH/9xg6mtFLc8M91nwk+t4QJUNS6e+/PE2+xKNOI4Q99TJspmkHv+1BgwWv2077TZV0b0/a0t22BQ0GTPv7XeDTtNxz2MGDaXAQt2DFJJgJOq0zTIUeWSiURAcLAADESVqDhdBXcAQAAMnGyAIAAJakdWQh0cFCyZBU8vsTG6flnuPGdtGZ3/LPaVru2a+mgeWew22z3HP+7agLHFnuOf/XxxFpCAAA4CnRIwsAAMRJWkcWCBYAALCEYCGGSk+89wMUcp0Ft7Svq+Dml2f2W4Qp7HUWTm2zzoIZ1lkYezvp6yyEve5C0BoHm+ssuNswl+hgAQCAOGFkAQAAeCJYiKFCTZ1Mehoh7KmTtrfbvOtk1FMn3bg3hFmbe0Pk3zZNM4Q9ddLmctRMnSw8pk4CAABPiR5ZAAAgbuI6OhAEwQIAAJakNQ2R6GDB1tRJN2oUzNqmUyPDnjrptdxz0KmRLPfsvZ3lnkfvH7eahbCXew7z/Zk6WXiJDhYAAIgTRhYAAICntAYLzIYAAACeEj2yUDIUj+We3cKuebC9JK/p+42n5Z6pWTDbHmUNQ9yXew7aP+i6CWEv/1zImoag+w5TWkcWEh0sAAAQJ2kNFkhDAAAAT4keWSg9IZX+fhjSZhrCLewleYMuweu3PWh/v6mPUU+V9GpHPVUy6uWd/dhe/pk0xOjbk56GKPRUS6tTJ0lDBJboYAEAgDghWAAAAJ7SGixQswAAADwlemQhrjULpqhZsNs+9fNiuWdvcZ86GaflnqlZyG2XDZrtj5qFsb8+jhIdLAAAECdpDRZIQwAAAE+MLAAAYElaRxYSHSzYqlkotKDLMdvOI/vlZv2Wa/br77edmoX8twdFzcLY26Y1B1Hfsjpu6yb41TiY1EBQs1B4pCEAAICnRI8sAAAQJ2kdWSBYAADAEoKFGMq3ZsFP1Hlkt6jX47e9roLtGgavOgTTmgTbNQxuhb4PSdj1MH7bbdcoePU3qW8YS9uvBiFuNQumNQpR1zAEqXGIc81CWiU6WAAAIE4YWQAAAJ4IFmKo9IRUNuzfz0/QD8d0qNd0f3GbvmZ7qqS7/3i+RXXUXxRR/65xi+qxt4Mu/2w7LWG6/HOQ/u7X+rVLLVwnxiqtwQJTJwEAgKdEjywAABA3cR0dCIJgAQAAS5wiSSlMQyQ6WCg9IZX+PpES5+Weo14SN+gUsrgv9xxk6mTYNQxuQab05tPfLehUykLXNJhMh7Q9dTJpyz3HfepkpMs9F7BmIa0SHSwAABAnjCwAAABPaQ0WmA0BAAA8JXpkoWxQKotBuBN0nYW41TSEvc5CmOsquNtxW2fBLep1F6Je3pl1FsbeP+i6CmGvu2B7nQWvtRNM11mwsR7PWKV1ZCHRwQIAAHGS1mAhBv8uBwAAcZbokYWo0hC2p59FPdQbNM0Qp7SDux00DWHa3228Lfds2j/otN8o0xCFXt45aVMng6YlSEPES6KDBQAA4oRgAQAAeEprsEDNAgAA8JTokYWSofeW8Qw6hc1L2DUKNpe8Hcv2oG3TGga/GoOgyz8HWe457KmVbjZ/L8fy+rCn9Zr2D7OGwfbfgV/NAcs9m7WDTJV09zd975KAfwcm0jqykOhgAQCAOElrsEAaAgAAeGJkAQAAS9I6spDoYKFsUCrL48QGrUHw2572mgW/mgTTmoWg6zCMp5qFtN+impqF/NvjqWbBeJ0FahYCIw0BAAA8JXpkAQCAOEnryEKigwXSEPltJw0xtteOpT9pCLP+pCHCa5OG8GiThgiMNAQAAPCU6JEFAADiJK0jCwQLAABYQrAQggcffFD33HOPuru7dd555+n+++/XRRddNObXl52QyvJ4X2oW7LapWRi97Za2W1T7badmYfTt1Cx4b7das6DCSWuwEFnNwr/+67+qvb1dK1eu1PPPP6/zzjtP8+bN05EjR6I6JAAAMIIix3EKWCf6njlz5ujCCy/UAw88IEkaHh5WY2OjbrzxRt1yyy05fQcGBjQwMJBt9/X1qampSYd0SNWqliQNusZIBstGb7tvXOTVV5JOlIbbdh9P0O1ht23fGMqvv+m//hlZyN94Glnw2257ZKHQIw1JH3lwt089Ht+RBNe+M8qoUY3q7e1VTU2NwpDJZN7d96FDUnV1kB1JjY3q6+tTdZD9WBZJGuL48ePq6urS8uXLs88VFxertbVVO3fuPK1/R0eHbr/99tOeb1Tjew3XL8dp7d8FOGAAQOK9+eaboQUL5eXlqq+vV3djo39nH/X19SovL7dwVPZEEiz87//+r4aGhlRXV5fzfF1dnX7961+f1n/58uVqb2/Ptnt7e3XmmWfq4MGDoX3waZXJZNTY2KhDhw7FKmpNCs5f/jh3wXD+8ndyNHry5MmhvUdlZaUOHDig48ePB95XeXm5KisrLRyVPYmYDVFRUaGKiorTnq+pqeGPJk/V1dWcuwA4f/nj3AXD+ctfcXG4ZXqVlZWxu8jbEkmB4wc+8AGVlJSop6cn5/menh7V19dHcUgAAGAUkQQL5eXlmjVrlrZt25Z9bnh4WNu2bVNLS0sUhwQAAEYRWRqivb1dixYt0uzZs3XRRRfpvvvu07Fjx/TFL37R97UVFRVauXLliKkJeOPcBcP5yx/nLhjOX/44d8FFNnVSkh544IHsokznn3++Vq9erTlz5kR1OAAAYASRBgsAACD+uOskAADwRLAAAAA8ESwAAABPBAsAAMBTIoOFBx98UB/60IdUWVmpOXPm6Lnnnov6kGKno6NDF154oSZNmqSpU6dq/vz52r9/f06f/v5+tbW1acqUKZo4caIWLFhw2kJZkO68804VFRVp6dKl2ec4d6N7/fXX9YUvfEFTpkxRVVWVzj33XO3Zsye73XEc3XrrrZo2bZqqqqrU2tqqV199NcIjjo+hoSGtWLFCzc3Nqqqq0oc//GF9+9vf1ql16Jy/dz377LO66qqr1NDQoKKiIm3ZsiVn+1jO01tvvaWFCxequrpatbW1Wrx4sY4ePVrAnyJBnITZuHGjU15e7vzzP/+z89JLLzlf/vKXndraWqenpyfqQ4uVefPmOevWrXP27dvn7N271/nTP/1Tp6mpyTl69Gi2z1e+8hWnsbHR2bZtm7Nnzx7n4osvdi655JIIjzp+nnvuOedDH/qQM3PmTOemm27KPs+5G9lbb73lnHnmmc7111/vdHZ2Or/5zW+cp556ynnttdeyfe68806npqbG2bJli/PLX/7S+bM/+zOnubnZ+d3vfhfhkcfDqlWrnClTpjiPP/64c+DAAWfTpk3OxIkTne9973vZPpy/d/3Hf/yH881vftP5yU9+4khyNm/enLN9LOfps5/9rHPeeec5u3btcv7zP//T+chHPuJcd911Bf5JkiFxwcJFF13ktLW1ZdtDQ0NOQ0OD09HREeFRxd+RI0ccSc727dsdx3Gc3t5ep6yszNm0aVO2z69+9StHkrNz586oDjNW3n77bWf69OnO1q1bnT/5kz/JBgucu9H9wz/8g3PppZeOun14eNipr6937rnnnuxzvb29TkVFhfOjH/2oEIcYa1deeaXzpS99Kee5a665xlm4cKHjOJy/0biDhbGcp5dfftmR5OzevTvb54knnnCKioqc119/vWDHnhSJSkOcvLV1a2tr9jmvW1vjPX19fZKUvetaV1eXBgcHc87ljBkz1NTUxLn8vba2Nl155ZU550ji3Hn52c9+ptmzZ+vzn/+8pk6dqgsuuEAPP/xwdvuBAwfU3d2dc+5qamo0Z86ccX/uJOmSSy7Rtm3b9Morr0iSfvnLX2rHjh264oorJHH+xmos52nnzp2qra3V7Nmzs31aW1tVXFyszs7Ogh9z3CXirpMnmd7aGu8aHh7W0qVLNXfuXJ1zzjmSpO7ubpWXl6u2tjanb11dnbq7uyM4ynjZuHGjnn/+ee3evfu0bZy70f3mN7/RmjVr1N7erm984xvavXu3vva1r6m8vFyLFi3Knp+R/obH+7mTpFtuuUWZTEYzZsxQSUmJhoaGtGrVKi1cuFCSOH9jNJbz1N3dralTp+ZsLy0t1eTJkzmXI0hUsID8tLW1ad++fdqxY0fUh5IIhw4d0k033aStW7em9nazYRkeHtbs2bP1ne98R5J0wQUXaN++fVq7dq0WLVoU8dHF349//GM9+uij2rBhg84++2zt3btXS5cuVUNDA+cPkUpUGoJbW5tbsmSJHn/8cT3zzDM644wzss/X19fr+PHj6u3tzenPuXw3zXDkyBF9/OMfV2lpqUpLS7V9+3atXr1apaWlqqur49yNYtq0afrYxz6W89xZZ52lgwcPSlL2/PA3PLKvf/3ruuWWW3Tttdfq3HPP1V/91V9p2bJl6ujokMT5G6uxnKf6+nodOXIkZ/uJEyf01ltvcS5HkKhggVtbj53jOFqyZIk2b96sp59+Ws3NzTnbZ82apbKyspxzuX//fh08eHDcn8vLL79cL774ovbu3Zt9zJ49WwsXLsz+N+duZHPnzj1tiu4rr7yiM888U5LU3Nys+vr6nHOXyWTU2dk57s+dJL3zzjsqLs79Wi4pKdHw8LAkzt9YjeU8tbS0qLe3V11dXdk+Tz/9tIaHh7mh4UiirrA0tXHjRqeiosJZv3698/LLLzs33HCDU1tb63R3d0d9aLHyt3/7t05NTY3z85//3HnjjTeyj3feeSfb5ytf+YrT1NTkPP30086ePXuclpYWp6WlJcKjjq9TZ0M4DuduNM8995xTWlrqrFq1ynn11VedRx991Hnf+97n/Mu//Eu2z5133unU1tY6P/3pT53/+q//cq6++upxOfVvJIsWLXL+4A/+IDt18ic/+YnzgQ98wLn55puzfTh/73r77bedF154wXnhhRccSc53v/td54UXXnB++9vfOo4ztvP02c9+1rnggguczs5OZ8eOHc706dOZOjmKxAULjuM4999/v9PU1OSUl5c7F110kbNr166oDyl2JI34WLduXbbP7373O+erX/2q8/73v9953/ve53zuc59z3njjjegOOsbcwQLnbnSPPfaYc8455zgVFRXOjBkznB/84Ac524eHh50VK1Y4dXV1TkVFhXP55Zc7+/fvj+ho4yWTyTg33XST09TU5FRWVjp/+Id/6Hzzm990BgYGsn04f+965plnRvyOW7RokeM4YztPb775pnPdddc5EydOdKqrq50vfvGLzttvvx3BTxN/3KIaAAB4SlTNAgAAKDyCBQAA4IlgAQAAeCJYAAAAnggWAACAJ4IFAADgiWABAAB4IlgAAACeCBYAAIAnggUAAOCJYAEAAHj6/78lViX9ckumAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGFCAYAAABg2vAPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAGYUlEQVR4nO3WMQEAIAzAMMC/5yFjRxMFPXtnZg4AkPW2AwCAXWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiDMDABBnBgAgzgwAQJwZAIA4MwAAcWYAAOLMAADEmQEAiPsF9wcGCbd4pQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# let us see what it looks like\n", "c.test_colormap(cmap)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Would be nice to plot a bunch of colormap to pick up one interesting\n", "c.plot_colormap('diverging')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.plot_colormap(c.misc)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\nn/xLXFEXAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.plot_colormap(c.qualitative)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.plot_colormap(c.sequentials)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEmCAYAAABbDlZtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHXFJREFUeJzt3X20bXVd7/H3Z+0DgkDiQ5lldsYlChUU5cgQBa+iOcpr\nhoLDrk+h3VLzoXu9UjaupWXeMGxkT2ZZBgm3CPQmWqmFoIQST/IgIfQgZreuYSbiA+fC2d/7x5pr\n77nXXmvtxx9nHXi/xthjz/ld3/mb399c65zvmGuvNWeqCkmSWhns7QIkSfdsNhpJUlM2GklSUzYa\nSVJTNhpJUlM2GklSUzYaSVJTNhpJUlM2GklSUzYaSVJTO1oMmqRGHWww9rPZWIvtAixMifW322qM\n3n42EgMYDCADWBgMl0ex/s968vrro7xZY43yYHnMSTkbyYOVNc6az3bMeVTX5KIWxmKZkDeeM1iZ\nt2Lshcl5M3MGy7mrYgtTas/snEl5U+c8aT4Lq8fK+Kt0tD7+r2dS3rScUSxj462VNytnMDYeTPgX\nNZY3njMrb6Nz7uctJdwrDdZOkSRp82w0kqSmbDSSpKZsNJK0j0jy3CQ3JrloA9tcnGTXBvKPTvKM\nzVU4mY1GkvYdPwL8aFU9peE+jga2tdE0+dSZJGlrkvwJ8B3AAcCvAt8KHA/8XpILgBuAk4CDgMOB\ntwH7Ay8CdgPPqKovdcM9N8k7gEOBH6mqS5IcAPwWsAu4C3gtcCnw88CBSY4HfrGqzt3qXGw0kjSf\nXlpVX0pyIHAF8B+BE4HXVdWVSU4FjgQew7AZ/R3wU1X1mCS/ArwYeHs31o6qOrZ7S+yNwNOAVwJV\nVUclOQL4CPDdwM8Cu6rqVds1Ed86k6T59Jok1wKXMTyzOXxCzkVVdXtV3QrcBnygi18P7Ozlva/7\nfVUvfjxwNkBVfQb4HMNGs+08o5GkOZPkyQzPOo6rqq8nuZjhWcu43b3lxd76Iiv/fx/F97AX/t/3\njEaS5s/9gH/vmswRwOMb7OMS4AUASb4beBhwE3A7cMh27shGI0nz50PAjiQ3AqczfPtsu70DGCS5\nHjgXOLWqdgMXAY9Ick2S523HjlJV2zHOykG91pnXOptSg9c6mzQhr3W2nLtWntc62xcN1k6RJGnz\nbDSSpKZsNJKkpmw0kqSmbDSSpKaafOpMkqQRz2gkSU3ZaCRJTdloJElNtbm4WlJL34PN2M9mYy22\ng5Vf6u3HGMvfSqy/n43GptW53vlMOg6T6pyWN17TtLE3mzethu2Y81Zr2MrraCuv29F42zHWVuY8\naz6z5ryZ4zBtzps9pts5542+Jicer+qPcq/jGY0kqSkbjSSpKRuNJKkpG40k7eOSnJTkEXu7jmls\nNJK07zsJsNFIktYvyZ8kuSrJDUl+rIt9tff4KUnOTPIE4FnAGd3Nyg5LcnGSXV3eg5Lc0i2f2o37\nF0luSfKqJK9N8qkklyV5QJd3cZK3Jrk8yc1JTtjKXGw0kjSfXlpVxwC7gNckeeCkpKr6BHABcFpV\nHV1Vf7/GuEcCzwEeB7wF+HpVPQb4JPDiXt6OqjoW+K/AG7cykTbfo5EkbdVrkjy7W/4O4PBtGvei\nqroduD3JbcAHuvj1wKN6ee/rfl8F7NzKDm00kjRnkjwZeBpwXFV9PcnFwAFA/yrIB8wY4i6W37Ea\nz9vdW17srS+ysieM4nvYYq/wrTNJmj/3A/69azJHAI/v4l9I8vAkA+DZvfzbgUN667cAx3TLp7Qu\ndi02GkmaPx8CdiS5ETgduKyLvx74IPAJ4F96+X8EnNb9Uf8w4G3AK5J8CnjQ3Vf2ZG3uR+O1zta+\n5tJ6Yxu5rtSsvLXqnJY3XtN6ryu11etPbcect/MaWJutYT1jr/f52cxYW5nzrPnMmvNmjsO0OW/2\nmG7nnDf6mpx4vLzWmSRJzdhoJElN2WgkSU3ZaCRJTdloJElNtfnUmSRJHc9oJElN2WgkSU01udZZ\nkhp9WylJ72ewMkYgo7zBitwVsdE3n3rjLOf0YqvyZoxNoBdfHmts7K7GVbWPx5byVu9z5ZwHvTnP\nmM/SXGYcl1XHZso+R3X2apw8n9GxGYzNZdLYwziDSfsLGYzl9XMG4/PJMG+Q1cdmMD42S9sxmFD7\n0vi9vKljhaWUQf/YrK51fC6Tx8roKVs951Vj9WqcOdb0uaw+7izVtWougwlz7j1/q8Ya9PIIg7Gc\n0fqgf2xm5A2frqzI6+9v9XbT81aus/RvYHJdy3mjuUyua+281dutzJs2n+4xv7ApSVIrNhpJUlM2\nGklSUzYaSVJTNhpJmjNJdib59N6uY7vYaCRJTdloJGk+7UhyTpIbk5yf5L5Jnprhzc2uT/LuJPcB\nSHJLkp9LcnX32BFd/KAu7/Juux/cGxOx0UjSfPoe4B1V9XDgK8BrgTOB51XVUQy/B/mKXv4Xq+qx\n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\n4/XbvVHufTyjkSQ1ZaORJDVlo5EkNWWjkSQ1ZaORJK1bhjbUO2w0kjRnkhyU5E+TXJvk00mel+SW\nJA/qHt+V5OJu+U1JzkpySZLPJXlOkl9Kcn2SDyXZr8u7JckvJrkmyZVJHpvkw0n+PsnLe/s+LckV\nSa5L8nNdbGeSm5L8AfBp4Ds2Mh8bjSTNn+8D/rmqHl1VRwIfWiP/MOBE4FnA2cBFVXUU8A3gP/Xy\n/rGqjgYuAc4ETgEeD4waytOBw4FjgaOBY5I8qdv2cOAdVfXIqvrcRiZjo5Gk+XM98L1J3prkhKpa\n6zbLf15Vd3bbLbDcmK4HdvbyLujF/7qqbq+qW4Hd3U3Qnt79fIrh7Z2PYNhgAD5XVZdtZjLe+EyS\n5kxV3ZzkscAzgF9IciFwF8snBweMbbK7224xyZ21fLXkRVb+P7+7F9/di4/yAvxiVf12f/AkO4Gv\nbXY+ntFI0pxJ8m3A16vqbOAM4LHALcAxXcrJjXb9YeClSQ7u6vj2JN+y1UE9o5Gk+XMUcEaSReBO\n4BXAgcDvJXkzcHGLnVbVR5I8HPhkhtfO+SrwQmDPVsZtcj8ar3W2MgZe62wpLeu75ta65rzeY7NG\nrUs1TNpuizVMm99ax91rna1dQ4vn2WudteFbZ5Kkpmw0kqSmbDSSpKZsNJKkpmw0kqSmmnzqTJKk\nEc9oJElN2WgkSU3ZaCRJTTW5BE1Cke5vPwFSy783G2Ps8fXGZo1NdV/FnxDrj7PVGCzvZ0OxXm2D\ndcx5Vl7/OIzyVhyb/na9vP6Ys47xZvNW1DAlb2mcUc4mjs1maljva21pvP52Gxh7Xc/POue35pwn\nPM+bOQ79Y7jeGtY9597zvNn/C1bMeQPzW9drcsLzvEZdxZu8MoAkSa3YaCRJTdloJElN2WgkaR+T\n5M+6O2LOyjm1u6/NXmejkaR9TFU9o6q+vEbaqcCGGk2SJh8Qs9FI0pxJclqS13TLv5Lko93yiUnO\nSXJLkgcl2ZnkxiTvSnJDko8kOTDJKcAu4Jwk13SxY5J8LMlVST6c5CHdmBcneXuSK4GfaDEfG40k\nzZ9LgBO65V3AwUn262IfH8s9HPjNqnok8GXg5Ko6H7gSeEFVHQ3cBfw6cEpVHQO8G3hLb4z9q2pX\nVf1yi8l4K2dJmj9XAcck+SZgN3A1w4ZzAvAa4Kd7uZ+tqmt62+2cMN73AEcCf9HdonkB+Jfe4+du\nZ/HjbDSSNGeq6s4kn2X4d5ZPANcBTwG+C7hxLH13b3kPcOCEIQPcUFXHTdnl17ZU8Bp860yS5tMl\nwOsYvlV2CfBy4FO1/kvu3w4c0i3fBHxzkuMAkuyX5JHbXO9UNhpJmk+XAA8BPllVXwDu6GLrdSbw\nziTXMHyr7BTgrUmuBa4BnrC95U7X5H40XutsLAZe68xrna0/NhpvIzV4rbPteZ691lkTntFIkpqy\n0UiSmrLRSJKastFIkpqy0UiSmmryqTNJkkY8o5EkNWWjkSQ1ZaORJDVlo5EkNWWjkSQ1ZaORJDVl\no5EkNWWjkSQ1ZaORJDVlo5EkNWWjkSQ1ZaORJDVlo5EkNWWjkSQ1ZaORJDVlo5EkNWWjkSQ1ZaOR\nJDVlo5EkNWWjkSQ1ZaORJDVlo5EkNWWjkSQ19f8BUolYrrePi7sAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.plot_colormap(c.sequentials2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd8AAAEmCAYAAAAjnZqJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu4XHV97/H3ZzbUGGhRLvWuQS6mUQhKCHI1UODgc2hR\nLqVow80TtFKlePDgeeoFBVq1R63WprVBQhVKBQXhIRakSCDEJAQScgGJ9Bg8niM1KEpLuNWZ7/lj\n/SasrD2zZvbO3r89O3xezzPPnvVd399tTeC7f2tm762IwMzMzPJpTPQEzMzMXmhcfM3MzDJz8TUz\nM8vMxdfMzCwzF18zM7PMXHzNzMwyc/E1MzPLzMXXzMwsMxdfMzOzzFx8zczMMtthXHqVopWetiqP\n0cYmS7tcc2gCMYK8XuN1y6seN1MsOuSV59Qsta3Oszr3Zo+88nGL4fPslgcqgo0GqFF8BZCgMVSJ\nNTrklWLVfraKlfrrOF6PvofFUn8jmkNNbLRrrr0ONWse1XXosuYRvxal/mBs1tzpGo7wtYg57X+M\nZgXvfM3MzDJz8TUzM8vMxdfMzCwzF18zM7PMXHzNzMwyc/E1MzPLzMXXzMwsMxdfMzOzzFx8zczM\nMnPxNTMzy8zF18xsOyBpjqSba85fLOnCDvFpktaPcszFkmaNpu1YtJ/MXHzNzAaYCv5/9XbGL6iZ\n2YBJu9ENkr4GrAfmSlomaZWk6yTtnPKOl/SQpFXASX10PTP187CkeV3GXZLGWSXp0NK5iyStk7RG\n0qcr7RqSrpR0aZf1DKXz61MfF3RrL+kcSX9VOjdP0hf6WNukMj5/1cjMzLbVPsCZwL8C1wPHRMRm\nSRcBH5L0WWABcHTK+UYffe4PvBXYCVgtaVHl/Cbg2Ih4RtI+wDXALElvB04EDo6IpyTtWmqzA3A1\nsD4iLusy7gHAqyLiTQCSXtKtffrG4s8kfTgi/hM4G3hvH2ubVLzzNTMbTD+OiOUUxXIGsFTS/RQF\n+XXAdGBjRDwcEQFc1UefN0bE0xHxc+AOYHbl/I7AAknrgOvSuADHAAsj4imAiHi81OYr1BdegB8B\nr5f015KOB/69W/uIeBL4HnCCpOnAjhGxro+1TSouvmZmg2lz+irgtog4ID1mRMR7Rtln9Di+APgZ\nMBOYBfxGH31+HzhK0pSug0b8MvW5GHgfcHmP9pcDZ1Hsehf2MYdJx8XXzGywLQcOk7Q3gKSdJO0L\nPARMk7RXyju9j75OlDRF0m7AHGBl5fwuwKMR0QLmAkMpfhtwtqSpaQ7l285fBb4DXCup41uZknYH\nGhHxLeCjwFvq2kfECuA1wLsobn1vd1x8zcwGWEQ8RrELvEbSWmAZMD0ingHOBRalD1xt6qO7tRS3\nm5cDl0TETyvn5wNnSlpDcVt7c5rDLcBNwL3p1vdWP7IUEZ8HVgNf7/LJ7FcBi1Pbq4D/2Uf7a4Gl\nade83VHxVsFY96popaetymO0scnSLtccmhT3i/rN6zVet7zqcTPFokNeeU7NUtvqPKtzb/bIKx+3\nGD7PbnnF3Tqg0QA1iq8AEjSGKrFGh7xSrNrPVrFSfx3H69H3sFjqb0RzqImNds2116FmzaO6Dl3W\nPOLXotQfjM2aO13DEb4WMaf9j9H6lX5m+QsRcftEz2U8eOdrZmYDQ9JLJP0QeHp7LbzgHzUyM9uu\nSDobOL8SXhoR52UafwXwokp4br+fWI6IXwH7jvnEBoyLr5nZdiQiFjKBnxCOiIMnauzJxLedzczM\nMnPxNTMzy8zF18zMLDMXXzMzs8xcfM3MzDJz8TUzM8vMxdfMzCwzF18zM7PMxud3O5uZmVlX3vma\nmZll5uJrZmaWmYuvmZlZZi6+ZmZmmbn4mpmZZebia2Zmltn4/D1fKVrpaavyGG1ssrTLNYcmECPI\n6zVet7zqcTPFokNeeU7NUtvqPKtzb/bIKx+3GD7PbnmgFG2UHu34UCXW6JBXd1yOlfsbSbtusXZ/\nY9HXtqy5bj11ax7Ndei25tFe0/ZrPxZr7nQNR9ZXxJYJmQHe+ZqZmWXn4mtmZpaZi6+ZmVlmLr5m\nZmaZufiamZll5uJrZmaWmYuvmZlZZi6+ZmZmmbn4mpmZZebia2ZmlpmLr5nZdkDSHEk315y/WNKF\nHeLTJK0f5ZiLJc3qM/fJLvErJZ0ymvEnMxdfM7MBpoL/X72d8QtqZjZg0m50g6SvAeuBuZKWSVol\n6TpJO6e84yU9JGkVcFIfXc9M/TwsaV6XcZekcVZJOrR07iJJ6yStkfTpSrtG2sFe2mNdX5D0gKTb\nJe3R4fwjknZPz2dJWpye7yTpCkn3SFot6cQ+1jrQXHzNzAbTPsB84G3Ae4BjIuItwL3AhyRNARYA\nvwccCLy8jz73B44GDgE+LumVlfObgGPTOKcBXwKQ9HbgRODgiJgJfLbUZgfgauDhiPhozdg7AfdG\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# This list is implemented in colormap package itself\n", "c.plot_colormap(c.diverging_black)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Well, I have not found the one I wanted...I wanted from red to white to green" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA5FJREFUeJzt1MENwCAQwLDS/Xc+tgCJ2BPklTUzHwDv+28HAHCG4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QMQGL4sE9RSocXsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mycmap = c.cmap_linear('red', 'white', 'green(w3c)')\n", "c.test_colormap(mycmap)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\nhwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA5FJREFUeJzt1MENwCAQwLDS/Xc+tgCJ2BPklTUzHwDv+28HAHCG4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QMQGL4sE9RSocXsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mycmap = c.cmap_bicolor('red', 'green(w3c)')\n", "c.test_colormap(mycmap)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA5FJREFUeJzt1MENwCAQwLDS/Xc+tgCJ2BPklTUzHwDv+28HAHCG4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QMQGL4sE9RSocXsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# there is also 2 extra maps from R\n", "mycmap = c.get_cmap_heat()\n", "c.test_colormap(mycmap)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# color can be given a a name available in \n", "import colormap.xfree86 as colors" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "['Light Sea Green', 'Pale Turquoise', 'White Smoke', 'Tomato', 'Rosy Brown']" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(colors.XFree86_colors.keys())[0:5]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "['#20B2AA', '#AFEEEE', '#F5F5F5', '#FF6347', '#BC8F8F']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#or \n", "list(colors.XFree86_colors.values())[0:5]" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# or as RGB, HLS, HSV, YUX, Hexa format\n", "from colormap import Color" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "co = Color('white')" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "'#FFFFFF'" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "co.hex" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAA5FJREFUeJzt1MENwCAQwLDS/Xc+tgCJ2BPklTUzHwDv+28HAHCG4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+\nQIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5A\nhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE\n4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QITh\nA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOED\nRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNE\nGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QYPkCE4QNEGD5AhOEDRBg+QIThA0QY\nPkCE4QNEGD5AhOEDRBg+QMQGL4sE9RSocXsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mycmap = c.cmap_linear('red', '#FFFFFF', 'green(w3c)')\n", "c.test_colormap(mycmap)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(1.0, 0.0, 0.0)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Conversion between colors\n", "c = Color('red')\n", "c.rgb" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(0.0, 0.5, 1.0)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c.hls" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "'#FF0000'" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c.hex" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Color Red\n", " hexa code: #FF0000\n", " RGB code: (1.0, 0.0, 0.0)\n", " RGB code (un-normalised): [255.0, 0.0, 0.0]\n", "\n", " HSV code: (0.0, 1.0, 1.0)\n", " HSV code: (un-normalised) 0.0 100.0 100.0\n", "\n", " HLS code: (0.0, 0.5, 1.0)\n", " HLS code: (un-normalised) 0.0 50.0 100.0\n", "\n", "\n" ] } ], "source": [ "print(c)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Using cma_builder and test_cmap" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Instead of using the Colormap class, you can also use the cmap_builder alias function andthe test_cmap function" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from colormap import cmap_builder, test_cmap" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAYtJREFUeJztwTEBAAAAwqD1T20KP6AAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAB4Gt1LAAHo3iMrAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mycm = cmap_builder('red', 'white', 'green')\n", "test_cmap(mycm)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "deletable": true, "editable": true, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.16" } }, "nbformat": 4, "nbformat_minor": 4 } cokelaer-colormap-8722b0b/pyproject.toml000066400000000000000000000041651474643342200203740ustar00rootroot00000000000000[build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [project] name = "colormap" version = "1.3.0" description = "Commn utilities to ease development of Python packages" authors = [ { "name" = "Thomas Cokelaer", "email" = "thomas.cokelaer@pasteur.fr" }, ] license = "BSD-3-Clause" readme = "README.rst" keywords = ["config", "decorators", "development"] dynamic = ["dependencies", "requires-python"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Information Analysis", ] [project.urls] Homepage = "https://colormap/dev.readthedocs.io" Repository = "https://github.com/cokelaer/colormap" Issues = "https://github.com/cokelaer/colormap/issues" Documentation = "https://colormap.readthedocs.io" [tool.poetry.dependencies] # to keep python3.8, we need this convoluated pins on matplotlbi and numpy # python 3.8 and python3.12 are quite afar wrt numpy installation. python = "^3.8,<4" matplotlib = [ {version = "^3.9.2", python ="^3.12"}, {version = "^3", python ="<3.12"}, ] numpy = [ {version = "^2", python ="^3.10"}, {version = "<2,", python ="<3.10"} ] importlib_resources = [ {version = ">6", python=">=3.9,<=3.10"} ] [tool.poetry.group.dev.dependencies] pytest = "^8.0.0" pytest-cov = "^4.1.0" pytest-xdist = "^3.5.0" pytest-mock = "^3.12.0" pytest-runner = "^6.0.1" coveralls = "^3.3.1" flaky = "^3.7.0" [tool.poetry.group.doc.dependencies] sphinx = ">3" sphinx-rtd-theme = "^2.0.0" sphinx-gallery = "^0.15.0" cokelaer-colormap-8722b0b/src/000077500000000000000000000000001474643342200162415ustar00rootroot00000000000000cokelaer-colormap-8722b0b/src/colormap/000077500000000000000000000000001474643342200200555ustar00rootroot00000000000000cokelaer-colormap-8722b0b/src/colormap/__init__.py000066400000000000000000000021001474643342200221570ustar00rootroot00000000000000# -*- python -*- # -*- coding: utf-8 -*- # # This file is part of the colormap software # # Copyright (c) 2014-2-24 # # File author(s): Thomas Cokelaer # # Distributed under the terms of the 3-clause BSD license. # The full license is in the LICENSE file, distributed with this software. # # Website: https://www.github.com/cokelaer/colormap # Documentation: http://packages.python.org/colormap # ############################################################################## """main colormap module""" from importlib import metadata def get_package_version(package_name): try: version = metadata.version(package_name) return version except metadata.PackageNotFoundError: # pragma: no cover return f"{package_name} not found" version = get_package_version("colormap") from . import colors from .colors import * from .get_cmap import * from .xfree86 import * c = Colormap() colormap_names = c.colormaps + c.diverging_black # create an alias to test_colormap methiod test_colormap = c.test_colormap test_cmap = c.test_colormap cokelaer-colormap-8722b0b/src/colormap/colors.py000066400000000000000000001065041474643342200217360ustar00rootroot00000000000000# -*- python -*- # -*- coding: utf-8 -*- # # This file is part of the colormap software # # Copyright (c) 2011-2024 # # File author(s): Thomas Cokelaer # # Distributed under the terms of the 3-clause BSD license. # The full license is in the LICENSE file, distributed with this software. # # Website: https://github.com/cokelaer/colormap # Documentation: http://packages.python.org/colormap # ############################################################################## """Utilities provided in this module can be found either in the standard Python module called :mod:`colorsys` or in matplotlib.colors (e.g rgb2hex) or are original to this module (e.g., rgb2huv) """ # matplotlib dependence is only inside Colormap class import colorsys from colormap.xfree86 import XFree86_colors __all__ = [ "HEX", "Color", "hex2web", "web2hex", "hex2rgb", "hex2dec", "rgb2hex", "rgb2hsv", "hsv2rgb", "rgb2hls", "hls2rgb", "yuv2rgb", "rgb2yuv", "to_intensity", "yuv2rgb_int", "rgb2yuv_int", "Colormap", "plot_category", "plot_colormap", ] def check_range(data, dmin, dmax): if data < dmin or data > dmax: raise ValueError(f"Value must be in the range [{dmin}-{dmax}]. You provided {data}") def swapdict(dic, check_ambiguity=True): """Swap keys for values in a dictionary :: >>> d = {'a':1} >>> swapdict(d) {1:'a'} """ # this version is more elegant but slightly slower : return {v:k for k,v in dic.items()} if check_ambiguity: # pragma: no cover assert len(set(dic.keys())) == len(set(dic.values())), "values is not a set. ambiguities for keys." return dict(zip(dic.values(), dic.keys())) def hex2web(hexa): """Convert hexadecimal string (6 digits) into *web* version (3 digits) .. doctest:: >>> from colormap.colors import hex2web >>> hex2web("#FFAA11") '#FA1' .. seealso:: :func:`web2hex`, :func:`hex2rgb` :func:`rgb2hex`, :func:`rgb2hsv`, :func:`hsv2rgb`, :func:`rgb2hls`, :func:`hls2rgb` """ hexa = HEX().get_standard_hex_color(hexa) return "#" + hexa[1::2] def web2hex(web): """Convert *web* hexadecimal string (3 digits) into 6 digits version .. doctest:: >>> from colormap.colors import web2hex >>> web2hex("#FA1") '#FFAA11' .. seealso:: :func:`hex2web`, :func:`hex2rgb` :func:`rgb2hex`, :func:`rgb2hsv`, :func:`hsv2rgb`, :func:`rgb2hls`, :func:`hls2rgb` """ return HEX().get_standard_hex_color(web) def hex2rgb(hexcolor, normalise=False): """This function converts a hex color triplet into RGB Valid hex code are: * #FFF * #0000FF * 0x0000FF * 0xFA1 .. doctest:: >>> from colormap.colors import hex2rgb >>> hex2rgb("#FFF", normalise=False) (255, 255, 255) >>> hex2rgb("#FFFFFF", normalise=True) (1.0, 1.0, 1.0) .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`rgb2hex`, :func:`rgb2hsv`, :func:`hsv2rgb`, :func:`rgb2hls`, :func:`hls2rgb` """ hexcolor = HEX().get_standard_hex_color(hexcolor)[1:] r, g, b = int(hexcolor[0:2], 16), int(hexcolor[2:4], 16), int(hexcolor[4:6], 16) if normalise: r, g, b = _normalise(r, g, b) return r, g, b def rgb2hex(r, g, b, normalised=False): """Convert RGB to hexadecimal color :param: can be a tuple/list/set of 3 values (R,G,B) :return: a hex vesion ofthe RGB 3-tuple .. doctest:: >>> from colormap.colors import rgb2hex >>> rgb2hex(0,0,255, normalised=False) '#0000FF' >>> rgb2hex(0,0,1, normalised=True) '#0000FF' .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`hex2rgb` , :func:`rgb2hsv`, :func:`hsv2rgb`, :func:`rgb2hls`, :func:`hls2rgb` """ if normalised: r, g, b = _denormalise(r, g, b, mode="rgb") r = int(r) g = int(g) b = int(b) check_range(r, 0, 255) check_range(g, 0, 255) check_range(b, 0, 255) return "#%02X%02X%02X" % (r, g, b) def rgb2hls(r, g, b, normalised=True): """Convert an RGB value to an HLS value. :param bool normalised: if *normalised* is True, the input RGB triplet should be in the range 0-1 (0-255 otherwise) :return: the HLS triplet. If *normalised* parameter is True, the output triplet is in the range 0-1; otherwise, H in the range 0-360 and LS in the range 0-100. .. doctest:: >>> from colormap.colors import rgb2hls >>> rgb2hls(255,255,255, normalised=False) (0.0, 1.0, 0.0) .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`hex2rgb` :func:`rgb2hex`, :func:`hsv2rgb`, :func:`hls2rgb` """ # rgb_to_hsv expects normalised values ! if normalised: upper = 1 else: upper = 255 check_range(r, 0, upper) check_range(g, 0, upper) check_range(b, 0, upper) if normalised == False: r, g, b = _normalise(r, g, b) h, l, s = colorsys.rgb_to_hls(r, g, b) return h, l, s def rgb2hsv(r, g, b, normalised=True): """Convert an RGB value to an HSV value. :param bool normalised: if *normalised* is True, the input RGB triplet should be in the range 0-1 (0-255 otherwise) :return: the HSV triplet. If *normalised* parameter is True, the output triplet is in the range 0-1; otherwise, H in the range 0-360 and LS in the range 0-100. .. doctest:: >>> from colormap.colors import rgb2hsv >>> rgb2hsv(0.5,0,1) (0.75, 1, 1) .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`hex2rgb` :func:`rgb2hex`, :func:`hsv2rgb`, :func:`rgb2hls`, :func:`hls2rgb` """ # rgb_to_hsv expects normalised values ! if normalised: upper = 1 else: upper = 255 check_range(r, 0, upper) check_range(g, 0, upper) check_range(b, 0, upper) if normalised == False: r, g, b = _normalise(r, g, b) h, s, v = colorsys.rgb_to_hsv(r, g, b) return h, s, v def hsv2rgb(h, s, v, normalised=True): """Convert a hue-saturation-value (HSV) value to a red-green-blue (RGB). :param bool normalised: If *normalised* is True, the input HSV triplet should be in the range 0-1; otherwise, H in the range 0-360 and LS in the range 0-100. :return: the RGB triplet. The output triplet is in the range 0-1 whether the input is normalised or not. .. doctest:: >>> from colormap.colors import hsv2rgb >>> hsv2rgb(0.5,1,1, normalised=True) # doctest: +SKIP (0, 1, 1) .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`hex2rgb` :func:`rgb2hex`, :func:`rgb2hsv`, :func:`rgb2hls`, :func:`hls2rgb` .. seealso:: :func:`rgb2hex` """ if normalised: upper = 1 else: upper = 100 if normalised: uppera = 1 else: uppera = 360 check_range(h, 0, uppera) check_range(s, 0, upper) check_range(v, 0, upper) if normalised == False: h, s, v = _normalise(h, s, v, mode="hsv") return colorsys.hsv_to_rgb(h, s, v) def hls2rgb(h, l, s, normalised=True): """Convert an HLS value to a RGB value. :param bool normalised: If *normalised* is True, the input HLS triplet should be in the range 0-1; otherwise, H in the range 0-360 and LS in the range 0-100. :return: the RGB triplet. The output triplet is in the range 0-1 whether the input is normalised or not. .. doctest:: >>> from colormap.colors import hls2rgb >>> hls2rgb(360, 50, 60, normalised=False) # doctest: +SKIP (0.8, 0.2, 0.2) .. seealso:: :func:`hex2web`, :func:`web2hex`, :func:`hex2rgb` :func:`rgb2hex`, :func:`rgb2hsv`, :func:`hsv2rgb`, :func:`rgb2hls`, """ if normalised: upper = 1 else: upper = 100 if normalised: uppera = 1 else: uppera = 360 check_range(h, 0, uppera) check_range(s, 0, upper) check_range(l, 0, upper) if normalised == False: h, l, s = _normalise(h, l, s, mode="hls") return colorsys.hls_to_rgb(h, l, s) def hex2dec(data): """convert hexadecimal string (data) into a float in the [0-65536] inclusive range""" if data[0] == "#": data = data.replace("#", "") return int(data, 16) / 255 def rgb2yuv(r, g, b): """Convert RGB triplet into YUV :return: YUV triplet with values between 0 and 1 `YUV wikipedia `_ .. warning:: expected input must be between 0 and 1 .. note:: the constants referenc used is Rec. 601 """ check_range(r, 0, 1) check_range(g, 0, 1) check_range(b, 0, 1) # y = int(0.299 * r + 0.587 * g + 0.114 * b) # u = int(-0.14713 * r + -0.28886 * g + 0.436 * b) # v = int(0.615 * r + -0.51499 * g + -0.10001 * b) y = 0.299 * r + 0.587 * g + 0.114 * b u = -32591 / 221500 * r + -63983 / 221500 * g + 0.436 * b v = 0.615 * r + -72201 / 140200 * g + -7011 / 70100 * b return (y, u, v) def yuv2rgb(y, u, v): """Convert YUV triplet into RGB `YUV `_ .. warning:: expected input must be between 0 and 255 (not normalised) """ check_range(y, 0, 1) check_range(u, 0, 1) check_range(v, 0, 1) A, B, C, D = 701 / 615, 25251 / 63983, 209599 / 361005, 443 / 218 r = y + A * v g = y - B * u - C * v b = y + D * u return (r, g, b) def rgb2yuv_int(r, g, b): """Convert RGB triplet into YUV `YUV wikipedia `_ .. warning:: expected input must be between 0 and 255 (not normalised) """ check_range(r, 0, 255) check_range(g, 0, 255) check_range(b, 0, 255) y = int(0.299 * r + 0.587 * g + 0.114 * b) u = int(-32591 / 221500 * r + -63983 / 221500 * g + 0.436 * b) v = int(0.615 * r + -72201 / 140200 * g + -7011 / 70100 * b) return (y, u, v) def yuv2rgb_int(y, u, v): """Convert YUV triplet into RGB `YUV `_ .. warning:: expected input must be between 0 and 255 (not normalised) """ check_range(y, 0, 255) check_range(u, 0, 255) check_range(v, 0, 255) r = int(y + 1.13983 * v) g = int(y - 0.39465 * u - 0.58060 * v) b = int(y + 2.03211 * u) return (r, g, b) def _denormalise(r, g, b, mode="rgb"): assert mode in ["rgb", "hls", "hsv"], f"Please provide valid mode in [rgb, hls, hsv]. you provided {mode}" if mode == "rgb": return r * 255, g * 255, b * 255 elif mode in ["hls", "hsv"]: return r * 360, g * 100, b * 100 def _normalise(r, g, b, mode="rgb"): assert mode in ["rgb", "hls", "hsv"], f"Please provide valid mode in [rgb, hls, hsv]. you provided {mode}" if mode == "rgb": return r / 255, g / 255, b / 255 elif mode in ["hls", "hsv"]: return r / 360, g / 100, b / 100 def to_intensity(n): """Return intensity :param n: value between 0 and 1 :return: value between 0 and 255; round(n*127.5+127.5) """ check_range(n, 0, 1) return round(n * 127.5 + 127.5) class HEX(object): """Class to check the validity of an hexadecimal string and get standard string By standard, we mean #FFFFFF (6 digits) :: >>> h = HEX() >>> h.is_valid_hex_color("#FFFF00") True """ def __init__(self): pass def is_valid_hex_color(self, value, verbose=True): """Return True is the string can be interpreted as hexadecimal color Valid formats are * #FFF * #0000FF * 0x0000FF * 0xFA1 """ try: self.get_standard_hex_color(value) return True except Exception as err: if verbose: print(err) return False def get_standard_hex_color(self, value): """Return standard hexadecimal color By standard, we mean a string that starts with # sign followed by 6 character, e.g. #AABBFF """ if isinstance(value, str) == False: raise TypeError("value must be a string") if len(value) <= 3: raise ValueError("input string must be of type 0xFFF, 0xFFFFFF or #FFF or #FFFFFF") if value.startswith("0x") or value.startswith("0X"): value = value[2:] elif value.startswith("#"): value = value[1:] else: raise ValueError("hexa string must start with a '#' sign or '0x' string") value = value.upper() # Now, we have either FFFFFF or FFF # now check the length for x in value: if x not in "0123456789ABCDEF": raise ValueError("Found invalid hexa character {0}".format(x)) if len(value) == 6 or len(value) == 8: value = "#" + value[0:6] elif len(value) == 3: value = "#" + value[0] * 2 + value[1] * 2 + value[2] * 2 else: raise ValueError("hexa string should be 3, 6 or 8 digits. if 8 digits, last 2 are ignored") return value class Color(HEX): """Class to ease manipulation and conversion between color codes You can create an instance in many differen ways. You can either use a human-readable name as long as it is part of the `XFree86 list `_ You can also provide a hexadecimal string (either 3 or 6 digits). You can use triplets of values corresponding to the RGB, HSV or HLS conventions. Here are some examples: .. doctest:: from colormap import Color Color("red") # human XFree86 compatible representation Color("#f00") # standard 3 hex digits Color("#ff0000") # standard 6 hex digits Color(hsv=(0,1,0.5)) Color(hls=(0, 1, 0.5)) # HLS triplet Color(rgb=(1, 0, 0)) # RGB triplet Color(Color("red")) # using an instance of :class:`Color` Note that the RGB, HLS and HSV triplets use normalised values. If you need to normalise the triplet, you can use :mod:`colormap.colors._normalise` that provides a function to normalise RGB, HLS and HSV triplets:: colors._normalise(*(255, 255, 0), mode="rgb") colors._normalise(*(360, 50, 100), mode="hls") If you provide a string, it has to be a valid string from XFree86. In addition to the official names, the lower case names are valid. Besides, there are names with spaces. The equivalent names without space are also valid. Therefore the name "Spring Green", which is an official name can be provided as "Spring Green", "spring green", "springgreen" or "SpringGreen". """ # Get official color names colors = XFree86_colors.copy() # add color names without spaces aliases = dict([(x.replace(" ", ""), x) for x in colors.keys() if " " in x]) # add color names without spaces in lower cases aliases.update([(x.replace(" ", "").lower(), x) for x in colors.keys() if " " in x]) # add color names in lower case aliases.update(dict([(x.lower(), x) for x in colors.keys()])) aliases.update(dict([(x, x) for x in colors.keys()])) # keep track of all possible names color_names = sorted(list(set(list(colors.keys()) + list(aliases.keys())))) def __init__(self, name=None, rgb=None, hls=None, hsv=None): super(Color, self).__init__() self._name = None self._mode = None self._rgb = None # Does the user provided the name argument (first one) as a string ? if isinstance(name, str): # if so, it can be a valid human name (e.g., red) or an hex # assuming that valid hexadecimal starts with # or 0x, # if we can interpret the string as an hexadecimal, we are done if self.is_valid_hex_color(name, verbose=False): self.hex = name else: # if not, then, the user probably provided a valid color name # the property will check the validity. self.name = name[:] # all other input parameters are ignored elif name == None: if rgb: self.rgb = rgb elif hls: self.hls = hls elif hsv: self.hsv = hsv else: raise ValueError("You must set one of the parameter") elif isinstance(name, Color): self.rgb = name.rgb else: raise ValueError("name parameter must be a string") def _get_name(self): return self._name def _set_name(self, name): assert name in self.color_names, f"Please provide valid name from {self.color_names}. you provided {name}" name = self.aliases[name] self._name = name # set hex and rgb at the same time based on the name self.hex = self.colors[name] name = property(_get_name, _set_name) color = property(_get_name, _set_name) def _get_hex(self): return self._hex def _set_hex(self, value): # hex is an approximation made of 255 bits so do not define rgb here if self.is_valid_hex_color(value): value = self.get_standard_hex_color(value) self._hex = value if self._hex in self.colors.values(): self._name = swapdict(self.colors, check_ambiguity=False)[self._hex] else: self._name = "undefined" self._rgb = hex2rgb(self._hex, normalise=True) else: # just to warn the user self.get_standard_hex_color(value) hex = property(_get_hex, _set_hex, doc="getter/setter the hexadecimal value.") def _get_rgb(self): return self._rgb def _set_rgb(self, value): # set name, hex and rgb self.hex = rgb2hex(*value, normalised=True) # must reset rgb with its real value (set_hex may round the rgb) # in _set_hex self._rgb = value rgb = property(_get_rgb, _set_rgb, doc="getter/setter the RGB values (3-length tuple)") def _get_hsv(self): hsv = rgb2hsv(*self.rgb) return hsv def _set_hsv(self, value): # TODO: value must be normalised self.rgb = hsv2rgb(*value) hsv = property(_get_hsv, _set_hsv, doc="getter/setter the HSV values (3-length tuple)") def _get_hls(self): hls = rgb2hls(*self.rgb) return hls def _set_hls(self, value): # hls = _normalise(*value, mode="hls") # else: hls = value self.rgb = hls2rgb(*hls) hls = property(_get_hls, _set_hls, doc="getter/setter the HLS values (3-length tuple)") def _get_lightness(self): return self.hls[1] def _set_lightness(self, lightness): h, l, s = self.hls self.hls = (h, lightness, s) lightness = property(_get_lightness, _set_lightness, doc="getter/setter the lightness in the HLS triplet") def _get_saturation_hls(self): return self.hls[2] def _set_saturation_hls(self, saturation): h, l, s = self.hls self.hls = (h, l, saturation) saturation_hls = property( _get_saturation_hls, _set_saturation_hls, doc="getter/setter the saturation in the HLS triplet" ) def _get_hue(self): return self.hls[0] def _set_hue(self, hue): h, l, s = self.hls self.hls = (hue, l, s) hue = property(_get_hue, _set_hue, doc="getter/setter the saturation in the HLS triplet") def _get_red(self): return self.rgb[0] def _set_red(self, red): r, g, b = self.rgb self.rgb = (red, g, b) red = property(_get_red, _set_red, doc="getter/setter for the red color in RGB triplet") def _get_green(self): return self.rgb[1] def _set_green(self, green): r, g, b = self.rgb self.rgb = (r, green, b) green = property(_get_green, _set_green, doc="getter/setter for the green color in RGB triplet") def _get_blue(self): return self.rgb[2] def _set_blue(self, blue): r, g, b = self.rgb self.rgb = (r, g, blue) blue = property(_get_blue, _set_blue, doc="getter/setter for the blue color in RGB triplet") def _get_value(self): return self.hsv[2] def _set_value(self, value): h, s, v = self.hsv self.hsv = (h, s, value) value = property(_get_value, _set_value, doc="getter/setter the value in the HSV triplet") def _get_yiq(self): return colorsys.rgb_to_yiq(*self.rgb) yiq = property(_get_yiq, doc="Getter for the YIQ triplet") def __str__(self): txt = "Color {0}\n".format(self.name) txt += " hexa code: {0}\n".format(self.hex) txt += " RGB code: {0}\n".format(self.rgb) txt += " RGB code (un-normalised): {0}\n\n".format([x * 255 for x in self.rgb]) txt += " HSV code: {0}\n".format(self.hsv) txt += " HSV code: (un-normalised) {0} {1} {2}\n\n".format( self.hsv[0] * 360, self.hsv[1] * 100, self.hsv[2] * 100 ) txt += " HLS code: {0}\n".format(self.hls) txt += " HLS code: (un-normalised) {0} {1} {2}\n\n".format( self.hls[0] * 360, self.hls[1] * 100, self.hls[2] * 100 ) return txt def plot_category(name): c = Colormap() assert name in c.categories, f"Use one of {c.categories}. you provided {name}" c.plot_colormap(name) from pylab import title def plot_colormap(name): c = Colormap() assert name in c.colormaps, f"Use one of {c.colormaps}. you provided {name}" c.test_colormap(name) class Colormap: """Class to create matplotlib colormap This example show how to get the pre-defined colormap called *heat* .. plot:: :include-source: from pylab import * from colormap.colors import Colormap c = Colormap() cmap = c.get_cmap_heat() c.test_colormap(cmap) You may be more interested in building your own colormap:: # design your own colormap d = {'blue': [0,0,0,1,1,1,0], 'green':[0,1,1,1,0,0,0], 'red': [1,1,0,0,0,1,1]} cmap = c.cmap(d, reverse=False) # see the results c.test_colormap(cmap) If you want a simple linear colormap, you can use the example above, or use the :meth:`cmap_linear`. For instance for a diverging colormap from red to green (with with color in between):: cmap = c.cmap_linear("red", "white", "green") c.test_colormap(cmap) Even simpler, you can use a bicolor colormap :meth:`cmap_bicolor`. For instance for a red to green colormap:: cmap = c.cmap_bicolor("red", "green") c.test_colormap(cmap) From matplotlib documentation, colormaps falls into 4 categories: #. Sequential schemes for unipolar data that progresses from low to high #. Diverging schemes for bipolar data that emphasizes positive or negative deviations from acentral value #. Cyclic schemes meant for plotting values that wrap around at the endpoints, such as phase angle, wind direction, or time of day #. Qualitative schemes for nominal data that has no inherent ordering, where color is used only to distinguish categories :references: matplotlib documentation and examples http://matplotlib.org/examples/color/colormaps_reference.html """ def __init__(self): self.categories = [ "sequentials2", "sequentials", "misc", "diverging_black", "perceptually_uniform", "diverging", "cyclic", "qualitative", ] def _get_colormap_mpl(self): try: from matplotlib.pyplot import colormaps as _cmaps return _cmaps() except Exception: # pragma: no cover return [] colormaps = property(_get_colormap_mpl) def _get_cyclic(self): return ["twilight", "twilight_shifted", "hsv"] cyclic = property(_get_cyclic) def _get_perceptually_uniform(self): return ["viridis", "plasma", "inferno", "magma", "cividis"] perceptually_uniform = property(_get_perceptually_uniform) def _get_sequentials(self): return [ "Blues", "BuGn", "BuPu", "GnBu", "Greens", "Greys", "OrRd", "Oranges", "PuBu", "PuBuGn", "PuRd", "Purples", "RdPu", "Reds", "YlGn", "YlGnBu", "YlOrBr", "YlOrRd", ] sequentials = property(_get_sequentials) def _get_sequentials2(self): return [ "afmhot", "autumn", "binary", "bone", "cool", "copper", "gist_heat", "gist_gray", "gray", "hot", "pink", "spring", "summer", "winter", "Wistia", ] sequentials2 = property(_get_sequentials2) def _get_diverging(self): return [ "BrBG", "PRGn", "PiYG", "PuOr", "RdBu", "RdGy", "RdYlBu", "RdYlGn", "Spectral", "bwr", "coolwarm", "seismic", ] diverging = property(_get_diverging) def _get_diverging_black(self): return [ "red_black_sky", "red_black_blue", "red_black_green", "yellow_black_blue", "yellow_black_sky", "red_black_orange", "pink_black_green(w3c)", ] diverging_black = property(_get_diverging_black) def _get_qualitative(self): return ["Accent", "Dark2", "Paired", "Pastel1", "Pastel2", "Set1", "Set2", "Set3"] qualitative = property(_get_qualitative) def _get_misc(self): return [ "gist_earth", "terrain", "ocean", "gist_stern", "brg", "CMRmap", "cubehelix", "gnuplot", "gnuplot2", "gist_ncar", "nipy_spectral", "jet", "rainbow", "gist_rainbow", "hsv", "flag", "prism", ] misc = property(_get_misc) def plot_rgb_from_hex_list(self, cols): """This functions takes a list of hexadecimal values and plots the RGB curves. This can be handy to figure out the RGB functions to be used in the :meth:`get_cmap`. .. plot:: :include-source: :width: 60% from colormap.colors import Colormap c = Colormap() t = ['#FF0000FF', '#FF4D00FF', '#FF9900FF', '#FFE500FF', '#CCFF00FF', '#80FF00FF', '#33FF00FF', '#00FF19FF', '#00FF66FF', '#00FFB2FF', '#00FFFFFF', '#00B3FFFF', '#0066FFFF', '#001AFFFF', '#3300FFFF', '#7F00FFFF', '#CC00FFFF','#FF00E6FF','#FF0099FF', '#FF004DFF'] c.plot_rgb_from_hex_list(t) """ import pylab red = [hex2rgb(x)[0] / 255 for x in cols] blue = [hex2rgb(x)[2] / 255 for x in cols] green = [hex2rgb(x)[1] / 255 for x in cols] x = pylab.linspace(0, 1, len(cols)) pylab.clf() pylab.plot(x, red, "ro-", alpha=0.5) pylab.plot(x, green, "gs-", alpha=0.5, markersize=15) pylab.plot(x, blue, "bx-", alpha=0.5, markersize=15) pylab.ylim([-0.1, 1.1]) def cmap_bicolor(self, color1, color2, reverse=False, N=256): """Provide 3 colors in format accepted by :class:`Color` :: >>> red = Color('red') >>> white = Color('white') >>> cmap = cmap_bicolor(red, white) """ c1 = Color(color1) c2 = Color(color2) dico = {"red": [c1.red, c2.red], "green": [c1.green, c2.green], "blue": [c1.blue, c2.blue]} return self.cmap(dico, reverse=reverse, N=N) def cmap_linear(self, color1, color2, color3, reverse=False, N=256): """Provide 3 colors in format accepted by :class:`Color` :: red = Color('red') cmap = cmap_linear(red, 'white', '#0000FF') """ c1 = Color(color1) c2 = Color(color2) c3 = Color(color3) dico = { "red": [c1.red, c2.red, c3.red], "green": [c1.green, c2.green, c3.green], "blue": [c1.blue, c2.blue, c3.blue], } return self.cmap(dico, reverse=reverse, N=N) def cmap(self, colors=None, reverse=False, N=256): """Return a colormap object to be used within matplotlib :param dict colors: a dictionary that defines the RGB colors to be used in the colormap. See :meth:`get_cmap_heat` for an example. :param bool reverse: reverse the colormap is set to True (defaults to False) :param int N: Defaults to 50 """ # matplotlib colormaps if colors in self.colormaps: if reverse and colors.endswith("_r") is False: colors += "_r" from matplotlib import colormaps return colormaps[colors] # custom ones elif colors in self.diverging_black: c1, c2, c3 = colors.split("_") # special case of sky, which does not exists c3 = c3.replace("sky", "deep sky blue") return self.cmap_linear(c1, c2, c3) elif colors == "heat": return self.get_cmap_heat() elif colors == "heat_r": return self.get_cmap_heat_r() # Keep these dependencies inside the function to allow # installation of colormap without those dependencies # FIXME remove numpy dependencies import numpy as np # extracted from R, heat.colors(20) if reverse: for k in colors.keys(): colors[k].reverse() # If index not given, RGB colors are evenly-spaced in colormap. index = np.linspace(0, 1, len(colors["red"])) # Adapt color_data to the form expected by LinearSegmentedColormap. color_data = dict((key, [(x, y, y) for x, y in zip(index, value)]) for key, value in list(colors.items())) import matplotlib f = matplotlib.colors.LinearSegmentedColormap m = f("my_color_map", color_data, N) return m def get_cmap_heat(self): """Return a heat colormap matplotlib-compatible colormap This heat colormap should be equivalent to heat.colors() in R. :: >>> from colormap.colors import Colormap >>> cmap = Colormap.get_cmap_heat() You can generate the colormap based solely on this information for the RGB functions along:: d= { 'blue':[0,0,0,0,1], 'green':[0,.35,.7,1,1], 'red':[1,1,1,1,1]} cmap = Colormap.get_cmap(d) """ return self.cmap( {"blue": [0, 0, 0, 0, 1], "green": [0, 0.35, 0.7, 1, 1], "red": [1, 1, 1, 1, 1]}, reverse=False ) def get_cmap_heat_r(self): """Return a heat colormap matplotlib-compatible colormap Same as :meth:`get_cmap_heat` but reversed """ return self.cmap({"blue": [0, 0, 0, 0, 1], "green": [0, 0.35, 0.7, 1, 1], "red": [1, 1, 1, 1, 1]}, reverse=True) def get_cmap_rainbow(self): """colormap similar to rainbow colormap from R .. note:: The red is actually appearing on both sides... Yet this looks like what is coded in R 3.0.1 """ return self.cmap( {"blue": [0, 0, 0, 1, 1, 1, 0], "green": [0, 1, 1, 1, 0, 0, 0], "red": [1, 1, 0, 0, 0, 1, 1]}, reverse=False ) def get_cmap_red_green(self): return self.cmap( { "green": [0, 0.4, 0.6, 0.75, 0.8, 0.9, 1, 0.9, 0.8, 0.6], "blue": [0, 0.4, 0.6, 0.75, 0.8, 0.7, 0.6, 0.35, 0.17, 0.1], "red": [1, 1, 1, 1, 1, 0.9, 0.8, 0.6, 0.3, 0.1], }, reverse=True, ) def test_colormap(self, cmap=None): """plot one colormap for testing By default, test the :meth:`get_cmap_heat` """ if cmap is None: cmap = self.get_cmap_heat() import numpy as np from pylab import axis, clf, colorbar, linspace, pcolor, show, subplots A, B = np.meshgrid(linspace(0, 10, 100), linspace(0, 10, 100)) fig, ax = subplots(2, 2) ax[0, 0].pcolor((A - 5) ** 2 + (B - 5) ** 2, cmap=cmap) ax[0, 0].axis("off") ax[0, 0].set_title("Linear map in 2D") gradient = np.linspace(0, 1, 256) gradient = np.vstack((gradient, gradient)) ax[0, 1].imshow(gradient, cmap=cmap, aspect="auto") ax[0, 1].axis("off") ax[0, 1].set_title("Linear map in 1D") # Define the sinc function def sinc_2d(x, y): r = np.sqrt(x**2 + y**2) # Compute radial distance return np.sinc(r) # sinc(x) in NumPy is already sin(pi*x) / (pi*x) # Generate a grid x = np.linspace(-5, 5, 200) y = np.linspace(-5, 5, 200) X, Y = np.meshgrid(x, y) Z = sinc_2d(X, Y) # Compute sinc values ax[1, 0].imshow(Z, origin="lower", cmap=cmap) ax[1, 0].axis("off") ax[1, 0].set_title("Sinus cardinal") N = 100 X = np.random.random(N) Y = np.random.random(N) C = np.random.random(N) ax[1, 1].scatter(X, Y, c=C * 10, cmap=cmap) ax[1, 1].set_title("random scatter plot") ax[1, 1].axis("off") def plot_colormap(self, cmap_list=None): """cmap_list list of valid cmap or name of a set (sequential, diverging,) if none, plot all known colors .. .. plot:: .. :width:80% .. :include-source: .. from colormap import Colormap .. c = Colormap() .. c.plot_colormap('sequential') """ from pylab import subplots if isinstance(cmap_list, str): if cmap_list in self.categories: colormap = cmap_list cmap_list = getattr(self, cmap_list) else: colormap = "custom" cmap_list = [cmap_list] if isinstance(cmap_list, list) is not True: # pragma: no cover raise TypeError( """input must be a list of srtings or a single string. Each string should be found. For a user-defined cmap, use test_colormap""" ) for this in cmap_list: if this not in self.colormaps and this not in self.diverging_black: raise ValueError(f"unknown colormap name {this}. Please check valid names in colormaps attribute") nrows = len(cmap_list) gradient = [x / 255 for x in range(0, 256)] gradient = [gradient, gradient] # np.vstack((gradient, gradient)) fig, axes = subplots(nrows=nrows) fig.subplots_adjust(top=0.95, bottom=0.05, left=0.05, right=0.8) axes[0].set_title(f"{colormap} colormaps") for ax, name in zip(axes, cmap_list): ax.imshow(gradient, aspect="auto", cmap=self.cmap(name)) pos = list(ax.get_position().bounds) x_text = pos[2] + 0.08 y_text = pos[1] + pos[3] / 2 fig.text(x_text, y_text, name, va="center", ha="left", fontsize=10) # Turn off *all* ticks & spines, not just the ones with colormaps. for ax in axes: ax.set_axis_off() cokelaer-colormap-8722b0b/src/colormap/get_cmap.py000066400000000000000000000040131474643342200222040ustar00rootroot00000000000000# -*- python -*- # # This file is part of colormap software # # Copyright (c) 2011-2024 # # File author(s): Thomas Cokelaer # # Distributed under the terms of the 3-clause BSD license. # The full license is in the LICENSE file, distributed with this software. # ############################################################################## from colormap import Colormap __all__ = ["cmap_builder"] def cmap_builder(name, name2=None, name3=None): """return a colormap object compatible with matplotlib If only parameter **name** is provided, it should be a known matplotlib colormap name (e.g., jet). If **name2** is provided, then a new colormap is created going from the color **name** to the color **name2** with a linear scale. Finally, if **name3** is provided, a linear scaled colormap is built from color **name** to color **name3** with the intermediate color being the **name2** Matplotlib colormap map names """ c = Colormap() # if the colormap is already a colormap, nothing to do try: # pragma: no cover name.get_bad() return name except AttributeError: pass # an R colormap if name and name2 and name3: return c.cmap_linear(name, name2, name3) elif name and name2: return c.cmap_bicolor(name, name2) elif name == "heat": return c.get_cmap_heat() elif name == "heat_r": return c.get_cmap_heat_r() # matplotlic colormaps elif name in c.colormaps: return c.cmap(name) # some custom diverging colormaps with black in the middle. elif name in c.diverging_black: return c.cmap(name) elif name.count("_") == 2: # pragma: no cover name1, name2, name3 = name.split("_") return c.cmap_linear(name1, name2, name3) else: # valid = c.colormaps + c.diverging_black txt = "name provided {0} is not recognised. ".format(name) txt += "\n valid name can be found in colormap.colormap_names" raise ValueError(txt) cokelaer-colormap-8722b0b/src/colormap/xfree86.py000066400000000000000000000113241474643342200217170ustar00rootroot00000000000000# -*- python -*- # -*- coding: utf-8 -*- # # This file is part of the colormap software # # Copyright (c) 2014-2024 # # File author(s): Thomas Cokelaer # # Distributed under the terms of the 3-clause BSD license. # The full license is in the LICENSE file, distributed with this software. # # Website: https://www.github.com/cokelaer/colormap # Documentation: http://packages.python.org/colormap # ############################################################################## __all__ = ["XFree86_colors"] # TC: I have added the "green" key, which is the same as green(x11) XFree86_colors = { "Alice Blue": "#F0F8FF", "AliceBlue": "#F0F8FF", "Antique White": "#FAEBD7", "Aqua": "#00FFFF", "Aquamarine": "#7FFFD4", "Azure": "#F0FFFF", "Beige": "#F5F5DC", "Bisque": "#FFE4C4", "Black": "#000000", "Blanched Almond": "#FFEBCD", "Blue": "#0000FF", "Blue Violet": "#8A2BE2", "Brown": "#A52A2A", "Burlywood": "#DEB887", "Cadet Blue": "#5F9EA0", "Chartreuse": "#7FFF00", "Chocolate": "#D2691E", "Coral": "#FF7F50", "Cornflower": "#6495ED", "Cornsilk": "#FFF8DC", "Crimson": "#DC143C", "Cyan": "#00FFFF", "Dark Blue": "#00008B", "Dark Cyan": "#008B8B", "Dark Goldenrod": "#B8860B", "Dark Gray": "#A9A9A9", "Dark Green": "#006400", "Dark Khaki": "#BDB76B", "Dark Magenta": "#8B008B", "Dark Olive Green": "#556B2F", "Dark Orange": "#FF8C00", "Dark Orchid": "#9932CC", "Dark Red": "#8B0000", "Dark Salmon": "#E9967A", "Dark Sea Green": "#8FBC8F", "Dark Slate Blue": "#483D8B", "Dark Slate Gray": "#2F4F4F", "Dark Turquoise": "#00CED1", "Dark Violet": "#9400D3", "Deep Pink": "#FF1493", "Deep Sky Blue": "#00BFFF", "Dim Gray": "#696969", "Dodger Blue": "#1E90FF", "Firebrick": "#B22222", "Floral White": "#FFFAF0", "Forest Green": "#228B22", "Fuchsia": "#FF00FF", "Gainsboro": "#DCDCDC", "Ghost White": "#F8F8FF", "Gold": "#FFD700", "Goldenrod": "#DAA520", "Gray (X11)": "#BEBEBE", "Gray (W3C)": "#808080", "Green (X11)": "#00FF00", "Green": "#00FF00", "Green (W3C)": "#008000", "Green Yellow": "#ADFF2F", "Honeydew": "#F0FFF0", "Hot Pink": "#FF69B4", "Indian Red": "#CD5C5C", "Indigo": "#4B0082", "Ivory": "#FFFFF0", "Khaki": "#F0E68C", "Lavender": "#E6E6FA", "Lavender Blush": "#FFF0F5", "Lawn Green": "#7CFC00", "Lemon Chiffon": "#FFFACD", "Light Blue": "#ADD8E6", "Light Coral": "#F08080", "Light Cyan": "#E0FFFF", "Light Goldenrod": "#FAFAD2", "Light Gray": "#D3D3D3", "Light Green": "#90EE90", "Light Pink": "#FFB6C1", "Light Salmon": "#FFA07A", "Light Sea Green": "#20B2AA", "Light Sky Blue": "#87CEFA", "Light Slate Gray": "#778899", "Light Steel Blue": "#B0C4DE", "Light Yellow": "#FFFFE0", "Lime (W3C)": "#00FF00", "Lime Green": "#32CD32", "Linen": "#FAF0E6", "Magenta": "#FF00FF", "Maroon (X11)": "#B03060", "Maroon (W3C)": "#7F0000", "Medium Aquamarine": "#66CDAA", "Medium Blue": "#0000CD", "Medium Orchid": "#BA55D3", "Medium Purple": "#9370DB", "Medium Sea Green": "#3CB371", "Medium Slate Blue": "#7B68EE", "Medium Spring Green": "#00FA9A", "Medium Turquoise": "#48D1CC", "Medium Violet Red": "#C71585", "Midnight Blue": "#191970", "Mint Cream": "#F5FFFA", "Misty Rose": "#FFE4E1", "Moccasin": "#FFE4B5", "Navajo White": "#FFDEAD", "Navy": "#000080", "Old Lace": "#FDF5E6", "Olive": "#808000", "Olive Drab": "#6B8E23", "Orange": "#FFA500", "Orange Red": "#FF4500", "Orchid": "#DA70D6", "Pale Goldenrod": "#EEE8AA", "Pale Green": "#98FB98", "Pale Turquoise": "#AFEEEE", "Pale Violet Red": "#DB7093", "Papaya Whip": "#FFEFD5", "Peach Puff": "#FFDAB9", "Peru": "#CD853F", "Pink": "#FFC0CB", "Plum": "#DDA0DD", "Powder Blue": "#B0E0E6", "Purple (X11)": "#A020F0", "Purple (W3C)": "#7F007F", "Red": "#FF0000", "Rosy Brown": "#BC8F8F", "Royal Blue": "#4169E1", "Saddle Brown": "#8B4513", "Salmon": "#FA8072", "Sandy Brown": "#F4A460", "Sea Green": "#2E8B57", "Seashell": "#FFF5EE", "Sienna": "#A0522D", "Silver (W3C)": "#C0C0C0", "Sky Blue": "#87CEEB", "Slate Blue": "#6A5ACD", "Slate Gray": "#708090", "Snow": "#FFFAFA", "Spring Green": "#00FF7F", "Steel Blue": "#4682B4", "Tan": "#D2B48C", "Teal": "#008080", "Thistle": "#D8BFD8", "Tomato": "#FF6347", "Turquoise": "#40E0D0", "Violet": "#EE82EE", "Wheat": "#F5DEB3", "White": "#FFFFFF", "White Smoke": "#F5F5F5", "Yellow": "#FFFF00", "Yellow Green": "#9ACD32", } cokelaer-colormap-8722b0b/test/000077500000000000000000000000001474643342200164315ustar00rootroot00000000000000cokelaer-colormap-8722b0b/test/__init__.py000066400000000000000000000000531474643342200205400ustar00rootroot00000000000000import matplotlib matplotlib.use('Agg') # cokelaer-colormap-8722b0b/test/test_colors.py000066400000000000000000000153361474643342200213530ustar00rootroot00000000000000from pytest import approx as assert_list_almost_equal from colormap import colors from colormap.colors import * def test_hex2web(): assert hex2web("#FFAA11") == "#FA1" def test_web2hex(): assert web2hex("#FA1") == "#FFAA11" def test_rgb2yuv(): assert_list_almost_equal(rgb2yuv(1, 1, 1), (1, 0, 0)) assert_list_almost_equal(rgb2yuv_int(255, 255, 255), (255, 0, 0)) assert_list_almost_equal(yuv2rgb(1, 0, 0), (1, 1, 1)) assert_list_almost_equal(yuv2rgb_int(255, 0, 0), (255, 255, 255)) def test_rgb2hsv(): assert_list_almost_equal(colors.rgb2hsv(0, 1, 1), (0.5, 1, 1)) assert_list_almost_equal(colors.rgb2hsv(0, 255, 255, normalised=False), (0.5, 1, 1)) assert_list_almost_equal(hsv2rgb(0.5, 1, 1), (0, 1, 1)) assert_list_almost_equal(colors.hsv2rgb(180, 100, 100, normalised=False), (0, 1, 1)) def test_rgb2hls(): assert_list_almost_equal(colors.rgb2hls(0, 1, 1), (0.5, 0.5, 1)) assert_list_almost_equal(colors.rgb2hls(0, 255, 255, normalised=False), (0.5, 0.5, 1)) assert_list_almost_equal(colors.hls2rgb(0.5, 0.5, 1), (0, 1, 1)) assert_list_almost_equal(colors.hls2rgb(180, 50, 100, normalised=False), (0.0, 1, 1)) def test_hex2dec(): assert colors.hex2dec("FF") == 1 assert colors.hex2dec("#FF") == 1 def test_rgb2hex(): colors.rgb2hex(0, 0, 255) colors.rgb2hex(0, 0, 1) colors.rgb2hex(*(0, 0, 1)) try: colors.rgb2hex([0, 0]) assert False except: assert True try: colors.rgb2hex(0, 0, 1000) assert False except: assert True try: colors.rgb2hex(0, 0, -1000) assert False except: assert True try: colors.rgb2hex(0, 0, 10, normalised=True) assert False except: assert True def testColors(): # test constructors c = colors.Color("#FFF") c = colors.Color(rgb=(0, 0, 0)) c = colors.Color(hls=(0, 0, 0)) c = colors.Color(hsv=(0, 0, 0)) c = colors.Color(c) try: colors.Color() assert False except: assert True try: colors.Color(object) assert False except: assert True # test setter/getter c = colors.Color("Blue") assert c.rgb == (0, 0, 1) assert c.hex == "#0000FF" assert_list_almost_equal(c.hsv, (0.66666666666666, 1, 1)) assert c.value == 1 assert_list_almost_equal(c.hls, (0.666666666666666, 0.5, 1)) print(c) c.normalised = True c.name c.hsv c.hls print(c) assert c.rgb == (0, 0, 1) c.rgb = (0, 0, 1) c.hsv = (0, 0, 1) c.normalised = False # name can be changed and affects RGB/HEX c.name = "Magenta" assert c.rgb == colors._normalise(255, 0.0, 255) assert c.hex == "#FF00FF" # hex can be changed and affects name/HEX c.hex = "#F8F8FF" assert c.name == "Ghost White" # non official name # assert c.rgb == # RGB can be changed and affects name/HEX c.rgb = colors._normalise(248, 248, 255) assert c.name == "Ghost White" # official name assert c.hex == "#F8F8FF" assert c.name == "Ghost White" # non official but works assert c.hex == "#F8F8FF" c.saturation_hls = 0.5 assert c.saturation_hls == 0.5 c.lightness = 0.5 assert c.lightness == 0.5 c.hue = 0.5 assert c.hue == 0.5 c.hex = "#FF1F1F" assert c.name == "undefined" try: c.hex = "ZFF1F1F" assert False except: assert True c = colors.Color("red") assert c.red == 1 assert c.green == 0 assert c.blue == 0 c.blue = 0.0 c.green = 0.0 c.red = 0 assert c.name == "Black" c.value c.value = 0.5 c.yiq def test_normalise(): colors._normalise(255, 255, 255, mode="rgb") == (1, 1, 1) colors._normalise(*(255, 255, 255), mode="rgb") == (1, 1, 1) colors._normalise(*(360, 100, 100), mode="hls") == (1, 1, 1) colors._denormalise(*(1, 1, 1), mode="rgb") == (255, 255, 255) colors._denormalise(*(1, 1, 1), mode="hls") == (360, 100, 100) def test_to_intensity(): to_intensity(0.5) def test_plot_colormap(): plot_colormap("jet") plot_colormap("jet_r") try: plot_colormap("dummy") assert False except (AssertionError, TypeError): assert True def test_plot_category(): plot_category("diverging") def test_colormap(): try: from pylab import clf, close, gcf except: return c = Colormap() cmap = c.get_cmap_heat() # c.test_cmap(cmap) f = gcf() # f.close() # design your own colormap d = {"blue": [0, 0, 0, 1, 1, 1, 0], "green": [0, 1, 1, 1, 0, 0, 0], "red": [1, 1, 0, 0, 0, 1, 1]} cmap = c.cmap(d, reverse=True) cmap = c.cmap("jet", reverse=True) cmap = c.cmap("heat") cmap = c.cmap("heat_r") cmap = c.get_cmap_rainbow() cmap = c.get_cmap_red_green() cmap = c.get_cmap_heat_r() t = [ "#FF0000FF", "#FF4D00FF", "#FF9900FF", "#FFE500FF", "#CCFF00FF", "#80FF00FF", "#33FF00FF", "#00FF19FF", "#00FF66FF", "#00FFB2FF", "#00FFFFFF", "#00B3FFFF", "#0066FFFF", "#001AFFFF", "#3300FFFF", "#7F00FFFF", "#CC00FFFF", "#FF00E6FF", "#FF0099FF", "#FF004DFF", ] # FIXME: need to find a way to close the plot. close('all') does not work # c.plot_rgb_from_hex_list(t) c.plot_colormap("misc") try: c.plot_colormap("dummy") assert False except ValueError: pass c.test_colormap("jet") c.diverging c.colormaps c.sequentials c.sequentials2 c.qualitative c.cyclic c.perceptually_uniform t = [ "#FF0000FF", "#FF4D00FF", "#FF9900FF", "#FFE500FF", "#CCFF00FF", "#80FF00FF", "#33FF00FF", "#00FF19FF", "#00FF66FF", "#00FFB2FF", "#00FFFFFF", "#00B3FFFF", "#0066FFFF", "#001AFFFF", "#3300FFFF", "#7F00FFFF", "#CC00FFFF", "#FF00E6FF", "#FF0099FF", "#FF004DFF", ] c.plot_rgb_from_hex_list(t) c.test_colormap() # no input plots the heat map def test_HEX(): h = HEX() h.get_standard_hex_color("0xFFF") try: h.get_standard_hex_color(22) assert False except: assert True try: h.get_standard_hex_color("r") assert False except: assert True try: h.get_standard_hex_color("rrrrrrrrrrrr") assert False except: assert True try: h.get_standard_hex_color("#AAAZZZ") assert False except: assert True try: h.get_standard_hex_color("#AAAA") assert False except: assert True cokelaer-colormap-8722b0b/test/test_get_cmap.py000066400000000000000000000005131474643342200216200ustar00rootroot00000000000000from colormap import cmap_builder as get_cmap def test_get_cmap(): get_cmap("heat") get_cmap("heat_r") get_cmap("nipy_spectral") get_cmap("red_black_blue") try: get_cmap('dummy') assert False except: assert True get_cmap('red', 'black', 'yellow') get_cmap('red', 'black')