#! /usr/bin/python
############################################################################
# Copyright (C) 2005 by Reithinger GmbH
# mreithinger@web.de
#
# This file is part of faces.
#
# faces 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 2 of the License, or
# (at your option) any later version.
#
# faces 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, write to the
# Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
############################################################################
import wx
import wx.xrc as xrc
import wx.lib.throbber as throb
import cStringIO, zlib
import sys
import weakref
import datetime
import time
import re
import os
import user
__version__ = "0.1.1"
#tools
#-------------------------------------------------------------
def check_datetime(src):
src = str(src)
formats = [ "%Y-%m-%d %H:%M",
"%y-%m-%d %H:%M",
"%d.%m.%Y %H:%M",
"%d.%m.%y %H:%M",
"%Y%m%d %H:%M",
"%d/%m/%y %H:%M",
"%d/%m/%Y %H:%M",
"%d/%m/%Y",
"%d/%m/%y",
"%Y-%m-%d",
"%y-%m-%d",
"%d.%m.%Y",
"%d.%m.%y",
"%Y%m%d" ]
for f in formats:
try:
conv = time.strptime(src, f)
return datetime.datetime(*conv[0:-3])
except Exception, e:
pass
raise TypeError("'%s' is not a datetime" % src)
TIME_DELTA_PATTERN = re.compile("([-+]?\\d+(\\.\\d+)?)([MH])")
def check_timedelta(src):
src = src.strip()
split = src.split(" ")
for s in split:
mo = TIME_DELTA_PATTERN.match(s)
if not mo:
raise TypeError(src +
" is not a valid duration: valid"
" units are: M H")
if wx.Platform == '__WXMSW__':
syslocale = wx.Locale(wx.LANGUAGE_DEFAULT)
os.environ["LANG"] = syslocale.GetCanonicalName()
# widgets
#--------------------------------------------------
class _ComboListCtrl(wx.ListCtrl):
def __init__(self, parent):
wx.ListCtrl.__init__(self, parent, wx.NewId(),
style=wx.SUNKEN_BORDER|wx.LC_REPORT|\
wx.LC_NO_HEADER|wx.LC_SINGLE_SEL|wx.LC_VIRTUAL)
self.data = []
self.InsertColumn(0, "id")
def refresh(self, data):
self.data = data
self.SetItemCount(len(data))
self.RefreshItems(0, len(data))
def OnGetItemText(self, item, col):
return self.data[item]
class ComboList(wx.Frame):
def __init__(self, parent, referer, data):
wx.Frame.__init__(self, parent,
-1,
title="Find Value",
style=wx.FRAME_NO_TASKBAR\
|wx.FRAME_FLOAT_ON_PARENT
|wx.NO_BORDER)
self.list = _ComboListCtrl(self)
self.data = data
self.referer = weakref.proxy(referer)
self.timer = wx.Timer(self)
wx.EVT_KILL_FOCUS(self.list, self.OnLoseFocus)
wx.EVT_LIST_ITEM_ACTIVATED(self, -1, self.OnActivated)
wx.EVT_TIMER(self, -1, self.OnTimer)
def show(self):
width = 500
height = 200
screen_width = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_X)
screen_height = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_Y)
rect = self.GetParent().GetRect()
if screen_width - rect.right > width:
left = rect.right
else:
left = rect.left - width
if screen_height - rect.top > height:
top = rect.top
else:
top = screen_height - height
self.Move((left, top))
self.SetSize((width, height))
self.list.SetColumnWidth(0, width + 300)
self.update()
self.Show()
def check_hide(self):
def hide_me():
focus = wx.Window_FindFocus()
if not focus \
or focus.GetId() not in (self.list.GetId(),
self.referer.GetId()):
self.Hide()
wx.CallAfter(hide_me)
def OnLoseFocus(self, event):
self.check_hide()
def OnActivated(self, event):
self.referer.SetValue(self.list.data[event.GetIndex()])
def OnTimer(self, event):
pattern = self.referer.GetValue()
filtered = filter(lambda t: t.find(pattern) >= 0, self.data)
self.list.refresh(filtered)
def update(self):
self.timer.Start(250, True)
def get_first(self):
try:
return self.list.GetItem(0).GetText()
except:
return ""
#panel
#-------------------------------------------------------------
panel_resource = """
<resource>
<object class="wxPanel" name="ClockingFrame">
<object class="wxFlexGridSizer">
<cols>3</cols>
<rows>2</rows>
<object class="sizeritem">
<object class="wxStaticText">
<label>&Input File: </label>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="INPUT_FILE">
<value></value>
</object>
<flag>wxEXPAND</flag>
<minsize>180,0</minsize>
</object>
<object class="sizeritem">
<object class="wxButton" name="OPEN_INPUT">
<label>&Open</label>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>O&utput File: </label>
</object>
<cellpos>1</cellpos>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="OUTPUT_FILE"/>
<cellpos>1</cellpos>
<flag>wxEXPAND</flag>
</object>
<vgap>5</vgap>
<hgap>2</hgap>
<growablecols>1</growablecols>
<object class="sizeritem">
<object class="wxButton" name="FIND_OUTPUT">
<label>&Find</label>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>&Resource:</label>
</object>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="RESOURCE">
<style>wxTE_PROCESS_ENTER</style>
</object>
<flag>wxEXPAND</flag>
</object>
<object class="spacer">
<size>0,0</size>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>&Task:</label>
</object>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="TASK">
<style>wxTE_PROCESS_ENTER</style>
</object>
<flag>wxEXPAND</flag>
</object>
<object class="spacer">
<size>0,0</size>
</object>
<object class="spacer">
<size>0,0</size>
</object>
<object class="spacer">
<size>0,0</size>
</object>
<object class="spacer">
<size>0,20</size>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>St&art:</label>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<object class="wxTextCtrl" name="START">
<style></style>
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
<object class="spacer">
<size>10,0</size>
</object>
<object class="sizeritem">
<object class="wxStaticText">
<label>&End: </label>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="sizeritem">
<object class="wxTextCtrl" name="END">
</object>
<option>1</option>
<flag>wxEXPAND</flag>
</object>
</object>
<flag>wxEXPAND</flag>
</object>
<object class="sizeritem">
<object class="wxButton" name="CLOCK">
<label>Start &Clock</label>
</object>
</object>
<object class="sizeritem">
<object class="wxStaticText" name="">
<label>Ti&me:</label>
</object>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="sizeritem">
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<object class="wxTextCtrl" name="TIME"/>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
<object class="spacer">
<size>10,0</size>
</object>
<object class="sizeritem">
<object class="wxPanel" name="CLOCK_CONTAINER"/>
<flag>wxALIGN_CENTRE_VERTICAL</flag>
</object>
</object>
</object>
<object class="sizeritem">
<object class="wxButton" name="SAVE">
<label>&Save</label>
</object>
</object>
</object>
<style>wxTAB_TRAVERSAL</style>
</object>
</resource>
"""
class ClockingFrame(wx.Frame):
tasks = []
resources = []
def __init__(self):
screen_width = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_X)
screen_height = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_Y)
wx.Frame.__init__(self, None, -1, "clocking",
pos=(screen_width, screen_height),
style=wx.NO_FULL_REPAINT_ON_RESIZE\
|wx.STAY_ON_TOP|wx.FRAME_NO_TASKBAR\
|wx.RESIZE_BORDER\
|(wx.DEFAULT_FRAME_STYLE \
& ~ (wx.RESIZE_BORDER\
|wx.MINIMIZE_BOX\
|wx.MAXIMIZE_BOX)))
self.SetIcon(getIcon())
res = xrc.EmptyXmlResource()
res.LoadFromString(panel_resource)
self.panel = res.LoadPanel(self, "ClockingFrame")
task_ctrl_id = xrc.XRCID("TASK")
task_ctrl = xrc.XRCCTRL(self.panel, "TASK")
res_ctrl_id = xrc.XRCID("RESOURCE")
res_ctrl = xrc.XRCCTRL(self.panel, "RESOURCE")
self.task_combo = ComboList(self, task_ctrl, self.tasks)
self.resource_combo = ComboList(self, res_ctrl, self.resources)
self.start_time = None
self.input_file = ""
self.delta_time = datetime.timedelta(0)
self.timer = wx.Timer(self)
self.set_clock()
self.set_sizes()
self.read_defaults()
wx.EVT_BUTTON(self.panel, xrc.XRCID("OPEN_INPUT"), self.OnOpenInput)
wx.EVT_BUTTON(self.panel, xrc.XRCID("FIND_OUTPUT"), self.OnFindOutput)
wx.EVT_BUTTON(self.panel, xrc.XRCID("CLOCK"), self.OnClock)
wx.EVT_BUTTON(self.panel, xrc.XRCID("SAVE"), self.OnSave)
wx.EVT_KILL_FOCUS(xrc.XRCCTRL(self.panel, "INPUT_FILE"),
self.OnLoadInputFile)
wx.EVT_TEXT(self.panel, task_ctrl_id, self.OnTaskReduceSelection)
wx.EVT_TEXT(self.panel, res_ctrl_id, self.OnResourceReduceSelection)
wx.EVT_TEXT_ENTER(self.panel, task_ctrl_id, self.OnTaskEnter)
wx.EVT_TEXT_ENTER(self.panel, res_ctrl_id, self.OnResourceEnter)
wx.EVT_SET_FOCUS(task_ctrl, self.OnTaskGetFocus)
wx.EVT_KILL_FOCUS(task_ctrl, self.OnTaskLoseFocus)
wx.EVT_SET_FOCUS(res_ctrl, self.OnResourceGetFocus)
wx.EVT_KILL_FOCUS(res_ctrl, self.OnResourceLoseFocus)
wx.EVT_TIMER(self, -1, self.OnTimer)
wx.EVT_CLOSE(self, self.OnClose)
def OnOpenInput(self, event):
dlg = wx.FileDialog(self,
"Choose a filename",
"", "",
"Task Files (*.tsk)|*.tsk",
wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
xrc.XRCCTRL(self.panel, "INPUT_FILE").SetValue(path)
self.OnLoadInputFile(None)
def OnLoadInputFile(self, event):
path = xrc.XRCCTRL(self.panel, "INPUT_FILE").GetValue()
if path != self.input_file:
self.read_clocking_file(path)
def OnFindOutput(self, event):
dlg = wx.FileDialog(self,
"Choose a filename",
"", "",
"Clocking Files (*.clk)|*.clk",
wx.SAVE)
if dlg.ShowModal() == wx.ID_OK:
output = xrc.XRCCTRL(self.panel, "OUTPUT_FILE")
output.SetValue(dlg.GetPath())
def OnTaskGetFocus(self, event):
self.task_combo.show()
def OnResourceGetFocus(self, event):
self.resource_combo.show()
def OnTaskLoseFocus(self, event):
self.task_combo.check_hide()
def OnResourceLoseFocus(self, event):
self.resource_combo.check_hide()
def get_combo_list(self):
return wx.FindWindowById(ComboList.ID)
def OnTaskReduceSelection(self, event):
self.task_combo.update()
def OnResourceReduceSelection(self, event):
self.resource_combo.update()
def OnTaskEnter(self, event):
event.GetEventObject().SetValue(self.task_combo.get_first())
def OnResourceEnter(self, event):
event.GetEventObject().SetValue(self.resource_combo.get_first())
def OnTimer(self, event):
now = datetime.datetime.today()
td = self.delta_time + now - self.start_time
time = xrc.XRCCTRL(self.panel, "TIME")
hours = td.days * 24 + td.seconds / 3600
minutes = (td.seconds / 60) % 60
time.SetValue("%02iH %02iM" % (hours, minutes))
def OnClose(self, event):
self.timer.Stop()
self.clock.Stop()
self.task_combo.Hide()
self.resource_combo.Hide()
self.Hide()
def show(self):
if self.start_time:
self.clock.Show()
self.clock.Start()
self.timer.Start(60000)
self.OnTimer(None)
self.Show()
def stop_clock(self):
if not self.start_time: return
now = datetime.datetime.today()
self.clock.Stop()
self.timer.Stop()
self.clock.Hide()
self.delta_time += now - self.start_time
self.start_time = now
self.OnTimer(None)
self.start_time = None
end = xrc.XRCCTRL(self.panel, "END")
end.SetValue(now.strftime("%x %H:%M"))
button = xrc.XRCCTRL(self.panel, "CLOCK")
button.SetLabel("Start &Clock")
def start_clock(self):
if self.start_time: return
start = xrc.XRCCTRL(self.panel, "START")
now = datetime.datetime.today()
self.start_time = now
if not start.GetValue():
start.SetValue(now.strftime("%x %H:%M"))
xrc.XRCCTRL(self.panel, "END").SetValue("")
self.delta_time = datetime.timedelta(0)
if self.IsShown():
self.clock.Show()
self.clock.Start()
self.timer.Start(60000)
self.OnTimer(None)
button = xrc.XRCCTRL(self.panel, "CLOCK")
button.SetLabel("Stop &Clock")
def OnClock(self, event):
if self.start_time:
self.stop_clock()
else:
self.start_clock()
def check_date(self, ctrl_id, name, checker):
ctrl = xrc.XRCCTRL(self.panel, ctrl_id)
val = ctrl.GetValue()
try:
checker(val)
except Exception, e:
wx.MessageBox("%s: %s" % (name, str(e)), "Error",
style=wx.ICON_ERROR|wx.CANCEL)
raise
def OnSave(self, event):
self.stop_clock()
def check_task(val):
if val not in self.tasks:
raise RuntimeError("'%s' is not valid." % val)
def check_resource(val):
if val not in self.resources:
raise RuntimeError("'%s' is not valid." % val)
def check_output(val):
if not val: raise RuntimeError("no output file spcified")
try:
self.check_date("START", "Start", check_datetime)
self.check_date("END", "End", check_datetime)
self.check_date("TIME", "Time", check_timedelta)
self.check_date("TASK", "Task", check_task)
self.check_date("RESOURCE", "Resource", check_resource)
self.check_date("OUTPUT_FILE", "Resource", check_output)
except:
return False
def v(name):
ctrl = xrc.XRCCTRL(self.panel, name)
return ctrl.GetValue()
def clear(name):
ctrl = xrc.XRCCTRL(self.panel, name)
ctrl.SetValue("")
output = xrc.XRCCTRL(self.panel, "OUTPUT_FILE").GetValue()
try:
of = open(output, "a")
print >> of, '("%s", "%s", "%s", "%s", "%s"),' % \
(v("TASK"), v("RESOURCE"), v("START"),
v("END"), v("TIME"))
of.close()
clear("START")
clear("END")
clear("TIME")
except Exception, e:
wx.MessageBox(str(e), "Error",
style=wx.ICON_ERROR|wx.OK)
return False
return True
def read_clocking_file(self, filename):
if not filename: return
self.input_file = filename
self.resources = []
self.tasks = []
self.task_combo.data = self.tasks
self.resource_combo.data = self.resources
try:
cf = file(str(filename), "r")
data = cf.readlines()
cf.close
except Exception, e:
wx.MessageBox(str(e), "Error", style=wx.ICON_ERROR|wx.OK)
return
data = map(str.strip, data)
index = 0
for r in data:
if not r: break
index += 1
self.resources = data[:index]
self.tasks = data[index + 1:]
self.task_combo.data = self.tasks
self.resource_combo.data = self.resources
def set_sizes(self):
date_str = datetime.datetime(8888, 12, 22).strftime("%x %H:%M")
start = xrc.XRCCTRL(self.panel, "START")
end = xrc.XRCCTRL(self.panel, "END")
time = xrc.XRCCTRL(self.panel, "TIME")
min_size = start.GetTextExtent(date_str + " ")
start.SetMinSize(min_size)
end.SetMinSize(min_size)
min_size = time.GetTextExtent("888H 88M ")
min_before = time.GetMinSize()
time.SetMinSize((min_size[0], min_before[1]))
start.SetMaxLength(len(date_str))
end.SetMaxLength(len(date_str))
best_size = self.panel.GetBestSize()
best_size = (best_size.width + 10, best_size.height + 5)
self.SetClientSize(best_size)
size = self.GetSize()
screen_width = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_X)
screen_height = wx.SystemSettings_GetMetric(wx.SYS_SCREEN_Y) - 100
self.MoveXY(screen_width - size[0],
screen_height - size[1])
def set_clock(self):
clock_panel = xrc.XRCCTRL(self.panel, "CLOCK_CONTAINER")
images = map(lambda i: catalog[i].getBitmap(), index)
self.clock = throb.Throbber(clock_panel, -1, images,
pos=(0,0),
size=(36, 36),
frameDelay = 0.1)
self.clock.Hide()
clock_panel.SetMinSize(self.clock.GetBestSize())
def read_defaults(self):
try:
fname = os.path.join(user.home, ".clocking")
vals = {}
def set_value(name):
val = vals.get(name, None)
if val:
ctrl = xrc.XRCCTRL(self.panel, name)
ctrl.SetValue(val)
return val
for line in file(fname):
line = line.strip()
if not line: continue
if line.startswith('#'): continue
tup = line.split(':', 1)
key, val = tup
key = key.strip()
vals[key] = val.strip()
set_value("RESOURCE")
set_value("OUTPUT_FILE")
input_file = set_value("INPUT_FILE")
if input_file:
self.read_clocking_file(input_file)
except:
pass
def write_defaults(self):
fname = os.path.join(user.home, ".clocking")
of = file(fname, "w")
def write_value(name):
ctrl = xrc.XRCCTRL(self.panel, name)
print >> of, '%s:%s' % (name, ctrl.GetValue())
write_value("RESOURCE")
write_value("OUTPUT_FILE")
write_value("INPUT_FILE")
of.close()
class ClockingTaskBarIcon(wx.TaskBarIcon):
TBMENU_CLOCK = wx.NewId()
TBMENU_RESTORE = wx.NewId()
TBMENU_REFRESH = wx.NewId()
TBMENU_EXIT = wx.NewId()
TBMENU_ABOUT = wx.NewId()
def __init__(self, app):
wx.TaskBarIcon.__init__(self)
self.frame = app.frame
self.app = app
# Set the image
icon = self.make_icon()
self.SetIcon(icon, "Clocking")
# bind some events
self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarActivate)
self.Bind(wx.EVT_MENU, self.OnTaskBarClock, id=self.TBMENU_CLOCK)
self.Bind(wx.EVT_MENU, self.OnTaskBarActivate, id=self.TBMENU_RESTORE)
self.Bind(wx.EVT_MENU, self.OnTaskBarRefresh, id=self.TBMENU_REFRESH)
self.Bind(wx.EVT_MENU, self.OnTaskBarExit, id=self.TBMENU_EXIT)
self.Bind(wx.EVT_MENU, self.OnTaskBarAbout, id=self.TBMENU_ABOUT)
def CreatePopupMenu(self):
menu = wx.Menu()
if self.frame.start_time:
menu.Append(self.TBMENU_CLOCK, "Stop &Clock")
else:
menu.Append(self.TBMENU_CLOCK, "Start &Clock")
menu.Append(self.TBMENU_RESTORE, "&Restore")
menu.Append(self.TBMENU_REFRESH, "Re&fresh")
menu.Append(self.TBMENU_EXIT, "E&xit")
menu.AppendSeparator()
menu.Append(self.TBMENU_ABOUT, "&About...")
return menu
def make_icon(self):
img = getImage()
if "wxMSW" in wx.PlatformInfo:
img = img.Scale(16, 16)
elif "wxGTK" in wx.PlatformInfo:
img = img.Scale(22, 22)
# wxMac can be any size upto 128x128, so leave the source img alone....
return wx.IconFromBitmap(img.ConvertToBitmap())
def OnTaskBarActivate(self, evt):
self.frame.show()
def OnTaskBarClock(self, evt):
self.frame.OnClock(None)
def OnTaskBarRefresh(self, evt):
self.frame.read_clocking_file(self.frame.input_file)
def OnTaskBarExit(self, evt):
if xrc.XRCCTRL(self.frame.panel, "START").GetValue():
answer =wx.MessageBox("Do you want to save the current data?",
"Data not saved",
style=wx.ICON_QUESTION|wx.YES_NO)
if answer == wx.YES:
if not self.frame.OnSave(None): return
self.RemoveIcon()
self.frame.write_defaults()
self.frame.Destroy()
self.app.ExitMainLoop()
def OnTaskBarAbout(self, evt):
wx.MessageBox("Version " + __version__, "About", style=wx.OK)
class ClockingApp(wx.App):
def OnInit(self):
#sys.stderr = sys.__stderr__
self.frame = ClockingFrame()
self.SetTopWindow(self.frame)
self.frame.Show()
ClockingTaskBarIcon(self)
return True
def main():
app = ClockingApp()
app.MainLoop()
#----------------------------------------------------------------------
# This file was generated by encode_bitmaps.py
#
from wx import ImageFromStream,BitmapFromImage
import cStringIO
catalog = {}
index = []
class ImageClass: pass
#----------------------------------------------------------------------
def get005Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x08\
\x92IDATx\x9c\xcd\x98[s\x1dG\x15\x85\xbf\xbd\xbb{\xe6\xdc$\xd9V\xe4$\xb6cc\
\x8a\x90\x84\x82\x90TR\xc5\x0b\x81\'\x8aW\xfe)\x7f\x80\'\n\x9e \xf0\x90\x90\
\x8b\xc1&\x89#\xcb\xbaKg\xce\xdc\xa7\xbby\xe89G\x92\xe1\x070U\xad9\xd7\xeeu\
\xf6Z{\xaf\xbd%@\xe4\xff\xe0\xb2\x00\xef\x7f\xf4\tY\x96\xe3\\\x86\xb1\x16\
\xa3\x06Q\x83\x88\x10c\xe4\x06\xd6\xb8\xbe\xc5\xab\x17\xa2\\{S\xf8\x9f\x97\
\xdc|\x18\xc7\xbf1F\xfe\xf8\x87\xdf\' Y\x963\x99\xcc\xc8\xf2\xc9\x06\x8c\xae\
\x81\x10!Fb\x80\x18\x07\x86\xbe\xc6\x0f-C\xdf2t-\x83\xef\xf1C\x8f\xf7\x11\
\xd4b\xac#\xcb\xe7Lg\xdb\xb8,O\x07\x8b\\\x03!\t\xae@\x0c\x91\x10\xfdUD\x9c\
\xcb\xc8\xf2\t\x93\xc9\x14\x97O\xb06\xc3\xa8\xae\xa1\x13\x86\x0e\xdfW\x84\
\xa1f>7X\xbb\x9d6\x8f\xe0C\xa0\xef{\xba\xae\xa5\xa9\x1b\xca\xb2\xa08?\xe0\
\xecx\x9f\xc5\xf6.\xb7w\xdf`\xbe\xb5s\x05C\xd6p\x84\x18\x03!\x84+ \xc6Z\x9c\
\xcbp\xf9\x84,\x1b\xa3b\x0c \xf8\xbe@\xe8X\xec,\x98\xcd\xee\x92\xe79\xce9D\
\x84\x10\x02\xc30\xd0u\x1dm[SU\r\xe5\xaa`\xb9\\r\xb9\xbc\xe0\xfc\xec%\xa7\
\xc7/x\xfd\xdec\xdez\xf4\x0e\xa2\t\x00\x92\x00\xc5\x18\xf0\xc3\xb5\x88\x185\
\x18k\xb16K\x80\\\x86\x08H(\xd9\xd9\xb2\xdc\xba\xf5\x90\xed\x9dm\x16\xf3\x05\
\xb3\xd9t\x04\t\xc300\x0c\x1dM\xd3\xd2\xd45\xab\xb2\xa4(\x96,/\x97\xcc\xce\
\xe7dY\xce\xe9\xc9\t\xcf\xbe\xfe;\xab\xe5\x05o\xbf\xf7!\xd3\xd9"\x01A FD\xaf\
\x01\x115\xa8\x1a\x8c*\xc6\x18D\xc0Rs\xe7\xf6\x9c\xbd\xbd=\xee\xee\xed\xb1\
\xfb\xdak\xec\xdc\xda!w\x19!z\xba\xae\xa3i\x1a\x9a\xa6\xa6\xaa*\xaa\xaab6\
\x9b2\x9dN\x99N\xa6\xe4\x93\x9c,s\x18c\x18\xbcg\xff\xbb\'4u\xc5\xfb\x1f\x7f\
\xc2l\xb65&B@\xbd^\x03"\x928_\xf3\x17J\xee\xdc\x9es\xff\xfe}\x1e<x\xc0\xa3G\
\x8f\xb8\xf7\xe6\x1b\xb8\xcc\xd1\xb5\x1dU]Q\x96+T\x85\x18F\x9e\xd7I$\x82\xaa\
`\x8c\xc1\x1a\x83\x88RV\x1d!D\xceN\x0f\xf8\xfa\x1f\x7f\xe5\x83\x8f\x7f\x8d\
\x88\x02\xb2I8\x0b\x10c\x1c\xb3\x03|_\xb0\xb3e\xd9\xdb\xdb\xe3\xc1\x83\x07\
\xbc\xfb\xee\xbb<~\xfc\x16\xaa\x96\xd5\xaa \x04\x8f\xf7I\x17}\xd7\xe3\xbd\'\
\x86\x88\x88\xe0\x9c#\xc6\x88Q\x83\xb5\x16\x979\xf6\x0f\x97,\xb6\xef\xa0\xc6\
\x92\xe59g\xc7\xdf\xf3\xef\x7f~\xc6\xe3\xb7\x7f6f\xe35j\x18S4\x0c\x1dB\xc7\
\xad[\x0f\xd9\xdb\xdb\xe3\xe1\xc3\x87<zx\x1f\xe72\x96\xcb"Q\xd16,\x97KV\xab\
\x92\xb6m\x18\x86\x81\x08Xk\x11\x15\xac\xb5\x0cn\xc0:\xcb\xe1\xc9\n4g\xbe\
\xd8\xc19G\x96eXc9>\xfc\x8e\xdd\xbb\xf7X,v\x88\xd7\xb3\x06 \x06\xf0}\xc5bg\
\xc1\xd6\xf6\x16\xbb\xbbw\xb8{w\x0f5\x96\xe5\xe5\x92\xaa\xaei\x9a\x86\xf3\
\xb3s\x8a\xa2\xa0\xeb:\x06? \x92h@\x15\x83!\xf8\x801\x96\xba\x1d8>\xab\x99\
\xce\xe6)\x11\\\x86\xb5\x16U\x05\x0e9=\xfa\x9e\xd9l\x9b\x10\xe2+@\xe2@\x18j\
\xa6\xd3=\xe6\xb39\xf3\xc5\x02b`\xb9\\\xa6\xf4l\x1a\xce\xcf\xcfY\x16\x05m\
\xdb&\xa1\x89\x12\x89\xe8\xa8\r\x00\x15\xc5\x87\xc8W\xcf\x8e\xc9\xf3\x1cc\r\
\xc6X\xacuXc1F!z\xce\xcf/i\x9a\x12\xe7\xf2k@"\x0c}*V\xa9\xca\xe6\xa8(U\xdd0x\
O\xd7\xb5,/\x97\xac\xca\x15m\xdb\xa6\xb4\x1bk\xb6\x88 \xaacT\x03"\xc2\x97O\
\x0f\x19\x06\x8fu\x19j,jl\xb2\x0ec0F z\xba\xb6\xa1*.\xd8\xba\xbdw3"~h1f\x0bk\
S\x8d\xe8\xba\x96\xd5\xaa \xcb\x1cm\xd3RV%]\xd7\x11c\xd8\x80XGa]\xc0E\x95\
\xfd\xa3\x0b\xce.\n\xd4\xa4\xac0DL\xb0\x18\x93h1\n\xc2@\xd7T\xd4]uS#\x91\xc8\
\xd0\xb7\x88l\x13#x\xef\xa9\x9b\x9a\xbc\xca\xe8ZC\xdb\xb5I\x13\x83G\xe5\x15\
\x10\xa3\r\x00,W\r_=}\x99\xa2\x84n*i4\x11c\x0c\xaa\x8a*\x88x\x16[\xdb\xd4\'g\
\x84\xf8\x8aX\x87\xaeM\xbe\x12\x06\xba\xb6\xa3\xad\x1b*\xe7PU\x82\xf7\xf4\
\xc3\xb01\xc1+Z\xb8a\xcc\x9f?\xd9\'x\x9f\x9cD%\x19\xa7j\xfa^\x88\xa8(*\x11\
\xc53\xcc\xe6\x18=\x1b\xdd\xfdZ\xfa\x0e\xbe\x1f\xf5\xd0\xd3\xf5-u[c\xabT\x0f\
bLv\x9d\xc2\xbd\xfe\xa57A|\xf9\xf4%\xab\xaaF\x11D\x14\xd5\xf49;\x82\xc1\x90^\
\x13\x90\xd83\xe4\x13\xf2\xcc\xc1\r Q\xf0C\xbfq\xd1\xbanh\xaa\x06k\xcchpc\
\xe9\x8f)\n\xff\xd5q\x88p~Y\xa5H\xc8z)\xaa\x065i\x89(j<"\x11\x89\x19\x83\xcb\
p\x99#\x8c[\xe8F\xac>&+o\x1a\xea\xaa\xa6\xacJ\xea\xba\xa6mZ\x86\xbe\xdf\x88\
\n\xd8\xf0\xba\x06!\xc0/>x\xcc\xfd7v\xd3sUD\x15\xa3\x06\x1dS\xd79\x8b\xb3\
\x16\xe7\x1c\xd6fX\x97z\x1e^\xa5\x06\xb54uC]7Tu\xc9\xb4\xcc\xb1\xc6\xa4\xa2K\
L\xf5 \x981$W\xa9\xcb\x18\x81\xcc(?\xff\xc9[\xdc{\xfd6\x9f=9\x00H~\xe3,\xd6\
\x8cZS\x0fxpI7\xaa\x8ex\xb3\xa0\t\xc6:\xaajEU\x96\xacV+\xb2,G\x8d\x01I\xdc\
\x0ev\xd8(_HM\xd3\x86\x06\x95qc\xc3\xfd7\xef\xb0\xb7{\x8b\xbf}\xf1=M\xdbc\
\x8dM\xbf^\x14\xef\x81`\x88*\xc4\xe0\t\x98M`7Y\x93\xe5s\x96g/(V\x05\x93\xe9\
\x04\xe7\x1c\xc6(F\x15kSA\xb2\xc6\x8e\xbc+")\xfc\xaa\x8a\x8a\xa0\xc6\x8c\x9f\
7L\xb7\x1d\xbf\xfd\xf5\xfb<{~\xc6\xd3o\x8f\xb1\xce\x8e\xfa\t\x88\x17\xba\xe0\
\xf1\xbe\'"\xaff\rLg\xdb\x9c\x1d\xefS\x14\x97\xe4y\x9e\x0e\xd7\x11\x88K\xdc:\
k\xb1\xd6BL\xcd\x9e\xaabL\x12\xa51)\xc3\xec\xa8\x83I\x9e\xf3\xe1O\x1f\xf3\
\xc3\x1f\xdc\xe7\xcf\x9f>\xc5\x0f]\xf23<\xc1w\xacV\x15>\xe8\x7fG\xc4e9\x8b\
\xed].\xce\x0e\xb0\xd6\x8d\x07$CK \xd2\xb2\xceacDT\xc6F\xcab\xad\x19)p\x1b\
\x97\xcd\xf3\x9cI\x9e3\x9f\xcf\xf9\xddo>\xe0O\x7f\xf9\x8a\x83\x83\x15\xd1\
\xb7\xb4ME\xd5\x0e\x9bN\xfe\x06\x10\x80\xdb\xbbopz\xfc\x82\xf3\xb3\xf3\r\xff\
FM: \xcb\xc8\xf2,\x81\x1a\xfb\x0eDF\xeaR\xb4\\\x96\x91\xad\x97K\xddY\x8c\x11\
\xef=?~t\x87\xae<\xe5\x9b\xd3\x92\x93\x933\xda6p\xbd\x10l\x80\x88\x08\xf3\
\xad\x1d^\xbf\xf7\x98\xa7_\xfd\r\x1f<"2\x86:m\xee\x9c#s\xd9x\xe0\x15\x18U\
\x1d{\xdeq\x19\x8b\x88\xe2C\xa0m;../9<:\xa4\xa9.\xa9\xab\x82\xa2l\xf1Q\xb8\
\xea\xea\xd7@\xaeU\xa8\xb7\x1e\xbd\xc3jy\xc1\xfewOP\x91\x11DN\x9e\xe7\t\x84s\
\xe8\xd8\x06Z\xe3\xb0\xd6\x10C\xaa\x901F\xc28^\xf4CO\xd7\xf5\x14E\xc1\xf1\
\xc9\t\x07/\x0ex\xf1\xe2\x80\xe7\xfbGT\x8d\xdf\xb4\xa6\xa3VoR\xc3\xe8\x11o\
\xbf\xf7!MSsr\xf2\x82|2!\xcb\xd2x\xa1f,\xd7\xe3L\x13b$\xc40\x1ae\xc0\r\x03F\
\r\x11\xe8\xfb\x9e\xb2\xac\xb8\xb8\xb8\xe0\xe8\xe8\x88\xc3\xc3\x97<\xfbf\x9f\
\x8b\xa2\xbdV\x8b^\x8d\x08\xe3\xc8#\xe9>\x9d-x\xff\xa3_\xf2\xe4\x8bO9>z\xbe\
\x99qdL7\xef=}\xd7\xd3\xb6i\x94\x98N\xa7\x1b\xb0\x820xO]\xd7\xacV\x05\x17\
\x17\x97\x9c\x9c\x9c\xf0|\xff\x88\x8b\xa2\xddX\xa6\x8c@\xd6ve\xd7\xcc\xc45G#\
\xda\xd9l\x8b\x9f\x7f\xf4+\xbe\xf9\xd7\xe7\x1c\x1f~K\x8c/\t!\xb9p\xdb\xb6\
\xd4MMY\x96L\x97S&\x93\t\xcef\xa8I@\xbb\xae\xdf\x00yyx\xc2e\xd1P5~c\x07\x88\
\x8e]\xfc\xd55\xf6#W\xd1\xb8\xba\'\xe3\xfa\xc1\x8f~\xca\x9d\xbd79;\xde\xe7\
\xe4\xf4\x82\xa6\xae)W+\x8ab\x9b\xf9|1F#\x1f\x1b*\xc1\xfb\x81\xbe\xefY\x16%e\
\xdd\xd3\xb4\x01\x1f\xe5\x86\x1d\x88\xe8\xd5<|S#\x91\x18"1\x06b\x9a\xb6\xd3}\
T\xd3b\xb1\xc3l\xb6M\xd3\x94\xd4\xabK\xca\xb6\xa2<<\xc5\xe8)y\xe6p\x99K\x15W\
\x1d\x01C\x88\x82\x0f:\xd6\x89q\tW\x8f\xaf\xf4p\xb3\xb2\xc6\x98\xa6\xf2\x10\
\xd2,*\xeaQ\xafD\x81\x18\xfc8DE\x9c\xcb1\xb7^K\xcfcH\x9b\xc4\x88\x07|\x8cD\
\x9f6]o\xbe!|\xcc\x8eQ\xe3\x9b\xb7b\x8c\x106\xa2\xf8\xff\xf8G\xcd\x7f\x00\
\xa5^v\xc7\xab\xa1\x84<\x00\x00\x00\x00IEND\xaeB`\x82'
def get005Bitmap():
return BitmapFromImage(get005Image())
def get005Image():
stream = cStringIO.StringIO(get005Data())
return ImageFromStream(stream)
index.append('005')
catalog['005'] = ImageClass()
catalog['005'].getData = get005Data
catalog['005'].getImage = get005Image
catalog['005'].getBitmap = get005Bitmap
#----------------------------------------------------------------------
def get006Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xd6IDATx\x9c\xcd\x98Yo\xe4\xc6\x15\x85\xbfZ\xb9\xb4\xa4n\x0b\xd2\xb4&\xb05\
\x8b\xed\x186&\x13\x18\xf3j\xff\xd2\xfc\x81\xbc\xe5\x0f\x04\x08\x92<8O\xf6\
\x8ba\xc0\x19{4\x98\x99h\x19\xb4\xd4\x8b\x9aM6\xc9\xaa\xca\x03\x17\xb1e\x07y\
5\x81\xea\xea\x85d\x9d\xbe\xf7\x9csoQ\x00\x81\xdf\xc0\xa1\x01\x9e\xbf\xf8\
\x1ak#\x8c\xb1(\xadQR!\xa4B\x08A\x08\x81\x1d\xac\xa1\x9b\xc2\xdd\x17A\x0c~\
\x14\xfc\xea!v\xdf\x86\xf65\x84\xc0?\xfe\xfa\x97\x06\x88\xb5\x11q\x9cb\xa3\
\xb8\x07#; \x04\x08\x81\xe0\x81P\xe3\xdc\x16_oq\xf5\x96\xba\xde\xe2\xeb\x9a\
\xba\xae\xa8] \x91\xcablJ<\xda\xc7\x98\xa8YX\x88\x01\x08\xd1\xc0\x15\x10|\
\xc0\x07w\x17\x11c,6\x8a\x89\xe3\x04\x13\xc5hmQRv\xd0\xf1\xbe\x02\x97#BMl-J%\
(\xa5\x00\xa8\xeb\x9a\xaa\xaa\xd8n\xb7l6\x1b\xb2,\xe3vu\xc1\xe2\xfa\x9ct\xff\
\x90\x0f\x0e\xa7\xa4\xfb\xe3;\x18\xa2\x83#\x08\xc1\xe3\xbd\xbf\x03\xa2\xb4\
\xc6\x18\x8b\x89b\xacm\xa3\xa2Ts\x81\xcb0\xcas\xb07a4\x1a\x11\xc71\xc6\x18\
\xa4\x948\xe7(\xcb\x92\xb2,\xef@\xdc\xde\xb2\\.Y,\x16\xcc\xe7\x97\xdc\xcc\
\xcey\xf0\xf01\x1f\x9e~\x86\x90\r\x00D\x03(\x04\x8f\xab\x07\x11QR\xa1\xb4Fk\
\xdb\x002\x16)\x05F\xe4\x8c\'\x11\x87\x87\x0f\x99L&\x8c\xc7c\x92\xa4\x89F\
\x08\x81\xaa\xaa(\x8a\x82<\xcf\xc9\xb2\x8c\xf5z\xcdr\xb9doo\x8f$I\xb0\xd62\
\x9b\xcdx\xf5\xe3w\xac\x97\x0b>\xf9\xfcK\x92t\xaf\x01\x82\x80\x10\x10r\x00DH\
\x85\x94\n%%J)\xa4\x14\xc4z\xcb\xc9\xd1\x01\xd3\xe9\xb4\x1f\xe3\xf1\x18cL\
\x0f\xa0\x8bB\x9e\xe7$IB\x1c\xc7DQ\x84\xb5\x16\xad5RJ\x84\x108\xe78\x7f\xf7\
\x92\xbc\xc8y\xfe\xe2+\xd2t\xbf\x15\x82G:9\x00"DC\xa86\x7fF\xe4\x9c\x1c\x1d\
\xf0\xd1G\x1fqzz\xca\xd3\xa7O999A\x08AY\x96\xac\xd7kV\xab\x15\xce9\xbc\xf7\
\x84\x10p\xce\x11BhU\x06RJd\xfb\xc7\x84\x10H)y\xff\xfe\x82\x97?|\xcb\xf3\x17\
_#\x84\x04D/8\r47 @\x00\xe12\xc6\x93\x88\xe9t\xca\xa3G\x8fx\xf6\xec\x19\xc7\
\xc7\xc7\x00TUE\x08\x81\xb2,\xa9\xaa\n\xe7\\\x0f@kM\x14E\x08!\xd0Zc\x8c\xe9G\
\xf7[\x1c\xc7\\^\xbe\xe5\xf5\xcf\xdf\xf3\xf8\xe3g\xad\x1a\x07\xa9\xa1\x95\
\xa8\xf7\x15Fy\x0e\x0f\x1f2\x9dNy\xf2\xe4\t\xc7\xc7\xc7}x\xeb\xbaf\xb1X\xb0Z\
\xad\xc8\xf3\x9c\xa2(\xf0\xde\xa3\xb5\xfe\x05\x00k-\xd6Z\xa2(\xeaAX\xdb\x88\
\xe0\xfa\xea-\x87G\x0f\xd9\xdb\x1b\x13\x86\xaa\x01\x1a\x9fp9\x07{\x13&\x93\t\
\xd3\xe9\x94\x93\x93\x13\x80^\x1d\xb3\xd9\x8c\xf9|N\x9e\xe7\x94e\x89\x10\xa2\
\xe5\x94Dk\xdd\x83\x1aF#\x8a\xa2\x1eX\'\xf9\x10\xce\x99\xcf\xceI\xd3\x03\xbc\
\x0f\xbb@\x085"\xd4\x8cF#\xc6\xe31\xe3\xf1\x18!\x04UUQ\xd75\xb3\xd9\x8c\xeb\
\xebk\xb2,\xc3{\x8f\x94\xb2\xe7CgX\x1d\x17\x94Rh\xad\xfb\xa8t\xa3\xbb\xc69\
\xc7\xe5\xd5\x8c\xed6C\xebh\x00$\x80s[bk\x89\xe3\x98$I0\xc6P\x96%!\x84\xd6\
\x13\xe6dYF\x08\xe1\x17\x0b\x03x\xef\xfb\xef\xa5\x94\x18c\xf0\xde\xf7Q\xe9H\
\xdbE7\xcb2\xf2l\xc9\xe8\xe0h7"\xbe\xde\xa2T\x03@)EUU\xac\xd7k\xca\xb2\xec91\
\\lh\xdb\xdd\xe2\xdd1<g\x98\x96\xe5\xed\x86m\xad\x88\xe2\x11\xe3\xc9\x84\xdb\
\xac\xd8\xe5H \xe0\xeam\x9f\xef\x10\x02EQ\xb0Z\xad\xa8\xaa\xaa\xe7D\xb7\xd8p\
\xa1.=C\x1b\xe8\xa4+\xa5\xe4\xdd\xc5\x9c\x7f\xbf\xbe\xe2\xa7\xb3\x0b\xb6\xf9\
-\xa3(\x10%)\x07\x07\x07\xac73|\xb8G\xd6\xba\xde\xf6\xc4\xac\xaa\x8a\xcdf\
\xd3\xcb\xb3(\x8a~\xd1\xff\x07B\x08\xc1\xd9\xdbk^\xff\xe7\x86WofTu\x89\x08\
\x10\x82Ci\x8b2\x10[\xcdh\xb4\x87Q\xd7\xfd=z\xf96U\xb4\xa6,K\x8a\xa2\xe8I\
\xd9\x99V\xc7\xf8.*\xf7A\x9c\xbd\x9dq\xf6\xee\x9aWofx\xef\xda\xc8(\xb42\xed\
\n\x1a\x85\xc3\x18\xb0\xd6\x91\xc4\tql\xa9w\x80\x04A]WTUEY\x96\xe4yN\x9e\xe7\
\xbdS\x0e\xed\xfa\xfe!\x84\xe0O\x7f\xfe\'\xae\xaaZw\x16H\xa5\x10R"\x95jz\x1b\
!A\x04\xa4P-\x10O\x1dY\xac\xb1T\x8d\x9f\rR\xe3\x02\xdb\xed\xb6/`I\x92\xe0\
\x9c\xdb1+\xa0\x97\xee\x90+\x07\xfb\t\x8by\xddVU\xd9\x80\x90\n%u\xa3\x16%\
\x11\x80\x96\x01k\x05\xd6:J\xa5\x11RA\xdd\x96\x84.5\x01\xc9f\xb3a\xbd^\xf7\
\xa3#\xe9\xb0\xa6\xfc\x1a1\xbf\xf8\xf4w; \x84\x90mEW(m0mU\x8f\xac!\x89\r\xc6\
\xa8\xa6%\x90\xfa\xae6\xb5\xb7E*\xbb\xd3O\xdc\xde\xde\xf6\xf2\xedL\xed\x7f\
\x01\xf9\xf4\xd1t\x10\x89v(\x85R\x1a\xad5\xdah\x8c\xd1\xc4\xb1%\x8e\x0cJ\xca\
\x86\x7f\xfeN\xf2}j\x8cM\xb9]]\xf4\xfd\x84\xb5\xb69a`\xd9\x9d\xbc\xefK\xf4\
\xf0\x83}\x8e\x8f\x0f\xb9Y\xdc\xb6vo\xd0\xda6s{\x9dQ\x814\x16\xc4Q\xa0\xcak\
\xea\xaa\xa4v\xdc\x8f\x08\xc4\xa3}\xca\xaaq\xd1\x9b\x9b\x1b\xe6\xf39\xab\xd5\
\x8a,\xcb(\x8a\xa2OQw\x0c\xad\\k\xcd\x1f\xbf8E+\xdd\x830\xc6\xa0m3[\xa3I"C\
\x9ah\xb4\n\xb8\xbab\xbeX\xf7D\xdd\x8d\x88\x89H\xf7\x0f\x99\xcf/\xfb\xba\xd0\
Y\xb5\xednhm\xef\xae]\xa1\xeb\xc6\xb3\xcfN\xf9\xe6\xdbWm:\x1a\x10Zk\x8c\xd6\
\x18\ri,Hl\xc0\x95%y\xbe!\xcb+|h\x9b\xe2!\x10\x80\x0f\x0e\xa7\xdc\xcc\xce\
\x99\xcdf}e\xedjE\xd7yui\xeax\xd2\xa5\xee(M9\x99>`\xbe\xb8E\x1b\xd3\x02\xd0\
\x18-\x19\xc50\x8a\x05Zl\xd9\x14\x1b..g\xac7\xf5\x8e\r\xf4@\x84\x10\xa4\xfbc\
\x1e<|\xcc\xab\x1f\xbf\xc39\xd7/4,\xe5\x1d\xa0\xae\xfb\xee\x00k\xady\xf1\x87\
\xc7\xfc\xed\x9b\x1f\x9a\xcfJb4\x8cb\xd8K$VV\x14\x9b5\xcb\xc5\x9c\xf9jC\xed\
\x1b\x91\x88a\x876\xdc\xfc|x\xfa\x19\xeb\xe5\x82\xf3w/\x91R\xee45]\xf1\xea\
\x16\xee"\xd69\xf0\xef\x9f\x1c\xf3\xf7\x7f\x81Q\x81\xd84\xe9\x18\xc5\x02++\
\xcab\xcdb~\xc3\xd9\x9b+V\xeb\xce\xfc\xa0\x13\xe2Nj@ \xa4\xe0\x93\xcf\xbf$/r\
\xde\xbf\xbf\xd8\xe9\xac:\xc5\x84\x10v\xec\xdf9\xd7\x9fsr\xb4OU\x16\xa4\t$6\
\xa0\xc5\x96b\xb3f\xb1\xb8\xe1\xa7\xb3w\\/\xf2fw%\xc4\xafD\x84v\xcb#\x9a9I\
\xf7x\xfe\xe2+^\xfe\xf0-\x97\x97o\x07\x9dU\xd3\xd4l\xb7\xdb~\x1b\x91\xa6)I\
\x92\xf4e\xe0\xc1D\xb1\xba\r\x18U\xe2\xca\x92M\xb1a\xb9\x98s\xf6\xe6\x8a\xeb\
E\x8e\x0f\x02A\xe7\xca\xa2\xdf\xb8\xea.3\xa1\xcbQ\x8b6M\xf7y\xfe\xe2k^\xff\
\xfc=\xd7Wo\t\xe1\xbcoj:\x07^\xadV$I\xd2sH\x08\x81\xabj\xaabMQ5\xea\xb8\xb8\
\x9c1_mX\xad\xabv?\x03\x08\xd9v\xf1\xf7\xc8\x1a\x06\xd1\xb8\x9b\x1b\xcb~\xfc\
\xf13\x0e\x8f\x1e2\x9f\x9dsy5#\xcb2V\xab\x15\x93\xc9\xa4\xdfH\xdd\xef\xc0\
\x8a\xa2`\xbeX\x93\xe5\x15\xebMM\xed\xe9\x0bbw\xdf\xbe\x80\xeer$\x10| \x04O\
\x08\xbei\xf3\x83\xa7c\xd3\xde\xde\x984=`\xbbm\xda\xbb\xe5\xba`\x95]a\xd4{\
\xe2\xb8\xa9\xa2B*\x84\xd48/\xa9\x1dT\x8e\xd6\'\xbaHw\xb1\xdf},\xb0\xd3\x8f\
\x84\xd0\xec\xca\xbdo\xf6\xa2B:\xa4\x93\x04\x01\xc1;\x82\xf7x\x1f\xd0:btp\
\xd4|\x0eM\x11\xacCh\x1c\xb2\xbe\xdb\\\xdd\xd5\xa4\xae\xb9n\xd4!\xc4\xe0\x01\
Gh\xcf\xf3=)~\x1b\x0fj\xfe\x0bA\xd9\\\x8cd\xf1*\x82\x00\x00\x00\x00IEND\xaeB\
`\x82'
def get006Bitmap():
return BitmapFromImage(get006Image())
def get006Image():
stream = cStringIO.StringIO(get006Data())
return ImageFromStream(stream)
index.append('006')
catalog['006'] = ImageClass()
catalog['006'].getData = get006Data
catalog['006'].getImage = get006Image
catalog['006'].getBitmap = get006Bitmap
#----------------------------------------------------------------------
def get007Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xddIDATx\x9c\xcd\x98Yo\x1b\xd7\x19\x86\x9f\xb3\xceB\x8ablK\xb4\x03[u\x15\
\xa3\x8e[\xd7@\xea\xdb\xe47\x17\xbdk\xd1^\xb4E/\xdb\x18H\xd2\xa0\xa9\x1d/Q*K\
\x0ee."9$\xe7,\xbd\x98EC5@o3\x005\xa28\xc3\xf3\xe8\xfd\xdeo9#\x80\xc8O\xe0\
\xd0\x00O\x9e~\x86\xb5\t\xc6X\x94\xd6(\xa9\x10R!\x84 \xc6\xc8\x0eklN\xf1\xea\
\x0fQt>\x14\xfc\xe8!v\x7f\x8d\xf5\xcf\x18#\x7f\xfd\xd3o+\x10k\x13\xd24\xc7&i\
\x0b#\x1b\x10"\xc4H\x0c@tx\xbf!\xb8\r\xdempnCp\x0e\xe7J\x9c\x8fD$RY\x8c\xcdI\
{{\x18\x93T\x0b\x0b\xd1\x81\x10\x15\xae\x80\x18"!\xfa+E\x8c\xb1\xd8$%M3L\x92\
\xa2\xb5EI\xd9\xa0\x13B\t\xbe@DGj-Je(\xa5\x00p\xceQ\x96%\x9b\xcd\x86\xd5j\
\xc5r\xb9\xe4r\xfe\x96\xe9\xc5)\xf9\xde\r>\xb81"\xdf\xdb\xbf\xc2\x10\r\x8e \
\xc6@\x08\xe1\nDi\x8d1\x16\x93\xa4X[\xab\xa2Tu\x83_bT`\xd0\x1f\xd2\xeb\xf5H\
\xd3\x14k-B\x08B\x08l\xb7[6\x9b\rEQT\x10\x97\x97L\xa7S\xa6\xd3)\x93\xc9\x19\
\xef\xc7\xa7\x1c\xde\xb9\xcf\xdd\xa3\x87\x08Y\x01 *\xa0\x18\x03\xdeu\x14QR\
\xa1\xb4Fk[\x01\x19\x8b\x94\x02#\n\xf6\x87\t7o~\xc8p8d0\x18\x90\xe79ZkB\x088\
\xe7X\xaf\xd7;\x10\xb3\xd9\x8c^\xafG\x96eXk\x19\x8f\xc7\xbc\xfc\xe6\x19\x8b\
\xd9\x94\x07\x8f>!\xcb\xfb\x15\x08\x02bD\xc8\x0e\x88\x90\n)\x15JJ\x94RH)H\
\xf5\x86\xdb\xb7\x06\xdc\xbe}\x9b\xd1h\xc4\xe1\xe1!\xc3\xe1\x10c\xcc\x0e\xc0\
b\xb1\xa0(\n\xb2,#MS\x92$\xc1Z\x8b\xd6\x1a\xa5*\x9fy\xef9\xfd\xfe9\xc5\xba\
\xe0\xc9\xd3O\xc9\xf3\xbd:\x11\x02\xd2\xcb\x0e\x88\x10\x95\xa1\xea\xf8\x19Qp\
\xe7`\x9f{\xf7\xeeqtt\xc4\xf1\xf11\xa3\xd1\x08)%eY\xb2\\.\x99\xcf\xe7x\xef\
\xc9\xf3\x1c\x80\x10\x021\xc6:\xcb@J\xd9\xbe\x84\x10H)y\xf7\xee-\xcf\xbf\xfe\
\x9c\'O?C\x08\t\x886\xe14P}\x01\x11"\x08\xbfd\x7f\x980\x1a\x8d8::\xe2\xf1\
\xe3\xc7\x1c\x1c\x1c\xb4\x8b\x95e\xd9\xbeB\x08x\xef\x891\xa2\x94"I\x12\x84\
\x10h\xad1\xc6`\x8ci\xd5I\x92\x844M9;;\xe1\xf5\xb7_q\xff\xa3\xc7u6vBC\x9d\
\xa2!\x94\x18\x15\xb8y\xf3CF\xa3\x11\xc7\xc7\xc7\x1c\x1c\x1c\xb4\xf5\xc4{\
\xcfl6c>\x9f\xb3Z\xadX\xaf\xd7x\xef[\x88\xeb\x00\xd6\xda6T\x8d\xc9\x95R\\\
\x9c\x9fp\xe3\xd6\x1d\xfa\xfd}b7k\x80\xaaN\xf8\x82A\x7f\xc8p8\xe4\xf0\xf0\
\x90\xd1hD\xa3\x98\xf7\x9e\xf1x\xccd2a\xb5Z\xb1\xddn\x11B\xd4\x9e\x92\xad\
\x81\xbb0\xc6\x18\x92$i\xc1\x9a\x94\x8f\xf1\x94\xc9\xf8\x94<\x1f\x10B\xdc\
\x05!:Dt\xf4z=\x06\x83\x01\xc3\xe1\x10)e+\xffx<\xe6\xe2\xe2\x82\xc5bA\x08\
\x01)%1F\xa4\x94\xedW4\x9ePJ\xa1\xb5\xfe\x1fU\x9a{\xbc\xf7\x9c\x9d\x8f\xd9l\
\x96h\x9dt@"x\xbf!\xad%\xcc\xf3\x1ccL\xeb\x85\xd9l\xc6d2a\xb1X\x10cl+ec\xc2\
\xc6?\xcd{\xa5\x141FB\x08\xad*\xdd\x0c\xdan\xb7,\x97K\x8a\xe5\x8c\xde\xe0\
\xd6\xae"\xc1mP*k\xcd\xe5\x9cc\xb9\\R\x96e\xeb\x89f\xb1\xebe\xbbQ\xa39\xba\
\xd74\x8a4pM\x05\x9e\xcf\xe7\xcc\x16\xeb]\x8fD"\xdemZ\xea\x10\x02\xeb\xf5\
\x9a\xf9|NY\x96\xad\'\x9a\xc5\xba\x0b5\xe9\xda-\x03\xdd\xd4m\xd4RJ\x11B\xa0(\
\n.//\x19\x0e\x87\xcc\x97\xe7\x84x\xcd\xac\xcem\xda\x9b\x9cs\x14E\x81\xf7\
\xbe\x85j\x16\xfd\x7f\x10\xdd\xf0h\xad\xdb\xeb\xa5\x94x\xef\x19\x0c\x06\xec\
\xed\xed\xd1\xef\xf71\xea]\xfb\x1dm\xfaV]\xd4\xb1\xddnY\xaf\xd7,\x16\x0b\xf2\
<\xc7{\xdf\xa6h\xf7\xbf\xbc\x0e\xd1\xf5L\x17\xa4\x811\xc6\x10Bh\xcb\x7fU\x89\
-n\x07$\n\x9c+\xdb.Z\x14\x05EQ\xb4\x0b6\x10?v\xbc\xbb\xb8\xe4o\x7f\x7f\xc1\
\xc3\xe3\xdb<<\xbeM\x9eU~h@\x8c1mX\x9cs\xa4iz\xd5\n\x8c\xa5\xac\xeaY\'4>\xee\
t\xd1,\xcb\xf0\xde\xb7UQk\xdd\x86\xae\xeb\x95/\xff\xf5\x1f^\xbd9\xe3\xf5w\
\xe7\xfc\xe1/_\xf0\xe0\xf8.\x8f\x7fq\x97_\x7f|\x8f^\xa7~x\xef\xdbDh\xfb\x90T\
\xe0\xae\x85&"\xaf\xe6\x89\xcbK\xd24%\xc6\xd8B4\x00\xdd0\x08!89\x9b\xd6}J \
\x84\xe4\xe5\x9b3^\x9f\xfc\xc0\xef\xff\xfc%\xbf|t\xcco~\xf5s\x9e<\xbaG\x92$\
\xac\xd7\xeb\x9d\xfe#\xa4\xbe\xee\x11\x81Tv\xa7\x95\'I\xd2\x9a\xd3\x18\x83\
\xd6z\xc7#B\x08\xe6\x8b5\x17\xef\xa75\x94DH\x89\x14u\xc6(\xc5\x8bWoy}2\xe6w\
\x7f\xfc\x07\x1f?\xb8\xc7\xcf\xee\xf4\xe8\'\xbe\xf5\x9d\x0fW\xe1nCcl^MV\xd3)\
\xbd^\x0fkmuA\xa7d7\xb1oL\xf9\xe2\xf5\x0f\xedH)\xa4D\xd4\x10Z\x1b\x94\xb6\
\xf5Y\xa3\x95\xe2\xcd\xc9\x19\x93\xf7\x92\x0f\xfa\x80[\xb2\xdelp\x9e\xeb\x8a\
@\xda\xdbczq\xcat:%\xcb\xb2V\x81\xa6O4\xaat\xdb\xfc\x97\xff>m!\xaayF!\x95B\
\xe9\xfazS{B\t\xf2D\xb0\x97K\xacv,W\x1b&\x93\xcb\xd6\xa8\xbb\x8a\x98\x84|\
\xef\x06\x93\xc9Yk\xb0\xeb \xd6\xda\xb6\xbaVa\x99#\xeb\xc5\xa5\xd4(\xadPJ\
\xa3u\x03\xa10Z\x91\x18A?\x97\xf4RAt\x05\xebb\xc5\xb2(\t\xb1\x1e\x8a\xbb \
\x00\x1f\xdc\x18\xf1~|\xcax<n\xe5oJt\xd3\xb8\x1a\xa0o^\x9e\x83\xe8LwJ\xa1T\
\xa5\x9a\xaa3\xc3h\x855\x92~&\x19d\x12#K\x16\xeb\x15o\xcf\xc6,Vn\xa7\x0c\xb4\
B\x08\xf2\xbd}\x0e\xef\xdc\xe7\xe57\xcf\xf0\xde\xb7CN\x03\xd0\x00%I\xc2\xb3\
\x7f\xbei\xf78\xadQ\xa5D)\x89V\n\xadD\xa5D&\xd9\xef)\x12\xe3\xd8\x16Kf\xb3\t\
\x93\xf9\n\x17\xaa$\x11\xdd\t\xad\xbb\xf9\xb9{\xf4\x90\xc5l\xca\xe9\xf7\xcf\
\x91R\xb6\x93U\xd3\xd2\x95R,W[~\x18_\xa0\xb5\x81\xa8\xa9\xb6K\x11Ye1FA\x9eT\
\xe1\x18d\x92\xd4x\xca\xed\x92\xd9\xf4=\xaf\xbe;g\xbe(\xdb\xd1\xb4)\xd0;\xa1\
\x01\x81\x90\x82\x07\x8f>\xa1X\x17\xbc{\xf7vg\xb2j\xf2\x7f<\xddb\x94\xaf\xa6\
\x7f\x19\xd02`4$&\x92\xa6\x82^&\xd9\xcb%y\nV\x96l\x8a\n\xe2\xc5\xab\xef\xb9\
\x98\x16\x15\xad\x10?\xa2\x08\xf5\x96GT\xe7,\xef\xf3\xe4\xe9\xa7<\xff\xfas\
\xce\xceN:\x93U=\xa9\xcdJ\xf63\x814\x12\xad\x05\xc6H\x12\xabH3E\x96H\xf2T`\
\xb5#\xba\xca\x13\xb3\xd9\x84W\xdf\x9ds1-\x08Q h\xfa\x93h7\xae\xba\x89LlbT\
\xd3\xe6\xf9\x1eO\x9e~\xc6\xebo\xbf\xe2\xe2\xfc\x84\x18O\xdb\xa1F\xdb\x8c,\
\xeb\x91\xa4\x06k#\xc6F\x12\x1b0\xc6\xa3U\xc4o\x0b\x16\xab\x92uQ\x19s2_1_\
\x94\xf5~\x06\x10\xb2\x9e\xe2\xaf\x995v\xd4\xb8:W\xd5\xf2\xfeG\x8f\xb9q\xeb\
\x0e\x93\xf1)g\xe7c\x96\xcb%\xfb\xfb\xd5f\xab\xd7\xeb\xe3\xb3\x94\xe0\x12\
\xdcF!\x85$DOY\x96L\xa7\x0b\x96E\xc9b\xe5p\x81N\x1b\xa8\xabp\x13\x93]\x8fDb\
\x88\xc4\x18\x881Tc~\x0c4n\xea\xf7\xf7\xc9\xf3\x01\x9bM5\xde]\xae\xd6,\x8a1F\
]\x90\xa6\x16kl\xf5\xf4@j|\x908\x0f\xa5\xa7\xae\x13\x8d\xd2\x8d\xf6\xbb\x8f\
\x05v*k\x8c\xd5\xae<\x84j/*\xa4GzI\x14\x10\x83\'\x86@\x08\x11\xad\x13z\x83[\
\xd5\xfbXm\xa8\\\x8cU\x85tW\x9b\xab\xabY\xa5\x0ex\x9d\x1dBt\x1ep\xc4\xfa\xba\
\xd0\x9a\xe2\xa7\xf1\xa0\xe6\xbf\xf1o."\xb9\t8\x10\x00\x00\x00\x00IEND\xaeB`\
\x82'
def get007Bitmap():
return BitmapFromImage(get007Image())
def get007Image():
stream = cStringIO.StringIO(get007Data())
return ImageFromStream(stream)
index.append('007')
catalog['007'] = ImageClass()
catalog['007'].getData = get007Data
catalog['007'].getImage = get007Image
catalog['007'].getBitmap = get007Bitmap
#----------------------------------------------------------------------
def get008Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x08\
&IDATx\x9c\xcd\x98K\x8f\xdb\xe6\x19\x85\x9f\xefFR\xd4H\xa3\xd8\x9e\x91\x1d\
\xd8\x03\xd7\t\x90\x04p\r\x04\xde&\x7f\xa0\x7f\xa4\xcb\xae\xba\xee\xef\xe8\
\xbe(\xba)R\xf4\x024h\x82\x02A\x03\x14mjo\x8c4\xf1%q\xeazF\x9a\xa1"J#\x89\
\x92\xf8]\xba\xa0HIN\x80nC@w\x91\xdf\xd1y\xcf9\xef\xfbI\x00\x81\x1f\xc0\xa1\
\x01\xee\xdd\x7f\x9f(\x8a1&Bi\x8d\x92\n!\x15B\x08B\x08\xeca\r\xf5C\xd8\xbe\
\x11\xc4\xce\x87\x82\xef=\xc4\xfe\xd3\xb0\xb9\x0f!\xf0\xc9G\x1fT@\xa2(&IR\
\xa28i\xc0\xc8\x1a\x08\x01B x X\x9c[\xe1\xed\ngWX\xbb\xc2[\x8b\xb5%\xd6\x05\
\x02\x12\xa9"L\x94\x92\xb4;\x18\x13W\x0b\x0b\xb1\x03BTp\x05\x04\x1f\xf0\xc1m\
\x191&"\x8a\x13\x92\xa4\x85\x89\x13\xb4\x8ePR\xd6\xd0\xf1\xbe\x04W \x82%\x89\
"\x94j\xa1\x94\x02\xc0ZKY\x96\xacV+\x16\x8b\x05\xf3\xf9\x9c\xcb\xe9\x19\xf9\
\xe8\x94\xb4s\x85\xd7\xae\xf4I;\x87[\x18\xa2\x86#\x08\xc1\xe3\xbd\xdf\x02QZc\
L\x84\x89\x13\xa2h\xc3\x8aR\xd5\tn\x8eQ\x9e\xeeA\x8fv\xbbM\x92$DQ\x84\x10\
\x02\xef=\xeb\xf5\x9a\xd5jEQ\x14\x15\x88\xcbK\xf2<\'\xcfs\xc6\xe3\x01\xdff\
\xa7\x1c\xdf\xb8\xcd\xcd\x93\xb7\x10\xb2\x02\x80\xa8\x00\x85\xe0qv\x87\x11%\
\x15Jk\xb4\x8e*@&BJ\x81\x11\x05\x87\xbd\x98\xabW_\xa7\xd7\xeb\xd1\xedvI\xd3\
\x14\xad5\xde{\xac\xb5,\x97\xcb=\x10\x93\xc9\x84v\xbbM\xab\xd5"\x8a"\xb2,\
\xe3\xab/\x1f2\x9b\xe4\xbc\xf9\xce\xbb\xb4\xd2\x83\n\x08\x02B@\xc8\x1d B*\
\xa4T()QJ!\xa5 \xd1+\xae_\xebr\xfd\xfau\xfa\xfd>\xc7\xc7\xc7\xf4z=\x8c1{\x00\
f\xb3\x19EQ\xd0j\xb5H\x92\x848\x8e\x89\xa2\x08\xad5JU:s\xceq\xfa\xdf\'\x14\
\xcb\x82{\xf7\xdf#M;\x1b#x\xa4\x93;@\x84\xa8\x04\xb5\xa9\x9f\x11\x057\x8e\
\x0e\xb9u\xeb\x16\'\'\'\xdc\xb9s\x87~\xbf\x8f\x94\x92\xb2,\x99\xcf\xe7L\xa7S\
\x9cs\xa4i\n\x80\xf7\x9e\x10\xc2\xc6e \xa5lnB\x08\xa4\x94\x9c\x9f\x9f\xf1\
\xe4\xf3\x07\xdc\xbb\xff>BH@4\x86\xd3@u\x01\x02\x04\x10n\xcea/\xa6\xdf\xefsr\
r\xc2\xdd\xbbw9::j\x16+\xcb\xb2\xb9y\xefq\xce\x11B@)E\x1c\xc7\x08!\xd0Zc\x8c\
\xc1\x18\xd3\xb0\x13\xc71I\x920\x18\xbc\xe0\xf9\xb3G\xdc~\xe3\xee\xc6\x8d;\
\xa5acQ\xefK\x8c\xf2\\\xbd\xfa:\xfd~\x9f;w\xeeptt\xd4\xe4\x89s\x8e\xc9d\xc2t\
:e\xb1X\xb0\\.q\xce5 ^\x05\x10EQS\xaaZ\xe4J)F\xc3\x17\\\xb9v\x83\x83\x83C\
\xc2\xaek\x80*\'\\A\xf7\xa0G\xaf\xd7\xe3\xf8\xf8\x98~\xbfO\xcd\x98s\x8e,\xcb\
\x18\x8f\xc7,\x16\x0b\xd6\xeb5B\x88\x8d\xa6d#\xe0]0\xc6\x18\xe28n\x80\xd5\
\x96\x0f\xe1\x94qvJ\x9av\xf1>\xec\x03!XD\xb0\xb4\xdbm\xba\xdd.\xbd^\x0f)eC\
\x7f\x96e\x8cF#f\xb3\x19\xde{\xa4\x94\x84\x10\x90R6\x97\xa85\xa1\x94Bk\xfd\
\x1dV\xeas\x9cs\x0c\x86\x19\xab\xd5\x1c\xad\xe3\x1d \x01\x9c[\x91l(L\xd3\x14\
cL\xa3\x85\xc9d\xc2x<f6\x9b\x11Bh\x92\xb2\x16a\xad\x9f\xfa\xb5R\x8a\x10\x02\
\xde\xfb\x86\x95]\x07\xad\xd7k\xe6\xf39\xc5|B\xbb{m\x9f\x11oW(\xd5j\xc4e\xad\
e>\x9fS\x96e\xa3\x89z\xb1Wc\xbbf\xa3>v\xbfS3R\x83\xab\x13x:\x9d2\x99-\xf75\
\x12\x088\xbbjP{\xefY.\x97L\xa7S\xca\xb2l4Q/\xb6\xbbPm\xd7\xdd\x18\xd8\xb5n\
\xcd\x96R\n\xef=EQpyyI\xaf\xd7c:\x1f\xe2\xc3+b\xb5v\xd5\x9cd\xad\xa5(\n\x9cs\
\r\xa8z\xd1\xff\x07b\xb7<Z\xeb\xe6\xfbRJ\x9cst\xbb]:\x9d\x0e\x07\x07\x07\x18\
u\xde\\\xa3\xb1o\xd5E-\xeb\xf5\x9a\xe5r\xc9l6#MS\x9cs\x8dEw\x7f\xe5\xab v5\
\xb3\x0b\xa4\x06c\x8c\xc1{\xdf\xc4\x7f\x95\xc4\x11v\x0fH\x10X[6]\xb4(\n\x8a\
\xa2h\x16\xacA|\xdf\xf1\xe9\xbf\x9e\xd1\xeb\xb4\xf8\xf1\xdb7\x1bF\x94R\r\x10\
cLS\x16k-I\x92l[\x81\x89(\xab<\xdb)\x8d\x0b{]\xb4\xd5j\xe1\x9ckRQk\xdd\x94NJ\
\xc9rU\xf2\xc1\x87\x0fy9\xc80&\xe1\xf6\xad#^;l7 v\x83M)\x85s\xae1B\xd3\x87\
\xa4\x02\xbbi\tui\x02r;O\\^6\xcdl\xbd^7Z\xa9\xcb\xf1\xe4\xf99\xbf\xfc\xf5\'\
\x9c\x0eF\x08\x04\xce\xae\xf9\xed\x9f\x1f6,|_\x8e\xd4\xce\xd9\xed?B\xeamo\
\xdaT\x19\xa9\xa2\xbdV>\x9dN\x99\xcdf\xac\xd7k\xca\xb2\xc4Z\x8b\xf7\x9e\x8f?\
\xfd7\xbf\xfb\xf0\x9f\x94\xe5\xaa\x16\x08\x08\xc1\xe8\xdb\t\x7f\xf9\xdb\x17\
\xdfa\xa3\xbe\xd5\x8b\xd7\x01\xe9\x9c\xc3\xf9m\xb9\x9b\xd2\x98(\xad&\xab<\
\xa7\xddn\x13EQ\xf5\x85M\x9d\xf3\xcb%\x7f\xfd\xfbS\xf2\xc9\x0c!e5c\tY=\x17\
\x02!%\x0f\x1e}\xcd\xbbwo\xf3\xf6\x9b7\x9b\xdeR\x0fQ\xb5kjC\xacV+\xac\xe3U\
\xd7@\xd2\xee\x90\x8fN\xc9\xf3\x9cV\xab\x85\xd6\x1a)%\xc6\x18\x1e\x7f}\xc1\
\xa3\xa7\x17\x08@i\x83D\xc0+ \xaayF\xf1\x9b?>\xe0\x17?;!\x8ecZ\xadV\xa3\x8f\
\xb2,Y.\x97,\x16\x0b\x16\x8b\x05\xe3\xfc\xb2\x11\xea>#&&\xed\\a<\x1e4\x02\
\x0b\xc0\xa3\xc7g\x8c&kL\x94`\xa2V5D\xa9\x80\x04\x84\xd8\x04\x97RH\xa9QZ\x11\
\x82\xe7W\xbf\xff\x8c\x9f\xff\xf4\'h]i\xa0\x0e\xc5\xe9t\xda\x94|\xb6(\xf1a3\
\x14o5R\x1d\xaf]\xe9\xb3*=Y\x961\x1c\x0e\xf9\xf2\xc97\x8cF\x19\xf85\xceY\x9c\
+\xab\xf9\xc3o6\x13bg\xbaS\n\xa5\x0cZ\x1b^\x9c^\xf0\xc9?\x9e6 \xea9v<\x1e\
\x93\xe79/O\xcf\x99-\xec^\x0c4@\x84\x10\xa4\x9dC\x8eo\xdc\xe6\xfc\xfc\x9c\
\xc1`H1\x9f"\xc3\x1a-\x1d2\x94\x04\xef\x08\xc1\xe2\xbd\xab\xa29\xd4\xe7\xcaM\
y$JI\xb4R\xfc\xe9\xe3\xcfx\xfe\x9f\x01y\x9e\x93e\x19\xe7\xe7\xe7dYF\x96e|;Y`\
}\xf5K\x9a\xe4\xdd\x98\xa69n\x9e\xbc\xc5\xf1\xf5\x1fqqqN\x9e\x8fp\xb6\xc0HK\
\x12\x05\x8crH*0\x04O\x08\x0e6\x1b0A@V\x06\xc2(Hc\xc1\x1f>\xfa\x8c\x97/O9;;c\
0\x180\x1c\x0e\xf9\xea\x9b\x01\xd3Y\x89\xd8\x18\xee;\x1a\xa9m,\xa4\xe0\xcdw\
\xde\xa5X\x16\x8c\xb23\x928!\x8eb\xe28\xc2D1B\x01* \x94\xab\xa6\x7f\xe9\xd1\
\xd2c4\xc4&\x90$\x82vK\xd2I%\x91X\xf0\xc5\xe3g\x94\xab9\xc3\xe1\x90\xc7\xcf^\
0\xca\x8b\xc6\xf2\xdb}\xce\x0e\x10\xb1yS h\xa5\x07\xdc\xbb\xff\x1eO>\x7f\xc0\
\xc5\xc5\x8bMHI\x92\xd8\x90\xc4\x11J\x83\xd2\x02i$Z\x0b\x8c\x91\xc4\x91"i)Z\
\xb1$M\x04\x91\xb6\x04[r1\\0\x9d\xe6|\xf5\xcd\x80Q^\xe0\x83\xd8\xb0Q\x01\t\
\xbb\x8cl\xb5+\x1a\xb4i\xda\xe1\xde\xfd\xf7y\xfe\xec\x11\xa3\xe1\x0b\xe0|C\
\x7f\xe0\xa0\x03-\xa3\x88\x13C\x14\x05L\x14\x88#\x8f1\x0e\xad\x02n]0[\x94,\
\x8b\x05g\x83\x8c\xf1t\xc1tVn\xf63T\xd6\x17\xfb\xbdk3\x8fl\xd9\xd8>V\x81u\
\xfb\x8d\xbb\\\xb9v\x83qvJ6\x1a\xb3\\\x16\xf4\x8a\x05\xddn\x97v\xfb\x00\xd7J\
\xf06\xc6\xae\x14RH|\xa82#\xcfg\xcc\x8b\x92\xd9\xc2b\xfd\x86\x01\xb1\xbdn3X\
\x85\xbd\xd2\x84\xca\x92\xc1\x13\x82\xaf\xc6\xfc\xe0+\x86B\xe0\xe0\xe0\x904\
\xed\xb2ZU\xe3\xdd\xe5b\xc9\xac\xc80jD\x92DD&\xaa\xfe=\x90\x1a\xe7%\xd6A\xe9\
\xd8\xe4D\xcdt\xcd\xfd\xfe\xdf\x02{\xc9\x1aB\xb5+\xf7\xbe\xda\x8b\n\xe9\x90N\
\x12\x04\x95e\xbd\xc7\xfb\x80\xd61\xed\xee\xb5\xeau\xa8\x9a\xa0\r\xa1JH\xbb\
\xdd\\mg\x95M\xc1\xab\xdfS=\xb2\xfd(\x84\x00\xbe\x11\xc5\x0f\xe3\x8f\x9a\xff\
\x01k)\xae\n\xd5\xf2\r\xdb\x00\x00\x00\x00IEND\xaeB`\x82'
def get008Bitmap():
return BitmapFromImage(get008Image())
def get008Image():
stream = cStringIO.StringIO(get008Data())
return ImageFromStream(stream)
index.append('008')
catalog['008'] = ImageClass()
catalog['008'].getData = get008Data
catalog['008'].getImage = get008Image
catalog['008'].getBitmap = get008Bitmap
#----------------------------------------------------------------------
def get009Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xb7IDATx\x9c\xcd\x98\xdbn\xdbV\x16\x86\xbf}")\xca\x96\xd5$\xb6\x92\xa25\x82\
\xb4@Q \x08P\xe4r\xda\xbby\xdfy\x81\xb9\x9a\x07\xe8\xdc\x14\x05f\x82\x16-2ud\
\x97\x8a$\x8a\xe2A\xdc\x87\xb9\xe0A\x92;\xc0\xdc\x96\x00MK"\xb9?\xae\xf5\xaf\
\x7f\xafM\x01\x04\xfe\x04\x9b\x06x\xf3\xf6;\xa2(\xc6\x98\x08\xa55J*\x84T\x08\
!\x08!p\xc6\x1a\x86C8~\x11\xc4\xc9\x8f\x82\xff\xb9\x89\xf3\x7fC\xff7\x84\xc0\
?\xfe\xfe\xb7\x0e$\x8ab\x92$%\x8a\x93\x11F\x0e \x04\x08\x81\xe0\x81`q\xae\
\xc1\xdb\x06g\x1b\xacm\xf0\xd6bm\x8bu\x81\x80D\xaa\x08\x13\xa5$\xd3K\x8c\x89\
\xbb\x81\x858\x81\x10\x1d\xae\x80\xe0\x03>\xb8cD\x8c\x89\x88\xe2\x84$\x99`\
\xe2\x04\xad#\x94\x94\x03:\xde\xb7\xe0*D\xb0$Q\x84R\x13\x94R\x00Xki\xdb\x96\
\xa6i(\xcb\x92\xfd~\xcf.\xff\xc0fuGz\xf9\x84O\x9e,H/\xaf\x8e\x18b\xc0\x11\
\x84\xe0\xf1\xde\x1fA\x94\xd6\x18\x13a\xe2\x84(\xea\xa3\xa2Tw\x81\xdbc\x94gv\
1g:\x9d\x92$\tQ\x14!\x84\xc0{\xcf\xe1p\xa0i\x1a\xaa\xaa\xea v;6\x9b\r\x9b\
\xcd\x86\xf5z\xc9\xc7\xec\x8e\x9b\x17/\xf9\xec\xf6+\x84\xec\x00\x10\x1dP\x08\
\x1egO"\xa2\xa4Bi\x8d\xd6Q\x07d"\xa4\x14\x18Qq5\x8fy\xfa\xf4S\xe6\xf39\xb3\
\xd9\x8c4M\xd1Z\xe3\xbd\xc7ZK]\xd7g\x10\xdb\xed\x96\xe9t\xcad2!\x8a"\xb2,\
\xe3\xe7\x7f\xfd\x93b\xbb\xe1\xcb\xaf\xbfa\x92^t \x08\x08\x01!O@\x84TH\xa9PR\
\xa2\x94BJA\xa2\x1b\x9e?\x9b\xf1\xfc\xf9s\x16\x8b\x05777\xcc\xe7s\x8c1g\x00E\
QPU\x15\x93\xc9\x84$I\x88\xe3\x98(\x8a\xd0Z\xa3T\xa73\xe7\x1cw\xffyGUW\xbcy\
\xfb-iz\xd9\x17\x82G:y\x02"D\'\xa8>\x7fFT\xbc\xb8\xbe\xe2\xf3\xcf?\xe7\xf6\
\xf6\x96W\xaf^\xb1X,\x90R\xd2\xb6-\xfb\xfd\x9e<\xcfq\xce\x91\xa6)\x00\xde{B\
\x08}\x95\x81\x94r\xdc\x85\x10H)yx\xf8\xc0\xbb\x1f\xbf\xe7\xcd\xdb\xef\x10B\
\x02b,8\rt7 @\x00\xe1\xf6\\\xcdc\x16\x8b\x05\xb7\xb7\xb7\xbc~\xfd\x9a\xeb\
\xeb\xebq\xb0\xb6m\xc7\xdd{\x8fs\x8e\x10\x02J)\xe28F\x08\x81\xd6\x1ac\x0c\
\xc6\x981:q\x1c\x93$\t\xcb\xe5{~\xf9\xe9\x07^~\xf1\xba\xaf\xc6\x93\xd4\xd0\
\x97\xa8\xf7-Fy\x9e>\xfd\x94\xc5b\xc1\xabW\xaf\xb8\xbe\xbe\x1e\xfd\xc49\xc7v\
\xbb%\xcfs\xca\xb2\xa4\xaek\x9cs#\xc4c\x80(\x8a\xc6T\r"WJ\xb1\xba\x7f\xcf\
\x93g/\xb8\xb8\xb8"\x9cV\r\xd0\xf9\x84\xab\x98]\xcc\x99\xcf\xe7\xdc\xdc\xdc\
\xb0X,\x18"\xe6\x9c#\xcb2\xd6\xeb5eYr8\x1c\x10B\xf4\x9a\x92\xa3\x80Oa\x8c1\
\xc4q<\x82\r%\x1f\xc2\x1d\xeb\xec\x8e4\x9d\xe1}8\x07!XD\xb0L\xa7Sf\xb3\x19\
\xf3\xf9\x1c)\xe5\x18\xfe,\xcbX\xadV\x14E\x81\xf7\x1e)%!\x04\xa4\x94\xe3-\
\x06M(\xa5\xd0Z\xff!*\xc35\xce9\x96\xf7\x19M\xb3G\xeb\xf8\x04$\x80s\rI\x1f\
\xc24M1\xc6\x8cZ\xd8n\xb7\xac\xd7k\x8a\xa2 \x840:\xe5 \xc2A?\xc3g\xa5\x14!\
\x04\xbc\xf7cTN+\xe8p8\xb0\xdf\xef\xa9\xf6[\xa6\xb3g\xe7\x11\xf1\xb6A\xa9\
\xc9(.k-\xfb\xfd\x9e\xb6mGM\x0c\x83=\xb6\xed!\x1a\xc3vz\xce\x10\x91\x01np\
\xe0<\xcf\xd9\x16\xf5\xb9F\x02\x01g\x9b\x91\xda{O]\xd7\xe4yN\xdb\xb6\xa3&\
\x86\xc1N\x07\x1a\xca\xf5\xd4\x06NKw\x88\x96R\n\xef=UU\xb1\xdb\xed\x98\xcf\
\xe7\xe4\xfb{|x$Vk\x9b\xf1"k-UU\xe1\x9c\x1b\xa1\x86A\xff\x1f\xc4iz\xb4\xd6\
\xe3\xf9RJ\x9cs\xccf3.//\xb9\xb8\xb8\xc0\xa8\x87\xf1\x1ec\xf9v\xb3\xa8\xe5p8\
P\xd75EQ\x90\xa6)\xce\xb9\xb1DO\x9f\xf21\xc4\xa9fNA\x06\x18c\x0c\xde\xfb\xd1\
\xfe;\'\x8e\xb0g A`mKU7\xdc-?\xb2\\[<\xbf\x10\x84\xecLN\x88\xbe?\x91\xc7\x89\
\xebd\xfb\xeb_\xbefq}5FD)5\x82\x18c\xc6\xb4XkI\x92\xe48\x15\x98\x88\xb6\xf3\
\xb3\x93\xd4\xb8@S\xd7\x14\xfb\x82vg)[\x81\xf3\x02\x10H\xa5Q\xaa\x0f\xb3\x90\
G\x90\xfe\xd0\xb4\xee,\x12J\xa93cSJ\xe1\x9c\x1b\x0ba\x9c\x87\xa4\x02\xfb(5\
\x01IUW\xc4uE\x90\x02w\x10X/@*\xb4\x90H\xe1A\xaa\xae\xad\xe9\xe7\xa5\x01\xe8\
q:\x1e\xfb\x88\xd6\x1a\xe7\x1cu]\x9f\xcd?B\xea\xe3\xdc4<\x9aT\x11\xe5\xbe\
\xa4\xa9+l[\xe3\xdd\x81\xd66xg\xbb\xdd{B\xaf\xf0p\xda:\n\x81\xec\xd31@<\xb6\
\xf9\xc1\xcc\x86\x8a\x1ct\xe7\xfc\xb1\xe4\xc7\xd4\x98(\xa5\xc8?\x90LR&S\x85w\
\x9a`%6\xf4\xe9\x10\xb2?v\x95#\x10\xbdf$\xba\x1fx\x80\x18&\xb8\x01b\x10\xb1s\
n,\x88\xa6i\xb0\x8e\xc7U\x03\xc9\xf4\x92\xcd\xea\x8eb\x97#\x95\x06\x99\x10\
\xbc\xc2\x07\x10B!\xa5FJG\x90\x12I\x0f\xd7?\xa5VzL\x811f\x14\xe3d2\x19\xf5\
\xd1\xb6-u]S\x96%eY\xb2\xde\xecF\xa1\x9eG\xc4\xc4\xa4\x97O\xd8n\x96(\xad\x89\
\x13\x0f"&\x08pv(\xddN`R\x05$ D\x97o\xfd(\rQ\x141\x99L\xd0\xba\xd3\xc0`\x8ay\
\x9e\x93\xe79EQP\x94->\xf4M\xf1Q#\xdd\xf6\xc9\x93\x05\x07\xeb\xd9\xac\xd7T\
\xe5\x0e\\\x83\x0c-\xf8\x03\xceY\x9ck\xbb\xfe\xc3\xf7*\x11]wg\x8c\xfe\x03\
\xc8`\xe9m\xdb\x8e}\xecz\xbdf\xb3\xd9\xf0\xdb\xdd\x03Ei\xcf,`\x04\x11B\x90^^\
q\xf3\xe2%Y\xf6;\xeb\x8f+\x9a\xba@\x86\x03Z:dh\t\xde\x11\x82\xc5{\xd7Ys\xafY\
)\xd5\x1f\x0cl\xa8\x92\xcdfC\x96e<<<\x90e\x19Y\x96\xf1q[b}\xf7$\x83\x19\xeaS\
?\x00\xf8\xec\xf6+\x8a\xed\x86\xbb\xff\xbcCH\xc1u\xd4\xcf\x9eQ H\x87\xa0\x83\
!hBp\x104\xde\xbb\xb1\x12\x9a\xa6\x19[\xca\xb2,\xd9l6<<<\xb0\\.\xb9\xbf\xbf\
\xe7\xe7_\x97\xe4E;\xb6\xa6\x83A\x1f\xfb\x91\x9eHH\xc1\x97_\x7fCUW\xac\xb2\
\x0f$qB\x1c\xc5\xc4q\x84\x89b\x84\x02T@(\xd7u\xff\xd2\xd3\xf4]\xfc0\'\r\xd1\
\xc8\xf3\x9c\xf5zM\x96e\xdc\xdf\xdf\xf3\xef\x9f\xde\xb3\xdaT\xbd\x0f\t\x8e\
\xeb\x9c\x13\x10\xd1\x7f)\x10L\xd2\x0b\xde\xbc\xfd\x96w?~\xcf\xef\xbf\xbf\
\xef\xfdA\x92\xc4\x86$\x8eP\x1a\x94\x16H#\xd1Z\xb0\xdbmX.\xc5\xd8HYkGq\x0e\
\xa9\xf9\xf9\xd7%\xabM\x85\x0f\x9d\r\x8a\x1edp$=d&\x0c9\xeai\xd3\xf4\x927o\
\xbf\xe3\x97\x9f~`u\xff\x1ex@\x10\x90"pq\t\x13\xa3\x88\x13C\x14\x05V\xd9=M\
\x95\x8f^q8\x1c(\xcb\x92\xa2(\xf8\xed\xee\x81\x8f\xdb\x92\xbch\xfb\xf5\x0cG_\
:\xd9\xfa~\xe4\x18\x8d\xe3\xb13\xac\x97_\xbc\xe6\xc9\xb3\x17\xac\xb3;\xb2\
\xd5\x9a\xba\xae\x98W%\xb3\xd9\x8c\xe9\xf4\x027I\xb8\xfb\xad9\x13i\xd34\xac7\
;\x8a\xb2\xa5(-\xd6\xf7\x11\x10\xc7\xfb\x8e\x8d\xd5\xb9FBW\x92\xa1\xb7\xf1\
\x10z;\xef\xd4tqqE\x9a\xceh\x9a\xae\xbd\xdb\x955E\x95a\xd4\x8a$\x89\x88L\xd4\
\xcd\xceR\xe3\xbc\xc4:h\x1d\xbdO\x0c\x91\x1eb\x7f\xfeZ\xe0\xccYC\xe8V\xe5\
\xdewkQ!\x1d\xd2I\x82\xa0+Y\xef\xf1>\xa0u\xcct\xf6\xac\xfb\x1c\xba\x05\x95\r\
\xa1sH{\\\\\x1d{\x95>\xe1}u\x08q\xf2\x82#\xf4\xe7\xf9Q\x14\x7f\x8e\x175\xff\
\x05g\'\x93\xa3\xa4\x98\xbd\xac\x00\x00\x00\x00IEND\xaeB`\x82'
def get009Bitmap():
return BitmapFromImage(get009Image())
def get009Image():
stream = cStringIO.StringIO(get009Data())
return ImageFromStream(stream)
index.append('009')
catalog['009'] = ImageClass()
catalog['009'].getData = get009Data
catalog['009'].getImage = get009Image
catalog['009'].getBitmap = get009Bitmap
#----------------------------------------------------------------------
def get010Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x08\
\x1eIDATx\x9c\xcd\x98[\x8f\x1c\xc5\x19\x86\x9f:\xf4az\x0e;\x18\xef\x8e\x1d\
\xf0b\xd6D\x80p6A\x86(R\xec\x08\t)\x8a\x14\xfe_~\x00\xcae\x84r\x97\x8b\\D(\
\x17\x91"\xf0\rB"\x96-\xc0\xb0\xde\xd9\x9d\xf5\x9cz\xfa\\U\xb9\xe8\xc3\xcc\
\xd8\xfc\x00J\xaa\x9d\x9d\xd9\xe9\xaeg\xbfz\xbf\xf7\xfb\xaa\x05\xe0\xf8\x19\
\x0c\rpz\xef\x01\xbe\x1f\xe0y>Jk\x94T\x08\xa9\x10B\xe0\x9cc\x8f\xd5\xb5/n\
\xfb\x81\x13;\x7f\x14\xfc\xe4\x10\xfb\xbf\xba\xe6\xa7s\x8e\xcf\xff\xf9Y\r\
\xe2\xfb\x01a\x18\xe1\x07a\x07#[\x10\x1c8\x87\xb3\x80\xab0&\xc7V9\xa6\xca\
\xa9\xaa\x1c[UTUIe\x1c\x0e\x89T>\x9e\x1f\x11\xf6\x87x^P/,\xc4\x0e\x84\xa8q\
\x058\xeb\xb0\xcel#\xe2y>~\x10\x12\x86=\xbc Dk\x1f%e\x8b\x8e\xb5%\x98\x14\
\xe1*B\xdfG\xa9\x1eJ)\x00\xaa\xaa\xa2,K\xf2<\'I\x126\x9b\r\xeb\xd53\x16WgD\
\xc3k\xbcrmB4<\xd8b\x88\x16G\xe0\x9c\xc5Z\xbb\x05QZ\xe3y>^\x10\xe2\xfbMT\x94\
\xaa/0\x1b<e\x19\r\xc6\xf4\xfb}\xc20\xc4\xf7}\x84\x10Xk)\x8a\x82<\xcfI\xd3\
\xb4\x86X\xafY,\x16,\x16\x0b\xe6\xf3s\x9e\xcf\xce8\xbay\x9b\xd7\x8f\xdfF\xc8\
\x1a\x00Q\x039g1\xd5ND\x94T(\xad\xd1\xda\xaf\x81<\x1f)\x05\x9eH9\x18\x07\xbc\
\xfa\xea/\x18\x8f\xc7\x8cF#\xa2(Bk\x8d\xb5\x96\xaa\xaa\xc8\xb2l\x0fb\xb9\\\
\xd2\xef\xf7\xe9\xf5z\xf8\xbe\xcfl6\xe3\xc97\x0f\x89\x97\x0b\xdez\xf7}z\xd1\
\xa0\x06A\x80s\x08\xb9\x03"\xa4BJ\x85\x92\x12\xa5\x14R\nB\x9ds\xe3\xfa\x88\
\x1b7n0\x99L8::b<\x1e\xe3y\xde\x1e@\x1c\xc7\xa4iJ\xaf\xd7#\x0cC\x82 \xc0\xf7\
}\xb4\xd6(U\xeb\xcc\x18\xc3\xd9\x0f\x8fH\xb3\x94\xd3{\xf7\x89\xa2a\x93\x08\
\x16i\xe4\x0e\x88\x10\xb5\xa0\x9a\xfd\xf3D\xca\xcd\xc3\x03n\xdd\xba\xc5\xf1\
\xf11\'\'\'L&\x13\xa4\x94\x94e\xc9f\xb3a\xb5Za\x8c!\x8a"\x00\xac\xb58\xe7\
\x9a,\x03)e7\x85\x10H)\xb9\xb8x\xc6\xa3\xaf\xbf\xe4\xf4\xde\x03\x84\x90\x80\
\xe8\x12N\x03\xf5\rp\xe0@\x98\r\x07\xe3\x80\xc9d\xc2\xf1\xf11w\xef\xde\xe5\
\xf0\xf0\xb0[\xac,\xcbnZk1\xc6\xe0\x9cC)E\x10\x04\x08!\xd0Z\xe3y\x1e\x9e\xe7\
u\xd1\t\x82\x800\x0c9?\x7f\xca\xb7\x8f\xbf\xe2\xf6\x9d\xbbM6\xeel\rM\x8aZ[\
\xa2\xa4a8<b0\x1csrr\xc2\xe1\xe1a\xe7\'\xc6\x18\x96\xcb%\xab\xd5\x8a$I\xc8\
\xb2\x0ccL\x07\xf1"\x80\xef\xfb\xddV\xb5"WJq5}\xca\xb5\xeb7\x19\x0c\x0ep\xbb\
Y\x03\xd4>aR\x86\xfd\x11a\xafO^)\xbe\xf9~\xcd\x1bo\xd0A\xccf3\xe6\xf39I\x92P\
\x14\x05B\x88FS\xb2\x13\xf0.\x8c\xe7y\x04A\xd0\x81\xb5)\xef\xdc\x19\xf3\xd9\
\x19Q4\xc2Z\xb7\x0f\x82\xab\xc0\x96\x84\xe1\x04\xe5\x05\x94V1\xbd\\\xf2\xe9\
\xdf\x1fr\xef\xbd\t\xaf\xf4\x05WWW\xc4q\x8c\xb5\x16)%\xce9\xa4\x94\xdd-ZM(\
\xa5\xd0Z\xbf\x14\x95\xf6\x1ac\x0c\xe7\xd3\x19y\xbeA\xeb`\x07\xc4\x8119\x81\
\xe7!\x95\xa62\x828)\xd8\x14\x0b\xd6\x9b)_|\xf1_^\x9f\x1c\xf0\xe1\xaf^\xc3\
\xf7T\xe7\x94\xad\x08[\xfd\xb4\xef\x95R8\xe7\xb0\xd6vQ\xd9\xcd\xa0\xa2(\xd8l\
6\xa4\x9b%\xfd\xd1\xf5\xfd\x88\xd8*G\xaa\x00P\xa4E\x85-cJ\x93\x91\xa4)\xf1z\
\xcd\xc3\x8b)\x8f\xbf\xfd\x91?\xfd\xe1=\x8e\xae\x8f\xf6l\xbb\x8dF;vA\xdb\x88\
\xb4p\xad\x03\xafV+\x96q\xb6\xaf\x11\x87\xc3T9RH\x8c\xb5$INn\x1c\xa5\x81,\
\xcb\xc9\xb2\x94\xaa,\xb9z\xbe\xe0\xd3\xcf\xfe\xcdG\xbf{\x8f\x0fNo\xef\x14\
\xc5-@\x1b\x95v\xb6\xd1RJa\xad%MS\xd6\xeb5\xe3\xf1\x98\xd5f\x8au/\x88\xb5\
\xaar\x1cP\x14%\xa6\xcaH\xcb\x82\xca@YV\x94e\x81u\x8ev\xcd\x7f\xfd\xe7k\xbe\
\x7f6\xe7\xcf\x1f\xdd%\x08\xbc=\x88\xdd\xed\xd1Zw\xd1\x91Rb\x8ca4\x1a1\x1c\
\x0e\x19\x0c\x06x\xeab\xeb;m\xfa\xd6U\xb4\xa2\xc8\x0b\xd24%I\x12\xd24\xa3(rL\
U5\xc5\xc9\xd1T-\x9e|\xf7\x8c\xbf\xfc\xf5s\x9e\x9e=\x7fI3\xbb \xad\x7f\xf4\
\xfb}\xa2(\xea\xec\xbfvb\x1f\xf6@\x9c\xa0\xaaj\x93*\xca\x82"\xcf)\xf2\x8c"\
\xcf(\x8bb\xc75\xa9/t\xdb(\xfe\xed\x1f\x0f\xc9\xf2r/"J\xa9\x0e\xa4\x15k\x18\
\x86]\x19\xe8J\x81\xe7w]\xcdvk\x8c\xab\x01\x8a\x9c\xd2\n\xcaR`\xac\x00\x04Ri\
\x94\x92\x8d\x9aD]\t\x9a\x1e\xe8\xc1\x87o\xd1\x0b\xfd\xbdH(\xa5\xf6\x8cM)\
\x851\xa6s\xd9\xae\x0eI\x05\xd5\x9e\x8f\xd4MM\x9a\xa5\x04Y\x8a\x93\x02S\x08*\
+@*\xb4\x90HaA\xaa\xba\xadi\xea\xd2\x9d7n\xf2\xdb\xdf\x9c\xbc\xa4\x8b\x17}Dk\
\x8d1\x86,\xcb\xf6\xea\x8f\x90\xba\xd3H\x03"\x90\xca\'\xd9$\xf4z)\xd2\x93X\
\xa3(\r(\xe5c\xa5\xc2\n\x89\x14\x02!\x14\x0e\xc7h0\xe2\x93\x8f\x7f\xdd\xddt\
\x17\xe2E\x9b\xd7Z\x93\xe7y\xd7\xc3\x18c\xeai\xb7)\xdfm\x8d\xe7G\xc4\xabg\
\x84\xbd\x88^_a\x8d\xc6U\x92\xca\t\x10\xb2\xae\x96B"\x84C\x08\xc1\'\x1f\x9f\
\xd2\x8f\xc2\xbd\xedh!ZM\xb4 m\xc4\x8c1uB4\xcdTex1"\x10\xf6\x87,\xae\xce\x88\
\xd7+\xa4\xd2 C\x9cUX\x07B(\xa4\xd4HipR\xf2\xfb\x0f\xde\xe1\xcd[\x87/\x01\
\xb4\xe2l\xc5\xd8\xeb\xf5:}\x94eI\x96e$IB\x92$\xcc\x17kJ\xc3OD\xc4\x0b\x88\
\x86\xd7X.\xceQZ\x13\x84\x16D\x80\x13`*\xd5\xec\xad\xe2\xb5\xd7&<\xf8\xf0\
\x97]\xa1k\xe7\xeeV\xf8\xbeO\xaf\xd7C\xebZ\x03eYvn\xbaZ\xad\x88\xe3\x988)\
\xb1\xaei\x8a\xb7>R\x8fW\xaeM(*\xcbb>\'M\xd6`r\xa4+\xc1\x16\x18S!\xa4\xe0\
\x8f\xf7\xdf\xe9\x1a\xde\xdd\xdec\x17\xa2\xcd\x94\x16\xa2\xedc\xe7\xf39\x8b\
\xc5\x82\x1f\xcf.\x88\x93jw\xe9-\x88\x10\x82hx\xc0\xd1\xcd\xdb\xccf\x97\xcc\
\x9f_\x91g1\xd2\x15hi\x90\xae\xe4\xfe\x07o\x12\xfa\x8a\xaa38^\xf2\x8d\xd6M\
\xdb,Y,\x16\xccf3...\x98\xcdf\xccf3\x9e/\x13*[\'Ik\x86\xbaI\x9an\xbc~\xfc6\
\xf1r\xc1\xd9\x0f\x8f\x10Rp\xe8\xd7\xe2\xbbqs\xc4A\xa4X\xaf\xd7\xdd\xc2RJ<\
\xcf\xdb\xcb\x84<\xcf\xbb\x962I\x12\x16\x8b\x05\x17\x17\x17\x9c\x9f\x9f3\x9d\
Ny\xf2\xdd9\xab\xb8\xecZ\xd3\xb6ll\xfb\x91\x86HH\xc1[\xef\xbeO\x9a\xa5\\\xcd\
\x9e\x11\x06!\xbd0\xc4W%\x97\x97\x97]\xa1k\x17o\xbby\xdf\xf7\xc9\xb2l/\x1a\
\xab\xd5\x8a\xf9|\xcel6c:\x9d\xf2\xbf\xc7O\xb9Z\xa4\x8d\x0f\t\xb6\xe7\x9c\
\x1d\x10\xd1|(\x10\xf4\xa2\x01\xa7\xf7\xee\xf3\xe8\xeb/\xb9\xbc|\x8a\xef{\
\xf4B\x1f\x01\xdd\x7f\x9d\xa6)\xa3\xd1\xa8;\xebh\xad\x91Rv`\xad8\xdb\xady\
\xf2\xdd9W\x8b\x14\xebjg\x16\r\xc8\x9e\xc5o\xb5+:\xda(\x1arz\xef\x01\xdf>\
\xfe\x8a\xab\xe9S\x9c;\xeb\x9a\x9a$IX\xaf\xd7\x0c\x87\xc3\xae~\xb4 \xbb\xdf\
\x89\xe3\x98\x1f\xcf.x\xbeLX\xc5es\x9ea\xebK;\xa3\xe9G\xb6\xd1\xd8\xbe\n\x84\
\x90\xdc\xbes\x97k\xd7o2\x9f\x9dq>\x9duG\x89\xf1x\xcc`0\xa0\xd7\xeb\xbd\xd4\
\x81\xe5y\xce|\xb1&NJ\xe2\xa4\xa2\xb2M\x04\xc4\xf6\xbe]c\xb5\xaf\x11\x87\xb3\
\x0e\xe7,\xce\xd9\xba\xcdw\x96VM\x83\xc1\x01Q4"\xcf\xeb\xf6n\x19g\xac6S<uA\
\x18\xfa\xf8\x9e_?=\x90\x1ace\xdd\xc7\x18\x1a\x9fh#\xdd\xc6~\xff\xb1\xc0\x9e\
\xb3:W\x9f\xca\xad\xad\xcf\xa2B\x1a\xa4\x918\x01\xce\x1a\x9c\xb5X\xeb\xd0:\
\xa0?\xba^\xbfwukP\xb9\xba\x93\xa3\xda\x1e\xae\xb6][\xb3\xe1Mv\x08\xb1\xf3\
\x80\xc35\xdf\xb3\x9d(~\x1e\x0fj\xfe\x0f\t\\\xaa\xf77\xc3\x82f\x00\x00\x00\
\x00IEND\xaeB`\x82'
def get010Bitmap():
return BitmapFromImage(get010Image())
def get010Image():
stream = cStringIO.StringIO(get010Data())
return ImageFromStream(stream)
index.append('010')
catalog['010'] = ImageClass()
catalog['010'].getData = get010Data
catalog['010'].getImage = get010Image
catalog['010'].getBitmap = get010Bitmap
#----------------------------------------------------------------------
def get011Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xeeIDATx\x9c\xcd\x98Yo\x1b\xe7\x15\x86\x9fo\x99\x85\xc3E\x12\xedH\xb6\x93\
\xb8vm\xc7\r\x1a\x18\x08|Q\xa0H.\xd2?\xdc?\xd0\xab\xfe\x80\x04(\x82\x04\x8d\
\x12\xc7\x86c\x89\xa4)q\x9f\xf5[z1\x8bH9\xbd\x0f\x81\xe1\x88\xe4h\xe6\x99s\
\xde\xf3\x9e\xf3\x8d\x00<\x7f\x80\x97\x06x\xf1\xf2k\xc20"\x08B\x94\xd6(\xa9\
\x10R!\x84\xc0{\xcf\x01\xabow\xfe\xe6\x0b/\xf6~\x14\xfc\xeeK\x1c\xfe\xe9\x9b\
w\xef=\xff\xfe\xd7?k\x900\x8c\x88\xe3\x840\x8a;\x18\xd9\x82\xe0\xc1{\xbc\x03\
\xbc\xc1\xda\x02g\n\xac)0\xa6\xc0\x19\x831\x15\xc6z<\x12\xa9B\x820!\xee\x0f\
\t\x82\xa8\xbe\xb0\x10{\x10\xa2\xc6\x15\xe0\x9d\xc7y{\x13\x91 \x08\t\xa3\x98\
8\xee\x11D1Z\x87()[t\x9c\xab\xc0f\xe0*\xe20@\xeb\x1eJ)\x00\x8c1TUEQ\x14\xa4i\
\xcan\xb7c\xb3\xbedyuA2\x1cs2>#\x19\x1e\xdd`\x88\x16G\xe0\xbd\xc39w\x03\xa2\
\xb4&\x08B\x82(&\x0c\x9b\xa8(U\xff\x83\xdd\xa1\xa4e\xd8\x1f\x11\xc7gH\x15pr4\
@J\x89s\x8e\xb2,)\x8a\x82,\xcbj\x88\xcd\x86\xe5r\xc9r\xb9d\xb1\x98p=\xbf\xe0\
\xf4\xfe#>y\xf8\x1c!k\x00D\r\xe4\xbd\xc3\x9a\xbd\x88(\xa9PZ\xa3uX\x03\x05!R\
\n\x02\x911:\n\x19\x8dN\x89{}T\x10a\x9c\xe0\xec\xee\t\xe3\xe3\x04c\x0cy\x9e\
\x1f@\xacV+\xfa\xfd>\xbd^\x8f0\x0c\x99\xcf\xe7\xbc\xfa\xefwlWK\x9e~\xfe%\xbd\
dP\x83 \xc0{\x84\xdc\x03\x11R!\xa5BI\x89R\n)\x05\xb1.8\xbd3\xe4\xe4\xe4\x0e\
\xc9\xe0\x08\x1d$TN\xb1MKr\x17\xf1\xe9\xa7\x9f\x92e\x19\xdb\xed\x96,\xcb\xe8\
\xf5z\xc4qL\x14E\x84a\x88\xd6\x1a\xa5j\x9dYk\xb9\xf8\xed\x9c,\xcfx\xf1\xf2+\
\x92d\xd8\x14\x82CZ\xb9\x07"D-\xa8&\x7f\x81\xc88\x1d\x0f9=\xbd\xcf\xe8\xf8\
\x0eq\xff\x04\xa1\x13v\x99aW.y\xf3\xee\x9a\x7f\xfc\xbd\x8f\xb5\x96$I\x00p\
\xce\xe1\xbdo\xaa\x0c\xa4\x94\xdd&\x84@J\xc9lv\xc9\xf9\x0f\xdf\xf2\xe2\xe5\
\xd7\x08!\x01\xd1\x15\x9c\x06\xea\x13\xe0\xc1\x83\xb0;FG!\'\xe3;\x0c\x8f\xee\
p4~@\xdc\x1fc\xbcf\x95\xce\xd8\xec\n\xd2,\xe3\x87\xf3w<\xf8\xa8\x86\xf1\xde\
\xa3\x94"\x8a"\x84\x10h\xad\t\x82\x80 \x08\xba\xe8DQD\x1c\xc7L&oy\xfd\xcb\
\xf7<z\xf2ES\x8d{\xa9\xa1)Q\xe7*\x94\xb4\x8cF\xa7$\x83#z\x83\x13\xe2\xfe\x98\
\xb07b\xfa\xee\x92\xcb\xcb\tWWs\xb6\x9b\r\xff\xf9\xf15\xe3\xe1\x13\xac\xb5\
\x1d\xc4m\x800\x0c\xbbT\xc5qL\x18\xd6Ep5}\xcb\xf8\xee}\x06\x83#\xfc~\xd5\x00\
\xb5O\xd8\xac\xae\x8e^\x1f\x1d$\x08\x9d`\xbcf\xfa\xee\x92\xd7\xbf\xbe\xe1\
\xfd\xfb\x19\x9b\xcd\x9a<\xcf\xf8\xf1\xa7\xdf\xf8\xe6oO\x1bMI\xb4\xd68\xe7\
\x0e`\x82 \x8a\xa2\x0e\xac-y\xef/X\xcc/H\x92\x11\xce\xf9C\x10\xbc\xa9}">C\
\x05\x11\x95S\xec2\xc3*\x9dqy9\xe1\xfd\xfb\x19\xeb\xf5\x8a,K\xb1\xb6\x0e\xe7\
\xcfo\xde\xf3\xf4O\x1fu\xa7h5\xa1\x94Bk\xfdAT\xa4\x94x\xef\xb1\xd62\x99\xce)\
\x8a\x1dZG{ \x1e\xac-\x88\x82\x00\xa94\xc6\n\xb6i\xc9\xae\\\xb2\xd9\x15\\]\
\xcd\xd9l\xd6dY\xda\x88\xb2\xb6\xf8\x9f\xdf\xbc\xe7\xf9\x9f\xefubmE\xa9\x94\
\xc2{\x8fs\xae\x8b\xca~\x05\x95e\xc9n\xb7#\xdb\xad\xe8\x8f\xee\x1eF\xc4\x99\
\x02\xa9"@\x91\x95\x06Wm\xa9lN\x9ael7\x1b\xf2<k\x84\xd9\x90#8\xffu\x06\xdf\
\xdcD\xa3\xb3\xf1\xc6\xd2\x85\x10]DZ\xb8\xd6\x81\xd7\xeb5\xabm~\xa8\x11\x8f\
\xc7\x9a\x02)$\xd69\xd2\xb4\xa0\xb0\x9e\xcaB\x9e\x17\xe4y\x86\xa9*\xdac\xdb\
\x0efL\xc1\xf9\xeb\x19\xcf\x1e\x9dv\x17n\xa3\xd2nm\xb4\x94R8\xe7\xc8\xb2\x8c\
\xcdf\xc3\xf1\xf11\xeb\xdd\x14\xe7o\x89\xd5\x98\x02\x0f\x94e\x8559YUb,T\x95\
\xa1\xaaJ\x9c\xf7M48\xe8\xa4\xe7\xaf\xa7<{t\xdaA\xec\xa7Gk\xddEGJ\x89\xb5\
\x96\xd1h\xc4p8d0\x18\x10\xa8\xd9\x8d\xef\xb4\xe5[wQCY\x94dYF\x9a\xa6dYNY\
\x16Xc\x9a\xe6\xe4A\x1c\xb6\xf9\x9f^\xcd\x0eRq[\xb0\xad\x7f\xf4\xfb}\x92$\
\xe9\xec\xbfv\xe2\x90\xf6\xee\x1a\xb1\n\x8c\xa9\xa8\xaa\x8a\xb2*)\x9d\xa4,\
\xc1\xbaZ\xe5\xb5\xeb\xd6N(\xda\xd44<\x0f?\x1e\xb3\xdaf\x1c\x0f\x93."J\xa9\
\x0e$\x08\x82.-\xc6\x18\xe28\xbei\x05AHU\x17\xe0^j\xac\xa7,\n\xca\xb2\xa0r\
\x82\xaa\x12X\'\x00\x81T\x1a\xa5$\xe0\xd1A\xc4g\x8f\xef\xf1\xec\xf1\x19\x0f\
\x1f\x8c\x89\xa3\xe0\x83H(\xa5\x0e\x8cM)\x85\xb5\xb6s\xd9\xae\x0fI\x05\xe6\
\xc0G\xea\xa1&\xcb3\xa2<\xc3K\x81-\x05\xc6\t\x90\x8a8\x88\xf9\xec\xc9\xc7\
\xfc\xe5\xc9}>{|\xaf\xeb\x1f\xffO\x17\xb7}Dk\x8d\xb5\x96<\xcf\x0f\xfa\x8f\
\x90\xba\xd3\x88n\xd5\'UH\xbaK\xe9\xf52d \x81\x88\x07\xf7\xc6<{\xfc\t\x7f}\
\xfe\xb0k\xeb\xfb%\xda\x02\xb4\xe9h!n\xdb\xbc\xd6\x9a\xa2(\x10B\xe0\x9c\xc3Z\
[o\xee\xa6\xe4\xbb\xd4\x04a\xc2n}I\x7f0\xe0\xech\xc4\xc3O\xcf8>>\xe6\xe4$\
\xa1,\xcb.\xd7\xad1\xed\x97h\xfb}\x0b\xd1\n\xb4\x05i\x8f\xb7\xd6\xd6\x05\xd1\
\x0cS\xc6r;"\x10\xf7\x87,\xaf.\xd8n\xd6\x0c\x07}\xae\xaf\xaf\x91Rvw\x16\x04\
\x01Z\xeb\x836\x7f\x1b\xa0\x15g+\xc6^\xaf\xd7\xe9\xa3\xaa*\xf2<\'MS\xd24e\
\xb1\xdctB=\x8cH\x10\x91\x0c\xc7,\x16\x93N`\xb7A\xc20<\xb0\xf2Vx-@\x1b\x810\
\x0c\xe9\xf5z\x1dxUU\x9d\x9b\xae\xd7k\xb6\xdb-\xdb\xb4\xc2\xf9f(\xde\x07\x01\
8\x19\x9fq=\xbf`>\x9fw\x17k-\xbam\\\xed\x05[\x9d\xfc\x1eD{#-D;\xc7.\x16\x0b\
\x96\xcb%\xef.flSs\xe0G\x1d\x88\x10\x82dx\xc4\xe9\xfdG\xbc\xfa\xefwXk\xbb\
\x0b\xb5\x00-P\x14E\xdd\xf4}\xdb7Z7m\xd3\xb1\xd9l\x98\xcf\xe7\xccf3\xe6\xf39\
\xf3\xf9\x9c\xebU\x8aqu\x91\x88\xfd\tm\xdf\xb2?y\xf8\x9c\xedj\xc9\xc5o\xe7H)\
?\x10\xde\xbe.\xda\xd4\xedWBQ\x14H)\xbbt,\x97Kf\xb3\x19\x93\xc9\x84\xe9t\xca\
\xab7\x13\xd6\xdb\xaa\x1bM\xdb\xb6q\x90\x1a\x10\x08)x\xfa\xf9\x97dy\xc6lvy0Y\
\xb5\xa5\xda\xb6xkm\xe7\x98a\x18\x92\xe7y\x17\x8d<\xcfY\xaf\xd7,\x16\x0b\xe6\
\xf39\xd3\xe9\x94\x9f~y\xcb\xd52\xab\xdb\x84\x10\xbf\x13\x11\x9a%\x8f\xa8\
\xf7\xbdd\xc0\x8b\x97_q\xfe\xc3\xb7L&o\xf7&+\xdf\xddu\x96e\x8cF#\xfa\xfd>q\
\x1c\xa3\xb5\xee\xd6:\xc6\x98N\x9c\xcb\xe5\xb2^R\xbc\x99p\xb5\xccp^ hG\x05\
\xd1-\\u\x9b\x19\xdf\xe6\xa8\xa1M\x92!/^~\xcd\xeb_\xbe\xe7j\xfa\x16\xef/\xba\
\xa1&MS6\x9b\r\xc3\xe1\xb0[F\xb4 \xfb\xc7l\xb7[\xde]\xcc\xb8^\xa5\xac\xb7U\
\xb3\x9e\x01\x84l\xa6\xf8[b\xf5{\xd1\xb8\xd9\x0b\x84\x90<z\xf2\x05\xe3\xbb\
\xf7Y\xcc/\x98L\xe7\xecv;\xd6\xeb5\xc7\xc7\xc7\x0c\x06\x03z\xbd\xde\x07\x13X\
Q\x14,\x96\x1b\xb6i\xc565\x18\xd7D@\xdc\x9c\xb7[\x0f\x1fj\xc4\xe3\x9d\xc7{\
\x87\xf7\xae\x1e\xf3\xbd\xa3U\xd3`pD\x92\x8c(\x8az\xbc[ms\xd6\xbb)\x81\x9a\
\x11\xc7!a\x10\xd6O\x0f\xa4\xc6:Y\xcf1\x96\xc6\'\xdaH\xb7\xb1?|,p\xe0\xac\
\xde\xd7\xabr\xe7\xea\xb5\xa8\x90\x16i%^\x80w\x16\xef\x1c\xcey\xb4\x8e\xe8\
\x8f\xee\xd6\x9f}\xbd\xa02\xbe\x9e\xe407\x8b+\xdfMPM\xc2\x9b\xea\x10b\xef\
\x01\x87o\x8es\x9d(\xfe\x18\x0fj\xfe\x07\x1e\x08y"\xf0|\xe7<\x00\x00\x00\x00\
IEND\xaeB`\x82'
def get011Bitmap():
return BitmapFromImage(get011Image())
def get011Image():
stream = cStringIO.StringIO(get011Data())
return ImageFromStream(stream)
index.append('011')
catalog['011'] = ImageClass()
catalog['011'].getData = get011Data
catalog['011'].getImage = get011Image
catalog['011'].getBitmap = get011Bitmap
#----------------------------------------------------------------------
def get012Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xedIDATx\x9c\xcd\x98\xdbr\xdbF\x16EW7\x80&\x00^D\xd1\x8e\x14\xcbN\xca5v\xa2\
\xa4\xc6QU\xca\x0f\xf3\x92|\xf3\xfc\xc0<\xcd\x07$/\x99T%\x1e_4\x8e%\x92\xa2L\
\xf0\x86{w\xcf\x03\xd8\x10(\xe7\x03\xc2*\x08\x12\x05\x12\x0b\xfb\x9c\xbd\xfb\
\x00\x02\xb0\xfc\x05^>\xc0\xc5\xcb\x1fQ\xaaG\x10(<\xdf\xc7\x93\x1eBz\x08!\
\xb0\xd6r\xc0j\xdd\xce\xde\xbdaE\xe7\x9f\x82?}\x89\xc3_\xed\xfe\xa7\xb5\x96\
\x7f\xff\xeb\x9f\r\x88R=\xc20F\xf5\xc2\x16F:\x10,X\x8b5\x80\xad\xd1\xba\xc0\
\xd4\x05\xba.\xa8\xeb\x02S\xd7\xd4uE\xad-\x16\x89\xf4\x14\x81\x8a\t\xfbC\x82\
\xa0\xd7\x9cX\x88\x0e\x84hp\x05Xc1V\xdf)\x12\x04\n\xd5\x0b\t\xc3\x88\xa0\x17\
\xe2\xfb\nOJ\x87\x8e1\x15\xe8\x0cLE/\x08\x90^\x0f)$\x16\xa8\xeb\x9a\xaa\xaa(\
\x8a\x82<\xcbH\xd3\x94\xdd\xfa\x9a\xe4\xf6\x8ax8\xe1xrJ<<\xba\xc3\x10\x0eG`\
\xad\xc1\x18s\x07\xe2\xf9>A\xa0\x08z!J\xedU\xf1\xbc\xe6\x03z\x87\'5\xc3\xfe\
\x880<Ez\x01 \xd1\xc6P\x96\x15eQRV%eY\x10F\x19Q\x9c1\x1c\x0eY\xafW,\x97S>.\
\xae8y\xf4\x94\'_\x9e#d\x03\x80h\x80\xac5\xe8\xba\xa3\x88\'=<\xdf\xc7\xf7U\
\x03\x14(\xa4\x14\x04"ct\xa4\x18\x8dN\x08\xa3>^\xd0\xa36\x82\xac\xa8I\xd3\
\x02]\xe7\x94d\x94FR[\x81\x95\x02\x19H\x9e|6a\xb9\x8cQJ\xb1X,x\xf3\xdb\xcflW\
\t\xcf\xbf\xfd\x9e(\x1e4 \x08\xb0\x16!; BzH\xe9\xe1I\x89\xe7yH)\x08\xfd\x82\
\x93\x07C\x8e\x8f\x1f\x10\x0f\x8e\xf0\x83\x98\xcaxl\xd3\x12]l)\xb4%\xabJ\xd2\
RP\x96PU\x02]\n\x8e\x8f\xc6\x9c\x9e\x8e\x08\x82\x00\xcfk\xfaLk\xcd\xd5\x1f\
\xaf\xc8\xf2\x8c\x8b\x97?\x10\xc7\xc3\xbd\x11\x0cR\xcb\x0e\x88\x10MC\xed\xeb\
\x17\x88\x8c\x93\xc9\x90\x93\x93G\x8c\xc6\x0f\x08\xfb\xc7\x08?f\x97\xd5\xec\
\xca\x84\xda\xe4T\x1a\xea\x1a\xb4\x91\xcd\xa6\x05\xb5\x11<9;e<\xee!\xa5l7!\
\x04RJ\xe6\xf3k^\xfd\xfa\x13\x17/\x7fD\x08\t\x88\xd6p>\x80\xb5v\xef\x0e\x10z\
\xc7\xe8Hq<y\xc0\xf0\xe8\x01G\x933\xc2\xfe\x84\xda\xfa\xac\xd29\x9b]A\x9ae\
\xe4yAU\xd7\x18\xa3\x1b\x8b\x0b\x01\xd2\xe3\xfc\xf9\x17\x18]\x11\x04\x01A\
\x10\xa0\x94\xc2\xf7}z\xbd\x1ea\x182\x9d\xbe\xe7\xdd\xeb_x\xfa\xec\xc5\xde\
\x8d\x9d\xd2\xb0\xb7\xa81\x15\x9e\xd4\x8cF\'\xc4\x83#\xa2\xc11a\x7f\x82\x8aF\
\xcc>\\s}=\xe5\xf6v\xc1v\xb3!\xcf3\xaa\xaa\xc4h\xdd\\\xb1\xe7\xf3\xc5\xe9C&\
\xc7G\x94e\x89R\n\xa5\x14\xbd^\x0f\xa5\x14a\x18\xa2Tc\x82\xdb\xd9{&\x0f\x1f1\
\x18\x1ca\xbb\xae\x01\x9a\x9c\xd0Y\xe3\x8e\xa8\x8f\x1f\xc4\x08?\xa6\xb6>\xb3\
\x0f\xd7\xbc{{\xc9\xcd\xcd\x9c\xcdfM\x9eg\xd4U\x85\xb1\xb6\t&!\xf1<\xc97\xcf\
\x1f\x13EQ\xabF\x10\x04\xf4z\xbdV\x99\xc6\x89`\xed\x15\xcb\xc5\x15q<\xc2\x18\
{\x08\x82\xad\xc1T\x84\xe1)^\xd0\xa32\x1e\xbb\xacf\x95\xce\xb9\xbe\x9ers3g\
\xbd^\x91e)Z\xeb\xfd\x17\xba\xb0j\x02\xe7\x9b\xe7g\xed\t}\xdf\xffD\x15)%\xd6\
Z\xb4\xd6Lg\x0b\x8ab\x87\xef\xf7: \x16\xb4.\xf6a\xe5Sk\xc16-\xd9\x95\t\x9b]\
\xc1\xed\xed\x82\xcdfM\x96\xa5\x18c\xb0\xb6\x13\xf1B"\xb0L&\xc7\x8cG}\x00<\
\xcf\xc3Z\x8b1\xa6U\xa5\xeb\xa0\xb2,\xd9\xedvd\xbb\x15\xfd\xd1\xc3CEL]\x10\
\x04\x11q\x14\x81\xf4X\xad\xb7T:\'\xcd\xb2\xb6\'\xb4\xd6X\xbb\'Gt\xd6\x0f\
\xc1\xc5\xf9\x13\xa4\x94\x07\x91.\x84h\x15qpEQ\x90\xa6)\xeb\xf5\x9a\xd56?\
\xec\x11\x8bE\xd7\x05\x9e\xe7\x11\x85\x8a\xf3g\x9f3\x9e|\xc6mR\xf0\x9f\xdf\
\xff\xe0\xe6fN]U\xb8c?Y\xd8\x04|\xf5\xb7\x936\x06\xba\xd6\x050\xc6\xe0y\x1e\
\xc6\x18\xb2,c\xb3\xd90\x1e\x8fY\xeff\x18{\xafY\xeb\xbah?T\xd75\xbe\xb4|\xf1\
\xf9\x80\xc7\'_\xf3\x8f\x8b3^\xff\xef\x86W\xef\xe6\xbc\xbd\x9c~\xc2\xf1`2f<\
\x8c\x0f@\\\x9f8u\xa4\x94h\xad\x19\x8dF\x0c\x87C\x06\x83\x01\x817\xdf\xaf\
\xee\x1d\xfb6\xabhMY\x96\xe4y\xcev\xbb%\x8ec\xb4\xd6x\x12\xbe}\xf69\x7f\xff\
\xea\x8c\xaa6\xfc\xf7\xf2\x86\xdf\xdfNys9\x05\x0b\xdf\x9d?nK\xe1\x94p \x0e&\
\x08\x02\x8c1\xf4\xfb}\xa2("\x8a"\xc2PQ\x1f\x80XA]W\xed*\x9ae\x19Y\x96\xed\
\x9da\xf7\xb1\xdf\xc8\x1c\xf6\x02^|}\xc6\x8b\xaf\xcf(\x8a\x8aW\x977|\xf9x\
\xd2\xaa!\x84\xc0\xf3\xbc\x16\xc4E\xbdS:\x0cC\xc20l\x9c\x14(\xaa\xc6\x80\x9d\
\xd2h\xdbB\xecv;\xa2(Bk\xdd\xa6\xa2\xef\xfbm\xe9Z\xa8P\xf1\xdd\xf9\xe3O\x94\
\xf0<\xef Y=\xcfCk\xdd\xa6\xac\xef\xfb\x8d\x8b\xa4\x07\xf5\xbd\xd2Xd3K\xecvl\
6\x1b\xc20\xc4Z\xdbB8\x80\xae#\xba[\xb7\x1c\xf7s\xc4\xf7}\xb4\xd6\xe4y~\xb0\
\xfe\x08\xe9\xdf\xef\x11\x81\xf4T\x0b\xb1Z\xad\xe8\xf5zXk\xdb\xfa\xfa\xbe\
\x7f\xe0\x84.\x80+\x87\x83\xe8\xaa\xe1@\x8a\xa2@\x08\x811\x06\xadu\xb3\x19\
\xd96|[\x9a@\xc5l\xd6\xd7$IB\xbf\xdfG)\xd5\x1c\xb0\xaf\xb3\xab\xb5\x0b\xa6\
\xaeE\xdd\xfb\x0e\xc2-p\x0e\xc4\x1d\xaf\xb5n\rQ\x14\x05\xb5\xe6\xbe"\x10\xf6\
\x87$\xb7W$IB\x14E\xad\x02\xee\xca\x9c*\xee\x83\x7f\x06\xe0\xa0]3FQ\xd4\xf6G\
UU\xe4yN\x9a\xa6\xa4i\xca2\xd9\xb4\x8dz\xa8H\xd0#\x1eNX.\xa7m\x83\xdd\x07QJa\
\x8ci\xaf\xd05\x9e\x03p\n(\xa5\xda\x8b\xb1\xd6RUU\x9b\xa6\xeb\xf5\x9a\xedv\
\xcb6\xad0v?\x14wA\x00\x8e\'\xa7|\\\\\xb1X,\xda\x93\xb9\x88v\x0b\x97;\xa1\
\xeb\x93?\x83p\x17\xe2 6\x9b\rI\x92\xb0\\.I\x92\x84\x0fWs\xb6i\xdd=\xf5\x1d\
\x88\x10\x82xx\xc4\xc9\xa3\xa7\xbc\xf9\xedg\xf4~\xcep\xdd\xefj\xef67}\xdf\
\xcf\r\x17`\xae\x1c\x9b\xcd\x86\xc5b\xc1|>g\xb1X\xb0X,\xf8\xb8J\xa9Mc\x12\
\xd1\x9d\xd0\xba\x91\xfd\xe4\xcbs\xb6\xab\x84\xab?^!\xa5\xfc\xa4\xf1\xba}\
\xe1J\xd7uBQ\x14H)\xdbr$I\xc2|>g:\x9d2\x9b\xcdxs9e\xbd\xad\xda\xd1t\xdfr\x87\
\xa5\x01\x81\x90\x82\xe7\xdf~O\x96g\xcc\xe7\xd7\x07\x93\x95\xb3\xaa[\xe2\xb5\
\xd6mb*\xa5\xc8\xf3\xbcU#\xcfs\xd6\xeb5\xcb\xe5\x92\xc5b\xc1l6\xe3\xf7\xd7\
\xef\xb9M\xb2f\xac\xdc\xcf1\x87\x8a\xb0\xbf\xe5\x11\xcd>\x8a\x07\\\xbc\xfc\
\x81W\xbf\xfe\xc4t\xfa\xbe3Y\xd9\xf6\xaa\xb3,c4\x1a\xd1\xef\xf7\t\xc3\xb0u\
\x99\x03s\xcd\x99$IsKq9\xe56\xc90V \xb8\x1b\xa8\xdc\x8d\xab\xef*c]\x8d\xf6\
\xb4q<\xe4\xe2\xe5\x8f\xbc{\xfd\x0b\xb7\xb3\xf7X{\xd5\x0e5i\x9a\xb2\xd9l\x18\
\x0e\x87\xfb\xc5\xeb\x0e\xa4{\xccv\xbb\xe5\xc3\xd5\x9c\x8f\xab\x94\xf5\xb6\
\xda\xdf\xcf\xd0\x0cS\xe2.\xccZ\x10\xdbQ\xe3n/\x10B\xf2\xf4\xd9\x0b&\x0f\x1f\
\xb1\\\\1\x9d-\xd8\xedv\xac\xd7k\xc6\xe31\x83\xc1\x80(\x8a>\x99\xc0\x8a\xa2`\
\x99l\xd8\xa6\x15\xdb\xb4\xa66{\x05\xc4\xdd\xf7\xb6\xf7\xc3\x87=b\xb1\xc6b\
\xad\xc1Z\xd3\x8c\xf9\xd6\xe0\xbai08"\x8eG\x14E3\xde\xad\xb69\xeb\xdd\x8c\
\xc0\x9b\x13\x86\n\x15\xa8\xe6\xe9\x81\xf4\xd1FRk\xa84\xfb\x9cpJ;\xed\x0f\
\x1f\x0b\x1c$\xab\xb5\xcd]\xb91\xcd\xbd\xa8\x90\x1a\xa9%V\x805\x1ak\x0c\xc6X\
|\xbfG\x7f\xf4\xb0\xf9\xdb\x1a\xac\xb5\xd4\xd66\tY\xdb\xf6K\xdd\xbe-\xb8p\
\x83v\xe7\x01\x87\xdd\x1fg\xda\xa6\xf8k<\xa8\xf9?\xa2\xcax\xb9\xd2zv\x8b\x00\
\x00\x00\x00IEND\xaeB`\x82'
def get012Bitmap():
return BitmapFromImage(get012Image())
def get012Image():
stream = cStringIO.StringIO(get012Data())
return ImageFromStream(stream)
index.append('012')
catalog['012'] = ImageClass()
catalog['012'].getData = get012Data
catalog['012'].getImage = get012Image
catalog['012'].getBitmap = get012Bitmap
#----------------------------------------------------------------------
def get013Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x08\
HIDATx\x9c\xcd\x98\xdbn\x1b\xd7\x15\x86\xbf\xbd\xf7\x1cy\x12-Kf\x9c\xc4\xaa\
\xe1\xb8qS\xa8nR\x15\x01\x82\xc6E\x81\xa0@\n\xe4\xaa}\xba\xbe@/z\xd3\x9b^\
\x16\x08P\xa0g4A\x81 @b\xc4I\xeaD\x96\xe4\x919\x1c\x923\x1c\xce>\xf4b\xb8G\
\xa4\xeb\x07\x08\x81\xd1H\xe2&\xe7\x9b\xb5\xfe\xf5\xaf\xb5G\x00\x8e\xef\xc0+\
\x00\xb8\x7f\xf2\x80(\x8a\t\xc3\x08\x15\x04(\xa9\x10R!\x84\xc09\xc7\x0e\xab\
\xf3\'w\xf5\x0f\'\xb6\xde\x14\xbc\xf0%v\x7fu\x9b\x9f\xce9\xfe\xfc\xa7?\xb4 Q\
\x14\x93$=\xa28\xe9`\xa4\x07\xc1\x81s8\x0b8\x8d15V\xd7\x18]\xa3u\x8d\xd5\x1a\
\xad\x1b\xb4q8$RE\x84Q\x8f\xa4?$\x0c\xe3\xf6\xc2BlA\x88\x16W\x80\xb3\x0e\xeb\
\xccUD\xc20"\x8a\x13\x92$%\x8c\x13\x82 BI\xe9\xd1\xb1\xb6\x01S\x81m\x88\xc3\
\x10\xa9b\xa4\x908@kM\xd34\xd4u\xcd\xaa\xaa(\xcb\x92E\xf1\x84\xfc\xf2\x94\
\xdep\x9fk\xfb\x13z\xc3\xbd+\x0c\xe1q\x04\xceY\xac\xb5W *\x08\x08\xc3\x880N\
\x88\xa2MT\x94j?`\x96(i\x18\xf6G$\xc9\x04\xa9B@b\xace\xbdnX\xd7k\xd6\xcd\x9a\
\xf5\xba&I+\xd2^E\x92\xf6X\xcc\x0bf\xf9\x19\xcf\xb2Sn\xdc\xbc\xcd\xabG\xf7\
\x10\xb2\x05@\xb4@\xceY\x8c\xde\x8a\x88\x92\n\x15\x04\x04A\xd4\x02\x85\x11R\
\nBQ1\xda\x8b\x19\x8dn\x90\xa4}T\x18\xa3\xad\xa0\xaa5eYc\xf4\x8a5\x15k+\xd1N\
\xe0\xa4@\x86\x92\xb4\xaf\x90*@\x05\x01\xf9t\xca\xa3\xcf>f1\xcb\xb9\xfb\xc6[\
\xa4\xbdA\x0b\x82\x00\xe7\x10r\x0bDH\x85\x94\n%%J)\xa4\x14$A\xcdK\x07#&\x93\
\t*\xea\xa3\x82\x94\xc6*\x16\xe5\x1aS/\xa8\x8d\xa3j\xd6\x94k\xc1z\rM#0k\x811\
\x12g\x02\x90\tqb\x19\xed9\x8c1\x9c~\xf3\x90jUq\xff\xe4]z\xbd\xe1\xa6\x10,\
\xd2\xc8-\x10!ZAm\xf2\x17\x8a\x8a\x9b\x87{\xdc\xbau\x8b\xa3\xa3#\xae\x1d\xbc\
\xc4\xa3o\n\x96\x95f\xb9\xce\xd1vEc@k0V\xb6\x87\x11h+h\x8c\xc0i\x89\xb3\nDL\
\x9c\xc0\xb5}\x81\x90\x82\xcb\xec\t\x0f?\xfd\x88\xfb\'\x0f\x10B\x02\xa2+\xb8\
\x00\xc09\xb7\xa9\x0e\x10f\xc9\xde8f2\x99ptt\xc4\xf1\xf11\x87\x87\x87\x8c\
\x0f+>\xfc\xcb\x7f\x98/k\xca\xaab\xb5\xaai\xb4\xc6Z\xd3\x96\xb8\x10 \x15JEh\
\'\xb0\x9b\xaa\x96J\x90\xf4$\x87QH\x12\'<}\xfa\x98\xaf\xbe\xf8\x84\xdb\xaf\
\x1do\xaaq+5lJ\xd4\xda\x86PY\xae_\x7f\x99\xc9d\xc2\x9d;w8<<D\x08\xc1\xed\x97\
R\x9a\xba\xe6\xf22c1\x9f\xb3ZU4\xcd\x1ak\x0cB\x08\xa4\n\x08\x84\xc4J\x05B"\
\x84\xc2h\x05V!eH\x1c\xc7$qB\x14\x85\\\x9e?f\xff\xe0&\x83\xc1\x1en\xbbj\x80\
\xd6\'L\xc5h0f<\x1es\xe3\xc6\r&\x93\t>b\xc6\x18\xde>\x9e\xf0\x8f\x7f\xfe\x8b\
\xd5\xaaB7\r\xd6\xb9\xd6\x98\x84D)\x89\x14\x16+$BH\xa4\x0c\x90RbL\x00\xaea\
\xffz\x8fA\xea\xb88\x8fp\xee\x94ivJ\xaf7\xc2Z\xb7\x0b\x82\xd3\x08\xa7\xe9\
\xf7\xfb\x8cF#\xc6\xe31RJ\xac\xb5\x18c\xc8\xb2\x8c@j~\xfa\xa3#>\xfc\xeb\'\
\x1b@oV\x1b\xc3\x91\n)Z0)\rR*")x\xf3\x07/\xf3\xca\x8d\x1eO\x9f>E\x00\xc6\x18\
\xce\xce3\xeazI\x10\xc4[ \x0e\x8c\xa9I\xa2\x88$I\xe8\xf5z\x84aH\xd344M\xc3l6\
c:\x9d\xb2X,x\xf3\x87\xb7\xf8\xf2q\xc6\xa3\xff>\xd9x\x94\xa4\xf5\xdf\xd63\
\x85P\x08\xe1pRrpp\x9d_\xbe{\x8f\xf10a>\x9f#\x84\xc0\x18\xc3z\xbdf\xb9\\R-g\
\xf4G\x07\xbb\x11\xb1\xbaF\xa9\x94(\x8a\x08\x82\x00\xad5\xcb\xe5\x92\xa6i(\
\x8a\x82\xb2,\xb1\xd6"\x84\xe0W\xbf8\xe6\xb7\xbf\x9b\xa2u\xbde\xdc\xado;\x1c\
B\x08N\x8e_\xe3\xc1\xdb\xdf\'\n\x15Zk\x94R8\xe7\xa8\xeb\x9a\xb2,)\x8a\x82\
\xd9b\xb5\xab\x11\x87\xc3\xe8\x1a\xa5\xda\xfeb\xade\xb5ZQ\x14\x05M\xd3P\x96%\
\xeb\xf5\x1a)\xdb\x9aO\x93\x88_\xbf\xff\x16\xbf\xff\xe3\xdf=G\xd7\xef\xa20\
\xe5\x83\xf7\xee\xf3\xc6\xdd\x97\xbb\xf5\xd6Z\x94RXk\xa9\xaa\x8a\xf9|\xcex<\
\xa6X\x9ec\xddsb\xf5wg\xadEkMUU\x18c:(\xdf\x89}\x03\xfb\xde+\xd7y\xe7\xe4u\
\xfe\xf6\xef\xcf;\x98Wo\x1e\xf2\xc1{?f\x7f<@)E\x10\x04\xdd\xfaV\xb8\x86\xd1h\
\xc4p8d0\x18\x10\xaa\x8bMw\xdf*\xdf\xb6\x8bj\xd6\xeb5\xab\xd5\x8a\xc5bA\xaf\
\xd7\xc3\x18\x831f\xe3\xb8\xb2\xbbK\xe7\x1c?;\xb9\xcb\xe7_^p\xf9,\xe7\x9d\
\x93{\xfc\xfc\xed\xd7\xbb5\x1e\xc4\xc3\x84a\x88\xb5\x96~\xbfO\x9a\xa6\xa4iJ\
\x92D\xe8\x1d\x10\'\xd0\xba\xe9\xbahUUTU\xd5]\xd0C\xbc\xe8\xf5\x9b\xf7\x7fB1\
\xaf8z\xe5z\xe7\xd0J\xa9\x0e$\x0c\xc3.-Zk\x92$!I\x12\xe28&\n#\x9a\xd6\xcf\
\xb6Rc\\\x07\xb1\\.I\xd3\x14c\x0cA\x10\x10\xc71A\x10t\xa9\xf3PB\x08\xf6\x86)\
\xe3Qo\'\x12J)\xc20$\x0cC\xa2\xa8\xed\xe4\xc6\x98\xae\x10\x82 h\xf5(\x15\xe8\
\xe7R\xe3\x90\x94e\xc9r\xb9d>\x9f\x93$\t\xce\xb9\x0e\xc2\x03\xf8\x9c\xfb\xbb\
\xf7\xc7v:\xfc9\x8a\xa2\xee\xe2\xc6\x18V\xabU\x07,\x84@\xc8\xe0y\x8d\x08\xa4\
\x8a:\x88\xd9lF\x1c\xc7\x9d8\xc30$\x08\x82\x1d\x8dl\x03\xf8tx\x88\xedhx\x90\
\xba\xae\xbb\x8a\xf4\xba3\xf6*\xdd]j\xc2\xa8\xc7\xbcxB\x9e\xe7\xf4\xfb}\xa2(\
j\x17l\xf2\xecs\xedK\xdcCm\xa7\xc3C\xc4qL\x92$\x1d\x88_o\x8c\xe9\n\xa2\xaek\
\xb4\xe1\xf9\x88@\xd2\x1f\x92_\x9e\x92\xe79i\x9av\x11\xf0w\xe6\xa3\xe2?\xf8"\
\x00\x0f\xed\xc5\x98\xa6i\xa7\x8f\xa6iX\xadV\x94eIY\x96L\xf3y\'\xd4\xdd\x88\
\x841\xbd\xe1>\xd3\xe9Y\'\xb0\xe7A\xa2(\xea\xdcUJ\xd9\t\xcf\x03\xf8\x08DQ\
\xd4\xdd\x8cs\xae3\xc5\xa2((\x8a\x82\xc5b\xc1\xa2l\xb0\xce;\xe1v\xd3\x03\xae\
\xedOx\x96\x9d\x92eYw\xb1(\x8a\x88\xe3\xb8-\xb7- \xaf\x93\x17A\xf8\x1b\xf1\
\x10\xf3\xf9\x9c<\xcf\x99N\xa7\xe4y\xce\xb7\xa7\x17,J\xbdc\x03\x1d\x88\x10\
\x82\xdep\x8f\x1b7o\xf3\xe8\xb3\x8f1\x9b9\xc3\xab\xdf\xe7\xde\x1f~\xfa~\xde7\
\xbc\x81\xf9t\xcc\xe7s\xb2,\xe3\xe2\xe2\x82,\xcb\xc8\xb2\x8cg\xb3\x12m\xdb"\
\x11\xdb\x13\xda\xf6\xe6\xe7\xd5\xa3{,f9\xa7\xdf<DJ\xf9\x7f\xc2\xdb\xd6\x85O\
\xddv%\xd4u\x8d\x94\xb2KG\x9e\xe7\\\\\\pvv\xc6\xf9\xf99\x8f\xbe>\xa3X4\xddh\
\xba\x91\xdcnj\xa0\x9d-\xef\xbe\xf1\x16\xd5\xaa\xe2\xe2\xe2I\x07\xe1/\xec{\
\x8e\xbf\xb8w\xcc(\x8a\xba\x9e\xe4=\xa3(\n\xa6\xd3)Y\x96q~~\xce\xe7_<\xe62\
\xaf\xda\xb1r3\xc7\xecF\x84\xcd\x96G\xb4\xe7\xb47\xe0\xfe\xc9\xbb<\xfc\xf4#\
\xce\xce\x1eo\xf68W\x93\x9aw\xe0\xd1hD\xbf\xdf\'I\x92\xae\xca<\x98\x17g\x9e\
\xe7dY\xc6\xa3\xaf\xcf\xb8\xcc+\xackG\x06?P\xf9\x8dk\xe03\xe3|\x8e6\xb4\xbd\
\xde\x90\xfb\'\x0f\xf8\xea\x8bO\xb8<\x7f\x8cs\xa7\xddPS\x96%\xf3\xf9\x9c\xe1\
p\xb8i^W \xdbk\x16\x8b\x05\xdf\x9e^\xf0lVR,\x9a\xcd~\x86\xcdL\xbb\xdb\xbb6\
\xf3\xc8U4\xae\xce\x02!$\xb7_;f\xff\xe0&\xd3\xec\x94\xb3\xf3\x8c\xe5rIQ\x14\
\x8c\xc7c\x06\x83\x01i\x9a\x12\xc7qgt>b\xd3|\xce\xa2lX\x94\x1am7\x11\x10W\
\xdf\xdb\xed\x87w5\xe2p\xd6\xe1\x9c\xc59\xdb\x8e\xf9\xce\xe2\xd54\x18\xec\
\xd1\xeb\x8d\xa8\xebv\xbc\x9b-V\x14\xcbsBuA\x92DDa\xd4>=\x90\x01\xc6J\xb4\
\x81\xc6\xb0\xf1\t\x1fi\x1f\xfb\xdd\xc7\x02;\xce\xea\\\xbb+\xb7\xb6\xdd\x8b\
\ni\x90F\xe2\x048kp\xd6b\xad#\x08b\xfa\xa3\x83\xf6ogq\xce\xa1\x9dk\x1dR\xbb\
\xeeK\xfd\xb9K\xb8\xf0\x83\xf6\xd6\x03\x0e\xb7Yg;Q|7\x1e\xd4\xfc\x0fU+\x93#\
\x1a\xd9\x15\x96\x00\x00\x00\x00IEND\xaeB`\x82'
def get013Bitmap():
return BitmapFromImage(get013Image())
def get013Image():
stream = cStringIO.StringIO(get013Data())
return ImageFromStream(stream)
index.append('013')
catalog['013'] = ImageClass()
catalog['013'].getData = get013Data
catalog['013'].getImage = get013Image
catalog['013'].getBitmap = get013Bitmap
#----------------------------------------------------------------------
def get014Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
\xc7IDATx\x9c\xcd\x98\xdfn\xdb\xc6\x12\x87\xbf\xd9].)\xca\x96\xd5$\xb6\x92\
\xa25\x82\xb4\x07E\x81 @\x91^\x1d\xb4\xcf|^\xe0\\\x9d\x07ho\x8a\x02m\xd0\xa0\
AZ\xc7v\xe9\x88\x92(R\x14\xb9\xbb\xe7\x82\x7f,\xa5y\x80\x12\xa0i[\x12\xf7\
\xe3\xcco~3+\x01\x02\xff\x80\xc3\x00\xbcx\xf9=\xd6\xc6D\x91E\x1b\x83V\x1aQ\
\x1a\x11!\x84\xc0\x11k\x18.\xe1\xfe\x1fA\x0e^\x14>z\xc8\xf1\xaf\xa1\xff\x19B\
\xe0\x7f\xff\xfdO\x07bmL\x92\xa4\xd88\x19a\xd4\x00B\x80\x10\x08\x1e\x08-\xce\
\xd5\xf8\xb6\xc6\xb55m[\xe3\xdb\x96\xb6mh] \xa0P\xda\x12\xd9\x94dzJ\x14\xc5\
\xdd\xc2"\x07\x10\xd2\xe1\n\x04\x1f\xf0\xc1\xddG$\x8a,6NH\x92\tQ\x9c`\x8cE+5\
\xa0\xe3}\x03\xaeBBKb-ZO\xd0Z\x03\xd0\xb6-e\xb5\xa3\xaekvUEY\x96\x14\xebw\
\xe4wW\xa4\xa7\x0f\xf8\xe4\xc1\x82\xf4\xf4\xec\x1eC\x06\x1c!\x04\x8f\xf7\xfe\
\x1eD\x1bC\x14Y\xa28\xc1\xda>*Zw\x1fp["\xed\x99\x9d\xcc\x99N\xa7$I\x82\xb5\
\x16\x11\xc1{\xcf~\xbf\xe7\xf7\xb77\xec\xf75\xc9\xa4b\x92V$\x93\x94b\xb3f\
\x95_\xf3>\xbb\xe2\xe2\xc9S>\xbb\xfc\nQ\x1d\x00\xd2\x01\x85\xe0q\xedAD\xb4\
\xd2hc0\xc6v@\x91E)!\x92\x8a\xb3y\xcc\xc3\x87\x9f2\x9f\xcf\x99\xcdf\xa4i\x8a\
1\x06\xef=m\xdb\xb2\xdb\xed\xf8\xf5\xcd\x8a6\x08A\t*RL\xa6\x1a\xa5\r\xda\x18\
\xf2\xe5\x92\xd7\xbf\xfcH\xb1\xca\xf9\xf2\xebo\x98\xa4\'\x1d\x08\x02! \xea\
\x00D\x94F)\x8dV\n\xad5J\t\x89\xa9y\xfch\xc6\xe3\xc7\x8fY,\x16\\\\\\0\x9f\
\xcf\x89\xa2h\x04\xa8\xaa\x8a\xa2((\xf7\xd04\x82\xdb\x0b\xce)\x823\xa0\x12\
\xe2\xc43;\x0b8\xe7\xb8\xfa\xe3\x15\xd5\xae\xe2\xc5\xcb\xefH\xd3\xd3\xbe\x10\
<\xca\xa9\x03\x10\x91NP}\xfe"\xa9xr~\xc6\xe7\x9f\x7f\xce\xe5\xe5%\xcf\x9e=c\
\xb1X\xa0\x94\xa2i\x1a\xb6\xdb-\xeb\xf5\x1a\xe7\x1ci\x9a\xe2\xbc\xc29\xa1\
\xf5B\xe3\x84\xd0*\x82\xd7 1q\x02\x9f<\x10D\tw\xd9;^\xfd\xfc\x03/^~\x8f\x88\
\x02d,8\x03\x10B\xe8\xab\x03\xc4m9\x9b\xc7,\x16\x0b.//y\xfe\xfc9\xe7\xe7\xe7\
\x00x\xefi\x9af<\xbd\xf78\xe7\xba\x12\x17\x01\xa5\xd1\xda\xd2\x06\xc1\xf7U\
\xad\xb4\x90\xa4\x8as\x1b\x91\xc4\t\x7f\xfd\xf5\x96\xdf\x7f\xfb\x89\xa7_<\
\xef\xab\xf1 5\xf4%\xea}C\xa4=\x0f\x1f~\xcab\xb1\xe0\xd9\xb3g\x9c\x9f\x9f\
\x8f~\xe2\x9cc\xb5Z\xb1^\xaf)\xcb\x92\xddn\x87s\x0e\x11Ai\x83\x11\x85W\x1aD!\
\xa2q\xad\x06\xafQ*"\x8ecb\x1bc\x8c\xe1\xee\xe6-\x0f\x1e=\xe1\xe4\xe4\x8cpX5\
@\xe7\x13\xaebv2g>\x9fsqq\xc1b\xb1`\x88\x98s\x8e,\xcbX.\x97\x94e\xc9~\xbfGD\
\xba\xea\x12\x85\xd6\n%\x1e/\n\x11\x85R\x06\xa5\x14\xce\x19\x08\r\xda\x06\
\xe2\xd8\xa2\xb5\x02nYfW\xa4\xe9\x0c\xef\xc31\x08\xa1EB\xcbt:e6\x9b1\x9f\xcf\
QJ\x8d\xe1\xcf\xb2\x8c\xbb\xbb;\x8a\xa2\xc0{\x8fR\x8a\x10\x02J\xa9>\xdf\x01\
\x94F\x89\x80(\x94r(\xa5Q\xae!\xf8\x88\xa0\x1c\x91\x8d\x89\xadA\x08dwK\xeaz\
\x8b1\xf1\x01H\x00\xe7j\x12kI\x92\x844M\x89\xa2h\xd4\xc2j\xb5b\xb9\\R\x14\
\x05!\x84\xd1)E\xa4\x07\x11B\xef\x99"\x1a\x91@P\xaak\x13J\x13B\x8b\xe0\x10\r\
\x13k\xd1\nv\xbb\x8aj\xbbb:{t\x1c\x11\xdf\xd6h=\xc1Z\x8b1\x86\xb6m\xd9n\xb74\
M3j\xc2{\x7f\x04q\xd8=\xba\x82\xebZ\x82\x88\xa0\x10\x94\x0ehm\xf0\xdet0:\xa0\
#8\x89`^\x95l\xca\xdd\xb1F\x02\x01\xd7\xd6h\xadG\xc7\xdc\xedv\xac\xd7k\x9a\
\xa6\x195\xa1\x94:\x82\x18\x9bb\xdf\n\x90\xc1\xbc\xfb\xf4\x00A\x81\x04\r\xc1\
\x80vh#L"\xcdl6\xa3\xa82|\xf8@\xacm[\x8f%\xda\xb6-UU\xe1\x9c\x1b\xa1\x86E\
\xff\x06q\x1f\x94!.\x88(d\xd0\x8e\x80\x0e\x10\x82C+\x8d\x8a\x14q\x121=9!\xca\
\xee\xc6{\x8c\xe5\xdbu\xd1\x96\xfd~\xcfn\xb7\xa3(\x8a\xce\xac\x9c\xc39\xd7;\
\xae\x1a\xa3r\x04qx\x88\xf4\x10\xbd~\x94\xee\x970h\xe51F\xb06\xe0\x92\x84$\
\xb1\xb4G Ah\xdbN\x98u]SU\x15UU\x8d\x0b\x0e\x10\x1f_W\xf8\xf7\xb7_\x01\xf7\
\xc2\xd5\xc6\xa0\xb5\xc1\x98\xee\x14Q\x10<m\xbb\xc7\xed\xb7\xd4eN\xe6w\xd8\
\xc8\xd2t~v\x90\x1a\x17F\x88\xedv\xcbd2\xc19\x871\x868\xee\x8chH\xdd\x87Z\
\xf9\xee\xdb\x7f\x8d\xd1\xd2Z\x13E\x11\xd6\xda\xf1\xd4Z\xe3\x9cc\xbb\xddr}}\
\xcd\x9b7\x9eu\x9eu\xd1j?HM@Q\x96%\xdb\xed\x96\xcdfC\x92$\x84\x10F\x88\x01\
\xe0P#\x87\xe7\x00a\x8c\x19\xaf\x03\x881\x06\xe7\x1c\xbb\xddn\x04\x16\x11D\
\x99\x0f5"(mG\x88\xd5jE\x1c\xc7\xa38\xa3(\xc2\x18s\xa4\x91C\x80\xc1a\x07\x88\
(\x8a\x8e\xa2b\x8c\xa1\xae\xeb\xb1"\x07\xdd9\x7f\x9f\xee15\x91M\xd9\xac\xdf\
\x91\xe79\xd3\xe9\x14km\xf7\x06c\xc6\x1bk\xad\xc7\x12\x1f\xa0\x86H\x0cg\x14u\
}e\x18\xa0\x86!\xaa\xb3{7\x16D]\xd7\xb4\x8e\x0f#\x02\xc9\xf4\x94\xfc\xee\x8a\
<\xcf\x99L&c\x04\x86\'\x1b\xa22|\xf0c\x00\x03t\x92$\xc4q\xccd2\x19\xf5\xd14\
\r\xbb\xdd\x8e\xb2,)\xcb\x92e\xbe\x19\x85z\x1c\x91(&=}\xc0ry=\n\xecC\x10k\
\xed\xe8\xaeJ\xa9\xb1*\x06\x80C\x81\x0e\x0f\x13B\x18Mq\xbd^\xb3^\xaf)\x8a\
\x82\xa2l\xf0ap\xc2\xc3\xa6\x07|\xf2`\xc1\xfb\xec\x8a,\xcb\xc6\xc5\xac\xb5]\
\x0b\x8f\xe3#\xa0A\'\x1f\x83\x18\x1ed\x80\xd8l6\xe4y\xcer\xb9$\xcfs\xfe\xbc\
\xba\xa5(\xdb#\x1b\x18AD\x84\xf4\xf4\x8c\x8b\'Oy\xfd\xcb\x8f\xe3\x9c1\xa8\
\x7f\xc8\xfdp\x0e\xd3\xf7 \xd4A\xac\x9do\xc8\x98\x8e\xcdfC\x96e\xdc\xde\xde\
\x92e\x19Y\x96\xf1~U\xd2\xfa\xaeH\xe4pB;\xdc\xfc|v\xf9\x15\xc5*\xe7\xea\x8fW\
(\xa5\xfe&\xbcC]\x0c\xa9;\xac\x84\xba\xae\xc7\x91\xb2,K\xf2<\xe7\xf6\xf6\x96\
\xeb\xebknnnx\xfd\xe6\x9au\xd1\x8c\xa3\xe9`\xd0G\xa9\x81n\xb6\xfc\xf2\xebo\
\xa8v\x15\xb7\xb7\xefF\x88a\xe1\xa1\xc7\x0c\x8b\x0f\xbd\xc9Z;\xf6\xa4\xc13\
\xd6\xeb5\xcb\xe5\x92,\xcb\xb8\xb9\xb9\xe1\xd7\xdf\xder\x97W\xddX)\xf2\x91\
\x88\xd0w\xcd\xbeqM\xd2\x13^\xbc\xfc\x8eW?\xff\xc0\xf5\xf5\xdbq35Lj\x83\x03\
\xcff\xb3q\xaf3T\xd9\x006\x883\xcfs\xb2,\xe3\xf5\x9bk\xee\xf2\n\x1f\xba\xd6(\
=\xc8\xd0\xb1\xcc\x90\x990\xe4\xa8\xa7M\xd3S^\xbc\xfc\x9e\xdf\x7f\xfb\x89\
\xbb\x9b\xb7\x84p\x85s\x8e\xfd~OY\x96l6\x1bNOO\x99L&G \x87\xef)\x8a\x82?\xaf\
ny\xbf*Y\x17M\xbf\x9f\xa1\x9fi\x8f{W?\x8f\xdcG\xe3\xfe*\x88(\x9e~\xf1\x9c\
\x07\x8f\x9e\xb0\xcc\xae\xb8\xbe\xc9\xc6\xad\xc4|>\xe7\xe4\xe4\x84\xc9dB\x1c\
\xc7\xa3\xd1\r\x11[\xe6\x1b\x8a\xb2\xa1([Z\xdfG@\xee\xef;\x0eV\xc7\x1a\t\x04\
\x1f\x08\xc1\x13\x82\xef\xc6\xfc\xe0\x19\xd4trrF\x9a\xce\xa8\xeb-\xd5v\xc5\
\xaa\xd8\xb1\xde\xde\x10\xe9[\x92\xc4b#\xdb\x8f\x85\x06\xe7\x15\xad\x83\xc6\
\xd1\xfb\xc4\x10\xe9!\xf6\xc7_\x0b\x1c9k\x08\xdd\xae\xdc\xfbn/*\xca\xa1\x9c"\
\x08\x04\xef\x08\xde\xe3}\xc0\x98\x98\xe9\xecQ\xf7w\xf0\x84\x10hC\xe8\x1c\
\xb2\r\xe3M\xefg\x95>\xe1}u\x88\x1c|\xc1\x11\xfa\xf7\xf9Q\x14\xff\x8c/j\xfe\
\x0f\x14\xf5q\xf5\x0b9\xe5)\x00\x00\x00\x00IEND\xaeB`\x82'
def get014Bitmap():
return BitmapFromImage(get014Image())
def get014Image():
stream = cStringIO.StringIO(get014Data())
return ImageFromStream(stream)
index.append('014')
catalog['014'] = ImageClass()
catalog['014'].getData = get014Data
catalog['014'].getImage = get014Image
catalog['014'].getBitmap = get014Bitmap
#----------------------------------------------------------------------
def get015Data():
return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00"\x00\x00\x00"\x08\x06\x00\
\x00\x00:G\x0b\xc2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x08\
9IDATx\x9c\xcd\x98M\x8f\x1cG\x19\xc7\x7fU\xd5U\xfd2\xb3\xb3\x93\xf5\xee\x8e\
\x1d\x92\xc5r\x0c\xc1\x8ae\x11|\x80C"q\xc8\x05E\x90\x0b\'\xee|\x02\xf8\x08|\
\r\xce\x08q@\x1c@\x08\x11\t\x82\x02HH\x8e\x90,\xe7\xc58\tl\xb2\xde]\xf7zzfz\
\xa6g\xa6\xbb\xaa8\xf4\xcb\xceX\xfe\x00\x19\xa9\xb6w\xb7{\xba~\xfd\xbc\xfd\
\x9f\xa7\x05\xe0\xf9\n|\x02\x80;w\xdf\xc4\x98\x10\xad\r*\x08PR!\xa4B\x08\x81\
\xf7\x9e-V\xdf\x1e\xfc\xe5?\xbc\xd88)x\xeeGl\xff\xea\x9b\x9f\xde{\xde\xfb\
\xf3ok\x10cB\xa2(\xc1\x84Q\x07#[\x10<x\x8fw\x80\xaf\xb0v\x85\xabV\xd8jEU\xad\
pUEU\x95T\xd6\xe3\x91He\xd0&!\xea\xed\xa0uXo,\xc4\x06\x84\xa8q\x05x\xe7q\xde\
^ZDk\x83\t#\xa2(F\x87\x11A`PR\xb6\xe88W\x82-\x10\xbe"2\x06\xa5b\x94R\x00TUEY\
\x96\xacV+\x16\x8b\x05\xf3\xf9\x9c\xd9\xf41\xd9\xc5\t\xc9\xce\x1e/\xec\x8dHv\
v/1D\x8b#\xf0\xde\xe1\x9c\xbb\x04QA\x80\xd6\x06\x1dF\x18\xd3XE\xa9\xfa\x0bv\
\x8eV\x8eA\x7fH\xaf\xd7#\x8a"\x8c1\x08!p\xce\xb1^\xafY\xadV\x14EQC\xccfdYF\
\x96e\x8c\xc7\xa7<MO8\xbcv\x9d\x97\x8e^E\xc8\x1a\x00Q\x03y\xef\xb0\xd5\x86E\
\x94T\xa8 \x08L\r\xa4\rR\n\xb4(\xd8\x1d\x86\\\xb9\xf2"\xc3\xe1\x90\xc1`@\
\x92$\x04A\x80s\x8e\xaa\xaaX.\x97[\x10\x93\xc9\x84^\xafG\x1c\xc7\x18cH\xd3\
\x94O?\xfe\x80|\x92q\xf3\xd6\xeb\xc4I\xbf\x06A\x80\xf7\x08\xb9\x01"\xa4BJ\
\x85\x92\x12\xa5\x14R\n\xa2`\xc5\xd5\xfd\x01W\xaf^e4\x1aqxx\xc8p8Dk\xbd\x05\
\x90\xe79EQ\x10\xc71Q\x14\x11\x86!\xc6\x18\x82 @)\x85s\x9e\xb2\xac8\xf9\xe2!\
\xc5\xb2\xe0\xce\xdd7H\x92\x9d&\x11\x1c\xd2\xca\r\x10!\xea\x80j\xfc\xa7E\xc1\
\xb5\x83]^~\xf9e\x8e\x8e\x8e\xb8q\xe3\x06\xa3\xd1\x08)%eY2\x9f\xcf\x99N\xa7X\
kI\x92\x04\x00\xe7\x1c\xde\xfb&\xcb@J\x89\x07\xce\xd3\x19/\xec\xed#\xa4\xe0"\
}\xcc\xc3\x07\xf7\xb8s\xf7M\x84\x90\x80\xe8\x12.\x00\xea\x1b\xe0\xc1\x83\xb0\
sv\x87!\xa3\xd1\x88\xa3\xa3#n\xdf\xbe\xcd\xc1\xc1A\xb7YY\x96\xddr\xcea\xad\
\xc5{\x8fR\x8a0\x0c\x11B\x10\x04\x01Zk>x\xf0\x05N\x86D\x89\xe0\xc0h\xa20\xe2\
\xc9\x93c>\x7ft\x9f\xeb\xaf\xdcn\xb2q\xc354)\xea\\\x89V\x8e+W^d4\x1aq\xe3\
\xc6\r\x0e\x0e\x0e\xbazb\xade2\x990\x9dNY,\x16,\x97K\xac\xb5\x1dD\x0b\xa0\
\xb5\xe6\xfe\'\x8f\x99\xce-\xc8\x08)5a\x18\x12\x9a\xfa\x9a\x8b\xb3c\xf6\xf6\
\xaf\xd1\xef\xef\xe27\xb3\x06\xa8\xeb\x84-\x18\xf4\x87\x0c\x87C\x0e\x0f\x0f\
\x19\x8dF\xb4\x16\xb3\xd6\x92\xa6)\xe3\xf1\x98\xc5b\xc1z\xbdF\x08\xd1\xc4\
\x94\xec\x028\x08\x02\xb2\xd9\x92\x07\xff9C\x9b\x08k\x03\xf0%\xcax\xc2\xd0\
\xa0\x94\x04\xce\x19\xa7\'$\xc9\x00\xe7\xfc6\x08\xbeB\xf8\x8a^\xaf\xc7`0`8\
\x1c"\xa5\xec\xcc\x9f\xa6)\x17\x17\x17\xe4y\x8es\xae\x8e\x01\xef\x91Rv\xb7\
\x90R\xb2.-\x7f|\xef\xa3&\xf3\x14\xd2\x96x\xa7\xf1\xd2\xa2MHh\x02\x04\x9e\
\xf4b\xccj5\'\x08\xc2\r\x10\x0f\xd6\xae\x88\x8c!\x8a"\x92$Ak\xdd\xc5\xc2d2a<\
\x1e\x93\xe79\xde\xfb\xaeR\n!:\x10\xe7\x1cB\x08\xfe\xf4\xb7\x0f)\x8a%*\xd0\
\xb5LH\x85\xf7\x15\x02\x8bP\x10\x1b\x83\x92\xb0\\\x16\x14\xf3\t\xbd\xc1\xfe\
\xb6E\\\xb5B\xa9\xb8K\xbd\xaa\xaa\x98\xcf\xe7\x94e\xd9\xc5D\xbb\xd9\xb3e\xbb\
\xb5\xc6\xfdON\xf8\xec\xf8\x0c!%\x12\x81T\x1e\xa5\x02\x9c\x0bj\x18\xe5Q\x1a\
\xfa\x1a\x86\xc5\x82\xd9b\xb9\x1d#\x1e\x8f\xadV(\xa5\xba\x8a\xb9\\.\x99N\xa7\
\x94e\xd9\xc5D\xfb\xf4\x9b0m\xba\x9e\xa7S\xde}\xff\xc3\xba\x14 @H$\xe0%\x08\
\xaf\xc0\x07\xa0,*\x10\xc4Z1\x18\x0c\xc8\x8b\x14\xe7\x9f\t\xd6\xaaZu&\xae\
\xaa\x8a\xa2(\xb0\xd6vP\xed\xa6\xcf\x83\x00\xf8\xfd_\xeeS\x95\xebZE\x84DHY\
\xd7\n\x01\xca\x83\xf7\x16%\x15RK\xc2H\xd3\xeb\xf7\xd1\xe9Ew\x8f.}k\x15\xadX\
\xaf\xd7,\x97K\xf2<\'I\x12\xac\xb5]\x8aJ);\xablB\xbc\xfb\xfeG\\<\xcd.uD\xca.\
~\x84T\xcd\x16\x01J:\x82@`\x8c\xc7F\x11Qd\xa8\xb6@\xbc\xa0\xaa\xcaNE\x8b\xa2\
\xa0(\x8an\xc3\x16\xe2y\x1f!\x04\xc7\x8f\x9f6\x96h\x05\xad\x86\x91J5\xed\x84\
\x04<\x81th-\xd1\xc6\xe3\xaa\x10\xa3\r\xa5mb\xacs\x8d\xf5[*:\x9f\xcf\xc9\xf3\
\x9c\xd5j\x85\xb5\xb6\xdb\xb8\x95\xed\xcdX\xf9\xc9;\xdf\xe5\xb5o}\xbd\x81\
\xa8\xdd"\xa5B\xca\x00\xa5\x82FP\x03\xb41\x98f)Ug\x14\xad$\xb4\xae\xf1\xc8\
\xcb~b6\xeb\xc4l\xbd^w\xb1\xb2\xe9\x8eV\x9f\xa4\x94$q\xc8\x8f\xde\xfa6?~\xfb\
{\x980F\x08\xd9(\xbaB\x05\x9a \xd0hm\x08\x8d&\x8e\rF\x07\x8d\xdb\x82gcD \x95\
\xd9\x92\xf20\x0c\xbb\xe0\xd4Z\x13\x04\xc1V\x8cl\x82\xb4\x15\xf6\xb5o\xbe\
\xc4\xd1\xd7\x0e\xf8\xf5\x1f\xee1\x1e\xcfP*hTX"\x04\xc4\x91$\x0e\x05\x81\xf2\
8g\xb1\xee\xd2\xdd]\xd6h\x93\xd4\x9dU\x96\xd1\xeb\xf50\xc6\xd4\x17l\xe8\x87R\
\xaaK\xf1\x16J6\xadC\xbb\x0e\xf7c~\xfe\xd3\x1f\xf0\xde\xbf\x1e\xf1\xd7\x7f~T\
\xbbE)\xb4\x82$\x96\xc4\x11\xb8uAY\x96T\x96g-\x02Qo\x87\xec\xe2\x84,\xcb\x88\
\xe3\xb8\xb3\x80\xd6\x1acLg\x95M\x99\xdf\x04h\xcfk\xad\x89\xa2\x88\x1f\xbe\
\xf5\x1d^\xbf}\x93_\xfe\xe6\x1fx\xbb$\t\x05;\x89\xc4\x04\x15\xf3EI\x96\xe5]\
\xa0n[D\x87$;{\x8c\xc7\xa7]0=\x0bb\x8c\xe9\xaak+t\xedj\xcf\xb7+\x8ecn}c\x87_\
\xfc\xec\x1d~\xf5\xbb\xbfs~~J/\x12\xf8\xaa`Y,\x98\x17%\xce7M\xf1&\x08\xc0\
\x0b{#\x9e\xa6\'\xa4i\xdamf\x8c\xa9%\xbc\xe9\xbc\xda\r\xdb8y\x1eD\xfb \xde{\
\xa4\xf0\xbc\xfd\xfd[\xdc\xfb\xb7\xe0\xe4\xcb/\xc9\x97\x0b\x1e\x9f\xa6\xe4\
\x8bj\xab\x0ct B\x08\x92\x9d]\x0e\xaf]\xe7\xd3\x8f?\xc0Z\xdbm\xd4\x02\xb4@a\
\x18vi\xdc\x06\xaaR\xaa\xb3\x8e\x10\x02k-eY2\x9b\xcdH\xd3\x14-K$k&\x931\xe3\
\xe9\x82\xca\xd5I"6;\xb4\xcd\xe1\xe7\xa5\xa3W\xc9\'\x19\'_<DJI\x18\x86]\xe7\
\xde>i\xbbZ\xd7\xb5\xad\x82\xb5\x96\xd5j\xd5\xb5\x94\x8b\xc5\x82,\xcb8??\xe7\
\xf4\xf4\x94\'O\xce\xf9\xec\x7fgL\xf3\xb2kM\xdb\x8a\xb0\xe5\x1a\x10\x08)\xb8\
y\xebu\x8ae\xc1\xf9\xf9\xe3\x0e\xa2\xdd\xb8\xd5\x98v\xf3V\x9b\x8c1\x9d&Yk;\
\xd1\x1c\x8f\xc7\xa4i\xca\xd9\xd9\x19\x9f<:\xe6"+\xea\xe9J\x88\xe7X\x84f\xe4\
\x11\xf51N\xfa\xdc\xb9\xfb\x06\x0f\x1f\xdc\xe3\xf4\xf4\xb8\x1b\xa6\xdaN\xad\
\xad\xc0\x83\xc1\xa0\x9bu\xda,k\xc1\x16\x8b\x05\xd3\xe9\x94,\xcb\xea\x91\xe2\
\xbf\xa7\\d\x05\xce\x0b\x04mU\x16\xdd\xe0\x1a\xb4\x9e\xf1\xad\x8f\x1a\xda$\
\xd9\xe1\xce\xdd7\xf9\xfc\xd1}.\xce\x8e\xf1\xfe\x04k-\xeb\xf5\x9a\xc5b\xc1l6\
cgg\xa7\x1b#Z\x90\xcdk\xf2<\xe7\xcb\x93s\x9eN\x16L\xf3\xb2\x99g\x00\xd1(\xf3\
\xb3\xc1\xea7\xacqy\xacu\xe3\xfa+\xb7\xd9\xdb\xbf\xc68=\xe1\xf4,\xedF\x89\
\xe1pH\xbf\xdf\'\x8ec\xc20\xec\n]k\xb1q6#_\x94\xe4\x8b\x8a\xca\xb1-\x88B^6V\
\xdb1\xe2\xf1\xce\xe3\xbd\xc3{W\xb7\xf9\xde\xd1FS\xbf\xbfK\x92\x0cX\xad\xe6\
\x14\xf3\t\x93|\xc9t~\x86V\xe7D\x91\xc1h\xd3\xb4\x85\x01\xd6I*\x0b\xa5\xa5\
\xa9\x13\xad\xa5[\xdbo\xbf\x16\xd8\xaa\xac\xde\xd7S\xb9s\xf5,*\xa4EZ\x89\x17\
\xe0\x9d\xc5;\x87s\x9e \x08\xe9\r\xf6\xeb\xbf}-\x82\x95\xf7u\x85\xac.\x87\
\xabKql\x1c\xded\x87\x10\x1b/8|s\x9d\xeb\x82\xe2\xab\xf1\xa2\xe6\xff\x11%\
\x81E\xc4\xf0\x00\x1c\x00\x00\x00\x00IEND\xaeB`\x82'
def get015Bitmap():
return BitmapFromImage(get015Image())
def get015Image():
stream = cStringIO.StringIO(get015Data())
return ImageFromStream(stream)
index.append('015')
catalog['015'] = ImageClass()
catalog['015'].getData = get015Data
catalog['015'].getImage = get015Image
catalog['015'].getBitmap = get015Bitmap
def getData():
return zlib.decompress(
'x\xda\x01@\x04\xbf\xfb\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\
\x00\x00 \x08\x06\x00\x00\x00szz\xf4\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\
\x08d\x88\x00\x00\x03\xf7IDATX\x85\xbd\x97]l\x93U\x18\xc7\x7f\xcfy\xdb\xd5\
\xb5[\xf7%\x92IX\xf6\x91`\xc8\xccHL0h2\x13\xd9\xe2\x94+5\x01b\x1d\xe0\xb57^\
\x93`\xd6%\x12\xe5\x02\xb8\xf2\x9a\x8f\xb0\x19\x0c\t7\xcaT\x1cB\x96\x10.0\
\xccljhV\x07\x0c\x99\xcc}\xf5k-\xd8\xbe\xc7\x8b\xf7\xed\xd6v\xed\xda\xda\xe1\
?=9\x1f\xef9\xe7\xff?\xcf\xfb\x9c\xa7\xef#\xa2\x0c6\x03\xdaL\xe9R\xe7\x8a2$\
\xddvl\x16\xf1\xe3KB<\xa2\x88-AtQ\x11[R\xac\x84\x84xDXYV\xc4B\xc2JHH\x84\x15\
\xc7\x16B:-D*\xb1\x806S:\xf4=\xc4\xc3\xc2/?T\xf1\xe87\x07\xb1\x88\xe0tB\xb5W\
S\xd3h\xe2\xae7y\xce\xa3\xa9\xaa\x86\xe4SXx\xa8\xf8\xf5\xa7*"\xf3\x8a\x13,Wn\
\x01\x80oO\xbby\x1c4P\x0e\x8d\xcb\rN\xa7\x8924\xa24J\x81\xe1\x00\x97[\xd3\
\xd0l\xd2\xd2\x95\xa2\xed\x95$_\x1d\xad\x01@UB,\xca\x90\xba>\x98\r\x18\x1c\
\xfc\xb2\r\x11A)\x8dr\x08\xca\xd0(\x03D\x81d\xd4\x8f\x02\x8am/%9\xc12\xa2\
\x0c\xa9\xd8\x02\xa2\x0c9\xbe\x18\xd1\x1f\x00\xca\x80\xe7w\xbeL\xe7\xbb\xef\
\xb1\xfd\xf5^\xea\xdb:\x89\xfe9I$x\x95\xc8\x1f\x171\x92\x13\x00\xec8\x92\xe1\
\x88\xa2\x8c\x8a\x0b\xa0\x83\x97vi@o\x04@\xdf<\xea\xd4\x80N\xaf\xad\xe8\x15l\
\x06\xcaz\x05\xb9w=\xf3>?\x13\x01\xb9\x84~\xbf\x9f\x9c\xbe\xaeT\xc4:\x01\x99\
\xa4\xb9\x84\xb9\xf0\xfb\xfd\xf8\xfd\xfe\x92#`Q\x01\xdaL\xe9b\xa4\xb9\xf0\
\xf9|\x0c\x0f\x0fo\x8e\x80B\xe8\xe9\xe9\xa1\xb9\xb9\x99\x8e\x8e\x8e\xac\xf1\
\xc1\xc1\xc1us\xbb\xba\xba\xb8s\xcb\x03\xc0\xfc\xc2?LO\'x\xf00\xc1g_\xb8K\
\x17P\x880\x17\xad\xad\xad\x04\x02\x81\xac\xb1\x89\x89\t`O\xd6\xd8\x01\xdf\
\x14\x07?\xcc\xef*\xeb\x04\x0c\x0c\x0clH\x9a\x8b\xf6\xf6\xf6\xac\xbe(C\x1c\
\x9e[:\x19\xb3D\xecyc\x12\x11A\x94!\xf9\xfe17\x8e\x03\xfd\xfd \xb2V\xae_/I\
\x94-\x82\xad\xdbo\xaf\x92\x17\x9a[\xd8\x07\xc4^34\x04##p\xe1\x02\xf4\xf6B2Y\
\x92\x88R\xb1*@\x9b);Z\xda8|\x18v\xef\x06\x9f\x0f\xc6\xc7\xad\xb1C\x87J\xda4\
\xbd\xd7\xd2_\xaf\xa2\xb5FD\n\xc6\x8b\xc2\x168w\xce\xaa\xd3\x96p\xb9\xe0\xcc\
\x99\x92\xc9\xad\xb5\xf6\x98-"\xdf\xfc\x8d} \x1c\x86\xa6&\xab\xfd\xe4\t\xb4\
\xb4\x14\x15P.6\x16\xe0\xf5\xc2\xfc<\xa4\x03\xcd\xccL\xd1\r\xd3\xa7O\xad\xbc\
\x06\xc0\xe4\x9d]Y\xe3\xa5\t\xd8\xb7\xcf2\xfd\xe5\xcbV\xff\xc6\x8d\xa2\xc4\
\x99H\x93[\xcc0\xfa\xdd\xce\x82s\xf3\xfb\xc0\xc8\x88U\xef\xdf\x0f}}p\xe5\x8a\
\xd5\x1f\x1d-\x8f\x1cV\xfd`\xe8l\xfe\xa0\xa6 \xcf\r\xd0\x1a<\x1eH\xa5\xd6\
\xc8\xc7\xc6`\xef\xde\xa2\x02r!\x80\xb6K>\x14\xbe\x05\xd1h\xd9d\xf9\xa0\xf5\
\xaa\x11\xf2\xe2\x7f\xf9"\xd2@\xffG\xc1g\'\xa0ZYg<\xd5^\xcb\xcc\xed\xe3Y\xcf\
D\xa0\xf7\xed\xdf\x89\xde\xbf\xca\x83\xf3\x16]C\xed\xda\xf3M\xc9\x0b\x06\xb7\
Y\xdf\xf8\x89\x98pm\xf0\x18]\x07\xde\xa7\xed\xcd\x1e\x1a\xda;q>\x9dd\xee\xe6\
\xe7$\xe7.R\xed\xb5<a\xfak\xa8\x7f\'\xa5W3#m\xa6\xf4\xd8\xd8X\xd9\xc4\xc1`\
\x90\xa9\xa9)Z\x7f<\xcd\xdc\xb4\x81\x08\xb8\xebL\xbc/\x984\xbeh\xd5u[M\xbc[4\
\xb5M&.\x8f%`6\xe0\xe0\xec\'5k\x99\x91(C\xba\xbb\xbb\xf5\xc9\x93\xa7\xc8\xf4\
W\x01;\x14k\xebg\xb7\xc5\xea"\xb6{\xbd\xf5q\x9c\xc9kU\xfc}\xcf2\xb1w\x8b\x89\
\xa7Q\xe3i\xb0Ju\xad\x89\x99\x82\xd9\xbb\x06\xf7\xc6\x1d\xfc\xfc\x8dk\x8d#37\
,\'\xc3\xcd\xc5\xfd\xf3\x8axH\x88.)\xe2\xcbB,\xa4\x88G\x84DXX\t\x0bq\xbb$\
\xa2\x8aO\x17C\xa4\x0f^Qr\x9a\x89\xff\x9a\x9e\xff\x0b\xd2\xf7\xa5!\xbb\xadY\
\x95\x00\x00\x00\x00IEND\xaeB`\x82\x7f\xd8\x11\r' )
def getBitmap():
return wx.BitmapFromImage(getImage())
def getImage():
stream = cStringIO.StringIO(getData())
return wx.ImageFromStream(stream)
def getIcon():
icon = wx.EmptyIcon()
icon.CopyFromBitmap(getBitmap())
return icon
if __name__ == "__main__":
sys.exit(main())
|