mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-04-20 00:41:46 +00:00
Migrated reportlab and rml to requirements.txt following working compiler
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
# this is a namespace package
|
||||
try:
|
||||
import pkg_resources
|
||||
pkg_resources.declare_namespace(__name__)
|
||||
except ImportError:
|
||||
import pkgutil
|
||||
__path__ = pkgutil.extend_path(__path__, __name__)
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
=========================
|
||||
Reportlab Markup Language
|
||||
=========================
|
||||
|
||||
This package is a free implementation of the RML markup language developed by
|
||||
Reportlab. Unfortunately, full compliance cannot be immediately verified,
|
||||
since the RML User Guide is ambiguous, incomplete and even incorrect. This
|
||||
package can also not support the commercial extensions to Reportlab.
|
||||
|
||||
In the course of implementing the specification, I made already some
|
||||
improvements for various tags and added others fully. I also tried hard to
|
||||
test all features. If you have any new sample RML files that you would like to
|
||||
share, please check them in.
|
||||
|
||||
Why reimplement RML? The other free implementation of RML tinyRML is
|
||||
unfortunately pretty messy code and hard to debug. It makes it also hard to
|
||||
add additional tags. However, much thanks goes to their authors, since they
|
||||
have solved some of the very tricky issues.
|
||||
@@ -1,7 +0,0 @@
|
||||
# Hook up our custom paragraph parser.
|
||||
import z3c.rml.paraparser
|
||||
import z3c.rml.rlfix
|
||||
|
||||
|
||||
from reportlab.lib.styles import getSampleStyleSheet
|
||||
SampleStyleSheet = getSampleStyleSheet()
|
||||
607
z3c/rml/attr.py
607
z3c/rml/attr.py
@@ -1,607 +0,0 @@
|
||||
# #############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# #############################################################################
|
||||
"""RML Attribute Implementation
|
||||
"""
|
||||
import cStringIO
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import reportlab.graphics.widgets.markers
|
||||
import reportlab.lib.colors
|
||||
import reportlab.lib.pagesizes
|
||||
import reportlab.lib.styles
|
||||
import reportlab.lib.units
|
||||
import reportlab.lib.utils
|
||||
import urllib
|
||||
import zope.interface
|
||||
import zope.schema
|
||||
from lxml import etree
|
||||
|
||||
from z3c.rml import interfaces, SampleStyleSheet
|
||||
|
||||
MISSING = object()
|
||||
logger = logging.getLogger("z3c.rml")
|
||||
|
||||
|
||||
def getFileInfo(directive):
|
||||
root = directive
|
||||
while root.parent:
|
||||
root = root.parent
|
||||
return '(file %s, line %i)' % (
|
||||
root.filename, directive.element.sourceline)
|
||||
|
||||
|
||||
def getManager(context, interface=None):
|
||||
if interface is None:
|
||||
# Avoid circular imports
|
||||
from z3c.rml import interfaces
|
||||
|
||||
interface = interfaces.IManager
|
||||
# Walk up the path until the manager is found
|
||||
# Using interface.providedBy is much slower because it does many more checks
|
||||
while (
|
||||
context is not None and
|
||||
not interface in context.__class__.__dict__.get('__implemented__', {})
|
||||
):
|
||||
context = context.parent
|
||||
# If no manager was found, raise an error
|
||||
if context is None:
|
||||
raise ValueError('The manager could not be found.')
|
||||
return context
|
||||
|
||||
|
||||
def deprecated(oldName, attr, reason):
|
||||
zope.interface.directlyProvides(attr, interfaces.IDeprecated)
|
||||
attr.deprecatedName = oldName
|
||||
attr.deprecatedReason = reason
|
||||
return attr
|
||||
|
||||
|
||||
class RMLAttribute(zope.schema.Field):
|
||||
"""An attribute of the RML directive."""
|
||||
|
||||
missing_value = MISSING
|
||||
default = MISSING
|
||||
|
||||
def fromUnicode(self, ustr):
|
||||
"""See zope.schema.interfaces.IField"""
|
||||
if self.context is None:
|
||||
raise ValueError('Attribute not bound to a context.')
|
||||
return super(RMLAttribute, self).fromUnicode(unicode(ustr))
|
||||
|
||||
def get(self):
|
||||
"""See zope.schema.interfaces.IField"""
|
||||
# If the attribute has a deprecated partner and the deprecated name
|
||||
# has been specified, use it.
|
||||
if (interfaces.IDeprecated.providedBy(self) and
|
||||
self.deprecatedName in self.context.element.attrib):
|
||||
name = self.deprecatedName
|
||||
logger.warn(
|
||||
u'Deprecated attribute "%s": %s %s' % (
|
||||
name, self.deprecatedReason, getFileInfo(self.context)))
|
||||
else:
|
||||
name = self.__name__
|
||||
# Extract the value.
|
||||
value = self.context.element.get(name, self.missing_value)
|
||||
# Get the correct default value.
|
||||
if value is self.missing_value:
|
||||
if self.default is not None:
|
||||
return self.default
|
||||
return self.missing_value
|
||||
return self.fromUnicode(value)
|
||||
|
||||
|
||||
class BaseChoice(RMLAttribute):
|
||||
choices = {}
|
||||
doLower = True
|
||||
|
||||
def fromUnicode(self, value):
|
||||
if self.doLower:
|
||||
value = value.lower()
|
||||
if value in self.choices:
|
||||
return self.choices[value]
|
||||
raise ValueError(
|
||||
'%r not a valid value for attribute "%s". %s' % (
|
||||
value, self.__name__, getFileInfo(self.context)))
|
||||
|
||||
|
||||
class Combination(RMLAttribute):
|
||||
"""A combination of several other attribute types."""
|
||||
|
||||
def __init__(self, value_types=(), *args, **kw):
|
||||
super(Combination, self).__init__(*args, **kw)
|
||||
self.value_types = value_types
|
||||
|
||||
def fromUnicode(self, value):
|
||||
for value_type in self.value_types:
|
||||
bound = value_type.bind(self)
|
||||
try:
|
||||
return bound.fromUnicode(value)
|
||||
except ValueError:
|
||||
pass
|
||||
raise ValueError(
|
||||
'"%s" is not a valid value. %s' % (
|
||||
value, getFileInfo(self.context)))
|
||||
|
||||
|
||||
class String(RMLAttribute, zope.schema.Bytes):
|
||||
"""A simple Bytes string."""
|
||||
|
||||
|
||||
class Text(RMLAttribute, zope.schema.Text):
|
||||
"""A simple unicode string."""
|
||||
|
||||
|
||||
class Integer(RMLAttribute, zope.schema.Int):
|
||||
"""An integer. A minimum and maximum value can be specified."""
|
||||
# By making min and max simple attributes, we avoid some validation
|
||||
# problems.
|
||||
min = None
|
||||
max = None
|
||||
|
||||
|
||||
class Float(RMLAttribute, zope.schema.Float):
|
||||
"""An flaoting point. A minimum and maximum value can be specified."""
|
||||
# By making min and max simple attributes, we avoid some validation
|
||||
# problems.
|
||||
min = None
|
||||
max = None
|
||||
|
||||
|
||||
class StringOrInt(RMLAttribute):
|
||||
"""A (bytes) string or an integer."""
|
||||
|
||||
def fromUnicode(self, value):
|
||||
try:
|
||||
return int(value)
|
||||
except ValueError:
|
||||
return str(value)
|
||||
|
||||
|
||||
class Sequence(RMLAttribute, zope.schema._field.AbstractCollection):
|
||||
"""A list of values of a specified type."""
|
||||
|
||||
splitre = re.compile('[ \t\n,;]*')
|
||||
|
||||
def __init__(self, splitre=None, *args, **kw):
|
||||
super(Sequence, self).__init__(*args, **kw)
|
||||
if splitre is not None:
|
||||
self.splitre = splitre
|
||||
|
||||
def fromUnicode(self, ustr):
|
||||
if ustr.startswith('(') and ustr.endswith(')'):
|
||||
ustr = ustr[1:-1]
|
||||
ustr = ustr.strip()
|
||||
raw_values = self.splitre.split(ustr)
|
||||
result = [self.value_type.bind(self.context).fromUnicode(raw.strip())
|
||||
for raw in raw_values]
|
||||
if ((self.min_length is not None and len(result) < self.min_length) and
|
||||
(self.max_length is not None and len(result) > self.max_length)):
|
||||
raise ValueError(
|
||||
'Length of sequence must be at least %s and at most %i. %s' % (
|
||||
self.min_length, self.max_length,
|
||||
getFileInfo(self.context)))
|
||||
return result
|
||||
|
||||
|
||||
class IntegerSequence(Sequence):
|
||||
"""A sequence of integers."""
|
||||
|
||||
def fromUnicode(self, ustr):
|
||||
ustr = ustr.strip()
|
||||
pieces = self.splitre.split(ustr)
|
||||
numbers = set([])
|
||||
for piece in pieces:
|
||||
# Ignore empty pieces.
|
||||
if not piece:
|
||||
continue
|
||||
# The piece is a range.
|
||||
if '-' in piece:
|
||||
start, end = piece.split('-')
|
||||
# Make range lower and upper bound inclusive.
|
||||
numbers.update(range(int(start), int(end) + 1))
|
||||
continue
|
||||
# The piece is just a number
|
||||
numbers.add(int(piece))
|
||||
return list(numbers)
|
||||
|
||||
|
||||
class Choice(BaseChoice):
|
||||
"""A choice of several values. The values are always case-insensitive."""
|
||||
|
||||
def __init__(self, choices=None, doLower=True, *args, **kw):
|
||||
super(Choice, self).__init__(*args, **kw)
|
||||
if isinstance(choices, (tuple, list)):
|
||||
choices = dict(
|
||||
[(val.lower() if doLower else val, val) for val in choices])
|
||||
else:
|
||||
choices = dict(
|
||||
[(key.lower() if doLower else key, val)
|
||||
for key, val in choices.items()])
|
||||
self.choices = choices
|
||||
self.doLower = doLower
|
||||
|
||||
|
||||
class Boolean(BaseChoice):
|
||||
'''A boolean value.
|
||||
|
||||
For true the values "true", "yes", and "1" are allowed. For false, the
|
||||
values "false", "no", "1" are allowed.
|
||||
'''
|
||||
choices = {'true': True, 'false': False,
|
||||
'yes': True, 'no': False,
|
||||
'1': True, '0': False,
|
||||
}
|
||||
|
||||
|
||||
class TextBoolean(BaseChoice):
|
||||
'''A boolean value as text.
|
||||
|
||||
ReportLab sometimes exposes low-level APIs, so we have to provide values
|
||||
that are directly inserted into the PDF.
|
||||
|
||||
For "true" the values "true", "yes", and "1" are allowed. For "false", the
|
||||
values "false", "no", "1" are allowed.
|
||||
'''
|
||||
choices = {'true': 'true', 'false': 'false',
|
||||
'yes': 'true', 'no': 'false',
|
||||
'1': 'true', '0': 'false',
|
||||
}
|
||||
|
||||
|
||||
class BooleanWithDefault(Boolean):
|
||||
'''This is a boolean field that can also receive the value "default".'''
|
||||
choices = Boolean.choices.copy()
|
||||
choices.update({'default': None})
|
||||
|
||||
|
||||
class Measurement(RMLAttribute):
|
||||
'''This field represents a length value.
|
||||
|
||||
The units "in" (inch), "cm", "mm", and "pt" are allowed. If no units are
|
||||
specified, the value is given in points/pixels.
|
||||
'''
|
||||
|
||||
def __init__(self, allowPercentage=False, allowStar=False, *args, **kw):
|
||||
super(Measurement, self).__init__(*args, **kw)
|
||||
self.allowPercentage = allowPercentage
|
||||
self.allowStar = allowStar
|
||||
|
||||
units = [
|
||||
(re.compile('^(-?[0-9\.]+)\s*in$'), reportlab.lib.units.inch),
|
||||
(re.compile('^(-?[0-9\.]+)\s*cm$'), reportlab.lib.units.cm),
|
||||
(re.compile('^(-?[0-9\.]+)\s*mm$'), reportlab.lib.units.mm),
|
||||
(re.compile('^(-?[0-9\.]+)\s*pt$'), 1),
|
||||
(re.compile('^(-?[0-9\.]+)\s*$'), 1)
|
||||
]
|
||||
|
||||
allowPercentage = False
|
||||
allowStar = False
|
||||
|
||||
def fromUnicode(self, value):
|
||||
if value == 'None':
|
||||
return None
|
||||
if value == '*' and self.allowStar:
|
||||
return value
|
||||
if value.endswith('%') and self.allowPercentage:
|
||||
return value
|
||||
|
||||
for unit in self.units:
|
||||
res = unit[0].search(value, 0)
|
||||
if res:
|
||||
return unit[1] * float(res.group(1))
|
||||
raise ValueError(
|
||||
'The value %r is not a valid measurement. %s' % (
|
||||
value, getFileInfo(self.context)))
|
||||
|
||||
|
||||
class File(Text):
|
||||
"""This field will return a file object.
|
||||
|
||||
The value itself can eith be be a relative or absolute path. Additionally
|
||||
the following syntax is supported: [path.to.python.mpackage]/path/to/file
|
||||
"""
|
||||
open = staticmethod(urllib.urlopen)
|
||||
packageExtract = re.compile('^\[([0-9A-z_.]*)\]/(.*)$')
|
||||
|
||||
doNotOpen = False
|
||||
|
||||
def __init__(self, doNotOpen=False, *args, **kw):
|
||||
super(File, self).__init__(*args, **kw)
|
||||
self.doNotOpen = doNotOpen
|
||||
|
||||
def fromUnicode(self, value):
|
||||
# Check whether the value is of the form:
|
||||
# [<module.path>]/rel/path/image.gif"
|
||||
if value.startswith('['):
|
||||
result = self.packageExtract.match(value)
|
||||
if result is None:
|
||||
raise ValueError(
|
||||
'The package-path-pair you specified was incorrect. %s' % (
|
||||
getFileInfo(self.context)))
|
||||
modulepath, path = result.groups()
|
||||
module = __import__(modulepath, {}, {}, (modulepath))
|
||||
value = os.path.join(os.path.dirname(module.__file__), path)
|
||||
# If there is a drive name in the path, then we want a local file to
|
||||
# be opened. This is only interesting for Windows of course.
|
||||
if os.path.splitdrive(value)[0]:
|
||||
value = 'file:///' + value
|
||||
# If the file is not to be opened, simply return the path.
|
||||
if self.doNotOpen:
|
||||
return value
|
||||
# Open/Download the file
|
||||
fileObj = self.open(value)
|
||||
sio = cStringIO.StringIO(fileObj.read())
|
||||
fileObj.close()
|
||||
sio.seek(0)
|
||||
return sio
|
||||
|
||||
|
||||
class Image(File):
|
||||
"""Similar to the file File attribute, except that an image is internally
|
||||
expected."""
|
||||
|
||||
def __init__(self, onlyOpen=False, *args, **kw):
|
||||
super(Image, self).__init__(*args, **kw)
|
||||
self.onlyOpen = onlyOpen
|
||||
|
||||
def fromUnicode(self, value):
|
||||
if value.lower().endswith('.svg') or value.lower().endswith('.svgz'):
|
||||
return self._load_svg(value)
|
||||
fileObj = super(Image, self).fromUnicode(value)
|
||||
if self.onlyOpen:
|
||||
return fileObj
|
||||
return reportlab.lib.utils.ImageReader(fileObj)
|
||||
|
||||
def _load_svg(self, value):
|
||||
manager = getManager(self.context)
|
||||
|
||||
width = self.context.element.get('width')
|
||||
if width is not None:
|
||||
width = Measurement().fromUnicode(width)
|
||||
height = self.context.element.get('height')
|
||||
if height is not None:
|
||||
height = Measurement().fromUnicode(height)
|
||||
preserve = self.context.element.get('preserveAspectRatio')
|
||||
if preserve is not None:
|
||||
preserve = Boolean().fromUnicode(preserve)
|
||||
|
||||
cache_key = '%s-%sx%s-%s' % (value, width, height, preserve)
|
||||
if cache_key in manager.svgs:
|
||||
return manager.svgs[cache_key]
|
||||
|
||||
from gzip import GzipFile
|
||||
from reportlab.graphics import renderPM
|
||||
from svg2rlg import Renderer
|
||||
from xml.etree import cElementTree
|
||||
|
||||
fileObj = super(Image, self).fromUnicode(value)
|
||||
svg = fileObj.getvalue()
|
||||
if svg[:2] == '\037\213':
|
||||
svg = GzipFile(fileobj=fileObj).read()
|
||||
svg = cElementTree.fromstring(svg)
|
||||
svg = Renderer(value).render(svg)
|
||||
|
||||
if preserve:
|
||||
if width is not None or height is not None:
|
||||
if width is not None and height is None:
|
||||
height = svg.height * width / svg.width
|
||||
elif height is not None and width is None:
|
||||
width = svg.width * height / svg.height
|
||||
elif float(width) / height > float(svg.width) / svg.height:
|
||||
width = svg.width * height / svg.height
|
||||
else:
|
||||
height = svg.height * width / svg.width
|
||||
else:
|
||||
if width is None:
|
||||
width = svg.width
|
||||
if height is None:
|
||||
height = svg.height
|
||||
|
||||
svg.scale(width / svg.width, height / svg.height)
|
||||
svg.width = width
|
||||
svg.height = height
|
||||
|
||||
svg = renderPM.drawToPIL(svg, dpi=300)
|
||||
svg = reportlab.lib.utils.ImageReader(svg)
|
||||
svg.read = True # A hack to get ImageReader through as an open Image
|
||||
# when used with imageAndFlowables
|
||||
manager.svgs[cache_key] = svg
|
||||
return svg
|
||||
|
||||
|
||||
class Color(RMLAttribute):
|
||||
"""Requires the input of a color. There are several supported formats.
|
||||
|
||||
Three values in a row are interpreted as RGB value ranging from 0-255.
|
||||
A string is interpreted as a name to a pre-defined color.
|
||||
The 'CMYK()' wrapper around four values represents a CMYK color
|
||||
specification.
|
||||
"""
|
||||
|
||||
def __init__(self, acceptNone=False, *args, **kw):
|
||||
super(Color, self).__init__(*args, **kw)
|
||||
self.acceptNone = acceptNone
|
||||
|
||||
def fromUnicode(self, value):
|
||||
if self.acceptNone and value.lower() == 'none':
|
||||
return None
|
||||
manager = getManager(self.context)
|
||||
|
||||
if value.startswith('rml:'):
|
||||
value = manager.get_name(value[4:], '#000000')
|
||||
|
||||
if value in manager.colors:
|
||||
return manager.colors[value]
|
||||
try:
|
||||
return reportlab.lib.colors.toColor(value)
|
||||
# Bare except, since code raises string exception: Invalid color value
|
||||
except:
|
||||
raise ValueError(
|
||||
'The color specification "%s" is not valid. %s' % (
|
||||
value, getFileInfo(self.context)))
|
||||
|
||||
|
||||
def _getStyle(context, value):
|
||||
manager = getManager(context)
|
||||
for styles in (manager.styles, SampleStyleSheet.byName):
|
||||
if value in styles:
|
||||
return styles[value]
|
||||
elif 'style.' + value in styles:
|
||||
return styles['style.' + value]
|
||||
elif value.startswith('style.') and value[6:] in styles:
|
||||
return styles[value[6:]]
|
||||
raise ValueError('Style %r could not be found. %s' % (
|
||||
value, getFileInfo(context)))
|
||||
|
||||
|
||||
class Style(String):
|
||||
"""Requires a valid style to be entered.
|
||||
|
||||
Whether the style is a paragraph, table or box style is irrelevant, except
|
||||
that it has to fit the tag.
|
||||
"""
|
||||
default = SampleStyleSheet.byName['Normal']
|
||||
|
||||
def fromUnicode(self, value):
|
||||
return _getStyle(self.context, value)
|
||||
|
||||
|
||||
class Padding(Sequence):
|
||||
"""This attribute is specific for padding and will produce the proper
|
||||
length of the padding sequence."""
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
kw.update(dict(value_type=Integer(), min_length=1, max_length=4))
|
||||
super(Padding, self).__init__(*args, **kw)
|
||||
|
||||
def fromUnicode(self, value):
|
||||
seq = super(Padding, self).fromUnicode(value)
|
||||
# pdfgen does not like a single paddign value.
|
||||
if len(seq) == 1:
|
||||
seq.append(seq[0])
|
||||
return seq
|
||||
|
||||
|
||||
class Symbol(Text):
|
||||
"""This attribute should contain the text representation of a symbol to be
|
||||
used."""
|
||||
|
||||
def fromUnicode(self, value):
|
||||
return reportlab.graphics.widgets.markers.makeMarker(value)
|
||||
|
||||
|
||||
class PageSize(RMLAttribute):
|
||||
"""A simple measurement pair that specifies the page size. Optionally you
|
||||
can also specify a the name of a page size, such as A4, letter, or legal.
|
||||
"""
|
||||
|
||||
sizePair = Sequence(value_type=Measurement())
|
||||
words = Sequence(value_type=String())
|
||||
|
||||
def fromUnicode(self, value):
|
||||
# First try to get a pair
|
||||
try:
|
||||
return self.sizePair.bind(self.context).fromUnicode(value)
|
||||
except ValueError:
|
||||
pass
|
||||
# Now we try to lookup a name. The following type of combinations must
|
||||
# work: "Letter" "LETTER" "A4 landscape" "letter portrait"
|
||||
words = self.words.bind(self.context).fromUnicode(value)
|
||||
words = [word.lower() for word in words]
|
||||
# First look for the orientation
|
||||
orienter = None
|
||||
for orientation in ('landscape', 'portrait'):
|
||||
if orientation in words:
|
||||
orienter = getattr(reportlab.lib.pagesizes, orientation)
|
||||
words.remove(orientation)
|
||||
# We must have exactely one value left that matches a paper size
|
||||
pagesize = getattr(reportlab.lib.pagesizes, words[0].upper())
|
||||
# Now do the final touches
|
||||
if orienter:
|
||||
pagesize = orienter(pagesize)
|
||||
return pagesize
|
||||
|
||||
|
||||
class TextNode(RMLAttribute):
|
||||
"""Return the text content of an element."""
|
||||
|
||||
def get(self):
|
||||
if self.context.element.text is None:
|
||||
return u''
|
||||
return unicode(self.context.element.text).strip()
|
||||
|
||||
|
||||
class FirstLevelTextNode(TextNode):
|
||||
"""Gets all the text content of an element without traversing into any
|
||||
child-elements."""
|
||||
|
||||
def get(self):
|
||||
text = self.context.element.text or u''
|
||||
for child in self.context.element.getchildren():
|
||||
text += child.tail or u''
|
||||
return text.strip()
|
||||
|
||||
|
||||
class TextNodeSequence(Sequence, TextNode):
|
||||
"""A sequence of values retrieved from the element's content."""
|
||||
|
||||
def get(self):
|
||||
return self.fromUnicode(self.context.element.text)
|
||||
|
||||
|
||||
class TextNodeGrid(TextNodeSequence):
|
||||
"""A grid/matrix of values retrieved from the element's content.
|
||||
|
||||
The number of columns is specified for every case, but the number of rows
|
||||
is dynamic.
|
||||
"""
|
||||
|
||||
def __init__(self, columns=None, *args, **kw):
|
||||
super(TextNodeGrid, self).__init__(*args, **kw)
|
||||
self.columns = columns
|
||||
|
||||
def fromUnicode(self, ustr):
|
||||
result = super(TextNodeGrid, self).fromUnicode(ustr)
|
||||
if len(result) % self.columns != 0:
|
||||
raise ValueError(
|
||||
'Number of elements must be divisible by %i. %s' % (
|
||||
self.columns, getFileInfo(self.context)))
|
||||
return [result[i * self.columns:(i + 1) * self.columns]
|
||||
for i in range(len(result) / self.columns)]
|
||||
|
||||
|
||||
class RawXMLContent(RMLAttribute):
|
||||
"""Retrieve the raw content of an element.
|
||||
|
||||
Only some special element substitution will be made.
|
||||
"""
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
super(RawXMLContent, self).__init__(*args, **kw)
|
||||
|
||||
def get(self):
|
||||
# ReportLab's paragraph parser does not like attributes from other
|
||||
# namespaces; sigh. So we have to improvize.
|
||||
text = etree.tounicode(self.context.element, pretty_print=False)
|
||||
text = text[text.find('>') + 1:text.rfind('<')]
|
||||
return text
|
||||
|
||||
|
||||
class XMLContent(RawXMLContent):
|
||||
"""Same as 'RawXMLContent', except that the whitespace is normalized."""
|
||||
|
||||
def get(self):
|
||||
text = super(XMLContent, self).get()
|
||||
return text.strip().replace('\t', ' ')
|
||||
1012
z3c/rml/canvas.py
1012
z3c/rml/canvas.py
File diff suppressed because it is too large
Load Diff
1662
z3c/rml/chart.py
1662
z3c/rml/chart.py
File diff suppressed because it is too large
Load Diff
@@ -1,123 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML Directive Implementation
|
||||
"""
|
||||
import logging
|
||||
import zope.interface
|
||||
import zope.schema
|
||||
|
||||
from lxml import etree
|
||||
from z3c.rml import interfaces
|
||||
from z3c.rml.attr import getManager
|
||||
|
||||
logging.raiseExceptions = False
|
||||
logger = logging.getLogger("z3c.rml")
|
||||
|
||||
ABORT_ON_INVALID_DIRECTIVE = False
|
||||
|
||||
def DeprecatedDirective(iface, reason):
|
||||
zope.interface.directlyProvides(iface, interfaces.IDeprecatedDirective)
|
||||
iface.setTaggedValue('deprecatedReason', reason)
|
||||
return iface
|
||||
|
||||
def getFileInfo(directive, element=None):
|
||||
root = directive
|
||||
while root.parent:
|
||||
root = root.parent
|
||||
if element is None:
|
||||
element = directive.element
|
||||
return '(file %s, line %i)' %(root.filename, element.sourceline)
|
||||
|
||||
class RMLDirective(object):
|
||||
zope.interface.implements(interfaces.IRMLDirective)
|
||||
signature = None
|
||||
factories = {}
|
||||
|
||||
def __init__(self, element, parent):
|
||||
self.element = element
|
||||
self.parent = parent
|
||||
|
||||
def getAttributeValues(self, ignore=None, select=None, attrMapping=None,
|
||||
includeMissing=False, valuesOnly=False):
|
||||
"""See interfaces.IRMLDirective"""
|
||||
manager = getManager(self)
|
||||
cache = '%s.%s' % (self.signature.__module__, self.signature.__name__)
|
||||
if cache in manager.attributesCache:
|
||||
fields = manager.attributesCache[cache]
|
||||
else:
|
||||
fields = []
|
||||
for name, attr in zope.schema.getFieldsInOrder(self.signature):
|
||||
fields.append((name, attr))
|
||||
manager.attributesCache[cache] = fields
|
||||
|
||||
items = []
|
||||
for name, attr in fields:
|
||||
# Only add the attribute to the list, if it is supposed there
|
||||
if ((ignore is None or name not in ignore) and
|
||||
(select is None or name in select)):
|
||||
# Get the value.
|
||||
value = attr.bind(self).get()
|
||||
# If no value was found for a required field, raise a value
|
||||
# error
|
||||
if attr.required and value is attr.missing_value:
|
||||
raise ValueError(
|
||||
'No value for required attribute "%s" '
|
||||
'in directive "%s" %s.' % (
|
||||
name, self.element.tag, getFileInfo(self)))
|
||||
# Only add the entry if the value is not the missing value or
|
||||
# missing values are requested to be included.
|
||||
if value is not attr.missing_value or includeMissing:
|
||||
items.append((name, value))
|
||||
|
||||
# Sort the items based on the section
|
||||
if select is not None:
|
||||
select = list(select)
|
||||
items = sorted(items, key=lambda (n, v): select.index(n))
|
||||
|
||||
# If the attribute name does not match the internal API
|
||||
# name, then convert the name to the internal one
|
||||
if attrMapping:
|
||||
items = [(attrMapping.get(name, name), value)
|
||||
for name, value in items]
|
||||
|
||||
# Sometimes we only want the values without the names
|
||||
if valuesOnly:
|
||||
return [value for name, value in items]
|
||||
|
||||
return items
|
||||
|
||||
def processSubDirectives(self, select=None, ignore=None):
|
||||
# Go through all children of the directive and try to process them.
|
||||
for element in self.element.getchildren():
|
||||
# Ignore all comments
|
||||
if isinstance(element, etree._Comment):
|
||||
continue
|
||||
# Raise an error/log any unknown directive.
|
||||
if element.tag not in self.factories:
|
||||
msg = "Directive %r could not be processed and was " \
|
||||
"ignored. %s" %(element.tag, getFileInfo(self, element))
|
||||
# Record any tags/elements that could not be processed.
|
||||
logger.warn(msg)
|
||||
if ABORT_ON_INVALID_DIRECTIVE:
|
||||
raise ValueError(msg)
|
||||
continue
|
||||
if select is not None and element.tag not in select:
|
||||
continue
|
||||
if ignore is not None and element.tag in ignore:
|
||||
continue
|
||||
directive = self.factories[element.tag](element, self)
|
||||
directive.process()
|
||||
|
||||
def process(self):
|
||||
self.processSubDirectives()
|
||||
@@ -1,169 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""``doc*`` directives.
|
||||
"""
|
||||
import reportlab.platypus
|
||||
from z3c.rml import attr, directive, flowable, interfaces, occurence
|
||||
|
||||
class IDocAssign(interfaces.IRMLDirectiveSignature):
|
||||
"""Assign a value to the namesapce."""
|
||||
|
||||
var = attr.String(
|
||||
title=u'Variable Name',
|
||||
description=u'The name under which the value is stored.',
|
||||
required=True)
|
||||
|
||||
expr = attr.String(
|
||||
title=u'Expression',
|
||||
description=u'The expression that creates the value when evaluated.',
|
||||
required=True)
|
||||
|
||||
class DocAssign(flowable.Flowable):
|
||||
signature = IDocAssign
|
||||
klass = reportlab.platypus.flowables.DocAssign
|
||||
|
||||
|
||||
class IDocExec(interfaces.IRMLDirectiveSignature):
|
||||
"""Execute a statement."""
|
||||
|
||||
stmt = attr.String(
|
||||
title=u'Statement',
|
||||
description=u'The statement to be executed.',
|
||||
required=True)
|
||||
|
||||
class DocExec(flowable.Flowable):
|
||||
signature = IDocExec
|
||||
klass = reportlab.platypus.flowables.DocExec
|
||||
|
||||
|
||||
class IDocPara(interfaces.IRMLDirectiveSignature):
|
||||
"""Create a paragraph with the value returned from the expression."""
|
||||
|
||||
expr = attr.String(
|
||||
title=u'Expression',
|
||||
description=u'The expression to be executed.',
|
||||
required=True)
|
||||
|
||||
format = attr.String(
|
||||
title=u'Format',
|
||||
description=u'The format used to render the expression value.',
|
||||
required=False)
|
||||
|
||||
style = attr.Style(
|
||||
title=u'Style',
|
||||
description=u'The style of the paragraph.',
|
||||
required=False)
|
||||
|
||||
escape = attr.Boolean(
|
||||
title=u'Escape Text',
|
||||
description=u'When set (default) the expression value is escaped.',
|
||||
required=False)
|
||||
|
||||
class DocPara(flowable.Flowable):
|
||||
signature = IDocPara
|
||||
klass = reportlab.platypus.flowables.DocPara
|
||||
|
||||
|
||||
class IDocAssert(interfaces.IRMLDirectiveSignature):
|
||||
"""Assert a certain condition."""
|
||||
|
||||
cond = attr.String(
|
||||
title=u'Condition',
|
||||
description=u'The condition to be asserted.',
|
||||
required=True)
|
||||
|
||||
format = attr.String(
|
||||
title=u'Format',
|
||||
description=u'The text displayed if assertion fails.',
|
||||
required=False)
|
||||
|
||||
class DocAssert(flowable.Flowable):
|
||||
signature = IDocAssert
|
||||
klass = reportlab.platypus.flowables.DocAssert
|
||||
|
||||
|
||||
class IDocElse(interfaces.IRMLDirectiveSignature):
|
||||
"""Starts 'else' block."""
|
||||
|
||||
class DocElse(flowable.Flowable):
|
||||
signature = IDocElse
|
||||
|
||||
def process(self):
|
||||
if not isinstance(self.parent, DocIf):
|
||||
raise ValueError("<docElse> can only be placed inside a <docIf>")
|
||||
self.parent.flow = self.parent.elseFlow
|
||||
|
||||
|
||||
class IDocIf(flowable.IFlow):
|
||||
"""Display story flow based on the value of the condition."""
|
||||
|
||||
cond = attr.String(
|
||||
title=u'Condition',
|
||||
description=u'The condition to be tested.',
|
||||
required=True)
|
||||
|
||||
class DocIf(flowable.Flow):
|
||||
signature = IDocAssert
|
||||
klass = reportlab.platypus.flowables.DocIf
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
super(flowable.Flow, self).__init__(*args, **kw)
|
||||
self.thenFlow = self.flow = []
|
||||
self.elseFlow = []
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues())
|
||||
self.processSubDirectives()
|
||||
dif = self.klass(
|
||||
thenBlock = self.thenFlow, elseBlock = self.elseFlow, **args)
|
||||
self.parent.flow.append(dif)
|
||||
|
||||
class IDocWhile(flowable.IFlow):
|
||||
"""Repeat the included directives as long as the condition is true."""
|
||||
|
||||
cond = attr.String(
|
||||
title=u'Condition',
|
||||
description=u'The condition to be tested.',
|
||||
required=True)
|
||||
|
||||
class DocWhile(flowable.Flow):
|
||||
signature = IDocAssert
|
||||
klass = reportlab.platypus.flowables.DocWhile
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues())
|
||||
self.processSubDirectives()
|
||||
dwhile = self.klass(whileBlock = self.flow, **args)
|
||||
self.parent.flow.append(dwhile)
|
||||
|
||||
|
||||
flowable.Flow.factories['docAssign'] = DocAssign
|
||||
flowable.Flow.factories['docExec'] = DocExec
|
||||
flowable.Flow.factories['docPara'] = DocPara
|
||||
flowable.Flow.factories['docAssert'] = DocAssert
|
||||
flowable.Flow.factories['docIf'] = DocIf
|
||||
flowable.Flow.factories['docElse'] = DocElse
|
||||
flowable.Flow.factories['docWhile'] = DocWhile
|
||||
|
||||
flowable.IFlow.setTaggedValue(
|
||||
'directives',
|
||||
flowable.IFlow.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('docAssign', IDocAssign),
|
||||
occurence.ZeroOrMore('docExec', IDocExec),
|
||||
occurence.ZeroOrMore('docPara', IDocPara),
|
||||
occurence.ZeroOrMore('docIf', IDocIf),
|
||||
occurence.ZeroOrMore('docElse', IDocElse),
|
||||
occurence.ZeroOrMore('docWhile', IDocWhile),
|
||||
)
|
||||
)
|
||||
@@ -1,757 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML ``document`` element
|
||||
"""
|
||||
import cStringIO
|
||||
import logging
|
||||
import sys
|
||||
import zope.interface
|
||||
import reportlab.pdfgen.canvas
|
||||
from reportlab.pdfbase import pdfmetrics, ttfonts, cidfonts
|
||||
from reportlab.lib import colors, fonts
|
||||
from reportlab.platypus import tableofcontents
|
||||
from reportlab.platypus.doctemplate import IndexingFlowable
|
||||
|
||||
from z3c.rml import attr, canvas, directive, doclogic, interfaces, list
|
||||
from z3c.rml import occurence, pdfinclude, special, storyplace, stylesheet
|
||||
from z3c.rml import template
|
||||
|
||||
LOGGER_NAME = 'z3c.rml.render'
|
||||
|
||||
class IRegisterType1Face(interfaces.IRMLDirectiveSignature):
|
||||
"""Register a new Type 1 font face."""
|
||||
|
||||
afmFile = attr.File(
|
||||
title=u'AFM File',
|
||||
description=u'Path to AFM file used to register the Type 1 face.',
|
||||
doNotOpen=True,
|
||||
required=True)
|
||||
|
||||
pfbFile = attr.File(
|
||||
title=u'PFB File',
|
||||
description=u'Path to PFB file used to register the Type 1 face.',
|
||||
doNotOpen=True,
|
||||
required=True)
|
||||
|
||||
class RegisterType1Face(directive.RMLDirective):
|
||||
signature = IRegisterType1Face
|
||||
|
||||
def process(self):
|
||||
args = self.getAttributeValues(valuesOnly=True)
|
||||
face = pdfmetrics.EmbeddedType1Face(*args)
|
||||
pdfmetrics.registerTypeFace(face)
|
||||
|
||||
|
||||
class IRegisterFont(interfaces.IRMLDirectiveSignature):
|
||||
"""Register a new font based on a face and encoding."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=(u'The name under which the font can be used in style '
|
||||
u'declarations or other parameters that lookup a font.'),
|
||||
required=True)
|
||||
|
||||
faceName = attr.String(
|
||||
title=u'Face Name',
|
||||
description=(u'The name of the face the font uses. The face has to '
|
||||
u'be previously registered.'),
|
||||
required=True)
|
||||
|
||||
encName = attr.String(
|
||||
title=u'Encoding Name',
|
||||
description=(u'The name of the encdoing to be used.'),
|
||||
required=True)
|
||||
|
||||
class RegisterFont(directive.RMLDirective):
|
||||
signature = IRegisterFont
|
||||
|
||||
def process(self):
|
||||
args = self.getAttributeValues(valuesOnly=True)
|
||||
font = pdfmetrics.Font(*args)
|
||||
pdfmetrics.registerFont(font)
|
||||
|
||||
|
||||
class IAddMapping(interfaces.IRMLDirectiveSignature):
|
||||
"""Map various styles(bold, italic) of a font name to the actual ps fonts
|
||||
used."""
|
||||
|
||||
faceName = attr.String(
|
||||
title=u'Name',
|
||||
description=(u'The name of the font to be mapped'),
|
||||
required=True)
|
||||
|
||||
bold = attr.Integer(
|
||||
title=u'Bold',
|
||||
description=(u'Bold'),
|
||||
required=True)
|
||||
|
||||
italic = attr.Integer(
|
||||
title=u'Italic',
|
||||
description=(u'Italic'),
|
||||
required=True)
|
||||
|
||||
psName = attr.String(
|
||||
title=u'psName',
|
||||
description=(u'Actual font name mapped'),
|
||||
required=True)
|
||||
|
||||
class AddMapping(directive.RMLDirective):
|
||||
signature = IAddMapping
|
||||
|
||||
def process(self):
|
||||
args = self.getAttributeValues(valuesOnly=True)
|
||||
fonts.addMapping(*args)
|
||||
|
||||
class IRegisterTTFont(interfaces.IRMLDirectiveSignature):
|
||||
"""Register a new TrueType font given the TT file and face name."""
|
||||
|
||||
faceName = attr.String(
|
||||
title=u'Face Name',
|
||||
description=(u'The name of the face the font uses. The face has to '
|
||||
u'be previously registered.'),
|
||||
required=True)
|
||||
|
||||
fileName = attr.File(
|
||||
title=u'File Name',
|
||||
description=u'File path of the of the TrueType font.',
|
||||
doNotOpen=True,
|
||||
required=True)
|
||||
|
||||
class RegisterTTFont(directive.RMLDirective):
|
||||
signature = IRegisterTTFont
|
||||
|
||||
def process(self):
|
||||
args = self.getAttributeValues(valuesOnly=True)
|
||||
font = ttfonts.TTFont(*args)
|
||||
pdfmetrics.registerFont(font)
|
||||
|
||||
|
||||
class IRegisterCidFont(interfaces.IRMLDirectiveSignature):
|
||||
"""Register a new CID font given the face name."""
|
||||
|
||||
faceName = attr.String(
|
||||
title=u'Face Name',
|
||||
description=(u'The name of the face the font uses. The face has to '
|
||||
u'be previously registered.'),
|
||||
required=True)
|
||||
|
||||
encName = attr.String(
|
||||
title=u'Encoding Name',
|
||||
description=(u'The name of the encoding to use for the font.'),
|
||||
required=False)
|
||||
|
||||
class RegisterCidFont(directive.RMLDirective):
|
||||
signature = IRegisterCidFont
|
||||
attrMapping = {'faceName': 'face', 'encName': 'encoding'}
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues(attrMapping=self.attrMapping))
|
||||
if 'encoding' in args:
|
||||
font = cidfonts.CIDFont(**args)
|
||||
else:
|
||||
font = cidfonts.UnicodeCIDFont(**args)
|
||||
pdfmetrics.registerFont(font)
|
||||
|
||||
|
||||
class IRegisterFontFamily(interfaces.IRMLDirectiveSignature):
|
||||
"""Register a new font family."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=(u'The name of the font family.'),
|
||||
required=True)
|
||||
|
||||
normal = attr.String(
|
||||
title=u'Normal Font Name',
|
||||
description=(u'The name of the normal font variant.'),
|
||||
required=False)
|
||||
|
||||
bold = attr.String(
|
||||
title=u'Bold Font Name',
|
||||
description=(u'The name of the bold font variant.'),
|
||||
required=False)
|
||||
|
||||
italic = attr.String(
|
||||
title=u'Italic Font Name',
|
||||
description=(u'The name of the italic font variant.'),
|
||||
required=False)
|
||||
|
||||
boldItalic = attr.String(
|
||||
title=u'Bold/Italic Font Name',
|
||||
description=(u'The name of the bold/italic font variant.'),
|
||||
required=True)
|
||||
|
||||
class RegisterFontFamily(directive.RMLDirective):
|
||||
signature = IRegisterFontFamily
|
||||
attrMapping = {'name': 'family'}
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues(attrMapping=self.attrMapping))
|
||||
pdfmetrics.registerFontFamily(**args)
|
||||
|
||||
|
||||
class IColorDefinition(interfaces.IRMLDirectiveSignature):
|
||||
"""Define a new color and give it a name to be known under."""
|
||||
|
||||
id = attr.String(
|
||||
title=u'Id',
|
||||
description=(u'The id/name the color will be available under.'),
|
||||
required=True)
|
||||
|
||||
RGB = attr.Color(
|
||||
title=u'RGB Color',
|
||||
description=(u'The color value that is represented.'),
|
||||
required=False)
|
||||
|
||||
CMYK = attr.Color(
|
||||
title=u'CMYK Color',
|
||||
description=(u'The color value that is represented.'),
|
||||
required=False)
|
||||
|
||||
value = attr.Color(
|
||||
title=u'Color',
|
||||
description=(u'The color value that is represented.'),
|
||||
required=False)
|
||||
|
||||
spotName = attr.String(
|
||||
title=u'Spot Name',
|
||||
description=(u'The Spot Name of the CMYK color.'),
|
||||
required=False)
|
||||
|
||||
density = attr.Float(
|
||||
title=u'Density',
|
||||
description=(u'The color density of the CMYK color.'),
|
||||
min=0.0,
|
||||
max=1.0,
|
||||
required=False)
|
||||
|
||||
knockout = attr.String(
|
||||
title=u'Knockout',
|
||||
description=(u'The knockout of the CMYK color.'),
|
||||
required=False)
|
||||
|
||||
alpha = attr.Float(
|
||||
title=u'Alpha',
|
||||
description=(u'The alpha channel of the color.'),
|
||||
min=0.0,
|
||||
max=1.0,
|
||||
required=False)
|
||||
|
||||
class ColorDefinition(directive.RMLDirective):
|
||||
signature = IColorDefinition
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues())
|
||||
id = kwargs.pop('id')
|
||||
for attrName in ('RGB', 'CMYK', 'value'):
|
||||
color = kwargs.pop(attrName, None)
|
||||
if color is not None:
|
||||
# CMYK has additional attributes.
|
||||
for name, value in kwargs.items():
|
||||
setattr(color, name, value)
|
||||
manager = attr.getManager(self)
|
||||
manager.colors[id] = color
|
||||
return
|
||||
raise ValueError('At least one color definition must be specified.')
|
||||
|
||||
# Initialize also supports the <color> tag.
|
||||
stylesheet.Initialize.factories['color'] = ColorDefinition
|
||||
stylesheet.IInitialize.setTaggedValue(
|
||||
'directives',
|
||||
stylesheet.IInitialize.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('color', IColorDefinition),)
|
||||
)
|
||||
|
||||
|
||||
class IStartIndex(interfaces.IRMLDirectiveSignature):
|
||||
"""Start a new index."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=u'The name of the index.',
|
||||
default='index',
|
||||
required=True)
|
||||
|
||||
offset = attr.Integer(
|
||||
title=u'Offset',
|
||||
description=u'The counting offset.',
|
||||
min=0,
|
||||
required=False)
|
||||
|
||||
format = attr.Choice(
|
||||
title=u'Format',
|
||||
description=(u'The format the index is going to use.'),
|
||||
choices=interfaces.LIST_FORMATS,
|
||||
required=False)
|
||||
|
||||
class StartIndex(directive.RMLDirective):
|
||||
signature = IStartIndex
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues())
|
||||
name = kwargs['name']
|
||||
manager = attr.getManager(self)
|
||||
manager.indexes[name] = tableofcontents.SimpleIndex(**kwargs)
|
||||
|
||||
|
||||
class ICropMarks(interfaces.IRMLDirectiveSignature):
|
||||
"""Crop Marks specification"""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=u'The name of the index.',
|
||||
default='index',
|
||||
required=True)
|
||||
|
||||
borderWidth = attr.Measurement(
|
||||
title=u'Border Width',
|
||||
description=u'The width of the crop mark border.',
|
||||
required=False)
|
||||
|
||||
markColor = attr.Color(
|
||||
title=u'Mark Color',
|
||||
description=u'The color of the crop marks.',
|
||||
required=False)
|
||||
|
||||
markWidth = attr.Measurement(
|
||||
title=u'Mark Width',
|
||||
description=u'The line width of the actual crop marks.',
|
||||
required=False)
|
||||
|
||||
markLength = attr.Measurement(
|
||||
title=u'Mark Length',
|
||||
description=u'The length of the actual crop marks.',
|
||||
required=False)
|
||||
|
||||
markLast = attr.Boolean(
|
||||
title=u'Mark Last',
|
||||
description=u'If set, marks are drawn after the content is rendered.',
|
||||
required=False)
|
||||
|
||||
bleedWidth = attr.Measurement(
|
||||
title=u'Bleed Width',
|
||||
description=(u'The width of the page bleed.'),
|
||||
required=False)
|
||||
|
||||
class CropMarksProperties(object):
|
||||
borderWidth = 36
|
||||
markWidth = 0.5
|
||||
markColor = colors.toColor('green')
|
||||
markLength = 18
|
||||
markLast = True
|
||||
bleedWidth = 0
|
||||
|
||||
class CropMarks(directive.RMLDirective):
|
||||
signature = ICropMarks
|
||||
|
||||
def process(self):
|
||||
cmp = CropMarksProperties()
|
||||
for name, value in self.getAttributeValues():
|
||||
setattr(cmp, name, value)
|
||||
self.parent.parent.cropMarks = cmp
|
||||
|
||||
class ILogConfig(interfaces.IRMLDirectiveSignature):
|
||||
"""Configure the render logger."""
|
||||
|
||||
level = attr.Choice(
|
||||
title=u'Level',
|
||||
description=u'The default log level.',
|
||||
choices=interfaces.LOG_LEVELS,
|
||||
doLower=False,
|
||||
required=False)
|
||||
|
||||
format = attr.String(
|
||||
title=u'Format',
|
||||
description=u'The format of the log messages.',
|
||||
required=False)
|
||||
|
||||
filename = attr.File(
|
||||
title=u'File Name',
|
||||
description=u'The path to the file that is being logged.',
|
||||
doNotOpen=True,
|
||||
required=True)
|
||||
|
||||
filemode = attr.Choice(
|
||||
title=u'File Mode',
|
||||
description=u'The mode to open the file in.',
|
||||
choices={'WRITE': 'w', 'APPEND': 'a'},
|
||||
default='a',
|
||||
required=False)
|
||||
|
||||
datefmt = attr.String(
|
||||
title=u'Date Format',
|
||||
description=u'The format of the log message date.',
|
||||
required=False)
|
||||
|
||||
class LogConfig(directive.RMLDirective):
|
||||
signature = ILogConfig
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues())
|
||||
|
||||
# cleanup win paths like:
|
||||
# ....\\input\\file:///D:\\trunk\\...
|
||||
if sys.platform[:3].lower() == "win":
|
||||
if args['filename'].startswith('file:///'):
|
||||
args['filename'] = args['filename'][len('file:///'):]
|
||||
|
||||
logger = logging.getLogger(LOGGER_NAME)
|
||||
handler = logging.FileHandler(args['filename'], args['filemode'])
|
||||
formatter = logging.Formatter(
|
||||
args.get('format'), args.get('datefmt'))
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
if 'level' in args:
|
||||
logger.setLevel(args['level'])
|
||||
self.parent.parent.logger = logger
|
||||
|
||||
|
||||
class IDocInit(interfaces.IRMLDirectiveSignature):
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('color', IColorDefinition),
|
||||
occurence.ZeroOrMore('name', special.IName),
|
||||
occurence.ZeroOrMore('registerType1Face', IRegisterType1Face),
|
||||
occurence.ZeroOrMore('registerFont', IRegisterFont),
|
||||
occurence.ZeroOrMore('registerCidFont', IRegisterCidFont),
|
||||
occurence.ZeroOrMore('registerTTFont', IRegisterTTFont),
|
||||
occurence.ZeroOrMore('registerFontFamily', IRegisterFontFamily),
|
||||
occurence.ZeroOrMore('addMapping', IAddMapping),
|
||||
occurence.ZeroOrMore('logConfig', ILogConfig),
|
||||
occurence.ZeroOrMore('cropMarks', ICropMarks),
|
||||
occurence.ZeroOrMore('startIndex', IStartIndex),
|
||||
)
|
||||
|
||||
pageMode = attr.Choice(
|
||||
title=u'Page Mode',
|
||||
description=(u'The page mode in which the document is opened in '
|
||||
u'the viewer.'),
|
||||
choices=('UseNone', 'UseOutlines', 'UseThumbs', 'FullScreen'),
|
||||
required=False)
|
||||
|
||||
pageLayout = attr.Choice(
|
||||
title=u'Page Layout',
|
||||
description=(u'The layout in which the pages are displayed in '
|
||||
u'the viewer.'),
|
||||
choices=('SinglePage', 'OneColumn', 'TwoColumnLeft', 'TwoColumnRight'),
|
||||
required=False)
|
||||
|
||||
useCropMarks = attr.Boolean(
|
||||
title=u'Use Crop Marks',
|
||||
description=u'A flag when set shows crop marks on the page.',
|
||||
required=False)
|
||||
|
||||
hideToolbar = attr.TextBoolean(
|
||||
title=u'Hide Toolbar',
|
||||
description=(u'A flag indicating that the toolbar is hidden in '
|
||||
u'the viewer.'),
|
||||
required=False)
|
||||
|
||||
hideMenubar = attr.TextBoolean(
|
||||
title=u'Hide Menubar',
|
||||
description=(u'A flag indicating that the menubar is hidden in '
|
||||
u'the viewer.'),
|
||||
required=False)
|
||||
|
||||
hideWindowUI = attr.TextBoolean(
|
||||
title=u'Hide Window UI',
|
||||
description=(u'A flag indicating that the window UI is hidden in '
|
||||
u'the viewer.'),
|
||||
required=False)
|
||||
|
||||
fitWindow = attr.TextBoolean(
|
||||
title=u'Fit Window',
|
||||
description=u'A flag indicating that the page fits in the viewer.',
|
||||
required=False)
|
||||
|
||||
centerWindow = attr.TextBoolean(
|
||||
title=u'Center Window',
|
||||
description=(u'A flag indicating that the page fits is centered '
|
||||
u'in the viewer.'),
|
||||
required=False)
|
||||
|
||||
displayDocTitle = attr.TextBoolean(
|
||||
title=u'Display Doc Title',
|
||||
description=(u'A flag indicating that the document title is displayed '
|
||||
u'in the viewer.'),
|
||||
required=False)
|
||||
|
||||
nonFullScreenPageMode = attr.Choice(
|
||||
title=u'Non-Full-Screen Page Mode',
|
||||
description=(u'Non-Full-Screen page mode in the viewer.'),
|
||||
choices=('UseNone', 'UseOutlines', 'UseThumbs', 'UseOC'),
|
||||
required=False)
|
||||
|
||||
direction = attr.Choice(
|
||||
title=u'Text Direction',
|
||||
description=(u'The text direction of the PDF.'),
|
||||
choices=('L2R', 'R2L'),
|
||||
required=False)
|
||||
|
||||
viewArea = attr.Choice(
|
||||
title=u'View Area',
|
||||
description=(u'View Area setting used in the viewer.'),
|
||||
choices=('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'),
|
||||
required=False)
|
||||
|
||||
viewClip = attr.Choice(
|
||||
title=u'View Clip',
|
||||
description=(u'View Clip setting used in the viewer.'),
|
||||
choices=('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'),
|
||||
required=False)
|
||||
|
||||
printArea = attr.Choice(
|
||||
title=u'Print Area',
|
||||
description=(u'Print Area setting used in the viewer.'),
|
||||
choices=('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'),
|
||||
required=False)
|
||||
|
||||
printClip = attr.Choice(
|
||||
title=u'Print Clip',
|
||||
description=(u'Print Clip setting used in the viewer.'),
|
||||
choices=('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'),
|
||||
required=False)
|
||||
|
||||
printScaling = attr.Choice(
|
||||
title=u'Print Scaling',
|
||||
description=(u'The print scaling mode in which the document is opened '
|
||||
u'in the viewer.'),
|
||||
choices=('None', 'AppDefault'),
|
||||
required=False)
|
||||
|
||||
class DocInit(directive.RMLDirective):
|
||||
signature = IDocInit
|
||||
factories = {
|
||||
'name': special.Name,
|
||||
'color': ColorDefinition,
|
||||
'registerType1Face': RegisterType1Face,
|
||||
'registerFont': RegisterFont,
|
||||
'registerTTFont': RegisterTTFont,
|
||||
'registerCidFont': RegisterCidFont,
|
||||
'registerFontFamily': RegisterFontFamily,
|
||||
'addMapping': AddMapping,
|
||||
'logConfig': LogConfig,
|
||||
'cropMarks': CropMarks,
|
||||
'startIndex': StartIndex,
|
||||
}
|
||||
|
||||
viewerOptions = dict(
|
||||
(option[0].lower()+option[1:], option)
|
||||
for option in ['HideToolbar', 'HideMenubar', 'HideWindowUI', 'FitWindow',
|
||||
'CenterWindow', 'DisplayDocTitle',
|
||||
'NonFullScreenPageMode', 'Direction', 'ViewArea',
|
||||
'ViewClip', 'PrintArea', 'PrintClip', 'PrintScaling'])
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues())
|
||||
self.parent.cropMarks = kwargs.get('useCropMarks', False)
|
||||
self.parent.pageMode = kwargs.get('pageMode')
|
||||
self.parent.pageLayout = kwargs.get('pageLayout')
|
||||
for name in self.viewerOptions:
|
||||
setattr(self.parent, name, kwargs.get(name))
|
||||
super(DocInit, self).process()
|
||||
|
||||
|
||||
class IDocument(interfaces.IRMLDirectiveSignature):
|
||||
occurence.containing(
|
||||
occurence.ZeroOrOne('docinit', IDocInit),
|
||||
occurence.ZeroOrOne('stylesheet', stylesheet.IStylesheet),
|
||||
occurence.ZeroOrOne('template', template.ITemplate),
|
||||
occurence.ZeroOrOne('story', template.IStory),
|
||||
occurence.ZeroOrOne('pageInfo', canvas.IPageInfo),
|
||||
occurence.ZeroOrMore('pageDrawing', canvas.IPageDrawing),
|
||||
)
|
||||
|
||||
filename = attr.String(
|
||||
title=u'File Name',
|
||||
description=(u'The default name of the output file, if no output '
|
||||
u'file was provided.'),
|
||||
required=True)
|
||||
|
||||
title = attr.String(
|
||||
title=u'Title',
|
||||
description=(u'The "Title" annotation for the PDF document.'),
|
||||
required=False)
|
||||
|
||||
subject = attr.String(
|
||||
title=u'Subject',
|
||||
description=(u'The "Subject" annotation for the PDF document.'),
|
||||
required=False)
|
||||
|
||||
author = attr.String(
|
||||
title=u'Author',
|
||||
description=(u'The "Author" annotation for the PDF document.'),
|
||||
required=False)
|
||||
|
||||
creator = attr.String(
|
||||
title=u'Creator',
|
||||
description=(u'The "Creator" annotation for the PDF document.'),
|
||||
required=False)
|
||||
|
||||
debug = attr.Boolean(
|
||||
title=u'Debug',
|
||||
description=u'A flag to activate the debug output.',
|
||||
default=False,
|
||||
required=False)
|
||||
|
||||
compression = attr.BooleanWithDefault(
|
||||
title=u'Compression',
|
||||
description=(u'A flag determining whether page compression should '
|
||||
u'be used.'),
|
||||
required=False)
|
||||
|
||||
invariant = attr.BooleanWithDefault(
|
||||
title=u'Invariant',
|
||||
description=(u'A flag that determines whether the produced PDF '
|
||||
u'should be invariant with respect to the date and '
|
||||
u'the exact contents.'),
|
||||
required=False)
|
||||
|
||||
class Document(directive.RMLDirective):
|
||||
signature = IDocument
|
||||
zope.interface.implements(interfaces.IManager,
|
||||
interfaces.IPostProcessorManager,
|
||||
interfaces.ICanvasManager)
|
||||
|
||||
factories = {
|
||||
'docinit': DocInit,
|
||||
'stylesheet': stylesheet.Stylesheet,
|
||||
'template': template.Template,
|
||||
'story': template.Story,
|
||||
'pageInfo': canvas.PageInfo,
|
||||
'pageDrawing': canvas.PageDrawing,
|
||||
}
|
||||
|
||||
def __init__(self, element):
|
||||
super(Document, self).__init__(element, None)
|
||||
self.names = {}
|
||||
self.styles = {}
|
||||
self.colors = {}
|
||||
self.indexes = {}
|
||||
self.postProcessors = []
|
||||
self.filename = '<unknown>'
|
||||
self.cropMarks = False
|
||||
self.pageLayout = None
|
||||
self.pageMode = None
|
||||
self.logger = None
|
||||
self.svgs = {}
|
||||
self.attributesCache = {}
|
||||
for name in DocInit.viewerOptions:
|
||||
setattr(self, name, None)
|
||||
|
||||
def _indexAdd(self, canvas, name, label):
|
||||
self.indexes[name](canvas, name, label)
|
||||
|
||||
def _beforeDocument(self):
|
||||
self._initCanvas(self.doc.canv)
|
||||
self.canvas = self.doc.canv
|
||||
|
||||
def _initCanvas(self, canvas):
|
||||
canvas._indexAdd = self._indexAdd
|
||||
canvas.manager = self
|
||||
if self.pageLayout:
|
||||
canvas._doc._catalog.setPageLayout(self.pageLayout)
|
||||
if self.pageMode:
|
||||
canvas._doc._catalog.setPageMode(self.pageMode)
|
||||
for name, option in DocInit.viewerOptions.items():
|
||||
if getattr(self, name) is not None:
|
||||
canvas.setViewerPreference(option, getattr(self, name))
|
||||
# Setting annotations.
|
||||
data = dict(self.getAttributeValues(
|
||||
select=('title', 'subject', 'author', 'creator')))
|
||||
canvas.setTitle(data.get('title'))
|
||||
canvas.setSubject(data.get('subject'))
|
||||
canvas.setAuthor(data.get('author'))
|
||||
canvas.setCreator(data.get('creator'))
|
||||
|
||||
def process(self, outputFile=None, maxPasses=2):
|
||||
"""Process document"""
|
||||
# Reset all reportlab global variables. This is very important for
|
||||
# ReportLab not to fail.
|
||||
reportlab.rl_config._reset()
|
||||
|
||||
debug = self.getAttributeValues(select=('debug',), valuesOnly=True)[0]
|
||||
if not debug:
|
||||
reportlab.rl_config.shapeChecking = 0
|
||||
|
||||
# Add our colors mapping to the default ones.
|
||||
colors.toColor.setExtraColorsNameSpace(self.colors)
|
||||
|
||||
if outputFile is None:
|
||||
# TODO: This is relative to the input file *not* the CWD!!!
|
||||
outputFile = open(self.element.get('filename'), 'wb')
|
||||
|
||||
# Create a temporary output file, so that post-processors can
|
||||
# massage the output
|
||||
self.outputFile = tempOutput = cStringIO.StringIO()
|
||||
|
||||
# Process common sub-directives
|
||||
self.processSubDirectives(select=('docinit', 'stylesheet'))
|
||||
|
||||
# Handle Page Drawing Documents
|
||||
if self.element.find('pageDrawing') is not None:
|
||||
kwargs = dict(self.getAttributeValues(
|
||||
select=('compression', 'debug'),
|
||||
attrMapping={'compression': 'pageCompression',
|
||||
'debug': 'verbosity'}
|
||||
))
|
||||
kwargs['cropMarks'] = self.cropMarks
|
||||
|
||||
self.canvas = reportlab.pdfgen.canvas.Canvas(tempOutput, **kwargs)
|
||||
self._initCanvas(self.canvas)
|
||||
self.processSubDirectives(select=('pageInfo', 'pageDrawing'))
|
||||
self.canvas.save()
|
||||
|
||||
# Handle Flowable-based documents.
|
||||
elif self.element.find('template') is not None:
|
||||
self.processSubDirectives(select=('template', 'story'))
|
||||
self.doc.beforeDocument = self._beforeDocument
|
||||
self.doc.multiBuild(self.flowables, maxPasses=maxPasses)
|
||||
|
||||
# Process all post processors
|
||||
for name, processor in self.postProcessors:
|
||||
tempOutput.seek(0)
|
||||
tempOutput = processor.process(tempOutput)
|
||||
|
||||
# Save the result into our real output file
|
||||
tempOutput.seek(0)
|
||||
outputFile.write(tempOutput.getvalue())
|
||||
|
||||
# Cleanup.
|
||||
colors.toColor.setExtraColorsNameSpace({})
|
||||
reportlab.rl_config.shapeChecking = 1
|
||||
|
||||
def get_name(self, name, default=None):
|
||||
if default is None:
|
||||
default = u''
|
||||
|
||||
if name not in self.names:
|
||||
if self.doc._indexingFlowables and isinstance(
|
||||
self.doc._indexingFlowables[-1],
|
||||
DummyIndexingFlowable
|
||||
):
|
||||
return default
|
||||
self.doc._indexingFlowables.append(DummyIndexingFlowable())
|
||||
|
||||
return self.names.get(name, default)
|
||||
|
||||
|
||||
class DummyIndexingFlowable(IndexingFlowable):
|
||||
"""A dummy flowable to trick multiBuild into performing +1 pass."""
|
||||
|
||||
def __init__(self):
|
||||
self.i = -1
|
||||
|
||||
def isSatisfied(self):
|
||||
self.i += 1
|
||||
return self.i
|
||||
@@ -1,76 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Generate a DTD from the code
|
||||
"""
|
||||
import zope.schema
|
||||
|
||||
from z3c.rml import attr, document, occurence
|
||||
|
||||
occurence2Symbol = {
|
||||
occurence.ZeroOrMore: '*',
|
||||
occurence.ZeroOrOne: '?',
|
||||
occurence.OneOrMore: '+',
|
||||
}
|
||||
|
||||
|
||||
def generateElement(name, signature):
|
||||
if signature is None:
|
||||
return ''
|
||||
# Create the list of sub-elements.
|
||||
subElementList = []
|
||||
for occurence in signature.queryTaggedValue('directives', ()):
|
||||
subElementList.append(
|
||||
occurence.tag + occurence2Symbol.get(occurence.__class__, '')
|
||||
)
|
||||
fields = zope.schema.getFieldsInOrder(signature)
|
||||
for attrName, field in fields:
|
||||
if isinstance(field, attr.TextNode):
|
||||
subElementList.append('#PCDATA')
|
||||
break
|
||||
subElementList = ','.join(subElementList)
|
||||
if subElementList:
|
||||
subElementList = ' (' + subElementList + ')'
|
||||
text = '\n<!ELEMENT %s%s>' %(name, subElementList)
|
||||
# Create a list of attributes for this element.
|
||||
for attrName, field in fields:
|
||||
# Ignore text nodes, since they are not attributes.
|
||||
if isinstance(field, attr.TextNode):
|
||||
continue
|
||||
# Create the type
|
||||
if isinstance(field, attr.Choice):
|
||||
type = '(' + '|'.join(field.choices.keys()) + ')'
|
||||
else:
|
||||
type = 'CDATA'
|
||||
# Create required flag
|
||||
if field.required:
|
||||
required = '#REQUIRED'
|
||||
else:
|
||||
required = '#IMPLIED'
|
||||
# Put it all together
|
||||
text += '\n<!ATTLIST %s %s %s %s>' %(name, attrName, type, required)
|
||||
text += '\n'
|
||||
# Walk through all sub-elements, creating th eDTD entries for them.
|
||||
for occurence in signature.queryTaggedValue('directives', ()):
|
||||
text += generateElement(occurence.tag, occurence.signature)
|
||||
return text
|
||||
|
||||
|
||||
def generate(useWrapper=False):
|
||||
text = generateElement('document', document.Document.signature)
|
||||
if useWrapper:
|
||||
text = '<!DOCTYPE RML [\n%s]>\n' %text
|
||||
return text
|
||||
|
||||
def main():
|
||||
print generate()
|
||||
1611
z3c/rml/flowable.py
1611
z3c/rml/flowable.py
File diff suppressed because it is too large
Load Diff
356
z3c/rml/form.py
356
z3c/rml/form.py
@@ -1,356 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Page Drawing Related Element Processing
|
||||
"""
|
||||
import types
|
||||
import reportlab.pdfbase.pdfform
|
||||
from z3c.rml import attr, directive, interfaces, occurence
|
||||
|
||||
try:
|
||||
import reportlab.graphics.barcode
|
||||
except ImportError:
|
||||
# barcode package has not been installed
|
||||
import types
|
||||
import reportlab.graphics
|
||||
reportlab.graphics.barcode = types.ModuleType('barcode')
|
||||
reportlab.graphics.barcode.getCodeNames = lambda : ()
|
||||
|
||||
|
||||
class IBarCodeBase(interfaces.IRMLDirectiveSignature):
|
||||
"""Create a bar code."""
|
||||
|
||||
code = attr.Choice(
|
||||
title=u'Code',
|
||||
description=u'The name of the type of code to use.',
|
||||
choices=reportlab.graphics.barcode.getCodeNames(),
|
||||
required=True)
|
||||
|
||||
value = attr.TextNode(
|
||||
title=u'Value',
|
||||
description=u'The value represented by the code.',
|
||||
required=True)
|
||||
|
||||
width = attr.Measurement(
|
||||
title=u'Width',
|
||||
description=u'The width of the barcode.',
|
||||
required=False)
|
||||
|
||||
height = attr.Measurement(
|
||||
title=u'Height',
|
||||
description=u'The height of the barcode.',
|
||||
required=False)
|
||||
|
||||
barStrokeColor = attr.Color(
|
||||
title=u'Bar Stroke Color',
|
||||
description=(u'The color of the line strokes in the barcode.'),
|
||||
required=False)
|
||||
|
||||
barStrokeWidth = attr.Measurement(
|
||||
title=u'Bar Stroke Width',
|
||||
description=u'The width of the line strokes in the barcode.',
|
||||
required=False)
|
||||
|
||||
barFillColor = attr.Color(
|
||||
title=u'Bar Fill Color',
|
||||
description=(u'The color of the filled shapes in the barcode.'),
|
||||
required=False)
|
||||
|
||||
gap = attr.Measurement(
|
||||
title=u'Gap',
|
||||
description=u'The width of the inter-character gaps.',
|
||||
required=False)
|
||||
|
||||
# Bar code dependent attributes
|
||||
# I2of5, Code128, Standard93, FIM, POSTNET, Ean13B
|
||||
barWidth = attr.Measurement(
|
||||
title=u'Bar Width',
|
||||
description=u'The width of the smallest bar within the barcode',
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, POSTNET
|
||||
barHeight = attr.Measurement(
|
||||
title=u'Bar Height',
|
||||
description=u'The height of the symbol.',
|
||||
required=False)
|
||||
|
||||
# I2of5
|
||||
ratio = attr.Float(
|
||||
title=u'Ratio',
|
||||
description=(u'The ratio of wide elements to narrow elements. '
|
||||
u'Must be between 2.0 and 3.0 (or 2.2 and 3.0 if the '
|
||||
u'barWidth is greater than 20 mils (.02 inch)).'),
|
||||
min=2.0,
|
||||
max=3.0,
|
||||
required=False)
|
||||
|
||||
# I2of5
|
||||
# Should be boolean, but some code want it as int; will still work
|
||||
checksum = attr.Integer(
|
||||
title=u'Ratio',
|
||||
description=(u'A flag that enables the computation and inclusion of '
|
||||
u'the check digit.'),
|
||||
required=False)
|
||||
|
||||
# I2of5
|
||||
bearers = attr.Float(
|
||||
title=u'Bearers',
|
||||
description=(u'Height of bearer bars (horizontal bars along the top '
|
||||
u'and bottom of the barcode). Default is 3 '
|
||||
u'x-dimensions. Set to zero for no bearer bars.'
|
||||
u'(Bearer bars help detect misscans, so it is '
|
||||
u'suggested to leave them on).'),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, Ean13
|
||||
quiet = attr.Boolean(
|
||||
title=u'Quiet Zone',
|
||||
description=(u'A flag to include quiet zones in the symbol.'),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, Ean13
|
||||
lquiet = attr.Measurement(
|
||||
title=u'Left Quiet Zone',
|
||||
description=(u"Quiet zone size to the left of code, if quiet is "
|
||||
u"true. Default is the greater of .25 inch or .15 times "
|
||||
u"the symbol's length."),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, Ean13
|
||||
rquiet = attr.Measurement(
|
||||
title=u'Right Quiet Zone',
|
||||
description=(u"Quiet zone size to the right of code, if quiet is "
|
||||
u"true. Default is the greater of .25 inch or .15 times "
|
||||
u"the symbol's length."),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, POSTNET, Ean13
|
||||
fontName = attr.String(
|
||||
title=u'Font Name',
|
||||
description=(u'The font used to print the value.'),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, POSTNET, Ean13
|
||||
fontSize = attr.Measurement(
|
||||
title=u'Font Size',
|
||||
description=(u'The size of the value text.'),
|
||||
required=False)
|
||||
|
||||
# I2of5, Code128, Standard93, FIM, POSTNET, Ean13
|
||||
humanReadable = attr.Boolean(
|
||||
title=u'Human Readable',
|
||||
description=(u'A flag when set causes the value to be printed below '
|
||||
u'the bar code.'),
|
||||
required=False)
|
||||
|
||||
# I2of5, Standard93
|
||||
stop = attr.Boolean(
|
||||
title=u'Show Start/Stop',
|
||||
description=(u'A flag to specify whether the start/stop symbols '
|
||||
u'are to be shown.'),
|
||||
required=False)
|
||||
|
||||
# FIM, POSTNET
|
||||
spaceWidth = attr.Measurement(
|
||||
title=u'Space Width',
|
||||
description=u'The space of the inter-character gaps.',
|
||||
required=False)
|
||||
|
||||
# POSTNET
|
||||
shortHeight = attr.Measurement(
|
||||
title=u'Short Height',
|
||||
description=u'The height of the short bar.',
|
||||
required=False)
|
||||
|
||||
# Ean13
|
||||
textColor = attr.Color(
|
||||
title=u'Text Color',
|
||||
description=(u'The color of human readable text.'),
|
||||
required=False)
|
||||
|
||||
# USPS4S
|
||||
routing = attr.String(
|
||||
title=u'Routing',
|
||||
description=u'The routing information string.',
|
||||
required=False)
|
||||
|
||||
# QR
|
||||
barLevel = attr.Choice(
|
||||
title=u'Bar Level',
|
||||
description=u'The error correction level for QR code',
|
||||
choices=['L', 'M', 'Q', 'H'],
|
||||
required=False)
|
||||
|
||||
|
||||
class IBarCode(IBarCodeBase):
|
||||
"""A barcode graphic."""
|
||||
|
||||
x = attr.Measurement(
|
||||
title=u'X-Position',
|
||||
description=u'The x-position of the lower-left corner of the barcode.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
y = attr.Measurement(
|
||||
title=u'Y-Position',
|
||||
description=u'The y-position of the lower-left corner of the barcode.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
isoScale = attr.Boolean(
|
||||
title=u'Isometric Scaling',
|
||||
description=u'When set, the aspect ration of the barcode is enforced.',
|
||||
required=False)
|
||||
|
||||
class BarCode(directive.RMLDirective):
|
||||
signature = IBarCode
|
||||
|
||||
def process(self):
|
||||
kw = dict(self.getAttributeValues())
|
||||
name = kw.pop('code')
|
||||
kw['value'] = str(kw['value'])
|
||||
x = kw.pop('x', 0)
|
||||
y = kw.pop('y', 0)
|
||||
code = reportlab.graphics.barcode.createBarcodeDrawing(name, **kw)
|
||||
manager = attr.getManager(self, interfaces.ICanvasManager)
|
||||
code.drawOn(manager.canvas, x, y)
|
||||
|
||||
|
||||
class IField(interfaces.IRMLDirectiveSignature):
|
||||
"""A field."""
|
||||
|
||||
title = attr.Text(
|
||||
title=u'Title',
|
||||
description=u'The title of the field.',
|
||||
required=True)
|
||||
|
||||
x = attr.Measurement(
|
||||
title=u'X-Position',
|
||||
description=u'The x-position of the lower-left corner of the field.',
|
||||
default=0,
|
||||
required=True)
|
||||
|
||||
y = attr.Measurement(
|
||||
title=u'Y-Position',
|
||||
description=u'The y-position of the lower-left corner of the field.',
|
||||
default=0,
|
||||
required=True)
|
||||
|
||||
|
||||
class Field(directive.RMLDirective):
|
||||
signature = IField
|
||||
callable = None
|
||||
attrMapping = {}
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues(attrMapping=self.attrMapping))
|
||||
canvas = attr.getManager(self, interfaces.ICanvasManager).canvas
|
||||
getattr(reportlab.pdfbase.pdfform, self.callable)(canvas, **kwargs)
|
||||
|
||||
|
||||
class ITextField(IField):
|
||||
"""A text field within the PDF"""
|
||||
|
||||
width = attr.Measurement(
|
||||
title=u'Width',
|
||||
description=u'The width of the text field.',
|
||||
required=True)
|
||||
|
||||
height = attr.Measurement(
|
||||
title=u'Height',
|
||||
description=u'The height of the text field.',
|
||||
required=True)
|
||||
|
||||
value = attr.Text(
|
||||
title=u'Value',
|
||||
description=u'The default text value of the field.',
|
||||
required=False)
|
||||
|
||||
maxLength = attr.Integer(
|
||||
title=u'Maximum Length',
|
||||
description=u'The maximum amount of characters allowed in the field.',
|
||||
required=False)
|
||||
|
||||
multiline = attr.Boolean(
|
||||
title=u'Multiline',
|
||||
description=u'A flag when set allows multiple lines within the field.',
|
||||
required=False)
|
||||
|
||||
class TextField(Field):
|
||||
signature = ITextField
|
||||
callable = 'textFieldAbsolute'
|
||||
attrMapping = {'maxLength': 'maxlen'}
|
||||
|
||||
|
||||
class IButtonField(IField):
|
||||
"""A button field within the PDF"""
|
||||
|
||||
value = attr.Choice(
|
||||
title=u'Value',
|
||||
description=u'The value of the button.',
|
||||
choices=('Yes', 'Off'),
|
||||
required=True)
|
||||
|
||||
class ButtonField(Field):
|
||||
signature = IButtonField
|
||||
callable = 'buttonFieldAbsolute'
|
||||
|
||||
|
||||
class IOption(interfaces.IRMLDirectiveSignature):
|
||||
"""An option in the select field."""
|
||||
|
||||
value = attr.TextNode(
|
||||
title=u'Value',
|
||||
description=u'The value of the option.',
|
||||
required=True)
|
||||
|
||||
class Option(directive.RMLDirective):
|
||||
signature = IOption
|
||||
|
||||
def process(self):
|
||||
value = self.getAttributeValues(valuesOnly=True)[0]
|
||||
self.parent.options.append(value)
|
||||
|
||||
|
||||
class ISelectField(IField):
|
||||
"""A selection field within the PDF"""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('option', IOption))
|
||||
|
||||
width = attr.Measurement(
|
||||
title=u'Width',
|
||||
description=u'The width of the select field.',
|
||||
required=True)
|
||||
|
||||
height = attr.Measurement(
|
||||
title=u'Height',
|
||||
description=u'The height of the select field.',
|
||||
required=True)
|
||||
|
||||
value = attr.Text(
|
||||
title=u'Value',
|
||||
description=u'The default value of the field.',
|
||||
required=False)
|
||||
|
||||
class SelectField(Field):
|
||||
signature = ISelectField
|
||||
callable = 'selectFieldAbsolute'
|
||||
factories = {'option': Option}
|
||||
|
||||
def process(self):
|
||||
self.options = []
|
||||
self.processSubDirectives()
|
||||
kwargs = dict(self.getAttributeValues(attrMapping=self.attrMapping))
|
||||
kwargs['options'] = self.options
|
||||
canvas = attr.getManager(self, interfaces.ICanvasManager).canvas
|
||||
getattr(reportlab.pdfbase.pdfform, self.callable)(canvas, **kwargs)
|
||||
@@ -1,148 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML to PDF Converter Interfaces
|
||||
"""
|
||||
__docformat__ = "reStructuredText"
|
||||
import logging
|
||||
import reportlab.lib.enums
|
||||
import zope.interface
|
||||
import zope.schema
|
||||
|
||||
from z3c.rml.occurence import ZeroOrMore, ZeroOrOne, OneOrMore
|
||||
|
||||
JOIN_CHOICES = {'round': 1, 'mitered': 0, 'bevelled': 2}
|
||||
CAP_CHOICES = {'default': 0, 'butt': 0, 'round': 1, 'square': 2}
|
||||
ALIGN_CHOICES = {
|
||||
'left': reportlab.lib.enums.TA_LEFT,
|
||||
'right': reportlab.lib.enums.TA_RIGHT,
|
||||
'center': reportlab.lib.enums.TA_CENTER,
|
||||
'centre': reportlab.lib.enums.TA_CENTER,
|
||||
'justify': reportlab.lib.enums.TA_JUSTIFY}
|
||||
ALIGN_TEXT_CHOICES = {
|
||||
'left': 'LEFT', 'right': 'RIGHT', 'center': 'CENTER', 'centre': 'CENTER',
|
||||
'decimal': 'DECIMAL'}
|
||||
VALIGN_TEXT_CHOICES = {
|
||||
'top': 'TOP', 'middle': 'MIDDLE', 'bottom': 'BOTTOM'}
|
||||
SPLIT_CHOICES = ('splitfirst', 'splitlast')
|
||||
TEXT_TRANSFORM_CHOICES = ('uppercase', 'lowercase')
|
||||
LIST_FORMATS = ('I', 'i', '123', 'ABC', 'abc')
|
||||
ORDERED_LIST_TYPES = ('I', 'i', '1', 'A', 'a')
|
||||
UNORDERED_BULLET_VALUES = ('bullet', 'circle', 'square', 'disc', 'diamond',
|
||||
'rarrowhead')
|
||||
LOG_LEVELS = {
|
||||
'DEBUG': logging.DEBUG,
|
||||
'INFO': logging.INFO,
|
||||
'WARNING': logging.WARNING,
|
||||
'ERROR': logging.ERROR,
|
||||
'CRITICAL': logging.CRITICAL}
|
||||
|
||||
class IRML2PDF(zope.interface.Interface):
|
||||
"""This is the main public API of z3c.rml"""
|
||||
|
||||
def parseString(xml):
|
||||
"""Parse an XML string and convert it to PDF.
|
||||
|
||||
The output is a ``StringIO`` object.
|
||||
"""
|
||||
|
||||
def go(xmlInputName, outputFileName=None, outDir=None, dtdDir=None):
|
||||
"""Convert RML 2 PDF.
|
||||
|
||||
The generated file will be located in the ``outDir`` under the name
|
||||
``outputFileName``.
|
||||
"""
|
||||
|
||||
class IManager(zope.interface.Interface):
|
||||
"""A manager of all document-global variables."""
|
||||
names = zope.interface.Attribute("Names dict")
|
||||
styles = zope.interface.Attribute("Styles dict")
|
||||
colors = zope.interface.Attribute("Colors dict")
|
||||
|
||||
class IPostProcessorManager(zope.interface.Interface):
|
||||
"""Manages all post processors"""
|
||||
|
||||
postProcessors = zope.interface.Attribute(
|
||||
"List of tuples of the form: (name, processor)")
|
||||
|
||||
class ICanvasManager(zope.interface.Interface):
|
||||
"""A manager for the canvas."""
|
||||
canvas = zope.interface.Attribute("Canvas")
|
||||
|
||||
class IRMLDirectiveSignature(zope.interface.Interface):
|
||||
"""The attribute and sub-directives signature of the current
|
||||
RML directive."""
|
||||
|
||||
|
||||
class IRMLDirective(zope.interface.Interface):
|
||||
"""A directive in RML extracted from an Element Tree element."""
|
||||
|
||||
signature = zope.schema.Field(
|
||||
title=u'Signature',
|
||||
description=(u'The signature of the RML directive.'),
|
||||
required=True)
|
||||
|
||||
parent = zope.schema.Field(
|
||||
title=u'Parent RML Element',
|
||||
description=u'The parent in the RML element hierarchy',
|
||||
required=True,)
|
||||
|
||||
element = zope.schema.Field(
|
||||
title=u'Element',
|
||||
description=(u'The Element Tree element from which the data '
|
||||
u'is retrieved.'),
|
||||
required=True)
|
||||
|
||||
def getAttributeValues(ignore=None, select=None, includeMissing=False):
|
||||
"""Return a list of name-value-tuples based on the signature.
|
||||
|
||||
If ``ignore`` is specified, all attributes are returned except the
|
||||
ones listed in the argument. The values of the sequence are the
|
||||
attribute names.
|
||||
|
||||
If ``select`` is specified, only attributes listed in the argument are
|
||||
returned. The values of the sequence are the attribute names.
|
||||
|
||||
If ``includeMissing`` is set to true, then even missing attributes are
|
||||
included in the value list.
|
||||
"""
|
||||
|
||||
def processSubDirectives(self):
|
||||
"""Process all sub-directives."""
|
||||
|
||||
def process(self):
|
||||
"""Process the directive.
|
||||
|
||||
The main task for this method is to interpret the available data and
|
||||
to make the corresponding calls in the Reportlab document.
|
||||
|
||||
This call should also process all sub-directives and process them.
|
||||
"""
|
||||
|
||||
|
||||
class IDeprecated(zope.interface.Interface):
|
||||
"""Mark an attribute as being compatible."""
|
||||
|
||||
deprecatedName = zope.schema.TextLine(
|
||||
title=u'Name',
|
||||
description=u'The name of the original attribute.',
|
||||
required=True)
|
||||
|
||||
deprecatedReason = zope.schema.Text(
|
||||
title=u'Reason',
|
||||
description=u'The reason the attribute has been deprecated.',
|
||||
required=False)
|
||||
|
||||
|
||||
class IDeprecatedDirective(zope.interface.interfaces.IInterface):
|
||||
"""A directive that is deprecated."""
|
||||
181
z3c/rml/list.py
181
z3c/rml/list.py
@@ -1,181 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""``ul``, ``ol``, and ``li`` directives.
|
||||
"""
|
||||
__docformat__ = "reStructuredText"
|
||||
import copy
|
||||
import reportlab.lib.styles
|
||||
import reportlab.platypus
|
||||
import zope.schema
|
||||
from reportlab.platypus import flowables
|
||||
|
||||
from z3c.rml import attr, directive, flowable, interfaces, occurence, stylesheet
|
||||
|
||||
|
||||
class IListItem(stylesheet.IMinimalListStyle, flowable.IFlow):
|
||||
"""A list item in an ordered or unordered list."""
|
||||
|
||||
style = attr.Style(
|
||||
title=u'Style',
|
||||
description=u'The list style that is applied to the list.',
|
||||
required=False)
|
||||
|
||||
class ListItem(flowable.Flow):
|
||||
signature = IListItem
|
||||
klass = reportlab.platypus.ListItem
|
||||
attrMapping = {}
|
||||
|
||||
styleAttributes = zope.schema.getFieldNames(stylesheet.IMinimalListStyle)
|
||||
|
||||
def processStyle(self, style):
|
||||
attrs = self.getAttributeValues(select=self.styleAttributes)
|
||||
if attrs or not hasattr(style, 'value'):
|
||||
style = copy.deepcopy(style)
|
||||
# Sigh, this is needed since unordered list items expect the value.
|
||||
style.value = style.start
|
||||
for name, value in attrs:
|
||||
setattr(style, name, value)
|
||||
return style
|
||||
|
||||
def process(self):
|
||||
self.processSubDirectives()
|
||||
args = dict(self.getAttributeValues(ignore=self.styleAttributes))
|
||||
if 'style' not in args:
|
||||
args['style'] = self.parent.baseStyle
|
||||
args['style'] = self.processStyle(args['style'])
|
||||
li = self.klass(self.flow, **args)
|
||||
self.parent.flow.append(li)
|
||||
|
||||
|
||||
class IOrderedListItem(IListItem):
|
||||
"""An ordered list item."""
|
||||
|
||||
value = attr.Integer(
|
||||
title=u'Bullet Value',
|
||||
description=u'The counter value.',
|
||||
required=False)
|
||||
|
||||
class OrderedListItem(ListItem):
|
||||
signature = IOrderedListItem
|
||||
|
||||
|
||||
class IUnorderedListItem(IListItem):
|
||||
"""An ordered list item."""
|
||||
|
||||
value = attr.Choice(
|
||||
title=u'Bullet Value',
|
||||
description=u'The type of bullet character.',
|
||||
choices=interfaces.UNORDERED_BULLET_VALUES,
|
||||
required=False)
|
||||
|
||||
class UnorderedListItem(ListItem):
|
||||
signature = IUnorderedListItem
|
||||
|
||||
styleAttributes = ListItem.styleAttributes + ['value']
|
||||
|
||||
|
||||
class IListBase(stylesheet.IBaseListStyle):
|
||||
|
||||
style = attr.Style(
|
||||
title=u'Style',
|
||||
description=u'The list style that is applied to the list.',
|
||||
required=False)
|
||||
|
||||
class ListBase(directive.RMLDirective):
|
||||
klass = reportlab.platypus.ListFlowable
|
||||
factories = {'li': ListItem}
|
||||
attrMapping = {}
|
||||
|
||||
styleAttributes = zope.schema.getFieldNames(stylesheet.IBaseListStyle)
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
super(ListBase, self).__init__(*args, **kw)
|
||||
self.flow = []
|
||||
|
||||
def processStyle(self, style):
|
||||
attrs = self.getAttributeValues(
|
||||
select=self.styleAttributes, attrMapping=self.attrMapping)
|
||||
if attrs:
|
||||
style = copy.deepcopy(style)
|
||||
for name, value in attrs:
|
||||
setattr(style, name, value)
|
||||
return style
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues(
|
||||
ignore=self.styleAttributes, attrMapping=self.attrMapping))
|
||||
if 'style' not in args:
|
||||
args['style'] = reportlab.lib.styles.ListStyle('List')
|
||||
args['style'] = self.baseStyle = self.processStyle(args['style'])
|
||||
self.processSubDirectives()
|
||||
li = self.klass(self.flow, **args)
|
||||
self.parent.flow.append(li)
|
||||
|
||||
|
||||
class IOrderedList(IListBase):
|
||||
"""An ordered list."""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('li', IOrderedListItem),
|
||||
)
|
||||
|
||||
bulletType = attr.Choice(
|
||||
title=u'Bullet Type',
|
||||
description=u'The type of bullet formatting.',
|
||||
choices=interfaces.ORDERED_LIST_TYPES,
|
||||
doLower=False,
|
||||
required=False)
|
||||
|
||||
class OrderedList(ListBase):
|
||||
signature = IOrderedList
|
||||
factories = {'li': OrderedListItem}
|
||||
|
||||
styleAttributes = ListBase.styleAttributes + ['bulletType']
|
||||
|
||||
|
||||
class IUnorderedList(IListBase):
|
||||
"""And unordered list."""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('li', IUnorderedListItem),
|
||||
)
|
||||
|
||||
value = attr.Choice(
|
||||
title=u'Bullet Value',
|
||||
description=u'The type of bullet character.',
|
||||
choices=interfaces.UNORDERED_BULLET_VALUES,
|
||||
default='disc',
|
||||
required=False)
|
||||
|
||||
class UnorderedList(ListBase):
|
||||
signature = IUnorderedList
|
||||
attrMapping = {'value': 'start'}
|
||||
factories = {'li': UnorderedListItem}
|
||||
|
||||
def getAttributeValues(self, *args, **kw):
|
||||
res = super(UnorderedList, self).getAttributeValues(*args, **kw)
|
||||
res.append(('bulletType', 'bullet'))
|
||||
return res
|
||||
|
||||
flowable.Flow.factories['ol'] = OrderedList
|
||||
flowable.IFlow.setTaggedValue(
|
||||
'directives',
|
||||
flowable.IFlow.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('ol', IOrderedList),)
|
||||
)
|
||||
|
||||
flowable.Flow.factories['ul'] = UnorderedList
|
||||
flowable.IFlow.setTaggedValue(
|
||||
'directives',
|
||||
flowable.IFlow.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('ul', IUnorderedList),)
|
||||
)
|
||||
@@ -1,113 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Condition Implementation
|
||||
"""
|
||||
import reportlab
|
||||
import sys
|
||||
import zope.interface
|
||||
import zope.schema
|
||||
from zope.schema import fieldproperty
|
||||
|
||||
class ICondition(zope.interface.Interface):
|
||||
"""Condition that is checked before a directive is available."""
|
||||
|
||||
__doc__ = zope.schema.TextLine(
|
||||
title=u'Description',
|
||||
description=u'The description of the condition.',
|
||||
required=True)
|
||||
|
||||
def __call__(directive):
|
||||
"""Check whether the condition is fulfilled for the given directive."""
|
||||
|
||||
|
||||
class IOccurence(zope.interface.Interface):
|
||||
"""Description of the occurence of a sub-directive."""
|
||||
|
||||
__doc__ = zope.schema.TextLine(
|
||||
title=u'Description',
|
||||
description=u'The description of the occurence.',
|
||||
required=True)
|
||||
|
||||
tag = zope.schema.BytesLine(
|
||||
title=u'Tag',
|
||||
description=u'The tag of the sub-directive within the directive',
|
||||
required=True)
|
||||
|
||||
signature = zope.schema.Field(
|
||||
title=u'Signature',
|
||||
description=u'The signature of the sub-directive.',
|
||||
required=True)
|
||||
|
||||
condition = zope.schema.Field(
|
||||
title=u'Condition',
|
||||
description=u'The condition that the directive is available.',
|
||||
required=False)
|
||||
|
||||
|
||||
@zope.interface.implementer(ICondition)
|
||||
def laterThanReportlab21(directive):
|
||||
"""The directive is only available in Reportlab 2.1 and higher."""
|
||||
return [int(num) for num in reportlab.Version.split('.')] >= (2, 0)
|
||||
|
||||
|
||||
def containing(*occurences):
|
||||
frame = sys._getframe(1)
|
||||
f_locals = frame.f_locals
|
||||
f_globals = frame.f_globals
|
||||
|
||||
if not (f_locals is not f_globals
|
||||
and f_locals.get('__module__')
|
||||
and f_locals.get('__module__') == f_globals.get('__name__')
|
||||
):
|
||||
raise TypeError("contains not called from signature interface")
|
||||
|
||||
f_locals['__interface_tagged_values__'] = {'directives': occurences}
|
||||
|
||||
|
||||
class Occurence(object):
|
||||
zope.interface.implements(IOccurence)
|
||||
|
||||
tag = fieldproperty.FieldProperty(IOccurence['tag'])
|
||||
signature = fieldproperty.FieldProperty(IOccurence['signature'])
|
||||
condition = fieldproperty.FieldProperty(IOccurence['condition'])
|
||||
|
||||
def __init__(self, tag, signature, condition=None):
|
||||
self.tag = tag
|
||||
self.signature = signature
|
||||
self.condition = condition
|
||||
|
||||
|
||||
class ZeroOrMore(Occurence):
|
||||
"""Zero or More
|
||||
|
||||
This sub-directive can occur zero or more times.
|
||||
"""
|
||||
|
||||
class ZeroOrOne(Occurence):
|
||||
"""Zero or one
|
||||
|
||||
This sub-directive can occur zero or one time.
|
||||
"""
|
||||
|
||||
class OneOrMore(Occurence):
|
||||
"""One or More
|
||||
|
||||
This sub-directive can occur one or more times.
|
||||
"""
|
||||
|
||||
class One(Occurence):
|
||||
"""One
|
||||
|
||||
This sub-directive must occur exactly one time.
|
||||
"""
|
||||
115
z3c/rml/page.py
115
z3c/rml/page.py
@@ -1,115 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Page Drawing Related Element Processing
|
||||
"""
|
||||
import cStringIO
|
||||
from z3c.rml import attr, directive, interfaces
|
||||
|
||||
try:
|
||||
import PyPDF2
|
||||
from PyPDF2.generic import NameObject
|
||||
except ImportError:
|
||||
# We don't want to require pyPdf, if you do not want to use the features
|
||||
# in this module.
|
||||
PyPDF2 = None
|
||||
|
||||
|
||||
class MergePostProcessor(object):
|
||||
|
||||
def __init__(self):
|
||||
self.operations = {}
|
||||
|
||||
def process(self, inputFile1):
|
||||
input1 = PyPDF2.PdfFileReader(inputFile1)
|
||||
output = PyPDF2.PdfFileWriter()
|
||||
# TODO: Do not access protected classes
|
||||
output._info.getObject().update(input1.documentInfo)
|
||||
if output._root:
|
||||
# Backwards-compatible with PyPDF2 version 1.21
|
||||
output._root.getObject()[NameObject("/Outlines")] = (
|
||||
output._addObject(input1.trailer["/Root"]["/Outlines"]))
|
||||
else:
|
||||
# Compatible with PyPDF2 version 1.22+
|
||||
output._root_object[NameObject("/Outlines")] = (
|
||||
output._addObject(input1.trailer["/Root"]["/Outlines"]))
|
||||
for (num, page) in enumerate(input1.pages):
|
||||
if num in self.operations:
|
||||
for mergeFile, mergeNumber in self.operations[num]:
|
||||
merger = PyPDF2.PdfFileReader(mergeFile)
|
||||
mergerPage = merger.getPage(mergeNumber)
|
||||
mergerPage.mergePage(page)
|
||||
page = mergerPage
|
||||
output.addPage(page)
|
||||
|
||||
outputFile = cStringIO.StringIO()
|
||||
output.write(outputFile)
|
||||
return outputFile
|
||||
|
||||
|
||||
class IMergePage(interfaces.IRMLDirectiveSignature):
|
||||
"""Merges an existing PDF Page into the one to be generated."""
|
||||
|
||||
filename = attr.File(
|
||||
title=u'File',
|
||||
description=(u'Reference to the PDF file to extract the page from.'),
|
||||
required=True)
|
||||
|
||||
page = attr.Integer(
|
||||
title=u'Page Number',
|
||||
description=u'The page number of the PDF file that is used to merge..',
|
||||
required=True)
|
||||
|
||||
|
||||
class MergePage(directive.RMLDirective):
|
||||
signature = IMergePage
|
||||
|
||||
def getProcessor(self):
|
||||
manager = attr.getManager(self, interfaces.IPostProcessorManager)
|
||||
procs = dict(manager.postProcessors)
|
||||
if 'MERGE' not in procs:
|
||||
proc = MergePostProcessor()
|
||||
manager.postProcessors.append(('MERGE', proc))
|
||||
return proc
|
||||
return procs['MERGE']
|
||||
|
||||
def process(self):
|
||||
if PyPDF2 is None:
|
||||
raise Exception(
|
||||
'pyPdf is not installed, so this feature is not available.')
|
||||
inputFile, inPage = self.getAttributeValues(valuesOnly=True)
|
||||
manager = attr.getManager(self, interfaces.ICanvasManager)
|
||||
outPage = manager.canvas.getPageNumber()-1
|
||||
|
||||
proc = self.getProcessor()
|
||||
pageOperations = proc.operations.setdefault(outPage, [])
|
||||
pageOperations.append((inputFile, inPage))
|
||||
|
||||
|
||||
class MergePageInPageTemplate(MergePage):
|
||||
|
||||
def process(self):
|
||||
if PyPDF2 is None:
|
||||
raise Exception(
|
||||
'pyPdf is not installed, so this feature is not available.')
|
||||
inputFile, inPage = self.getAttributeValues(valuesOnly=True)
|
||||
|
||||
onPage = self.parent.pt.onPage
|
||||
def drawOnCanvas(canvas, doc):
|
||||
onPage(canvas, doc)
|
||||
outPage = canvas.getPageNumber()-1
|
||||
proc = self.getProcessor()
|
||||
pageOperations = proc.operations.setdefault(outPage, [])
|
||||
pageOperations.append((inputFile, inPage))
|
||||
|
||||
self.parent.pt.onPage = drawOnCanvas
|
||||
@@ -1,45 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Page Template Support
|
||||
"""
|
||||
import zope
|
||||
from z3c.rml import rml2pdf
|
||||
|
||||
try:
|
||||
import zope.pagetemplate.pagetemplatefile
|
||||
except ImportError, err:
|
||||
raise
|
||||
# zope.pagetemplate package has not been installed
|
||||
import types
|
||||
zope.pagetemplate = types.ModuleType('pagetemplate')
|
||||
zope.pagetemplate.pagetemplatefile = types.ModuleType('pagetemplatefile')
|
||||
zope.pagetemplate.pagetemplatefile.PageTemplateFile = object
|
||||
|
||||
|
||||
class RMLPageTemplateFile(zope.pagetemplate.pagetemplatefile.PageTemplateFile):
|
||||
|
||||
def pt_getContext(self, args=(), options=None, **ignore):
|
||||
rval = {'template': self,
|
||||
'args': args,
|
||||
'nothing': None,
|
||||
'context': options
|
||||
}
|
||||
rval.update(self.pt_getEngine().getBaseNames())
|
||||
return rval
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
rml = super(RMLPageTemplateFile, self).__call__(*args, **kwargs)
|
||||
|
||||
return rml2pdf.parseString(
|
||||
rml, filename=self.pt_source_file()).getvalue()
|
||||
@@ -1,54 +0,0 @@
|
||||
==================
|
||||
RML Page Templates
|
||||
==================
|
||||
|
||||
This package also provides optional support a helper class to use page
|
||||
templates with RML without using the entire Zope framework. This document will
|
||||
demonstrate how to use page templates and RML together.
|
||||
|
||||
In this example, we will simply iterate through a list of names and display
|
||||
them in the PDF.
|
||||
|
||||
The first step is to create a page template:
|
||||
|
||||
>>> import tempfile
|
||||
>>> ptFileName = tempfile.mktemp('.pt')
|
||||
>>> open(ptFileName, 'w').write('''\
|
||||
... <?xml version="1.0" encoding="UTF-8" ?>
|
||||
... <!DOCTYPE document SYSTEM "rml.dtd">
|
||||
... <document filename="template.pdf"
|
||||
... xmlns:tal="http://xml.zope.org/namespaces/tal">
|
||||
...
|
||||
... <template pageSize="(21cm, 29cm)">
|
||||
... <pageTemplate id="main">
|
||||
... <frame id="main" x1="2cm" y1="2cm"
|
||||
... width="17cm" height="25cm" />
|
||||
... </pageTemplate>
|
||||
... </template>
|
||||
...
|
||||
... <story>
|
||||
... <para
|
||||
... tal:repeat="name context/names"
|
||||
... tal:content="name" />
|
||||
... </story>
|
||||
...
|
||||
... </document>
|
||||
... ''')
|
||||
|
||||
The ``context`` namespace will be created during rendering. I get back to this
|
||||
later. In th enext step we instantiate the page template:
|
||||
|
||||
>>> from z3c.rml import pagetemplate
|
||||
>>> rmlPageTemplate = pagetemplate.RMLPageTemplateFile(ptFileName)
|
||||
|
||||
All we have to do now is to render the template. The context of the template
|
||||
is effectively the keyword arguments dictionary:
|
||||
|
||||
>>> rmlPageTemplate(names=(u'Roy', u'Daniel', u'Julian', u'Stephan'))
|
||||
'%PDF-1.4...'
|
||||
|
||||
You can uncomment the following line to write out the PDF in the current
|
||||
working directory:
|
||||
|
||||
#>>> open('pagetemplate-test.pdf', 'w').write(
|
||||
#... rmlPageTemplate(names=(u'Roy', u'Daniel', u'Julian', u'Stephan')))
|
||||
@@ -1,181 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007-2008 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Paragraph-internal XML parser extensions.
|
||||
"""
|
||||
import copy
|
||||
import inspect
|
||||
|
||||
import reportlab.lib.fonts
|
||||
import reportlab.platypus.paraparser
|
||||
|
||||
|
||||
class PageNumberFragment(reportlab.platypus.paraparser.ParaFrag):
|
||||
"""A fragment whose `text` is computed at access time."""
|
||||
|
||||
def __init__(self, **attributes):
|
||||
reportlab.platypus.paraparser.ParaFrag.__init__(self, **attributes)
|
||||
self.counting_from = attributes.get('countingFrom', 1)
|
||||
|
||||
@property
|
||||
def text(self):
|
||||
# Guess 1: We're in a paragraph in a story.
|
||||
frame = inspect.currentframe(4)
|
||||
canvas = frame.f_locals.get('canvas', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 2: We're in a template
|
||||
canvas = frame.f_locals.get('canv', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 3: We're in evalString or namedString
|
||||
canvas = getattr(frame.f_locals.get('self', None), 'canv', None)
|
||||
|
||||
if canvas is None:
|
||||
raise Exception("Can't use <pageNumber/> in this location.")
|
||||
|
||||
return str(canvas.getPageNumber() + int(self.counting_from) - 1)
|
||||
|
||||
|
||||
class GetNameFragment(reportlab.platypus.paraparser.ParaFrag):
|
||||
"""A fragment whose `text` is computed at access time."""
|
||||
|
||||
def __init__(self, **attributes):
|
||||
reportlab.platypus.paraparser.ParaFrag.__init__(self, **attributes)
|
||||
self.id = attributes['id']
|
||||
self.default = attributes.get('default')
|
||||
|
||||
@property
|
||||
def text(self):
|
||||
# Guess 1: We're in a paragraph in a story.
|
||||
frame = inspect.currentframe(4)
|
||||
canvas = frame.f_locals.get('canvas', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 2: We're in a template
|
||||
canvas = frame.f_locals.get('canv', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 3: We're in evalString or namedString
|
||||
canvas = getattr(frame.f_locals.get('self', None), 'canv', None)
|
||||
|
||||
if canvas is None:
|
||||
raise Exception("Can't use <getName/> in this location.")
|
||||
|
||||
return canvas.manager.get_name(self.id, self.default)
|
||||
|
||||
|
||||
class EvalStringFragment(reportlab.platypus.paraparser.ParaFrag):
|
||||
"""A fragment whose `text` is evaluated at access time."""
|
||||
|
||||
def __init__(self, **attributes):
|
||||
reportlab.platypus.paraparser.ParaFrag.__init__(self, **attributes)
|
||||
self.frags = []
|
||||
|
||||
@property
|
||||
def text(self):
|
||||
text = u''
|
||||
for frag in self.frags:
|
||||
if isinstance(frag, basestring):
|
||||
text += frag
|
||||
else:
|
||||
text += frag.text
|
||||
from z3c.rml.special import do_eval
|
||||
return do_eval(text)
|
||||
|
||||
|
||||
class NameFragment(reportlab.platypus.paraparser.ParaFrag):
|
||||
"""A fragment whose attribute `value` is set to a variable."""
|
||||
|
||||
def __init__(self, **attributes):
|
||||
reportlab.platypus.paraparser.ParaFrag.__init__(self, **attributes)
|
||||
|
||||
@property
|
||||
def text(self):
|
||||
# Guess 1: We're in a paragraph in a story.
|
||||
frame = inspect.currentframe(4)
|
||||
canvas = frame.f_locals.get('canvas', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 2: We're in a template
|
||||
canvas = frame.f_locals.get('canv', None)
|
||||
|
||||
if canvas is None:
|
||||
# Guess 3: We're in evalString or namedString
|
||||
canvas = getattr(frame.f_locals.get('self', None), 'canv', None)
|
||||
|
||||
if canvas is None:
|
||||
raise Exception("Can't use <name> in this location.")
|
||||
|
||||
canvas.manager.names[self.id] = self.value
|
||||
return u''
|
||||
|
||||
|
||||
class Z3CParagraphParser(reportlab.platypus.paraparser.ParaParser):
|
||||
"""Extensions to paragraph-internal XML parsing."""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
reportlab.platypus.paraparser.ParaParser.__init__(self, *args, **kwargs)
|
||||
self.in_eval = False
|
||||
|
||||
def startDynamic(self, attributes, klass):
|
||||
frag = klass(**attributes)
|
||||
frag.__dict__.update(self._stack[-1].__dict__)
|
||||
frag.fontName = reportlab.lib.fonts.tt2ps(
|
||||
frag.fontName, frag.bold, frag.italic)
|
||||
if self.in_eval:
|
||||
self._stack[-1].frags.append(frag)
|
||||
else:
|
||||
self.fragList.append(frag)
|
||||
self._stack.append(frag)
|
||||
|
||||
def endDynamic(self):
|
||||
if not self.in_eval:
|
||||
self._pop()
|
||||
|
||||
def start_pagenumber(self, attributes):
|
||||
self.startDynamic(attributes, PageNumberFragment)
|
||||
|
||||
def end_pagenumber(self):
|
||||
self.endDynamic()
|
||||
|
||||
def start_getname(self, attributes):
|
||||
self.startDynamic(attributes, GetNameFragment)
|
||||
|
||||
def end_getname(self):
|
||||
self.endDynamic()
|
||||
|
||||
def start_name(self, attributes):
|
||||
self.startDynamic(attributes, NameFragment)
|
||||
|
||||
def end_name(self):
|
||||
self.endDynamic()
|
||||
|
||||
def start_evalstring(self, attributes):
|
||||
self.startDynamic(attributes, EvalStringFragment)
|
||||
self.in_eval = True
|
||||
|
||||
def end_evalstring(self):
|
||||
self.in_eval = False
|
||||
self.endDynamic()
|
||||
|
||||
def handle_data(self, data):
|
||||
if not self.in_eval:
|
||||
reportlab.platypus.paraparser.ParaParser.handle_data(self, data)
|
||||
else:
|
||||
frag = self._stack[-1].frags.append(data)
|
||||
|
||||
|
||||
# Monkey-patch reportlabs global parser instance. Wah.
|
||||
import reportlab.platypus.paragraph
|
||||
reportlab.platypus.paragraph.ParaParser = Z3CParagraphParser
|
||||
@@ -1,149 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""``pdfInclude`` Directive.
|
||||
"""
|
||||
__docformat__ = "reStructuredText"
|
||||
import cStringIO
|
||||
try:
|
||||
import PyPDF2
|
||||
from PyPDF2.generic import NameObject
|
||||
except ImportError:
|
||||
PyPDF2 = None
|
||||
from reportlab.platypus import flowables
|
||||
|
||||
from z3c.rml import attr, flowable, interfaces, occurence, page
|
||||
|
||||
class ConcatenationPostProcessor(object):
|
||||
|
||||
def __init__(self):
|
||||
self.operations = []
|
||||
|
||||
def process(self, inputFile1):
|
||||
input1 = PyPDF2.PdfFileReader(inputFile1)
|
||||
merger = PyPDF2.PdfFileMerger()
|
||||
merger.output._info.getObject().update(input1.documentInfo)
|
||||
|
||||
prev_insert = 0
|
||||
for start_page, inputFile2, pages, num_pages in self.operations:
|
||||
if prev_insert < start_page:
|
||||
merger.append(inputFile1, pages=(prev_insert, start_page))
|
||||
if not pages:
|
||||
merger.append(inputFile2)
|
||||
else:
|
||||
# Note, users start counting at 1. ;-)
|
||||
for page in pages:
|
||||
merger.append(inputFile2, pages=(page-1, page))
|
||||
prev_insert = start_page + num_pages
|
||||
|
||||
input1 = PyPDF2.PdfFileReader(inputFile1)
|
||||
num_pages = input1.getNumPages()
|
||||
if prev_insert < num_pages:
|
||||
merger.append(
|
||||
inputFile1, pages=(prev_insert, num_pages))
|
||||
|
||||
outputFile = cStringIO.StringIO()
|
||||
merger.write(outputFile)
|
||||
return outputFile
|
||||
|
||||
|
||||
class PDFPageFlowable(flowables.Flowable):
|
||||
|
||||
def __init__(self, width, height):
|
||||
flowables.Flowable.__init__(self)
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
||||
def draw(self):
|
||||
pass
|
||||
|
||||
def split(self, availWidth, availheight):
|
||||
return [self]
|
||||
|
||||
|
||||
class IncludePdfPagesFlowable(flowables.Flowable):
|
||||
|
||||
def __init__(self, pdf_file, pages, concatprocessor):
|
||||
flowables.Flowable.__init__(self)
|
||||
self.pdf_file = pdf_file
|
||||
self.proc = concatprocessor
|
||||
self.pages = pages
|
||||
|
||||
self.width = 10<<32
|
||||
self.height = 10<<32
|
||||
|
||||
def draw():
|
||||
return NotImplementedError('PDFPages shall be drawn not me')
|
||||
|
||||
def split(self, availWidth, availheight):
|
||||
pages = self.pages
|
||||
if not pages:
|
||||
pdf = PyPDF2.PdfFileReader(self.pdf_file)
|
||||
num_pages = pdf.getNumPages()
|
||||
pages = range(num_pages)
|
||||
else:
|
||||
num_pages = len(pages)
|
||||
|
||||
start_page = self.canv.getPageNumber()
|
||||
self.proc.operations.append(
|
||||
(start_page, self.pdf_file, self.pages, num_pages))
|
||||
|
||||
result = []
|
||||
for i in pages:
|
||||
result.append(flowables.PageBreak())
|
||||
result.append(PDFPageFlowable(availWidth, availheight))
|
||||
return result
|
||||
|
||||
|
||||
class IIncludePdfPages(interfaces.IRMLDirectiveSignature):
|
||||
"""Inserts a set of pages from a given PDF."""
|
||||
|
||||
filename = attr.File(
|
||||
title=u'Path to file',
|
||||
description=u'The pdf file to include.',
|
||||
required=True)
|
||||
|
||||
pages = attr.IntegerSequence(
|
||||
title=u'Pages',
|
||||
description=u'A list of pages to insert.',
|
||||
required=False)
|
||||
|
||||
|
||||
class IncludePdfPages(flowable.Flowable):
|
||||
signature = IIncludePdfPages
|
||||
|
||||
def getProcessor(self):
|
||||
manager = attr.getManager(self, interfaces.IPostProcessorManager)
|
||||
procs = dict(manager.postProcessors)
|
||||
if 'CONCAT' not in procs:
|
||||
proc = ConcatenationPostProcessor()
|
||||
manager.postProcessors.append(('CONCAT', proc))
|
||||
return proc
|
||||
return procs['CONCAT']
|
||||
|
||||
def process(self):
|
||||
if PyPDF2 is None:
|
||||
raise Exception(
|
||||
'PyPDF2 is not installed, so this feature is not available.')
|
||||
args = dict(self.getAttributeValues())
|
||||
proc = self.getProcessor()
|
||||
self.parent.flow.append(
|
||||
IncludePdfPagesFlowable(args['filename'], args.get('pages'), proc))
|
||||
|
||||
|
||||
flowable.Flow.factories['includePdfPages'] = IncludePdfPages
|
||||
flowable.IFlow.setTaggedValue(
|
||||
'directives',
|
||||
flowable.IFlow.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('includePdfPages', IIncludePdfPages),)
|
||||
)
|
||||
@@ -1,135 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Style Related Element Processing
|
||||
"""
|
||||
import reportlab.platypus.flowables
|
||||
import reportlab.rl_config
|
||||
from reportlab.rl_config import overlapAttachedSpace
|
||||
import zope.interface
|
||||
|
||||
from z3c.rml import interfaces
|
||||
|
||||
# Fix problem with reportlab 2.0
|
||||
class KeepInFrame(reportlab.platypus.flowables.KeepInFrame):
|
||||
|
||||
def __init__(self, maxWidth, maxHeight, content=[], mergeSpace=1,
|
||||
mode='shrink', name=''):
|
||||
self.name = name
|
||||
self.maxWidth = maxWidth
|
||||
self.maxHeight = maxHeight
|
||||
self.mode = mode
|
||||
assert mode in ('error','overflow','shrink','truncate'), \
|
||||
'%s invalid mode value %s' % (self.identity(),mode)
|
||||
# This is an unnecessary check, since wrap() handles None just fine!
|
||||
#assert maxHeight>=0, \
|
||||
# '%s invalid maxHeight value %s' % (self.identity(),maxHeight)
|
||||
if mergeSpace is None: mergeSpace = overlapAttachedSpace
|
||||
self.mergespace = mergeSpace
|
||||
self._content = content
|
||||
|
||||
|
||||
class BaseFlowable(reportlab.platypus.flowables.Flowable):
|
||||
def __init__(self, *args, **kw):
|
||||
reportlab.platypus.flowables.Flowable.__init__(self)
|
||||
self.args = args
|
||||
self.kw = kw
|
||||
|
||||
def wrap(self, *args):
|
||||
return (0, 0)
|
||||
|
||||
def draw(self):
|
||||
pass
|
||||
|
||||
class Illustration(reportlab.platypus.flowables.Flowable):
|
||||
def __init__(self, processor, width, height):
|
||||
self.processor = processor
|
||||
self.width = width
|
||||
self.height = height
|
||||
|
||||
def wrap(self, *args):
|
||||
return (self.width, self.height)
|
||||
|
||||
def draw(self):
|
||||
# Import here to avoid recursive imports
|
||||
from z3c.rml import canvas
|
||||
self.canv.saveState()
|
||||
drawing = canvas.Drawing(
|
||||
self.processor.element, self.processor)
|
||||
zope.interface.alsoProvides(drawing, interfaces.ICanvasManager)
|
||||
drawing.canvas = self.canv
|
||||
drawing.process()
|
||||
self.canv.restoreState()
|
||||
|
||||
class BookmarkPage(BaseFlowable):
|
||||
def draw(self):
|
||||
self.canv.bookmarkPage(*self.args, **self.kw)
|
||||
|
||||
|
||||
class Bookmark(BaseFlowable):
|
||||
def draw(self):
|
||||
self.canv.bookmarkHorizontal(*self.args, **self.kw)
|
||||
|
||||
|
||||
class OutlineAdd(BaseFlowable):
|
||||
def draw(self):
|
||||
if self.kw.get('key', None) is None:
|
||||
self.kw['key'] = str(hash(self))
|
||||
self.canv.bookmarkPage(self.kw['key'])
|
||||
self.canv.addOutlineEntry(**self.kw)
|
||||
|
||||
|
||||
class Link(reportlab.platypus.flowables._Container,
|
||||
reportlab.platypus.flowables.Flowable):
|
||||
|
||||
def __init__(self, content, **args):
|
||||
self._content = content
|
||||
self.args = args
|
||||
|
||||
def wrap(self, availWidth, availHeight):
|
||||
self.width, self.height = reportlab.platypus.flowables._listWrapOn(
|
||||
self._content, availWidth, self.canv)
|
||||
return self.width, self.height
|
||||
|
||||
def drawOn(self, canv, x, y, _sW=0, scale=1.0, content=None, aW=None):
|
||||
'''we simulate being added to a frame'''
|
||||
pS = 0
|
||||
if aW is None: aW = self.width
|
||||
aW = scale*(aW+_sW)
|
||||
if content is None:
|
||||
content = self._content
|
||||
y += self.height*scale
|
||||
|
||||
startX = x
|
||||
startY = y
|
||||
totalWidth = 0
|
||||
totalHeight = 0
|
||||
|
||||
for c in content:
|
||||
w, h = c.wrapOn(canv,aW,0xfffffff)
|
||||
if w < reportlab.rl_config._FUZZ or h < reportlab.rl_config._FUZZ:
|
||||
continue
|
||||
if c is not content[0]: h += max(c.getSpaceBefore()-pS,0)
|
||||
y -= h
|
||||
c.drawOn(canv,x,y,_sW=aW-w)
|
||||
if c is not content[-1]:
|
||||
pS = c.getSpaceAfter()
|
||||
y -= pS
|
||||
totalWidth += w
|
||||
totalHeight += h
|
||||
rectangle = [startX, startY-totalHeight,
|
||||
startX+totalWidth, startY]
|
||||
if 'url' in self.args:
|
||||
canv.linkURL(rect=rectangle, **self.args)
|
||||
else:
|
||||
canv.linkAbsolute('', Rect=rectangle, **self.args)
|
||||
@@ -1,294 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE document SYSTEM "rml.dtd">
|
||||
|
||||
<document
|
||||
filename="rml-reference.pdf"
|
||||
xmlns:tal="http://xml.zope.org/namespaces/tal"
|
||||
>
|
||||
|
||||
<docinit>
|
||||
<registerFont name="ZapfDingbats" faceName="ZapfDingbats"
|
||||
encName="StandardEncoding"/>
|
||||
</docinit>
|
||||
|
||||
<stylesheet>
|
||||
<paraStyle
|
||||
name="section-header"
|
||||
fontName="Helvetica-Bold"
|
||||
fontSize="36"
|
||||
leading="42"
|
||||
spaceAfter="30"
|
||||
/>
|
||||
<paraStyle
|
||||
name="content"
|
||||
fontName="Times-Roman"
|
||||
fontSize="12"
|
||||
spaceAfter="5"
|
||||
/>
|
||||
<paraStyle
|
||||
name="deprecation"
|
||||
fontName="Times-Roman"
|
||||
fontSize="12"
|
||||
textColor="red"
|
||||
/>
|
||||
<paraStyle
|
||||
name="attribute-type-name"
|
||||
fontName="Times-Bold"
|
||||
fontSize="14"
|
||||
spaceBefore="10"
|
||||
spaceAfter="5"
|
||||
keepWithNext="true"
|
||||
/>
|
||||
<paraStyle
|
||||
name="element-name"
|
||||
fontName="Times-Bold"
|
||||
fontSize="14"
|
||||
spaceBefore="10"
|
||||
spaceAfter="5"
|
||||
keepWithNext="true"
|
||||
/>
|
||||
<paraStyle
|
||||
name="element-subtitle"
|
||||
fontName="Times-Bold"
|
||||
fontSize="12"
|
||||
spaceBefore="10"
|
||||
spaceAfter="5"
|
||||
/>
|
||||
<paraStyle
|
||||
name="attribute-name"
|
||||
fontName="Times-Roman"
|
||||
fontSize="11"
|
||||
leftIndent="0.5cm"
|
||||
spaceBefore="5"
|
||||
/>
|
||||
<paraStyle
|
||||
name="field-deprecation"
|
||||
fontName="Times-Roman"
|
||||
fontSize="10"
|
||||
leftIndent="0.9cm"
|
||||
textColor="red"
|
||||
/>
|
||||
<paraStyle
|
||||
name="field-description"
|
||||
fontName="Times-Roman"
|
||||
fontSize="10"
|
||||
leftIndent="0.9cm"
|
||||
/>
|
||||
<paraStyle
|
||||
name="sub-directive"
|
||||
fontName="Times-Roman"
|
||||
fontSize="10"
|
||||
leftIndent="0.5cm"
|
||||
/>
|
||||
<paraStyle
|
||||
name="example-info"
|
||||
fontName="Times-Roman"
|
||||
fontSize="10"
|
||||
leftIndent="0.5cm"
|
||||
spaceAfter="5"
|
||||
/>
|
||||
<paraStyle
|
||||
name="code"
|
||||
fontName="Courier"
|
||||
fontSize="10"
|
||||
leftIndent="0.5cm"
|
||||
/>
|
||||
<blockTableStyle id="plain">
|
||||
<blockLeftPadding length="0" />
|
||||
</blockTableStyle>
|
||||
</stylesheet>
|
||||
|
||||
<template
|
||||
pageSize="A4"
|
||||
allowSplitting="true"
|
||||
title="z3c.RML Reference"
|
||||
author="Zope Community">
|
||||
|
||||
<pageTemplate id="first-page">
|
||||
<pageGraphics>
|
||||
<setFont name="Helvetica" size="48" />
|
||||
<drawCenteredString x="10.5cm" y="20cm">
|
||||
z3c.RML Reference
|
||||
</drawCenteredString>
|
||||
<setFont name="Helvetica" size="24" />
|
||||
<drawCenteredString x="10.5cm" y="18.5cm">
|
||||
Version 2.1
|
||||
</drawCenteredString>
|
||||
</pageGraphics>
|
||||
<frame id="main" x1="3cm" y1="2cm" width="17cm" height="25.7cm" />
|
||||
</pageTemplate>
|
||||
|
||||
<pageTemplate id="main">
|
||||
<frame id="main" x1="2cm" y1="2cm" width="17cm" height="25.7cm" />
|
||||
</pageTemplate>
|
||||
|
||||
</template>
|
||||
|
||||
<story firstPageTemplate="first-page">
|
||||
<setNextTemplate name="main" />
|
||||
<nextPage />
|
||||
<para style="section-header">
|
||||
Introduction
|
||||
</para>
|
||||
<para style="content">
|
||||
RML is a XML dialect for generating PDF files. Like HTML produces a page
|
||||
within the browser, RML produces a PDF file. The RML processor uses the
|
||||
ReportLab library to convert the RML text into a full PDF template.
|
||||
</para>
|
||||
<para style="content">
|
||||
The original version of RML was developed by ReportLab, Inc. as a
|
||||
commercial extension to the free ReportLab library. This original
|
||||
version of RML is still available and supported by ReportLab, Inc. This
|
||||
version of RML, z3c.RML, is a free implementation of the XML dialect
|
||||
based on the available documentation. While it tries to keep some level
|
||||
of compatibility with the original version of RML, it is intended to
|
||||
provde a as clean and feature-rich API as possible.
|
||||
</para>
|
||||
<para style="content">
|
||||
The contents of this document is auto-generated from the code itself and
|
||||
should thus be very accurate and complete.
|
||||
</para>
|
||||
|
||||
<nextPage />
|
||||
<para style="section-header">
|
||||
Attribute Types
|
||||
</para>
|
||||
<outlineAdd>Attribute Types</outlineAdd>
|
||||
<para style="content">
|
||||
This section list the types of attributes used for the attributes within
|
||||
the RML elements.
|
||||
</para>
|
||||
<spacer length="0.5cm" />
|
||||
<tal:block repeat="type context/types">
|
||||
<para style="attribute-type-name" tal:content="type/name">
|
||||
Attribute Name
|
||||
</para>
|
||||
<outlineAdd level="1" tal:content="type/name">Attribute Name</outlineAdd>
|
||||
<para style="content" tal:content="type/description">
|
||||
Attribute purpose and data description.
|
||||
</para>
|
||||
</tal:block>
|
||||
|
||||
<nextPage />
|
||||
<para style="section-header">
|
||||
Directives
|
||||
</para>
|
||||
<outlineAdd>Directives</outlineAdd>
|
||||
<tal:block repeat="directive context/directives">
|
||||
<para style="element-name" tal:content="directive/name">
|
||||
Element Name
|
||||
</para>
|
||||
<outlineAdd level="1" tal:content="directive/name">
|
||||
Element Name
|
||||
</outlineAdd>
|
||||
<bookmarkPage tal:attributes="name directive/id"/>
|
||||
<para style="deprecation"
|
||||
tal:condition="directive/deprecated">
|
||||
<b>Deprecated:</b>
|
||||
<tal:block tal:content="directive/reason">Reason</tal:block>
|
||||
</para>
|
||||
<para style="content" tal:content="directive/description">
|
||||
What is this element doing?
|
||||
</para>
|
||||
|
||||
<tal:block condition="directive/attributes">
|
||||
<para style="element-subtitle">
|
||||
<i>Attributes</i>
|
||||
</para>
|
||||
<tal:block repeat="attr directive/attributes">
|
||||
<para style="attribute-name">
|
||||
<b tal:content="attr/name">para</b>
|
||||
<tal:block condition="attr/required">
|
||||
<i>(required)</i>
|
||||
</tal:block>
|
||||
-
|
||||
<tal:block content="attr/type">Type</tal:block>
|
||||
</para>
|
||||
<para style="field-deprecation"
|
||||
tal:condition="attr/deprecated">
|
||||
<b>Deprecated:</b>
|
||||
<tal:block tal:content="attr/reason">Reason</tal:block>
|
||||
</para>
|
||||
<para style="field-description"
|
||||
tal:condition="attr/title">
|
||||
<i tal:content="attr/title">Title</i>:
|
||||
<tal:block tal:content="attr/description">Description</tal:block>
|
||||
</para>
|
||||
</tal:block>
|
||||
</tal:block>
|
||||
|
||||
<tal:block define="attr directive/content"
|
||||
condition="directive/content">
|
||||
<para style="element-subtitle">
|
||||
<i>Content</i>
|
||||
</para>
|
||||
<para style="attribute-name">
|
||||
<tal:block content="attr/type">Type</tal:block>
|
||||
<tal:block condition="attr/required">
|
||||
<i>(required)</i>
|
||||
</tal:block>
|
||||
</para>
|
||||
<para style="field-description"
|
||||
tal:condition="attr/title">
|
||||
<i tal:content="attr/title">Title</i>:
|
||||
<tal:block tal:content="attr/description">Description</tal:block>
|
||||
</para>
|
||||
</tal:block>
|
||||
|
||||
<tal:block condition="directive/sub-directives">
|
||||
<para style="element-subtitle">
|
||||
<i>Sub-Directives</i>
|
||||
</para>
|
||||
<link destination=""
|
||||
tal:repeat="directive directive/sub-directives"
|
||||
tal:attributes="destination directive/id">
|
||||
<para style="sub-directive">
|
||||
<font color="blue">
|
||||
<b tal:content="directive/name">para</b>
|
||||
</font>
|
||||
<i>
|
||||
(<tal:block replace="directive/occurence">ZeroOrMore</tal:block>)
|
||||
</i>
|
||||
<font color="red" tal:condition="directive/deprecated">
|
||||
<i>(Deprecated)</i>
|
||||
</font>
|
||||
</para>
|
||||
</link>
|
||||
</tal:block>
|
||||
|
||||
<tal:block condition="directive/examples">
|
||||
<para style="element-subtitle">
|
||||
<i>Examples</i>
|
||||
</para>
|
||||
<tal:block repeat="example directive/examples">
|
||||
<xpre style="code" tal:content="structure example/code">
|
||||
Example Code
|
||||
</xpre>
|
||||
<blockTable style="plain">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="example-info">
|
||||
(Extracted from file
|
||||
<link href="" tal:attributes="href example/rmlurl">
|
||||
<i tal:content="example/filename">File</i>,
|
||||
</link>
|
||||
line <tal:block replace="example/line" />)
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para>
|
||||
<link href="" tal:attributes="href example/pdfurl">
|
||||
<font color="blue">[PDF]</font>
|
||||
</link>
|
||||
</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</tal:block>
|
||||
</tal:block>
|
||||
|
||||
</tal:block>
|
||||
|
||||
</story>
|
||||
|
||||
</document>
|
||||
@@ -1,242 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML Reference Generator
|
||||
"""
|
||||
import copy
|
||||
import re
|
||||
import os
|
||||
import pygments.token
|
||||
import zope.schema
|
||||
import zope.schema.interfaces
|
||||
from lxml import etree
|
||||
from xml.sax import saxutils
|
||||
from pygments.lexers import XmlLexer
|
||||
from z3c.rml import attr, document, interfaces, pagetemplate
|
||||
|
||||
|
||||
INPUT_URL = ('https://github.com/zopefoundation/z3c.rml/blob/master/src/z3c/'
|
||||
'rml/tests/input/%s')
|
||||
EXPECTED_URL = ('https://github.com/zopefoundation/z3c.rml/blob/master/src/z3c/'
|
||||
'rml/tests/expected/%s?raw=true')
|
||||
|
||||
EXAMPLES_DIRECTORY = os.path.join(os.path.dirname(__file__), 'tests', 'input')
|
||||
IGNORE_ATTRIBUTES = ('RMLAttribute', 'BaseChoice')
|
||||
CONTENT_FIELD_TYPES = (
|
||||
attr.TextNode, attr.TextNodeSequence, attr.TextNodeGrid,
|
||||
attr.RawXMLContent, attr.XMLContent)
|
||||
STYLES_FORMATTING = {
|
||||
pygments.token.Name.Tag : ('<font textColor="red">', '</font>'),
|
||||
pygments.token.Literal.String : ('<font textColor="blue">', '</font>'),
|
||||
}
|
||||
EXAMPLE_NS = 'http://namespaces.zope.org/rml/doc'
|
||||
EXAMPLE_ATTR_NAME = '{%s}example' %EXAMPLE_NS
|
||||
|
||||
|
||||
def dedent(rml):
|
||||
spaces = re.findall('\n( *)<', rml)
|
||||
if not spaces:
|
||||
return rml
|
||||
least = min([len(s) for s in spaces if s != ''])
|
||||
return rml.replace('\n'+' '*least, '\n')
|
||||
|
||||
|
||||
def enforceColumns(rml, columns=80):
|
||||
result = []
|
||||
for line in rml.split('\n'):
|
||||
if len(line) <= columns:
|
||||
result.append(line)
|
||||
continue
|
||||
# Determine the indentation for all other lines
|
||||
lineStart = re.findall('^( *<[a-zA-Z0-9]+ )', line)
|
||||
lineIndent = 0
|
||||
if lineStart:
|
||||
lineIndent = len(lineStart[0])
|
||||
# Create lines having at most the specified number of columns
|
||||
while len(line) > columns:
|
||||
end = line[:columns].rfind(' ')
|
||||
result.append(line[:end])
|
||||
line = ' '*lineIndent + line[end+1:]
|
||||
result.append(line)
|
||||
|
||||
return '\n'.join(result)
|
||||
|
||||
def highlightRML(rml):
|
||||
lexer = XmlLexer()
|
||||
styledRml = ''
|
||||
for ttype, token in lexer.get_tokens(rml):
|
||||
start, end = STYLES_FORMATTING.get(ttype, ('', ''))
|
||||
styledRml += start + saxutils.escape(token) + end
|
||||
return styledRml
|
||||
|
||||
|
||||
def removeDocAttributes(elem):
|
||||
for name in elem.attrib.keys():
|
||||
if name.startswith('{'+EXAMPLE_NS+'}'):
|
||||
del elem.attrib[name]
|
||||
for child in elem.getchildren():
|
||||
removeDocAttributes(child)
|
||||
|
||||
|
||||
def getAttributeTypes():
|
||||
types = []
|
||||
candidates = sorted(attr.__dict__.items(), key=lambda e: e[0])
|
||||
for name, candidate in candidates:
|
||||
if not (isinstance(candidate, type) and
|
||||
zope.schema.interfaces.IField.implementedBy(candidate) and
|
||||
name not in IGNORE_ATTRIBUTES):
|
||||
continue
|
||||
types.append({
|
||||
'name': name,
|
||||
'description': candidate.__doc__
|
||||
})
|
||||
return types
|
||||
|
||||
|
||||
def formatField(field):
|
||||
return field.__class__.__name__
|
||||
|
||||
def formatChoice(field):
|
||||
choices = ', '.join([repr(choice) for choice in field.choices.keys()])
|
||||
return '%s of (%s)' %(field.__class__.__name__, choices)
|
||||
|
||||
def formatSequence(field):
|
||||
vtFormatter = typeFormatters.get(field.value_type.__class__, formatField)
|
||||
return '%s of %s' %(field.__class__.__name__, vtFormatter(field.value_type))
|
||||
|
||||
def formatGrid(field):
|
||||
vtFormatter = typeFormatters.get(field.value_type.__class__, formatField)
|
||||
return '%s with %i cols of %s' %(
|
||||
field.__class__.__name__, field.columns, vtFormatter(field.value_type))
|
||||
|
||||
def formatCombination(field):
|
||||
vts = [typeFormatters.get(vt.__class__, formatField)(vt)
|
||||
for vt in field.value_types]
|
||||
return '%s of %s' %(field.__class__.__name__, ', '.join(vts))
|
||||
|
||||
typeFormatters = {
|
||||
attr.Choice: formatChoice,
|
||||
attr.Sequence: formatSequence,
|
||||
attr.Combination: formatCombination,
|
||||
attr.TextNodeSequence: formatSequence,
|
||||
attr.TextNodeGrid: formatGrid}
|
||||
|
||||
def processSignature(name, signature, examples, directives=None):
|
||||
if directives is None:
|
||||
directives = {}
|
||||
# Process this directive
|
||||
if signature not in directives:
|
||||
info = {'name': name, 'description': signature.getDoc(),
|
||||
'id': str(hash(signature)), 'deprecated': False}
|
||||
# If directive is deprecated, then add some info
|
||||
if interfaces.IDeprecatedDirective.providedBy(signature):
|
||||
info['deprecated'] = True
|
||||
info['reason'] = signature.getTaggedValue('deprecatedReason')
|
||||
attrs = []
|
||||
content = None
|
||||
for fname, field in zope.schema.getFieldsInOrder(signature):
|
||||
# Handle the case, where the field describes the content
|
||||
typeFormatter = typeFormatters.get(field.__class__, formatField)
|
||||
fieldInfo = {
|
||||
'name': fname,
|
||||
'type': typeFormatter(field),
|
||||
'title': field.title,
|
||||
'description': field.description,
|
||||
'required': field.required,
|
||||
'deprecated': False,
|
||||
}
|
||||
if field.__class__ in CONTENT_FIELD_TYPES:
|
||||
content = fieldInfo
|
||||
else:
|
||||
attrs.append(fieldInfo)
|
||||
|
||||
# Add a separate entry for the deprecated field
|
||||
if interfaces.IDeprecated.providedBy(field):
|
||||
deprFieldInfo = fieldInfo.copy()
|
||||
deprFieldInfo['deprecated'] = True
|
||||
deprFieldInfo['name'] = field.deprecatedName
|
||||
deprFieldInfo['reason'] = field.deprecatedReason
|
||||
attrs.append(deprFieldInfo)
|
||||
|
||||
info['attributes'] = attrs
|
||||
info['content'] = content
|
||||
# Examples can be either gotten by interface path or tag name
|
||||
ifacePath = signature.__module__ + '.' + signature.__name__
|
||||
if ifacePath in examples:
|
||||
info['examples'] = examples[ifacePath]
|
||||
else:
|
||||
info['examples'] = examples.get(name, None)
|
||||
|
||||
subs = []
|
||||
for occurence in signature.queryTaggedValue('directives', ()):
|
||||
subs.append({
|
||||
'name': occurence.tag,
|
||||
'occurence': occurence.__class__.__name__,
|
||||
'deprecated': interfaces.IDeprecatedDirective.providedBy(
|
||||
occurence.signature),
|
||||
'id': str(hash(occurence.signature))
|
||||
})
|
||||
info['sub-directives'] = subs
|
||||
directives[signature] = info
|
||||
# Process Children
|
||||
for occurence in signature.queryTaggedValue('directives', ()):
|
||||
processSignature(occurence.tag, occurence.signature,
|
||||
examples, directives)
|
||||
|
||||
|
||||
def extractExamples(directory):
|
||||
examples = {}
|
||||
for filename in os.listdir(directory):
|
||||
if not filename.endswith('.rml'):
|
||||
continue
|
||||
rmlFile = open(os.path.join(directory, filename), 'r')
|
||||
root = etree.parse(rmlFile).getroot()
|
||||
elements = root.xpath('//@doc:example/parent::*',
|
||||
namespaces={'doc': EXAMPLE_NS})
|
||||
# Phase 1: Collect all elements
|
||||
for elem in elements:
|
||||
demoTag = elem.get(EXAMPLE_ATTR_NAME) or elem.tag
|
||||
elemExamples = examples.setdefault(demoTag, [])
|
||||
elemExamples.append({
|
||||
'filename': filename,
|
||||
'line': elem.sourceline,
|
||||
'element': elem,
|
||||
'rmlurl': INPUT_URL %filename,
|
||||
'pdfurl': EXPECTED_URL %(filename[:-4]+'.pdf')
|
||||
})
|
||||
# Phase 2: Render all elements
|
||||
removeDocAttributes(root)
|
||||
for dirExamples in examples.values():
|
||||
for example in dirExamples:
|
||||
xml = etree.tounicode(example['element']).strip()
|
||||
xml = re.sub(
|
||||
' ?xmlns:doc="http://namespaces.zope.org/rml/doc"', '', xml)
|
||||
xml = dedent(xml)
|
||||
xml = enforceColumns(xml, 80)
|
||||
xml = highlightRML(xml)
|
||||
example['code'] = xml
|
||||
|
||||
return examples
|
||||
|
||||
|
||||
def main(outPath=None):
|
||||
examples = extractExamples(EXAMPLES_DIRECTORY)
|
||||
|
||||
template = pagetemplate.RMLPageTemplateFile('reference.pt')
|
||||
|
||||
directives = {}
|
||||
processSignature('document', document.IDocument, examples, directives)
|
||||
directives = sorted(directives.values(), key=lambda d: d['name'])
|
||||
|
||||
pdf = template(types=getAttributeTypes(), directives=directives)
|
||||
open(outPath or 'rml-reference.pdf', 'wb').write(pdf)
|
||||
@@ -1,50 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""ReportLab fixups.
|
||||
"""
|
||||
__docformat__ = "reStructuredText"
|
||||
from reportlab.pdfbase import pdfform, pdfmetrics, ttfonts
|
||||
from reportlab.pdfbase.pdfpattern import PDFPattern
|
||||
from reportlab.graphics import testshapes
|
||||
|
||||
def resetPdfForm():
|
||||
pdfform.PDFDOCENC = PDFPattern(pdfform.PDFDocEncodingPattern)
|
||||
pdfform.ENCODING = PDFPattern(
|
||||
pdfform.EncodingPattern, PDFDocEncoding=pdfform.PDFDOCENC)
|
||||
pdfform.GLOBALFONTSDICTIONARY = pdfform.FormFontsDictionary()
|
||||
pdfform.GLOBALRESOURCES = pdfform.FormResources()
|
||||
pdfform.ZADB = PDFPattern(pdfform.ZaDbPattern)
|
||||
|
||||
def resetFonts():
|
||||
# testshapes._setup registers the Vera fonts every time which is a little
|
||||
# slow on all platforms. On Windows it lists the entire system font
|
||||
# directory and registers them all which is very slow.
|
||||
pdfmetrics.registerFont(ttfonts.TTFont("Vera", "Vera.ttf"))
|
||||
pdfmetrics.registerFont(ttfonts.TTFont("VeraBd", "VeraBd.ttf"))
|
||||
pdfmetrics.registerFont(ttfonts.TTFont("VeraIt", "VeraIt.ttf"))
|
||||
pdfmetrics.registerFont(ttfonts.TTFont("VeraBI", "VeraBI.ttf"))
|
||||
for f in ('Times-Roman','Courier','Helvetica','Vera', 'VeraBd', 'VeraIt',
|
||||
'VeraBI'):
|
||||
if f not in testshapes._FONTS:
|
||||
testshapes._FONTS.append(f)
|
||||
|
||||
def setSideLabels():
|
||||
from reportlab.graphics.charts import piecharts
|
||||
piecharts.Pie3d.sideLabels = 0
|
||||
setSideLabels()
|
||||
|
||||
from reportlab.rl_config import register_reset
|
||||
register_reset(resetPdfForm)
|
||||
register_reset(resetFonts)
|
||||
del register_reset
|
||||
File diff suppressed because it is too large
Load Diff
2236
z3c/rml/rml.dtd
2236
z3c/rml/rml.dtd
File diff suppressed because it is too large
Load Diff
@@ -1,70 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML to PDF Converter
|
||||
"""
|
||||
import cStringIO
|
||||
import os
|
||||
import sys
|
||||
import zope.interface
|
||||
from lxml import etree
|
||||
from z3c.rml import document, interfaces
|
||||
|
||||
zope.interface.moduleProvides(interfaces.IRML2PDF)
|
||||
|
||||
|
||||
def parseString(xml, removeEncodingLine=True, filename=None):
|
||||
if isinstance(xml, unicode) and removeEncodingLine:
|
||||
# RML is a unicode string, but oftentimes documents declare their
|
||||
# encoding using <?xml ...>. Unfortuantely, I cannot tell lxml to
|
||||
# ignore that directive. Thus we remove it.
|
||||
if xml.startswith('<?xml'):
|
||||
xml = xml.split('\n', 1)[-1]
|
||||
root = etree.fromstring(xml)
|
||||
doc = document.Document(root)
|
||||
if filename:
|
||||
doc.filename = filename
|
||||
output = cStringIO.StringIO()
|
||||
doc.process(output)
|
||||
output.seek(0)
|
||||
return output
|
||||
|
||||
|
||||
def go(xmlInputName, outputFileName=None, outDir=None, dtdDir=None):
|
||||
if dtdDir is not None:
|
||||
sys.stderr.write('The ``dtdDir`` option is not yet supported.')
|
||||
|
||||
xmlFile = open(xmlInputName, 'r')
|
||||
root = etree.parse(xmlFile).getroot()
|
||||
doc = document.Document(root)
|
||||
doc.filename = xmlInputName
|
||||
|
||||
outputFile = None
|
||||
|
||||
# If an output filename is specified, create an output filepointer for it
|
||||
if outputFileName is not None:
|
||||
if outDir is not None:
|
||||
outputFileName = os.path.join(outDir, outputFileName)
|
||||
outputFile = open(outputFileName, 'wb')
|
||||
|
||||
# Create a Reportlab canvas by processing the document
|
||||
doc.process(outputFile)
|
||||
|
||||
|
||||
def main(args=None):
|
||||
if args is None:
|
||||
args = sys.argv[1:]
|
||||
go(*args)
|
||||
|
||||
if __name__ == '__main__':
|
||||
canvas = go(sys.argv[1])
|
||||
@@ -1,116 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""RML to PDF Converter
|
||||
"""
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
|
||||
_fileOpen = None
|
||||
|
||||
def excecuteSubProcess(xmlInputName, outputFileName, testing=None):
|
||||
# set the sys path given from the parent process
|
||||
sysPath = os.environ['Z3CRMLSYSPATH']
|
||||
sys.path[:] = sysPath.split(';')
|
||||
|
||||
# now it come the ugly thing, but we need to hook our test changes into
|
||||
# our subprocess.
|
||||
if testing is not None:
|
||||
|
||||
# set some globals
|
||||
import z3c.rml.attr
|
||||
import z3c.rml.directive
|
||||
global _fileOpen
|
||||
_fileOpen = z3c.rml.attr.File.open
|
||||
def testOpen(img, filename):
|
||||
# cleanup win paths like:
|
||||
# ....\\input\\file:///D:\\trunk\\...
|
||||
if sys.platform[:3].lower() == "win":
|
||||
if filename.startswith('file:///'):
|
||||
filename = filename[len('file:///'):]
|
||||
path = os.path.join(os.path.dirname(xmlInputName), filename)
|
||||
return open(path, 'rb')
|
||||
# override some testing stuff for our tests
|
||||
z3c.rml.attr.File.open = testOpen
|
||||
import z3c.rml.tests.module
|
||||
sys.modules['module'] = z3c.rml.tests.module
|
||||
sys.modules['mymodule'] = z3c.rml.tests.module
|
||||
|
||||
# import rml and process the pdf
|
||||
from z3c.rml import rml2pdf
|
||||
rml2pdf.go(xmlInputName, outputFileName)
|
||||
|
||||
if testing is not None:
|
||||
# reset some globals
|
||||
z3c.rml.attr.File.open = _fileOpen
|
||||
del sys.modules['module']
|
||||
del sys.modules['mymodule']
|
||||
|
||||
|
||||
def goSubProcess(xmlInputName, outputFileName, testing=False):
|
||||
"""Processes PDF rendering in a sub process.
|
||||
|
||||
This method is much slower then the ``go`` method defined in rml2pdf.py
|
||||
because each PDF generation is done in a sub process. But this will make
|
||||
sure, that we do not run into problems. Note, the ReportLab lib is not
|
||||
threadsafe.
|
||||
|
||||
Use this method from python and it will dispatch the pdf generation
|
||||
to a subprocess.
|
||||
|
||||
Note: this method does not take care on how much process will started.
|
||||
Probably it's a good idea to use a queue or a global utility which only
|
||||
start a predefined amount of sub processes.
|
||||
"""
|
||||
# get the sys path used for this python process
|
||||
env = os.environ
|
||||
sysPath = ';'.join(sys.path)
|
||||
# set the sys path as env var for the new sub process
|
||||
env['Z3CRMLSYSPATH'] = sysPath
|
||||
py = sys.executable
|
||||
|
||||
# setup the cmd
|
||||
program = [py, __file__, 'excecuteSubProcess', xmlInputName, outputFileName]
|
||||
if testing is True:
|
||||
program.append('testing=1')
|
||||
program = " ".join(program)
|
||||
|
||||
# run the subprocess in the rml input file folder, this will make it easy
|
||||
# to include images. If this doesn't fit, feel free to add a additional
|
||||
# home argument, and let this be the default, ri
|
||||
os.chdir(os.path.dirname(xmlInputName))
|
||||
|
||||
# start processing in a sub process, raise exception or return None
|
||||
try:
|
||||
p = subprocess.Popen(program, executable=py, env=env,
|
||||
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
except Exception, e:
|
||||
raise Exception("Subprocess error: %s" % e)
|
||||
|
||||
# Do we need to improve the implementation and kill the subprocess which will
|
||||
# fail? ri
|
||||
stdout, stderr = p.communicate()
|
||||
error = stderr
|
||||
if error:
|
||||
raise Exception("Subprocess error: %s" % error)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) == 5:
|
||||
#testing support
|
||||
canvas = excecuteSubProcess(sys.argv[2], sys.argv[3], sys.argv[4])
|
||||
else:
|
||||
canvas = excecuteSubProcess(sys.argv[2], sys.argv[3])
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Special Element Processing
|
||||
"""
|
||||
from z3c.rml import attr, directive, interfaces
|
||||
|
||||
|
||||
class IName(interfaces.IRMLDirectiveSignature):
|
||||
"""Defines a name for a string."""
|
||||
|
||||
id = attr.String(
|
||||
title=u'Id',
|
||||
description=u'The id under which the value will be known.',
|
||||
required=True)
|
||||
|
||||
value = attr.Text(
|
||||
title=u'Value',
|
||||
description=u'The text that is displayed if the id is called.',
|
||||
required=True)
|
||||
|
||||
class Name(directive.RMLDirective):
|
||||
signature = IName
|
||||
|
||||
def process(self):
|
||||
id, value = self.getAttributeValues(valuesOnly=True)
|
||||
manager = attr.getManager(self)
|
||||
manager.names[id] = value
|
||||
|
||||
|
||||
class IAlias(interfaces.IRMLDirectiveSignature):
|
||||
"""Defines an alias for a given style."""
|
||||
|
||||
id = attr.String(
|
||||
title=u'Id',
|
||||
description=u'The id as which the style will be known.',
|
||||
required=True)
|
||||
|
||||
value = attr.Style(
|
||||
title=u'Value',
|
||||
description=u'The style that is represented.',
|
||||
required=True)
|
||||
|
||||
class Alias(directive.RMLDirective):
|
||||
signature = IAlias
|
||||
|
||||
def process(self):
|
||||
id, value = self.getAttributeValues(valuesOnly=True)
|
||||
manager = attr.getManager(self)
|
||||
manager.styles[id] = value
|
||||
|
||||
|
||||
class TextFlowables(object):
|
||||
def _getManager(self):
|
||||
if hasattr(self, 'manager'):
|
||||
return self.manager
|
||||
else:
|
||||
return attr.getManager(self)
|
||||
|
||||
def getPageNumber(self, elem, canvas):
|
||||
return unicode(
|
||||
canvas.getPageNumber() + int(elem.get('countingFrom', 1)) - 1
|
||||
)
|
||||
|
||||
def getName(self, elem, canvas):
|
||||
return self._getManager().get_name(
|
||||
elem.get('id'),
|
||||
elem.get('default')
|
||||
)
|
||||
|
||||
def evalString(self, elem, canvas):
|
||||
return do_eval(self._getText(elem, canvas))
|
||||
|
||||
def namedString(self, elem, canvas):
|
||||
self._getManager().names[elem.get('id')] = self._getText(
|
||||
elem, canvas, include_final_tail=False
|
||||
)
|
||||
return u''
|
||||
|
||||
def name(self, elem, canvas):
|
||||
self._getManager().names[elem.get('id')] = elem.get('value')
|
||||
return u''
|
||||
|
||||
handleElements = {'pageNumber': getPageNumber,
|
||||
'getName': getName,
|
||||
'evalString': evalString,
|
||||
'namedString': namedString,
|
||||
'name': name}
|
||||
|
||||
def _getText(self, node, canvas, include_final_tail=True):
|
||||
text = node.text or u''
|
||||
for sub in node.getchildren():
|
||||
if sub.tag in self.handleElements:
|
||||
text += self.handleElements[sub.tag](self, sub, canvas)
|
||||
else:
|
||||
self._getText(sub, canvas)
|
||||
text += sub.tail or u''
|
||||
if include_final_tail:
|
||||
text += node.tail or u''
|
||||
return text
|
||||
|
||||
def do_eval(value):
|
||||
# Maybe still not safe
|
||||
return unicode(eval(value.strip(), {'__builtins__': None}, {}))
|
||||
@@ -1,112 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2012 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""``pdfInclude`` Directive.
|
||||
"""
|
||||
__docformat__ = "reStructuredText"
|
||||
from reportlab.platypus import flowables
|
||||
|
||||
from z3c.rml import attr, flowable, interfaces, occurence
|
||||
|
||||
|
||||
class StoryPlaceFlowable(flowables.Flowable):
|
||||
|
||||
def __init__(self, x, y, width, height, origin, flows):
|
||||
flowables.Flowable.__init__(self)
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.origin = origin
|
||||
self.flows = flows
|
||||
|
||||
def wrap(self, *args):
|
||||
return (0, 0)
|
||||
|
||||
def draw(self):
|
||||
saveState = False
|
||||
x, y = self.x, self.y
|
||||
self.canv.restoreState()
|
||||
if self.origin == 'frame':
|
||||
x += self._frame._x1
|
||||
y += self._frame._y1
|
||||
elif self.origin == 'local':
|
||||
x += self._frame._x
|
||||
y += self._frame._y
|
||||
else:
|
||||
# origin == 'page'
|
||||
pass
|
||||
width, height = self.width, self.height
|
||||
y += height
|
||||
for flow in self.flows.flow:
|
||||
flowWidth, flowHeight = flow.wrap(width, height)
|
||||
if flowWidth <= width and flowHeight <= height:
|
||||
y -= flowHeight
|
||||
flow.drawOn(self.canv, x, y)
|
||||
height -= flowHeight
|
||||
else:
|
||||
raise ValueError("Not enough space")
|
||||
self.canv.saveState()
|
||||
|
||||
|
||||
class IStoryPlace(interfaces.IRMLDirectiveSignature):
|
||||
"""Draws a set of flowables on the canvas within a given region."""
|
||||
|
||||
x = attr.Measurement(
|
||||
title=u'X-Coordinate',
|
||||
description=(u'The X-coordinate of the lower-left position of the '
|
||||
u'place.'),
|
||||
required=True)
|
||||
|
||||
y = attr.Measurement(
|
||||
title=u'Y-Coordinate',
|
||||
description=(u'The Y-coordinate of the lower-left position of the '
|
||||
u'place.'),
|
||||
required=True)
|
||||
|
||||
width = attr.Measurement(
|
||||
title=u'Width',
|
||||
description=u'The width of the place.',
|
||||
required=False)
|
||||
|
||||
height = attr.Measurement(
|
||||
title=u'Height',
|
||||
description=u'The height of the place.',
|
||||
required=False)
|
||||
|
||||
origin = attr.Choice(
|
||||
title=u'Origin',
|
||||
description=u'The origin of the coordinate system for the story.',
|
||||
choices=('page', 'frame', 'local'),
|
||||
default = 'page',
|
||||
required=False)
|
||||
|
||||
class StoryPlace(flowable.Flowable):
|
||||
signature = IStoryPlace
|
||||
|
||||
def process(self):
|
||||
x, y, width, height, origin = self.getAttributeValues(
|
||||
select=('x', 'y', 'width', 'height', 'origin'), valuesOnly=True)
|
||||
|
||||
flows = flowable.Flow(self.element, self.parent)
|
||||
flows.process()
|
||||
self.parent.flow.append(
|
||||
StoryPlaceFlowable(x, y, width, height, origin, flows))
|
||||
|
||||
|
||||
flowable.Flow.factories['storyPlace'] = StoryPlace
|
||||
flowable.IFlow.setTaggedValue(
|
||||
'directives',
|
||||
flowable.IFlow.getTaggedValue('directives') +
|
||||
(occurence.ZeroOrMore('storyPlace', IStoryPlace),)
|
||||
)
|
||||
@@ -1,687 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Style Related Element Processing
|
||||
"""
|
||||
import copy
|
||||
import reportlab.lib.styles
|
||||
import reportlab.lib.enums
|
||||
import reportlab.platypus
|
||||
from z3c.rml import attr, directive, interfaces, occurence, SampleStyleSheet, \
|
||||
special
|
||||
|
||||
|
||||
class IInitialize(interfaces.IRMLDirectiveSignature):
|
||||
"""Do some RML processing initialization."""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('name', special.IName),
|
||||
occurence.ZeroOrMore('alias', special.IAlias),
|
||||
)
|
||||
|
||||
class Initialize(directive.RMLDirective):
|
||||
signature = IInitialize
|
||||
factories = {
|
||||
'name': special.Name,
|
||||
'alias': special.Alias,
|
||||
}
|
||||
|
||||
|
||||
class IBaseParagraphStyle(interfaces.IRMLDirectiveSignature):
|
||||
|
||||
fontName = attr.String(
|
||||
title=u'Font Name',
|
||||
description=u'The name of the font for the paragraph.',
|
||||
required=False)
|
||||
|
||||
fontSize = attr.Measurement(
|
||||
title=u'Font Size',
|
||||
description=u'The font size for the text of the paragraph.',
|
||||
required=False)
|
||||
|
||||
leading = attr.Measurement(
|
||||
title=u'Leading',
|
||||
description=(u'The height of a single paragraph line. It includes '
|
||||
u'character height.'),
|
||||
required=False)
|
||||
|
||||
leftIndent = attr.Measurement(
|
||||
title=u'Left Indentation',
|
||||
description=u'General indentation on the left side.',
|
||||
required=False)
|
||||
|
||||
rightIndent = attr.Measurement(
|
||||
title=u'Right Indentation',
|
||||
description=u'General indentation on the right side.',
|
||||
required=False)
|
||||
|
||||
firstLineIndent = attr.Measurement(
|
||||
title=u'First Line Indentation',
|
||||
description=u'The indentation of the first line in the paragraph.',
|
||||
required=False)
|
||||
|
||||
alignment = attr.Choice(
|
||||
title=u'Alignment',
|
||||
description=u'The text alignment.',
|
||||
choices=interfaces.ALIGN_CHOICES,
|
||||
required=False)
|
||||
|
||||
spaceBefore = attr.Measurement(
|
||||
title=u'Space Before',
|
||||
description=u'The vertical space before the paragraph.',
|
||||
required=False)
|
||||
|
||||
spaceAfter = attr.Measurement(
|
||||
title=u'Space After',
|
||||
description=u'The vertical space after the paragraph.',
|
||||
required=False)
|
||||
|
||||
bulletFontName = attr.String(
|
||||
title=u'Bullet Font Name',
|
||||
description=u'The font in which the bullet character will be rendered.',
|
||||
required=False)
|
||||
|
||||
bulletFontSize = attr.Measurement(
|
||||
title=u'Bullet Font Size',
|
||||
description=u'The font size of the bullet character.',
|
||||
required=False)
|
||||
|
||||
bulletIndent = attr.Measurement(
|
||||
title=u'Bullet Indentation',
|
||||
description=u'The indentation that is kept for a bullet point.',
|
||||
required=False)
|
||||
|
||||
textColor = attr.Color(
|
||||
title=u'Text Color',
|
||||
description=u'The color in which the text will appear.',
|
||||
required=False)
|
||||
|
||||
backColor = attr.Color(
|
||||
title=u'Background Color',
|
||||
description=u'The background color of the paragraph.',
|
||||
required=False)
|
||||
|
||||
wordWrap = attr.String(
|
||||
title=u'Word Wrap Method',
|
||||
description=(u'When set to "CJK", invoke CJK word wrapping'),
|
||||
required=False)
|
||||
|
||||
borderWidth = attr.Measurement(
|
||||
title=u'Paragraph Border Width',
|
||||
description=u'The width of the paragraph border.',
|
||||
required=False)
|
||||
|
||||
borderPadding = attr.Padding(
|
||||
title=u'Paragraph Border Padding',
|
||||
description=u'Padding of the paragraph.',
|
||||
required=False)
|
||||
|
||||
borderColor = attr.Color(
|
||||
title=u'Border Color',
|
||||
description=u'The color in which the paragraph border will appear.',
|
||||
required=False)
|
||||
|
||||
borderRadius = attr.Measurement(
|
||||
title=u'Paragraph Border Radius',
|
||||
description=u'The radius of the paragraph border.',
|
||||
required=False)
|
||||
|
||||
allowWidows = attr.Boolean(
|
||||
title=u'Allow Widows',
|
||||
description=(u'Allow widows.'),
|
||||
required=False)
|
||||
|
||||
allowOrphans = attr.Boolean(
|
||||
title=u'Allow Orphans',
|
||||
description=(u'Allow orphans.'),
|
||||
required=False)
|
||||
|
||||
textTransforms = attr.Choice(
|
||||
title=u'Text Transforms',
|
||||
description=u'Text transformations.',
|
||||
choices=interfaces.TEXT_TRANSFORM_CHOICES,
|
||||
required=False)
|
||||
|
||||
endDots = attr.String(
|
||||
title=u'End Dots',
|
||||
description=u'Characters/Dots at the end of a paragraph.',
|
||||
required=False)
|
||||
|
||||
# Attributes not part of the official style attributes, but are accessed
|
||||
# by the paragraph renderer.
|
||||
|
||||
keepWithNext = attr.Boolean(
|
||||
title=u'Keep with Next',
|
||||
description=(u'When set, this paragraph will always be in the same '
|
||||
u'frame as the following flowable.'),
|
||||
required=False)
|
||||
|
||||
pageBreakBefore = attr.Boolean(
|
||||
title=u'Page Break Before',
|
||||
description=(u'Specifies whether a page break should be inserted '
|
||||
u'before the directive.'),
|
||||
required=False)
|
||||
|
||||
frameBreakBefore = attr.Boolean(
|
||||
title=u'Frame Break Before',
|
||||
description=(u'Specifies whether a frame break should be inserted '
|
||||
u'before the directive.'),
|
||||
required=False)
|
||||
|
||||
|
||||
class IParagraphStyle(IBaseParagraphStyle):
|
||||
"""Defines a paragraph style and gives it a name."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=u'The name of the style.',
|
||||
required=True)
|
||||
|
||||
alias = attr.String(
|
||||
title=u'Alias',
|
||||
description=u'An alias under which the style will also be known as.',
|
||||
required=False)
|
||||
|
||||
parent = attr.Style(
|
||||
title=u'Parent',
|
||||
description=(u'The apragraph style that will be used as a base for '
|
||||
u'this one.'),
|
||||
required=False)
|
||||
|
||||
class ParagraphStyle(directive.RMLDirective):
|
||||
signature = IParagraphStyle
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues())
|
||||
parent = kwargs.pop(
|
||||
'parent', SampleStyleSheet['Normal'])
|
||||
name = kwargs.pop('name')
|
||||
style = copy.deepcopy(parent)
|
||||
style.name = name[6:] if name.startswith('style.') else name
|
||||
|
||||
for name, value in kwargs.items():
|
||||
setattr(style, name, value)
|
||||
|
||||
manager = attr.getManager(self)
|
||||
manager.styles[style.name] = style
|
||||
|
||||
|
||||
class ITableStyleCommand(interfaces.IRMLDirectiveSignature):
|
||||
|
||||
start = attr.Sequence(
|
||||
title=u'Start Coordinates',
|
||||
description=u'The start table coordinates for the style instruction',
|
||||
value_type=attr.Combination(
|
||||
value_types=(attr.Integer(),
|
||||
attr.Choice(choices=interfaces.SPLIT_CHOICES))
|
||||
),
|
||||
default=[0, 0],
|
||||
min_length=2,
|
||||
max_length=2,
|
||||
required=True)
|
||||
|
||||
stop = attr.Sequence(
|
||||
title=u'End Coordinates',
|
||||
description=u'The end table coordinates for the style instruction',
|
||||
value_type=attr.Combination(
|
||||
value_types=(attr.Integer(),
|
||||
attr.Choice(choices=interfaces.SPLIT_CHOICES))
|
||||
),
|
||||
default=[-1, -1],
|
||||
min_length=2,
|
||||
max_length=2,
|
||||
required=True)
|
||||
|
||||
class TableStyleCommand(directive.RMLDirective):
|
||||
name = None
|
||||
|
||||
def process(self):
|
||||
args = [self.name]
|
||||
args += self.getAttributeValues(valuesOnly=True)
|
||||
self.parent.style.add(*args)
|
||||
|
||||
|
||||
class IBlockFont(ITableStyleCommand):
|
||||
"""Set the font properties for the texts."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Font Name',
|
||||
description=u'The name of the font for the cell.',
|
||||
required=False)
|
||||
|
||||
size = attr.Measurement(
|
||||
title=u'Font Size',
|
||||
description=u'The font size for the text of the cell.',
|
||||
required=False)
|
||||
|
||||
leading = attr.Measurement(
|
||||
title=u'Leading',
|
||||
description=(u'The height of a single text line. It includes '
|
||||
u'character height.'),
|
||||
required=False)
|
||||
|
||||
class BlockFont(TableStyleCommand):
|
||||
signature = IBlockFont
|
||||
name = 'FONT'
|
||||
|
||||
class IBlockLeading(ITableStyleCommand):
|
||||
"""Set the text leading."""
|
||||
|
||||
length = attr.Measurement(
|
||||
title=u'Length',
|
||||
description=(u'The height of a single text line. It includes '
|
||||
u'character height.'),
|
||||
required=True)
|
||||
|
||||
class BlockLeading(TableStyleCommand):
|
||||
signature = IBlockLeading
|
||||
name = 'LEADING'
|
||||
|
||||
class IBlockTextColor(ITableStyleCommand):
|
||||
"""Set the text color."""
|
||||
|
||||
colorName = attr.Color(
|
||||
title=u'Color Name',
|
||||
description=u'The color in which the text will appear.',
|
||||
required=True)
|
||||
|
||||
class BlockTextColor(TableStyleCommand):
|
||||
signature = IBlockTextColor
|
||||
name = 'TEXTCOLOR'
|
||||
|
||||
class IBlockAlignment(ITableStyleCommand):
|
||||
"""Set the text alignment."""
|
||||
|
||||
value = attr.Choice(
|
||||
title=u'Text Alignment',
|
||||
description=u'The text alignment within the cell.',
|
||||
choices=interfaces.ALIGN_TEXT_CHOICES,
|
||||
required=True)
|
||||
|
||||
class BlockAlignment(TableStyleCommand):
|
||||
signature = IBlockAlignment
|
||||
name = 'ALIGNMENT'
|
||||
|
||||
class IBlockLeftPadding(ITableStyleCommand):
|
||||
"""Set the left padding of the cells."""
|
||||
|
||||
length = attr.Measurement(
|
||||
title=u'Length',
|
||||
description=u'The size of the padding.',
|
||||
required=True)
|
||||
|
||||
class BlockLeftPadding(TableStyleCommand):
|
||||
signature = IBlockLeftPadding
|
||||
name = 'LEFTPADDING'
|
||||
|
||||
class IBlockRightPadding(ITableStyleCommand):
|
||||
"""Set the right padding of the cells."""
|
||||
|
||||
length = attr.Measurement(
|
||||
title=u'Length',
|
||||
description=u'The size of the padding.',
|
||||
required=True)
|
||||
|
||||
class BlockRightPadding(TableStyleCommand):
|
||||
signature = IBlockRightPadding
|
||||
name = 'RIGHTPADDING'
|
||||
|
||||
class IBlockBottomPadding(ITableStyleCommand):
|
||||
"""Set the bottom padding of the cells."""
|
||||
|
||||
length = attr.Measurement(
|
||||
title=u'Length',
|
||||
description=u'The size of the padding.',
|
||||
required=True)
|
||||
|
||||
class BlockBottomPadding(TableStyleCommand):
|
||||
signature = IBlockBottomPadding
|
||||
name = 'BOTTOMPADDING'
|
||||
|
||||
class IBlockTopPadding(ITableStyleCommand):
|
||||
"""Set the top padding of the cells."""
|
||||
|
||||
length = attr.Measurement(
|
||||
title=u'Length',
|
||||
description=u'The size of the padding.',
|
||||
required=True)
|
||||
|
||||
class BlockTopPadding(TableStyleCommand):
|
||||
signature = IBlockTopPadding
|
||||
name = 'TOPPADDING'
|
||||
|
||||
class IBlockBackground(ITableStyleCommand):
|
||||
"""Define the background color of the cells.
|
||||
|
||||
It also supports alternating colors.
|
||||
"""
|
||||
|
||||
colorName = attr.Color(
|
||||
title=u'Color Name',
|
||||
description=u'The color to use as the background for every cell.',
|
||||
required=False)
|
||||
|
||||
colorsByRow = attr.Sequence(
|
||||
title=u'Colors By Row',
|
||||
description=u'A list of colors to be used circularly for rows.',
|
||||
value_type=attr.Color(acceptNone=True),
|
||||
required=False)
|
||||
|
||||
colorsByCol = attr.Sequence(
|
||||
title=u'Colors By Column',
|
||||
description=u'A list of colors to be used circularly for columns.',
|
||||
value_type=attr.Color(acceptNone=True),
|
||||
required=False)
|
||||
|
||||
class BlockBackground(TableStyleCommand):
|
||||
signature = IBlockBackground
|
||||
name = 'BACKGROUND'
|
||||
|
||||
def process(self):
|
||||
args = [self.name]
|
||||
if 'colorsByRow' in self.element.keys():
|
||||
args = [BlockRowBackground.name]
|
||||
elif 'colorsByCol' in self.element.keys():
|
||||
args = [BlockColBackground.name]
|
||||
|
||||
args += self.getAttributeValues(valuesOnly=True)
|
||||
self.parent.style.add(*args)
|
||||
|
||||
class IBlockRowBackground(ITableStyleCommand):
|
||||
"""Define the background colors for rows."""
|
||||
|
||||
colorNames = attr.Sequence(
|
||||
title=u'Colors By Row',
|
||||
description=u'A list of colors to be used circularly for rows.',
|
||||
value_type=attr.Color(),
|
||||
required=True)
|
||||
|
||||
class BlockRowBackground(TableStyleCommand):
|
||||
signature = IBlockRowBackground
|
||||
name = 'ROWBACKGROUNDS'
|
||||
|
||||
class IBlockColBackground(ITableStyleCommand):
|
||||
"""Define the background colors for columns."""
|
||||
|
||||
colorNames = attr.Sequence(
|
||||
title=u'Colors By Row',
|
||||
description=u'A list of colors to be used circularly for rows.',
|
||||
value_type=attr.Color(),
|
||||
required=True)
|
||||
|
||||
class BlockColBackground(TableStyleCommand):
|
||||
signature = IBlockColBackground
|
||||
name = 'COLBACKGROUNDS'
|
||||
|
||||
class IBlockValign(ITableStyleCommand):
|
||||
"""Define the vertical alignment of the cells."""
|
||||
|
||||
value = attr.Choice(
|
||||
title=u'Vertical Alignment',
|
||||
description=u'The vertical alignment of the text with the cells.',
|
||||
choices=interfaces.VALIGN_TEXT_CHOICES,
|
||||
required=True)
|
||||
|
||||
class BlockValign(TableStyleCommand):
|
||||
signature = IBlockValign
|
||||
name = 'VALIGN'
|
||||
|
||||
class IBlockSpan(ITableStyleCommand):
|
||||
"""Define a span over multiple cells (rows and columns)."""
|
||||
|
||||
class BlockSpan(TableStyleCommand):
|
||||
signature = IBlockSpan
|
||||
name = 'SPAN'
|
||||
|
||||
class ILineStyle(ITableStyleCommand):
|
||||
"""Define the border line style of each cell."""
|
||||
|
||||
kind = attr.Choice(
|
||||
title=u'Kind',
|
||||
description=u'The kind of line actions to be taken.',
|
||||
choices=('GRID', 'BOX', 'OUTLINE', 'INNERGRID',
|
||||
'LINEBELOW', 'LINEABOVE', 'LINEBEFORE', 'LINEAFTER'),
|
||||
required=True)
|
||||
|
||||
thickness = attr.Measurement(
|
||||
title=u'Thickness',
|
||||
description=u'Line Thickness',
|
||||
default=1,
|
||||
required=True)
|
||||
|
||||
colorName = attr.Color(
|
||||
title=u'Color',
|
||||
description=u'The color of the border line.',
|
||||
default=None,
|
||||
required=True)
|
||||
|
||||
cap = attr.Choice(
|
||||
title=u'Cap',
|
||||
description=u'The cap at the end of a border line.',
|
||||
choices=interfaces.CAP_CHOICES,
|
||||
default=1,
|
||||
required=True)
|
||||
|
||||
dash = attr.Sequence(
|
||||
title=u'Dash-Pattern',
|
||||
description=u'The dash-pattern of a line.',
|
||||
value_type=attr.Measurement(),
|
||||
default=None,
|
||||
required=False)
|
||||
|
||||
join = attr.Choice(
|
||||
title=u'Join',
|
||||
description=u'The way lines are joined together.',
|
||||
choices=interfaces.JOIN_CHOICES,
|
||||
default=1,
|
||||
required=False)
|
||||
|
||||
count = attr.Integer(
|
||||
title=u'Count',
|
||||
description=(u'Describes whether the line is a single (1) or '
|
||||
u'double (2) line.'),
|
||||
default=1,
|
||||
required=False)
|
||||
|
||||
class LineStyle(TableStyleCommand):
|
||||
signature = ILineStyle
|
||||
|
||||
def process(self):
|
||||
name = self.getAttributeValues(select=('kind',), valuesOnly=True)[0]
|
||||
args = [name]
|
||||
args += self.getAttributeValues(ignore=('kind',), valuesOnly=True,
|
||||
includeMissing=True)
|
||||
self.parent.style.add(*args)
|
||||
|
||||
class IBlockTableStyle(interfaces.IRMLDirectiveSignature):
|
||||
"""A style defining the look of a table."""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrMore('blockFont', IBlockFont),
|
||||
occurence.ZeroOrMore('blockLeading', IBlockLeading),
|
||||
occurence.ZeroOrMore('blockTextColor', IBlockTextColor),
|
||||
occurence.ZeroOrMore('blockAlignment', IBlockAlignment),
|
||||
occurence.ZeroOrMore('blockLeftPadding', IBlockLeftPadding),
|
||||
occurence.ZeroOrMore('blockRightPadding', IBlockRightPadding),
|
||||
occurence.ZeroOrMore('blockBottomPadding', IBlockBottomPadding),
|
||||
occurence.ZeroOrMore('blockTopPadding', IBlockTopPadding),
|
||||
occurence.ZeroOrMore('blockBackground', IBlockBackground),
|
||||
occurence.ZeroOrMore('blockRowBackground', IBlockRowBackground),
|
||||
occurence.ZeroOrMore('blockColBackground', IBlockColBackground),
|
||||
occurence.ZeroOrMore('blockValign', IBlockValign),
|
||||
occurence.ZeroOrMore('blockSpan', IBlockSpan),
|
||||
occurence.ZeroOrMore('lineStyle', ILineStyle)
|
||||
)
|
||||
|
||||
id = attr.String(
|
||||
title=u'Id',
|
||||
description=u'The name/id of the style.',
|
||||
required=True)
|
||||
|
||||
keepWithNext = attr.Boolean(
|
||||
title=u'Keep with Next',
|
||||
description=(u'When set, this paragraph will always be in the same '
|
||||
u'frame as the following flowable.'),
|
||||
required=False)
|
||||
|
||||
class BlockTableStyle(directive.RMLDirective):
|
||||
signature = IBlockTableStyle
|
||||
|
||||
factories = {
|
||||
'blockFont': BlockFont,
|
||||
'blockLeading': BlockLeading,
|
||||
'blockTextColor': BlockTextColor,
|
||||
'blockAlignment': BlockAlignment,
|
||||
'blockLeftPadding': BlockLeftPadding,
|
||||
'blockRightPadding': BlockRightPadding,
|
||||
'blockBottomPadding': BlockBottomPadding,
|
||||
'blockTopPadding': BlockTopPadding,
|
||||
'blockBackground': BlockBackground,
|
||||
'blockRowBackground': BlockRowBackground,
|
||||
'blockColBackground': BlockColBackground,
|
||||
'blockValign': BlockValign,
|
||||
'blockSpan': BlockSpan,
|
||||
'lineStyle': LineStyle,
|
||||
}
|
||||
|
||||
def process(self):
|
||||
kw = dict(self.getAttributeValues())
|
||||
id = kw.pop('id')
|
||||
# Create Style
|
||||
self.style = reportlab.platypus.tables.TableStyle()
|
||||
for name, value in kw.items():
|
||||
setattr(self.style, name, value)
|
||||
# Fill style
|
||||
self.processSubDirectives()
|
||||
# Add style to the manager
|
||||
manager = attr.getManager(self)
|
||||
manager.styles[id] = self.style
|
||||
|
||||
|
||||
class IMinimalListStyle(interfaces.IRMLDirectiveSignature):
|
||||
|
||||
leftIndent = attr.Measurement(
|
||||
title=u'Left Indentation',
|
||||
description=u'General indentation on the left side.',
|
||||
required=False)
|
||||
|
||||
rightIndent = attr.Measurement(
|
||||
title=u'Right Indentation',
|
||||
description=u'General indentation on the right side.',
|
||||
required=False)
|
||||
|
||||
bulletColor = attr.Color(
|
||||
title=u'Bullet Color',
|
||||
description=u'The color in which the bullet will appear.',
|
||||
required=False)
|
||||
|
||||
bulletFontName = attr.String(
|
||||
title=u'Bullet Font Name',
|
||||
description=u'The font in which the bullet character will be rendered.',
|
||||
required=False)
|
||||
|
||||
bulletFontSize = attr.Measurement(
|
||||
title=u'Bullet Font Size',
|
||||
description=u'The font size of the bullet character.',
|
||||
required=False)
|
||||
|
||||
bulletOffsetY = attr.Measurement(
|
||||
title=u'Bullet Y-Offset',
|
||||
description=u'The vertical offset of the bullet.',
|
||||
required=False)
|
||||
|
||||
bulletDedent = attr.StringOrInt(
|
||||
title=u'Bullet Dedent',
|
||||
description=u'Either pixels of dedent or auto (default).',
|
||||
required=False)
|
||||
|
||||
bulletDir = attr.Choice(
|
||||
title=u'Bullet Layout Direction',
|
||||
description=u'The layout direction of the bullet.',
|
||||
choices=('ltr', 'rtl'),
|
||||
required=False)
|
||||
|
||||
bulletFormat = attr.String(
|
||||
title=u'Bullet Format',
|
||||
description=u'A formatting expression for the bullet text.',
|
||||
required=False)
|
||||
|
||||
bulletType = attr.Choice(
|
||||
title=u'Bullet Type',
|
||||
description=u'The type of number to display.',
|
||||
choices=interfaces.ORDERED_LIST_TYPES + \
|
||||
interfaces.UNORDERED_BULLET_VALUES,
|
||||
doLower=False,
|
||||
required=False)
|
||||
|
||||
class IBaseListStyle(IMinimalListStyle):
|
||||
|
||||
start = attr.Combination(
|
||||
title=u'Start Value',
|
||||
description=u'The counter start value.',
|
||||
value_types=(attr.Integer(),
|
||||
attr.Choice(choices=interfaces.UNORDERED_BULLET_VALUES)),
|
||||
required=False)
|
||||
|
||||
|
||||
class IListStyle(IBaseListStyle):
|
||||
"""Defines a list style and gives it a name."""
|
||||
|
||||
name = attr.String(
|
||||
title=u'Name',
|
||||
description=u'The name of the style.',
|
||||
required=True)
|
||||
|
||||
parent = attr.Style(
|
||||
title=u'Parent',
|
||||
description=(u'The list style that will be used as a base for '
|
||||
u'this one.'),
|
||||
required=False)
|
||||
|
||||
|
||||
class ListStyle(directive.RMLDirective):
|
||||
signature = IListStyle
|
||||
|
||||
def process(self):
|
||||
kwargs = dict(self.getAttributeValues())
|
||||
parent = kwargs.pop(
|
||||
'parent', reportlab.lib.styles.ListStyle(name='List'))
|
||||
name = kwargs.pop('name')
|
||||
style = copy.deepcopy(parent)
|
||||
style.name = name[6:] if name.startswith('style.') else name
|
||||
|
||||
for name, value in kwargs.items():
|
||||
setattr(style, name, value)
|
||||
|
||||
manager = attr.getManager(self)
|
||||
manager.styles[style.name] = style
|
||||
|
||||
|
||||
class IStylesheet(interfaces.IRMLDirectiveSignature):
|
||||
"""A styleheet defines the styles that can be used in the document."""
|
||||
occurence.containing(
|
||||
occurence.ZeroOrOne('initialize', IInitialize),
|
||||
occurence.ZeroOrMore('paraStyle', IParagraphStyle),
|
||||
occurence.ZeroOrMore('blockTableStyle', IBlockTableStyle),
|
||||
occurence.ZeroOrMore('listStyle', IListStyle),
|
||||
# TODO:
|
||||
#occurence.ZeroOrMore('boxStyle', IBoxStyle),
|
||||
)
|
||||
|
||||
class Stylesheet(directive.RMLDirective):
|
||||
signature = IStylesheet
|
||||
|
||||
factories = {
|
||||
'initialize': Initialize,
|
||||
'paraStyle': ParagraphStyle,
|
||||
'blockTableStyle': BlockTableStyle,
|
||||
'listStyle': ListStyle,
|
||||
}
|
||||
@@ -1,276 +0,0 @@
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) 2007 Zope Foundation and Contributors.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# This software is subject to the provisions of the Zope Public License,
|
||||
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
|
||||
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
##############################################################################
|
||||
"""Style Related Element Processing
|
||||
"""
|
||||
import zope.interface
|
||||
from reportlab import platypus
|
||||
from z3c.rml import attr, directive, interfaces, occurence
|
||||
from z3c.rml import canvas, flowable, page, stylesheet
|
||||
|
||||
|
||||
class IStory(flowable.IFlow):
|
||||
"""The story of the PDF file."""
|
||||
occurence.containing(
|
||||
*flowable.IFlow.getTaggedValue('directives'))
|
||||
|
||||
firstPageTemplate = attr.Text(
|
||||
title=u'First Page Template',
|
||||
description=u'The first page template to be used.',
|
||||
default=None,
|
||||
required=False)
|
||||
|
||||
class Story(flowable.Flow):
|
||||
signature = IStory
|
||||
|
||||
def process(self):
|
||||
self.parent.flowables = super(Story, self).process()
|
||||
self.parent.doc._firstPageTemplateIndex = self.getFirstPTIndex()
|
||||
|
||||
def getFirstPTIndex(self):
|
||||
args = dict(self.getAttributeValues(select=('firstPageTemplate',)))
|
||||
fpt = args.pop('firstPageTemplate', None)
|
||||
if fpt is None:
|
||||
return 0
|
||||
for idx, pageTemplate in enumerate(self.parent.doc.pageTemplates):
|
||||
if pageTemplate.id == fpt:
|
||||
return idx
|
||||
raise ValueError('%r is not a correct page template id.' %fpt)
|
||||
|
||||
|
||||
class IFrame(interfaces.IRMLDirectiveSignature):
|
||||
"""A frame on a page."""
|
||||
|
||||
x1 = attr.Measurement(
|
||||
title=u'X-Position',
|
||||
description=u'The X-Position of the lower-left corner of the frame.',
|
||||
allowPercentage=True,
|
||||
required=True)
|
||||
|
||||
y1 = attr.Measurement(
|
||||
title=u'Y-Position',
|
||||
description=u'The Y-Position of the lower-left corner of the frame.',
|
||||
allowPercentage=True,
|
||||
required=True)
|
||||
|
||||
width = attr.Measurement(
|
||||
title=u'Width',
|
||||
description=u'The width of the frame.',
|
||||
allowPercentage=True,
|
||||
required=True)
|
||||
|
||||
height = attr.Measurement(
|
||||
title=u'Height',
|
||||
description=u'The height of the frame.',
|
||||
allowPercentage=True,
|
||||
required=True)
|
||||
|
||||
id = attr.Text(
|
||||
title=u'Id',
|
||||
description=u'The id of the frame.',
|
||||
required=False)
|
||||
|
||||
leftPadding = attr.Measurement(
|
||||
title=u'Left Padding',
|
||||
description=u'The left padding of the frame.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
rightPadding = attr.Measurement(
|
||||
title=u'Right Padding',
|
||||
description=u'The right padding of the frame.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
topPadding = attr.Measurement(
|
||||
title=u'Top Padding',
|
||||
description=u'The top padding of the frame.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
bottomPadding = attr.Measurement(
|
||||
title=u'Bottom Padding',
|
||||
description=u'The bottom padding of the frame.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
showBoundary = attr.Boolean(
|
||||
title=u'Show Boundary',
|
||||
description=u'A flag to show the boundary of the frame.',
|
||||
required=False)
|
||||
|
||||
|
||||
class Frame(directive.RMLDirective):
|
||||
signature = IFrame
|
||||
|
||||
def process(self):
|
||||
# get the page size
|
||||
size = self.parent.pt.pagesize
|
||||
if size is None:
|
||||
size = self.parent.parent.parent.doc.pagesize
|
||||
# Get the arguments
|
||||
args = dict(self.getAttributeValues())
|
||||
# Deal with percentages
|
||||
for name, dir in (('x1', 0), ('y1', 1), ('width', 0), ('height', 1)):
|
||||
if isinstance(args[name], basestring) and args[name].endswith('%'):
|
||||
args[name] = float(args[name][:-1])/100*size[dir]
|
||||
frame = platypus.Frame(**args)
|
||||
self.parent.frames.append(frame)
|
||||
|
||||
|
||||
class IPageGraphics(canvas.IDrawing):
|
||||
"""Define the page graphics for the page template."""
|
||||
|
||||
class PageGraphics(directive.RMLDirective):
|
||||
zope.interface.implements(interfaces.ICanvasManager)
|
||||
signature = IPageGraphics
|
||||
|
||||
def process(self):
|
||||
onPage = self.parent.pt.onPage
|
||||
def drawOnCanvas(canv, doc):
|
||||
onPage(canv, doc)
|
||||
canv.saveState()
|
||||
self.canvas = canv
|
||||
drawing = canvas.Drawing(self.element, self)
|
||||
drawing.process()
|
||||
canv.restoreState()
|
||||
|
||||
self.parent.pt.onPage = drawOnCanvas
|
||||
|
||||
|
||||
class IPageTemplate(interfaces.IRMLDirectiveSignature):
|
||||
"""Define a page template."""
|
||||
occurence.containing(
|
||||
occurence.OneOrMore('frame', IFrame),
|
||||
occurence.ZeroOrOne('pageGraphics', IPageGraphics),
|
||||
occurence.ZeroOrOne('mergePage', page.IMergePage),
|
||||
)
|
||||
|
||||
id = attr.Text(
|
||||
title=u'Id',
|
||||
description=u'The id of the template.',
|
||||
required=True)
|
||||
|
||||
pagesize = attr.PageSize(
|
||||
title=u'Page Size',
|
||||
description=u'The Page Size.',
|
||||
required=False)
|
||||
|
||||
autoNextTemplate = attr.String(
|
||||
title=u'Auto Next Page Template',
|
||||
description=u'The page template to use automatically for the next page.',
|
||||
required=False)
|
||||
|
||||
|
||||
|
||||
class PageTemplate(directive.RMLDirective):
|
||||
signature = IPageTemplate
|
||||
attrMapping = {'autoNextTemplate': 'autoNextPageTemplate'}
|
||||
factories = {
|
||||
'frame': Frame,
|
||||
'pageGraphics': PageGraphics,
|
||||
'mergePage': page.MergePageInPageTemplate,
|
||||
}
|
||||
|
||||
def process(self):
|
||||
args = dict(self.getAttributeValues(attrMapping=self.attrMapping))
|
||||
pagesize = args.pop('pagesize', None)
|
||||
|
||||
self.frames = []
|
||||
self.pt = platypus.PageTemplate(**args)
|
||||
|
||||
self.processSubDirectives()
|
||||
self.pt.frames = self.frames
|
||||
|
||||
if pagesize:
|
||||
self.pt.pagesize = pagesize
|
||||
|
||||
self.parent.parent.doc.addPageTemplates(self.pt)
|
||||
|
||||
|
||||
class ITemplate(interfaces.IRMLDirectiveSignature):
|
||||
"""Define a page template."""
|
||||
occurence.containing(
|
||||
occurence.OneOrMore('pageTemplate', IPageTemplate),
|
||||
)
|
||||
|
||||
pagesize = attr.PageSize(
|
||||
title=u'Page Size',
|
||||
description=u'The Page Size.',
|
||||
required=False)
|
||||
|
||||
rotation = attr.Integer(
|
||||
title=u'Rotation',
|
||||
description=u'The rotation of the page in multiples of 90 degrees.',
|
||||
required=False)
|
||||
|
||||
leftMargin = attr.Measurement(
|
||||
title=u'Left Margin',
|
||||
description=u'The left margin of the template.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
rightMargin = attr.Measurement(
|
||||
title=u'Right Margin',
|
||||
description=u'The right margin of the template.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
topMargin = attr.Measurement(
|
||||
title=u'Top Margin',
|
||||
description=u'The top margin of the template.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
bottomMargin = attr.Measurement(
|
||||
title=u'Bottom Margin',
|
||||
description=u'The bottom margin of the template.',
|
||||
default=0,
|
||||
required=False)
|
||||
|
||||
showBoundary = attr.Boolean(
|
||||
title=u'Show Boundary',
|
||||
description=u'A flag to show the boundary of the template.',
|
||||
required=False)
|
||||
|
||||
allowSplitting = attr.Boolean(
|
||||
title=u'Allow Splitting',
|
||||
description=u'A flag to allow splitting over multiple templates.',
|
||||
required=False)
|
||||
|
||||
title = attr.Text(
|
||||
title=u'Title',
|
||||
description=u'The title of the PDF document.',
|
||||
required=False)
|
||||
|
||||
author = attr.Text(
|
||||
title=u'Author',
|
||||
description=u'The author of the PDF document.',
|
||||
required=False)
|
||||
|
||||
class Template(directive.RMLDirective):
|
||||
signature = ITemplate
|
||||
factories = {
|
||||
'pageTemplate': PageTemplate,
|
||||
}
|
||||
|
||||
def process(self):
|
||||
args = self.getAttributeValues()
|
||||
args += self.parent.getAttributeValues(
|
||||
select=('debug', 'compression', 'invariant'),
|
||||
attrMapping={'debug': '_debug', 'compression': 'pageCompression'})
|
||||
args += (('cropMarks', self.parent.cropMarks),)
|
||||
|
||||
self.parent.doc = platypus.BaseDocTemplate(
|
||||
self.parent.outputFile, **dict(args))
|
||||
self.processSubDirectives()
|
||||
@@ -1 +0,0 @@
|
||||
# Make a package.
|
||||
@@ -1,107 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 9 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 455 >>
|
||||
stream
|
||||
GasJL:N%0q&B4+(r#OYAWR;6[eEc7_.*fr$Wgp*&ONi$:L'8CGrlM&kXQ)iG;FQP+R!J;uc#Bn7pj@91E34)!bJ=A3*aD_YC58op/q,>fr(5WK1iefAF-b)(cn?3GQTs6d`\C[(n4g/#U)7n,<1c,8>ZUT$.>eF\O0.aG]lEusFugKGIKoHcl2s6LUG!<gk'4^?ZZfNiOX6(-k-8NaPo<?7hHT;qjj.qn62*Ye#'A]JD-Y"=fjkSYYapA1OEQG0`]J*KFX$`*e,%O55HbI&Hj>t\2ed2PKZX+c]V&:ZGsbMfh*;!uI]$3PH&6CRTP"R>f@Ej2T((4lL:WLk=^!9UhoJp"E,sI)inA^l:8Z&g6<d*\!EZaoHUu.<Ed4,D8>[b9iMmiWVP1Z_3@5Ok&AG$7gU_99G'9`%')"a2$8fq'0uhKV",3E[g17PRNI>9Hp^9%kX!@~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFOutlines
|
||||
9 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000559 00000 n
|
||||
0000000836 00000 n
|
||||
0000000970 00000 n
|
||||
0000001239 00000 n
|
||||
0000001344 00000 n
|
||||
0000001941 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
1992
|
||||
%%EOF
|
||||
@@ -1,107 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 9 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 454 >>
|
||||
stream
|
||||
GasJL5u/FS&;BS8nfQ^CX^JEIDA'Ie+usX/FY@D]Asr"SHL5*e.HT15hN1>]+QSY2cb+Q&AiNmVI(J&5pni#=jkp2T#;.M5FbPgDcQ;4)rh<[)XQ2FcV_"=CTpsAK0E5gS)i&5U^t6OtLgn:+YN5L7Qdm)lMIM1p@H1O@B3]Y3+)6/6rWI?Sobj\-W!gN9'`X<FliRl?+N[!UBrHl!Tm@BWo@EbFq.o>>cs>#q*j'WX)](5f2OV6)CrYE-U`JI`iRZac*=:V5>(/JJkB3Ja+2Dpm-LIXi0R6l5*#cZS-&j@^4U!6[8rXDQ!h4^H:D1NE;bQ@9_P>Edoh+(QBrM6jOKhdDkbq.n2>)!X9S[V<[[)pU0".PPR>c@Nn3#]u9Ll8&f=!o2L@U?P(gWq&pn!(Tl?Ym_ZSQHjYUdReTNR;40m:DN..i5?-C[GBlkB!D+5],Z*<~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFOutlines
|
||||
9 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000559 00000 n
|
||||
0000000836 00000 n
|
||||
0000000970 00000 n
|
||||
0000001239 00000 n
|
||||
0000001344 00000 n
|
||||
0000001940 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
1991
|
||||
%%EOF
|
||||
@@ -1,102 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog
|
||||
/ViewerPreferences 9 0 R >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130305225909+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 194 >>
|
||||
stream
|
||||
GappW5mkI_&4Q>Egu0p:7Es>jR'!#32o8fB2Q_rq<nh5[V`.)-q$[\EH$k4$6YY-nfJ1q^!p/>U<+H1-LcnE$OFhptO_6!)8u(,(9NTt(IO7<+@(]#B2=rgtQiC5hZK<7lJibp-%X%9cD8t'7TsqOm/fl@:SqH8^\Q=FT'=MULkiX8e$=9PqV\D\l#"6E_ao~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
% 'R9': class ViewerPreferencesPDFDictionary
|
||||
9 0 obj
|
||||
<< /PrintScaling /None >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000810 00000 n
|
||||
0000001079 00000 n
|
||||
0000001184 00000 n
|
||||
0000001520 00000 n
|
||||
0000001618 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\266\223\013\225\230\266Y\231\206\3278`\331\265G&) (\266\223\013\225\230\266Y\231\206\3278`\331\265G&)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
1662
|
||||
%%EOF
|
||||
@@ -1,127 +0,0 @@
|
||||
%PDF-1.3
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 3 0 R
|
||||
4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 139 >>
|
||||
stream
|
||||
GapQh0E=F,0U\H3T\pNYT^QKk?tc>IP,;W#U1^23ihPEM_TN+I0SHG`19f970NBe]1tON^#g$)nn4:gGa]Abo0?Ql6;fKo2.P=R(85)fZE%+C1ccf&6<!^TD#gi\mUVP%V!4<7T5l~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 141 >>
|
||||
stream
|
||||
GapQh0E=F,0U\H3T\pNYT^QKk?tc>IP,;W#U1^23ihPEM_TN+I0SHG`1pYUe1p^"42DN`<;[CKFd-sTNaiRTicS*F4d8L<G:!V'X;$]]d:K;?_8hA<49@m,Ka\iDl!ZRrNb67n1SK#W~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000926 00000 n
|
||||
0000001061 00000 n
|
||||
0000001343 00000 n
|
||||
0000001456 00000 n
|
||||
0000001735 00000 n
|
||||
0000002019 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2071
|
||||
%%EOF
|
||||
File diff suppressed because one or more lines are too long
@@ -1,136 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 5 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER1': class TextAnnotation
|
||||
4 0 obj
|
||||
<< /Contents (\376\377\000X\000:\000:\000P\000D\000F\000
|
||||
\000P\000X\000(\000S\000)\000
|
||||
\000M\000T\000(\000P\000I\000N\000K\000))
|
||||
/F 3
|
||||
/Rect [ 0
|
||||
,
|
||||
0
|
||||
,
|
||||
1
|
||||
,
|
||||
1 ]
|
||||
/Subtype /Text
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font ZapfDingbats
|
||||
<< /BaseFont /ZapfDingbats
|
||||
/Encoding /ZapfDingbatsEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 4 0 R ]
|
||||
/Contents 10 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
612
|
||||
792 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R7': class PDFCatalog
|
||||
7 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 11 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 9 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R8': class PDFInfo
|
||||
8 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20000101000000+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R9': class PDFPages
|
||||
9 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 6 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R10': class PDFStream
|
||||
10 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 674 >>
|
||||
stream
|
||||
Gb"/$?#Q2d'Rc%,s)=i,'<<sI$2N#VQY;:\.9jQKp?[;1Y@'0H[+i?f9g[PFU3([@Cb4O\mQ(%,*(/YP60^<WJ6@]O3<AX^-6RjY+C*i/f^Je,pZe+V19iR+\>(B_!b@L-&<,E/G_1e8+Y;R,Ip_u[?fq\tV=CeLRXIU!$fOPQiEa2G0_XlBL;XN&N2C*/1kB+\W%jdSk/8S\'b)%djZ`5eQmKFJe+YC^Y9#0IF2d]Tihob$llsYu"Z%T\<!CND;FOMQbKRpVV\s6(AGboimEKtC-/[,lCFuNKcT4E;'oT">FuS2UmHhdI=\#2F/>\L9DaSVs*DBjUH4./j9VboIVRT0@auk2cLs\cb-\e"X3]36*Pu^kjPXk--VA7EV`Lh7l`FB#>MH290bFE:859;IpY9RnUh(@u0_@mT/V7&^5,$K$)ic)'g6?'o&N2_(P=YN7L-qlRobc!,A9NCja,<5/l9`<<4ZI[[iI'?K:>0W)[Cm1FW(]W:Xfu+uHZ:UhE:;aHF3a6A*WACC])8nSqCk8nrNY^'Slh@eZ#04.*/_+W9R9\i.Ib]UtW+e2Ek2J%77Uo)a.VZi:"VN,8L.kFJGK0su-du!#2;Y<PledZ/s+]Ttfjgl>6<E<g3l%+6##3<9E3r>,mrV5&hllM8m'F#oF>j!/Im:.e\c~>endstream
|
||||
endobj
|
||||
% 'R11': class PDFOutlines
|
||||
11 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 12
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000600 00000 n
|
||||
0000000856 00000 n
|
||||
0000001030 00000 n
|
||||
0000001318 00000 n
|
||||
0000001453 00000 n
|
||||
0000001722 00000 n
|
||||
0000001828 00000 n
|
||||
0000002646 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\223\367y\354\321\362\222Ju\262\315V\3448<\372) (\223\367y\354\321\362\222Ju\262\315V\3448<\372)]
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 12 >>
|
||||
startxref
|
||||
2698
|
||||
%%EOF
|
||||
@@ -1,322 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 5 0 R
|
||||
/F4 6 0 R
|
||||
/F5 7 0 R
|
||||
/F6 9 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 18 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Courier
|
||||
<< /BaseFont /Courier
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
7 0 obj
|
||||
% Font ZapfDingbats
|
||||
<< /BaseFont /ZapfDingbats
|
||||
/Encoding /ZapfDingbatsEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 19 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F6': class PDFType1Font
|
||||
9 0 obj
|
||||
% Font Courier-Oblique
|
||||
<< /BaseFont /Courier-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F6
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
10 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 20 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
11 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 21 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page5': class PDFPage
|
||||
12 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 22 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'FormXob.ce52f900887bbd9ff9881c236099059a': class PDFImageXObject
|
||||
13 0 obj
|
||||
<< /BitsPerComponent 8
|
||||
/ColorSpace /DeviceRGB
|
||||
/Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Height 86
|
||||
/Length 3441
|
||||
/Subtype /Image
|
||||
/Type /XObject
|
||||
/Width 130 >>
|
||||
stream
|
||||
Gb"/kc\l$s&BFP1_2Dt)$d:1-71_WG5t""8d$&bf&I]R7/-[n]Ci0j46p]$_"<iAJ+AkPK+^dQ3d#.o2*fP=T(/u'4+Zm=%BD/CfZ`;oPEV<+N41dqfbeEiJFoCU*lDj9][C$6dYQlI_F*$sEYC8T\iGp73lgK<Pc&r,^]Wlq7SO]%?&*dkB7;8pc#'@%.gKhGaJ_,AMooIO[aU7Kbr(V1>a0tHAPLlrJ9CjJP]Q3:qi]L#Fa-T"Ac's+Mn;AA&B6[X-o?:8=&#D:N"#.Sd_Jd&9nAMZ$Rc?Cq]/Y@kGCugmI;S1MEQ=hE#?fu]AM8aaT1Fe#Q@"WD]Ve6J*7aNZ3-FN9]5r]/8)?iJrSUU\&9qs,l-cZ%,@Ga:aj1tI*.E%7]"0q@K7*%X`Af\njiWkC+51"lqO*V0*PI'PBJf1OT02\,Erh63ZEf)S^]!jfHpmVVo1#\nh"B/Yc3VT5AJc=Ij'4BjV:+2kk<HNQmc.&9l_BFJLuek3.Ad))F6:]Za5,D#N8Y=/5er+re/W@^$.6s9Z2?lR&Yg&ub=e2am1b$EC%]6D*Maj'NO^7!+3n3&S;^A.9dq9H6VhO::=>67ig(ZqPk)\b0r:qcXj)4V):BjW1aG9sr[">($q&@&2IVjUXKB`Q6S_#QPVQ<*!=7!gZ)uuaUP>9uEFQc49!Pn$gdSY2"9^dV)^&'O6ZPLEmUUKj=0GrtOFg]EA_)rZ&;rVG*uIo`F7LH(Ktl%Gc6>hI=B"D!/K;VVAbkh_dMaT?"DMF),S/hm>a3)l<UR%IC1E'f?>7K"=C+Ak"]sJfAU=.%EUKQU+N.i;Q//H.6[FEoi_BsN%kVaghJClIbg7+J<T=!_VUr+X)=m/T+^*S<k:Te:9;Ar'52'u/<95_^d?#Cm(3a^).k<+u>B.Che#fJj1ZLr,IdH\qC])p?cEfgQim'seq:@jhddafm@3jBfh:gMK;$:u_Tu`Ef5+:,^BULR&2*)B/@nCjXR21K+<SWuHTFlLt'<kA]iR!TA,d'<J@\QP+[-ZLpcb;?E/.b*;EG)_(p'X^[cm)$98at<>c_NWo*aNDp9X1"d!$,2'E=2JJn8C4$[G>uV@nc,FbWK.kk;5bN[lL.ac+H'4?u]gpgIb!9C[Nt'diDUboZDk3Q6bqekZfLKir0p'T.OkEb0"GQhe^7P5tiPEKg9`>*6*8=eoGBkm.`S8P!!VW:p8uuM*7C(XQ669?@q5$Q4JD5R:NNg&#\*=Lcs_Ys-4ti8M=plM2=X[jDgXP`d5!5=A/'/D7IZWLoh%R/5#uJD-R#!Ct4c/.JK\;hPKdHbZ*&omX+;2N/bA=BSmAO_!:.d7kKp`k(#fe%"%)Bc>TQpKJ^XW)gN/-g9n9KpU)/\f1$QU>slYX%2rG"CReW\5cHb`#!.+i12ka"f!N[]nrqE:aVl<oHK4,j"jG%?3Cb=u&;9tiK2F>=hB+OEDSh8`2^pdo%QR65*#mk%-#X[",Ofs=\_!N!>3!HV)troQI\?^9^#=7,?QpZadoGqfh>,"Q3`/l#;<4!6LL(3mqm;>D2;<UEjnYmQi$QH[bRr<&=3GIsCCj=<_V0PcDkU$"9l&JPCY+=oLba697H/1ZR`NfcF5&A.joeb.C8.W:i1(h_i6bd_aHnq6=W6t'pT(*AptT.+A40#_3BB$q2USI,_t)1079S[5@U[D21aYDqc_RZt6(0)FVb>-DSjMNd2a'#ggd(q3&M5_iUbYsb]ja""]dcA\fuB?iiO&!^PLOi35WqkHR'-KR*aWf^n<f,a/dt28BJ.s-PNP4Q9Hm,H`\H<)h5FLD=?mQ@m@J]hlc9gB.u[)TD,CYOcAYMU/3XRdi)LC-/OnZ`!hnh-%<)cui@I6Ok#?>:jJn&Tb3('.eah]JEM[&j5^)dgEdO)BF`>l**+9SmWp06Tn\hjj8O#guco7C$_cFSN8udG_'JXgj(:e9P*nnOK[6iK?kn>.LPi?]flJeri[+^]1DMBV`UbNOnV<q8>1U'HA3WA`_,Z[[YiY\F\l<kE+8Ck)sKqZmfr]6Z\LlFkKB0G5u2n99UGV8r#ViL])`/I_o3?7-POuCd71kl4tc#&87YZ#7&_njIh5>."XWK>CNV82<:lUW2MZ6]R1"(Qr"9LlJ0]N3]b>>DbL9h[9,de1[W?HDg'Ht=lel/IrgDER(cMeqYC#aZQTG"aM>=r:+og:N9?@rW_D09;hA-aAd$\gEY138bbi'P@0Q6YOP7nqSA49.ffNT8-`cPF!35;&.X&;Js0qoSkiQG5a9P8WsU9K*A$nP[U&kMU"o>YqIs9[^M%D9[uVM0$DR/kl(\cZXB55OdZGEad#;2dKHA#SogbAU\HC\3:Ss4hN7P.K,`5-`og&N[dDq)aI.f@Q[uXZq(#J"84k7RM9GI6Eu=ob5#K["qZi86D#mOt?F/UJLHEq@EFtnV[YYJGC0N2k#UGs_O)`e)0)d_`U4<:#BZoVfh*cco3&^>XC>$l0:NDf3PVCPLkT+K[Gj[;*Mi.`B:<?a;%!=r>GfhIC(l@kjVkHl1:7`XP[)fE9FEV_$!\TETGUITa(dFf,"t3A+]Y"B=CIq/8;/4FH0h2\_-'@F`\hoa*j-]Y^3`L_r8h1=p=Yqo:=<sJP;IO&iQ+08d-CNG$>/;_DBHiBuE=[u4d*$B&Ie"+Raq&W57a\Ba#YK`!"66+NaMM5$&r>Bgbs;^cVM_sYUWoa3HQEjJX@)NI.r?q0!VETqhE@j3RfpT"pBK,="rZ_6UM,J9AsiZ&.PVuI"=kH,W`(^\H^L/0Pl;f($GEt/HKdKa-Z[#mb4Qck:NdTka@p4=AMKW!n2kO%iX4a+%PsVJqh'Mg+P*jW\U+Mhj#iUt8&bn)#YWO)\+6#NT0,TqCkQIFZS_tQfq9j]iEWVSG/#.HH;1Ks+:^BgHYq798DlD2M\)Jj:bFB^hgC\o;H:%"`HcWs\CTB1n`h!$E@9Mgk%VV"54r_tmMGA@":V56%)>K12KnD(SlW7A\OSmlGX,:m0V8WqK![YP?b0[4SD:rC-*s.&GJA78Y!'=J*A3?!5Hnp!m]cU73i^-fm[`,^NS554-[-=Z5\`Bk;o;Z;nQGDC::$=t0T\E-1Y=<p'OND5SD5QO=RT)Xadnf/*:3%Q::607\6%\h>kP3K%I"HS5IogSDcLLBO3hleVhS@CWc(mO8<;,DEi0!5GO>7RPopn9ZYXJ#O"H@C(tsj/.PI+-Y"pJ@=gj.uGFR3Z+[*^=BVXt$Cc*W1/+-B5+alZI1hBZo-/BldS`68Ql\;k-:(?g%7u7$pCe%rKe94K)B.N>\f_[4(&VtcnFh/?.eBk5GO<,P\GA;#]]3$>VTQBYBGrpH')5Y:[OJ_i^9Kd5i5KbtHR>X\kU)%s5S\FmonqYG2qrh)*9t?/cqb!YMa/8Ub@.B+9K".)ZAlu_*NdqGMqYu*b<qL`8"8iHr`IR=~>endstream
|
||||
endobj
|
||||
% 'Page6': class PDFPage
|
||||
14 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 23 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ]
|
||||
/XObject << /FormXob.ce52f900887bbd9ff9881c236099059a 13 0 R >> >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R15': class PDFCatalog
|
||||
15 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 24 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 17 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R16': class PDFInfo
|
||||
16 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121218153938+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R17': class PDFPages
|
||||
17 0 obj
|
||||
% page tree
|
||||
<< /Count 6
|
||||
/Kids [ 4 0 R
|
||||
8 0 R
|
||||
10 0 R
|
||||
11 0 R
|
||||
12 0 R
|
||||
14 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R18': class PDFStream
|
||||
18 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 171 >>
|
||||
stream
|
||||
GapXM_$\%5&4Gu<r54%$'cOF%R\j06Sgp\p5EHQn>#=PbgI>b/J`4EipaMI%g&jFUVBujA4-2FQ2E7Wm%r3q1:n/De$\(&8qKY%g=%PgP*nk+L3Au9=f?j..dCsO/6Ld2H?:"&,F]P$7),Tm/fod"7W(IjMSdDMVYiZ#fQR#Z~>endstream
|
||||
endobj
|
||||
% 'R19': class PDFStream
|
||||
19 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1381 >>
|
||||
stream
|
||||
Gau`SD/\/e&H3^ns5Dl:RlWB`8A/-rQ2s]A!sPtRXn?DL(WrU+/[D0Ee;E\GmmpTeXXKh\(FpI.2L0Mmh=DWD#[$jFlMl/8E#Z[eOoV0e`]tNmJaa.u%kfS"?!aHi$H/9PPaGc9LD+2?LO-ZP3'R,'"lTrMO+5s4qfb[=GqEFSUk6Kaqr7qX$GsP$r)naKE-[S`SB=(:-)T^Q(X,V"LPiuATm$djaDp=kHInu^qC7:G@:f:ZR&gb8P0$nm;f0>VPI-'e_Uji+`'jh\b<R<mb+c&f.-'fr.0Qgjn>".O@(YtG\ESIUm_33uNrD'Vh5\l[p7ko=7McCdjSVfe]u6'YZ[S]$RX??8*iNS<"+i^!iIM-/CE8f+arGApPdk$\SZ7Pej.97e>HopaZ@Fl2d0M!!aXPo/l[ZZ/3<;<pZi(1C8/+=`71Blt6/LrP?9o/*';A*o"t/Lc.?7"j'qdl2-)SBh?a>-X"#0r5RNMWWo#na@6qq_jWg2a[%LN#f_\tUeDd]G3aioG4!pZRpZ403,k#GABQ9>]O)JUm8^pca2V3j7Y>`*1LiJCb\Y]G:Jnj5T@A=J?UPG8Q%[Bec&Z#/5YZX;nthWGiL$b56%d"5GP*Ye"?f>;]7mU>kGneE@s@hF'ZOiLEINHRang+(#,#?6bP5kG4N+",=baTNun(9VSF`3\ed[BP!05,R(&.u*B6VkAJp/aTH?<&/e0YK@("ki35ATLKl'9+85P^n6fHj_u!>.bU9./]Z=/]8o#&2eh3ss%<i7\A'I+ee;5fg`r(GUdI:K@i-')9c=C)cI3dM]W.g[+elt\.u[t8P>Ebh;])tWk"Udpl9K44Rf`H2FE&\m_IVpM=ZW#gWR:n4pn;pk_qmOT'5mop[)/m%?(1B`2Prq:a9:RD@9h.N!ZFU^E:X^1]U=&hI$a0L+E5M<Ib9Kd<FpnbN_5W[)'#19eELnm`^%V-&7]*O12YX=Y&gb+o*&G'fI"kP3^>fRV>tr15X+prlY8Ug=&"+-V3//g+5?/6_j6R."hFC\89;G=7U1?'49s0_abZ%,6kpf@`"aqb)<.&2_fY=pZT`)Z/FG.9$!0Wo]Mou1<_*<Fp[20]4CZ)r[BCsZ`f*nrb3_JAJUqEXo5??r>.&4f[!^l(f3U?0<s5^sX)qF;cF48J/)XauU<S3j-Q.k*'sErVb(7(f21'SEZo<(EpmJKNGNWLtnP%h\p\TIlTl&)FmJ'E1P5\/'N_B&BHZDBI8m3"@p_3&UHgi[h`p]#YLku5Y=3%QV5-+<_jl:+K#^f3u4!/$dSj`i(gM`/E`NH?=U#E5^jRKEV^A_g5c^![?hn-N\`<oAkUT1<DC;6%$?W5D.q5u#dRE*rlEk=JP92-FGH1;t`eC7%~>endstream
|
||||
endobj
|
||||
% 'R20': class PDFStream
|
||||
20 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1515 >>
|
||||
stream
|
||||
Gb!#\D/\/e&H3^ns5DmaLc[GPpnAQDka/@Ycljpf7_jP&;f(,f/'F>,cc^e9Nhe)HNb$7pgC?+]6mSD:kFOd+6ja]YW;<&9!H*=q\YDD-pbSRp#k7<A=9%jNYKI;2`diAUN)AT%0cZiH%Wa`f&fu:`"o]-hT7=Ug&+Au&&(:q.2c1@-[Jo>:p'1FJi;]l$5$_J?i%k*C2C1\?1NJ?4_)d6>A_gIMPAE*5=W4b__1G7Z2g714dRiPoV*=3*$km2LRPW9i=*(%#im6\3LNo,EKDlR>rZ[#n9cSp+UsZq#6n'%#?:@GO)E-3Dq)PcWY6`55eIZ]r0lWR1T[WZF+C6@8Lnc5KC^"Mi_IBp,jX/9IC\:X?9l]%TlPP_0)T$R"%d**8Gu;\-(nb,2K%Of2&r3\[bi%q$-35;b@A'3<"-S;]<h$L;+GFpBg;HoQ>MD%16QKL@`l*>78i"NIces*B5"as5_81dcEU![H7Q.NRSKp)?[<-AAW=Ka!iIcsn:ju-P0mlNh@?Mem>OB[&4!._=k<le[n4/kY-jtAgAf(NQ#J`?>BJ,m:h&XN/A$?C#*=U*\*PcRj;2,n-WF_Z9b4)RTMDF[O=bB3;p?2d/ertJm@@(7^b\h*XaeM-:h-,QM4U8mV]LoX*Z5q=55[JFBEd1l0$N0&3a]AorPJI!EJ]gt;0.LuTHZ&jSI;d;h)t%`V_e=E,;._\;WK%!NVPc.Yr-uN+Cl)jA`UVg)p_Jt=iPp[e>stL/[]&XlUkXZM:s"AnLBhc+,.;oYLi%8a7_Pm72>0"_/,.\[\$"FP\2\a1C^nb&i(E.9n=X\\93)4,F0a:B#j$_\DDsBTPVmRdUMD4A3Wdr'f`FN\+3q0>$5-\^mUqpUIeZ^ijK.i?Hd84jF$SCCf&<_/K'Epj`^#n'(i[*lCCmXqKR(<A#uN3sUi*jID/OoXc-ISDQ$A:J6$4^7Xnpr?`0TYWQ-slc3l'5Uj-VYm7*tBUDoYnPQ303LSDTW"n"ubD'`Bb/GNAPNN(hN^B(35^J_WFYW`)iH@!^WfD?Wcurc'lCIJt$jBAW`_[dm4r[`\TB!'=\FF&!$a/DftfJD"F\]`5E+=(`,"i8N3$8t?K/A@M*&qT_SY<fn2]I:H;Sb_cq!;;is'#BCF408>(IZp6&B"C08393Gu`75S-iHB@)'EYZO?4B^eO\O7<?Q(W=1RPk3Dco_+3#5uGkOLZY"2CbW-+?c(b<R)K"k@hTn-llr;S>__`HVYfXFBs*ZMX40Y[A6[424tBfh-!O-=",Od6MY1jDRQ[SC,.4uknZ"PNNqRVO7H.TU"qI$,'TsX8IADJC1FsF6Io`("m,om(WqU*I]#J=I5RT3fUrS(H>'`Y=?UGtXCE"#CI9TTEJ3HG("O=JWa0@bD9Q'3.u=,8mA-dB-sYf2,lp$BYUJSX]'=u&qnaiPP,]i#!t*LWQmPlP9^qBX,am]sSlW?n*Ut!kbSQ8NZc@l@>gZbZ6EA(Z5@ieo/)@4SFb\(trrDp[r\+~>endstream
|
||||
endobj
|
||||
% 'R21': class PDFStream
|
||||
21 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1634 >>
|
||||
stream
|
||||
GauHLD/\Dn&H6"8s'_/h:jQliZ1CF7h3YkD9'kCeV:+2!?OSY7gQ8Xr;i^bJ2g4&.Q47,"!(&EKa3Vsl1S0/LM/TE/-Zag]&U_*b5T,NX5]'uJBE0udj.d^:7s^0rmAi6:M-J<b"Kg`=[nhC`%t2o[d2[JMcNEn6qA)OEQZ-;";S[Q<pl1i]kW=`Pf-7pL+!oi"os#N0C`?X:,AnSY!VcH_q?44IZIIB7?GiLs(<fe!g-dBoe7oC'Zj"rYTM>C1B$_KN;%<u*nQEjJ+lFJ8J3tqjZ%/[$O?X,?n2M0a)#@<K)[&>raMYB@!uQq7^8Xl5#Xuu4nDVs$%dSNrEZ%Rr&a5K3MOp+Inf0W\RE^W"80fb(BG)Kh/k$9#N^hM)O/#jPfDP_>.<oEo]I%k*<j+ds%2o:Pap4oeP7n7d1m)%2+^)W@`EcC>.m]n_=\,ukokiG2Y3uqBCqW`9HHSOq,P+g>P%*-4]rs;\*124nYm\&md.T5M,*.m)`*t2^gY`LGBGT0O)HC^-V@a\,M^LfelDbf07lN-*o,,7/&ul%o6E8_q&h)/EQ/l"([@CiYmDMWIYu^3,D>f17KlZ?@Hni<(/]V,Y#.4!rd=6K!WIOi1"I]@Necmo>D4>hU$k$-TO@;k_SX-Ln"'EFo["P;"I]E0`N3c.&*0u]q0cXE,.r>PSiZ?JuMNYsj;MclUQXe#Po,O`k-FIO9GWb@M!OE82#*iS5'rf$]nq&o7-$15\k]ghZE_bF+e1Orc^41+50XnI?(3A8tbZRRORQA'J6i1aIo*lBpB9[PnaE%j:-]]tTrcI_`)q\+:ig*?2hdG/P.H_7VG`tkOCe_=V-LW7M8u;6SPQ*.LU8H[^,BekG]u_Tj9UGDm:DXZ4aJZ=!fnW7DU!o:=*V0iQH]paKGnaUhQRrF7?S\RZ^=p/6-](Im]Yg"HHi@>/frjXDjEPhf6_(#LW//LrV3cj\MY6j5U^P*VUl_C>Bd^4%V(8Y!"I>!]VoG,`=7fTgGW!#]-0?X-ZS\(menMR&&^*L:r*0d(kG9J,f"'mI^k8d<YL5B^Z5glbl4F`64-<q1p\Q"[^%Y@dDmp^n+dsa7/udU"I(RZGhHY7jY\]d_he)aQ0EG<AI@%YKaPH@Jk"?L)L0'm\;X5o2eE"=d/dDnG>o75s4_",/@'J6K1rO'4non9QrPq,E#1r-b5"7`Z'_6sF@+N/CW1f$)![KDB"]&;oo4K,`or^t>dS/Y^`6jrOHO3pl=bbT\?Cen>:RgiAKaS)O,@u+D$#'ScDuP?$*Z$"JUba3nitB[YkV#BCJ7J@4@<%t_@DlfhDP#R,\\_m;d(?N,9LE6X=GD%"UUOM+&C5p<Y-c@7=EX6T3'DU)=k4EonY@@c>E_ICF1Vt6h7IE3O^G%k^>KZ@Wk$VC`"kFuOA9009kW6u;/qg+loW?BGcfl=AoisBgS34@'Kj0)o6<l8pj#[h`nN)aXZQk5)5RY#)k"l'_U`'[4k#EfFBL]!U=hBJk1+0Wc>>3Ke1at9)MrJ+,Y4o^L'^^^JX:8OF=[B]kc$cM2HA1_O#+VEJ592<K1EB;2UX[tcpKrs(RYcq-ipmSmt.u>Y&5j%5r>,>'b7'^<+eo96gZU3'D'g."ungC+%<uu&-~>endstream
|
||||
endobj
|
||||
% 'R22': class PDFStream
|
||||
22 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 462 >>
|
||||
stream
|
||||
Gasaj>>N*i(k!dbIlPhDVpVc815<7CUJ"97&a?&DgF-R;)r'lVgD5ZO9JgORIHRup3Su9:.mKd&3!UKb\cDi*i%kr,0^o[G\^ahd*R.Fm?ZD;iT&Cq\2LVOe4%&/JG?s\XpA=03^-)YXU1l>bV6.Q+\i?N&i1Jqo]#E=e'GsZS=J%R3_&Ek(cUTQ@dHX1e*U7Dic8FQqU/(E0W*S\4"(l/=b,mg5Q#0\M#`C-"'8Mi(%Xa4rjEeK[\NLPAPfgR]2s>h&9$92Gc0&enGV7uEK3;>%bVHPHJZ<OT1s,redZ8'ZE2H@^@:%dLhGdS=-YjHCGCV"YIFt3)$JVqN)N$c:Sl])&3S>TV\LOH`qOjqQr0`1!r*Krj;%>683OXl5Y+f`p[UGKA>43gr3S4OE##VS2HS6kTl1$@q,mm5qH'l]t9k:8$*QAK72@+*'bpBC5Kd_D<&m"07gkWAS~>endstream
|
||||
endobj
|
||||
% 'R23': class PDFStream
|
||||
23 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1991 >>
|
||||
stream
|
||||
GauHKgMYb8&:HLqIi+gh;$pMCF]Vc]8D4D&i1rpq+FV>SP$CnSOBcCABh/!qSlppegN$g@BOG%"GB[q;B$Mq0)W<(5T2AAUE^LZ/J:]Lm&dkMR.;^^%O3Qq2kL1*Z2l:!)HfJKnDt^CIm.H>#bMd3IUuc8XS"']O?<rTKr4]%f[#V:=jWpDK%mQ#Fe)hllIe5,HSt6Y')"[3<((@*>R]dLEq3$]4.rW,+0NkLT2SQC9jn7cChHl38Odr"JXL61MdGZdBZZ38hNL%aV(riU%=Y5t+1nMo]X4:ml'(ig0p>=^^_nO>14VP58PMQY558!%sHJ1VBAl&[q6C!I.^*qu`VJeki8P;gSFJIWW8n!Cd'E:5mo>RM<s-D3SPg.e!0%L[C7Vo_WOTt8#fr_E_R'u!XOsk'X8/L?qP.YAp[$M^KQ#9m6g1VF-'gj20,iJ!=4\q%c\!FJNa<>E)HT9FZAtA_H'?5VXTlL?0b`7Q1&#E\J8Ll3HQlPgip5>Im]ZA4Y$N"["<gJk?P`.'HO`8UEY]<Rg#[OOp9e]o3[E.Ic.%@GZT7!hO[sd&Z5:**!\?iAlrH.epc_M/Bl(QT1+u7.\d0:=!a/VZn4uZ[\D98^=<c2YK;@Pp[*d1qdb;Zi+a#X&q4/_\f,2]EV=g3.LG(]%l?bGuW`Tmt?b/?Hbds%=9-V7PD^q1tLoQNWaY)JWf,AF2O``P25/]nh51.c=-TVJip0%SJ/]ZG?o3d"/4e5ab.%Wu,*7I.<6g9(PD*\K;9Q_bCNgEP@/!\36QE':ElR#RoLn@]sS:;Y^70:gOF4i7;345XTr,Mk[om77u;kdZMs5ERRgr8K2W8>L2>BNJ?:$<tZ$LO%`3Or"[amY]:,.(pCM@sud1bC]]H/$rESSlIN\\f@g1j"M[/K_d0Fn7IcbP]\H"W0J6+Sro[Jg;k\\KGCk?/3d2;ZNLTUF21\K@m)rC*PuEhd0SW:;5PoQq`o%5U]c,Tklj.cTii..975*&Zp;6OXK62;lH6q=TE:5?nc7EI04\XsC:=b+a9j2IQXN]:#oF=8=`*Y*-&FtB3eGg+,*X,YE5T#%]<`!K#P!n`HgF:PM6b:0gNs_mq*i,@"OQGV`CFd0g[PkU5[=k,HcZ&jM@:$RR++[[<@>5jg#dYi5c&a<%j_F:`[F>DaTuJ:P=670ALZ21a=9OWjL'R(A$o*\alu:9*K!FP5U?aO"XZ,S'`.r1B3r<EV,H4#dt0M@+HarB#S^QR@O=>-(W/t4nJoZHiDMr[0jo$oN,f<**.`'9k1\`Rdj_1&.jE_NAV\='o/)gCB;>Lu$8N+R1gL9oXF028Lj*:A\E1RJ1B5')OU(=ua28`G*eWNi%qT6u&*6gQbOfRKR)Kr(#>__?hFYNZ\7-.IA?DWT)""BTaAa!@_f;cO6^0(L1c0bKS4q><4kX(JPXtH7N[ki,\8P6\7TD(e87j>Q"kRr?*)E(^m6m'fSHr68ClfL)KBs;5W%F[>%g+gc>O2P9#-4$anGL1F-IQ[@r&dMMLg-=Rc"VR-Q8,#kbF^hANLc"UNrcu/dbY)_<bX%OVHT)OVi>=I]*$JT.F$'<!HI0;_D-VU1'PCJ4[_t9*D,%]I["PPT,I7?%X]U]4g>eb:9t.13bYp$=b=>6j*H77`[U(J^r5it^Z8d[W,%Oc3hUkV$0_p%[Q<$1W8E1_;EPB_')8("BQ`lg4CgoUlH+aj>X^a]DZkj:IO`\nB_BG;mmd>nd=-e=].f9_g&S2qc!=f4&a:fG:aujWGK-N=6p5PD2Y%jnL:,9"fIK-Xh.+*$:*u1X5t2gd$*>B#NmRdBSOo>qQbQn?YsE%Ul@47GAiuI,*]>'ua5?#X&36blIO,O>U09bjLNUBR60:LGVEO0udLT<kX,ss@]n9*-1qHInD;L9b)BC-0?8qN_NLi[Oe0hJ$j^X,52)*:NHY/rdDleJtb4&)P7J`uNmCZR4%]kX#XA'2+9b6KXh6.bY4o#ollp0V~>endstream
|
||||
endobj
|
||||
% 'R24': class PDFOutlines
|
||||
24 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 25
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000269 00000 n
|
||||
0000000434 00000 n
|
||||
0000000621 00000 n
|
||||
0000000902 00000 n
|
||||
0000001063 00000 n
|
||||
0000001234 00000 n
|
||||
0000001408 00000 n
|
||||
0000001689 00000 n
|
||||
0000001864 00000 n
|
||||
0000002144 00000 n
|
||||
0000002424 00000 n
|
||||
0000002747 00000 n
|
||||
0000006424 00000 n
|
||||
0000006771 00000 n
|
||||
0000006909 00000 n
|
||||
0000007180 00000 n
|
||||
0000007331 00000 n
|
||||
0000007644 00000 n
|
||||
0000009168 00000 n
|
||||
0000010826 00000 n
|
||||
0000012603 00000 n
|
||||
0000013207 00000 n
|
||||
0000015343 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\\\235j\236!`\255\002\350\332z\003\317\346\3325) (\\\235j\236!`\255\002\350\332z\003\317\346\3325)]
|
||||
|
||||
/Info 16 0 R
|
||||
/Root 15 0 R
|
||||
/Size 25 >>
|
||||
startxref
|
||||
15395
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 875 >>
|
||||
stream
|
||||
Gb"/&@?6jB&H-M+J!aKUfI!H]Z6Fa7>*C;bUt=W;:qJ3ZJqZ)5J)=fL7"jBiV&)kMEL/I;oA85ip$G)]Q9Re9SSnMbqs\JmJ5G_O5a]O+ItWm^E:@X&:b`<qb@6]<D@r'5El=ZSB2+d!So'+pJ^N)qO7^VN)>H</n@T,4LU[)7=3bUNIt7Pg5s,S]&POT,C0MaCkUniTUh>d.GZOG?L!6!IWC8s!=9WLU8=!mTjKG%%a:qQ7;sYpG,C^H*+J2(8CcINFLo3;!4%<&+m@;<"U8YBk'i`pqa[*u_V]]G>\brZ="Di6s&T62_f9$h(7c2+*]+,;^8+PW=g4E*%Jor!LI)Y85$_4LjiJA;)LPYsGZOH:'7'M>mSB1&BS0WJ7ed#>ZejtrX0+tPp_FXWtME!Uq$GLMbk<,au`G)$u13JV^0k*[PQFDl2Zq`f]_F9t/,I=$l>)LP1AFl8]/l4$u]>ub#Pbft#F=8NM=LOeYB6g%YT1D$U9%dcef-W?`(>nE3)/L)'^)guccF+=.D'uB?^p,8T]d!scR+\+r;lt0_l0cRk=2nU+ofnj/7I>T0O0s=tU@u>&V(?K2UdJkcLmQY.@]RQ(]\fe/j(kbF[CP9YI62L%j(7U8oLOngBbrXPIs-ODVG"WZZ*R7;IU@TR\@AP""@72)qM*:@bhP0m]3T:1_:e`9iVL`QK/3WD:0HAH997P4$<ZC:;eX59goF%:Dld7@V43P^Vc)/UNJ<&pUE"E`oscC=XOm=I3F>(il[[qr3+hi-1bd-bp3o.%bH&G.7Ehe/RfGfmnO:)`ZoaeOG.7jUXDLh2Kk^%.Q^2LL]1?W,9n[PGJ[NDF#2Gp22`5!.E/gF:_K=R0QhCHt_&p0ACBX~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000587 00000 n
|
||||
0000000760 00000 n
|
||||
0000001037 00000 n
|
||||
0000001172 00000 n
|
||||
0000001441 00000 n
|
||||
0000001546 00000 n
|
||||
0000002564 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2616
|
||||
%%EOF
|
||||
@@ -1,149 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 10 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 11 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R7': class PDFCatalog
|
||||
7 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 12 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 9 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R8': class PDFInfo
|
||||
8 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R9': class PDFPages
|
||||
9 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 5 0 R
|
||||
6 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R10': class PDFStream
|
||||
10 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 774 >>
|
||||
stream
|
||||
GauHG9lo#B'YH6>J(UG2dV2rZ[__%U:6JAMBg*FWEtLlL\$e^W;3HE9l!Zpb):GlZ#D6me^"q6(M8?YC7_`XDHqa&/S:PZ*;m=UVO^-fql#qN!4+qUXfO::qK,1cnCO#Usp-rJLf_:Mmk^WJU_66Y\O[s>.]?#uMn`o41G_G->P.*#sisl9R3t+7N$od2k08qlF;+01KbmCO;Hof0qjk1,P@$_GQ8qu,Z>=ouDjKm6aXmbq!HP+ZP$O8D\?pm?J1%@uI;dmc''h6ERr':n*>:jhf3OL]P+rL.d8kT55!hP5$n%bp4j`B=I%4KkXP3!VURZ!T@FiTm#U9m]lbhVPuY3bN,jGg$2Lbp",BH!5<Sr:`T/f!Vdh"?ZEFJ]hm"Cha<29tWM4FB%X1R\6H*=>tBQqS>JFC*4J6d*$=KorM3^6.NiY^^=;<GgKn^(?,LZm,Hc,*PUjZo"-?hBYg.%n=d)Wk+Lq.3>SL,'RnW7V(Uc<"hrG$]>7A9.Y.J&SKRPerBE5[f5=cgtp#s-+_6=PA;+%qPR5hFZqap%8KVH]+^8I*B:'*j\N->6"f2DKRaH9ONdnbJW,jKWcVM6NLH;I;X0S4;;1d,SY[4e(6G7M:0!u'[@EmnP[djka*J;,A[QP[BG8k;.V2LO/=KX=<L8<=YH$B\]GMD'rP9Vrboj<)"u3%SJo_IgTKN8rp7SFKHgta[f.m4;b:>\7HnBY@Q*#Y?EHieW?\bm%4aa%W^00VB<OVDA#TZ+Vs#<3S-QLsfDd[g$`W~>endstream
|
||||
endobj
|
||||
% 'R11': class PDFStream
|
||||
11 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 937 >>
|
||||
stream
|
||||
Gb"/$9lJ`N&A9=Y+.h\M<fLmuNGW]OQ)(FK2G%DXQWt<4?oQ_2m3QKGI<X:M"GecIl7(^[L7*>Uc'u,]Jgk&mrXKV";h,Ap(+b&F#0S_@"ID(YqRtebSrOCb^5<NGE3#?7=="GsI:MX=n4aQ^K&Mc/QfS#0!WgIJDHF)N3%9<hES_o7L#?5?Ts/B8@6:n`G$nOm2&t5!2]?Ds''9n[+$ZABpj'7NBZh/2h2+W1^Oe:NGg=s+SKOCd=$Q7$K9)-XedQ(0nYY2:i=Y`0Q4)H5mPr9)DRDP@L()h.WBt$f"/ZQE0ZfBV-re[6<"a%bk:h_O*:ge=F%2s,Z]$6Tg<aiGa[jGNIR]Y<N7&HcBT\$H-nk0<:$(I]fBbNcL-ilMLp%Rm9Gi"X#oT`OOLqt+^'KB($h%XQ8'Vr>6j6V:SB_jM?'2H>c)<`)JgJTo]ZBWa1Keno<J/XecF",cZrU0.MMP]&1\%%7&OD7-J=pt:4NghT(/IZPEY0f==]0?.dj_0!r0on7^Cr`L,#VKb9o2cK1\Q,ieieNFoLL)'_V`B%C+L3nYrp7iV20C(51:EGU&"?*VmD;lBUd0G7.d18X/7_5B/>jY<"u5u[TV6>iBm$%+]f0'AYf]Z2U]\@TU<Z=9Gq'spJ7!lMOfEJ_,hMDehu\ARBR)%1'!m7#DQ@28Omin0LUjp=]Qojl&96]eZBS>C3k6OoUHD8N9q;af\1=qj'pfD.7aVr,9R267;K;"QLo3AhA/^ns)us7Pe-Jj9l2;<hQCZbf"@&\1Yrfe`$\R:Q%s[mA$4XYDY'eAjWK>eDh8\3l)Bl]B;q+u7pdg:$gqUClg&Tecc`0UrH5prBu-$gqJM)#LQFliN88?m6lBL:NsNAP,C:M-?2T;WG+;j=VQ99"7Y`\sP?2N;7q4^#YI4bFiiEl<lZ)f0UYkqVaQ35`~>endstream
|
||||
endobj
|
||||
% 'R12': class PDFOutlines
|
||||
12 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000587 00000 n
|
||||
0000000760 00000 n
|
||||
0000001038 00000 n
|
||||
0000001316 00000 n
|
||||
0000001451 00000 n
|
||||
0000001720 00000 n
|
||||
0000001834 00000 n
|
||||
0000002750 00000 n
|
||||
0000003831 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 13 >>
|
||||
startxref
|
||||
3883
|
||||
%%EOF
|
||||
@@ -1,149 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 10 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 11 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R7': class PDFCatalog
|
||||
7 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 12 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 9 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R8': class PDFInfo
|
||||
8 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R9': class PDFPages
|
||||
9 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 5 0 R
|
||||
6 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R10': class PDFStream
|
||||
10 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 774 >>
|
||||
stream
|
||||
GauHG9lo#B'YH6>J(UG2dV2rZ[__%U:6JAMBg*FWEtLlL\$e^W;3HE9l!Zpb):GlZ#D6me^"q6(M8?YC7_`XDHqa&/S:PZ*;m=UVO^-fql#qN!4+qUXfO::qK,1cnCO#Usp-rJLf_:Mmk^WJU_66Y\O[s>.]?#uMn`o41G_G->P.*#sisl9R3t+7N$od2k08qlF;+01KbmCO;Hof0qjk1,P@$_GQ8qu,Z>=ouDjKm6aXmbq!HP+ZP$O8D\?pm?J1%@uI;dmc''h6ERr':n*>:jhf3OL]P+rL.d8kT55!hP5$n%bp4j`B=I%4KkXP3!VURZ!T@FiTm#U9m]lbhVPuY3bN,jGg$2Lbp",BH!5<Sr:`T/f!Vdh"?ZEFJ]hm"Cha<29tWM4FB%X1R\6H*=>tBQqS>JFC*4J6d*$=KorM3^6.NiY^^=;<GgKn^(?,LZm,Hc,*PUjZo"-?hBYg.%n=d)Wk+Lq.3>SL,'RnW7V(Uc<"hrG$]>7A9.Y.J&SKRPerBE5[f5=cgtp#s-+_6=PA;+%qPR5hFZqap%8KVH]+^8I*B:'*j\N->6"f2DKRaH9ONdnbJW,jKWcVM6NLH;I;X0S4;;1d,SY[4e(6G7M:0!u'[@EmnP[djka*J;,A[QP[BG8k;.V2LO/=KX=<L8<=YH$B\]GMD'rP9Vrboj<)"u3%SJo_IgTKN8rp7SFKHgta[f.m4;b:>\7HnBY@Q*#Y?EHieW?\bm%4aa%W^00VB<OVDA#TZ+Vs#<3S-QLsfDd[g$`W~>endstream
|
||||
endobj
|
||||
% 'R11': class PDFStream
|
||||
11 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 937 >>
|
||||
stream
|
||||
Gb"/$9lJ`N&A9=Y+.h\M<fLmuNGW]OQ)(FK2G%DXQWt<4?oQ_2m3QKGI<X:M"GecIl7(^[L7*>Uc'u,]Jgk&mrXKV";h,Ap(+b&F#0S_@"ID(YqRtebSrOCb^5<NGE3#?7=="GsI:MX=n4aQ^K&Mc/QfS#0!WgIJDHF)N3%9<hES_o7L#?5?Ts/B8@6:n`G$nOm2&t5!2]?Ds''9n[+$ZABpj'7NBZh/2h2+W1^Oe:NGg=s+SKOCd=$Q7$K9)-XedQ(0nYY2:i=Y`0Q4)H5mPr9)DRDP@L()h.WBt$f"/ZQE0ZfBV-re[6<"a%bk:h_O*:ge=F%2s,Z]$6Tg<aiGa[jGNIR]Y<N7&HcBT\$H-nk0<:$(I]fBbNcL-ilMLp%Rm9Gi"X#oT`OOLqt+^'KB($h%XQ8'Vr>6j6V:SB_jM?'2H>c)<`)JgJTo]ZBWa1Keno<J/XecF",cZrU0.MMP]&1\%%7&OD7-J=pt:4NghT(/IZPEY0f==]0?.dj_0!r0on7^Cr`L,#VKb9o2cK1\Q,ieieNFoLL)'_V`B%C+L3nYrp7iV20C(51:EGU&"?*VmD;lBUd0G7.d18X/7_5B/>jY<"u5u[TV6>iBm$%+]f0'AYf]Z2U]\@TU<Z=9Gq'spJ7!lMOfEJ_,hMDehu\ARBR)%1'!m7#DQ@28Omin0LUjp=]Qojl&96]eZBS>C3k6OoUHD8N9q;af\1=qj'pfD.7aVr,9R267;K;"QLo3AhA/^ns)us7Pe-Jj9l2;<hQCZbf"@&\1Yrfe`$\R:Q%s[mA$4XYDY'eAjWK>eDh8\3l)Bl]B;q+u7pdg:$gqUClg&Tecc`0UrH5prBu-$gqJM)#LQFliN88?m6lBL:NsNAP,C:M-?2T;WG+;j=VQ99"7Y`\sP?2N;7q4^#YI4bFiiEl<lZ)f0UYkqVaQ35`~>endstream
|
||||
endobj
|
||||
% 'R12': class PDFOutlines
|
||||
12 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000587 00000 n
|
||||
0000000760 00000 n
|
||||
0000001038 00000 n
|
||||
0000001316 00000 n
|
||||
0000001451 00000 n
|
||||
0000001720 00000 n
|
||||
0000001834 00000 n
|
||||
0000002750 00000 n
|
||||
0000003831 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 13 >>
|
||||
startxref
|
||||
3883
|
||||
%%EOF
|
||||
Binary file not shown.
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1716 >>
|
||||
stream
|
||||
Gb!TYcYm#H%*.f;niu?jot]c=-!a_3",[,s<b"9$4#i(d3f'?OFqOA]+8)4sS^\O/n;A;jfJ!^uP9MH4qG<>2<aK\=]Nc?GAnK?6ST3N14rG.cRb9@Vh<acED6e*KQlO(Y\7X`02@K-8o]2Xn'A)oa5Gd>dj_B$JLBj=7dh>UGp8s2Ne_$$*>4Sed=+AFQbI]E3o4G_I]Xq?`c$X<02Y6h-qV'a']d<:9ApM'pcYlO)/0F36ApNoX\%"10?d7r<q(U^-k?If)b\kYkojIQ5_ttAd6dhFu<Z6/L\HZ5^63q:?ik\Q#-q'(X"FPIbk?mfYC2!S4gcoPVl$)9=ZLR[]%si%n@*QrGMB4mdk5?MTm%O5&I[Vf3CMe"hVX%=ps/VGfRW64N=AJsb`9b>"Z0d0_OqD77V:]?D]mbMd;_60mEi!I1$^J[,jt"s^Lc\,X+nD4@A]0'7W;$X48<f8BHsksl+U_iW!($7CCajnI(s^JNoUZE@NBWKN5UUfRJ97O3'E]Od-okrP"A@B,%ZW$iN?JjCh'd&8oKY;C9Z\LLR8Ukq==IVu)'pXs-:CWIlc:K9;h9l?,pd.k?:Y*U5p_H5a(3;#h3bjVbWo3'JJ'3uOZ4QUM6_n+OYC]I:c_-I,b]4nQ7CIHlm7\g0QJ:H?"-B](uTB\LWi1>jKW%8[KDQ<K'XmI6sfFm7H>[>BF&18V&>YX=jj!6j9nD7<=+fu&]?5\4Mpp5PK1b=832-E+s+M6WEWp<e<8Wa#Tc3)I!DY@S:,[kEYcIRB_b0#S=PqQ;H#TfEDTkFePqA;@X!KeWXi&@nO+-C=.n4A8dO/S:Cs?-l>*uVHDrY,&3MBS@RQY$2B?iVH]>ZP#S:66YoSth;p/fOnghgG"/ZmWaKQDZYDDM]j9Q,#;BnHPj.'%0?_t17S/2`+ArV=["frLO:<8rl73&&[3_gSV_FC3k*69?%Q`t0Kr/'LH#*6R0C[?hL@h:tQde`.B03'OP.:D]lpa)X!rDP$;R?,PIB<tn1G0BROp,NOTZ>e<\o+-b1:<'8PJJ9"`%W!H../ZsSXM]WRCmZUb#RZk0LU7C$3=dRsC#;mjT_=!TFVKPo`dIoj#pDou7=l)<>R*'e&!]II_C0(54>[mbkQ_uC(mGpJglE)t:1Pi&]0L(^E)qmkVc:?%Ic;oT#:]@V8Tctf/@Y`"J8O1tf/b(j'Ti./OZ5Wmi4M:?;[/q4h*D]h+s43'\J<7`;NQ%86M!eDa'3("#Q_I==V1Hb\QV;2\cIee;@-!TeP?@!E\,ekO*%`pW4_"W4n@Q7Q5$d\ZeH^(4?F'DM"Q9@fq_*!Y:et,\"DiQh>-HorVYYunIQHXJm`Qb]HM[C(b!o=ml)%h6@nO5k.G:jX.M=#`<533*prT%Fc4<6;]_ce10n863DcUe&tQOr):>Xl..)50;GSuM%B3Fm8f(*T8$.1+2[?]7d-]F6AH7,1Z_ph+:WNH,+7aLm9IVXiSY8=l77b:-ih6]VV?3'+%[#*9fNg"7qdh=T]MpR>6W7,;R#L^4<%o)-+VU"HU[T<YLjSNaG!>_1'*Q]*R4n^DOP4?[_PEGMP`ZG`8VIK7!VTV6CHL)!>/X*:0'C[SR*p\)Yq22hcXLW"g80W5jcRd#qE4?-#d`EtO./_g8@%t7&kYBiV@37krO1P,+&R%XZ[MbPIIP#M5G$6\I2]<_XJW2M1]Mq`5.YW,:]:LtiZZ_~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000567 00000 n
|
||||
0000000746 00000 n
|
||||
0000001023 00000 n
|
||||
0000001158 00000 n
|
||||
0000001427 00000 n
|
||||
0000001532 00000 n
|
||||
0000003392 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
3444
|
||||
%%EOF
|
||||
@@ -1,549 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 8 0 R
|
||||
/F4 10 0 R
|
||||
/F5 11 0 R
|
||||
/F6 16 0 R
|
||||
/F7 20 0 R
|
||||
/F8 21 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER1': class PDFDictionary
|
||||
4 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (mailto:robin@reportlab.com) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Annot.NUMBER2': class LinkAnnotation
|
||||
5 0 obj
|
||||
<< /Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Contents ()
|
||||
/Dest [ 25 0 R
|
||||
/XYZ
|
||||
72
|
||||
695.68
|
||||
0 ]
|
||||
/Rect [ 155.9877
|
||||
643.68
|
||||
297.72
|
||||
661.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Annot.NUMBER3': class PDFDictionary
|
||||
6 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (http://www.reportlab.com/) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 297.72
|
||||
643.68
|
||||
439.4523
|
||||
661.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 4 0 R
|
||||
5 0 R
|
||||
6 0 R ]
|
||||
/Contents 29 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
8 0 obj
|
||||
% Font Times-Bold
|
||||
<< /BaseFont /Times-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
9 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 30 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
10 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
11 0 obj
|
||||
% Font Courier
|
||||
<< /BaseFont /Courier
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER4': class LinkAnnotation
|
||||
12 0 obj
|
||||
<< /Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Contents ()
|
||||
/Dest [ 25 0 R
|
||||
/XYZ
|
||||
72
|
||||
695.68
|
||||
0 ]
|
||||
/Rect [ 155.9877
|
||||
607.68
|
||||
297.72
|
||||
625.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Annot.NUMBER5': class PDFDictionary
|
||||
13 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (http://www.reportlab.com/) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 297.72
|
||||
607.68
|
||||
439.4523
|
||||
625.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
14 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 12 0 R
|
||||
13 0 R ]
|
||||
/Contents 31 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
15 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 32 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F6': class PDFType1Font
|
||||
16 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F6
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER6': class LinkAnnotation
|
||||
17 0 obj
|
||||
<< /Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Contents ()
|
||||
/Dest [ 25 0 R
|
||||
/XYZ
|
||||
72
|
||||
695.68
|
||||
0 ]
|
||||
/Rect [ 155.9877
|
||||
679.68
|
||||
297.72
|
||||
697.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Annot.NUMBER7': class PDFDictionary
|
||||
18 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (http://www.reportlab.com/) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 297.72
|
||||
679.68
|
||||
439.4523
|
||||
697.68 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page5': class PDFPage
|
||||
19 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 17 0 R
|
||||
18 0 R ]
|
||||
/Contents 33 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F7': class PDFType1Font
|
||||
20 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F7
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F8': class PDFType1Font
|
||||
21 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F8
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page6': class PDFPage
|
||||
22 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 34 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page7': class PDFPage
|
||||
23 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 35 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page8': class PDFPage
|
||||
24 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 36 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page9': class PDFPage
|
||||
25 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 37 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 28 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R26': class PDFCatalog
|
||||
26 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 38 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 28 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R27': class PDFInfo
|
||||
27 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R28': class PDFPages
|
||||
28 0 obj
|
||||
% page tree
|
||||
<< /Count 9
|
||||
/Kids [ 7 0 R
|
||||
9 0 R
|
||||
14 0 R
|
||||
15 0 R
|
||||
19 0 R
|
||||
22 0 R
|
||||
23 0 R
|
||||
24 0 R
|
||||
25 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R29': class PDFStream
|
||||
29 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 2127 >>
|
||||
stream
|
||||
GauHLgQ(#X%"2Jjs++8pfM.GURYu(N99U]:;\T7q)TYQXA:&,CX,B'&fC@ab1Qk3D9.SOeK5B,>i=X0T3TM%kYjig_^K1`WlNOqK7t=E<Ck-J__r=I:]=>RI_5$:N42g+ugq^7$+/FG%Y-7i=^*8g`"_(/^<f%UE=s1<+=/_Q)CXe&,;OXo!.B3g4/Tq1`&k4U/la7FP%f%_=`+rH^#[nH<X8?iR$W)p/K/cKl@<oZ'@<mHi'O_TM>=@o>__t-G(_o.1-rB5%`3BKLde-O@I"fNq\GMLBU\$I"YLsPGW'IJEXXlme\_)Zm/;,c'!6so**7?MQ(;);cU3='OR2qp;;8==kH8QF-+X(Zi&n)j?;PAM?T"nZEHQe;<jD_Gh@WS=6E3g<?mJqHnV)MHR\dJI-rR2.]*RoZ.b)#([Ja[mBEg$h3QKQVFX3\Sh4^[@t7D.pfopNd)m_T@+F1QXo?6E8-*W^DhqskcpA5i<[9"GB?;b=b$J0AatXb@qRZTL][%=P8i4b@g-3?"\,$*V>5?H>tp/JW`F>O<W>.H;Mj6LI7OrpmGp>!%hR4-WFho3aSFAbqTi%fRZk5*JDT0!/->4IY$=foQ(klE.]p$R*tQ/l)M6k;$;u_`ljN#?S\?q["dWIeS(L>,)RBfD\U]^=E>[oUC.hRc6l,o"_/*FbNcs>6;FKDRY]Zb_RV6[jCf[,buY.7RB'`\#XV>LKZ)(;9f]C>aLD>>a.7"1Yk5$+).?E[pqJVS>tlpG66*,Sg=GKQu91tjSLX=i'UPDXq__`F_t]set#@^dT0rbr"Fu3_55q/1Mfq@_2aqr=+*u[G(VcUV%YcE)m/.5Lc04p%])Jq3USZp6Mp<nU&nOTl9JF3-q-5PSUsME<F2M2Xh/+m44OBQT+)%RG:Z(;irR3=#98)a_XuOs3GV\J%9Q6@[@$Df4Na*tW(lM)Ca,8`^rkJ!24BD=Y@\&8Q/]6/E[KBt$02D%YpgfSUTFkr+hlp:3u"'I.`j3'((qp)^s22c0J*JU8BZ&o#*qu'&.mifqc$k[bt'?qgpJi-NZnYNFg1oo.[1FP`)^!/Jl:P6YoYgNK5"Y9SJ]I^].4ds(*=/?hTlZ-5u#fC.QOmNP`a?J`jclep:DT_(TIo(/A#iu&8<2b_fEgUNG&Vj-I=dTVc`"A+kf-EA+KEEArc-d(d,PA,-@W=H`:ngQ;9Xh=j[1J*OkH#Nc/o,S@U/?S#MVEJm0js;o=6udbQ+hA2emg`P_h9ptQ<$YUu=JbgXQ'C2=M[DGc9rUk=+ZJu5u;FN3KLoWMb<7(E?k]BD1`b)PF6;6L.6T&Uj`UuNKfUuNKf[,X]dR@ZCE*:KOJ*UfXK*UfZ!*I$Xkm*'P$RHL>$i7o$]+bZ*i1;T/c=)G0Jld,\X5,/L6HjfbK<ZGX]'t7"Oc(H&c.[_'pX;M`FX8K>$B!"B;h9%DBd.`HCGdolN7%&foMW-c%LC5Pf;>i2+1*!D:OF$:&4<l4@i,`]4KFDV`J.6^=H-@`&%Bul0HHQ@Diq(%NiEOB#X[?'D'<`Q?B2Zr_,Q/4e;VgEW0o].N?0lUaKb"7B(+ERkOjGpYLTQa&`-u1p1]'c>52K)b%*':rhD[A[k3Aga^ai3NX`,2^9?g!oj4!(#RJCAE4G5d3okeLXPZgTrq'B:np?$<_k$Q1E9sB@3,BUGiJPL7*7VPHFV`?!l(imUr%g9=HC^p;>c:F%*##9[bep3e5S$'K9<3`GdZ^\SQ!ZHq%/S`qB65?AUW?GM=$(E%LbARWB=H4PYkMP.'kod55/"ed@jb(PWpUc9\CtRXq"s;V*r=1a8!Td#.+G9QY@09.7([YVa#4jJ'a1njps0mEDHr)Tan9r&%J/?F<dPd6mb'=dd`psC6=)mRg*V:3%,HaB'*dS#6-$,Gqm<Ak!l$*Frl$*Frm<J<ck+p08DUR2F2sFq.qp/7!KQLfWB*Rl=Wc,4aXsM<n12@omB#NkkY(pp=+4]Xr6fJQtX>O@<\q\-^/_BBQq!(N"`g/hTn,"/9cYu$pefNERB.+"_#mna)N-Q7/&LXO!EoU98Fp=P#LI(Et[=/_m20ZhF]l-#F2GQ+_nBUZ,pV'gY?48uE$TY50Lqf+gDn%5giVMg]gT`o=~>endstream
|
||||
endobj
|
||||
% 'R30': class PDFStream
|
||||
30 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1251 >>
|
||||
stream
|
||||
GasaogQ(#X%"1(mIphkGVm$olAYBn_8a@M<2VHn'kt>>p-/+eu1ui=?lhKql)9K1t=Oi*YYXBNR%XCT*!2!SKq^uW62f!ZG$6TU_]n%="@T_O'+7&/Z65J:!S-3.<6^hXo\qC:Hdrb0,F;"4cXAbQl;c-=<G>E)?1-+(05\.^HT+P)jLi9j=I%,`V?Hj6tl\]K)Q.j]rWY'E397r3.-)%-l>M*o:AAOZ6_]Aqq&)J6RYuXblL)JKK.\n!eYK;P+^6LQJ"&,"6@Jpql5JaF=L#G+E+Lncjr^LqX$<iE80G(6,kV(50AkFJ9:sH0s)D#6;pO33V9Z%rUK<S44A!FK7L-Hjr.)aHI94U@/-uXc%P=?)D7R>;5@@&;s%*HT,m%l"CRlML[/t%8B8u+6T"5E3"'gVb3Lkq3V#2-89;'E@d\-.2tk2?#cDbbZp*aB'%a)X`"enkM9KN_N!"m&%URMTrCf?N(t,H26[XWOcM;!A`Rl@R;be&bl7>$2\;?/_]Fm?H1lH85`*$tr!r/fn]%[^bZtA\j=oK\qao+-aV0W-c^$C[fD598-5rONLBkUg`&H#+f=GMi(8:O?=L)H&ti?IAE$aP&IlkH"cK1$]hT`"'MRN<[t+JLbgo9>FAZ/P*6&bfQ0t#Urp]4L6UpCn(EQ.HVXTDo_`M.+jEq*6kJO6a&2_O:gU8uIO)K:Ymb::PGMTKqb-KO1HS+5\#S+1X*T#m24d50";dqlQ`"gai*P$8Q0*qtBc`lm-Zkk?oSS,G-2fbI/W_O.Q3/J$LJ^00dVK>RVd:44!PDu-i_#%qJb-Dq0amcdfq?h#X7eC0:SYrEh7(dYj>*;'^2H6r,h/`p`q>A6"+8+G(BVVoZG6i8bL"/^JZg-'GG`:S_.Y0@igao6Qik!4\f(rLHT//hoRJn@%@M?"GYcL_#V8YBFhDS@%NBI+M]QG9A>AnO],%g1!-Sa2ng%Ksh_=j8510K\)n*<(?#VFrP?pU0MMS9fJ!gJfg^hF.0pM:nrpnjlIuY\+\.c_@V91q;id+Anp]6NL^b<#F%d0W:lLS-DL;\CsQ_aX3\$/fM9$l#_<&@.HEW,]ZL<'#^nF5_EooA\2-n<`AM-\e,e7BHY!ue[LRTiXJ/gB1W]#HeLmu!_,UGGPG7a&X"K7!>\rScPfmFFMhf@T9*9Dfo./c>D0rgbq6mJe)^\FcJL./(=saV&eHm/Iu:9>_,V?(PlU9A#Zo_Jm*$\1fI[9D>64l/Z3L[:j7~>endstream
|
||||
endobj
|
||||
% 'R31': class PDFStream
|
||||
31 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1320 >>
|
||||
stream
|
||||
Gau0CgMZ%0&:G(NJ!e8uO]=4P77p!G@(0fq5u=p-s+"q-N]+3(b&S9]f.V(%`JuMHTs.u&E+[B8Nb0gL+Vl_1T;sQZk63t1+s;HU)N[E&(/OGciqB5Q:?7nA(f:Vkk7Pn1YMf6Mk24o41d&X-AZ7Mg[`T]udH9A=DQCjNFIH=/M:JZa^tg)L=hiMKTkNA^+(4URmY4VhrsV9"fu*;W%']$NTr;2J*CTc&d+>D(XGRe)\#So_Z4_$iXLk@o^'P_mKCE"bL2-`5.(4n$$G"B.[h_qm(#/"[XY2m%Q08"Yl5o#i?b3-#n"H_<;D?37lf%<,e=a!(0+JHIcMh-n_pE6jBXsJKl?1R"LUOjNU8^*=4hQ3khbDp-T.;(0nPZPsgM4Ltej^Ai(HY.PGobVTo6T7.X%MDJ92V-&B!pbUCOF?B]I^D+*qPRDa:Y[^notm3VU[kr<C2c=M_+3,X'5+.2*U.[?C"]%`B7K&Z0C\N0i3&f5O*[H`sg!P%W.T1;4_b;=Y`#\6p)bUQ/=T[\X8>8S=(3lnXBeSas_n'W((Ct5t7M^qDkbRH')RS'9W?QOg;b1N#9lS,/Q+Xj"uN>O"k9l&tZCQ_oIm=oDA#J9[WLnb(=nKbogSsS812\IUuN,H7g6ffD.oTEW,aFl;(OE<)A$M"^\(Cd/73-Dq.[fMQ:l]h!1"$,k&Za(W[.(:U4M4Vam7MO7\&%Yq?.,CB`'IYl`Fjq?6"@ek+:E['*(d."3g?,i\'1,4.4TaFl186ZksIU2+N3"4Iunk=S?FIYQt6Sa*$DIb'_Hh&s?'=sZ;G8lD0aj.>=umU4OqAAV89A`GYP\)8^deGQ#"+W+"]dc=lg;6(!`WOBi^/r5!DQuFC26j]\Bk+#O0PF'YEbg;dqE]hC&Q=NCo\.d*AjVfAhBI0NJ=-/l,F%XCl8r]s&^7+/S0.`Rc]8eh1kObK_5^2^e,98"PFo+3oCFXH1mF^R,F,p:m6>f^RFZu@m29p5gVAW)5Sn6-PLrTh0cE!rc:6#=71WsD[8X`(&;X:B<As/8AZ@ABd82Z;hY>9J4ZbmK:/Y#B[L1@gHo,1!<02[s?-HM9cl`t>Yk"t6t5NTr;nb2b>2[R70PO$ej>pX=J1L[=h\&Q<:=h"0BN9=g);\mA,haU1F'@>D<%;Z),>Kd/<JC[2r?saO-)\9;Hk\M)T8n`&J&%"mkChXG.TsH%r(($Ok"Bm'm[Q(4DK[rW2o8@7Fd+Q9``6Uq-$#BZH)i"5WIt&='&,lH8Qk0.C)"%q5rF*3#o_4[U;DM$>fIX1,luS7^BRt"qnpbboIdVmDS*q!f&2j~>endstream
|
||||
endobj
|
||||
% 'R32': class PDFStream
|
||||
32 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 330 >>
|
||||
stream
|
||||
Gatm6b=]],'\s#b%qhkn0fMgjG3OMai^V0fB&d!/LH_pVkP%^!G3gWP)eg42EZVn68s'%G\8N9nj`#36+9hKHdR(k-iQ?/k_Q'h^8j[<\g^97=0C['94(gD3:n!8(ZPHU(6*P&_PEG0(c=4?dadB6nCk"VF%CCh)E,pC7[tQp@.7hl8ppdE+Z9>3cafdFpXg!Wu9tKM*(qSjCgA&e$C5Z(hGItUV7sSI,Do5HkHb'[@G&HF#-GWpN2o*GJ7\UBp[SU*N[*^35Hgo"t6Xk%RN]JRm1*0-uBc:Upc97Pcl@2<O>5Qdlr7<J\31/^;lTQq?p'I9\N-,~>endstream
|
||||
endobj
|
||||
% 'R33': class PDFStream
|
||||
33 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1210 >>
|
||||
stream
|
||||
Gaua?hf%4&&BE[jp`KFT.Q-lZ[Za82UodfZ:"?VQ]M3_Y&0Pg\3XFQK^OEW_bD&gu9AK^PNj!m*3W!ia!5d^rl?0g,khQqYh#IM.VFq'AUM+t3hG;1e*!J_o.0GW/`1t-.+ke:,DERbU*^T0`%Ur&!Dj2@a65r::h'h0i<>7!Z@.i0Tct'^_GGpI5=b=SIr@Z>rkS9QCMo!%I4F+'CR/DEg-Io"Qc&fs&Ul8A:'Q8nX^-Ld@61Z9RPJ#\E@]A^2\ltG6*=I.!AG]*h.1al8Q0;<B4@mTgS!6SU)"XIU#XhRl)$.ed(l>2=O#RWf.]qe.@Dm/A8EbDb;iWIr/`6+cc2b6R[Sd!PJV"^5`('rTB4qrA*e`#Zdm=s\(*P?J&90\"%T1k?rI;e'l9a%JeIALe[jiK1;d*mT`$-OdCU+YDrAi^[qNe/WltF,IO#3fpZcI&7f8+oQ_d0ZMmO$Q)I[_\=j$F[&/dgfFFr84?0IQRT8bSC5kra-b(L,Y@hkbg_km7\%^pCf_5'2Gnj_TJP3e5qFS>_!"@Z-T_p2uK47_qA`d#1N3$$D^gN`g]l#X$=+j&L_,iaK;(DjKdS_0hJKbEjOF6N"@cD0k<55I]mA>?@!^Z6"[iUq?=FE4:Fl"AWOXM[n<a4Wg6eU2,^t=nQA%-!i^Sam,K!MVX.)Y_C%,fjL+lc2>qj1/D_c`kndbYKe@.Qt?GKmagFc$U^]\@AmDV-N2arK-=41Pf;ZZ'LH,<>tA6T_bl5"]i\?iE3)lJ79LCqTenE&0Vn,!kL!-(6>KNoQruP$=K/(1'udGs4Jqq,"U=7\)%Hb/23Z._[JqW$,cY'C/10FY(rqf%4k7PLGF;kZNpUC1rp618MJFJ$S3]KsNd7Xmg-D=2grk?!Lc,<9W)%=B=cHiuFR5na)/q*Rd/bhu"CT?Irhj-qKEf=,EW!k]8Jd</G/993`ABM"(m54FQAOYL=*<@5pF\YOQi"e_[h$pbe_OWcFLN*_RE=2C\JhIsf_cfV6a]4XI'Lc>UtKG_0f3<^)P`$6bYIc?TaA'S^rT0;SVBiSXKbT6b`cY:JIt\HXl`-n4DAtBBZ-*HVf<r*Bm(CPEgLC9M8Qs.$+&0<)3="O#\/T9bYBtc,C4fHjp-3]@)`:3*glbSSfa?qJY!qpK1262()kXgD&,!\d5G$P91a`D7U)PH?X=3!IgBK1>b>[lq?p'0H>W~>endstream
|
||||
endobj
|
||||
% 'R34': class PDFStream
|
||||
34 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 2462 >>
|
||||
stream
|
||||
GatU4>Ari;&Uk7Ps"MO3DU'HR9!U$AkQTU[g%H,XQgG**6.6'BU24Zp8r'/#ptp:MUguQqXLL`YfHNQ*Hnubf$l+;RIt@EfQ2p@qi5_Gl#XWdW+ddRSGk_?4*j2[lbX;5#B7W"46Bo^--jIZLlh/f;l`7hC+V5i:.P8nuD^O!)q?fXr]f)*ZU8A3=(elaL\UE@m-htb>K<K,t=%^5[LL9$!#K,I9o@__1bpPTap,#/\W?=RB=He,1eBrj%IrMfH.b@ol,rr&pe.(UKQ<_>:[a6!2Le8lp1k3>["gT_j.T4?D@3H6,5dQ1&E"=tSo+tHYplqhZ"P.S--2<'L*5rhe$At"*j-c0s(P7#'93^XI/qF=;FKUK*dRks[C9[fj^q]mH"dmMAX]SjBZB4_+R2OPTf;I<-!F2abP+0"FQPCuF/(q:@MbEN3Q/=WN#cO/+N'qO403J&Rr#%YMlSp_d#7i>f382IBH8UCm1hR\gjY+"idXm:PMDHJY<GNg@jX?6>h8,t'+_;93::1Nk=Rn<dJL2)T%c&`k#YYZ:M/MY#/g>n5$''@ddX!N?c-mk,2aPGP;<%!mZQjb37Fo97D8pYJ$4Y"SA]Z"N)01Br%p/$R#`4C)o#Gru#,b'*el`LK6ASt4!_n*K)qENrBW+C=3#82N(7iQ*H>c%2`cVui'VXm(.Pb,2B6#dldnZVnbF5I9aeGOZ6nC&$&-a4?rq,[nn0V^(mO#t.PUR\%4IM6D%]2`6s#!;*[gMl>f\qhnmnGd7gInD<R,A1A$$D/gV\Xte$j/@'eXDM`UJFO!n<@db:#tLQLC4(K#Q;/(6(]e'kJHK%$U^<WZYk6<hB.6=m+Fo"GMEbJhE7Aq1*^/]r_6BqS*m,U*UGo^r*Tbu(U&t)SbYlC"S90,r3]R*qLg5)5Z8;?ESQ,_BE/d`/2;s1(>3_%R"J/2K>OL:6/X2WbI/r04sVhB]Lgbl_dGYV0q9*%qZ;iVGOW=MS>PN.iT.eT-asZC@#7sRM':$H",6>0\gEI:7/q_L^@GlbO@6IOqt9\Jd+"LV-qa#>^oHHCk*Mb+8]-DR7e&u5)"c/qAC-<QL[MdZHT-1#oVZ\J4S3W2P0A]]k^7]fMZ2A,oPFZL>)-fiY7C-7ai,>N4oas4nPS2V:@ED2^au_P=Fhc"=GK^Vp0:Fb=>D?aGk,^fg;&#g.DDcab52='Y*`ZI-%;q\]61o#+O$0OERIie@.Jr13"o$:Zd1Afh_,^Z_qKLeBN:ElHUFW.X%N;E'$n"h]5k17P`%9PRA,VfB\a.eXH:!7=LtM,2-Em^@u!n6dH]CeCO:Vd^b^Co,o;%cq#jZMqLH=l=H3,L.b]ho[P2iu3Tb`gM-7DFV&(H)>+.\a)?VU&`hg]G>Y3!dq7R!T_H^6i9@N7g]eUgiEj#^tT`Uuj9H.8J+,QfU"!7itTHquoB_3;^X0"tsi!-anWh/E+XLR>1l@0/oX4u2.]/aE&fc1q6)0sdk%7eSZii<h0DJ1,N.rhP^C]j(u48X/AkFR1hT"!"aeSagL*>\LMC7N<i7k,ilR)#)PR39LZKkD%3Tp?bgM*J\HKAl1BGVU.!e%s+n`a8,ln8_tme<Nnd5>u@Pi/n\s<-4!+lK$`,=OK+SY\h6bh$;Su=b=&I3oXXtVEo>P4#;;1bO!>*/a<@R`T31(:rY1f"Z#%)]W13Y0JU:s6d5_YL%2=TK9OR9]Y@a?rV_U:rWYRZS*]k#1nf.<2g?@:hKt2e31CGb$if\ZqbRS[;!B='G&4FWggX'&>)B\Pbo!W,SdiYI(nH])chdMC:N=M@,(naf]PZA0J]CVCgqD4!lY']/cTOrC%'MJ(:+D,VBi?a0r4!SB8S^qVD;O#nkFO"MlDLWO[)(8U%Edr')L[`m*FmAR#=4+?Nd>"/VQqLo\fUb]pQGrT.7r[=KYbm6^26$.CC4AA<X%SnX$j-Fb:QfH_PQ7*SAT#hLC*tebDF%4V""Y%l9W^+:*VXY9'(>rK08c>Dj!fa#2a9c(C.8pNo9Rh7??\&d+D_IH-n1]mN\D!!Vm8\A\l37,h_1@EHiIn"ck!C_5FWGi8OSbpb>DPDA<c&b5>p?)Yga$`iR>g3n!9:99LmtZf^?L1;FTc,iMcP?Q<<5HL,J-d69SS#K="oQ^%7ZpE[,*Ed[='pS%$d>o9(4%fY^hk-?H*:l&.]d$lpK'a6KI6VW&CQ]i!Urb8,ImXFZ:&Pp\]mbem8G7mB545;N2gT&#V\V"8)gdr>omVp(fUY/eo*W-!$:;SE#LDshhMp>f"i"n(k&k89NgbA?ar%-t?IK=L;@?e=?%5XWpB/+W"$^a!^UWa`rR!G'h`SA9_@.#;!13^5Abl..#q\M'_hoORp@3,Pa0mE*pQobVLbT6,)cd-\.`?'N(_[fo=^&PAY%__K)B)PB+^qANEh%2aBn#g?@h]:uY7p#WO^GqhXS`CQ;%m+^Di;2_gA#@S(~>endstream
|
||||
endobj
|
||||
% 'R35': class PDFStream
|
||||
35 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 526 >>
|
||||
stream
|
||||
GatUra\K`-'LhbYndfXFPo=JZ6bKO#O:W?R?U..0AUlV6Hp2`M!b-,.'uc%]qrHo'DJTZu4EPfa28CDkX(r',6,!EC'+XgY/Fti95VY@1TF'd([7Xs6>mZR3oGU46Eu<:rWm/9+G/(!9.*8ELR5CDnXBXFA!nr$qA0M20\[GYAff@jc4TlQ`#Z#"C::!0(1:1GOTuRS;X\k&uR`2NZ$!@U\%2URb'0Tu]n4UiHOO&B=>U3L&ilh(_ZIs0R8uN4oZ%:rDh`t%UbGO/Y![ptoJW0u#&/Q`m"-20l5tOm8a;j^Vk*Y'a8'Ys(7?BOh'?i2ICQ=q>>f\%/`$^p^K%Cu&[lIMUk(lee`rrS+Ec1J*$Sk5"JiP0&c&m(:1EC"dp]PY3n<tSG`gh^MPKDtJTB=(%:2,eMiY0Nj_/#(dREi]"+6Z/JpMC@FH\D?p4]Kbs<5Q3sbM(SB8XfM@rp;i'12cJp2kIAe2s,o3E',/_"R=I4U9^,Kk4<u/lf7nYQ[E#XjniIO*.7g1P5ot~>endstream
|
||||
endobj
|
||||
% 'R36': class PDFStream
|
||||
36 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 3185 >>
|
||||
stream
|
||||
Gb!#`;0/MR&UrUes+e]p]N8b5bQ%`-DK<4cgIcL/=heP>J7U9O-\3Hbqu#n=0\m"=JtDZ]WNG!^Jc6M#JPYm^Zl:G;m6B/$>],8je#iE78I;64m=S7*+r7Y;'gLP]]rOT%]DllF(3(m!Sh<\`p8.P)p$U^=mhE.XJ`<I5/[p-np4<2-lCDcq%9HK:iN9_Vln>3I$XMZXT1-"7W`n1@Me04TDX6c1;q8$>]AAlcGGs1:lqV,A<82F:5&Lji.-ndu;E6Sg;XBl#YqE*-\ikki_RA&S@_"+X^V(Gm^P^e7`-&=i*r!YE=YpZKIU>3;okK&oY,f>0s$rX.11+Qa#nn9ERGCY4B#O#m>t8[W;P"8]-MD+"DX<dWgr"?6Zd]jVb>.gPi?t!2J8'H538JHbHaXk@XEJaOfrhp9Yns/0n0o!Idm/do)_&a^>]r`Mrh4#KnO"4'XPWMq!<1K6gBjP$ks?]Lct%E'[8YEtZI#;m5OZem1[Klmfc9NUor%*A7clX5b'9LA^jl91B@U6MQ==p:QYRuJjeaNnp-<^->#8*0SH@`o"O(t[@LdO2#>g0kB^,SfVJ\+.l6^g-F_CcX\(_l5@U#r!j0fn-QKr"lZ[5W6`I>_X1"gIF:A6hF=oAPL^a"IIkXPimC$JR8U(6YmlHfT,*IuVgFj?]kn,Vb#!_j\c1Xm_3\dYGgIAokk]&J^N.X5K(^*B\Q7TSB])Eb2!%]^C8eUIMh\bknI)YQDp@]'?cGT*G=gVMY3cDI'<eiiME>eW<O8&,f!]U;24<Gq/NimmLhJc<D\J6CPS@!@>j3kfPo3[5Y(Q&[J6-Xs!(h&-9;icPU\SKSQ4;8DT.!B^$:"mjMG:h.(O7/+Z;_S]7-CTJ`hS"gpt<Ni%/2m>H&`bDWF4pp$]]qgmN\++:#D6;V^0th\U(KV(gl[)L`WW02?&7;W!9tP;'X0l.bCl;qG=,Q%3]GI(.E*+Y,?f02Tqj#Tf-r36oB"mm9c88G00T"\oh`gM3b=7C/]1KfEY2*D/p5)1<&K^*`*SKTPF.u+!1TtjnDP;$00sT%bg9)/bi\%%>:.R-eOdOai84kD^rZ(fG,-STo`UP.u>^,POe@`9pS:q6mA*+ONZ@A)=S6:YY`]Zlur*7`M_m<$RIq&V1.dn_)qn.F&%emGA5<7S9HS^C,J)!a"mADhiVZrckE-Z%7*#O,g:3B!@klcURbnMj4A)PDfC'nW`V]Z6B;XUE4=YdQK5;/qcI$$8!\fC/,c/TL5GFsrTk58%.VgsVGdW<4YVCc-KRTMqkR-U'%9+e'`"P7M$Di:XPg'PX/!9o=o#`o6O!IDtkSH*As'-N8:!Ko\^+:SGSdQe?d%<MXsE?ILb#6L]P+@$(p8`Zq[#phG3qb)oT\:E(BTTbhb9#sS`#!/a2305$b7&eR!O;\Q2WR3sY2%g-lUN%D6)@05.i2kER7r"2=20,CI;Bp`821"?k;Bp`82%k[BUO\!H80CNa"JXC:+@qL/U!uUQ8rWtJe0HWR(MeLmC'aO")P%]FWR3sY231F`P8XmP;PS4S2%k^CUOaOF)@069JPKr*%\uSS5\`+eUkZ\<;2mB1Z,\]Y+jG'ro,Z1?a"uW3b]bo8*R&oO1=)Z<F!U>taF)%5MqTBHDb69;Jn.5X?7*5@n6,&BKGtJ8D0Y4"r`>F.Eaj"c/0tM@cSAsKr%&uqa'\#Ii:&09k412h,I_r-"IYT/#+MNXP,eQCouSo?*^sB6`T>MDbu$#MrJ/UndG4FDlEW*lcu"eP\aD[XI1Wh_;9["$;;<3]UZ<,Cm84SG149kF8's06hSA:;M7VJ9J,e<d.+Tc<i9%oM-jgh1GO+'C7P>)JOub4,'9bDNZ\_M6@/>b6LJB.$2Y"t.;mgIBY=.tam_u>2Pm;:Rg1D^iqHhr7D;/m=;M,eGr'_7HGbd1@`LQ(WAm9FY%L5je[^b(Vim@3V3)W1@X69*0*6!>)s03=)imAe[X*o-j]f7jC?'iWU=7"Zo.;JBY5FR?[M"In:nu6Qrl[.5Qh2"d*G:3FIh$+8CMQ1!=gGQ3[W:l"T^O!B$.I>?g=B/#!Cmt<N<>Ve!]e&FlkLqi3`@C28Q;$6i!At_fFroCU^T(L.r6RX^5!Ln$5(U<W5IlMbS&a(A\N@>!:$do;SOIZQrF,D.?kl23I?V3]'_A=a@ND_R-t:<!\qmXbAJ[.I_lFQ0'#haY]`(BX=_3cfqQ$%71"u-nX(,Ic[:],6o(oCB?@Pttl`Wp*rDaH5^In%mS+F4\nTnu<+5[#a`RIR_"3[QN.m<1D'i55=8<:WeTi$ln.E&rsF=L>(.NZOCjY,_XG''F7R73'+(L8e'Oek%#=c4N^?AsO'-!?30lm5eoP;CC%o!d62!./O6A<4O:=s@9A%cTk.B4U!=fOn/X:6b:+EY'>2T$0VIH`AVE8pPP>L_!pdP3FQ+T2Lq7Ol=jQ+?kIl+VQ6=hG@dE;%iEO-Z:Vb*8!Ul1j]5JY`E98HbbE@LF-^.!1[I>,s:mO%q,uCd-Lcm_d;rI(@`R7[AVV#E/)'cGqJ#CfIKb$7GnT$an/aSm^:KpCF*9ab,p+%p0)9aA<4Mdp<3Tj4P4GS#nQ`of4sI&"ZkT7!b>*A?NBH7pBrhL"Toe7L&nTX?SMQSj=:Ggn@Vf:r?[)I^%(_u"O=5IG[?='&GCsYf-50gIE_:d`.tRX4hVV^1[H?Xf-3D3IH9Y##b5>,H!ZF(&GFi,CCrPD?LbZDnKI7aVq3,3mVNE1f?/'9Q+gQTl$#k30:RWAXn;9i8\T)*1Z(.5K=r%i+P@uYL4.)5>/Z3#cTJlVJMZXkT%>/MKRN.M[0W:2Dg5THp^m/=dq]OT_`m%)/`K.M-_=Y&^_ui#cYF+7_ER\c=p3-TO*Fuhp^m.]Vq3,3L:u_p/`K.MCJV-&i8!XP4Kh2$#^b[t[0W:4cgt>Y#I4$q=p3-TQV=TJiEe$_]iJ$;S+E^>%sH[^dqEgFB/?.(B#-*hH(&P=H#1X0fJM5h;br$?.=X3;HSrY-C-9bk:u9@mP(b16=VFS@rJ&$5!WOq@qhNjCk?ARR^C5E8MSG]88Jq$"^1gVgh9'!2L9Fd/(TlaLJ2moAT*+j`!N:@j]B-kQh"-8mZR-'e]CNecX8Pon\f?$<kgDC%%,l^8b9"D_Po,N(G4.lI[X:rT*?g[UhhU.T,K83Frr<IeX^1~>endstream
|
||||
endobj
|
||||
% 'R37': class PDFStream
|
||||
37 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 557 >>
|
||||
stream
|
||||
GatUq:JZTs(l.Q*I#%Hp9?,]6^K5P6)D<R!j$=Q(/;*/@cAumJ$S:$4Oc0;-qt-4fmsu8WdQ_R:E<^@o_.89$'8RESBg<iQK5'Cn3='(Hb&BTpE$YQ<@?\L%msXsPFu]])5[ph\bgb[sp[jnoal2a"Gr)E*"9g?DhN]eG-["KZ<1h#t4:c46FlS_Z_MRK1WtR=q]eG-,AdI0K;j<j&Rq9&gE!B/DB3-`TEXpJ(U<t,O=eJ^th@rQ4!+I,Rb[_HV]V\+2b!M(gTpM6ZI`+unZ;"Sr2FiTD,;geRd<9qn:VYeNI%,R2Yl;l,-1'&h$1U&Nnm^A7)A;B$&hlXH+;]SS,r]_73)J#Ggu/@Z>sbI"j-n4[fur10"3b%;Vn(iVc&(^smdL8>/tpbLE@p=OT/dg+NrE^P3m@9+[#_c8#FN,V:34I`oXnPSs6WP1DoYLfJ<#p;HeZqlCMp3D_uF\X#6ofd2;PQQ7d.hF%*[LYfl,R2PRM<cCW:6V4mTS&2&5Gg?<A=X#V0fl7JUQV_U@i4R<s;JNH@>UpSPL(Ja`O;)OJK?~>endstream
|
||||
endobj
|
||||
% 'R38': class PDFOutlines
|
||||
38 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 39
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000298 00000 n
|
||||
0000000463 00000 n
|
||||
0000000656 00000 n
|
||||
0000000887 00000 n
|
||||
0000001113 00000 n
|
||||
0000001336 00000 n
|
||||
0000001653 00000 n
|
||||
0000001818 00000 n
|
||||
0000002099 00000 n
|
||||
0000002271 00000 n
|
||||
0000002446 00000 n
|
||||
0000002673 00000 n
|
||||
0000002897 00000 n
|
||||
0000003207 00000 n
|
||||
0000003489 00000 n
|
||||
0000003678 00000 n
|
||||
0000003905 00000 n
|
||||
0000004129 00000 n
|
||||
0000004441 00000 n
|
||||
0000004631 00000 n
|
||||
0000004799 00000 n
|
||||
0000005079 00000 n
|
||||
0000005359 00000 n
|
||||
0000005639 00000 n
|
||||
0000005920 00000 n
|
||||
0000006058 00000 n
|
||||
0000006329 00000 n
|
||||
0000006507 00000 n
|
||||
0000008777 00000 n
|
||||
0000010171 00000 n
|
||||
0000011634 00000 n
|
||||
0000012106 00000 n
|
||||
0000013459 00000 n
|
||||
0000016064 00000 n
|
||||
0000016732 00000 n
|
||||
0000020060 00000 n
|
||||
0000020761 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 27 0 R
|
||||
/Root 26 0 R
|
||||
/Size 39 >>
|
||||
startxref
|
||||
20813
|
||||
%%EOF
|
||||
@@ -1,222 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 7 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Courier
|
||||
<< /BaseFont /Courier
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 13 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 12 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 14 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 12 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
7 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 15 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 12 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
9 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 16 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 12 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R10': class PDFCatalog
|
||||
10 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 17 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 12 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R11': class PDFInfo
|
||||
11 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R12': class PDFPages
|
||||
12 0 obj
|
||||
% page tree
|
||||
<< /Count 4
|
||||
/Kids [ 5 0 R
|
||||
6 0 R
|
||||
8 0 R
|
||||
9 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R13': class PDFStream
|
||||
13 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 399 >>
|
||||
stream
|
||||
Gat=%h+kg@(qj:^G;tEqTS]Ks"j82]d0iWeoED+X0`tpg-,d:%/T(m=#U)pS/>qD$.g'pPL%B^%gai"D%#dP*^]Y6G;`q'>qMM%uEA6W3cH*60*5I#Kpe[-9OH>\nXjKjLVL8(kJ^VPI^<Ne"mJc9`F:ImLFV?00j/Ba6LZ"Cf!ARtM#]M4iC!;3W/`CW)+ecaj%YI7gk;DB%)Ls;!0^6%8mWt'\(_''IcdGh:gn7=s%I5P`Qu\HrRhqJKD*9cr-f_+84F9P(^tA+@7ONRc#A1O"Y!2P8FgUS+[QCT!2siSK)_A"2XUR2-T$M0aS<?#bWp\#brP,6oV'h-;cp*F:djiVBZs4ZJ_Biob.U$Ci,gt&1=5=`<%HGFrdh4[bHrb+O2b"ec!"MI(OT~>endstream
|
||||
endobj
|
||||
% 'R14': class PDFStream
|
||||
14 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 500 >>
|
||||
stream
|
||||
Gat$s>u/<k'Ra>os)8T\6mHcTFcJtN?qaCp2"APO.YZ-_2VT_OhqOG-PlOFf/nrVEkFQ`uK%M^8s">&DK&`Y"5UcC=KLH<^LCOiI[kR:g"\B_(8X(b[$]m@Z:"#uZ;P\:@5!e5fVFRu90"BC8rV+0"1hVTWefjf=plVJa%tbMX'TC%/b.u:n`#*0V6:phJpr*M?`KDW]<j6LI_'iSsqjEVb8kjsnEf^SR_BAQ+C@k0+h9;i]l(3LFhDo`8)E]Z0C,(l*<jII_a+Z6:3O0uj_m5%-MA"WjNoe,Qj1lbY!H_Y]NsE!D4A.JqZF#%GD-CAH`'e?>jc%;UM8423jgn]eZ0dt+A675oZI\YQfNe?\`8*#Np/M@qna76ZeZYj(Q8@2H(Z[oXgV3)u/tIV]09b$(?2[-fFg&_SM)sO]fojfqf50HG;60!"lL\W\'9;VIE*9Xnh`iaCEm,g\M0?JENV)-)Iui:MFo4JYXn:@8>'YT'K.j*u2.6~>endstream
|
||||
endobj
|
||||
% 'R15': class PDFStream
|
||||
15 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 517 >>
|
||||
stream
|
||||
Gat$sbA-)l&A/t[%g@=5%BQ:AagQ:#GsFnC&)BP^:=e*d?mjX4Qi):Xq(Y'l%DcFc<E6)(<<VPNMZ;iD3,poA-P42/J@*[B=#b88nh3]]`ZPpK-BX@V#AE>=\Ihj](b+D^r4KYUig\D<\>nq8s*rd'ptZ`Nln>kM\>.^92GN%)0JlF21iu2RCToPG<Oe+AO&lIMc@sbsi$b+(<(K<c[(_S=))>[5^V^*k,i`om@!o8S:cc),iq.,pD://n>Khkn$]'LF97pXDreYZXCGK=$l%.T,Rub-I=$G0b>S5Su9To^bHh>0>Tme$V\@W%.B6Z$HXD#CP-AY@ZO#jr(>9l*i5+G:l\Ybb!L3#Sb<)s_GSr1364Lcq9O&*`NhsQI5Y-"'P)5m9,Xsk"%f"8r%J(]m/gU1gW.8;%tI,;QGMe$#t76Ze8q.3VceIl"6+`f`!kG^'mM_c29E_=R`PGJnfNF$"A,:e0d<5+r[4hd/:fOI4PPfLZjg+*]3BZ0c^+\fZN6,E:n~>endstream
|
||||
endobj
|
||||
% 'R16': class PDFStream
|
||||
16 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 351 >>
|
||||
stream
|
||||
Gb"/a;+ne\'SYEPr=9-$R%c=G`1"As%Nd#sQTn;'Xd-<E/-GkF-?0dU7bLUc1//,C3Ou]`,6HXb,/,-;i)8TO+s70&KTJko:N<Mcj>BZ+7M%%_,ZrW5?4a.uPUSMV$Arog#,D(M.HOVEBX;ZF/Sf!<qY>+b5(\6<5)prWd\Ohc5n[g&6CnQ3,tKIeK3:=N59dUJ`jkXMa,OjQ;6M#&es)_B$KoWC?J$GrGVn.>>LS&CctuJ%@r_q07TbWho6pc8<%m0BJU,jJE9>E=ZsD^A]Zc^Bh6LHr+8;i$Nr+QZgE6\-_Z2.?Q]T>o$11GsRr<r+%qq`jW:l.Vs)\3gm^8OE2#.,e<)7?~>endstream
|
||||
endobj
|
||||
% 'R17': class PDFOutlines
|
||||
17 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 18
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000245 00000 n
|
||||
0000000410 00000 n
|
||||
0000000599 00000 n
|
||||
0000000758 00000 n
|
||||
0000001037 00000 n
|
||||
0000001318 00000 n
|
||||
0000001497 00000 n
|
||||
0000001776 00000 n
|
||||
0000002056 00000 n
|
||||
0000002194 00000 n
|
||||
0000002465 00000 n
|
||||
0000002596 00000 n
|
||||
0000003137 00000 n
|
||||
0000003779 00000 n
|
||||
0000004438 00000 n
|
||||
0000004933 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 11 0 R
|
||||
/Root 10 0 R
|
||||
/Size 18 >>
|
||||
startxref
|
||||
4985
|
||||
%%EOF
|
||||
@@ -1,124 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER1': class PDFDictionary
|
||||
4 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (mailto:robin@reportlab.com) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 4 0 R ]
|
||||
/Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 416 >>
|
||||
stream
|
||||
GauHFd8#<J'R_@f+7A/o@`L's"eUaqAn$^UZTl5PF%coJ;h*]]%^tr44nrDu8hT<!S9$>PM!Tb3?Q4MW%C63>EmPaj_$&slR-QH)6#g'P5pc`U9JMr%>JNlKI"h[q3^cR[Zo/DM*72ERJX+6MS(0G&VoUl<nsS]Yd1t#FS$2)l[eY+J<E[(\ljE@po[F%iG0@51,[jiUPkE&4(kJZ>B7f!.N)]'Te<V1Li+^Dg'G@RrFg.:^!UO<&+H:]8/bg_VAb0*4$8M35H-/k?kP$qa'N;9up!gOobN]L;6K0uJAl[DGa.L;C(]S4GjM#PM>&q,iMiXak=8@`U)fp<(A(La/TPZVU=Pd!PEu_AD%G4\rh4iU84WkYmO$';[3MU-bRYTOq7o8+e/Y,!>_b'i7&J%fn0_begFLg'~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000579 00000 n
|
||||
0000000795 00000 n
|
||||
0000001092 00000 n
|
||||
0000001227 00000 n
|
||||
0000001496 00000 n
|
||||
0000001601 00000 n
|
||||
0000002160 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2212
|
||||
%%EOF
|
||||
@@ -1,318 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 9 0 R
|
||||
/F4 11 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Annot.NUMBER1': class PDFDictionary
|
||||
4 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (mailto:robin@reportlab.com) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 4 0 R ]
|
||||
/Contents 17 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 18 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Annot.NUMBER2': class PDFDictionary
|
||||
7 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (mailto:robin@reportlab.com) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 7 0 R ]
|
||||
/Contents 19 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
9 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
10 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 20 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
11 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page5': class PDFPage
|
||||
12 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 21 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page6': class PDFPage
|
||||
13 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 22 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 16 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R14': class PDFCatalog
|
||||
14 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 23 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 16 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R15': class PDFInfo
|
||||
15 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R16': class PDFPages
|
||||
16 0 obj
|
||||
% page tree
|
||||
<< /Count 6
|
||||
/Kids [ 5 0 R
|
||||
6 0 R
|
||||
8 0 R
|
||||
10 0 R
|
||||
12 0 R
|
||||
13 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R17': class PDFStream
|
||||
17 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 509 >>
|
||||
stream
|
||||
GauHGb>,r/&A1NU5O>XS_IRN(N]A8YJqO\597A!8l&.Yr&tkkXmC'"Cf:`E`/(&[`1ZP`m&EjAdH]eIn`c1[*J/$ul+=A/g<uAli=+I)Yn.5oh+I",qJguIuhtut-h!u:YBNp\U2?MX3B"k1BYuT9Nq*lg;9%<(sid%OAlZr;sID@gr"I`kkV,.rSbSN.<P$*)5nIjiq2)VbYOf)0?-tEZ1;`bX5#D\Is`E=jE?#.)jNR*f\'XC0t=d,%]O'H03&f!tE9XW7k&/eBbbu]`e7b12*nVgD>&L1P"!Ol_Q@G3XjE,54]l6$O^P_QMKSH`)+^V.*%mf`*0O@pc8AM&(e-]@="=>M.)e>O??$5_gdd8C26WoGcCRe"0J)@oiZ.]Xmh`ai!0(N7W^mdT.T@!H_g\i[6)YE.M0$8s`a4#+F9f5dcJH8amRrnR,DadY%As(Gi7:+,8N#;4L,S`=1DGC$jUpB&b,l#PNGNgi0LijNNWl$r,1'0,dD+5lJm!<~>endstream
|
||||
endobj
|
||||
% 'R18': class PDFStream
|
||||
18 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 202 >>
|
||||
stream
|
||||
Gaqcob79+h$q9oSbWjmZ\j2,TaOWa\DN+Mp^^;eY'J].L*NC8;D7[:&3L:<R+h_Fplko$jJKjRuj8oQM@aEVI8>Bm)9S%7UZ8>+\(^+Je*nJ]!1Hi\qQ)t7a#")s]8(2;Gr:Xn5eJ(`L"kVajcanT`(DMH@@pV!D^;F%\3dHdrkERU72t0FtSTOl^CpLU'cX>!&1kmcE~>endstream
|
||||
endobj
|
||||
% 'R19': class PDFStream
|
||||
19 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 475 >>
|
||||
stream
|
||||
GauHGgJ5X?%"5>/J+2Kc7#9;s)P.Mg5XG`jUHd+bNc"F*\cM\UP&0O6?$P!(C6[<>nZdM4,#Im(gF!0?I0)><#fn-V!cl.$H%nTt"sk[0(DfV%#H8H#1"7)RL;>VRE6#k`,dE.^."a=+8J)0Vq<I].B\9:oB+;<d0-P?jbC_KblSMJX&PFdFAZH5?Zg'&jK3A&A5s?qd<oaUN"XJM_B'@goqe0)/#bkh*J5b9'NBi_9RbP<;<5l#)dbl@qJAi,ZP"W;SVo#fZ,B-`R?`4&afT@(Y[mgh(D83cN[)i/O4:lO%<5bLH4"/O&IKjU*&KPUcNT[.!o(?ZFWP3$c[XrXE>MC-AFnStglT?2O8QD9#aP"5DK?Ji*jRHf*B!^/1=*$u9@Db/^4kX]"j;U6co4L;^@R#-Rk4U/O*Rs]-mQ's6*p=SF`-B=8be9([NmF(S+*-01A;ONc-"d21`E$p`K3o%mld,~>endstream
|
||||
endobj
|
||||
% 'R20': class PDFStream
|
||||
20 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 172 >>
|
||||
stream
|
||||
GapY8_$\%5&-U@,+TF.R7>8bJ]%67K[&47GpCAO$KaMSnIqr!f#)3@MLgqk-\Hb$I784nZ>sK#*emN.Ih7_"?"R3so6M\)&kkDukL.W-u,HSrXZu>`DX^UHSTRC+$K]5'?eI:$Fk5"$#h$n.SE""4X'a52R.NSnuGOY#0-G^s_~>endstream
|
||||
endobj
|
||||
% 'R21': class PDFStream
|
||||
21 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1297 >>
|
||||
stream
|
||||
GasIe_/e9g&A<G1s0+:>7.."\.*K&HkbW,Y4h-oUd7c1,JE2k]%0A?db#Z6jDaB5ch+T#RA;OFT^4#nPjg;g1Sj(>Xkk>OWhr^.VBi@sEb#Ym[UCWjCPK2.9FETtG>0`FZG',d^6,([O]NSr,X#7!q$ef\ZqrdF[jek=]Bu;+BQU+-=?cO8WDU)qe05Z/0.6aAq=LqheC:VF:.p?6@fkNt!opS"lQW3r\!`<$c98P.1FKe:@^3Klm5o30[E.3^%X+Y^LG\7Q2rDt#oO8Kthfnt+;<T@*:;Ws+#;;:5`D"\g]bHj,e5JKX.H$/oabps4S#t(:d4S!du9X@Ho"%CRfc^%-;)@1L#*HgXuWF]'1:8%>)lLFu%hl!sjEZe@Pp@>H2B[cO*I".DJg_lt4E()/iL;%m&*>JpY#OWg"JW,iD$6rL73UrCeko+1q9R4&%3j[p5[;gUJ'q@^u(\\lokUWm</Q:$RUtF<G:4ks7.,gODT!EK+dn\R`Y=b\GV2c&Q"0$99!kHmEoV#N34k3k]./0'T!a%Z7%3iiQ>6SmSH-^DqHg4t!5FinZ1/foR>mq9Yi$\d#\NiX7d(7%mWG/BfP<Hc2>`>gQ4]?"cLNh^ue]nUFQu0`)A9e&[84iCsq]G/&!a>T.fN6t\HBQl$3l^RR>JraiG(+l8PJ[-1^Lg!b(eZq?>A1!h4<Xc(A3e)+7EB!n/OOaR;&OooQVfiFN7eNBhGloLh3=!:`\])226/_3UV&*8]$pPanbb@[cQ1b"b,b$SQE<[_l)g.H)YPX)Vl3m^4B/K4(4hirl2"n-<s*=(]&)p4Kj@b>PL2l*i!b=m;HG7l=Qbm8V$It^>TJ1/(Mlt#.GRh@ndAGsN^lpGY0hI)*hj`KBi$G)K9R\'03+=jdXs@**g<Xip0aoN9hY4:cC,1ADJmu&g&9T'#4gPaT?(ei;.'aiAb<QskR=&Q*+>G):>6>6OF:UGISn05!6,8u(h>UD.QCgh"rS8D3Q0;QkV8L<[MAOQKddSl#$YLVqjs&`Z<*moSdbljQjUK68m<3a6#Xl0'\9AOSHl#_Pt8qBSKL!3"Z=,3`7d!C"9:feMK's[\q6;m6&uFLg!QQg"ND_T!3agW!mkB`gl!^'<&:s,in>lG`&4]FfS.D;gaH,]lGa>=GPSd+6]`58.%`A]Ho+9'4H+-4Z>>R/)VI]&`'priTHTmUH_YoG>#_OV-VF<19Ni;G8I2m]@Z0;0CfC-MYXI/0TkmVteCJ7+67:f.*-CBu`eLTXP9rm*9,?XV]><7th05rZ:/CikN,4al~>endstream
|
||||
endobj
|
||||
% 'R22': class PDFStream
|
||||
22 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1071 >>
|
||||
stream
|
||||
Gasam9lJfF&A9%PIi':E]5X""/8oa97C+@#9c=&Cpd.QY&mL6X8]n=7lhcFjO/+Mq@c:Tc*6u3Bn'0q#_C&.:bs:no7IPC[jTSY2b0-l^lCQj6QPY^L([::Pnr9.SH+#o.i?1AG.Fsu)>Ae,\>#@0(eK;Q^(E\._;8j^,k=J1@\')[Ym57mn;Y<s\n`fV]da&)^`@BW,<8Q_>=]2NXOD"E[ara8!C40/S<&:>&<BBX*G<f2N>6oh)4/=;=if2m0qMTXsU1=4ST-Gf>d\shD]Gc,(UX:f2gX4b#[];>Up+Mr.IR!uf?:C'](GocB':PrQJYF3Q@a>bJCm]M`kW>#Kns3MVICICu6J*/qc,P1.d(@E,GT^j!^a3?0,I3a9X"E,/\$*8;^;ssPi/GHSqR5s1L!*s(5IcnT09PFrl+oe%g$?D@'H)]ckn%u)L7d,Fr=.Zj5W7CcmAr'T##3LWG%s9Wj(nk=P;9LX"fD+6@*;"M3el.GkJp/@*nWf??:Cm-Z:uua6$hkdef"02,3N#5V\^CX2e\+7B\U&eSD3F^[W02upmJu]eBVUs_#ZOQ!+)F)'G@K+9/XhF,%uLGFm0A8^]hWKE(_(l+e55f?9kLg*do-SjekQdP`,)VAI7q'RYJk]C(:3h[.eI2^![rqot'JRiJOro_p<M,*j-TfcQ70"UjXGjdrc*7_RIp^<h_CorA_B=`qI]Q\IaIV6Xu"j<!SEbj1Xgg17ZbtE52_g+rGZC%A=^T4JkQAD9F/.@1#E4agQcM33r+:%+]CSZ[j5%<I4A:[#G)'oHl>%"-=QnkCG'[/(UuI-cf%P_+gq>RK@-o&HJ[oeVbac?,93UcjPK(m-%:\H%I%KJm$W1!mkB`4I@Z>?*gm^k'BoPREI0sbouX#2ej)Q^@@E'?%-\8'Vr`?b%D/2BCnXDLX\5R<BHs,gTuMJG*3kc;:\:b0[D1pVafWK>cXM2-2p^fNJs5M"C2t7DK<J1.mF,/PR/&H:9Kf7g<;bkJ(jEJpA_h`Dp.f(/"q3-+WO#Ak][9DFDU'0OO^:,2<+*-C\Vt"IUP7bji'GaC*)j~>endstream
|
||||
endobj
|
||||
% 'R23': class PDFOutlines
|
||||
23 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 24
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000246 00000 n
|
||||
0000000411 00000 n
|
||||
0000000604 00000 n
|
||||
0000000820 00000 n
|
||||
0000001119 00000 n
|
||||
0000001412 00000 n
|
||||
0000001628 00000 n
|
||||
0000001929 00000 n
|
||||
0000002116 00000 n
|
||||
0000002398 00000 n
|
||||
0000002572 00000 n
|
||||
0000002852 00000 n
|
||||
0000003133 00000 n
|
||||
0000003271 00000 n
|
||||
0000003542 00000 n
|
||||
0000003692 00000 n
|
||||
0000004343 00000 n
|
||||
0000004687 00000 n
|
||||
0000005304 00000 n
|
||||
0000005618 00000 n
|
||||
0000007058 00000 n
|
||||
0000008274 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 15 0 R
|
||||
/Root 14 0 R
|
||||
/Size 24 >>
|
||||
startxref
|
||||
8326
|
||||
%%EOF
|
||||
@@ -1,263 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 18 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 19 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 20 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 21 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 17 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R9': class PDFCatalog
|
||||
9 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 11 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 17 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R10': class PDFInfo
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R11': class PDFOutlines
|
||||
11 0 obj
|
||||
<< /Count 7
|
||||
/First 12 0 R
|
||||
/Last 12 0 R
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
% 'Outline.0': class OutlineEntryObject
|
||||
12 0 obj
|
||||
<< /Count 4
|
||||
/Dest [ 5 0 R
|
||||
/Fit ]
|
||||
/First 13 0 R
|
||||
/Last 16 0 R
|
||||
/Parent 11 0 R
|
||||
/Title (TOP Level) >>
|
||||
endobj
|
||||
% 'Outline.6.0': class OutlineEntryObject
|
||||
13 0 obj
|
||||
<< /Count 1
|
||||
/Dest [ 6 0 R
|
||||
/Fit ]
|
||||
/First 14 0 R
|
||||
/Last 14 0 R
|
||||
/Next 15 0 R
|
||||
/Parent 12 0 R
|
||||
/Title (Level 1) >>
|
||||
endobj
|
||||
% 'Outline.7.0': class OutlineEntryObject
|
||||
14 0 obj
|
||||
<< /Dest [ 7 0 R
|
||||
/Fit ]
|
||||
/Parent 13 0 R
|
||||
/Title (Level 2) >>
|
||||
endobj
|
||||
% 'Outline.6.1': class OutlineEntryObject
|
||||
15 0 obj
|
||||
<< /Dest [ 8 0 R
|
||||
/Fit ]
|
||||
/Next 16 0 R
|
||||
/Parent 12 0 R
|
||||
/Prev 13 0 R
|
||||
/Title (Level 1 Again) >>
|
||||
endobj
|
||||
% 'Outline.6.2': class OutlineEntryObject
|
||||
16 0 obj
|
||||
<< /Dest [ 8 0 R
|
||||
/Fit ]
|
||||
/Parent 12 0 R
|
||||
/Prev 15 0 R
|
||||
/Title (\376\377\000A\000m\000p\000e\000r\000s\000a\000n\000d\000 \000\(\000&\000\)\000 \000a\000n\000d\000 \000J\000a\000p\000a\000n\000e\000s\000e\000 \000\(0~0_0o0T^\014g\0330n0\3330\3060\3530\222\00010d\220xb\2360W0f0O0`0U0D\000\)\000 \000T\000e\000s\000t) >>
|
||||
endobj
|
||||
% 'R17': class PDFPages
|
||||
17 0 obj
|
||||
% page tree
|
||||
<< /Count 4
|
||||
/Kids [ 5 0 R
|
||||
6 0 R
|
||||
7 0 R
|
||||
8 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R18': class PDFStream
|
||||
18 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 172 >>
|
||||
stream
|
||||
GarWr9aUqV$jGR;Tm(`SF\sNk[,Y36eURq9JQ,KYr'NW^R:';l68fpu(IFlaG4u*C'$N9;@`SQa6\KP`Mg'C6bS\ii`Y;=YSM>Pf1*`].8?E*qZ^@dB1^9#9V:4lNXW=cb;9O3cR`P/VY.RDgmH`Gt/nGAM6Y>ut?$Q)E3m]B+~>endstream
|
||||
endobj
|
||||
% 'R19': class PDFStream
|
||||
19 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 170 >>
|
||||
stream
|
||||
GarWr_$\%5$jPX:U$qImVh_k%da"mI:BM4"##[nC"@[`fZX>pf67sAXIgE.dff`*G<j:9iL`n-B$kY7f([peKR5(Y0N@CZ<#@mU"AO]FaO?*jKB/*IdBFQ"q9;gZ'>!$HO\sDkkeI:PF7eQ`G3F6T7!P(O_o`\WGpAre-.OP~>endstream
|
||||
endobj
|
||||
% 'R20': class PDFStream
|
||||
20 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 170 >>
|
||||
stream
|
||||
GarWr_$\%5$jPX:U$qImVh_k%da"mI:BM4"##[nC"@[`fZX>pf67sAXIgE.dff`*G<j:9iL`n-B$kY7f([peKR5(Y0N@CZ<#@mU"AO]FaO?*jKB/*IdBFQ"q9;gZ'>!$HO\sDkkeI:PF7POP>kBOP&"lp"nee`Geh$;I7.OY~>endstream
|
||||
endobj
|
||||
% 'R21': class PDFStream
|
||||
21 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 282 >>
|
||||
stream
|
||||
Garo<4`A1k'Lhaeq%%\L6ALY8U'*qh_8LrdOi:$(KRD?*8H&:**Z.b>b0om#jEp;N+`W9^((Ka[0jPG`5jgpPS3h+tP%!hp#0[3`4u,EDk1Q%Th4eq@4BobWg]]lOC$qAk#m58,FLmfYg;_6H?7&-A[*][q42*hUZCO7P+CBPJ-Q`-!K316Xpgk59RFoP%Oc4bH'%-SR(DZ:6=Z80:dq^b<p(P&o$Ul`#CH$h0H`bMBU,,7T[f/bLntYVhla#'iO05N%ALc3k@,o$!+:N]!SiU1[~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 22
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000587 00000 n
|
||||
0000000760 00000 n
|
||||
0000001039 00000 n
|
||||
0000001318 00000 n
|
||||
0000001597 00000 n
|
||||
0000001876 00000 n
|
||||
0000002013 00000 n
|
||||
0000002287 00000 n
|
||||
0000002412 00000 n
|
||||
0000002584 00000 n
|
||||
0000002769 00000 n
|
||||
0000002897 00000 n
|
||||
0000003061 00000 n
|
||||
0000003430 00000 n
|
||||
0000003561 00000 n
|
||||
0000003875 00000 n
|
||||
0000004187 00000 n
|
||||
0000004499 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 10 0 R
|
||||
/Root 9 0 R
|
||||
/Size 22 >>
|
||||
startxref
|
||||
4896
|
||||
%%EOF
|
||||
@@ -1,244 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 6 0 R
|
||||
/F6 8 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Courier
|
||||
<< /BaseFont /Courier
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font ZapfDingbats
|
||||
<< /BaseFont /ZapfDingbats
|
||||
/Encoding /ZapfDingbatsEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 15 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 14 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F6': class PDFType1Font
|
||||
8 0 obj
|
||||
% Font Courier-Oblique
|
||||
<< /BaseFont /Courier-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F6
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
9 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 16 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 14 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page3': class PDFPage
|
||||
10 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 17 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 14 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page4': class PDFPage
|
||||
11 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 18 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 14 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R12': class PDFCatalog
|
||||
12 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 19 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 14 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R13': class PDFInfo
|
||||
13 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121218153938+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R14': class PDFPages
|
||||
14 0 obj
|
||||
% page tree
|
||||
<< /Count 4
|
||||
/Kids [ 7 0 R
|
||||
9 0 R
|
||||
10 0 R
|
||||
11 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R15': class PDFStream
|
||||
15 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1376 >>
|
||||
stream
|
||||
Gb!#[;/`4!&:T\)s"JS&S>tG]Z='o$LJ+h::.j9rRAVMfCO7f.0Y">lFT(m'>n"/uI7rq*=!b._n'$1:bVq=/2H]`eld*Ngi')hKW=:b>0ER^U#2o[^)I?eLI=7s<.+l6pUGhY21H_nNEN&2eJ:VWA&?]I:l*goopjNRD-md*;6jad]?[egC#/\+tr(2\=G^YjnR&YYug4V3MJhceC-j7aNH@qlL>^`t]lN9d%'WV<Wl4XKZ:7W^JWn7g]p`bT[Dr@1NHkD8_bVjhl5U*$;Sq]lM-(09X.X3CkGe3-9r:kl#($mY8^it/pTSC.N19`?!UEL#_0MY6mn5TR^<t[K'eTrhTa<TV@(<O5+6hO0n!]1dcOUa8(n:K!If<d\T5_bH*#Uk4X^U@D_HkQUV-5e"mg@JH4beFEcn2/+!%.pasJA;BrAXlid'';ONb)8,Q?\\Fq8g.3M?h13fO?"Z#OXJrCKj,M#EISm=\V,7"/t[$-8*PPn7.Ye]\CR&Wo[jqB:>eLJ'UaUZ&P42q)k0.@Nd<R!UZE87gF]T?Om\.[ef!e@B[UR\B=b3CAD\j/0b]q("hTbXA;dsQP?A:K,ECfo(M_p9>'rqCYu(q]GPe&IR2/P)/IKJR:fhLdC:%tskb1HdfiT(M+LYoC(WsQ@gV%ndU:_$a<9AIZH"6PTahbRc9q1X\TV^d7fA%P6l;8Kfa%.dr$4Eq\Z5-=PV=N>/1jBsn@E]oP@.Zcogd[ZT&TT^[>-&7uS*Ar+dY04:#$Dk6ZW(W>9_H4269NH*FBZ<`9ToPH6kASN;=?4Q1_#%#d)Vu&4lQW%:^5nL*21"GfrofkG16h'=#Jb"U.D2M@[]g+bOu?f:AEUYYDU5XPXe%["#Eu!ljuW>]b$,MGSB#Y,[6]+m(i(@kIDW'gb\,.gmtLGg`ngQCXW)<gNco[9c5>"Kh\.LGXn;4q(+o<!q4E)A8ELUps:Ck4?$l.cSQB6EEAan5s(l>F)d4oIUoHOoe's<e>_Q\4jETE)"=lglS1&TZ#3.@*Y\nh1pDg@@h+H,O"$bT]<Jn>n4,BC3G6GPhbN+D6@C.BC0cc,R")p0!7tg?Y`!NEY(!A)]qs4;F;=QRmDdsBfJ"B:/U+f1<!mbhApc2ulB_&IWpD^DGKhWCb]QP,4HmOT*SeKh:VM\BA&7>5m`IZGO1k.Q-3%X#f;sbfSZW11W#50Z[b^,)?!E1l_dR2Wa1l&1rM-oq9TQLJS6hFf"paauF/lY%XqL<*P\g1Z;eh[ifOemSm^M<Do!#4q6QW'B(!NFUl`Wlgr/KBTUJ:<]*7Vl$YN&kN$e.q;3KsTC-@^bmQ-*X5J#tLYod6:rGNt3kP(&Tc[_\]N.Sf^4b7+U+=8r?W\/nK~>endstream
|
||||
endobj
|
||||
% 'R16': class PDFStream
|
||||
16 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1469 >>
|
||||
stream
|
||||
Gb!#\9lJcU&A9%PIi,,>W.hY<Idfuq/oGDHKj-Mk:VG-k,r))A=/>,W^V7%d>`+b;;'M:8Y[PH'jkKOlc--Yl_87k*IQjn7Xoioq6\-uuk!0(^&DY-@_<&YnQPXCr!VPLlUVnm&\3LEAAp_H4i)pfu.i<d4j-JN7^O[NMEk(#HGm"fZa%qZm%)HQ^ISgXu0/$4BRJ[gY,sm.B]>X5I'>_@Ch4,THfkTbkV%tViYZ]J#=MQ25[l4AeV6hquG5S_-dl\id/0fDl-:sH>I%BC2BCK!t1k-UFMhc7i6Pf\@aUL/lVtYFcHpNfl@U#B+/PV=r?u(@<i?hfG_P\\V5,$gI5,>M5c(c.]CGpCWENn4:LT3f<6g1lD>&XmG(oI^I@^g;8!5&NO3H=+p0S?Wjh$qBtcYsW83uCuX4+c;b]aQQs;p0Qg-,VehE`*&^0l,:8hXTt8lIeGmNL<eCLq/^<n78'5+N,gk;[=Pi^EjIS8$EF%M;U*V[5/Z!:]4.SgfB+M5DR+B\gh@Ya*'dn!*\;C7L_qZ7N#a[oer4P<=8ZkNDhqsN_KQk$O3b)OeSeq8a9UXRf6VpM&Yj(HMn#BnKgMkeI&07"sfb1VTec6#Kf_5bjm_bC5q`j:sj`%7'o-)MF/u\7hhrMTefXt@FebG5=UIr*>2gc]o#ZOG%<HSF8QM&#;PCP77+_C/Aa<OIYQB2alA6S<9qe.Y"h8_EFY%m\TJK4>/GTtWO2j259A5ki95cn*/B4Q6do2<.NuEfV):Pl:H7N\a$;mmf0nOmQtVrpi&T)L(lI']SekU-pnjjZA%i2qf=[:uZYO*t3]S=!oB:/EGsT[\OC03T$B2LN3AoHR+&G/&+X(Ul5h^!ST\UiSnGKWFfOS=O@'JMlL("8f3jE8mk*>Sp4WS"s7nH$.,N?:!hVOj!6E:=R:iUqk%>0Ff<`/SVeD5]A?Rmll=4tENI0o!6+]5q-!X-uuIHOJceE\3gdEDF%"?Ur8JC_k-[FuP^K+dO0)9s7h:rhPts!,>GWP75=h]gTrN$0Sc]+^@V@lQ0?V-Hi9R28bLB3%jQM@[7;i?;)8EZ*]Z7Y9@$6n:V-gaola=_Z4*pi2/S@?,QQRkT[8l)M87--GFG"aW,#kp)i2]fTT;+?qC_R7hR=[r[iX^?<q<c8ehu'JGdNXCI97%#JT^E2X?MbWF.m0!]mA2c<-@epqCHkh^b<]LG7;$7c%C<#g7d[;%LsOEAY_[)Q3%i_f+S2;4V<YHg6,:35'.N]Ff+@>D@o^VP:cC8$#SlusKZoiL0fK+4h7W;FVY)67uKS9:o2HWt0_B+[X9c;8#aBs66e66(&oZa58)hp8u`'mkXMLftFQ'BH!OHi'fbr)PaWJQH+4Tm+K_.mQ(s)#0,M1Rp\gCg(*2)/M*Sh5blgdD%.lM>j9_4&#LMHbPTmak:/]b&+=a[Nt.Ng3^,RibL<^]P_'\!\Q/*")Z3#;#~>endstream
|
||||
endobj
|
||||
% 'R17': class PDFStream
|
||||
17 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1407 >>
|
||||
stream
|
||||
Gaua?D/\-!&BEZub'+]uhU#2?GLqmTlC0W+3JmI``&ZYEnn,]G\2?0WYEO"!rasbX5i<VcOp4=Yf/*#jfq1DP-kLc'rAe!\S-SQ[Oof2+9S(op%D`=)_<K'+V^HeM!VOt]US_8!i<$.Z0ZQ*W2Y_qjY^kU'LCsE*E=%3;-/92s'[SKDIUVRX"CE;H<P/$RHBNg!eD#/FC"qPU4O`sH'6'_Af+HM$[\K-8Mcs-p*C"?Tq":HcNfpA!')fsbcqAIS'sKm2@;e/c]a^4i)DL9H(X/Won876,'as:DB.tst=NDI'+uol<Z'\/AEAU<(,*=5-ToE_<MNU$TSlDl")rR+>R-,ZH1oXaoj6kGuANi=.J?&T)(Vn`QJ3q)l97d_$APSS+,!YXPJ@Aqac'Qn;.%-(*bRJ7;Dk_aS\l57!/IA[An?u)R3i$e20Oj5aesCnqTik;jFWu`UF(s.4IHn88p/S,ekQOglDHj(lC>?kZk`jZ&fgcMEh9+m]q",G8h%fL^(M:cF)*:#S*]nnJ$2t`DMip#42!qE/4a:Cu-ts's7?[D4Ub\boTJZEbOsk=^/&\%ZZ+NX@1Ps;&a+N=/W%8PJn0oK..<6;#=%:dTgEk2G`87<1A0/]SS]MX1raU8s4<ao9aYQ-(pi=(bTX$UKBOd(3rc$_^*nfG47?3Mj(udCNMJ7kt<*;dpUc;[37Cklu@1#S`ce"")nBr$cBHsp]<gbm@Gq:;T>$R=6o+W7O1msc&=l?sPONosZ"#*qPj&96#YcPS#]RefWJVA;^S/,6;j&Pae'[rUF-oItsX<!Z??n-UCFfh#?Af;71^.HE/Bb?+S(80]qpK[05GgRhR[^"l&T)Ea;"L*2oi6h^\]Y>Kt5B]W'Yd&I5.NTd&/O!1Qq<3"SWI[#UnYuD\Cq+o:hnd<tp]c6;\EG2j%BL!Z5Cj7*dfUn\91NQF\V#N'*1I7h\&a*perMR@khC1a'A)^!T?)[S2K\j*-E)EeK]c_E8"2k7*1I9"rSLr6lQR5iRa(UX/`>dVpY4)L$I?cFpLFX,;G;$bJOtcSlB^)\?m0dC[Q]/dUU[bT`%oR_*h%(*2O/-FS+*T%1)tPueJYGBfRtWPX(&h[S1*[N%'G>7_S(OS2pKXf8T!5S/;J]+NA0AEjdWm@NW'7cTB3kPY[,%+"39ChG%pJ>.;\/O3+O*7CFE3`<4hVM]<;QASZ<3HF+02IPcOl$6.Pdo:B]sKH?4,K1C<=<&P%0*g3+3$M1@Zm98hJNm3`*h,?]rc[VL">(HfW+a5&6ZY!7m1MfH*ud?KDp,bm3TET?Y!*_E'%T'6k<&Cr%)r(PRU;+3!jY'-DT%!-"1G`8E$_?;`+l8pCd5c<6OP^7C.<,r8>ku9&:6)T[8g),f>6eNA#q6$\+:/Cik?ots#~>endstream
|
||||
endobj
|
||||
% 'R18': class PDFStream
|
||||
18 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 462 >>
|
||||
stream
|
||||
Gasaj>>N*i(k#bss)=]h:8;=d$4Lh`7S-9-&a?&DgF-R;)r'lVgD5ZO9JgORIHRup3Su9:-U4@"3!UKb3^Ws8_.On7A`+dqF5'mPQKBSdTK#R!T&Cq\2LT6tE!Hf&kCMf8hHreFm:chYRMM)eg'V)gMc35$^d#XgFc3MA($JT(=I6OVTf;2I]`>IU7&q71Ff;@?37ih]M)s>]Tlt.C1\ApC<4R.kX0PHX"CX$=B]?7Z`IX*?Odtn/aR+fqVGu-[4$s53.4sQc%\KX.ijjj]%;'120[%hg"fekBdO5c28jB&\_3m4?KR%]uHW+4<T<)&Vh#WsXoO3B@.3-f/C+0(/HX:D8jCF0Jjf4[tk^tYJrA+[sn@orh7le6+jOc3p\Vd[]g4i`KCV?@ijBrqF2i)dVh0W"e9oj4L02Y9OcGN>iCEc]:l7cP#[R"#RD(\[k/k#6QPd%9.bc/(_~>endstream
|
||||
endobj
|
||||
% 'R19': class PDFOutlines
|
||||
19 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 20
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000269 00000 n
|
||||
0000000434 00000 n
|
||||
0000000623 00000 n
|
||||
0000000794 00000 n
|
||||
0000000955 00000 n
|
||||
0000001129 00000 n
|
||||
0000001410 00000 n
|
||||
0000001585 00000 n
|
||||
0000001864 00000 n
|
||||
0000002144 00000 n
|
||||
0000002425 00000 n
|
||||
0000002563 00000 n
|
||||
0000002834 00000 n
|
||||
0000002967 00000 n
|
||||
0000004486 00000 n
|
||||
0000006098 00000 n
|
||||
0000007648 00000 n
|
||||
0000008254 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\\\235j\236!`\255\002\350\332z\003\317\346\3325) (\\\235j\236!`\255\002\350\332z\003\317\346\3325)]
|
||||
|
||||
/Info 13 0 R
|
||||
/Root 12 0 R
|
||||
/Size 20 >>
|
||||
startxref
|
||||
8306
|
||||
%%EOF
|
||||
@@ -1,90 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
1 0 obj
|
||||
<< /F1 2 0 R /F2 3 0 R /F3 4 0 R >>
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
4 0 obj
|
||||
<< /BaseFont /Times-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
5 0 obj
|
||||
<< /Contents 12 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /Contents 13 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
7 0 obj
|
||||
<< /Contents 14 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
8 0 obj
|
||||
<< /Contents 15 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
9 0 obj
|
||||
<< /Outlines 16 0 R /PageMode /UseNone /Pages 11 0 R /Type /Catalog >>
|
||||
endobj
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\)) /CreationDate (D:20140724022809+05'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
11 0 obj
|
||||
<< /Count 4 /Kids [ 5 0 R 6 0 R 7 0 R 8 0 R ] /Type /Pages >>
|
||||
endobj
|
||||
12 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 3047 >>
|
||||
stream
|
||||
Gb!#^gQL=$&Uekgs.QLaOE#$:'ec;[7m$7:SFUQ@f2IqN^H`JY_59aA,],&=T@4oOJeCLmZsHg]'no-;T[B+Ti&ER6Do_bp*Je#ddSCA`3A*I4amj"-4hd[MO3aGHIf@QM\`AE+juTj,1kl%/f&M#C/.;UfkAtr3d,".T^N4o'`reKI]V,"q.O;^/*r[p==7f),ltu<d`Bh52a,flf2l#lOkKacEc=^Ps3'R/pC?@,2:qiH`)u??V]f1aZi;s+Q=o7j%1Mu7""742:43^g^0KabD2dbiUB+p@4)#[5@hJ'GOn+H*7BcqoT7hPu^'B6Xi]D1c@ji,lp!,biWDWg-jWg+\#.]9I"NbL*>iesUn-'6(1PGCn9K$l4Wb)94@mn)RLZ8bR%GU<U(R(H?e4r](JE^#ua0BWJFCDbr?HkiXsj_6LNRSpL/>""(olG!t1@[6:PPntpE=FQAe]t:0DgM&q816te2dKC,BUln'BRkg-GMUJ;^hhk;3\J.K3)tVp'A?69n%5^ZO_rjp3H&tUKB,o0"M^7"d?*]bf;N.KXe=qK]Y6l*Z1OYH.<.YF>ngMa.Ct[#E^i7A(q2Ot*@@bCo1.+gCh-X(HX+JmUi#\ADe-9l:8,!3dUQS[]'Ps*HXg/3rm,1#3!G*HMA=`mflp;NC/Z`I_kCkN52@!%=08u40"$DHO<f"/@<H4h::(O]H9#JAi[G0/c4#u'?nD@t,5.p[[!etEdISngdI&GP2S7-;.LDuPN+d0/_c/h**;r(,H8RAV=WsuC"QKqcohgCXS@b-d]-5%N52$o:pI)(L@PC,8;67!S=ab25O_k^kLBd\]fP="<fiFo4A1<+;Hc?(]s757&9O*nG_P'2sTQ>0eXBZ#jt(iR;A'FX]5fL[Q6f`]=NY5hNC`4@uk"J1-Z*cmTJ@>6r:8Ke?O=`"qq?sa\bQAo;>Z3\17&%pa;]BU1E@qVo6Ut)Fco0OLCk$$iu;AiuIr"d7_c>-EMh+"jNV@Xh*qMunc&4EUrfGq0/9WA3!`@Iu,-\inA%$<'#aIUCm2?[JSi;=L=@ok3s!g9*'cdb(BD"UbGn.fsd6BgFLVJO-_?>DIB=;3*S!q,-Ya@D6Z:*r*CRu9Z],50O?U%&quX=%#9b2BggfdcX-TusSF="^eCW=8I_G1sg(H(MX\X:2g%QCn-4_I-AogA)#j(UGLP8-FPo2t1J*Ej5n=bj-/QSb:=p_-,:taEL[^hMPG&P(Vk%B9H[/CNQD.-0NHCH3<`T9'<dE@p/^mNSD\(X19`&NQWt*,jQUN^f]6(+&G7P3@i:>RSQkjl%n.XIq^?En`79%?uaMt]LPO5?GX%RjJ1/K3M(dN!P'^"cWcT?#PC"he-+IO`\KLS8:jJ(Q3l)'Q,kC^RQ2$l(X#iD#`'J<j41`=pe)h_U(K\8fk;CFPZl^B1r<=63ic<AW%X]p8);5mgSG,qa9a>U0k^5=PP6Su,R^1BWg;C7ECjA^Jg36]NFKg,S2qm0YbOcDD##M>l9)(:E7@H67lcg;[\-*B>&@t..U=FK9):#hKr+CK"P4Ob*F!nS0()p\ecUcO829o^0-mspG/PDfNQUcp;h`,CS131lidX.`lLXKE"P7T/oTa\.fE$jg\t`YnP&;=Mjs*"J/ZfV6BLdGs`4&5VHc30Ygs?tuLN[3:O"BW0&;YK4&']nD=sNslNWbY+IV;56Hc36\C`>@B%;Z^1(9e7pmQYgh-l?+[agW)VmH$DSelLqhDs+Q:,BBd&@[bPQ6M'0!Ba0Lk$JE3Kc2)KC/Y%O<@,^`3c'mcXQ"drVe'hNSo:GM9d`SKCG1D/`IV`:C%/R.M-?o15l0.M8ms8VBK,oB8_sZmU#p$_0Vk&&(<=@^9ZW!c'[p#tdSt-(3p!+RCe$IL6m+(@57rL%hY4q52f:uQJHI8eBKH@gp?h`hBX[ab>2n.!kd\G8VDr/$83Ub@0;K(EjBWbjBo]FZsjL0Z@]fBBeakQWX]fCN(St,e>?mmo!MK?j`L&BfuUQ*JBXg/kCfYEfc<#$mo)s'k&qZ/=>-N"9Z]^OWpCuK[!@,dNKeu:ZJ/U)e@Z6Ke0)6&Y[gqG.qJ8pojKi)F:FtN$j81_c5i5\u7I&AM,%@pEJdSCMPapcl#\l[:No,E$!mpM4@CHhKP7-=VolXL/Y]-b7/Zr2HGS'``ILlXf#fg$Et&8P3^)nDAq!$#>Ik>"\'k@)'551[-dR"t@jqK.<ZZ7q>,Q9uNe_ElG7,L`q0<>&$OZb$siBD8iuZb%5?QhRn+$Q/Gj'/8:+gg=BI_1(C-e1^PMQ.1<.mBQroa9W3f0;Z(cANeY+N3nNOF^Xt,Uq;1:<NC$`XF`T;f:_95U8W`Zc%1f68=<6+Ngiu:^a\3Ukq4RZW^99=GE#lVZPD-T84115:Zkd:X"0isSP4hd$sQOCP;,/k(E=5Ed`,66r8=4C.9oZ!a6rDN=OfN9\3\B>WmAqsE/A;#\*.7#:,m<c@!*-jEc"j2$E=a*Sam2#q88,q(H]@g=kKG$EoF0KrdP[,QXS40*cTj%ag8'--Pk<Z)UJ8tDb_o0YgG4kB3fZ=b?O+#mmMKs<U7'14H#fJYO#)qi)rG96I,@+UZ^pSO<;EE\o6hNj]Ci]O%.Yuq%]IjW^bB8IeBU<^QTI;mnBnT/%XhJLO"la$G:Z?>W/4F`V_La3F6Z'epD2<h"sG%@]Y3(h0)r!DhV2@7dFWEoQ6ri?q%\h?=A_5$U^^5B%Y,C'o#8g0LNFk#b0pFQm(;2#^^k,X3mER#jGA:pq?P%+3FS1?T_\.ITDeW@XrP>o6X*?lt:ch,NGPU9^ejjVkFgt`qh-7%\XkKalLG_p>tuITZqFI8[tiV+/k0`BkB/(/A&r<ISbeMIX."i;iA/e73Z/A7KsHNXUm=X/'X^5')eL3YOcF@n%JRlU:4Fr:"`RRh;@#&@\:hP#[+('3aq8P+E?r_4LM:tC#8,lbjm.><^EE1r@7J3LZ&q`"V_*_^AhOso(CBoYdI*ubf/^S?'Y2:CI=3eKi=jX<!;Q%[kH>RYg%m2o+h1skKj,4Wl54L~>endstream
|
||||
endobj
|
||||
13 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 1190 >>
|
||||
stream
|
||||
Gb"/$9lJcU&A9%PIi+st3H,gaa>.o%V.]uGE8.0#OGbbZE_(&Qgnf4]MO@i/fqh)/:"oA=TI=4#Q=0-"p:WD'AeKpq-OHDV$h2U\?>gHI;V9Q^/>FM-n)2Iao&AX!,+PKkjSg])U=Jdm&!B;O,YOmp?U5aRY\dh=a00^OgRgF/-0sK;0-%g/nXgo_F:Fju\mNt,?qXS*r<V/E+lU&V$O+"ZPcn-0&sh33b&1]aIN(YC0>S44pCUPS'<Uk;2M[ko0]jU_.5]<@&BelW5TBi!F2fDYAa\NlhIK-fW@,=)lM!H0>3aH'it:e?Kg%VG!CFU?RDie6(LHS0#1h%_?noV#Mm\@.Kgo2!SZqTd8-oIeE)5u.B8*2W7*qWITPM=LP',Ief74X4<fR+p%ZoSMKsT1Ui4cd*7nK"dTauCo:hF_4@?08XYX_HI=$sMcK;Be;^(;Ds<D>-J'.$3'PD$R6$*a$f/4h=^d#*qqXKs^ol:\.SW)>-9O01u"6Kia(5XeSX9FBQmY)&d,?5REK3IZtu$A5A6nbp8T..-/D[3UBb.[HAT.%^\nh$V+S&D0m)F':4OPe-6-4b=^.6H]YOBen*89f'QSQ!'$5Vbj4g(m\fZ4_""A1*iaaCH*f=lfjC`^"+AT7B+@3#"O4G?sU*BB=t?&I2QSS9KmC9AqN%bOueAPOMVIU$anA6e0kak]bAX#mM?Qp&V$q7G^jjc"\usA(bb]D8/)6Ze=K.mQ&gs8rOYg/\qXCX'@PHW3=gcTCgU9OQ@5MHadH`FX:90Jp#RR=6c9e#V0VQOjWn>)*@\0;1e.5>Z@H4NB\3Ue`%T,ljRNB(GXhs1al&Pe0/fJlo<k,IN6srQ%B>!fIA]_KcXK8g>FPD#nWnb!/J_h*fi#nW*NZL.?-!rZb&OV*"!Y4R0Kt#dLVSOrm>PL*CnM-l_L%N`_E&C[%b=L(lG`lW;sPaQ7?=;3XhSX$rM/;"R6c<F#]g*E+fkm&6#(Gu'K)m-bg2,jZChrH@iOc^9r9o<&`gMid$LpF%I6`#XXGHc<^E44O3GBVSY$-ng<%;TMibhX%663+$,GY@8GQni>_sJeV[bnpjZf>]hjA6;h_>Z!%JoQ,eCfeNU/s:_A+[OGBt/puaU3\q;kIusj<$nd$nH`=XT*Oo9Q7=_I0TFkd6'(Nk=,!TB`;(kL4A1Qi_MF.$X!~>endstream
|
||||
endobj
|
||||
14 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 1117 >>
|
||||
stream
|
||||
Gasan;/_pp&:T\)s"MU/paVU3`Y_?cV,k:n/EN[#b=`p90GlEeQePg*jPP/nf7kWl9k,UVcbOqc2rDhK&CMqHs,.o5k8`>a7hEY$<tHZD!r3<'Q![kqIsL!^0glo"i[@?Y0a^=(pI'p!aKcMc0SFfYZ`jDa`;b:sL)c2,Dgc+-hYN^+_KZOaLttO,CU(cA+o`)D2suC/QPU:#lX1%`C-d!*'tl=.@aGD<*0t(tQaBqtK8ea#8E_7Dq[?L20uJ9\]mqMRe1q4mqZIQ+YSU)C't!m=2f`\!oerJX(RT)99;boNQ@;kRO`<f*o#=<@Enqs$R,rI#^ks_NBFXS<C*Cb9)$O#!co1X>kR>E^C',0)8efk+aA4W*"RPuZL7KMkUp.NJ/K"B7@K7>RV(2<^8o'G<B'tr&d*+dIU]`LsPpQFXdXusJ3>kZKZN-Z^[RM`W;3k>$SU0?9jaNKiB_a4\HriJt[HN-[CFBmp>=omX^3<YbQbAu=AGVl65'CdA1q'4j@,""8TP>`U<,JZ;aJko^-#*sJPj?82+AGXKR>Y)$*;Zg*4WfRMRZ^X@'6n<CY/SO)YB@1Rl,GP+h?c?mCC*Rs;NIC?U1b"ZA/-Xj4m95<c4<iK8E4&=@0<>Q(HPa6$O02BE[:0R2i`<0C5a$9D_4!$$.lD<aW.,E&3&U*_e3/h)&;%W\2q]N2:d4A?+"GIi<ltnLVW8Os8)DAG[ZbW0a_u63b`*6nN;]h`L?`W*XHl0B(`TL.bN+@PQNtIPTPL0n)c0a*a.l1hj.e-E8\k&>*9Aj4*X_tTK!8!Bq$b<=B5kK,_ra$ou,"al9$VQLP@)%)?m"UJeJkD(d`FKMhd$6_a$WjWh/#5Uc.^clqXZ%Gu*(80+241Y"."iD<[S!%$tMJ7D&ue-0^[i3Rb11E:p71;)5-NWAEd:QZG-!8=if+Xe"g&kes8B2jDXj7Uq6Bd"Q1QcP);i8['+hVAYprdmTC2'L]][%(tN_#eCak_!AIaDq$&<R+An,$V;,8cJmijR&2!S%G%od:N6-S"c(VsRr^Et0[qYYQR$@c#6Lh#SgjF#GRDe-S3#@6ErQ=ohj,O8S^o&:GE=]1mHpN:3F&Jdi:>k4he?#d~>endstream
|
||||
endobj
|
||||
15 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 3689 >>
|
||||
stream
|
||||
Gau`VD3*G]&cNgos'_"<W)GZ:bO7(;!kmnOY\fia2$O*rqh:>LRu&C?UpM*(f6;u!$Y@Melj_Bi8\?RB*6p\<bep-%(u`6Dq(mg-IU9ofG<Ye3=Du$JH;dq\KjWFb?[R.p_E8ci^SGLPhj]tYn:=rjj%m\OE]Jp:BE[W<#64Mng[T4^\:ZZj)19Lo`o2pUi=D^R$9iO&hC!N)`V_Tp5Jd1lB#<G4^.;Y?nn'R_9Q6Qe!b\$L@o+./(gG/Ubb2pcjXnl-o42C'W*R<B&WFi%TC+&acct%,AGfiKkO;4nRcAne:RS8:77W+1hQl!_g35^PaN1GA2X>ePON8f2O'HNj'Z$!Sp7V!$7d*#)/27+1,_R0)Oi_qg(WiSi^=%?SP0^=,D+e:%cd=*"*oC>@CqB*_[A1CRA2]lZ]?8In)nnQ1B!]UZgdl;ZHrfX;Z)>^,2J'?qDln*]%.59<r!B[Bd%I^m]*6F]R=mqhGm8;I:T?)Z&shX:73GUOeI^.kb=&W<OVt'Q";kZc<t3dJ5`bqSIPGNPc!X1/Tr1<"2b^oj:-N[Si,A<BY;=D4f?*YOKI?c+29,*o&0R,m+'MGo`7.*5#BTsHXd(AJR<[f.E!W75-lSb(7K_sbSD;%?">#*5LQHFC_F$TgkWIKZ'0`Z'9pJ9]E@MPap]^Mi16uJ$W)./LF-$]rcl<WjFue;s_HZ,a_)m[[_cT?4CYAmrST=FlX#GCN'N]e6e^+SSP1,p%:7#C<e&3u0U3Oo""(?IW%;)$!%-%JYLs\LN'!X\In-1]n>X,On$3Hf2Ca1-d*FPpY$sW@'FK!4I`GQ1s"7GP=r+i]L&$I']P8>9ob&YGP:2Dgn@=D3`WCJU/)XYAe#7ObJ&IIm&[Pn&J>>JssOobE4M55;@04K_>XHsQ6[Z>U$*Op+E+ZO1P^nLtF$4$mUn2gtDZ/'H>SJ[c31(:Q#PXl6Q[OfK^\At!*G"A2eX9N<alW"?Q_Bb0R5#3qp6J0Ed_/F_`$mrLK4ALm0j`g#93smdNKsqsP%,*VHn;^omLB`7<6l!JjQfm?6:AgU^FiCUsF;`-6@i1?M^Z7K`pbCa31f]]Ic@!d>r#d4Q2Nr7I#>rBB,PFjq=bJ]mes-[8!(Z)I)?3;5*N(;[KE*E*6?XI`.?gbAA2:;s"#CK\i?F>MS2<H3O1^%X@NfSD]s\-'"_Qjbneta'3r])IOZ0"ar#;X&K>b!nJeAQL6N_%,XL=/RE>nAN3$R5#aC%0i!MZ0b"1kDM:X)i!J5l&tf`\<<Q=0M:.*LaI@M^s,gKClB2+j/Y+?32t"/\cs0nk!R@tD\bSn[_S;f*_[YT9V7clsX!\kY^&,)CNQQ_BB!N`$]m9RV'd)bZ-4ihT5.%&[eS@T<t>-CJ.dUKA/q>p*+NME&n:GUgk2$ggb'Mpae2+B*o?#"9AD9Ug!Gn;Bu%h@W\A@?Y7B<b3Em7^QuW9-':ig:4Es_.i_E(X>F;7lIaL4H3HNJn'rh;n;!lB20FW)=<P8+`f,^);e"3&G^;&b\CBUPcRN!Ar:1j]8/iVUlZsGI3$QXU='`1]3cOJbbVZ!7,3K.N8fD?1+WX!e.YDBpl=OJN=WoD#=X%sHQiS60bE%SMINk*m6mJ30nkep9Bs_BI)sS$^*+7c_BCt4$MNTd.upmG<*)$:'PS04?G!f[Ub^]e-%^b?&mhYED%mC(7c^iq:C*JTHiZlC5U:ilGFOPh`)UT$e>B0Q-f]n>7Wgb`2e;8k2.)B`<lPoIm?da5\!kTG<3/<Q?_BDAVmNa7Se?X1=@*``:M5np_l?m,WEehn.?qn9,)pD@cq,YPFhT:+,m_6=P_\sIM)AK[Wa)HrgqY(V]!>pe3u[XHM[.8:/32YJP)KiC&:*adF!4U[S\JL%KLV;>\qG-KN%:X9b=ORk==S3Tguc*Yas6Nk=%XBfC\R9qgpYR436E/=aZ!eZ;s(L`%N1+?2!'&g\.2"d6$:_J-Q6.pc=nOoN)s0hg,.7>%"jki;G:b_Rc]pS6CDb2A[\;MOII0OMZ@j\5BN#OP[sf[UN<f)/L&;nj3TF`hBr[$7-(hW5IedZA;!QrUYkT<a-EnaPFo*l6_<9O:O<]?*O[]88pJ4AN)A_/Fj/MYbkuQD_Om@O0X-m3ct_F:J]>0]6S0XX;ac`#kf642!MG&bMi>opO?X)YM(X08:95GciCpc7M;L6h>(n+>$c5(rZ_3kXU+Xp@=qVc<U?jf+6fJka:.\I39oQf8)#SUQYD:`Irb:2/gsotRIPFPK9&W8UR1tr'Uts9uI3Rdu;11Cl_G,F4=->q;'Q6(+6'$Y$eO4D"3J6`H$<596$VXejQG0Yu;Jj]]^qU(NY%dID:5j]go/ehRGW#.0Q%k\[]kOef2d7o8<ZHN?^,5SMZUKe*R>c#o.;NoVE=<XO1"9[Bc8M#UoDsM4@^^H)8.#IX)qH!28rB5%iJ>m]`NET,\#TUD\iJ.(im``!UY-'A@W<r[%/-]"*GDFX18e"DI57$6)uV]Tds%k'?#pP5ac&<Kn'Qfe'!/!?4$M4rH&6=X*Ti)>'U!e(L)PP9FqOCP0Y9-`=`)LM>ao=WDT:+s5lHsgquaF>;\J?83R=8ZaZ_=4X\%OG@*_C0@1Ic3Jp5.idBhALDeTI.LMo^G`99/@K1^8*OL6q*/r1$f4F1$5`qN!*M>^(8$$EJOkSf^YbiLV+%?"*2O9t=DVu[!K)D@(6hYB>do^BQ3C#='H7ij(YE+A#/,!00=TaPWN;]C8jV[d9,H<tZhT>(<Gm<NWF-m(F*O2Or_Q9C\JgXqkC:Ge;8QI(,!\K^6CeSoo-TP+kS<YVDmB*rrmP3b4%qY2DqR$HI(9a<bN]=^,j)S$)^BH2\$R]*n1`)l9AB30Y*R]oM!e31o(ou;6^/8kE`95egM2Q!N(omr+V-pH*]<YKC4?7[ETC1D8J;U_8FpP!NtV7L-eBl`'1k9V#=GcO<"$^O+diWE40:?6XhW[NB<92.<PU8&@Jk9Q.)R3Vf-'S?BE%6XAMX>gSVFK!ifP[%eGYO5Pbl2C9CC,M')fW.ZRPIW';qketmh2_;jcBC!;PT[N5)>1lc$ZJV[S[^87Z3sm[?g&e_X7B6eaXpG^::hc+k0%Bp3;hI824:YFbNj%ucDO<^TlTS^H5*Hg.8dOI;4Sf0QL.O.iJQ3')lk&Zf(Y8![=oX,l(`+5PBda<`thU-ZK^.U"UOklhE7Q4:$dCJKb?2SDA63pU1/Q+c*(mJIA)oE*A3QA7012f#]bfGPg@6Tkp(!_']#tcGl9]82e\iD)[gDdd!):r$/*c8%FClM\9E""eHO5t'c1r!6ti0`T\n!4e2M-m9J&2=?#>QrS[%gbUNrOhlt>p\Q1$='d:@]id$V9924eeS[bu/_hY;S9;7BBp,2'-Qj-XpnK3E/e/LPZ\^[$nmiu!6JiRk.*)Pt5a^[jko]n9Hr)(48#kZF32ig_MmKtf9:L?6P!K8]K#cTGmL1p,SLct;m\*B"`%nf3(&%%Abb*LsRnV*99Ne)PPQgDcqQ7(D%'>X$Q0DNCm\[B27Rpji6Z:T]H.and#g\i[B\GGK-Ci7>\_gQ-1OWS\/8c?B?(bM>F[C21IrWghbgEm?tKGL^OYUrFTQc7US_o:;>!G@8]SO./,e1iIiuRHOS5Q(mRZSU9OFAtJ;UoAULX;[7&DFQrmsW<97P#%#%=+0sU;@/~>endstream
|
||||
endobj
|
||||
16 0 obj
|
||||
<< /Count 0 /Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 17
|
||||
0000000000 65535 f
|
||||
0000000075 00000 n
|
||||
0000000129 00000 n
|
||||
0000000239 00000 n
|
||||
0000000361 00000 n
|
||||
0000000472 00000 n
|
||||
0000000671 00000 n
|
||||
0000000870 00000 n
|
||||
0000001069 00000 n
|
||||
0000001268 00000 n
|
||||
0000001357 00000 n
|
||||
0000001594 00000 n
|
||||
0000001675 00000 n
|
||||
0000004819 00000 n
|
||||
0000006106 00000 n
|
||||
0000007320 00000 n
|
||||
0000011106 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\276\204\202o<f\200\344\260!e\225\353pm\217) (\276\204\202o<f\200\344\260!e\225\353pm\217)]
|
||||
/Info 10 0 R /Root 9 0 R /Size 17 >>
|
||||
startxref
|
||||
11156
|
||||
%%EOF
|
||||
@@ -1,408 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 7 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFDictionary
|
||||
4 0 obj
|
||||
<< /BaseFont /HeiseiMin-W3
|
||||
/DescendantFonts [ << /BaseFont /HeiseiMin-W3
|
||||
/CIDSystemInfo << /Ordering (Japan1)
|
||||
/Registry (Adobe)
|
||||
/Supplement 2 >>
|
||||
/DW 1000
|
||||
/FontDescriptor << /Ascent 723
|
||||
/CapHeight 709
|
||||
/Descent -241
|
||||
/Flags 6
|
||||
/FontBBox [ -123
|
||||
-257
|
||||
1001
|
||||
910 ]
|
||||
/FontName /HeiseiMin-W3
|
||||
/ItalicAngle 0
|
||||
/StemV 69
|
||||
/Type /FontDescriptor
|
||||
/XHeight 450 >>
|
||||
/Subtype /CIDFontType0
|
||||
/Type /Font
|
||||
/W [ 1
|
||||
[ 250
|
||||
333
|
||||
408
|
||||
500 ]
|
||||
5
|
||||
[ 500
|
||||
833
|
||||
778
|
||||
180
|
||||
333 ]
|
||||
10
|
||||
[ 333
|
||||
500
|
||||
564
|
||||
250
|
||||
333
|
||||
250
|
||||
278
|
||||
500 ]
|
||||
18
|
||||
26
|
||||
500
|
||||
27
|
||||
28
|
||||
278
|
||||
29
|
||||
31
|
||||
564
|
||||
32
|
||||
[ 444
|
||||
921
|
||||
722
|
||||
667 ]
|
||||
36
|
||||
[ 667
|
||||
722
|
||||
611
|
||||
556
|
||||
722 ]
|
||||
41
|
||||
[ 722
|
||||
333
|
||||
389
|
||||
722
|
||||
611
|
||||
889
|
||||
722 ]
|
||||
48
|
||||
[ 722
|
||||
556
|
||||
722
|
||||
667
|
||||
556
|
||||
611
|
||||
722 ]
|
||||
55
|
||||
[ 722
|
||||
944
|
||||
722 ]
|
||||
58
|
||||
[ 722
|
||||
611
|
||||
333
|
||||
500
|
||||
333
|
||||
469
|
||||
500
|
||||
333
|
||||
444
|
||||
500
|
||||
444
|
||||
500
|
||||
444
|
||||
333
|
||||
500 ]
|
||||
73
|
||||
[ 500
|
||||
278 ]
|
||||
75
|
||||
[ 278
|
||||
500
|
||||
278
|
||||
778
|
||||
500 ]
|
||||
80
|
||||
82
|
||||
500
|
||||
83
|
||||
[ 333
|
||||
389
|
||||
278
|
||||
500 ]
|
||||
87
|
||||
[ 500
|
||||
722
|
||||
500 ]
|
||||
90
|
||||
[ 500
|
||||
444
|
||||
480
|
||||
200
|
||||
480
|
||||
333 ]
|
||||
97
|
||||
[ 278 ]
|
||||
99
|
||||
[ 200 ]
|
||||
101
|
||||
[ 333
|
||||
500 ]
|
||||
103
|
||||
[ 500
|
||||
167 ]
|
||||
107
|
||||
[ 500 ]
|
||||
109
|
||||
[ 500
|
||||
333 ]
|
||||
111
|
||||
[ 333
|
||||
556 ]
|
||||
113
|
||||
[ 556
|
||||
500 ]
|
||||
117
|
||||
[ 250 ]
|
||||
119
|
||||
[ 350
|
||||
333
|
||||
444 ]
|
||||
123
|
||||
[ 500 ]
|
||||
126
|
||||
[ 444
|
||||
333 ]
|
||||
128
|
||||
137
|
||||
333
|
||||
138
|
||||
[ 1000
|
||||
889
|
||||
276
|
||||
611
|
||||
722
|
||||
889
|
||||
310
|
||||
667
|
||||
278 ]
|
||||
147
|
||||
[ 278
|
||||
500
|
||||
722
|
||||
500
|
||||
564
|
||||
760
|
||||
564
|
||||
760 ]
|
||||
157
|
||||
158
|
||||
300
|
||||
159
|
||||
[ 500
|
||||
300
|
||||
750 ]
|
||||
162
|
||||
163
|
||||
750
|
||||
164
|
||||
169
|
||||
722
|
||||
170
|
||||
[ 667
|
||||
611 ]
|
||||
172
|
||||
174
|
||||
611
|
||||
175
|
||||
178
|
||||
333
|
||||
179
|
||||
185
|
||||
722
|
||||
187
|
||||
191
|
||||
722
|
||||
192
|
||||
[ 556
|
||||
444 ]
|
||||
194
|
||||
203
|
||||
444
|
||||
204
|
||||
207
|
||||
278
|
||||
208
|
||||
214
|
||||
500
|
||||
216
|
||||
222
|
||||
500
|
||||
223
|
||||
[ 556
|
||||
722
|
||||
611
|
||||
500
|
||||
389
|
||||
980
|
||||
444 ]
|
||||
231
|
||||
[ 500 ]
|
||||
323
|
||||
[ 500 ]
|
||||
325
|
||||
[ 500 ]
|
||||
327
|
||||
389
|
||||
500 ] >> ]
|
||||
/Encoding /UniJIS-UCS2-H
|
||||
/Name /F3
|
||||
/Subtype /Type0
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 12 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 11 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
7 0 obj
|
||||
% Font Times-Bold
|
||||
<< /BaseFont /Times-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 13 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 11 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R9': class PDFCatalog
|
||||
9 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 14 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 11 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R10': class PDFInfo
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20000101000000+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R11': class PDFPages
|
||||
11 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 6 0 R
|
||||
8 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R12': class PDFStream
|
||||
12 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 2195 >>
|
||||
stream
|
||||
Gb!#\lZ:NE&HC$LreE(Q^nHU+GBu:A98BCkVBM$h'KXbQ<U@%C/F/6?`sjio[s.QlSKG,<KOtE8REat;]>*1VgIF4Wr8F+<-NMJ?3-``"$h/qemB-ot$2j)W4SZGX5d(LP4^&N3ldfj]^ahV(@bjCh6]Wtk-dXl'Gp6Q:4U5?V"^K:26Gat*_`f&qdkI&tKNGKh3\,BirrE%^Rbbf$CV(RE\_oJO`m)1;)-F<\m0/*"5ZfX;JIjHZ=mR_%@M/Kq9`iN0!lk#@i3SsZ.<pGnD+fCppE5Z=Tp;ebj-n`/d8kRZl.IUk_8a8CES4`64'Ep[U[h!D7^Fe3g+)n:K!QEUS2PB"P)&14qVHmkkE"UB$8R!k`=dq5#&uh$_WupKqkGhQqh<77Lf;CVQ-@)J[18B[0B,1VEA7iZ=J^9ZhTEl1!dPAi"jH"9"CVbQ1IWon(/@@q>I>(&[`7@1^/UtpGo#NJ7qlUe0HHfqs5G/XUN@^/U/`a[1SQS;Zt.)Imgco;bDCm?Y0A=*Gt@!T+u,4583oWU8^0HVb`*&JrV=r^!>\d(+E8qXS0;mSki6A"*4npHVrup+XtPa:>*6?mY&E66PtoT<#n^mYfr,/hO,2iGT:@PfTT[i;@Cnp@Ja!?aCsf<%fci%TH(rhI<h&th]nXQQ@BQn%%[SqJF"$OiLl4Yf=HjnB$Md6;Oob!$/<33=^33:4-sm@!)J7qr_Bnc8=VlN/6E5o+R*3NO&gCo"\>*XR5-uk9,<S%97QJ[KPt(U@TbIpQ%,WR!BOX$A:pL<t4I/Q$;JH4,m,s04@om$^dXnu6?=P*#BhL+nCW'MsP;kjo`<c5#&5K.F2&Pc3e#jCWNtfSC'0rEEU[YL`qCG(sP*km]GA:Zi=QCicLRPj.9V;X\E%!MibnQ'KR77m#lDHgBPlfVi-#@Te>0k<.C+'>CeskhL!cWS8FRuJ<VdPS;N:n/RWDAi:EW1R`=PW.M^?KqR9Yfdsf-rosapg9OQ8iD\bJl2bE8tZ_::L&,?(/59R>4gt%B\HG1UkJIc)6OT/]-;mr\FI"CYHJ*$faEVjW*)jMOrCBAN"H7A4mZQI7:FdA!YoOAnLYa0Sid4HQDI]Ks"4DdK;DE4(=77L\)s%(1%u)0G8[_]#"_dIt#Z!i+?l5+^Q<%X>^AF\?_>cS`](#iA>#ioS3)VCFceuDqKUi7Pt\t63g(XpYQXkTFB/*rB]3uag/:hF/1E]hq=>\ZSD()T*XWgq@l\_ZdIYEI>QTi4FqeiJl3tWl00sr$dUWffr8e=p*g(%Z?LlHV@gb&gTQ_M+WI^sJg-ZVW*rMCEC_"E&!C]gU6_YiNZQm(76-`[\J#WSj:JTV"H`sA$<;H!raBFIc<kOBN)cboQO'iHEtC-o/)58U.6H,3BuF@F:j:mE.u1-@b-]]dIidt%K$FhtVrSZW0Bq2(a?JX[D0F<9FYVu@g!'5m;je=G2OhHBVK99*[=c*(Z2qc\=6aLl:[)>..nOp+k#+t\_=dU;s$oI`3IQ2G7[(7t@GSX7?O9-(0`,CJ+&bcaXYmV"[tQp&2O+_SR>Q'>R9s[-WCln$Bskq\6^:ZNY,]qE@??1a9&F235T)>@r?Af/>=ks,\\Gd-kYRj-'(TFs&o&"b@^XXN8V4@_^SQ;qKij=fJ<&h[IQb5@8[W7iQYR"3JL@sl8Qh\*cn9H`;R4h>Flh!()HbY2Oc`]]"Qio-.FW&_emEXF[3!_L6YB>Dd-9K*<8J:PH'PA_2qG?O4fW4A)=*/sU5hpYaA!"5ep<,VhUpn8NI641R&>\d,#d_5@\hK'<o@0bTEjsU@*W3@\ap8A9PtK@1cXShh6@RJ(+J=:NTb38Gg88=[J^=7ai)EfeaZ[J%0D!'fEb&NgECEK#dk`Y*<U-*CG#t'75_@f/aA[1GH2VkTJgn\X-`kd<LK8sFL<lnXnkOsLqJF*Rt5EQ7n8qV+s3,/I1GkS/)[La`BLak18V7YouhNPSn>$eCjBC$@j?oL`Ve[-'+BHb1_.d;A".0PRVBr&dl925HjR4nH"^8eoY=kf'SO$Kql5&?$au>fH'Gr-G5n"59;>""*lQ(.0:/-Pds+!@EN@aco\KEeZq;14jL>24,r="l_dt140dpeToli,lD,@llC2(DC:?+5A7:R52*H`9EBdgES`S[cG\77n29ndN5C##PYBZ,B"SHeFCp^bCm(Nf~>endstream
|
||||
endobj
|
||||
% 'R13': class PDFStream
|
||||
13 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 620 >>
|
||||
stream
|
||||
Gat=(?#SIO%"("ls$351fs%u^,YRjc2KTg5FQc4OF9DH((/C/J:9qgSp@BZSNT6h"#7NL#%Op7s#DE<E*qK).!IV7n4sD*MFpb#X"ni9eff8gC7m8;N1<p1uoKMFNoZTZ8PFN=tLgV_MgjQ^G2]!^CjgKp6DI/ZK-4,EG3E].DjgKj.?+o+FDnnPfIClC=+3AsPM&K(Q2-ujpP_E*$ls1c*'LHP>'gcRMPB`-)35b2e("/HNOh/E=EO5inpf14B<Z,^G)#N:d_OSWiH0(gbURTq6D[<*%bLqI'8)_(cje!GT9^?_?,'nU9TT/r+Jnbu6OS4lJUG-sqPeH,Zo0a7f\f'I_h&G$]pr%1^H.r,NSa/MrmbSkEKudO7hCra_<X_o]3Q(*h3OENpODW4G5,N^<prQ?Y?A<<q=bV^Sq@j'b%ec4NY?$*N&+BBA",3g'),sF1;6\J(r+IZf1<^SY$rm],et&Hg1?C-8[(J-3@"PKfq.f`u=*Ki8JYM%r5]nS0?S%YQs3CLG3O#Q1ZKNCB3@N,!AH&3Fam^!78W&aJ0&(m3IHK$t?9=1hXd'5Ae]c#t(;+rQPN*hF^=tVi$TdIM'0\g>Sac,/hWtK'UVD*08lb~>endstream
|
||||
endobj
|
||||
% 'R14': class PDFOutlines
|
||||
14 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 15
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000257 00000 n
|
||||
0000000422 00000 n
|
||||
0000000612 00000 n
|
||||
0000002586 00000 n
|
||||
0000002759 00000 n
|
||||
0000003040 00000 n
|
||||
0000003205 00000 n
|
||||
0000003484 00000 n
|
||||
0000003621 00000 n
|
||||
0000003892 00000 n
|
||||
0000004007 00000 n
|
||||
0000006345 00000 n
|
||||
0000007109 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\223\367y\354\321\362\222Ju\262\315V\3448<\372) (\223\367y\354\321\362\222Ju\262\315V\3448<\372)]
|
||||
|
||||
/Info 10 0 R
|
||||
/Root 9 0 R
|
||||
/Size 15 >>
|
||||
startxref
|
||||
7161
|
||||
%%EOF
|
||||
@@ -1,86 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
1 0 obj
|
||||
<< /F1 2 0 R /F2 3 0 R /F3 4 0 R >>
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
4 0 obj
|
||||
<< /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font >>
|
||||
endobj
|
||||
5 0 obj
|
||||
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 178 /Length 1411 /Subtype /Image
|
||||
/Type /XObject /Width 223 >>
|
||||
stream
|
||||
Gb"0UiGP,='S'';s.qeOeY4UF"6S=OQud^VCBG(GAs5(Mq#LHqz!.Yq<s82TcJHLP^!nSlYP70?2'IOd23dfJf\^<cWS+iH4,V=#!e$:`T7.<d6Ua8da&gqCMPI/8">2geZEKZVI8P>SL,u4;@s+9g9d8,SQLhc2(:J-sJNFI])PZFEUl#\jFZ:_%H@=C9X?_UKa0Wj?1:5?HkVFOtls/RGXnij1t?P*/Ms#N@/']`,Yeu3e8.XqB`H,Ve?\nNbgF'Z7f6#n!CFcKDIh]1_dM6hN!kFaiXko%U^3tRG<E1L2T]MBnP\&VH]GM0lp2C+@.1=olW)pa^b/eiFE^\Ug\(9>\g]Z3$MB`,9i9XrJGoM]17i_6L/21+5lbA=lt\JOF7T$&q7)X"q&hVu(.<lODNT?uWaTp7FEa]?^I@oHug1W>c*@+:TS>IP#9BnDU+gN\NplSpJ`F1^nLSn&\FF46C1_\d(SG&c6YTAs6tb48Et&uPp)JSl't/>"A@SB?5\b]2@Z+"hE#Z6WkK(/00gMc5qSUl&*=]Lrm8Xdld-EQXG=A)jq(;D9e"=]..-:1`urrsp('auQElasfuDlP?B%PI(+%la!<QLQtf+e7fi!XdgoqmEr6#U)#8W"d9MVEQXFmZ.liF#o'dfg<'^<&uR9piF8;m9\R#iV^uP^3_j87>$[Z@Uk?!n.[+b1a8*kUSFgeTcFpETSKi-WQdE0N]"d@!d0$qgEh&V#fJW\D=c#0LZkN>O?uDI#X*c4!iNG'U@X['uSQj@U6hm=r&Bk'2*H<jcq`7jcouOm8XQBBWlJeV#MAJJ9UkA54]/U\)@RGWp+K'Hgl(IcDAEE/IR9pt^8RD1X.pPT7"e-=K[bcdV]qAgPZuSW]26"p0M?41CEbu-Qp&D".SKX"mAEBVnj#8mUUo1.uP`(_j's@bZ8I'C_Lm-DiK+TKu>^TIOS2>9"'6+X;lF10\,Z\:oiZq?:)r`,2M\!1NPNs,5+\o1Rq?]E,;QY'JihT>)%)g7jh*0'O_oA4pF7u`+*7Y"lT>\h`6RLWtc<$cQgr`4)fKWm^-[USDZu)AAYm]^k0[>+t_m!i&chrZaGGuq@[a)'%>PYJaT>D,g4cnF_r-P'>^5hLE[XS-*Ut'd[XsDEkSl;e[[@<2<l#%O)k/12f6.7Sn+/]Z_aOqk#9%,:4Hgn^cpYutH>I-;%eS]G5h^+#Lk]K.1:2/C,akYki+br+a3&??\%:R>h=7N5qB,B`qc;*\32R-FM$Z;ZU[*EXuqO=6"EDC5.El9u7\pM)rVeCL+EDEV"r&-^D/0Em29BO*"!tWpkK\T>P]00eV3:JLHSuGsl[F%d.B9=0JM3G<b8Qt+!/THr>3(Zc5Ua8da&gqCMPI/8">2geZEKZVI8P>QRz!!(@;#AOfr/H~>endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /Contents 12 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.0ebb4782cae50a6fa41cca1aeba0254e 5 0 R >> >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
7 0 obj
|
||||
<< /Contents 13 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.0ebb4782cae50a6fa41cca1aeba0254e 5 0 R >> >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
8 0 obj
|
||||
<< /Contents 14 0 R /MediaBox [ 0 0 595 842 ] /Parent 11 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Rotate 0 /Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
9 0 obj
|
||||
<< /Outlines 15 0 R /PageMode /UseNone /Pages 11 0 R /Type /Catalog >>
|
||||
endobj
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\)) /CreationDate (D:20000101000000+00'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
11 0 obj
|
||||
<< /Count 3 /Kids [ 6 0 R 7 0 R 8 0 R ] /Type /Pages >>
|
||||
endobj
|
||||
12 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 945 >>
|
||||
stream
|
||||
GatU09i'M/&A:TVIi,/?L+5&eJ&S@a+r[EnPm[<5".,!18X=8,_7M$gIskt\Fo[)X$3YD9SWEMWBANn"kth(e\H+ZCi,gS:6r5F#,XDLN-%%5_U\jT&gEI1hgEI5?K8g;6cQg;0E$c\<6RXiH\c-RdrOeLbJ_%Y3WuT!33.fKGI3Vf!o<p9B1:>WSm8'CbKAr*@GVpPm0T5]j+oa+8Tg?3Y1^5A6AU-VDrFtIkS(0;Q+XBbAF<3g9.uHLQa`6sR(Jn7X"=i]0p^[5`738I2.grLWBYh%cXP"`G\:Z)"f/A#f"N>J!E0N]ehpmV.pF,YJ\,f7!#trtnlPNTiLI\#sr7,g0Z#1qd!OkPK^m6*9l,kkAb$mfsg.ifiUm%A@m0T#_L'9oep:HWf7B><*g^K^J2ETQ\Fs&uRCX_PU/0[n'\km.9dhGY@Che&7b7ZDW>FO8pJ\T3@a9JrQ36asqI44X?K;?n@^s\VtJ7=LG)RWI"'aH9BMRk41Zg82eVUS'FKr/-,P[/o`i62rbDXFs-Cu_6MMVm1BQ;UXmVFIR`eLRR:\Z;,1fag>?CF[#[4I,!J2,iep8N7/t:QE^jRcV7t0+:Ej\7\h3.;MP;6k>`DU:>9:jo$YGO&"l8g&*U`+N25CRH79p0b%^&P_ge].3pNV(o7PUKc*/)DHcn/2eAtD%-\FS9X[1R?Jh-]$g-X$loeW<NhU`.mt,nHL[;?(&6YSO*[;ok0MM=DN'@*"1jah=FEPMG3/_ft9%.taFhu1`F</YBPF'4C!IM7#KO7:+C3Wtu_a`VHLu>2bmjrCIChY>-o7138Q8Em3=r;XA"I#[J/(!K2CDjQaQH3u=[kGD>@:B.[[4;JDdM4F%&pZKFor'hGelo3>>jnSdiO3!t3)PefrUp;n.ULQZ#E-73/_1Y`O[^'_0Vi4Cab!U^.lrCSkT>'2m$d~>endstream
|
||||
endobj
|
||||
13 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 725 >>
|
||||
stream
|
||||
Gb!Sj9on!^&A9=Y+%GOL<iXbYq79U2W`E?']:21^BS(f:85*Mlb.k.#+crOIW)E:$@1qmcBDgnO-OBn?Ik4i_$K+8]2ff1^6bWUKM1kd:53C>9O6IqB33X*6S<:=fGlp.I@5K,FK9T9T/!rJI^#S!fkE'KFi,N*b%;uB)p[G^kCCTl`?+A>4C0S:0>KEE[Ihs<c:FA"F*/F1PA!oZYiA&^C[dpjdM`pBVdXX7A(Ms"V,*.fu%4Q9B4j,c&<*a<6"3S0O>jOV[X`bJ?Ae.Q%FAnI4L;Tl>2R$,>"1&'l]uiUQ0MS>0cI>Jpc32%rr2FK,jhi_08@i>D:Hi*YC@HQfMjnneXr:4B8*dgGC6h%s[8YYncBP`Cj@YL1lf<b5PCJ_jFf)(bF`&pQ.K7Vn-Y&C'(`0DQe,%F(edKb@Loq^Lp@-2UEB<VoqGDf;E,8`$3<924[^)VR`<F@obVG7l%ZGWg2biu$/-sdaKhPBN-ll/"YEWQdTpX797<p.9gmZ^VBq7[G>^M(J;Z<@=Ms):/@R2uga>6_:GUA3F6]%$DFnA5dM1,("`8O*pB5trH=G,*8,W^i^N)Ue`X+B:&SiYnKX$Nqio[6]^b['n&4_7,5%JJ;E2cXn_-p,//qLY's:)%6`i.+,k6&I*(p#"I_gL>gsXD5R%M"XoXp/dcplsQ?S@E(AGB.')BDZka`h@%3L1r+?#_u,"HDP_sLj>W\\`7P~>endstream
|
||||
endobj
|
||||
14 0 obj
|
||||
<< /Filter [ /ASCII85Decode /FlateDecode ] /Length 722 >>
|
||||
stream
|
||||
GasJOd;RJf&B<TXomc`^*nI#;,\beo7jb/kBgWht`(OI-jO0DUG-E"8o%3>H\kuiJC)a-rkI^3[q2uo_:DTR&#@&!g\&j`n-lQX>A;T:MT8MmoqfEHl3O3eKj]Sm8c>b$ip;tb+jF)c*R\K""qf7%IhgO:Q+Qr8K85FK:aDlds:@&7U6!%A2/X5m_EtmM.]T!s#V\>'54FEK#^KRdK#nKnQo-hndek9$aUM5\@h&gB0jK"pu>"YQd4G]SGUh)j/Hg5nfDpU"3&VPmt_T#VW/R%+"86B5fI=eZ@OWT8!P42F<+BTSZDfJFX'N\n-mEE'3lsr#a5q"_gPL,G2K;Irq7,M4O>bpV5ad@B![<H[5'KThGjW>sd.n,Pg`V$HUf6UE9C9k,8AV/FWgS"spR!!@G>;8J@E)_@1__`oK2,QhpU6Q4KW,nYW2"i["$iKrfPS`S6-nj/T;Z:K%N!+&0^CdfX8;o8,Y_Zftr_ohJi*%q8)N)HXbi$keCLsL)Gt!^RPY+hcS>50C.;[09NnBA/Ll7$0Um15ZXS=9^keK%!$\PppCX&?f)'p5jT;k4PNR[#ulqD@1P<@glamr?%77CIulT)tY,s`J05;Z*=i+*j%DpOL.V:0'@EgM*-"8N'APV_n2C.H)_B^`(MA-Vc`Xu(d6"`k*h)Jcp/c$+=%lTO6m,%3i+iD16OJjII)lpgIu>/LN=34s:jQqj4Q$&(.X~>endstream
|
||||
endobj
|
||||
15 0 obj
|
||||
<< /Count 0 /Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 16
|
||||
0000000000 65535 f
|
||||
0000000075 00000 n
|
||||
0000000129 00000 n
|
||||
0000000239 00000 n
|
||||
0000000361 00000 n
|
||||
0000000476 00000 n
|
||||
0000002084 00000 n
|
||||
0000002346 00000 n
|
||||
0000002608 00000 n
|
||||
0000002807 00000 n
|
||||
0000002896 00000 n
|
||||
0000003133 00000 n
|
||||
0000003208 00000 n
|
||||
0000004249 00000 n
|
||||
0000005070 00000 n
|
||||
0000005888 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\223\367y\354\321\362\222Ju\262\315V\3448<\372) (\223\367y\354\321\362\222Ju\262\315V\3448<\372)]
|
||||
/Info 10 0 R /Root 9 0 R /Size 16 >>
|
||||
startxref
|
||||
5938
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20000101000000+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 637 >>
|
||||
stream
|
||||
Gatm8d;GF-'Rc%,IlNL'1bieT,S,7d[VF5oBjHju8UYT78[:=C)7-Jq5MHl$?")u\#TK1YO6q"LO!+er6i9%'!LF\\?4da+X8lZ06["HMfm*.14RtK>135HJJu$TC"F4/u@S&7LB:+ArZ5k9!Dm&>k%p-h?D/e*CN4;.H"521"ChJISN^kCOSW_VHqkaNLVrLXpbp-mdU;_@Fe;jlE">eeHMdh+5>F.p\/M$p\8\g]8g?bB6^8oUI(j0<`B_W:t5#WU-Fk(gb6a%bX>"u<qVM8q-`p'0(]YF:A)0JkX8t03qRTn[@mi0N86i.KSYd$He)NFTERsZe=Kn]@L:p3kDQWON08f.s,Hn)h_EP2tW)t7n4it^0nV0TI<cF#&=.3Gf/\[3Hd"*E$?7f50cPuJYk\V2Q9E`(Fj8=ja>5M<aqpD:"][?^Mu_OBd9mIT/o((Y3H7!Pl7CdTd=/TSbPPnXH0g>5UZ:-4(,_F-PRBodPm%^"JVm*&L(h.ialoNkr/rbNsSKTli$Pa9LF,\&Sp17Fi4U0]GN'%'/I=2QF)TLWUte53@J-)&MRW#us=k4$<=^e4ilYp#[EIXX,ET>u\aCIlp*A#9PmqcuD&L,=nqpp'<>2E^7O@m'Si^Ljgf~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000587 00000 n
|
||||
0000000760 00000 n
|
||||
0000001037 00000 n
|
||||
0000001172 00000 n
|
||||
0000001441 00000 n
|
||||
0000001546 00000 n
|
||||
0000002326 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\223\367y\354\321\362\222Ju\262\315V\3448<\372) (\223\367y\354\321\362\222Ju\262\315V\3448<\372)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2378
|
||||
%%EOF
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,96 +0,0 @@
|
||||
%PDF-1.3
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 115 >>
|
||||
stream
|
||||
GapQh0E=F,0U\H3T\pNYT^QKk?tc>IP,;W#U1^23ihPEM_TN+I0SHG`1,I?72-)Cc1tON^#g$)nn4:gGa]Abo0?Ql6do6Up;@(YOlVZU%!W]l;'T)~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001065 00000 n
|
||||
0000001170 00000 n
|
||||
0000001427 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
1478
|
||||
%%EOF
|
||||
@@ -1,96 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 276 >>
|
||||
stream
|
||||
Gat=b5tf-M&;BS,reF!=lClsslL%g-"^sPBq#dmiD(9C#P:=*ChD?`,i^knYR5]%*T1#6Ab^VPPpBmCBKP[;VODWN7*O/[WnQ$FrbI_Vq^"ju]<pQiA^+@^7r/ODNdj;$>;9^#$V<ebUMCh+^p>IPPr"Nca)#fcskJng+n!8eMj5!TUSGa)9oYISX*d'uM\qYNb]#g14\ULflGQ2-#?ps=IdGT^DXrDd7K>Bi!81gL*J_44RepZQPi$C>kM9_r+?1gM02ZCOKZM4R7HXUC~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001052 00000 n
|
||||
0000001157 00000 n
|
||||
0000001575 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
1626
|
||||
%%EOF
|
||||
@@ -1,96 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1150 >>
|
||||
stream
|
||||
Gat=+b>K96&A5Wts"MKH,)Y72]ojREa<BI`!+UTo5DV%ZI""O'BiYRi!(E/g>H;I\[s*S7!f;CVI86+/B+t(<<IrRP\Hc]"KukX2:WB0eit:\4r"tLc/oBW$h2/<$_Aas\.]GiB*]b`YZ@ib?oB#"A#*[`t/_mGqi*pd!pb8=(_4UPs!Ns.BMN9Ie$'UQ@1n:s?d.bD.%nPnl=`@2@3+X*Y+,'?4&ZgsRPR`;]F?Ji?#fcClF*2IhR2Yf41g9Ml<g630jZo=:DWZSpIF;8u)qhb"H9@?5S5d1'fpk_oY:bu4j'/"+=fF-X:#39:[;12*h&%FtW6)Q*jm)2dfE\U-H="a'96m9Q\)3g>3VCgt1TaBg_\XM$S(>&,X_r!E^9L7K&<_%\ajo&KYn&bgoXpF-QL[L,DEg33k,PlR;t%eu?/[k-5.XGN`kM4'hb::.5#ECaD)^cfZW"A^hSO":p[c@ul&1EkRj21CR$ibT+.&6.%BBA3[qcbG](^o_[UDNoa_GQl7/5RDeQWL*=lC*%32bebm&>#^H"+g]cJd9o96K@3M&R\d;AeXZi$-W)A\O*t=q3*-lVc8p*c4_XgPUg+);X#`p8MkBT-ST-[k?4>erW^ja)tO3A0%31R<cp(V5@Zae;gOe'bMt&I;92!<Mlj3:"cCCe]0%:P]9up*E`VGHtH]*FfB.Y?Sii`R2:;80b>/LUO9dXbTEJ6f40T8hUH"(B^POl*UU'GF;B4%A&JS'#0`utbmY(H[5cf_<pb;Z0^YD7Hd`H;7n<DgVin6afl[+_W9jVW2s$"E#>Tg*7)r6G+lq"\o7D^`FWqB#`*oBn%oUl.8tTDrK8o+'$s9(_:>1;<8%CB@K<J7ZSr$G5#,"oYHC>Q[_U>S?#GdXW'JL,mF@pr2YslL'J>/',P*!L)<]qEEIJD`$Tbpdb@WWWJd7l#,k"l>'-lEdR9LMA7'FogBE%9Qf6X=#la.0+a/@c<C_.6Lj1/lV.3MgC!bYDs=<,>X6@f&2$gGc*BQr>0HWFT,40G,2!;`GMT^o:GlUdDaW;!B;AJgH\@=JDrsWLQj9HcL^)L%Xt19>rX!HQ]-8gT7#KGHVqpl6'^jh8/m/EI:=?l$qItg%Xc%OhqoBS<U\m;Khh&.c#gKkTANfcRf~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001052 00000 n
|
||||
0000001157 00000 n
|
||||
0000002450 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
2501
|
||||
%%EOF
|
||||
@@ -1,96 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1054 >>
|
||||
stream
|
||||
GatUs9lJKG&;KY9nfRQ2-o/F#rUQWu,WJcj!QY^i#YbZ*P*Dgqr-``Nn$nCk7V\trmAmMJH$9+eiu"WaO(j)Nm?ROP<:<$hAZT'A/)r+WQ5AiHE^%+)chOU%chRu^=\!,X<$aOT+#*JNf"0!`VioVG\Q<]%[YN,@g)eb1bDYYf>2H4>]Cm/<rm#/3q(,\aI8G8Z=&I]5@u.[oPDWDM777ibUZ0o$9FprfFqM<Af@[)5;+5>+]"d"m_lklFkOROd8V=j*.ps!2d0'K6LggV?T8M3R^A_Xa)NAT+kYVR:N@!^r*^:Q97'Y7Of"Obm%i;<C3m3]P-D62'8NKMg`S*psM("ZN4&_J,qpMRP"2Q9C5R@pnQu@2iC;L"/.#.4(#?'$&q8Q-hU]iR>VDEcpkk5*S,2[M#8OTi$lSUUU<7.ROHbWB9\(egRnb2LW*g(,tO;co=HiT!k[K%Qc;(Rj^A1F);?5[:gIFoMu@h]:bEeV,g+@)(1=o^u8MC"KJ`QH.ZJb!=BB=$?`Z?3])X5fb*3g?9IMV/WGSZ"mf7A!n[N_<f,2eg!9kFF\n6Ge7K,&76DM(!Op-gmA%aU9/u?`:$Un$D]LHM+dp(pb'`O?MBbPQ?\1('Q6%;(Su64\^%Y=YS(@@n*^g+a^^L.0C9@/.,3!U0'`*H_R'!\\EJr*B/[8F["G`1tgSL,t^u?`G>ul6R@UpFC)^MV;U+a=3'rlh:JC`;-nEd0cV&7@YsF`La@*3M>0KAqKY@)CK#["#`[/>`JPc3m0+<\r+BJg4?_)ZQ:/Y(,dMl$Jj_4,QXF='@QdfoBeZrJ*fH;W;@dY?5(Z<L>6lF0>V$N<.6NZirrK.UIth]6L2*?PL,9oOQkC*&1##;&LVaba[Bm&]RBf]a<bFp-hgC]]0pVa003WSZ1(r7I:5S<c3$lH(Nq5ZoVQr)g0c"N;\gN(-(s$<^]VZ_^p#+sX+,D2JEZgMN3D2au3I2fB&D;aTh`I6g)P`F(9L0Eq9d71S1l8HDKN>#KfJ.)d=Gn?ZkMDO*UZcPXdW^H>J==g`!F4TF;#~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001052 00000 n
|
||||
0000001157 00000 n
|
||||
0000002354 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
2405
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (Reportlab Inc \(Documentation Team\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (Example 5 - templates and pageTemplates) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1281 >>
|
||||
stream
|
||||
GauHJ9lJcG&A9%PIi.h=>sO:H0?\\kco)7G]1!?#5kdlD[%rEh[3QL=rUh1&[M1*p9fLaZ%9aNZ3:B!?B842A5GVTF!oQEK=+:i*%Rb(TT'\i92dAl%ahQ<Hh/lQ3@W$re5Wi/%^.jp0&j5'ZIF!&P$#S9%]Ds40qppDdG42!=3U(A?U,A=I"u;`E0JMar=91en!c`aD/J+h2iVE1V^'oBGL_?(\J#>`S)>ITjB)"nS;aAM/.[mYVs5l7r^-VBQ=GQ;RVn3b8p(%XQCk!<\DrrtJ(]F_9MZpBKNZ5?qmZ,qm7_R&dhHj"4CMAP5m9,\8$Lmpin@C%,VIY$K",YEuY(%#T+I(?.l?$kRI,5"]_]!"LN'T!ebt>*G/L7]s>DTE%/FGc[*N3DMR;Ic.0p9Q@UtP4n+eO26:b1,59\>fb>_CI/b_cU?73tYSXYNg'K`!lq:BGOs)V$;SLg%^@?gl7V#3!EE/Fc3i7N',!/B%fBF"T?X<.dHq71]W/N:.[l!6+f1R:U&iJgiS`UjrjC!1R5+pf++amSEcl6OrP4KS(5(EqmFa#-2>bKVWj=mIQ4#EE5p3Yks>Oc_5j[A3o=8]$+ZaF&<kPN%IXpVW5Lr8M4%-1+k'MbgnJQr2!8"SQ4kNEf;Q7EL(AUlgA\OB.JPQ3e&.?@R]=4%@)d(6<5MoMEe"#6@9L',NUehBTfU<<$BSd$G<3%P$)R"5fgT3Tus=fZ$jF"`*&65_A'AqN`+ePGTm-H"RS?UI62^uMWCd/8u8d=oc"c`j":609H1Y+0roCjH2`F:-;PgDV8B^:a$6fCpj0Vq;VRAVF:0hL;&UrsNI!.$+e#B:Sl%X6X&lT,lai%EC-q_B2i^q('U?lSp;Ij@+=gC<FuHG\P!Y:PG"V*5F\6VXV1jS-1thLb`s8*jj:1:@BHp9DD]eTG=Q@/>XDskl20t&"GcVeT%aGIB+7&/ea-s_4mfo6jK8a8BM(-IpeL/;IPt8@PbeOCU6*p:BC<l(=HD+3ci;Xd<H>B9qB2?KR)"_kkJoLtK$?L9<jW(8@lSW0"$cU^;8YZ@L[:Q^L*V9+OP+#=m4^R_g<MrqX.O"K\nm='jlF%pW,5)O8+)e>Hhno>YkgjjUl48F_jjU&Cn[dq53RcW7YVm3!lYsa*B8-YM8<YD=Bia4`K^f+rH/WdPlDe;Km`2-@=Xm3'%Gtoso6$(aqjHc=f.+*fUL-X?hEb-C#6_k3/bd:s-jo[]=,N/K93tJDal+0c9?7%-=+V*>(";H"80c!eFRg*Lf=md~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000752 00000 n
|
||||
0000001029 00000 n
|
||||
0000001164 00000 n
|
||||
0000001482 00000 n
|
||||
0000001587 00000 n
|
||||
0000003012 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\375\011\352\002\224\227v=\274\333;F\316\275\372\251) (\375\011\352\002\224\227v=\274\333;F\316\275\372\251)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
3064
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 807 >>
|
||||
stream
|
||||
Gb!#[?#SFN'R`L25@!_62PE$PS.DW:&(O]pdaVu8VEJSQL8KQi->'4VI^VVB3cLW,QmPWB-]ZN`k8mt_"?cK'qD_[\>UOK96\&!(EZj_#61PmW-H![;E'UjQ,75$@j`Gq&ds%kgE$4$a]B/+39=Y`?'!%iW<==e%I"7poH((\L#L(Zi69n^dCA86R'X&[jLZFF!rMmV^62Osrr="c;5b_\/"J13^ah`5A<s<2;5kOp5$./C_D_<[#$!n+co;i'XYF@Ga'NiNu2qetheH0/b,Oes[@06jHlCu3k;:S"8hhpq:7-#WeGF\1MV,pn"?GZu9`n5bP35tV*i@b(gE5.]IB"UN&iGFdjemk&kn@b)*$OtU5G*MW\joVTSkIY8V3f-`&19h'u:CJsHmkKa<C#e]K:W%,K.>LF-L9s:7o:hb-i7dTl=T]#mI77)1o6R.oQ&&R)7GK&FMJNEp&6879/^V'>K?2('n34KSTnM^F%tbue]hdD2=Cgki!c'OUlIg\J=gQ#KET#isLE.(*-cu4LY(/Lrd&V6lSfp9U4bG%#PJF&eJRfJpj!)K0-WuHY@a#@RWka[!(T7dE@'sfS10gM8P[a/r`?\3qp<!<#'"]*u41cAo%IZU'i($!qdZ6Dl?n4tW1]!5t/5HH/3M+cXIUn<t3)SHd$XMb(Vi"^=g#H\A\ESLN:&Jj`[Jtb:28Q.Ng!cg?lD0TJB(g<uSJkJ$nTe*]VXgjr_DA0ciL(EEn-uBOim\n(E`(&VZ2"SR`CK-!T-d4ZjB.bPjPT#\a-gUTb#TA-`Ss-)%)]n')8`'T~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000760 00000 n
|
||||
0000001037 00000 n
|
||||
0000001172 00000 n
|
||||
0000001441 00000 n
|
||||
0000001546 00000 n
|
||||
0000002496 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2548
|
||||
%%EOF
|
||||
@@ -1,96 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 204 >>
|
||||
stream
|
||||
Garo<4V#=_%#&mu^;HEX!'=oNY*FNk"dBs*!eqHsmQZdor3QQ`jF"8*T:H7rq2!(?"M092?6G,IJ])\!3b"GC*_]#q]J=>pc3L4.1`B%B3_6+kpWZ:#F@!_lr1TjC$^,H$8&_Vh<+Q(deFFJ]23m'APAT#)DABih9ptcW"=ZJsJejsZ2l:K3FIG?rVHIN[+*dl\0,ED,W;~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001052 00000 n
|
||||
0000001157 00000 n
|
||||
0000001503 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
1554
|
||||
%%EOF
|
||||
@@ -1,96 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 7 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 6 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R4': class PDFCatalog
|
||||
4 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 8 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 6 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R5': class PDFInfo
|
||||
5 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R6': class PDFPages
|
||||
6 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 3 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R7': class PDFStream
|
||||
7 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 186 >>
|
||||
stream
|
||||
Garp%3tB+]&-UA:db\DI$HTB"8K.tLW/tq*#q-DnmU*p!nk4Nbfh_<dCe!"\lWe(1/D(s[/1;<RfERQRp4]#**`mBQl?jk$LP1U;QkeC5[7e7IQ)s%Hrf8TH<oVHi=&tYCU4".s,^qrsql";q>KtO3K:lu0F!nU5T']:,([IK.,<'M]J_U;>7lOQ~>endstream
|
||||
endobj
|
||||
% 'R8': class PDFOutlines
|
||||
8 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000783 00000 n
|
||||
0000001065 00000 n
|
||||
0000001170 00000 n
|
||||
0000001498 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 5 0 R
|
||||
/Root 4 0 R
|
||||
/Size 9 >>
|
||||
startxref
|
||||
1549
|
||||
%%EOF
|
||||
@@ -1,151 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 6 0 R
|
||||
/F6 7 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Courier-BoldOblique
|
||||
<< /BaseFont /Courier-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Symbol
|
||||
<< /BaseFont /Symbol
|
||||
/Encoding /SymbolEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F6': class PDFType1Font
|
||||
7 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F6
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 12 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 11 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R9': class PDFCatalog
|
||||
9 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 13 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 11 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R10': class PDFInfo
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121219133528+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R11': class PDFPages
|
||||
11 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 8 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R12': class PDFStream
|
||||
12 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1219 >>
|
||||
stream
|
||||
Gat=j95iiK&:j3Mr#b(b/dt2`+-MMULBTS%JH^ohg-^q.bh-Z@aXbJQoC"c:8=F;QGT5:sWStnV4@rIBn3cTLg&l^TiV&959qcq;apEjo.src^2r>E1mG]J;$0.1A#_W)$.&8+W>#8lJ2aS-k`t9/!0pi?3Y_$F@(h>?l.3gA[Gmjo1%-3X`/7gWab@30M)0tV.PKfY<j-_\u2V7^b4KfRA@#2ouUQ`Z)Le.^R=U^%P6su,$5Tc1,oWl"`/g`AeS8@VPS%TB)#?s[IQ!@L'7'\?KSgPcsU;-i;!7i8%A]]!ApV<T(_qVd;;Jms?Z(HIQbApYpJ6rK#5stDA'9mu6q$C3df]Af(Q1f5sbCA15S#/_r2WYR8Ls+q<`0b>okNgVgaX)!MS*m*'N@+.!$_n;8C="K07l+M]M#:_A?63(LVU;S$WpL/E7q>*XdB`%tbm)`;<;R</*FYiMPj9*$#WAW(W&Mf6[]_WjTYTc<l&IGH3`td#7@i1>*HlQ/>n71Jeb@PY5_=T+6euY-#sE,^=_Tan(6*RiW-Wr,oOnHrfQRdHcajYQ:HRBJ]ATJgCJ,`h).;er*=c9GjN!F>/TEY)/>nhuR(f31^RSeV>;\nZd=&4ke'DE]]=m6b?`NdBj()K:njbj)`H;\njJ=f\3ca(qo"jZ-q1fF(N.]=2qq.?n8..b`Vt@<506#S6(/aPcR@&-G<DTHnbaACt__Cg?9-Ggq:X71rF.0&Pe+lh-%Z0;6J!?oi.,Krkfca.pm,0dhLGS4(dg^95?J*)ulV<'a@2qPg1rj%keQ@%_Yd3YNI(Pg@#b8L*l2?c11\!*eB$t'6hSkl_/mrT&OqJpZ_9[aJ(8$jTTK/cl5iXAS?tpP^E"JBjQtE<$i[%_1B3rL=:Tj<mj<dh0O`-JUH(&1J&Su*B\f-Dfq+/8d)"SeE^T-_&7Yc&!d+[12\lAMYI:Z@,_(032&QA_e2:988s-hg>Q&'K)&s:O-ddZS./JDNKaYjX=FP-qPBbm<fREQsIRLK=-M9>/rJ2"3KFuI3K6qY5JjI+BM8:e"@aHQ5aTD-o7/.l=iEX?e)iiS7Lbr\SR4.kZGT;UjrpPNssn'oZ^#>e3lN^u<q3[45"Es2(;Es2(;G6IXCG6IYn87FY&hG0XjfS<4aLX&kk3=eT])S?lUc4k!ElDsS%Er*V)9B1LIKibBkRco@*>AM85G5]T'S&=7J?iK`+M?~>endstream
|
||||
endobj
|
||||
% 'R13': class PDFOutlines
|
||||
13 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 14
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000269 00000 n
|
||||
0000000434 00000 n
|
||||
0000000605 00000 n
|
||||
0000000790 00000 n
|
||||
0000000948 00000 n
|
||||
0000001117 00000 n
|
||||
0000001296 00000 n
|
||||
0000001575 00000 n
|
||||
0000001712 00000 n
|
||||
0000001983 00000 n
|
||||
0000002090 00000 n
|
||||
0000003454 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\344l\301\320j\307\346\376\210=\215\256\246l\2546) (\344l\301\320j\307\346\376\210=\215\256\246l\2546)]
|
||||
|
||||
/Info 10 0 R
|
||||
/Root 9 0 R
|
||||
/Size 14 >>
|
||||
startxref
|
||||
3506
|
||||
%%EOF
|
||||
@@ -1,129 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 10 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R7': class PDFCatalog
|
||||
7 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 11 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 9 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R8': class PDFInfo
|
||||
8 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R9': class PDFPages
|
||||
9 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 6 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R10': class PDFStream
|
||||
10 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 622 >>
|
||||
stream
|
||||
Gat%ac#28i%"RdInd[d*`M/0aI]k>ldk1h%!a2!$)k:G5HJ%7RZ4kOkXY,;.gQ;'Tr$6k`d-8F8riuWNBOJA;5_<SUBU")1)a$"Lg"UoJgthKoGQMeMK"=h8N?3SnB.3ll5ngt*!=:I@J4)Df%4W9_At)l3Hht)*rGFQE)A_g_BFi,sXS8p&4m_'%n8f-/lgO6'oEC[jd+lNJ%-P9pVt*/TcEci#]:.9m;b0jJNTsj@)B?'?kG1*fp):bL<n8tB,">!l%ZVL\hWOP]HEnlL$8+cQ"3X.a[,-hq@H\,tr"6UEAMlr4_m9k.X<qu1Hh;j1L4]rWh'j-hikI>@Fl)cPMLeI1b<^j*Z&MMrV:]+n*'51`h;bAL6%@FOS\83d)#LL/#ceLkof5[$WXp-$)bYu[W$nt5b2f;=AP//p'S8(me]PrKYJ]=AbmrSC7u<.e+*Kp/<8ph<+<dmS8W^4Wejtld+Xh;op]lBPV\5U9'G+=h#O&;<4qrTr]:d)>icRPD;i+9V8r0NE'#`.p3YF9A&/7)rqu]69;i+9W$AbaE",H'"2%m:*$VDBb?5JhcQ2$T:KX_@L.!hl)h5k:fJu^C:*S(,7V.c^ElF4s/'BZX9"lZKl~>endstream
|
||||
endobj
|
||||
% 'R11': class PDFOutlines
|
||||
11 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 12
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000245 00000 n
|
||||
0000000410 00000 n
|
||||
0000000585 00000 n
|
||||
0000000774 00000 n
|
||||
0000000943 00000 n
|
||||
0000001221 00000 n
|
||||
0000001356 00000 n
|
||||
0000001625 00000 n
|
||||
0000001731 00000 n
|
||||
0000002497 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 12 >>
|
||||
startxref
|
||||
2549
|
||||
%%EOF
|
||||
@@ -1,140 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 6 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 11 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 10 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R8': class PDFCatalog
|
||||
8 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 12 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 10 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R9': class PDFInfo
|
||||
9 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R10': class PDFPages
|
||||
10 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 7 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R11': class PDFStream
|
||||
11 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 932 >>
|
||||
stream
|
||||
Gat=*9i'M/&A:TVIi*/4<S6[)pDu<@P#//X/_&dE97VPc:+.29rV9a&mIf1nA#2LIna(V_p\&*?&?,Ins1DJ:Hq[p'6U1jt*M=MVOuZ4"iS\u@\F<9F(n-!k`fYY5qWQ-$E8WKZ8F#DSQ]M6:/0SM+3['=@gl3Yi0UhuHY(*8u5_L@Q+#^0$=Di"bR6KDEeuR%74D`qmH(D*E%j?4Oj9$C@r(Ph`2JL6hP$E<]ohfK2c'39K`))I8;U[juEBrf%J<g*Y>DPZbD%X;:`(9/fNY\DOnU*Aj(5Igqe]Dh%mJGnIPh\sJ)%iC]AqD'B6Uio=Fpm]QnIE-e<Y3Lr^*WRFr9X#-`KQ_B2%p=a0gmF`)H5!o>UX'\P][n)Z.#tq$XrAr:TH;Uek+k+jX+3c$F_$<B8.YY)YLgV@N(80N2Jod7B<Y@3Z-D$3Jdmd@'uM3cVI@"e'9UJ%\&'Z38Ag8'qgl\(mo`ben@&*qg*+,[bkl/Lu.G5k35"_\pLtW6b&7j?e7"Aa.c5->E7KMN+\^VY`:;<I61H>&nIEL4akgn30ntVC3\<d%mF1&qL$@I%ELlHl;K;Ca^)\)=mj`'DiHF'j)I%$>.R%Xd/8B=Q3#itK8n'uD39$Jr<tngplV=b4A>'\g;6A$SQWLr"JqDA<#H&lk3`4V'dH\6<@Fa8aqCJl=?rRWq3d1<+]b;l?0lcZN%/<<,uq3o,#j@5W5-Pf,.oaF!j/O#9X5X<^,/^'F+t#TFd-*@VPuE*#IA!-@@;J?\giCjhB<onC=I,!%&[2b/$2Z\Cc2(EkeUB0_t33K[s%a30C'jmNW3XZra*FsdgPra5FKUp1qHGSDLS1AX]Ts+[V98Us0i>:c?j),q3J6dK9A)$*ITB[qbgR4DFX%\R25OZf5YqrFe:Uqh09)eB"g"]ofFhY!5lW;TC?,t~>endstream
|
||||
endobj
|
||||
% 'R12': class PDFOutlines
|
||||
12 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000257 00000 n
|
||||
0000000422 00000 n
|
||||
0000000597 00000 n
|
||||
0000000786 00000 n
|
||||
0000000957 00000 n
|
||||
0000001136 00000 n
|
||||
0000001415 00000 n
|
||||
0000001551 00000 n
|
||||
0000001821 00000 n
|
||||
0000001928 00000 n
|
||||
0000003004 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 9 0 R
|
||||
/Root 8 0 R
|
||||
/Size 13 >>
|
||||
startxref
|
||||
3056
|
||||
%%EOF
|
||||
@@ -1,134 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-BoldOblique
|
||||
<< /BaseFont /Helvetica-BoldOblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'FormXob.a9475650de663a97fd49920ba129d955': class PDFImageXObject
|
||||
5 0 obj
|
||||
<< /BitsPerComponent 8
|
||||
/ColorSpace /DeviceRGB
|
||||
/Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Height 86
|
||||
/Length 3441
|
||||
/Subtype /Image
|
||||
/Type /XObject
|
||||
/Width 130 >>
|
||||
stream
|
||||
Gb"/kc\l$s&BFP1_2Dt)$d:1-71_WG5t""8d$&bf&I]R7/-[n]Ci0j46p]$_"<iAJ+AkPK+^dQ3d#.o2*fP=T(/u'4+Zm=%BD/CfZ`;oPEV<+N41dqfbeEiJFoCU*lDj9][C$6dYQlI_F*$sEYC8T\iGp73lgK<Pc&r,^]Wlq7SO]%?&*dkB7;8pc#'@%.gKhGaJ_,AMooIO[aU7Kbr(V1>a0tHAPLlrJ9CjJP]Q3:qi]L#Fa-T"Ac's+Mn;AA&B6[X-o?:8=&#D:N"#.Sd_Jd&9nAMZ$Rc?Cq]/Y@kGCugmI;S1MEQ=hE#?fu]AM8aaT1Fe#Q@"WD]Ve6J*7aNZ3-FN9]5r]/8)?iJrSUU\&9qs,l-cZ%,@Ga:aj1tI*.E%7]"0q@K7*%X`Af\njiWkC+51"lqO*V0*PI'PBJf1OT02\,Erh63ZEf)S^]!jfHpmVVo1#\nh"B/Yc3VT5AJc=Ij'4BjV:+2kk<HNQmc.&9l_BFJLuek3.Ad))F6:]Za5,D#N8Y=/5er+re/W@^$.6s9Z2?lR&Yg&ub=e2am1b$EC%]6D*Maj'NO^7!+3n3&S;^A.9dq9H6VhO::=>67ig(ZqPk)\b0r:qcXj)4V):BjW1aG9sr[">($q&@&2IVjUXKB`Q6S_#QPVQ<*!=7!gZ)uuaUP>9uEFQc49!Pn$gdSY2"9^dV)^&'O6ZPLEmUUKj=0GrtOFg]EA_)rZ&;rVG*uIo`F7LH(Ktl%Gc6>hI=B"D!/K;VVAbkh_dMaT?"DMF),S/hm>a3)l<UR%IC1E'f?>7K"=C+Ak"]sJfAU=.%EUKQU+N.i;Q//H.6[FEoi_BsN%kVaghJClIbg7+J<T=!_VUr+X)=m/T+^*S<k:Te:9;Ar'52'u/<95_^d?#Cm(3a^).k<+u>B.Che#fJj1ZLr,IdH\qC])p?cEfgQim'seq:@jhddafm@3jBfh:gMK;$:u_Tu`Ef5+:,^BULR&2*)B/@nCjXR21K+<SWuHTFlLt'<kA]iR!TA,d'<J@\QP+[-ZLpcb;?E/.b*;EG)_(p'X^[cm)$98at<>c_NWo*aNDp9X1"d!$,2'E=2JJn8C4$[G>uV@nc,FbWK.kk;5bN[lL.ac+H'4?u]gpgIb!9C[Nt'diDUboZDk3Q6bqekZfLKir0p'T.OkEb0"GQhe^7P5tiPEKg9`>*6*8=eoGBkm.`S8P!!VW:p8uuM*7C(XQ669?@q5$Q4JD5R:NNg&#\*=Lcs_Ys-4ti8M=plM2=X[jDgXP`d5!5=A/'/D7IZWLoh%R/5#uJD-R#!Ct4c/.JK\;hPKdHbZ*&omX+;2N/bA=BSmAO_!:.d7kKp`k(#fe%"%)Bc>TQpKJ^XW)gN/-g9n9KpU)/\f1$QU>slYX%2rG"CReW\5cHb`#!.+i12ka"f!N[]nrqE:aVl<oHK4,j"jG%?3Cb=u&;9tiK2F>=hB+OEDSh8`2^pdo%QR65*#mk%-#X[",Ofs=\_!N!>3!HV)troQI\?^9^#=7,?QpZadoGqfh>,"Q3`/l#;<4!6LL(3mqm;>D2;<UEjnYmQi$QH[bRr<&=3GIsCCj=<_V0PcDkU$"9l&JPCY+=oLba697H/1ZR`NfcF5&A.joeb.C8.W:i1(h_i6bd_aHnq6=W6t'pT(*AptT.+A40#_3BB$q2USI,_t)1079S[5@U[D21aYDqc_RZt6(0)FVb>-DSjMNd2a'#ggd(q3&M5_iUbYsb]ja""]dcA\fuB?iiO&!^PLOi35WqkHR'-KR*aWf^n<f,a/dt28BJ.s-PNP4Q9Hm,H`\H<)h5FLD=?mQ@m@J]hlc9gB.u[)TD,CYOcAYMU/3XRdi)LC-/OnZ`!hnh-%<)cui@I6Ok#?>:jJn&Tb3('.eah]JEM[&j5^)dgEdO)BF`>l**+9SmWp06Tn\hjj8O#guco7C$_cFSN8udG_'JXgj(:e9P*nnOK[6iK?kn>.LPi?]flJeri[+^]1DMBV`UbNOnV<q8>1U'HA3WA`_,Z[[YiY\F\l<kE+8Ck)sKqZmfr]6Z\LlFkKB0G5u2n99UGV8r#ViL])`/I_o3?7-POuCd71kl4tc#&87YZ#7&_njIh5>."XWK>CNV82<:lUW2MZ6]R1"(Qr"9LlJ0]N3]b>>DbL9h[9,de1[W?HDg'Ht=lel/IrgDER(cMeqYC#aZQTG"aM>=r:+og:N9?@rW_D09;hA-aAd$\gEY138bbi'P@0Q6YOP7nqSA49.ffNT8-`cPF!35;&.X&;Js0qoSkiQG5a9P8WsU9K*A$nP[U&kMU"o>YqIs9[^M%D9[uVM0$DR/kl(\cZXB55OdZGEad#;2dKHA#SogbAU\HC\3:Ss4hN7P.K,`5-`og&N[dDq)aI.f@Q[uXZq(#J"84k7RM9GI6Eu=ob5#K["qZi86D#mOt?F/UJLHEq@EFtnV[YYJGC0N2k#UGs_O)`e)0)d_`U4<:#BZoVfh*cco3&^>XC>$l0:NDf3PVCPLkT+K[Gj[;*Mi.`B:<?a;%!=r>GfhIC(l@kjVkHl1:7`XP[)fE9FEV_$!\TETGUITa(dFf,"t3A+]Y"B=CIq/8;/4FH0h2\_-'@F`\hoa*j-]Y^3`L_r8h1=p=Yqo:=<sJP;IO&iQ+08d-CNG$>/;_DBHiBuE=[u4d*$B&Ie"+Raq&W57a\Ba#YK`!"66+NaMM5$&r>Bgbs;^cVM_sYUWoa3HQEjJX@)NI.r?q0!VETqhE@j3RfpT"pBK,="rZ_6UM,J9AsiZ&.PVuI"=kH,W`(^\H^L/0Pl;f($GEt/HKdKa-Z[#mb4Qck:NdTka@p4=AMKW!n2kO%iX4a+%PsVJqh'Mg+P*jW\U+Mhj#iUt8&bn)#YWO)\+6#NT0,TqCkQIFZS_tQfq9j]iEWVSG/#.HH;1Ks+:^BgHYq798DlD2M\)Jj:bFB^hgC\o;H:%"`HcWs\CTB1n`h!$E@9Mgk%VV"54r_tmMGA@":V56%)>K12KnD(SlW7A\OSmlGX,:m0V8WqK![YP?b0[4SD:rC-*s.&GJA78Y!'=J*A3?!5Hnp!m]cU73i^-fm[`,^NS554-[-=Z5\`Bk;o;Z;nQGDC::$=t0T\E-1Y=<p'OND5SD5QO=RT)Xadnf/*:3%Q::607\6%\h>kP3K%I"HS5IogSDcLLBO3hleVhS@CWc(mO8<;,DEi0!5GO>7RPopn9ZYXJ#O"H@C(tsj/.PI+-Y"pJ@=gj.uGFR3Z+[*^=BVXt$Cc*W1/+-B5+alZI1hBZo-/BldS`68Ql\;k-:(?g%7u7$pCe%rKe94K)B.N>\f_[4(&VtcnFh/?.eBk5GO<,P\GA;#]]3$>VTQBYBGrpH')5Y:[OJ_i^9Kd5i5KbtHR>X\kU)%s5S\FmonqYG2qrh)*9t?/cqb!YMa/8Ub@.B+9K".)ZAlu_*NdqGMqYu*b<qL`8"8iHr`IR=~>endstream
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
6 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 10 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 9 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ]
|
||||
/XObject << /FormXob.a9475650de663a97fd49920ba129d955 5 0 R >> >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R7': class PDFCatalog
|
||||
7 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 11 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 9 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R8': class PDFInfo
|
||||
8 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R9': class PDFPages
|
||||
9 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 6 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R10': class PDFStream
|
||||
10 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 879 >>
|
||||
stream
|
||||
Gb!;c9i'M/&A:TVJ!a`'`+EZU_qlmn<2qnln:@WmP7SYQ1o-j1^\cutS]H?`U6685hRq[tR2s%fp)n>O6[ud"!R<Hf?6C@V[K)Oc6?W[ufm*.)4M()bX=Y':7&JPVUYMX!j`k<[^h-M\?J5hp0Qe<I\a:Xt,IF#d$CI@`aih`tgj)#9<LGN':QTK%Gg)(T[9:@]"1rrhSj.XSliFC*3:30HaKG@`6c$,Bb(mGjX#-KbG*XG3N'oY<]<c=TKh;Y^.c;#KL@#rr-e8K#.8U'Zgn_Tr7iR:GfML:h]])DVl'pK?d9GG"O`,H-*dZLdg=$E1a?<n/_j6[.9L'rC<+LlUP$uf.RWmf>oV1'*\(-H!7OC_X?Hfem\OdQj1ktcV7l#cq$GKR?M/mr"Bt.^i>^m]R"?bFH6Y%JG#OCS&!2`&@K6Rjppt,PXl/<:&3:nF$;F<YMfbuS-`kSE,k[hc6("TZ%LtElJs)")VRB<O%T9o/gmROB4c`>lMPSV)[PU4*4XP3'AZ<l5J%joNOh/W6VS_-JUN&:ApLm`iMm[&r6/R+hjJqr5Z4*W35G&;.7_NsL<$005naaZn7okJd0Rk`1S@6^?g"A&.C;UYpTg"4Z&X31gf^lLbKmA<*J+:sqp?+st%j!!)I2-"cu*lo\h*V)J6.$e'f%t-1>$]f&?/%PMd2PBn[V@q7%\9n^W%7@9H-OQgmnd3B;d`[o1ZM.)KC;p48K_.EZi91o"SntFZ1psG`BE"h@]JDjU5^`,]_KU3L#lJ(&.bgJ<hOs$@KFY-V/W(LLi?l@Q#5LI$];rerO0S$/!piAcm(0P(]28[B7P)>meA/6?$EtJWX5b8NCk9/E]=iFJ&3_D:^Gg+&%?*f,!KukO8,~>endstream
|
||||
endobj
|
||||
% 'R11': class PDFOutlines
|
||||
11 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 12
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000803 00000 n
|
||||
0000004479 00000 n
|
||||
0000004822 00000 n
|
||||
0000004957 00000 n
|
||||
0000005226 00000 n
|
||||
0000005332 00000 n
|
||||
0000006355 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 8 0 R
|
||||
/Root 7 0 R
|
||||
/Size 12 >>
|
||||
startxref
|
||||
6407
|
||||
%%EOF
|
||||
File diff suppressed because one or more lines are too long
@@ -1,107 +0,0 @@
|
||||
%PDF-1.3
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
822.0472 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 180
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 9 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (Stephan Richter)
|
||||
/CreationDate (D:20130304205054+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (Test Template Document) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 207 >>
|
||||
stream
|
||||
Gaqcp9a\a&%#+EXF,/q]$B@jCVk'r_\EHBjGQ;RaBeB&X$\tDk8jX:H?h+grR=]I-%)>_Z3"q)k*QT*'BlF]e5&b=#`=NWV@H%8_V-t;[JZT7&Qs/:PqJ&Ijen(XLBPh$G*Z7L,ZoIM)CJ#O_"W=UePAdDu?gVHMHD.jUI6V0KGpeDL:iRSTr].I=o>N'"ZHL!fF$coLN?0o.~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFOutlines
|
||||
9 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000559 00000 n
|
||||
0000000838 00000 n
|
||||
0000000972 00000 n
|
||||
0000001252 00000 n
|
||||
0000001357 00000 n
|
||||
0000001706 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(1\301\(\211\016s\276^\256\005jv\035\353\227i) (1\301\(\211\016s\276^\256\005jv\035\353\227i)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
1757
|
||||
%%EOF
|
||||
@@ -1,127 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
3 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130305225909+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 3 0 R
|
||||
4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 545 >>
|
||||
stream
|
||||
Gatn#h+lua&;BR'oc9(&lEXD.Vb,TA>pPMTY>>C;?GOK+n_uSUG!PrufIkOcXf,E6abe"^TC7`Z-4&u]IP)DO9od%3!YQZ+"GqaJq(7'Yh9L)NA(SeKH5m(pajLTmE#bZ&Z"XU<=@6HYV@fh]WJ#TG'AUuu6a_gWhFp32aD4-hQ8WIoUHYguis_e;\Z&iVn-AO!a=k6h]pIR(9SZc4V;oJqmrF,<*/VSJ>o<s>OjK/d7.6-ooDkC_md23I7)&fZAfZqaR)DjR1a6_d%h+N3VH_HZI5[Uk8:4-E2%2&oFLtf/NNimY@4A1H%@^bj3+q*bi2Vj;`LG6YLL@kL<.3_8r.W;DZ!7n="IT`X,(4E/"Ij"ps5R`tqf'1@>F'G-@Fnr6:a&,iZg]0GGS!c?IjcdQ4M@*]:d%&9PAG>qIO-ffJ#'2'crJmok!#t=8ro1"gMU'(Sh%XRk,9"WM%khCNmo*Z:UdH26PuuNd7$gPGGmr#Wl8VX'KJVC:sSQhhO:oB_6n\G5&[+BK%]>+rj1-\gF#G!o*.F/8#l~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 262 >>
|
||||
stream
|
||||
GasbS_2a+$'LhaAr52g7R:'7($9Lt(2%,EB!CeQ3Jk/Q4rHUN]bfj\IVTF0JaZW]ld#n6t)IR&/gIXp>F,!BJ"QgA%'*aLOTKi7l',<02W`(If.b7c9efZI=r-@p_h3RP1h-OBAI9p*a6h=md%-drWmdhAYg,bhW7:?T!HYImc,09uM!]/r^"3:D_eFPLlokHe0$j[(6nqWoh)P+Bsi%f&K&t,bCTR.QH8'WFqO)AnOL5rq6C\MlKAb-ue@Lrb$P4MUX~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000209 00000 n
|
||||
0000000372 00000 n
|
||||
0000000649 00000 n
|
||||
0000000926 00000 n
|
||||
0000001061 00000 n
|
||||
0000001330 00000 n
|
||||
0000001443 00000 n
|
||||
0000002128 00000 n
|
||||
0000002533 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\266\223\013\225\230\266Y\231\206\3278`\331\265G&) (\266\223\013\225\230\266Y\231\206\3278`\331\265G&)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2585
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font ZapfDingbats
|
||||
<< /BaseFont /ZapfDingbats
|
||||
/Encoding /StandardEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 2097 >>
|
||||
stream
|
||||
GatV"lZ3b/'ZIhb.f[E]_LSrVgG;"KX_"IoiX8UoIGt$)a9.Ml#XQG]hsTk!FE]KadsX!\T_O[kc^qbmbh<!GL+:aPU#j$"%]emK[+aB1MKC`3YGdjGeaumbF1SpPCib5TX_B/bf:FI-Bk!?Jh;hJ,Q@e.Lc&L#'U3#L;fX^:)gqm(WKkG0J%9_l*T20[3XaBZ;q_oQ:*Sd9Z4Ki@$o:t,Vs7k!udI-VZjm)][q=4C!akh#[GOOU5218_(Y>eTL3\3&C=oLRLFHOm-WiauuU6TkERIj1sjgJp7XU_t79&GUH4)p/f[Vii>$nje@eUBi,9">4TNmt%b3\A&Bo'lW=ddFMY4'B:E>IDbkF;.aXh=aUWk'rR"W^@nH:jRc8Xs2HmLqW/?OT?nIa:/IWNUJLP<Q$4'0aV2-(XdPTc?Le4m4Qac7$EZKKs-JpBZ#kcTG5hArYhcjI)m^`I:Pk^[c@XhOL5D(N6R-:_Dar=XM^@ZTG3R5.\b*Vlt)OGLJQeJ)3Vk&lV.^P)rH<Qa(M.oiLAkZ2L`("9H1Q^9&'!)9;D&,UN!Y!18YM-Y&Pl/1j+;a1rC%50r&]2H"9S^(Zc.'R!%4l1/5K)P46W8P]bWB)jEZe]o&11SKN8pA3^J@Ee?]og?\`)C%A*aKPunZ=o8&cnPVcU_ekSjSKtj/1854>Ee@7\6fFoaQVJ/g7YWa.95[Q5=];hAnthP'gET):@7tK7$JE,l11It>Jo(3-70?H?O;el8C9PK+P:rCNjAc57>T@)$O-_%oeR'OJh_[naI"n@-D:jsiPX7:B^ID=j%RNYDn0s6L1gs$p:^X1MJ";sSb9Z'93JrR@@7tK7$E<qQ@_QEJCh,dGhhm<r,j5$)`8k,L$&;;R0I/Z.c?LdIlbY6;Dj_jj5"!_RD:jsiPX7:ephTFPPD$iO-lTAt>B5?o80*`+-JpRM3.-a\+a)G#)jE[heIgHp>:.GJ)&Z8)%CnbJTF9piP:r?&)gV!pp71@[:'jGJ2W$2cGNm5kaG=\8ENM\"1t,eUD<Wb'leWTV)*I9-k=\V>E:duT%24fD#@lX_*L9rG;5+)lOSOo>M;B=G!VuuGN'CMK9Qeg4]JS>BD0I`K"4K0c8P/]naQqH2B.5bfKoEgSc*pR`IOHMCg]/V#D8)3cm$a0?EW_]1[KY;!L"BmHQ&ign[4T2&.(g]LX5!\%X)5S8P45?5XE"E1XP/%X-/jlKXE"E)XP/%N"kcCDWlbcYU1t'X/IF_.&QM")j&B6UCJjk`PbrI'(oH#7b9Z&E;O5H7@$GEt/X(j[8Pprr!)]c@[nMn>P+kon!2ELtTPIF"\I>>*E>YP+!aU`$gJX9Y%:GE8o.?/Z?V"$D2h4c*bI:.XIOR^bg]0aA0&JEMG"7Ef\H.Xe?/b,`KjVqu.NaFCW[lH(.(h'!WS@JCW@m'`8N<!0<,M]2<0qNk,lCi';Rlga;I."JK'XF*9'$728p(<K(5:Yg:b!QB;5u.n[4(rJMGgtcN)ErqAWlP0.8&\+0M;$6Q:\r?;O#<55a:R*/JDYZ85Uiq5Z+Q-QV>oRAg3PPAfQN(^@:6kT_hSW;Y`G4;17[Ge*DGq@T5OP@T6]JQ_=4YaAD[p"AjO*95.&H0/A&=X4<W-E?.D`\rU^B-I_dZM,Moc@&SpKGnd@)ARLLY_dL`a?u>[-f*d3gD?,;HO+ObE;R".M@'E*--#:+jZGm>=Z:50gCO8sd`XQ=_7LE^Bq_GV"a'lDG$AE7#;Rj^U@(8Z5V/$U<FH%6TFH$ulf,dNR)E.Zd)C^WK4dPXrD?0:9m^"#AfRB(d2EhTQ2Gtr3HQjbPg]/[;Uenufr1/uY,;sE>,;pa1YoQCR)`Ia7)\E;-IZm)VD?*$^,*]ArPu0G'%T>80'XKrd@Q&*(@l>NqZOME#lGB'N)o.u'#R,(kV4`eeJ=ql-,AeeQ'1UEi%:IURKVGmk1=X=a@FRc"ZF8YeXGn17XGmL>D1>)b)`N:U)ekPFr@+R[g]4-eUbUZu;Ms5=!K,W&K=pS)&T6XX-uC1<ijQUU\;eh0\;`>dg\qfU2Em2m2UW^eqc='YpcJ]780c(?58eH&1ELO?[CPfl5m=Oj~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000743 00000 n
|
||||
0000001020 00000 n
|
||||
0000001155 00000 n
|
||||
0000001424 00000 n
|
||||
0000001529 00000 n
|
||||
0000003770 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
3822
|
||||
%%EOF
|
||||
@@ -1,107 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 9 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 350 >>
|
||||
stream
|
||||
GatUl_+oY;'LhaAr57>FRL.EZ0ZN3"]$c;;d<1-Je,Voc63#fMc57qS@M7.eMt^ORmjUV5(\;:e!BYk53sN\J.^1JL+RX5"_VdQcfRB,na(^iP3OYHskpB'j9g=a7J[#[eMd\h\DBYRko#+rsGL4n.'.$Y!DTs(4V(UnjH@nYo/`qmt)FC9;,r2Kq.9^4q<7*s*Y&sd8#'#Kb+46@Ufu@P/e/&f@g+N5shkpVJ/cUUAM_Y_c=dBS=(fXj4=9tH;I.C@pQ8\`p\SQTp(k")"NZUF5.&.VTg*(2d*mrGl6*#=C3R]>0S7V:D_iJA^q`a`kVFJli]6,;X6M:*gnS\tl_&"miOcf~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFOutlines
|
||||
9 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000559 00000 n
|
||||
0000000836 00000 n
|
||||
0000000970 00000 n
|
||||
0000001239 00000 n
|
||||
0000001344 00000 n
|
||||
0000001836 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
1887
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 221 >>
|
||||
stream
|
||||
GarW2h$Sa!&;BQVhr.gX60_.,"q_Oq?$$b($S6"$,`tC=hmiYR&[Uij%VO)_#a#n5qcj5-6'r7?+W!rp`/l5;id23nUL'EDOuQIPS*C3;-7Z3ANIo-4od`%i>DFnB:tg4bY*ou821]"@m&dS>m^\)<@5dSn7Vmoe;;^27VO2dW[p1;)Icra0k_?TsS=c;]dMrU`(QAc.Q,R@rdbIV2I.%M_L-XM~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000001892 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
1944
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1089 >>
|
||||
stream
|
||||
Gb!;d95i<6&AG?Ts'^paW@$Y,ltad36<o&S+V%L$74X[]<@,Sua5][YDA+DC-4?d>g2#mK^8X9UbS[$o5Nk>8G5rEuGju[Q3GcD28g\!<%UO#'.mLiN[@a[^[jEelE$:XJ,h1Dimbld;eK-?X?1%+>jj!5]3Gc..3V/o9lW""[Pb9#[HKU&JI<MAmU7M@d]O%@fn8#_;4S6O\#EiIYc"qa#!O]\=hV1OI,kNfYa_mu=Kc%5+l$5&:9E/s</CTb$<<JTU;9iD_-1#R.ibZ;S5D`8Gc`)J23>3]J9q3!/0lp4C(at*mRQRG(D"R&K0NPtgKi[4WY<Z_$l6.sA3/o+W40+o#X<ZiWck_n/>!\r:3kIro*VOp=7,GIaoPN>+f[s$:cM`k7hr/'O@PluQE_W8I$WJl(?!@ZTaoj8<MSY`OYj7O*C#(mre,lKjHG3.,na,E;guFGkm\dr5a'n9:5IWL+*6sO.^FueYDf5%;^B*)%pCk0/&I+R\Je&`M67m,0(pq04jfOV?X]R'KKs"T6G^N%`Zq+cU;0.e?9ehm<$c5eG%&QiH0X^"MpVui5f+s"VU5-^+JOaPGq-a[OVEmA_h;61TmB!3uSbH,ef+5JLUUGODl:,"=`T-YEV69FTd6Epp[fbp3_.HY*9ZT[DH!W\Gk[O+_6b`0d^`@)krhl3ZaeQBb5!nKUlo7kJ=<#&!)B)>#;`b0/l[YmV$GLp4:;M.fbf4/'@4&j>\"#ap67ObcDE3?s9L]6D/S@=JN2JQ*r<XHAG43:E:4THCl#]_q<G8Tt>7M*]6kZR84,/N2\3T+VBfZj0'+pSVD>K+CQ!HVF<.Rcq=f]Q);7c,IC-@2`S4>Jifqfe2-8;]eVuN#[p)hA&+&;1n]XN#gQ`%!gZhe43X7P_HF'$JZ;GA>iZC%Je3/nsSHC!RT1j7q1>)L8IfQ"csp@6>lpt20[9bh^V]#*]'.IsrQ+ebQUY+C"b$]isDh;.]K'D]8CQqG_Z7pdU*-]h2Se5!C==/u)^/30H;:"qM"3$NF)7.l*42f8.ancKVEEg*?\#>3dkbN@=+9UhhB<9-M5>tf]hOULL*+#[seYl~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000740 00000 n
|
||||
0000001017 00000 n
|
||||
0000001152 00000 n
|
||||
0000001434 00000 n
|
||||
0000001539 00000 n
|
||||
0000002772 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2824
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 2040 >>
|
||||
stream
|
||||
Gb!;e9<[,-']+m-s1q@,FH)@AkI)rb+Z>&-+VkfW<Y\!@<@,Sua6t"oS]$OEEri[m-Lp/Ehg'WAC]e,6+,%sIc@ihmOfuJ"!h>d0,9Wp-VshaZVrJru^^6t/K;BRd!""=jENksHpNJZ^0;aNVjQ5,do'4-Ia3Wi>]CVpRalt$1]a0@B*Y6p8KHQEak<Tsal";sOCZ:iiYeXBYJc'XQY[I=F[kgP`_>j(Gd55#i^@t.T<A%hJ4[[n@.^On0b.n5<-R^SPnimBr_Hk<8K&B+\1Z=KolOUP';M1@Xn+2oSe6OE/*t*geE/,N?X=oTh2bOWo^#hV43P.\)&dOG"Ftl@:(5H2YTjm8]>E')crHJV[HHB71s0:6g?TJBl6&c2>4"+/HQSE>TG&58q),m(%+UDT76qZaj(B]MCpgSr<[O2-/UA@m6]=`^Agc^+^I&,7s+VDDXCdZ.-,Yr10/OO+)V-;1CW'sCMJQ[_Qb_fO3_9eR=aO%br11HPTbUj^lYj4DN/>A&?2)^,r>D?0=.'#K\j"WX2-CXlcA"[M$AhX6tBi;h8A6;)or=JQqDu+#^nki;+KgbQR[Ub1=^*FS_U%O!ADLMOf?Wrre?SG'?6p?Y<;p$*i"i#m(4Us(ik1R`0;IUAdQ&;#"oF\7HLB7.LOY\Y,OM2_pUmi)i?#ioa1n-oGCt*P33G))m7DujbRsmApKTtP&Tb4u>9gR&Z59Um[j9.d&B$+sNnU)]?2@HgLq:f.(GVZYk2M/:CQP/oVj),2:7:)mdV@e60lg\E!h1F_3^J?ZMgOZDi,CguZ1<)bF5dUQ?HU/ED>XclLbF<rHk(MgV>bMbCX=Z`4R%KJYo"H!/=CUQR:@b;qpW#S-.D#$jI#XI2Elh.8BIT9\>YCs09XOHtRuJ.Y`bP=S[Uear(6#j<R"tV43Y1A\PD_;RL#I;+!j/+X\2Of]^V]ihX1+_Y^&Ra"2Z^R/o#*3EKRs"^_-9[Ef<kF%0f?WupASBSVdA.OdZ\-2KDQt>I$1q;6h=^M^,DJWPs''O^Gd*Y.C/G@W<S=;9J[Ntn'/j,kqW"T\>-hM2q7o+g3N.jFkt)=><c0OL>6[lV$ct(:7fUT06XbKT).JRm'a_O)si=GL/+JI"(.s%/UB@%H%l7_s,2'iC&'uqkEjeC/mGe]pW2N;A^4!oh&G2?n8s\uL12A95f3$r6U5%B6S*T&#*HDj82_^G6)8Pe1^V8G$mF0Cc?S)@\=k5Nq:4I-'b@d+8PS4X0en9[";VNWK,I*H"9Y$iaN9=[gYi,XjU"_%atm?d*l&HB].e06<lij]8=Znbo<SfCjU:&0Kt]qnW8D%mT#Y>s@AJeq?!MuQB;Y!:g_M0eUCqR*&4.IC+I`JHJ4D579KC_aWF2(LG:;(#Bs[(`0UNjcVWY8'',.u8?D^qUe&b_3gKgIF%i"pBZ8*`plT#Yo`K<=;?BR;a"Ll%@ZedtjZ*+K@,b8n1T#^.^d>gB0"sqn'jZ'fh1de&jR3]cdUdRPK)6dc.lZ*S=KtL&0(5p.@Z%Nc0p-cee7ao>!_LAaXf1gW*`JPq$!P/cOe3.KM?8)h/CS3Xe9GhqP3F!]1\O=S3-PM0]VsF,hf0,01AeU8uZ:[eF5hLIk0VfR#CQ1RU2"51pnK?%=>2]["Kc?hQGiCbDKFfcB]W(K4[7&UK<pkUW1.9fhR(E##;G9N3>T5(e'c2TF<Qm9CY:"l8P>4Mj%?+B!ci&a+[QliB->/JB_Y2.i;@JHUOo]nenj6Br<$C^-cD6SC-B47R:)K&`O`4TN''toZoKHZJL+"lgU`JHogJB-b<&D\,m8^/2_m"@?SbWdIjeejZ4(+Kn)uTI(e_%OKTEgEG=(?rsol@.,_VIZPg0!P;N8GFs*^A5bBK1Jo5Lqc--?q.-SoL5HY*T"/40N@pbO8&leMVm-[4T.9]CtOG=O$EkOmA42p!kS-LDLFZ",KA&<=-$DaDSb8+?F[^Eg^f9%RAhrM7p0,PKS>,qSoC,DNfFp2g0%1Qedg3;.VM4CYpK3l.tR8pMJ"An.-3J=u6~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000573 00000 n
|
||||
0000000740 00000 n
|
||||
0000001017 00000 n
|
||||
0000001152 00000 n
|
||||
0000001434 00000 n
|
||||
0000001539 00000 n
|
||||
0000003723 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
3775
|
||||
%%EOF
|
||||
File diff suppressed because one or more lines are too long
@@ -1,107 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Times-Roman
|
||||
<< /BaseFont /Times-Roman
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
4 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 8 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 7 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R5': class PDFCatalog
|
||||
5 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 9 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 7 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R6': class PDFInfo
|
||||
6 0 obj
|
||||
<< /Author (anonymous)
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (ReportLab PDF Library - www.reportlab.com)
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (unspecified)
|
||||
/Title (untitled) >>
|
||||
endobj
|
||||
% 'R7': class PDFPages
|
||||
7 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 4 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R8': class PDFStream
|
||||
8 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 1221 >>
|
||||
stream
|
||||
Gb!;f9lC_#%)&jOrujlt_ShJ*O"6h8iW>PfikS&gWDZ%S_V`D%R;KEH>NidDKY$HW46u(Jo4%Sk_BJadcbD\OK^a'j:L8'L$.ETr,n8=mn7(*hquX(Z'if"g23_&g`mV_G&KZ>rGkp^\Q]j+O4:BJ20"sIWds7<%c,SYMS"28a;b<-=Y)s?dH_%@Ts596Yb^Q.rPe_8[JF)'4pp&Yn)<9PRCU@[*rQ=r<VMj!d=o[g\NNqiO%tCr*O\[^7ma"snYKOCDW+k`d>b6VPgWeIlB(:2cMskFk[r?-B>$'b58,'9+<2:b#kqVnKUm;&Yj<I`:#3,RNqfDZ@11^X5/#<XW0L^jN,6:>/<M0o#6tS[iPEA*]S<lDP`9M%:@%g%fKENdC9ooWo+qVP[`]sg;:b#!A)f^O5BT[$2=D1#*/L48m0b?[p'H%1M'e0Qpcl-U!!goAu$>-JL81hqU)6"oB;o39@Y/Ej_ac.ch!t.2CTgW&s8HV:]N$;:q8u@3iP#;TXA)7Ft;Fr?:92HD'M)%t%W_mLr!,Ea4Q>s$%@N^=UOs-*d#pl[91o6"-P%IZ9%^b4@7RG`uO@mAE\sNIgaAF?1[D[Cm3p;(nF\'WB#@E@TJcAfo[B?Kh<H?."]+L5",gsmql#4Vp$WTk(2FN1/@_fPd_K6TER/BlNH$R_oGji$I0NW0p!HZSMLj:45YB[A]"Psl#!j%T0WdqX&6U^2_`Pn)`ZIUToCY_us6q!a^P%Mt#`U3d>d[-QcJ]QqDOLAS2Z"KssU?rZ;'eTq-k7(S\,smOG7A2?YBKT<.,+X9869um!CN;fPQG["hrNtXj>tsEbP/ZmY=EVej>Q#@4XA;l[aU1?d=7`N0gn1gJ'`Oo7NJG+!g`K9Bh9MR>/anJ"s4aHYLGM/lgqc+drH?tM_n2fd"0b\d[hE<Vo6q)JZ["L)UFeh9iOY8W1S"2b9i*g0o3TD7ag1Y+cGX;&?#HB]8hH(8(S"(:h$Os#3c8c:QNl<&/tY`W#A8H<@Mi8pj+21+I4k2/`7jBsdp`TMco?WeZq:GrQLarUF4aB5m:A&5^g8tscGd$HW=.1+SC9T=:CbPo=t,M"F$X@uYirU6l45Pgi>KUS<3\4I:^htlP^-4Yi<j?`MJsDK4V(J;$Wh8:L,nnr[C<j0167b3K7!FX#A&/[ABZ_\M5o0k.jpM0Eqqeg4O:Q'\8kSRoTnYV=8T2*h>@Cj-,6M~>endstream
|
||||
endobj
|
||||
% 'R9': class PDFOutlines
|
||||
9 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000221 00000 n
|
||||
0000000386 00000 n
|
||||
0000000553 00000 n
|
||||
0000000830 00000 n
|
||||
0000000964 00000 n
|
||||
0000001246 00000 n
|
||||
0000001351 00000 n
|
||||
0000002715 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\232w\017\3421\263\325\354R\366\267\025H\343&\012) (\232w\017\3421\263\325\354R\366\267\025H\343&\012)]
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 10 >>
|
||||
startxref
|
||||
2766
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 266 >>
|
||||
stream
|
||||
Gas2Dh$V"Q%#+-TH\ZZ&"hUVu\d@AMkcVQ1ncDbQrt+l%_(IckJs+QFnDtpnKZ",;]rHVi,;'7t_&JJ9(-KWr_r).3oOKb;biTt5WpcUILrX:mmrLk`;dMiW7NjB@-uUpUM<br)W!>L/>+X$?,F?SPouP182_N=\,N<a%BiUe%c@$*^".J<eEk3d44B3`M8G6ktb.;%9&VI[&pYj!*(hKeTXt^U[DLZFLJ!&HH9"X^kefbd$r2]KuhI!!@kt>e+@;lI7@9h1~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000001937 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
1989
|
||||
%%EOF
|
||||
@@ -1,183 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 12 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 11 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'Annot.NUMBER1': class PDFDictionary
|
||||
6 0 obj
|
||||
<< /A << /S /URI
|
||||
/Type /Action
|
||||
/URI (http://google.com) >>
|
||||
/Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Rect [ 72
|
||||
741.6535
|
||||
297.5
|
||||
770 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Annot.NUMBER2': class LinkAnnotation
|
||||
7 0 obj
|
||||
<< /Border [ 0
|
||||
0
|
||||
0 ]
|
||||
/Contents ()
|
||||
/Dest [ 5 0 R
|
||||
/Fit ]
|
||||
/Rect [ 297.5
|
||||
741.6535
|
||||
523
|
||||
770 ]
|
||||
/Subtype /Link
|
||||
/Type /Annot >>
|
||||
endobj
|
||||
% 'Page2': class PDFPage
|
||||
8 0 obj
|
||||
% Page dictionary
|
||||
<< /Annots [ 6 0 R
|
||||
7 0 R ]
|
||||
/Contents 13 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 11 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R9': class PDFCatalog
|
||||
9 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 14 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 11 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R10': class PDFInfo
|
||||
10 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121220121136+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R11': class PDFPages
|
||||
11 0 obj
|
||||
% page tree
|
||||
<< /Count 2
|
||||
/Kids [ 5 0 R
|
||||
8 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R12': class PDFStream
|
||||
12 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 252 >>
|
||||
stream
|
||||
Gar?,b79+X&4Q==r52g7M*MF\(<2&*<btIl#667s0-;J9q3DWBBVoK"dlZ$"/)]\(]Oq\X+ZPU7OJ!hODu61E4#2eRBo#V*8-FC?j]p=Vi]T]Q)_=?\KK>e/U`B6%84$DM7$lr&_ck;M-Wk*=AJHM*X^:fAHodBKG$(!ifW(gd^$H-FAR!tm6?=]l?5a[T]REEuPQ"p6mUTb#qCs3"1]/1Ers!hT(`$D8^//LnUW5C:Ps$jM3+*Y#G-=SJ~>endstream
|
||||
endobj
|
||||
% 'R13': class PDFStream
|
||||
13 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 159 >>
|
||||
stream
|
||||
Gar'"_$YfK&4Gspq[[bT4f$buke3Wq$>j5OTN"2kdJlEJJcUuSjtOFQ/$SOhokt&+MFT0.#ON\kGj#Np19F5jYdHjc`DiN>d:'=phZfrogLRq_`]:XG!d$oZ/^#jHDpT)B^I#(;'+RjrT/.5>pniRU#NV="Vu~>endstream
|
||||
endobj
|
||||
% 'R14': class PDFOutlines
|
||||
14 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 15
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001035 00000 n
|
||||
0000001257 00000 n
|
||||
0000001443 00000 n
|
||||
0000001750 00000 n
|
||||
0000001887 00000 n
|
||||
0000002158 00000 n
|
||||
0000002273 00000 n
|
||||
0000002667 00000 n
|
||||
0000002970 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(-<j\(\341V\)\016\302\364v\265?8\321\365) (-<j\(\341V\)\016\302\364v\265?8\321\365)]
|
||||
|
||||
/Info 10 0 R
|
||||
/Root 9 0 R
|
||||
/Size 15 >>
|
||||
startxref
|
||||
3022
|
||||
%%EOF
|
||||
@@ -1,140 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 6 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font Symbol
|
||||
<< /BaseFont /Symbol
|
||||
/Encoding /SymbolEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 11 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 10 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R8': class PDFCatalog
|
||||
8 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 12 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 10 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R9': class PDFInfo
|
||||
9 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R10': class PDFPages
|
||||
10 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 7 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R11': class PDFStream
|
||||
11 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 386 >>
|
||||
stream
|
||||
Gatn!b>*^E(kq]0]YdmHM1r_35Y6nBUTE7<oEBc]nH)!H(I#R0:i8&.7+6n=k.dGT["QL/ZJVqgXu4(T5TKV$,aj>"_l`XG2rCAR2W73&1?%rVAC+GsKJt$;(T6&)ocBWI'uGo^<*(l]j*3h.Gm=5+TW$W97H[*Fp%p8l29a"#&a9.CS#U2i\N\'QU-U0phThNW;NdFrN]81O6DRYalYT'pbfF8a%EKAQ0e#MTCk>P\3l&9u':aN!HA@paN5gST9m`r]acm[-D=^q4T7&\YFf[YHUH;BVk%\`(;p'dIWW.QPMO'a+B/#P7T4Jq)SZp)hX<k%<l@cH?ch+)`CX\pR)=Vh[5Q>?:[XW^tY0mV$U\-]NG:M1':(d4bn@^J"Ic=3~>endstream
|
||||
endobj
|
||||
% 'R12': class PDFOutlines
|
||||
12 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000257 00000 n
|
||||
0000000422 00000 n
|
||||
0000000593 00000 n
|
||||
0000000768 00000 n
|
||||
0000000949 00000 n
|
||||
0000001105 00000 n
|
||||
0000001384 00000 n
|
||||
0000001520 00000 n
|
||||
0000001790 00000 n
|
||||
0000001897 00000 n
|
||||
0000002427 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 9 0 R
|
||||
/Root 8 0 R
|
||||
/Size 13 >>
|
||||
startxref
|
||||
2479
|
||||
%%EOF
|
||||
@@ -1,140 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R
|
||||
/F4 5 0 R
|
||||
/F5 6 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F4': class PDFType1Font
|
||||
5 0 obj
|
||||
% Font Helvetica-Oblique
|
||||
<< /BaseFont /Helvetica-Oblique
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F4
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F5': class PDFType1Font
|
||||
6 0 obj
|
||||
% Font Symbol
|
||||
<< /BaseFont /Symbol
|
||||
/Encoding /SymbolEncoding
|
||||
/Name /F5
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
7 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 11 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 10 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R8': class PDFCatalog
|
||||
8 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 12 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 10 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R9': class PDFInfo
|
||||
9 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R10': class PDFPages
|
||||
10 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 7 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R11': class PDFStream
|
||||
11 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 386 >>
|
||||
stream
|
||||
Gatn!b>*^E(kq]0]YdmHM1r_35Y6nBUTE7<oEBc]nH)!H(I#R0:i8&.7+6n=k.dGT["QL/ZJVqgXu4(T5TKV$,aj>"_l`XG2rCAR2W73&1?%rVAC+GsKJt$;(T6&)ocBWI'uGo^<*(l]j*3h.Gm=5+TW$W97H[*Fp%p8l29a"#&a9.CS#U2i\N\'QU-U0phThNW;NdFrN]81O6DRYalYT'pbfF8a%EKAQ0e#MTCk>P\3l&9u':aN!HA@paN5gST9m`r]acm[-D=^q4T7&\YFf[YHUH;BVk%\`(;p'dIWW.QPMO'a+B/#P7T4Jq)SZp)hX<k%<l@cH?ch+)`CX\pR)=Vh[5Q>?:[XW^tY0mV$U\-]NG:M1':(d4bn@^J"Ic=3~>endstream
|
||||
endobj
|
||||
% 'R12': class PDFOutlines
|
||||
12 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000257 00000 n
|
||||
0000000422 00000 n
|
||||
0000000593 00000 n
|
||||
0000000768 00000 n
|
||||
0000000949 00000 n
|
||||
0000001105 00000 n
|
||||
0000001384 00000 n
|
||||
0000001520 00000 n
|
||||
0000001790 00000 n
|
||||
0000001897 00000 n
|
||||
0000002427 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 9 0 R
|
||||
/Root 8 0 R
|
||||
/Size 13 >>
|
||||
startxref
|
||||
2479
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 399 >>
|
||||
stream
|
||||
GasbWbAP0N&4Q>Undfr4,%3SIa2([(7Fe^/VNQFZ7mLg_#l]<NB>U<<Pn<%'43'-uS-d$/KB0a1!3[!@"b@M1$Za61Ic*BOfdY82_Ua\"bnD_9Ba%dp,l@X7l[7VIN#OI[&S;CTc.eUdNq3b"o+U+"MUh^9rf51P^?NWjOQUFW?<.b[\\hWm36HW=@!\$0/acQ_?AVnk;o@3fWjFIFV;Op#kLiXWDj"Ski.EIAVWg-#fM47i9BfJZfa?;ikkTO(TbT2]e_:!6*$ijaU-</cM3P3rYe0IR-Ycqp74VBpTu,T\YG@EK;tOF7%nFLbY`2OjD3Q-N;/4`QWA-;9$Hp=F8r^5UIb7,h@2l&_fMmHg%iVR&7e^&@5A7A5HI-4DF<bhSrt9VN$SjEoM?~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000002070 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2122
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 520 >>
|
||||
stream
|
||||
GasbX9i&Y\%#459qB()987[RHVMg*e+;baN!p#(qm#+GF@tG)<+"+&bL"]:m<p0.>`,F^+JYYeis7Hu^f"l0r5U!WJ:g.OO:N5dNj?$(8`Kge+SeE/ER\B"8#X<p8H,_$;h$+Gh$F9nfRensRG^agt?!i-:6af%Get6ij3c*jO#/Y_qaK$2H>OLEeHTVJf?,BTS"(0i)ppE`4gkl_<.79@tqq6[4K0:+=+e*7m0Mkki,*S2ao)tE9@F5EcK6c#0>?$.TF\Ufp<>Hcsp<Emk3u<#09^."[WaDG#XTGOaDUbm0k/Z:32=?3uI.APX0BUUNKm@(r>[P^9qdO<q(K9Mn@_V"u'N/)/rm.<&#SV5=:e&u[&Xqpq#Yh[3KI48_66-`uPC#ue2aZDYh>$N3&*)ap9`u7$RjMK!/2[.FTb,5!#C)4`mE[PA[7hZ,b7mu4k2*VD9T80bW\W:Q[ltJ#-=a-dkVFr.1)@PVT8?F/OZqppgTmn\fbJ'+A"^S%]VZfGrW'Q/'d<~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000002191 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2243
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20130304200123+00'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 665 >>
|
||||
stream
|
||||
Gau1,cYhJk%*%`?r!ki$"fb,!/6bBe_m#t&d7ZF35hi+=\n&d+g$=\C:&.S"j]!L])=f0?dq?c\T^cOUpZVtQ28XNL^fZE=@%;6Kn)/PoX1rdg#.Ckb\K5b5iWta;+FXHGj*\*+2uWko;hsbcK'?309qV.rfN`iUp^3M2_qWZ/q!`O\oD`U!lZUkg,<#)N"hsAbDj6;!E&jC1M7]\S7&"OMlG.V4<#SS=CP,:3i-!Z3r,qZ;8R.-i'X%/8naO8JkDQoL6(?epc.?8\3#doe]QL.4OS#^)D4pPJep1gI+E>8U$Y1=sY/tW5G#)B9J1]1"NRm+)K!9e_%?t"h>+="IAQPh5<R!L5ZU0@Pi=6FAX\^(cnjJkNEhUXuKdnShWiTI(Flg%T_NpGp<E:_O=h.@?j[-("D[C+&C_hcNlkP9#C__]MlkG1dU?T2EVOppPFR=&"(=sWeW<WCnED;L\<r!FNi$YFFcK][Q:G;f5C4O?-dMV+'Y"mC^jto8f,`UcEjs-JOF#:>gVa.8$1feup#,V_t@jTdg>,lNe'qL?3A;t#1nj?"DE>;_&a]r"AVG_:cRt!2.foW;odV')nO%++KNoC4?M*i`^5"TOpZb*mB8l$EXguUE"Fe7a%p(;6;PFM,o;5^TBf!T67^YYWdrWA/6KZ3~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000002336 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\275\375"\226\004\012\247\311\024I9\2513L\031\365) (\275\375"\226\004\012\247\311\024I9\2513L\031\365)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2388
|
||||
%%EOF
|
||||
@@ -1,118 +0,0 @@
|
||||
%PDF-1.4
|
||||
%<25><><EFBFBD><EFBFBD> ReportLab Generated PDF document http://www.reportlab.com
|
||||
% 'BasicFonts': class PDFDictionary
|
||||
1 0 obj
|
||||
% The standard fonts dictionary
|
||||
<< /F1 2 0 R
|
||||
/F2 3 0 R
|
||||
/F3 4 0 R >>
|
||||
endobj
|
||||
% 'F1': class PDFType1Font
|
||||
2 0 obj
|
||||
% Font Helvetica
|
||||
<< /BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F2': class PDFType1Font
|
||||
3 0 obj
|
||||
% Font Courier-Bold
|
||||
<< /BaseFont /Courier-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F2
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'F3': class PDFType1Font
|
||||
4 0 obj
|
||||
% Font Helvetica-Bold
|
||||
<< /BaseFont /Helvetica-Bold
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F3
|
||||
/Subtype /Type1
|
||||
/Type /Font >>
|
||||
endobj
|
||||
% 'Page1': class PDFPage
|
||||
5 0 obj
|
||||
% Page dictionary
|
||||
<< /Contents 9 0 R
|
||||
/MediaBox [ 0
|
||||
0
|
||||
595.2756
|
||||
841.8898 ]
|
||||
/Parent 8 0 R
|
||||
/Resources << /Font 1 0 R
|
||||
/ProcSet [ /PDF
|
||||
/Text
|
||||
/ImageB
|
||||
/ImageC
|
||||
/ImageI ] >>
|
||||
/Rotate 0
|
||||
/Trans << >>
|
||||
/Type /Page >>
|
||||
endobj
|
||||
% 'R6': class PDFCatalog
|
||||
6 0 obj
|
||||
% Document Root
|
||||
<< /Outlines 10 0 R
|
||||
/PageMode /UseNone
|
||||
/Pages 8 0 R
|
||||
/Type /Catalog >>
|
||||
endobj
|
||||
% 'R7': class PDFInfo
|
||||
7 0 obj
|
||||
<< /Author (\(anonymous\))
|
||||
/CreationDate (D:20121217140300+05'00')
|
||||
/Creator (\(unspecified\))
|
||||
/Keywords ()
|
||||
/Producer (ReportLab PDF Library - www.reportlab.com)
|
||||
/Subject (\(unspecified\))
|
||||
/Title (\(anonymous\)) >>
|
||||
endobj
|
||||
% 'R8': class PDFPages
|
||||
8 0 obj
|
||||
% page tree
|
||||
<< /Count 1
|
||||
/Kids [ 5 0 R ]
|
||||
/Type /Pages >>
|
||||
endobj
|
||||
% 'R9': class PDFStream
|
||||
9 0 obj
|
||||
% page stream
|
||||
<< /Filter [ /ASCII85Decode
|
||||
/FlateDecode ]
|
||||
/Length 552 >>
|
||||
stream
|
||||
Gas2H9i&Y\%#459qB())PEmM/RPkf<0Yrjt/r\QsLOF8uYu6r9nb9;PVX'UQ[;$]EM>bFc.Y-P(gilZtbUcHN!e^]g"/2(`]7:,*7mCu=)E*e@W>op@`>PBZJp7G#k@l0GCUYE47@;@HLn%pppDcgCh;3\<_e=Is2kP9$4qt_\#HjWCP@hhUY"H2WWnR:9(a^%*8DLOu3tc+6=9^hH:*iPmk#i2<j=1`K6N:0-d22A`+JkK*0M+)@$eUFf'$F0e'X_4M)hnp<=#7_9>Y/04\LXB_-1"T'6^giN7^i:+bIU"o2^+)gGNrU78K(Le3%fQV/1&Dh8pVnL1YgJFWPOOQ1,5:R:r=.QeX'.nAi`9L*^Ud"71PP!<$%uHjW\cqX?N3?C:L8R>^hq+I<uZqA6=9_%BFE?$h<Z75K2##U2S+jWP>>uc\9bkI/gUt7iI$;p?9tZ9pm@"!&*3R>;*a5ndZFclN$p%UoGG%ZOMOe$Z7e*2dZ3X\Qrl,DOF=<.##.U'7:-*n^]_2O29Rak7Js'^q'C"$q($o!HI`:nG<Be~>endstream
|
||||
endobj
|
||||
% 'R10': class PDFOutlines
|
||||
10 0 obj
|
||||
<< /Count 0
|
||||
/Type /Outlines >>
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000113 00000 n
|
||||
0000000233 00000 n
|
||||
0000000398 00000 n
|
||||
0000000569 00000 n
|
||||
0000000742 00000 n
|
||||
0000001019 00000 n
|
||||
0000001154 00000 n
|
||||
0000001423 00000 n
|
||||
0000001528 00000 n
|
||||
0000002223 00000 n
|
||||
trailer
|
||||
<< /ID
|
||||
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
||||
[(\2514PW\375b\346M\037u\307 \354\014_\254) (\2514PW\375b\346M\037u\307 \354\014_\254)]
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11 >>
|
||||
startxref
|
||||
2275
|
||||
%%EOF
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user