ports/150680: [SECURITY] [PATCH] Update www/py-django to 1.2.2

Xin LI delphij at FreeBSD.org
Fri Sep 17 20:30:10 UTC 2010


>Number:         150680
>Category:       ports
>Synopsis:       [SECURITY] [PATCH] Update www/py-django to 1.2.2
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 17 20:30:08 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Xin LI
>Release:        FreeBSD 8.1-PRERELEASE i386
>Organization:
iXsystems Inc.
>Environment:
System: FreeBSD freefall.freebsd.org 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #44 r209978: Tue Jul 13 08:42:03 UTC 2010 simon at freefall.freebsd.org:/usr/src/sys/i386/compile/FREEFALL i386


>Description:
	http://www.vuxml.org/freebsd/3ff95dd3-c291-11df-b0dc-00215c6a37bb.html

>How-To-Repeat:
>Fix:


--- py-django.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/www/py-django/Makefile,v
retrieving revision 1.32
diff -u -p -r1.32 Makefile
--- Makefile	24 Aug 2010 20:57:01 -0000	1.32
+++ Makefile	17 Sep 2010 19:38:09 -0000
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=	django
-PORTVERSION=	1.2.1
-PORTREVISION=	1
+PORTVERSION=	1.2.2
 CATEGORIES=	www python
 MASTER_SITES=	http://media.djangoproject.com/releases/${PORTVERSION}/ \
 		CHEESESHOP
@@ -66,7 +65,6 @@ RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}flu
 .endif
 
 .if defined(WITH_DOCS)
-EXTRA_PATCHES+=		${PATCHDIR}/extra-patch-sphinx
 BUILD_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}sphinx>0:${PORTSDIR}/textproc/py-sphinx
 PORTDOCS=	*
 .endif
@@ -77,13 +75,6 @@ pre-patch:
 	${MKDIR} ${WRKSRC}/docs/_theme/static
 .endif
 
-post-patch:
-.if defined(WITH_DOCS)
-.	for f in docicons-behindscenes.png docicons-note.png docicons-philosophy.png
-		${MV} ${WRKSRC}/docs/_static/${f} ${WRKSRC}/docs/_theme/djangodocs/static/
-.	endfor
-.endif
-
 post-build:
 .if defined(WITH_DOCS)
 .	if defined(NOPORTDOCS)
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/www/py-django/distinfo,v
retrieving revision 1.14
diff -u -p -r1.14 distinfo
--- distinfo	26 May 2010 11:26:13 -0000	1.14
+++ distinfo	17 Sep 2010 19:32:53 -0000
@@ -1,3 +1,3 @@
-MD5 (python/Django-1.2.1.tar.gz) = 2351efb20f6b7b5d9ce80fa4cb1bd9ca
-SHA256 (python/Django-1.2.1.tar.gz) = eaa29f2344568cc871c4517a348de0d5c39fbd055b4c998cd4a80601bb51e7b9
-SIZE (python/Django-1.2.1.tar.gz) = 6248006
+MD5 (python/Django-1.2.2.tar.gz) = 9cdbf79a31988ace9ef2ab4ede890136
+SHA256 (python/Django-1.2.2.tar.gz) = 803831781dbe9802de079c6735b7f5ecd7edf2ea8d91cb031e9b29c720d3d1ba
+SIZE (python/Django-1.2.2.tar.gz) = 6304356
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/www/py-django/pkg-plist,v
retrieving revision 1.15
diff -u -p -r1.15 pkg-plist
--- pkg-plist	26 May 2010 11:50:07 -0000	1.15
+++ pkg-plist	17 Sep 2010 20:09:14 -0000
@@ -415,6 +415,16 @@ bin/django-admin.py
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mk/formats.py
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mk/formats.pyc
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mk/formats.pyo
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/LC_MESSAGES/django.mo
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/LC_MESSAGES/django.po
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/LC_MESSAGES/djangojs.mo
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/LC_MESSAGES/djangojs.po
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/__init__.py
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/__init__.pyc
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/__init__.pyo
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/formats.py
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/formats.pyc
+%%PYTHON_SITELIBDIR%%/django/conf/locale/ml/formats.pyo
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mn/LC_MESSAGES/django.mo
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mn/LC_MESSAGES/django.po
 %%PYTHON_SITELIBDIR%%/django/conf/locale/mn/LC_MESSAGES/djangojs.mo
@@ -1109,6 +1119,21 @@ bin/django-admin.py
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/models.py
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/models.pyc
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/models.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/__init__.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/__init__.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/csrf.py
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/csrf.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/csrf.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/middleware.py
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/middleware.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/middleware.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/urls.py
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/urls.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/urls.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/views.py
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/views.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests/views.pyo
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/urls.py
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/urls.pyc
 %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/urls.pyo
@@ -2138,8 +2163,20 @@ bin/django-admin.py
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/management/commands/ping_google.py
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/management/commands/ping_google.pyc
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/management/commands/ping_google.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/models.py
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/models.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/models.pyo
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/templates/sitemap.xml
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/templates/sitemap_index.xml
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/__init__.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/__init__.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/basic.py
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/basic.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/basic.pyo
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/urls.py
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/urls.pyc
+%%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests/urls.pyo
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/views.py
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/views.pyc
 %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/views.pyo
@@ -3001,6 +3038,7 @@ bin/django-admin.py
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/webdesign
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/syndication
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/sites
+ at dirrm %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/tests
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/templates
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/management/commands
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/sitemaps/management
@@ -3101,6 +3139,7 @@ bin/django-admin.py
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/formtools/templates/formtools
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/formtools/templates
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/formtools
+ at dirrm %%PYTHON_SITELIBDIR%%/django/contrib/flatpages/tests
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/flatpages
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/databrowse/templates/databrowse
 @dirrm %%PYTHON_SITELIBDIR%%/django/contrib/databrowse/templates
@@ -3193,6 +3232,8 @@ bin/django-admin.py
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/nb
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/mn/LC_MESSAGES
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/mn
+ at dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/ml/LC_MESSAGES
+ at dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/ml
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/mk/LC_MESSAGES
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/mk
 @dirrm %%PYTHON_SITELIBDIR%%/django/conf/locale/lv/LC_MESSAGES
Index: files/extra-patch-sphinx
===================================================================
RCS file: files/extra-patch-sphinx
diff -N files/extra-patch-sphinx
--- files/extra-patch-sphinx	24 Aug 2010 20:57:01 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,1058 +0,0 @@
---- docs/conf.py	2010-05-18 02:51:50.000000000 +0800
-+++ docs/conf.py	2010-08-25 02:57:47.931650357 +0800
-@@ -8,17 +8,21 @@
- # The contents of this file are pickled, so don't put values in the namespace
- # that aren't pickleable (module imports are okay, they're removed automatically).
- #
--# All configuration values have a default value; values that are commented out
--# serve to show the default value.
-+# All configuration values have a default; values that are commented out
-+# serve to show the default.
- 
- import sys
- import os
- 
--# If your extensions are in another directory, add it here.
--sys.path.append(os.path.join(os.path.dirname(__file__), "_ext"))
-+# If extensions (or modules to document with autodoc) are in another directory,
-+# add these directories to sys.path here. If the directory is relative to the
-+# documentation root, use os.path.abspath to make it absolute, like shown here.
-+sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "_ext")))
- 
--# General configuration
--# ---------------------
-+# -- General configuration -----------------------------------------------------
-+
-+# If your documentation needs a minimal Sphinx version, state it here.
-+#needs_sphinx = '1.0'
- 
- # Add any Sphinx extension module names here, as strings. They can be extensions
- # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-@@ -30,6 +34,9 @@
- # The suffix of source filenames.
- source_suffix = '.txt'
- 
-+# The encoding of source files.
-+#source_encoding = 'utf-8-sig'
-+
- # The master toctree document.
- master_doc = 'contents'
- 
-@@ -37,8 +44,10 @@
- project = 'Django'
- copyright = 'Django Software Foundation and contributors'
- 
--# The default replacements for |version| and |release|, also used in various
--# other places throughout the built documents.
-+
-+# The version info for the project you're documenting, acts as replacement for
-+# |version| and |release|, also used in various other places throughout the
-+# built documents.
- #
- # The short X.Y version.
- version = '1.2'
-@@ -47,14 +56,22 @@
- # The next version to be released
- django_next_version = '1.3'
- 
-+# The language for content autogenerated by Sphinx. Refer to documentation
-+# for a list of supported languages.
-+#language = None
-+
- # There are two options for replacing |today|: either, you set today to some
- # non-false value, then it is used:
- #today = ''
- # Else, today_fmt is used as the format for a strftime call.
- today_fmt = '%B %d, %Y'
- 
--# List of documents that shouldn't be included in the build.
--#unused_docs = []
-+# List of patterns, relative to source directory, that match files and
-+# directories to ignore when looking for source files.
-+exclude_patterns = ['_build']
-+
-+# The reST default role (used for this markup: `text`) to use for all documents.
-+#default_role = None
- 
- # If true, '()' will be appended to :func: etc. cross-reference text.
- add_function_parentheses = True
-@@ -75,13 +92,35 @@
- # Note: exclude_dirnames is new in Sphinx 0.5 
- exclude_dirnames = ['.svn']
- 
--# Options for HTML output
--# -----------------------
-+# -- Options for HTML output ---------------------------------------------------
- 
--# The style sheet to use for HTML and HTML Help pages. A file of that name
--# must exist either in Sphinx' static/ path, or in one of the custom paths
--# given in html_static_path.
--html_style = 'default.css'
-+# The theme to use for HTML and HTML Help pages.  See the documentation for
-+# a list of builtin themes.
-+html_theme = "djangodocs"
-+
-+# Theme options are theme-specific and customize the look and feel of a theme
-+# further.  For a list of options available for each theme, see the
-+# documentation.
-+#html_theme_options = {}
-+
-+# Add any paths that contain custom themes here, relative to this directory.
-+html_theme_path = ["_theme"]
-+
-+# The name for this set of Sphinx documents.  If None, it defaults to
-+# "<project> v<release> documentation".
-+#html_title = None
-+
-+# A shorter title for the navigation bar.  Default is the same as html_title.
-+#html_short_title = None
-+
-+# The name of an image file (relative to this directory) to place at the top
-+# of the sidebar.
-+#html_logo = None
-+
-+# The name of an image file (within the static path) to use as favicon of the
-+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-+# pixels large.
-+#html_favicon = None
- 
- # Add any paths that contain custom static files (such as style sheets) here,
- # relative to this directory. They are copied after the builtin static files,
-@@ -110,17 +149,38 @@
- html_additional_pages = {}
- 
- # If false, no module index is generated.
--#html_use_modindex = True
-+#html_domain_indices = True
-+
-+# If false, no index is generated.
-+#html_use_index = True
-+
-+# If true, the index is split into individual pages for each letter.
-+#html_split_index = False
-+
-+# If true, links to the reST sources are added to the pages.
-+#html_show_sourcelink = True
-+
-+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-+#html_show_sphinx = True
- 
--# If true, the reST sources are included in the HTML build as _sources/<name>.
--html_copy_source = True
-+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-+#html_show_copyright = True
-+
-+# If true, an OpenSearch description file will be output, and all pages will
-+# contain a <link> tag referring to it.  The value of this option must be the
-+# base URL from which the finished HTML is served.
-+#html_use_opensearch = ''
-+
-+# This is the file name suffix for HTML files (e.g. ".xhtml").
-+#html_file_suffix = None
- 
- # Output file base name for HTML help builder.
- htmlhelp_basename = 'Djangodoc'
- 
-+modindex_common_prefix = ["django."]
- 
--# Options for LaTeX output
--# ------------------------
-+
-+# -- Options for LaTeX output --------------------------------------------------
- 
- # The paper size ('letter' or 'a4').
- #latex_paper_size = 'letter'
-@@ -132,9 +192,24 @@
- # (source start file, target name, title, author, document class [howto/manual]).
- #latex_documents = []
- latex_documents = [
--  ('contents', 'django.tex', 'Django Documentation', 'Django Software Foundation', 'manual'),
-+  ('contents', 'django.tex', u'Django Documentation',
-+   u'Django Software Foundation', 'manual'),
- ]
- 
-+# The name of an image file (relative to this directory) to place at the top of
-+# the title page.
-+#latex_logo = None
-+
-+# For "manual" documents, if this is true, then toplevel headings are parts,
-+# not chapters.
-+#latex_use_parts = False
-+
-+# If true, show page references after internal links.
-+#latex_show_pagerefs = False
-+
-+# If true, show URL addresses after external links.
-+#latex_show_urls = False
-+
- # Additional stuff for the LaTeX preamble.
- #latex_preamble = ''
- 
-@@ -142,10 +217,53 @@
- #latex_appendices = []
- 
- # If false, no module index is generated.
--#latex_use_modindex = True
-+#latex_domain_indices = True
- 
--# For "manual" documents, if this is true, then toplevel headings are parts,
--# not chapters.
--# If this isn't set to True, the LaTex writer can only handle six levels of headers.
--latex_use_parts = True
- 
-+# -- Options for manual page output --------------------------------------------
-+
-+# One entry per manual page. List of tuples
-+# (source start file, name, description, authors, manual section).
-+man_pages = [
-+    ('contents', 'django', 'Django Documentation', ['Django Software Foundation'], 1)
-+]
-+
-+
-+# -- Options for Epub output ---------------------------------------------------
-+
-+# Bibliographic Dublin Core info.
-+epub_title = u'Django'
-+epub_author = u'Django Software Foundation'
-+epub_publisher = u'Django Software Foundation'
-+epub_copyright = u'2010, Django Software Foundation'
-+
-+# The language of the text. It defaults to the language option
-+# or en if the language is not set.
-+#epub_language = ''
-+
-+# The scheme of the identifier. Typical schemes are ISBN or URL.
-+#epub_scheme = ''
-+
-+# The unique identifier of the text. This can be a ISBN number
-+# or the project homepage.
-+#epub_identifier = ''
-+
-+# A unique identification for the text.
-+#epub_uid = ''
-+
-+# HTML files that should be inserted before the pages created by sphinx.
-+# The format is a list of tuples containing the path and title.
-+#epub_pre_files = []
-+
-+# HTML files shat should be inserted after the pages created by sphinx.
-+# The format is a list of tuples containing the path and title.
-+#epub_post_files = []
-+
-+# A list of files that should not be packed into the epub file.
-+#epub_exclude_files = []
-+
-+# The depth of the table of contents in toc.ncx.
-+#epub_tocdepth = 3
-+
-+# Allow duplicate toc entries.
-+#epub_tocdup = True
---- docs/_ext/djangodocs.py	2010-05-08 22:31:20.000000000 +0800
-+++ docs/_ext/djangodocs.py	2010-08-25 02:57:46.233613541 +0800
-@@ -88,7 +88,10 @@
-     if not is_nextversion:
-         if len(arguments) == 1:
-             linktext = 'Please, see the release notes <releases-%s>' % (arguments[0])
--            xrefs = sphinx.roles.xfileref_role('ref', linktext, linktext, lineno, state)
-+            try:
-+                xrefs = sphinx.roles.XRefRole()('ref', linktext, linktext, lineno, state) # Sphinx >= 1.0
-+            except:
-+                xrefs = sphinx.roles.xfileref_role('ref', linktext, linktext, lineno, state) # Sphinx < 1.0
-             node.extend(xrefs[0])
-         node['version'] = arguments[0]
-     else:
-@@ -159,7 +162,7 @@
-     # better callout -- the Sphinx default is just a little span,
-     # which is a bit less obvious that I'd like.
-     #
--    # FIXME: these messages are all hardcoded in English. We need to chanage 
-+    # FIXME: these messages are all hardcoded in English. We need to change
-     # that to accomodate other language docs, but I can't work out how to make
-     # that work and I think it'll require Sphinx 0.5 anyway.
-     #
-@@ -212,7 +215,10 @@
- def parse_django_adminopt_node(env, sig, signode):
-     """A copy of sphinx.directives.CmdoptionDesc.parse_signature()"""
-     from sphinx import addnodes
--    from sphinx.directives.desc import option_desc_re
-+    try:
-+        from sphinx.domains.std import option_desc_re # Sphinx >= 1.0
-+    except:
-+        from sphinx.directives.desc import option_desc_re # Sphinx < 1.0
-     count = 0
-     firstname = ''
-     for m in option_desc_re.finditer(sig):
-@@ -278,9 +284,14 @@
-             self.warn("cannot create templatebuiltins.js due to missing simplejson dependency")
-             return
-         self.info(bold("writing templatebuiltins.js..."))
--        xrefs = self.env.reftargets.keys()
--        templatebuiltins = dict([('ttags', [n for (t,n) in xrefs if t == 'ttag']),
--                                 ('tfilters', [n for (t,n) in xrefs if t == 'tfilter'])])
-+        try:
-+            xrefs = self.env.reftargets.keys()
-+            templatebuiltins = dict([('ttags', [n for (t,n) in xrefs if t == 'ttag']),
-+                                     ('tfilters', [n for (t,n) in xrefs if t == 'tfilter'])])
-+        except AttributeError:
-+            xrefs = self.env.domaindata["std"]["objects"]
-+            templatebuiltins = dict([('ttags', [n for (t,n) in xrefs if t == 'templatetag']),
-+                                     ('tfilters', [n for (t,n) in xrefs if t == 'templatefilter'])])
-         outfilename = os.path.join(self.outdir, "templatebuiltins.js")
-         f = open(outfilename, 'wb')
-         f.write('var django_template_builtins = ')
---- docs/Makefile	2010-05-08 22:31:20.000000000 +0800
-+++ docs/Makefile	2010-08-25 02:57:47.932654550 +0800
-@@ -12,20 +12,26 @@
- PAPEROPT_letter = -D latex_paper_size=letter
- ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
- 
--.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
-+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
- 
- help:
- 	@echo "Please use \`make <target>' where <target> is one of"
--	@echo "  html      to make standalone HTML files"
--	@echo "  dirhtml   to make HTML files named index.html in directories"
--	@echo "  pickle    to make pickle files"
--	@echo "  json      to make JSON files"
--	@echo "  htmlhelp  to make HTML files and a HTML help project"
--	@echo "  qthelp    to make HTML files and a qthelp project"
--	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
--	@echo "  changes   to make an overview of all changed/added/deprecated items"
--	@echo "  linkcheck to check all external links for integrity"
--	@echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
-+	@echo "  html       to make standalone HTML files"
-+	@echo "  dirhtml    to make HTML files named index.html in directories"
-+	@echo "  singlehtml to make a single large HTML file"
-+	@echo "  pickle     to make pickle files"
-+	@echo "  json       to make JSON files"
-+	@echo "  htmlhelp   to make HTML files and a HTML help project"
-+	@echo "  qthelp     to make HTML files and a qthelp project"
-+	@echo "  devhelp    to make HTML files and a Devhelp project"
-+	@echo "  epub       to make an epub"
-+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
-+	@echo "  text       to make text files"
-+	@echo "  man        to make manual pages"
-+	@echo "  changes    to make an overview of all changed/added/deprecated items"
-+	@echo "  linkcheck  to check all external links for integrity"
-+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
- 
- clean:
- 	-rm -rf $(BUILDDIR)/*
-@@ -40,6 +46,11 @@
- 	@echo
- 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
- 
-+singlehtml:
-+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
-+	@echo
-+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-+
- pickle:
- 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
- 	@echo
-@@ -65,12 +76,42 @@
- 	@echo "To view the help file:"
- 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/django.qhc"
- 
-+devhelp:
-+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
-+	@echo
-+	@echo "Build finished."
-+	@echo "To view the help file:"
-+	@echo "# mkdir -p $$HOME/.local/share/devhelp/django"
-+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/django"
-+	@echo "# devhelp"
-+
-+epub:
-+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
-+	@echo
-+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-+
- latex:
- 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- 	@echo
- 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
--	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
--	      "run these through (pdf)latex."
-+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
-+	      "(use \`make latexpdf' here to do that automatically)."
-+
-+latexpdf:
-+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-+	@echo "Running LaTeX files through pdflatex..."
-+	make -C $(BUILDDIR)/latex all-pdf
-+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-+
-+text:
-+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
-+	@echo
-+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
-+
-+man:
-+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
-+	@echo
-+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
- 
- changes:
- 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
---- docs/_templates/genindex.html	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_templates/genindex.html	1970-01-01 08:00:00.000000000 +0800
-@@ -1,4 +0,0 @@
--{% extends "!genindex.html" %}
--
--{% block bodyclass %}{% endblock %}
--{% block sidebarwrapper %}{% endblock %}
---- docs/_templates/modindex.html	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_templates/modindex.html	1970-01-01 08:00:00.000000000 +0800
-@@ -1,3 +0,0 @@
--{% extends "!modindex.html" %}
--{% block bodyclass %}{% endblock %}
--{% block sidebarwrapper %}{% endblock %}
---- docs/_templates/search.html	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_templates/search.html	1970-01-01 08:00:00.000000000 +0800
-@@ -1,3 +0,0 @@
--{% extends "!search.html" %}
--{% block bodyclass %}{% endblock %}
--{% block sidebarwrapper %}{% endblock %}
---- docs/_theme/djangodocs/genindex.html	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/genindex.html	2010-08-25 02:57:46.356120964 +0800
-@@ -0,0 +1,4 @@
-+{% extends "basic/genindex.html" %}
-+
-+{% block bodyclass %}{% endblock %}
-+{% block sidebarwrapper %}{% endblock %}
---- docs/_theme/djangodocs/layout.html	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/layout.html	2010-08-25 02:57:46.355117049 +0800
-@@ -0,0 +1,124 @@
-+{% extends "basic/layout.html" %}
-+
-+{%- macro secondnav() %}
-+  {%- if prev %}
-+    « <a href="{{ prev.link|e }}" title="{{ prev.title|e }}">previous</a> 
-+    {{ reldelim2 }}
-+  {%- endif %}
-+  {%- if parents %}
-+    <a href="{{ parents.0.link|e }}" title="{{ parents.0.title|e }}" accesskey="U">up</a> 
-+  {%- else %}
-+    <a title="{{ docstitle }}" href="{{ pathto('index') }}" accesskey="U">up</a> 
-+  {%- endif %}
-+  {%- if next %}
-+  {{ reldelim2 }}
-+    <a href="{{ next.link|e }}" title="{{ next.title|e }}">next</a> »
-+  {%- endif %}
-+{%- endmacro %}
-+
-+{% block extrahead %}
-+{{ super() }}
-+<script type="text/javascript" src="{{ pathto('templatebuiltins.js', 1) }}"></script>
-+<script type="text/javascript">
-+(function($) {
-+    if (!django_template_builtins) {
-+       // templatebuiltins.js missing, do nothing.
-+       return;
-+    }
-+    $(document).ready(function() {
-+        // Hyperlink Django template tags and filters
-+        var base = "{{ pathto('ref/templates/builtins') }}";
-+        if (base == "#") {
-+            // Special case for builtins.html itself
-+            base = "";
-+        }
-+        // Tags are keywords, class '.k'
-+        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
-+             var tagname = $(elem).text();
-+             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
-+                 var fragment = tagname.replace(/_/, '-');
-+                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
-+             }
-+        });
-+        // Filters are functions, class '.nf'
-+        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
-+             var filtername = $(elem).text();
-+             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
-+                 var fragment = filtername.replace(/_/, '-');
-+                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
-+             }
-+        });
-+    });
-+})(jQuery);
-+</script>
-+{% endblock %}
-+
-+{% block document %}
-+  <div id="custom-doc" class="{% block bodyclass %}{{ 'yui-t6' if pagename != 'index' else '' }}{% endblock %}">
-+    <div id="hd">
-+      <h1><a href="{{ pathto('index') }}">{{ docstitle }}</a></h1>
-+      <div id="global-nav">
-+        <a title="Home page" href="{{ pathto('index') }}">Home</a> {{ reldelim2 }}
-+        <a title="Table of contents" href="{{ pathto('contents') }}">Table of contents</a> {{ reldelim2 }}
-+        <a title="Global index" href="{{ pathto('genindex') }}">Index</a> {{ reldelim2 }}
-+        <a title="Module index" href="{{ pathto('py-modindex') }}">Modules</a>
-+      </div>
-+      <div class="nav">{{ secondnav() }}</div>
-+    </div>
-+    
-+    <div id="bd">
-+      <div id="yui-main">
-+        <div class="yui-b">
-+          <div class="yui-g" id="{{ pagename|replace('/', '-') }}">
-+            {% block body %}{% endblock %}
-+          </div>         
-+        </div>
-+      </div>
-+      {% block sidebarwrapper %}
-+        {% if pagename != 'index' %}
-+          <div class="yui-b" id="sidebar">
-+            {{ sidebar() }}
-+            {%- if last_updated %}
-+              <h3>Last update:</h3>
-+              <p class="topless">{{ last_updated }}</p>
-+            {%- endif %}
-+          </div> 
-+        {% endif %}
-+      {% endblock %}
-+    </div>
-+    
-+    <div id="ft">
-+      <div class="nav">{{ secondnav() }}</div>
-+    </div>
-+  </div>
-+{% endblock %}
-+
-+{% block sidebarrel %}
-+  <h3>Browse</h3>
-+  <ul>
-+    {% if prev %}
-+      <li>Prev: <a href="{{ prev.link }}">{{ prev.title }}</a></li>
-+    {% endif %}
-+    {% if next %}
-+      <li>Next: <a href="{{ next.link }}">{{ next.title }}</a></li>
-+    {% endif %}
-+  </ul>
-+  <h3>You are here:</h3>
-+  <ul>
-+      <li>
-+        <a href="{{ pathto('index') }}">{{ docstitle }}</a>
-+        {% for p in parents %}
-+          <ul><li><a href="{{ p.link }}">{{ p.title }}</a>
-+        {% endfor %}
-+        <ul><li>{{ title }}</li></ul>
-+        {% for p in parents %}</li></ul>{% endfor %}
-+      </li>
-+  </ul>  
-+{% endblock %}
-+
-+{# Empty some default blocks out #}
-+{% block relbar1 %}{% endblock %}
-+{% block relbar2 %}{% endblock %}
-+{% block sidebar1 %}{% endblock %}
-+{% block sidebar2 %}{% endblock %}
-+{% block footer %}{% endblock %}
---- docs/_theme/djangodocs/modindex.html	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/modindex.html	2010-08-25 02:57:46.358129351 +0800
-@@ -0,0 +1,3 @@
-+{% extends "basic/modindex.html" %}
-+{% block bodyclass %}{% endblock %}
-+{% block sidebarwrapper %}{% endblock %}
---- docs/_theme/djangodocs/search.html	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/search.html	2010-08-25 02:57:46.357125157 +0800
-@@ -0,0 +1,3 @@
-+{% extends "basic/search.html" %}
-+{% block bodyclass %}{% endblock %}
-+{% block sidebarwrapper %}{% endblock %}
---- docs/_theme/djangodocs/static/default.css	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/static/default.css	2010-08-25 02:57:46.347083501 +0800
-@@ -0,0 +1,3 @@
-+ at import url(reset-fonts-grids.css);
-+ at import url(djangodocs.css);
-+ at import url(homepage.css);
---- docs/_theme/djangodocs/static/djangodocs.css	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/static/djangodocs.css	2010-08-25 02:57:46.345075673 +0800
-@@ -0,0 +1,135 @@
-+/*** setup ***/
-+html { background:#092e20;}
-+body { font:12px/1.5 Verdana,sans-serif; background:#092e20; color: white;}
-+#custom-doc { width:76.54em;*width:74.69em;min-width:995px; max-width:100em; margin:auto; text-align:left; padding-top:16px; margin-top:0;} 
-+#hd { padding: 4px 0 12px 0; }
-+#bd { background:#234F32; }
-+#ft { color:#487858; font-size:90%; padding-bottom: 2em; }
-+
-+/*** links ***/
-+a {text-decoration: none;}
-+a img {border: none;}
-+a:link, a:visited { color:#ffc757; }
-+#bd a:link, #bd a:visited { color:#ab5603; text-decoration:underline; }
-+#bd #sidebar a:link, #bd #sidebar a:visited { color:#ffc757; text-decoration:none; }
-+a:hover { color:#ffe761; }
-+#bd a:hover { background-color:#E0FFB8; color:#234f32; text-decoration:none; }
-+#bd #sidebar a:hover { color:#ffe761; background:none; }
-+h2 a, h3 a, h4 a { text-decoration:none !important; }
-+a.reference em { font-style: normal; }
-+
-+/*** sidebar ***/
-+#sidebar div.sphinxsidebarwrapper { font-size:92%; margin-right: 14px; }
-+#sidebar h3, #sidebar h4 { color: white; font-size: 125%; }
-+#sidebar a { color: white; }
-+#sidebar ul ul { margin-top:0; margin-bottom:0; }
-+#sidebar li { margin-top: 0.2em; margin-bottom: 0.2em; }
-+
-+/*** nav ***/
-+div.nav { margin: 0; font-size: 11px; text-align: right; color: #487858;}
-+#hd div.nav { margin-top: -27px; }
-+#ft div.nav { margin-bottom: -18px; }
-+#hd h1 a { color: white; }
-+#global-nav { position:absolute; top:5px; margin-left: -5px; padding:7px 0; color:#263E2B; }
-+#global-nav a:link, #global-nav a:visited {color:#487858;}
-+#global-nav a {padding:0 4px;}
-+#global-nav a.about {padding-left:0;}
-+#global-nav:hover {color:#fff;}
-+#global-nav:hover a:link, #global-nav:hover a:visited  { color:#ffc757; }
-+
-+/*** content ***/
-+#yui-main div.yui-b { position: relative; }
-+#yui-main div.yui-b { margin: 0 0 0 20px; background: white; color: black; padding: 0.3em 2em 1em 2em; }
-+
-+/*** basic styles ***/
-+dd { margin-left:15px; }
-+h1,h2,h3,h4 { margin-top:1em; font-family:"Trebuchet MS",sans-serif; font-weight:normal; }
-+h1 { font-size:218%; margin-top:0.6em; margin-bottom:.4em; line-height:1.1em; }
-+h2 { font-size:175%; margin-bottom:.6em; line-height:1.2em; color:#092e20; }
-+h3 { font-size:150%; font-weight:bold; margin-bottom:.2em; color:#487858; }
-+h4 { font-size:125%; font-weight:bold; margin-top:1.5em; margin-bottom:3px; }
-+div.figure { text-align: center; }
-+div.figure p.caption { font-size:1em; margin-top:0; margin-bottom:1.5em; color: #555;}
-+hr { color:#ccc; background-color:#ccc; height:1px; border:0; }
-+p, ul, dl { margin-top:.6em; margin-bottom:1em; padding-bottom: 0.1em;}
-+#yui-main div.yui-b img { max-width: 50em; margin-left: auto; margin-right: auto; display: block; }
-+caption { font-size:1em; font-weight:bold; margin-top:0.5em; margin-bottom:0.5em; margin-left: 2px; text-align: center; }
-+blockquote { padding: 0 1em; margin: 1em 0; font:125%/1.2em "Trebuchet MS", sans-serif; color:#234f32; border-left:2px solid #94da3a; } 
-+strong { font-weight: bold; }
-+em { font-style: italic; }
-+ins { font-weight: bold; text-decoration: none; }
-+
-+/*** lists ***/
-+ul { padding-left:30px; }
-+ol { padding-left:30px; }
-+ol.arabic li { list-style-type: decimal; }
-+ul li { list-style-type:square; margin-bottom:.4em; }
-+ol li { margin-bottom: .4em; }
-+ul ul { padding-left:1.2em; }
-+ul ul ul { padding-left:1em; }
-+ul.linklist, ul.toc { padding-left:0; }
-+ul.toc ul { margin-left:.6em; }
-+ul.toc ul li { list-style-type:square; }
-+ul.toc ul ul li { list-style-type:disc; }
-+ul.linklist li, ul.toc li { list-style-type:none; }
-+dt { font-weight:bold; margin-top:.5em; font-size:1.1em; }
-+dd { margin-bottom:.8em; }
-+ol.toc { margin-bottom: 2em; }
-+ol.toc li { font-size:125%; padding: .5em; line-height:1.2em; clear: right; }
-+ol.toc li.b { background-color: #E0FFB8; }
-+ol.toc li a:hover { background-color: transparent !important; text-decoration: underline !important; }
-+ol.toc span.release-date { color:#487858; float: right; font-size: 85%; padding-right: .5em; }
-+ol.toc span.comment-count { font-size: 75%; color: #999; }
-+
-+/*** tables ***/
-+table { color:#000; margin-bottom: 1em; width: 100%; }
-+table.docutils td p { margin-top:0; margin-bottom:.5em; }
-+table.docutils td, table.docutils th { border-bottom:1px solid #dfdfdf; padding:4px 2px;}
-+table.docutils thead th { border-bottom:2px solid #dfdfdf; text-align:left; font-weight: bold; white-space: nowrap; }
-+table.docutils thead th p { margin: 0; padding: 0; }
-+table.docutils { border-collapse:collapse; }
-+
-+/*** code blocks ***/
-+.literal { white-space:nowrap; }
-+.literal { color:#234f32; }
-+#sidebar .literal { color:white; background:transparent; font-size:11px; }
-+h4 .literal { color: #234f32; font-size: 13px; }
-+pre { font-size:small; background:#E0FFB8; border:1px solid #94da3a; border-width:1px 0; margin: 1em 0; padding: .3em .4em; overflow: hidden; line-height: 1.3em;}
-+dt .literal, table .literal { background:none; }
-+#bd a.reference { text-decoration: none; }
-+#bd a.reference tt.literal { border-bottom: 1px #234f32 dotted; }
-+
-+/* Restore colors of pygments hyperlinked code */
-+#bd .highlight .k a:link, #bd .highlight .k a:visited { color: #000000; text-decoration: none; border-bottom: 1px dotted #000000; }
-+#bd .highlight .nf a:link, #bd .highlight .nf a:visited { color: #990000; text-decoration: none; border-bottom: 1px dotted #990000; }
-+
-+
-+/*** notes & admonitions ***/
-+.note, .admonition { padding:.8em 1em .8em; margin: 1em 0; border:1px solid #94da3a; }
-+.admonition-title { font-weight:bold; margin-top:0 !important; margin-bottom:0 !important;}
-+.admonition .last { margin-bottom:0 !important; }
-+.note, .admonition { padding-left:65px; background:url(docicons-note.png) .8em .8em no-repeat;}
-+div.admonition-philosophy { padding-left:65px; background:url(docicons-philosophy.png) .8em .8em no-repeat;}
-+div.admonition-behind-the-scenes { padding-left:65px; background:url(docicons-behindscenes.png) .8em .8em no-repeat;}
-+
-+/*** versoinadded/changes ***/
-+div.versionadded, div.versionchanged {  }
-+div.versionadded span.title, div.versionchanged span.title { font-weight: bold; }
-+
-+/*** p-links ***/
-+a.headerlink { color: #c60f0f; font-size: 0.8em; padding: 0 4px 0 4px; text-decoration: none; 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; }
-+
-+/*** index ***/
-+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;}
-+
-+/*** page-specific overrides ***/
-+div#contents ul { margin-bottom: 0;}
-+div#contents ul li { margin-bottom: 0;}
-+div#contents ul ul li { margin-top: 0.3em;}
-+
-+/*** IE hacks ***/
-+* pre { width: 100%; }
---- docs/_theme/djangodocs/static/homepage.css	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/static/homepage.css	2010-08-25 02:57:46.349091888 +0800
-@@ -0,0 +1,22 @@
-+#index p.rubric { font-size:150%; font-weight:normal; margin-bottom:.2em; color:#487858; }
-+
-+#index div.section dt { font-weight: normal; }
-+
-+#index #s-getting-help { float: right; width: 35em; background: #E1ECE2; padding: 1em; margin: 2em 0 2em 2em; }
-+#index #s-getting-help h2 { margin: 0; }
-+
-+#index #s-django-documentation div.section div.section h3 { margin: 0; }
-+#index #s-django-documentation div.section div.section { background: #E1ECE2; padding: 1em; margin: 2em 0 2em 40.3em; }
-+#index #s-django-documentation div.section div.section a.reference { white-space: nowrap; }
-+
-+#index #s-using-django dl,
-+#index #s-add-on-contrib-applications dl,
-+#index #s-solving-specific-problems dl,
-+#index #s-reference dl
-+    { float: left; width: 41em; }
-+
-+#index #s-add-on-contrib-applications,
-+#index #s-solving-specific-problems,
-+#index #s-reference,
-+#index #s-and-all-the-rest
-+    { clear: left; }
---- docs/_theme/djangodocs/static/reset-fonts-grids.css	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/static/reset-fonts-grids.css	2010-08-25 02:57:46.346079308 +0800
-@@ -0,0 +1,8 @@
-+/*
-+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-+Code licensed under the BSD License:
-+http://developer.yahoo.net/yui/license.txt
-+version: 2.5.1
-+*/
-+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;font-variant:normal;}sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
-+body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;min-width:750px;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right
 ;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yu
 i-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.f!
 irst div..first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.fir
 st{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}s .yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left
 ;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24!
 %;_width:2!
 0%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
---- docs/_theme/djangodocs/theme.conf	1970-01-01 08:00:00.000000000 +0800
-+++ docs/_theme/djangodocs/theme.conf	2010-08-25 02:57:46.356120964 +0800
-@@ -0,0 +1,4 @@
-+[theme]
-+inherit = basic
-+stylesheet = default.css
-+pygments_style = trac
---- docs/_templates/layout.html	2010-05-08 22:31:20.000000000 +0800
-+++ docs/_templates/layout.html	1970-01-01 08:00:00.000000000 +0800
-@@ -1,124 +0,0 @@
--{% extends "!layout.html" %}
--
--{%- macro secondnav() %}
--  {%- if prev %}
--    « <a href="{{ prev.link|e }}" title="{{ prev.title|e }}">previous</a> 
--    {{ reldelim2 }}
--  {%- endif %}
--  {%- if parents %}
--    <a href="{{ parents.0.link|e }}" title="{{ parents.0.title|e }}" accesskey="U">up</a> 
--  {%- else %}
--    <a title="{{ docstitle }}" href="{{ pathto('index') }}" accesskey="U">up</a> 
--  {%- endif %}
--  {%- if next %}
--  {{ reldelim2 }}
--    <a href="{{ next.link|e }}" title="{{ next.title|e }}">next</a> »
--  {%- endif %}
--{%- endmacro %}
--
--{% block extrahead %}
--{{ super() }}
--<script type="text/javascript" src="{{ pathto('templatebuiltins.js', 1) }}"></script>
--<script type="text/javascript">
--(function($) {
--    if (!django_template_builtins) {
--       // templatebuiltins.js missing, do nothing.
--       return;
--    }
--    $(document).ready(function() {
--        // Hyperlink Django template tags and filters
--        var base = "{{ pathto('ref/templates/builtins') }}";
--        if (base == "#") {
--            // Special case for builtins.html itself
--            base = "";
--        }
--        // Tags are keywords, class '.k'
--        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
--             var tagname = $(elem).text();
--             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
--                 var fragment = tagname.replace(/_/, '-');
--                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
--             }
--        });
--        // Filters are functions, class '.nf'
--        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
--             var filtername = $(elem).text();
--             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
--                 var fragment = filtername.replace(/_/, '-');
--                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
--             }
--        });
--    });
--})(jQuery);
--</script>
--{% endblock %}
--
--{% block document %}
--  <div id="custom-doc" class="{% block bodyclass %}{{ 'yui-t6' if pagename != 'index' else '' }}{% endblock %}">
--    <div id="hd">
--      <h1><a href="{{ pathto('index') }}">{{ docstitle }}</a></h1>
--      <div id="global-nav">
--        <a title="Home page" href="{{ pathto('index') }}">Home</a> {{ reldelim2 }}
--        <a title="Table of contents" href="{{ pathto('contents') }}">Table of contents</a> {{ reldelim2 }}
--        <a title="Global index" href="{{ pathto('genindex') }}">Index</a> {{ reldelim2 }}
--        <a title="Module index" href="{{ pathto('modindex') }}">Modules</a>
--      </div>
--      <div class="nav">{{ secondnav() }}</div>
--    </div>
--    
--    <div id="bd">
--      <div id="yui-main">
--        <div class="yui-b">
--          <div class="yui-g" id="{{ pagename|replace('/', '-') }}">
--            {% block body %}{% endblock %}
--          </div>         
--        </div>
--      </div>
--      {% block sidebarwrapper %}
--        {% if pagename != 'index' %}
--          <div class="yui-b" id="sidebar">
--            {{ sidebar() }}
--            {%- if last_updated %}
--              <h3>Last update:</h3>
--              <p class="topless">{{ last_updated }}</p>
--            {%- endif %}
--          </div> 
--        {% endif %}
--      {% endblock %}
--    </div>
--    
--    <div id="ft">
--      <div class="nav">{{ secondnav() }}</div>
--    </div>
--  </div>
--{% endblock %}
--
--{% block sidebarrel %}
--  <h3>Browse</h3>
--  <ul>
--    {% if prev %}
--      <li>Prev: <a href="{{ prev.link }}">{{ prev.title }}</a></li>
--    {% endif %}
--    {% if next %}
--      <li>Next: <a href="{{ next.link }}">{{ next.title }}</a></li>
--    {% endif %}
--  </ul>
--  <h3>You are here:</h3>
--  <ul>
--      <li>
--        <a href="{{ pathto('index') }}">{{ docstitle }}</a>
--        {% for p in parents %}
--          <ul><li><a href="{{ p.link }}">{{ p.title }}</a>
--        {% endfor %}
--        <ul><li>{{ title }}</li></ul>
--        {% for p in parents %}</li></ul>{% endfor %}
--      </li>
--  </ul>  
--{% endblock %}
--
--{# Empty some default blocks out #}
--{% block relbar1 %}{% endblock %}
--{% block relbar2 %}{% endblock %}
--{% block sidebar1 %}{% endblock %}
--{% block sidebar2 %}{% endblock %}
--{% block footer %}{% endblock %}
---- docs/_static/default.css	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_static/default.css	1970-01-01 08:00:00.000000000 +0800
-@@ -1,3 +0,0 @@
-- at import url(reset-fonts-grids.css);
-- at import url(djangodocs.css);
-- at import url(homepage.css);
---- docs/_static/djangodocs.css	2010-05-08 22:31:20.000000000 +0800
-+++ docs/_static/djangodocs.css	1970-01-01 08:00:00.000000000 +0800
-@@ -1,135 +0,0 @@
--/*** setup ***/
--html { background:#092e20;}
--body { font:12px/1.5 Verdana,sans-serif; background:#092e20; color: white;}
--#custom-doc { width:76.54em;*width:74.69em;min-width:995px; max-width:100em; margin:auto; text-align:left; padding-top:16px; margin-top:0;} 
--#hd { padding: 4px 0 12px 0; }
--#bd { background:#234F32; }
--#ft { color:#487858; font-size:90%; padding-bottom: 2em; }
--
--/*** links ***/
--a {text-decoration: none;}
--a img {border: none;}
--a:link, a:visited { color:#ffc757; }
--#bd a:link, #bd a:visited { color:#ab5603; text-decoration:underline; }
--#bd #sidebar a:link, #bd #sidebar a:visited { color:#ffc757; text-decoration:none; }
--a:hover { color:#ffe761; }
--#bd a:hover { background-color:#E0FFB8; color:#234f32; text-decoration:none; }
--#bd #sidebar a:hover { color:#ffe761; background:none; }
--h2 a, h3 a, h4 a { text-decoration:none !important; }
--a.reference em { font-style: normal; }
--
--/*** sidebar ***/
--#sidebar div.sphinxsidebarwrapper { font-size:92%; margin-right: 14px; }
--#sidebar h3, #sidebar h4 { color: white; font-size: 125%; }
--#sidebar a { color: white; }
--#sidebar ul ul { margin-top:0; margin-bottom:0; }
--#sidebar li { margin-top: 0.2em; margin-bottom: 0.2em; }
--
--/*** nav ***/
--div.nav { margin: 0; font-size: 11px; text-align: right; color: #487858;}
--#hd div.nav { margin-top: -27px; }
--#ft div.nav { margin-bottom: -18px; }
--#hd h1 a { color: white; }
--#global-nav { position:absolute; top:5px; margin-left: -5px; padding:7px 0; color:#263E2B; }
--#global-nav a:link, #global-nav a:visited {color:#487858;}
--#global-nav a {padding:0 4px;}
--#global-nav a.about {padding-left:0;}
--#global-nav:hover {color:#fff;}
--#global-nav:hover a:link, #global-nav:hover a:visited  { color:#ffc757; }
--
--/*** content ***/
--#yui-main div.yui-b { position: relative; }
--#yui-main div.yui-b { margin: 0 0 0 20px; background: white; color: black; padding: 0.3em 2em 1em 2em; }
--
--/*** basic styles ***/
--dd { margin-left:15px; }
--h1,h2,h3,h4 { margin-top:1em; font-family:"Trebuchet MS",sans-serif; font-weight:normal; }
--h1 { font-size:218%; margin-top:0.6em; margin-bottom:.4em; line-height:1.1em; }
--h2 { font-size:175%; margin-bottom:.6em; line-height:1.2em; color:#092e20; }
--h3 { font-size:150%; font-weight:bold; margin-bottom:.2em; color:#487858; }
--h4 { font-size:125%; font-weight:bold; margin-top:1.5em; margin-bottom:3px; }
--div.figure { text-align: center; }
--div.figure p.caption { font-size:1em; margin-top:0; margin-bottom:1.5em; color: #555;}
--hr { color:#ccc; background-color:#ccc; height:1px; border:0; }
--p, ul, dl { margin-top:.6em; margin-bottom:1em; padding-bottom: 0.1em;}
--#yui-main div.yui-b img { max-width: 50em; margin-left: auto; margin-right: auto; display: block; }
--caption { font-size:1em; font-weight:bold; margin-top:0.5em; margin-bottom:0.5em; margin-left: 2px; text-align: center; }
--blockquote { padding: 0 1em; margin: 1em 0; font:125%/1.2em "Trebuchet MS", sans-serif; color:#234f32; border-left:2px solid #94da3a; } 
--strong { font-weight: bold; }
--em { font-style: italic; }
--ins { font-weight: bold; text-decoration: none; }
--
--/*** lists ***/
--ul { padding-left:30px; }
--ol { padding-left:30px; }
--ol.arabic li { list-style-type: decimal; }
--ul li { list-style-type:square; margin-bottom:.4em; }
--ol li { margin-bottom: .4em; }
--ul ul { padding-left:1.2em; }
--ul ul ul { padding-left:1em; }
--ul.linklist, ul.toc { padding-left:0; }
--ul.toc ul { margin-left:.6em; }
--ul.toc ul li { list-style-type:square; }
--ul.toc ul ul li { list-style-type:disc; }
--ul.linklist li, ul.toc li { list-style-type:none; }
--dt { font-weight:bold; margin-top:.5em; font-size:1.1em; }
--dd { margin-bottom:.8em; }
--ol.toc { margin-bottom: 2em; }
--ol.toc li { font-size:125%; padding: .5em; line-height:1.2em; clear: right; }
--ol.toc li.b { background-color: #E0FFB8; }
--ol.toc li a:hover { background-color: transparent !important; text-decoration: underline !important; }
--ol.toc span.release-date { color:#487858; float: right; font-size: 85%; padding-right: .5em; }
--ol.toc span.comment-count { font-size: 75%; color: #999; }
--
--/*** tables ***/
--table { color:#000; margin-bottom: 1em; width: 100%; }
--table.docutils td p { margin-top:0; margin-bottom:.5em; }
--table.docutils td, table.docutils th { border-bottom:1px solid #dfdfdf; padding:4px 2px;}
--table.docutils thead th { border-bottom:2px solid #dfdfdf; text-align:left; font-weight: bold; white-space: nowrap; }
--table.docutils thead th p { margin: 0; padding: 0; }
--table.docutils { border-collapse:collapse; }
--
--/*** code blocks ***/
--.literal { white-space:nowrap; }
--.literal { color:#234f32; }
--#sidebar .literal { color:white; background:transparent; font-size:11px; }
--h4 .literal { color: #234f32; font-size: 13px; }
--pre { font-size:small; background:#E0FFB8; border:1px solid #94da3a; border-width:1px 0; margin: 1em 0; padding: .3em .4em; overflow: hidden; line-height: 1.3em;}
--dt .literal, table .literal { background:none; }
--#bd a.reference { text-decoration: none; }
--#bd a.reference tt.literal { border-bottom: 1px #234f32 dotted; }
--
--/* Restore colors of pygments hyperlinked code */
--#bd .highlight .k a:link, #bd .highlight .k a:visited { color: #000000; text-decoration: none; border-bottom: 1px dotted #000000; }
--#bd .highlight .nf a:link, #bd .highlight .nf a:visited { color: #990000; text-decoration: none; border-bottom: 1px dotted #990000; }
--
--
--/*** notes & admonitions ***/
--.note, .admonition { padding:.8em 1em .8em; margin: 1em 0; border:1px solid #94da3a; }
--.admonition-title { font-weight:bold; margin-top:0 !important; margin-bottom:0 !important;}
--.admonition .last { margin-bottom:0 !important; }
--.note, .admonition { padding-left:65px; background:url(docicons-note.png) .8em .8em no-repeat;}
--div.admonition-philosophy { padding-left:65px; background:url(docicons-philosophy.png) .8em .8em no-repeat;}
--div.admonition-behind-the-scenes { padding-left:65px; background:url(docicons-behindscenes.png) .8em .8em no-repeat;}
--
--/*** versoinadded/changes ***/
--div.versionadded, div.versionchanged {  }
--div.versionadded span.title, div.versionchanged span.title { font-weight: bold; }
--
--/*** p-links ***/
--a.headerlink { color: #c60f0f; font-size: 0.8em; padding: 0 4px 0 4px; text-decoration: none; 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; }
--
--/*** index ***/
--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;}
--
--/*** page-specific overrides ***/
--div#contents ul { margin-bottom: 0;}
--div#contents ul li { margin-bottom: 0;}
--div#contents ul ul li { margin-top: 0.3em;}
--
--/*** IE hacks ***/
--* pre { width: 100%; }
---- docs/_static/homepage.css	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_static/homepage.css	1970-01-01 08:00:00.000000000 +0800
-@@ -1,22 +0,0 @@
--#index p.rubric { font-size:150%; font-weight:normal; margin-bottom:.2em; color:#487858; }
--
--#index div.section dt { font-weight: normal; }
--
--#index #s-getting-help { float: right; width: 35em; background: #E1ECE2; padding: 1em; margin: 2em 0 2em 2em; }
--#index #s-getting-help h2 { margin: 0; }
--
--#index #s-django-documentation div.section div.section h3 { margin: 0; }
--#index #s-django-documentation div.section div.section { background: #E1ECE2; padding: 1em; margin: 2em 0 2em 40.3em; }
--#index #s-django-documentation div.section div.section a.reference { white-space: nowrap; }
--
--#index #s-using-django dl,
--#index #s-add-on-contrib-applications dl,
--#index #s-solving-specific-problems dl,
--#index #s-reference dl
--    { float: left; width: 41em; }
--
--#index #s-add-on-contrib-applications,
--#index #s-solving-specific-problems,
--#index #s-reference,
--#index #s-and-all-the-rest
--    { clear: left; }
---- docs/_static/reset-fonts-grids.css	2008-08-24 06:25:40.000000000 +0800
-+++ docs/_static/reset-fonts-grids.css	1970-01-01 08:00:00.000000000 +0800
-@@ -1,8 +0,0 @@
--/*
--Copyright (c) 2008, Yahoo! Inc. All rights reserved.
--Code licensed under the BSD License:
--http://developer.yahoo.net/yui/license.txt
--version: 2.5.1
--*/
--html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;font-variant:normal;}sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
--body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;min-width:750px;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right
 ;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yu
 i-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.f!
 irst div..first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.fir
 st{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}s .yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left
 ;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24!
 %;_width:2!
 0%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
--- py-django.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list