PK'=xBOcOÜ#Ü#pelican-3.1.1/contribute.html How to contribute? — Pelican 3 documentation

How to contribute?¶

There are many ways to contribute to Pelican. You can enhance the documentation, add missing features, and fix bugs (or just report them).

Don’t hesitate to fork and make a pull request on GitHub. When doing so, please create a new feature branch as opposed to making your commits in the master branch.

Setting up the development environment¶

You’re free to set up your development environment any way you like. Here is a way using the virtualenv and virtualenvwrapper tools. If you don’t have them, you can install these both of these packages via:

$ pip install virtualenvwrapper

Virtual environments allow you to work on Python projects which are isolated from one another so you can use different packages (and package versions) with different projects.

To create a virtual environment, use the following syntax:

$ mkvirtualenv pelican

To clone the Pelican source:

$ git clone https://github.com/getpelican/pelican.git src/pelican

To install the development dependencies:

$ cd src/pelican
$ pip install -r dev_requirements.txt

To install Pelican and its dependencies:

$ python setup.py develop

Running the test suite¶

Each time you add a feature, there are two things to do regarding tests: checking that the existing tests pass, and adding tests for the new feature or bugfix.

The tests live in “pelican/tests” and you can run them using the “discover” feature of unittest2:

$ unit2 discover

If you have made changes that affect the output of a Pelican-generated weblog, then you should update the output used by functional tests. To do so, you can use the following two commands:

$ LC_ALL="C" pelican -o tests/output/custom/ -s samples/pelican.conf.py \
    samples/content/
$ LC_ALL="C" pelican -o tests/output/basic/ samples/content/

Coding standards¶

Try to respect what is described in the PEP8 specification when providing patches. This can be eased via the pep8 or flake8 tools, the latter of which in particular will give you some useful hints about ways in which the code/formatting can be improved.

Fork me on GitHub


PK(=xBxDöÖOËOËpelican-3.1.1/settings.html Settings — Pelican 3 documentation

Settings¶

Pelican is configurable thanks to a configuration file you can pass to the command line:

$ pelican -s path/to/your/settingsfile.py path

Settings are configured in the form of a Python module (a file). You can see an example by looking at /samples/pelican.conf.py

All the setting identifiers must be set in all-caps, otherwise they will not be processed. Setting values that are numbers (5, 20, etc.), booleans (True, False, None, etc.), dictionaries, or tuples should not be enclosed in quotation marks. All other values (i.e., strings) must be enclosed in quotation marks.

Unless otherwise specified, settings that refer to paths can be either absolute or relative to the configuration file.

The settings you define in the configuration file will be passed to the templates, which allows you to use your settings to add site-wide content.

Here is a list of settings for Pelican:

Basic settings¶

Setting name (default value) What does it do?
AUTHOR Default author (put your name)
DATE_FORMATS ({}) If you manage multiple languages, you can set the date formatting here. See the “Date format and locales” section below for details.
USE_FOLDER_AS_CATEGORY (True) When you don’t specify a category in your post metadata, set this setting to True, and organize your articles in subfolders, the subfolder will become the category of your post. If set to False, DEFAULT_CATEGORY will be used as a fallback.
DEFAULT_CATEGORY ('misc') The default category to fall back on.
DEFAULT_DATE_FORMAT ('%a %d %B %Y') The default date format you want to use.
DISPLAY_PAGES_ON_MENU (True) Whether to display pages on the menu of the template. Templates may or not honor this setting.
DEFAULT_DATE (None) The default date you want to use. If fs, Pelican will use the file system timestamp information (mtime) if it can’t get date information from the metadata. If set to a tuple object, the default datetime object will instead be generated by passing the tuple to the datetime.datetime constructor.
DEFAULT_METADATA (()) The default metadata you want to use for all articles and pages.
FILENAME_METADATA ('(?P<date>\d{4}-\d{2}-\d{2}).*') The regexp that will be used to extract any metadata from the filename. All named groups that are matched will be set in the metadata object. The default value will only extract the date from the filename. For example, if you would like to extract both the date and the slug, you could set something like: '(?P<date>\d{4}-\d{2}-\d{2})_(?P<slug>.*)'.
DELETE_OUTPUT_DIRECTORY (False) Delete the content of the output directory before generating new files.
FILES_TO_COPY (()) A list of files (or directories) to copy from the source (inside the content directory) to the destination (inside the output directory). For example: (('extra/robots.txt', 'robots.txt'),).
JINJA_EXTENSIONS ([]) A list of any Jinja2 extensions you want to use.
LOCALE (‘’[1]) Change the locale. A list of locales can be provided here or a single string representing one locale. When providing a list, all the locales will be tried until one works.
MARKUP (('rst', 'md')) A list of available markup languages you want to use. For the moment, the only available values are rst, md, markdown, mkd, html, and htm.
MD_EXTENSIONS (['codehilite','extra']) A list of the extensions that the Markdown processor will use. Refer to the extensions chapter in the Python-Markdown documentation for a complete list of supported extensions.
OUTPUT_PATH ('output/') Where to output the generated files.
PATH (None) Path to content directory to be processed by Pelican.
PAGE_DIR ('pages') Directory to look at for pages, relative to PATH.
PAGE_EXCLUDES (()) A list of directories to exclude when looking for pages.
ARTICLE_DIR ('') Directory to look at for articles, relative to PATH.
ARTICLE_EXCLUDES: (('pages',)) A list of directories to exclude when looking for articles.
PDF_GENERATOR (False) Set to True if you want PDF versions of your documents to be. generated. You will need to install rst2pdf.
OUTPUT_SOURCES (False) Set to True if you want to copy the articles and pages in their original format (e.g. Markdown or reStructuredText) to the specified OUTPUT_PATH.
OUTPUT_SOURCES_EXTENSION (.text) Controls the extension that will be used by the SourcesGenerator. Defaults to .text. If not a valid string the default value will be used.
RELATIVE_URLS (True) Defines whether Pelican should use document-relative URLs or not. If set to False, Pelican will use the SITEURL setting to construct absolute URLs.
PLUGINS ([]) The list of plugins to load. See Plugins.
SITENAME ('A Pelican Blog') Your site name
SITEURL Base URL of your website. Not defined by default, so it is best to specify your SITEURL; if you do not, feeds will not be generated with properly-formed URLs. You should include http:// and your domain, with no trailing slash at the end. Example: SITEURL = 'http://mydomain.com'
TEMPLATE_PAGES (None) A mapping containing template pages that will be rendered with the blog entries. See Template pages.
STATIC_PATHS (['images']) The static paths you want to have accessible on the output path “static”. By default, Pelican will copy the “images” folder to the output folder.
TIMEZONE The timezone used in the date information, to generate Atom and RSS feeds. See the Timezone section below for more info.
TYPOGRIFY (False) If set to True, several typographical improvements will be incorporated into the generated HTML via the Typogrify library, which can be installed via: pip install typogrify
DIRECT_TEMPLATES (('index', 'tags', 'categories', 'archives')) List of templates that are used directly to render content. Typically direct templates are used to generate index pages for collections of content (e.g. tags and category index pages).
PAGINATED_DIRECT_TEMPLATES (('index',)) Provides the direct templates that should be paginated.
SUMMARY_MAX_LENGTH (50) When creating a short summary of an article, this will be the default length in words of the text created. This only applies if your content does not otherwise specify a summary. Setting to None will cause the summary to be a copy of the original content.
EXTRA_TEMPLATES_PATHS ([]) A list of paths you want Jinja2 to search for templates. Can be used to separate templates from the theme. Example: projects, resume, profile ... These templates need to use DIRECT_TEMPLATES setting.
ASCIIDOC_OPTIONS ([]) A list of options to pass to AsciiDoc. See the manpage
[1]Default is the system locale.

URL settings¶

The first thing to understand is that there are currently two supported methods for URL formation: relative and absolute. Document-relative URLs are useful when testing locally, and absolute URLs are reliable and most useful when publishing. One method of supporting both is to have one Pelican configuration file for local development and another for publishing. To see an example of this type of setup, use the pelican-quickstart script as described at the top of the Getting Started page, which will produce two separate configuration files for local development and publishing, respectively.

You can customize the URLs and locations where files will be saved. The URLs and SAVE_AS variables use Python’s format strings. These variables allow you to place your articles in a location such as {slug}/index.html and link to them as {slug} for clean URLs. These settings give you the flexibility to place your articles and pages anywhere you want.

Note

If you specify a datetime directive, it will be substituted using the input files’ date metadata attribute. If the date is not specified for a particular file, Pelican will rely on the file’s mtime timestamp.

Check the Python datetime documentation at http://bit.ly/cNcJUC for more information.

Also, you can use other file metadata attributes as well:

  • slug
  • date
  • lang
  • author
  • category

Example usage:

  • ARTICLE_URL = 'posts/{date:%Y}/{date:%b}/{date:%d}/{slug}/'
  • ARTICLE_SAVE_AS = 'posts/{date:%Y}/{date:%b}/{date:%d}/{slug}/index.html'

This would save your articles in something like /posts/2011/Aug/07/sample-post/index.html, and the URL to this would be /posts/2011/Aug/07/sample-post/.

Setting name (default value) What does it do?
ARTICLE_URL ('{slug}.html') The URL to refer to an ARTICLE.
ARTICLE_SAVE_AS ('{slug}.html') The place where we will save an article.
ARTICLE_LANG_URL ('{slug}-{lang}.html') The URL to refer to an ARTICLE which doesn’t use the default language.
ARTICLE_LANG_SAVE_AS ('{slug}-{lang}.html') The place where we will save an article which doesn’t use the default language.
PAGE_URL ('pages/{slug}.html') The URL we will use to link to a page.
PAGE_SAVE_AS ('pages/{slug}.html') The location we will save the page.
PAGE_LANG_URL ('pages/{slug}-{lang}.html') The URL we will use to link to a page which doesn’t use the default language.
PAGE_LANG_SAVE_AS ('pages/{slug}-{lang}.html') The location we will save the page which doesn’t use the default language.
AUTHOR_URL ('author/{slug}.html') The URL to use for an author.
AUTHOR_SAVE_AS ('author/{slug}.html') The location to save an author.
CATEGORY_URL ('category/{slug}.html') The URL to use for a category.
CATEGORY_SAVE_AS ('category/{slug}.html') The location to save a category.
TAG_URL ('tag/{slug}.html') The URL to use for a tag.
TAG_SAVE_AS ('tag/{slug}.html') The location to save the tag page.
<DIRECT_TEMPLATE_NAME>_SAVE_AS The location to save content generated from direct templates. Where <DIRECT_TEMPLATE_NAME> is the upper case template name.

Note

When any of the *_SAVE_AS settings is set to False, files will not be created.

Timezone¶

If no timezone is defined, UTC is assumed. This means that the generated Atom and RSS feeds will contain incorrect date information if your locale is not UTC.

Pelican issues a warning in case this setting is not defined, as it was not mandatory in previous versions.

Have a look at the wikipedia page to get a list of valid timezone values.

Date format and locale¶

If no DATE_FORMATS is set, fall back to DEFAULT_DATE_FORMAT. If you need to maintain multiple languages with different date formats, you can set this dict using language name (lang in your posts) as key. Regarding available format codes, see strftime document of python :

DATE_FORMATS = {
    'en': '%a, %d %b %Y',
    'jp': '%Y-%m-%d(%a)',
}

You can set locale to further control date format:

LOCALE = ('usa', 'jpn',  # On Windows
    'en_US', 'ja_JP'     # On Unix/Linux
    )

Also, it is possible to set different locale settings for each language. If you put (locale, format) tuples in the dict, this will override the LOCALE setting above:

# On Unix/Linux
DATE_FORMATS = {
    'en': ('en_US','%a, %d %b %Y'),
    'jp': ('ja_JP','%Y-%m-%d(%a)'),
}

# On Windows
DATE_FORMATS = {
    'en': ('usa','%a, %d %b %Y'),
    'jp': ('jpn','%Y-%m-%d(%a)'),
}

This is a list of available locales on Windows . On Unix/Linux, usually you can get a list of available locales via the locale -a command; see manpage locale(1) for more information.

Template pages¶

If you want to generate custom pages besides your blog entries, you can point any Jinja2 template file with a path pointing to the file and the destination path for the generated file.

For instance, if you have a blog with three static pages — a list of books, your resume, and a contact page — you could have:

TEMPLATE_PAGES = {'src/books.html': 'dest/books.html',
                  'src/resume.html': 'dest/resume.html',
                  'src/contact.html': 'dest/contact.html'}

Feed settings¶

By default, Pelican uses Atom feeds. However, it is also possible to use RSS feeds if you prefer.

Pelican generates category feeds as well as feeds for all your articles. It does not generate feeds for tags by default, but it is possible to do so using the TAG_FEED_ATOM and TAG_FEED_RSS settings:

Setting name (default value) What does it do?
FEED_DOMAIN (None, i.e. base URL is “/”) The domain prepended to feed URLs. Since feed URLs should always be absolute, it is highly recommended to define this (e.g., “http://feeds.example.com”). If you have already explicitly defined SITEURL (see above) and want to use the same domain for your feeds, you can just set: FEED_DOMAIN = SITEURL.
FEED_ATOM (None, i.e. no Atom feed) Relative URL to output the Atom feed.
FEED_RSS (None, i.e. no RSS) Relative URL to output the RSS feed.
FEED_ALL_ATOM ('feeds/all.atom.xml') Relative URL to output the all posts Atom feed: this feed will contain all posts regardless of their language.
FEED_ALL_RSS (None, i.e. no all RSS) Relative URL to output the all posts RSS feed: this feed will contain all posts regardless of their language.
CATEGORY_FEED_ATOM (‘feeds/%s.atom.xml’[2]) Where to put the category Atom feeds.
CATEGORY_FEED_RSS (None, i.e. no RSS) Where to put the category RSS feeds.
TAG_FEED_ATOM (None, i.e. no tag feed) Relative URL to output the tag Atom feed. It should be defined using a “%s” match in the tag name.
TAG_FEED_RSS (None, ie no RSS tag feed) Relative URL to output the tag RSS feed
FEED_MAX_ITEMS Maximum number of items allowed in a feed. Feed item quantity is unrestricted by default.

If you don’t want to generate some or any of these feeds, set the above variables to None.

[2]%s is the name of the category.

FeedBurner¶

If you want to use FeedBurner for your feed, you will likely need to decide upon a unique identifier. For example, if your site were called “Thyme” and hosted on the www.example.com domain, you might use “thymefeeds” as your unique identifier, which we’ll use throughout this section for illustrative purposes. In your Pelican settings, set the FEED_ATOM attribute to “thymefeeds/main.xml” to create an Atom feed with an original address of http://www.example.com/thymefeeds/main.xml. Set the FEED_DOMAIN attribute to http://feeds.feedburner.com, or http://feeds.example.com if you are using a CNAME on your own domain (i.e., FeedBurner’s “MyBrand” feature).

There are two fields to configure in the FeedBurner interface: “Original Feed” and “Feed Address”. In this example, the “Original Feed” would be http://www.example.com/thymefeeds/main.xml and the “Feed Address” suffix would be thymefeeds/main.xml.

Tag cloud¶

If you want to generate a tag cloud with all your tags, you can do so using the following settings.

Setting name (default value) What does it do?
TAG_CLOUD_STEPS (4) Count of different font sizes in the tag cloud.
TAG_CLOUD_MAX_ITEMS (100) Maximum number of tags in the cloud.

The default theme does not support tag clouds, but it is pretty easy to add:

<ul>
    {% for tag in tag_cloud %}
        <li class="tag-{{ tag.1 }}"><a href="/tag/{{ tag.0 }}/">{{ tag.0 }}</a></li>
    {% endfor %}
</ul>

You should then also define a CSS style with the appropriate classes (tag-0 to tag-N, where N matches TAG_CLOUD_STEPS -1).

Translations¶

Pelican offers a way to translate articles. See the Getting Started section for more information.

Setting name (default value) What does it do?
DEFAULT_LANG ('en') The default language to use.
TRANSLATION_FEED_ATOM (‘feeds/all-%s.atom.xml’[3]) Where to put the Atom feed for translations.
TRANSLATION_FEED_RSS (None, i.e. no RSS) Where to put the RSS feed for translations.
[3]%s is the language

Ordering content¶

Setting name (default value) What does it do?
NEWEST_FIRST_ARCHIVES (True) Order archives by newest first by date. (False: orders by date with older articles first.)
REVERSE_CATEGORY_ORDER (False) Reverse the category order. (True: lists by reverse alphabetical order; default lists alphabetically.)

Themes¶

Creating Pelican themes is addressed in a dedicated section (see How to create themes for Pelican). However, here are the settings that are related to themes.

Setting name (default value) What does it do?
THEME Theme to use to produce the output. Can be a relative or absolute path to a theme folder, or the name of a default theme or a theme installed via pelican-themes (see below).
THEME_STATIC_PATHS (['static']) Static theme paths you want to copy. Default value is static, but if your theme has other static paths, you can put them here.
CSS_FILE ('main.css') Specify the CSS file you want to load.

By default, two themes are available. You can specify them using the THEME setting or by passing the -t option to the pelican command:

  • notmyidea
  • simple (a synonym for “plain text” :)

There are a number of other themes available at http://github.com/getpelican/pelican-themes. Pelican comes with pelican-themes, a small script for managing themes.

You can define your own theme, either by starting from scratch or by duplicating and modifying a pre-existing theme. Here is a guide on how to create your theme.

Following are example ways to specify your preferred theme:

# Specify name of a built-in theme
THEME = "notmyidea"
# Specify name of a theme installed via the pelican-themes tool
THEME = "chunk"
# Specify a customized theme, via path relative to the settings file
THEME = "themes/mycustomtheme"
# Specify a customized theme, via absolute path
THEME = "~/projects/mysite/themes/mycustomtheme"

The built-in notmyidea theme can make good use of the following settings. Feel free to use them in your themes as well.

Setting name What does it do ?
DISQUS_SITENAME Pelican can handle Disqus comments. Specify the Disqus sitename identifier here.
GITHUB_URL Your GitHub URL (if you have one). It will then use this information to create a GitHub ribbon.
GOOGLE_ANALYTICS ‘UA-XXXX-YYYY’ to activate Google Analytics.
GOSQUARED_SITENAME ‘XXX-YYYYYY-X’ to activate GoSquared.
MENUITEMS A list of tuples (Title, URL) for additional menu items to appear at the beginning of the main menu.
PIWIK_URL URL to your Piwik server - without ‘http://‘ at the beginning.
PIWIK_SSL_URL If the SSL-URL differs from the normal Piwik-URL you have to include this setting too. (optional)
PIWIK_SITE_ID ID for the monitored website. You can find the ID in the Piwik admin interface > settings > websites.
LINKS A list of tuples (Title, URL) for links to appear on the header.
SOCIAL A list of tuples (Title, URL) to appear in the “social” section.
TWITTER_USERNAME Allows for adding a button to articles to encourage others to tweet about them. Add your Twitter username if you want this button to appear.

In addition, you can use the “wide” version of the notmyidea theme by adding the following to your configuration:

CSS_FILE = "wide.css"

Example settings¶

# -*- coding: utf-8 -*-
AUTHOR = u'Alexis Métaireau'
SITENAME = u"Alexis' log"
SITEURL = 'http://blog.notmyidea.org'
TIMEZONE = "Europe/Paris"

GITHUB_URL = 'http://github.com/ametaireau/'
DISQUS_SITENAME = "blog-notmyidea"
PDF_GENERATOR = False
REVERSE_CATEGORY_ORDER = True
LOCALE = "C"
DEFAULT_PAGINATION = 4
DEFAULT_DATE = (2012, 03, 02, 14, 01, 01)

FEED_ALL_RSS = 'feeds/all.rss.xml'
CATEGORY_FEED_RSS = 'feeds/%s.rss.xml'

LINKS = (('Biologeek', 'http://biologeek.org'),
         ('Filyb', "http://filyb.info/"),
         ('Libert-fr', "http://www.libert-fr.com"),
         ('N1k0', "http://prendreuncafe.com/blog/"),
         (u'Tarek Ziadé', "http://ziade.org/blog"),
         ('Zubin Mithra', "http://zubin71.wordpress.com/"),)

SOCIAL = (('twitter', 'http://twitter.com/ametaireau'),
          ('lastfm', 'http://lastfm.com/user/akounet'),
          ('github', 'http://github.com/ametaireau'),)

# global metadata to all the contents
DEFAULT_METADATA = (('yeah', 'it is'),)

# static paths will be copied under the same name
STATIC_PATHS = ["pictures", ]

# A list of files to copy from the source to the destination
FILES_TO_COPY = (('extra/robots.txt', 'robots.txt'),)

# custom page generated with a jinja2 template
TEMPLATE_PAGES = {'pages/jinja2_template.html': 'jinja2_template.html'}

# foobar will not be used, because it's not in caps. All configuration keys
# have to be in caps
foobar = "barbaz"
Fork me on GitHub


PK(=xB=a¢pvGvGpelican-3.1.1/index.html Pelican — Pelican 3 documentation

Pelican¶

Pelican is a static site generator, written in Python.

  • Write your weblog entries directly with your editor of choice (vim!) in reStructuredText, Markdown, or AsciiDoc
  • Includes a simple CLI tool to (re)generate the weblog
  • Easy to interface with DVCSes and web hooks
  • Completely static output is easy to host anywhere

Features¶

Pelican currently supports:

  • Blog articles and pages
  • Comments, via an external service (Disqus). (Please note that while useful, Disqus is an external service, and thus the comment data will be somewhat outside of your control and potentially subject to data loss.)
  • Theming support (themes are created using Jinja2 templates)
  • PDF generation of the articles/pages (optional)
  • Publication of articles in multiple languages
  • Atom/RSS feeds
  • Code syntax highlighting
  • Asset management with webassets (optional)
  • Import from WordPress, Dotclear, or RSS feeds
  • Integration with external tools: Twitter, Google Analytics, etc. (optional)

Why the name “Pelican”?¶

“Pelican” is an anagram for calepin, which means “notebook” in French. ;)

Source code¶

You can access the source code at: https://github.com/getpelican/pelican

Feedback / Contact us¶

If you want to see new features in Pelican, don’t hesitate to offer suggestions, clone the repository, etc. There are many ways to contribute. That’s open source, dude!

Send a message to “authors at getpelican dot com” with any requests/feedback! You can also join the team at #pelican on Freenode (or if you don’t have an IRC client handy, use the webchat for quick feedback.

Documentation¶

A French version of the documentation is available at Pelican.

Fork me on GitHub



PK(=xB–søMmMmpelican-3.1.1/searchindex.jsSearch.setIndex({objects:{},terms:{kickstart:[5,16],"\u00e9videm":[22,6],basera:11,prefix:21,"appr\u00e9hend":11,aider:[9,14],"ziad\u00e9":20,utilisateur:0,aug:20,tweet:[11,20],under:[20,3],aux:[9,11,14],everi:[16,3],"\u00e9diteur":9,"activ\u00e9":18,affect:[1,6],ajust:0,piwik_site_id:20,voir:[11,14,8,9,22,17],use_folder_as_categori:[20,16,19],cmd:[21,17],upload:[10,16],direct:[2,9,16,18,20],second:[2,15,19,16,3],entr:[8,18],aggreg:12,"fr\u00e9quemment":[8,14],tiret:6,penchez:8,permett:11,even:16,asid:16,"new":[5,1,19,12,13,2,3,20,16],metadata:[13,19,12,3,15,20,16],widget:3,retrouvera:18,abov:[20,16,3],never:[19,3],here:[1,20,12,13,2,3,15,10,16],met:[11,6],path:[22,12,20,11,7,3,15,10,21,16],"m\u00eame":[18,9,17,6],servir:11,anymor:19,indiquez:11,datetim:[11,20],"acc\u00e8":[11,17],"_save_a":20,ziad:20,changer:0,releas:[5,16,19],unix:20,txt:[7,1,20,3],highli:20,describ:[2,1,13,20,3],would:[10,20,16,3],jpn:20,call:[19,13,3,15,10,20],asset:[2,5,3],recommend:[16,20],strike:12,assez:[8,9,6],type:[19,12,2,3,15,20],until:[16,20],"utilis\u00e9":[22,11,4],relat:[2,19,20,3],hurt:13,warn:[15,5,12,20],moin:8,must:[2,20,16,3],join:5,restor:19,setup:[8,1,16,20],work:[1,6,19,13,21,3,20,16],"g\u00e9rer":[11,17],existant:18,"g\u00e9rez":9,root:[16,0],overrid:20,lexer:16,give:[1,16,20],want:[5,13,20,12,2,3,15,10,21,16],end:[19,16,20,3],jusqu:6,quot:[2,15,12,3],github_act:3,how:[5,1,20,12,13,2,3,16],cname:20,traver:22,answer:16,lastfm:20,quoi:11,config:19,updat:[1,12,13,2,3,15],after:[2,15,21,16,3],befor:[20,16,3],moteur:18,souci:6,projet:[8,14],lancer:22,third:2,croissant:18,bootstrap:12,"acc\u00e9der":[18,9],exclud:[16,20],receiv:2,maintain:20,environ:[5,1,16],incorpor:20,exclus:21,order:[2,5,12,20,3],origin:[19,6,13,15,3,8,10,20],peux:17,feedback:[15,5,9],softwar:[5,7,13,16],over:[15,10,16,3],fall:20,becaus:[15,12,21,20],peut:[18,22,11,17],veri:[15,13,20],piwik:20,flexibl:[15,20],cli:5,fit:[15,16],fix:[15,1,19,3],hidden:16,easier:[16,19],descend:2,them:[1,20,12,13,2,3,15,21],thei:[13,20,12,2,7,3,15],article_generate_preread:[19,3],effectu:17,jinja2:[18,5,13,20,11,2,9,16],choic:5,thyme:20,develop_serv:16,"install\u00e9":[8,17],each:[13,19,1,2,21,15,10,20,16],debug:[19,3],choix:8,side:3,mean:[5,19,20,3],resum:20,lign:[6,11,0,14,9,17],"cr\u00e9er":[18,6,11,14,9,22,17],diminutif:6,"cr\u00e9ez":[4,6],extract:[20,16,19],template_pag:20,"cl\u00e9":[18,6],"proc\u00e9don":8,content:[18,5,1,19,12,13,21,2,3,15,20,16,17],contenu:[18,14],reader:[15,5,13],got:[5,12],serveur:11,generate_context:[15,13,3],article_lang_url:20,navig:16,wherea:15,free:[2,11,1,20],standard:[5,1],generate_output:[15,13],small:[20,3],filter:[19,3],pagin:[2,5,20,18,19],unabl:12,render:[12,20],feed_rss:[2,11,12,20],hook:[5,10],alreadi:[2,12,21,20],messag:[8,5,7,10,3],primari:16,cssmin:3,lister:[18,17],top:[2,12,20],tou:18,underlin:2,master:[8,10,1],too:20,john:3,tool:[5,20,1,7,21,15],setuptool:[8,19],took:15,sitenam:[11,20],somewhat:5,"document\u00e9":11,dotaddict:7,"m\u00e9ta":6,date_format:20,prendra:[11,17],provid:[1,19,12,3,15,20,16],project:[1,20,12,3,10,16],arriv:8,minut:15,raw:3,output_sourc:20,seem:15,"pr\u00e9ciser":11,en_u:20,latter:1,avion:6,client:[5,12],voyon:17,zubin:20,anglophon:6,"r\u00e9pertoir":[22,11,6,17,0],blue:2,usernam:[10,20],object:[20,13,2,3,15,16],doit:[18,11],dessu:[4,17],regular:[2,16],"v\u00e9rifier":11,don:[5,1,19,12,13,2,3,20,16],commentair:9,doc:[21,17],doe:[15,13,20,3],efficac:6,dot:[5,9],utilitair:8,ajout:[14,6],radiu:2,syntax:[18,5,12,1,13,2,7,9,16],contactez:9,protocol:3,make:[1,19,12,13,2,3,15,10,20,16],involv:15,absolut:[12,20],page_url:20,menu:[2,11,16,20],configur:[18,5,14,11,6,12,13,22,3,15,9,20,16],apach:11,"cr\u00e9ant":14,"cr\u00e9ation":22,theme:[18,5,14,11,19,12,13,21,2,7,3,15,9,20,16,17],folder:[2,15,16,20],"s\u00e9par\u00e9":6,keep_output:11,watch:16,deviendra:[4,6],report:[19,1,6,12,13,3,15],boulot:6,emb:2,excel:10,method:[15,13,16,20,3],sauc:22,reload:16,respond:12,fair:[11,6,17,0],mandatori:[2,5,12,16,20],result:12,respons:[15,12,13],fail:19,best:[5,12,20],subject:[5,3],sorti:[9,22,11,17],conmmand:9,wikipedia:20,bien:[8,9,22,11,6],propr:[18,9,14],simplest:16,awai:16,irc:[5,12],approach:16,attribut:[2,13,16,20],gzip_cach:[19,3],extend:[2,18,19],sera:[18,11,17],extens:[19,13,20,11,15,16],default_date_format:20,auteur:[9,11,6],auron:8,subfold:[16,20],easi:[5,10,12,13,20],tag_save_a:[2,20],zubin71:20,howev:[20,3],article_generate_context:3,logic:[15,13,3],skribit:19,com:[5,20,1,7,3,8,9,10,16],asciidoc_opt:20,restructuredtext:[5,20,13,7,3,15,9,16],"remarqu\u00e9":9,foobar:[16,20],height:2,tarek:20,guid:20,assum:[16,20],san:[8,11],three:[20,21,3],been:[2,15,12,16,3],much:12,"param\u00e9tr":11,interest:10,basic:[5,12,1,20,19],"200px":2,hesit:[5,1,13,3],notmyidea:[19,20,21,9,22,17],xxx:[11,20],ani:[5,12,19,1,7,15,20,16],"t\u00eate":11,gnu:[22,11,6],servic:[5,9],voici:14,aid:[18,17],tant:[6,0],calepin:[5,9],recevront:18,enlev:11,conf:[10,1,16,20],tediou:15,sever:[12,21,16,20,3],quand:[11,4,6],"h\u00e9sitez":9,perform:[16,3],suggest:[5,12],passon:11,split:[15,19],complet:[2,5,12,20],contr:[8,6],yyyyyi:[11,20],thu:5,inherit:[2,5],contact:[5,20,3],thi:[1,20,12,13,2,7,3,15,10,21,16],endif:[12,3],gzip:3,everyth:2,voulez:[18,9,11,17,14],left:12,identifi:[6,16,20,3],just:[18,1,20,12,2,14,15,10,21,3,16],remarqu:11,"00703b9d":3,yet:3,languag:[5,13,19,12,15,20,16],previous:[2,15],ell:[18,17],els:13,save:[2,20,16,3],adress:[18,9],anglai:[18,6],applic:15,obligatoir:[18,9,14],"pos\u00e9":14,"fran\u00e7ai":11,background:2,bouton:11,specif:[2,12,1],arbitrari:[5,12,19],manual:16,fournit:11,signal:[19,5,14,3],www:[11,20,3],right:[2,15,16],old:[2,12],deal:15,excerpt:13,dead:16,pointant:17,intern:[15,5,13,16],"g\u00e9n\u00e9r\u00e9":[18,22,14],reverse_category_ord:20,ici:[8,18,6],flux:[9,22,11],votrerepertoiresourc:8,tracker:12,articles_pag:[2,18],"400px":2,foi:[11,17],localhost:16,"premi\u00e8r":[8,9,22],core:[8,19,3],default_lang:[11,16,20,6],uncompress:3,collez:6,repositori:[5,10,12,21],anagram:5,post:[12,19,11,2,7,3,10,20,16],"super":[2,4,16],chapter:20,mithra:20,surround:12,commit:[10,1],produc:[20,16,3],article_save_a:20,endasset:3,soi:9,lien:[11,17],son:[8,9,22,18],lier:17,sou:17,lieu:17,wrap:13,git:[12,1,14,8,9,10,22,16],wai:[5,1,19,12,3,15,20,16],yoursitenam:16,support:[5,19,20,2,7,3,15,9,16,17],transform:[15,13],why:5,avail:[5,20,21,2,3,10,16],width:2,reli:[7,16,20],wordpress:[5,20,19,7,15,16],editor:5,author_gravatar:3,fork:[12,1],head:2,medium:20,form:[10,20,16,3],offer:[5,20],forc:13,rsync_upload:16,synonym:20,truc:[9,4],"true":[16,20],freenod:[5,12],reset:3,preview:16,bugfix:1,maximum:20,tell:16,toggl:19,"r\u00e9sum\u00e9":14,"accentu\u00e9":11,featur:[5,1,19,12,3,15,10,20],alongsid:16,petit:0,exist:[18,13,20,1,2,15,16],ship:3,check:[12,1,20],author_email:3,tip:[5,10],refactor:19,entrypoint:19,test:[19,5,12,0,1,7,3,9,20,16],dictionnair:18,langag:11,notwithstand:16,brief:16,devon:6,consid:12,lorem:7,anywher:[5,20],bottom:2,"d\u00e9velopp":[8,17],actuel:[18,9],time:[1,19,12,13,2,3,15,10,21,16],push:10,sujet:14,daili:3,google_analyt:[11,20],mydomain:20,concept:[8,15,13,3],chain:11,rentrer:11,skip:[16,19],global:[11,13,20,3],multilingu:6,retour:9,"requ\u00eat":9,decid:[15,20],depend:[7,1,13,16,12],zone:12,donner:6,decim:3,"r\u00e9f\u00e9rer":14,sourc:[5,0,1,7,8,9,20,16],string:[20,3],feedgener:16,word:[15,12,16,20],exact:[12,17],level:3,did:15,iter:3,item:[13,16,20,3],team:5,quick:5,div:[2,17,21,3],brownston:19,dir:7,prevent:[19,3],arboresc:11,"compliqu\u00e9":[8,6],plu:[8,14,11,17,6],run:[5,10,1,16],appear:[15,12,16,20,19],beautifulsoup:7,"\u00e9l\u00e9ment":18,current:[2,5,20,16,3],mycustomthem:20,"diff\u00e9renc":6,gener:[5,12,19,1,13,2,3,15,10,20,16],supprim:17,french:[5,16,19],modif:[19,14,21,8,16,17],address:[20,3],along:20,"fonctionnalit\u00e9":[9,17],langu:[11,6],rework:15,mysit:20,bon:[18,11],files_to_copi:20,commonli:[15,13],environn:[9,0],regardless:[12,20,19],extra:[12,20],modul:[19,13,15,7,3,8,20],prefer:[15,16,20],instal:[5,12,0,1,13,21,7,3,8,9,10,20,16,17],pagegener:13,metaireau:16,dude:5,live:[1,16],pert:9,"d\u00e9placez":6,peopl:15,enhanc:[1,16,19],appel:11,articles_pagin:[2,18],car:6,prepar:6,cap:[2,20],uniqu:20,cat:[7,16],can:[5,12,19,1,13,21,2,7,3,15,10,20,16],default_categori:[11,20],purpos:[10,20],abord:14,favourit:13,pourrait:9,occur:3,manqu:8,"d\u00e9croissant":18,alwai:[12,20,3],multipl:[15,5,20,19],ping:3,write:[5,13,2,15,22,16],fourth:2,traduir:6,map:[20,3],traduit:6,clone:[8,5,1],usabl:15,sinon:8,mai:[18,12,20,11,13,15,8,16,17],data:[5,12,3],mal:6,permet:[11,17,6],ghp:10,generator_init:[19,3],avant:11,page_lang_url:20,"metadonn\u00e9":11,inform:[12,19,11,13,14,15,20,3,16],"switch":16,preced:16,combin:[17,21,3],callabl:3,"d\u00e9faut":[22,11,4,6],jeun:8,theme_static_path:20,still:[2,15,12,16,6],entiti:19,conjunct:3,group:[16,20],monitor:20,constructeur:11,display_pages_on_menu:[11,16,20],"reg\u00e9n\u00e9rer":11,window:[20,19],anagramm:9,main:[20,11,21,6,3,17],nom:[18,6,11,0,9,22,17],non:[14,11,6],initi:[15,6,3],nou:[6,11,8,9,22,17],devient:4,now:[13,19,12,2,21,15,10,16],nor:16,dotclear:[5,7,16,19],name:[5,13,20,12,2,7,3,21,16],revers:20,separ:[15,13,16,20],get_generator_class:3,cett:[18,17,6],dispon:[18,17],domain:20,replac:[2,21,3],individu:19,continu:[13,19],happen:[15,16],profil:20,valeur:[18,11,6],output_path:[11,20,3],"clart\u00e9":6,bla:[22,4],feed_domain:20,org:[20,3,7,14,9,21,17],quitt:17,care:13,frequenc:3,syndic:[9,22,11],thing:[13,20,1,2,12,21,15,10,16],place:[16,20],think:15,frequent:[5,12],first:[13,19,12,2,3,15,20,16],oper:[13,12,7,21,15,16],pelican:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],directli:[5,20,2,3,10,16],template_nam:12,onc:[15,13,16,21],votr:[18,22,6,11,14,9,4],affich:[18,11,17],submit:3,oppos:1,open:[2,5,13,16,9],size:[2,20],given:[15,10,13,16],convent:[9,16,0],"fen\u00eatr":17,draft:[16,19],beatifulsoup:7,white:2,conveni:20,utlis:18,friend:16,gosquar:[11,20],copi:[2,20,21,17],specifi:[19,12,16,20,3],github:[5,11,19,1,3,8,9,10,20,16],enclos:20,mostli:16,than:[15,21,16,19],png:[21,17],serv:16,wide:[20,19],article_lang_save_a:20,favori:9,were:[12,20],newest_first_arch:[11,20],browser:[16,3],pre:[20,12,2,21,3,17],aller:22,premier:[9,22],pri:11,argument:[7,13,21,17,3],engin:[2,3],techniqu:4,notr:[22,11,6],note:[5,20,12,21,3,16],take:[13,2,3,15,10,21,16],deux:8,unittest2:1,monokai:3,begin:[20,16,3],sure:12,"sp\u00e9cifier":14,normal:[12,16,20],track:3,compress:[19,3],direct_template_nam:20,coloris:14,icon:19,doivent:18,"\u00e9diter":22,renam:12,textarea:3,quantiti:20,troi:17,"cr\u00e9\u00e9":22,show:[7,21],typogrifi:[20,16,19],fifth:2,xml:[22,7,12,20,3],fichier:[18,6,11,0,14,9,22,17],onli:[13,19,12,3,15,20,16],explicitli:[2,12,16,20],codehilit:[12,13,20],activ:[2,11,16,20,3],jinja2_templ:20,css_file:[11,20],dict:20,"diff\u00e9rent":[22,11],plugin_path:3,analyt:[5,11,20,19],analys:[9,22],prenant:4,variou:[15,12,13],get:[5,19,12,21,2,3,8,20,16],"proc\u00e9der":8,nuag:18,ssl:20,"d\u00e9crit":18,inuit:3,ssh:16,balisag:11,requir:[7,12,13],leur:18,"h\u00e9berger":9,where:[2,16,20],summari:[2,18,16,20],save_a:20,"cr\u00e9e":[9,17,14],article_generator_fin:3,diver:[9,11],concern:0,remarquerez:22,detect:[16,19],jeter:14,review:[12,16],enough:[15,16],between:[13,16,3],"import":[19,5,13,6,11,2,7,3,15,9,10,16],paramet:3,page_nam:[2,18],comm:[22,11,17],come:[15,10,13,20],repertoir:[11,6],img:[21,17],tutori:16,tout:[18,6,14,8,22,17],feed_atom:[2,11,12,20],improv:[12,1,20,19],"ins\u00e9rer":18,"\u00e9t\u00e9":[22,17],color:[2,16],overview:15,devrait:11,inspir:[2,18],yearli:3,exploit:17,besoin:[8,18,11,6],typographiqu:[9,0],coupl:15,"m\u00e9taireau":[15,20],mark:[13,20],feed_max_item:20,"propri\u00e9t\u00e9":18,myfoobar:16,rubi:16,those:[15,12,13,16,3],jinja_extens:[11,20],default_metadata:20,invok:[12,3],margin:2,"_metadata_field":13,argpars:16,feed_all_rss:[2,11,20,19],advantag:10,stdout:19,pagesgener:[15,3],destin:20,"__init__":3,par:[18,22,6,11,14,8,4,17],develop:[5,1,21,16,20],generateur:9,author:[18,5,13,6,11,19,2,22,3,15,20,16],alphabet:20,same:[19,12,21,2,3,15,20,16],"ex\u00e9cut":0,"th\u00e8me":[18,11,14,9,22,17],pad:2,author_url:[2,20],markdownread:13,document:[18,5,14,12,6,1,13,19,2,3,15,9,20],flake8:1,finish:16,wpcandi:7,someon:12,mani:[5,1,16],extern:[5,9],appropri:20,"r\u00e9cup\u00e9rez":8,markup:[13,20,11,7,15,16],pep8:1,without:[5,13,20,12,3,21,16],default_orphan:20,execut:3,vueillez:14,when:[1,19,12,3,15,20,16],webasset:[5,19,3],weekli:3,"imm\u00e9diat":17,aura:0,europ:20,miscellan:11,hint:1,except:13,get_gener:[19,3],blog:[18,5,11,6,12,13,19,2,7,22,21,15,9,10,20,16,17],yuicompressor:3,hover:2,around:16,read:[15,13,3],gra:0,filyb:20,mot:6,category_feed_atom:[2,11,12,20],mon:[9,4,14],libr:18,aurez:8,server:[19,20,3,15,10,16],article_exclud:20,either:[16,20],page_save_a:20,output:[18,5,13,19,1,21,2,7,22,3,15,10,20,16],manag:[5,19,20,3,15,21,16],yyyi:[11,20,6],ascend:2,rsync:[16,19],micro:17,exit:[7,21,3],refer:[12,20,3],accueil:18,"g\u00e9n\u00e9ration":9,broken:[5,12],regexp:20,src:[1,20,3],backup:7,processor:20,pages_generator_init:3,piwik_ssl_url:20,"v\u00f4tre":18,tag_feed_rss:[2,11,20],your:[5,12,20,1,13,2,7,3,15,10,16],"regroup\u00e9":11,log:[12,20,19],celui:[11,14],start:[5,20,12,6,15,16],interfac:[15,5,20],lot:[15,6],besid:20,theme_nam:21,tupl:[2,11,20,3],bundl:3,regard:[1,20],"remplac\u00e9":17,pull:[8,12,1,3],possibl:[13,20,12,2,14,15,4,16],"default":[19,12,2,3,20,16],verront:6,manuel:6,creat:[5,12,19,1,13,21,2,3,15,10,20,16],certain:3,bugtrack:14,pourquoi:9,file:[5,13,19,12,2,7,3,15,10,20,16],cultur:11,intra:[16,19],incorrect:[20,3],googl:[5,11,20,19],prepend:20,field:20,valid:[12,20,3],oubliez:8,you:[5,12,20,1,13,2,3,15,10,21,16],tag_feed_atom:[2,11,12,20],symbol:[21,17],important:11,"param\u00e8tr":[9,11,4,22,6],article_nam:2,directori:[19,11,2,7,3,10,20,16],descript:[18,5,20,21,2,7,3,9,17],theme_path:21,goe:16,statiqu:[18,9,11],"t\u00e9l\u00e9charger":8,potenti:5,author_nam:2,all:[13,19,12,2,22,3,15,10,20,16],dist:[21,17],illustr:20,"r\u00e9cent":11,follow:[1,20,12,2,3,15,10,16],disk:[13,16],delete_output_directori:20,rewrit:[2,19],articl:[18,5,11,6,12,19,2,7,22,3,15,9,10,4,16,20],program:15,cncjuc:20,introduc:12,"case":[15,5,20,3],"4em":2,prendr:18,fals:[16,20],faq:[19,5,14,12,9],util:[11,17],sont:[18,9,14,11,0],failur:13,faudrait:11,list:[18,5,12,20,11,13,2,3,21,16,17],twitter_usernam:[11,20],"pr\u00e9c\u00e9demment":17,ten:15,design:[15,5,13],pass:[2,15,1,13,20],further:20,ribbon:20,"propos\u00e9":14,what:[5,1,20,12,13,2,15,16],author_save_a:[2,20],section:[12,20,11,13,3,16],abl:16,quelqu:[9,14],delet:20,version:[5,19,1,21,2,3,8,20,16,17],sur:[18,0,11,14,8,17],peuvent:[17,0],"public":[5,7],full:12,behaviour:20,inher:12,ver:[11,17],modifi:[22,6,12,21,3,15,4,20],valu:[13,20,12,2,3,16],search:[20,3],sender:3,"gr\u00e2ce":[17,14],social:[19,11,20,3],action:3,devserv:16,via:[5,12,20,1,3,8,9,10,16],aimez:8,vim:[15,5,17,21,9],ask:[5,12,16],href:[2,20,3],famili:2,default_d:[11,16,20,19],regist:3,two:[1,20,12,13,2,7,3,15,21,16,17],mort:16,prochain:11,n1k0:20,minor:19,more:[5,19,12,21,3,15,20,16],convinc:3,regarderai:14,particular:[1,20],"\u00e9crivez":9,cach:3,none:[2,12,16,20,19],hous:16,dev:[21,17],histori:[15,5,13,19],paragraph:19,learn:13,def:[13,3],typograph:[16,20],asset_url:3,share:[13,21,17],templat:[18,5,13,19,12,21,2,3,15,9,20,16,17],minimum:20,default_pagin:20,suivant:[8,18,6],xxxx:[11,20],rather:[16,19],anoth:[19,1,16,20,3],"\u00e9tant":9,simpl:[18,5,11,6,12,13,21,2,3,15,9,20,16,17],css:[18,12,20,11,2,14,21,3,17],isn:13,regener:[16,19],resourc:[16,19],referenc:12,associ:[16,3],scss:3,xmltagdefinit:3,"short":[16,20],django:12,caus:20,ensembl:22,egg:[21,16,17],translation_feed_rss:[2,11,20,19],gosquared_sitenam:[11,20],help:[5,12,2,7,14,15,21,16,17],hypertext:16,soon:12,thymefe:20,installez:8,through:16,hierarchi:16,notifi:3,style:[2,12,16,20,3],surtout:11,ja_jp:20,"r\u00e9f\u00e9renc":6,html:[18,22,13,19,12,21,2,7,3,15,4,16,20,17],"op\u00e9rat":[17,14],might:[10,12,20],good:[15,16,20],"return":[15,13,3],timestamp:[16,20],dev_requir:1,cet:[4,17],optionnel:[9,11],"bas\u00e9":0,"d\u00e9taill\u00e9":17,easili:[15,19,3],occasionn:9,"indiqu\u00e9":6,unicod:11,idem:11,hard:12,idea:[2,3],realli:[2,15,10],connect:3,chapitr:11,publish:[5,10,16,20],"g\u00e9n\u00e9r\u00e9e":[18,22],print:[21,3],symboliqu:17,tag_cloud:20,pui:[8,9,14,6],differ:[1,19,12,13,3,15,20,16],base:[22,6,11,2,14,9,20,3],dire:[9,4],put:[2,7,10,20],basi:[5,12,16],contient:18,"r\u00e9alis":[18,17],script:[12,19,11,21,3,20,16,17],assign:[5,12,3],feed:[5,13,19,12,2,7,22,3,15,20,16],dont:18,upper:20,feel:[2,20],mise:[8,9,6],misc:[11,20],number:[20,3],placehold:3,donc:[8,18,11,17,6],done:[15,16],construct:[15,20],blank:19,stabl:16,miss:[2,1,3],passer:[11,6],guess:13,pandoc:7,avec:[6,11,14,8,9,22,17],questionnair:16,unrestrict:20,"li\u00e9":[11,17],least:3,avez:[18,6,11,14,8,9,22,17],statement:13,htm:20,"copi\u00e9":18,option:[5,19,12,21,7,14,15,20,16,17],pari:20,prend:17,reinstal:21,kind:15,produir:18,dossier:[18,22],remov:[2,19,21,17],feed_all_atom:[2,11,12,20,19],jqueri:3,mkvirtualenv:[1,16],cleaner:19,uglifyj:3,aussi:[8,17,14],astuc:[9,4],packag:[19,1,7,3,21,16,17],expir:3,dedic:20,jour:[8,9,6],built:20,lib:[21,17],category_nam:2,self:13,faisant:11,article_url:20,append:[2,3],command:[11,20,1,21,7,14,15,17,16,12],suivi:17,distribut:0,choos:15,most:[15,13,16,20],plan:16,compt:11,changefreq:3,filesystem:19,mybrand:20,github_url:[11,20],clean:20,pars:[15,7,13,3],latest:16,awesom:[13,16],fond:8,session:16,page_exclud:20,font:[2,20],find:[10,13,20],summary_max_length:[16,20],access:[2,5,12,20],pretti:20,writer:[15,13],solut:15,souhaitez:11,factor:15,tag_cloud_max_item:20,express:[16,6],mainten:[22,11,6],rest:[7,19,3],mettr:[8,22,6],skami:[21,17],common:[2,19,16,3],toujour:16,"caract\u00e8r":11,wrote:[15,13],"num\u00e9ro":8,set:[19,5,12,6,11,1,0,2,13,3,15,20,16],automatiqu:6,mantra:15,see:[5,13,20,12,21,16],close:2,someth:[20,16,3],vont:18,direct_templ:[20,19],pouvez:[18,6,11,14,9,17],won:19,premier_articl:[22,11,6],experi:15,altern:[16,3],effet:17,javascript:3,isol:1,"pr\u00e9parat":6,category_save_a:[2,20],popul:13,both:[1,13,16,20],last:[2,12,20],"sp\u00e9cifi\u00e9":11,alor:[8,9],erreur:8,context:[15,13,3],pdf:[19,5,11,20,9],whole:15,load:[15,20,3],markdown:[5,13,19,12,7,15,9,20,16],simpli:[10,16],point:[15,20],header:[12,20,3],linux:[22,11,20,6],throughout:20,outil:[9,17],empti:19,"th\u00e8m":[9,14],monthli:3,imag:[2,18,20,16,3],great:2,output_sources_extens:20,understand:[15,20],demand:14,look:[15,13,16,20,3],solid:2,getpelican:[5,20,1,3,8,9,16],"while":[5,20,12,2,15,16],smart:16,behavior:3,error:[5,12,16],loos:15,pack:3,propag:3,"p\u00e9lican":14,conten:18,readi:16,vou:[18,22,6,11,14,8,9,4,17],"compl\u00e9ter":14,decor:2,decod:19,higher:3,optim:[19,3],"syst\u00eam":0,moment:[18,20],user:[15,10,13,20,19],suivr:11,typic:20,recent:16,lower:13,equival:19,older:[12,20],biologeek:20,entri:[5,19,20,3],endfor:[20,3],propos:22,github_activity_fe:3,useful:3,obtenir:22,also:[5,13,19,12,21,2,7,3,15,20,16],autant:11,shortcut:16,"affect\u00e9":6,input:[20,13,7,3,15,16],subsequ:[2,3],build:[12,13],"g\u00e9n\u00e9rer":[18,9,11,6],format:[19,13,6,11,1,7,3,15,20,16],nginx:[19,3],"ind\u00e9pendam":11,article_gener:3,insert:2,bit:[15,13,20],"d\u00e9fini":18,docutil:16,"d\u00e9p\u00f4t":[9,17,14],resolv:12,collect:[7,20],"id\u00e9":14,pratiqu:[9,17],sitemap:3,autoreload:[16,19],encount:13,some:[5,1,19,12,13,3,15,10,20,16],back:20,sampl:[7,1,20],"cr\u00e9era":18,"n\u00e9cessit":17,virtualenv:[1,16],rien:[8,6],peu:[8,22],per:[5,12,19],substitut:20,larg:20,slash:20,machin:11,previou:20,patient:12,barbaz:20,step:16,savoir:6,"\u00eatre":[8,18,11,17],article_generator_init:3,"m\u00e9thode":[8,9],libert:20,ceci:[22,17],"donn\u00e9":[9,6],block:[2,13,16],visit:2,within:[19,3],ensur:[16,19],chang:[1,19,12,13,2,15,20,16],mkd:[16,20],span:[2,17,21,3],inclut:11,plusieur:[14,17,6],question:[5,14,12,16,9],stylesheet:[2,3],"long":[8,15],custom:[5,1,19,12,3,20],traduct:[18,9,11,4,6],includ:[18,5,20,12,3,16],suit:[5,11,1,19],conseil:6,properli:[5,12,20,3],link:[12,19,11,21,2,3,20,16,17],translat:[5,19,16,20,3],atom:[5,11,19,12,2,7,22,3,15,20,16],inclu:11,line:[19,12,2,7,21,15,20,16],info:20,utc:20,utf:[11,20],highlight:[5,12,2,3,21,16,17],siteurl:[5,12,20,11,2,3],utilis:[18,11,14,9,4,17],doesn:[13,20],repres:[15,12,20],repren:8,dates_pagin:[2,18],extra_templates_path:20,titl:[18,19,20,2,3,16],comprendr:6,chacun:18,simplehttpserv:16,articlesgener:[15,13,3],asciidoc:[5,13,16,20,19],"ordonn\u00e9":18,lang:[20,16,6],"maturit\u00e9":8,tag_fe:12,rst2pdf:20,utilisez:8,came:15,far:[15,3],pluggabl:19,code:[19,5,12,0,11,1,15,3,8,9,20,16],edg:16,scratch:[2,20],pdf_processor:11,webchat:[5,12],feedpars:3,coumn:[21,17],tag_url:[2,20],send:[5,3],objet:[18,11],relev:[12,16],settingsfil:20,tri:[16,20],notez:[9,17],button:20,"try":[1,13],pleas:[5,12,1,16,3],monospac:2,"derni\u00e8r":8,translation_fe:[12,19],akounet:20,"cod\u00e9":9,jump:[12,13],download:[2,7,3],folk:16,compat:[12,19],index:[18,20,21,2,3,22,16,17],cell:22,hourli:3,capital:18,cela:[18,4,17,6],whatev:[15,10,13],chose:[11,16,17],closur:3,quell:[8,9,18],let:[15,16,3],becom:20,sinc:[5,13,20,12,2,3,15,16],"tr\u00e8":[8,18],convert:[7,13,16],convers:[7,12],opinion:15,implement:[15,5,13,16,3],honor:20,firefox:[21,16,17],content_object_init:3,appli:20,"employ\u00e9":17,apt:[8,21,17],"boolean":20,duck:15,cloud:[2,5,19,20,3],from:[5,13,19,1,21,2,7,3,15,10,20,16],usa:20,commun:[18,5,12],"lam\u00e9":11,upgrad:[8,5,12,16],next:16,websit:[12,16,20],few:[15,20],usr:[21,17],sort:[13,14],trail:20,train:18,category_fe:12,account:3,pour:[18,22,6,11,0,14,8,9,4,17],obvious:3,thin:2,aliv:16,control:[5,20],quickstart:[12,16,20,19],process:[5,20,13,2,3,15],pages_gener:3,sudo:[12,21,17],tag:[18,5,13,6,11,19,2,22,3,15,9,20,16],"totalit\u00e9":11,sit:16,instead:[20,21,16,3],pages_generate_context:3,static_path:[11,16,20],stop:16,notebook:5,"cat\u00e9gori":[18,9,22,11,6],correspond:[2,18,22,0],element:[2,3],issu:[12,20,19],prettifi:19,allow:[19,1,3,15,10,20],fallback:20,wpfile:7,voyez:6,move:19,bunch:19,article2:16,article1:16,chosen:15,martyachin:[21,17],eux:18,"\u00e9critur":11,"d\u00e9sign":11,"syst\u00e8m":[8,17],handl:[20,19],auto:16,dan:[18,6,11,8,9,22,17],overal:[5,13],handi:[5,12,16],"\u00e9galement":[9,17],autr:[8,22,11,6,0],devez:18,anyth:[13,16],revu:11,prendreuncaf:20,mode:[16,3],"2em":2,pygment:[5,19,12,14,9,3,16],oui:16,chunk:20,piwik_url:20,meta:[5,12,13,16],"static":[18,5,19,20,2,3,15,10,21,16,17],our:16,patch:1,"probl\u00e8m":14,special:16,out:[15,12,21,17],variabl:[18,5,19,20,2,3,9],categori:[18,22,11,6,13,19,2,7,3,15,20,16],rel:[2,19,16,20,3],clarifi:15,insid:[13,16,20],manipul:8,qua:14,que:[18,6,11,0,14,8,9,22,17],pendant:18,dictionari:[20,3],qui:[18,9,11,17,6],oeil:14,bleed:16,indent:16,ajoutez:14,could:[12,16,20],ouvrez:22,keep:[2,15],length:20,lancez:6,organis:18,chaqu:[18,11],outsid:[5,16],timezon:[20,19],fait:[11,14],suffix:20,suffit:6,qualiti:16,ressembl:11,echo:19,date:[18,11,6,12,19,2,22,15,9,10,4,16,20],facil:[9,14,6],prioriti:3,fonctionn:17,licens:3,mkdir:16,system:[20,13,2,7,15,16],wrapper:16,grow:15,md_extens:20,termin:16,"final":[18,11,3],disqu:[19,5,11,20,9],article_dir:20,shell:16,"1em":2,"d\u00e9cortiqu":22,accompani:16,rst:[22,11,16,20,6],exactli:[15,21],haven:3,related_post:3,rss:[5,13,19,11,12,2,7,15,20,16],contribu:14,"repr\u00e9sent":22,structur:[18,5,19,13,2,9,16],category_url:[2,20],page_dir:20,py2:[21,17],robot:20,generate_cont:15,disqus_sitenam:[11,20],faut:11,mettez:[18,6],have:[5,1,19,12,13,21,2,3,15,20,16],need:[13,20,12,2,3,15,10,16],turn:[15,16],border:2,paquet:[8,0],min:[2,3],choisir:[8,9],which:[5,19,1,21,2,3,10,20,16],seront:18,page_lang_save_a:20,singl:[15,20],unless:[20,19],"configur\u00e9":11,who:[12,16],discov:1,deploi:10,"class":[13,20,12,2,14,15,21,3,17],url:[19,11,6,12,3,9,4,16,20],request:[5,12,1,3],uri:3,face:15,determin:16,personnalis:[9,4,6],text:[19,13,2,3,15,20,16],verbos:[21,17],paginated_direct_templ:20,cloner:9,principal:22,soyez:18,locat:[16,20],should:[1,20,12,13,2,3,15,16],restructur:15,"5px":2,local:[20,21,16,17],contribut:[5,12,1],"exp\u00e9rienc":9,montrer:17,abbr:[16,19],category_feed_rss:[2,11,20],increas:3,enabl:[19,13,16,3],organ:[2,16,20],tag_nam:2,grai:2,rappel:0,integr:[5,3],contain:[19,12,2,3,15,10,20],menuitem:20,static_theme_path:11,view:16,orphan:20,"pass\u00e9":[18,11],statu:16,manpag:20,pattern:16,written:[5,7,3],chemin:[11,17],email:3,kei:[20,3],notam:0,entir:[2,21],otherwis:20,avon:6,dates_pag:[2,18],addit:[13,20],"d\u00e9tail":[11,17],instant:11,plugin:[5,19,20,3],admin:20,quitter:17,etc:[18,5,20,13,2,3,15,9],instanc:[19,13,3,15,20,16],strftime:20,comment:[18,5,19,20,14,9],setvirtualenvproject:16,cepend:[8,11,4,6],"d\u00e9finir":[18,6],respect:[2,18,1,20],mailto:3,quit:13,quotat:20,write_fil:13,titr:[18,11,4],vivant:16,immedi:12,dvcse:5,deliber:12,laquel:8,minifi:3,plain:[20,3],defin:[2,15,20,16,3],"fa\u00e7on":[8,17],indiqu:11,endblock:2,virtualenvwrapp:[1,16],almost:[15,12],demo:[12,14],tutoriel:22,site:[19,5,11,6,12,7,14,20,16],linkedin:19,archiv:[18,20,11,2,3,22],effac:11,martyalchin:[19,21,17],python:[5,13,19,1,21,15,7,3,8,9,20,16,17],http:[5,14,19,1,21,7,3,8,9,20,16,17],upon:20,effect:13,moyen:14,distutil:16,"modifi\u00e9":11,off:19,mention:16,rajout:6,well:[13,16,20,19],weblog:[15,5,1,16],exampl:[5,13,20,12,2,7,3,21,16],invoqu:14,oft:17,english:[16,19],undefin:12,unit2:1,usual:[13,20],"g\u00e9n\u00e8re":11,newest:20,relative_url:20,less:[15,19,3],feedburn:[20,19],simultan:16,web:[15,5,16,3],jinja:[19,3],virgul:6,onward:16,makefil:[12,19],exempl:[18,22,6,11,0,9,4,17],add:[1,19,12,13,3,15,10,20,16],book:20,tag_cloud_step:20,match:[2,16,20],dest:20,piec:15,translation_feed_atom:[2,11,12,20,19],ayant:4,python2:[21,17],loss:5,resid:[2,16],like:[1,20,12,13,7,3,21,16],success:13,rafraichissez:11,page:[18,5,11,19,12,13,2,22,3,15,9,10,20,16],twitter:[5,20,19],"export":7,home:[2,21,17],b3a7c807:3,librari:[20,16,3],tmp:[21,17],vraiment:18,est:[18,22,6,11,14,8,9,4,16,17],thank:[15,20],gravatar:3,duplic:20,avoir:[8,9,11,17,14],encourag:20,ident:16,usag:[19,12,7,21,20,3],symlink:[21,17],host:[15,5,20],allon:[8,22,11,6],"test\u00e9":8,slug:[18,20,6,2,4,16],stage:13,about:[5,13,19,1,12,21,15,10,20,16],actual:16,column:[21,17],constructor:20,disabl:[19,5,12,20,3],compil:[6,3],own:[5,13,20,12,2,3,15,16],ametaireau:20,easy_instal:[12,16],automat:[16,19],rectifi:12,pictur:[15,20],"var":11,"function":[13,19,1,2,3,15,16],pdf_gener:20,subscrib:3,alexi:[20,21,15,9,16,17],yeah:[16,20],bodi:[2,3],"compl\u00e8tement":9,eas:1,inlin:2,bug:[8,1,19,3],count:20,sourcesgener:20,made:[7,1,13,19],temp:17,whether:20,wish:16,displai:[2,12,20],record:13,below:[16,20],guillaum:[22,11,6],problem:[15,5,12],dure:[19,16,3],filenam:[13,16,20,19],nouvel:9,mtime:[11,16,20],pip:[1,20,12,7,3,8,10,16],mutual:21,courant:0,filename_metadata:[20,16,19],detail:[15,5,12,21,20],virtual:[1,16],other:[5,13,20,12,2,7,3,15,16],bool:13,futur:[19,3],branch:[10,1,12],lc_all:1,"arr\u00eat\u00e9":8,retrouvon:22,foir:[9,14],navigateur:22,debian:[19,0],stai:12,sass:3,niveau:6,reliabl:20,rule:3,original:18,decemb:15},objtypes:{},titles:["Conventions","How to contribute?","How to create themes for Pelican","Plugins","Trucs et astuces pour Pelican","Pelican","Les param\u00e8tres des articles dans Pelican","Import from other blog software","Installation et mise \u00e0 jour de Pelican","Pelican","Tips","Fichier de configuration","Frequently Asked Questions (FAQ)","Pelican internals","Foire aux questions (FAQ)","Some history about Pelican","Getting started","pelican-themes","Comment cr\u00e9er des th\u00e8mes pour Pelican","Release history","Settings","pelican-themes","Les bases de Pelican"],objnames:{},filenames:["fr/conventions","contribute","themes","plugins","fr/astuces","index","fr/parametres_article","importer","fr/installation","fr/index","tips","fr/configuration","faq","internals","fr/faq","report","getting_started","fr/pelican-themes","fr/themes","changelog","settings","pelican-themes","fr/bases"]})PK(=xBॠâú>ú>!pelican-3.1.1/pelican-themes.html pelican-themes — Pelican 3 documentation

pelican-themes¶

Description¶

pelican-themes is a command line tool for managing themes for Pelican.

Usage¶

pelican-themes [-h] [-l] [-i theme path [theme path ...]]
[-r theme name [theme name ...]]
[-s theme path [theme path ...]] [-v] [–version]

Optional arguments:¶

-h, --help Show the help an exit
-l, --list Show the themes already installed
-i theme_path, --install theme_path
 One or more themes to install
-r theme_name, --remove theme_name
 One or more themes to remove
-s theme_path, --symlink theme_path
 Same as “–install”, but create a symbolic link instead of copying the theme. Useful for theme development
-v, --verbose Verbose output
--version Print the version of this script

Examples¶

Listing the installed themes¶

With pelican-themes, you can see the available themes by using the -l or --list option:

$ pelican-themes -l
notmyidea
two-column@
simple
$ pelican-themes --list
notmyidea
two-column@
simple

In this example, we can see there are three themes available: notmyidea, simple, and two-column.

two-column is prefixed with an @ because this theme is not copied to the Pelican theme path, but is instead just linked to it (see Creating symbolic links for details about creating symbolic links).

Note that you can combine the --list option with the -v or --verbose option to get more verbose output, like this:

$ pelican-themes -v -l
/usr/local/lib/python2.6/dist-packages/pelican-2.6.0-py2.6.egg/pelican/themes/notmyidea
/usr/local/lib/python2.6/dist-packages/pelican-2.6.0-py2.6.egg/pelican/themes/two-column (symbolic link to `/home/skami/Dev/Python/pelican-themes/two-column')
/usr/local/lib/python2.6/dist-packages/pelican-2.6.0-py2.6.egg/pelican/themes/simple

Installing themes¶

You can install one or more themes using the -i or --install option. This option takes as argument the path(s) of the theme(s) you want to install, and can be combined with the verbose option:

# pelican-themes --install ~/Dev/Python/pelican-themes/notmyidea-cms --verbose
# pelican-themes --install ~/Dev/Python/pelican-themes/notmyidea-cms\
                           ~/Dev/Python/pelican-themes/martyalchin \
                           --verbose
# pelican-themes -vi ~/Dev/Python/pelican-themes/two-column

Removing themes¶

The pelican-themes command can also remove themes from the Pelican themes path. The -r or --remove option takes as argument the name(s) of the theme(s) you want to remove, and can be combined with the --verbose option.

# pelican-themes --remove two-column
# pelican-themes -r martyachin notmyidea-cmd -v

Doing several things at once¶

The --install, --remove and --symlink option are not mutually exclusive, so you can combine them in the same command line to do more than one operation at time, like this:

# pelican-themes --remove notmyidea-cms two-column \
                 --install ~/Dev/Python/pelican-themes/notmyidea-cms-fr \
                 --symlink ~/Dev/Python/pelican-themes/two-column \
                 --verbose

In this example, the theme notmyidea-cms is replaced by the theme notmyidea-cms-fr

See also¶

Fork me on GitHub


PK(=xBù4ƒ»»pelican-3.1.1/genindex.html Index — Pelican 3 documentation

Index

Fork me on GitHub


PK'=xB–}UÒgÒg"pelican-3.1.1/getting_started.html Getting started — Pelican 3 documentation

Getting started¶

Installing Pelican¶

You’re ready? Let’s go! You can install Pelican via several different methods. The simplest is via pip:

$ pip install pelican

If you don’t have pip installed, an alternative method is easy_install:

$ easy_install pelican

While the above is the simplest method, the recommended approach is to create a virtual environment for Pelican via virtualenv and virtualenvwrapper before installing Pelican. Assuming you’ve followed the virtualenvwrapper installation and shell configuration steps, you can then open a new terminal session and create a new virtual environment for Pelican:

$ mkvirtualenv pelican

Once the virtual environment has been created and activated, Pelican can be be installed via pip or easy_install as noted above. Alternatively, if you have the project source, you can install Pelican using the distutils method:

$ cd path-to-Pelican-source
$ python setup.py install

If you have Git installed and prefer to install the latest bleeding-edge version of Pelican rather than a stable release, use the following command:

$ pip install -e git://github.com/getpelican/pelican#egg=pelican

If you plan on using Markdown as a markup format, you’ll need to install the Markdown library as well:

$ pip install Markdown

If you want to use AsciiDoc you need to install it from source or use your operating system’s package manager.

Upgrading¶

If you installed a stable Pelican release via pip or easy_install and wish to upgrade to the latest stable release, you can do so by adding --upgrade to the relevant command. For pip, that would be:

$ pip install --upgrade pelican

If you installed Pelican via distutils or the bleeding-edge method, simply perform the same step to install the most recent version.

Dependencies¶

At this time, Pelican is dependent on the following Python packages:

  • feedgenerator, to generate the Atom feeds
  • jinja2, for templating support
  • docutils, for supporting reStructuredText as an input format

If you’re not using Python 2.7, you will also need the argparse package.

Optionally:

  • pygments, for syntax highlighting
  • Markdown, for supporting Markdown as an input format
  • Typogrify, for typographical enhancements

Kickstart a blog¶

Following is a brief tutorial for those who want to get started right away. We’re going to assume that virtualenv and virtualenvwrapper are installed and configured; if you’ve installed Pelican outside of a virtual environment, you can skip to the pelican-quickstart command. Let’s first create a new virtual environment and install Pelican into it:

$ mkvirtualenv pelican
$ pip install pelican Markdown

Next we’ll create a directory to house our site content and configuration files, which can be located any place you prefer, and associate this new project with the currently-active virtual environment:

$ mkdir ~/code/yoursitename
$ cd ~/code/yoursitename
$ setvirtualenvproject

Now we can run the pelican-quickstart command, which will ask some questions about your site:

$ pelican-quickstart

Once you finish answering all the questions, you can begin adding content to the content folder that has been created for you. (See Writing articles using Pelican section below for more information about how to format your content.) Once you have some content to generate, you can convert it to HTML via the following command:

$ make html

If you’d prefer to have Pelican automatically regenerate your site every time a change is detected (handy when testing locally), use the following command instead:

$ make regenerate

To serve the site so it can be previewed in your browser at http://localhost:8000:

$ make serve

Normally you would need to run make regenerate and make serve in two separate terminal sessions, but you can run both at once via:

$ make devserver

The above command will simultaneously run Pelican in regeneration mode as well as serve the output at http://localhost:8000. Once you are done testing your changes, you should stop the development server via:

$ ./develop_server.sh stop

When you’re ready to publish your site, you can upload it via the method(s) you chose during the pelican-quickstart questionnaire. For this example, we’ll use rsync over ssh:

$ make rsync_upload

That’s it! Your site should now be live.

Writing articles using Pelican¶

File metadata¶

Pelican tries to be smart enough to get the information it needs from the file system (for instance, about the category of your articles), but some information you need to provide in the form of metadata inside your files.

You can provide this metadata in reStructuredText text files via the following syntax (give your file the .rst extension):

My super title
##############

:date: 2010-10-03 10:20
:tags: thats, awesome
:category: yeah
:slug: my-super-post
:author: Alexis Metaireau
:summary: Short version for index and feeds

Pelican implements an extension to reStructuredText to enable support for the abbr HTML tag. To use it, write something like this in your post:

This will be turned into :abbr:`HTML (HyperText Markup Language)`.

You can also use Markdown syntax (with a file ending in .md, .markdown, or .mkd). Markdown generation will not work until you explicitly install the Markdown package, which can be done via pip install Markdown. Metadata syntax for Markdown posts should follow this pattern:

Title: My super title
Date: 2010-12-03 10:20
Tags: thats, awesome
Category: yeah
Slug: my-super-post
Author: Alexis Metaireau
Summary: Short version for index and feeds

This is the content of my super blog post.

Note that, aside from the title, none of this metadata is mandatory: if the date is not specified, Pelican can rely on the file’s “mtime” timestamp through the DEFAULT_DATE setting, and the category can be determined by the directory in which the file resides. For example, a file located at python/foobar/myfoobar.rst will have a category of foobar. If you would like to organize your files in other ways where the name of the subfolder would not be a good category name, you can set the setting USE_FOLDER_AS_CATEGORY to False. If there is no summary metadata for a given post, the SUMMARY_MAX_LENGTH setting can be used to specify how many words from the beginning of an article are used as the summary.

You can also extract any metadata from the filename through a regular expression to be set in the FILENAME_METADATA setting. All named groups that are matched will be set in the metadata object. The default value for the FILENAME_METADATA setting will only extract the date from the filename. For example, if you would like to extract both the date and the slug, you could set something like: '(?P<date>\d{4}-\d{2}-\d{2})_(?P<slug>.*)'

Please note that the metadata available inside your files takes precedence over the metadata extracted from the filename.

Generate your blog¶

The make shortcut commands mentioned in the Kickstart a blog section are mostly wrappers around the pelican command that generates the HTML from the content. The pelican command can also be run directly:

$ pelican /path/to/your/content/ [-s path/to/your/settings.py]

The above command will generate your weblog and save it in the output/ folder, using the default theme to produce a simple site. The default theme is simple HTML without styling and is provided so folks may use it as a basis for creating their own themes.

Pelican has other command-line switches available. Have a look at the help to see all the options you can use:

$ pelican --help

Auto-reload¶

It’s possible to tell Pelican to watch for your modifications, instead of manually re-running it every time you want to see your changes. To enable this, run the pelican command with the -r or --autoreload option.

Pages¶

If you create a folder named pages inside the content folder, all the files in it will be used to generate static pages.

Then, use the DISPLAY_PAGES_ON_MENU setting to add all those pages to the primary navigation menu.

If you want to exclude any pages from being linked to or listed in the menu then add a status: hidden attribute to its metadata. This is useful for things like making error pages that fit the generated theme of your site.

Linking to internal content¶

From Pelican 3.1 onwards, it is now possible to specify intra-site links to files in the source content hierarchy instead of files in the generated hierarchy. This makes it easier to link from the current post to other posts and images that may be sitting alongside the current post (instead of having to determine where those resources will be placed after site generation).

To link to internal content, use the following syntax: |filename|path/to/file.

For example, you may want to add links between “article1” and “article2” given the structure:

website/
├── content
│   ├── article1.rst
│   └── cat/
│       └── article2.md
└── pelican.conf.py

In this example, article1.rst could look like:

Title: The first article
Date: 2012-12-01

See below intra-site link examples in reStructuredText format.

`a link relative to content root <|filename|/cat/article2.md>`_
`a link relative to current file <|filename|cat/article2.md>`_

and article2.md:

Title: The second article
Date: 2012-12-01

See below intra-site link examples in Markdown format.

[a link relative to content root](|filename|/article1.rst)
[a link relative to current file](|filename|../article1.rst)

Note

You can use the same syntax to link to internal pages or even static content (like images) which would be available in a directory listed in settings["STATIC_PATHS"].

Importing an existing blog¶

It is possible to import your blog from Dotclear, WordPress, and RSS feeds using a simple script. See Import from other blog software.

Translations¶

It is possible to translate articles. To do so, you need to add a lang meta attribute to your articles/pages and set a DEFAULT_LANG setting (which is English [en] by default). With those settings in place, only articles with the default language will be listed, and each article will be accompanied by a list of available translations for that article.

Pelican uses the article’s URL “slug” to determine if two or more articles are translations of one another. The slug can be set manually in the file’s metadata; if not set explicitly, Pelican will auto-generate the slug from the title of the article.

Here is an example of two articles, one in English and the other in French.

The English article:

Foobar is not dead
##################

:slug: foobar-is-not-dead
:lang: en

That's true, foobar is still alive!

And the French version:

Foobar n'est pas mort !
#######################

:slug: foobar-is-not-dead
:lang: fr

Oui oui, foobar est toujours vivant !

Post content quality notwithstanding, you can see that only item in common between the two articles is the slug, which is functioning here as an identifier. If you’d rather not explicitly define the slug this way, you must then instead ensure that the translated article titles are identical, since the slug will be auto-generated from the article title.

Syntax highlighting¶

Pelican is able to provide colorized syntax highlighting for your code blocks. To do so, you have to use the following conventions inside your content files.

For reStructuredText, use the code-block directive:

.. code-block:: identifier

   <indented code block goes here>

For Markdown, include the language identifier just above the code block, indenting both the identifier and code:

A block of text.

    :::identifier
    <code goes here>

The specified identifier (e.g. python, ruby) should be one that appears on the list of available lexers.

Publishing drafts¶

If you want to publish an article as a draft (for friends to review before publishing, for example), you can add a status: draft attribute to its metadata. That article will then be output to the drafts folder and not listed on the index page nor on any category page.

Viewing the generated files¶

The files generated by Pelican are static files, so you don’t actually need anything special to see what’s happening with the generated files.

You can either use your browser to open the files on your disk:

firefox output/index.html

Or run a simple web server using Python:

cd output && python -m SimpleHTTPServer
Fork me on GitHub


PK(=xB‹Î·3232pelican-3.1.1/report.html Some history about Pelican — Pelican 3 documentation

Some history about Pelican¶

Warning

This page comes from a report the original author (Alexis Métaireau) wrote right after writing Pelican, in December 2010. The information may not be up-to-date.

Pelican is a simple static blog generator. It parses markup files (Markdown or reStructuredText for now) and generates an HTML folder with all the files in it. I’ve chosen to use Python to implement Pelican because it seemed to be simple and to fit to my needs. I did not wanted to define a class for each thing, but still wanted to keep my things loosely coupled. It turns out that it was exactly what I wanted. From time to time, thanks to the feedback of some users, it took me a very few time to provide fixes on it. So far, I’ve re-factored the Pelican code by two times; each time took less than 30 minutes.

Use case¶

I was previously using WordPress, a solution you can host on a web server to manage your blog. Most of the time, I prefer using markup languages such as Markdown or reStructuredText to type my articles. To do so, I use vim. I think it is important to let the people choose the tool they want to write the articles. In my opinion, a blog manager should just allow you to take any kind of input and transform it to a weblog. That’s what Pelican does. You can write your articles using the tool you want, and the markup language you want, and then generate a static HTML weblog.

_images/overall.png

To be flexible enough, Pelican has template support, so you can easily write your own themes if you want to.

Design process¶

Pelican came from a need I have. I started by creating a single file application, and I have make it grow to support what it does by now. To start, I wrote a piece of documentation about what I wanted to do. Then, I created the content I wanted to parse (the reStructuredText files) and started experimenting with the code. Pelican was 200 lines long and contained almost ten functions and one class when it was first usable.

I have been facing different problems all over the time and wanted to add features to Pelican while using it. The first change I have done was to add the support of a settings file. It is possible to pass the options to the command line, but can be tedious if there is a lot of them. In the same way, I have added the support of different things over time: Atom feeds, multiple themes, multiple markup support, etc. At some point, it appears that the “only one file” mantra was not good enough for Pelican, so I decided to rework a bit all that, and split this in multiple different files.

I’ve separated the logic in different classes and concepts:

  • writers are responsible of all the writing process of the files. They are responsible of writing .html files, RSS feeds and so on. Since those operations are commonly used, the object is created once, and then passed to the generators.
  • readers are used to read from various formats (Markdown and reStructuredText for now, but the system is extensible). Given a file, they return metadata (author, tags, category, etc) and content (HTML formatted).
  • generators generate the different outputs. For instance, Pelican comes with an ArticlesGenerator and PagesGenerator, into others. Given a configuration, they can do whatever you want them to do. Most of the time it’s generating files from inputs (user inputs and files).

I also deal with contents objects. They can be Articles, Pages, Quotes, or whatever you want. They are defined in the contents.py module and represent some content to be used by the program.

In more detail¶

Here is an overview of the classes involved in Pelican.

_images/uml.jpg

The interface does not really exist, and I have added it only to clarify the whole picture. I do use duck typing and not interfaces.

Internally, the following process is followed:

  • First of all, the command line is parsed, and some content from the user is used to initialize the different generator objects.
  • A context is created. It contains the settings from the command line and a settings file if provided.
  • The generate_context method of each generator is called, updating the context.
  • The writer is created and given to the generate_output method of each generator.

I make two calls because it is important that when the output is generated by the generators, the context will not change. In other words, the first method generate_context should modify the context, whereas the second generate_output method should not.

Then, it is up to the generators to do what the want, in the generate_context and generate_content method. Taking the ArticlesGenerator class will help to understand some others concepts. Here is what happens when calling the generate_context method:

  • Read the folder “pathâ€, looking for restructured text files, load each of them, and construct a content object (Article) with it. To do so, use Reader objects.
  • Update the context with all those articles.

Then, the generate_content method uses the context and the writer to generate the wanted output.

Fork me on GitHub


PK(=xB"\Áùiùipelican-3.1.1/themes.html How to create themes for Pelican — Pelican 3 documentation

How to create themes for Pelican¶

Pelican uses the great Jinja2 templating engine to generate its HTML output. Jinja2 syntax is really simple. If you want to create your own theme, feel free to take inspiration from the “simple” theme.

Structure¶

To make your own theme, you must follow the following structure:

├── static
│   ├── css
│   └── images
└── templates
    ├── archives.html    // to display archives
    ├── article.html     // processed for each article
    ├── author.html      // processed for each author
    ├── authors.html     // must list all the authors
    ├── categories.html  // must list all the categories
    ├── category.html    // processed for each category
    ├── index.html       // the index. List all the articles
    ├── page.html        // processed for each page
    ├── tag.html         // processed for each tag
    └── tags.html        // must list all the tags. Can be a tag cloud.
  • static contains all the static assets, which will be copied to the output theme folder. I’ve put the CSS and image folders here, but they are just examples. Put what you need here.
  • templates contains all the templates that will be used to generate the content. I’ve just put the mandatory templates here; you can define your own if it helps you keep things organized while creating your theme.

Templates and variables¶

The idea is to use a simple syntax that you can embed into your HTML pages. This document describes which templates should exist in a theme, and which variables will be passed to each template at generation time.

All templates will receive the variables defined in your settings file, if they are in all-caps. You can access them directly.

Common variables¶

All of these settings will be available to all templates.

Variable Description
articles The list of articles, ordered descending by date All the elements are Article objects, so you can access their attributes (e.g. title, summary, author etc.)
dates The same list of articles, but ordered by date, ascending
tags A list of (tag, articles) tuples, containing all the tags.
categories A list of (category, articles) tuples, containing all the categories. and the list of respective articles (values)
pages The list of pages

index.html¶

This is the home page of your blog, generated at output/index.html.

If pagination is active, subsequent pages will reside in output/index`n`.html.

Variable Description
articles_paginator A paginator object for the list of articles
articles_page The current page of articles
dates_paginator A paginator object for the article list, ordered by date, ascending.
dates_page The current page of articles, ordered by date, ascending.
page_name ‘index’ – useful for pagination links

author.html¶

This template will be processed for each of the existing authors, with output generated at output/author/author_name.html.

If pagination is active, subsequent pages will reside as defined by setting AUTHOR_SAVE_AS (Default: output/author/author_name’n’.html).

Variable Description
author The name of the author being processed
articles Articles by this author
dates Articles by this author, but ordered by date, ascending
articles_paginator A paginator object for the list of articles
articles_page The current page of articles
dates_paginator A paginator object for the article list, ordered by date, ascending.
dates_page The current page of articles, ordered by date, ascending.
page_name AUTHOR_URL where everything after {slug} is removed – useful for pagination links

category.html¶

This template will be processed for each of the existing categories, with output generated at output/category/category_name.html.

If pagination is active, subsequent pages will reside as defined by setting CATEGORY_SAVE_AS (Default: output/category/category_name’n’.html).

Variable Description
category The name of the category being processed
articles Articles for this category
dates Articles for this category, but ordered by date, ascending
articles_paginator A paginator object for the list of articles
articles_page The current page of articles
dates_paginator A paginator object for the list of articles, ordered by date, ascending
dates_page The current page of articles, ordered by date, ascending
page_name CATEGORY_URL where everything after {slug} is removed – useful for pagination links

article.html¶

This template will be processed for each article, with .html files saved as output/article_name.html. Here are the specific variables it gets.

Variable Description
article The article object to be displayed
category The name of the category for the current article

page.html¶

This template will be processed for each page, with corresponding .html files saved as output/page_name.html.

Variable Description
page The page object to be displayed. You can access its title, slug, and content.

tag.html¶

This template will be processed for each tag, with corresponding .html files saved as output/tag/tag_name.html.

If pagination is active, subsequent pages will reside as defined in setting TAG_SAVE_AS (Default: output/tag/tag_name’n’.html).

Variable Description
tag The name of the tag being processed
articles Articles related to this tag
dates Articles related to this tag, but ordered by date, ascending
articles_paginator A paginator object for the list of articles
articles_page The current page of articles
dates_paginator A paginator object for the list of articles, ordered by date, ascending
dates_page The current page of articles, ordered by date, ascending
page_name TAG_URL where everything after {slug} is removed – useful for pagination links

Feeds¶

The feed variables changed in 3.0. Each variable now explicitly lists ATOM or RSS in the name. ATOM is still the default. Old themes will need to be updated. Here is a complete list of the feed variables:

FEED_ATOM
FEED_RSS
FEED_ALL_ATOM
FEED_ALL_RSS
CATEGORY_FEED_ATOM
CATEGORY_FEED_RSS
TAG_FEED_ATOM
TAG_FEED_RSS
TRANSLATION_FEED_ATOM
TRANSLATION_FEED_RSS

Inheritance¶

Since version 3.0, Pelican supports inheritance from the simple theme, so you can re-use the simple theme templates in your own themes.

If one of the mandatory files in the templates/ directory of your theme is missing, it will be replaced by the matching template from the simple theme. So if the HTML structure of a template in the simple theme is right for you, you don’t have to write a new template from scratch.

You can also extend templates from the simple themes in your own themes by using the {% extends %} directive as in the following example:

{% extends "!simple/index.html" %}   <!-- extends the ``index.html`` template from the ``simple`` theme -->

{% extends "index.html" %}   <!-- "regular" extending -->

Example¶

With this system, it is possible to create a theme with just two files.

base.html¶

The first file is the templates/base.html template:

{% extends "!simple/base.html" %}

{% block head %}
{{ super() }}
   <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/style.css" />
{% endblock %}
  1. On the first line, we extend the base.html template from the simple theme, so we don’t have to rewrite the entire file.
  2. On the third line, we open the head block which has already been defined in the simple theme.
  3. On the fourth line, the function super() keeps the content previously inserted in the head block.
  4. On the fifth line, we append a stylesheet to the page.
  5. On the last line, we close the head block.

This file will be extended by all the other templates, so the stylesheet will be linked from all pages.

style.css¶

The second file is the static/css/style.css CSS stylesheet:

body {
    font-family : monospace ;
    font-size : 100% ;
    background-color : white ;
    color : #111 ;
    width : 80% ;
    min-width : 400px ;
    min-height : 200px ;
    padding : 1em ;
    margin : 5% 10% ;
    border : thin solid gray ;
    border-radius : 5px ;
    display : block ;
}

a:link    { color : blue ; text-decoration : none ;      }
a:hover   { color : blue ; text-decoration : underline ; }
a:visited { color : blue ;                               }

h1 a { color : inherit !important }
h2 a { color : inherit !important }
h3 a { color : inherit !important }
h4 a { color : inherit !important }
h5 a { color : inherit !important }
h6 a { color : inherit !important }

pre {
    margin : 2em 1em 2em 4em ;
}

#menu li {
    display : inline ;
}

#post-list {
    margin-bottom : 1em ;
    margin-top : 1em ;
}

Download¶

You can download this example theme here.

Fork me on GitHub


PK(=xBXP>¿©z©zpelican-3.1.1/plugins.html Plugins — Pelican 3 documentation

Plugins¶

Beginning with version 3.0, Pelican supports plugins. Plugins are a way to add features to Pelican without having to directly modify the Pelican core.

Pelican is shipped with a set of bundled plugins, but you can easily implement your own. This page describes how to use and create plugins.

How to use plugins¶

To load plugins, you have to specify them in your settings file. There are two ways to do so. The first method is to specify strings with the path to the callables:

PLUGINS = ['pelican.plugins.gravatar',]

Alternatively, another method is to import them and add them to the list:

from pelican.plugins import gravatar
PLUGINS = [gravatar,]

If your plugins are not in an importable path, you can specify a PLUGIN_PATH in the settings:

PLUGIN_PATH = "plugins"
PLUGINS = ["list", "of", "plugins"]

How to create plugins¶

Plugins are based on the concept of signals. Pelican sends signals, and plugins subscribe to those signals. The list of signals are defined in a subsequent section.

The only rule to follow for plugins is to define a register callable, in which you map the signals to your plugin logic. Let’s take a simple example:

from pelican import signals

def test(sender):
    print "%s initialized !!" % sender

def register():
    signals.initialized.connect(test)

List of signals¶

Here is the list of currently implemented signals:

Signal Arguments Description
initialized pelican object  
finalized pelican object invoked after all the generators are executed and just before pelican exits usefull for custom post processing actions, such as: - minifying js/css assets. - notify/ping search engines with an updated sitemap.
generator_init generator invoked in the Generator.__init__
article_generate_context article_generator, metadata  
article_generate_preread article_generator invoked before a article is read in ArticlesGenerator.generate_context; use if code needs to do something before every article is parsed
article_generator_init article_generator invoked in the ArticlesGenerator.__init__
article_generator_finalized article_generator invoked at the end of ArticlesGenerator.generate_context
get_generators generators invoked in Pelican.get_generator_classes, can return a Generator, or several generator in a tuple or in a list.
pages_generate_context pages_generator, metadata  
pages_generator_init pages_generator invoked in the PagesGenerator.__init__

The list is currently small, so don’t hesitate to add signals and make a pull request if you need them!

Note

The signal content_object_init can send a different type of object as the argument. If you want to register only one type of object then you will need to specify the sender when you are connecting to the signal.

from pelican import signals
from pelican import contents

def test(sender, instance):
        print "%s : %s content initialized !!" % (sender, instance)

def register():
        signals.content_object_init.connect(test, sender=contents.Article)

List of plugins¶

The following plugins are currently included with Pelican under pelican.plugins:

Ideas for plugins that haven’t been written yet:

  • Tag cloud
  • Translation

Plugin descriptions¶

Asset management¶

This plugin allows you to use the Webassets module to manage assets such as CSS and JS files. The module must first be installed:

pip install webassets

The Webassets module allows you to perform a number of useful asset management functions, including:

  • CSS minifier (cssmin, yuicompressor, ...)
  • CSS compiler (less, sass, ...)
  • JS minifier (uglifyjs, yuicompressor, closure, ...)

Others filters include gzip compression, integration of images in CSS via data URIs, and more. Webassets can also append a version identifier to your asset URL to convince browsers to download new versions of your assets when you use far-future expires headers. Please refer to the Webassets documentation for more information.

When used with Pelican, Webassets is configured to process assets in the OUTPUT_PATH/theme directory. You can use Webassets in your templates by including one or more template tags. The Jinja variable {{ ASSET_URL }} can be used in templates and is relative to the theme/ url. The {{ ASSET_URL }} variable should be used in conjunction with the {{ SITEURL }} variable in order to generate URLs properly. For example:

{% assets filters="cssmin", output="css/style.min.css", "css/inuit.css", "css/pygment-monokai.css", "css/main.css" %}
    <link rel="stylesheet" href="{{ SITEURL }}/{{ ASSET_URL }}">
{% endassets %}

... will produce a minified css file with a version identifier that looks like:

<link href="http://{SITEURL}/theme/css/style.min.css?b3a7c807" rel="stylesheet">

These filters can be combined. Here is an example that uses the SASS compiler and minifies the output:

{% assets filters="sass,cssmin", output="css/style.min.css", "css/style.scss" %}
    <link rel="stylesheet" href="{{ SITEURL }}/{{ ASSET_URL }}">
{% endassets %}

Another example for Javascript:

{% assets filters="uglifyjs,gzip", output="js/packed.js", "js/jquery.js", "js/base.js", "js/widgets.js" %}
    <script src="{{ SITEURL }}/{{ ASSET_URL }}"></script>
{% endassets %}

The above will produce a minified and gzipped JS file:

<script src="http://{SITEURL}/theme/js/packed.js?00703b9d"></script>

Pelican’s debug mode is propagated to Webassets to disable asset packaging and instead work with the uncompressed assets. However, this also means that the LESS and SASS files are not compiled. This should be fixed in a future version of Webassets (cf. the related bug report).

GitHub activity¶

This plugin makes use of the feedparser library that you’ll need to install.

Set the GITHUB_ACTIVITY_FEED parameter to your GitHub activity feed. For example, to track Pelican project activity, the setting would be:

GITHUB_ACTIVITY_FEED = 'https://github.com/getpelican.atom'

On the template side, you just have to iterate over the github_activity variable, as in this example:

{% if GITHUB_ACTIVITY_FEED %}
   <div class="social">
           <h2>Github Activity</h2>
           <ul>

           {% for entry in github_activity %}
               <li><b>{{ entry[0] }}</b><br /> {{ entry[1] }}</li>
           {% endfor %}
           </ul>
   </div><!-- /.github_activity -->
{% endif %}

github_activity is a list of lists. The first element is the title, and the second element is the raw HTML from GitHub.

Global license¶

This plugin allows you to define a LICENSE setting and adds the contents of that license variable to the article’s context, making that variable available to use from within your theme’s templates.

Gravatar¶

This plugin assigns the author_gravatar variable to the Gravatar URL and makes the variable available within the article’s context. You can add AUTHOR_EMAIL to your settings file to define the default author’s email address. Obviously, that email address must be associated with a Gravatar account.

Alternatively, you can provide an email address from within article metadata:

:email:  john.doe@example.com

If the email address is defined via at least one of the two methods above, the author_gravatar variable is added to the article’s context.

Gzip cache¶

Certain web servers (e.g., Nginx) can use a static cache of gzip-compressed files to prevent the server from compressing files during an HTTP call. Since compression occurs at another time, these compressed files can be compressed at a higher compression level for increased optimization.

The gzip_cache plugin compresses all common text type files into a .gz file within the same directory as the original file.

HTML tags for reStructuredText¶

This plugin allows you to use HTML tags from within reST documents. Following is a usage example, which is in this case a contact form:

.. html::

    <form method="GET" action="mailto:some email">
      <p>
        <input type="text" placeholder="Subject" name="subject">
        <br />
        <textarea name="body" placeholder="Message">
        </textarea>
        <br />
        <input type="reset"><input type="submit">
      </p>
    </form>

Sitemap¶

The sitemap plugin generates plain-text or XML sitemaps. You can use the SITEMAP variable in your settings file to configure the behavior of the plugin.

The SITEMAP variable must be a Python dictionary and can contain three keys:

  • format, which sets the output format of the plugin (xml or txt)

  • priorities, which is a dictionary with three keys:

    • articles, the priority for the URLs of the articles and their translations

    • pages, the priority for the URLs of the static pages

    • indexes, the priority for the URLs of the index pages, such as tags,

      author pages, categories indexes, archives, etc...

    All the values of this dictionary must be decimal numbers between 0 and 1.

  • changefreqs, which is a dictionary with three items:

    • articles, the update frequency of the articles
    • pages, the update frequency of the pages
    • indexes, the update frequency of the index pages

    Valid frequency values are always, hourly, daily, weekly, monthly, yearly and never.

If a key is missing or a value is incorrect, it will be replaced with the default value.

The sitemap is saved in <output_path>/sitemap.<format>.

Note

priorities and changefreqs are information for search engines. They are only used in the XML sitemaps. For more information: <http://www.sitemaps.org/protocol.html#xmlTagDefinitions>

Example

Here is an example configuration (it’s also the default settings):

PLUGINS=['pelican.plugins.sitemap',]

SITEMAP = {
    'format': 'xml',
    'priorities': {
        'articles': 0.5,
        'indexes': 0.5,
        'pages': 0.5
    },
    'changefreqs': {
        'articles': 'monthly',
        'indexes': 'daily',
        'pages': 'monthly'
    }
}
Fork me on GitHub


PK'=xB3çí†6†6pelican-3.1.1/changelog.html Release history — Pelican 3 documentation

Release history¶

3.1 (2012-12-04)¶

  • Improve handling of links to intra-site resources
  • Ensure WordPress import adds paragraphs for all types of line endings in post content
  • Decode HTML entities within WordPress post titles on import
  • Improve appearance of LinkedIn icon in default theme
  • Add GitHub and Google+ social icons support in default theme
  • Optimize social icons
  • Add FEED_ALL_ATOM and FEED_ALL_RSS to generate feeds containing all posts regardless of their language
  • Split TRANSLATION_FEED into TRANSLATION_FEED_ATOM and TRANSLATION_FEED_RSS
  • Different feeds can now be enabled/disabled individually
  • Allow for blank author: if AUTHOR setting is not set, author won’t default to ${USER} anymore, and a post won’t contain any author information if the post author is empty
  • Move LESS and Webassets support from Pelican core to plugin
  • The DEFAULT_DATE setting now defaults to None, which means that articles won’t be generated unless date metadata is specified
  • Add FILENAME_METADATA setting to support metadata extraction from filename
  • Add gzip_cache plugin to compress common text files into a .gz file within the same directory as the original file, preventing the server (e.g. Nginx) from having to compress files during an HTTP call
  • Add support for AsciiDoc-formatted content
  • Add USE_FOLDER_AS_CATEGORY setting so that feature can be toggled on/off
  • Support arbitrary Jinja template files
  • Restore basic functional tests
  • New signals: generator_init, get_generators, and article_generate_preread

3.0 (2012-08-08)¶

  • Refactored the way URLs are handled
  • Improved the English documentation
  • Fixed packaging using setuptools entrypoints
  • Added typogrify support
  • Added a way to disable feed generation
  • Added support for DIRECT_TEMPLATES
  • Allow multiple extensions for content files
  • Added LESS support
  • Improved the import script
  • Added functional tests
  • Rsync support in the generated Makefile
  • Improved feed support (easily pluggable with Feedburner for instance)
  • Added support for abbr in reST
  • Fixed a bunch of bugs :-)

2.8 (2012-02-28)¶

  • Dotclear importer
  • Allow the usage of Markdown extensions
  • Themes are now easily extensible
  • Don’t output pagination information if there is only one page
  • Add a page per author, with all their articles
  • Improved the test suite
  • Made the themes easier to extend
  • Removed Skribit support
  • Added a pelican-quickstart script
  • Fixed timezone-related issues
  • Added some scripts for Windows support
  • Date can be specified in seconds
  • Never fail when generating posts (skip and continue)
  • Allow the use of future dates
  • Support having different timezones per language
  • Enhanced the documentation

2.7 (2011-06-11)¶

  • Use logging rather than echoing to stdout
  • Support custom Jinja filters
  • Compatibility with Python 2.5
  • Added a theme manager
  • Packaged for Debian
  • Added draft support

2.6 (2011-03-08)¶

  • Changes in the output directory structure
  • Makes templates easier to work with / create
  • Added RSS support (was Atom-only)
  • Added tag support for the feeds
  • Enhance the documentation
  • Added another theme (brownstone)
  • Added translations
  • Added a way to use cleaner URLs with a rewrite url module (or equivalent)
  • Added a tag cloud
  • Added an autoreloading feature: the blog is automatically regenerated each time a modification is detected
  • Translate the documentation into French
  • Import a blog from an RSS feed
  • Pagination support
  • Added Skribit support

2.5 (2010-11-20)¶

  • Import from Wordpress
  • Added some new themes (martyalchin / wide-notmyidea)
  • First bug report!
  • Linkedin support
  • Added a FAQ
  • Google Analytics support
  • Twitter support
  • Use relative URLs, not static ones

2.4 (2010-11-06)¶

  • Minor themes changes
  • Add Disqus support (so we have comments)
  • Another code refactoring
  • Added config settings about pages
  • Blog entries can also be generated in PDF

2.3 (2010-10-31)¶

  • Markdown support

2.2 (2010-10-30)¶

  • Prettify output
  • Manages static pages as well

2.1 (2010-10-30)¶

  • Make notmyidea the default theme

2.0 (2010-10-30)¶

  • Refactoring to be more extensible
  • Change into the setting variables

1.2 (2010-09-28)¶

  • Added a debug option
  • Added per-category feeds
  • Use filesystem to get dates if no metadata is provided
  • Add Pygments support

1.1 (2010-08-19)¶

  • First working version
Fork me on GitHub


PK(=xBÞ±`,,pelican-3.1.1/search.html Search — Pelican 3 documentation

Search

Please activate JavaScript to enable the search functionality.

From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.

Fork me on GitHub


PK(=xB­}F…4…4pelican-3.1.1/internals.html Pelican internals — Pelican 3 documentation

Pelican internals¶

This section describe how Pelican works internally. As you’ll see, it’s quite simple, but a bit of documentation doesn’t hurt. :)

You can also find in the Some history about Pelican section an excerpt of a report the original author wrote with some software design information.

Overall structure¶

What Pelican does is take a list of files and process them into some sort of output. Usually, the input files are reStructuredText, Markdown and AsciiDoc files, and the output is a blog, but both input and output can be anything you want.

The logic is separated into different classes and concepts:

  • Writers are responsible for writing files: .html files, RSS feeds, and so on. Since those operations are commonly used, the object is created once and then passed to the generators.
  • Readers are used to read from various formats (AsciiDoc, Markdown and reStructuredText for now, but the system is extensible). Given a file, they return metadata (author, tags, category, etc.) and content (HTML-formatted).
  • Generators generate the different outputs. For instance, Pelican comes with ArticlesGenerator and PageGenerator. Given a configuration, they can do whatever they want. Most of the time, it’s generating files from inputs.
  • Pelican also uses templates, so it’s easy to write your own theme. The syntax is Jinja2 and is very easy to learn, so don’t hesitate to jump in and build your own theme.

How to implement a new reader?¶

Is there an awesome markup language you want to add to Pelican? Well, the only thing you have to do is to create a class with a read method that returns HTML content and some metadata.

Take a look at the Markdown reader:

class MarkdownReader(Reader):
    enabled = bool(Markdown)

    def read(self, filename):
        """Parse content and metadata of markdown files"""
        text = open(filename)
        md = Markdown(extensions = ['meta', 'codehilite'])
        content = md.convert(text)

        metadata = {}
        for name, value in md.Meta.items():
            if name in _METADATA_FIELDS:
                meta = _METADATA_FIELDS[name](value[0])
            else:
                meta = value[0]
            metadata[name.lower()] = meta
        return content, metadata

Simple, isn’t it?

If your new reader requires additional Python dependencies, then you should wrap their import statements in a try...except block. Then inside the reader’s class, set the enabled class attribute to mark import success or failure. This makes it possible for users to continue using their favourite markup method without needing to install modules for formats they don’t use.

How to implement a new generator?¶

Generators have two important methods. You’re not forced to create both; only the existing ones will be called.

  • generate_context, that is called first, for all the generators. Do whatever you have to do, and update the global context if needed. This context is shared between all generators, and will be passed to the templates. For instance, the PageGenerator generate_context method finds all the pages, transforms them into objects, and populates the context with them. Be careful not to output anything using this context at this stage, as it is likely to change by the effect of other generators.
  • generate_output is then called. And guess what is it made for? Oh, generating the output. :) It’s here that you may want to look at the context and call the methods of the writer object that is passed as the first argument of this function. In the PageGenerator example, this method will look at all the pages recorded in the global context and output a file on the disk (using the writer method write_file) for each page encountered.
Fork me on GitHub


PK(=xBc»ææpelican-3.1.1/.buildinfo# Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. config: f05382205db7a9ff413cba90c9af2034 tags: fbb0d17656682115ca4d033fb2f83ba1 PK(=xB?0Qœ>>pelican-3.1.1/objects.inv# Sphinx inventory version 2 # Project: Pelican # Version: 3.1.1 # The remainder of this file is compressed using zlib. xÚmÁ †ïJ ßRD”a˜ý›VRïè-¼Y”v?iE¬çv¹Úz ¼G³†¡²mf¦@(ýL€Þ‚H¯2 øöŽŽPK(=xBx¥‰|t t pelican-3.1.1/tips.html Tips — Pelican 3 documentation

Tips¶

Here are some tips about Pelican that you might find useful.

Publishing to GitHub¶

GitHub comes with an interesting “pages” feature: you can upload things there and it will be available directly from their servers. As Pelican is a static file generator, we can take advantage of this.

User Pages¶

GitHub allows you to create user pages in the form of username.github.com. Whatever is created in the master branch will be published. For this purpose, just the output generated by Pelican needs to pushed to GitHub.

So given a repository containing your articles, just run Pelican over the posts and deploy the master branch to GitHub:

$ pelican -s pelican.conf.py ./path/to/posts -o /path/to/output

Now add all the files in the output directory generated by Pelican:

$ git add /path/to/output/*
$ git commit -am "Your Message"
$ git push origin master

Project Pages¶

For creating Project pages, a branch called gh-pages is used for publishing. The excellent ghp-import makes this really easy, which can be installed via:

$ pip install ghp-import

Then, given a repository containing your articles, you would simply run Pelican and upload the output to GitHub:

$ pelican -s pelican.conf.py .
$ ghp-import output
$ git push origin gh-pages

And that’s it.

If you want, you can put that directly into a post-commit hook, so each time you commit, your blog is up-to-date on GitHub!

Put the following into .git/hooks/post-commit:

pelican -s pelican.conf.py . && ghp-import output && git push origin gh-pages
Fork me on GitHub


PK'=xBEøØ›6>6>pelican-3.1.1/faq.html Frequently Asked Questions (FAQ) — Pelican 3 documentation

Frequently Asked Questions (FAQ)¶

Here are some frequently asked questions about Pelican.

What’s the best way to communicate a problem, question, or suggestion?¶

If you have a problem, question, or suggestion, please start by striking up a conversation on #pelican on Freenode. Those who don’t have an IRC client handy can jump in immediately via IRC webchat. Because of differing time zones, you may not get an immediate response to your question, but please be patient and stay logged into IRC — someone will almost always respond.

If you are unable to resolve your issue or if you have a feature request, please refer to the issue tracker.

How can I help?¶

There are several ways to help out. First, you can use Pelican and report any suggestions or problems you might have via IRC or the issue tracker.

If you want to contribute, please fork the git repository, create a new feature branch, make your changes, and issue a pull request. Someone will review your changes as soon as possible. Please refer to the How to Contribute section for more details.

You can also contribute by creating themes and improving the documentation.

Is it mandatory to have a configuration file?¶

No, it’s not. Configuration files are just an easy way to configure Pelican. For basic operations, it’s possible to specify options while invoking Pelican via the command line. See pelican --help for more information.

I’m creating my own theme. How do I use Pygments for syntax highlighting?¶

Pygments adds some classes to the generated content. These classes are used by themes to style code syntax highlighting via CSS. Specifically, you can customize the appearance of your syntax highlighting via the .codehilite pre class in your theme’s CSS file. To see how various styles can be used to render Django code, for example, you can use the demo on the project website.

How do I create my own theme?¶

Please refer to How to create themes for Pelican.

I want to use Markdown, but I got an error.¶

Markdown is not a hard dependency for Pelican, so you will need to explicitly install it. You can do so by typing the following, including sudo if required:

(sudo) pip install markdown

If you don’t have pip installed, consider installing the pip installer via:

(sudo) easy_install pip

Can I use arbitrary meta-data in my templates?¶

Yes. For example, to include a modified date in a Markdown post, one could include the following at the top of the article:

Modified: 2012-08-08

That meta-data can then be accessed in the template:

{% if article.modified %}
Last modified: {{ article.modified }}
{% endif %}

How do I assign custom templates on a per-page basis?¶

It’s as simple as adding an extra line of metadata to any pages or articles you want to have its own template.

template:template_name

Then just make sure your theme contains the relevant template file (e.g. template_name.html).

What if I want to disable feed generation?¶

To disable all feed generation, all feed settings should be set to None. All but two feed settings already default to None, so if you want to disable all feed generation, you only need to specify the following settings:

FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None

Please note that None and '' are not the same thing. The word None should not be surrounded by quotes.

I’m getting a warning about feeds generated without SITEURL being set properly¶

RSS and Atom feeds require all URLs and links in them to be absolute. In order to properly generate all URLs properly in Pelican you will need to set SITEURL to the full path of your blog. When using make html and the default Makefile provided by the pelican-quickstart bootstrap script to test build your site, it’s normal to see this warning since SITEURL is deliberately left undefined. If configured properly no other make commands should result in this warning.

Feeds are still generated when this warning is displayed but may not validate.

My feeds are broken since I upgraded to Pelican 3.x¶

Starting in 3.0, some of the FEED setting names were changed to more explicitly refer to the Atom feeds they inherently represent (much like the FEED_RSS setting names). Here is an exact list of the renamed setting names:

FEED -> FEED_ATOM
TAG_FEED -> TAG_FEED_ATOM
CATEGORY_FEED -> CATEGORY_FEED_ATOM

Starting in 3.1, the new feed FEED_ALL_ATOM has been introduced: this feed will aggregate all posts regardless of their language. This setting generates 'feeds/all.atom.xml' by default and FEED_ATOM now defaults to None. The following feed setting has also been renamed:

TRANSLATION_FEED -> TRANSLATION_FEED_ATOM

Older themes that referenced the old setting names may not link properly. In order to rectify this, please update your theme for compatibility by changing the relevant values in your template files. For an example of complete feed headers and usage please check out the simple theme.

Fork me on GitHub


PK'=xB§~ÀK''pelican-3.1.1/importer.html Import from other blog software — Pelican 3 documentation

Import from other blog software¶

Description¶

pelican-import is a command line tool for converting articles from other software to ReStructuredText. The supported formats are:

  • WordPress XML export
  • Dotclear export
  • RSS/Atom feed

The conversion from HTML to reStructuredText relies on pandoc. For Dotclear, if the source posts are written with Markdown syntax, they will not be converted (as Pelican also supports Markdown).

Dependencies¶

pelican-import has two dependencies not required by the rest of pelican:

  • BeautifulSoup
  • pandoc

BeatifulSoup can be installed like any other Python package:

$ pip install BeautifulSoup

For pandoc, install a package for your operating system from the pandoc site.

Usage¶

pelican-import [-h] [–wpfile] [–dotclear] [–feed] [-o OUTPUT]
[-m MARKUP][–dir-cat]
input

Optional arguments¶

-h, --help show this help message and exit
--wpfile Wordpress XML export
--dotclear Dotclear export
--feed Feed to parse
-o OUTPUT, --output OUTPUT
 Output path
-m MARKUP Output markup
--dir-cat Put files in directories with categories name

Examples¶

for WordPress:

$ pelican-import --wpfile -o ~/output ~/posts.xml

for Dotclear:

$ pelican-import --dotclear -o ~/output ~/backup.txt

Tests¶

To test the module, one can use sample files:

Fork me on GitHub


PKŒ˜>BûI³³pelican-3.1.1/_static/uml.jpgÿØÿàJFIFÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀC#"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ö]gź‡îb¶Ôov\Ê¥Ò¡y¤+ÓvÄR@÷#·^*ÐìtH5‹A#±¸ C!V&Bz* ‹px<áí|_áÏüSñWö¶¯g]­·‘7š Îß͸1°ÎJƒß¿c×µ|+ã +Åö—iÆx嶔Ãsms—4èËÛ¿ä} sßðŠüEÿ¢•þ ÿ?áø‹ÿE*?üAþ5èPŸÿÂ+ñþŠTø"ƒühÿ„Wâ/ý¨ÿðEø× Q@ÿ¯Ä_ú)QÿàŠñ£þ_ˆ¿ôR£ÿÁã^Ey®‹uâÝ#âu¯‡õ¿.±kq¦ÉwÅ„vûX8Q÷rO~ýëÒ«Ïï¿ä½i_ö›ÿFŠô (¢Š(¢Š(¢Š+ÆwZxÄ6ò¼3ŦÜÉ‘±VF1ЃÎkrªj‘¤ÚMìr¢IÀêÉ$u`TäÇ.?Ùžè;Á—]øÃ÷7¼Ó˦ÛI$’1fv1)$“Ô“Îkrªiq¤:M”q"G@Š©P`Ï(?Ù<ŽªÝÍxŸ]Ôlu 'FÑ¡¶}OSy Iw»Ê†8Ôv ‚z¨Éë]-yŸÄ‹¿Øx§Ãú–‡¢Crl·ªÜÜ_Å r™AÇ*wb5`ÀöèphSNñ~­k¬xŽÏÄpYG‹aãMf÷ªDŒÌ ½ˆ<ž+Ûâ•Â?PºÔ|/-äÑ#éÖw›ï-ÖFwaÊî€QŽyâ¹m#YñŽ½¯x¾Y|ºšß[G§ÜÅk©Ã[®×ùUÎàÇ“ƒÁëŒ]†n¾&YäiW¾ °[x¤Š ¯Þx™–@,U_– Üu=»PCˆ¼[©Ýx•tØtˆáÒ/šá$c>#WÛà §Ÿ½Èä|¼[ªüFŽÃwVϧÙÜëÑy±É©ÏåÁn¡9sÆâ c$õnËKÖ´]KUŠ->+ËmoSšáî#¸ öHÌ(ªYXe‰e# œpsXrxGÄVVþ ´°µ³’óEµ‘%¼–\ÛrZ6L!°`8+ÓšâeÜ:‰JÜhšŽ£¤Ú%Ü7:|†Ki•‰`•`G#wB tï{âx4;›ûÉôIcx–1c¶SþcîùÈcs\wŒ"ø…}£êzxGKº†þÐ"Üiת‚,rÍ _€§€ÏSÚ^|@ñ–Ÿü:;Ø®öͪÁ,rìleã ç=x Pµ—/µ„×tEÔ´ËètÖ»·¾Òݤ‡o*Ê뼕aÇñs¸Ô¾×µ|&´×uimoáM6ØÚCN’³¸UU‘ÙØ1%”îqÚ°´¨<uã§Ôµ_Gmeyd4Æ÷°ªÛDÎ K€Ir98ã<®ÄžñSøBÓÁwÖV2ØùQÛGªY\öþV9^'QŸ™åR{ò(jß_ñ.“¯i6>%ƒKk}Uš(f°óȘ)p¼À€@aŽGJ§¡x«ÄúŸ‡ï!XoeÔ¼9we$[Þ-<ÈeˆÈV%ˆ8èr»*ñ@> 7‹ôß·ÃkX&´IVQiMs½q‡mÇ*:€Aç½vv*ñ½Æ£mß÷´¶’TIn± ùHHö–ÀÉÀëŠî(¬ûëÍBßPÓá´Ó Õ¼ò2ÜÜ Õ>Ì d6ÓËäñEÅæ¡·gi˜e±–7iï|õ_!‡Ý]‡–Ýê:P…Ëø“^ñ>—¨Ç‹àæÖmš íp5­ö¾H)µ†N>þÕÿ ‡ÿè˜Éÿƒ¸?€=Šáìêì<¶ïQÒ±üI¯xŸKÔcƒEðsk6Ív¸ŒVû_$ÚÃ'Ÿjê(¯?ÿ„ÃÇÿôLdÿÁÜáV,M0Ý[Ï#-ÍÀSìÊCm<¾O¡EgÜ^jëvvé†[cvž÷ÏUò}ÕØymÞ£¥cø“^ñ>—¨Ç‹àæÖmš íp5­ö¾H)µ†N>þÔÔQ^ÿ ‡ÿè˜Éÿƒ¸?¬Xx«Æ÷´ÞÒÚIQ%¸:Ä/å! Ú['®(¸¢³ï¯5 }CO†ÓL7VóÈËsp'Tû2ÛO/“Æš„zݤ:a–ÆXݧ½óÕ|†uv[w¨é@W/âM{Äú^£/ƒ›Y¶hƒµÀÔb·Úù ¦Ö8ûûV?ü&?ÿ¢c'þàÿ ô +‡°ñWî5h.þ½¥´’¢Kpuˆ_ÊB@/´ ¶N\WQ}y¨[ê|6šaº·žF[›:§Ù” †Úy|ž0(BŠÏ¸¼Ô#Öìí!Ó ¶2Æí=ïž«ä0û«°òÛ½GJÇñ&½â}/QŽ ÁͬÛ4AÚàj1[í|Sk œ}ý¨¨¢¼ÿþÿÑ1“ÿp…X°ñWî5h.þ½¥´’¢Kpuˆ_ÊB@/´ ¶N\PqEgß^jú†Ÿ ¦˜n­ç‘–æàN©öe!¶ž_'Œ ./5õ»;HtÃ-Œ±»O{çªù >êì<¶ïQÒ€4(®_Äš÷‰ô½F84_6³lÑk¨ÅoµòAM¬2p9÷ö¬øL<ÿDÆOüÁþèWaâ¯Üj6Ð]ü;{Ki%D–àë¿”„€_hl œ¸®¢úóP·Ô4øm4Ãuo<Œ·7uO³( ´òù<`P…Ÿqy¨G­ÙÚC¦leÚ{ß=WÈa÷Waå·zŽ•âM{Äú^£/ƒ›Y¶hƒµÀÔb·Úù ¦Ö8ûûPQEyÿü&?ÿ¢c'þàÿ ±aâ¯Üj6Ð]ü;{Ki%D–àë¿”„€_hl œ¸ âŠÏ¾¼Ô-õ >M0Ý[Ï#-ÍÀSìÊCm<¾O\^jëvvé†[cvž÷ÏUò}ÕØymÞ£¥hQ\¿‰5ïézŒph¾mfÙ¢×QŠßkä‚›XdàsïíXÿð˜xÿþ‰ŒŸø;ƒü(Ð(®ÃÅ^7¸Ôm »øvö–ÒJ‰-ÁÖ!) ¾Ð2Ø8q]Eõæ¡o¨iðÚi†êÞynnêŸfP2iåòxÀ  +œ¹ñÿ„l®æµ¹ñ›Ä.ÑËÜ(d`pA Š([H.r.Äß6ïµù^oÞ8Ýå|:c¶3ÎjípÉ?´2NOúG_úï%wôQEQEQEÏøïþIç‰ìuÿ¢šÉ<ð×ý‚­ôRÑã¿ù'ž%ÿ°U×þŠjáü'ñÀšgƒt; Íw˺µÓíá™>É9Úë† ƒ‚JõŠ+Ïÿávü<ÿ¡‡ÿ$®?øÝð»~ÐÃÿ’Wün€=Šóÿø]¿?èaÿÉ+þ7Gü.߇Ÿô0ÿä•Çÿ @¢¼ÿþoÃÏúòJãÿÑÿ ·áçý ?ù%qÿÆ蛲øOµñ7ÄúŸŠ´O;J¸Ic'Ú¶î9äâ7 8þð­ïˆ ÕÀ¶š/á‘Ar¯-¼ÞAš,Êž¤NO57ü.߇Ÿô0ÿä•Çÿ£þoÃÏúòJãÿÐ-áO‡úΟñF-a¼<ÚVŽö)Ô…Ó£F™‹džxGõÂ_Ýêøsâ´ÚÍ¡»%o#ÔciŸ  €e÷e9-€9ëÅ{'ü.߇Ÿô0ÿä•Çÿ¬±ñàèÔ?´ºgÛKoûOö<žfï]ÞVsï@Ö¡ðÓW»‹ÂìZ2êËo£[Ú^iOxÖ’Tê®Æ7r3ÔwÏïÃo ¶ƒý©pþ‡Ãæí£Ä+¨½ãÈw.ňxã§9¨ÿávü<ÿ¡‡ÿ$®?øÝð»~ÐÃÿ’Wün€=Šóÿø]¿?èaÿÉ+þ7Gü.߇Ÿô0ÿä•Çÿ @¢¼ÿþoÃÏúòJãÿÑÿ ·áçý ?ù%qÿÆèÐ(¯?ÿ…Ûðóþ†ü’¸ÿãtÂíøyÿCþI\ñº/¿ä½i_ö›ÿFŠô ò=+Æ‹>7é×:%÷Ú¡Fšo%ÓæÆAé^¹@Q@Q@Q@aøÎâkOø‚æÞW†x´Û™#’6*ÈÂ& ‚:yÍnUMR4›I½ŽTI#xY$€Î¬ œƒåÇû#“Ó½gx2âk¿ø~æâWšytÛi$’F,ÎÆ%$’z’yÍnUM.4‡I²Ž$HãHU#€ÀªŒåû'‘Óµ[ ±dÑ¥Ô¯µ(õÁc¨é˜šÎÎkUo$…!ËÈl“‘é[UŸicy±¨ÝÏ©Éqkså}žÑ£m¶® 9mÇžzP‹+ =6Õml- µ·_»„AôŠ±EQEq$ñƯ¥øÆ? è¾mfé´ñ~Ä_%¾Ôó gï.ûôâ€;z+Ïÿá0ñÿý?ðwøQÿ ‡ÿè˜Éÿƒ¸?€=ŠóÿøL<ÿDÆOüÁþÂaãÿú&2àîð @¢¼ÿþÿÑ1“ÿp…ð˜xÿþ‰ŒŸø;ƒü(Ð(¯?ÿ„ÃÇÿôLdÿÁÜáGü&?ÿ¢c'þàÿ ô +Ïÿá0ñÿý?ðwøQÿ ‡ÿè˜Éÿƒ¸?€=ŠóÿøL<ÿDÆOüÁþÂaãÿú&2àîð @¢¼ÿþÿÑ1“ÿp…ð˜xÿþ‰ŒŸø;ƒü(Ð(¯?ÿ„ÃÇÿôLdÿÁÜáGü&?ÿ¢c'þàÿ ô +Ïÿá0ñÿý?ðwøQÿ ‡ÿè˜Éÿƒ¸?€=Šó=[â/Œ´=.ãRÔ~<vëºY?¶am£8è“Ö½ÎãívP\íÛæƲmÎq‘œPÔQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEy®©ã„öšµí¶¤Ú_Û¡ã¹ß¥»·˜†Ëyg'9ç'4WÍ^;ÿ’‡â_û ÝèÖ¢€>ÒÒãK„\‹±7Í»í~W›÷Ž7y_'N˜íŒóš»\Á2OÂ- ““þ‘×þ»É]ýQEQEQEsþ;ÿ’yâ_û]親¾»³Ó¾xrîñ–8WL³V}…¹hÑGg©kÇòO&Òîu}!a³h–ê«{¨„Ä„fŠT“k íÆ@8ÏCZV­pöѵÜQEpGΑHdU>Š©?  <´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔP|´þâþTyiýÅü©ÔPŸ^(_:Vñ!›§ýuè5ç÷ßò^´¯ûÍÿ£EzS&š+xZY¤H¢A–w` riQÖDWF Œ2¬§ Q@¢Š(¢Š(¬?ÜMià_\ÛÊðÏ›s$rFÅYDÄGB9­Ê©ªF“i7±Ê‰$o«$ÕSc¸ÿdrzw  ï\Mwà_ÜÜJóO.›m$’HÅ™ØĤ’ORO9­Ê©¥Æé6Qĉi*¤p@Q€#< ÿdò:v«tWáBòãâ—,滞K[_ìÿ³Âò‘n‹m'“ŽµÛןøKþJ÷Ä_û†é;P QEWŸÿÍÂÿÜ©ÿ·uèçÿóp¿÷*íÝg^|WÖá*Ö´=ÁRj‡IcçI •õÚSô×KáOˆZ/Š<(<@fM>Ý%0N.åTH8ÜN}ëÊ´­Y×¾1xæÛGñš! ûé#¶™œc’6ýElx»A‡á»m7K°ƒTŠMAd»¹¿¶ó’6*zcqµ@Î@÷&€=oMÖ´­e´½NÊùSï›YÖP¿]¤â¡ŸÄº ¬÷\kzlS[ ÓÇ%Ò+D=XòŽG_Zð¿‘ÆКmý½ÄW:[â{m7ì0ÉÆAŽ £æîAô®UF‰eðÛÄzVµ¤Î|iÙ‘¦’ÙšD]É–2ã ¿xžKwÍ}Gq®iš|Z…Ϋc ”À4W2\"ÆàŒ‚œJ–-NÂâÃíðß[Ie´·ÚU1àu;Æ+æýzÊê9ü©j—dÐWA·.æÓþÛì9ßã'+ÏÓÓCПá׌â'¼¸Ñ®æ·‘®môw‚8$ó2Lqn%—;Œ{{†âW•¢Ó5>öEd¶¹I¤)5ÃÉñ^ëSÖ/,Šñ³,ÐÞ01ü[º÷«švµ¥kΙ©Ù_ÎÛN²íúí'óÄ>.Öþ4×rj÷5Ï6csæK#Zˆ— ²çŒóØšè¾ÙhÓüHÓµ-Å {2ÛÉöÖ>6QlØx† pzJ­{ü%¾òÄŸðé; †ßmÆ2¹Ý÷¹uæ¯_êºv•n.5û[8 À’âeIú±¾kÑô-.ëà÷Žõk‹%¿‡PdŠáÐŒŒü§ªýãœuïSx‚Þñ®|ªê÷fßDþ‚5½ŸOût0Ë°ç|G‚OËÉö<〣?¶t¿ì³ªiYÿg¸Ýùëåœg~q×Þ¡ÄšÅÄZÖœû! ¶éØŽ0çžäsÓ‘^i§ØÙ|(ñôš^¹.©cqåHÓZÎrÿ7–¥ŽAAÀmÑÅ¥Xxgà4:Ö“á»+ÝF}2peƒÌ2«”g/ŽYG\t…z¦âW•¢Ó5>öDd¶¹I p¤×3¤üSðî«â­GCûe¬Ñ•"¹’î=—LÇžNxÀ¯Ñ."?¼}e{e1¹8”Øi"Ê8Éhò1æãŒZèôX¼/áߎZýŽ»¦YÀ.æ€i)%Žôó® xR’GÍÀÏzö›ïhº]Ê[꾟i;ò±\\¤lß@H&¥¼ÕôÍ=­–÷Q´¶7-²4ÊžkqÂäüÇ‘Àõ¯îΉ£kž?·ñΙ$ú½ü’*YmšC ;öyMƒ·ªsÆÇlRjú=ðð?Âý'_ŠUyµ&â”ë È»T÷)v¨Ö>%jV§ÂoͧÞÛ]Ä‘ylöò¬Š¬r¤‚yäqï]†ÿ KúöÿAÆ|EÑôÝáˆmt« {+só¼a¶åÀï€?*ìôùX×´ú  ´QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE|Aã¿ù(~%ÿ°­×þj+é]SáïÂËÝZöïPK#}<ï%ÆíQÐùŒÄ¶WÌ9'ŒqEwº@œip‹‘v&ù·}¯Êó~ñÆï+äéÓ±žsWk€ø&IøE¡’rÒ:ÿ×y+¿ Š( Š( Š( ÇòOy4ë;kQxÖîì’Þj·Onë:‡~äc=1éKy j·> °Ó佊ëU´’ÖàÏ1*“I ©&€Hf3‚yÎ(z]BÖ BÚÆIvÜÜ«¼)´Á1»œ`cpëëYÒx³EŠÊÒïíR¿/ýA®®ÖÜZYÁl$–Aky[s¶2ǹ=Ís¾$×¼O¥ê1Á¢ø9µ›fˆ;\ F+}¯’ ma“€Ï¿µhxoRÖ5M:Iõ­è×+)E·7Iq¹0}ËÀÉ$cÛÞ¶( _Äš÷‰ô½F84_6³lÑk¨ÅoµòAM¬2p9÷ö­ êZÆ©§I>µ¡åe(¶æé.7&¹x$Œ{{ÖÅËø“^ñ>—¨Ç‹àæÖmš íp5­ö¾H)µ†N>þÕSPֵ럆¾$¿Ô´yt B +£ kx³0 + tÆsî6æ»:©ªF“i7±Ê‰$o«$ÕSc¸ÿdrzw Oñ7‹m¼-á¶Ó|'6¾³èö³MzÚœp±•n8$ž‡w}ÕÖxoRÖ5M:Iõ­è×+)E·7Iq¹0}ËÀÉ$cÛÞ®éq¤:M”q"G@Š©P`Ï(?Ù<ŽªÝrþ$×¼O¥ê1Á¢ø9µ›fˆ;\ F+}¯’ ma“€Ï¿µeøL׿á(ñWˆõÍ%t–ÕžÕb³ûJÎÊ!Œ©bËÆF;ðxèOyYöj‘댷W˧Éå}Ž‹kC…ÃîoâË`JÇñ&½â}/QŽ ÁͬÛ4AÚàj1[í|Sk œ}ý«CÃz–±ªiÒO­hGF¹YJ-¹ºKÉ€Cî^I#Þõ±Erþ$×¼O¥ê1Á¢ø9µ›fˆ;\ F+}¯’ ma“€Ï¿µqþÔµS㬓ëZÑ®WÃEÜÝ%ÆäûH!÷/$‘ozõŠòøWFñwÇHôýrÐÝ[Gá¡2 •Ó.Jƒ• ôcùЬQ^Z¿ þ6¤tåҘ݉L&1ssÈÖB3»q”ç§ uâ´?áH|=ÿ àdÿü]zpš—½/X¹”ê:爮¬¥˜ÌÚtš6Ù-»qè3ÅAÿ Cáïý›ÿ'ÿâèÿ…!ð÷þ€Mÿ“ÿñtßAV¶ñ[ÁÇ HF¨{b¤¯=ÿ…!ð÷þ€Mÿ“ÿñtÂø{ÿ@&ÿÀÉÿøºô*+ÏáH|=ÿ àdÿü]ð¤>ÿÐ ¿ð2þ.€= ŠóßøRèßø?ÿGü)‡¿ôoü Ÿÿ‹ B¢¼÷þ‡Ãßú7þOÿÅÑÿ Cáïý›ÿ'ÿâèШ¯=ÿ…!ð÷þ€Mÿ“ÿñtÂø{ÿ@&ÿÀÉÿøºô*+ÏáH|=ÿ àdÿü]ð¤>ÿÐ ¿ð2þ.€= ŠóßøRèßø?ÿGü)‡¿ôoü Ÿÿ‹  ÿä–xƒþ½‡þ„µ—câÏE§ÛGÃwž‰U%þÙw¨ ‚8ÈçÏ|BøMà­ À:Ƨ§i å¼;â“íS6Ó¸…ˆ=kÖtDXô :4UµˆìPÿ ‡ÿè˜Éÿƒ¸?ÂøL<ÿDÆOüÁþèPŸÿÂaãÿú&2àîð­øºçÅ–Ú™¼Ò—u§Þ5œÐ6@'æøã=+©¯?øgÿ!?ØÅqÿ ­zQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@kªCð€êקS>ûyþÓæºïówû¹ëœæŠ5Oü'´Õ¯mµ&ÒþÝ ïÎý-ݼÀÄ6[Ë99Ï99¢€;Ý N4¸EÈ»|Û¾×åy¿xãw•òtéŽØÏ9«µÀ|$ü"ÐÉ9?é뼕ßÐEPEPEP?ã¿ù'ž%ÿ°U×þŠj¯á+ëm7á‡.®äòá].ÍKm'–p9êEXñßü“ÏÿØ*ëÿE5sú…£ñ7Âï Ânîà•t»-¦+©cBÆÇr£Ç‚GØjšÕŽŽ!ûd’ïŠÅI4Ž@ÉÂ"–8“Ž)Ë«Ù<ö0 XK}Kn)eP¥²ùHܼkYðÛɧYÛXÚ‹Æ·wd–óU¸Šx‹wYÔ;÷#éJû \€xvì\Û_ê:lAr×24Bmê °`¬r £žynãǵ†ÚioœGr…ãe¶•†Ðá 8S´n dã’=i&ñׇmà·š[ÙU' SýbWl‚6Þ6e0ä)ÝŽN+ž‹Àš²èöV²\Y4ÐÙ˜$ef \ÜÇ6GËÓjÇZ’êRùøžÓ÷tÃ.Ý$¾[…þî QÍtÇÅZHÓíï‘vuA Œò>P•pȨYvAÈ"Ÿqâm×K³Ôä½Sgxê–ò¢3ùŒÀ•(''^:×>þÖãHcŠåÛí—÷ÛG5¦ÿ:s$MæF»²ªH+À%ºœ ɧøJþ×Ã~Ó¦šÙæÒï…Ì슲3î’2OÎ:ûó@¶»§Ý\[[£Í÷I#ÃöÒBÌ# 7 ‚7$ŒŽjÆŸ¨Zê–bîÊ_6gE}¤UŠœdr2=Q‘\·ÄV‘4Ý<é×QC¯‹µj1ù¤gýÓàu*BÇ°À'¥u^Ÿ“¥ZiÖÃZ°¦záF}ø  tQEQEQEQEQEyý÷ü—­+þÀ3èÑ^^}ÿ%ëJÿ° ßú4W PEPEPEPX~3¸šÓÀ¾ ¹·•áž-6æH䊲0‰ˆ Ž„s[•ST&Òoc•HÞVI 3«§ Æ9qþÈäôï@Þ ¸šïÀ¾¹¸•æž]6ÚI$‘‹3±‰I$ž¤žs[•SK!Òl£‰8ÒUHà0*€£FyAþÉätíVè¬ûKÈ5Fî}NK‹[Ÿ+ìö mµpØaËn<óÒ´+ˆðÆ¡yqñKÇ–s]Ï%­¯öÙáy H·@ŶŽ‹“ÉÇZí袊+Îî<ßø_’ù¯/ü"'b¼…7Ú¸€%F{€qèkÑ+ÍüImâ/â¤~$Ñ|2ÚÍ«h‚Á€½ŽßkùæC÷¹8vï׊ÏðO†µfñTzž¡¦Ý[Bˆ÷;¦ÕîÙ·Lä¢íuÙR8уAä¡<l…fÓ4«›y¢‚fÔ®ZÝ£Y£*v/˜F$Ëì v…=:VÏü&?ÿ¢c'þàÿ ­§øƒÆºVŸ…—ÂÉ"¶FŸÛ°¶Ñé’ 4Wöš€ñV‘yŽšcOÀ¾H4© 9PUf™›Æy‡ÃvQÚx‹Â‘eÜÙë+gtº•Äöìž}ÆÅÜåÈĹmÄ0$q‘œVÏü&?ÿ¢c'þàÿ ˲¿ñm…û_Cð¶é®J²ŸÄ‰7–¬Ae@ä„Âàp=(þÑomum.Kß2ßS‚9¢Ë£M]1SŸ6蹎Q¿ †Œ¡á/ìÿI®œÓC$s´ú…Η%­Ê1pB<¯ÄùÉÁQÆÑKÿ ‡ÿè˜Éÿƒ¸?ÂøL<ÿDÆOüÁþèWŸÿÂaãÿú&2àîð£þÿÑ1“ÿp…zçÿð˜xÿþ‰ŒŸø;ƒü(ÿ„ÃÇÿôLdÿÁÜá@Eyÿü&?ÿ¢c'þàÿ ?á0ñÿý?ðwøP Q^ÿ ‡ÿè˜Éÿƒ¸?ÂøL<ÿDÆOüÁþèWŸÿÂaãÿú&2àîð£þÿÑ1“ÿp…zçÿð˜xÿþ‰ŒŸø;ƒü(ÿ„ÃÇÿôLdÿÁÜá@~,ÿÉ,ñý{ý k¦Ñÿä aÿ^Ñÿè"¼ËźüQá]CDžØÞGåùßÛ>ÎAÎ8ÏOZõ 6'ƒK´†UÛ$p¢°ÎpB€hÕQ@yÿÃ?ù øãþÆ+ýkÐ+ÏþÿÈOÇö1\è+@EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPÄ;ÿ’‡â_û ÝèÖ¢ÿÉCñ/ý…n¿ôkQ@iiq¥Â.EØ›æÝö¿+ÍûǼ¯“§LvÆyÍ]®à™'á†IÉÿHëÿ]ä®þ€ (¢€ (¢€ (¢€9ÿÿÉ<ñ/ý‚®¿ôSW á? xúãÁÚÖÖÖÖM>†ßûòÆ¥Sq9l ž¸®çÇòO±Û6–Ø ‘Ë»A  ã$cŒñÙhw w¡Ù\G¨A%‰\]UósÎp ôÇù 7þ?ˆßôSWÿPð‰üFÿ¢š¿ø"ƒükgÄW·ÃÅZ—m«>ŸìwM)#grŠ…B—VòǧLýFX×õ‹ÿ ørx/– «íOì“\¤*ÂH•w¨ €X aÛ‘ÛŠ‹þ?ˆßôSWÿPð‰üFÿ¢š¿ø"ƒükSR“SƒZÑ´×®a[˜ng’ý¢€Ìæ2›c`âBOËœ'ÔÖM—ˆum`øJÕþÃý£çŸ,G›ƒPŒ›Õ€ÈËt<ì@¿áøÿE5ðEøÑÿŸÄoú)«ÿ‚(?Æ«¯ŠµÝF×öЭ÷±Ý¼·6 n$›É"”óÈŒyÀ'2FÖ§â/øG|<%œXjWz’Ú\¸H¤&?Þs€YªÜã¦ETÿ„Oâ7ýÕÿÁãGü"¿è¦¯þ ÿµã=2ñ4_^¿%5kEiLvà¶éÓ uŒ¯l=A«^8·¹ƒÁR¨Ü;ÀÑi"…¾ÑûÅq³óò…é@ð‰üFÿ¢š¿ø"ƒühÿ„Oâ7ýÕÿÁãZ~,Õµ[}wHÒtáx‰wóI-·3À|òøÉ<…àu"¼÷~+›ÃÚL„M ÖùEòY5±¹dRÁY<ÂÑs…,3Æp(§ü"¿è¦¯þ ÿ?áøÿE5ðEøÕíkT]Oáö-½Ì²Ûê’ÙÚÉq"„sÒ¢9`0*Ì8ã'Š½ãÌZø&úòm=VîÛhÆÙ#!”®6ã¸b;Фéšþ›ñ¿N]ñÖf:4̲‹$·Úž`p½yç?…zíyýïü—+þÀ3èÑ^@Q@Q@Q@aøÎâkOø‚æÞW†x´Û™#’6*ÈÂ& ‚:yÍnUMR4›I½ŽTI#xY$€Î¬ œƒåÇû#“Ó½gx2âk¿ø~æâWšytÛi$’F,ÎÆ%$’z’yÍnUM.4‡I²Ž$HãHU#€ÀªŒåû'‘Óµ[ ¼ÿÂ_òW¾"ÿÜ3ÿIÚ½¹} ךgc1-•óIãQF©Â«^Lø{íæwûOšë¿ÍÜwîç®sš(½ÒãK„\‹±7Í»í~W›÷Ž7y_'N˜íŒóš»\Á2OÂ- ““þ‘×þ»É]ýQEQEQEsþ;ÿ’yâ_û]覮¿|cà­N¿ÖÑg¶Óíáš&µ™¶ºF Žƒ‚;W¬‘ƒMòÓû‹ùPß|Zøa©Úµ­þ­kwnÇ&+‹ dCøñIÅ…ÖÂÜAªZD-”¤4ùWÊSŒ…Ä(8Ò½ËOî/åG–ŸÜ_Ê€<ÖãâwÂ{»°¹¾°šÉå·“L‘£Ô)ÏçK/Å…3髦Íc%‚€ÕôÙLC0†<~•é>Zq*<´þâþTç0üWø]n¶Ë©iÚ‚-Âiò#&#ùr8â¢ÿ…¹àKQåé~#Óí $»Gý“prìIfùBŽIÉã®Ny¯KòÓû‹ùQå§÷ò #Ô>!|9Öµ ­cÄV7±ÚÇ25»é3äó6`Áºl÷Î{b¶OÅφF;xαnc·! _°MˆˆG—Á‘Åz–ŸÜ_Ê-?¸¿•yΡñ[án­n-õ-NÒòÛ„w:|²(>¸hÈÍfjŸ>êÚŽ›5Öµi-”2Ãö)tÉ^7³ÀÛ³¦^Ø©¾'kºÜš½®‡á4 {§Du‹ìtòã9HŽ:î?ÃßZôV²ñc¬Y6÷q `eOu>àäq@EßÅ/…Wö)cy¨Y\ZGM¦Êñ®8S*Dø±ð¾8-àMVÕa¶`ÐFº|¡b# ^òzzšô_-?¸¿•Zq*óÛ¿‹ß /ídµ¼Ö`¹·aâšÆgFàǃT®~#| ¼µ·µºŸLžÚØ2éR2DP Ç…è:zW§ùiýÅü¨òÓû‹ùP™Ëñ/á$Úlzl·zt–œ¥«ir”òrËÀê{w¤¸ø“ðŽòÎ ;›­6{X?ÔÁ.—#$î©ð¯MòÓû‹ùQå§÷ò 5Ô~)ü3Ô´it¹5ñ»Æ|«I”ÅŒ+û¼¤=j~jÖQÚ]x•Œ+,rº­¤ÃÍØÁ‚·îú@ëŒt¯JòÓû‹ùQå§÷ò (Ò|Y¢x·ãu…Ö‡|.à‡E–7a¦Ì`B+Öi*œ…û Z(¢Š(¢Š(¢Š+ÆwZxÄ6ò¼3ŦÜÉ‘±VF1ЃÎkrªj‘¤ÚMìr¢IÀêÉ$u`TäÇ.?Ùžè;Á—]øÃ÷7¼Ó˦ÛI$’1fv1)$“Ô“Îkrªiq¤:M”q"G@Š©P`Ï(?Ù<ŽªÝŸi©±¨Ëuy º|žWØàX¶´8\>æþ,¶ô­ Ï´±¼ƒXÔnçÔ丵¹ò¾ÏhÑ€¶ÛW †¶ãÏ=(BŠ( Š( Š( Š( Š( Š( ¸Ÿ†Z•î§£ë_]Kpñk7P£JÛŠ¢°Ú£ØWmUltÛ-29c±µŠÝ%•¦u‰v†vûÌ}ÍZ¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯?øgÿ!?ØÅqÿ ­zyÿÃ?ù øãþÆ+ýhÐ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šó]SÆÿ í5kÛmI´¿·C;Çs¿Kwo01 –òÎNsÎNh¯š¼wÿ%Ä¿öºÿÑ­E}¥¤ Æ—¹bo›wÚü¯7ïnò¾N1Ûç5v¸‚dŸ„Z''ý#¯ýw’»ú(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š*–±ªÚèz=æ©zû-­bid=ðAîzsWkœñ¯„£ñ®ƒýqqgnÒ¬’æM¼…9Œàý@  †ZUÐÒnüMª¦5oKö¹Aë_òÊ1ìùûU/ ÿÅãíOÁÒ|šn¡»RÒ3Ñsþ¶ô<é“Þ° ñßü”?ÿØVëÿFµô®©ð÷áeî­{w¨%‘¾žw’ãv¨è|Æb[+æ “Æ8¢€;Ý N4¸EÈ»|Û¾×åy¿xãw•òtéŽØÏ9«µÀ|$ü"ÐÉ9?é뼕ßÐEPEPEPEPEPEPEPEPüf‹wƒ-.GŽ[]RÖhÙmûöb~¸¯D¯?øÉÿ"ý¿ÚÿèÕ¯@ Š( Š( Š( Š( Š( Š( Š( Š( °ügq5§|Aso+Ãk®ÿ7qß»ž¹Îh£Tñ¿Â{MZöÛRm/íÐÎñÜïÒÝÛÌ Ce¼³“œó“š(½ÒãK„\‹±7Í»í~W›÷Ž7y_'N˜íŒóš»\Á2OÂ- ““þ‘×þ»É]ýQEQEQEQEQEQEWâOjú_ŒcðÞ‹ávÖn›OìEò[íO0Æ~òààß¿N*·ü&?ÿ¢c'þàÿ ô +Ïÿá0ñÿý?ðwøQÿ ‡ÿè˜Éÿƒ¸?€ŒŸò!Ûý¯þZô ñÿ\øÿźö_ü+Ù-?Ò"›ÌþׂO¸Á±Ž:ãk ÿ„ÃÇÿôLdÿÁÜá@Eyÿü&?ÿ¢c'þàÿ ?á0ñÿý?ðwøP Q^ÿ ‡ÿè˜Éÿƒ¸?·¼â†ñ‡†¢ÕÚÄÙ3Ë$M—ÌÚQŠŸ›==(¢¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¬?ÜMià_\ÛÊðÏ›s$rFÅYDÄGB9­Ê©ªF“i7±Ê‰$o«$ÕSc¸ÿdrzw  ï\Mwà_ÜÜJóO.›m$’HÅ™ØĤ’ORO9­Ê©¥Æé6Qĉi*¤p@Q€#< ÿdò:v«tV}¥äÆ£w>§%Å­Ï•ö{FŒ¶Ú¸l0å·yéZÄxcP¼¸ø¥ãË9®ç’Ö×û?ì𼄤[ bÛGEÉäã­vôQEQEQEQEQEQEÄͧ^Ÿ–Úµ˜Ø®€Ð‡`“ÏÎÜôÎ9ÅvÕTê6CS]4ÝB/š/<[ïÌyÆìuÆxÍZ¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯?øgÿ!?ØÅqÿ ­zyÿÃ?ù øãþÆ+ýhÐ(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠøƒÇòPüKÿa[¯ýÔQã¿ù(~%ÿ°­×þj(í- N4¸EÈ»|Û¾×åy¿xãw•òtéŽØÏ9«µÀ|$ü"ÐÉ9?é뼕ßÐEPEPEPEPEPEPŸÿÍÂÿÜ©ÿ·u·ã¿Aà M¬Íoö–WH¢·ó6y®Ç¦ìq“ÓµbÍÂÿÜ©ÿ·uÈ|X¼Ô|CñÃþÑôïíGÓq¨ÜÙ‰–%ä¬ÍÀùGþD Cð/Ž­¼iá‰u‡·s[Êñ]A$»¼’¼ä± ÆÒ cŸJ½sãO ÛØý«ûJt14‘í½÷rÓžy}kÅ´ýSþ3ñ†‘­é_ÙÄuÅô6žzÌ« W?+/#Ìü€­ÿ„Þ Ðµ„Ñ_Í£YÝê7+r<ÙáY!™z¼ÐeቚGŠ¼9>£föñ^ŲÿgKw›j§Ÿ•O1­? ø²cÂ0xƒQšdR ôsF›\¯úÑ…9ÇáÒ¼‹áUׇÀΔm`ÅVö7¯>û2³qŒ ôÉQ·9ö®nY[áÇÃëûûK‹¿ Z_\¶£*XßðX£‡æ;зxÇâN›á¿ Lû.·Ü%¹[kÅÚ ~ò†ôéŠéouí'KŠ5=NÊÄL2Ÿi¸H÷}7šðÿ‰„u?„÷“ø>Öm¥• ´6èﵺ)8ñT|cfö¿ïïxÃCÔ4»]5ØnõˆCù‘=²sÉ8ŽÕÀùsÓ4ÞÑ\~·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³Šè4KMFÇG‚ßVÔ†¥|›¼Û±Ãæe‰"ð0øÍhQ\~·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³Šè4KMFÇG‚ßVÔ†¥|›¼Û±Ãæe‰"ð0øÍhQ\~·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³Šè4KMFÇG‚ßVÔ†¥|›¼Û±Ãæe‰"ð0øÍhQ\~·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³Šè4KMFÇG‚ßVÔ†¥|›¼Û±Ãæe‰"ð0øÍhQ\~·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³Šè4KMFÇG‚ßVÔ†¥|›¼Û±Ãæe‰"ð0øÍhVŒî&´ð/ˆ.måxg‹M¹’9#b¬Œ"b#¡œÖ^·áÿ_kÜi>7M6ÅöùV‡IŠo/ ùØää‚}³ŠÕ·±¾·ðŒ¶ZÝüzµ×‘*Ïpö9YÝ€`Có ¤.ÑËcÔÐx2âk¿ø~æâWšytÛi$’F,ÎÆ%$’z’yÍnW qá¿Ü¤ÑEà`=ñšÐ¯?ð—ü•ïˆ¿÷ ÿÒv­ oÃþ4¾Ö'¸Ò|nšm‹íò­“Þ^ó±ÉÉûg_Àþ×¼?âOêzî­oªIª}—eÌqy,ÞR2ѵz€0Nq“Šî(®?[ðÿ/µ‰î4Ÿ¦›bû|«C¤Å7—…üìrrA>ÙÅt%¦£c£Áo«jCR¾MÞmØaó2Ä‘x|f€4(®SÀþ ¾ñø™¯Lx°×n,-ÕbPrIÉ$÷' À]QEQEQEQEr¾$ø‰áÏ êQiúÅÌðÜË›¥´’\‘TØ×Ëñ/Ã-ñr |\]g&ŠÖ†_±ËŸ4Í»vç§~•ÚüNÒ®ŸHµñ.”™Õü?/Û!¬‘ËXþ…–;×E‰tÉü(¾%¦›_µUM¹ ûŽ˜õâ€2¼;ñÃ^)ÕŽ™¤Ý\Mt±™YÖD £$²€9#󮲸/†Z}ÍÕ¥ÿŒuHÊê^ ”N¨Ýa¶DƒþϾG¥w´QEQEQEQEQEWŸü3ÿŸŽ?ìb¸ÿÐV½¼ÿáŸü„üqÿcÇþ‚´èQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEy®©ð÷áeî­{w¨%‘¾žw’ãv¨è|Æb[+æ “Æ8¢R„V½:™ð÷ÛÌïöŸ5×›¸ïÝÏ\ç4P{¤ Æ—¹bo›wÚü¯7ïnò¾N1Ûç5v¸‚dŸ„Z''ý#¯ýw’»ú(¢Š(¢Š(¢Š(¢Š(¢Š(¢Šóÿù¸_û•?öî½¹|;ð¿‹u(õ kNk›¨á+‹‰#ÂX +ÕçXÿð¥<ÿ@I?ð:þ.€=ŠóÿøRžÿ $Ÿø?ÿGü)OÐOüŸÿ‹ @¢¼ÿþ§€?è 'þOÿÅÑÿ SÀô“ÿ§ÿâèÐ(¯?ÿ…)àúIÿÓÿñt”ðý$ÿÀéÿøºô óÿƒ_òOcÿ¯Û¯ýÔ”ðý$ÿÀéÿøºëtéžÒcÒô‹sog3,fF|9<±'­iÔ ch÷‰xÖ°5Ò©9ŒPz€Ý@©è Š( Š( Š( Š( Š( °ügq5§|Aso+ÃïU¿ÔVÃV{xe¾œË @«ÆOôÅzQ@yÿÃ?ù øãþÆ+ýkÐ+ÏþÿÈOÇö1\è+@EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPšêž7øOi«^ÛjM¥ýºÞ;ú[»yˆl·–rsžrsE|Õã¿ù(~%ÿ°­×þj(í- N4¸EÈ»|Û¾×åy¿xãw•òtéŽØÏ9«µÀ|$ü"ÐÉ9?é뼕ßÐEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPX~3¸šÓÀ¾ ¹·•áž-6æH䊲0‰ˆ Ž„s[•ST&Òoc•HÞVI 3«§ Æ9qþÈäôï@Þ ¸šïÀ¾¹¸•æž]6ÚI$‘‹3±‰I$ž¤žs[•SK!Òl£‰8ÒUHà0*€£FyAþÉätíVè®#Ã…åÇÅ/YÍw<–¶¿Ùÿg…ä%"ÝÚ:.O'k·¯?ð—ü•ïˆ¿÷ ÿÒv @¢Š(Ãþ´ðçö§Ù%žOí-B]F_4ƒ¶I1¸åàc9>õËüSÿ™+þÆ»ýž¶|âK¿ÿÂCö¸ û7Z¹Ó¢ò£n dŸ›“œ`{V7Å?ù’¿ìk±ÿÙèÐ(¢Š+‘ƒÅ÷ž¼t»;k{Š]² RO.yTLPŽXщ§ºê‚æÎÖõQn­¡œFâD m¬C ô ÷ bÜjzñÒìí­ìZ)vÈ5I<¹åPy1B9`GF$œ†-=GÅ9“íº™…tä¼FsšÒº“åïÛŒòãÕÖÜÙÚÞª-Õ´3ˆÜH‚T µÈaž„õ˜¾Ò“^:Ø¿o<:…ÁR2NÝ›ömÉ'n0=(ßÅɽI¦[`ÚܺP‰"q.ÐX,›Ëã9Q‘·ž¹*m-õçøƒ­Á.©jöPÃjþGÙdáXË€¿½Â·-ƒ»ŠÞÒÂ*‹_•o øc¯$’ý}I㧵:MÂ]aub“%èEŒ¼WFT’¡ÕX+¹±¸dÐ'gã]VûW ’ÄêOc䦛r\"Èb3ŒyX +Žñdbµ ÔµÍCÅ:µ…´š|Zt ÒÀòI(tÇP¤gƒƒ×§è/†´´ÔÛPŽ)㙥ó™#º•"i?¼b °·¹\š»Ÿkmyww [g»eiÛq;ʨQÁ88 Iíõ›Ï‰Ïº² ;8nc¶‰&ŒòÊ0Ûf Í„²‘þÈç)?Œ.­üGmn“Û]ØϨ}„¬:}ÂùG‘ÿ˜™ƒ wç"ºåÓíSS“QX±w$)ɸòŠÌÊ1œp]¹Æy¬ßøDtO¶%ÏÙdßÉ»>Ó/–“IuvÐI$œr}MVÓ5McYÕ/d·{4Û;×´h¤…Þiv`3orNÖÈFxdzñ®«}«ƒ‹Ébu'±òSM¹.d1Æ<¬•Çø²1]9ðæ™ý¬ÚšÃ4w.âI<«™9 ñßü”?ÿØVëÿFµô®©ð÷áeî­{w¨%‘¾žw’ãv¨è|Æb[+æ “Æ8¢€;Ý N4¸EÈ»|Û¾×åy¿xãw•òtéŽØÏ9«µçÿð¥<ÿ@I?ð:þ.»?ì›/µý«Ê>wÚ~Õ»yÿYåy9Æq÷8ÇNýy  ´WŸÿ”ðý$ÿÀéÿøºìÿ²l¾×ö¯(ùßiûVíçýg•äçÇÜã;õæ€.Ñ^ÿ SÀô“ÿ§ÿâë³þɲû_Ú¼£ç}§í[·ŸõžW“œgsŒtïך»Eyÿü)OÐOüŸÿ‹®Ïû&ËíjòöŸµnÞÖy^Nqœ}Î1Ó¿^híçÿð¥<ÿ@I?ð:þ.»?ì›/µý«Ê>wÚ~Õ»yÿYåy9Æq÷8ÇNýy  ´WŸÿ”ðý$ÿÀéÿøºìÿ²l¾×ö¯(ùßiûVíçýg•äçÇÜã;õæ€.Ñ^ÿ SÀô“ÿ§ÿâë³þɲû_Ú¼£ç}§í[·ŸõžW“œgsŒtïך»Eyÿü)OÐOüŸÿ‹®Ïû&ËíjòöŸµnÞÖy^Nqœ}Î1Ó¿^híçÿð¥<ÿ@I?ð:þ.»?ì›/µý«Ê>wÚ~Õ»yÿYåy9Æq÷8ÇNýy  ´WŸÿ”ðý$ÿÀéÿøºìÿ²l¾×ö¯(ùßiûVíçýg•äçÇÜã;õæ€.Ñ^ÿ SÀô“ÿ§ÿâë³þɲû_Ú¼£ç}§í[·ŸõžW“œgsŒtïך»Eyÿü)OÐOüŸÿ‹®Ïû&ËíjòöŸµnÞÖy^Nqœ}Î1Ó¿^híçÿð¥<ÿ@I?ð:þ.»?ì›/µý«Ê>wÚ~Õ»yÿYåy9Æq÷8ÇNýy  ´WŸÿ”ðý$ÿÀéÿøºìÿ²l¾×ö¯(ùßiûVíçýg•äçÇÜã;õæ€.Ñ^ÿ SÀô“ÿ§ÿâë³þɲû_Ú¼£ç}§í[·ŸõžW“œgsŒtïך»Eyÿü)OÐOüŸÿ‹®Ïû&ËíjòöŸµnÞÖy^Nqœ}Î1Ó¿^híçÿð¥<ÿ@I?ð:þ.»?ì›/µý«Ê>wÚ~Õ»yÿYåy9Æq÷8ÇNýy  ´WŸÿ”ðý$ÿÀéÿøºìÿ²l¾×ö¯(ùßiûVíçýg•äçÇÜã;õæ€.ÖŒî&´ð/ˆ.måxg‹M¹’9#b¬Œ"b#¡œ×7ÿ SÀô“ÿ§ÿâ미д˶”ÜZ$ÂYŒÒ$„²»|“•<cùqÓ¾3@<q5ß|?sq+Í<ºm´’I#gc’I=I<æ·*½…¾™§Zéö‘ùvÖ±$0¦âv¢€ª2y<Ö¬P\¾…áËÍ3Çž,×&’k«ýìêŒK¯•FÜ1ÉãþÔV}¤¤zÆ£-Õä2éòy_cbÚÐápû›ø²Ø#Ò€4(¢ŠÇðÿ†í<9ý©öIg“ûKP—Q—Í í’Ld.ùxÎO½rÿÿæJÿ±®Çÿg­Ÿx’ïÄðý®(#þÍÖ®tè¼ FèãÛ‚Ù'æäçÕñOþd¯ûìözô (¢€ ò¿¶¥¥?…³µ »??R /ÙæhüÅùxm¤d{õJàþ%x'Rñ“h'NžÒ/ìûÑq/Ú—rñÂíSÏñ@øƒÆ®¼¥ëW.›¦Û âiIxn£™~óÅOàøO¼Ö?Õ5Û{;7¹š B À±‘¹ÄŒ£=@Ú=kGÄÿµ‡ñ¢øÇÂ¥µŽ®ñna»BÐΠÉ‘ÀQÓøAàŠ£¤|2Ö¯uÿë>,Ôl}gNm>H´äp¨@Ç ãMV·øíjÍiwy¡›mêo).ÿ´"’däÏù”pyÏçÆvõ‰WÖ^=ºð–™áyµKÈ­„ñ´wk|€HmË…ÎO8æ¹­+áOˆt»H´£gà{«HßP¹ÒÌ—l™Ï ®Ò{rMuöž Ô-þ0ßx¹¦µþÏŸO©fóC œ‘·ùOJˇãF’|þ&¹Óî!™/ ؆c>7`6NrG¯gÂßã×Ùæaø+¨OàmCF¾Ô,ã¾m]µ+Ib $c(k†QלàÝzWIáOëzv¿k©é^ ³ŠÝ[ £éÛ&v*W;ÙFÞ¿Ãôé@ø[â–©âÛæƒOðtæ/~ÍuuöÕòáL¿•RTóPk_o¼;;¾­áA ‚Må´‰«A$àg¼ó¡"¶>x+Qð~‹«Ùj7ï%íô—1½«±Ú¬ªw(ù¸>µç’üñü#7š4rxjIç΋R–)>Õ ÈùYöƒ¿ÏNäÐÏŽ|i⛉žµÑ,ežÂá7Á^$k¨‚ ó‘û½¹Ç=k¥Ö~#ÞiwÚN‡†f¼ñ5ý¿žúdwhÎCK§î·8ǸÍOø _½½ðž­¡]é©©èPùmîÿ&O•Fr£=§^Ôº÷üMuâMÆMö•ˆí¬Å½ä¬†ÖSƒ»i8fÆyÀ1È­þ-A7…|C©I£Moªh,óMš`%¶ŒHÈÈ<ã·¸5­à¯jž/X®äðÄúv—5¨š+ÉnU¼ÇÈB98cŒÓšå¡øU¬ ø´^ê6sø‡ÄL­#¨d·‹»à¶9<ãÓë^‡ám.}ÂzF•rѼöv‘A#DIRÊ  ãJ×¢Š(¯?øoÿ!ÏØzOýkÐ+ÏþÿÈsÇ_ö“ÿAZô (¢€ óÿ†òñÇýŒWú × WŸü3ÿŸŽ?ìb¸ÿÐV€=Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( 5Õ!ø@ukÓ©Ÿ}¼Îÿió]wù»ŽýÜõÎsE§þÚj׶ړin†wŽç~–îÞ`b-圜眜Ñ@•EPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPEPYö–7kÜúœ—·>WÙí0Ûjá°Ã–Üyç¥hWáBòãâ—,滞K[_ìÿ³Âò‘n‹m'“Ž´ÛÑEáÿ ÚxsûSì’Ï'ö–¡.£/šAÛ$˜È\òð1œŸzãþ1ÝýƒNð¥á‚{³ø–Î_&Ý7É&Ñ!Ú‹ÝŽ0s]ƒV8aŽEv·š¬Ö^%Ó,$HÍ® ’¢8r̃xpA@ç§{çŽ[á¿ü‡µÎx§H¼7šŽ›¤Éw·Uº¶¸šÜi²2oS³ ŒìEÙ,¤òñŒ×wq©ÃmªÙiβ®ÖF€@M¹Ï?í V6«ãk-*âò6°Ô.a²’8n®mÑ qI&ݨrÀ“‡Rp†H  š€m®õÛÍJ8ô‡®²Nº†”·N*§îܲí(à†Éîjæ¡á/·Ç¯/ÛvkK™ò³åyjƒ~lìöÆjMCÆZ}åÜ-i{4,‹}w)ŠÔ°nË8VRv†À œSo|egc¨ÞÚÉa~ñØË WW(‰åEæ…*N\10Î#ÓÐGÀ6×zíæ¥zC‹×Y']CJ[§ S÷nYv‚pC ä÷5¼ºNßɬùÿ~Ím|0ìÛ³Ÿö±Œvª:‡Œ,´û˸ZÒöh,Yúî$S©`Ý– p¬¤í €A8©µ¥–¶4ˆtËûëß³ ­–Â0<½Å~óº€r:g¿çzÿÃÑ®ßßÜ=å§ú\‘H²\X‰§·ØmŠBãb™À\回xÝÔ4k©üAg¬XÞÃo4Im"OneY#vF8éV:ò9éMÔüJºL¹ºÒµf¥KÕXÌQ— ûÈŒ¤ ©wâ]FßÆÐè±è—SZ½£ÌfF„CÆ»†éGÈ7A³Œ(®£àk½vóRŽ=!Å묓®¡¥-Ó† ©û·,»A 8!†r{šèäÕ­£‘£hï RA+e3=\¨¬ÍCÆZ}åÜ-i{4,‹}w)ŠÔ°nË8VRv†À œWC@ûè—É­\êºN§ªß¬j†âÐË’ƒ“çR·ä0àqÖ©êž šþëSHµA›«K·ÖÆßs±UU;pQAÊ·|c5kPñŽ}uÚ^Ë›ÇåäH¦+fp †Ë<2“µ[Œâ¦¼ñMŠjí,WirEûU~c R6óÏßÎ;ÐmCÂ_o^_¶ìþÖ– 3ågÊòÕ:üÙÙíŒÕ½CFºŸÄzÅì6óA–Ò$öæU’7dcŒ:•`S¯#ž•Jïĺ¿¡ÑcÑ.¦µ{G˜Ì$‡w Òo ‚7gSï|ggc¨j6ÒXß´:kÄ·—j‰åD$PÁŽ_q78SŽüs@µÛ]ë·š”qé/]du )nœ0UOݹeÚQÁ 3“ÜÕ½O“jZÁÕΨñßÛ²ÿg2ÆvZ¯ñ©]ß>þCŽ6‚¹«Wž)±±M]¥Šà.H£Ÿj¯Ìd FÞyûã9Çz©wâ]FßÆÐè±è—SZ½£ÌfF„CÆ»†éGÈ7A³Œ(î¡£]ϯÙë7ÐÛÍ[H“[™VHÝ‘Ž0êUN¼ŽzSoôûâÝ'W·ÌD†{;Qöº¿=pÑÇ??µM}ªËˆt½&Ùc/r’ÜNÎ Ù aAÆRòF{n¤¼Õf²ñ.™a"Fmu•À;–dÀë‚ =8+ß<E©i÷7þ*Ñgòñg§ ®ZBGÍ+!‰T¿uä$ý=xæþÿÈsÇ_ö“ÿAZô óÿ†ÿòñ×ý‡¤ÿÐV€=Š( ¼ÿáŸü„üqÿcÇþ‚µèçÿ ÿä'ãû®?ô @¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(ÍuO‡¿ /ukÛ½A,ôó¼—µGCæ3Ù_0`äž1Åjü :µéÔχ¾Þg´ù®»üÝÇ~îzç9¢€=*Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ³í Õ#Ö5n¯!—O“Êû Ö‡ ‡ÜßÅ–Á•¡Yö–7kÜúœ—·>WÙí0Ûjá°Ã–Üyç¥hQEáÿ ÚxsûSì’Ï'ö–¡.£/šAÛ$˜È\òð1œŸzåþ)ÿÌ•ÿc]þÏ[> ñ%߈ÿá!û\PGý›­\éÑy@ÑÇ·²OÍÉÎ0=ªøFÓÆ:u¥¥Õíí™´»KÈf²$‹"† A ã‰ãœ@j>ð櫭êÝé62L¡üÐöÈÞy`.HäŒqõ®sÅ:Eá¼ÔtÝ&K½º­ÕµÄÖãM‘“z˜Õ˜\gb.ÈÁe Ÿ—Œf¬®“þ‡ïÿàÐñ4®“þ‡ïÿàÐñ4Qð µÞ»y©GâõÖI×PÒ–éÃTýÛ–] …Ã9=Í\Ô<%öøõåûnÏíi`“>V|¯-Pc¯ÍžØÍb®“þ‡ïÿàÐñ4®“þ‡ïÿàÐñ4Qð µÞ»y©GâõÖI×PÒ–éÃTýÛ–] …Ã9=Ío.“·Äòk>ß³[_'gL;6ìçý¬c«’ÿ…]'ýÞ5ÿÁ ÿâhÿ…]'ýÞ5ÿÁ ÿâhοðôk·÷÷yiþ—$R,—"iíöb¸Ø§fp9fçž7u êYë7°ÛÍ[H“Û™VHÝ‘Ž0êUN¼ŽzW3ÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄÐýGÀ6×zíæ¥zC‹×Y']CJ[§ S÷nYv‚pC ä÷5ÑÉ«[G#FÑÞ¤‚VÊfz¸?Q\oü*é?è~ñ¯þ ÿ\„º}”_âðañ÷<÷¶2¿µF¿ycûJß BÔ|.¥>¤!Ôü3W’)¯­šÔ™ª¢ŽXlܨ ‚¬zãk^ºÔçÕ>Í«%­¶¦Ð=Ämkæ8h¶ãkoAb+3þtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰ ›PÑ®§ñž±c{ ¼ÐA%´‰=¹•dÙã¥XëÈç¥s“øgQÖ|Aâ«y.Ú×I¾šÝfGµ,gŒB›¼·ÜçIÃtã™ÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄОµàë­N}SìÚ²ZÛjmÜFÖ¾c†‹n6¶ð!TAö"´õ êYë7°ÛÍ[H“Û™VHÝ‘Ž0êUN¼ŽzW3ÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄÐI§Üé:½¼~b$3ÙÜ€@ÚµÕù놈9ùý¨Ô´û›ÿh³ùx³Ó„×-!#æ•Äª_ºò~ž¼sð«¤ÿ¡ûÆ¿ø4üMð«¤ÿ¡ûÆ¿ø4üMzyÿÃùxëþÃÒè+Gü*é?è~ñ¯þ ÿ[¾ðu¯ƒí¿¿¾{Û´M5ô¢Ið9g§zè袊+ÏþÿÈOÇö1\è+^^ðÏþB~8ÿ±ŠãÿAZô (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€<×Tñ¿Â{MZöÛRm/íÐÎñÜïÒÝÛÌ Ce¼³“œó“š+æ¯ÿÉCñ/ý…n¿ôkQ@oÑEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEWáBòãâ—,滞K[_ìÿ³Âò‘n‹m'“ŽµÛןøKþJ÷Ä_û†é;P QEáÿ ÚxsûSì’Ï'ö–¡.£/šAÛ$˜È\òð1œŸzØ®cÁž$»ñü$?kŠÿ³u«:/(º8öà¶Iù¹9ƵtôQEQEQEQE•â]z×ÿÖnÏî­b/·8ÞÝG¹$ƼÚ/‡Ú×Ã9u 2¾1žçûqfÇÌ—æXÇ Ûòã &´>&ůê:ö…igá˽WE³˜^ݤR" ä\ùhK€òxÁÈô¥?uåÖ×F?õ¨µ¹¹}²<˜ƒmÝÓÏÙxGÄPx¯ÂöÌ/Ú#ýäóÎAïàÀÖÝyäñ‹õÔºðÍÞ•¢jOöÈ’YÄ3ñ¼ §£uéƯP Š( Š( Š( Š( Š( ¼ÿáŸü„üqÿcÇþ‚µèçÿ ÿä'ãû®?ô @¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(âÿÉCñ/ý…n¿ôkQ_JêŸ~^ê×·z‚Yéçy.7jŽ‡Ìf%²¾`ÁÉO+ìp,[Z.s[zP…Q@þðݧ‡?µ>É,òijê2ù¤²IŒ…À/É÷­Šæ<âK¿ÿÂCö¸ û7Z¹Ó¢ò£n dŸ›“œ`{WO@Q@Q@Q@Q@y®³z4¯Z$×× ý!¬a•#Êy¾i|xà/lžGéUçþ<ÿ‘çÀö—ÿEP QEQEQEQEQEQEWŸü3ÿŸŽ?ìb¸ÿÐV½¼ÿáŸü„üqÿcÇþ‚´èQE碽Լuà­ßZÕ4»mCíÞ{é×&o.$uç¡äw©¯G¯?ñoü•ï‡_÷ÿÒu þtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰¯@¢€<ÿþtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰¯@¢€<ÿþtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰¯@¢€<ÿþtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰®Iu]oâŒ|R¯â[íþfGy),˜. ÿË6=û:šØð·Ž”¡ÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄÕkߌzU¿„ô=^ÞÆYîõ–d¶²i–=¬µ÷ÈÜ*†ã'×>¸ŸÃ¿-õ¿í»K0ZjºU«]µ²^%ÄrÆr²§ªƒÇyÀ¿áWIÿC÷ðh?øš?áWIÿC÷ðh?øš‹Áÿµ[A{kàÛ˜ôöYD·Fñ ¬ˆª * ç 3€8çL|_¸±Ö,,õï ¥„“ˆh5Xnš6'z'*9çŸÎ€4áWIÿC÷ðh?øš?áWIÿC÷ðh?øšåõ/xÚÛãUΗc¢Ëyv¬aÓ?´#%@xŸqRºy®£Xø“w‰åðæƒá›kTµ€Oy]$) n î?0üø þtŸô?x×ÿƒÿ‰£þtŸô?x×ÿƒÿ‰ª7¬Sáßü%vzT³4w‚Î{)fòš)1“óm9ÇnýºW[ámT×㸞ûÃÓé6ØG´içWyѲrT}Â08<ó@ð«¤ÿ¡ûÆ¿ø4üMð«¤ÿ¡ûÆ¿ø4üMzçÿð«¤ÿ¡ûÆ¿ø4üMð«¤ÿ¡ûÆ¿ø4üMzçÿð«¤ÿ¡ûÆ¿ø4üMdx¯À—z„õmZÛÇ~1yìídž5“SÊ–U$…z½s?ä›ø“þÁÓè€4<-4·>ÑgžG–i, w‘ÎY˜Æ¤’ORMkV7„?äJÐìoÿ¢Ö¶hÍuH~ZôêgÃßo3¿Ú|×]þnã¿w=sœÑF©ã„öšµí¶¤Ú_Û¡ã¹ß¥»·˜†Ëyg'9ç'4P¥QEQEQEQEQEQXþ$×áÓíîþÍö6ò ]»öcÍ&ìàôÎqßÚ¶(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¬ûKÈ5Fî}NK‹[Ÿ+ìö mµpØaËn<óÒ´+ˆðÆ¡yqñKÇ–s]Ï%­¯öÙáy H·@ŶŽ‹“ÉÇZí袊Çðÿ†í<9ý©öIg“ûKP—Q—Í í’Ld.ùxÎO½lW1àÏ]øþµÅÙºÕΔÝ{p[$üÜœãÚºz(¢Š(¢Š(¢Š(¢Š))h Š( Š( Š( Š( Š( Š( ¼ÿáŸü„üqÿcÇþ‚µèçÿ ÿä'ãû®?ô @¢Š(¯?ñoü•ï‡_÷ÿÒu¯@¯/ø“« â7€uc}|!þÑÿG±‡Í™ó /ʹÆr} P¢¼÷þºЋãüötÂ×Oú|oÿ‚þ΀= ŠóßøZéÿB/ÿðQÿÙÑÿ ]?èEñ¿þ ?û:ô*+Ïák§ý¾7ÿÁGÿgGü-tÿ¡Æÿø(ÿìè•ïÃßhž1Ô|Eà}ZÂßûLï¼²ÔQŒLù$°* êI팞pqT´ÿ„÷:‹mõýVÙ¯¼C4w öq6È$GgnÁ –éÇëkþºЋãüötÂ×Oú|oÿ‚þ΀2¼9ðïÄuî–·ÚoÖÚÆHÙ®ítÜÝÊ9eXãïsÍiiÕl5Ÿ^Kqfcñ‘hØ”È|ÿ/|tÏzü-tÿ¡Æÿø(ÿìèÿ…®Ÿô"øßÿýs?ð¦5&ð_‡-ïLmgDšg 4fkK„y7ìpTtíëìk¢Ðü¬ÛÅ«µöŸá+ n¬%´…4[Ìã«ÈWv8?*“þºЋãüötÂ×Oú|oÿ‚þ΀&ðÇu 'á,ž¼½†;Ù ¸ˆÜÚ–e_1˜‚2œéÞ¸/øRž":Vf…à“Nº½ÄÈ&¹Lç/!L’:Æ=øÛÿÂ×Oú|oÿ‚þÎøZéÿB/ÿðQÿÙÐ^%ð_ŠÄh|aá{­#Ïe’ OÌÛÔò6 ž1éÓ½3Uð7‰´ÿßx«ÂŽ™Ú”+«}I  (Ü¥2sòƒƒß=sÅøZéÿB/ÿðQÿÙÑÿ ]?èEñ¿þ ?û:ç/> j+ð¾_Zj6³j·Z€¾¹¸œ²FN0BáIôíÏ=:W±D†8Q2ªÀÂ×Oú|oÿ‚þÎøZéÿB/ÿðQÿÙСQ^{ÿ ]?èEñ¿þ ?û:?ák§ý¾7ÿÁGÿg@…Eyïü-tÿ¡Æÿø(ÿìèÿ…®Ÿô"øßÿýzs?ä›ø“þÁÓè°ÿák§ý¾7ÿÁGÿgX~3ø”š—‚u»!àï[ì¥Î¹Ó6ETÌÛ¸¹ Eð‡ü‰Zýƒ­ÿôZÖÍbx5·xÃí‚3¦Ûœ£÷k[tñŽÿä¡ø—þ·_ú5¨£ÇòPüKÿa[¯ýÔPÛôQEQEQEp~<ÓáÕ|Uà«+‚þL—×Â9RÊ-Ü•$sƒŒPH¬_é^gŽl<-c¡ØÝhÖú[]æMxÖ4­3l*6ò¼pFòkCYÑ4ÏxîúÙu¿é·þŽaep±D Èì8'qRU9¨o~ YjRÁ-÷‹üWs$˜^kõvŒž»IN3í@}†ãÃÞ¹ÒõÍ";›MGTŠ+IƒQwT,¹òÚVU!2ŒØÁ8Á¬û)µ ë¾%±°Òít’¾“PŽÂÎñ®cY‘ˆW¢í'8 p jÃðGFB‰7ˆ²Õô;kF…4sqä$23´¨¤l%³ƒœtàÔPü°·Âøª?²»IËåS6C2á8''$uÉ©áNiòêQß^x£Å².Õqq~›9òØ… ´äðêqŠë<}¦ê^Óî´ˆ%·±deŽsº=¬U”䞌êzVåcÿÂ9k ÒRÂâçOµÓ òí-$Ù Œm‘qó×ëÍX¸ÒÌúÝž¥öûØÅ´nŸeŽ\A.îî¸äŽÞ”¡Erþ$ðcø‹QŽí|Oâ,$B/'M¼òclw´üÜã>€V?ü*é?è~ñ¯þ ÿ@Epö$±Ôm®Ï¼]p •%òn5ÑÉ´ƒµÆÞTãzWQ}¥›íCO»÷¶âÎFs íŽ|ŒbA˜£Þ€4(¬û,Ï­Ùê_o½Œ[FéöXåÄîîëŽHíéXþ$ðcø‹QŽí|Oâ,$B/'M¼òclw´üÜã>€PQEyÿü*é?è~ñ¯þ ÿV,>Ic¨Û]ŸxºàA*KäÜj;£“ik¼©Æô âŠÏ¾ÒÍö¡§Ý‹ûÛqg#9† vÇ>F1 ÇÌQïEÆ–gÖìõ/·ÞÆ-£tû,râ wwuÇ$vô  +—ñ'ƒÄZŒwkâéa"y:mç“`“¸§æçô±ÿáWIÿC÷ðh?øšô +‡°øq%Ž£mv|mâë©/“q¨îŽM¤®6ò§#Òº‹í,ßj}Ø¿½·r3˜`—lsäc |Àuô¡EgÜif}nÏRû}ìbÚ7O²Ç. —ww\rGoJÇñ'ƒÄZŒwkâéa"y:mç“`“¸§æçô€:Š+ÏÿáWIÿC÷ðh?øš±aðâKFÚìøÛÅ× R_&ãQÝ›H;\måN0G¥wV}ö–oµ >ì_ÞÛ‹9Ì0K¶9ò1‰>`:z.4³>·g©}¾ö1m§Ùc—K»»®9#·¥hQ\¿‰<þ"Ôc»_ø‡K ‹ÉÓo<˜ÛÄm?78Ï ÿ ºOú¼kÿƒAÿÄРQ\?Ã+}bÏN×­5‹RäÛëwÚM©34’[¨@Œ uS‚r8É8®â€ óÿ É^ø‹ÿpÏý'jô åô/^iž<ñf¹4]_ìgTb]|¨Š6áŒO'𠢊(  ønÓßڟd–y?´µ u|ÒÙ$ÆBà—Œäû×!ñ +ÝKÇ^ Ðíõ­SK¶Ô>Ýç¾ravòâG^zGpzšè<âK¿ÿÂCö¸ û7Z¹Ó¢ò£n dŸ›“œ`{V7‹ä¯|:ÿ¸Ÿþ“­ð«¤ÿ¡ûÆ¿ø4üMð«¤ÿ¡ûÆ¿ø4üMWøËâý/Ö:Fq,¾³x–Öï …FAb¤r9*¿ð*¡ðÇÅ:•§‡üO¤ë—3_꾚bÏ<¤¼Ñ€Ä|Í“Õ[žp пü*é?è~ñ¯þ ÿGü*é?è~ñ¯þ ÿY:gÅ/xŸÃrjZ7®*P÷ ¨ÆŠŽ ýÒÊ qƒœx¬ÿ†þ/ñ^±à éµ[ ‰íÖêA­}½Fu ÊG8ojé¿áWIÿC÷ðh?øš?áWIÿC÷ðh?øšç<9ñ6=ῇdkmSWÕµYæ†ÒÚ{¿:iJÊW攨ãÀìM3âoŠ¼P>Ïwq¦^øcPŽþ(×È¿] ±È’ ½º»ûÙ€cm&ÒÌ}€1þð$uЮ“þ‡ïÿàÐñ4®“þ‡ïÿàÐñ5ÈêPEà›»øI>+kÖúĨ³´E%žÝÆy‘Œ‚:û⺟|U‹Fñ<ÞÓ4¤Ôo­£\™¯â´Ž<€B†¼Ø#ëõÀ¿ð«¤ÿ¡ûÆ¿ø4üMð«¤ÿ¡ûÆ¿ø4üMS¼øÉbŸ ÓÅö:d—#íbÒkI&´rc'æ ÙãqÈ=ºU½+âl×>2³ðö¯áË êææÊi®̈oWî+q’Gz_øUÒÐýã_üþ&øUÒÐýã_üþ&°føñhÅõ®„Óè¶óyOtoâI›7$æaÈþ¸ç~"ø¦ºF»¡iÚn‰6®ºÍ ¹¶x&͸ƒi^‡$‘€Ií@ÿ…]'ýÞ5ÿÁ ÿâhÿ…]'ýÞ5ÿÁ ÿâj]OÆþ#Ó4ë äðtkq:;OƱ  @]ì0䀵©|O¼×þkZ¾ƒ§Mo¨ÙHmî—í)›QŒùªØÃÀÀÁ<úP×ü*é?è~ñ¯þ ÿGü*é?è~ñ¯þ ÿY¾øƒªØü6:ÿ‹4©a²¶´â¿i+ß³£0P“Ž¾¾Õ>ñbäêš5¾¿ák­ÓZ i÷mr²‰ ÆÝÊ)Ë××Óš·ÿ ºOú¼kÿƒAÿÄÖ»áëÿëÞžÛÆ&½[Ífi¡¾Ô ÆÈrH žëH|RÕ.üU­xHðtúΙ6Âéz¨Œ™ ³Q´ôÂòO>•oâgü„üÿc¿þ‚ÔèQEçÿ ÿä'ãû®?ô¯@¯?øgÿ!?ØÅqÿ ­zQ@yÿ‹ä¯|:ÿ¸Ÿþ“­zyÿ‹ä¯|:ÿ¸Ÿþ“­M}ñÊñQÒm­nZ!<å›L¹fÜ|Ç›^p‹þñnTWAˆãºÕf²´Ó¯®b‚o³Ïy †90 S— q‘’ª@õàÖ>›ðòÒÃ_]YõBwIe˜#^O˱@…‰îÛçïsÆÓ³ÐoôÍRæKNÓ®®ÔÖÒÚ—;cpI€#<«N Æ6/©-·Ù/E³^5Šß”_!® §Þß÷\íÛ‘ŒÒAã+9õmö ôˆßɧ §Dò¼õÏË÷÷`í8;qØj´~ ™/#Œê€éêM©¥§Ùÿx%.dÚdÝض6ç¶qS¯„¶Å}·îk-ªçÊë–fòúÿµÞÝ(¶%Ôn¼c©hòh—Iml•Ÿt?.ó&Y¿zIS°c ž¹Š™öÿ¼6îÛ·w©ÆuŠ'ÕíoaHn¡Š+›ymË–òËí(áÆÓóœä7AYž¶°ÖÍäé ¼kÌÏ¥,—JìåÈY÷ Äã*Hg@iâËÖŽ ºþÑóÌMm±w*Ÿ8ó+a³ÔÙµ‡‰u¯êZ<š%Ò[[$%gÝ˼ɖoÞ’TìÂç®@â•<)2kã^þÔs©™ˆwòÏ–Ö½­önà6s¿'¡+WuŠ'ÕíoaHn¡Š+›ymË–òËí(áÆÓóœä7A@TQEQEQEQEQEQEQEÌüEÿ’oâOûMÿ é«™ø‹ÿ$ßÄŸö›ÿ@4wÂò%h?ö·ÿÑk[5áù´û[ÿèµ­šó]SáïÂËÝZöïPK#}<ï%ÆíQÐùŒÄ¶WÌ9'ŒqE¤?­zu3áï·™ßí>k®ÿ7qß»ž¹Îh J¢Š(¢Š(¢Š(Ïü%ÿ%{â/ýÃ?ô«Ð+Ïü%ÿ%{â/ýÃ?ô«Ð(¯(5÷‹~)xÊÎOø‡NµÓ~ÅäC§_ye¸ Ž«ž1Ô׫ןøKþJ÷Ä_û†é;Pÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄ×™jú­Å×üm¡ãÍ[E†À4–1G¨2#¸ ByË]†‰ñTðïÂ#\ñ¤÷Ú…ÝÏÙmÄŒ!2‚X£;aOÌG<ù  ßøUÒÐýã_üþ&øUÒÐýã_üþ&¥ƒÅþ$Ô<3¬^ .­àl±jÌ“ç9ÄŠ0 ›­rß <[âÝkÀ—’jV3Ml¶×.šÛ^¦òêFáï{PIÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄ׉Yx‡YÁ6zÕ—u™üJ÷ÞJé-zÓïLð|¢IüòJöïüL_ _iš0ÓV÷\»·¼ v–ÑD0sºGàrÛÜd?áWIÿC÷ðh?øš?áWIÿC÷ðh?øš—ßcñ7‡õ{»&CªiM²}<\¡‰8+/Ý*pß7û'·5GFø¬÷~,²ðþ±¡Ç§O|·–ßRŠñ Ѷ}ÓÆ?/­Yÿ…]'ýÞ5ÿÁ ÿâhÿ…]'ýÞ5ÿÁ ÿâk/\ø£sw7‰´í Ã÷×vºT2ÅwªAp¨`“k ʧ–ƒÈ9àœVO…¾'|+ðäÚ‘ºÕõNiãgº¾Ù˜eåsò¨ÊŒŸä:¯øUÒÐýã_üþ&øUÒÐýã_üþ&›áߊ–úßöݥƘ-5]*Õ®ÚÙ/â9c9YSƒÕA㌎¼á|ñTñ¹³¸‡ÂSÚé’™{ç»VHÝAÀQ´3ƒ€3€8çφ‚ö×\ñv“u«ê:”V±E—÷W S'“ïèz%yÿ€ÿäyñÿý„bÿÑUèQEQEQEQEQEQEQEŸ¥_Ý_ý·íZlÖ?g»’¼ÖÏq‰W³À<ñZŸ¥\jwmþÒ°ŽÓË»’;m“ <è6Hq÷IçåíŠÐ ³í Õ#Ö5n¯!—O“Êû Ö‡ ‡ÜßÅ–Á•¡Yö–7kÜúœ—·>WÙí0Ûjá°Ã–Üyç¥hQEáÿ ÚxsûSì’Ï'ö–¡.£/šAÛ$˜È\òð1œŸzåü[ÿ%{á×ýÄÿôkgÁž$»ñü$?kŠÿ³u«:/(º8öà¶Iù¹9Ƶrßua¡üFð¢lo¯„?Ú?èö0ù³>aEùW#8ÎO°4'‹þê^4øg©ßj†ÏE²·ÙoöÊ] s’Ã(Uyî 8QøgÚ|%Õt__húÁ»Óõ6kK³ª\3Ü4Œ¤)ʦ''œn­¯øZéÿB/ÿðQÿÙÑÿ ]?èEñ¿þ ?û:Òð„®ü3ðòßÚ”Ð<ê&YÙ‹&ØŒôoJçüàxkÚ—†.îôYô‰m®ÚX¼Ñ?›'~Fи-œdôëW¿ák§ý¾7ÿÁGÿgGü-tÿ¡Æÿø(ÿìèƒáµmá/ ÇmªY[ø‹@žY¢x$&ý§*§oQïZ~,ðgŽaÔŠ‹þºЋãüötÂ×Oú|oÿ‚þ΀9{„:æ€.l4ÛojVJ^+­cO2]D§øx8÷=}:WQsà-FOøK\Š[²Ñ¬´Ñ¢˜Ë6Æ_Ý¢®Ð¹aÆFðµÓþ„_ÿà£ÿ³£þºЋãüöt[ÆŸõ={Çzˆìÿ±ï`‚ÛìòXëïå¾eUót8äuô©á…zž•á/hw÷–ë,Æ -‚Æ ey#åÀã5©ÿ ]?èEñ¿þ ?û:?ák§ý¾7ÿÁGÿg@,>ø‹Pøowà¿ÝéKmQ&Ÿq`$gR¬[2Š8ÇöªÖÿ<[«ê>_jÚSéš+Û¥Š?™9]»|ÂÀ÷FqïëšØÿ…®Ÿô"øßÿýðµÓþ„_ÿà£ÿ³  ^ðn£áÿx·Z»šÕíµ‰ÒKu‰˜º€\à¨ï„Õ‰Ÿòð?ýŒVÿú Sák§ý¾7ÿÁGÿg\ÏŠöH­¦ky¯–"Iä©÷ú íÆ{Ö>›ðòÒÃ_]YõBwIe˜#^O˱@…‰îÛçïsÆ·7„å¹ñ]¾µ5Õ’ýžc"{.áÔ©Q“o;“ž›Fp(dñ…“߈VÒ÷ì†ìØCbùpvìûÛþðÛ»nÝÜf¡°ñ.£uãKG“DºKkd„¬û¡ùw™2ÍûÒJƒ\õÈU[OÛXkfòô†€Þ5ægÒ–K¥vrä,û†âq•$3À­q£]Câ‰õ{[ØR¨bŠæÞ[rå¼²ûJ8q´üç9 ÐP+ê7^1Ô´y4K¤¶¶HJϺ—y“,ß½$©Ø1…Ï\Å\ƒZž_Ï£=¬Å ]ÕO›óíʲ¹ã¶ ƒJ4k¨|Q>¯k{ Cu Q\ÛËn\·–_iG6Ÿœç!º ®4=cþã­jØù&³}Ÿì»Êß»üï½Ûvܳ@ Œ¬çÔ·Ø/Ò#&œ.Êó×?/ß݃´àíÇbA¦YhCn¶ƒÛÍ|tøïUÉi!”|Û° °ÎÜdJ¾Ûiöß¹¬¶«Ÿ+®Y›ËëþÖ7{t®uô›ÔñŸ¥ØËvú}¶²úƒE&›$ko1ßý Ž»ÜíU²Üœ@mŸˆãÔ5‹‹ ]>öH­¦ky¯–"Iä©÷ú íÆ{ÖÕsxN[ŸÛëS]Y/Ùæ2!·±òîJ•É6ó¹9é´gºz(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š+™ø‹ÿ$ßÄŸö›ÿ@5ÓW3ñþI¿‰?ì7þ€hï„?äJÐìoÿ¢Ö¶kÂò%h?ö·ÿÑk[4溧þÚj׶ړin†wŽç~–îÞ`b-圜眜Ñ_5xïþJ‰ì+uÿ£ZŠû~Š( Š( Š(  « ôI5ý^+l5hüŸí`Hr„Ž±ó|¹Ç'µk2ÇTÓ®µÍWO¶R/¬¼ŸµŸ$®w©dù±†ãÓ8­:+Ïü%ÿ%{â/ýÃ?ô«Ð+Ç¢ñbø_â÷Žó¡kz§Ú?³ÿäiçù{mÿ‘Œîã×Ò€/Û|$Ž÷Æ~*ÔüAw§êÀ‹P¹i 'ø+ò·¸&“Jð?Œ´ÿ ÜÍáÝP[Ýn¶ŠI4Oo†ùmX6 œ; Ñÿ…®Ÿô"øßÿýðµÓþ„_ÿà£ÿ³  žøm¨xwS×/õtëdÔà (IäF1Ã9ÿô£ÀÞ ño…ôÿ Þ]h³éâÚX¼Ñ?šøÆü¡p[8ÉÎ:Õ¿øZéÿB/ÿðQÿÙÑÿ ]?èEñ¿þ ?û:åí~ËÃ…Ó]´èÐØÆ{ppEixƒá¦»­j/ˆ¤}ç^µ´×Öº„-5Î3óý܃Îzzc§:ßðµÓþ„_ÿà£ÿ³£þºЋãüötŸ7Ãm_QðN»¤Ïÿö•y¨ù^XѬ¼˜@·ms€Ì¿NõeéŸ õÛoø_U’? YŤ.#Ó£ti±œ±\»|cß&ºOøZéÿB/ÿðQÿÙÑÿ ]?èEñ¿þ ?û:Êo‡>)Òµ/ÅáíOJM'ÄÞAx’ f ›xÇÌFIàcƒŽsÏÁI¼á»6»ÓZÑ&™ÂÍšÒá^Bû;zûéák§ý¾7ÿÁGÿgGü-tÿ¡Æÿø(ÿìè=ÁͼZ»_iþ°–êÂ[HSE±1|Î:¼…wcÀãò­¿‡½ðìtMB[yn`i ½»CºFa‚@=íYðµÓþ„_ÿà£ÿ³£þºЋãüötïÿÈóãÿûÅÿ¢«Ð+Ì>êƒXñ?Ž/•íŸ›} ù7‘yr&c# ¹8£¨Né,³kÉùv(±2Ûc@œýàNxÀ‡¡µ¨u¼´g‹R7âf±ébÞSL_î Ø€®9Û>&G×nô›m/P¹šÍã[‰bXÄq‡PÁ²Î <€ ã§LÔ°ñ.£uãKG“DºKkd„¬û¡ùw™2ÍûÒJƒ\õÈV¥†“ö-cVÔ<ýÿÚìÙ/da:çœã=ª£]Câ‰õ{[ØR¨bŠæÞ[rå¼²ûJ8q´üç9 ÐPA­O/‹çÑžÖHbŽÐN®ê§ÍùöåY\ñÛA¥‡ÄqÝj³YZi××1A7Ùç¼PC˜©Ë†8ÈÉU zðj¸ÐõøKŽµý«cä˜~Íö°>ï+~ìoó¾÷mÛqþÍ>ÏA¿Ó5K™,u8SNºº7S[Kj^@íÁ$Œò¬y8>€ ¦jZŒ¾,Öt«Çµ’ X-î-ÚZ6 +L6¾]ƒ"^@\äñLOY=ø…m/~Èn͈Ô6/gnϽ¿ï »¶íÝÆjÃh×Qø¥õ›KØ£ŽâÞ+{«ymË—XÚB¥8ØxÙÈaÓXöž¶°ÖÍäé ¼kÌÏ¥,—JìåÈY÷ Äã*Hg@ö~#PÖ.,-tûÙ"¶™­æ¼X‰$ ’¤ßè3·ï[UÌMá9n|Wo­Mud¿g˜È†ÞÇ˸u*TG$ÛÎäç¦Ñœ é袊(¢Š(¢Š(¢Š(¯?ø™ÿ!?ÿØÅoÿ µzyÿÄÏù øþÆ+ý¨Ð(¢Š+ÏþÿÈOÇö1\è+^^ðÏþB~8ÿ±ŠãÿAZô (¢€ óÿÿÉ^øuÿq?ý'Zô óÿÿÉ^øuÿq?ý'Zšûâ•â£¤ÛZÜ´Bx-Ë6™r͸ù60¼á21ýâܨ­hè~]æL³~ô’§`Æ=rž~†Ö¡ÔòÑž-H߉šÄ¦‹yM1¸7`^¸çth×Pø¢}^Öö†ê¢¹·–ܹo,¾ÒŽm?9ÎCt—¥øÕ¦Ô$´¾°¸D:¤ú|WqÆ<Êͱ[-»q Ô.Üñ‘Òºêæ—Â[b>Û÷5–ÕsåuË3y}ÚÆïn•ÒÐEPEPEPEPEPEPEPEP\ÏÄ_ù&þ$ÿ°tßú®š¹Ÿˆ¿òMüIÿ`é¿ô@|!ÿ"Vƒÿ`ëýµ³XÞÿ‘+Aÿ°u¿þ‹ZÙ ˆ%ZÝÁöò®š²E*†VCpAë@Ωé¥ÃB²(·¸’Ù·€2ÈpHÁº™§·{W¶’U]…•“ƒÏ½;OñX´ûl0Ç>fw1-õÏoÄKHñEΩâ™4É4Ë‹VÁn‚Ý¢‰Ig*UÙqÓ¨=qZ:«.±õÑXÖÕ/%·¶*æXÎÆbsÝÕñŽÀU]3AÔ-üBúÆ£ªÅw)²[0‘Zù Å·»dœóÛéRxcO¸Ò-otùcÄ1ßO-´™?ÿ°Œ_ú*½¼ÿÀò<øÿþÂ1èªô (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠáþØÝØÿÂ_ö»Yíüÿ^Í›O26Ù‡\õSƒ‚85ÜV~•uößµi³XýžîH"óX>5Æ%\tVÏóÅhP\¾…áËÍ3Çž,×&’k«ýìêŒK¯•FÜ1ÉãþÔV}¤¤zÆ£-Õä2éòy_cbÚÐápû›ø²Ø#Ò€4(¢ŠÇðÿ†í<9ý©öIg“ûKP—Q—Í í’Ld.ùxÎO½rþ-ÿ’½ðëþâúNµ³àÏ]øþµÅÙºÕΔÝ{p[$üÜœãÚ±¼[ÿ%{á×ýÄÿôhkïˆ>WŠŽ“mkrÑ à·,ÚeË6ãæ<ØÂó„XÈÇ÷‹r¢­ÞøØÿhØÛXX\=¼Ú§ö{ÞËòY—p‘S » ©+·ƒ‚išoÃËK }ugÔu Ý%–`y?.Å&C»lhŸ¼ ÏAàÛ”¸´Ž-YMµÕRŽß칓s3»!“~6ùr8äâ€4æñ"[j°ÙÝiz…¼3Ïöhocò^L×ÁÁ*½S°ñ.£uãKG“DºKkd„¬û¡ùw™2ÍûÒJƒ\õÈVyøzZ‡PkËFxµ#~&kn˜-å4ÅþàÝ€zãÑ£]Câ‰õ{[ØR¨bŠæÞ[rå¼²ûJ8q´üç9 ÐP ã '¿­¥ïÙ Ù±†Åò àíÙ÷·ýá·vÝ»¸ÍOgâ8õ bâÂ×O½’+išÞkÁ划@¹*A}þƒ;qžõ‘iàk lÞAÐƼÌúRÉt®Î\…ŸpÀÜN2¤Æxjo Ësâ»}jk«%û<ÆD6ö>]éR¢9&Þw'=6ŒàPOEPEPEPEPEPEP^ñ3þB~ÿ±ŠßÿAjô óÿ‰Ÿòð?ýŒVÿú P QEWŸü3ÿŸŽ?ìb¸ÿÐV½¼bñ¼uà_ÜZi)áù¡ñ>±4öÆèÌÌŒT6Ý  Ó<гבhõx’úëÄšM Ùm†©§¦ñÆÇïcÉ GÌ?kgÌøÅÿ<<ùÜÿAðKÎ>Õ~Ö#óÿ¶n|ÑvnùsŒöÎh¹ÑM¹ëßÖ®Ûˆ_ ÿá1[ÿ¦ÔüÄ}sæòîÏ÷x ®ûâ•â£¤ÛZÜ´Bx-Ë6™r͸ù60¼á21ýâܨ­;ê7^1Ô´y4K¤¶¶HJϺ—y“,ß½$©Ø1…Ï\ÅTÓ~ZXkë«>£¨Né,³kÉùv(±2Ûc@œýàNxÀFº‡Åêö·°¤7PÅͼ¶åËyeö”pãiùÎr   ½/Æ­6¡%¥õ…Â!Õ'Ó⻎1äîVmŠÙmÛˆ^¡v猎•uöÿ¼6îÛ·w¨×Â[b>Û÷5–ÕsåuË3y}ÚÆïn•NÓÀ6ÖÙ¼‚=! 7y™ô¥’é]œ¹ >ḜeIŒð(ÐüCÓæ½KìÍN4iR1;¤~^sn8óÞ™äcš¼ž0²{ñ Ú^ýÝ›¨l_ ÎÝŸ{ÞwmÛ»ŒÖrøj¨þÒû­¨þåçÚ¿½ßî~¾Ô¶ž¶°ÖÍäé ¼kÌÏ¥,—JìåÈY÷ Äã*Hg@Q@Q@Q@Q@Q@Q@Q@Q@s?ä›ø“þÁÓèºjæ~"ÿÉ7ñ'ýƒ¦ÿÐ ]ð‡ü‰Zýƒ­ÿôZÖÍcxCþD­þÁÖÿú-kf€<×T‡áÕ¯N¦|=öó;ý§Íußæî;÷s×9Íjž7øOi«^ÛjM¥ýºÞ;ú[»yˆl·–rsžrsEzUQ@Q@Q@á/ù+ßîÿ¤í^YVè’kú¼V"ØjÑù?Ú&8Àå ‹{cæùsŽNjÐ\>«ðÎÛRñ&¡®[ø“Ä:]Ρåùé§]¬(ÞZ^6äð;“Ô×qEyÿü*é?è~ñ¯þ ÿU¯üm¥Z5Ö¡ñ+Ŷ–ë÷¥ŸXTQø•¯I¬íc@Ò|A 0êö^Å ¢hÒeÜ¡À#8ïÁ<(çx£GÓcÐücãí^i¤rKʘp@b™b ã^«mð¾ìÚÄn<{ã!9AæÕ>PØç/LמŧŸ|OÓ/¾Î~Äuy!µTLE ¥˜ÝŽ8G==V¾† ?ÿ…]'ýÞ5ÿÁ ÿâhÿ…]'ýÞ5ÿÁ ÿâkÐ( ?ÿ…]'ýÞ5ÿÁ ÿâhÿ…]'ýÞ5ÿÁ ÿâkÐ+ÿ…Õð÷þ†ÿÀIÿøŠoü*é?è~ñ¯þ ÿGü*é?è~ñ¯þ ÿNÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€ÿ ºOú¼kÿƒAÿÄÑÿ ºOú¼kÿƒAÿÄÓ¿áu|=ÿ¡…ðþ"ø]_èa_üŸÿˆ  Ÿ x.×ÂPx5FþkùYæ¿”Hå€Àä(íëšékÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+ÿ…Õð÷þ†ÿÀIÿøŠ?áu|=ÿ¡…ðþ"€;ê+†¶øÅà+»¨­ ×Õæ™Äh¿e˜e‰À§­w4Ÿ¥\jwmþÒ°ŽÓË»’;m“ <è6Hq÷IçåíŠÐ®cÁž$»ñü$?kŠÿ³u«:/(º8öà¶Iù¹9ƵtôV}¥äÆ£w>§%Å­Ï•ö{FŒ¶Ú¸l0å·yéZÄxcP¼¸ø¥ãË9®ç’Ö×û?ì𼄤[ bÛGEÉäã­vôQEsvmõ;‹Q-¡Õ59od’útEJ(¤àc Àäðy®S[×4gâ÷Ãïì½RÊûÊþÑó>Ëp’ì͸Æv“ŒàþF½ SÒ4ÝjÙmµM>Öúq"Çs È¡€# 0<à‘Ÿs^w¬è>‡ñ{áÿöN•eaçhù¿ecß‹qŒí8ÉüÍkß|Aò¼Tt›k[–ˆO¹fÓ.Y·1æÆœ"ÆF?¼[•§aâ]FëÆ:–&‰t–ÖÉ Y÷Còï2e›÷¤•;0¹ë8ªšoÃËK }ugÔu Ý%–`y?.Å&C»lhŸ¼ Ï`h×Pø¢}^Öö†ê¢¹·–ܹo,¾ÒŽm?9ÎCt“x‘-µXlî´½BÞçû47Ž±ù/& aËŒàà•ÞªYhCn¶ƒÛÍ|tøïUÉi!”|Û° °ÎÜdYÇáèmjA¯-âÔø™¬Aº`X·”Óûƒv`ëŽsßI½Oiú]Œ·o§Ûk/¨4Ri²F±óÿÒ Øë½ÎÕQ»-ÉÀ4ÖÙøŽ=CX¸°µÓïdŠÚf·šðyb$.J_ ÎÜg½mW17„å¹ñ]¾µ5Õ’ýžc"{.áÔ©Q“o;“ž›Fp+§ Š( Š( Š( Š( Š( Š( ¼ßâßÛxCû8@o¿·bû8¸Ï—æl}»±ÎÜã8çéçÿ?ä'àû­ÿô Åßùåà¯ûêêÿç—‚¿ï«ªô (Ï÷ü]ÿž^ ÿ¾®ª¡ð÷Ä kÅ^Ô<@|7¦•rÓ‘`óïmË·øÁ·¥z]Wh õûˆï¬õßMi¢O}5ÏönžÛZmíÿ-$ÇLòŒýA¯a¢€34?i±Z6ŸœªÄ¼±õfêÇÜ’k’ñoü•ï‡_÷ÿÒu¯@¯?ñoü•ï‡_÷ÿÒu  ¯¾ ù^*:Mµ­ËD'‚ܳi—,Û˜óc Îc#Þ-ÊŠØOؾ¤¶ßd½ÍxÖ+~Q|†¸‚Ÿ{Þs·nF3YúoÃËK }ugÔu Ý%–`y?.Å&C»lhŸ¼ Ïhü2^GÕÒ#Ô›SKO³þðJ\É´É»±lmÏlâ€4ŠlZ4qÆSm0|«þ´1Rzýܩ篵T°ñ.£uãKG“DºKkd„¬û¡ùw™2ÍûÒJƒ\õÈT-à믷£&¬‹`š¯ö ƒì¹rç%¾ümÉ$|¹rkLh×Pø¢}^Öö†ê¢¹·–ܹo,¾ÒŽm?9ÎCtVÙÏzЛø í§}®DO+Ï Wo[Œ·  X)±hÑÄW}M´Áò¯úÐÅIë÷r§ž¾ÕÏh¾Ôo'º7×m½=òZ=©Y–RÑ‘!oõd…o»“ýìqZ à믷£&¬‹`š¯ö ƒì¹rç%¾ümÉ$|¹rhkê7^1Ô´y4K¤¶¶HJϺ—y“,ß½$©Ø1…Ï\ÅtõŠ4k¨|Q>¯k{ Cu Q\ÛËn\·–_iG6Ÿœç!º ¶5‹R@_sëc0ÿÙ(*ÙÏzЛø í§}®DO+Ï Wo[Œ·  Y›Ä‰mªÃgu¥êðÏ?Ù¡¼uÉy0H\g¨õÎè¾Ôo'º7×m½=òZ=©Y–RÑ‘!oõd…o»“ýìqS‡¡µ¨u¼´g‹R7âf±ébÞSL_î Ø€®9аñ.£uãKG“DºKkd„¬û¡ùw™2ÍûÒJƒ\õÈT_ZmBKKë „CªO§ÅwcÉܬÛ²Û·½BíÏ+Ph×Pø¢}^Öö†ê¢¹·–ܹo,¾ÒŽm?9ÎCtQ|%¶(Óí¿sYmW>W\³7—×ý¬nöé@-Q@Q@Q@Q@Q@s?ä›ø“þÁÓèºjæ~"ÿÉ7ñ'ýƒ¦ÿÐ ]ð‡ü‰Zýƒ­ÿôZÖÍcxCþD­þÁÖÿú-kf€> ñßü”?ÿØVëÿFµxïþJ‰ì+uÿ£ZŠû~Š( Š( Š(  ËSNº×5]>ÙH¾²ò~Ö|’¹Þ¥“æÆLâ´ë#Nñž§â=gC†9ÅÖ‘ä}¡@FóPºí9Éàs?× Š( Š( >øB~ÍáÍSG~.4ÍZæÞU=y}Àýn>•è5æÚÜŸð|FÄmòè:ðK]E¿†ÞáxŽSèùIú“Ú½$ŒŽ”QEWœü’ oƒ:EÌøXâK—v+œ(žBOå^^]ðÇþMöÛþ½/ôl´ØøkÅþñ„Wè7ÑÝ­± 7î^2„ç:ƒÎ>Õ‡|má]ÜÚèz‚]Íj3(:…ÆrÊçÓ5óŸ†à×|?àû[ÃÐI3xŠô‰Õ3òKæ~íýŽÒ@ôÁ®Ãáý¥Ÿ‚`3ŒŽôì~Zq*Èðÿˆ´OZÏs£\­Ì6ó%o%“k€ `3ÁŽ+ËâþÛ×¾,_øaüYªé–ZŸ€Ã0\0Hó$¹|–$äztæ¸=Äú·‡~ß>—x-æ¾ñ·–ùúµ1),=3Ž¾™ ¨ü´þâþTyiýÅü«Ç,®uO ü\Ñü1‰µ-sMÕlÙçKÛ6HŽ×!Õ‡*>PG¶zðkŠ—Å,mçÂVúÞ¢uÍ+R½¸žèÜ9•­íâ,›9!›p§€>˜òÓû‹ùQå§÷ò¯ðωõë^8ñ ¾£xš]®–"´·YØF’·U·ž¿5qí©x£OøC¤xÙ|_­Iz/ÌK—¡1ïq‡—9^¬Oâ€=¯_øàß ê­¦k:¢Û^*«˜þË+à‡*„~µµ¡ëš7‰tá¨h×p^Z–)¾1чbÈ<Žï^/â;íN×ö’ëIÐ×Xº:RŸ±´Ë*S“–àãÓ©ªÖåð¿Á_kZ<áu†¾x<­¢Ä³*”õàœ™ÀìhèŸ-?¸¿•Zq*ðŸ 7Ä+mWÚª6©6—zñ­óêZÕ¼ñLš$Ü  !FOzæ—‹uýCQºñF¥áÝCÅ…4™™euHà´ÆÑ å× ô9>”ô–ŸÜ_ʲ"ñ‰7‰çðÜw*Ú´‰ä·òXmN9Ý¿Ä8Îy¯#×|_â kBøs`º´úa×ÎÛëëcå»e_”ºNI㹸ªó^øSâçŒ&‹P›WºÓ|;#Å5ÎBUbeqÏR}å§÷ò£ËOî/å_8h—ßo4ké³ê·NÓ'–ïY¶R¦â y,G–z¾¸Çêõ4ÖõÿŽÚ‡àñ.­¦iÃMI¤ŽÒàŒ 'Ü!X’>`3ŒúÐKñuxkK!@?Û6}ûuè5çí—‚t+S<· RÆ34͹äÚØÜǹ8É5èôçÿ ?æuÿ±®ûÿd¯@®á­Ýü%ÿkµžßÏñ5ìÑy±”ó#m˜uÏU88#ƒ]Åçþÿ’½ñþáŸúNÕèËè^¼Ó›ðòÒÃ_]YõBwIe˜#^O˱@…‰îÛçïsÆÓ³ÐoôÍRæKNÓ®®ÔÖÒÚ—;cpI€#<«N “x‘-µXlî´½BÞçû47Ž±ù/& aËŒàà•Þ©Øx—QºñŽ¥£É¢]%µ²BV}Ðü»Ì™fýé%NÁŒ.zä+<ü= ­C¨5å£6²þІÝl5·šøéñÞª'’ÓC(ù·`a¸È8&ªZxÚÃ[7G¤4ñ¯3>”²]+³—!gÜ07Œ© qžd¾“zž"Óô»nßO¶Ö_Ph¤Ódb æ;ÿ¤±×{ª£v[“€h¥Oؾ¤¶ßd½ÍxÖ+~Q|†¸‚Ÿ{Þs·nF3S#ë·zM¶—¨\Ífñ­Ä±,b8è`ÙgŒ@ñÓ¦sãðlÉygTHRmM->ÏûÁ)s&Ó&ìlű·=³ŠÙ°Ò~ŬjÚ‡Ÿ¿ûAã}›1åìŒ'\óœgµWƒZž_Ï£=¬Å ]ÕO›óíʲ¹ã¶ ƒP§Œ,žüB¶—¿d7fÄjÈ3ƒ·gÞß÷†ÝÛvîã4ƒCÖ?á.:×ö­’aû7ÙþÀû¼­û±¿ÎûÝ·mÇû5BÓÀ6ÖÙ¼‚=! 7y™ô¥’é]œ¹ >ḜeIŒð(^ÏÄqêÅÅ…®Ÿ{$VÓ5¼×ƒË$rT‚ûývã=ëj¹‰¼'-ÏŠíõ©®¬—ìóÛØùw¥Jˆä›yÜœôÚ3]=QEQEQEçÿ?ä'àû­ÿô¯@¯?ø™ÿ!?ÿØÅoÿ µzQ@Q@Q@yÿ‹ä¯|:ÿ¸Ÿþ“­zyÿ‹ä¯|:ÿ¸Ÿþ“­M}ñÊñQÒm­nZ!<å›L¹fÜ|Ç›^p‹þñnTU¸~!éó^¥¿öf§4©Ò?/ 9€7œyƒoLò1Í3Møyia¯®¬úŽ¡;¤²Ì¯'åØ BÄÈwms÷9ã à=ª£ûKî´Mþ£û—Ÿjþ÷¹úûP¼Þ$KmV;­/P·†yþÍ ã¬~KÉ‚@rã88%@÷¤>&G×nô›m/P¹šÍã[‰bXÄq‡PÁ²Î <€ ã§L⇡µ¨u¼´g‹R7âf±ébÞSL_î Ø€®9é,4Ÿ±k¶¡çïþÐxßfÌy{# ×<çí@:W‹ÖóY¼Ò¤‹Í¼ŠþX;eæ8/ïd%°N=Ï@pjèñM‹FŽ"¸Ãêm¦•Ö†*O_»•<õöªx%-5yu{;ŃQ“P{¦˜A÷áp¡àq»æPAÏŽ-o]}½5d[ÕµeË—9,…÷ãnI#åÈã“@`ñœ÷­ ±¿Š~ÚwÚäDò¼ðÅvðå°HÀ;q’ ×I\‹áFò{£}vÐéÑëÓß%£Ú•‘Ùe-ÿVHVû¹?ÞÇÞÐEPEPEPEPEPEPEP\ÏÄ_ù&þ$ÿ°tßú®š¹Ÿˆ¿òMüIÿ`é¿ô@|!ÿ"Vƒÿ`ëýµ³XÞÿ‘+Aÿ°u¿þ‹ZÙ 5Õ>ü,½Õ¯nõ²7ÓÎò\nÕ˜ÌKe|Áƒ’xÇQªCð€êקS>ûyþÓæºïówû¹ëœæŠôª(¢€ (¢€ (¢€<ÿÂ_òW¾"ÿÜ3ÿIÚ½¼ÿÂ_òW¾"ÿÜ3ÿIÚ½€ (¢€ (¢€)júM–¹¤Ü隌 5¥Ê‘qê=êb+…ðž³yá f?x–rêGüIu):]D:DÇ´‹ÀÇ~=³èõâo é¾,ÑeÒõ8‹Fß4r/ ŽŽ‡±ýn”±Eyï†üO¨ø{V‡Â3”ÆùtÝTñúŠÇ´£€Aëõ ·¡P^wðjî¾ höó.è¥K”uÉS<€Ž+Ñ+þx{Æ·ßt«#ÇK¦X¿åZ&¼¼LàüìrrA>ÙÅzöƒáý/Ã:Tzfkök8Ù™cóðIÉå‰=}ê¼>Ð`Ôõ]E4ä7:ªywÌîγ.1‚¤•€W1ÿŸÄoú)«ÿ‚(?ÆøDþ#ÑM_üAþ4u>ø5‰SAAåJ&Œý¢l£x;ò{tö­øü3£Ãây¼H–˜Õ¦‡ìò\yÌ|q·;„sŒñ\Ÿü"¿è¦¯þ ÿ?áøÿE5ðEøÐA®xÃ$Ô¡Ôu}"›¸—jÊY”‘èÛH =Ži¶~𵆅w¢[èð6îS4Öò3H¬øpÜItcÆ8¬øDþ#ÑM_üAþ4Â'ñþŠjÿàŠñ  ïøÂÞ¹’çDÑᵞEÚeÞò>=rHÂ¥‡Á>·ñö½šƒR¾¢¸˜Èä:¶26“´ghä3\çü"¿è¦¯þ ÿ?áøÿE5ðEøÐG¢ø/ÃÞÑ®ô+Nö7eŒñù®Å÷.Óó38àÔ|=ð´Þ‡Ã2iyÑá“ÍŽßíðÙ';·nêÇ¿zÃÿ„Oâ7ýÕÿÁãGü"¿è¦¯þ ÿêWš"x˜xl±«|qæ¿ÜÆ1·;zwÆjoørÒÿU½‡KŒK«/•Ú9òrs%z“Ðw>¦¹ÏøDþ#ÑM_üAþ4Â'ñþŠjÿàŠñ  =/áƒ4mR-JÃCŠ+¸Ÿ|ne‘Â7¨Vbà)׿ |¨ßÞ_]hq=Åæ~ÐD²(rz¶ÐÀäÀg<ç5•ÿŸÄoú)«ÿ‚(?ÆøDþ#ÑM_üAþ4¿wà? _xr×Ã÷ZLré–Ÿê!i1ý;‡SÞ›£|?ð·‡õ7Ôt­";k§€Û»‰ƒFH$,A''>µ…ÿŸÄoú)«ÿ‚(?ÆøDþ#ÑM_üAþ4}>x5|ž·Yƒù€ $ØÔ&í£ò­Øü3£Ãây¼H–˜Õ¦‡ìò\yÌ|q·;„sŒñ\Ÿü"¿è¦¯þ ÿ?áøÿE5ðEøо/ȳ¥ÿØjÏÿC¯@¯ø xÊÃIÓ&Öé<ü½±ZV}¤¤zÆ£-Õä2éòy_cbÚÐápû›ø²Ø#Ò´+>ÒÆò cQ»ŸS’âÖçÊû=£FÛm\6rÛ<ô  (¢€ òÿ‰:QÖþ#xN…öžfþÑÿI±—Ê™1 7ÊØ8Î0}‰¯P¯?ñoü•ï‡_÷ÿÒu ÿ«ú¼oÿƒoþÆøUoÿC÷ÿðmÿØÖ„WÞ*>;’'ÒíE—Ù#ûFB|ÖËäà¾?‡Ø|ÕÎ Uη`'Ö¯“[¼6éÂ-°ycÊÎÐ…gv>bzž”§ÿ ­ÿè~ñ¿þ ¿û?áU¿ýÞ7ÿÁ·ÿcYÖ:Ž­7ŠŠ\궶ڒêî†Ö}ZUfµ¶ž^ x!ÁÎNK@·m5äWqj?Ú7ï+xžk2tæ/ »®Ï/;p08ÈìqÅMÿ ­ÿè~ñ¿þ ¿û?áU¿ýÞ7ÿÁ·ÿcYÖ:Ž­7ŠŠ\궶ڒêî†Ö}ZUfµ¶ž^ x!ÁÎNK@é,lßSñ¯ˆ Íþ¡äÙÍmöx"»’8И•‰Ú¬zƒ‘íÉ  ÏøUoÿC÷ÿðmÿØÔiðÒ9.$·Oˆ¾3iâ ÒF5Œ²ÎÒFÜ€pqëƒTçñŸð—Ù½œòÂ﬛9à›V’I eæÓiHÐàlƒ§¾+ZÊÓKÓþ(ê‚êúâ ‹ˆ-d´ŽmJ`'l͸*ÃÇË‚<š‡þ[ÿÐýãüö4«ú¼oÿƒoþƳ¬uZo¹Õmmµ%ÕÝ ¬ú´ªÍj$*m<½„ðCƒœœ–êtæW±´¼‚Îçâw‹aº¸â%×^_÷TŒŸÂ­ÿ«ú¼oÿƒoþƯ[èö¿ðµoçó/w®›m0n›nã4ùwà¯åÆÑØrkÇQÕ¦ñQKVÖÛR]]ÐÚÏ«J¬Ö¢B¡ÓËØA89ÉÉaÈ?ðªßþ‡ïÿàÛÿ±¨æøi¿—çüEñœ^kˆã߬mÞÇ¢Œ¯'ƒÅR±Ôui¼TRçUµ¶Ô—Wt6³êÒ«5¨¨E´òöcÁrrXrS]%Ƴ¥5ö©ru¯øI]%°k†)*Òˆ±p«°FC€ ÝÔæ€5¿áU¿ýÞ7ÿÁ·ÿcQ·Ã4Iãþ"xÍf3$gXÃ0ÉnN23õ,:¶ø‡öy5/í)n/+}N@ö‹åŸ–KO¹°`þó®H5¹hLŸu_?¬:]¨¶û¯$ÞaRˆû«@ò|3I&–ø‰ã6–,yˆºÆY2226ñ‘R«ú¼oÿƒoþÆ·˜þ'D"û³hînqê“/•ŸûîoÖºjóßøUoÿC÷ÿðmÿØ×3â·‡uÿ\Ÿø‹Tó5ëtòµ+ß9©È„×´WŸüLÿŸÿìb·ÿÐZ€=Š( Š( Š( ¼¿âN”u¿ˆÞÓ†¡}§™¿´Òleò¦LBò¶3ŒbkÔ+Ïü[ÿ%{á×ýÄÿôh¿ðªßþ‡ïÿàÛÿ±£þ[ÿÐýãüö5¡÷ŠŽä‰ô»QeöDÈþÑ _5²ày8/áö5sƒUs­Ø õ«äÖßÄ/Í€ºp‹lAò³´!Aݘž§¥iÿ«ú¼oÿƒoþÆ£O†‘Éq%º|Eñ›OV’1¬e6v’6äƒ\¥c¨êÓx¨¥Î«km©.®èmgÕ¥VkQ!P‹iåì Ç‚ää°ä {+M/Oø£ª «ëˆ.. µ’Ò9µ)€³6à¨_.\ðhøUoÿC÷ÿðmÿØÔiðÒ9.$·Oˆ¾3iâ ÒF5Œ²ÎÒFÜ€pqëƒ^\•¦—§üQÕÕõÄZÉiÚ”ÀNÙ›pT/‡—.x4ü*·ÿ¡ûÆÿø6ÿìhÿ…Vÿô?xßÿßýgXê:´Þ*)sªÚÛjK«ºYõiUšÔHT"Úy{1à‡99,9½Ö¡ÜWÚú›?Ú-Ü£ÞÈÈKjf6–Æ<³·n1Ðã#4¿ÿ ­ÿè~ñ¿þ ¿û©ià +û‹›{?‰¾-¹žÕ¶\G¸®Ð¶HÀ2§*Ý}¥Cc«±Ö] Ö/&Öá$–±=Ó°û'šCþè»7ØàŒgµtð^ÚØüMÔỸŠ /´ë%µY\)‘î7ÏÞ#räy“ÿ ­ÿè~ñ¿þ ¿û>G%Ä–éñÆmànôø×Å×B )dò.u=ñI…'k.ÞAî+׫™ø‹ÿ$ßÄŸö›ÿ@4oÁ«·Àþ\“6Üdõ?»ZÛ¬oÈ• ÿØ:ßÿE­lКêž7øOi«^ÛjM¥ýºÞ;ú[»yˆl·–rsžrsE|Õã¿ù(~%ÿ°­×þj(íú(¢€ (¢€ (¢€2¬'Ñ$×õx¬E°Õ£ò´Lq!ÊöÇÍòçœ Õ¬ËSNº×5]>ÙH¾²ò~Ö|’¹Þ¥“æÆLâ´è¢Š(¢Š(¢Š('ÄžÓT5Oñ•>™ª[%ͤë‡Gý=ˆìGJ¿^IðûV»Ñþi÷VV7W3,Œ¯oåŸ$‰e!Ø; €}3ô«º~¯©|3Ô ÑÊ£5ÈGñOá\:tÚ|:¤6s+,Ea2#lê*¼Ÿ¾Íá“¡ÉâÉÌ-n-šo³Mæ²ciÉòú‘Æqß4ßxjú}OºF¡r1=Õ”3H1Œ3 'õ5©^Æ_‡PÄ‘E¯¢FŠUm'Ð’ÿ «áïý +ÿ€“ÿñßQ\ü.¯‡¿ô0¯þOÿÄQÿ «áïý +ÿ€“ÿñßQ\ü.¯‡¿ô0¯þOÿÄQÿ «áïý +ÿ€“ÿñßQ\ü.¯‡¿ô0¯þOÿÄQÿ «áïý +ÿ€“ÿñßQ\ü.¯‡¿ô0¯þOÿÄQÿ «áïý +ÿ€“ÿñßQ\ü.¯‡¿ô0¯þOÿÄQÿ «áïý +ÿ€“ÿñß‹ßò,éö³ÿÐëÐ+ż}ñÂ^(Ó4­;FÕÅÕÙÕ­dòħʓ–P;×´Ð1àÏ]øþµÅÙºÕΔÝ{p[$üÜœãÚºzóÿ…Ÿó:ÿØ×}ÿ²W P\G†5 ËŠ^<³šîy-m³þÏ ÈJEº-´t\žN:×o^á/ù+ßîÿ¤í@EP^âßù+ß¿î'ÿ¤ë^^âßù+ß¿î'ÿ¤ë@Xòøynuxo®µëˆà›Ï‚ÒC†)6•Ü0Žbzp1‹÷ŠŽä‰ô»QeöDÈþÑ _5²ày8/áö5sƒUs­Ø õ«äÖßÄ/Í€ºp‹lAò³´!Aݘž§¥z­å–:Ž­7ŠŠ\궶ڒêî†Ö}ZUfµ¶ž^ x!ÁÎNK@·m5äWqj?Ú7ï+xžk2tæ/ »®Ï/;p08ÈìqÅzEå–:Ž­7ŠŠ\궶ڒêî†Ö}ZUfµ¶ž^ x!ÁÎNK@é,lßSñ¯ˆ Íþ¡äÙÍmöx"»’8И•‰Ú¬zƒ‘íÉ ¾¢K˜$¸’Ý&§ˆ+I`Ygi#¨¸5æSø‚OøKìÞÎyawÖMœðM«I$…2Èsi´¤hp ¶AÆÓß­ei¥éÿuAu}qÅIJZG6¥0¶fÜ áÀãåÁ žÍw•@i÷@‚u‹ãìRòyÝŽ£«M⢗:­­¶¤º»¡µŸV•Y­D…B-§—°ƒps“’Ã=N€ +Ë,uv:ˤÅäÚÏü$’Áö'ºvdóHÝ·b¦ã»Œö¥ŸÄÂ_fösË ¾²lç‚mZI$)–C›M¥#C€U²6žø R¢¼¨j®u»>µ|šÛø…๰NmƒÈ#Vv„(#;±óÔô§Xê:´Þ*)sªÚÛjK«ºYõiUšÔHT"Úy{1à‡99,9Ôê”°XlÛ\ÈȺ€†Hâýæã%K¹ù€!O¶{f¸¸u!mñìòj_ÚRÜ^:$VúœíË?,–Ÿs`Áýç\krЙ>$ê¾Xt»Ql÷^I¼Â>¥÷V€6-íìV½¹…‘¯cŽãneP E#?(ù˜ÆrM]®e‰âtB/»6Žæç©2ùYÿ¾æýk¦ ¼ÿâgü„üÿc¿þ‚Õèçÿ?ä'àû­ÿô @¢Š(¢Š(¢Š(¯?ñoü•ï‡_÷ÿÒu¯@¯?ñoü•ï‡_÷ÿÒu @¬y|<·:¼7×ZõÄpMçÁi!ŒC›Jî@ÇŽ1=8ÅŠûÅGÇrDú]¨²û"dhÈP/šÙp<œÇðûš¹Áª¹ÖìúÕòkoâ‚æÀ]8E¶ ŒyYÚ ŒîÇÌOSÒ€=V¢K˜$¸’Ý&§ˆ+I`Ygi#¨¸5æ6:Ž­7ŠŠ\궶ڒêî†Ö}ZUfµ¶ž^ x!ÁÎNK@ײ´ÒôÿŠ: º¾¸‚ââ Y-#›R˜ Û3n …ðàqòà…Ïf€:ѧÝ Ö/±HyÿÈu%Æ«§Z^Agsk ÕÇÁ,ʯ/ûªNOáVë‹·ÑíájßÏæ^ï]6Ú`>Ý6ÝÆiò6ïÁ^Ë£°äÐ_ö˜>Õö_:?´ló<­Ã~Üãv:ãÉæÿº'nÅMÇv8#í@§Q%Ì\In“FÓĤŒ0,³´‘Ôƒ\ó)üA'ü%öog<°»ë&Îx&Õ¤’B™d9´ÚR48[ ãiïŠÖ²´ÒôÿŠ: º¾¸‚ââ Y-#›R˜ Û3n …ðàqòà…Ïf€:èáÓï5Ôahå¹·[y‘I¹a½GGnjX¬-¡Ô./Ò?ô›„D’BÄ’©ª=Üǹ5ç6ËcxºŒ·‹$¾*žÙâ·’Ñ3¸*cÎÒsÎâ7g¾8¯Eþѳ:©Ó<õûh€\{ù{¶îúdb€-Q^Yc¨êÓx¨¥Î«km©.®èmgÕ¥VkQ!P‹iåì Ç‚ää°ä u;ƒãqÔ/O†ë,S—;Z÷0ÎL îÀé¿)Ð ‡U-5]:þâæÞÎþÖæ{VÙq3+´-’0à©Ê·_Cé\Ž›{i7Š¯ÓZÖ.mõdÔ vv&ñâVƒaXA a’X†ç<Œqv Û[‰ºœ7wA%öd¶«+…3²=Æà™ûÄn\Ï"€:ÊŠk˜-ü¿>hâó\Gö ½Eêxø¢š6–-:_1dÊ2;dW-c¨êÓx¨¥Î«km©.®èmgÕ¥VkQ!P‹iåì Ç‚ää°ä þ#“Úø‹îÍák£sTqågþû›õ ÏÂò%h?ö·ÿÑk[5áù´û[ÿèµ­šøƒÇòPüKÿa[¯ýÔWÒº§Ãß…—ºµíÞ –FúyÞKÚ£¡ó‰l¯˜0rOâŠôª(¢€ (¢€ (¢€24ïÙê~#Öt8cœ]iGÚÔo5 ®Óœž9ñ­zóÿ É^ø‹ÿpÏý'jô (¢Š(¢Š(¢Š(¢Š­¨iöš­„ö7öñÜZÎ…$ŠA¼ÚÎâïáV¥™«H÷^¹}–Wò|Ï`ǤRŸîz7oåêUZþÂÓT°žÆú¸µ KŒ†€&U‰Ô2„e# €"—ËOî/å^g£ÞÝü3×-ü5¬\<þ½}šF¡)ɶnÖòŸOîŸé¾@ òÓû‹ùQå§÷ò§Q@ òÓû‹ùQå§÷ò§Q@ òÓû‹ùQå§÷ò§Q@ òÓû‹ùW„ëßîô_R"<Ú¬BÊî4\Œ&Iþò4œû^îÛ¶6À cŒôÍx¦•á94?xGKÕ ½ÝõÔz­Ö¦É–ŽS(Çp `r(٭䶻¶ŠæÝ£–P©©ZØ}»Ï]:ÔÌë¾$Eàp2Or:ôŠ(ÏÿájÇÿBOðPøªÇ—Æ\êðß]xkâÄpMçÁi&’‚¤ÚWpÆà1Àf g§±Eyÿü-XÿèIñ¯þ ÿGü-XÿèIñ¯þ ÿ^Eyÿü-XÿèIñ¯þ ÿGü-XÿèIñ¯þ ÿ^Eyÿü-XÿèIñ¯þ ÿGü-XÿèIñ¯þ ÿ^Eyÿü-XÿèIñ¯þ ÿTÄYAè?ϱÑaçÿ¯O¢€<ÇKøi¤Åq ñË ‹™n›ÌÒs†‘‹0ÃŒž*÷ü-XÿèIñ¯þ ÿ^Ey<¾4‚çW†úëÃ_î#‚o> I4”Å&Ò»†0ÇŽ1=8Øÿ…«ý >5ÿÁAÿâ«Ð( ?ÿ…«ý >5ÿÁAÿ⪳üF²}F-@øÆ¿jŠ&‰\iD|ŒA ø<¨<ôíÔפÑ@mÄk(u ‹ôð/~Ópˆ’Ht¢ITÎÕ?ncÜš³ÿ V?ú|kÿ‚ƒÿÅW Q@ÿ V?ú|kÿ‚ƒÿÅV¿â[kÞ‚Ïž&´šÔ73M}¦´qª ‚Kq×½zýQEQEQEWŸø·þJ÷ïû‰ÿé:× WŸø·þJ÷ïû‰ÿé:Ðq-ýœùÝÁß'îÞ@ç%Wr¤Ï—ÃËs«Ã}u¨ß\GÞ|’Ä1I´®á„ pà33Ó3¶¾»ñ>|Amz['ìËŠÜçû“O ï70%}’€ +ÍŽ¿$wpé²jrCþ†­ÌÇÌå™”œùeJãøz «c«±Ö] Ö/&Öá$–±=Ó°û'šCþè»7ØàŒgµwòÛ½³Eçë÷QùŽ#A'»ØôQû¾IÁàsZ•äó]%Ƴ¥5ö©ru¯øI]%°k†)*Òˆ±p«°FC€ ÝÔ榟ÄÂ_fösË ¾²lç‚mZI$)–C›M¥#C€U²6žø MK˜$¸’Ý&§ˆ+I`Ygi#¨¸5-pvVš^ŸñGTW×\\Ak%¤sjS;fmÁP¾>\¹à ÖEŽ£«M⢗:­­¶¤º»¡µŸV•Y­D…B-§—°ƒps“’Ã=NŠ+†Óom&ñUúkZÅ;¬šŽÎÄÞNv„ò‚¸“-ßœTÖÓ^Ew£ý£~ò·‰æ³(÷Nbò ºìò󷃌ŽÇP¡¥Ì\In“FÓĤŒ0,³´‘Ôƒ\–¸;+M/Oø£ª «ëˆ.. µ’Ò9µ)€³6à¨_.\ðk"ÇQÕ¦ñQKVÖÛR]]ÐÚÏ«J¬Ö¢B¡ÓËØA89ÉÉaȧT`·ÓF·ws”u&†$¸"LºÆ gå.G<õÅqPêwÆâ3¨^Ÿ ÖX§.vµî0`/œ˜AÝÓ~S  g²´ÒôÿŠ: º¾¸‚ââ Y-#›R˜ Û3n …ðàqòà…Ïf€;†¸…'Žš5š@Ì‘–˜ dÔã#?QB\C$Ò“FÒÅ1dÈÈÈí‘\õ¡2|IÕ|þ°év¢Øy„}J ?î­#Äè„_vmÍÎ=Reò³ÿ}ÍúÐMEPEP\‡Ä h|âËôý&ãK‘$±$ª#mQèæ8É®¾¹Ÿˆ¿òMüIÿ`é¿ô@|!ÿ"Vƒÿ`ëýµ³XÞÿ‘+Aÿ°u¿þ‹ZÙ 5Õ!ø@ukÓ©Ÿ}¼Îÿió]wù»ŽýÜõÎsE§þÚj׶ړin†wŽç~–îÞ`b-圜眜Ñ@•EPEPEPŸøKþJ÷Ä_û†é;W VU„ú$šþ¯ˆ¶´~Oö‰Ž0$9BbÞØù¾\ã“Z´QEQEQEQEQE¯hv$ÑntN-­ÂmaÝOf±k‘ð6µ¦j“øÄSu;üË+·ÿ—ë^Šßï/Côï‚k¿®7â'†îµ}&WGù¶Eá}c¡k(Øþdf€2¯¾.x*Ïä‡W÷„·±‰¦y ÀÆ~¤TÓ5mcÅ7ž6׬žÂImÅža!ùàƒ;‹?£1çG"»K=2ÃNR¶V6ÖÀõD©ü…Z Š( Š( Š( Š( Š(  ý*ãS¸ûoö•„vž]Ü‘Ûl˜Iç@1²CºO?/lV…s ñ%߈ÿá!û\PGý›­\éÑy@ÑÇ·²OÍÉÎ0=«§ ³í,o Ö5¹õ9.-n|¯³Ú4`-¶ÕÃa‡-¸óÏJЮ#Ã…åÇÅ/YÍw<–¶¿Ùÿg…ä%"ÝÚ:.O'h·¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¯7ø‡qu¥øóÁ:äz>©©ZØ}»Ï]:ÔÌë¾$Eàp2Or:ôŠ(ÏÿájÇÿBOðPøª >"Ê'Aø†}Ž‹?øíz}çÿðµcÿ¡'Æ¿ø(?üUQÒþ Zi1\G‚ürÂâæ[¦ó4œá¤bÄ 0ã'Šôê(ÏÿájÇÿBOðPøª?ájÇÿBOðPøªô (ÏÿájÇÿBOðPøª?ájÇÿBOðPøªô (ÌÄYAè?ϱÑaçÿ«ÿðµcÿ¡'Æ¿ø(?üUzçÿðµcÿ¡'Æ¿ø(?üUWºøÇacä}¯Â^/ƒÏ•`‹ÍÓy’7D\¿,pp&½"¼ÿâŸüÉ_ö5ØÿìôÂÕþ„Ÿÿà ÿñTÂÕþ„Ÿÿà ÿñUèPŸÿÂÕþ„Ÿÿà ÿñTÂÕþ„Ÿÿà ÿñUèP›?Äk'ÔbÔ|kö¨¢h•Æ”GÈÄ߃ʃÏNÝM|F²‡P¸¿Oø×í7‰$‡J$•LíQóðæ8ɯI¢€<ÿþ¬ô$ø×ÿÿŠ£þ¬ô$ø×ÿÿŠ¯@¢€<ÿþ¬ô$ø×ÿÿŠ£þ¬ô$ø×ÿÿŠ¯@¢€<ÿþ¬ô$ø×ÿÿŠ¬|@}sÂ:¾•kà¿­Åå¤ÆÒi$(fRHbqøW¬Q@†KhÍÇ,v#£© ¬#PA¡¯EñŽÿä¡ø—þ·_ú5¨£ÇòPüKÿa[¯ýÔPÛôQEQEQEfXêšuÖ¹ªéöÊEõ—“ö³ä•Îõ,Ÿ60Üzg§Ywˆìõ?ë:1Î.´#í ê7š…×iÎOœøÖ½QEQ^wâÛïÝüEÓ<; øtˆ§Ó云͔we|tnz{ТQ^ÿ¯Ä_ú)QÿàŠñ£þ_ˆ¿ôR£ÿÁã@Eyÿü"¿è¥Gÿ‚(?ÆøE~"ÿÑJÿPzçÿðŠüEÿ¢•þ ÿ?áø‹ÿE*?üAþ4èWŸÿÂ+ñþŠTø"ƒühÿ„Wâ/ý¨ÿðEøÐ^_øDþ)ë&­Gý«b½’Qò̃ë÷±Ø ôZòû߇4Ô5];TºøƒÞéÅͬ£E‰L{ÆÖèÀGcšÐÿ„Wâ/ý¨ÿðEøÐ^:šãÅ>$±ð ŒÏÇöÍbhÎ [=‹ž>˜ê ®úÎÎÛO²†Î΂ÚÇ QÀ¼ÖÏáÇŒì5CV¶øƒ_j>Ó1Ñbbû`±Øb´áø‹ÿE*?üAþ4èWŸÿÂ+ñþŠTø"ƒühÿ„Wâ/ý¨ÿðEøРQ^ÿ¯Ä_ú)QÿàŠñ£þ_ˆ¿ôR£ÿÁã@Eyÿü"¿è¥Gÿ‚(?ÆøE~"ÿÑJÿPzçÿðŠüEÿ¢•þ ÿ¹ðÇYÕµ¯ ]Ë­^‹Ë»}B{_8D±îT •@€;J(¢€ (¢€ (¢€<ÿágüοö5ßì•èÃü5±»±ÿ„¿ív³Ûùþ&½š/62ždm³¹ê§pk¸ ¸}WᶥâMC\·ñ'ˆt»CËóÓN»XQ¼´¼mÉàw'©®âŠãôO>‹¬A¨x¢üE»ýúÿÌ…ò¥~eÚ3Œä{]šY“^‡Tû}êˆàh~ƲâÉÎöLrà9éZP|zY^›Tû}ë X~ÆÒæÁÎõLpÇ¡9é\þ·à'Öµ‰õâïX vÿ£Xßùp¦/Ê»N3ŒŸrk°¢€<ÿþtŸô?x×ÿƒÿ‰­ ÀO¢ëjÅÞ(¿nÿF¾¿ó!|©_™vŒã9àWaEgÉ¥™5èuO·Þ¨Ž‡ìk. |œïdÇ,:ž”G¥˜õéµO·Þ°’‡ìm.`LïTÇ zž•¡Eqú߀ŸZÖ'Ô‹¼Q`%Ûþcå˜P¿*í8Î2}ɬÿøUÒÐýã_üþ&½ŠãôO>‹¬A¨x¢üE»ýúÿÌ…ò¥~eÚ3Œä{]šY“^‡Tû}êˆàh~ƲâÉÎöLrà9éZP|zY^›Tû}ë X~ÆÒæÁÎõLpÇ¡9é\þ·à'Öµ‰õâïX vÿ£Xßùp¦/Ê»N3ŒŸrk°¢€<ÿþtŸô?x×ÿƒÿ‰­ ÀO¢ëjÅÞ(¿nÿF¾¿ó!|©_™vŒã9àWaEgÉ¥™5èuO·Þ¨Ž‡ìk. |œïdÇ,:ž”G¥˜õéµO·Þ°’‡ìm.`LïTÇ zž•¡Eqú߀ŸZÖ'Ô‹¼Q`%Ûþcå˜P¿*í8Î2}ɬÿøUÒÐýã_üþ&½ŠãôO>‹¬A¨x¢üE»ýúÿÌ…ò¥~eÚ3Œä{]šY“^‡Tû}êˆàh~ƲâÉÎöLrà9éZP|zY^›Tû}ë X~ÆÒæÁÎõLpÇ¡9é\þ·à'Öµ‰õâïX vÿ£Xßùp¦/Ê»N3ŒŸrk°¢€<ÿþtŸô?x×ÿƒÿ‰­ ÀO¢ëjÅÞ(¿nÿF¾¿ó!|©_™vŒã9àWaEgÉ¥™5èuO·Þ¨Ž‡ìk. |œïdÇ,:ž”G¥˜õéµO·Þ°’‡ìm.`LïTÇ zž•¡Eqú߀ŸZÖ'Ô‹¼Q`%Ûþcå˜P¿*í8Î2}ɬÿøUÒÐýã_üþ&½ŠãôO>‹¬A¨x¢üE»ýúÿÌ…ò¥~eÚ3Œä{]šY“^‡Tû}êˆàh~ƲâÉÎöLrà9éZP|zY^›Tû}ë X~ÆÒæÁÎõLpÇ¡9é\þ·à'Öµ‰õâïX vÿ£Xßùp¦/Ê»N3ŒŸrk°¢€<ÿþtŸô?x×ÿƒÿ‰­ ÀO¢ëjÅÞ(¿nÿF¾¿ó!|©_™vŒã9àWaEgÉ¥™5èuO·Þ¨Ž‡ìk. |œïdÇ,:ž”G¥˜õéµO·Þ°’‡ìm.`LïTÇ zž•¡Eqú߀ŸZÖ'Ô‹¼Q`%Ûþcå˜P¿*í8Î2}ɬÿøUÒÐýã_üþ&½ŠãôO>‹¬A¨x¢üE»ýúÿÌ…ò¥~eÚ3Œä{]šY“^‡Tû}êˆàh~ƲâÉÎöLrà9éZP|zY^›Tû}ë X~ÆÒæÁÎõLpÇ¡9é^_ñkÂí6±áíCûZŒj ²¶Éuˆm²¥|È—,ƒnAç–>µìKQÒ,5²}¾ÙgûÊ]Á¸ŸÝÊ™ÚÃÆMqŸð«¤ÿ¡ûÆ¿ø4üMhhž}XƒP>.ñEø‹wú5õÿ™ åJüË´gÈ÷» (>M,ɯCª}¾õDp4?cYqäç{&9aÐô¢=,ǯMª}¾õ„,?cis`çz¦8cÐœô­ (ÖüúÖ±> <]â‹.ßôkÿ.Â…ùWiÆq“îMgÿ®“þ‡ïÿàÐñ5èP¢x ô]b @ø»Åâ-ßè××þd/•+ó.Ñœg#Ü è$ÒÌšô:§ÛïTGCö5—>Nw²c–ÏJТ€3ãÒÌzôÚ§ÛïXIÃö6—0&wªc†= ÏJçõ¿>µ¬O¨x¢ÀK·ýÆÿË…0¡~UÚqœdû“]…çÿð«¤ÿ¡ûÆ¿ø4üMhhž}XƒP>.ñEø‹wú5õÿ™ åJüË´gÈ÷» (>M,ɯCª}¾õDp4?cYqäç{&9aÐô¢=,ǯMª}¾õ„,?cis`çz¦8cÐœô­ (Ëu߀Þ×µÛÝZ[½RÞ[ÉZi#‚Tعb7!<œž½øÀâŠõ*(¢Š(¢Š(¢Š(Ïü%ÿ%{â/ýÃ?ô«Ð+Ïü%ÿ%{â/ýÃ?ô«Ð(¢Š(¯?Ôä»è¿öŸÿF ô óýGþK¾‹ÿ`Iÿô` @¢™,‚(^Fª)cÏÄXx«]‘¼3yvºq°×ËåCù¶éöw™Wqrü£'Fr;ª+ðÿŒµ­nM2aiþ©£2…Òî”Yƒtg™±«ÀS·o,0Hæµ~Kª\ø3N¹Õ/£»y`VF2¸ëìÎÛÏ¿ÔÑ\Ýæ­ªÿÂ_.—jÖqYAaä²K I##©UÔrƒØö9ãÃ~4Õµ›*â[&6:’—(šmÌcR…Ñšw\€à)*–È òŠá´Ï\Ë®ÙÛM4¶W±K$S[i×*ì]Ãl’“¹åqÛŒ«½¯^^ø7S»šÚ-?Syn>Ïj]PÚK"#’ÄKØç (àõ‡Ep~ñž­­\éSÉbÍe©©m‘é—1ý‘JFiÜyr€§h^Xc"›{â=zOë·â[+xá½—MµBÆ@|ñ JX¾7d¼ã9(¾¢¼û[¶ÖŸÅëgg¬y6–:OÚbŽO=‹0m¹r“'˜xêÙô'š‚ÇÄ÷:m™Õ®^{ˆ­ü%m~ÖþkÒ|䟘žN,r}s@‘Ep)ã r =J[‹E›ÈÒ罎oì««X¢–0‰Ì¿|ä*~SÀâ¯Åâ=NÎé"ÕæÓR9ô™u•#tKsŒ2¹,w/ïAÜ6ýÓÇ4×Ñ\^6Ô¢[Ša ĶšLš´ßÙ·jÅAùY%$°Îß™[œž•j cÅ“êÖÚfý%¼°7ÑËöyY` UZ2¾`.IuýŠíh¯8‹â§©­¤v6éo1Ó¡¼œ:æõYä.käýÁ˜ÛælõSƒ[qê÷o­ø^îH®-WWµ’+‹‰L‚1(%OF]®¤àg#=u•çÿ¿ä\Õ¿ì7yÿ¡× WŽxCÅéá/j×/£êºüNo,­ËªüÿÄÝP±Ñ^=¢|Añ7Ä) Z-ÿ‡¼?žo´Þ}D|ÌSÝWÁþ,ŽçUOxŸQ·]Éq¹{@YH;H s@½Eyÿü-XÿèIñ¯þ ÿWtŸˆ‘êÚ­½€ð§Š­ Í·Ï»Ó|¸“Œå›w€;:(¢€3ô«û«ÿ¶ý«MšÇì÷rAšÀùñ®1*㢶xž+B¸K¿ˆWú>§}c©ø7ħao6—iö˜¥‡ø¶Fó•çsQÂÕþ„Ÿÿà ÿñTèW¤üDVÕmì…5ÿÁAÿâªî“ñ=[U·°ñU¡™¶ù÷zo—qœ³nàPgEPErZÿ@Õ^Á¼3â[òª­çéú›ÈÎnŽõ™ÿ V?ú|kÿ‚ƒÿÅP Q\f“ñ=[U·°ñU¡™¶ù÷zo—qœ³nàWg@W%¯øñ4 UìÃ>%¿*ªÞ~Ÿ§ù±Œà6áÈï@mçÿðµcÿ¡'Æ¿ø(?üU]Ò~"G«j¶öž*´36ß>ïMòâN3–mÜ ì袊(®K_ñâh«Ø7†|K~UU¼ý?Oób9ÀmÑ޳?ájÇÿBOðPøªô +ŒÒ~"G«j¶öž*´36ß>ïMòâN3–mÜ ì袊äµÿ&ª½ƒxgÄ·åU[ÏÓôÿ6#‘œÜ9è­¢¼ÿþ¬ô$ø×ÿÿŠ«ºOÄHõmVÞÀxSÅV†fÛçÝé¾\IÆrÍ»@Q@ÉkþÙH¾²ò~Ö|’¹Þ¥“æÆLâ´è¢Š(¯?Ôä»è¿öŸÿF ô óýGþK¾‹ÿ`Iÿô` @®#MðdÐxšÂý¬ìì­tçšHR Ù§Ü]Y0¨êÃU3“Jíè  ‹ iZeÚÜYÅq BÅ![¹|”'9Ûm‹ÔôQÖ JŸ@O+ú|C!-$wzœÈ‘sÀvHrx]£§¶õ›adívúõ•½¾¥$BÝͽË̦5bÊ2ʽÙÝïÔÔ6^Òtë¡=¤3ıXܦݜ턷–½OEï[P%—„t]:êÒæÚÚQ%’²ZﺕÖa´ª+1 ¸ãcè(¶ðŽ‰g}iy£¬¶nïl ÄŒR¬ mPC€éÇtPE†4­2ín,⸄¡b­Ü¾Jœíˆ¶Åêz(ëI{á» ­ QÒ£V‚+æ’WubJÊìX¸Éê槱EPM*œ^]"É|Ö¢ÖYT²†L䀹àg'×Þ£·ðî“j¡b³]‚É4ý®Ìêm×;P‚H#“ÉäçšÓ¢€1 ðž‘omsl±Ý=½Å»[Ñ<›X£¶žßì±y1=µÜи9Ø]3.yÁ$TÿØiýµazd>E…³ÃoÉ*Í´,NIÚ «uÏÔP^ð‹þEÍ[þÃwŸúzyÿÂ/ù5oû ÞètÐë¾ ð׉CkèÖ—;fÙÑ× úÖf…à9¼7¬C>›â}\ék»ÌÓ.äÆA¬Ü Ž¸®ÊŠ(¢Š(¢Šæ<âK¿ÿÂCö¸ û7Z¹Ó¢ò£n dŸ›“œ`{WO^ð³þg_ûï¿öJô (¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÈÓ¼Gg©øYÐáŽqu¤yhgP¼Ô.»NrxäƵëÏü%ÿ%{â/ýÃ?ô«Ð(¢Š(®kľð׋®áºÖôö¹šü¸Ø\I9ÇÊýt´PŸÿ”ðý$ÿÀéÿøº?áJxþ€’àtÿü]zçÿð¥<ÿ@I?ð:þ.øRžÿ $Ÿø?ÿ^Eyÿü)OÐOüŸÿ‹£þ§€?è 'þOÿÅ× Q@ÿ SÀô“ÿ§ÿâèÿ…)àúIÿÓÿñuèPŸÿ”ðý$ÿÀéÿøº?áJxþ€’àtÿü]zçÿð¥<ÿ@I?ð:þ.øRžÿ $Ÿø?ÿ^Eyÿü)OÐOüŸÿ‹£þ§€?è 'þOÿÅ× Q@ÿ SÀô“ÿ§ÿâèÿ…)àúIÿÓÿñuèPŸÿ”ðý$ÿÀéÿøº?áJxþ€’àtÿü]zçÿð¥<ÿ@I?ð:þ.º¿xoJð®—ý›£[{O0É°ÈÏó§,IíZ´PEPEPEPðÖÆîÇþÿµÚÏoçøšöh¼ØÊy‘¶Ì:窜Á®â³ô«û«ÿ¶ý«MšÇì÷rAšÀùñ®1*㢶xž+B€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€>YøâÍ{Âÿ¼Ký‰©Meö²ùÞ^>}¶é·9·νŠË^Õ$ø ÚãÞHu1¤K?Úxݼ+a½3ÅPâ{T²ø5»kÉ#Ô¿³­eû@ÆíìcÜ}9Éüèø»¯jšÃoí.òK[Ï:óSÁëÖŠ(çø[>;ÿ¡–ïò_ð£þÏŽÿèe»ü—ü(¢€>ˆ²×µI>6¸÷’LiÏöž7o ØoLñGŠuíRËàXÖí¯$Rþε—í·±qôç'ó¢Š>.ëÚ¦ƒðÛûGK¼’ÖóÎ…|ÔÆpzõ¯ÿáløïþ†[¿ÉŠ(ÿ…³ã¿únÿ%ÿ ú"Ë^Õ$ø ÚãÞHu1¤K?Úxݼ+a½3ÅPâ{T²ø5»kÉ#Ô¿³­eû@ÆíìcÜ}9Éüèø»¯jšÃoí.òK[Ï:óSÁëÖŠ(çø[>;ÿ¡–ïò_ð£þÏŽÿèe»ü—ü(¢€>ˆ²×µI>6¸÷’LiÏöž7o ØoLñGŠuíRËàXÖí¯$Rþε—í·±qôç'ó¢Š>.ëÚ¦ƒðÛûGK¼’ÖóÎ…|ÔÆpzõ¯ÿáløïþ†[¿ÉŠ(ÿ…³ã¿únÿ%ÿ ú"Ë^Õ$ø ÚãÞHu1¤K?Úxݼ+a½3ÅPâ{T²ø5»kÉ#Ô¿³­eû@ÆíìcÜ}9Éüèø»¯jšÃoí.òK[Ï:óSÁëÖŠ(çø[>;ÿ¡–ïò_ð£þÏŽÿèe»ü—ü(¢€>ˆ²×µI>6¸÷’LiÏöž7o ØoLñGŠuíRËàXÖí¯$Rþε—í·±qôç'ó¢Š>.ëÚ¦ƒðÛûGK¼’ÖóÎ…|ÔÆpzõ¯ÿáløïþ†[¿ÉŠ(ÿ…³ã¿únÿ%ÿ ú"Ë^Õ$ø ÚãÞHu1¤K?Úxݼ+a½3ÅP_á‹™¯|'£]\Èdž{$‘ÏVfI?™­Z( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ÿÙPK=xBkuFòpp&pelican-3.1.1/_static/down-pressed.png‰PNG  IHDRóÿasRGB®ÎébKGDùC» pHYs × ×B(›xtIMEÚ -vF#ðIDAT8ËÍÒ!OAàïÚJ, ++@ I v¢bÿ@Wñ7F’ HNâ±ú# ‚4¡8Ì6¹4×6Tñ’MvvÞ¼7³»êœûöDs¿‡aóxâ1†U îq‚;<¦ˆÏ E¸Â-f)âºj%ßpˆo4xFà78G…>æ)â-ƒ ž ¡ÂEYm4%7YTk-¾–Q¶a–"NWAo-y†eqÒá¾,)â ÓÒYÓÑú´ptŽÐå½\hóq´Îím˜sÔz¦ìG]ÄNñ‡Òa…‡röç߶¨s^lã vh\î2Ù%ðâßãŽ0EeRvØIEND®B`‚PK=xB4µîîpelican-3.1.1/_static/jquery.js/*! * jQuery JavaScript Library v1.4.2 * http://jquery.com/ * * Copyright 2010, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ * Copyright 2010, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date: Sat Feb 13 22:33:48 2010 -0500 */ (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); (function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= {},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); PK=xBšhßÛkkpelican-3.1.1/_static/down.png‰PNG  IHDRóÿasRGB®ÎébKGDùC» pHYs × ×B(›xtIMEÚ"ÅíU{ëIDAT8ËÍÒ¡NCAÐóÚJ, ++@ ™4>‡¨â/ÐUü’¤^,†~T&Ô3M^^^ÛPÅM6ÙÙ¹sïÌî*¥ôí‰RJ¿‡a)e¼GñÃ*ƒœàñ¹¡èW¸Å<"®«Fò ‡øFgÜã78G…>q ƒ†ÁOI¨p‘«‰:s“õAÕjñ5GÙ†yDœ®ƒ^+y†U:ép_%G§@D|ašÕ­O“£s„Æ(ïy¡M,"â¨Íím˜sÔx:÷£.b§@D|`–V˜åÙŸÛ²”²ÜÆìиÜe²KàÅ¿Ç/êG!‚ ™IEND®B`‚PKŒ˜>B›M¶¸©©%pelican-3.1.1/_static/theme-basic.zipPK Wfö>basic/UT V)N ²*Nux èèPK Jgö>basic/templates/UT ÌW)N ²*Nux èèPKgö>‹bV®‹«basic/templates/base.htmlUT `W)N ²*Nux èè%ŽKƒ0 D÷9…k ©Ý ”ÔU?à3U ìJEwo/í™÷3ÂOÑ7B|6Œ¶*¹Óà™²Å˜˜Q出#‡²Y71’|GLÇ-‹¡}ξí;šà =Äʤóˆ‚59l-Âä&| N„çíu}?î‰`Õ!`=Û­™oA{YÅé±Ý´PK ×aö> basic/static/UT –M)N‘§*Nux èèPK .i÷>basic/static/css/UT è«*N•¾*Nux èèPK¥e÷>dà?|:übasic/static/css/style.cssUT 5¦*N<¦*Nux èè’ÛnÂ0 †ïûž—•(cÓTž&mBc‘ÄUârâÝçž`ÛÅ:ßTùýý±ë¸"}…[p ÀùAyt×<J­ªÍ~Î$ü4%›Íº—*U›H]ÐyMŽb g‹<ÐÓyUE<£f[ÂÇèóòIÙm6íeÖ¬ÁÆr ÛYl•Ö©hü©Ø`(ám-=Œ-PÔF ±Å‰jh¢º>SyT»$žñJ©uJ~®rT÷Ù=ËTé0Aâ6÷]¹ÎìÍ…smjŠŠ‘¤n  òw±Y:™ø› ÈD©!¹ÞvÂ$SÒ¿m…ti PO k"2¼ o)² ,ŒÝ.#¯ËÈny[FÞ‘låMèÀá°yßžÃ0¬þmV-%Î&ž qòŠ˜É?ã¡3µ“(æ6š.Ù,ãûìðÝMÔPK Wfö>íAbasic/UTV)Nux èèPK Jgö>íA@basic/templates/UTÌW)Nux èèPKgö>‹bV®‹«¤Šbasic/templates/base.htmlUT`W)Nux èèPK ×aö> íAhbasic/static/UT–M)Nux èèPK .i÷>íA¯basic/static/css/UTè«*Nux èèPK¥e÷>dà?|:ü¤úbasic/static/css/style.cssUT5¦*Nux èèPK ˆPK=xB' 5wú ú 'pelican-3.1.1/_static/comment-close.png‰PNG  IHDRóÿa OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6Ž¶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yn…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ!â›ÈÝ,IDAT8Ëe’_HuÇ?Ïï}ßsŽž3ÍyòË•¶¦‹U2MvQÉÖŠFÔE¬.ŠÑÍÃÅ‚­ÄŠbÑE$DD­‹ËZF5b@QÌ"š:2§›š¦¾ïû{Ÿn.êsõåçû<_ø yî?ô½m÷²ýè·wV™ê@t£R`}Z íÄÐ_£# _=œá_@ÝËý ßw^óRë®·•%6gC-έ(K>ä| $„Éï{¯}B¤Œ!a))!pelican-3.1.1/_static/pelican.png‰PNG  IHDRçTöÈ·¬sRGB®Îé pHYs  šœtIMEÚ ',~m¶»tEXtCommentCreated with GIMPW–IDATxÚí]wT×÷ŸYwaiKq]$  ‚a£‚ŠRì 5jb×xŒ]<±Klc,±ÄhLTŒ-Š{‹KD±€Š€Š‘"°°´Ýùýñ~™³ßyeg—5Îç̾yóæ½Ï»ïÞûî»C3 C ð^A$tµ¬ @`­µ¬ Àä¬ÜdÞˆy’•¦iŠ¢JJJ6nÜxêÔ)­VË0Œ£££¹¹¹£££•••R©”J¥VVVVVV–––VVVR©®äÝZ­¶°°xg›'Z¯øÃYRRyæÌ™‚‚½•š™™ÉårkkkssóÞ½{wîÜÙÕÕõÝymF3iÒ¤K—.YZZ¶jÕjþüù]ºtˆûހч—/_.X°@o=7nü믿²²²Ž;Ö¯_¿æ͛밳³›4iÒùóçóòò@Í@Z¿TWW·k×N·y'Nd¼'ÐÃÚœœ½”ŒŒ„ï}ýúõÅ‹9ä (ÊÁÁ!00ðï¿ÿ~‹Ä­­­ æ4ìÌ™3!Þ è±ÆJKK‹‹‹õ²vôèÑ°¦Ñ´iÓÛ·o_¸p¡U«Vìõâââ+W®øûûûùù=yòÜØÈvMÓvvvœ‹Ïž=ÖÞÿ‚A,Öo®ÙÙÙ) X#d¯tëÖ-333))‰S --ÍÛÛ;""B£Ñ4²BIÓ´••çbEE…@ˆÿk½¼¼bcc•J¥›››£££®OÀ ˜X,îß¿?Ã0;väXE)))®®®)qiš633ã\¬®®ñ_`­D"Y¸pazzzzzú½{÷ÆŽ —©­­Õ;Þ¬(½téÒøñã9¿æççwèÐáÖ­[&q‘²öÍ›7!þ ¬e!“Éœœœ¬­­‘‚V«Õò¬ÇÌÌlëÖ­]»v…圿¿ÿ­[·Mâ:99q®ðqê xŸXK@]]ÿµ•¦i±XߤIø×.]º¼|ù²q$.l•–– „øPXk¬å]\\vìØT6‚‚‚***Aܲ»b,Ôjµ@ˆ…µµµµUUUé” Ã 8°Y³f𯹹¹Û·ooqkkk+ÈÚ—µFh¢4MÛÚÚúûû#]´hQ#¼¹³³³ ×~Ь5HÖ²P*•Èë*•jÿþý¯× >„‹µµµµFÜÕºukÜO»víj|½Ö¸¹'à}eíëׯ¸‹ápûömA¯а¬59jjj òK˜D¯Õh4Ô4ò~©÷ú5ÅoñÙ东†îV¤Ã¸°°P.—ÄÓº;pÖóA4M_¸páéÓ§ Ã(ŠN:ÁjýÇZxOŸ?~LP:‘¬bQ^^^TTTSSCQ”X,ç&d2Z£Ç¸¼¼œÃZ¶*•J•””´cÇŽ’’’ˆˆˆ.]ºtîÜÙÞÞÞÞÞžO<'Oz8qbÙ²eR©T«Õººº:;;¸¸¸ñjeeeÉÉÉS¦L)++ûŸ‹ 4sæL///°MȧfN™·GoP\ãìÙ³‘•œ9sƈHÙ~ýúáZ5`À¸}ú˜0xtÔ¨QðSd2Ùĉkjjø×£Õjsrr&/€““SXXسgÏx†;8p ::zõêÕ·oß6(ºß„±Ô¦aíéÓ§ }pyyy›6mp] ¿ðëׯýüüøLÅfÍš%''«T*rguéÒ…sãîÝ»9}ò䉗—R(®ZµêåË—õFSRRòôéÓK—.-Z´ŽŽàèTük~óæD"á/¿¦M›VXX¨÷]&L˜ «eÅÆÆsnfff.]ºtÓ¦Mëׯ?~üøƒ@ýõgðÛa­V«-**"ô)ÜW®\ÁÅI/X°¶®¼½½&‡Ã Aƒ8·¬^½Z·@FF2`ˆµç>ú裰°°GÚïuuu»ví=z´R©üè£`‡ žã­ÕjKKK[¶li„{Æ äÊ'OžÌ¹«mÛ¶%%%œb;vìà艤yóæ#FŒ(**zÿd-è÷™3gâú®C‡œ[ž={†Ts[·nšš ÊTUU! ) 0 {̘1œÂQQQl#5MHH\a¯^½¶oßι¸~ýzþ”bfùòå†Rjüøñü;yÈ!¸zÌÍÍa_µ.†Z]]ÍŸµ-[¶|óæîÛ8q‚ìs É{&kÉ»Pñññºc\]] G6R¥P(^¿~ Ê€ÎÊÉÉAú rrr͘;w.§ð”)SØ_Ÿ>} ×æååUUU…ôO'%%ñ|ý3faüøã<ëŸ5kÁÚ»yóæ¡C‡ D"Ë“µ>>>@¸sçÙ’¦þ=²ÕPçÆxš½–––ݲpáBÂÖCPP®‰šœœ|õêU¸äµk×€p¥iX²...Ý»w‡½°Ègyxxp®dgg³ÿ¿ÿ>|ËòåËëêê ÿ¤7\øò6oÞüÓO?áÊà´ Š¢às£ÈúÖ­[‡+³oß>µZMØÎôóó“Édø¡ÄbÖuSXX<ßìÙ³ç-ûhšfÍvž*å7näÜ‚<»¶`Á䊼dÉd = þóÏ?9%•J%ûëÑ£Ga±žžs¢(www>>y§:88˜ïÆ®ÂTUU‰D"eA±ÈÈHB3ȇìaYÛ©S§êêjнÇçI¼ÊÊÊ·©!ÄZ†aúöí‹{“-Zp¸xòäI¤fvÿþ}¤‰ó÷íÛ.|êÔ)˜|ºúR3Aª ÙÙÙ¥üt÷î]B%C† a&>>ÉZ‰D¢V«õªËË„ Øb“¢¨~øÁ ÖöìÙT‹“ñöööðEòë¼[¬]¶lvsY$âd$ÐjµC‡…Kzzz35`Ù ÓÈÜÜ\·@MMÍíÛ·cbbòÕÌÌlìر©©©|ÄFii)ìå`1bÄFC`­­­mUUù+W®ÄÕÿÙgŸéæ¸ O­[·ÄÚ=zh4š¬¬,sss¤†lØ[f­H$Â9ç9’àáÇÝ`äÈ‘œ»***Ú¶m —Œ‹‹ãéPÔÅñãÇ9Mª¬¬„‰XWW‡«933sûöí±±±‡âïíïîíí{ñ   ¶Žµîîa˜W¯^áêwssc V¤ç„ƒ£GÊZ­VË9}ͪ¼7nÜøõ×_ß9Öš™™¥¥¥é½·¬¬Œ ãÃÞ.†aŠ‹‹‘ÛåäíÛ·ùˆÙ³gó~¤úˆ\ýùû¹)§<<lk#""p3áÂ… ÃüòË/¦emƒGÏ?€Z­îÔ©g+œ…££#pq¬¼¼ö‘‘ç ÃôïßùSff&¬ÛˆÅ⺺:ÝÛAl\’çE¸Ì•+Wk÷õëב +<Q5›6mÊÏÏǹkÂÃÃA1°\¨T*ò³@À?~é4 cÝA¦EƒG*‚¾îÖ­ÛÇqeNž<éââ 2ʹé>Ž¦iä¾(|ÀΊÀ0ŒÞA5hÆDDDà lÚ´ÉÁÁOt› næ¨Õê9sæ ïjÓ¦Mtt4+hšNMMÕë¡Óë·âY~ûöíz·ïkÁ`¨Õê›7o´¨öíÛ#G.==¾HPY] i÷€ô6œ!çh Ô”” _ĸE&** ·¥2}útžaS„á'8›¾ýö[Ö™ œœ¬÷Y†ÊZ$âââ\\\(ÜÔ¬‹ÅÈ5Ž•²—.]"x#""p#‡”µHsžã$rww'L$Ýr|@°¬m3"MÓ™™™[¶lAþ*—ËxFúY[[Ã%†¹|ù2ìWÐ%4xw8ÛŒúÇ㻺º<¸áâM³7ÆñlƒzóæM`` AÊîܹsĈ„wƒkš¦áðBا4M@ȧ682˜³ÞÑ4½{÷n@KKK??¿E‹¥¥¥ñé™Î;ã~š6mœ²ÉY¾víZœ<;pàçE~ûí7ªQ0räH6Ö¹!Ð ÖMÓ*•ÊËË‹pžì?þ>|8y:†D"Ñkã,6­V[PP aÃS¯e­Z­NKKKKK[·nì5ãÔS^^ŽSR£££ëßÉÙÙÙ‰‰‰È_ÃÂÂÀ–n÷~ÿý÷@Y‘HD°>u‹½[zí­[·œq”•J¥ z)‹\=išæ3Šd­F£ád4MÃÛ6°±Ûvºn$êêêvïÞû5>>Þ$ý²–â—Å.óüùsŸ RRRpfèÒ¥Kɯü駟.Y²ös¢ŽxÆ÷³A§'Èy*z­‹‹‹O} >¹6A©Tž:uŠ¡§WðÀ¶¹®¬e™ªÑhòóó/_¾ üð”MõÑìµk×®>}:ˆX5®‰HºƒX!vcýÞ½{ û÷ïÏÏÏ×›Þââ“í ÔüêÕ+Nó@«ŽØÁƒëí¶@=zôèVÒŠŠ ]ýÞšfñÕW_q¦MÓgÏž5(ñ!» ÈÏvç©0%ky>©U«V‰‰‰íÚµ‹…ѳÊÛÛÞ®,((xôèQzzz||<ǧ\.oݺ5°£uÛO XÒ ­•JŹ¸ý ‚ °ÐPH$ŽŠ’——‡óŒ7N·ÃÁËÄ?dO*NÖÊd2>çãuŸbtD˜a¬å“ê0**jÖ¬Y@¿©§¹yûÍ7ßÌ;éCbØ°acÇŽíر#Ò’5N¯¥(êÆpDDjj*®¡¡¡ …Â$[óYYYÈPsss???Ž ÍÎÎ&lªãôZFƒœ« ÃàôZggg\È?²µ$kOžHL›6Í$}Báûøøp"¼(Šš?¾¡õÖÔÔ 2¬a¹\Ž;û„tŸ×b>®AŠ¢&Ož¼mÛ6B4мyó¢££¥R© #}Ú·oϧ˜L& èÝ»whh¨““»TéjÀÈ{õÊZÜë wGáÀsv.’š \ž]wwwŽ“®¤¤„š8wîÜõë×èâââÚÚZ-,,@€9l!ྊ¤q9y±¶¦¦&11qÆŒdoÈÑ£GAÀ¡©Ä €lcÙÛÛûûûüñǽ{÷îÛ·/ëj€¦·1°¿–£{°¤çŒÓ“'Oø{:;wîl\ÚI$pGÄ G&&&âôìL™2eÆ ðOyyyàŒ²÷p²ŠC}üµzX[YY™‘‘Ѻuëk×®‘×冦”H$ööö0kt…ë¨àö8¯£P(8ûœ°¬eÇZòù CÁgÝíÇ¥_°µµÝºu+¼õ¨kÀ„††âtª&MšÀñC„äHY[­ØÞÞ>:::55U«Õ&$$àÎl5Pü¯……ò‰ùùùºIbLþè¼¼>„wµþÜÈÈ‘# `È+p¨ <àè3ä9 X‘ÈÊÊ"7ïùóçQQQ–––-Z´°²²¢iZ*•Ž3fÆ YYYœ67oÞ9]ÁžMÓS§NÅ[X±b…®°üòË/q]—’’< °%‡Ôkq{f8ÉR¯uÒ$ùkÏž=k¬ûœÜ-åååÈÓ‹"‘èòå˸çrRÜEEEEFF‚ÌNœ[àÖ={öpjƒ“LjD"Nn%­V‹KÁ‚Ì÷šñøñã#F¾H#—Ë9¹’ž?Žt?ùúú–••í $·À û™Æ —$øÿsA CßfÖå;w2 Üé¹-Z”––"™ZTTtñâE¸Á>äT[c0káÓ­"‘N¼uåÊ$Ÿ9ÍS©TwïÞ8p Y¦(ŠÌÌL“äm–J¥à+n|>^ÂÈá¸yó&üšÙÙÙ„„³8*•J£“&™†µà|sƒ—ÉÍÍ“.=99¹gÏž¸£]+W®Ô+`Ö‚ø`k‘ µ‘9­(tê555+V¬puuÕ«”?|¹žðQtqðàAd=gÎœ!„À ÐA%wîÜá,€äჷ9Û´iS^^ެťNÿî»ï”² % ÁW?a„øøxBfw€öíÛëÖ™nE"ûEΈ®[·ýÓ³gO> óðð8qâ„Þ¤wsæÌás<¤iÓ¦7oÞ$¤Ó}úàŒ½{÷‚Ôj«®®Æ­¢EÍ™3y;òkM¡Ã± äry~~~ƒ³–M°Ú½{wfÍšÙÚÚÚÙÙI$’Q£F5kAŽ9âååEø~®gÑÙÙ¹k×®û÷ïÇõ,¸’‘‘ìëëëêê ¶08e®]»6uêTWWW{{ûÜÜ\½mŽ‹‹8p`›6mÀ癤R)¬Èd2OOÏððð“'OòÏ1 —|õêÕ¹sçŽ9wíÚµ²²2žµׯ_ïÚµ+2~Íš5F[NºÈÉÉ™7ožR©ôõõ 哳 ÃõìÎmEEEeeeee%ð2Êd2BþT“£®®.77÷Ö­[§OŸÎÌ̼wïžZ­Öjµ-[¶trrêÖ­›···………\.'wv•×ÕÕ#‡8_zYY™J¥Ÿ %ë¦l%àç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6Ž¶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yn…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ 1;ïV·¿§IDAT8Ëu‘ËkÜUÇ?ßsgœ4ÔØøhª‚`µ©ÖG1 RQ‚”îܸp%èBªø”n"‚bРXJ ‹.4V iZð##T;m£µ!4™üæžãbâP­~7÷rîù>ιbwïý†cû†; m;‡oª”ÓAÜàΆ ζZ^«/®þôä£Ãç¸|îs¯ÝÉø{Óý;†¯y¿»Rº¥ð¸Â=È9(rÉt¦Vo¼¾û¡­ûG÷Í1±wíÞÿ#_àÓ©¹›{»¿ìî*•›E&ç å!€€ˆÀƒ(—Lç–VŸßuïÀ«oœéêûÁᲵ‘DŽÀ€ P„‡²G”“4ÿçÊ Ü:&€¯ç~™êî*ݳÖreˆuá: ‚ááS­-,ßUšœ©^Ÿ’ú›E&·™JY[ÃPà!RˆìB ŖޞʖR@_ÎôÈ€dBfó”€NvHfÂ"è2ØTÊî]­ˆR‘’ ³ö j§'BàÖ1‰ddAak…/DIJD… ’D2‘ÌH&L`&L† $Ex,6‹|Ö~_\©¿Pœ‘ $™ýMH`I˜©=Ÿ @¨±Z|õÈÎÁ|ttv´gcåЕ—WTZ'¤õ3rŽÈîje"ܵx¾9ÿö›¯°W> ¹mb©Ñ|by¥ˆ•fFRx{wí%Dúõå¹Z½±€áCíÿÞüô$õwdüÀôðÖ«ÞH¦mW÷nètaµ(ŠM<~;9¿ôáž]C/ñ_¸ãåŸ;÷ÉãÕ«§æã‹Õ#Ÿ}ûÀáÉïoÿ`zS§áÚ·ù_>:;x컓§?Ÿ©yóÝ©ÿ|}æ’~ûwam-/ž®7ž=¾0úìS÷5è»ØíRç¿š¾P"*Ö¯ IEND®B`‚PKŒ˜>Bb`“-B-B!pelican-3.1.1/_static/pelican.gifGIF89a´Ø÷  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ,´Øÿÿ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœIrß¿~ùöñóG³§Ï‚ùðñÓ§/ß2[Í‚i‹·n<|ûêåûIõ%>gŪ‰›§,—©B™,ѦlÛ«[âò½‡¯ª[”ùœeJ•VÜ7k•Âhq´l+AÂœí2l›4e¬Âé{Ë$6\ÌÀi»oš(8[ !UÊP?DÉREJ˜9q£"…kÌZ£½V¸Æé›Çž2[­fzôéP›1oÖX¡2'—¸\¾¢Éwnqëçï ¥‹S/|ð†M²µ,P#_”Íÿ!dI>xÁjÏ8c¦ZQƒNßa?[„®˜é3-iôø“ 5óÓÈ)t$cL(¬”  érÎ,—$"$6Õ§!BäÈ↠§("­üc8ÅhC #Â˜Ò ;äèâŒ:Ÿð!Gs„r‡g"K;I5Ï(2Çj(C*¥ÔŽ4Ó”Cˆ1í”’ <åÈ<¼¬r O 2 iÂ:B YÍ/ÖÆ ]C &¨¨>÷ cÍ?ÚpB0žp³Ì0©LK#gdH$‘òŠ8<¥YŸ4°À³‰8¥w L BÍ\s/¿ô’Í4ÀœrM4¡€Š%®ØòÈ$m²EˆLÒIShÇ(Ï|cN=å²öL "DQktˆ‚ %ÆÁs/R³Ë$¼2I)­¤× %¢¤J(—h(Ñ0ã>öDÌØ.=,A&Ä,\\aI3ÒüóÌ%Ù ³M* ¤"†"mrò2¨¨âŠ.uüÁFÑrÏ8ñè\?•Àà&nÑÆ ‹ê’‰tÊ.ÎìãÌo8ÿ’Dl°ñI"½(£Š(¯Ñ"{¸Q 3èÀÓ šfû¤O+X14(A$ HÒÆ \PBŠDM2†Ä1„!œôA0"ÔxSI"„ðË'—°J5ê`óŒ8•÷¤Ï'ô€ÄHxÃŽ"Á E0Á+0B¢8mÿCʆ7´r@ƒÐ0‰Q‚Ô`Ç4€ fSì³àÅ# L0ã–HVÁ{T:âùƲ°‰aˆÚO…&Ø°„&ä Ö^hBð°B¬!IÐÂ&jd,„ŸÅ'6áŒoä‚'hÃê  Y¬BˆCÛ hPÂzΠÔ+’‹"¨á¦˜ÅL0^\B 3BpÀ-,Á†DÄp"‘(èÐGØa—(E-–ñ†| n8C\‡Z¾A ¬çÁF¡ Y€#g‹H?&q‚0Ü"‚@ à I@á1@¾à'8¢]È‚ÿÎ …3 ‚ [XƒÜó;È᧠E0°dA DàC.ŠÁŠLØ J€Xp »° (”|‘0Í cÐ90 Ñp ÐZ`q€y°:y000yÀ-ptœ€_pEðÍ0ÃP/ðc`¾ Ë äÐâ w0 ™—Åð È•Œðy |@X° Bw&€R“J±¢„ |RÐ :@‹NcÐ$Q 'à%)m` ã@ À{ Ë;ˆ ŠðÆ B’iëÐI £P ÎP Y°.pI à‡Kÿv˜@ dPV:PPðFpŽ€ ŠG@6 €pð    P " а « @™°œ`OÉŒÏðKÀ “`'P¸02 ÐyÐ{À@à p@tP½“UÀ:pI´ är¡ qîÖwp£  ½° ¸ O¶ P ð ˸ ‹ç§ ° ˆÀG ’p/P)°ppz°Ú’€Žzð~®° Õ /š·°:à| \€˜ ˜ “p†àè±  ›P6a¤7v@‡à wÀ g+ð?ÿVà @t ~Ðfpip Ë 6A € t Õ· ‰° Ç  ‰Àt œ@¸ðœ‘Xp£à qp’€ P<@0pSà’ptÐ Y_¦@ñ S0cÀxðpp ÒÙ@ œÀ‹`h„­ÀO´úì@R ª°…ºà:0-€;€H`ŒÓn0X€P¦LÐY``d›r ¹  ‡0XPl° ¤ àœçjcП 8ภ(À%p8@J}àaÀMÀpè@óà-]ÿ°Nð™ ²  ©™àc¹#¤°€±´šbЭ C ÐÐ%°;VpdâK°ª€1 càüºX` ½ ¥P…0J_`gÀx@ s®ÿ0 h 0p° ¡`‘!@#´…THÐw  H;¨àñXcàs Êð « œc€µV`v x+±0‹` b` ²@ PQ0>pV»   Á q@uÐZP Œ0 ЋÀ µ”V n `{®œ°’0 Æ4° 4p6€SðŸÿp ‡Œ`žð²`Š‚ Éð‹Àˆàk:ª°a£{ M0—— h°@p9àƒ 1Ûë ž€ \  ‰Pd\ Ðð ©€ fPvP0º! R ’ÐÉÐð!ЛÀ ap÷ –` ˜  qàp°}0f€eP’t®þ R3ùÖ ° C` õ šP¯ ®”à~À½ „@T@E0oÐ £«ƒ`~°· HP²"p“°± s  È@ ¬° ` €0oP •`OC°™0º¾ÿÐ~`t° ‘0d³°Œ#1…  ³0†0 ` ˆ°n`hŒP/›€·Ö ;0¢0``E` ¸IÍ°À“ P Õ5QOði`UÕ ´ºð<œw°8€Ž  ¦Uþðo Y‚0 ‚€V„e0@ð•8ªw •©Õj@ ™àc0 ô©Þ€v3„Spsphð~dI0¡@«öp|Ð i@S*Ñ `pœPnà‰QpM`>à „ Lð¼p®¬ @€Ãàõ€wPj`”œ+a`hÿ ;@ŽE7€ x›ñà§#A~+]Ðe`aà.@eÀ]P#`#@ÎàÁ0q uÐ[ ±Ž¼b°; E€³7À!n`Õ/A FàBàftp,ÐGàE [6ð-Å Ö,Ñ ° ‹Ð> ÐTÐOP "08àH0n®I#Ø)ùPÎð ‚`<€[pLJM d0hràŸt° C¬Ù"±æ ÞP£øP ‹=À¡#Ún˜ —Wà?à@0׈²íó Þà ñÐ æ`òÛÓÐ¥Ê;WðWÿ ${ DRŸË¨ÛÌû ïò€ê`®š=àö0Ð õ°%óÐåð€ IMP@&Ð5€Ÿ@ ­° ¶°Žp o@w#t€À ÙðóÀO¥‚ ¿Ð Ù€ µ€ °à¬²½×` è¸` ñ÷Àæpóûð0<D<ht Ë ÄP jÀ7°Gðfàx€ML°r~0} « – 'ÙP ¤ × lnߣ»)þ ø hßAÞö@Ù@É€-À7ÐWp ¯ vÿZ0~€€HÍ y°{p”Þ]Éw€²/É¢à ³` Æ ×àïà Â}®¼€ è@Û€ ú  ­p ë æ€êû@å ËÀ#sz°¢0 ‚ð‚Hb …€¨ ‰P, t0‘À #|Nà^°` ê`×` ¾@ œù Œ·èÐ Ù ×° æ` ®À ó ûÐí°ãóàß³p**Ë\ 0öhLP“0ƒp ™ P‹@ j° ™P €SWsÐk ‰ ³0 é ­Ú@N‡·ºð îð ¾@VØ ôÿ0 ÊPÝ âø^ãà N ­a ]ð¥pP u€lv g°azP ¾P sЗð ^“SŽð\ tð×ÐôÍ èPSñœÃ€îÀ°·`pÜ@ ÚÀ ŽP Ø0 Þ`ø° ª0 òÂÀßKxP¥ bаgзÐ[ÐT{ ºpéW  ‚Pn ¡Àˈ…pOp—ªàÞð È Ï©P@ í` w ÚÀ‚ ¢0 ’°¢Òý ðé º` Ðzà(¸Ð ÀaP ± wðBÀRÀ§`!ÿ[yÀŸ` l“ •à ÀÀ ‡pœjà ÌÐ ½À§Ì M  Ê€”èò¶+Ö®MÕ‘‹·îÚ¹u¸Zë…JJHº¼Éáã§1lìø CÇ—>jxqª²i &XÓòœ¹$ªW¢)œBºC§%?`u[7k¿I•.eÚÔéS¨Q¥N¥*UßAǼ4Á .dÂ@âgNš¹lõî-®U,Y_º¼ÚV+‹Y—B]ëTÆΓ!.Ô éÒ'@†ýbÄŠˆ¦VJMºqåQ(ELf$:ô+¾yð ¡«ZÚôiÔ©“#ÒªO‹;o°Œ æÍÿ'o¾jùÂ…Í_6wúæ¥ÓÖìÔ’I±dα£ê '^Íéq‚ Ž4[ÜpÃdD›Zq<ÁêOQ ¨¹CIš(j0…Ó·í]¼`ìTïçß¿ª!?6Iã 8ŠD˜atÁ¤tŠå{È1qÎagœSŽ™•e\Ä”ObYå…T¼éG”Gê˜ÂvhÂW:¡¢‹(þä @äSd(☤ ¬°CškJqmà9Ç}ÊAÊ?(£äŸ>4‰DB¶„TTáäŒF´áÖ¹¥_¬Ùyæ1Ç–Z†Ñ¤“W:iÆ29K$™# VÔ𡈉âŒdæ°¢#A"Sú`DŒD¤b -¾£—lþH$I´Pežê™æŸpb¹gT©KòTú°æ”A®á¤ 3J¹#•Bªå \¸‰Æ›nzqóœwÐy'i²Yç›Ee_ðÉew,‘âŠhôØ"‰ i#RB¡å;y @²b b¾ae–s ™d{à)fu„9fŸyô5}ÿÔ¨ùhAÑ‚ Á Ux¡í )ŒáŒu$ãð¸‡2ı‹y¨ãêPÇ2‘ÿˆ>¼¢Ïh‡&bñ/x¹èƒÎð9l‚ª€"lÁDA°¨à„qhÃòÇ&€‘ p”ã…èÄ(˜A rðOŠ§±Æ šÁ‰,Ðã$€)Ú/´BžÐ+”VŒƒê˜2æUXí… ê‹[ðCyxÇ%®°…ÜOˆÃ¸ Cœ¢`ÐC'ÆÀ†Áˆ8Äò [XC·6ÞAŽkH#°¨E0¾±)¦r*Ä‚,ÞÐ x!ÊøˆOØ¢•°F,<‘fУÞ Ç<¬tìÔ¨EÈ  lУµ ( ÿÂE0’0< BGÂ'á…< ¡ n D`Ð/8aÝÃ)ìAx,££8F5àUô)º@5‘Œa$è`…M²HÇ'¤A[¸Ÿ‹F2n±qƒ“C~ÁzÌÂX‚+~FôâCЂìÀ†^<" "&âЈ>œ#{ÁqH£  Æ?ôa n C ø†?ô'P¬òb ȸD,BˆUÐoDÑ2¨â¦ÐÇ4rŽv¼ƒÎ †8ÜÑaØ‚3H€Æ?ˆ†9"¦Ø¡ %œÀ qàBhŠJaÿm8„'ŽÑˆI0"Að&TñdÔ §¨†;Ò!olB‚V]›e\¢oˆ…* ÁDèÁ qh‚'&1S¬ÃóhE5þ!ŽlhÃã€G5V \œ"TÑðàˆh8æhƒzÑ„@L88! @A­¸D xA ^,ÂM(„7TQ ~ Bm0;ú!9a"W}m*Ç¡Œ*dApxD2¡:|Á •¸D˜a‹fôÃÑØ#À¡Fq@cµˆÆ.Úe†=H ‡ „þPE2¨¡†2C"pÁ–°ƒÚ „`ñNà€;¨Â˜à‡h¬còðG4î?l£Ñð9ª‘-t·@Ã%8±‹<@à øà à@‡%ðaœ F4Œ±gœ‚óà1,q }œ£á€G0±ŠqÐañ€D/†qdg"2BÕ‚@L¤ã@¨Â6˜Q)pÁ ?HE"P¡Ža¤Ãø¸f(" ƒ×hÿ¬S©‹1"a–Æþ Jr€ „-¦Á cb¥`E=òŒcãÙ0„8þ±Ž=œ¢—@4Èà‰dP‚º™ â@ =ø n¸8UHã m Ä)j°äÂXG9p‘ŠS Ö@7öAo<•ñ¨C!1ŠMƒXD-¸ƒ!ÌÁÇ`6à0Œ\4‚ä€5Œ¡j¨áÿØ"J1QÜa¥ D)¬`ŠKœ‚ÜlÀBLÿ± iä w:¨áŒs|ã®`Â¥ãˆITƒÚЃnAKhá‚xA ¡ˆBXa“ ƒ†A \x !h„1b±„Vè°ÀÆ5š hð &0Br8n˜`Ø…L¨g€‡g …JÈ:ø„YX„sh+O8à‚DØH€NX‡g@„!˜r¸E¨hÈŸsàð‚Y„ø‚<Àcȃ^ìAˆSÀ…P@†AØ(AÈ„éw@1ð€5(†b‚AØ…a˜†ppBx†R8WF‡Y`…>sP…M(M©©‡+€ƒE(…(P?p‚(°4X ]H†;¨L°„|P- „yø…@Xƒ@¸‘78„* 3¨>èM8†c°F`‚+0„+‰}p†h4 b¨#€ƒU…z¤Fp…[€ƒ6(>p‡jø…Cø„VøZÈû”šVX„Dðêêƒ%¸#8:PAp¬T ;0„N‡ z†0˜±ª„1€1¨H ÿFH‚N0†a ‚P0@ „NЃtÐXè&(;…ˆK°¸Z€>Ø…fh5°†0ðv˜;¨Wà‡b@†$sp…:P0à„2 ‚8X§HPIXƒWp…*X?¬5(‚mÐb˜‚>H„^8ƒIÀ†H]:x=(iP`HƒO„u‡?/Ø@Ø…i8ƒ€ƒL8mЂ4(…iØ]Ðȃtx0ÒqlÈÔ¨á‡5¸ƒ8€ø‚B;€…X6ø‚G1X¸ž98{p…+HŸ\…D…bB`P'P'Øÿq/8+¨„FPo؃0Ø‚›º…`ø-¸MYh8ð‚Lp…qèl€ˆ…Dh‚„”†(…~`W~éíÁ-°‚EHÐQ ‚?Àƒ(6˜‚L˜ƒ?8uˆ.P]P©H8ZH‡?8…að, ΠWø¨…Vx_¨;8ƒ;Ø5c0‡JÐR@^¨ƒ|U„lðdpÀƒ&èI0„I˜A žÝ›4ƒ"Øh‚Ì‚KØ–= %À–5p„=˜XäJ¨…nÈ8^0„Õa†U¨F˜É)ØlP‚#Ш„eP‡D(‚9À(È7ø…ÿbx÷y…Hp;pSàH@0ƒ‚a¨„/;{XÜT±‡Nø$X…&‚Jp3† = ˜ƒ4¨„ ˆUy¨‡KÀC¸ÈWH/He¸Ø.K8„1ЄmX‚$Ø‚H‚wè:àø,‚,€…[8"¨„=xIЄ#m¨¸?ø%`‚Vè'à„XÈCëEYÈ=z¥-(9pCƒˆ@ã€VØEp*dà„-Xƒo˜jˆ„+Pa@6¸|€M : †$ë€DP…?€ƒ$ø#Àƒ3ˆ„Xð‚,0‚49°ÿ/À„u؆¨G0&èCr°GÀ…(ZáSÙ‡N¸aP8Z€Q¨ƒxƒ=XG`„?¨rP;Øs(V@3H\¸†@¸ƒ'˜pƒQȇL`1`‚q¸‚˜3èX‚R(-@ @ƒQH„VÈ5H…4P+@…;Hp ‡;(BX.`Õy ƒC =F•a€ƒY˜=Hd¸WÀ XKˆ6x8p‚x„0€‡yÀ†4 0cx…7H0ˆV8t…d ‚Ð:ð€)˜È€ÈDÈð€À6„¨6LƒèM¸‚`¢hÿY GГV †shæSY>À„@/ †1H(X•¹K¨2X†90d˜‡e %à‚O°@8ƒO–S.ø»[€"Àgp>¸ øWȃH(èbñƒ/f‡@À?Ø…3ðð†/8@†Ixjh…F(†¬ãè(‡3(E …90†.…"Hƒ/ Pe;†:Ð=0<ð+h_‚<0-¸]Pƒµ:P‚°Y`[ °‚Y°ƒL¸ƒ+p‚+H<@ÒUÐ&ðTˆr`L$x„Qà[06X†r@k).0ƒ\8Z(ÿAØD˜0ˆ) 'Dø…HX+P‡8˜#¸ƒs(0…sƒd°0pz¸kЀ0øe…ë€+ƒ:˜„8(fø†x°…20…F íQˆ… ØT†¹ƒnpÛ–EÈR°P0>胜ƒ=Ø!F˜‡[p)8€D (†f8m…6 …~°… €t¨‚ ø€)8„Ih‚Hèƒ X„?˜G€„b°h‡Zp' ƒ^xG ‡) K@h1Ȇxð(‘$hPèY`?p…4ˆHøØ€KøWÿƒˆ‚SHÀ0PUPƒ[ðAÈ…mø h$Ðp  (¸Jð‚È…J¨xƒ[ЄF@‡\X ˆ"HN@„B؇;x,`s0†6‡q ò(¹CЄ)90\hTðÌØIøM ‚#€èO-˜ps@MèJ°„`ƒ!ª¥ièh ð"8‚AÀ†N€ h„QØP°€=0$ˆRÈ?ˆ‚&@…lp†9À†Ö2uÿèKˆ&à„TS¸Y06P 8„¸"pA†7ð(xrð„ÿfà?@lh‚ HWƒ…=øà€ 0‚>àY-x!„C@,@…:À‚Dèrh^˜rz÷th9ƒ\øJȃ_0^.HK؇Yø6˜ƒ%È„aƒøƒmÀSÀ^pƒ`À†!¨9¨€?È!÷€0‚?x‚ UÐ6 À ‚- €œ X$ÅDðv0MH†‚zþè‡JH…& @1@b¸‚8ˆ1èƒt†@°…8h0LØð]†3˜¶ZÃMøƒW„ 0C(‚ð0° èÿA¨Ã-ИF˜ Pˆa{@†C®O…TpÒpüþØ…Yè‚&†/°„^À‚?`AX\g…A°„D¸ƒps{Ó†lh‡)ˆ"ˆfˆƒ /ˆ8<6ˆáanl}Ú4 !?6ø ‚¬FqÎÕ“åÈUž”‹÷ï$Ê”*W²léò%̘2c†£¤hH°3£Be±D“(¼P „'–Eàð©:dÌ zÎ~IsÊ›N´°ð 6Œˆ$l&=ŽôèÐpáJW,1ëoKÙÜô‹—¾™‚.lX%«BmLÿ9¥&Ï3A™dÝèACY—’`˦lЮnV,õ‹%¤L£nÌÚìøà (Pè Á-j– Zd%ć c49)Ý kŠLࡆM%e¾î®nýzavk½:s ‹¨i€ûc¢…;ÌùÊfL˜kŸ¬2§ªM YîPÅiÔAÄhÁpÀ ®Ø²Ë(„ôáÄW! -=T‘Ë*ËaÚ$"D&ʈ2v%šx"J­LñJÃàqÌ'XRO)I0Å.Ò ‚Ì8±<H8ˆøñ*˜hr 4ï¸67d€PAm”ÐÊ7ÑtÉ0¬€Bw˜rÿ (!d /8ÜÀÆ4ŽLqˆ(Ѓ"u #ˆ@ÓÆ5¯ˆ:²¤†âhÊ4µ„2/Ë,‘L4_Ø‹(éìÒBà 1#XAmx  =¨B ,ÌЉð’†.}„ ‡,àqˆ,’„‘ ,—¼c'°Á¾” ŠXƒ-¶„Á‡.ÛD2FäxÃÎ-ˆl2–„!ÎL 3L1íÜá¨BLpàx #öœRDðÐA°áË"YXƒÄkp(«ˆ±E+É”BŽ° ;üO?£0r v@S†&t¬s K€C+RˆK Ôìñ -è¡Í7çd#ÿE F€r"(V€`îøB5ì„á,_´òHðQ)w¼p…+Ìè²ÎÃY»J,Ì° D9Ä$³E8¹„1Å5´(á ;¬ ‚L(²$‚$ДãŽ(l…3hp‚#ü—`„8ÉhÇ 4P …0¢È®Œˆ¡42‰ ~|¢‹8Ôi=ú‰œ¨ñŠ,°²N0?ôG$MEÌÄCÈ(ÁãH @€bÎ=Ã’IT£…|àA&Ä ‚V$„’ 0f¬°*€QJ#ÕxAG#[ØQJ¶¸a‡&®ÈÓéícç‹ PQÂìL“C 3HÂÿo$Á 7á qØ‚N(/ÞÑŒ¼´GÀÅ4‚y 8€8€‚RÀ"@ÁPÀ áˆÀÆ+þ‹(‚H Ä/Î`‰OàÃ}6¬Ž0¦pƒ´‹ÈÆô0L°"kˆ„6†qIÈ4@C'àÁ4¸ÜШ1 „ HA ¦0ƒ €ÀÄ (n@)„ h= E!öPŒ] ¿˜…`ŒJ%07üã`–Á„!0 "þà ,äaª˜3¶ ,Ô¡)`‚¨!ŽRàÀêSFªQƒ/ªÀ,ÀÁzм€ðØD’à ÿ<˜…+¤0ˆoÜá‘xG( ˆi("ì$2cÒ (A Lhf°f¨ Ã`9¶¡ŽM@á<5XÄ3ÞQ +Ü ¶ø‡3ÆpŒ``PH\`…+  *ÈD?\±†+„ C Ádá?$!z Á"üц tÁk˜D2#ú’|€gXB ° ƒ;Üã_È+ð‘t`b3X´Qc\ÁtІ#Ú1 /DC¨RÐPÁ 4(ð V,â l@ÃJЄp CR˜‚°‹~ÂNx¤!Ñ­²„+pb †&Lá‰èÁ ¤‘x8&ÿÀÂŽñV¡"}°G/Ρ‡:°â5>ˆB>À‚"aI ÁäaŠ3ŒA^€Á†ÐŒp¨ãEÐ@~aW$¢Š—WCûI¸ L¸Á¨‚Z¸‚k€G=´ &D!Á Ç.FRXðˆ=ÞЉ8x€IÂ@ðœ OxA –Œ&ìÁU Áv0 h˜ÃC¨€$Ìi^T É-zwá!ø nЂÂP ô`í0‡n ˆZä£;€A@ÑD CÙ1„p‚ \¡F A’[…/À€ƒø° 6¼@@Æ)`Q ! áß8†ÿvÁ 'ð½¢½"Ä¡ ,°#–0ƒeüc 0Ò! ÁeÁ}è+ì1YŒ&€Á˜ ”¨M°‚:°†wôÁâ°ƒJ0Zà‚ã0XÑ ]àáEÀƒ‹EK* Á LPv@,, äˆÀraDh@CpÃ)êp„[lCtÈ+V€.8¡*)8CNÀ„ 0At ‡"òàŒ8„Á˜D8¦¡ |s™èD/p 8‹¶5(v ‡œáø‚=p1\„c(Aº_äá ·x>´`ˆMÐ pØÂð07 EèAbÿ sø ÁðÃTpGtÉP"ŒIè‚ Ÿ µhÅqƒ-Á?A# @=˜#°FX hÁ¬p…'Ê` {œÃ «ÀÃÞÐ3˜aÈÃŒ{„)´à÷Å”± 7…(Ç-t`6|‚µ öïÐ⃠A8 Np„HŽÐÅ*žñì PøB –‘ Td¸(B&hp…> " m(„à ,!^ØAÌA (ô"{ð 0/°ʈ3QŽ‹ö.ÀÁ dðˆ9y`Ã~@#Ð` Z`C+81½D#[øB€ÿF$ Uø Æ0 -¤ TXBÚ 6Ž€Â VÑŒ°Êáô¨/tÎ÷Ðz£"`Á$la&€¯qƒ! ì†2BoÆ#TÑkè@ B`!L¡‰5hFC(è ‡)L! w0Ç8&¡ƒWXcèÅ­! HÐã~Ü}h)1‚(Ðbª¨ „A-¨ôVˆ‚! Â343¼ƒ,°@ìÁ'8FBpŠ½dÁð2øC-ØÀÂ"Ä‚#d2”‚4pƒ7Ðþ¡W?ˆA ‚6 BlA TLxAø(ìˆÃ'ÌB:üÃ#ðÿ€ì@0Â#¤Â8Á'¨ÁœB-ÀìÃ?@ƒAü@Ѐ ì‚1ðB:ÃÞÍ hM pÃ8°$PÁ1‚7¸<(h$;Â2ÌÃ;€èA $,(‚"TŒÂ*PSBô!ÈÃ5ì0ÏtÀB؃"À!z­XC4((lÁ €€dC/ðA#X1¸@4Ã'øB9¨‚¼øÆ PA&dÁ0ìBÁ#„ 0„C&œÁ,Oˆ@ Ì‚ hA6 ¢h!ƒLAÄ,° t@ hÃ5ƒ+ìTÀÄÂ1ðÿ‚*$AìA•åA"èˆ,ÄéCÔ€"x ÔÀˆ‚+… œt@ƒ8Š–;ÈàT€ÌlB À'ÄARt@DB1¯Ý‚Ø@!`Âä@A,TB.ðA% Á LA ¨Á |@€@ ôPp(Áf$WéÃô@‡]¸Ã9¨€Àn@öp€ÐÀô H0Â$‚$ôÀàÁÔÀ/4Ã2(Ã@Á%àÀ |IÑ ØŒÕ@'8%WåÃ@Á 5äÃ?ðÃl À xÀº€€ |À¸€´@)|BpB$¬@,ÿJÀ;‚/0( lÁ&ÀXÀ`€ Hæx@ü@èž`&?\Á!¤D&ˆ€ €ÀPÀA`€¸@ À@È@tPÁ¸Â(€xƒ'$C!ŒAôÀÀÁ“äK¡m@lÂÀ¨C'(ä @A\  Â1X)@ifm_×É>¤‚,ÁDñÀ5Xˆ- :Â'€ÁTB,Á&Lˆ- ƒÐÀ(ŒC/,Büƒ<ÃäÁ&ìÀ¨Á)Ô@ˆ‚:ÐIvC=Üv°ÐÃ< 8¸C<ÔC4àì1LC*Ђ(ÂèqMÃ-ÜpC5Ôÿƒ¨A5AtÁ8”l)¸=@Ã.7 xÖ¼+€C"Ã!0ƒ(h¨Bƒpƒ*d‚8à ˆÁ>àø€0°ô2ØÃ6\7\´8@h9(ÂP1@ê?èhi¹Ã˜ƒ44\ƒ%`C`ƒÄÂ+0:B.˜4È$ü:ø€6¼;ðÃ-8Ã;ˆƒ‚0C-È0ðB±"úèðÃ6Ì7¬Â54B2XA'„B2´Ã$Þ!‚)è<A"ð0ŒB‹1/øC.H‚4´Á"´Á-L-ÈÂäÚú 1C†LB4€‡'ÀÃ:\‚9`Ã7XCœC<`ÿA,ÈÃ,Ä÷?ÄÃ+¨ƒ3p>dÂB=,Ã&œB•‚;é0C"-8ƒ"¬B(èƒ89(ðC4Ð8´$6PCJC.ÌÃ%”(¬.üÃ=äÂ"4¯”B!´ÃIÈÃ(¨Bð쉣D?ô$ü=Ü_Ñ#“>ÈB üÂIxCÏ£Ä-´(lvK„ƒtC×oU?t1ôñJP¸A.ÐýJ|á¿=2©|JìÃ-ÀB9p½ßg$Ѿâ/>ã7¾ã?>äG¾äO>åW¾å_>æg¾æo>çw¾ç>臾è>éÿQ@;PK(=xB¬&fÏŽŽ"pelican-3.1.1/_static/pygments.css.highlight .hll { background-color: #333333 } .highlight { background: #111111; color: #ffffff } .highlight .c { color: #008800; font-style: italic; background-color: #0f140f } /* Comment */ .highlight .err { color: #ffffff } /* Error */ .highlight .g { color: #ffffff } /* Generic */ .highlight .k { color: #fb660a; font-weight: bold } /* Keyword */ .highlight .l { color: #ffffff } /* Literal */ .highlight .n { color: #ffffff } /* Name */ .highlight .o { color: #ffffff } /* Operator */ .highlight .x { color: #ffffff } /* Other */ .highlight .p { color: #ffffff } /* Punctuation */ .highlight .cm { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Multiline */ .highlight .cp { color: #ff0007; font-weight: bold; font-style: italic; background-color: #0f140f } /* Comment.Preproc */ .highlight .c1 { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Single */ .highlight .cs { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Special */ .highlight .gd { color: #ffffff } /* Generic.Deleted */ .highlight .ge { color: #ffffff } /* Generic.Emph */ .highlight .gr { color: #ffffff } /* Generic.Error */ .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #ffffff } /* Generic.Inserted */ .highlight .go { color: #444444; background-color: #222222 } /* Generic.Output */ .highlight .gp { color: #ffffff } /* Generic.Prompt */ .highlight .gs { color: #ffffff } /* Generic.Strong */ .highlight .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */ .highlight .gt { color: #ffffff } /* Generic.Traceback */ .highlight .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #fb660a; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #fb660a } /* Keyword.Pseudo */ .highlight .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #cdcaa9; font-weight: bold } /* Keyword.Type */ .highlight .ld { color: #ffffff } /* Literal.Date */ .highlight .m { color: #0086f7; font-weight: bold } /* Literal.Number */ .highlight .s { color: #0086d2 } /* Literal.String */ .highlight .na { color: #ff0086; font-weight: bold } /* Name.Attribute */ .highlight .nb { color: #ffffff } /* Name.Builtin */ .highlight .nc { color: #ffffff } /* Name.Class */ .highlight .no { color: #0086d2 } /* Name.Constant */ .highlight .nd { color: #ffffff } /* Name.Decorator */ .highlight .ni { color: #ffffff } /* Name.Entity */ .highlight .ne { color: #ffffff } /* Name.Exception */ .highlight .nf { color: #ff0086; font-weight: bold } /* Name.Function */ .highlight .nl { color: #ffffff } /* Name.Label */ .highlight .nn { color: #ffffff } /* Name.Namespace */ .highlight .nx { color: #ffffff } /* Name.Other */ .highlight .py { color: #ffffff } /* Name.Property */ .highlight .nt { color: #fb660a; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #fb660a } /* Name.Variable */ .highlight .ow { color: #ffffff } /* Operator.Word */ .highlight .w { color: #888888 } /* Text.Whitespace */ .highlight .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */ .highlight .sb { color: #0086d2 } /* Literal.String.Backtick */ .highlight .sc { color: #0086d2 } /* Literal.String.Char */ .highlight .sd { color: #0086d2 } /* Literal.String.Doc */ .highlight .s2 { color: #0086d2 } /* Literal.String.Double */ .highlight .se { color: #0086d2 } /* Literal.String.Escape */ .highlight .sh { color: #0086d2 } /* Literal.String.Heredoc */ .highlight .si { color: #0086d2 } /* Literal.String.Interpol */ .highlight .sx { color: #0086d2 } /* Literal.String.Other */ .highlight .sr { color: #0086d2 } /* Literal.String.Regex */ .highlight .s1 { color: #0086d2 } /* Literal.String.Single */ .highlight .ss { color: #0086d2 } /* Literal.String.Symbol */ .highlight .bp { color: #ffffff } /* Name.Builtin.Pseudo */ .highlight .vc { color: #fb660a } /* Name.Variable.Class */ .highlight .vg { color: #fb660a } /* Name.Variable.Global */ .highlight .vi { color: #fb660a } /* Name.Variable.Instance */ .highlight .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */PK=xB°ÏKõÇÇpelican-3.1.1/_static/minus.png‰PNG  IHDR &Îàq pHYs  šœtIME× <®8åtEXtCommentöÌ–¿RIDATÓcç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6Ž¶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yn…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYs  šœtIMEÚ 6 B©\<ÞIDAT8Ë…’Kh]e…¿½ÿs1mAÛÄÚ`j‚Ïh[-ˆE(FEŠÁaAœ! bI« àÈ*–BX‘"Ø4)NŠõUR‚Zˆ¹­!’×Mhj“›ssÎùÿíà–¨àãmØ‹Å^‹-\ggßÏ ÷ßì]o|ÑÑÒ¬[3±¶4§Á§6»”û©òèø¯×>zd‘¿ ]½#Œ»î8ÙþüáÇOݺ±t{5·uIÍXN!I=@Vf¾®Ÿ=v×ÀÞþ1ûº}e>;ØÉö×fvìénøvËÍÅxaÉHrÏʪJ’¦Fȹ`œÈðDò¹WZ®]ÀžSíýŸø%S)ÌWAÌœb¹ |0K=âSo7D†~\~qâÍ-ïÀËŸ\ùaóMÅ“Z,S'*æô™‘È} óF`—†ÎNnzæ674¸öËUÈ 0) { var start = document.cookie.indexOf('sortBy='); if (start != -1) { start = start + 7; var end = document.cookie.indexOf(";", start); if (end == -1) { end = document.cookie.length; by = unescape(document.cookie.substring(start, end)); } } } setComparator(); } /** * Show a comment div. */ function show(id) { $('#ao' + id).hide(); $('#ah' + id).show(); var context = $.extend({id: id}, opts); var popup = $(renderTemplate(popupTemplate, context)).hide(); popup.find('textarea[name="proposal"]').hide(); popup.find('a.by' + by).addClass('sel'); var form = popup.find('#cf' + id); form.submit(function(event) { event.preventDefault(); addComment(form); }); $('#s' + id).after(popup); popup.slideDown('fast', function() { getComments(id); }); } /** * Hide a comment div. */ function hide(id) { $('#ah' + id).hide(); $('#ao' + id).show(); var div = $('#sc' + id); div.slideUp('fast', function() { div.remove(); }); } /** * Perform an ajax request to get comments for a node * and insert the comments into the comments tree. */ function getComments(id) { $.ajax({ type: 'GET', url: opts.getCommentsURL, data: {node: id}, success: function(data, textStatus, request) { var ul = $('#cl' + id); var speed = 100; $('#cf' + id) .find('textarea[name="proposal"]') .data('source', data.source); if (data.comments.length === 0) { ul.html('
  • No comments yet.
  • '); ul.data('empty', true); } else { // If there are comments, sort them and put them in the list. var comments = sortComments(data.comments); speed = data.comments.length * 100; appendComments(comments, ul); ul.data('empty', false); } $('#cn' + id).slideUp(speed + 200); ul.slideDown(speed); }, error: function(request, textStatus, error) { showError('Oops, there was a problem retrieving the comments.'); }, dataType: 'json' }); } /** * Add a comment via ajax and insert the comment into the comment tree. */ function addComment(form) { var node_id = form.find('input[name="node"]').val(); var parent_id = form.find('input[name="parent"]').val(); var text = form.find('textarea[name="comment"]').val(); var proposal = form.find('textarea[name="proposal"]').val(); if (text == '') { showError('Please enter a comment.'); return; } // Disable the form that is being submitted. form.find('textarea,input').attr('disabled', 'disabled'); // Send the comment to the server. $.ajax({ type: "POST", url: opts.addCommentURL, dataType: 'json', data: { node: node_id, parent: parent_id, text: text, proposal: proposal }, success: function(data, textStatus, error) { // Reset the form. if (node_id) { hideProposeChange(node_id); } form.find('textarea') .val('') .add(form.find('input')) .removeAttr('disabled'); var ul = $('#cl' + (node_id || parent_id)); if (ul.data('empty')) { $(ul).empty(); ul.data('empty', false); } insertComment(data.comment); var ao = $('#ao' + node_id); ao.find('img').attr({'src': opts.commentBrightImage}); if (node_id) { // if this was a "root" comment, remove the commenting box // (the user can get it back by reopening the comment popup) $('#ca' + node_id).slideUp(); } }, error: function(request, textStatus, error) { form.find('textarea,input').removeAttr('disabled'); showError('Oops, there was a problem adding the comment.'); } }); } /** * Recursively append comments to the main comment list and children * lists, creating the comment tree. */ function appendComments(comments, ul) { $.each(comments, function() { var div = createCommentDiv(this); ul.append($(document.createElement('li')).html(div)); appendComments(this.children, div.find('ul.comment-children')); // To avoid stagnating data, don't store the comments children in data. this.children = null; div.data('comment', this); }); } /** * After adding a new comment, it must be inserted in the correct * location in the comment tree. */ function insertComment(comment) { var div = createCommentDiv(comment); // To avoid stagnating data, don't store the comments children in data. comment.children = null; div.data('comment', comment); var ul = $('#cl' + (comment.node || comment.parent)); var siblings = getChildren(ul); var li = $(document.createElement('li')); li.hide(); // Determine where in the parents children list to insert this comment. for(i=0; i < siblings.length; i++) { if (comp(comment, siblings[i]) <= 0) { $('#cd' + siblings[i].id) .parent() .before(li.html(div)); li.slideDown('fast'); return; } } // If we get here, this comment rates lower than all the others, // or it is the only comment in the list. ul.append(li.html(div)); li.slideDown('fast'); } function acceptComment(id) { $.ajax({ type: 'POST', url: opts.acceptCommentURL, data: {id: id}, success: function(data, textStatus, request) { $('#cm' + id).fadeOut('fast'); $('#cd' + id).removeClass('moderate'); }, error: function(request, textStatus, error) { showError('Oops, there was a problem accepting the comment.'); } }); } function deleteComment(id) { $.ajax({ type: 'POST', url: opts.deleteCommentURL, data: {id: id}, success: function(data, textStatus, request) { var div = $('#cd' + id); if (data == 'delete') { // Moderator mode: remove the comment and all children immediately div.slideUp('fast', function() { div.remove(); }); return; } // User mode: only mark the comment as deleted div .find('span.user-id:first') .text('[deleted]').end() .find('div.comment-text:first') .text('[deleted]').end() .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id + ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id) .remove(); var comment = div.data('comment'); comment.username = '[deleted]'; comment.text = '[deleted]'; div.data('comment', comment); }, error: function(request, textStatus, error) { showError('Oops, there was a problem deleting the comment.'); } }); } function showProposal(id) { $('#sp' + id).hide(); $('#hp' + id).show(); $('#pr' + id).slideDown('fast'); } function hideProposal(id) { $('#hp' + id).hide(); $('#sp' + id).show(); $('#pr' + id).slideUp('fast'); } function showProposeChange(id) { $('#pc' + id).hide(); $('#hc' + id).show(); var textarea = $('#pt' + id); textarea.val(textarea.data('source')); $.fn.autogrow.resize(textarea[0]); textarea.slideDown('fast'); } function hideProposeChange(id) { $('#hc' + id).hide(); $('#pc' + id).show(); var textarea = $('#pt' + id); textarea.val('').removeAttr('disabled'); textarea.slideUp('fast'); } function toggleCommentMarkupBox(id) { $('#mb' + id).toggle(); } /** Handle when the user clicks on a sort by link. */ function handleReSort(link) { var classes = link.attr('class').split(/\s+/); for (var i=0; iThank you! Your comment will show up ' + 'once it is has been approved by a moderator.'); } // Prettify the comment rating. comment.pretty_rating = comment.rating + ' point' + (comment.rating == 1 ? '' : 's'); // Make a class (for displaying not yet moderated comments differently) comment.css_class = comment.displayed ? '' : ' moderate'; // Create a div for this comment. var context = $.extend({}, opts, comment); var div = $(renderTemplate(commentTemplate, context)); // If the user has voted on this comment, highlight the correct arrow. if (comment.vote) { var direction = (comment.vote == 1) ? 'u' : 'd'; div.find('#' + direction + 'v' + comment.id).hide(); div.find('#' + direction + 'u' + comment.id).show(); } if (opts.moderator || comment.text != '[deleted]') { div.find('a.reply').show(); if (comment.proposal_diff) div.find('#sp' + comment.id).show(); if (opts.moderator && !comment.displayed) div.find('#cm' + comment.id).show(); if (opts.moderator || (opts.username == comment.username)) div.find('#dc' + comment.id).show(); } return div; } /** * A simple template renderer. Placeholders such as <%id%> are replaced * by context['id'] with items being escaped. Placeholders such as <#id#> * are not escaped. */ function renderTemplate(template, context) { var esc = $(document.createElement('div')); function handle(ph, escape) { var cur = context; $.each(ph.split('.'), function() { cur = cur[this]; }); return escape ? esc.text(cur || "").html() : cur; } return template.replace(/<([%#])([\w\.]*)\1>/g, function() { return handle(arguments[2], arguments[1] == '%' ? true : false); }); } /** Flash an error message briefly. */ function showError(message) { $(document.createElement('div')).attr({'class': 'popup-error'}) .append($(document.createElement('div')) .attr({'class': 'error-message'}).text(message)) .appendTo('body') .fadeIn("slow") .delay(2000) .fadeOut("slow"); } /** Add a link the user uses to open the comments popup. */ $.fn.comment = function() { return this.each(function() { var id = $(this).attr('id').substring(1); var count = COMMENT_METADATA[id]; var title = count + ' comment' + (count == 1 ? '' : 's'); var image = count > 0 ? opts.commentBrightImage : opts.commentImage; var addcls = count == 0 ? ' nocomment' : ''; $(this) .append( $(document.createElement('a')).attr({ href: '#', 'class': 'sphinx-comment-open' + addcls, id: 'ao' + id }) .append($(document.createElement('img')).attr({ src: image, alt: 'comment', title: title })) .click(function(event) { event.preventDefault(); show($(this).attr('id').substring(2)); }) ) .append( $(document.createElement('a')).attr({ href: '#', 'class': 'sphinx-comment-close hidden', id: 'ah' + id }) .append($(document.createElement('img')).attr({ src: opts.closeCommentImage, alt: 'close', title: 'close' })) .click(function(event) { event.preventDefault(); hide($(this).attr('id').substring(2)); }) ); }); }; var opts = { processVoteURL: '/_process_vote', addCommentURL: '/_add_comment', getCommentsURL: '/_get_comments', acceptCommentURL: '/_accept_comment', deleteCommentURL: '/_delete_comment', commentImage: '/static/_static/comment.png', closeCommentImage: '/static/_static/comment-close.png', loadingImage: '/static/_static/ajax-loader.gif', commentBrightImage: '/static/_static/comment-bright.png', upArrow: '/static/_static/up.png', downArrow: '/static/_static/down.png', upArrowPressed: '/static/_static/up-pressed.png', downArrowPressed: '/static/_static/down-pressed.png', voting: false, moderator: false }; if (typeof COMMENT_OPTIONS != "undefined") { opts = jQuery.extend(opts, COMMENT_OPTIONS); } var popupTemplate = '\
    \

    \ Sort by:\ best rated\ newest\ oldest\

    \
    Comments
    \
    \ loading comments...
    \
      \
      \

      Add a comment\ (markup):

      \
      \ reStructured text markup: *emph*, **strong**, \ ``code``, \ code blocks: :: and an indented block after blank line
      \
      \ \

      \ \ Propose a change ▹\ \ \ Propose a change ▿\ \

      \ \ \ \ \
      \
      \
      '; var commentTemplate = '\
      \
      \
      \ \ \ \ \ \ \
      \
      \ \ \ \ \ \ \
      \
      \
      \

      \ <%username%>\ <%pretty_rating%>\ <%time.delta%>\

      \
      <#text#>
      \

      \ \ reply ▿\ proposal ▹\ proposal ▿\ \ \

      \
      \
      <#proposal_diff#>\
              
      \
        \
        \
        \
        \ '; var replyTemplate = '\
      • \
        \
        \ \ \ \ \ \
        \
        \
      • '; $(document).ready(function() { init(); }); })(jQuery); $(document).ready(function() { // add comment anchors for all paragraphs that are commentable $('.sphinx-has-comment').comment(); // highlight search words in search results $("div.context").each(function() { var params = $.getQueryParameters(); var terms = (params.q) ? params.q[0].split(/\s+/) : []; var result = $(this); $.each(terms, function() { result.highlightText(this.toLowerCase(), 'highlighted'); }); }); // directly open comment window if requested var anchor = document.location.hash; if (anchor.substring(0, 9) == '#comment-') { $('#ao' + anchor.substring(9)).click(); document.location.hash = '#s' + anchor.substring(9); } }); PK(=xB@kh«œœ!pelican-3.1.1/_static/pelican.css/* * pelican.css_t * ~~~~~~~~~~~~ * * Sphinx stylesheet -- pelican theme, based on the nature theme * * :copyright: Copyright 2011 by Alexis Metaireau. */ @import url("basic.css"); /* -- page layout ----------------------------------------------------------- */ body { font-family: Arial, sans-serif; font-size: 100%; background-color: white; color: #555; margin: 0; padding: 0; } div.documentwrapper { width: 70%; margin: auto; } div.bodywrapper { margin: 0 0 0 230px; } hr { border: 1px solid #B1B4B6; } div.document { } div.body { background-color: #ffffff; color: #3E4349; padding: 0 30px 30px 30px; font-size: 0.9em; } div.footer { color: #555; width: 100%; padding: 13px 0; text-align: center; font-size: 75%; } div.footer a { color: #444; text-decoration: underline; } div.related { background-color: #6BA81E; line-height: 32px; color: #fff; text-shadow: 0px 1px 0 #444; font-size: 0.9em; } div.related a { color: #E2F3CC; } div.sphinxsidebar { font-size: 0.75em; line-height: 1.5em; } div.sphinxsidebarwrapper{ padding: 20px 0; } div.sphinxsidebar h3, div.sphinxsidebar h4 { font-family: Arial, sans-serif; color: #222; font-size: 1.2em; font-weight: normal; margin: 0; padding: 5px 10px; background-color: #ddd; text-shadow: 1px 1px 0 white } div.sphinxsidebar h4{ font-size: 1.1em; } div.sphinxsidebar h3 a { color: #444; } div.sphinxsidebar p { color: #888; padding: 5px 20px; } div.sphinxsidebar p.topless { } div.sphinxsidebar ul { margin: 10px 20px; padding: 0; color: #000; } div.sphinxsidebar a { color: #444; } div.sphinxsidebar input { border: 1px solid #ccc; font-family: sans-serif; font-size: 1em; } div.sphinxsidebar input[type=text]{ margin-left: 20px; } /* -- body styles ----------------------------------------------------------- */ a { color: #005B81; text-decoration: none; } a:hover { color: #E32E00; text-decoration: underline; } div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { font-family: Arial, sans-serif; font-weight: normal; color: #212224; margin: 30px 0px 10px 0px; padding: 5px 0 5px 10px; text-shadow: 0px 1px 0 white } div.indexwrapper h1 { text-indent: -999999px; background: url(pelican.png) no-repeat center center; height: 120px; } div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 250%; text-align: center; } div.body h2 { font-size: 150%; background-color: #C8D5E3; } div.body h3 { font-size: 120%; background-color: #D8DEE3; } div.body h4 { font-size: 110%; background-color: #D8DEE3; } div.body h5 { font-size: 100%; background-color: #D8DEE3; } div.body h6 { font-size: 100%; background-color: #D8DEE3; } a.headerlink { color: #c60f0f; font-size: 0.8em; padding: 0 4px 0 4px; text-decoration: none; } a.headerlink:hover { background-color: #c60f0f; color: white; } div.body p, div.body dd, div.body li { line-height: 1.5em; } div.admonition p.admonition-title + p { display: inline; } div.highlight{ background-color: #111; } div.note { background-color: #eee; border: 1px solid #ccc; } div.seealso { background-color: #ffc; border: 1px solid #ff6; } div.topic { background-color: #eee; } div.warning { background-color: #ffe4e4; border: 1px solid #f66; } p.admonition-title { display: inline; } p.admonition-title:after { content: ":"; } pre { padding: 10px; background-color: #111; color: #fff; line-height: 1.2em; border: 1px solid #C6C9CB; font-size: 1.1em; margin: 1.5em 0 1.5em 0; -webkit-box-shadow: 1px 1px 1px #d8d8d8; -moz-box-shadow: 1px 1px 1px #d8d8d8; } tt { background-color: #ecf0f3; color: #222; /* padding: 1px 2px; */ font-size: 1.1em; font-family: monospace; } .viewcode-back { font-family: Arial, sans-serif; } div.viewcode-block:target { background-color: #f4debf; border-top: 1px solid #ac9; border-bottom: 1px solid #ac9; }PK=xBïa¢ÜÇÇpelican-3.1.1/_static/plus.png‰PNG  IHDR &Îàq pHYs  šœtIME× 1l9tEXtCommentöÌ–¿RIDATÓczô(BÅñãÇáÒpö¿ÿ¨èˆip»‘¹P÷îÝÃc· ¸ |¶IEND®B`‚PK=xB<>¡¡%pelican-3.1.1/_static/ajax-loader.gifGIF89aòÿÿÿU|ÆÖßN€U|l–®Š«¾™¶Æ!þCreated with ajaxload.info!ù !ÿ NETSCAPE2.0,3ºÜþ0ÊIkc:œN˜f E±1º™Á¶.`ÄÂqÐ-[9ݦ9 JkçH!ù ,4ºÜþNŒ! „ »°æŠDqBQT`1 `LE[¨|µußía€ ×â†C²%$*!ù ,6º2#+ÊAÈÌ”V/…côNñIBa˜«pð ̳½ƨ+YíüƒÃ2©dŸ¿!ù ,3ºb%+Ê2†‘ìœV_…‹¦ …! 1D‡aªF‚°ÑbR]ó=08,Ȥr9L!ù ,2ºr'+JçdðóL &vÃ`\bT”…„¹hYB)ÏÊ@é<Ã&,ȤR’!ù ,3º Â9ãtç¼Úž0Çà!.B¶ÊW¬¢1  sa»°5÷•0° ‰»Ÿm)J!ù ,2ºÜþð ÙœU]šîÚqp•`ˆÝaœÝ4–…AFÅ0`›¶ Â@›1€ÂÖΑ!ù ,2ºÜþ0ÊI«eBÔœ)×à ŽÇq10©Ê°®PÂaVÚ¥ ub‚ž[;PK(=xB2õ2}!!pelican-3.1.1/_static/basic.css/* * basic.css * ~~~~~~~~~ * * Sphinx stylesheet -- basic theme. * * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /* -- main layout ----------------------------------------------------------- */ div.clearer { clear: both; } /* -- relbar ---------------------------------------------------------------- */ div.related { width: 100%; font-size: 90%; } div.related h3 { display: none; } div.related ul { margin: 0; padding: 0 0 0 10px; list-style: none; } div.related li { display: inline; } div.related li.right { float: right; margin-right: 5px; } /* -- sidebar --------------------------------------------------------------- */ div.sphinxsidebarwrapper { padding: 10px 5px 0 10px; } div.sphinxsidebar { float: left; width: 230px; margin-left: -100%; font-size: 90%; } div.sphinxsidebar ul { list-style: none; } div.sphinxsidebar ul ul, div.sphinxsidebar ul.want-points { margin-left: 20px; list-style: square; } div.sphinxsidebar ul ul { margin-top: 0; margin-bottom: 0; } div.sphinxsidebar form { margin-top: 10px; } div.sphinxsidebar input { border: 1px solid #98dbcc; font-family: sans-serif; font-size: 1em; } div.sphinxsidebar #searchbox input[type="text"] { width: 170px; } div.sphinxsidebar #searchbox input[type="submit"] { width: 30px; } img { border: 0; } /* -- search page ----------------------------------------------------------- */ ul.search { margin: 10px 0 0 20px; padding: 0; } ul.search li { padding: 5px 0 5px 20px; background-image: url(file.png); background-repeat: no-repeat; background-position: 0 7px; } ul.search li a { font-weight: bold; } ul.search li div.context { color: #888; margin: 2px 0 0 30px; text-align: left; } ul.keywordmatches li.goodmatch a { font-weight: bold; } /* -- index page ------------------------------------------------------------ */ table.contentstable { width: 90%; } table.contentstable p.biglink { line-height: 150%; } a.biglink { font-size: 1.3em; } span.linkdescr { font-style: italic; padding-top: 5px; font-size: 90%; } /* -- general index --------------------------------------------------------- */ table.indextable { width: 100%; } table.indextable td { text-align: left; vertical-align: top; } table.indextable dl, table.indextable dd { margin-top: 0; margin-bottom: 0; } table.indextable tr.pcap { height: 10px; } table.indextable tr.cap { margin-top: 10px; background-color: #f2f2f2; } img.toggler { margin-right: 3px; margin-top: 3px; cursor: pointer; } div.modindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } div.genindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } /* -- general body styles --------------------------------------------------- */ a.headerlink { visibility: hidden; } h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, h4:hover > a.headerlink, h5:hover > a.headerlink, h6:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } div.body p.caption { text-align: inherit; } div.body td { text-align: left; } .field-list ul { padding-left: 1em; } .first { margin-top: 0 !important; } p.rubric { margin-top: 30px; font-weight: bold; } img.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } img.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } img.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } /* -- sidebars -------------------------------------------------------------- */ div.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px 7px 0 7px; background-color: #ffe; width: 40%; float: right; } p.sidebar-title { font-weight: bold; } /* -- topics ---------------------------------------------------------------- */ div.topic { border: 1px solid #ccc; padding: 7px 7px 0 7px; margin: 10px 0 10px 0; } p.topic-title { font-size: 1.1em; font-weight: bold; margin-top: 10px; } /* -- admonitions ----------------------------------------------------------- */ div.admonition { margin-top: 10px; margin-bottom: 10px; padding: 7px; } div.admonition dt { font-weight: bold; } div.admonition dl { margin-bottom: 0; } p.admonition-title { margin: 0px 10px 5px 0px; font-weight: bold; } div.body p.centered { text-align: center; margin-top: 25px; } /* -- tables ---------------------------------------------------------------- */ table.docutils { border: 0; border-collapse: collapse; } table.docutils td, table.docutils th { padding: 1px 8px 1px 5px; border-top: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #aaa; } table.field-list td, table.field-list th { border: 0 !important; } table.footnote td, table.footnote th { border: 0 !important; } th { text-align: left; padding-right: 5px; } table.citation { border-left: solid 1px gray; margin-left: 1px; } table.citation td { border-bottom: none; } /* -- other body styles ----------------------------------------------------- */ ol.arabic { list-style: decimal; } ol.loweralpha { list-style: lower-alpha; } ol.upperalpha { list-style: upper-alpha; } ol.lowerroman { list-style: lower-roman; } ol.upperroman { list-style: upper-roman; } dl { margin-bottom: 15px; } dd p { margin-top: 0px; } dd ul, dd table { margin-bottom: 10px; } dd { margin-top: 3px; margin-bottom: 10px; margin-left: 30px; } dt:target, .highlighted { background-color: #fbe54e; } dl.glossary dt { font-weight: bold; font-size: 1.1em; } .field-list ul { margin: 0; padding-left: 1em; } .field-list p { margin: 0; } .refcount { color: #060; } .optional { font-size: 1.3em; } .versionmodified { font-style: italic; } .system-message { background-color: #fda; padding: 5px; border: 3px solid red; } .footnote:target { background-color: #ffa; } .line-block { display: block; margin-top: 1em; margin-bottom: 1em; } .line-block .line-block { margin-top: 0; margin-bottom: 0; margin-left: 1.5em; } .guilabel, .menuselection { font-family: sans-serif; } .accelerator { text-decoration: underline; } .classifier { font-style: oblique; } abbr, acronym { border-bottom: dotted 1px; cursor: help; } /* -- code displays --------------------------------------------------------- */ pre { overflow: auto; overflow-y: hidden; /* fixes display issues on Chrome browsers */ } td.linenos pre { padding: 5px 0px; border: 0; background-color: transparent; color: #aaa; } table.highlighttable { margin-left: 0.5em; } table.highlighttable td { padding: 0 0.5em 0 0.5em; } tt.descname { background-color: transparent; font-weight: bold; font-size: 1.2em; } tt.descclassname { background-color: transparent; } tt.xref, a tt { background-color: transparent; font-weight: bold; } h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { background-color: transparent; } .viewcode-link { float: right; } .viewcode-back { float: right; font-family: sans-serif; } div.viewcode-block:target { margin: -1px -10px; padding: 0 10px; } /* -- math display ---------------------------------------------------------- */ img.math { vertical-align: middle; } div.body div.math p { text-align: center; } span.eqno { float: right; } /* -- printout stylesheet --------------------------------------------------- */ @media print { div.document, div.documentwrapper, div.bodywrapper { margin: 0 !important; width: 100%; } div.sphinxsidebar, div.related, div.footer, #top-link { display: none; } }PK=xBü¹× ¸¸!pelican-3.1.1/_static/doctools.js/* * doctools.js * ~~~~~~~~~~~ * * Sphinx JavaScript utilities for all documentation. * * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /** * select a different prefix for underscore */ $u = _.noConflict(); /** * make the code below compatible with browsers without * an installed firebug like debugger if (!window.console || !console.firebug) { var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; window.console = {}; for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {}; } */ /** * small helper function to urldecode strings */ jQuery.urldecode = function(x) { return decodeURIComponent(x).replace(/\+/g, ' '); } /** * small helper function to urlencode strings */ jQuery.urlencode = encodeURIComponent; /** * This function returns the parsed url parameters of the * current request. Multiple values per key are supported, * it will always return arrays of strings for the value parts. */ jQuery.getQueryParameters = function(s) { if (typeof s == 'undefined') s = document.location.search; var parts = s.substr(s.indexOf('?') + 1).split('&'); var result = {}; for (var i = 0; i < parts.length; i++) { var tmp = parts[i].split('=', 2); var key = jQuery.urldecode(tmp[0]); var value = jQuery.urldecode(tmp[1]); if (key in result) result[key].push(value); else result[key] = [value]; } return result; }; /** * small function to check if an array contains * a given item. */ jQuery.contains = function(arr, item) { for (var i = 0; i < arr.length; i++) { if (arr[i] == item) return true; } return false; }; /** * highlight a given string on a jquery object by wrapping it in * span elements with the given class name. */ jQuery.fn.highlightText = function(text, className) { function highlight(node) { if (node.nodeType == 3) { var val = node.nodeValue; var pos = val.toLowerCase().indexOf(text); if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { var span = document.createElement("span"); span.className = className; span.appendChild(document.createTextNode(val.substr(pos, text.length))); node.parentNode.insertBefore(span, node.parentNode.insertBefore( document.createTextNode(val.substr(pos + text.length)), node.nextSibling)); node.nodeValue = val.substr(0, pos); } } else if (!jQuery(node).is("button, select, textarea")) { jQuery.each(node.childNodes, function() { highlight(this); }); } } return this.each(function() { highlight(this); }); }; /** * Small JavaScript module for the documentation. */ var Documentation = { init : function() { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); }, /** * i18n support */ TRANSLATIONS : {}, PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, LOCALE : 'unknown', // gettext and ngettext don't access this so that the functions // can safely bound to a different name (_ = Documentation.gettext) gettext : function(string) { var translated = Documentation.TRANSLATIONS[string]; if (typeof translated == 'undefined') return string; return (typeof translated == 'string') ? translated : translated[0]; }, ngettext : function(singular, plural, n) { var translated = Documentation.TRANSLATIONS[singular]; if (typeof translated == 'undefined') return (n == 1) ? singular : plural; return translated[Documentation.PLURALEXPR(n)]; }, addTranslations : function(catalog) { for (var key in catalog.messages) this.TRANSLATIONS[key] = catalog.messages[key]; this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); this.LOCALE = catalog.locale; }, /** * add context elements like header anchor links */ addContextElements : function() { $('div[id] > :header:first').each(function() { $('\u00B6'). attr('href', '#' + this.id). attr('title', _('Permalink to this headline')). appendTo(this); }); $('dt[id]').each(function() { $('\u00B6'). attr('href', '#' + this.id). attr('title', _('Permalink to this definition')). appendTo(this); }); }, /** * workaround a firefox stupidity */ fixFirefoxAnchorBug : function() { if (document.location.hash && $.browser.mozilla) window.setTimeout(function() { document.location.href += ''; }, 10); }, /** * highlight the search words provided in the url in the text */ highlightSearchWords : function() { var params = $.getQueryParameters(); var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; if (terms.length) { var body = $('div.body'); window.setTimeout(function() { $.each(terms, function() { body.highlightText(this.toLowerCase(), 'highlighted'); }); }, 10); $('') .appendTo($('#searchbox')); } }, /** * init the domain index toggle buttons */ initIndexTable : function() { var togglers = $('img.toggler').click(function() { var src = $(this).attr('src'); var idnum = $(this).attr('id').substr(7); $('tr.cg-' + idnum).toggle(); if (src.substr(-9) == 'minus.png') $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); else $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); }).css('display', ''); if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { togglers.click(); } }, /** * helper function to hide the search marks again */ hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); }, /** * make the url absolute */ makeURL : function(relativeURL) { return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; }, /** * get the current relative url */ getCurrentURL : function() { var path = document.location.pathname; var parts = path.split(/\//); $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { if (this == '..') parts.pop(); }); var url = parts.join('/'); return path.substring(url.lastIndexOf('/') + 1, path.length - 1); } }; // quick alias for translations _ = Documentation.gettext; $(document).ready(function() { Documentation.init(); }); PKN *B”òt = =pelican-3.1.1/_static/rtd.css/* * rtd.css * ~~~~~~~~~~~~~~~ * * Sphinx stylesheet -- sphinxdoc theme. Originally created by * Armin Ronacher for Werkzeug. * * Customized for ReadTheDocs by Eric Pierce & Eric Holscher * * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /* RTD colors * light blue: #e8ecef * medium blue: #8ca1af * dark blue: #465158 * dark grey: #444444 * * white hover: #d1d9df; * medium blue hover: #697983; * green highlight: #8ecc4c * light blue (project bar): #e8ecef */ @import url("basic.css"); /* PAGE LAYOUT -------------------------------------------------------------- */ body { font: 100%/1.5 "ff-meta-web-pro-1","ff-meta-web-pro-2",Arial,"Helvetica Neue",sans-serif; text-align: center; color: black; background-color: #465158; padding: 0; margin: 0; } div.document { text-align: left; background-color: #e8ecef; } div.bodywrapper { background-color: #ffffff; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; margin: 0 0 0 16em; } div.body { margin: 0; padding: 0.5em 1.3em; min-width: 20em; } div.related { font-size: 1em; background-color: #465158; } div.documentwrapper { float: left; width: 100%; background-color: #e8ecef; } /* HEADINGS --------------------------------------------------------------- */ h1 { margin: 0; padding: 0.7em 0 0.3em 0; font-size: 1.5em; line-height: 1.15; color: #111; clear: both; } h2 { margin: 2em 0 0.2em 0; font-size: 1.35em; padding: 0; color: #465158; } h3 { margin: 1em 0 -0.3em 0; font-size: 1.2em; color: #6c818f; } div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a { color: black; } h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor { display: none; margin: 0 0 0 0.3em; padding: 0 0.2em 0 0.2em; color: #aaa !important; } h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { display: inline; } h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover, h5 a.anchor:hover, h6 a.anchor:hover { color: #777; background-color: #eee; } /* LINKS ------------------------------------------------------------------ */ /* Normal links get a pseudo-underline */ a { color: #444; text-decoration: none; border-bottom: 1px solid #ccc; } /* Links in sidebar, TOC, index trees and tables have no underline */ .sphinxsidebar a, .toctree-wrapper a, .indextable a, #indices-and-tables a { color: #444; text-decoration: none; border-bottom: none; } /* Most links get an underline-effect when hovered */ a:hover, div.toctree-wrapper a:hover, .indextable a:hover, #indices-and-tables a:hover { color: #111; text-decoration: none; border-bottom: 1px solid #111; } /* Footer links */ div.footer a { color: #86989B; text-decoration: none; border: none; } div.footer a:hover { color: #a6b8bb; text-decoration: underline; border: none; } /* Permalink anchor (subtle grey with a red hover) */ div.body a.headerlink { color: #ccc; font-size: 1em; margin-left: 6px; padding: 0 4px 0 4px; text-decoration: none; border: none; } div.body a.headerlink:hover { color: #c60f0f; border: none; } /* NAVIGATION BAR --------------------------------------------------------- */ div.related ul { height: 2.5em; } div.related ul li { margin: 0; padding: 0.65em 0; float: left; display: block; color: white; /* For the >> separators */ font-size: 0.8em; } div.related ul li.right { float: right; margin-right: 5px; color: transparent; /* Hide the | separators */ } /* "Breadcrumb" links in nav bar */ div.related ul li a { order: none; background-color: inherit; font-weight: bold; margin: 6px 0 6px 4px; line-height: 1.75em; color: #ffffff; padding: 0.4em 0.8em; border: none; border-radius: 3px; } /* previous / next / modules / index links look more like buttons */ div.related ul li.right a { margin: 0.375em 0; background-color: #697983; text-shadow: 0 1px rgba(0, 0, 0, 0.5); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } /* All navbar links light up as buttons when hovered */ div.related ul li a:hover { background-color: #8ca1af; color: #ffffff; text-decoration: none; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } /* Take extra precautions for tt within links */ a tt, div.related ul li a tt { background: inherit !important; color: inherit !important; } /* SIDEBAR ---------------------------------------------------------------- */ div.sphinxsidebarwrapper { padding: 0; } div.sphinxsidebar { margin: 0; margin-left: -100%; float: left; top: 3em; left: 0; padding: 0 1em; width: 14em; font-size: 1em; text-align: left; background-color: #e8ecef; } div.sphinxsidebar img { max-width: 12em; } div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p.logo { margin: 1.2em 0 0.3em 0; font-size: 1em; padding: 0; color: #222222; font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", "Arial", "Helvetica Neue", sans-serif; } div.sphinxsidebar h3 a { color: #444444; } div.sphinxsidebar ul, div.sphinxsidebar p { margin-top: 0; padding-left: 0; line-height: 130%; background-color: #e8ecef; } /* No bullets for nested lists, but a little extra indentation */ div.sphinxsidebar ul ul { list-style-type: none; margin-left: 1.5em; padding: 0; } /* A little top/bottom padding to prevent adjacent links' borders * from overlapping each other */ div.sphinxsidebar ul li { padding: 1px 0; } /* A little left-padding to make these align with the ULs */ div.sphinxsidebar p.topless { padding-left: 0 0 0 1em; } /* Make these into hidden one-liners */ div.sphinxsidebar ul li, div.sphinxsidebar p.topless { white-space: nowrap; overflow: hidden; } /* ...which become visible when hovered */ div.sphinxsidebar ul li:hover, div.sphinxsidebar p.topless:hover { overflow: visible; } /* Search text box and "Go" button */ #searchbox { margin-top: 2em; margin-bottom: 1em; background: #ddd; padding: 0.5em; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; } #searchbox h3 { margin-top: 0; } /* Make search box and button abut and have a border */ input, div.sphinxsidebar input { border: 1px solid #999; float: left; } /* Search textbox */ input[type="text"] { margin: 0; padding: 0 3px; height: 20px; width: 144px; border-top-left-radius: 3px; border-bottom-left-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; } /* Search button */ input[type="submit"] { margin: 0 0 0 -1px; /* -1px prevents a double-border with textbox */ height: 22px; color: #444; background-color: #e8ecef; padding: 1px 4px; font-weight: bold; border-top-right-radius: 3px; border-bottom-right-radius: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; } input[type="submit"]:hover { color: #ffffff; background-color: #8ecc4c; } div.sphinxsidebar p.searchtip { clear: both; padding: 0.5em 0 0 0; background: #ddd; color: #666; font-size: 0.9em; } /* Sidebar links are unusual */ div.sphinxsidebar li a, div.sphinxsidebar p a { background: #e8ecef; /* In case links overlap main content */ border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border: 1px solid transparent; /* To prevent things jumping around on hover */ padding: 0 5px 0 5px; } div.sphinxsidebar li a:hover, div.sphinxsidebar p a:hover { color: #111; text-decoration: none; border: 1px solid #888; } div.sphinxsidebar p.logo a { border: 0; } /* Tweak any link appearing in a heading */ div.sphinxsidebar h3 a { } /* OTHER STUFF ------------------------------------------------------------ */ cite, code, tt { font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.95em; letter-spacing: 0.01em; } tt { background-color: #f2f2f2; color: #444; } tt.descname, tt.descclassname, tt.xref { border: 0; } hr { border: 1px solid #abc; margin: 2em; } pre, #_fontwidthtest { font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; margin: 1em 2em; font-size: 0.95em; letter-spacing: 0.015em; line-height: 120%; padding: 0.5em; border: 1px solid #ccc; background-color: #eee; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; } pre a { color: inherit; text-decoration: underline; } td.linenos pre { margin: 1em 0em; } td.code pre { margin: 1em 0em; } div.quotebar { background-color: #f8f8f8; max-width: 250px; float: right; padding: 2px 7px; border: 1px solid #ccc; } div.topic { background-color: #f8f8f8; } table { border-collapse: collapse; margin: 0 -0.5em 0 -0.5em; } table td, table th { padding: 0.2em 0.5em 0.2em 0.5em; } /* ADMONITIONS AND WARNINGS ------------------------------------------------- */ /* Shared by admonitions, warnings and sidebars */ div.admonition, div.warning, div.sidebar { font-size: 0.9em; margin: 2em; padding: 0; /* border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; */ } div.admonition p, div.warning p, div.sidebar p { margin: 0.5em 1em 0.5em 1em; padding: 0; } div.admonition pre, div.warning pre, div.sidebar pre { margin: 0.4em 1em 0.4em 1em; } div.admonition p.admonition-title, div.warning p.admonition-title, div.sidebar p.sidebar-title { margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 1px rgba(0, 0, 0, 0.5); } div.admonition ul, div.admonition ol, div.warning ul, div.warning ol, div.sidebar ul, div.sidebar ol { margin: 0.1em 0.5em 0.5em 3em; padding: 0; } /* Admonitions and sidebars only */ div.admonition, div.sidebar { border: 1px solid #609060; background-color: #e9ffe9; } div.admonition p.admonition-title, div.sidebar p.sidebar-title { background-color: #70A070; border-bottom: 1px solid #609060; } /* Warnings only */ div.warning { border: 1px solid #900000; background-color: #ffe9e9; } div.warning p.admonition-title { background-color: #b04040; border-bottom: 1px solid #900000; } /* Sidebars only */ div.sidebar { max-width: 30%; } div.versioninfo { margin: 1em 0 0 0; border: 1px solid #ccc; background-color: #DDEAF0; padding: 8px; line-height: 1.3em; font-size: 0.9em; } .viewcode-back { font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; } div.viewcode-block:target { background-color: #f4debf; border-top: 1px solid #ac9; border-bottom: 1px solid #ac9; } dl { margin: 1em 0 2.5em 0; } /* Highlight target when you click an internal link */ dt:target { background: #ffe080; } /* Don't highlight whole divs */ div.highlight { background: transparent; } /* But do highlight spans (so search results can be highlighted) */ span.highlight { background: #ffe080; } div.footer { background-color: #465158; color: #eeeeee; padding: 0 2em 2em 2em; clear: both; font-size: 0.8em; text-align: center; } p { margin: 0.8em 0 0.5em 0; } .section p img.math { margin: 0; } .section p img { margin: 1em 2em; } /* MOBILE LAYOUT -------------------------------------------------------------- */ @media screen and (max-width: 600px) { h1, h2, h3, h4, h5 { position: relative; } ul { padding-left: 1.25em; } div.bodywrapper a.headerlink, #indices-and-tables h1 a { color: #e6e6e6; font-size: 80%; float: right; line-height: 1.8; position: absolute; right: -0.7em; visibility: inherit; } div.bodywrapper h1 a.headerlink, #indices-and-tables h1 a { line-height: 1.5; } pre { font-size: 0.7em; overflow: auto; word-wrap: break-word; white-space: pre-wrap; } div.related ul { height: 2.5em; padding: 0; text-align: left; } div.related ul li { clear: both; color: #465158; padding: 0.2em 0; } div.related ul li:last-child { border-bottom: 1px dotted #8ca1af; padding-bottom: 0.4em; margin-bottom: 1em; width: 100%; } div.related ul li a { color: #465158; padding-right: 0; } div.related ul li a:hover { background: inherit; color: inherit; } div.related ul li.right { clear: none; padding: 0.65em 0; margin-bottom: 0.5em; } div.related ul li.right a { color: #fff; padding-right: 0.8em; } div.related ul li.right a:hover { background-color: #8ca1af; } div.body { clear: both; min-width: 0; word-wrap: break-word; } div.bodywrapper { margin: 0 0 0 0; } div.sphinxsidebar { float: none; margin: 0; width: auto; } div.sphinxsidebar input[type="text"] { height: 2em; line-height: 2em; width: 70%; } div.sphinxsidebar input[type="submit"] { height: 2em; margin-left: 0.5em; width: 20%; } div.sphinxsidebar p.searchtip { background: inherit; margin-bottom: 1em; } div.sphinxsidebar ul li, div.sphinxsidebar p.topless { white-space: normal; } .bodywrapper img { display: block; margin-left: auto; margin-right: auto; max-width: 100%; } div.documentwrapper { float: none; } div.admonition, div.warning, pre, blockquote { margin-left: 0em; margin-right: 0em; } .body p img { margin: 0; } #searchbox { background: transparent; } .related:not(:first-child) li { display: none; } .related:not(:first-child) li.right { display: block; } div.footer { padding: 1em; } .rtd_doc_footer .rtd-badge { float: none; margin: 1em auto; position: static; } .rtd_doc_footer .rtd-badge.revsys-inline { margin-right: auto; margin-bottom: 2em; } table.indextable { display: block; width: auto; } .indextable tr { display: block; } .indextable td { display: block; padding: 0; width: auto !important; } .indextable td dt { margin: 1em 0; } ul.search { margin-left: 0.25em; } ul.search li div.context { font-size: 90%; line-height: 1.1; margin-bottom: 1; margin-left: 0; } } PK(=xB:>«>«>$pelican-3.1.1/_static/searchtools.js/* * searchtools.js_t * ~~~~~~~~~~~~~~~~ * * Sphinx JavaScript utilties for the full-text search. * * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /** * helper function to return a node containing the * search summary for a given text. keywords is a list * of stemmed words, hlwords is the list of normal, unstemmed * words. the first one is used to find the occurance, the * latter for highlighting it. */ jQuery.makeSearchSummary = function(text, keywords, hlwords) { var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { var i = textLower.indexOf(this.toLowerCase()); if (i > -1) start = i; }); start = Math.max(start - 120, 0); var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); var rv = $('
        ').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); return rv; } /** * Porter Stemmer */ var Stemmer = function() { var step2list = { ational: 'ate', tional: 'tion', enci: 'ence', anci: 'ance', izer: 'ize', bli: 'ble', alli: 'al', entli: 'ent', eli: 'e', ousli: 'ous', ization: 'ize', ation: 'ate', ator: 'ate', alism: 'al', iveness: 'ive', fulness: 'ful', ousness: 'ous', aliti: 'al', iviti: 'ive', biliti: 'ble', logi: 'log' }; var step3list = { icate: 'ic', ative: '', alize: 'al', iciti: 'ic', ical: 'ic', ful: '', ness: '' }; var c = "[^aeiou]"; // consonant var v = "[aeiouy]"; // vowel var C = c + "[^aeiouy]*"; // consonant sequence var V = v + "[aeiou]*"; // vowel sequence var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 var s_v = "^(" + C + ")?" + v; // vowel in stem this.stemWord = function (w) { var stem; var suffix; var firstch; var origword = w; if (w.length < 3) return w; var re; var re2; var re3; var re4; firstch = w.substr(0,1); if (firstch == "y") w = firstch.toUpperCase() + w.substr(1); // Step 1a re = /^(.+?)(ss|i)es$/; re2 = /^(.+?)([^s])s$/; if (re.test(w)) w = w.replace(re,"$1$2"); else if (re2.test(w)) w = w.replace(re2,"$1$2"); // Step 1b re = /^(.+?)eed$/; re2 = /^(.+?)(ed|ing)$/; if (re.test(w)) { var fp = re.exec(w); re = new RegExp(mgr0); if (re.test(fp[1])) { re = /.$/; w = w.replace(re,""); } } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1]; re2 = new RegExp(s_v); if (re2.test(stem)) { w = stem; re2 = /(at|bl|iz)$/; re3 = new RegExp("([^aeiouylsz])\\1$"); re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re2.test(w)) w = w + "e"; else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } else if (re4.test(w)) w = w + "e"; } } // Step 1c re = /^(.+?)y$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(s_v); if (re.test(stem)) w = stem + "i"; } // Step 2 re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step2list[suffix]; } // Step 3 re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step3list[suffix]; } // Step 4 re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; re2 = /^(.+?)(s|t)(ion)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); if (re.test(stem)) w = stem; } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1] + fp[2]; re2 = new RegExp(mgr1); if (re2.test(stem)) w = stem; } // Step 5 re = /^(.+?)e$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); re2 = new RegExp(meq1); re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) w = stem; } re = /ll$/; re2 = new RegExp(mgr1); if (re.test(w) && re2.test(w)) { re = /.$/; w = w.replace(re,""); } // and turn initial Y back to y if (firstch == "y") w = firstch.toLowerCase() + w.substr(1); return w; } } /** * Search Module */ var Search = { _index : null, _queued_query : null, _pulse_status : -1, init : function() { var params = $.getQueryParameters(); if (params.q) { var query = params.q[0]; $('input[name="q"]')[0].value = query; this.performSearch(query); } }, loadIndex : function(url) { $.ajax({type: "GET", url: url, data: null, success: null, dataType: "script", cache: true}); }, setIndex : function(index) { var q; this._index = index; if ((q = this._queued_query) !== null) { this._queued_query = null; Search.query(q); } }, hasIndex : function() { return this._index !== null; }, deferQuery : function(query) { this._queued_query = query; }, stopPulse : function() { this._pulse_status = 0; }, startPulse : function() { if (this._pulse_status >= 0) return; function pulse() { Search._pulse_status = (Search._pulse_status + 1) % 4; var dotString = ''; for (var i = 0; i < Search._pulse_status; i++) dotString += '.'; Search.dots.text(dotString); if (Search._pulse_status > -1) window.setTimeout(pulse, 500); }; pulse(); }, /** * perform a search for something */ performSearch : function(query) { // create the required interface elements this.out = $('#search-results'); this.title = $('

        ' + _('Searching') + '

        ').appendTo(this.out); this.dots = $('').appendTo(this.title); this.status = $('

        ').appendTo(this.out); this.output = $('