[tryton-debian-vcs] relatorio branch debian updated. debian/0.6.4-2-9-gdf98fbb

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Mon Oct 9 17:01:04 UTC 2017


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/relatorio.git;a=commitdiff;h=debian/0.6.4-2-9-gdf98fbb

commit df98fbbf5e48a9856a4c6a0a2c8d895d30f738aa
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Oct 9 18:58:31 2017 +0200

    Bump the Standards-Version to 4.1.1, no changes needed.

diff --git a/debian/changelog b/debian/changelog
index 8a86ec7..deaa541 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+relatorio (0.7.0-1) unstable; urgency=medium
+
+  * Use the preferred https URL format in the copyright file.
+  * Bump the Standards-Version to 4.0.1.
+  * Bump the Standards-Version to 4.1.0, no changes needed.
+  * Add the current signing key of the maintainer.
+  * Merging upstream version 0.7.0.
+  * Update the d/copyright file.
+  * Add new Build-Depends for version 7.0.
+  * Disable tests temporarily due to missing Build-Depends.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Mon, 04 Sep 2017 18:00:35 +0200
+
 relatorio (0.6.4-2) unstable; urgency=medium
 
   * Change the maintainer address to tryton-debian at lists.alioth.debian.org
diff --git a/debian/control b/debian/control
index a0cedd8..2a62a90 100644
--- a/debian/control
+++ b/debian/control
@@ -19,7 +19,7 @@ Build-Depends:
  python3-nose,
  python3-setuptools,
  python3-yaml,
-Standards-Version: 4.1.0
+Standards-Version: 4.1.1
 Homepage: http://relatorio.tryton.org/
 Vcs-Browser: https://anonscm.debian.org/cgit/tryton/relatorio.git
 Vcs-Git: https://anonscm.debian.org/cgit/tryton/relatorio.git
commit 6dcea8a6ed8c66cb9e69ba7d02c1e108b14ff38b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 18:00:23 2017 +0200

    Disable tests temporarily due to missing Build-Depends.

diff --git a/debian/control b/debian/control
index ed53b9d..a0cedd8 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,6 @@ Build-Depends:
  dh-python,
  python,
  python-genshi,
- python-magic,
  python-lxml,
  python-nose,
  python-pycha,
@@ -17,7 +16,6 @@ Build-Depends:
  python3,
  python3-genshi,
  python3-lxml,
- python3-magic,
  python3-nose,
  python3-setuptools,
  python3-yaml,
diff --git a/debian/rules b/debian/rules
index c7a4d99..3040832 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,13 @@
 
 PACKAGE_NAME := $(shell python setup.py --name)
 export PYBUILD_NAME=$(PACKAGE_NAME)
+# Disable the tests temporarily until the correct build dependency for
+# python-magic is available in Debian.
+# For the time being we rely on the complete test suite
+# http://hg.tryton.org/relatorio/file/tip/.drone.yml
+# run at
+# http://tests.tryton.org
+export PYBUILD_DISABLE=test
 
 PYTHON2_VERSION = $(shell pyversions -d)
 PYTHON3_VERSION = $(shell py3versions -d)
commit 47ab83d8954cf9d7d79a7d40fb3db3c14d4bb327
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 16:33:21 2017 +0200

    Add new Build-Depends for version 7.0.

diff --git a/debian/control b/debian/control
index a0cedd8..ed53b9d 100644
--- a/debian/control
+++ b/debian/control
@@ -8,6 +8,7 @@ Build-Depends:
  dh-python,
  python,
  python-genshi,
+ python-magic,
  python-lxml,
  python-nose,
  python-pycha,
@@ -16,6 +17,7 @@ Build-Depends:
  python3,
  python3-genshi,
  python3-lxml,
+ python3-magic,
  python3-nose,
  python3-setuptools,
  python3-yaml,
commit 7fda4204ebb279793924959256d9e8b5b7a38f91
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 16:31:41 2017 +0200

    Update the d/copyright file.

diff --git a/debian/copyright b/debian/copyright
index 1aaa636..950db46 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -11,7 +11,7 @@ License: GPL-3+
 
 Files: relatorio/templates/opendocument.py
 Copyright: 2007-2008 OpenHex SPRL <http://www.openhex.com/>
-           2009-2014 Cedric Krier
+           2009-2017 Cedric Krier
 License: GPL-3+
 
 Files: relatorio/templates/pdf.py
@@ -30,12 +30,12 @@ License: GPL-3+
 
 Files: relatorio/tests/test_odt.py
 Copyright: 2007-2008 OpenHex SPRL <http://www.openhex.com/>
-           2014 Cedric Krier
+           2014-2017 Cedric Krier
 License: GPL-3+
 
 Files: debian/*
 Copyright: 2009-2012 Daniel Baumann <daniel at debian.org>
-           2012-2015 Mathias Behrle <mathiasb at m9s.biz>
+           2012-2017 Mathias Behrle <mathiasb at m9s.biz>
 License: GPL-3+
 
 License: GPL-3+
commit 03e8127ada11e9f2a740f298e430daf51f1e6578
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 16:25:03 2017 +0200

    Merging upstream version 0.7.0.

diff --git a/CHANGES b/CHANGES
index cb9c92f..655633d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+0.7.0 - 20170729
+* Replace hard-coded extensions by mimetypes guess
+* Add more guess types: 'boolean', 'date', 'time' and 'void'
+* Add support for Flat OpenDocument
+
 0.6.4 - 20161218
 * Use StringIO instead of BytesIO for TextSerializer result
 
diff --git a/PKG-INFO b/PKG-INFO
index 5989c99..0c76237 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: relatorio
-Version: 0.6.4
+Version: 0.7.0
 Summary: A templating library able to output odt and pdf files
 Home-page: http://relatorio.tryton.org/
 Author: Cedric Krier
diff --git a/doc/conf.py b/doc/conf.py
index 4174d25..4c4cdf8 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -48,9 +48,9 @@ copyright = u'2015, Nicolas Évrard, CGaëtan de Menten, Cédric Krier'
 # built documents.
 #
 # The short X.Y version.
-version = '0.6'
+version = '0.7'
 # The full version, including alpha/beta/rc tags.
-release = '0.6.2'
+release = '0.7.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/doc/indepthexample.rst b/doc/indepthexample.rst
index b426456..0c5a09e 100644
--- a/doc/indepthexample.rst
+++ b/doc/indepthexample.rst
@@ -25,7 +25,7 @@ This report will be created and rendered with the following three line of code::
 
 
     from relatorio.templates.opendocument import Template
-    basic = Template(source=None, filepath='basic.odt')
+    basic = Template(source='', filepath='basic.odt')
     file('bonham_basic.odt', 'wb').write(basic.generate(o=inv).render().getvalue())
 
 Notice that the dictionary passed to `generate` is used to bind names to make
diff --git a/doc/quickexample.rst b/doc/quickexample.rst
index ae61473..1edc7c4 100644
--- a/doc/quickexample.rst
+++ b/doc/quickexample.rst
@@ -35,7 +35,7 @@ following commands::
 
     from relatorio.templates.opendocument import Template
     from data import bonham_invoice
-    basic = Template(source=None, filepath='basic.odt')
+    basic = Template(source='', filepath='basic.odt')
     basic_generated = basic.generate(o=bonham_invoice).render()
     file('bonham_basic.odt', 'wb').write(basic_generated.getvalue())
 
diff --git a/relatorio.egg-info/PKG-INFO b/relatorio.egg-info/PKG-INFO
index 5989c99..0c76237 100644
--- a/relatorio.egg-info/PKG-INFO
+++ b/relatorio.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: relatorio
-Version: 0.6.4
+Version: 0.7.0
 Summary: A templating library able to output odt and pdf files
 Home-page: http://relatorio.tryton.org/
 Author: Cedric Krier
diff --git a/relatorio.egg-info/SOURCES.txt b/relatorio.egg-info/SOURCES.txt
index 49a7943..5d118bc 100644
--- a/relatorio.egg-info/SOURCES.txt
+++ b/relatorio.egg-info/SOURCES.txt
@@ -37,6 +37,7 @@ relatorio/templates/pdf.py
 relatorio/tests/__init__.py
 relatorio/tests/egg.jpg
 relatorio/tests/one.jpg
+relatorio/tests/test.fodt
 relatorio/tests/test.odt
 relatorio/tests/test_api.py
 relatorio/tests/test_odt.py
diff --git a/relatorio.egg-info/requires.txt b/relatorio.egg-info/requires.txt
index 7f0b2b9..ac03f2e 100644
--- a/relatorio.egg-info/requires.txt
+++ b/relatorio.egg-info/requires.txt
@@ -4,3 +4,6 @@ lxml >= 2.0
 [chart]
 pycha >= 0.4.0
 pyyaml
+
+[fodt]
+python-magic
diff --git a/relatorio/__init__.py b/relatorio/__init__.py
index c5fee28..237103b 100644
--- a/relatorio/__init__.py
+++ b/relatorio/__init__.py
@@ -12,5 +12,5 @@ and report together, find reports by mimetypes/name/python objects.
 from .reporting import MIMETemplateLoader, ReportRepository, Report
 from . import templates
 
-__version__ = '0.6.4'
+__version__ = '0.7.0'
 __all__ = ['MIMETemplateLoader', 'ReportRepository', 'Report', 'templates']
diff --git a/relatorio/templates/opendocument.py b/relatorio/templates/opendocument.py
index e392208..d6e3112 100644
--- a/relatorio/templates/opendocument.py
+++ b/relatorio/templates/opendocument.py
@@ -1,6 +1,6 @@
 ###############################################################################
 #
-# Copyright (c) 2009-2014 Cedric Krier.
+# Copyright (c) 2009-2017 Cedric Krier.
 # Copyright (c) 2007, 2008 OpenHex SPRL. (http://openhex.com) All Rights
 # Reserved.
 #
@@ -28,6 +28,8 @@ try:
 except ImportError:
     from md5 import md5
 
+import base64
+import mimetypes
 import time
 import urllib
 import zipfile
@@ -74,14 +76,6 @@ GENSHI_CLOSING_DIRECTIVE = ['for',
                             'with',
                             ]
 
-EXTENSIONS = {'image/png': 'png',
-              'image/jpeg': 'jpg',
-              'image/bmp': 'bmp',
-              'image/gif': 'gif',
-              'image/tiff': 'tif',
-              'image/xbm': 'xbm',
-             }
-
 RELATORIO_URI = 'relatorio'
 GENSHI_URI = 'http://genshi.edgewall.org/'
 MANIFEST = 'META-INF/manifest.xml'
@@ -109,12 +103,6 @@ EtreeElement = lxml.etree.Element
 # parent node defines it. Unfortunately, lxml doesn't support this:
 # the nsmap attribute of Element objects is (currently) readonly.
 
-def guess_type(val):
-    if isinstance(val, (str, unicode)):
-        return 'string'
-    elif isinstance(val, (int, float, long, Decimal)):
-        return 'float'
-
 
 class OOTemplateError(genshi.template.base.TemplateSyntaxError):
     "Error to raise when there is a SyntaxError in the genshi template"
@@ -139,7 +127,8 @@ class ImageHref:
         bitstream.seek(0)
         file_content = bitstream.read()
         name = md5(file_content).hexdigest()
-        path = 'Pictures/%s.%s' % (name, EXTENSIONS[mimetype])
+        path = 'Pictures/%s%s' % (
+            name, mimetypes.guess_extension(mimetype))
         if path not in self.zip.namelist():
             self.zip.writestr(path, file_content)
             self.manifest.add_file_entry(path, mimetype)
@@ -266,7 +255,7 @@ class Template(MarkupTemplate):
             source = self.filepath
         self._source = source
         self.filepath = None  # Prevent zip content in traceback
-        zf = zipfile.ZipFile(source)
+        zf = get_zip_file(source)
         content = zf.read('content.xml')
         styles = zf.read('styles.xml')
 
@@ -408,13 +397,6 @@ class Template(MarkupTemplate):
         table_row_tag = '{%s}table-row' % table_namespace
         table_cell_tag = '{%s}table-cell' % table_namespace
 
-        office_name = '{%s}value' % self.namespaces['office']
-        office_valuetype = '{%s}value-type' % self.namespaces['office']
-        if 'calcext' in self.namespaces:
-            calcext_valuetype = '{%s}value-type' % self.namespaces['calcext']
-        else:
-            calcext_valuetype = None
-
         py_replace = '{%s}replace' % GENSHI_URI
 
         r_statements, closing_tags = self._relatorio_statements(tree)
@@ -492,8 +474,12 @@ class Template(MarkupTemplate):
                 r_node.getparent().remove(r_node)
             else:
                 # It's not a genshi statement it's a python expression
-                parent = r_node.getparent().getparent()
-                if parent is None or parent.tag != table_cell_tag:
+                parent = r_node.getparent()
+                grand_parent = parent.getparent()
+                # Guess type only if it is the only value in the cell
+                if (grand_parent is None
+                        or grand_parent.tag != table_cell_tag
+                        ) or len(parent) != 1:
                     r_node.attrib[py_replace] = expr
                     continue
 
@@ -502,20 +488,9 @@ class Template(MarkupTemplate):
                                              cache_id)
                 # The grand-parent tag is a table cell we should set the
                 # correct value and type for this cell.
-                dico = ("{'%s': __relatorio_store_cache(%s, %s), "
-                        "'%s': __relatorio_guess_type("
-                        "__relatorio_get_cache(%s))}")
-                update_py_attrs(parent, dico %
-                        (office_name, cache_id, expr, office_valuetype,
-                         cache_id))
-                parent.attrib.pop(office_valuetype, None)
-                parent.attrib.pop(office_name, None)
-                if (calcext_valuetype and
-                        parent.attrib.pop(calcext_valuetype, None)):
-                    update_py_attrs(parent,
-                        "{'%s': __relatorio_guess_type("
-                        "__relatorio_get_cache(%s))}" %
-                        (calcext_valuetype, cache_id))
+                dico = ('__relatorio_guess_type('
+                        '__relatorio_store_cache(%s, %s))')
+                update_py_attrs(parent, dico % (cache_id, expr))
 
     def _handle_column_loops(self, statement, ancestor, opening,
                              outer_o_node, outer_c_node):
@@ -741,6 +716,41 @@ class Template(MarkupTemplate):
             if element.text:
                 element.text = element.text.replace(PREFIX, PREFIX * 2)
 
+    def _guess_type(self, val):
+        office_namespace = self.namespaces['office']
+        types = {'boolean': '{%s}boolean-value' % office_namespace,
+                 'currency': '{%s}currency' % office_namespace,
+                 'date': '{%s}date-value' % office_namespace,
+                 'float': '{%s}value' % office_namespace,
+                 'percentage': '{%s}value' % office_namespace,
+                 'string': '{%s}string-value' % office_namespace,
+                 'time': '{%s}time-value' % office_namespace,
+                 'void': '{%s}value' % office_namespace,
+                 }
+        attrs = dict.fromkeys(types)
+        # Missing base type for currency and percentage
+        if isinstance(val, bool):
+            type_ = 'boolean'
+            val = str(val).lower()
+        elif isinstance(val, datetime.date):
+            type_ = 'date'
+            val = val.date()
+        elif isinstance(val, (int, float, long, Decimal)):
+            type_ = 'float'
+        elif isinstance(val, basestring):
+            type_ = 'string'
+        elif isinstance(val, datetime.timedelta):
+            type_ = 'time'
+            val = 'P%sD%sS' % (val.days, val.seconds)
+        else:
+            type_ = 'void'
+            val = None
+        attrs[types[type_]] = val
+        attrs['{%s}value-type' % office_namespace] = type_
+        if 'calcext' in self.namespaces:
+            attrs['{%s}value-type' % self.namespaces['calcext']] = type_
+        return attrs
+
     def generate(self, *args, **kwargs):
         "creates the RelatorioStream."
         serializer = OOSerializer(self._source)
@@ -748,7 +758,7 @@ class Template(MarkupTemplate):
                                                     serializer.manifest,
                                                     kwargs)
         kwargs['__relatorio_make_dimension'] = ImageDimension(self.namespaces)
-        kwargs['__relatorio_guess_type'] = guess_type
+        kwargs['__relatorio_guess_type'] = self._guess_type
 
         counter = ColumnCounter()
         kwargs['__relatorio_reset_col_count'] = counter.reset
@@ -800,6 +810,85 @@ class DuplicateColumnHeaders(object):
                 yield mark, (kind, data, pos)
 
 
+def get_zip_file(source):
+    try:
+        return zipfile.ZipFile(source)
+    except zipfile.BadZipfile:
+        # ZipFile modify the position
+        if hasattr(source, 'seek'):
+            source.seek(0)
+        return zipfile.ZipFile(fod2od(source))
+
+
+def fod2od(source):
+    "Convert Flat OpenDocument to OpenDocument"
+    odt_io = BytesIO()
+    odt_zip = zipfile.ZipFile(odt_io, mode='w')
+    fodt_tree = lxml.etree.parse(source)
+    fodt_root = fodt_tree.getroot()
+    office_ns = fodt_root.nsmap['office']
+    tag2files = {
+        '{%s}meta' % office_ns: ['meta'],
+        '{%s}settings' % office_ns: ['settings'],
+        '{%s}scripts' % office_ns: ['content'],
+        '{%s}font-face-decls' % office_ns: ['content', 'styles'],
+        '{%s}styles' % office_ns: ['styles'],
+        '{%s}automatic-styles' % office_ns: ['content', 'styles'],
+        '{%s}master-styles' % office_ns: ['styles'],
+        '{%s}body' % office_ns: ['content'],
+        }
+    mimetype = fodt_root.attrib['{%s}mimetype' % office_ns]
+    documents = {}
+    images = []
+    for child in fodt_root:
+        for fname in tag2files[child.tag]:
+            document = documents.get(fname)
+            if document is None:
+                document = lxml.etree.Element(
+                    '{%s}document-%s' % (office_ns, fname),
+                    nsmap=fodt_root.nsmap)
+                documents[fname] = document
+            child = deepcopy(child)
+            images.extend(extract_images(
+                    child, fodt_root.nsmap, start=len(images)))
+            document.append(child)
+    manifest = Manifest(b'''<?xml version="1.0" encoding="UTF-8"?>
+        <manifest:manifest
+        xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"/>
+        ''')
+    manifest.add_file_entry('/', mimetype)
+    for fname, document in documents.iteritems():
+        document_string = lxml.etree.tostring(document, encoding='UTF-8',
+                                              xml_declaration=True)
+        odt_zip.writestr('%s.xml' % fname, document_string)
+        manifest.add_file_entry('%s.xml' % fname, 'text/xml')
+    for fname, data, mime_type in images:
+        odt_zip.writestr(fname, data)
+        manifest.add_file_entry(fname, mime_type)
+    odt_zip.writestr(MANIFEST, str(manifest))
+    odt_zip.writestr('mimetype', mimetype)
+    return odt_io
+
+
+def extract_images(child, namespaces, start=0):
+    "Extract draw:image with binary-data and replace by href"
+    import magic
+    images = []
+    for i, image in enumerate(
+            child.xpath('//draw:image', namespaces=namespaces), start):
+        binary_data, = image.xpath(
+            './office:binary-data', namespaces=namespaces)
+        data = base64.b64decode(binary_data.text)
+        mime_type = magic.from_buffer(data, mime=True)
+        name = 'Pictures/image%s%s' % (
+            i, mimetypes.guess_extension(mime_type))
+        image.remove(binary_data)
+        xlink_ns = namespaces['xlink']
+        image.attrib['{%s}href' % xlink_ns] = name
+        images.append((name, data, mime_type))
+    return images
+
+
 class Manifest(object):
 
     def __init__(self, content):
@@ -882,7 +971,7 @@ class Meta(object):
 class OOSerializer:
 
     def __init__(self, source):
-        self.inzip = zipfile.ZipFile(source)
+        self.inzip = get_zip_file(source)
         self.manifest = Manifest(self.inzip.read(MANIFEST))
         self.meta = Meta(self.inzip.read(META))
         self.new_oo = BytesIO()
diff --git a/relatorio/tests/test.fodt b/relatorio/tests/test.fodt
new file mode 100644
index 0000000..0d7558f
--- /dev/null
+++ b/relatorio/tests/test.fodt
@@ -0,0 +1,744 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:meta>
+  <meta:generator>LibreOffice/5.1.4.2$OpenBSD_X86_64 LibreOffice_project/10m0$Build-2</meta:generator>
+  <meta:creation-date>2007-10-29T16:21:35</meta:creation-date>
+  
+  <dc:date>2016-11-01T21:50:57.076430449</dc:date>
+  <dc:language>en-US</dc:language>
+  <meta:editing-cycles>45</meta:editing-cycles>
+  <meta:editing-duration>PT1H1M</meta:editing-duration>
+  
+  
+  
+  
+  
+ <meta:document-statistic meta:table-count="1" meta:image-count="1" meta:object-count="0" meta:page-count="1" meta:paragraph-count="24" meta:word-count="77" meta:character-count="406" meta:non-whitespace-character-count="361"/><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/></office:meta>
+ <office:settings>
+  <config:config-item-set config:name="ooo:view-settings">
+   <config:config-item config:name="ViewAreaTop" config:type="long">6985</config:config-item>
+   <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item>
+   <config:config-item config:name="ViewAreaWidth" config:type="long">33842</config:config-item>
+   <config:config-item config:name="ViewAreaHeight" config:type="long">15665</config:config-item>
+   <config:config-item config:name="ShowRedlineChanges" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item>
+   <config:config-item-map-indexed config:name="Views">
+    <config:config-item-map-entry>
+     <config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
+     <config:config-item config:name="ViewLeft" config:type="long">15404</config:config-item>
+     <config:config-item config:name="ViewTop" config:type="long">15139</config:config-item>
+     <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item>
+     <config:config-item config:name="VisibleTop" config:type="long">6985</config:config-item>
+     <config:config-item config:name="VisibleRight" config:type="long">33840</config:config-item>
+     <config:config-item config:name="VisibleBottom" config:type="long">22648</config:config-item>
+     <config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
+     <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item>
+     <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item>
+     <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item>
+     <config:config-item config:name="IsSelectedFrame" config:type="boolean">true</config:config-item>
+    </config:config-item-map-entry>
+   </config:config-item-map-indexed>
+  </config:config-item-set>
+  <config:config-item-set config:name="ooo:configuration-settings">
+   <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item>
+   <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintFaxName" config:type="string"/>
+   <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabOverflow" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="MathBaselineAlignment" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrinterName" config:type="string"/>
+   <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UpdateFromTemplate" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/>
+   <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="Rsid" config:type="int">1812695</config:config-item>
+   <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintEmptyPages" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
+   <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item>
+   <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/>
+   <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/>
+   <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="RsidRoot" config:type="int">1812695</config:config-item>
+   <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item>
+   <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item>
+   <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item>
+   <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item>
+   <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/>
+   <config:config-item config:name="PrinterSetup" config:type="base64Binary"/>
+   <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item>
+  </config:config-item-set>
+ </office:settings>
+ <office:scripts>
+  <office:script script:language="ooo:Basic">
+   <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/>
+  </office:script>
+ </office:scripts>
+ <office:font-face-decls>
+  <style:font-face style:name="StarSymbol" svg:font-family="StarSymbol"/>
+  <style:font-face style:name="Noto Sans Devanagari1" svg:font-family="'Noto Sans Devanagari'" style:font-family-generic="swiss"/>
+  <style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
+  <style:font-face style:name="Bitstream Vera Sans1" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="Noto Sans Devanagari" svg:font-family="'Noto Sans Devanagari'" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="3mm" draw:shadow-offset-y="3mm" draw:start-line-spacing-horizontal="2.83mm" draw:start-line-spacing-vertical="2.83mm" draw:end-line-spacing-horizontal="2.83mm" draw:end-line-spacing-vertical="2.83mm" style:flow-with-text="true"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties fo:color="#000000" style:font-name="Bitstream Vera Sans" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Bitstream Vera Sans1" style:font-size-asian="12pt" style:language-asian="en" style:country-asian="US" style:font-name-complex="Bitstream Vera Sans1" style:font-size-complex="12pt" style:language-complex="en" style:country-complex="US"/>
+  </style:default-style>
+  <style:default-style style:family="paragraph">
+   <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="20mm" style:writing-mode="lr-tb"/>
+   <style:text-properties fo:color="#000000" style:font-name="Bitstream Vera Sans" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-name-asian="Bitstream Vera Sans1" style:font-size-asian="12pt" style:language-asian="en" style:country-asian="US" style:font-name-complex="Bitstream Vera Sans1" style:font-size-complex="12pt" style:language-complex="en" style:country-complex="US" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/>
+  </style:default-style>
+  <style:default-style style:family="table">
+   <style:table-properties table:border-model="separating"/>
+  </style:default-style>
+  <style:default-style style:family="table-row">
+   <style:table-row-properties fo:keep-together="auto"/>
+  </style:default-style>
+  <style:style style:name="Standard" style:family="paragraph" style:class="text"/>
+  <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text">
+   <style:paragraph-properties fo:margin-top="4.23mm" fo:margin-bottom="2.12mm" loext:contextual-spacing="false" fo:keep-with-next="always"/>
+   <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="DejaVu Sans" style:font-family-asian="'DejaVu Sans'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="Noto Sans Devanagari" style:font-family-complex="'Noto Sans Devanagari'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/>
+  </style:style>
+  <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
+   <style:paragraph-properties fo:margin-top="0mm" fo:margin-bottom="2.12mm" loext:contextual-spacing="false"/>
+  </style:style>
+  <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list">
+   <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Noto Sans Devanagari1" style:font-family-complex="'Noto Sans Devanagari'" style:font-family-generic-complex="swiss"/>
+  </style:style>
+  <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties fo:margin-top="2.12mm" fo:margin-bottom="2.12mm" loext:contextual-spacing="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Noto Sans Devanagari1" style:font-family-complex="'Noto Sans Devanagari'" style:font-family-generic-complex="swiss" style:font-size-complex="12pt" style:font-style-complex="italic"/>
+  </style:style>
+  <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+   <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Noto Sans Devanagari1" style:font-family-complex="'Noto Sans Devanagari'" style:font-family-generic-complex="swiss"/>
+  </style:style>
+  <style:style style:name="Table_20_Contents" style:display-name="Table Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0"/>
+  </style:style>
+  <style:style style:name="Table_20_Heading" style:display-name="Table Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" style:class="extra">
+   <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/>
+   <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
+  </style:style>
+  <style:style style:name="Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra">
+   <style:paragraph-properties text:number-lines="false" text:line-number="0">
+    <style:tab-stops>
+     <style:tab-stop style:position="-20.02mm" style:type="right"/>
+     <style:tab-stop style:position="-9.98mm" style:type="center"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="Frame_20_contents" style:display-name="Frame contents" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="extra"/>
+  <style:style style:name="Numbering_20_Symbols" style:display-name="Numbering Symbols" style:family="text"/>
+  <style:style style:name="Bullet_20_Symbols" style:display-name="Bullet Symbols" style:family="text">
+   <style:text-properties style:font-name="StarSymbol" fo:font-family="StarSymbol" fo:font-size="9pt" style:font-name-asian="StarSymbol" style:font-family-asian="StarSymbol" style:font-size-asian="9pt" style:font-name-complex="StarSymbol" style:font-family-complex="StarSymbol" style:font-size-complex="9pt"/>
+  </style:style>
+  <style:style style:name="Placeholder" style:family="text">
+   <style:text-properties fo:font-variant="small-caps" fo:color="#008080" style:text-underline-style="dotted" style:text-underline-width="auto" style:text-underline-color="font-color"/>
+  </style:style>
+  <style:style style:name="Internet_20_link" style:display-name="Internet link" style:family="text">
+   <style:text-properties fo:color="#000080" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/>
+  </style:style>
+  <style:style style:name="Frame" style:family="graphic">
+   <style:graphic-properties text:anchor-type="paragraph" svg:x="0mm" svg:y="0mm" fo:margin-left="2.01mm" fo:margin-right="2.01mm" fo:margin-top="2.01mm" fo:margin-bottom="2.01mm" style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph-content" fo:padding="1.5mm" fo:border="0.06pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Graphics" style:family="graphic">
+   <style:graphic-properties text:anchor-type="paragraph" svg:x="0mm" svg:y="0mm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+  <text:outline-style style:name="Outline">
+   <text:outline-level-style text:level="1" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="2" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="3" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="4" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="5" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="6" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="7" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="8" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="9" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="10" style:num-format="">
+    <style:list-level-properties text:min-label-distance="3.81mm"/>
+   </text:outline-level-style>
+  </text:outline-style>
+  <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/>
+  <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/>
+  <text:linenumbering-configuration text:number-lines="false" text:offset="4.99mm" style:num-format="1" text:number-position="left" text:increment="5"/>
+ </office:styles>
+ <office:automatic-styles>
+  <style:style style:name="Table1" style:family="table">
+   <style:table-properties style:width="103.21mm" table:align="center"/>
+  </style:style>
+  <style:style style:name="Table1.A" style:family="table-column">
+   <style:table-column-properties style:column-width="50.82mm"/>
+  </style:style>
+  <style:style style:name="Table1.B" style:family="table-column">
+   <style:table-column-properties style:column-width="52.39mm"/>
+  </style:style>
+  <style:style style:name="Table1.A1" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.97mm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="0.05pt solid #000000" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Table1.B1" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.97mm" fo:border="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Table1.A2" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.97mm" fo:border-left="0.05pt solid #000000" fo:border-right="0.05pt solid #000000" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="Table1.A3" style:family="table-cell">
+   <style:table-cell-properties fo:padding="0.97mm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
+  </style:style>
+  <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Frame_20_contents">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard" style:list-style-name="L1">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard" style:list-style-name="L2">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard" style:list-style-name="L3">
+   <style:paragraph-properties fo:text-align="start" style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="T1" style:family="text"/>
+  <style:style style:name="T2" style:family="text">
+   <style:text-properties fo:font-weight="normal" style:font-weight-asian="normal" style:font-weight-complex="normal"/>
+  </style:style>
+  <style:style style:name="T3" style:family="text">
+   <style:text-properties fo:font-style="normal" fo:font-weight="normal" fo:background-color="transparent" loext:char-shading-value="0" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-style-complex="normal" style:font-weight-complex="normal"/>
+  </style:style>
+  <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties style:vertical-pos="top" style:vertical-rel="paragraph-content" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+  <style:style style:name="fr2" style:family="graphic" style:parent-style-name="Frame">
+   <style:graphic-properties style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
+  </style:style>
+  <style:style style:name="fr3" style:family="graphic" style:parent-style-name="Graphics">
+   <style:graphic-properties style:wrap="none" style:horizontal-pos="center" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0mm, 0mm, 0mm, 0mm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
+  </style:style>
+  <text:list-style style:name="L1">
+   <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="6.35mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="12.7mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="19.05mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="25.4mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="31.75mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="38.1mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="44.45mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="50.8mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="57.15mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="63.5mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+  </text:list-style>
+  <text:list-style style:name="L2">
+   <text:list-level-style-number text:level="1" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="6.35mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="12.7mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="19.05mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="25.4mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="31.75mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="38.1mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="44.45mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="50.8mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="57.15mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" text:style-name="Numbering_20_Symbols" style:num-suffix="." style:num-format="1">
+    <style:list-level-properties text:space-before="63.5mm" text:min-label-width="6.35mm"/>
+   </text:list-level-style-number>
+  </text:list-style>
+  <text:list-style style:name="L3">
+   <text:list-level-style-bullet text:level="1" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="6.35mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="2" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="12.7mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="3" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="19.05mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="4" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="25.4mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="5" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="31.75mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="6" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="38.1mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="7" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="44.45mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="8" text:style-name="Bullet_20_Symbols" text:bullet-char="○">
+    <style:list-level-properties text:space-before="50.8mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="9" text:style-name="Bullet_20_Symbols" text:bullet-char="■">
+    <style:list-level-properties text:space-before="57.15mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+   <text:list-level-style-bullet text:level="10" text:style-name="Bullet_20_Symbols" text:bullet-char="●">
+    <style:list-level-properties text:space-before="63.5mm" text:min-label-width="6.35mm"/>
+    <style:text-properties style:font-name="StarSymbol"/>
+   </text:list-level-style-bullet>
+  </text:list-style>
+  <style:page-layout style:name="pm1">
+   <style:page-layout-properties fo:page-width="209.99mm" fo:page-height="296.99mm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="20mm" fo:margin-bottom="20mm" fo:margin-left="20mm" fo:margin-right="20mm" style:writing-mode="lr-tb" style:footnote-max-height="0mm">
+    <style:footnote-sep style:width="0.18mm" style:distance-before-sep="1.01mm" style:distance-after-sep="1.01mm" style:line-style="none" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style>
+    <style:header-footer-properties fo:min-height="4.99mm" fo:margin-left="0mm" fo:margin-right="0mm" fo:margin-top="0mm"/>
+   </style:footer-style>
+  </style:page-layout>
+ </office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Standard" style:page-layout-name="pm1">
+   <style:footer>
+    <text:p text:style-name="Footer"><text:a xlink:type="simple" xlink:href="relatorio://footer" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">footer</text:a></text:p>
+   </style:footer>
+  </style:master-page>
+ </office:master-styles>
+ <office:body>
+  <office:text>
+   <office:forms form:automatic-focus="false" form:apply-design-mode="false"/>
+   <text:sequence-decls>
+    <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+   </text:sequence-decls>
+   <text:p text:style-name="Standard">Bonjour,</text:p>
+   <text:p text:style-name="Standard">Je suis un test de templating en odt.</text:p>
+   <text:p text:style-name="Standard">Je m'appelle : <text:a xlink:type="simple" xlink:href="relatorio://first_name" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link"><text:span text:style-name="T3">first_name</text:span></text:a><text:span text:style-name="T3"> </text:span><text:span text:style-name="T3"><text:placeholder text:placeholder-type="text"><last_name></text:placeholder></text:span><text:span text:style-name="T2">. J'habite à </text:span><text:span text:style-name="T2"><text:placeholder text:placeholder-type="text"><ville></text:placeholder></text:span><text:span text:style-name="T2">.</text:span></text:p>
+   <text:p text:style-name="Standard"/>
+   <text:p text:style-name="Standard">Mes collègues sont:</text:p>
+   <table:table table:name="Table1" table:style-name="Table1">
+    <table:table-column table:style-name="Table1.A"/>
+    <table:table-column table:style-name="Table1.B"/>
+    <table:table-header-rows>
+     <table:table-row>
+      <table:table-cell table:style-name="Table1.A1" office:value-type="string">
+       <text:p text:style-name="Table_20_Heading">Prénom</text:p>
+      </table:table-cell>
+      <table:table-cell table:style-name="Table1.B1" office:value-type="string">
+       <text:p text:style-name="Table_20_Heading">Nom</text:p>
+      </table:table-cell>
+     </table:table-row>
+    </table:table-header-rows>
+    <table:table-row>
+     <table:table-cell table:style-name="Table1.A2" table:number-columns-spanned="2" office:value-type="string">
+      <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="relatorio://for%20each=%22f%20in%20friends%22" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">for each="f in friends"</text:a></text:p>
+     </table:table-cell>
+     <table:covered-table-cell/>
+    </table:table-row>
+    <table:table-row>
+     <table:table-cell table:style-name="Table1.A3" office:value-type="string">
+      <text:p text:style-name="Table_20_Contents"><text:a xlink:type="simple" xlink:href="relatorio://f.first_name" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">f.first_name</text:a></text:p>
+     </table:table-cell>
+     <table:table-cell table:style-name="Table1.A2" office:value-type="string">
+      <text:p text:style-name="Table_20_Contents"><text:placeholder text:placeholder-type="text"><f.last_name></text:placeholder></text:p>
+     </table:table-cell>
+    </table:table-row>
+    <table:table-row>
+     <table:table-cell table:style-name="Table1.A2" table:number-columns-spanned="2" office:value-type="string">
+      <text:p text:style-name="Table_20_Contents"><text:a xlink:type="simple" xlink:href="relatorio:///for" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">/for</text:a></text:p>
+     </table:table-cell>
+     <table:covered-table-cell/>
+    </table:table-row>
+   </table:table>
+   <text:p text:style-name="P1"/>
+   <text:p text:style-name="P1">J'ai aussi des hobbies:</text:p>
+   <text:list xml:id="list7886922533460062764" text:style-name="L1">
+    <text:list-item>
+     <text:p text:style-name="P3"><text:a xlink:type="simple" xlink:href="relatorio://for%20each=%22h%20in%20hobbies%22" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">for each="h in hobbies"</text:a></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P3"><text:a xlink:type="simple" xlink:href="relatorio://h" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">h</text:a></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P3"><text:a xlink:type="simple" xlink:href="relatorio:///for" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">/for</text:a></text:p>
+    </text:list-item>
+   </text:list>
+   <text:p text:style-name="P1"/>
+   <text:p text:style-name="P1">Et j'ai même des animaux :</text:p>
+   <text:list xml:id="list8457721859695998066" text:style-name="L2">
+    <text:list-item>
+     <text:p text:style-name="P4"><text:a xlink:type="simple" xlink:href="relatorio://for%20each=%22animal%20in%20animals%22" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">for each="animal in animals"</text:a></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P4"><text:placeholder text:placeholder-type="text"><animal></text:placeholder></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P4"><text:a xlink:type="simple" xlink:href="relatorio:///for" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">/for</text:a></text:p>
+    </text:list-item>
+   </text:list>
+   <text:p text:style-name="P1"/>
+   <text:p text:style-name="P1">On peut aussi afficher des images:</text:p>
+   <text:p text:style-name="P1"/>
+   <text:p text:style-name="P1"><draw:frame draw:style-name="fr1" draw:name="image: (oeuf, 'image/png')" text:anchor-type="paragraph" svg:width="20mm" draw:z-index="1">
+     <draw:text-box fo:min-height="4.99mm">
+      <text:p text:style-name="P2"/>
+     </draw:text-box>
+    </draw:frame></text:p>
+   <text:p text:style-name="P1"/>
+   <text:p text:style-name="P1"><draw:frame draw:style-name="fr3" draw:name="Image1" text:anchor-type="paragraph" svg:width="30.32mm" svg:height="44.43mm" draw:z-index="2"><draw:image>
+      <office:binary-data>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
+      </office:binary-data>
+     </draw:image>
+    </draw:frame></text:p>
+   <text:p text:style-name="P1">Et aussi dans des boucles:</text:p>
+   <text:list xml:id="list985105091880368092" text:style-name="L3">
+    <text:list-item>
+     <text:p text:style-name="P5"><text:a xlink:type="simple" xlink:href="relatorio://for%20each=%22img%20in%20images%22" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">for each="img in images"</text:a></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P5"><draw:frame draw:style-name="fr2" draw:name="image: img" text:anchor-type="as-char" svg:width="17.32mm" svg:height="15.13mm" draw:z-index="0">
+       <draw:text-box>
+        <text:p text:style-name="P2"/>
+       </draw:text-box>
+      </draw:frame></text:p>
+    </text:list-item>
+    <text:list-item>
+     <text:p text:style-name="P5"><text:a xlink:type="simple" xlink:href="relatorio:///for" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">/for</text:a></text:p>
+    </text:list-item>
+   </text:list>
+  </office:text>
+ </office:body>
+</office:document>
\ No newline at end of file
diff --git a/relatorio/tests/test_odt.py b/relatorio/tests/test_odt.py
index 275651b..2b22087 100644
--- a/relatorio/tests/test_odt.py
+++ b/relatorio/tests/test_odt.py
@@ -1,7 +1,7 @@
 # -*- encoding: utf-8 -*-
 ###############################################################################
 #
-# Copyright (c) 2014 Cedric Krier.
+# Copyright (c) 2014-2017 Cedric Krier.
 # Copyright (c) 2007, 2008 OpenHex SPRL. (http://openhex.com) All Rights
 # Reserved.
 #
@@ -31,7 +31,7 @@ from genshi.core import PI
 from genshi.template.eval import UndefinedError
 
 from relatorio.templates.opendocument import Template, GENSHI_EXPR,\
-    GENSHI_URI, RELATORIO_URI
+    GENSHI_URI, RELATORIO_URI, fod2od
 
 OO_TABLE_NS = "urn:oasis:names:tc:opendocument:xmlns:table:1.0"
 
@@ -59,7 +59,8 @@ class TestOOTemplating(unittest.TestCase):
     def setUp(self):
         thisdir = os.path.dirname(__file__)
         filepath = os.path.join(thisdir, 'test.odt')
-        self.oot = Template(open(filepath, mode='rb'))
+        self._source = open(filepath, mode='rb')
+        self.oot = Template(self._source)
         self.data = {'first_name': u'Trente',
                      'last_name': u'Møller',
                      'ville': u'Liège',
@@ -76,6 +77,12 @@ class TestOOTemplating(unittest.TestCase):
                      'oeuf': open(os.path.join(thisdir, 'egg.jpg'), 'rb'),
                      'footer': u'We sell stuff'}
 
+    def tearDown(self):
+        self._source.close()
+        for image in self.data['images']:
+            image[0].close()
+        self.data['oeuf'].close()
+
     def test_init(self):
         "Testing the correct handling of the styles.xml and content.xml files"
         self.assertTrue(isinstance(self.oot.stream, list))
@@ -318,3 +325,17 @@ class TestOOTemplating(unittest.TestCase):
         # another non matching expr
         group = GENSHI_EXPR.match('formatLang("en")').groups()
         self.assertEqual(group, (None, None, None, None))
+
+    def test_fodt2odt(self):
+        "Testing converter fodt to odt"
+        thisdir = os.path.dirname(__file__)
+        filepath = os.path.join(thisdir, 'test.fodt')
+        fod2od(filepath)
+
+    def test_generate_fod(self):
+        "Testing generate fod"
+        thisdir = os.path.dirname(__file__)
+        filepath = os.path.join(thisdir, 'test.fodt')
+        with open(filepath, mode='rb') as source:
+            oot = Template(source)
+            oot.generate(**self.data)
diff --git a/setup.cfg b/setup.cfg
index 861a9f5..8bfd5a1 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,5 +1,4 @@
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff --git a/setup.py b/setup.py
index d30ff7f..e063615 100644
--- a/setup.py
+++ b/setup.py
@@ -3,6 +3,7 @@ import re
 import codecs
 from setuptools import setup, find_packages
 
+
 def read(fname):
     return codecs.open(
         os.path.join(os.path.dirname(__file__), fname), 'r', 'utf-8').read()
@@ -26,7 +27,8 @@ setup(
     version=get_version(),
     packages=find_packages(exclude=['examples']),
     package_data={
-        'relatorio.tests': ['*.jpg', '*.odt', '*.png', 'templates/*.tmpl'],
+        'relatorio.tests': [
+            '*.jpg', '*.odt', '*.fodt', '*.png', 'templates/*.tmpl'],
         },
     install_requires=[
         "Genshi >= 0.5",
@@ -34,6 +36,7 @@ setup(
     ],
     extras_require={
         'chart': ['pycha >= 0.4.0', 'pyyaml'],  # pycairo
+        'fodt': ['python-magic'],
         },
     classifiers=[
         "Development Status :: 4 - Beta",
@@ -46,4 +49,5 @@ setup(
         "Topic :: Text Processing",
     ],
     test_suite="relatorio.tests",
+    tests_require=['python-magic'],
     use_2to3=True)
commit ed569e40367ba5c5f90db798e6e04069db75b197
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 16:24:52 2017 +0200

    Add the current signing key of the maintainer.

diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
index 962b82d..364eb8d 100644
--- a/debian/upstream/signing-key.asc
+++ b/debian/upstream/signing-key.asc
@@ -458,3 +458,228 @@ qG3Z71uo36oj0jEkKSPNuajmHLZKghn+AogNf1MrhclVhYzmSy2JwHpi7Ve5viWE
 9A==
 =urY5
 -----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+kie0ZQO4g9h2Pmoi4zBbR/Xw6A==
+=RWio
+-----END PGP PUBLIC KEY BLOCK-----
commit 97230b9d3a82d2076c301253bf70da872738c226
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Mon Sep 4 16:20:07 2017 +0200

    Bump the Standards-Version to 4.1.0, no changes needed.

diff --git a/debian/control b/debian/control
index fc10bf5..a0cedd8 100644
--- a/debian/control
+++ b/debian/control
@@ -19,7 +19,7 @@ Build-Depends:
  python3-nose,
  python3-setuptools,
  python3-yaml,
-Standards-Version: 4.0.1
+Standards-Version: 4.1.0
 Homepage: http://relatorio.tryton.org/
 Vcs-Browser: https://anonscm.debian.org/cgit/tryton/relatorio.git
 Vcs-Git: https://anonscm.debian.org/cgit/tryton/relatorio.git
-- 
relatorio



More information about the tryton-debian-vcs mailing list