<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Hi,</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">could you explain me how encodebin work??  I have a pipeline like:</div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 13px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;">filesrc-->decodebin->encodebin->filesink    the video stream should be past-throught an progressreport element</div><div style="font-family: arial, helvetica, sans-serif; font-size: 13px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><br></div><div style="font-family: arial, helvetica, sans-serif; font-size: 13px; color: rgb(0, 0, 0);
 background-color: transparent; font-style: normal;">but this pipeline could not work. my code: is a python code</div><div style="font-family: arial, helvetica, sans-serif; font-size: 13px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><br></div><div style="background-color: transparent;"><font size="2">import gi</font></div><div style="background-color: transparent;"><font size="2">gi.require_version('Gst', '1.0')</font></div><div style="background-color: transparent;"><font size="2">gi.require_version('Gtk', '3.0')</font></div><div style="background-color: transparent;"><font size="2">gi.require_version('GLib', '2.0')</font></div><div style="background-color: transparent;"><font size="2">gi.require_version('Gio', '2.0')</font></div><div style="background-color: transparent;"><font size="2">gi.require_version('GstPbutils', '1.0')</font></div><div style="background-color: transparent;"><font size="2">from gi.repository import
 Gst, Gtk, GLib, Gdk, GdkPixbuf, GstPbutils, GObject, Gio</font></div><div style="background-color: transparent;"><font size="2">from gi.repository.Gtk import *</font></div><div style="background-color: transparent;"><font size="2">from gi.repository.GLib import *</font></div><div style="background-color: transparent;"><font size="2">import time</font></div><div style="background-color: transparent;"><font size="2">import Utilities</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">def job_clear_onclick(button, tree):</font></div><div style="background-color: transparent;"><font size="2">    store = tree.get_model()</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">    l_ = len(store)</font></div><div style="background-color: transparent;"><font
 size="2">    if l_ == 0:</font></div><div style="background-color: transparent;"><font size="2">      return</font></div><div style="background-color: transparent;"><font size="2">    i = 0</font></div><div style="background-color: transparent;"><font size="2">    it = store.get_iter_first()</font></div><div style="background-color: transparent;"><font size="2">    while( i < l_ ):</font></div><div style="background-color: transparent;"><font size="2">      if it == None:</font></div><div style="background-color: transparent;"><font size="2">         return</font></div><div style="background-color: transparent;"><font size="2">      test = store[i][1]</font></div><div style="background-color: transparent;"><font size="2">      if  test == True:</font></div><div style="background-color: transparent;"><font size="2"> 
       store.remove(it)</font></div><div style="background-color: transparent;"><font size="2">        l_ = len(store)    </font></div><div style="background-color: transparent;"><font size="2">      else:</font></div><div style="background-color: transparent;"><font size="2">       i+=1</font></div><div style="background-color: transparent;"><font size="2">       it = store.iter_next(it)</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">class Job:</font></div><div style="background-color: transparent;"><font size="2">       def __init__(self, win):</font></div><div style="background-color:
 transparent;"><font size="2">             self.audio_pad_num = 0</font></div><div style="background-color: transparent;"><font size="2">             self.video_pad_num = 0</font></div><div style="background-color: transparent;"><font size="2">             self.mpeg_version = GObject.Value()</font></div><div style="background-color: transparent;"><font size="2">             self.mpeg_version.init(int)</font></div><div style="background-color: transparent;"><font size="2">             self.mpeg_version.set_int(4)</font></div><div style="background-color: transparent;"><font size="2">             self.win = win</font></div><div style="background-color: transparent;"><font size="2">             self.tree_view =
 win.tree_view</font></div><div style="background-color: transparent;"><font size="2">             self.tree = self.tree_view.get_model()</font></div><div style="background-color: transparent;"><font size="2">             self.file_pos = 0 #current file processed by the applicaion </font></div><div style="background-color: transparent;"><font size="2">             self.it = None # point to the current row</font></div><div style="background-color: transparent;"><font size="2">             self.title = None</font></div><div style="background-color: transparent;"><font size="2">             self.path = None</font></div><div style="background-color: transparent;"><font size="2">             self.busy = False</font></div><div
 style="background-color: transparent;"><font size="2">             self.folder = None</font></div><div style="background-color: transparent;"><font size="2">             self.count = 0</font></div><div style="background-color: transparent;"><font size="2">             self.stop = False</font></div><div style="background-color: transparent;"><font size="2">             #sets encode bin profile</font></div><div style="background-color: transparent;"><font size="2">             </font></div><div style="background-color: transparent;"><font size="2">             self.caps = Gst.Caps.from_string("video/w-msvideo")</font></div><div style="background-color: transparent;"><font size="2">             self.container =
 GstPbutils.EncodingContainerProfile.new("AVI_CONVERTER", "AVI_PROFILE", self.caps, None) </font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             #sets audio profile</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             self.caps_audio = Gst.Caps.from_string("audio/mpeg")</font></div><div style="background-color: transparent;"><font size="2">             #self.caps_audio.set_value("mpegversion", self.mpeg_version)</font></div><div style="background-color: transparent;"><font size="2">             self.audio_profile = GstPbutils.EncodingAudioProfile.new(self.caps_audio, None, None, 0)</font></div><div
 style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">          </font></div><div style="background-color: transparent;"><font size="2">             #sets video profile</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             self.caps_video = Gst.Caps.from_string("video/mpeg")</font></div><div style="background-color: transparent;"><font size="2">             #self.caps_video.set_value("mpegversion", self.mpeg_version)</font></div><div style="background-color: transparent;"><font size="2">             self.video_profile = GstPbutils.EncodingVideoProfile.new(self.caps_video, None, None, 0)</font></div><div
 style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             #add stream pipeline for the converter</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             self.container.add_profile(self.video_profile)</font></div><div style="background-color: transparent;"><font size="2">             self.container.add_profile(self.audio_profile)</font></div><div style="background-color: transparent;"><font size="2">             self.pipe = Gst.Pipeline()#self.win.pipe</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.set_name("pipe1")</font></div><div
 style="background-color: transparent;"><font size="2">             self.src  = Gst.ElementFactory.make("filesrc", "src")</font></div><div style="background-color: transparent;"><font size="2">             self.decode = Gst.ElementFactory.make("decodebin", "decode")</font></div><div style="background-color: transparent;"><font size="2">             self.videoconvert = Gst.ElementFactory.make("videoconvert", "videoconvert")</font></div><div style="background-color: transparent;"><font size="2">             self.audioconvert = Gst.ElementFactory.make("audioconvert", "audioconvert")</font></div><div style="background-color: transparent;"><font size="2">             self.decode.connect("pad-added", self.pad_added_on_decode)</font></div><div style="background-color:
 transparent;"><font size="2">             self.decode.connect("unknown-type", self.unknown)</font></div><div style="background-color: transparent;"><font size="2">             #sets encoding profile for the encoder</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             self.encode = Gst.ElementFactory.make("encodebin", "encode")</font></div><div style="background-color: transparent;"><font size="2">             self.sink   = Gst.ElementFactory.make("filesink", "sink")</font></div><div style="background-color: transparent;"><font size="2">             self.progress = Gst.ElementFactory.make("progressreport", "progress")</font></div><div style="background-color:
 transparent;"><font size="2">             self.pipe.add(self.src)</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.add(self.progress) </font></div><div style="background-color: transparent;"><font size="2">             self.pipe.add(self.decode)</font></div><div style="background-color: transparent;"><font size="2">             self.play = Gst.ElementFactory.make("playbin", "play")</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.add(self.play)</font></div><div style="background-color: transparent;"><font size="2">             #self.pipe.add(self.videoconvert)</font></div><div style="background-color: transparent;"><font size="2">     
        #self.pipe.add(self.audioconvert)</font></div><div style="background-color: transparent;"><font size="2">             #self.progress.set_property("silent", False)</font></div><div style="background-color: transparent;"><font size="2">             #self.progress.set_property("update-freq", 3)</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.add(self.encode)</font></div><div style="background-color: transparent;"><font size="2">             #self.vid = Gst.ElementFactory.make("autovideosink", "vid")</font></div><div style="background-color: transparent;"><font size="2">             #self.pipe.add(self.vid)</font></div><div style="background-color: transparent;"><font size="2">         
    #self.aud = Gst.ElementFactory.make("autoaudiosink", "aud")</font></div><div style="background-color: transparent;"><font size="2">             #self.pipe.add(self.aud)</font></div><div style="background-color: transparent;"><font size="2">             #self.pipe.add(self.sink)</font></div><div style="background-color: transparent;"><font size="2">             self.encode.set_property("profile", self.container)</font></div><div style="background-color: transparent;"><font size="2">             self.src.link(self.decode)</font></div><div style="background-color: transparent;"><font size="2">             #self.progress.link(self.decode)</font></div><div style="background-color: transparent;"><font size="2">           
  #self.videoconvert.link(self.progress)</font></div><div style="background-color: transparent;"><font size="2">             self.encode.link(self.play)</font></div><div style="background-color: transparent;"><font size="2">             self.bus = self.pipe.get_bus()</font></div><div style="background-color: transparent;"><font size="2">             self.bus.add_signal_watch()</font></div><div style="background-color: transparent;"><font size="2">             self.bus.connect("message", self.watch_on_bus)</font></div><div style="background-color: transparent;"><font size="2">             self.dialog_info = Gtk.MessageDialog(self.win, Gtk.MessageType.INFO, Gtk.DialogFlags.MODAL, Gtk.ButtonsType.OK, "Des elements sont en cours de traitement")</font></div><div
 style="background-color: transparent;"><font size="2">             self.dialog_info.format_secondary_text("Veuillez attendre")</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             #query name             </font></div><div style="background-color: transparent;"><font size="2">             self.format_name = Gst.Format.PERCENT.value_name</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             self.progress.set_property("format", self.format_name)</font></div><div style="background-color:
 transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">       def watch_on_bus(self, bus, msg):</font></div><div style="background-color: transparent;"><font size="2">             print("donne meme non l ami\n")</font></div><div style="background-color: transparent;"><font size="2">             self.count +=1</font></div><div style="background-color: transparent;"><font size="2">             if msg.type == Gst.MessageType.EOS:</font></div><div style="background-color: transparent;"><font size="2">                self.pipe.set_state(Gst.State.NULL)</font></div><div style="background-color: transparent;"><font size="2">             
   self.pipe.get_state(1000000000)</font></div><div style="background-color: transparent;"><font size="2">                self.it = self.tree.iter_next(self.it)</font></div><div style="background-color: transparent;"><font size="2">                if self.it == None and self.tree.get_iter_first() != None:</font></div><div style="background-color: transparent;"><font size="2">                   self.win.add_movie.unset_state_flags(Gtk.StateFlags.INSENSITIVE)</font></div><div style="background-color: transparent;"><font size="2">                   self.win.clear_movie.unset_state_flags(Gtk.StateFlags.INSENSITIVE)</font></div><div style="background-color: transparent;"><font size="2">                   self.count =
 0</font></div><div style="background-color: transparent;"><font size="2">                   self.busy = False</font></div><div style="background-color: transparent;"><font size="2">                   return</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">                self.path, self.title = self.tree[self.it][4], self.tree[self.it][2]</font></div><div style="background-color: transparent;"><font size="2">                self.src.set_property("location", self.path)</font></div><div style="background-color: transparent;"><font size="2">                title = self.title.split(".avi")[0]</font></div><div style="background-color:
 transparent;"><font size="2">                dst_file = self.folder+"/"+title+".avi"</font></div><div style="background-color: transparent;"><font size="2">                print(dst_file+"\n")</font></div><div style="background-color: transparent;"><font size="2">                print(title+"\n")</font></div><div style="background-color: transparent;"><font size="2">                print(self.path+"\n")</font></div><div style="background-color: transparent;"><font size="2">                self.sink.set_property("location", dst_file)</font></div><div style="background-color: transparent;"><font size="2">                self.pipe.set_state(Gst.State.PLAYING)</font></div><div style="background-color: transparent;"><font
 size="2">                self.pipe.get_state(1000000000)</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">             if (msg.src.get_name() == "progress"):</font></div><div style="background-color: transparent;"><font size="2">                  if msg.get_structure().get_name() == "progress":</font></div><div style="background-color: transparent;"><font size="2">                    print("ici c est ok\n")</font></div><div style="background-color: transparent;"><font size="2">                    print("la aussi c est ok")</font></div><div style="background-color: transparent;"><font size="2">             
       perc = msg.get_structure().get_int("percent")[1]</font></div><div style="background-color: transparent;"><font size="2">                    self.tree[self.it][3] = perc</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">       def unknown(self, decode, caps):</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">           print("unknown type\n")</font></div><div style="background-color: transparent;"><font size="2">                </font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div
 style="background-color: transparent;"><font size="2">         </font></div><div style="background-color: transparent;"><font size="2">       def pad_added_on_decode(self, decod, new_pad):</font></div><div style="background-color: transparent;"><font size="2">             print("salu salu salu\n")</font></div><div style="background-color: transparent;"><font size="2">             caps_repr = new_pad.query_caps(None).to_string()</font></div><div style="background-color: transparent;"><font size="2">             print(caps_repr)</font></div><div style="background-color: transparent;"><font size="2">             if caps_repr.startswith("video"):</font></div><div style="background-color: transparent;"><font size="2">               
 print("ambiance aussi\n")</font></div><div style="background-color: transparent;"><font size="2">                pad_sink = self.videoconvert.get_static_pad("sink")</font></div><div style="background-color: transparent;"><font size="2">                pad_src = self.videoconvert.get_static_pad("src")</font></div><div style="background-color: transparent;"><font size="2">                #pad_sink = self.videoconvert.get_static_pad("sink")</font></div><div style="background-color: transparent;"><font size="2">                #pad_src = self.videoconvert.get_static_pad("src")</font></div><div style="background-color: transparent;"><font size="2">                pad1 = self.encode.get_compatible_pad(new_pad, None)</font></div><div style="background-color:
 transparent;"><font size="2">                #pad_prog_src = self.progress.get_static_pad("src")</font></div><div style="background-color: transparent;"><font size="2">                if pad1.is_linked() == True:</font></div><div style="background-color: transparent;"><font size="2">                   return</font></div><div style="background-color: transparent;"><font size="2">                if pad1 == None:</font></div><div style="background-color: transparent;"><font size="2">                   pad1 = self.encode.get_request_pad("video_"+str(self.video_pad_num))</font></div><div style="background-color: transparent;"><font size="2">                   self.video_pad_num
 +=1</font></div><div style="background-color: transparent;"><font size="2">                new_pad.link(pad_sink)</font></div><div style="background-color: transparent;"><font size="2">                pad_src.link(pad1)</font></div><div style="background-color: transparent;"><font size="2">                #pad_prog_src.link(pad1)</font></div><div style="background-color: transparent;"><font size="2">             #if caps_repr.startswith("audio"):</font></div><div style="background-color: transparent;"><font size="2">             #   print("ambiance aussi\n")</font></div><div style="background-color: transparent;"><font size="2">             #   pad_sink = self.aud.get_static_pad("sink")</font></div><div
 style="background-color: transparent;"><font size="2">             #   new_pad.link(pad_sink)  </font></div><div style="background-color: transparent;"><font size="2">             if caps_repr.startswith("audio"):</font></div><div style="background-color: transparent;"><font size="2">                print("test3\n")</font></div><div style="background-color: transparent;"><font size="2">                #pad_sink = self.audioconvert.get_static_pad("sink")</font></div><div style="background-color: transparent;"><font size="2">                #pad_src = self.audioconvert.get_static_pad("src")</font></div><div style="background-color: transparent;"><font size="2">                pad1 =
 self.encode.get_compatible_pad(new_pad, None)</font></div><div style="background-color: transparent;"><font size="2">                if pad1.is_linked() == True:</font></div><div style="background-color: transparent;"><font size="2">                   return</font></div><div style="background-color: transparent;"><font size="2">                if pad1 == None:</font></div><div style="background-color: transparent;"><font size="2">                   pad1 = self.encode.get_request_pad("audio_"+str(self.audio_pad_num))</font></div><div style="background-color: transparent;"><font size="2">                   self.audio_pad_num +=1</font></div><div style="background-color: transparent;"><font size="2">       
         new_pad.link(pad1)</font></div><div style="background-color: transparent;"><font size="2">                #pad_src.link(pad1)</font></div><div style="background-color: transparent;"><font size="2">                print("test4\n")</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">       def job_stop_onclick(self, but):</font></div><div style="background-color: transparent;"><font size="2">             if self.win.choice == 0 and self.stop == False:</font></div><div style="background-color: transparent;"><font size="2">                self.pipe.set_state(Gst.State.NULL)</font></div><div style="background-color: transparent;"><font size="2">     
           self.pipe.get_state(1000000000)</font></div><div style="background-color: transparent;"><font size="2">                if self.win.clear_movie.get_state_flags() == Gtk.StateFlags.INSENSITIVE:</font></div><div style="background-color: transparent;"><font size="2">                   self.win.clear_movie.unset_state_flags(Gtk.StateFlags.INSENSITIVE)</font></div><div style="background-color: transparent;"><font size="2">                   self.win.add_movie.unset_state_flags(Gtk.StateFlags.INSENSITIVE)</font></div><div style="background-color: transparent;"><font size="2">                self.stop = True</font></div><div style="background-color: transparent;"><font size="2">                self.busy =
 False</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">       def job_convert_onclick(self, but):</font></div><div style="background-color: transparent;"><font size="2">             if self.busy == True:</font></div><div style="background-color: transparent;"><font size="2">               self.dialog_info.run()</font></div><div style="background-color: transparent;"><font size="2">               self.dialog_info.hide()</font></div><div style="background-color: transparent;"><font size="2">               return</font></div><div style="background-color: transparent;"><font size="2">             self.it = self.tree.get_iter_first()</font></div><div
 style="background-color: transparent;"><font size="2">             if self.it == None:</font></div><div style="background-color: transparent;"><font size="2">                return</font></div><div style="background-color: transparent;"><font size="2">             self.win.choice = 0</font></div><div style="background-color: transparent;"><font size="2">             self.stop = False</font></div><div style="background-color: transparent;"><font size="2">             self.win.add_movie.set_state_flags(Gtk.StateFlags.INSENSITIVE, True)</font></div><div style="background-color: transparent;"><font size="2">             self.win.clear_movie.set_state_flags(Gtk.StateFlags.INSENSITIVE, True)</font></div><div style="background-color:
 transparent;"><font size="2">             self.busy = True</font></div><div style="background-color: transparent;"><font size="2">             self.video_pad_num = 0</font></div><div style="background-color: transparent;"><font size="2">             self.audio_pad_num = 0</font></div><div style="background-color: transparent;"><font size="2">             self.win.cell_rend3.set_property("visible", True)</font></div><div style="background-color: transparent;"><font size="2">             self.title, self.path = self.tree[self.it][2], self.tree[self.it][4]</font></div><div style="background-color: transparent;"><font size="2">             self.src.set_property("location", self.path)</font></div><div style="background-color: transparent;"><font
 size="2">             print(self.path)</font></div><div style="background-color: transparent;"><font size="2">             title = self.title.split(".avi")[0]</font></div><div style="background-color: transparent;"><font size="2">             dst_file = self.folder+"/"+title+".avi"</font></div><div style="background-color: transparent;"><font size="2">             self.sink.set_property("location", dst_file)</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.set_state(Gst.State.PLAYING)</font></div><div style="background-color: transparent;"><font size="2">             self.pipe.get_state(1000000000)</font></div><div style="background-color: transparent;"><font size="2">         
    print("looooool\n")</font></div><div style="background-color: transparent;"><font size="2">                </font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">def containerprofile_set( container_profile, name_, description_, format_, preset_):</font></div><div style="background-color: transparent;"><font size="2">    container_profile.set_name(name_)</font></div><div style="background-color: transparent;"><font size="2">    container_profile.set_description(description_)</font></div><div style="background-color: transparent;"><font size="2">    container_profile.set_format(format_)</font></div><div style="background-color: transparent;"><font size="2">   
 container_profile.set_preset(preset_)</font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">def audio_video_profile_set(audio_video, format_, preset_, restriction_, presence_):</font></div><div style="background-color: transparent;"><font size="2">    audio_video.set_format(format_)</font></div><div style="background-color: transparent;"><font size="2">    audio_video.set_preset(preset_)</font></div><div style="background-color: transparent;"><font size="2">    audio_video.set_restriction(restriction_)</font></div><div style="background-color: transparent;"><font size="2">    audio_video.set_presence(presence_)</font></div><div style="background-color: transparent;"><font size="2">    </font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color:
 transparent;"><font size="2">    </font></div><div style="background-color: transparent;"><font size="2">              </font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2"><br></font></div><div style="background-color: transparent;"><font size="2">                    </font></div><div style="background-color: transparent;"><font size="2">could I directly link decodebin and encodebin toghether or I need some element?? thanks</font></div><div style="background-color: transparent;"><font size="2">          </font></div><div style="background-color: transparent;"><font size="2">           </font></div><div style="background-color: transparent;"><font size="2">         
  </font></div><div style="background-color: transparent;"><font size="2">      </font></div><div style="background-color: transparent;"><font size="2">            </font></div><div style="background-color: transparent;"><font size="2">        </font></div><div style="background-color: transparent;"><font size="2">        </font></div><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><br></div></div></body></html>