diff --git a/manticore/__main__.py b/manticore/__main__.py index 1326edb..720cbc0 100644 --- a/manticore/__main__.py +++ b/manticore/__main__.py @@ -68,7 +68,6 @@ def parse_arguments(): def main(): args = parse_arguments() - env = {key:val for key, val in map(lambda env: env[0].split('='), args.env)} Manticore.verbosity(args.v) @@ -89,7 +88,6 @@ def main(): for file in args.files: initial_state.platform.add_symbolic_file(file) - m.run(procs=args.procs, timeout=args.timeout, should_profile=args.profile) if __name__ == '__main__': diff --git a/manticore/core/cpu/abstractcpu.py b/manticore/core/cpu/abstractcpu.py index fbfb402..cf728e0 100644 --- a/manticore/core/cpu/abstractcpu.py +++ b/manticore/core/cpu/abstractcpu.py @@ -363,6 +363,9 @@ class Cpu(Eventful): - stack_alias ''' + _published_events = {'write_register', 'read_register', 'write_memory', 'read_memory', 'decode_instruction', + 'execute_instruction'} + def __init__(self, regfile, memory, **kwargs): assert isinstance(regfile, RegisterFile) self._disasm = kwargs.pop("disasm", 'capstone') @@ -437,9 +440,9 @@ class Cpu(Eventful): :param value: register value :type value: int or long or Expression ''' - self.publish('will_write_register', register, value) + self._publish('will_write_register', register, value) value = self._regfile.write(register, value) - self.publish('did_write_register', register, value) + self._publish('did_write_register', register, value) return value def read_register(self, register): @@ -450,9 +453,9 @@ class Cpu(Eventful): :return: register value :rtype: int or long or Expression ''' - self.publish('will_read_register', register) + self._publish('will_read_register', register) value = self._regfile.read(register) - self.publish('did_read_register', register, value) + self._publish('did_read_register', register, value) return value # Pythonic access to registers and aliases @@ -498,11 +501,11 @@ class Cpu(Eventful): if size is None: size = self.address_bit_size assert size in SANE_SIZES - self.publish('will_write_memory', where, expression, size) + self._publish('will_write_memory', where, expression, size) self.memory[where:where+size/8] = [Operators.CHR(Operators.EXTRACT(expression, offset, 8)) for offset in xrange(0, size, 8)] - self.publish('did_write_memory', where, expression, size) + self._publish('did_write_memory', where, expression, size) def read_int(self, where, size=None): @@ -517,13 +520,13 @@ class Cpu(Eventful): if size is None: size = self.address_bit_size assert size in SANE_SIZES - self.publish('will_read_memory', where, size) + self._publish('will_read_memory', where, size) data = self.memory[where:where + size / 8] assert (8 * len(data)) == size value = Operators.CONCAT(size, *map(Operators.ORD, reversed(data))) - self.publish('did_read_memory', where, value, size) + self._publish('did_read_memory', where, value, size) return value @@ -727,12 +730,12 @@ class Cpu(Eventful): if not self.memory.access_ok(self.PC, 'x'): raise InvalidMemoryAccess(self.PC, 'x') - self.publish('will_decode_instruction', self.PC) + self._publish('will_decode_instruction', self.PC) insn = self.decode_instruction(self.PC) self._last_pc = self.PC - self.publish('will_execute_instruction', insn) + self._publish('will_execute_instruction', self.PC, insn) # FIXME (theo) why just return here? if insn.address != self.PC: @@ -744,10 +747,7 @@ class Cpu(Eventful): text_bytes = ' '.join('%02x'%x for x in insn.bytes) logger.info("Unimplemented instruction: 0x%016x:\t%s\t%s\t%s", insn.address, text_bytes, insn.mnemonic, insn.op_str) - - self.publish('will_emulate_instruction', insn) self.emulate(insn) - self.publish('did_emulate_instruction', insn) implementation = getattr(self, name, fallback_to_emulate) @@ -759,7 +759,7 @@ class Cpu(Eventful): implementation(*insn.operands) self._icount += 1 - self.publish('did_execute_instruction', insn) + self._publish('did_execute_instruction', self._last_pc, self.PC, insn) def emulate(self, insn): ''' diff --git a/manticore/core/cpu/binja.py b/manticore/core/cpu/binja.py index 216626c..a38c7f2 100644 --- a/manticore/core/cpu/binja.py +++ b/manticore/core/cpu/binja.py @@ -390,12 +390,12 @@ class BinjaCpu(Cpu): if not self.memory.access_ok(self.PC, 'x'): raise InvalidMemoryAccess(self.PC, 'x') - self.publish('will_decode_instruction', self.PC) + self._publish('will_decode_instruction', self.PC) insn = self.decode_instruction(self.PC) self._last_pc = self.PC - self.publish('will_execute_instruction', insn) + self._publish('will_execute_instruction', insn) # FIXME (theo) why just return here? if insn.address != self.PC: @@ -415,9 +415,9 @@ class BinjaCpu(Cpu): logger.info("Unimplemented instruction: 0x%016x:\t%s\t%s\t%s", insn.address, text_bytes, insn.mnemonic, insn.op_str) - self.publish('will_emulate_instruction', insn) + self._publish('will_emulate_instruction', insn) self.emulate(insn) - self.publish('did_emulate_instruction', insn) + self._publish('did_emulate_instruction', insn) implementation = getattr(self, name, fallback_to_emulate) @@ -453,7 +453,7 @@ class BinjaCpu(Cpu): self.PC = self._last_pc + insn.size self._icount += 1 - self.publish('did_execute_instruction', insn) + self._publish('did_execute_instruction', insn) def update_platform_cpu_regs(self): for pl_reg, binja_reg in self.regfile.pl2b_map.items(): diff --git a/manticore/core/executor.py b/manticore/core/executor.py index 12ba236..8ff4b29 100644 --- a/manticore/core/executor.py +++ b/manticore/core/executor.py @@ -42,7 +42,7 @@ class Policy(object): def __init__(self, executor, *args, **kwargs): super(Policy, self).__init__(*args, **kwargs) self._executor = executor - self._executor.subscribe('did_add_state', self._add_state_callback) + self._executor.subscribe('did_enqueue_state', self._add_state_callback) @contextmanager def locked_context(self, key=None, default=dict): @@ -163,6 +163,8 @@ class Executor(Eventful): conditions (system calls, memory faults, concretization, etc.) ''' + _published_events = {'enqueue_state', 'generate_testcase', 'fork_state', 'load_state', 'terminate_state'} + def __init__(self, initial=None, workspace=None, policy='random', context=None, **kwargs): super(Executor, self).__init__(**kwargs) @@ -246,7 +248,7 @@ class Executor(Eventful): #Forward all state signals self.forward_events_from(state, True) - def add(self, state): + def enqueue(self, state): ''' Enqueue state. Save state on storage, assigns an id to it, then add it to the @@ -255,7 +257,7 @@ class Executor(Eventful): #save the state to secondary storage state_id = self._workspace.save_state(state) self.put(state_id) - self.publish('did_add_state', state_id, state) + self._publish('did_enqueue_state', state_id, state) return state_id def load_workspace(self): @@ -352,7 +354,7 @@ class Executor(Eventful): #broadcast test generation. This is the time for other modules #to output whatever helps to understand this testcase - self.publish('will_generate_testcase', state, 'test', message) + self._publish('will_generate_testcase', state, 'test', message) def fork(self, state, expression, policy='ALL', setstate=None): ''' @@ -385,7 +387,7 @@ class Executor(Eventful): policy, ', '.join('0x{:x}'.format(sol) for sol in solutions)) - self.publish('will_fork_state', state, expression, solutions, policy) + self._publish('will_fork_state', state, expression, solutions, policy) #Build and enqueue a state for each solution children = [] @@ -397,10 +399,10 @@ class Executor(Eventful): #(or other register or memory address to concrete) setstate(new_state, new_value) - self.publish('forking_state', new_state, expression, new_value, policy) + self._publish('did_fork_state', new_state, expression, new_value, policy) #enqueue new_state - state_id = self.add(new_state) + state_id = self.enqueue(new_state) #maintain a list of childres for logging purpose children.append(state_id) @@ -436,8 +438,8 @@ class Executor(Eventful): if current_state_id is not None: current_state = self._workspace.load_state(current_state_id) self.forward_events_from(current_state, True) + self._publish('did_load_state', current_state, current_state_id) logger.info("load state %r", current_state_id) - self.publish('will_load_state', current_state, current_state_id) #notify siblings we have a state to play with self._notify_start_run() @@ -456,7 +458,7 @@ class Executor(Eventful): break else: #Notify this worker is done - self.publish('will_terminate_state', current_state, current_state_id, 'Shutdown') + self._publish('will_terminate_state', current_state, current_state_id, 'Shutdown') current_state = None @@ -472,7 +474,7 @@ class Executor(Eventful): except TerminateState as e: #Notify this worker is done - self.publish('will_terminate_state', current_state, current_state_id, e) + self._publish('will_terminate_state', current_state, current_state_id, e) logger.debug("Generic terminate state") if e.testcase: @@ -485,7 +487,7 @@ class Executor(Eventful): logger.error("Exception: %s\n%s", str(e), trace) #Notify this state is done - self.publish('will_terminate_state', current_state, current_state_id, e) + self._publish('will_terminate_state', current_state, current_state_id, e) if solver.check(current_state.constraints): self.generate_testcase(current_state, "Solver failed" + str(e)) @@ -497,7 +499,7 @@ class Executor(Eventful): print str(e), trace logger.error("Exception: %s\n%s", str(e), trace) #Notify this worker is done - self.publish('will_terminate_state', current_state, current_state_id, 'Exception') + self._publish('will_terminate_state', current_state, current_state_id, 'Exception') current_state = None logger.setState(None) @@ -505,6 +507,3 @@ class Executor(Eventful): #notify siblings we are about to stop this run self._notify_stop_run() - - #Notify this worker is done (not sure it's needed) - self.publish('will_finish_run') diff --git a/manticore/core/plugin.py b/manticore/core/plugin.py new file mode 100644 index 0000000..66a8b4b --- /dev/null +++ b/manticore/core/plugin.py @@ -0,0 +1,152 @@ +import logging +from ..utils.helpers import issymbolic +from ..utils.event import Eventful +logger = logging.getLogger('MANTICORE') + + +class Plugin(object): + def __init__(self): + self.manticore = None + +class Tracer(Plugin): + def will_start_run_callback(self, state): + state.context['trace'] = [] + + def did_execute_instruction_callback(self, state, pc, target_pc, instruction): + state.context['trace'].append(pc) + + +class RecordSymbolicBranches(Plugin): + def will_start_run_callback(self, state): + state.context['branches'] = {} + + def did_execute_instruction_callback(self, state, last_pc, target_pc, instruction): + if state.context.get('forking_pc', False): + branches = state.context['branches'] + branch = (last_pc, target_pc) + if branch in branches: + branches[branch] += 1 + else: + branches[branch] = 1 + state.context['forking_pc'] = False + + if issymbolic(target_pc): + state.context['forking_pc'] = True + +class InstructionCounter(Plugin): + + def will_terminate_state_callback(self, state, state_id, ex): + if state is None: #FIXME Can it be None? + return + state_instructions_count = state.context.get('instructions_count', 0) + + with self.manticore.locked_context() as manticore_context: + manticore_instructions_count = manticore_context.get('instructions_count', 0) + manticore_context['instructions_count'] = manticore_instructions_count + state_instructions_count + + def did_execute_instruction_callback(self, state, prev_pc, target_pc, instruction): + address = prev_pc + if not issymbolic(address): + count = state.context.get('instructions_count', 0) + state.context['instructions_count'] = count + 1 + + def did_finish_run_callback(self): + _shared_context = self.manticore.context + instructions_count = _shared_context.get('instructions_count', 0) + logger.info('Instructions executed: %d', instructions_count) + + +class Visited(Plugin): + def __init__(self, coverage_file='visited.txt'): + super(Visited, self).__init__() + self.coverage_file = coverage_file + + def will_terminate_state_callback(self, state, state_id, ex): + if state is None: + return + state_visited = state.context.get('visited_since_last_fork', set()) + with self.manticore.locked_context() as manticore_context: + manticore_visited = manticore_context.get('visited', set()) + manticore_context['visited'] = manticore_visited.union(state_visited) + + def will_fork_state_callback(self, state, expression, values, policy): + state_visited = state.context.get('visited_since_last_fork', set()) + with self.manticore.locked_context() as manticore_context: + manticore_visited = manticore_context.get('visited', set()) + manticore_context['visited'] = manticore_visited.union(state_visited) + state.context['visited_since_last_fork'] = set() + + def did_execute_instruction_callback(self, state, prev_pc, target_pc, instruction): + state.context.setdefault('visited_since_last_fork', set()).add(prev_pc) + state.context.setdefault('visited', set()).add(prev_pc) + + + def did_finish_run_callback(self): + _shared_context = self.manticore.context + executor_visited = _shared_context.get('visited', set()) + #Fixme this is duplicated? + if self.coverage_file is not None: + with self.manticore._output.save_stream(self.coverage_file) as f: + fmt = "0x{:016x}\n" + for m in executor_visited: + f.write(fmt.format(m)) + logger.info('Coverage: %d different instructions executed', len(executor_visited)) + + + +#TODO document all callbacks +class ExamplePlugin(Plugin): + def will_decode_instruction_callback(self, state, pc): + logger.info('will_decode_instruction', state, pc) + def will_execute_instruction_callback(self, state, pc, instruction): + logger.info('will_execute_instruction', state, pc, instruction) + + def did_execute_instruction_callback(self, state, pc, target_pc, instruction): + logger.info('did_execute_instruction', state, pc, target_pc, instruction) + def will_start_run_callback(self, state): + ''' Called once at the begining of the run. + state is the initial root state + ''' + logger.info('will_start_run') + + def did_finish_run_callback(self): + logger.info('did_finish_run') + + def did_enqueue_state_callback(self, state_id, state): + ''' state was just got enqueued in the executor procesing list''' + logger.info('did_enqueue_state %r %r', state_id, state) + + def will_fork_state_callback(self, parent_state, expression, solutions, policy): + logger.info('will_fork_state %r %r %r %r',parent_state, expression, solutions, policy) + def did_fork_state_callback(self, child_state, expression, new_value, policy): + logger.info('did_fork_state %r %r %r %r', child_state, expression, new_value, policy) + def did_load_state_callback(self, state, state_id): + logger.info('did_load_state %r %r', state, state_id) + def did_enqueue_state_callback(self, state, state_id): + logger.info('did_enqueue_state %r %r', state, state_id) + def will_terminate_state_callback(self, state, state_id, exception): + logger.info('will_terminate_state %r %r %r', state, state_id, exception) + def will_generate_testcase_callback(self, state, testcase_id, message): + logger.info('will_generate_testcase %r %r %r', state, testcase_id, message) + + def will_read_memory_callback(self, state, where, size): + logger.info('will_read_memory %r %r %r', state, where, size) + def did_read_memory_callback(self, state, where, value, size): + logger.info('did_read_memory %r %r %r %r', state, where, value, size) + + def will_write_memory_callback(self, state, where, value, size): + logger.info('will_write_memory %r %r %r', state, where, value, size) + def did_write_memory_callback(self, state, where, value, size): + logger.info('did_write_memory %r %r %r %r', state, where, value, size) + + def will_read_register_callback(self, state, register): + logger.info('will_read_register %r %r', state, register) + def did_read_register_callback(self, state, register, value): + logger.info('did_read_register %r %r %r', state, register, value) + + def will_write_register_callback(self, state, register, value): + logger.info('will_write_register %r %r %r', state, register, value) + def did_write_register_callback(self, state, register, value): + logger.info('did_write_register %r %r %r', state, register, value) + + diff --git a/manticore/core/state.py b/manticore/core/state.py index 900839d..6f27236 100644 --- a/manticore/core/state.py +++ b/manticore/core/state.py @@ -68,6 +68,8 @@ class State(Eventful): :ivar dict context: Local context for arbitrary data storage ''' + _published_events = {'generate_testcase'} + def __init__(self, constraints, platform, **kwargs): super(State, self).__init__(**kwargs) self._platform = platform @@ -374,4 +376,4 @@ class State(Eventful): :param str name: Short string identifying this testcase used to prefix workspace entries. :param str message: Longer description """ - self.publish('will_generate_testcase', name, message) + self._publish('will_generate_testcase', name, message) diff --git a/manticore/manticore.py b/manticore/manticore.py index 106ff63..9948d6a 100644 --- a/manticore/manticore.py +++ b/manticore/manticore.py @@ -6,12 +6,13 @@ import binascii import functools import cProfile import pstats - +import itertools from multiprocessing import Process from contextlib import contextmanager from threading import Timer +#FIXME: remove this three import elftools from elftools.elf.elffile import ELFFile from elftools.elf.sections import SymbolTableSection @@ -21,9 +22,12 @@ from .core.parser import parse from .core.state import State, TerminateState from .core.smtlib import solver, ConstraintSet from .core.workspace import ManticoreOutput, Workspace +from .core.cpu.abstractcpu import Cpu from .platforms import linux, decree, windows from .utils.helpers import issymbolic, is_binja_disassembler from .utils.nointerrupt import WithKeyboardInterruptAs +from .utils.event import Eventful +from .core.plugin import Plugin, InstructionCounter, RecordSymbolicBranches, Visited, Tracer import logging from .utils import log @@ -160,7 +164,7 @@ def make_initial_state(binary_path, **kwargs): raise NotImplementedError("Binary {} not supported.".format(binary_path)) return state -class Manticore(object): +class Manticore(Eventful): ''' The central analysis object. @@ -171,7 +175,10 @@ class Manticore(object): :ivar dict context: Global context for arbitrary data storage ''' + _published_events = {'start_run', 'finish_run'} + def __init__(self, path_or_state, argv=None, workspace_url=None, policy='random', **kwargs): + super(Manticore, self).__init__() if isinstance(workspace_url, str): if ':' not in workspace_url: @@ -182,28 +189,14 @@ class Manticore(object): ws_path = None self._output = ManticoreOutput(ws_path) self._context = {} - self._coverage_file = None #sugar for 'will_execute_instruction" self._hooks = {} - - self._symbolic_files = [] - self._executor = Executor(workspace=ws_path, policy=policy) self._workers = [] - #Link Executor events to default callbacks in manticore object - self._executor.subscribe('did_read_register', self._read_register_callback) - self._executor.subscribe('will_write_register', self._write_register_callback) - self._executor.subscribe('did_read_memory', self._read_memory_callback) - self._executor.subscribe('will_write_memory', self._write_memory_callback) - self._executor.subscribe('will_execute_instruction', self._execute_instruction_callback) - self._executor.subscribe('will_decode_instruction', self._decode_instruction_callback) - self._executor.subscribe('will_fork_state', self._fork_state_callback) - self._executor.subscribe('forking_state', self._forking_state_callback) - self._executor.subscribe('will_terminate_state', self._terminate_state_callback) - self._executor.subscribe('will_generate_testcase', self._generate_testcase_callback) - self._executor.subscribe('did_finish_run', self._finish_run_callback) + #Link Executor events to default callbacks in manticore object + self.forward_events_from(self._executor) if isinstance(path_or_state, str): assert os.path.isfile(path_or_state) @@ -213,8 +206,57 @@ class Manticore(object): else: raise TypeError("Manticore must be intialized with either a State or a path to a binary") - #Move the folowwing into a plugin + + self.plugins = set() + + #Move the folowing into a plugin self._assertions = {} + self._coverage_file = None + + #FIXME move the folowing to aplugin + self.subscribe('will_generate_testcase', self._generate_testcase_callback) + self.subscribe('did_finish_run', self._did_finish_run_callback) + + #Default plugins for now.. FIXME? + self.register_plugin(InstructionCounter()) + self.register_plugin(Visited()) + self.register_plugin(Tracer()) + self.register_plugin(RecordSymbolicBranches()) + + + def register_plugin(self, plugin): + #Global enumeration of valid events + assert isinstance(plugin, Plugin) + assert plugin not in self.plugins, "Plugin instance already registered" + assert plugin.manticore is None, "Plugin instance already owned" + + plugin.manticore = self + self.plugins.add(plugin) + + events = Eventful.all_events() + prefix = Eventful.prefixes + all_events = [x+y for x, y in itertools.product(prefix, events)] + for event_name in all_events: + callback_name = '{}_callback'.format(event_name) + callback = getattr(plugin, callback_name, None) + if callback is not None: + self.subscribe(event_name, callback) + + if logger.isEnabledFor(logging.DEBUG): + for callback_name in dir(plugin): + if callback_name.endswith('_callback'): + event_name = callback_name[:-9] + if event_name not in all_events: + logger.warning("There is no event name %s for callback on plugin type %s", event_name, type(plugin) ) + + + + def unregister_plugin(self, plugin): + assert plugin in self.plugins, "Plugin instance not registered" + self.plugins.remove(plugin) + plugin.manticore = None + + @classmethod def linux(cls, path, argv=None, envp=None, symbolic_files=None, concrete_start='', **kwargs): @@ -336,6 +378,49 @@ class Manticore(object): self._workers.append(p) p.start() + @property + def running(self): + return self._executor._running.value + + def enqueue(self, state): + ''' Dynamically enqueue states. Users should typically not need to do this ''' + assert not self.running, "Can't add state where running. Can we?" + self._executor.enqueue(state) + + ########################################################################### + # Workers # + ########################################################################### + def _start_workers(self, num_processes, profiling=False): + assert num_processes > 0, "Must have more than 0 worker processes" + + logger.info("Starting %d processes.", num_processes) + + if profiling: + def profile_this(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + profile = cProfile.Profile() + profile.enable() + result = func(*args, **kwargs) + profile.disable() + profile.create_stats() + with self.locked_context('profiling_stats', list) as profiling_stats: + profiling_stats.append(profile.stats.items()) + return result + return wrapper + + target = profile_this(self._executor.run) + else: + target = self._executor.run + + if num_processes == 1: + target() + else: + for _ in range(num_processes): + p = Process(target=target, args=()) + self._workers.append(p) + p.start() + def _join_workers(self): with WithKeyboardInterruptAs(self._executor.shutdown): while len(self._workers) > 0: @@ -352,7 +437,7 @@ class Manticore(object): ''' def callback(manticore_obj, state): f(state) - self._executor.subscribe('will_start_run', types.MethodType(callback, self)) + self.subscribe('will_start_run', types.MethodType(callback, self)) return f def hook(self, pc): @@ -385,8 +470,7 @@ class Manticore(object): if self._hooks: self._executor.subscribe('will_execute_instruction', self._hook_callback) - def _hook_callback(self, state, instruction): - pc = state.cpu.PC + def _hook_callback(self, state, pc, instruction): 'Invoke all registered generic hooks' # Ignore symbolic pc. @@ -451,10 +535,9 @@ class Manticore(object): if pc in self._assertions: logger.debug("Repeated PC in assertions file %s", path) self._assertions[pc] = ' '.join(line.split(' ')[1:]) - self._executor.subscribe('will_execute_instruction', self._assertions_callback) + self.subscribe('will_execute_instruction', self._assertions_callback) - def _assertions_callback(self, state, instruction): - pc = state.cpu.PC + def _assertions_callback(self, state, pc, instruction): if pc not in self._assertions: return @@ -480,61 +563,6 @@ class Manticore(object): #Some are Place holders Remove #Any platform specific callback should go to a plugin - def _terminate_state_callback(self, state, state_id, ex): - #aggregates state statistics into exceutor statistics. FIXME split - logger.debug("Terminate state %r %r ", state, state_id) - if state is None: - return - state_visited = state.context.get('visited_since_last_fork', set()) - state_instructions_count = state.context.get('instructions_count', 0) - with self.locked_context() as manticore_context: - manticore_visited = manticore_context.get('visited', set()) - manticore_context['visited'] = manticore_visited.union(state_visited) - - manticore_instructions_count = manticore_context.get('instructions_count', 0) - manticore_context['instructions_count'] = manticore_instructions_count + state_instructions_count - - def _forking_state_callback(self, state, expression, value, policy): - state.record_branch(value) - - def _fork_state_callback(self, state, expression, values, policy): - state_visited = state.context.get('visited_since_last_fork', set()) - with self.locked_context() as manticore_context: - manticore_visited = manticore_context.get('visited', set()) - manticore_context['visited'] = manticore_visited.union(state_visited) - state.context['visited_since_last_fork'] = set() - - def _read_register_callback(self, state, reg_name, value): - logger.debug("Read Register %r %r", reg_name, value) - - def _write_register_callback(self, state, reg_name, value): - logger.debug("Write Register %r %r", reg_name, value) - - def _read_memory_callback(self, state, address, value, size): - logger.debug("Read Memory %r %r %r", address, value, size) - - def _write_memory_callback(self, state, address, value, size): - logger.debug("Write Memory %r %r %r", address, value, size) - - def _decode_instruction_callback(self, state, pc): - logger.debug("Decoding stuff instruction not available") - - def _emulate_instruction_callback(self, state, instruction): - logger.debug("About to emulate instruction") - - def _did_execute_instruction_callback(self, state, instruction): - logger.debug("Did execute an instruction") - - def _execute_instruction_callback(self, state, instruction): - address = state.cpu.PC - if not issymbolic(address): - state.context.setdefault('trace', list()).append(address) - state.context.setdefault('visited_since_last_fork', set()).add(address) - state.context.setdefault('visited', set()).add(address) - count = state.context.get('instructions_count', 0) - state.context['instructions_count'] = count + 1 - - def _generate_testcase_callback(self, state, name, message): ''' Create a serialized description of a given state. @@ -575,7 +603,7 @@ class Manticore(object): def _start_run(self): assert not self.running #FIXME this will be self.publish - self._executor.publish('will_start_run', self._initial_state) + self._publish('will_start_run', self._initial_state) self.enqueue(self._initial_state) self._initial_state = None @@ -589,8 +617,8 @@ class Manticore(object): if profiling: self._produce_profiling_data() - #FIXME this will be self.publish - self._executor.publish('did_finish_run') + + self._publish('did_finish_run') def run(self, procs=1, timeout=0, should_profile=False): ''' @@ -628,8 +656,6 @@ class Manticore(object): ############################################################################# ############################################################################# # Move all the following elsewhere Not all manticores have this - - def _get_symbol_address(self, symbol): ''' Return the address of |symbol| within the binary @@ -664,30 +690,14 @@ class Manticore(object): assert not self.running, "Can't set coverage file if Manticore is running." self._coverage_file = path - def _finish_run_callback(self): + def _did_finish_run_callback(self): _shared_context = self.context - executor_visited = _shared_context.get('visited', set()) - #Fixme this is duplicated? - if self.coverage_file is not None: - with self._output.save_stream(self.coverage_file) as f: - fmt = "0x{:016x}\n" - for m in executor_visited: - f.write(fmt.format(m[1])) - - with self._output.save_stream('visited.txt') as f: - for entry in sorted(executor_visited): - f.write('0:{:08x}\n'.format(entry)) with self._output.save_stream('command.sh') as f: f.write(' '.join(sys.argv)) - instructions_count = _shared_context.get('instructions_count', 0) elapsed = time.time() - self._time_started logger.info('Results in %s', self._output.uri) - logger.info('Instructions executed: %d', instructions_count) - logger.info('Coverage: %d different instructions executed', len(executor_visited)) - #logger.info('Number of paths covered %r', State.state_count()) logger.info('Total time: %s', elapsed) - logger.info('IPS: %d', instructions_count/elapsed) diff --git a/manticore/utils/event.py b/manticore/utils/event.py index 98f365b..11111f0 100644 --- a/manticore/utils/event.py +++ b/manticore/utils/event.py @@ -1,6 +1,37 @@ import inspect +import logging from weakref import ref, WeakSet, WeakKeyDictionary, WeakValueDictionary -from types import MethodType + +logger = logging.getLogger(__name__) + +class EventsGatherMetaclass(type): + ''' + Metaclass that is used for Eventful to gather events that classes declare to + publish. + ''' + def __new__(cls, name, parents, d): + eventful_sub = super(EventsGatherMetaclass, cls).__new__(cls, name, parents, d) + + bases = inspect.getmro(parents[0]) + if len(bases) < 2: + return eventful_sub + + # bases[-1] is always 'object', bases[-2] is next super class, which + # will always be Eventful. + eventful_cls = bases[-2] + subclasses = bases[:-2] + relevant_classes = [eventful_sub] + list(subclasses) + # Add a class that defines '_published_events' classmethod to a dict for + # later lookup. Aggregate the events of all subclasses. + relevant_events = set() + for sub in relevant_classes: + # Not using hasattr() here because we only want classes where it's explicitly + # defined. + if '_published_events' in sub.__dict__: + relevant_events.update(sub._published_events) + eventful_cls.__all_events__[eventful_sub] = relevant_events + + return eventful_sub class Eventful(object): ''' @@ -10,6 +41,27 @@ class Eventful(object): - let foreign objects subscribe their methods to events emitted here - forward events to/from other eventful objects ''' + __metaclass__ = EventsGatherMetaclass + + # Maps an Eventful subclass with a set of all the events it publishes. + __all_events__ = dict() + + # Set in subclass to advertise the events it plans to publish + _published_events = set() + + #Event names prefixes + prefixes = ('will_', 'did_', 'on_') + + @classmethod + def all_events(cls): + ''' + Return all events that all subclasses have so far registered to publish. + ''' + all_evts = set() + for cls, evts in cls.__all_events__.items(): + all_evts.update(evts) + return all_evts + def __init__(self, *args, **kwargs): # A dictionary from "event name" -> callback methods # Note that several methods can be associated with the same object @@ -46,8 +98,27 @@ class Eventful(object): #A bucket is a dictionary obj -> set(method1, method2...) return self._signals.setdefault(name, dict()) + def _check_event(self, _name): + basename = _name + for prefix in self.prefixes: + if _name.startswith(prefix): + basename = _name[len(prefix):] + + cls = self.__class__ + if basename not in cls.__all_events__[cls]: + logger.warning("Event '%s' not pre-declared. (self: %s)", _name, repr(self)) + + + # Wrapper for _publish_impl that also makes sure the event is published from + # a class that supports it. # The underscore _name is to avoid naming collisions with callback params - def publish(self, _name, *args, **kwargs): + def _publish(self, _name, *args, **kwargs): + self._check_event(_name) + self._publish_impl(_name, *args, **kwargs) + + # Separate from _publish since the recursive method call to forward an event + # shouldn't check the event. + def _publish_impl(self, _name, *args, **kwargs): bucket = self._get_signal_bucket(_name) for robj, methods in bucket.iteritems(): for callback in methods: @@ -57,9 +128,9 @@ class Eventful(object): # the callback signature. This is set on forward_events_from/to for sink, include_source in self._forwards.items(): if include_source: - sink.publish(_name, self, *args, **kwargs) + sink._publish_impl(_name, self, *args, **kwargs) else: - sink.publish(_name, *args, **kwargs) + sink._publish_impl(_name, *args, **kwargs) def subscribe(self, name, method): if not inspect.ismethod(method): diff --git a/tests/reference/arguments_linux_arm64_visited.txt b/tests/reference/arguments_linux_arm64_visited.txt index 4bbb308..34a5a66 100644 --- a/tests/reference/arguments_linux_arm64_visited.txt +++ b/tests/reference/arguments_linux_arm64_visited.txt @@ -1,3670 +1,3661 @@ -0:004002d8 -0:004002dc -0:004002e3 -0:004002e6 -0:004002ed -0:004002f1 -0:00400370 -0:00400ba0 -0:00400ba1 -0:00400ba8 -0:00400bab -0:00400bac -0:00400bc0 -0:00400bc1 -0:00400bc4 -0:00400bc6 -0:00400bc8 -0:00400bc9 -0:00400bd0 -0:00400bd5 -0:00400bdc -0:00400be3 -0:00400be5 -0:00400be7 -0:00400be9 -0:00400bec -0:00400c0b -0:00400c0e -0:00400c13 -0:00400c18 -0:00400c1b -0:00400c20 -0:00400c23 -0:00400c28 -0:00400c2b -0:00400c2e -0:00400c34 -0:00400c3a -0:00400c3e -0:00400c41 -0:00400c45 -0:00400c47 -0:00400c49 -0:00400c4f -0:00400c58 -0:00400c5b -0:00400c5e -0:00400c61 -0:00400c64 -0:00400c6a -0:00400c6e -0:00400c71 -0:00400c73 -0:00400c75 -0:00400c77 -0:00400c80 -0:00400c82 -0:00400c84 -0:00400c87 -0:00400c89 -0:00400c8c -0:00400c8e -0:00400c91 -0:00400c94 -0:00400c97 -0:00400c99 -0:00400c9c -0:00400ca3 -0:00400ca7 -0:00400caa -0:00400cb1 -0:00400cb8 -0:00400cbb -0:00400cbe -0:00400cc5 -0:00400cc8 -0:00400cce -0:00400cd1 -0:00400cd8 -0:00400cdc -0:00400cdf -0:00400ce6 -0:00400ced -0:00400cf0 -0:00400cf3 -0:00400cfa -0:00400cfe -0:00400cff -0:00400d01 -0:00400d03 -0:00400d04 -0:00400dbe -0:00400dc1 -0:00400dc7 -0:00400dc9 -0:00400dcd -0:00400dcf -0:00400dd1 -0:00400dd7 -0:00400dda -0:00400ddd -0:00400ddf -0:00400de1 -0:00400de7 -0:00400dea -0:00400dec -0:00400dee -0:00400df0 -0:00400df6 -0:00400df8 -0:00400dfa -0:00400dfd -0:00400e00 -0:00400e03 -0:00400e06 -0:00400e08 -0:00400e0a -0:00400e0c -0:00400e0e -0:00400e11 -0:00400e40 -0:00400e42 -0:00400e45 -0:00400e46 -0:00400e49 -0:00400e4d -0:00400e4e -0:00400e4f -0:00400e56 -0:00400e5d -0:00400e64 -0:00400e70 -0:00400e77 -0:00400e78 -0:00400e7f -0:00400e82 -0:00400e85 -0:00400e89 -0:00400ea0 -0:00400ea1 -0:00400eb0 -0:00400eb7 -0:00400eb8 -0:00400ebf -0:00400ec2 -0:00400ec5 -0:00400ec9 -0:00400ecc -0:00400ed0 -0:00400ed3 -0:00400ed6 -0:00400ef0 -0:00400ef1 -0:00400f00 -0:00400f07 -0:00400f09 -0:00400f11 -0:00400f12 -0:00400f15 -0:00400f23 -0:00400f28 -0:00400f30 -0:00400f32 -0:00400f39 -0:00400f3e -0:00400f3f -0:00400f46 -0:00400f50 -0:00400f58 -0:00400f59 -0:00400f5c -0:00400f5e -0:00400f65 -0:00400f6c -0:00400f71 -0:00400f78 -0:00400f7c -0:00400f7e -0:00400f7f -0:00400f98 -0:00400f99 -0:00400f9c -0:00400fa4 -0:00400fa9 -0:00400fb1 -0:00400fb4 -0:00400fb8 -0:00400fbc -0:00400fc5 -0:00400fc9 -0:00400fcb -0:00400fce -0:00400fd0 -0:00400fd7 -0:00400fdc -0:00400fe1 -0:00400fe5 -0:00400fe7 -0:00400feb -0:00400fef -0:00400ff2 -0:00400ff9 -0:00400ffc -0:00401001 -0:00401003 -0:00401005 -0:0040100c -0:00401011 -0:00401016 -0:00401029 -0:0040102d -0:00401036 -0:0040103d -0:0040103e -0:00401040 -0:00401041 -0:00401044 -0:00401046 -0:00401048 -0:0040104a -0:0040104c -0:0040104d -0:00401054 -0:00401059 -0:00401060 -0:00401067 -0:0040106e -0:00401074 -0:00401077 -0:0040107e -0:00401081 -0:00401084 -0:00401087 -0:00401096 -0:0040109d -0:004010a4 -0:004010a8 -0:004010aa -0:004010b1 -0:004010b8 -0:004010bd -0:004010c0 -0:004010c7 -0:004010ca -0:004010d0 -0:004010d4 -0:004010d9 -0:004010db -0:004010e0 -0:004010e7 -0:004010eb -0:0040113d -0:00401144 -0:00401146 -0:00401148 -0:0040114a -0:00401151 -0:00401158 -0:00401160 -0:00401163 -0:00401167 -0:0040116e -0:00401171 -0:00401173 -0:00401177 -0:0040117a -0:00401188 -0:0040118d -0:0040118f -0:00401195 -0:0040119c -0:0040119e -0:004011a0 -0:004011a6 -0:004011ad -0:004011af -0:004011b4 -0:004011c2 -0:004011c4 -0:004011c9 -0:004011ce -0:004011d5 -0:004011d8 -0:004011db -0:004011dd -0:004011e6 -0:004011ea -0:004011f3 -0:004011f6 -0:00401204 -0:0040120b -0:00401212 -0:00401218 -0:0040121b -0:00401220 -0:00401223 -0:00401225 -0:00401227 -0:00401229 -0:0040122c -0:00401231 -0:00401238 -0:0040123b -0:00401241 -0:00401244 -0:00401246 -0:0040124d -0:00401254 -0:0040125a -0:0040125d -0:00401260 -0:00401262 -0:00401264 -0:00401269 -0:00401270 -0:00401275 -0:00401277 -0:00401279 -0:00401282 -0:00401286 -0:0040128f -0:00401293 -0:0040129a -0:004012a3 -0:004012aa -0:004012b1 -0:004012b7 -0:004012ba -0:004012c1 -0:004012c3 -0:004012c5 -0:00401440 -0:00401441 -0:00401444 -0:00401446 -0:00401448 -0:0040144a -0:0040144c -0:0040144d -0:00401454 -0:00401459 -0:00401460 -0:00401467 -0:0040146a -0:0040146d -0:0040146f -0:00401476 -0:00401479 -0:00401481 -0:00401485 -0:00401488 -0:0040148b -0:0040148e -0:00401498 -0:0040149c -0:0040149f -0:004014a1 -0:004014a4 -0:004014a6 -0:004014aa -0:004014ae -0:004014b2 -0:004014b6 -0:004014b9 -0:004014bc -0:004014c0 -0:004014c4 -0:004014e3 -0:004014ea -0:004014ec -0:004014ef -0:004014f4 -0:004014f7 -0:004014fa -0:004014fe -0:00401501 -0:00401504 -0:00401509 -0:0040150e -0:00401511 -0:00401518 -0:0040151b -0:0040151e -0:00401525 -0:00401528 -0:0040152b -0:00401532 -0:00401535 -0:0040153b -0:00401540 -0:00401542 -0:00401545 -0:00401548 -0:0040154c -0:0040154f -0:00401552 -0:00401556 -0:0040155a -0:0040155d -0:00401564 -0:00401569 -0:0040156d -0:00401571 -0:00401575 -0:0040157a -0:0040157e -0:00401582 -0:00401587 -0:0040158b -0:0040158f -0:00401592 -0:00401596 -0:0040159b -0:0040159f -0:004015a1 -0:004015a3 -0:004015a7 -0:004015d0 -0:004015d4 -0:004015db -0:004015de -0:004015e5 -0:004015ec -0:004015f3 -0:004015fe -0:00401605 -0:0040160c -0:00401617 -0:0040161e -0:00401625 -0:0040162c -0:0040162f -0:00401631 -0:00401636 -0:00401638 -0:0040163b -0:00401642 -0:00401646 -0:0040164b -0:0040164f -0:00401656 -0:0040165a -0:00401661 -0:00401668 -0:0040166b -0:00401670 -0:00401674 -0:0040167b -0:0040167e -0:00401685 -0:0040168c -0:00401690 -0:00401691 -0:00401693 -0:00401695 -0:00401697 -0:00401699 -0:0040169a -0:00401730 -0:00401731 -0:00401736 -0:0040173b -0:0040173e -0:0040173f -0:00401750 -0:00401751 -0:00401754 -0:00401756 -0:00401758 -0:0040175a -0:0040175c -0:0040175d -0:00401764 -0:00401769 -0:00401770 -0:00401777 -0:0040177e -0:00401780 -0:00401783 -0:00401786 -0:00401789 -0:0040178d -0:00401790 -0:00401794 -0:00401797 -0:0040179a -0:004017b6 -0:004017bb -0:004017c2 -0:004017c9 -0:004017cc -0:004017d0 -0:004017d3 -0:004017d7 -0:004017da -0:004017dd -0:004017df -0:004017e0 -0:004017e3 -0:004017e6 -0:004017e8 -0:004017ec -0:004017f0 -0:004017f4 -0:004017f6 -0:004017fa -0:004017fb -0:004017fd -0:004017ff -0:00401801 -0:00401803 -0:00401804 -0:00401810 -0:00401811 -0:00401814 -0:00401816 -0:00401817 -0:0040181e -0:00401823 -0:0040182a -0:00401831 -0:00401838 -0:0040183b -0:0040183f -0:00401842 -0:00401844 -0:00401848 -0:0040184d -0:00401851 -0:00401853 -0:00401854 -0:00401856 -0:00401857 -0:00406890 -0:00406892 -0:00407260 -0:00407261 -0:00407264 -0:00407266 -0:00407268 -0:0040726a -0:0040726c -0:0040726d -0:00407274 -0:00407279 -0:00407280 -0:00407283 -0:00407288 -0:0040728b -0:00407292 -0:00407295 -0:00407298 -0:0040729e -0:004072a3 -0:004072a5 -0:004072ab -0:004072b0 -0:004072d6 -0:004072da -0:004072dd -0:004072de -0:004072e0 -0:004072e2 -0:004072e4 -0:004072e6 -0:004072e7 -0:004072f0 -0:004072f4 -0:004072f9 -0:004072fd -0:00407301 -0:00407305 -0:00407308 -0:0040730a -0:00407350 -0:00407351 -0:00407354 -0:00407356 -0:00407358 -0:0040735a -0:0040735b -0:00407362 -0:00407367 -0:0040736e -0:00407376 -0:00407378 -0:0040737b -0:0040737e -0:00407385 -0:00407389 -0:0040738c -0:0040738e -0:00407390 -0:00407394 -0:00407397 -0:0040739b -0:0040739e -0:004073a3 -0:004073a5 -0:004073a9 -0:004073ad -0:004073b0 -0:004073b4 -0:004073ba -0:004073be -0:004073d3 -0:004073d6 -0:004073d9 -0:004073dd -0:004073e3 -0:004073e6 -0:004073e8 -0:004073ef -0:004073f6 -0:004073f9 -0:004073fb -0:004073ff -0:00407403 -0:00407406 -0:00407408 -0:0040740a -0:00407440 -0:00407444 -0:00407446 -0:0040744b -0:0040744f -0:00407453 -0:00407457 -0:00407460 -0:00407462 -0:004074a0 -0:004074a1 -0:004074a4 -0:004074ab -0:004074b0 -0:004074b7 -0:004074be -0:004074c3 -0:004074d0 -0:004074d1 -0:004074d4 -0:004074d5 -0:004074dc -0:004074e1 -0:004074e8 -0:004074ed -0:004074ef -0:004074f2 -0:004074f9 -0:00407507 -0:0040750e -0:0040752a -0:0040752d -0:00407530 -0:00407536 -0:00407538 -0:00407540 -0:00407544 -0:00407547 -0:00407587 -0:0040758a -0:00407592 -0:00407595 -0:00407598 -0:004075c5 -0:004075cc -0:004075d3 -0:004075d7 -0:004075de -0:004075eb -0:004075f1 -0:0040760d -0:00407611 -0:00407614 -0:00407615 -0:00407616 -0:0040763b -0:0040763e -0:00407642 -0:0040764a -0:00407710 -0:00407711 -0:00407714 -0:00407716 -0:00407718 -0:00407719 -0:00407720 -0:00407725 -0:0040772c -0:0040772f -0:00407736 -0:00407739 -0:0040773c -0:00407741 -0:00407744 -0:00407746 -0:00407749 -0:0040774d -0:00407751 -0:0040775a -0:0040775e -0:00407762 -0:00407769 -0:0040776b -0:0040776f -0:00407770 -0:00407772 -0:00407774 -0:00407775 -0:00407e90 -0:00407e91 -0:00407e94 -0:00407e9b -0:00407ea0 -0:00407ea7 -0:00407ea9 -0:00407eb0 -0:00407eb7 -0:00407ebe -0:00407ec5 -0:00407ecc -0:00407eee -0:00407ef2 -0:00407ef5 -0:00407efc -0:00407f03 -0:00407f0a -0:00407f14 -0:00407f1e -0:00407f25 -0:00407f2c -0:00407f2f -0:00407f34 -0:00407f35 -0:004086e0 -0:004086e1 -0:004086e4 -0:004086e6 -0:004086e8 -0:004086ea -0:004086eb -0:004086f2 -0:004086f7 -0:004086fe -0:00408701 -0:00408706 -0:0040870d -0:00408710 -0:00408714 -0:00408718 -0:0040871b -0:00408720 -0:00408722 -0:0040872a -0:00408733 -0:00408737 -0:00408739 -0:0040873e -0:00408745 -0:0040874f -0:00408752 -0:0040876a -0:00408772 -0:00408776 -0:0040877e -0:00408782 -0:00408786 -0:0040878c -0:0040878e -0:0040879e -0:004087a5 -0:004087a8 -0:004087ab -0:004087ae -0:004087b1 -0:004087b7 -0:004087bb -0:004087bf -0:004087c3 -0:004087c9 -0:004087cd -0:004087d1 -0:004087d4 -0:004087d8 -0:004087dd -0:004087e4 -0:004087e8 -0:004087f0 -0:004087f2 -0:004087fa -0:004087fe -0:00408800 -0:00408808 -0:00408810 -0:00408818 -0:0040881f -0:00408828 -0:0040882a -0:00408842 -0:00408844 -0:00408845 -0:00408847 -0:00408849 -0:0040884b -0:0040884c -0:00408850 -0:00408853 -0:0040a880 -0:0040a881 -0:0040a884 -0:0040a885 -0:0040a88c -0:0040a891 -0:0040a898 -0:0040a89b -0:0040a8a0 -0:0040a8a3 -0:0040a8a5 -0:0040a8a9 -0:0040a8ad -0:0040a8b1 -0:0040a8b5 -0:0040a8b9 -0:0040a8bd -0:0040a8c1 -0:0040a8c4 -0:0040a8c8 -0:0040a8c9 -0:0040a8ca -0:0040a950 -0:0040a951 -0:0040a954 -0:0040a956 -0:0040a958 -0:0040a959 -0:0040a960 -0:0040a965 -0:0040a96c -0:0040a972 -0:0040a975 -0:0040a978 -0:0040a97b -0:0040a988 -0:0040a98f -0:0040a992 -0:0040a995 -0:0040a998 -0:0040a99b -0:0040a99e -0:0040a9a1 -0:0040a9a8 -0:0040a9aa -0:0040a9ad -0:0040a9b3 -0:0040a9b9 -0:0040a9bd -0:0040a9bf -0:0040a9c3 -0:0040a9c7 -0:0040a9cb -0:0040a9cf -0:0040a9d3 -0:0040a9d5 -0:0040a9d9 -0:0040a9dd -0:0040a9e0 -0:0040a9e4 -0:0040a9e5 -0:0040a9e7 -0:0040a9e9 -0:0040a9ea -0:0040a9f0 -0:0040a9f4 -0:0040a9f8 -0:0040a9fb -0:0040aa28 -0:0040aa2e -0:0040aa30 -0:0040b650 -0:0040b651 -0:0040b654 -0:0040b657 -0:0040b65c -0:0040b65f -0:0040b660 -0:0040b670 -0:0040b671 -0:0040b674 -0:0040b676 -0:0040b678 -0:0040b67a -0:0040b67b -0:0040b682 -0:0040b687 -0:0040b68e -0:0040b691 -0:0040b694 -0:0040b697 -0:0040b699 -0:0040b69c -0:0040b69f -0:0040b6b4 -0:0040b6b7 -0:0040b6ba -0:0040b6bd -0:0040b6bf -0:0040b6c4 -0:0040b6c8 -0:0040b6cb -0:0040b6ce -0:0040b6d0 -0:0040b6d5 -0:0040b6d8 -0:0040b6e4 -0:0040b6eb -0:0040b6ee -0:0040b6fa -0:0040b6fb -0:0040b6fd -0:0040b6ff -0:0040b701 -0:0040b702 -0:0040b708 -0:0040b70b -0:0040b70e -0:0040bc00 -0:0040bc01 -0:0040bc04 -0:0040bc06 -0:0040bc08 -0:0040bc0a -0:0040bc0c -0:0040bc0d -0:0040bc14 -0:0040bc19 -0:0040bc20 -0:0040bc22 -0:0040bc25 -0:0040bc28 -0:0040bc2a -0:0040bc2c -0:0040bc2f -0:0040bc32 -0:0040bc37 -0:0040bc3c -0:0040bc42 -0:0040bc46 -0:0040bc4a -0:0040bc4d -0:0040bc4f -0:0040bc52 -0:0040bc55 -0:0040bc58 -0:0040bc5b -0:0040bc5d -0:0040bc60 -0:0040bc63 -0:0040bc67 -0:0040bc6a -0:0040bc6d -0:0040bc72 -0:0040bc76 -0:0040bc79 -0:0040bc7c -0:0040bc7f -0:0040bc82 -0:0040bc85 -0:0040bc87 -0:0040bc8a -0:0040bc8d -0:0040bc91 -0:0040bc92 -0:0040bc94 -0:0040bc96 -0:0040bc98 -0:0040bc9a -0:0040bc9b -0:0040bca0 -0:0040bca3 -0:0040bca6 -0:0040bca9 -0:0040bcab -0:0040bcb2 -0:0040bcb7 -0:0040bcba -0:0040bcbd -0:0040bcc0 -0:0040bcc6 -0:0040bcca -0:0040bcce -0:0040bcd0 -0:0040bcd4 -0:0040bcd6 -0:0040bcd9 -0:0040bcdb -0:0040bcde -0:0040bce1 -0:0040bce4 -0:0040bcea -0:0040bced -0:0040bcef -0:0040bcf3 -0:0040bcf6 -0:0040bcf9 -0:0040bcfe -0:0040bd01 -0:0040bf80 -0:0040bf82 -0:0040bf85 -0:0040bf87 -0:0040bf90 -0:0040bf91 -0:0040bf94 -0:0040bf95 -0:0040bf9c -0:0040bfa1 -0:0040bfa8 -0:0040bfab -0:0040bfb0 -0:0040bfb3 -0:0040bfb6 -0:0040bfba -0:0040bfbd -0:0040bfbf -0:0040bfc0 -0:0040bfc1 -0:0040c720 -0:0040c721 -0:0040c724 -0:0040c726 -0:0040c728 -0:0040c729 -0:0040c730 -0:0040c735 -0:0040c73c -0:0040c73e -0:0040c741 -0:0040c743 -0:0040c749 -0:0040c74c -0:0040c74f -0:0040c751 -0:0040c756 -0:0040c75c -0:0040c760 -0:0040c764 -0:0040c7a8 -0:0040c7ad -0:0040c7b7 -0:0040c7ba -0:0040c7c0 -0:0040c7c4 -0:0040c7c7 -0:0040c7cd -0:0040c7d1 -0:0040c7d5 -0:0040c7d7 -0:0040c7db -0:0040c7de -0:0040c7e2 -0:0040c7e6 -0:0040c7e8 -0:0040c7ee -0:0040c7f2 -0:0040c7f4 -0:0040c7fa -0:0040c7ff -0:0040c8c0 -0:0040c8c4 -0:0040c8c8 -0:0040c8cb -0:0040c8cc -0:0040c8ce -0:0040c8d0 -0:0040c8d1 -0:0040c8d4 -0:0040c910 -0:0040c913 -0:0040c918 -0:0040c91c -0:0040c91e -0:0040c922 -0:0040c926 -0:0040c92a -0:0040c950 -0:0040c951 -0:0040c954 -0:0040c955 -0:0040c95c -0:0040c961 -0:0040c968 -0:0040c96c -0:0040c970 -0:0040c973 -0:0040c976 -0:0040c9a6 -0:0040c9aa -0:0040c9ae -0:0040c9b0 -0:0040c9bb -0:0040c9bd -0:0040c9c1 -0:0040c9c2 -0:0040c9c3 -0:0040d5a0 -0:0040d5a1 -0:0040d5a4 -0:0040d5a6 -0:0040d5a7 -0:0040d5ae -0:0040d5b3 -0:0040d5ba -0:0040d5bd -0:0040d5c1 -0:0040d5c4 -0:0040d5c6 -0:0040d5c9 -0:0040d5cb -0:0040d5cd -0:0040d5cf -0:0040d5d1 -0:0040d5d5 -0:0040d5d9 -0:0040d5db -0:0040d5de -0:0040d5e0 -0:0040d5e4 -0:0040d5e5 -0:0040d5e7 -0:0040d5e8 -0:0040d5f0 -0:0040d5f3 -0:0040d5f5 -0:0040d5f9 -0:0040d5fa -0:0040d5fc -0:0040d5fd -0:0040d630 -0:0040d635 -0:0040d640 -0:0040d641 -0:0040d644 -0:0040d645 -0:0040d64c -0:0040d651 -0:0040d658 -0:0040d65b -0:0040d65e -0:0040d66a -0:0040d671 -0:0040d674 -0:0040d677 -0:0040d67a -0:0040d67c -0:0040d680 -0:0040d681 -0:0040d682 -0:0040d700 -0:0040d701 -0:0040d704 -0:0040d706 -0:0040d708 -0:0040d70a -0:0040d70c -0:0040d70d -0:0040d714 -0:0040d719 -0:0040d720 -0:0040d722 -0:0040d725 -0:0040d728 -0:0040d72e -0:0040d731 -0:0040d734 -0:0040d737 -0:0040d740 -0:0040d744 -0:0040d748 -0:0040d74b -0:0040d74d -0:0040d750 -0:0040d753 -0:0040d757 -0:0040d75b -0:0040d75d -0:0040d760 -0:0040d762 -0:0040d764 -0:0040d768 -0:0040d76e -0:0040d771 -0:0040d775 -0:0040d778 -0:0040d77a -0:0040d77e -0:0040d781 -0:0040d785 -0:0040d788 -0:0040d78b -0:0040d7d0 -0:0040d7d3 -0:0040d7d6 -0:0040d7da -0:0040d7db -0:0040d7dd -0:0040d7df -0:0040d7e1 -0:0040d7e3 -0:0040d7e4 -0:0040d8d0 -0:0040d8d1 -0:0040d8d4 -0:0040d8d6 -0:0040d8d8 -0:0040d8d9 -0:0040d8e0 -0:0040d8e5 -0:0040d8ec -0:0040d8f3 -0:0040d8f6 -0:0040d8f9 -0:0040d8fc -0:0040d8ff -0:0040d902 -0:0040d908 -0:0040d90b -0:0040d927 -0:0040d92f -0:0040d937 -0:0040d93a -0:0040d942 -0:0040d94a -0:0040d952 -0:0040d95a -0:0040d95e -0:0040d95f -0:0040d961 -0:0040d963 -0:0040d964 -0:0040d968 -0:0040d96b -0:0040d972 -0:0040d979 -0:0040d97b -0:0040d97e -0:0040d983 -0:0040de20 -0:0040de21 -0:0040de24 -0:0040de26 -0:0040de28 -0:0040de2a -0:0040de2c -0:0040de2d -0:0040de34 -0:0040de39 -0:0040de40 -0:0040de42 -0:0040de45 -0:0040def4 -0:0040defd -0:0040df00 -0:0040df04 -0:0040df1f -0:0040df22 -0:0040df29 -0:0040df8c -0:0040df92 -0:0040df94 -0:0040dfab -0:0040dfb2 -0:0040dfb7 -0:0040dfba -0:0040dfbd -0:0040dfc0 -0:0040dfc5 -0:0040dfc9 -0:0040dfcc -0:0040e028 -0:0040e02e -0:0040e039 -0:0040e03c -0:0040e042 -0:0040e046 -0:0040e049 -0:0040e04f -0:0040e052 -0:0040e058 -0:0040e05a -0:0040e05d -0:0040e05f -0:0040e06c -0:0040e070 -0:0040e073 -0:0040e074 -0:0040e076 -0:0040e078 -0:0040e07a -0:0040e07c -0:0040e07d -0:0040e080 -0:0040e087 -0:0040e08e -0:0040e095 -0:0040e098 -0:0040e09b -0:0040e0b0 -0:0040e0b4 -0:0040e0b8 -0:0040e0be -0:0040e150 -0:0040e151 -0:0040e154 -0:0040e156 -0:0040e158 -0:0040e15a -0:0040e15b -0:0040e162 -0:0040e167 -0:0040e16e -0:0040e170 -0:0040e175 -0:0040e178 -0:0040e17f -0:0040e188 -0:0040e18b -0:0040e18e -0:0040e194 -0:0040e198 -0:0040e19a -0:0040e19d -0:0040e1a3 -0:0040e1a9 -0:0040e1ac -0:0040e1b2 -0:0040e1b8 -0:0040e1bb -0:0040e1bd -0:0040e1c3 -0:0040e1ca -0:0040e1cd -0:0040e1cf -0:0040e1d3 -0:0040e1d9 -0:0040e1db -0:0040e1e0 -0:0040e1e7 -0:0040e1ef -0:0040e1f2 -0:0040e1f4 -0:0040e1fa -0:0040e201 -0:0040e205 -0:0040e20c -0:0040e213 -0:0040e21a -0:0040e238 -0:0040e23f -0:0040e242 -0:0040e244 -0:0040e248 -0:0040e24a -0:0040e251 -0:0040e259 -0:0040e260 -0:0040e267 -0:0040e270 -0:0040e272 -0:0040e28a -0:0040e290 -0:0040e29a -0:0040e29e -0:0040e2a1 -0:0040e2a7 -0:0040e2a8 -0:0040e2ab -0:0040e2ad -0:0040e2af -0:0040e2b1 -0:0040e2b2 -0:0040e2f0 -0:0040e2f2 -0:0040e2f4 -0:0040e2f6 -0:0040e2f9 -0:0040e2fd -0:0040e2ff -0:0040e306 -0:0040e30d -0:0040e314 -0:0040e318 -0:0040e31b -0:0040e322 -0:0040e329 -0:0040e330 -0:0040e332 -0:0040e334 -0:0040e337 -0:0040e33a -0:0040e33e -0:0040e344 -0:0040f270 -0:0040f271 -0:0040f275 -0:0040f27c -0:0040f27f -0:0040f282 -0:0040f288 -0:0040f28c -0:0040f290 -0:0040f294 -0:0040f297 -0:0040f299 -0:0040f2a0 -0:0040f2a3 -0:0040f2b7 -0:0040f2ba -0:0040f2c5 -0:0040f2c9 -0:0040f2ca -0:0040f2cd -0:0040f2d0 -0:0040fea0 -0:0040fea8 -0:0041014c -0:004112f0 -0:004112f1 -0:004112f4 -0:004112f6 -0:004112f8 -0:004112fa -0:004112fc -0:004112fd -0:00411304 -0:00411309 -0:00411310 -0:00411314 -0:0041131a -0:0041131e -0:00411322 -0:00411325 -0:00411329 -0:0041132f -0:00411333 -0:0041133a -0:0041133c -0:0041133f -0:00411342 -0:00411345 -0:0041134a -0:0041134d -0:00411352 -0:00411355 -0:004113a8 -0:004113af -0:004113b1 -0:004113b4 -0:004113b8 -0:004113bd -0:004113c1 -0:004113c5 -0:004113e4 -0:004113e9 -0:004113ed -0:004113f0 -0:004113f2 -0:004113f5 -0:0041142d -0:00411430 -0:00411434 -0:00411438 -0:00411456 -0:0041145a -0:0041145c -0:0041145f -0:00411464 -0:00411467 -0:0041146a -0:0041146d -0:00411470 -0:00411473 -0:00411476 -0:00411479 -0:0041147c -0:00411480 -0:00411484 -0:00411488 -0:0041148c -0:00411490 -0:00411493 -0:00411497 -0:0041149a -0:0041149f -0:004114a3 -0:004114a7 -0:004114ae -0:004114b1 -0:004114b8 -0:004114bb -0:004114be -0:004114c1 -0:004114c5 -0:004114cb -0:004114d1 -0:004114d4 -0:004114d7 -0:004114db -0:004114e1 -0:0041152b -0:0041152f -0:00411532 -0:004117e7 -0:004117ee -0:004117f4 -0:004117f7 -0:004117fa -0:004117fc -0:00411801 -0:00411806 -0:00411808 -0:0041180a -0:0041180d -0:00411810 -0:00411818 -0:0041181a -0:0041181e -0:00411820 -0:00411823 -0:00411826 -0:0041182c -0:00411830 -0:00411833 -0:0041183b -0:0041183d -0:00411843 -0:00411846 -0:00411849 -0:0041184b -0:0041184f -0:00411853 -0:00411856 -0:0041185a -0:0041185e -0:00411864 -0:00411868 -0:0041196b -0:0041196f -0:00411972 -0:00411973 -0:00411975 -0:00411977 -0:00411979 -0:0041197b -0:0041197c -0:004119cf -0:004119d2 -0:004119d6 -0:004119db -0:004119df -0:004119e2 -0:00411af0 -0:00411af4 -0:00411af7 -0:00411c6c -0:00411c73 -0:00411c76 -0:00411c79 -0:00411c7d -0:00411c81 -0:00411c88 -0:00411c8b -0:00411cd7 -0:00411cdb -0:00411cde -0:00411ce2 -0:00411ce6 -0:00411ce9 -0:00411ced -0:00411cf3 -0:00411cf5 -0:00411cfb -0:00411d02 -0:00411d05 -0:00411d90 -0:00411d97 -0:00411d9e -0:00411da0 -0:00411da7 -0:00411dab -0:00411daf -0:00411db3 -0:00411db7 -0:00411dbd -0:00411dc4 -0:00411dc7 -0:00411dc9 -0:00411dcd -0:00411dd0 -0:00411dd3 -0:00411dd7 -0:00411ddb -0:00411ddf -0:00411de3 -0:00411de7 -0:00411dea -0:00411dee -0:00411df2 -0:00411df5 -0:00411dfb -0:00411e01 -0:00411e03 -0:00411e10 -0:00411e14 -0:00411e17 -0:00411f71 -0:00411f78 -0:00411f7b -0:00411f7f -0:00411f82 -0:00411f86 -0:00411f89 -0:00411f8d -0:00411f91 -0:00411f94 -0:00411f98 -0:00411f9b -0:00411f9f -0:00411fa3 -0:00411fa7 -0:00411fad -0:00411faf -0:004120e3 -0:004120ea -0:004120ee -0:004120f1 -0:004120f4 -0:004120f7 -0:004120fb -0:00412100 -0:00412104 -0:0041210a -0:0041210e -0:00412111 -0:00412114 -0:00412117 -0:0041211d -0:00412121 -0:00412125 -0:00412128 -0:0041212c -0:00412132 -0:00412135 -0:00412138 -0:0041213c -0:00412140 -0:00412142 -0:00412149 -0:0041214e -0:00412151 -0:00412154 -0:00412169 -0:0041216b -0:00412173 -0:00412175 -0:0041217c -0:0041217f -0:00412186 -0:00412189 -0:00412190 -0:00412239 -0:00412240 -0:00412246 -0:00412249 -0:00412259 -0:0041225c -0:0041225f -0:00412271 -0:00412275 -0:00412278 -0:0041227b -0:0041227e -0:00412281 -0:00412285 -0:00412289 -0:0041228c -0:0041228f -0:00412295 -0:00412299 -0:0041229c -0:004122a2 -0:004122a5 -0:004122a9 -0:004122af -0:004122b6 -0:004122b9 -0:004122bc -0:004122d0 -0:004122d3 -0:004122da -0:004122dd -0:004122e1 -0:004122e5 -0:004122ec -0:004122f0 -0:004123a1 -0:004123a4 -0:004123a6 -0:004123c1 -0:004123c5 -0:00413800 -0:00413801 -0:00413804 -0:00413806 -0:00413807 -0:0041380e -0:00413813 -0:0041381a -0:00413821 -0:00413824 -0:00413827 -0:0041382d -0:00413834 -0:00413837 -0:0041383b -0:0041383e -0:00413844 -0:00413849 -0:0041384b -0:00413852 -0:0041385c -0:0041385f -0:00413877 -0:0041387a -0:0041387d -0:00413882 -0:00413885 -0:00413888 -0:0041388e -0:00413895 -0:0041389e -0:004138a0 -0:004138b8 -0:004138bc -0:004138be -0:004138c0 -0:004138c2 -0:004138c9 -0:004138d8 -0:004138db -0:004138e1 -0:004138e4 -0:004138e5 -0:004138e7 -0:004138e8 -0:004138f0 -0:004138f1 -0:004138f5 -0:004138f7 -0:004138f8 -0:00414940 -0:00414941 -0:00414944 -0:00414946 -0:00414948 -0:0041494a -0:0041494c -0:0041494d -0:00414954 -0:00414959 -0:00414960 -0:00414967 -0:0041496e -0:00414978 -0:0041497c -0:00414983 -0:0041498a -0:00414991 -0:00414998 -0:0041499f -0:004149a6 -0:004149ad -0:004149b0 -0:004149b6 -0:004149b9 -0:004149c0 -0:004149c7 -0:004149d1 -0:004149d6 -0:004149dd -0:004149e0 -0:004149e3 -0:004149e9 -0:004149ec -0:004149f3 -0:004149fc -0:00414a00 -0:00414a03 -0:00414a78 -0:00414a7b -0:00414a86 -0:00414a8d -0:00414a90 -0:00414a93 -0:00414a97 -0:00414aa1 -0:00414aa5 -0:00414aa6 -0:00414aa8 -0:00414aaa -0:00414aac -0:00414aae -0:00414aaf -0:00414d10 -0:00414d17 -0:00414d1e -0:00414d24 -0:00414d26 -0:00414d30 -0:00414d31 -0:00414d34 -0:00414d3b -0:00414d40 -0:00414d47 -0:00414d4b -0:00414d50 -0:00414d54 -0:00414d55 -0:00416060 -0:00416061 -0:00416064 -0:0041606b -0:00416070 -0:00416077 -0:0041607c -0:00416081 -0:00416085 -0:00416089 -0:0041608a -0:00416090 -0:00416097 -0:00416099 -0:0041609e -0:004160a5 -0:004160af -0:004160b8 -0:004162e0 -0:004162e7 -0:004162ee -0:004162f5 -0:004162ff -0:0041631b -0:00418510 -0:00418517 -0:0041851e -0:00418525 -0:0041852f -0:0041854b -0:00418680 -0:00418685 -0:0041868a -0:0041868f -0:00418694 -0:00418697 -0:0041869a -0:004186a1 -0:004186a8 -0:004186aa -0:004186af -0:004186b4 -0:004186b9 -0:004186bb -0:004186bd -0:004186c0 -0:004186c1 -0:004186c5 -0:004186cb -0:004186d1 -0:004186d7 -0:004186dc -0:004186e1 -0:004186e6 -0:004186ea -0:004186ee -0:004186f1 -0:004186f5 -0:004186f8 -0:004186fb -0:004186fe -0:00418702 -0:00418705 -0:00418708 -0:0041870a -0:0041870e -0:0041ab00 -0:0041ab01 -0:0041ab04 -0:0041ab05 -0:0041ab0c -0:0041ab11 -0:0041ab18 -0:0041ab1f -0:0041ab21 -0:0041ab23 -0:0041ab25 -0:0041ab29 -0:0041ab30 -0:0041ab32 -0:0041ab39 -0:0041ab3d -0:0041ab3e -0:0041ab3f -0:0041aea0 -0:0041aea7 -0:0041aeae -0:0041aeb8 -0:0041aec2 -0:0041aecc -0:0041aece -0:0041aed5 -0:0041b470 -0:0041b471 -0:0041b474 -0:0041b475 -0:0041b47c -0:0041b481 -0:0041b488 -0:0041b48f -0:0041b491 -0:0041b493 -0:0041b495 -0:0041b498 -0:0041b49b -0:0041b49d -0:0041b4a1 -0:0041b4a8 -0:0041b4aa -0:0041b4ad -0:0041b4af -0:0041b4b6 -0:0041b4ba -0:0041b4bb -0:0041b4bc -0:0041b4f0 -0:0041b4f7 -0:0041b4fe -0:0041b505 -0:0041b50f -0:0041b518 -0:0041b670 -0:0041b674 -0:0041b676 -0:0041b679 -0:0041b67b -0:0041b67e -0:0041b680 -0:0041b683 -0:0041b686 -0:0041b689 -0:0041b68b -0:0041b68e -0:0041b691 -0:0041b695 -0:0041b699 -0:0041b69c -0:0041b69e -0:0041b6a0 -0:0041b6a2 -0:0041b6a6 -0:0041b6aa -0:0041b6ad -0:0041b6af -0:0041b6b2 -0:0041b6b5 -0:0041b6b9 -0:0041b6bd -0:0041b6c0 -0:0041b6c6 -0:0041b6eb -0:0041b6ee -0:0041b6f0 -0:0041b6f2 -0:0041b6f5 -0:0041b720 -0:0041b727 -0:0041b729 -0:0041b72b -0:0041b72e -0:0041b730 -0:0041b732 -0:0041b735 -0:0041b739 -0:0041b73d -0:0041b741 -0:0041b744 -0:0041b748 -0:0041b74c -0:0041b750 -0:0041b754 -0:0041b758 -0:0041b790 -0:0041b793 -0:0041bad0 -0:0041bad7 -0:0041bade -0:0041bae5 -0:0041baef -0:0041bb0b -0:0041bbf0 -0:0041bbf7 -0:0041bbfe -0:0041bc08 -0:0041bc0a -0:0041bc11 -0:0041bc1b -0:0041bc37 -0:00421110 -0:00421114 -0:00421117 -0:00421190 -0:00421195 -0:00421197 -0:0042119a -0:004211d0 -0:004211d7 -0:004211d9 -0:004211db -0:004211de -0:004211e0 -0:004211e2 -0:004211e5 -0:004211e9 -0:004211ed -0:004211f1 -0:004211f4 -0:004211f8 -0:004211fc -0:00421200 -0:00421204 -0:00421208 -0:00421240 -0:00421243 -0:00421248 -0:0042124e -0:00421d00 -0:00421d04 -0:00421d06 -0:00421d0b -0:00421d0f -0:00421d14 -0:00421d18 -0:00421d1d -0:00421d23 -0:00421d27 -0:00421d2b -0:00421d2f -0:00421d33 -0:00421d37 -0:00421d3b -0:00421d3f -0:00421d41 -0:00421d43 -0:00421d46 -0:00421d4a -0:00423170 -0:00423172 -0:00423174 -0:00423178 -0:0042317a -0:0042317f -0:00423184 -0:0042318a -0:0042318e -0:00423192 -0:00423196 -0:0042319a -0:0042319e -0:004231a2 -0:004231a6 -0:004231a9 -0:004231ab -0:004231af -0:004231b3 -0:004231b7 -0:004231b9 -0:004324c0 -0:004324c2 -0:004324c8 -0:004324c9 -0:004324cc -0:004324ce -0:004324d0 -0:004324d2 -0:004324d3 -0:004324da -0:004324df -0:004324e6 -0:004324ed -0:004324f0 -0:004324f5 -0:004324f8 -0:004324fc -0:004324fe -0:00432501 -0:00432503 -0:00432507 -0:0043250d -0:00432514 -0:00432518 -0:0043251c -0:00432520 -0:00432526 -0:0043252d -0:00432533 -0:00432537 -0:00432560 -0:00432563 -0:00432569 -0:00432570 -0:00432574 -0:00432577 -0:0043257b -0:0043257e -0:00432580 -0:00432582 -0:00432585 -0:00432588 -0:0043258a -0:0043258d -0:00432590 -0:00432594 -0:00432597 -0:004325aa -0:004325ad -0:004325af -0:004325b5 -0:004325b7 -0:004325b8 -0:004325ba -0:004325bc -0:004325be -0:004325bf -0:004325c0 -0:004325c4 -0:004325c7 -0:004325c9 -0:0043261d -0:0043261f -0:00432624 -0:00432626 -0:00432628 -0:0043262b -0:0043262d -0:00432630 -0:00432633 -0:00432636 -0:00432639 -0:0043263d -0:00432641 -0:00432644 -0:00432648 -0:0043264b -0:0043264d -0:0043264f -0:00432655 -0:00432658 -0:0043265c -0:0043265f -0:00432663 -0:00432666 -0:0043266c -0:00432670 -0:00432676 -0:0043267a -0:0043267c -0:00432680 -0:00432683 -0:00432685 -0:00432688 -0:0043268a -0:0043268d -0:0043268f -0:00432693 -0:00432695 -0:00432698 -0:004326a0 -0:004326a3 -0:004326a6 -0:004326a8 -0:004326aa -0:004326ac -0:004326af -0:004326b5 -0:004326b8 -0:004326bb -0:004326be -0:004326c2 -0:004326c5 -0:004326c9 -0:004326cc -0:004326d3 -0:004326d6 -0:004326d9 -0:004326dc -0:004326e3 -0:004326e9 -0:004326ec -0:0043271b -0:0043271d -0:00432720 -0:00432723 -0:00432726 -0:00432728 -0:0043272b -0:00432730 -0:00432733 -0:00432736 -0:00432738 -0:0043273e -0:00432741 -0:00432744 -0:00432747 -0:004327b0 -0:004327b1 -0:004327b4 -0:004327b6 -0:004327b8 -0:004327ba -0:004327bc -0:004327bd -0:004327c4 -0:004327c9 -0:004327d0 -0:004327d3 -0:004327d9 -0:004327dc -0:004327e0 -0:004327e4 -0:004327ea -0:004327f1 -0:004327f5 -0:004327f9 -0:00432800 -0:00432803 -0:00432806 -0:00432808 -0:0043280b -0:00432810 -0:00432813 -0:00432819 -0:0043281c -0:0043281f -0:00432821 -0:00432824 -0:00432829 -0:0043282c -0:0043286b -0:00432870 -0:00432872 -0:00432876 -0:00432879 -0:0043287c -0:0043287e -0:00432881 -0:00432883 -0:00432886 -0:004328b0 -0:004328b4 -0:004328b5 -0:004328b7 -0:004328b9 -0:004328bb -0:004328bd -0:004328be -0:00432fd0 -0:00432fd1 -0:00432fd4 -0:00432fdb -0:00432fe1 -0:00432fe7 -0:00432fea -0:00433001 -0:00433004 -0:00433007 -0:00433960 -0:00433961 -0:00433964 -0:00433967 -0:00433969 -0:0043396b -0:0043396e -0:00433971 -0:00433976 -0:00433978 -0:0043397e -0:00433980 -0:00433981 -0:00433a80 -0:00433a87 -0:00433a89 -0:00433a8e -0:00433a90 -0:00433a96 -0:00433a98 -0:00434470 -0:00434471 -0:00434474 -0:00434476 -0:00434478 -0:00434479 -0:00434480 -0:00434485 -0:0043448c -0:00434493 -0:00434496 -0:0043449a -0:0043449d -0:0043449f -0:004344a6 -0:004344a8 -0:004344aa -0:004344ac -0:004344b0 -0:004344b2 -0:004344b4 -0:004344b7 -0:004344ba -0:004344bc -0:004344c1 -0:004344c3 -0:004344c5 -0:004344c9 -0:004344cc -0:004344cd -0:004344cf -0:004344d1 -0:004344d2 -0:004344d8 -0:004344da -0:004344df -0:004344e1 -0:004344e3 -0:004344e7 -0:004345b0 -0:004345b3 -0:004345b8 -0:004345ba -0:004345c0 -0:004345c2 -0:004356f0 -0:004356f3 -0:004356f5 -0:004356f6 -0:004356f9 -0:004356fb -0:004356fc -0:00435703 -0:00435708 -0:0043570f -0:00435712 -0:00435715 -0:00435717 -0:0043571a -0:0043571d -0:00435722 -0:00435727 -0:0043572a -0:0043572c -0:00435730 -0:00435737 -0:0043573a -0:00435741 -0:00435742 -0:00435744 -0:00435745 -0:00435ae0 -0:00435ae1 -0:00435ae8 -0:00435aeb -0:00435af0 -0:00435af3 -0:00435af6 -0:00435af9 -0:00435b02 -0:00435b05 -0:00435b09 -0:00435b0c -0:00435b0e -0:00435b0f -0:00436920 -0:00436921 -0:00436924 -0:00436927 -0:0043694f -0:00436953 -0:00436957 -0:0043695e -0:00436962 -0:00436969 -0:0043696c -0:00436970 -0:00436974 -0:00436975 -0:00436980 -0:00436987 -0:0043698c -0:0043698e -0:00436991 -0:00436997 -0:00436999 -0:004369a0 -0:004369a4 -0:004369b0 -0:004369b7 -0:004369b8 -0:004369bb -0:004369bd -0:004369bf -0:004369c6 -0:004369c9 -0:004369cc -0:004369cf -0:004369d2 -0:004369d4 -0:004369d8 -0:004369dc -0:004369e0 -0:004369e2 -0:004369e6 -0:004369e9 -0:00436a00 -0:00436a04 -0:00436a07 -0:00436a0a -0:00436a0c -0:00436a0f -0:00436a20 -0:00436a24 -0:00436a27 -0:00436a30 -0:00436a33 -0:00436a36 -0:00436a40 -0:00436a44 -0:00436a4b -0:00436a4e -0:00436a50 -0:00436a54 -0:00436a5b -0:00436a5e -0:00436a60 -0:00436a63 -0:00436a66 -0:00436a70 -0:00436a74 -0:00436a77 -0:00436a79 -0:00436a80 -0:00436aa0 -0:00436aa4 -0:00436aab -0:00436aae -0:00436ab8 -0:00436abc -0:00436ac3 -0:00436ad0 -0:00436ad4 -0:00436ad7 -0:00436ae0 -0:00436ae4 -0:00436aeb -0:00436b30 -0:00436b33 -0:00436b36 -0:00436b38 -0:00436b3b -0:00436b3d -0:00436b44 -0:00436b47 -0:00436b49 -0:00436b50 -0:00436b56 -0:00436b57 -0:00436b60 -0:00436b61 -0:00436b64 -0:00436b66 -0:00436b68 -0:00436b6a -0:00436b6c -0:00436b6d -0:00436b74 -0:00436b79 -0:00436b80 -0:00436b85 -0:00436b8c -0:00436b93 -0:00436b96 -0:00436b9d -0:00436ba4 -0:00436ba7 -0:00436bae -0:00436bb0 -0:00436bb4 -0:00436bb6 -0:00436bbd -0:00436bc0 -0:00436bc7 -0:00436bca -0:00436bcf -0:00436bd6 -0:00436bd9 -0:00436be0 -0:00436be4 -0:00436be6 -0:00436be9 -0:00436bf0 -0:00436bf3 -0:00436bf8 -0:00436bfa -0:00437067 -0:0043706e -0:00437075 -0:0043707a -0:0043707d -0:00437082 -0:00437089 -0:00437090 -0:00437093 -0:0043709a -0:0043709d -0:004370a2 -0:004370a5 -0:004370ac -0:004370b0 -0:004370b2 -0:004370b5 -0:004370bc -0:004370bf -0:004370c1 -0:004370c6 -0:004370c9 -0:004370d0 -0:004370d4 -0:004370d6 -0:004370d9 -0:004370e0 -0:004370e3 -0:004370e5 -0:004370ea -0:004370ed -0:004370f4 -0:004370f8 -0:004370fa -0:004370fd -0:00437104 -0:00437107 -0:00437109 -0:0043710e -0:00437115 -0:00437118 -0:0043711b -0:00437126 -0:0043712d -0:00437134 -0:00437136 -0:00437139 -0:0043713b -0:0043713d -0:00437140 -0:00437143 -0:00437146 -0:00437148 -0:00437191 -0:00437198 -0:0043719b -0:0043719e -0:004371a9 -0:004371b0 -0:004371b5 -0:004371b8 -0:004371bb -0:0043720b -0:00437212 -0:00437215 -0:00437218 -0:00437229 -0:00437230 -0:00437233 -0:00437236 -0:00437238 -0:0043723f -0:00437242 -0:00437245 -0:00437247 -0:00437249 -0:0043724f -0:00437253 -0:00437260 -0:00437263 -0:00437267 -0:0043726e -0:00437274 -0:00437278 -0:0043727b -0:004373c0 -0:004373c3 -0:004373c9 -0:004373cd -0:004373ce -0:004373d0 -0:004373d2 -0:004373d4 -0:004373d6 -0:004373d7 -0:004377e0 -0:004377e7 -0:004377e9 -0:004377eb -0:004377ed -0:00437850 -0:00437851 -0:00437854 -0:00437856 -0:00437858 -0:00437859 -0:00437860 -0:00437865 -0:0043786c -0:00437873 -0:00437876 -0:0043787b -0:0043787d -0:00437884 -0:0043788a -0:0043788d -0:0043788f -0:00437892 -0:00437895 -0:00437898 -0:0043789a -0:0043789e -0:004378a2 -0:004378a5 -0:004378a8 -0:004378ac -0:004378c7 -0:004378ca -0:004378ce -0:004378d2 -0:004378d4 -0:004378d7 -0:004378d9 -0:004378dd -0:004378df -0:004378e6 -0:004378e7 -0:004378e9 -0:004378eb -0:004378ec -0:004378ed -0:004378f1 -0:00437980 -0:00437981 -0:00437984 -0:00437986 -0:00437988 -0:00437989 -0:00437990 -0:00437995 -0:0043799c -0:004379a3 -0:004379a5 -0:004379a8 -0:004379ab -0:004379ae -0:004379c0 -0:004379c7 -0:004379c9 -0:004379d0 -0:004379d3 -0:004379da -0:004379dd -0:004379e2 -0:004379e7 -0:004379ea -0:004379ed -0:004379ef -0:004379f4 -0:004379f8 -0:004379f9 -0:004379fb -0:004379fd -0:004379fe -0:00437a08 -0:00437a0f -0:00437a19 -0:00437a1c -0:00437a23 -0:00437a26 -0:00437a50 -0:00437a51 -0:00437a58 -0:00437a5a -0:00437a5d -0:00437a5e -0:00437a60 -0:00437a66 -0:00437a69 -0:00437a6d -0:00437a73 -0:00437a76 -0:00437a79 -0:00437a7b -0:00437a81 -0:00437ab4 -0:00437ab8 -0:00437aba -0:00437abf -0:00437ac1 -0:00437ac3 -0:00437ac6 -0:00437ac9 -0:00437acc -0:00437acf -0:00437ad3 -0:00437ada -0:00437adc -0:00437ade -0:00437ae1 -0:00437ae4 -0:00437ae7 -0:00437ae9 -0:00437aed -0:00437af0 -0:00437af3 -0:00437af4 -0:00437af5 -0:00437b00 -0:00437b07 -0:00437b09 -0:00437b0d -0:00437b11 -0:00437b1a -0:00437b21 -0:00437b23 -0:00437b2a -0:00437b2e -0:00437b48 -0:00437b4d -0:00437b4f -0:00437b52 -0:00437b55 -0:00437b57 -0:00437b5b -0:00437b5d -0:00437b60 -0:00437b63 -0:00437b67 -0:00437b6a -0:00437b70 -0:00437b74 -0:00437b77 -0:00437b7a -0:00437b7d -0:00437b83 -0:00437b87 -0:00437b8d -0:00437b93 -0:00437b95 -0:00437b98 -0:00437b9b -0:00437b9d -0:00437ba4 -0:00437ba8 -0:00437bab -0:00437c06 -0:00437c0c -0:00437c12 -0:00437c18 -0:00437c1c -0:00437c22 -0:004426d0 -0:004426d7 -0:004426d8 -0:004426df -0:004426e2 -0:004426e6 -0:004426e9 -0:004426ed -0:004426f4 -0:004426f8 -0:004426fb -0:00442702 -0:00442706 -0:0044270d -0:00442711 -0:00442714 -0:0044271b -0:0044271f -0:00442725 -0:00442729 -0:0044272a -0:00442750 -0:00442753 -0:00442756 -0:0044275f -0:00442763 -0:00442767 -0:0044276b -0:0044276f -0:00442773 -0:00442777 -0:0044277c -0:00442785 -0:00442789 -0:0044278d -0:00442791 -0:0044279a -0:0044279e -0:004427a2 -0:004427b0 -0:004427b1 -0:004427b4 -0:004427b5 -0:004427bc -0:004427c1 -0:004427c8 -0:004427ca -0:004427cc -0:004427cf -0:004427e6 -0:004427e9 -0:004427ed -0:004427ef -0:004427f0 -0:004427f1 -0:00443b90 -0:00443b91 -0:00443b93 -0:00443b96 -0:00443b98 -0:00443b9b -0:00443ba2 -0:00443c1c -0:00443c26 -0:00443c30 -0:00443c33 -0:00443c37 -0:00443c3a -0:00443c3e -0:00443c42 -0:00443c45 -0:00443c48 -0:00443c4b -0:00443c50 -0:00443c53 -0:00443c55 -0:00443c57 -0:00443c5a -0:00443c5b -0:00443da0 -0:00443da1 -0:00443da4 -0:00443da6 -0:00443da8 -0:00443daa -0:00443dac -0:00443dad -0:00443db4 -0:00443db9 -0:00443dc0 -0:00443dc7 -0:00443dca -0:00443dd0 -0:00443dd6 -0:00443dd8 -0:00443dde -0:00443de8 -0:00443dea -0:00443ded -0:00443df3 -0:00443df6 -0:00443dfc -0:00443dff -0:00443e02 -0:00443e05 -0:00443e08 -0:00443e0e -0:00443e11 -0:00443e16 -0:00443e19 -0:00443e20 -0:00443e24 -0:00443e2b -0:00443e2f -0:00443e36 -0:00443e3b -0:00443e3e -0:00443e45 -0:00443e4c -0:00443e56 -0:00443e5c -0:00443e63 -0:00443e6a -0:00443e6d -0:00443e70 -0:00443e73 -0:00443e76 -0:00443e79 -0:00443e7c -0:00443e86 -0:00443e8c -0:00443e93 -0:00443e95 -0:00443e9c -0:00443ea0 -0:00443eb4 -0:00443eba -0:00443ebe -0:00443ebf -0:00443ec1 -0:00443ec3 -0:00443ec5 -0:00443ec7 -0:00443ec8 -0:00443ee0 -0:00443ee8 -0:00443eee -0:00443ef5 -0:00443efc -0:00443f03 -0:00443f0a -0:00443f13 -0:00443f17 -0:00443f19 -0:00443f1e -0:00443f20 -0:00443f27 -0:00443f31 -0:00443f34 -0:00443f4c -0:00443f53 -0:00443f57 -0:00443f5e -0:00443f62 -0:00443f88 -0:00443f8f -0:00443f97 -0:00443f9e -0:00443fa5 -0:00443fae -0:00443fb0 -0:00443fc8 -0:00443fce -0:00443fd0 -0:00444028 -0:0044402f -0:00444048 -0:0044404f -0:00444055 -0:00444058 -0:0044405e -0:00444065 -0:00444069 -0:004443ab -0:004443b2 -0:004443c0 -0:004443c7 -0:004443ca -0:004443d1 -0:004443d4 -0:00444409 -0:00444410 -0:00444414 -0:0044441a -0:00444421 -0:00444428 -0:00444433 -0:0044443d -0:00444447 -0:0044444b -0:00444c60 -0:00444c67 -0:00444c6e -0:00444c75 -0:00444c7c -0:00444dd3 -0:00444dde -0:00444de9 -0:00444ded -0:00444def -0:00444df9 -0:00444e03 -0:00444e0d -0:00444e14 -0:00444e18 -0:00444e22 -0:00444e2c -0:00444e36 -0:00444e40 -0:00444e4a -0:00444e54 -0:00444e56 -0:00444e5c -0:00444e60 -0:00444e63 -0:00444e6d -0:00444e77 -0:00444e7e -0:00444e88 -0:00444e8f -0:00444e92 -0:00444e99 -0:00444e9f -0:00444ea2 -0:00444ea9 -0:00444eac -0:00444eae -0:00444eb2 -0:00444eb9 -0:00444ebd -0:00445ae0 -0:00445ae3 -0:00445aed -0:00445af4 -0:00445af9 -0:00445afd -0:00445b00 -0:00445b07 -0:00445b0c -0:00445b13 -0:00445b1a -0:00445b20 -0:00445b27 -0:00445b2a -0:00445b2d -0:00445b30 -0:00445b33 -0:00445b36 -0:00445b3d -0:00445b40 -0:00445b43 -0:00445b45 -0:00445b48 -0:00445b4e -0:00445b53 -0:00445b59 -0:00445b5c -0:00445b5f -0:00445b65 -0:00445b6b -0:00445b6e -0:00445be7 -0:00445bee -0:00445c4b -0:00445c52 -0:00445c59 -0:00445c5c -0:00445c63 -0:00445c66 -0:00445c6b -0:00445c6f -0:00445c76 -0:00445c7d -0:00445c83 -0:00445c89 -0:00445c8f -0:00445c95 -0:00445c9b -0:00445ca2 -0:00445ca8 -0:00445caa -0:00445cb1 -0:00445ccf -0:00445cd5 -0:00445cd8 -0:00445cde -0:00445ce1 -0:00445ce8 -0:00445cef -0:00445cf5 -0:00445cf8 -0:00445d31 -0:00445d38 -0:00445d3a -0:00445d41 -0:00445dae -0:00445db4 -0:00445dba -0:00445dbc -0:00445e1b -0:00445e22 -0:00445e28 -0:00445e2f -0:00445e36 -0:00445e39 -0:00445e40 -0:00445e43 -0:00445e46 -0:00445e4d -0:00445e50 -0:00445e57 -0:00445e5a -0:00445e60 -0:00445e65 -0:00445e6b -0:00445e6d -0:00445e70 -0:00445e76 -0:00445e7c -0:00445e88 -0:00445e8a -0:00445e91 -0:00445e97 -0:00445e9e -0:00445ea1 -0:00445ea8 -0:00445eaf -0:00445eb2 -0:00445eb7 -0:00445ebf -0:00445ec6 -0:00445ecd -0:00445ed4 -0:00445ed6 -0:00445edd -0:00445ee3 -0:00445eea -0:00445eec -0:00445ef3 -0:00445ef5 -0:00445ef8 -0:00445eff -0:00445f06 -0:00445f0d -0:00445f14 -0:00445f1b -0:00445f1e -0:00445f21 -0:00445f23 -0:00445f29 -0:00445f30 -0:00445f34 -0:00445f3b -0:00445f3e -0:00445f41 -0:00445f48 -0:00445fa3 -0:00445fa9 -0:00447492 -0:00447498 -0:0044749a -0:0044755c -0:00447566 -0:004475fc -0:00447603 -0:00447a69 -0:00447a70 -0:00447a74 -0:00447a8c -0:00447a8f -0:00447ac8 -0:00447ad2 -0:00447ad5 -0:00447aea -0:00447af1 -0:00447b46 -0:00447b4d -0:00447b53 -0:00447b56 -0:00447b5c -0:00447b5e -0:00447b63 -0:00447b66 -0:00447b6a -0:00447b6d -0:00449403 -0:0044940a -0:0044950f -0:00449519 -0:004550b0 -0:004550b1 -0:004550b4 -0:004550b6 -0:004550b8 -0:004550b9 -0:004550c0 -0:004550c5 -0:004550cc -0:004550cf -0:004550d2 -0:004550d4 -0:004550d6 -0:004550dd -0:004550e4 -0:004550ea -0:004550ec -0:004550ee -0:004550f4 -0:004550f9 -0:004550fe -0:00455100 -0:00455104 -0:00455107 -0:00455109 -0:00455110 -0:00455117 -0:0045512a -0:0045512d -0:0045512f -0:00455135 -0:0045513a -0:0045513f -0:00455144 -0:00455148 -0:0045514a -0:0045514e -0:00455151 -0:00455156 -0:00455159 -0:0045515e -0:00455163 -0:0045516a -0:0045516b -0:0045516d -0:0045516f -0:00455170 -0:00455178 -0:0045517f -0:00455182 -0:00455186 -0:0045518a -0:0045518f -0:00455195 -0:00455197 -0:0045519c -0:0045519f -0:004551b0 -0:004551b7 -0:004551bc -0:004551c0 -0:004551c5 -0:004551c7 -0:004551cb -0:004551cd -0:004578d0 -0:004578d4 -0:004578d7 -0:004578dc -0:004578e0 -0:004578e6 -0:004578ea -0:004578ef -0:004578f5 -0:004578f9 -0:004578fd -0:00457901 -0:00457905 -0:00457909 -0:0045790d -0:00457911 -0:00457914 -0:00457930 -0:00457935 -0:00457939 -0:0045793e -0:00457942 -0:00457946 -0:0045794b -0:0045794f -0:00457953 -0:00457957 -0:0045795b -0:0045795f -0:00457963 -0:00457968 -0:0045796c -0:00457970 -0:00457974 -0:00457978 -0:0045797c -0:0045797f -0:00457982 -0:00457986 -0:0045798a -0:0045798e -0:00457991 -0:00457994 -0:00457998 -0:0045799c -0:0045799f -0:004579a2 -0:004579a4 -0:004579a8 -0:004579ab -0:004579ae -0:004579b4 -0:004579b8 -0:004579bc -0:0045c230 -0:0045c235 -0:0045c237 -0:0045c23d -0:0045c23f -0:0045c4e0 -0:0045c4e1 -0:0045c4e4 -0:0045c4eb -0:0045c4f0 -0:0045c4f7 -0:0045c4fb -0:0045c500 -0:0045c502 -0:0045c503 -0:0045c506 -0:0045c509 -0:0045c510 -0:0045c511 -0:0045c516 -0:0045c519 -0:0045c51c -0:0045c521 -0:0045c523 -0:0045c526 -0:0045c52a -0:0045c52c -0:0045c532 -0:0045c535 -0:0045c5a8 -0:0045c5af -0:0045c5b1 -0:0045c5b4 -0:0045c5b9 -0:0045c5ba -0:0045c5c0 -0:0045c5c1 -0:0045c5c6 -0:0045c5c9 -0:0045c5cb -0:0045c5ce -0:0045c5d0 -0:0045c5d6 -0:0045c5d9 -0:0045c5db -0:0045c5e2 -0:0045c5e4 -0:0045c5e7 -0:0045c5e9 -0:0045c5ea -0:0045f770 -0:0045f771 -0:0045f774 -0:0045f776 -0:0045f778 -0:0045f77a -0:0045f77b -0:0045f782 -0:0045f787 -0:0045f78e -0:0045f795 -0:0045f79c -0:0045f7a3 -0:0045f7a6 -0:0045f7a9 -0:0045f7b0 -0:0045f7b3 -0:0045f7b8 -0:0045f7bd -0:0045f7c4 -0:0045f7c9 -0:0045f7cc -0:0045f7cf -0:0045f7d6 -0:0045f7dc -0:0045f7e3 -0:0045f7ed -0:0045f7f5 -0:0045f7f8 -0:0045f7fc -0:0045f800 -0:0045f804 -0:0045f808 -0:0045f80d -0:0045f810 -0:0045f813 -0:0045f817 -0:0045f81d -0:0045f824 -0:0045f828 -0:0045f82a -0:0045f82d -0:0045f837 -0:0045f83f -0:0045f847 -0:0045f84a -0:0045f84d -0:0045f854 -0:0045f858 -0:0045f85f -0:0045f863 -0:0045f86a -0:0045f86c -0:0045f86e -0:0045f870 -0:0045f878 -0:0045f87c -0:0045f87f -0:0045f881 -0:0045f885 -0:0045f887 -0:0045f88a -0:0045f88d -0:0045f891 -0:0045f894 -0:0045f89b -0:0045f89f -0:0045f8a3 -0:0045f8a7 -0:0045f8ab -0:0045f8af -0:0045f8b3 -0:0045f8bb -0:0045f8c3 -0:0045f8c9 -0:0045f8cc -0:0045f8cf -0:0045f8d4 -0:0045f8e0 -0:0045f8e3 -0:0045f8ea -0:0045f8f5 -0:0045f8fd -0:0045f908 -0:0045f913 -0:0045f917 -0:0045f918 -0:0045f91a -0:0045f91c -0:0045f91e -0:0045f91f -0:00463cd0 -0:00463cd1 -0:00463cd4 -0:00463cd6 -0:00463cd8 -0:00463cda -0:00463cdc -0:00463cdd -0:00463ce4 -0:00463ce9 -0:00463cf0 -0:00463cf7 -0:00463cfb -0:00463cfe -0:00463d02 -0:00463d06 -0:00463d0a -0:00463d0d -0:00463d11 -0:00463d16 -0:00463d19 -0:00463d1d -0:00463d24 -0:00463d27 -0:00463d2a -0:00463d31 -0:00463d34 -0:00463d63 -0:00463d6a -0:00463d6d -0:00463d70 -0:00463d74 -0:00463e57 -0:00463e5b -0:00463e62 -0:00463e65 -0:00463e68 -0:00463e6c -0:00463e70 -0:00463e73 -0:00463e7a -0:00463e7d -0:00463e8b -0:00463e8e -0:00463e90 -0:00463e93 -0:00463e96 -0:00463e9b -0:00463ea2 -0:00463ea6 -0:00463eab -0:00463ead -0:00463eb0 -0:00463eb3 -0:00463efe -0:00463f02 -0:00463f26 -0:00463f2a -0:00463f2d -0:00463f31 -0:00463f34 -0:00463f38 -0:00463f3f -0:00463f47 -0:00463f4a -0:00463f50 -0:00463f54 -0:00463f58 -0:00464275 -0:00464279 -0:0046427d -0:0046427e -0:00464280 -0:00464282 -0:00464284 -0:00464286 -0:00464287 -0:00464299 -0:0046429d -0:004642a1 -0:004642a6 -0:004642ad -0:004642b2 -0:004642b7 -0:004642ba -0:004642be -0:004642c4 -0:004642c8 -0:004642cb -0:004642cf -0:004642d3 -0:004642db -0:004642de -0:004642e1 -0:004642e5 -0:004642e9 -0:004642ec -0:004642f1 -0:004642f4 -0:004642f8 -0:004642fc -0:00464303 -0:00464307 -0:0046430a -0:00464432 -0:00464435 -0:00464438 -0:00465aa0 -0:00465aa1 -0:00465aa4 -0:00465aa6 -0:00465aa8 -0:00465aa9 -0:00465ab0 -0:00465ab6 -0:00465abb -0:00465ac2 -0:00465ac7 -0:00465ace -0:00465ad3 -0:00465ada -0:00465adc -0:00465ade -0:00465ae4 -0:00465ae9 -0:00465aeb -0:00465af2 -0:00465af5 -0:00465af7 -0:00465afa -0:00465b00 -0:00465b03 -0:00465b05 -0:00465b08 -0:00465b0b -0:00465b13 -0:00465b20 -0:00465b23 -0:00465b26 -0:00465b2e -0:00465b34 -0:00465b36 -0:00465b39 -0:00465bba -0:00465bc1 -0:00465bc4 -0:00465bc5 -0:00465bc7 -0:00465bc9 -0:00465bca -0:00465be0 -0:00465be3 -0:00465be6 -0:00465beb -0:00465bee -0:00465bf1 -0:00465bf3 -0:00465bf6 -0:00465bfd -0:00465c00 -0:00465c03 -0:00465c08 -0:00465c0b -0:00474fc0 -0:00474fc1 -0:00474fc4 -0:00474fc7 -0:00474fca -0:00474fdf -0:00474fe0 -0:00482980 -0:00482987 -0:0048298e -0:00482998 -0:0048299a -0:004829a1 -0:004829ab -0:004829c7 -0:0048f930 -0:0048f933 -0:0048f935 -0:0048f937 -0:0048f939 -0:0048f940 -0:0048f948 -0:0048f94d -0:0048f955 -0:0048f95c -0:0048f964 -0:0048f96c -0:0048f970 -0:0048f974 -0:0048f9a8 -0:0048f9af -0:0048f9b6 -0:0048f9ba -0:0048fb20 -0:0048fb22 -0:0048fb23 -0:0048fb24 -0:0048fb27 -0:0048fb2d -0:0048fb2f -0:0048fb31 -0:0048fb37 -0:0048fb3e -0:0048fb41 -0:0048fb44 -0:0048fb52 -0:0048fb59 -0:0048fb5c -0:0048fb5e -0:0048fb62 -0:0048fb64 -0:0048fbd4 -0:0048fbd8 -0:0048fbdb -0:0048fbde -0:0048fbf1 -0:0048fbf4 -0:0048fbf5 -0:0048fbf6 -0:0048fbf8 -0:0048fc35 -0:0048fc38 -0:0048fc3f -0:0048fc50 -0:0049124c -0:00491250 -0:00491254 +0x0000000000433001 +0x000000000045f8f5 +0x0000000000414aae +0x000000000048fb23 +0x0000000000444028 +0x0000000000463e57 +0x000000000040e02e +0x000000000044402f +0x0000000000455148 +0x000000000040e039 +0x000000000040e03c +0x000000000040e042 +0x000000000040e046 +0x0000000000444048 +0x000000000040e049 +0x000000000040e04f +0x000000000040e052 +0x0000000000444055 +0x0000000000444058 +0x000000000040e05a +0x000000000040e05d +0x000000000044405e +0x000000000040e05f +0x0000000000416060 +0x0000000000416061 +0x0000000000416064 +0x0000000000444065 +0x0000000000444069 +0x000000000041606b +0x000000000040e06c +0x0000000000416070 +0x000000000040e073 +0x000000000040e074 +0x000000000040e076 +0x0000000000416077 +0x000000000040e078 +0x000000000040e07a +0x000000000041607c +0x000000000040e07d +0x000000000040e080 +0x0000000000416081 +0x0000000000416085 +0x000000000040e087 +0x0000000000416089 +0x000000000041608a +0x000000000040e08e +0x0000000000416090 +0x000000000045f778 +0x000000000040e095 +0x0000000000416097 +0x000000000040e098 +0x0000000000416099 +0x000000000040e09b +0x000000000041609e +0x0000000000465b20 +0x00000000004160a5 +0x00000000004160af +0x000000000040e0b0 +0x000000000040e0b4 +0x00000000004160b8 +0x000000000040e0be +0x00000000004120e3 +0x00000000004120ea +0x00000000004120ee +0x00000000004120f1 +0x0000000000465ad3 +0x00000000004120f4 +0x00000000004120f7 +0x0000000000465b23 +0x00000000004120fb +0x0000000000412100 +0x0000000000412104 +0x000000000041210a +0x000000000041383e +0x000000000041210e +0x0000000000412111 +0x0000000000412114 +0x0000000000412117 +0x000000000041211d +0x0000000000412121 +0x0000000000412125 +0x00000000004379c7 +0x0000000000412128 +0x0000000000465adc +0x0000000000401587 +0x000000000041212c +0x0000000000412132 +0x0000000000412135 +0x0000000000412138 +0x000000000041213c +0x0000000000412140 +0x0000000000435ae0 +0x0000000000412142 +0x0000000000435ae1 +0x0000000000412149 +0x000000000041014c +0x000000000041214e +0x000000000040e150 +0x0000000000412151 +0x0000000000412154 +0x000000000040e156 +0x000000000040e158 +0x0000000000465ae4 +0x000000000040e15a +0x000000000040e15b +0x000000000040a978 +0x000000000040e162 +0x000000000040e167 +0x0000000000412169 +0x000000000041216b +0x0000000000401592 +0x000000000040e16e +0x000000000040e170 +0x0000000000412173 +0x0000000000412175 +0x0000000000465ae9 +0x000000000040e178 +0x000000000040dfab +0x000000000041217c +0x000000000041217f +0x0000000000435aeb +0x0000000000412186 +0x000000000040e188 +0x0000000000412189 +0x000000000040e18b +0x000000000040e18e +0x0000000000437aed +0x0000000000412190 +0x000000000040e194 +0x000000000040e198 +0x000000000040e19a +0x000000000040e19d +0x0000000000437ab4 +0x0000000000437af0 +0x000000000040e1a3 +0x000000000040e1a9 +0x000000000040e1ac +0x000000000040e1b2 +0x0000000000435af3 +0x000000000040e1b8 +0x0000000000411af4 +0x000000000040e1bb +0x000000000040e1bd +0x0000000000437af5 +0x000000000040e1c3 +0x000000000040f2a3 +0x00000000004015a1 +0x000000000040e1ca +0x0000000000465af7 +0x000000000040e1cd +0x000000000048f9a8 +0x000000000040e1cf +0x000000000040e1d3 +0x0000000000435af9 +0x000000000040e1d9 +0x000000000044404f +0x000000000040e1e0 +0x000000000040e1e7 +0x00000000004015a7 +0x0000000000437b09 +0x000000000040e1ef +0x000000000040e1f2 +0x000000000040e1f4 +0x0000000000411f82 +0x000000000040e1fa +0x000000000040e201 +0x000000000040e205 +0x000000000040e20c +0x000000000040e058 +0x000000000040e213 +0x000000000040e21a +0x00000000004325af +0x0000000000465b05 +0x0000000000437b07 +0x000000000045c230 +0x000000000045c237 +0x000000000040e238 +0x0000000000412239 +0x000000000045c23d +0x000000000045c23f +0x0000000000412240 +0x000000000040e242 +0x000000000041bb0b +0x000000000040e244 +0x0000000000412246 +0x000000000040e248 +0x0000000000412249 +0x000000000040e24a +0x000000000040e251 +0x0000000000413849 +0x0000000000412259 +0x000000000041225c +0x00000000004325ba +0x000000000041225f +0x000000000040e260 +0x000000000040e267 +0x0000000000401067 +0x000000000040e270 +0x0000000000412271 +0x000000000040e272 +0x0000000000465b13 +0x0000000000412275 +0x0000000000412278 +0x0000000000464279 +0x000000000041227b +0x000000000046427d +0x000000000041227e +0x0000000000464280 +0x0000000000412281 +0x0000000000464282 +0x0000000000464284 +0x0000000000412285 +0x0000000000464286 +0x0000000000464287 +0x0000000000412289 +0x000000000040e28a +0x000000000041228c +0x000000000041228f +0x000000000040e290 +0x0000000000412295 +0x0000000000464299 +0x000000000040e29a +0x000000000041229c +0x000000000046429d +0x000000000040e29e +0x00000000004642a1 +0x00000000004122a2 +0x00000000004122a5 +0x00000000004642a6 +0x000000000040e2a7 +0x000000000040e2a8 +0x00000000004122a9 +0x000000000040e2ab +0x00000000004642ad +0x00000000004122af +0x000000000040e2b1 +0x000000000040e2b2 +0x000000000048fb5e +0x00000000004122b6 +0x00000000004642b7 +0x00000000004122b9 +0x00000000004642ba +0x00000000004122bc +0x00000000004642be +0x0000000000445b20 +0x00000000004642c4 +0x00000000004642c8 +0x00000000004642cb +0x00000000004642cf +0x00000000004122d0 +0x00000000004122d3 +0x00000000004002d8 +0x00000000004122da +0x00000000004642db +0x00000000004002dc +0x00000000004122dd +0x00000000004642de +0x00000000004162e0 +0x00000000004642e1 +0x00000000004002e3 +0x00000000004122e5 +0x00000000004002e6 +0x00000000004162e7 +0x00000000004642e9 +0x000000000048fb27 +0x00000000004122ec +0x00000000004002ed +0x00000000004162ee +0x00000000004122f0 +0x00000000004642f1 +0x000000000040e2f2 +0x00000000004642f4 +0x00000000004162f5 +0x000000000040e2f6 +0x00000000004642b2 +0x00000000004642f8 +0x000000000040e2f9 +0x00000000004642fc +0x000000000040e2fd +0x00000000004162ff +0x0000000000464303 +0x000000000040e306 +0x0000000000464307 +0x000000000046430a +0x000000000040e30d +0x000000000048fb2d +0x000000000040e314 +0x0000000000465b2e +0x000000000040e318 +0x0000000000463e70 +0x000000000040e31b +0x000000000041ab30 +0x000000000040e322 +0x000000000040d5db +0x000000000048fb31 +0x000000000040e329 +0x000000000040e330 +0x000000000040e332 +0x000000000040e334 +0x00000000004015de +0x000000000040e337 +0x000000000040e33a +0x000000000040d97b +0x000000000040e33e +0x000000000040e344 +0x0000000000465b36 +0x0000000000465b39 +0x000000000041196b +0x000000000040d5e5 +0x000000000041ab3d +0x0000000000400370 +0x000000000040167e +0x000000000048fb41 +0x000000000040d97e +0x0000000000457939 +0x00000000004123a1 +0x00000000004123a4 +0x00000000004123a6 +0x00000000004443ab +0x000000000040109d +0x0000000000437b48 +0x00000000004443b2 +0x00000000004015f3 +0x00000000004443c0 +0x00000000004123c1 +0x00000000004123c5 +0x00000000004443c7 +0x00000000004443ca +0x0000000000437b4d +0x00000000004443d1 +0x00000000004443d4 +0x0000000000407eee +0x000000000040d5fc +0x000000000048fb52 +0x000000000040b6fb +0x0000000000447b53 +0x000000000045f824 +0x0000000000444409 +0x0000000000444410 +0x0000000000444414 +0x000000000048fb59 +0x000000000044441a +0x0000000000401605 +0x0000000000444421 +0x00000000004010b1 +0x0000000000444428 +0x0000000000445b5c +0x0000000000464432 +0x0000000000444433 +0x0000000000464435 +0x000000000040d651 +0x000000000041b4bb +0x0000000000464438 +0x000000000044443d +0x0000000000444447 +0x000000000044444b +0x00000000004010b8 +0x0000000000437b63 +0x0000000000434470 +0x0000000000434471 +0x0000000000434474 +0x0000000000437af4 +0x0000000000434476 +0x0000000000434478 +0x0000000000434479 +0x0000000000437b6a +0x0000000000434480 +0x00000000004010c0 +0x0000000000434485 +0x000000000043448c +0x0000000000434493 +0x0000000000434496 +0x000000000043449a +0x000000000043449d +0x000000000043449f +0x00000000004378d4 +0x00000000004344a6 +0x00000000004344a8 +0x00000000004344aa +0x00000000004344ac +0x00000000004344b0 +0x00000000004344b2 +0x0000000000407ef5 +0x00000000004344b4 +0x00000000004344b7 +0x00000000004344ba +0x00000000004344bc +0x00000000004324c0 +0x00000000004344c1 +0x00000000004324c2 +0x00000000004344c3 +0x00000000004344c5 +0x00000000004324c8 +0x00000000004324c9 +0x0000000000437b77 +0x00000000004344cc +0x00000000004344cd +0x00000000004324ce +0x00000000004344cf +0x00000000004324d0 +0x00000000004344d1 +0x00000000004324d2 +0x00000000004324d3 +0x00000000004344d8 +0x00000000004344da +0x00000000004324df +0x000000000045c4e0 +0x00000000004344e1 +0x00000000004344e3 +0x000000000045c4e4 +0x00000000004324e6 +0x00000000004344e7 +0x000000000041385f +0x000000000045c4eb +0x00000000004324ed +0x00000000004324f0 +0x00000000004324f5 +0x000000000045c4f7 +0x00000000004324f8 +0x00000000004010d4 +0x000000000045c4fb +0x00000000004324fc +0x00000000004324fe +0x000000000045c500 +0x0000000000432501 +0x000000000045c502 +0x0000000000432503 +0x00000000004370d6 +0x000000000045c506 +0x0000000000432507 +0x000000000045c509 +0x000000000043250d +0x0000000000418510 +0x000000000045c511 +0x0000000000432514 +0x000000000045c516 +0x0000000000418517 +0x0000000000432518 +0x000000000045c519 +0x000000000043251c +0x000000000041851e +0x0000000000432520 +0x000000000045c521 +0x000000000045c523 +0x0000000000418525 +0x0000000000432526 +0x000000000045c52c +0x000000000043252d +0x000000000041852f +0x000000000045c532 +0x0000000000432533 +0x000000000045c535 +0x0000000000432537 +0x0000000000411af0 +0x00000000004010e0 +0x000000000041854b +0x0000000000437c0c +0x000000000041197c +0x000000000041b730 +0x0000000000432560 +0x0000000000432563 +0x0000000000432569 +0x0000000000432570 +0x0000000000437b93 +0x0000000000432574 +0x0000000000432577 +0x000000000043257b +0x00000000004370ea +0x000000000043257e +0x0000000000432580 +0x0000000000432582 +0x0000000000432585 +0x0000000000432588 +0x000000000043258a +0x000000000043258d +0x0000000000432590 +0x0000000000437b98 +0x0000000000432594 +0x0000000000432597 +0x0000000000437b9b +0x0000000000401518 +0x000000000045c5a8 +0x00000000004325aa +0x00000000004325ad +0x000000000045c5af +0x00000000004345b0 +0x000000000045c5b1 +0x00000000004345b3 +0x000000000045c5b4 +0x00000000004325b5 +0x00000000004325b7 +0x00000000004325b8 +0x000000000045c5b9 +0x000000000045c5ba +0x00000000004325bc +0x00000000004325be +0x00000000004325bf +0x00000000004325c0 +0x000000000045c5c1 +0x00000000004345c2 +0x00000000004325c4 +0x000000000045c5c6 +0x00000000004325c7 +0x000000000045c5c9 +0x000000000045c5cb +0x000000000045c5d0 +0x000000000045c5d6 +0x000000000045c5d9 +0x000000000045c5db +0x0000000000437b00 +0x000000000045c5e2 +0x000000000045c5e4 +0x000000000045c5e7 +0x000000000045c5e9 +0x000000000045c5ea +0x0000000000437ba8 +0x00000000004345ba +0x000000000041b727 +0x00000000004231a6 +0x0000000000437104 +0x000000000043261d +0x000000000043261f +0x0000000000432624 +0x0000000000432626 +0x0000000000432628 +0x000000000043262b +0x000000000043262d +0x0000000000432630 +0x0000000000432633 +0x0000000000432636 +0x0000000000437109 +0x0000000000432639 +0x000000000043263d +0x0000000000432641 +0x0000000000432644 +0x0000000000435b0c +0x0000000000432648 +0x000000000043264b +0x000000000043264d +0x000000000043264f +0x0000000000432655 +0x0000000000432658 +0x000000000043265c +0x000000000043265f +0x0000000000421110 +0x0000000000432663 +0x0000000000432666 +0x000000000043266c +0x0000000000432670 +0x00000000004379e2 +0x0000000000432676 +0x000000000043267a +0x000000000043267c +0x0000000000418680 +0x0000000000436bc0 +0x0000000000432683 +0x0000000000432685 +0x0000000000432688 +0x000000000041868a +0x0000000000421117 +0x000000000043268d +0x000000000041868f +0x0000000000432693 +0x0000000000418694 +0x0000000000432695 +0x0000000000418697 +0x0000000000432698 +0x000000000041869a +0x00000000004326a0 +0x00000000004186a1 +0x00000000004326a3 +0x00000000004326a6 +0x000000000040b671 +0x00000000004326a8 +0x00000000004186aa +0x00000000004326ac +0x00000000004186af +0x00000000004186b4 +0x00000000004326b5 +0x00000000004326b8 +0x00000000004186b9 +0x00000000004186bb +0x00000000004186bd +0x00000000004326be +0x00000000004186c0 +0x00000000004186c1 +0x00000000004326c2 +0x0000000000401146 +0x00000000004186c5 +0x00000000004326c9 +0x00000000004186cb +0x00000000004326cc +0x00000000004426d0 +0x00000000004186d1 +0x00000000004326d3 +0x00000000004326d6 +0x00000000004186d7 +0x00000000004426d8 +0x00000000004326d9 +0x0000000000463e90 +0x00000000004186dc +0x000000000040b67a +0x00000000004426df +0x00000000004086e0 +0x00000000004186e1 +0x00000000004426e2 +0x00000000004326e3 +0x00000000004086e4 +0x00000000004426e6 +0x00000000004086e8 +0x00000000004426e9 +0x00000000004186ea +0x00000000004086eb +0x00000000004326ec +0x00000000004426ed +0x00000000004186ee +0x00000000004186f1 +0x00000000004086f2 +0x00000000004426f4 +0x00000000004186f5 +0x00000000004086f7 +0x00000000004426f8 +0x00000000004186fb +0x00000000004186fe +0x0000000000401148 +0x0000000000432680 +0x0000000000418702 +0x0000000000418705 +0x0000000000442706 +0x0000000000418708 +0x000000000041870a +0x000000000044270d +0x000000000041870e +0x000000000043712d +0x0000000000408710 +0x0000000000442711 +0x0000000000442714 +0x0000000000408718 +0x000000000044271b +0x000000000043271d +0x000000000044271f +0x0000000000432720 +0x000000000040c721 +0x0000000000408722 +0x0000000000432723 +0x000000000040c724 +0x0000000000442725 +0x000000000040c726 +0x00000000004087b1 +0x0000000000432728 +0x0000000000442729 +0x000000000044272a +0x000000000043272b +0x0000000000437c1c +0x0000000000432730 +0x0000000000432733 +0x000000000040c735 +0x0000000000432736 +0x0000000000408737 +0x0000000000432738 +0x0000000000408739 +0x000000000040c73c +0x000000000043268a +0x000000000043273e +0x0000000000432741 +0x000000000040c743 +0x0000000000432744 +0x0000000000408745 +0x0000000000432747 +0x000000000040c749 +0x000000000040c74c +0x000000000040c74f +0x0000000000442750 +0x000000000040c751 +0x0000000000408752 +0x0000000000442753 +0x000000000040b68e +0x0000000000442756 +0x000000000043268f +0x000000000040c75c +0x000000000044275f +0x000000000040c760 +0x0000000000442763 +0x000000000040c764 +0x0000000000442767 +0x000000000040876a +0x000000000044276b +0x00000000004551b7 +0x000000000044276f +0x0000000000408772 +0x0000000000442773 +0x0000000000408776 +0x0000000000442777 +0x000000000044277c +0x000000000040877e +0x000000000041b695 +0x0000000000408782 +0x0000000000442785 +0x0000000000408786 +0x0000000000442789 +0x000000000040b697 +0x000000000040878c +0x000000000044278d +0x000000000040878e +0x0000000000442791 +0x0000000000465bee +0x000000000041b699 +0x0000000000455144 +0x000000000044279a +0x000000000044279e +0x00000000004427a2 +0x00000000004087a5 +0x000000000048fbf1 +0x000000000040c7a8 +0x000000000040b69c +0x00000000004087ab +0x000000000040c7ad +0x00000000004087ae +0x00000000004327b0 +0x00000000004427b1 +0x00000000004327b4 +0x00000000004427b5 +0x00000000004327b6 +0x000000000040c7b7 +0x00000000004327b8 +0x00000000004327ba +0x00000000004087bb +0x00000000004327bc +0x00000000004327bd +0x00000000004087bf +0x000000000040c7c0 +0x00000000004427c1 +0x0000000000407ea9 +0x00000000004087c3 +0x00000000004327c4 +0x000000000048fbf6 +0x000000000040c7c7 +0x00000000004427c8 +0x00000000004087c9 +0x00000000004427ca +0x00000000004427cc +0x000000000040c7cd +0x00000000004427cf +0x00000000004327d0 +0x000000000040c7d1 +0x00000000004327d3 +0x00000000004087d4 +0x000000000040c7d5 +0x000000000040c7d7 +0x00000000004087d8 +0x00000000004327d9 +0x000000000040c7db +0x00000000004327dc +0x00000000004087dd +0x000000000040c7de +0x00000000004327e0 +0x0000000000457978 +0x000000000040c7e2 +0x00000000004327e4 +0x00000000004427e6 +0x000000000040e151 +0x000000000040c7e8 +0x00000000004427e9 +0x00000000004327ea +0x00000000004427ed +0x000000000040c7ee +0x00000000004427ef +0x00000000004427f0 +0x00000000004427f1 +0x000000000040c7f2 +0x000000000040c7f4 +0x00000000004327f5 +0x00000000004327f9 +0x000000000040c7fa +0x0000000000401260 +0x00000000004326aa +0x00000000004087fe +0x000000000040c7ff +0x0000000000432800 +0x0000000000465c00 +0x0000000000432803 +0x0000000000432806 +0x0000000000432808 +0x000000000043280b +0x0000000000432810 +0x00000000004074d4 +0x0000000000432813 +0x0000000000408818 +0x0000000000432819 +0x00000000004326af +0x000000000043281c +0x000000000043281f +0x0000000000432821 +0x000000000040b67b +0x0000000000432824 +0x0000000000437c06 +0x0000000000408828 +0x0000000000432829 +0x000000000040882a +0x000000000043282c +0x000000000040bc08 +0x000000000041bc0a +0x0000000000408842 +0x0000000000408844 +0x0000000000408845 +0x0000000000408847 +0x000000000041631b +0x0000000000408849 +0x000000000040884b +0x000000000040884c +0x0000000000408850 +0x000000000040d674 +0x0000000000401163 +0x0000000000407f14 +0x00000000004326bb +0x000000000043286b +0x000000000043706e +0x000000000040b6bd +0x0000000000432870 +0x0000000000432872 +0x0000000000432876 +0x0000000000432879 +0x000000000043287c +0x000000000043287e +0x000000000040a880 +0x0000000000432881 +0x0000000000432883 +0x000000000040a884 +0x000000000040a885 +0x0000000000432886 +0x000000000040a88c +0x0000000000406890 +0x000000000040a891 +0x0000000000406892 +0x000000000040a898 +0x000000000040a89b +0x00000000004326c5 +0x000000000040a8a0 +0x0000000000423170 +0x000000000040a8a3 +0x000000000040a8a5 +0x000000000040a8a9 +0x000000000040a8ad +0x00000000004328b0 +0x000000000040a8b1 +0x00000000004328b4 +0x00000000004328b5 +0x00000000004328b7 +0x00000000004328b9 +0x00000000004328bb +0x00000000004328bd +0x00000000004328be +0x000000000040e175 +0x000000000040c8c0 +0x000000000040a8c1 +0x000000000040c8c4 +0x000000000040a8c8 +0x000000000040a8c9 +0x000000000040a8ca +0x000000000040c8cb +0x000000000040c8cc +0x0000000000437c22 +0x000000000040c8ce +0x000000000040c8d0 +0x000000000040c8d1 +0x000000000040c8d4 +0x000000000040117a +0x0000000000437b1a +0x000000000040b682 +0x000000000045517f +0x00000000004426d7 +0x000000000040c910 +0x000000000040c913 +0x000000000040c918 +0x000000000040c91c +0x000000000040c91e +0x0000000000436920 +0x0000000000436921 +0x000000000040c922 +0x0000000000436924 +0x000000000040c926 +0x0000000000436927 +0x00000000004326dc +0x000000000040c92a +0x000000000045518a +0x0000000000414940 +0x0000000000414941 +0x0000000000414944 +0x0000000000414946 +0x00000000004086e1 +0x0000000000414948 +0x000000000041494a +0x000000000041bc37 +0x000000000041494c +0x000000000041494d +0x000000000043694f +0x000000000040c950 +0x000000000040a951 +0x0000000000436953 +0x0000000000414954 +0x000000000040c955 +0x000000000040a956 +0x0000000000436957 +0x000000000040a958 +0x0000000000414959 +0x000000000040118f +0x000000000040c95c +0x000000000043695e +0x0000000000414960 +0x000000000040c961 +0x0000000000436962 +0x000000000040a965 +0x0000000000414967 +0x000000000040c968 +0x0000000000436969 +0x000000000040c96c +0x000000000041496e +0x000000000040c970 +0x000000000040a972 +0x000000000040c973 +0x0000000000436974 +0x0000000000436975 +0x000000000040c976 +0x00000000004326e9 +0x0000000000414978 +0x000000000040a97b +0x000000000041497c +0x00000000004086ea +0x0000000000401195 +0x0000000000436980 +0x0000000000407f1e +0x0000000000414983 +0x0000000000482987 +0x000000000040a988 +0x000000000041498a +0x0000000000421197 +0x000000000043698c +0x000000000040bc42 +0x000000000048298e +0x000000000040a98f +0x0000000000414991 +0x000000000040a992 +0x000000000040a995 +0x0000000000436997 +0x0000000000482998 +0x0000000000436999 +0x000000000048299a +0x000000000040a99b +0x000000000042119a +0x000000000040a99e +0x000000000041499f +0x00000000004369a0 +0x000000000040a9a1 +0x00000000004369a4 +0x00000000004149a6 +0x000000000040a9a8 +0x000000000040119c +0x000000000040c9aa +0x00000000004829ab +0x00000000004149ad +0x000000000040c9ae +0x000000000040c9b0 +0x000000000040a9b3 +0x000000000043719e +0x00000000004149b6 +0x00000000004369b7 +0x00000000004369b8 +0x000000000040a9b9 +0x00000000004344c9 +0x00000000004369bb +0x000000000040a9bd +0x000000000040a9bf +0x00000000004149c0 +0x000000000040c9c1 +0x000000000040c9c2 +0x000000000040c9c3 +0x00000000004369c6 +0x00000000004829c7 +0x00000000004369c9 +0x000000000040a9cb +0x00000000004369cc +0x00000000004369cf +0x000000000040a9c7 +0x00000000004149d1 +0x00000000004369d2 +0x000000000040a9d3 +0x00000000004369d4 +0x000000000040a9d5 +0x00000000004149d6 +0x00000000004369d8 +0x000000000040a9d9 +0x00000000004369dc +0x00000000004149dd +0x00000000004369e0 +0x000000000048fc50 +0x00000000004369e2 +0x00000000004149e3 +0x000000000040a9e4 +0x000000000040a9e5 +0x00000000004369e6 +0x000000000040a9e7 +0x00000000004369e9 +0x000000000040a9ea +0x00000000004149ec +0x0000000000445c52 +0x000000000040a9f0 +0x00000000004149f3 +0x000000000040a9f4 +0x00000000004086fe +0x00000000004371a9 +0x000000000040a9f8 +0x000000000040a9fb +0x00000000004149fc +0x0000000000443c55 +0x0000000000414a00 +0x0000000000414a03 +0x0000000000436a04 +0x0000000000436a07 +0x0000000000436a0a +0x0000000000436a0c +0x0000000000442702 +0x0000000000436a0f +0x00000000004011af +0x0000000000436a20 +0x00000000004371b0 +0x0000000000414998 +0x0000000000443c5b +0x0000000000436a24 +0x0000000000408706 +0x0000000000436a27 +0x000000000040aa28 +0x000000000040aa2e +0x0000000000436a30 +0x0000000000435708 +0x0000000000436a33 +0x0000000000436a36 +0x0000000000436a40 +0x0000000000436a44 +0x0000000000437b9d +0x0000000000436a4b +0x0000000000436a4e +0x000000000040870d +0x0000000000436a50 +0x000000000040bc63 +0x0000000000436a54 +0x0000000000436a5b +0x0000000000436a5e +0x0000000000436a60 +0x0000000000463d02 +0x0000000000436a63 +0x0000000000436a66 +0x0000000000443e2f +0x0000000000436a70 +0x0000000000436a74 +0x0000000000436a77 +0x0000000000414a78 +0x0000000000436a79 +0x0000000000401498 +0x0000000000414a7b +0x0000000000436a80 +0x0000000000414a86 +0x0000000000414a8d +0x0000000000414a90 +0x0000000000414a93 +0x0000000000400c6e +0x0000000000414a97 +0x0000000000436aa0 +0x0000000000414aa1 +0x000000000043271b +0x0000000000436aa4 +0x0000000000414aa5 +0x0000000000414aa6 +0x0000000000414aa8 +0x0000000000414aaa +0x0000000000436aab +0x0000000000414aac +0x0000000000436aae +0x0000000000414aaf +0x0000000000436ab8 +0x0000000000436abc +0x0000000000400c75 +0x000000000041b720 +0x0000000000436ac3 +0x000000000040bc76 +0x00000000004344d2 +0x0000000000437b2a +0x0000000000435722 +0x0000000000436ad0 +0x0000000000436ad4 +0x0000000000436ad7 +0x0000000000407725 +0x0000000000436ae0 +0x0000000000436ae4 +0x0000000000432726 +0x0000000000436aeb +0x0000000000411c7d +0x000000000040c728 +0x000000000040c729 +0x000000000040872a +0x000000000041ab00 +0x000000000041ab01 +0x000000000041ab04 +0x000000000041ab05 +0x000000000043572c +0x000000000041ab0c +0x000000000041ab11 +0x000000000041b72e +0x000000000041ab18 +0x000000000041b4a1 +0x000000000041ab1f +0x000000000041ab21 +0x000000000040e1db +0x000000000041ab25 +0x0000000000401731 +0x000000000041ab29 +0x0000000000436b30 +0x000000000041ab32 +0x0000000000436b33 +0x0000000000436b36 +0x0000000000436b38 +0x000000000041ab39 +0x0000000000436b3b +0x0000000000436b3d +0x000000000041ab3e +0x000000000041ab3f +0x0000000000436b44 +0x0000000000401736 +0x0000000000436b47 +0x0000000000436b49 +0x0000000000435737 +0x0000000000436b50 +0x0000000000436b56 +0x0000000000436b57 +0x0000000000436b60 +0x0000000000436b61 +0x0000000000436b64 +0x0000000000436b66 +0x0000000000436b68 +0x0000000000436b6a +0x0000000000436b6c +0x0000000000436b6d +0x0000000000436b74 +0x000000000040c73e +0x0000000000436b79 +0x0000000000436b80 +0x0000000000436b85 +0x000000000041b741 +0x0000000000436b8c +0x0000000000436b93 +0x0000000000436b96 +0x000000000040d744 +0x0000000000436b9d +0x0000000000400ba0 +0x0000000000400ba1 +0x000000000040bc9b +0x0000000000436ba4 +0x0000000000436ba7 +0x0000000000400ba8 +0x0000000000400bab +0x0000000000400bac +0x0000000000436bae +0x0000000000436bb0 +0x000000000041b748 +0x0000000000436bb4 +0x0000000000436bb6 +0x000000000040e028 +0x0000000000436bbd +0x0000000000400bc0 +0x0000000000400bc1 +0x0000000000400bc4 +0x0000000000400bc6 +0x0000000000436bc7 +0x0000000000400bc8 +0x0000000000400bc9 +0x0000000000436bca +0x0000000000436bcf +0x0000000000400bd0 +0x000000000040bca3 +0x0000000000400bd5 +0x0000000000436bd6 +0x0000000000436bd9 +0x000000000040874f +0x0000000000400bdc +0x0000000000436be0 +0x000000000041b750 +0x0000000000400be3 +0x0000000000436be4 +0x0000000000400be5 +0x0000000000436be6 +0x0000000000400be7 +0x0000000000436be9 +0x0000000000400bec +0x0000000000436bf0 +0x0000000000445ca8 +0x0000000000436bf3 +0x0000000000436bf8 +0x000000000041b754 +0x0000000000436bfa +0x000000000040c756 +0x0000000000400c0b +0x0000000000400c0e +0x000000000041b758 +0x0000000000400c13 +0x0000000000407f34 +0x0000000000400c18 +0x0000000000401204 +0x0000000000400c1b +0x000000000040775a +0x0000000000400c20 +0x0000000000400c23 +0x0000000000400c28 +0x0000000000400c2b +0x000000000040d963 +0x0000000000400c2e +0x000000000040175d +0x0000000000400c34 +0x0000000000400c3a +0x0000000000400c3e +0x0000000000400c41 +0x000000000040120b +0x0000000000400c45 +0x0000000000400c47 +0x0000000000400c49 +0x0000000000443e36 +0x0000000000407762 +0x00000000004344df +0x0000000000400c4f +0x0000000000400c58 +0x0000000000401764 +0x0000000000400c5b +0x0000000000400c5e +0x0000000000444c60 +0x0000000000400c61 +0x0000000000400c64 +0x0000000000444c67 +0x0000000000400c6a +0x0000000000401212 +0x0000000000444c6e +0x0000000000400c71 +0x0000000000400c73 +0x0000000000444c75 +0x0000000000400c77 +0x0000000000444c7c +0x0000000000400c80 +0x0000000000400c82 +0x0000000000400c84 +0x0000000000400c87 +0x0000000000400c89 +0x0000000000400c8c +0x0000000000400c8e +0x0000000000400c91 +0x0000000000400c94 +0x0000000000400c97 +0x0000000000400c99 +0x0000000000400c9c +0x000000000045f770 +0x0000000000400ca3 +0x0000000000400ca7 +0x0000000000400caa +0x0000000000400cb1 +0x0000000000400cb8 +0x000000000045f774 +0x0000000000400cbb +0x0000000000400cbe +0x0000000000407775 +0x0000000000400cc5 +0x0000000000400cc8 +0x0000000000400cce +0x0000000000400cd1 +0x0000000000400cd8 +0x0000000000400cdc +0x000000000045f77a +0x0000000000445b00 +0x0000000000400cdf +0x0000000000463cd0 +0x0000000000400ce6 +0x0000000000400ced +0x0000000000400cf0 +0x0000000000400cf3 +0x000000000040177e +0x0000000000437229 +0x0000000000437980 +0x0000000000400cfa +0x0000000000400cfe +0x0000000000400cff +0x0000000000400d01 +0x0000000000400d03 +0x0000000000400d04 +0x0000000000463cd6 +0x0000000000414d10 +0x0000000000463cd8 +0x0000000000414d17 +0x0000000000414d1e +0x0000000000411cdb +0x0000000000414d24 +0x0000000000414d26 +0x0000000000414d30 +0x0000000000414d31 +0x0000000000414d34 +0x0000000000445cde +0x0000000000414d3b +0x0000000000414d40 +0x0000000000414d47 +0x0000000000414d4b +0x0000000000414d50 +0x0000000000437238 +0x0000000000414d54 +0x0000000000414d55 +0x0000000000463ce4 +0x000000000041b790 +0x0000000000463ce9 +0x000000000040e23f +0x000000000040bced +0x000000000040a9e0 +0x000000000040bcef +0x0000000000411cf3 +0x000000000040879e +0x0000000000400dbe +0x0000000000411cf5 +0x0000000000400dc1 +0x0000000000400dc7 +0x0000000000400dc9 +0x0000000000400dcd +0x0000000000400dcf +0x0000000000400dd1 +0x0000000000444dd3 +0x0000000000400dd7 +0x0000000000400dda +0x0000000000400ddd +0x0000000000444dde +0x0000000000400ddf +0x0000000000463f47 +0x0000000000400de1 +0x0000000000411cfb +0x0000000000400de7 +0x0000000000444de9 +0x0000000000400dea +0x0000000000400dec +0x0000000000444ded +0x0000000000400dee +0x0000000000444def +0x0000000000400df0 +0x00000000004087a8 +0x0000000000463cfe +0x0000000000400df6 +0x0000000000465ade +0x0000000000400df8 +0x0000000000444df9 +0x0000000000400dfa +0x0000000000400dfd +0x0000000000400e00 +0x0000000000400e03 +0x0000000000400e06 +0x0000000000400e08 +0x0000000000400e0a +0x0000000000400e0c +0x0000000000444e0d +0x0000000000400e0e +0x0000000000400e11 +0x0000000000444e14 +0x000000000040e259 +0x0000000000444e18 +0x00000000004427b0 +0x0000000000444e22 +0x0000000000463d06 +0x00000000004327b1 +0x0000000000444e2c +0x0000000000444e36 +0x00000000004427b4 +0x0000000000400e40 +0x0000000000407260 +0x0000000000400e42 +0x0000000000400e45 +0x0000000000400e46 +0x0000000000400e49 +0x0000000000444e4a +0x00000000004087b7 +0x0000000000400e4d +0x0000000000400e4e +0x0000000000400e4f +0x0000000000444e54 +0x0000000000400e56 +0x0000000000407264 +0x0000000000444e5c +0x000000000040c7ba +0x0000000000444e60 +0x0000000000444e63 +0x0000000000400e64 +0x00000000004427bc +0x0000000000444e6d +0x0000000000400e70 +0x0000000000444e77 +0x0000000000400e78 +0x0000000000444e7e +0x0000000000400e7f +0x0000000000400e82 +0x0000000000400e85 +0x0000000000444e88 +0x0000000000400e89 +0x0000000000444e8f +0x0000000000444e92 +0x0000000000444e99 +0x0000000000444e9f +0x0000000000400ea0 +0x000000000040f270 +0x0000000000444ea2 +0x000000000041aea7 +0x0000000000444ea9 +0x0000000000444eac +0x000000000041aeae +0x0000000000463d1d +0x0000000000400eb0 +0x0000000000444eb2 +0x00000000004327c9 +0x000000000041aeb8 +0x0000000000407274 +0x0000000000444ebd +0x0000000000464275 +0x000000000041aec2 +0x0000000000400ec5 +0x000000000045f7cc +0x000000000041aecc +0x000000000041aece +0x00000000004087cd +0x0000000000400ed0 +0x0000000000400ed3 +0x000000000041aed5 +0x0000000000400ed6 +0x0000000000407279 +0x00000000004017d0 +0x00000000004087d1 +0x000000000040e154 +0x0000000000463d27 +0x0000000000400ef0 +0x0000000000400ef1 +0x00000000004017d3 +0x000000000046427e +0x000000000045f771 +0x0000000000400f00 +0x000000000045f7d6 +0x0000000000400f07 +0x0000000000400f09 +0x000000000040f282 +0x0000000000400f11 +0x0000000000400f12 +0x0000000000400f15 +0x00000000004017da +0x0000000000400f23 +0x0000000000463d31 +0x0000000000400f28 +0x000000000040871b +0x000000000040d8d0 +0x00000000004017dd +0x0000000000400f30 +0x000000000040f288 +0x0000000000400f32 +0x0000000000400f39 +0x00000000004017df +0x000000000040c7c4 +0x0000000000400f3e +0x0000000000400f3f +0x00000000004377e0 +0x0000000000400f46 +0x00000000004149e9 +0x0000000000400f50 +0x000000000041b674 +0x000000000040d7e3 +0x0000000000400f58 +0x00000000004087e4 +0x0000000000400f5c +0x0000000000400f5e +0x0000000000463cd4 +0x0000000000400f65 +0x00000000004117e7 +0x0000000000400f6c +0x0000000000400f71 +0x0000000000400f78 +0x0000000000400f7c +0x0000000000400f7e +0x0000000000400f7f +0x0000000000421d41 +0x00000000004377ed +0x0000000000412299 +0x0000000000400f98 +0x0000000000400f99 +0x0000000000400f9c +0x00000000004087f0 +0x0000000000400fa4 +0x00000000004327f1 +0x0000000000400fa9 +0x00000000004087f2 +0x0000000000400fb1 +0x0000000000400fb4 +0x0000000000400fb8 +0x00000000004117f4 +0x0000000000400fbc +0x0000000000401750 +0x0000000000474fc0 +0x0000000000474fc1 +0x0000000000474fc4 +0x0000000000400fc5 +0x000000000040e2a1 +0x0000000000400fc9 +0x0000000000474fca +0x0000000000400fcb +0x0000000000400fce +0x0000000000400fd0 +0x0000000000432fd1 +0x00000000004072a3 +0x0000000000432fd4 +0x0000000000400fd7 +0x0000000000432fdb +0x0000000000400fdc +0x00000000004087fa +0x0000000000474fdf +0x0000000000474fe0 +0x0000000000400fe1 +0x0000000000400fe5 +0x0000000000400fe7 +0x00000000004117fc +0x0000000000432fea +0x0000000000400feb +0x0000000000400fef +0x0000000000400ff2 +0x0000000000400ff9 +0x0000000000400ffc +0x0000000000401001 +0x0000000000401003 +0x0000000000433004 +0x0000000000401005 +0x0000000000401801 +0x000000000040100c +0x000000000040e2ad +0x000000000040b674 +0x0000000000401011 +0x0000000000401016 +0x0000000000401804 +0x000000000040e2af +0x000000000040d8d8 +0x000000000041b67b +0x0000000000413806 +0x0000000000401029 +0x000000000040102d +0x0000000000411808 +0x0000000000401036 +0x000000000040103d +0x000000000040103e +0x0000000000401040 +0x0000000000401041 +0x0000000000401044 +0x0000000000401046 +0x0000000000401048 +0x000000000040104a +0x000000000040f2b7 +0x000000000040104c +0x000000000040104d +0x000000000041180d +0x0000000000401054 +0x0000000000401059 +0x000000000040f2ba +0x0000000000401060 +0x0000000000401810 +0x0000000000437067 +0x000000000040106e +0x0000000000413813 +0x0000000000401074 +0x0000000000437075 +0x0000000000401077 +0x000000000043707a +0x000000000043707d +0x000000000040107e +0x0000000000401081 +0x0000000000437082 +0x0000000000401084 +0x0000000000401087 +0x0000000000437089 +0x0000000000401817 +0x0000000000437090 +0x0000000000437093 +0x0000000000401096 +0x000000000043709a +0x000000000043709d +0x00000000004012c5 +0x00000000004370a2 +0x00000000004010a4 +0x00000000004370a5 +0x00000000004010a8 +0x00000000004010aa +0x00000000004370ac +0x00000000004370b0 +0x00000000004550b1 +0x00000000004370b2 +0x00000000004550b4 +0x00000000004370b5 +0x00000000004550b6 +0x00000000004550b8 +0x00000000004550b9 +0x000000000041b680 +0x000000000040881f +0x00000000004370bc +0x00000000004010bd +0x00000000004370bf +0x00000000004550c0 +0x00000000004370c1 +0x0000000000400e5d +0x00000000004550c5 +0x00000000004370c6 +0x00000000004010c7 +0x00000000004370c9 +0x00000000004010ca +0x00000000004550cc +0x0000000000401440 +0x00000000004550cf +0x00000000004010d0 +0x00000000004550d2 +0x0000000000401823 +0x00000000004550d4 +0x00000000004550d6 +0x00000000004370d9 +0x00000000004010db +0x00000000004550dd +0x00000000004370e0 +0x00000000004370e3 +0x00000000004550e4 +0x00000000004370e5 +0x00000000004010e7 +0x00000000004550ea +0x00000000004010eb +0x00000000004550ec +0x00000000004370ed +0x00000000004550ee +0x00000000004642d3 +0x00000000004550f4 +0x00000000004370f8 +0x00000000004550f9 +0x00000000004370fa +0x00000000004370fd +0x00000000004550fe +0x0000000000455100 +0x0000000000455104 +0x0000000000455107 +0x0000000000455109 +0x000000000043710e +0x000000000041382d +0x0000000000455110 +0x0000000000421114 +0x0000000000437115 +0x000000000040119e +0x0000000000455117 +0x0000000000437118 +0x000000000043711b +0x000000000040d961 +0x0000000000437126 +0x000000000045512a +0x000000000045512d +0x000000000045512f +0x0000000000437134 +0x0000000000455135 +0x0000000000437136 +0x0000000000437139 +0x000000000045513a +0x000000000043713b +0x000000000043713d +0x000000000045513f +0x0000000000437140 +0x0000000000437143 +0x0000000000401144 +0x0000000000437146 +0x00000000004122e1 +0x0000000000437148 +0x000000000045514a +0x0000000000413837 +0x000000000045514e +0x000000000040f275 +0x0000000000401151 +0x0000000000455156 +0x0000000000401158 +0x0000000000455159 +0x000000000045515e +0x00000000004642e5 +0x0000000000401160 +0x0000000000455163 +0x0000000000401167 +0x000000000045516a +0x000000000045516b +0x000000000045516d +0x000000000040116e +0x000000000045516f +0x0000000000455170 +0x0000000000401171 +0x0000000000423172 +0x0000000000401173 +0x0000000000423174 +0x00000000004087e8 +0x0000000000401177 +0x0000000000455178 +0x000000000042317a +0x000000000040183f +0x000000000042317f +0x0000000000455182 +0x0000000000423184 +0x0000000000455186 +0x0000000000401188 +0x00000000004642ec +0x000000000042318a +0x000000000040118d +0x000000000042318e +0x000000000045518f +0x0000000000421190 +0x0000000000437191 +0x0000000000423192 +0x0000000000421195 +0x0000000000423196 +0x0000000000455197 +0x0000000000437198 +0x0000000000401844 +0x000000000042319a +0x000000000043719b +0x000000000045519c +0x000000000042319e +0x000000000045519f +0x00000000004011a0 +0x00000000004072f0 +0x00000000004231a2 +0x00000000004011a6 +0x00000000004002f1 +0x00000000004231a9 +0x00000000004231ab +0x00000000004011ad +0x00000000004231af +0x00000000004551b0 +0x00000000004231b3 +0x00000000004011b4 +0x00000000004371b5 +0x00000000004231b7 +0x00000000004371b8 +0x00000000004231b9 +0x00000000004371bb +0x00000000004551bc +0x00000000004551c0 +0x0000000000411da0 +0x00000000004011c2 +0x000000000041384b +0x00000000004011c4 +0x00000000004551c5 +0x00000000004551c7 +0x00000000004011c9 +0x00000000004551cb +0x00000000004551cd +0x00000000004011ce +0x000000000040184d +0x00000000004211d0 +0x00000000004011d5 +0x00000000004211d7 +0x00000000004011d8 +0x00000000004211d9 +0x00000000004211db +0x00000000004011dd +0x00000000004211de +0x00000000004211e0 +0x00000000004211e2 +0x00000000004211e5 +0x00000000004011e6 +0x0000000000401851 +0x00000000004211e9 +0x00000000004011ea +0x00000000004211ed +0x00000000004112fd +0x00000000004211f1 +0x00000000004011f3 +0x00000000004211f4 +0x00000000004011f6 +0x00000000004211f8 +0x0000000000401854 +0x000000000040e2ff +0x00000000004211fc +0x0000000000421200 +0x0000000000421204 +0x0000000000437856 +0x0000000000421208 +0x000000000043720b +0x0000000000455151 +0x0000000000437858 +0x0000000000437212 +0x0000000000437215 +0x0000000000437218 +0x000000000040121b +0x0000000000401220 +0x0000000000401223 +0x0000000000401225 +0x0000000000401227 +0x0000000000401229 +0x000000000040122c +0x0000000000437230 +0x0000000000401231 +0x0000000000437233 +0x0000000000437236 +0x0000000000401238 +0x0000000000445db4 +0x000000000040123b +0x000000000043723f +0x0000000000421240 +0x0000000000401241 +0x0000000000437242 +0x0000000000421243 +0x0000000000401244 +0x0000000000437245 +0x0000000000401246 +0x0000000000437247 +0x0000000000421248 +0x0000000000437249 +0x000000000049124c +0x000000000040124d +0x000000000042124e +0x000000000043724f +0x0000000000491250 +0x0000000000437253 +0x0000000000401254 +0x00000000004345c0 +0x0000000000443db9 +0x000000000040125a +0x000000000040125d +0x0000000000435730 +0x0000000000437260 +0x0000000000407261 +0x0000000000401262 +0x0000000000437263 +0x0000000000401264 +0x0000000000407266 +0x0000000000437267 +0x0000000000407268 +0x0000000000401269 +0x000000000040726a +0x000000000040b670 +0x000000000040726c +0x000000000040726d +0x000000000043726e +0x0000000000401270 +0x000000000040f271 +0x0000000000437274 +0x0000000000401275 +0x0000000000401277 +0x0000000000437278 +0x0000000000401279 +0x000000000043727b +0x000000000040f27c +0x000000000040f27f +0x0000000000407280 +0x0000000000401282 +0x0000000000407283 +0x0000000000401286 +0x0000000000407288 +0x000000000043786c +0x000000000040728b +0x000000000040f28c +0x000000000040128f +0x000000000040f290 +0x0000000000407292 +0x0000000000401293 +0x000000000040f294 +0x0000000000407295 +0x000000000040f297 +0x0000000000407298 +0x000000000040f299 +0x000000000040129a +0x000000000040729e +0x000000000040f2a0 +0x00000000004012a3 +0x00000000004072a5 +0x00000000004426fb +0x00000000004012aa +0x00000000004072ab +0x00000000004072b0 +0x00000000004012b1 +0x0000000000443c4b +0x00000000004012b7 +0x000000000041b691 +0x00000000004012ba +0x00000000004012c1 +0x00000000004012c3 +0x0000000000401811 +0x000000000040f2c5 +0x000000000040f2c9 +0x000000000040f2ca +0x000000000040f2cd +0x000000000040f2d0 +0x00000000004072d6 +0x00000000004072da +0x00000000004072dd +0x00000000004072de +0x00000000004072e0 +0x0000000000411dd0 +0x00000000004072e2 +0x00000000004072e4 +0x00000000004072e6 +0x00000000004072e7 +0x000000000041387d +0x00000000004112f0 +0x00000000004112f1 +0x00000000004072f4 +0x00000000004112f6 +0x00000000004112f8 +0x00000000004072f9 +0x00000000004112fa +0x00000000004112fc +0x00000000004072fd +0x0000000000407301 +0x0000000000411304 +0x0000000000407305 +0x000000000040a881 +0x0000000000407308 +0x0000000000411309 +0x000000000040730a +0x000000000041bad7 +0x0000000000411310 +0x0000000000411314 +0x000000000041131a +0x000000000041131e +0x0000000000413885 +0x0000000000411322 +0x0000000000411325 +0x0000000000411329 +0x000000000041132f +0x00000000004086e6 +0x0000000000411333 +0x000000000040c7e6 +0x000000000041133a +0x0000000000411ddf +0x000000000041133c +0x000000000043788a +0x000000000041133f +0x0000000000411342 +0x0000000000411345 +0x000000000041134a +0x000000000041134d +0x000000000043788d +0x0000000000407350 +0x0000000000407351 +0x0000000000411352 +0x0000000000407354 +0x0000000000411355 +0x0000000000407356 +0x0000000000407358 +0x000000000040735a +0x000000000040735b +0x0000000000407362 +0x0000000000407367 +0x000000000040736e +0x0000000000407376 +0x0000000000407378 +0x000000000040737b +0x0000000000411dea +0x000000000040737e +0x0000000000437895 +0x0000000000407385 +0x0000000000407389 +0x000000000040738c +0x000000000040738e +0x0000000000407390 +0x0000000000407394 +0x0000000000407397 +0x000000000040739b +0x000000000040739e +0x00000000004073a3 +0x00000000004073a5 +0x00000000004113a8 +0x00000000004073a9 +0x00000000004073ad +0x00000000004113af +0x00000000004073b0 +0x00000000004113b1 +0x0000000000443df3 +0x00000000004113b4 +0x000000000043789e +0x00000000004113b8 +0x00000000004073ba +0x00000000004113bd +0x00000000004073be +0x0000000000411df5 +0x00000000004373c0 +0x00000000004113c1 +0x00000000004373c3 +0x00000000004113c5 +0x00000000004373c9 +0x00000000004373cd +0x00000000004373ce +0x00000000004373d0 +0x00000000004373d2 +0x00000000004073d3 +0x00000000004373d4 +0x00000000004373d6 +0x00000000004373d7 +0x00000000004073d9 +0x00000000004073dd +0x00000000004073e3 +0x00000000004113e4 +0x00000000004073e6 +0x00000000004073e8 +0x00000000004113e9 +0x00000000004186a8 +0x00000000004370d0 +0x00000000004113ed +0x00000000004073ef +0x00000000004113f0 +0x00000000004113f2 +0x000000000040e17f +0x00000000004113f5 +0x00000000004073f6 +0x00000000004073f9 +0x000000000040df94 +0x00000000004073fb +0x00000000004073ff +0x0000000000449403 +0x0000000000407406 +0x0000000000407408 +0x000000000044940a +0x0000000000444e03 +0x0000000000457970 +0x000000000040e070 +0x000000000041142d +0x0000000000411430 +0x000000000040114a +0x0000000000411434 +0x0000000000411438 +0x000000000040a8b5 +0x0000000000407440 +0x0000000000401441 +0x0000000000401444 +0x0000000000401446 +0x0000000000401448 +0x000000000040144a +0x000000000040744b +0x000000000040144c +0x000000000040144d +0x000000000040744f +0x0000000000407453 +0x0000000000401454 +0x0000000000411456 +0x000000000040a8b9 +0x0000000000401459 +0x000000000041145a +0x000000000041145c +0x000000000041145f +0x0000000000401460 +0x0000000000407462 +0x00000000004370d4 +0x0000000000411467 +0x000000000041146a +0x000000000041146d +0x000000000040a8bd +0x000000000041b470 +0x000000000041b471 +0x0000000000411473 +0x000000000041b474 +0x000000000041b475 +0x0000000000401476 +0x0000000000401479 +0x000000000041b47c +0x0000000000411480 +0x0000000000401481 +0x0000000000411484 +0x0000000000401485 +0x0000000000411488 +0x000000000040148b +0x000000000041148c +0x000000000040148e +0x000000000041b48f +0x0000000000411490 +0x000000000041b491 +0x0000000000447492 +0x0000000000411493 +0x000000000041b495 +0x0000000000411497 +0x0000000000447498 +0x000000000040a8c4 +0x000000000044749a +0x000000000041b49b +0x000000000040149c +0x000000000041b49d +0x000000000041149f +0x00000000004074a0 +0x00000000004014a1 +0x00000000004114a3 +0x00000000004014a4 +0x00000000004014a6 +0x00000000004114a7 +0x000000000041b4a8 +0x00000000004014aa +0x00000000004074ab +0x000000000041b4ad +0x00000000004114ae +0x000000000041b4af +0x00000000004074b0 +0x000000000040c8c8 +0x00000000004014b2 +0x00000000004014b6 +0x00000000004074b7 +0x00000000004114b8 +0x00000000004014b9 +0x000000000041b4ba +0x00000000004114bb +0x00000000004014bc +0x00000000004114be +0x00000000004014c0 +0x00000000004114c1 +0x00000000004074c3 +0x00000000004014c4 +0x00000000004114c5 +0x000000000041b481 +0x00000000004114cb +0x00000000004074d0 +0x00000000004114d1 +0x00000000004114d4 +0x00000000004074d5 +0x00000000004114d7 +0x000000000040de24 +0x00000000004114db +0x00000000004074dc +0x00000000004114e1 +0x00000000004014e3 +0x00000000004074e8 +0x00000000004014ea +0x00000000004014ec +0x00000000004074ed +0x00000000004014ef +0x000000000041b4f0 +0x000000000040de28 +0x00000000004074f2 +0x00000000004014f4 +0x000000000041b4f7 +0x00000000004074f9 +0x00000000004014fa +0x000000000041b4fe +0x0000000000401501 +0x0000000000474fc7 +0x0000000000401504 +0x000000000041b505 +0x0000000000407507 +0x0000000000401509 +0x00000000004378d7 +0x000000000040150e +0x000000000041b50f +0x0000000000401511 +0x000000000040d8d9 +0x000000000041b518 +0x0000000000449519 +0x000000000040151b +0x000000000040151e +0x0000000000401525 +0x0000000000401528 +0x000000000040752a +0x000000000041152b +0x000000000040752d +0x000000000041152f +0x0000000000407530 +0x0000000000411532 +0x0000000000401535 +0x0000000000407536 +0x0000000000407538 +0x000000000040df29 +0x000000000040153b +0x0000000000401540 +0x000000000040d8e0 +0x0000000000401542 +0x0000000000407544 +0x0000000000401545 +0x0000000000407547 +0x0000000000401548 +0x000000000040154c +0x000000000040154f +0x0000000000401552 +0x0000000000401556 +0x000000000040de39 +0x000000000040155a +0x000000000044755c +0x000000000040155d +0x000000000040d8e5 +0x0000000000401564 +0x00000000004378e6 +0x0000000000447566 +0x0000000000401569 +0x00000000004138e7 +0x000000000040156d +0x0000000000401571 +0x0000000000401575 +0x000000000040157a +0x000000000045f8ea +0x000000000040157e +0x0000000000408800 +0x0000000000401582 +0x0000000000407587 +0x000000000040d8ec +0x000000000040758a +0x000000000040158b +0x000000000040158f +0x000000000040e07c +0x0000000000407592 +0x0000000000407595 +0x0000000000401596 +0x0000000000407598 +0x000000000041b488 +0x000000000040159b +0x000000000040de45 +0x000000000040d5a0 +0x000000000040d5a1 +0x00000000004015a3 +0x000000000040d5a4 +0x000000000040d5a6 +0x000000000040d5a7 +0x000000000040d5ae +0x000000000040d5b3 +0x000000000040d5ba +0x000000000040d5bd +0x000000000040d908 +0x00000000004138f5 +0x000000000040d5c1 +0x000000000040d5c4 +0x00000000004075c5 +0x000000000040d5c6 +0x0000000000407ea0 +0x000000000040d5c9 +0x000000000040d5cb +0x00000000004075cc +0x000000000040d5cd +0x000000000040d5cf +0x00000000004015d0 +0x000000000040d5d1 +0x00000000004075d3 +0x00000000004015d4 +0x000000000040d5d5 +0x00000000004075d7 +0x000000000040d5d9 +0x00000000004015db +0x00000000004075de +0x000000000040d5e0 +0x000000000040d5e4 +0x00000000004015e5 +0x000000000040d5e7 +0x000000000040d5e8 +0x00000000004075eb +0x00000000004015ec +0x000000000040bc37 +0x000000000040b676 +0x000000000040d5f0 +0x00000000004075f1 +0x000000000040d5f3 +0x000000000040d5f5 +0x000000000040d5f9 +0x000000000040d5fa +0x00000000004475fc +0x000000000040d5fd +0x00000000004015fe +0x0000000000447603 +0x0000000000444e56 +0x00000000004074e1 +0x000000000040160c +0x000000000040760d +0x0000000000407611 +0x0000000000407614 +0x0000000000407615 +0x0000000000407616 +0x0000000000401617 +0x000000000040161e +0x0000000000463e5b +0x0000000000401625 +0x0000000000408810 +0x000000000040a9ad +0x000000000040162c +0x000000000040162f +0x000000000040d630 +0x0000000000401631 +0x000000000040d635 +0x0000000000401636 +0x0000000000401638 +0x00000000004073b4 +0x000000000040763b +0x000000000040763e +0x000000000040d640 +0x000000000040d641 +0x0000000000407642 +0x0000000000437a7b +0x000000000040d644 +0x000000000040d645 +0x0000000000401646 +0x000000000040764a +0x000000000040164b +0x000000000040d64c +0x00000000004112f4 +0x000000000040164f +0x000000000040b650 +0x000000000040b651 +0x000000000040b654 +0x0000000000401656 +0x000000000040b657 +0x000000000040d658 +0x000000000040165a +0x000000000040d65b +0x000000000040b65c +0x000000000040d65e +0x000000000040b65f +0x000000000040b660 +0x0000000000401661 +0x0000000000401668 +0x000000000040d66a +0x000000000040166b +0x000000000041b670 +0x000000000040d671 +0x0000000000443e7c +0x0000000000401674 +0x000000000041b676 +0x000000000040d677 +0x000000000040b678 +0x000000000041b679 +0x000000000040d67a +0x000000000040167b +0x000000000040d67c +0x000000000041b67e +0x000000000040d680 +0x000000000040d681 +0x000000000040d682 +0x000000000041b683 +0x0000000000401685 +0x000000000041b686 +0x000000000040b687 +0x000000000041b689 +0x000000000041b68b +0x000000000040168c +0x000000000041b68e +0x0000000000443e6d +0x0000000000401690 +0x0000000000401691 +0x0000000000401693 +0x000000000040b694 +0x0000000000401695 +0x0000000000401697 +0x000000000040b699 +0x000000000040169a +0x000000000041b69c +0x000000000041b69e +0x000000000040b69f +0x000000000041b6a0 +0x0000000000443e70 +0x000000000041b6a2 +0x000000000041b6a6 +0x000000000041b6aa +0x000000000041b6ad +0x000000000041b6af +0x000000000041b6b2 +0x0000000000463e73 +0x000000000040b6b4 +0x000000000041b6b5 +0x000000000040b6b7 +0x000000000040d5de +0x000000000041b6b9 +0x000000000040b6ba +0x000000000041b6bd +0x000000000040b6bf +0x000000000041b6c0 +0x000000000040b6c4 +0x0000000000443e76 +0x000000000041b6c6 +0x000000000040b6c8 +0x000000000040b6cb +0x000000000040b6ce +0x000000000040b6d0 +0x000000000040b6d5 +0x000000000041bc08 +0x000000000040b6d8 +0x000000000040b6e4 +0x0000000000401857 +0x000000000041b6eb +0x0000000000444e40 +0x000000000040b6ee +0x00000000004356f0 +0x000000000041b6f2 +0x00000000004356f3 +0x00000000004356f5 +0x00000000004356f6 +0x00000000004356f9 +0x000000000040b6fa +0x00000000004356fb +0x00000000004356fc +0x000000000040b6fd +0x000000000040b6ff +0x000000000040d700 +0x000000000040b701 +0x000000000040b702 +0x0000000000435703 +0x000000000040d704 +0x00000000004073d6 +0x000000000040d706 +0x0000000000401699 +0x000000000040d708 +0x000000000040d70a +0x000000000040b70b +0x000000000040d70c +0x000000000040d70d +0x000000000040b70e +0x000000000043570f +0x0000000000407710 +0x0000000000407711 +0x0000000000435712 +0x0000000000407714 +0x0000000000435715 +0x0000000000407716 +0x0000000000435717 +0x0000000000407718 +0x0000000000407719 +0x000000000043571a +0x000000000043571d +0x0000000000407720 +0x0000000000457930 +0x000000000040d722 +0x000000000040d725 +0x0000000000435727 +0x000000000040d728 +0x000000000041b729 +0x000000000043572a +0x000000000041b72b +0x000000000040772c +0x000000000040d72e +0x000000000040772f +0x0000000000401730 +0x000000000040d731 +0x000000000041b732 +0x000000000040d734 +0x000000000041b735 +0x0000000000407736 +0x000000000040d737 +0x000000000041b739 +0x000000000043573a +0x000000000040173b +0x000000000040773c +0x000000000041b73d +0x000000000040173e +0x000000000040173f +0x000000000040d740 +0x0000000000435741 +0x0000000000435742 +0x000000000041b744 +0x0000000000435745 +0x0000000000407746 +0x000000000040d748 +0x0000000000407749 +0x000000000040d74b +0x000000000041b74c +0x000000000040d74d +0x000000000040d750 +0x0000000000407751 +0x000000000040d753 +0x0000000000401754 +0x0000000000401756 +0x000000000040d757 +0x0000000000401758 +0x000000000040175a +0x000000000040d75b +0x000000000040175c +0x000000000040d75d +0x000000000040775e +0x000000000040d760 +0x000000000048fb2f +0x000000000040d762 +0x000000000041b6ee +0x000000000040d764 +0x0000000000407e91 +0x000000000040d768 +0x0000000000407769 +0x000000000040776b +0x000000000040d76e +0x000000000040776f +0x0000000000407770 +0x000000000040d771 +0x0000000000407772 +0x0000000000463e93 +0x0000000000407774 +0x000000000040d775 +0x000000000045f776 +0x0000000000401777 +0x000000000040d778 +0x000000000040d77a +0x000000000045f77b +0x000000000040d77e +0x0000000000401780 +0x000000000040d781 +0x000000000045f782 +0x0000000000401783 +0x000000000040d785 +0x0000000000401786 +0x000000000045f787 +0x000000000040d788 +0x0000000000401789 +0x000000000040d78b +0x000000000040178d +0x000000000045f78e +0x0000000000401790 +0x000000000041b793 +0x0000000000401794 +0x000000000045f795 +0x0000000000401797 +0x000000000040179a +0x000000000045f79c +0x000000000045f7a3 +0x000000000045f7a6 +0x000000000045f7a9 +0x000000000045f7b0 +0x000000000040183b +0x000000000045f7b3 +0x00000000004017b6 +0x000000000045f7b8 +0x00000000004017bb +0x000000000045f7bd +0x000000000041aea0 +0x00000000004017c2 +0x000000000045f7c4 +0x0000000000400ea1 +0x00000000004017c9 +0x00000000004017cc +0x000000000045f7cf +0x000000000040d7d0 +0x000000000040d7d3 +0x000000000040d7d6 +0x00000000004017d7 +0x000000000040d7da +0x000000000040d7db +0x000000000045f7dc +0x000000000040d7dd +0x000000000040d7df +0x00000000004017e0 +0x000000000040d7e1 +0x000000000040bcde +0x00000000004017e3 +0x000000000040d7e4 +0x00000000004017e6 +0x00000000004377e7 +0x00000000004017e8 +0x00000000004377e9 +0x00000000004377eb +0x00000000004017ec +0x000000000045f7ed +0x00000000004117ee +0x00000000004017f0 +0x000000000040fea8 +0x00000000004017f4 +0x000000000045f7f5 +0x00000000004017f6 +0x00000000004117f7 +0x000000000045f7f8 +0x000000000040c954 +0x00000000004017fa +0x00000000004017fb +0x000000000045f7fc +0x00000000004017fd +0x00000000004017ff +0x000000000045f800 +0x0000000000411801 +0x0000000000401803 +0x000000000045f804 +0x0000000000411806 +0x0000000000413807 +0x000000000045f808 +0x000000000041180a +0x000000000045f80d +0x000000000041380e +0x000000000045f810 +0x00000000004117fa +0x000000000045f813 +0x0000000000401814 +0x0000000000444eae +0x0000000000401816 +0x000000000045f817 +0x0000000000411818 +0x000000000041381a +0x000000000045f81d +0x000000000040181e +0x0000000000423178 +0x0000000000411820 +0x0000000000413821 +0x0000000000411823 +0x0000000000413824 +0x00000000004370f4 +0x0000000000411826 +0x0000000000413827 +0x000000000045f828 +0x000000000045f82a +0x000000000041182c +0x000000000045f82d +0x0000000000411830 +0x0000000000401831 +0x0000000000411833 +0x0000000000413834 +0x000000000045f837 +0x0000000000401838 +0x000000000041383b +0x000000000041183d +0x00000000004011db +0x000000000045f83f +0x000000000040a960 +0x0000000000401842 +0x0000000000411843 +0x0000000000413844 +0x0000000000411846 +0x000000000045f847 +0x0000000000401848 +0x0000000000411849 +0x000000000045f84a +0x000000000041184b +0x000000000045f84d +0x000000000041184f +0x0000000000437850 +0x0000000000437851 +0x0000000000413852 +0x0000000000411853 +0x000000000045f854 +0x0000000000401856 +0x00000000004186e6 +0x000000000045f858 +0x0000000000437859 +0x000000000041185a +0x000000000041385c +0x000000000041185e +0x000000000045f85f +0x0000000000437860 +0x000000000045f863 +0x0000000000411864 +0x0000000000437865 +0x0000000000411868 +0x000000000045f86a +0x0000000000433967 +0x000000000045f86c +0x000000000045f86e +0x000000000045f870 +0x000000000040d968 +0x0000000000437873 +0x0000000000407ebe +0x0000000000437876 +0x0000000000413877 +0x000000000045f878 +0x000000000041387a +0x000000000043787b +0x000000000045f87c +0x000000000043787d +0x000000000045f87f +0x000000000045f881 +0x0000000000413882 +0x000000000040d96b +0x0000000000437884 +0x000000000045f885 +0x000000000045f887 +0x0000000000413888 +0x000000000043696c +0x000000000045f88a +0x000000000045f88d +0x000000000041388e +0x000000000043788f +0x000000000045f891 +0x0000000000437892 +0x000000000045f894 +0x0000000000413895 +0x0000000000408714 +0x0000000000437898 +0x000000000040d8d4 +0x000000000043789a +0x000000000045f89b +0x000000000041389e +0x000000000045f89f +0x00000000004138a0 +0x0000000000436970 +0x00000000004378a2 +0x000000000045f8a3 +0x000000000045f8d4 +0x00000000004378a5 +0x000000000045f8a7 +0x00000000004378a8 +0x000000000045f8ab +0x00000000004378ac +0x000000000040d972 +0x000000000040b708 +0x000000000045f8af +0x000000000045f8b3 +0x0000000000400ec9 +0x00000000004138b8 +0x0000000000457974 +0x000000000045f8bb +0x00000000004138bc +0x00000000004138be +0x000000000040a975 +0x00000000004138c0 +0x00000000004138c2 +0x000000000045f8c3 +0x00000000004378c7 +0x00000000004138c9 +0x00000000004378ca +0x00000000004074a1 +0x000000000045f8cc +0x00000000004378ce +0x000000000045f8cf +0x00000000004578d0 +0x000000000040d8d1 +0x00000000004378d2 +0x00000000004578d4 +0x000000000040d8d6 +0x00000000004578d7 +0x00000000004138d8 +0x00000000004378d9 +0x00000000004138db +0x00000000004578dc +0x00000000004378dd +0x00000000004378df +0x00000000004578e0 +0x00000000004138e1 +0x000000000045f8e3 +0x00000000004138e4 +0x00000000004138e5 +0x00000000004578e6 +0x00000000004378e7 +0x00000000004138e8 +0x00000000004378e9 +0x00000000004578ea +0x00000000004378eb +0x00000000004378ec +0x00000000004378ed +0x00000000004578ef +0x00000000004138f0 +0x00000000004138f1 +0x000000000040d8f3 +0x00000000004578f5 +0x000000000040d8f6 +0x00000000004138f7 +0x00000000004138f8 +0x000000000040d8f9 +0x00000000004578f9 +0x000000000040d8fc +0x00000000004578fd +0x000000000040d8ff +0x0000000000457901 +0x000000000040d902 +0x0000000000457905 +0x0000000000437981 +0x000000000045f908 +0x0000000000457909 +0x000000000040d90b +0x000000000045790d +0x0000000000457911 +0x000000000045f913 +0x0000000000457914 +0x00000000004378f1 +0x000000000045f917 +0x000000000045f918 +0x000000000045f91a +0x000000000045f91c +0x000000000045f91e +0x000000000045f91f +0x0000000000437986 +0x000000000040d927 +0x0000000000436987 +0x000000000040d92f +0x000000000048f930 +0x000000000048f933 +0x0000000000457935 +0x000000000048f937 +0x000000000048f939 +0x000000000040d93a +0x000000000045793e +0x000000000048f940 +0x0000000000457942 +0x0000000000401670 +0x0000000000463f2d +0x0000000000457946 +0x000000000048f948 +0x000000000040d94a +0x000000000045794b +0x000000000048f94d +0x000000000045794f +0x000000000045f7c9 +0x0000000000457953 +0x000000000048f955 +0x0000000000457957 +0x000000000040d95a +0x000000000045795b +0x000000000048f95c +0x000000000040d95e +0x000000000045795f +0x0000000000433960 +0x0000000000433961 +0x0000000000411856 +0x0000000000457963 +0x0000000000433964 +0x0000000000457991 +0x0000000000457968 +0x0000000000433969 +0x000000000043396b +0x000000000045796c +0x000000000043396e +0x000000000041196f +0x000000000048f970 +0x0000000000433971 +0x0000000000411972 +0x0000000000411973 +0x000000000048f974 +0x0000000000411975 +0x0000000000411977 +0x0000000000433978 +0x0000000000411979 +0x000000000041197b +0x000000000045797c +0x000000000043397e +0x000000000045797f +0x0000000000433980 +0x0000000000433981 +0x0000000000457982 +0x000000000040d983 +0x0000000000437984 +0x0000000000457986 +0x0000000000437988 +0x0000000000437989 +0x000000000045798a +0x000000000045798e +0x0000000000437990 +0x000000000040a998 +0x0000000000457994 +0x0000000000437995 +0x000000000041b4aa +0x0000000000457998 +0x0000000000407444 +0x000000000043799c +0x000000000048f96c +0x000000000045799f +0x00000000004579a2 +0x00000000004379a3 +0x00000000004579a4 +0x0000000000407446 +0x000000000040bce1 +0x00000000004379a8 +0x000000000045799c +0x00000000004379ab +0x00000000004379ae +0x000000000048f9af +0x00000000004579b4 +0x000000000048f9b6 +0x00000000004579b8 +0x000000000048f9ba +0x00000000004579bc +0x0000000000463f31 +0x0000000000445ef5 +0x00000000004379c0 +0x0000000000413800 +0x00000000004829a1 +0x00000000004379c9 +0x000000000040de20 +0x00000000004119cf +0x00000000004379d0 +0x00000000004119d2 +0x00000000004379d3 +0x00000000004119d6 +0x00000000004379da +0x00000000004119db +0x00000000004379dd +0x00000000004379a5 +0x00000000004119e2 +0x0000000000413801 +0x000000000040c9a6 +0x00000000004379e7 +0x0000000000407efc +0x00000000004379ea +0x000000000048f964 +0x0000000000400eb7 +0x00000000004379ef +0x00000000004579a8 +0x00000000004379f4 +0x000000000043698e +0x00000000004379f8 +0x00000000004379f9 +0x00000000004010d9 +0x00000000004379fb +0x000000000040a9aa +0x00000000004379fe +0x0000000000408720 +0x00000000004579ab +0x0000000000455195 +0x0000000000407457 +0x000000000045f8e0 +0x0000000000437a0f +0x0000000000407f03 +0x00000000004579ae +0x0000000000463f34 +0x0000000000437a19 +0x0000000000437a1c +0x00000000004149b0 +0x0000000000437a23 +0x0000000000437a26 +0x0000000000408808 +0x0000000000407f0a +0x0000000000413804 +0x0000000000437ade +0x0000000000407460 +0x0000000000463e9b +0x0000000000436991 +0x0000000000437a51 +0x0000000000421d1d +0x00000000004149b9 +0x0000000000437a58 +0x0000000000411464 +0x0000000000437a5a +0x0000000000437a5d +0x0000000000437a5e +0x0000000000437107 +0x000000000040c9bb +0x0000000000437a66 +0x0000000000437a69 +0x0000000000401467 +0x0000000000437a6d +0x000000000040c9bd +0x0000000000447a70 +0x0000000000437a73 +0x0000000000447a74 +0x0000000000491254 +0x0000000000437a76 +0x0000000000437a79 +0x00000000004369bf +0x000000000040146a +0x0000000000433a80 +0x0000000000437a81 +0x0000000000401853 +0x0000000000433a87 +0x0000000000433a89 +0x0000000000447a8c +0x000000000040146d +0x0000000000433a90 +0x000000000040b6eb +0x000000000040a9c3 +0x0000000000433a96 +0x0000000000433a98 +0x000000000040146f +0x0000000000465aa0 +0x0000000000411470 +0x0000000000465aa4 +0x0000000000411810 +0x0000000000465aa8 +0x0000000000465aa9 +0x00000000004149c7 +0x0000000000435744 +0x0000000000465ab0 +0x000000000045c5c0 +0x0000000000443f1e +0x0000000000465ab6 +0x0000000000437ab8 +0x0000000000437aba +0x0000000000465abb +0x0000000000437abf +0x0000000000437ac1 +0x0000000000465ac2 +0x0000000000437ac3 +0x0000000000411476 +0x0000000000437ac6 +0x0000000000465ac7 +0x0000000000447ac8 +0x0000000000437ac9 +0x0000000000437acc +0x0000000000465ace +0x0000000000437acf +0x000000000041bad0 +0x0000000000443da1 +0x0000000000447ad2 +0x0000000000437ad3 +0x0000000000447ad5 +0x0000000000411479 +0x0000000000437ada +0x000000000040a9cf +0x0000000000437adc +0x0000000000400ebf +0x000000000041bade +0x0000000000445ae0 +0x0000000000437ae1 +0x0000000000445ae3 +0x0000000000437ae4 +0x000000000041bae5 +0x0000000000437ae7 +0x0000000000435ae8 +0x0000000000437ae9 +0x0000000000447aea +0x0000000000465aeb +0x0000000000445aed +0x000000000040d937 +0x000000000041baef +0x0000000000435af0 +0x0000000000447af1 +0x0000000000465af2 +0x0000000000437af3 +0x0000000000445af4 +0x0000000000465af5 +0x0000000000435af6 +0x0000000000411af7 +0x0000000000445af9 +0x0000000000465afa +0x0000000000445afd +0x000000000041b4b6 +0x0000000000465b00 +0x0000000000435b02 +0x0000000000465b03 +0x0000000000435b05 +0x0000000000445b07 +0x0000000000465b08 +0x0000000000435b09 +0x0000000000465b0b +0x0000000000445b0c +0x0000000000437b0d +0x0000000000435b0e +0x0000000000435b0f +0x0000000000437b11 +0x0000000000445b13 +0x000000000040d714 +0x0000000000445b1a +0x000000000048fb20 +0x0000000000437b21 +0x000000000048fb22 +0x0000000000437b23 +0x000000000048fb24 +0x0000000000465b26 +0x0000000000445b27 +0x0000000000445b2a +0x0000000000445b2d +0x0000000000437b2e +0x000000000040a9dd +0x0000000000445b30 +0x0000000000401488 +0x0000000000445b33 +0x0000000000465b34 +0x0000000000445b36 +0x000000000048fb37 +0x0000000000400ec2 +0x0000000000443f34 +0x00000000004119df +0x0000000000445b3d +0x000000000048fb3e +0x0000000000445b40 +0x00000000004149e0 +0x0000000000445b43 +0x000000000048fb44 +0x0000000000445b45 +0x0000000000447b46 +0x0000000000445b48 +0x0000000000447b4d +0x0000000000445b4e +0x0000000000437b4f +0x0000000000437b52 +0x0000000000445b53 +0x0000000000437b55 +0x0000000000447b56 +0x0000000000437b57 +0x0000000000445b59 +0x0000000000437b5b +0x0000000000447b5c +0x0000000000437b5d +0x0000000000447b5e +0x0000000000445b5f +0x0000000000437b60 +0x000000000048fb62 +0x0000000000447b63 +0x000000000048fb64 +0x0000000000445b65 +0x0000000000447b66 +0x0000000000437b67 +0x0000000000447b6a +0x0000000000445b6b +0x0000000000447b6d +0x0000000000445b6e +0x0000000000437b70 +0x000000000041b493 +0x0000000000437b74 +0x000000000040a9e9 +0x000000000041ab23 +0x0000000000437b7a +0x0000000000437b7d +0x000000000041b6f5 +0x0000000000437b83 +0x0000000000437b87 +0x0000000000437b8d +0x00000000004379ed +0x0000000000443b90 +0x0000000000443b91 +0x0000000000443b93 +0x0000000000437b95 +0x0000000000443b96 +0x0000000000443b98 +0x0000000000443b9b +0x000000000041149a +0x000000000040163b +0x0000000000443ba2 +0x0000000000437ba4 +0x0000000000400eb8 +0x0000000000437bab +0x000000000040d719 +0x000000000040152b +0x0000000000465bba +0x000000000040149f +0x0000000000465bc1 +0x0000000000465bc4 +0x0000000000465bc5 +0x0000000000465bc7 +0x0000000000465bc9 +0x0000000000465bca +0x000000000041181a +0x000000000048fbd4 +0x000000000048fbd8 +0x00000000004074a4 +0x000000000048fbdb +0x000000000048fbde +0x0000000000465be0 +0x0000000000465be3 +0x0000000000465be6 +0x0000000000445be7 +0x0000000000463e65 +0x0000000000465beb +0x0000000000445bee +0x00000000004379fd +0x000000000041bbf0 +0x0000000000465bf1 +0x0000000000465bf3 +0x000000000048fbf4 +0x000000000048fbf5 +0x0000000000465bf6 +0x000000000041bbf7 +0x000000000048fbf8 +0x0000000000465bfd +0x000000000041bbfe +0x000000000040c720 +0x000000000040bc00 +0x000000000040bc01 +0x0000000000465c03 +0x000000000040bc04 +0x000000000048f935 +0x000000000040bc06 +0x0000000000465c08 +0x000000000040bc0a +0x0000000000465c0b +0x000000000040bc0c +0x000000000040bc0d +0x000000000041bc11 +0x0000000000437c12 +0x000000000040bc14 +0x00000000004014ae +0x0000000000400f59 +0x0000000000437c18 +0x000000000040bc19 +0x000000000041bc1b +0x0000000000443c1c +0x0000000000407403 +0x000000000040bc20 +0x000000000040bc22 +0x000000000040bc25 +0x0000000000443c26 +0x00000000004114b1 +0x000000000040bc28 +0x0000000000444eb9 +0x000000000040bc2a +0x000000000040bc2c +0x000000000040bc2f +0x0000000000443c30 +0x0000000000437a08 +0x000000000040bc32 +0x0000000000443c33 +0x000000000048fc35 +0x0000000000443c37 +0x000000000048fc38 +0x0000000000408733 +0x0000000000443c3a +0x000000000041147c +0x000000000040bc3c +0x0000000000443c3e +0x000000000048fc3f +0x0000000000443c42 +0x0000000000407eb0 +0x0000000000443c45 +0x000000000040bc46 +0x0000000000443c48 +0x000000000040bc4a +0x0000000000445c4b +0x000000000040bc4d +0x000000000040bc4f +0x0000000000443c50 +0x000000000040bc52 +0x0000000000443c53 +0x000000000040bc55 +0x0000000000443c57 +0x000000000040bc58 +0x0000000000445c59 +0x0000000000443c5a +0x000000000040bc5b +0x0000000000445c5c +0x000000000040bc5d +0x000000000045f7e3 +0x000000000040bc60 +0x0000000000445c63 +0x0000000000400ecc +0x0000000000445c66 +0x000000000040bc67 +0x000000000040113d +0x000000000041b4bc +0x000000000040bc6a +0x0000000000445c6b +0x0000000000411c6c +0x000000000040bc6d +0x0000000000445c6f +0x000000000040bc72 +0x0000000000411c73 +0x0000000000401642 +0x00000000004074be +0x0000000000445c76 +0x0000000000411c79 +0x000000000040bc7c +0x0000000000445c7d +0x000000000040bc7f +0x0000000000411c81 +0x000000000040bc82 +0x0000000000445c83 +0x000000000040bc85 +0x000000000040182a +0x000000000040bc87 +0x0000000000411c88 +0x0000000000445c89 +0x000000000040bc8a +0x0000000000411c8b +0x000000000040d942 +0x000000000040bc8d +0x0000000000445c8f +0x000000000040bc91 +0x000000000040bc92 +0x000000000040bc94 +0x0000000000445c95 +0x000000000040bc96 +0x000000000040bc98 +0x000000000040bc9a +0x0000000000445c9b +0x000000000040bca0 +0x0000000000445ca2 +0x000000000040bc79 +0x000000000040bca6 +0x000000000048fb5c +0x000000000040bca9 +0x0000000000445caa +0x000000000040bcab +0x000000000040a950 +0x0000000000445cb1 +0x000000000040bcb2 +0x000000000040bcb7 +0x000000000040bcba +0x000000000040bcbd +0x000000000040bcc0 +0x000000000040bcc6 +0x00000000004324cc +0x000000000040bcca +0x000000000040bcce +0x0000000000445ccf +0x000000000040bcd0 +0x0000000000463cd1 +0x000000000040740a +0x000000000040bcd4 +0x0000000000445cd5 +0x000000000040bcd6 +0x0000000000411cd7 +0x0000000000445cd8 +0x000000000040bcd9 +0x0000000000463cda +0x000000000040bcdb +0x0000000000463cdc +0x0000000000463cdd +0x0000000000411cde +0x0000000000445ce1 +0x0000000000411ce2 +0x000000000040bce4 +0x0000000000411ce6 +0x00000000004074d1 +0x0000000000445ce8 +0x0000000000411ce9 +0x000000000040bcea +0x0000000000411ced +0x0000000000445cef +0x0000000000463cf0 +0x000000000040bcf3 +0x0000000000445cf5 +0x000000000040bcf6 +0x0000000000463cf7 +0x0000000000445cf8 +0x000000000040bcf9 +0x0000000000463cfb +0x000000000040bcfe +0x0000000000437854 +0x0000000000421d00 +0x000000000040bd01 +0x0000000000411d02 +0x0000000000421d04 +0x0000000000411d05 +0x0000000000421d06 +0x0000000000400e77 +0x0000000000436a00 +0x0000000000463d0a +0x0000000000421d0b +0x0000000000463d0d +0x0000000000421d0f +0x0000000000463d11 +0x0000000000421d14 +0x0000000000463d16 +0x0000000000421d18 +0x0000000000463d19 +0x00000000004324da +0x000000000040aa30 +0x0000000000421d23 +0x0000000000463d24 +0x0000000000421d27 +0x000000000040a954 +0x0000000000463d2a +0x0000000000421d2b +0x0000000000421d2f +0x0000000000445d31 +0x0000000000421d33 +0x0000000000463d34 +0x0000000000421d37 +0x0000000000445d38 +0x0000000000445d3a +0x0000000000421d3b +0x0000000000401751 +0x0000000000421d3f +0x0000000000445d41 +0x0000000000421d43 +0x0000000000421d46 +0x000000000045c4e1 +0x0000000000421d4a +0x00000000004186f8 +0x0000000000445ebf +0x0000000000407741 +0x000000000040b691 +0x0000000000463d63 +0x000000000040bf91 +0x0000000000463d6a +0x00000000004325c9 +0x0000000000463d6d +0x0000000000463d70 +0x000000000045f8fd +0x0000000000463d74 +0x0000000000411f94 +0x000000000040873e +0x0000000000411d90 +0x000000000041b498 +0x0000000000411d97 +0x00000000004074ef +0x0000000000411d9e +0x0000000000443da0 +0x000000000045c4f0 +0x0000000000443da4 +0x0000000000443da6 +0x0000000000411da7 +0x0000000000443da8 +0x0000000000443daa +0x0000000000411dab +0x0000000000443dac +0x0000000000443dad +0x0000000000445dae +0x0000000000411daf +0x0000000000411db3 +0x0000000000443db4 +0x0000000000411db7 +0x0000000000407744 +0x000000000041181e +0x0000000000445dba +0x0000000000445dbc +0x0000000000411dbd +0x000000000040a959 +0x0000000000443dc0 +0x0000000000411dc4 +0x0000000000411dc7 +0x0000000000411dc9 +0x0000000000443dca +0x00000000004014f7 +0x0000000000411dcd +0x000000000040c951 +0x0000000000443dd0 +0x0000000000411dd3 +0x0000000000443dd6 +0x0000000000411dd7 +0x0000000000443dd8 +0x0000000000411ddb +0x000000000041b6f0 +0x0000000000443dde +0x000000000040c730 +0x0000000000437a50 +0x0000000000411de3 +0x0000000000411de7 +0x0000000000443de8 +0x0000000000443dea +0x0000000000443ded +0x0000000000411dee +0x0000000000411df2 +0x00000000004369b0 +0x00000000004014fe +0x0000000000443df6 +0x0000000000411dfb +0x0000000000443dfc +0x0000000000443dff +0x0000000000411e01 +0x0000000000443e02 +0x0000000000411e03 +0x0000000000443e05 +0x0000000000443e08 +0x0000000000443e0e +0x0000000000411e10 +0x0000000000443e11 +0x000000000045c503 +0x0000000000411e14 +0x0000000000443e16 +0x0000000000411e17 +0x0000000000443e19 +0x0000000000445e1b +0x0000000000411fa3 +0x0000000000443e20 +0x000000000040de21 +0x0000000000445e22 +0x0000000000443e24 +0x000000000040de26 +0x0000000000445e28 +0x000000000040de2a +0x0000000000443e2b +0x000000000040de2c +0x000000000040de2d +0x0000000000445e2f +0x000000000040de34 +0x0000000000445e36 +0x0000000000445e39 +0x0000000000443e3b +0x0000000000443e3e +0x0000000000407739 +0x000000000040de40 +0x0000000000437a60 +0x000000000040de42 +0x0000000000445e43 +0x0000000000443e45 +0x0000000000445e46 +0x0000000000443e4c +0x0000000000445e4d +0x0000000000445e50 +0x0000000000482980 +0x000000000040750e +0x0000000000443e56 +0x0000000000445e57 +0x0000000000445e5a +0x000000000044950f +0x0000000000443e5c +0x000000000040dfba +0x0000000000445e60 +0x000000000045c510 +0x0000000000463e62 +0x0000000000443e63 +0x0000000000445e65 +0x0000000000463e68 +0x0000000000443e6a +0x0000000000445e6b +0x000000000040d952 +0x0000000000445e6d +0x000000000040bfbd +0x0000000000445e70 +0x0000000000443e73 +0x0000000000445e76 +0x0000000000447a69 +0x0000000000443e79 +0x0000000000463e7a +0x0000000000445e7c +0x0000000000463e7d +0x000000000040dfc0 +0x0000000000443e86 +0x0000000000445e88 +0x0000000000445e8a +0x0000000000463e8b +0x0000000000443e8c +0x0000000000463e8e +0x0000000000407e90 +0x0000000000445e91 +0x0000000000443e93 +0x0000000000407e94 +0x0000000000443e95 +0x0000000000463e96 +0x0000000000445e97 +0x0000000000407e9b +0x0000000000443e9c +0x0000000000445e9e +0x0000000000443ea0 +0x0000000000445ea1 +0x0000000000463ea2 +0x0000000000463ea6 +0x0000000000407ea7 +0x0000000000445ea8 +0x000000000045c51c +0x0000000000463eab +0x0000000000463ead +0x0000000000445eaf +0x0000000000463eb0 +0x000000000040d720 +0x0000000000445eb2 +0x0000000000463eb3 +0x0000000000443eb4 +0x0000000000463e6c +0x0000000000407eb7 +0x0000000000443eba +0x000000000040fea0 +0x0000000000411c76 +0x0000000000443ebe +0x0000000000443ebf +0x0000000000443ec1 +0x0000000000443ec3 +0x0000000000443ec5 +0x0000000000445ec6 +0x0000000000443ec7 +0x0000000000443ec8 +0x0000000000407ecc +0x0000000000445ecd +0x0000000000445ed4 +0x0000000000445ed6 +0x0000000000445edd +0x0000000000443ee0 +0x0000000000432fd0 +0x0000000000445ee3 +0x000000000045c526 +0x0000000000443ee8 +0x0000000000445eea +0x0000000000445eec +0x0000000000443eee +0x0000000000407ef2 +0x0000000000445ef3 +0x000000000040def4 +0x0000000000443ef5 +0x000000000040d964 +0x0000000000445ef8 +0x0000000000443efc +0x000000000040defd +0x0000000000463efe +0x0000000000445eff +0x000000000040df00 +0x0000000000463f02 +0x0000000000443f03 +0x000000000040df04 +0x0000000000445f06 +0x0000000000443f0a +0x0000000000400be9 +0x000000000040d701 +0x0000000000445f0d +0x0000000000401769 +0x0000000000407ec5 +0x0000000000443f13 +0x0000000000445f14 +0x0000000000443f17 +0x0000000000443f19 +0x0000000000445f1b +0x0000000000445f1e +0x000000000040df1f +0x0000000000443f20 +0x0000000000445f21 +0x000000000040df22 +0x0000000000445f23 +0x0000000000407f25 +0x0000000000463f26 +0x0000000000443f27 +0x0000000000445f29 +0x0000000000463f2a +0x00000000004550b0 +0x0000000000407f2c +0x0000000000401532 +0x0000000000407f2f +0x0000000000445f30 +0x0000000000443f31 +0x000000000040d979 +0x0000000000445f34 +0x0000000000407f35 +0x0000000000463f38 +0x0000000000445eb7 +0x0000000000445f3b +0x000000000040e2f0 +0x0000000000445f3e +0x0000000000463f3f +0x000000000040e0b8 +0x0000000000445f41 +0x0000000000443dc7 +0x0000000000432fe1 +0x0000000000445f48 +0x0000000000463f4a +0x0000000000443f4c +0x0000000000463f50 +0x0000000000443f53 +0x0000000000463f54 +0x0000000000443f57 +0x0000000000463f58 +0x0000000000447a8f +0x0000000000443f5e +0x000000000040bfb0 +0x0000000000443f62 +0x0000000000408853 +0x0000000000401218 +0x0000000000432fe7 +0x0000000000411f71 +0x0000000000418685 +0x0000000000411f78 +0x00000000004369bd +0x0000000000411f7b +0x0000000000411f7f +0x000000000040bf80 +0x0000000000407540 +0x000000000040bf82 +0x000000000040bf85 +0x0000000000411f86 +0x000000000040bf87 +0x0000000000443f88 +0x0000000000411f89 +0x000000000040df8c +0x0000000000411f8d +0x0000000000443f8f +0x000000000040bf90 +0x0000000000411f91 +0x000000000040df92 +0x000000000040bf94 +0x000000000040bf95 +0x0000000000443f97 +0x0000000000411f98 +0x0000000000411f9b +0x000000000040bf9c +0x0000000000443f9e +0x0000000000411f9f +0x000000000040bfa1 +0x0000000000445fa3 +0x0000000000443fa5 +0x0000000000411fa7 +0x000000000040bfa8 +0x0000000000445fa9 +0x000000000040bfab +0x0000000000411fad +0x0000000000443fae +0x0000000000411faf +0x0000000000443fb0 +0x000000000041183b +0x000000000040dfb2 +0x000000000040bfb3 +0x000000000040e2f4 +0x000000000040bfb6 +0x000000000040dfb7 +0x0000000000445e40 +0x000000000040bfba +0x000000000040774d +0x000000000040dfbd +0x000000000040bfbf +0x000000000040bfc0 +0x000000000040bfc1 +0x000000000040dfc5 +0x0000000000465aa1 +0x0000000000443fc8 +0x000000000040dfc9 +0x000000000040dfcc +0x0000000000443fce +0x0000000000443fd0 +0x000000000045f8c9 +0x000000000040c741 +0x0000000000401770 +0x0000000000465aa6 +0x0000000000408701 +0x000000000040d95f +0x000000000040a96c diff --git a/tests/test_events.py b/tests/test_events.py index 26dca3c..0eac483 100644 --- a/tests/test_events.py +++ b/tests/test_events.py @@ -4,17 +4,19 @@ import unittest from manticore.utils.event import Eventful class A(Eventful): + _published_events = set(['eventA']) def do_stuff(self): - self.publish("eventA",1, 'a') + self._publish("eventA",1, 'a') class B(Eventful): + _published_events = set(['eventB']) def __init__(self, child, **kwargs): super(B, self).__init__(**kwargs) self.child = child self.forward_events_from(child) def do_stuff(self): - self.publish("eventB", 2, 'b') + self._publish("eventB", 2, 'b') class C():