From c13f3d378f77ce3176628ade452b0e461242faf3 Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Mon, 15 Feb 2010 11:33:04 +0900 Subject: x86/gart: Unexport gart_iommu_aperture I wrongly exported gart_iommu_aperture in the commit 42590a75019a50012f25a962246498dead428433. It's not necessary so let's unexport it. Signed-off-by: FUJITA Tomonori Cc: Joerg Roedel LKML-Reference: <20100215113241P.fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c index f147a95..3704997 100644 --- a/arch/x86/kernel/aperture_64.c +++ b/arch/x86/kernel/aperture_64.c @@ -31,7 +31,6 @@ #include int gart_iommu_aperture; -EXPORT_SYMBOL_GPL(gart_iommu_aperture); int gart_iommu_aperture_disabled __initdata; int gart_iommu_aperture_allowed __initdata; -- cgit v0.10.2 From 281ff33b7c1b1ba2a5f9b03425e5f692a94913fa Mon Sep 17 00:00:00 2001 From: Suresh Siddha Date: Thu, 18 Feb 2010 11:51:40 -0800 Subject: x86_64, cpa: Don't work hard in preserving kernel 2M mappings when using 4K already We currently enforce the !RW mapping for the kernel mapping that maps holes between different text, rodata and data sections. However, kernel identity mappings will have different RWX permissions to the pages mapping to text and to the pages padding (which are freed) the text, rodata sections. Hence kernel identity mappings will be broken to smaller pages. For 64-bit, kernel text and kernel identity mappings are different, so we can enable protection checks that come with CONFIG_DEBUG_RODATA, as well as retain 2MB large page mappings for kernel text. Konrad reported a boot failure with the Linux Xen paravirt guest because of this. In this paravirt guest case, the kernel text mapping and the kernel identity mapping share the same page-table pages. Thus forcing the !RW mapping for some of the kernel mappings also cause the kernel identity mappings to be read-only resulting in the boot failure. Linux Xen paravirt guest also uses 4k mappings and don't use 2M mapping. Fix this issue and retain large page performance advantage for native kernels by not working hard and not enforcing !RW for the kernel text mapping, if the current mapping is already using small page mapping. Reported-by: Konrad Rzeszutek Wilk Signed-off-by: Suresh Siddha LKML-Reference: <1266522700.2909.34.camel@sbs-t61.sc.intel.com> Tested-by: Konrad Rzeszutek Wilk Cc: stable@kernel.org [2.6.32, 2.6.33] Signed-off-by: H. Peter Anvin diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 1d4eb93..cf07c26 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -291,8 +291,29 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long address, */ if (kernel_set_to_readonly && within(address, (unsigned long)_text, - (unsigned long)__end_rodata_hpage_align)) - pgprot_val(forbidden) |= _PAGE_RW; + (unsigned long)__end_rodata_hpage_align)) { + unsigned int level; + + /* + * Don't enforce the !RW mapping for the kernel text mapping, + * if the current mapping is already using small page mapping. + * No need to work hard to preserve large page mappings in this + * case. + * + * This also fixes the Linux Xen paravirt guest boot failure + * (because of unexpected read-only mappings for kernel identity + * mappings). In this paravirt guest case, the kernel text + * mapping and the kernel identity mapping share the same + * page-table pages. Thus we can't really use different + * protections for the kernel text and identity mappings. Also, + * these shared mappings are made of small page mappings. + * Thus this don't enforce !RW mapping for small page kernel + * text mapping logic will help Linux Xen parvirt guest boot + * aswell. + */ + if (lookup_address(address, &level) && (level != PG_LEVEL_4K)) + pgprot_val(forbidden) |= _PAGE_RW; + } #endif prot = __pgprot(pgprot_val(prot) & ~pgprot_val(forbidden)); -- cgit v0.10.2 From 44ee63587dce85593c22497140db16f4e5027860 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Wed, 17 Feb 2010 10:50:50 +0900 Subject: percpu: Add __percpu sparse annotations to hw_breakpoint Add __percpu sparse annotations to hw_breakpoint. These annotations are to make sparse consider percpu variables to be in a different address space and warn if accessed without going through percpu accessors. This patch doesn't affect normal builds. In kernel/hw_breakpoint.c, per_cpu(nr_task_bp_pinned, cpu)'s will trigger spurious noderef related warnings from sparse. Changing it to &per_cpu(nr_task_bp_pinned[0], cpu) will work around the problem but deemed to ugly by the maintainer. Leave it alone until better solution can be found. Signed-off-by: Tejun Heo Cc: Stephen Rothwell Cc: K.Prasad LKML-Reference: <4B7B4B7A.9050902@kernel.org> Signed-off-by: Frederic Weisbecker diff --git a/include/linux/hw_breakpoint.h b/include/linux/hw_breakpoint.h index 5977b72..c70d27a 100644 --- a/include/linux/hw_breakpoint.h +++ b/include/linux/hw_breakpoint.h @@ -66,14 +66,14 @@ register_wide_hw_breakpoint_cpu(struct perf_event_attr *attr, perf_overflow_handler_t triggered, int cpu); -extern struct perf_event ** +extern struct perf_event * __percpu * register_wide_hw_breakpoint(struct perf_event_attr *attr, perf_overflow_handler_t triggered); extern int register_perf_hw_breakpoint(struct perf_event *bp); extern int __register_perf_hw_breakpoint(struct perf_event *bp); extern void unregister_hw_breakpoint(struct perf_event *bp); -extern void unregister_wide_hw_breakpoint(struct perf_event **cpu_events); +extern void unregister_wide_hw_breakpoint(struct perf_event * __percpu *cpu_events); extern int dbg_reserve_bp_slot(struct perf_event *bp); extern int dbg_release_bp_slot(struct perf_event *bp); @@ -100,7 +100,7 @@ static inline struct perf_event * register_wide_hw_breakpoint_cpu(struct perf_event_attr *attr, perf_overflow_handler_t triggered, int cpu) { return NULL; } -static inline struct perf_event ** +static inline struct perf_event * __percpu * register_wide_hw_breakpoint(struct perf_event_attr *attr, perf_overflow_handler_t triggered) { return NULL; } static inline int @@ -109,7 +109,7 @@ static inline int __register_perf_hw_breakpoint(struct perf_event *bp) { return -ENOSYS; } static inline void unregister_hw_breakpoint(struct perf_event *bp) { } static inline void -unregister_wide_hw_breakpoint(struct perf_event **cpu_events) { } +unregister_wide_hw_breakpoint(struct perf_event * __percpu *cpu_events) { } static inline int reserve_bp_slot(struct perf_event *bp) {return -ENOSYS; } static inline void release_bp_slot(struct perf_event *bp) { } diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index 967e6614..6542eac 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c @@ -413,17 +413,17 @@ EXPORT_SYMBOL_GPL(unregister_hw_breakpoint); * * @return a set of per_cpu pointers to perf events */ -struct perf_event ** +struct perf_event * __percpu * register_wide_hw_breakpoint(struct perf_event_attr *attr, perf_overflow_handler_t triggered) { - struct perf_event **cpu_events, **pevent, *bp; + struct perf_event * __percpu *cpu_events, **pevent, *bp; long err; int cpu; cpu_events = alloc_percpu(typeof(*cpu_events)); if (!cpu_events) - return ERR_PTR(-ENOMEM); + return (void __percpu __force *)ERR_PTR(-ENOMEM); get_online_cpus(); for_each_online_cpu(cpu) { @@ -451,7 +451,7 @@ fail: put_online_cpus(); free_percpu(cpu_events); - return ERR_PTR(err); + return (void __percpu __force *)ERR_PTR(err); } EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); @@ -459,7 +459,7 @@ EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); * unregister_wide_hw_breakpoint - unregister a wide breakpoint in the kernel * @cpu_events: the per cpu set of events to unregister */ -void unregister_wide_hw_breakpoint(struct perf_event **cpu_events) +void unregister_wide_hw_breakpoint(struct perf_event * __percpu *cpu_events) { int cpu; struct perf_event **pevent; diff --git a/samples/hw_breakpoint/data_breakpoint.c b/samples/hw_breakpoint/data_breakpoint.c index c69cbe9..bd0f337 100644 --- a/samples/hw_breakpoint/data_breakpoint.c +++ b/samples/hw_breakpoint/data_breakpoint.c @@ -34,7 +34,7 @@ #include #include -struct perf_event **sample_hbp; +struct perf_event * __percpu *sample_hbp; static char ksym_name[KSYM_NAME_LEN] = "pid_max"; module_param_string(ksym, ksym_name, KSYM_NAME_LEN, S_IRUGO); @@ -61,8 +61,8 @@ static int __init hw_break_module_init(void) attr.bp_type = HW_BREAKPOINT_W | HW_BREAKPOINT_R; sample_hbp = register_wide_hw_breakpoint(&attr, sample_hbp_handler); - if (IS_ERR(sample_hbp)) { - ret = PTR_ERR(sample_hbp); + if (IS_ERR((void __force *)sample_hbp)) { + ret = PTR_ERR((void __force *)sample_hbp); goto fail; } -- cgit v0.10.2 From 84c6f88fc8265d7a712d7d6ed8fc1a878dfc84d1 Mon Sep 17 00:00:00 2001 From: Hitoshi Mitake Date: Thu, 4 Feb 2010 16:08:15 +0900 Subject: perf lock: Fix and add misc documentally things I've forgot to add 'perf lock' line to command-list.txt, so users of perf could not find perf lock when they type 'perf'. Fixing command-list.txt requires document (tools/perf/Documentation/perf-lock.txt). But perf lock is too much "under construction" to write a stable document, so this is something like pseudo document for now. And I wrote description of perf lock at help section of CONFIG_LOCK_STAT, this will navigate users of lock trace events. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1265267295-8388-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Frederic Weisbecker diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 25c3ed5..65f964e 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -520,6 +520,12 @@ config LOCK_STAT For more details, see Documentation/lockstat.txt + You can analyze lock events with "perf lock", subcommand of perf. + If you want to use "perf lock", you need to turn on CONFIG_EVENT_TRACING. + + CONFIG_LOCK_STAT defines "contended" and "acquired" lock events. + (CONFIG_LOCKDEP defines "acquire" and "release" events.) + config DEBUG_LOCKDEP bool "Lock dependency engine debugging" depends on DEBUG_KERNEL && LOCKDEP diff --git a/tools/perf/Documentation/perf-lock.txt b/tools/perf/Documentation/perf-lock.txt new file mode 100644 index 0000000..b317102 --- /dev/null +++ b/tools/perf/Documentation/perf-lock.txt @@ -0,0 +1,29 @@ +perf-lock(1) +============ + +NAME +---- +perf-lock - Analyze lock events + +SYNOPSIS +-------- +[verse] +'perf lock' {record|report|trace} + +DESCRIPTION +----------- +You can analyze various lock behaviours +and statistics with this 'perf lock' command. + + 'perf lock record ' records lock events + between start and end . And this command + produces the file "perf.data" which contains tracing + results of lock events. + + 'perf lock trace' shows raw lock events. + + 'perf lock report' reports statistical data. + +SEE ALSO +-------- +linkperf:perf[1] diff --git a/tools/perf/command-list.txt b/tools/perf/command-list.txt index 9afcff2..db6ee94 100644 --- a/tools/perf/command-list.txt +++ b/tools/perf/command-list.txt @@ -18,3 +18,4 @@ perf-top mainporcelain common perf-trace mainporcelain common perf-probe mainporcelain common perf-kmem mainporcelain common +perf-lock mainporcelain common -- cgit v0.10.2 From b67577dfb45580c498bfdb1bc76c00c3b2ad6310 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 3 Feb 2010 09:09:33 +0100 Subject: perf lock: Drop the buffers multiplexing dependency We need to deal with time ordered events to build a correct state machine of lock events. This is why we multiplex the lock events buffers. But the ordering is done from the kernel, on the tracing fast path, leading to high contention between cpus. Without multiplexing, the events appears in a weak order. If we have four events, each split per cpu, perf record will read the events buffers in the following order: [ CPU0 ev0, CPU0 ev1, CPU0 ev3, CPU0 ev4, CPU1 ev0, CPU1 ev0....] To handle a post processing reordering, we could just read and sort the whole in memory, but it just doesn't scale with high amounts of events: lock events can fill huge amounts in few times. Basically we need to sort in memory and find a "grace period" point when we know that a given slice of previously sorted events can be committed for post-processing, so that we can unload the memory usage step by step and keep a scalable sorting list. There is no strong rules about how to define such "grace period". What does this patch is: We define a FLUSH_PERIOD value that defines a grace period in seconds. We want to have a slice of events covering 2 * FLUSH_PERIOD in our sorted list. If FLUSH_PERIOD is big enough, it ensures every events that occured in the first half of the timeslice have all been buffered and there are none remaining and there won't be further to put inside this first timeslice. Then once we reach the 2 * FLUSH_PERIOD timeslice, we flush the first half to be gentle with the memory (the second half can still get new events in the middle, so wait another period to flush it) FLUSH_PERIOD is defined to 5 seconds. Say the first event started on time t0. We can safely assume that at the time we are processing events of t0 + 10 seconds, ther won't be anymore events to read from perf.data that occured between t0 and t0 + 5 seconds. Hence we can safely flush the first half. To point out funky bugs, we have a guardian that checks a new event timestamp is not below the last event's timestamp flushed and that displays a warning in this case. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Hitoshi Mitake Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Jens Axboe diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index fb9ab2a..e12c844 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -460,6 +460,150 @@ process_raw_event(void *data, int cpu, process_lock_release_event(data, event, cpu, timestamp, thread); } +struct raw_event_queue { + u64 timestamp; + int cpu; + void *data; + struct thread *thread; + struct list_head list; +}; + +static LIST_HEAD(raw_event_head); + +#define FLUSH_PERIOD (5 * NSEC_PER_SEC) + +static u64 flush_limit = ULLONG_MAX; +static u64 last_flush = 0; +struct raw_event_queue *last_inserted; + +static void flush_raw_event_queue(u64 limit) +{ + struct raw_event_queue *tmp, *iter; + + list_for_each_entry_safe(iter, tmp, &raw_event_head, list) { + if (iter->timestamp > limit) + return; + + if (iter == last_inserted) + last_inserted = NULL; + + process_raw_event(iter->data, iter->cpu, iter->timestamp, + iter->thread); + + last_flush = iter->timestamp; + list_del(&iter->list); + free(iter->data); + free(iter); + } +} + +static void __queue_raw_event_end(struct raw_event_queue *new) +{ + struct raw_event_queue *iter; + + list_for_each_entry_reverse(iter, &raw_event_head, list) { + if (iter->timestamp < new->timestamp) { + list_add(&new->list, &iter->list); + return; + } + } + + list_add(&new->list, &raw_event_head); +} + +static void __queue_raw_event_before(struct raw_event_queue *new, + struct raw_event_queue *iter) +{ + list_for_each_entry_continue_reverse(iter, &raw_event_head, list) { + if (iter->timestamp < new->timestamp) { + list_add(&new->list, &iter->list); + return; + } + } + + list_add(&new->list, &raw_event_head); +} + +static void __queue_raw_event_after(struct raw_event_queue *new, + struct raw_event_queue *iter) +{ + list_for_each_entry_continue(iter, &raw_event_head, list) { + if (iter->timestamp > new->timestamp) { + list_add_tail(&new->list, &iter->list); + return; + } + } + list_add_tail(&new->list, &raw_event_head); +} + +/* The queue is ordered by time */ +static void __queue_raw_event(struct raw_event_queue *new) +{ + if (!last_inserted) { + __queue_raw_event_end(new); + return; + } + + /* + * Most of the time the current event has a timestamp + * very close to the last event inserted, unless we just switched + * to another event buffer. Having a sorting based on a list and + * on the last inserted event that is close to the current one is + * probably more efficient than an rbtree based sorting. + */ + if (last_inserted->timestamp >= new->timestamp) + __queue_raw_event_before(new, last_inserted); + else + __queue_raw_event_after(new, last_inserted); +} + +static void queue_raw_event(void *data, int raw_size, int cpu, + u64 timestamp, struct thread *thread) +{ + struct raw_event_queue *new; + + if (flush_limit == ULLONG_MAX) + flush_limit = timestamp + FLUSH_PERIOD; + + if (timestamp < last_flush) { + printf("Warning: Timestamp below last timeslice flush\n"); + return; + } + + new = malloc(sizeof(*new)); + if (!new) + die("Not enough memory\n"); + + new->timestamp = timestamp; + new->cpu = cpu; + new->thread = thread; + + new->data = malloc(raw_size); + if (!new->data) + die("Not enough memory\n"); + + memcpy(new->data, data, raw_size); + + __queue_raw_event(new); + last_inserted = new; + + /* + * We want to have a slice of events covering 2 * FLUSH_PERIOD + * If FLUSH_PERIOD is big enough, it ensures every events that occured + * in the first half of the timeslice have all been buffered and there + * are none remaining (we need that because of the weakly ordered + * event recording we have). Then once we reach the 2 * FLUSH_PERIOD + * timeslice, we flush the first half to be gentle with the memory + * (the second half can still get new events in the middle, so wait + * another period to flush it) + */ + if (new->timestamp > flush_limit && + new->timestamp - flush_limit > FLUSH_PERIOD) { + flush_limit += FLUSH_PERIOD; + flush_raw_event_queue(flush_limit); + } +} + static int process_sample_event(event_t *event, struct perf_session *session) { struct thread *thread; @@ -480,7 +624,7 @@ static int process_sample_event(event_t *event, struct perf_session *session) if (profile_cpu != -1 && profile_cpu != (int) data.cpu) return 0; - process_raw_event(data.raw_data, data.cpu, data.time, thread); + queue_raw_event(data.raw_data, data.raw_size, data.cpu, data.time, thread); return 0; } @@ -576,6 +720,7 @@ static void __cmd_report(void) setup_pager(); select_key(); read_events(); + flush_raw_event_queue(ULLONG_MAX); sort_result(); print_result(); } @@ -608,7 +753,6 @@ static const char *record_args[] = { "record", "-a", "-R", - "-M", "-f", "-m", "1024", "-c", "1", -- cgit v0.10.2 From dd8b1cf681eab40bc5afb67bdd06b2ca341f5669 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sat, 27 Feb 2010 17:10:39 +0100 Subject: perf: Remove pointless breakpoint union Remove pointless union in the breakpoint field of hw_perf_event. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 7b18b4f..04f06b4 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -487,9 +487,8 @@ struct hw_perf_event { struct hrtimer hrtimer; }; #ifdef CONFIG_HAVE_HW_BREAKPOINT - union { /* breakpoint */ - struct arch_hw_breakpoint info; - }; + /* breakpoint */ + struct arch_hw_breakpoint info; #endif }; atomic64_t prev_count; diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 65f964e..4dc24cc 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -520,11 +520,13 @@ config LOCK_STAT For more details, see Documentation/lockstat.txt - You can analyze lock events with "perf lock", subcommand of perf. - If you want to use "perf lock", you need to turn on CONFIG_EVENT_TRACING. + This also enables lock events required by "perf lock", + subcommand of perf. + If you want to use "perf lock", you also need to turn on + CONFIG_EVENT_TRACING. CONFIG_LOCK_STAT defines "contended" and "acquired" lock events. - (CONFIG_LOCKDEP defines "acquire" and "release" events.) + (CONFIG_LOCKDEP defines "acquire" and "release" events.) config DEBUG_LOCKDEP bool "Lock dependency engine debugging" -- cgit v0.10.2 From 3d083407a16698de86b42aee0da2ffb280b5cb7e Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sat, 27 Feb 2010 17:24:15 +0100 Subject: x86/hw-breakpoints: Remove the name field Remove the name field from the arch_hw_breakpoint. We never deal with target symbols in the arch level, neither do we need to ever store it. It's a legacy for the previous version of the x86 breakpoint backend. Let's remove it. Signed-off-by: Frederic Weisbecker Cc: K.Prasad Cc: Linus Torvalds diff --git a/arch/x86/include/asm/hw_breakpoint.h b/arch/x86/include/asm/hw_breakpoint.h index 0675a7c..2a1bd8f 100644 --- a/arch/x86/include/asm/hw_breakpoint.h +++ b/arch/x86/include/asm/hw_breakpoint.h @@ -10,7 +10,6 @@ * (display/resolving) */ struct arch_hw_breakpoint { - char *name; /* Contains name of the symbol to set bkpt */ unsigned long address; u8 len; u8 type; diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c index dca2802..41e08df 100644 --- a/arch/x86/kernel/hw_breakpoint.c +++ b/arch/x86/kernel/hw_breakpoint.c @@ -344,13 +344,6 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp, } /* - * For kernel-addresses, either the address or symbol name can be - * specified. - */ - if (info->name) - info->address = (unsigned long) - kallsyms_lookup_name(info->name); - /* * Check that the low-order bits of the address are appropriate * for the alignment implied by len. */ -- cgit v0.10.2 From 622ea685f1fafdf84d612440535c84341f0860b8 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Sat, 27 Feb 2010 14:53:07 -0800 Subject: rcu: Fix holdoff for accelerated GPs for last non-dynticked CPU Make the holdoff only happen when the full number of attempts have been made. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267311188-16603-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index 464ad2c..79b53bd 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@ -1010,6 +1010,10 @@ int rcu_needs_cpu(int cpu) int c = 0; int thatcpu; + /* Check for being in the holdoff period. */ + if (per_cpu(rcu_dyntick_holdoff, cpu) == jiffies) + return rcu_needs_cpu_quick_check(cpu); + /* Don't bother unless we are the last non-dyntick-idle CPU. */ for_each_cpu_not(thatcpu, nohz_cpu_mask) if (thatcpu != cpu) { @@ -1041,10 +1045,8 @@ int rcu_needs_cpu(int cpu) } /* If RCU callbacks are still pending, RCU still needs this CPU. */ - if (c) { + if (c) raise_softirq(RCU_SOFTIRQ); - per_cpu(rcu_dyntick_holdoff, cpu) = jiffies; - } return c; } -- cgit v0.10.2 From 1883c79a57a5fe25309007590cccb1b2782c41b2 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Sat, 27 Feb 2010 14:53:08 -0800 Subject: rcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use It is apparently legal to invoke task_subsys_state() without RCU protection during early boot time. After all, there are no concurrent tasks, so there can be no grace periods completing concurrently. But this does need an Acked-by from the cgroups folks. Located-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267311188-16603-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index c9bbcb2..a73e1ce 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -489,6 +489,7 @@ static inline struct cgroup_subsys_state *task_subsys_state( { return rcu_dereference_check(task->cgroups->subsys[subsys_id], rcu_read_lock_held() || + !rcu_scheduler_active || cgroup_lock_is_held()); } -- cgit v0.10.2 From ae1f30384baef4056438d81b305a6a5199b0d16c Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 28 Feb 2010 19:42:38 +0100 Subject: tracing: Include irqflags headers from trace clock trace_clock.c includes spinlock.h, which ends up including asm/system.h, which in turn includes linux/irqflags.h in x86. So the definition of raw_local_irq_save is luckily covered there, but this is not the case in parisc: tip/kernel/trace/trace_clock.c:86: error: implicit declaration of function 'raw_local_irq_save' tip/kernel/trace/trace_clock.c:112: error: implicit declaration of function 'raw_local_irq_restore' We need to include linux/irqflags.h directly from trace_clock.c to avoid such build error. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Robert Richter Cc: Peter Zijlstra Signed-off-by: Ingo Molnar diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c index 84a3a7b..6fbfb8f 100644 --- a/kernel/trace/trace_clock.c +++ b/kernel/trace/trace_clock.c @@ -13,6 +13,7 @@ * Tracer plugins will chose a default from these clocks. */ #include +#include #include #include #include -- cgit v0.10.2 From 1e259e0a9982078896f3404240096cbea01daca4 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Sun, 28 Feb 2010 20:51:15 +0100 Subject: hw-breakpoints: Remove stub unthrottle callback We support event unthrottling in breakpoint events. It means that if we have more than sysctl_perf_event_sample_rate/HZ, perf will throttle, ignoring subsequent events until the next tick. So if ptrace exceeds this max rate, it will omit events, which breaks the ptrace determinism that is supposed to report every triggered breakpoints. This is likely to happen if we set sysctl_perf_event_sample_rate to 1. This patch removes support for unthrottling in breakpoint events to break throttling and restore ptrace determinism. Signed-off-by: Frederic Weisbecker Cc: 2.6.33.x Cc: Peter Zijlstra Cc: K.Prasad Cc: Paul Mackerras diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c index bb6006e..1e8cead 100644 --- a/arch/x86/kernel/hw_breakpoint.c +++ b/arch/x86/kernel/hw_breakpoint.c @@ -531,8 +531,3 @@ void hw_breakpoint_pmu_read(struct perf_event *bp) { /* TODO */ } - -void hw_breakpoint_pmu_unthrottle(struct perf_event *bp) -{ - /* TODO */ -} diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index 967e6614..4d99512 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c @@ -489,5 +489,4 @@ struct pmu perf_ops_bp = { .enable = arch_install_hw_breakpoint, .disable = arch_uninstall_hw_breakpoint, .read = hw_breakpoint_pmu_read, - .unthrottle = hw_breakpoint_pmu_unthrottle }; -- cgit v0.10.2 From 90a6501f94aedd7fb40f5556334843194fb598be Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Sun, 28 Feb 2010 08:32:18 -0800 Subject: sched, rcu: Fix rcu_dereference() for RCU-lockdep Make rcu_dereference() of runqueue data structures be rcu_dereference_sched(). Located-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <20100228163218.GD6846@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index 3e1fd96..5a5ea2c 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -3476,7 +3476,7 @@ static void run_rebalance_domains(struct softirq_action *h) static inline int on_null_domain(int cpu) { - return !rcu_dereference(cpu_rq(cpu)->sd); + return !rcu_dereference_sched(cpu_rq(cpu)->sd); } /* -- cgit v0.10.2 From 1d6040f17d12a65b9f7ab4cb9fd6d721206b79ec Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Thu, 25 Feb 2010 19:40:46 +0100 Subject: perf, x86: make IBS macros available in perf_event.h This patch moves code from oprofile to perf_event.h to make it also available for usage by perf. Signed-off-by: Robert Richter diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h index befd172..4933ccd 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -117,6 +117,16 @@ union cpuid10_edx { */ #define X86_PMC_IDX_FIXED_BTS (X86_PMC_IDX_FIXED + 16) +/* IbsFetchCtl bits/masks */ +#define IBS_FETCH_RAND_EN (1ULL<<57) +#define IBS_FETCH_VAL (1ULL<<49) +#define IBS_FETCH_ENABLE (1ULL<<48) +#define IBS_FETCH_CNT_MASK 0xFFFF0000ULL + +/* IbsOpCtl bits */ +#define IBS_OP_CNT_CTL (1ULL<<19) +#define IBS_OP_VAL (1ULL<<18) +#define IBS_OP_ENABLE (1ULL<<17) #ifdef CONFIG_PERF_EVENTS extern void init_hw_perf_events(void); diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c index 6a58256..c671749 100644 --- a/arch/x86/oprofile/op_model_amd.c +++ b/arch/x86/oprofile/op_model_amd.c @@ -46,17 +46,6 @@ static unsigned long reset_value[NUM_VIRT_COUNTERS]; -/* IbsFetchCtl bits/masks */ -#define IBS_FETCH_RAND_EN (1ULL<<57) -#define IBS_FETCH_VAL (1ULL<<49) -#define IBS_FETCH_ENABLE (1ULL<<48) -#define IBS_FETCH_CNT_MASK 0xFFFF0000ULL - -/* IbsOpCtl bits */ -#define IBS_OP_CNT_CTL (1ULL<<19) -#define IBS_OP_VAL (1ULL<<18) -#define IBS_OP_ENABLE (1ULL<<17) - #define IBS_FETCH_SIZE 6 #define IBS_OP_SIZE 12 -- cgit v0.10.2 From a163b1099dc7016704043c7fc572ae42519f08f7 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Thu, 25 Feb 2010 19:43:07 +0100 Subject: perf, x86: add some IBS macros to perf_event.h Signed-off-by: Robert Richter diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h index 4933ccd..c7f60e1 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -121,12 +121,14 @@ union cpuid10_edx { #define IBS_FETCH_RAND_EN (1ULL<<57) #define IBS_FETCH_VAL (1ULL<<49) #define IBS_FETCH_ENABLE (1ULL<<48) -#define IBS_FETCH_CNT_MASK 0xFFFF0000ULL +#define IBS_FETCH_CNT 0xFFFF0000ULL +#define IBS_FETCH_MAX_CNT 0x0000FFFFULL /* IbsOpCtl bits */ #define IBS_OP_CNT_CTL (1ULL<<19) #define IBS_OP_VAL (1ULL<<18) #define IBS_OP_ENABLE (1ULL<<17) +#define IBS_OP_MAX_CNT 0x0000FFFFULL #ifdef CONFIG_PERF_EVENTS extern void init_hw_perf_events(void); diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c index c671749..8ddb9fa 100644 --- a/arch/x86/oprofile/op_model_amd.c +++ b/arch/x86/oprofile/op_model_amd.c @@ -279,7 +279,7 @@ op_amd_handle_ibs(struct pt_regs * const regs, oprofile_write_commit(&entry); /* reenable the IRQ */ - ctl &= ~(IBS_FETCH_VAL | IBS_FETCH_CNT_MASK); + ctl &= ~(IBS_FETCH_VAL | IBS_FETCH_CNT); ctl |= IBS_FETCH_ENABLE; wrmsrl(MSR_AMD64_IBSFETCHCTL, ctl); } @@ -319,7 +319,7 @@ static inline void op_amd_start_ibs(void) return; if (ibs_config.fetch_enabled) { - val = (ibs_config.max_cnt_fetch >> 4) & 0xFFFF; + val = (ibs_config.max_cnt_fetch >> 4) & IBS_FETCH_MAX_CNT; val |= ibs_config.rand_en ? IBS_FETCH_RAND_EN : 0; val |= IBS_FETCH_ENABLE; wrmsrl(MSR_AMD64_IBSFETCHCTL, val); @@ -341,7 +341,7 @@ static inline void op_amd_start_ibs(void) * avoid underflows. */ ibs_op_ctl = min(ibs_op_ctl + IBS_RANDOM_MAXCNT_OFFSET, - 0xFFFFULL); + IBS_OP_MAX_CNT); } if (ibs_caps & IBS_CAPS_OPCNT && ibs_config.dispatched_ops) ibs_op_ctl |= IBS_OP_CNT_CTL; -- cgit v0.10.2 From bb1165d6882f423f90fc7007a88c6c993b7c2ac4 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Mon, 1 Mar 2010 14:21:23 +0100 Subject: perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE For consistency reasons this patch renames ARCH_PERFMON_EVENTSEL0_ENABLE to ARCH_PERFMON_EVENTSEL_ENABLE. The following is performed: $ sed -i -e s/ARCH_PERFMON_EVENTSEL0_ENABLE/ARCH_PERFMON_EVENTSEL_ENABLE/g \ arch/x86/include/asm/perf_event.h arch/x86/kernel/cpu/perf_event.c \ arch/x86/kernel/cpu/perf_event_p6.c \ arch/x86/kernel/cpu/perfctr-watchdog.c \ arch/x86/oprofile/op_model_amd.c arch/x86/oprofile/op_model_ppro.c Signed-off-by: Robert Richter diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h index c7f60e1..80e6936 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -18,7 +18,7 @@ #define MSR_ARCH_PERFMON_EVENTSEL0 0x186 #define MSR_ARCH_PERFMON_EVENTSEL1 0x187 -#define ARCH_PERFMON_EVENTSEL0_ENABLE (1 << 22) +#define ARCH_PERFMON_EVENTSEL_ENABLE (1 << 22) #define ARCH_PERFMON_EVENTSEL_ANY (1 << 21) #define ARCH_PERFMON_EVENTSEL_INT (1 << 20) #define ARCH_PERFMON_EVENTSEL_OS (1 << 17) diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 641ccb9..6531b4b 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -553,9 +553,9 @@ static void x86_pmu_disable_all(void) if (!test_bit(idx, cpuc->active_mask)) continue; rdmsrl(x86_pmu.eventsel + idx, val); - if (!(val & ARCH_PERFMON_EVENTSEL0_ENABLE)) + if (!(val & ARCH_PERFMON_EVENTSEL_ENABLE)) continue; - val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE; + val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(x86_pmu.eventsel + idx, val); } } @@ -590,7 +590,7 @@ static void x86_pmu_enable_all(void) continue; val = event->hw.config; - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(x86_pmu.eventsel + idx, val); } } @@ -853,7 +853,7 @@ void hw_perf_enable(void) static inline void __x86_pmu_enable_event(struct hw_perf_event *hwc, int idx) { (void)checking_wrmsrl(hwc->config_base + idx, - hwc->config | ARCH_PERFMON_EVENTSEL0_ENABLE); + hwc->config | ARCH_PERFMON_EVENTSEL_ENABLE); } static inline void x86_pmu_disable_event(struct hw_perf_event *hwc, int idx) diff --git a/arch/x86/kernel/cpu/perf_event_p6.c b/arch/x86/kernel/cpu/perf_event_p6.c index 1ca5ba0..a4e67b9 100644 --- a/arch/x86/kernel/cpu/perf_event_p6.c +++ b/arch/x86/kernel/cpu/perf_event_p6.c @@ -62,7 +62,7 @@ static void p6_pmu_disable_all(void) /* p6 only has one enable register */ rdmsrl(MSR_P6_EVNTSEL0, val); - val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE; + val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(MSR_P6_EVNTSEL0, val); } @@ -72,7 +72,7 @@ static void p6_pmu_enable_all(void) /* p6 only has one enable register */ rdmsrl(MSR_P6_EVNTSEL0, val); - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(MSR_P6_EVNTSEL0, val); } @@ -83,7 +83,7 @@ p6_pmu_disable_event(struct hw_perf_event *hwc, int idx) u64 val = P6_NOP_EVENT; if (cpuc->enabled) - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; (void)checking_wrmsrl(hwc->config_base + idx, val); } @@ -95,7 +95,7 @@ static void p6_pmu_enable_event(struct hw_perf_event *hwc, int idx) val = hwc->config; if (cpuc->enabled) - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; (void)checking_wrmsrl(hwc->config_base + idx, val); } diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c index 74f4e85..fb329e9 100644 --- a/arch/x86/kernel/cpu/perfctr-watchdog.c +++ b/arch/x86/kernel/cpu/perfctr-watchdog.c @@ -680,7 +680,7 @@ static int setup_intel_arch_watchdog(unsigned nmi_hz) cpu_nmi_set_wd_enabled(); apic_write(APIC_LVTPC, APIC_DM_NMI); - evntsel |= ARCH_PERFMON_EVENTSEL0_ENABLE; + evntsel |= ARCH_PERFMON_EVENTSEL_ENABLE; wrmsr(evntsel_msr, evntsel, 0); intel_arch_wd_ops.checkbit = 1ULL << (eax.split.bit_width - 1); return 1; diff --git a/arch/x86/oprofile/op_model_amd.c b/arch/x86/oprofile/op_model_amd.c index 8ddb9fa..090cbbe 100644 --- a/arch/x86/oprofile/op_model_amd.c +++ b/arch/x86/oprofile/op_model_amd.c @@ -171,7 +171,7 @@ static void op_amd_setup_ctrs(struct op_x86_model_spec const *model, continue; } rdmsrl(msrs->controls[i].addr, val); - if (val & ARCH_PERFMON_EVENTSEL0_ENABLE) + if (val & ARCH_PERFMON_EVENTSEL_ENABLE) op_x86_warn_in_use(i); val &= model->reserved; wrmsrl(msrs->controls[i].addr, val); @@ -398,7 +398,7 @@ static void op_amd_start(struct op_msrs const * const msrs) if (!reset_value[op_x86_phys_to_virt(i)]) continue; rdmsrl(msrs->controls[i].addr, val); - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(msrs->controls[i].addr, val); } @@ -418,7 +418,7 @@ static void op_amd_stop(struct op_msrs const * const msrs) if (!reset_value[op_x86_phys_to_virt(i)]) continue; rdmsrl(msrs->controls[i].addr, val); - val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE; + val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(msrs->controls[i].addr, val); } diff --git a/arch/x86/oprofile/op_model_ppro.c b/arch/x86/oprofile/op_model_ppro.c index 5d1727b..2bf90fa 100644 --- a/arch/x86/oprofile/op_model_ppro.c +++ b/arch/x86/oprofile/op_model_ppro.c @@ -88,7 +88,7 @@ static void ppro_setup_ctrs(struct op_x86_model_spec const *model, continue; } rdmsrl(msrs->controls[i].addr, val); - if (val & ARCH_PERFMON_EVENTSEL0_ENABLE) + if (val & ARCH_PERFMON_EVENTSEL_ENABLE) op_x86_warn_in_use(i); val &= model->reserved; wrmsrl(msrs->controls[i].addr, val); @@ -166,7 +166,7 @@ static void ppro_start(struct op_msrs const * const msrs) for (i = 0; i < num_counters; ++i) { if (reset_value[i]) { rdmsrl(msrs->controls[i].addr, val); - val |= ARCH_PERFMON_EVENTSEL0_ENABLE; + val |= ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(msrs->controls[i].addr, val); } } @@ -184,7 +184,7 @@ static void ppro_stop(struct op_msrs const * const msrs) if (!reset_value[i]) continue; rdmsrl(msrs->controls[i].addr, val); - val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE; + val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; wrmsrl(msrs->controls[i].addr, val); } } -- cgit v0.10.2 From 57e413d95b0f92b9a5569408ddc3441e0f20e856 Mon Sep 17 00:00:00 2001 From: Ping Cheng Date: Mon, 1 Mar 2010 23:50:24 -0800 Subject: Input: wacom - replace WACOM_PKGLEN_PENABLED Replacing WACOM_PKGLEN_PENABLED with WACOM_PKGLEN_GRAPHIRE since they both represent the same value, 8. This value will be used for both Tablet PC and Bamboo with touch devices. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c index a1770e6..8b5d287 100644 --- a/drivers/input/tablet/wacom_sys.c +++ b/drivers/input/tablet/wacom_sys.c @@ -371,7 +371,7 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi } else if (pen) { /* penabled only accepts exact bytes of data */ if (features->type == TABLETPC2FG) - features->pktlen = WACOM_PKGLEN_PENABLED; + features->pktlen = WACOM_PKGLEN_GRAPHIRE; features->device_type = BTN_TOOL_PEN; features->x_max = wacom_le16_to_cpu(&report[i + 3]); @@ -410,7 +410,7 @@ static int wacom_parse_hid(struct usb_interface *intf, struct hid_descriptor *hi } else if (pen) { /* penabled only accepts exact bytes of data */ if (features->type == TABLETPC2FG) - features->pktlen = WACOM_PKGLEN_PENABLED; + features->pktlen = WACOM_PKGLEN_GRAPHIRE; features->device_type = BTN_TOOL_PEN; features->y_max = wacom_le16_to_cpu(&report[i + 3]); diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index 3d81443..4a852d8 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c @@ -1028,7 +1028,7 @@ static const struct wacom_features wacom_features_0x93 = static const struct wacom_features wacom_features_0x9A = { "Wacom ISDv4 9A", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC }; static const struct wacom_features wacom_features_0x9F = - { "Wacom ISDv4 9F", WACOM_PKGLEN_PENABLED, 26202, 16325, 255, 0, TABLETPC }; + { "Wacom ISDv4 9F", WACOM_PKGLEN_GRAPHIRE, 26202, 16325, 255, 0, TABLETPC }; static const struct wacom_features wacom_features_0xE2 = { "Wacom ISDv4 E2", WACOM_PKGLEN_TPC2FG, 26202, 16325, 255, 0, TABLETPC2FG }; static const struct wacom_features wacom_features_0xE3 = diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h index 8590b1e..b50cf04 100644 --- a/drivers/input/tablet/wacom_wac.h +++ b/drivers/input/tablet/wacom_wac.h @@ -17,7 +17,6 @@ #define WACOM_PKGLEN_GRAPHIRE 8 #define WACOM_PKGLEN_BBFUN 9 #define WACOM_PKGLEN_INTUOS 10 -#define WACOM_PKGLEN_PENABLED 8 #define WACOM_PKGLEN_TPC1FG 5 #define WACOM_PKGLEN_TPC2FG 14 -- cgit v0.10.2 From 14be1f7454ea96ee614467a49cf018a1a383b189 Mon Sep 17 00:00:00 2001 From: Dimitri Sivanich Date: Mon, 1 Mar 2010 11:48:15 -0600 Subject: x86: Fix sched_clock_cpu for systems with unsynchronized TSC On UV systems, the TSC is not synchronized across blades. The sched_clock_cpu() function is returning values that can go backwards (I've seen as much as 8 seconds) when switching between cpus. As each cpu comes up, early_init_intel() will currently set the sched_clock_stable flag true. When mark_tsc_unstable() runs, it clears the flag, but this only occurs once (the first time a cpu comes up whose TSC is not synchronized with cpu 0). After this, early_init_intel() will set the flag again as the next cpu comes up. Only set sched_clock_stable if tsc has not been marked unstable. Signed-off-by: Dimitri Sivanich Acked-by: Venkatesh Pallipadi Acked-by: Peter Zijlstra LKML-Reference: <20100301174815.GC8224@sgi.com> Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index 879666f..7e1cca1 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c @@ -70,7 +70,8 @@ static void __cpuinit early_init_intel(struct cpuinfo_x86 *c) if (c->x86_power & (1 << 8)) { set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC); - sched_clock_stable = 1; + if (!check_tsc_unstable()) + sched_clock_stable = 1; } /* -- cgit v0.10.2 From 320ebf09cbb6d01954c9a060266aa8e0d27f4638 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 2 Mar 2010 12:35:37 +0100 Subject: perf, x86: Restrict the ANY flag The ANY flag can show SMT data of another task (like 'top'), so we want to disable it when system-wide profiling is disabled. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 6531b4b..aab2e1c 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -503,6 +503,9 @@ static int __hw_perf_event_init(struct perf_event *event) */ if (attr->type == PERF_TYPE_RAW) { hwc->config |= x86_pmu.raw_event(attr->config); + if ((hwc->config & ARCH_PERFMON_EVENTSEL_ANY) && + perf_paranoid_cpu() && !capable(CAP_SYS_ADMIN)) + return -EACCES; return 0; } diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 04f06b4..90e0521 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -857,6 +857,21 @@ extern int sysctl_perf_event_paranoid; extern int sysctl_perf_event_mlock; extern int sysctl_perf_event_sample_rate; +static inline bool perf_paranoid_tracepoint_raw(void) +{ + return sysctl_perf_event_paranoid > -1; +} + +static inline bool perf_paranoid_cpu(void) +{ + return sysctl_perf_event_paranoid > 0; +} + +static inline bool perf_paranoid_kernel(void) +{ + return sysctl_perf_event_paranoid > 1; +} + extern void perf_event_init(void); extern void perf_tp_event(int event_id, u64 addr, u64 count, void *record, int entry_size); extern void perf_bp_event(struct perf_event *event, void *data); diff --git a/kernel/perf_event.c b/kernel/perf_event.c index a661e79..482d5e1 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -56,21 +56,6 @@ static atomic_t nr_task_events __read_mostly; */ int sysctl_perf_event_paranoid __read_mostly = 1; -static inline bool perf_paranoid_tracepoint_raw(void) -{ - return sysctl_perf_event_paranoid > -1; -} - -static inline bool perf_paranoid_cpu(void) -{ - return sysctl_perf_event_paranoid > 0; -} - -static inline bool perf_paranoid_kernel(void) -{ - return sysctl_perf_event_paranoid > 1; -} - int sysctl_perf_event_mlock __read_mostly = 512; /* 'free' kb per user */ /* -- cgit v0.10.2 From b622d644c7d61a5cb95b74e7b143c263bed21f0a Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 1 Feb 2010 15:36:30 +0100 Subject: perf_events, x86: Fixup fixed counter constraints Patch 1da53e0230 ("perf_events, x86: Improve x86 event scheduling") lost us one of the fixed purpose counters and then ed8777fc13 ("perf_events, x86: Fix event constraint masks") broke it even further. Widen the fixed event mask to event+umask and specify the full config for each of the 3 fixed purpose counters. Then let the init code fill out the placement for the GP regs based on the cpuid info. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar diff --git a/arch/x86/include/asm/perf_event.h b/arch/x86/include/asm/perf_event.h index 80e6936..db6109a 100644 --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -50,7 +50,7 @@ INTEL_ARCH_INV_MASK| \ INTEL_ARCH_EDGE_MASK|\ INTEL_ARCH_UNIT_MASK|\ - INTEL_ARCH_EVTSEL_MASK) + INTEL_ARCH_EVENT_MASK) #define ARCH_PERFMON_UNHALTED_CORE_CYCLES_SEL 0x3c #define ARCH_PERFMON_UNHALTED_CORE_CYCLES_UMASK (0x00 << 8) diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index aab2e1c..bfc43fa 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -73,10 +73,10 @@ struct debug_store { struct event_constraint { union { unsigned long idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)]; - u64 idxmsk64[1]; + u64 idxmsk64; }; - int code; - int cmask; + u64 code; + u64 cmask; int weight; }; @@ -103,7 +103,7 @@ struct cpu_hw_events { }; #define __EVENT_CONSTRAINT(c, n, m, w) {\ - { .idxmsk64[0] = (n) }, \ + { .idxmsk64 = (n) }, \ .code = (c), \ .cmask = (m), \ .weight = (w), \ @@ -116,7 +116,7 @@ struct cpu_hw_events { EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVTSEL_MASK) #define FIXED_EVENT_CONSTRAINT(c, n) \ - EVENT_CONSTRAINT(c, n, INTEL_ARCH_FIXED_MASK) + EVENT_CONSTRAINT(c, (1ULL << (32+n)), INTEL_ARCH_FIXED_MASK) #define EVENT_CONSTRAINT_END \ EVENT_CONSTRAINT(0, 0, 0) @@ -615,8 +615,8 @@ static int x86_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign) bitmap_zero(used_mask, X86_PMC_IDX_MAX); for (i = 0; i < n; i++) { - constraints[i] = - x86_pmu.get_event_constraints(cpuc, cpuc->event_list[i]); + c = x86_pmu.get_event_constraints(cpuc, cpuc->event_list[i]); + constraints[i] = c; } /* @@ -1350,6 +1350,7 @@ static void __init pmu_check_apic(void) void __init init_hw_perf_events(void) { + struct event_constraint *c; int err; pr_info("Performance Events: "); @@ -1398,6 +1399,16 @@ void __init init_hw_perf_events(void) __EVENT_CONSTRAINT(0, (1ULL << x86_pmu.num_events) - 1, 0, x86_pmu.num_events); + if (x86_pmu.event_constraints) { + for_each_event_constraint(c, x86_pmu.event_constraints) { + if (c->cmask != INTEL_ARCH_FIXED_MASK) + continue; + + c->idxmsk64 |= (1ULL << x86_pmu.num_events) - 1; + c->weight += x86_pmu.num_events; + } + } + pr_info("... version: %d\n", x86_pmu.version); pr_info("... bit width: %d\n", x86_pmu.event_bits); pr_info("... generic registers: %d\n", x86_pmu.num_events); diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c index cf6590c..4fbdfe5 100644 --- a/arch/x86/kernel/cpu/perf_event_intel.c +++ b/arch/x86/kernel/cpu/perf_event_intel.c @@ -1,7 +1,7 @@ #ifdef CONFIG_CPU_SUP_INTEL /* - * Intel PerfMon v3. Used on Core2 and later. + * Intel PerfMon, used on Core and later. */ static const u64 intel_perfmon_event_map[] = { @@ -27,8 +27,14 @@ static struct event_constraint intel_core_event_constraints[] = static struct event_constraint intel_core2_event_constraints[] = { - FIXED_EVENT_CONSTRAINT(0xc0, (0x3|(1ULL<<32))), /* INSTRUCTIONS_RETIRED */ - FIXED_EVENT_CONSTRAINT(0x3c, (0x3|(1ULL<<33))), /* UNHALTED_CORE_CYCLES */ + FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */ + FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */ + /* + * Core2 has Fixed Counter 2 listed as CPU_CLK_UNHALTED.REF and event + * 0x013c as CPU_CLK_UNHALTED.BUS and specifies there is a fixed + * ratio between these counters. + */ + /* FIXED_EVENT_CONSTRAINT(0x013c, 2), CPU_CLK_UNHALTED.REF */ INTEL_EVENT_CONSTRAINT(0x10, 0x1), /* FP_COMP_OPS_EXE */ INTEL_EVENT_CONSTRAINT(0x11, 0x2), /* FP_ASSIST */ INTEL_EVENT_CONSTRAINT(0x12, 0x2), /* MUL */ @@ -37,14 +43,16 @@ static struct event_constraint intel_core2_event_constraints[] = INTEL_EVENT_CONSTRAINT(0x18, 0x1), /* IDLE_DURING_DIV */ INTEL_EVENT_CONSTRAINT(0x19, 0x2), /* DELAYED_BYPASS */ INTEL_EVENT_CONSTRAINT(0xa1, 0x1), /* RS_UOPS_DISPATCH_CYCLES */ + INTEL_EVENT_CONSTRAINT(0xc9, 0x1), /* ITLB_MISS_RETIRED (T30-9) */ INTEL_EVENT_CONSTRAINT(0xcb, 0x1), /* MEM_LOAD_RETIRED */ EVENT_CONSTRAINT_END }; static struct event_constraint intel_nehalem_event_constraints[] = { - FIXED_EVENT_CONSTRAINT(0xc0, (0xf|(1ULL<<32))), /* INSTRUCTIONS_RETIRED */ - FIXED_EVENT_CONSTRAINT(0x3c, (0xf|(1ULL<<33))), /* UNHALTED_CORE_CYCLES */ + FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */ + FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */ + /* FIXED_EVENT_CONSTRAINT(0x013c, 2), CPU_CLK_UNHALTED.REF */ INTEL_EVENT_CONSTRAINT(0x40, 0x3), /* L1D_CACHE_LD */ INTEL_EVENT_CONSTRAINT(0x41, 0x3), /* L1D_CACHE_ST */ INTEL_EVENT_CONSTRAINT(0x42, 0x3), /* L1D_CACHE_LOCK */ @@ -58,8 +66,9 @@ static struct event_constraint intel_nehalem_event_constraints[] = static struct event_constraint intel_westmere_event_constraints[] = { - FIXED_EVENT_CONSTRAINT(0xc0, (0xf|(1ULL<<32))), /* INSTRUCTIONS_RETIRED */ - FIXED_EVENT_CONSTRAINT(0x3c, (0xf|(1ULL<<33))), /* UNHALTED_CORE_CYCLES */ + FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */ + FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */ + /* FIXED_EVENT_CONSTRAINT(0x013c, 2), CPU_CLK_UNHALTED.REF */ INTEL_EVENT_CONSTRAINT(0x51, 0x3), /* L1D */ INTEL_EVENT_CONSTRAINT(0x60, 0x1), /* OFFCORE_REQUESTS_OUTSTANDING */ INTEL_EVENT_CONSTRAINT(0x63, 0x3), /* CACHE_LOCK_CYCLES */ @@ -68,8 +77,9 @@ static struct event_constraint intel_westmere_event_constraints[] = static struct event_constraint intel_gen_event_constraints[] = { - FIXED_EVENT_CONSTRAINT(0xc0, (0x3|(1ULL<<32))), /* INSTRUCTIONS_RETIRED */ - FIXED_EVENT_CONSTRAINT(0x3c, (0x3|(1ULL<<33))), /* UNHALTED_CORE_CYCLES */ + FIXED_EVENT_CONSTRAINT(0x00c0, 0), /* INST_RETIRED.ANY */ + FIXED_EVENT_CONSTRAINT(0x003c, 1), /* CPU_CLK_UNHALTED.CORE */ + /* FIXED_EVENT_CONSTRAINT(0x013c, 2), CPU_CLK_UNHALTED.REF */ EVENT_CONSTRAINT_END }; @@ -935,7 +945,7 @@ static __init int intel_pmu_init(void) x86_pmu.event_constraints = intel_nehalem_event_constraints; pr_cont("Nehalem/Corei7 events, "); break; - case 28: + case 28: /* Atom */ memcpy(hw_cache_event_ids, atom_hw_cache_event_ids, sizeof(hw_cache_event_ids)); @@ -951,6 +961,7 @@ static __init int intel_pmu_init(void) x86_pmu.event_constraints = intel_westmere_event_constraints; pr_cont("Westmere events, "); break; + default: /* * default constraints for v2 and up -- cgit v0.10.2 From 6630125419ef37ff8781713c5e9d416f2a4ba357 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Tue, 2 Mar 2010 15:25:38 -0300 Subject: perf archive: Don't try to collect files without a build-id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid these error: [root@doppio ~]# perf archive tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat: No such file or directory tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat: No such file or directory tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat: No such file or directory tar: .build-id/00/00000000000000000000000000000000000000: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors [root@doppio ~]# More work is needed to support archiving symtabs for binaries without a build-id, perhaps creating a perf.data UUID + adding build-ids for the binaries copied into the cache and then have this perf.data session UUID be a directory with symlinks to the by now calculated build-id of the files inside it. Or just do an extra pass and insert the calculated build-ids in the perf.data header. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar diff --git a/tools/perf/perf-archive.sh b/tools/perf/perf-archive.sh index 45fbe2f..910468e 100644 --- a/tools/perf/perf-archive.sh +++ b/tools/perf/perf-archive.sh @@ -9,8 +9,9 @@ fi DEBUGDIR=~/.debug/ BUILDIDS=$(mktemp /tmp/perf-archive-buildids.XXXXXX) +NOBUILDID=0000000000000000000000000000000000000000 -perf buildid-list -i $PERF_DATA --with-hits > $BUILDIDS +perf buildid-list -i $PERF_DATA --with-hits | grep -v "^$NOBUILDID " > $BUILDIDS if [ ! -s $BUILDIDS ] ; then echo "perf archive: no build-ids found" rm -f $BUILDIDS -- cgit v0.10.2 From 6510b8917948283005a125c8337d3312a8a0561c Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Fri, 26 Feb 2010 15:10:28 +0100 Subject: airo: return from set_wep_key() when key length is zero Even if keylen == 0 is a bug and should not really happen, better avoid possibility of passing bad value to firmware. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index 698d567..dc5018a 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c @@ -5255,7 +5255,8 @@ static int set_wep_key(struct airo_info *ai, u16 index, const char *key, WepKeyRid wkr; int rc; - WARN_ON(keylen == 0); + if (WARN_ON(keylen == 0)) + return -1; memset(&wkr, 0, sizeof(wkr)); wkr.len = cpu_to_le16(sizeof(wkr)); -- cgit v0.10.2 From 3082a2b7b1af1b1508c1c3fa589566064f926f40 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Tue, 16 Feb 2010 16:36:25 -0500 Subject: rfkill: Add support for KEY_RFKILL Add support for handling KEY_RFKILL in the rfkill input module. This simply toggles the state of all rfkill devices. The comment in rfkill.h is also updated to reflect that RFKILL_TYPE_ALL may be used inside the kernel. Signed-off-by: Matthew Garrett Acked-by: Marcel Holtmann Signed-off-by: John W. Linville diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index 97059d0..4f82326 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h @@ -29,7 +29,7 @@ /** * enum rfkill_type - type of rfkill switch. * - * @RFKILL_TYPE_ALL: toggles all switches (userspace only) + * @RFKILL_TYPE_ALL: toggles all switches (requests only - not a switch type) * @RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device. * @RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device. * @RFKILL_TYPE_UWB: switch is on a ultra wideband device. diff --git a/net/rfkill/input.c b/net/rfkill/input.c index a7295ad..3713d7e 100644 --- a/net/rfkill/input.c +++ b/net/rfkill/input.c @@ -212,6 +212,9 @@ static void rfkill_event(struct input_handle *handle, unsigned int type, case KEY_WIMAX: rfkill_schedule_toggle(RFKILL_TYPE_WIMAX); break; + case KEY_RFKILL: + rfkill_schedule_toggle(RFKILL_TYPE_ALL); + break; } } else if (type == EV_SW && code == SW_RFKILL_ALL) rfkill_schedule_evsw_rfkillall(data); @@ -295,6 +298,11 @@ static const struct input_device_id rfkill_ids[] = { .keybit = { [BIT_WORD(KEY_WIMAX)] = BIT_MASK(KEY_WIMAX) }, }, { + .flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_KEYBIT, + .evbit = { BIT_MASK(EV_KEY) }, + .keybit = { [BIT_WORD(KEY_RFKILL)] = BIT_MASK(KEY_RFKILL) }, + }, + { .flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_SWBIT, .evbit = { BIT(EV_SW) }, .swbit = { [BIT_WORD(SW_RFKILL_ALL)] = BIT_MASK(SW_RFKILL_ALL) }, -- cgit v0.10.2 From 86baf712295a00d664da8566186b67041c89b15b Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sat, 27 Feb 2010 09:12:34 +0300 Subject: zd1211rw: fix potential array underflow The first chunk fixes a debugging assert to print a warning about array underflows. The second chunk corrects a potential array underflow. I also removed an assert in the second chunk because it can no longer happen. Signed-off-by: Dan Carpenter Acked-by: Benoit Papillault Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 2d555cc..e240996 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c @@ -350,7 +350,7 @@ static void zd_mac_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb, first_idx = info->status.rates[0].idx; ZD_ASSERT(0<=first_idx && first_idxcount); + ZD_ASSERT(1 <= retry && retry <= retries->count); info->status.rates[0].idx = retries->rate[0]; info->status.rates[0].count = 1; // (retry > 1 ? 2 : 1); @@ -360,7 +360,7 @@ static void zd_mac_tx_status(struct ieee80211_hw *hw, struct sk_buff *skb, info->status.rates[i].count = 1; // ((i==retry-1) && success ? 1:2); } for (; istatus.rates[i].idx = retries->rate[retry-1]; + info->status.rates[i].idx = retries->rate[retry - 1]; info->status.rates[i].count = 1; // (success ? 1:2); } if (istatus.rates[0].idx; ZD_ASSERT(0<=first_idx && first_idx retries->count) { + if (retry <= 0 || retry > retries->count) continue; - } - ZD_ASSERT(0<=retry && retry<=retries->count); - final_idx = retries->rate[retry-1]; + final_idx = retries->rate[retry - 1]; final_rate = zd_rates[final_idx].hw_value; if (final_rate != tx_status->rate) { -- cgit v0.10.2 From a9f042cbe5284f34ccff15f3084477e11b39b17b Mon Sep 17 00:00:00 2001 From: Ming Lei Date: Sun, 28 Feb 2010 00:56:24 +0800 Subject: ath9k: fix lockdep warning when unloading module Since txq->axq_lock may be hold in softirq context, it must be acquired with spin_lock_bh() instead of spin_lock() if softieq is enabled. The patch fixes the lockdep warning below when unloading ath9k modules. ================================= [ INFO: inconsistent lock state ] 2.6.33-wl #12 --------------------------------- inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. rmmod/3642 [HC0[0]:SC0[0]:HE1:SE1] takes: (&(&txq->axq_lock)->rlock){+.?...}, at: [] ath_tx_node_cleanup+0x62/0x180 [ath9k] {IN-SOFTIRQ-W} state was registered at: [] __lock_acquire+0x2f6/0xd35 [] lock_acquire+0xcd/0xf1 [] _raw_spin_lock_bh+0x3b/0x6e [] spin_lock_bh+0xe/0x10 [ath9k] [] ath_tx_tasklet+0xcd/0x391 [ath9k] [] ath9k_tasklet+0x70/0xc8 [ath9k] [] tasklet_action+0x8c/0xf4 [] __do_softirq+0xf8/0x1cd [] call_softirq+0x1c/0x30 [] do_softirq+0x4b/0xa3 [] irq_exit+0x4a/0x8c [] do_IRQ+0xac/0xc3 [] ret_from_intr+0x0/0x16 [] cpuidle_idle_call+0x9e/0xf8 [] cpu_idle+0x62/0x9d [] rest_init+0x7e/0x80 [] start_kernel+0x3e8/0x3f3 [] x86_64_start_reservations+0xa7/0xab [] x86_64_start_kernel+0xf8/0x107 irq event stamp: 42037 hardirqs last enabled at (42037): [] _raw_spin_unlock_irqrestore+0x47/0x56 hardirqs last disabled at (42036): [] _raw_spin_lock_irqsave+0x2b/0x88 softirqs last enabled at (42000): [] spin_unlock_bh+0xe/0x10 [ath9k] softirqs last disabled at (41998): [] _raw_spin_lock_bh+0x18/0x6e other info that might help us debug this: 4 locks held by rmmod/3642: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x17/0x19 #1: (&wdev->mtx){+.+.+.}, at: [] cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] #2: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_mgd_deauth+0x3f/0x17e [mac80211] #3: (&local->sta_mtx){+.+.+.}, at: [] sta_info_destroy_addr+0x2b/0x5e [mac80211] stack backtrace: Pid: 3642, comm: rmmod Not tainted 2.6.33-wl #12 Call Trace: [] valid_state+0x178/0x18b [] ? save_stack_trace+0x2f/0x4c [] ? check_usage_backwards+0x0/0x88 [] mark_lock+0x113/0x230 [] __lock_acquire+0x36a/0xd35 [] ? native_sched_clock+0x2d/0x5f [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] lock_acquire+0xcd/0xf1 [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ? trace_hardirqs_off+0xd/0xf [] _raw_spin_lock+0x36/0x69 [] ? ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ath_tx_node_cleanup+0x62/0x180 [ath9k] [] ? trace_hardirqs_on+0xd/0xf [] ath9k_sta_remove+0x22/0x26 [ath9k] [] __sta_info_destroy+0x1ad/0x38c [mac80211] [] sta_info_destroy_addr+0x3e/0x5e [mac80211] [] ieee80211_set_disassoc+0x175/0x180 [mac80211] [] ieee80211_mgd_deauth+0x58/0x17e [mac80211] [] ? __mutex_lock_common+0x37f/0x3a4 [] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] [] ieee80211_deauth+0x1e/0x20 [mac80211] [] __cfg80211_mlme_deauth+0x130/0x13f [cfg80211] [] ? cfg80211_netdev_notifier_call+0x28d/0x46d [cfg80211] [] ? trace_hardirqs_off+0xd/0xf [] __cfg80211_disconnect+0x111/0x189 [cfg80211] [] cfg80211_netdev_notifier_call+0x2ce/0x46d [cfg80211] [] notifier_call_chain+0x37/0x63 [] raw_notifier_call_chain+0x14/0x16 [] call_netdevice_notifiers+0x1b/0x1d [] dev_close+0x6a/0xa6 [] rollback_registered_many+0xb6/0x2f4 [] unregister_netdevice_many+0x1b/0x66 [] ieee80211_remove_interfaces+0xc5/0xd0 [mac80211] [] ieee80211_unregister_hw+0x47/0xe8 [mac80211] [] ath9k_deinit_device+0x7a/0x9b [ath9k] [] ath_pci_remove+0x38/0x76 [ath9k] [] pci_device_remove+0x2d/0x51 [] __device_release_driver+0x7b/0xd1 [] driver_detach+0x98/0xbe [] bus_remove_driver+0x94/0xb7 [] driver_unregister+0x6c/0x74 [] pci_unregister_driver+0x46/0xad [] ath_pci_exit+0x15/0x17 [ath9k] [] ath9k_exit+0xe/0x2f [ath9k] [] sys_delete_module+0x1c7/0x236 [] ? retint_swapgs+0x13/0x1b [] ? trace_hardirqs_on_caller+0x119/0x144 [] ? audit_syscall_entry+0x11e/0x14a [] system_call_fastpath+0x16/0x1b wlan1: deauthenticating from 00:23:cd:e1:f9:b2 by local choice (reason=3) PM: Removing info for No Bus:wlan1 cfg80211: Calling CRDA to update world regulatory domain PM: Removing info for No Bus:rfkill2 PM: Removing info for No Bus:phy1 ath9k 0000:16:00.0: PCI INT A disabled Signed-off-by: Ming Lei Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 47294f9..b2c8207 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2258,7 +2258,7 @@ void ath_tx_node_cleanup(struct ath_softc *sc, struct ath_node *an) if (ATH_TXQ_SETUP(sc, i)) { txq = &sc->tx.txq[i]; - spin_lock(&txq->axq_lock); + spin_lock_bh(&txq->axq_lock); list_for_each_entry_safe(ac, ac_tmp, &txq->axq_acq, list) { @@ -2279,7 +2279,7 @@ void ath_tx_node_cleanup(struct ath_softc *sc, struct ath_node *an) } } - spin_unlock(&txq->axq_lock); + spin_unlock_bh(&txq->axq_lock); } } } -- cgit v0.10.2 From 9c87ba6734422034fccb938da1039ed63da1395c Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 28 Feb 2010 12:13:46 +0200 Subject: mac80211: Fix reassociation processing (within ESS roaming) Commit e1dd33f60ced091114e4aacf141e0d03b88d3e13 changed cfg80211 to allow association commands while in associated state to enable support for roaming within an ESS. However, this was not enough to resolve all cases with mac80211 which needs some additional handling of the reassociation case to clear internal state with the BSS that was in use previously. This patch makes ieee80211_mgd_assoc() accept a valid reassociation command and clean the association state with the previous BSS. This fixes roaming between BSSes in an ESS when using wpa_supplicant with -Dnl80211. Signed-off-by: Jouni Malinen Cc: stable@kernel.org Signed-off-by: John W. Linville diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 41812a1..5a26876 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1893,8 +1893,20 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata, mutex_lock(&ifmgd->mtx); if (ifmgd->associated) { - mutex_unlock(&ifmgd->mtx); - return -EALREADY; + if (!req->prev_bssid || + memcmp(req->prev_bssid, ifmgd->associated->bssid, + ETH_ALEN)) { + /* + * We are already associated and the request was not a + * reassociation request from the current BSS, so + * reject it. + */ + mutex_unlock(&ifmgd->mtx); + return -EALREADY; + } + + /* Trying to reassociate - clear previous association state */ + ieee80211_set_disassoc(sdata); } mutex_unlock(&ifmgd->mtx); -- cgit v0.10.2 From 51b2853fd91a3c8fd9f3adc1549569d2c1dc2a2d Mon Sep 17 00:00:00 2001 From: Bryan Polk Date: Mon, 1 Mar 2010 12:23:28 -0500 Subject: rt2x00: Add USB ID for CEIVA adapter to rt73usb This adds support for CEIVA USB wireless adapters to the rt73usb driver. Signed-off-by: Bryan Polk Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index f39a8ed..47f3e4a 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c @@ -2352,6 +2352,8 @@ static struct usb_device_id rt73usb_device_table[] = { { USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x0411, 0x0116), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x0411, 0x0119), USB_DEVICE_DATA(&rt73usb_ops) }, + /* CEIVA */ + { USB_DEVICE(0x178d, 0x02be), USB_DEVICE_DATA(&rt73usb_ops) }, /* CNet */ { USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt73usb_ops) }, { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) }, -- cgit v0.10.2 From 6e93d7195e75741e9ebe23ca5591977d0b39ecc0 Mon Sep 17 00:00:00 2001 From: Helmut Schaa Date: Tue, 2 Mar 2010 16:34:49 +0100 Subject: rt2x00: fix rt2800pci compilation with SoC Compiling rt2800pci with CONFIG_RT2800PCI_SOC fails with "... rt2880pci.c: error: incompatible type for argument 2 of 'rt2x00soc_probe'". Fix this by using &rt2800pci_ops instead of rt2800pci_ops. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c index aca8c12..91cce2d 100644 --- a/drivers/net/wireless/rt2x00/rt2800pci.c +++ b/drivers/net/wireless/rt2x00/rt2800pci.c @@ -1225,7 +1225,7 @@ MODULE_LICENSE("GPL"); #ifdef CONFIG_RT2800PCI_SOC static int rt2800soc_probe(struct platform_device *pdev) { - return rt2x00soc_probe(pdev, rt2800pci_ops); + return rt2x00soc_probe(pdev, &rt2800pci_ops); } static struct platform_driver rt2800soc_driver = { -- cgit v0.10.2 From 535765179fd4e8af26b69d2240d7ec33702a370a Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 23 Dec 2009 13:15:30 +0100 Subject: ar9170: load firmware asynchronously This converts ar9170 to load firmware asynchronously out of ->probe() and only register with mac80211 when all firmware has been loaded successfully. If, on the other hand, any firmware fails to load, it will now unbind from the device. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ar9170/ar9170.h b/drivers/net/wireless/ath/ar9170/ar9170.h index 8c8ce67..dc662b7 100644 --- a/drivers/net/wireless/ath/ar9170/ar9170.h +++ b/drivers/net/wireless/ath/ar9170/ar9170.h @@ -166,6 +166,7 @@ struct ar9170 { struct ath_common common; struct mutex mutex; enum ar9170_device_state state; + bool registered; unsigned long bad_hw_nagger; int (*open)(struct ar9170 *); diff --git a/drivers/net/wireless/ath/ar9170/main.c b/drivers/net/wireless/ath/ar9170/main.c index 8a964f1..f4650fc 100644 --- a/drivers/net/wireless/ath/ar9170/main.c +++ b/drivers/net/wireless/ath/ar9170/main.c @@ -2701,7 +2701,8 @@ int ar9170_register(struct ar9170 *ar, struct device *pdev) dev_info(pdev, "Atheros AR9170 is registered as '%s'\n", wiphy_name(ar->hw->wiphy)); - return err; + ar->registered = true; + return 0; err_unreg: ieee80211_unregister_hw(ar->hw); @@ -2712,11 +2713,14 @@ err_out: void ar9170_unregister(struct ar9170 *ar) { + if (ar->registered) { #ifdef CONFIG_AR9170_LEDS - ar9170_unregister_leds(ar); + ar9170_unregister_leds(ar); #endif /* CONFIG_AR9170_LEDS */ - kfree_skb(ar->rx_failover); ieee80211_unregister_hw(ar->hw); + } + + kfree_skb(ar->rx_failover); mutex_destroy(&ar->mutex); } diff --git a/drivers/net/wireless/ath/ar9170/usb.c b/drivers/net/wireless/ath/ar9170/usb.c index 0f36118..4e30197 100644 --- a/drivers/net/wireless/ath/ar9170/usb.c +++ b/drivers/net/wireless/ath/ar9170/usb.c @@ -582,43 +582,6 @@ static int ar9170_usb_upload(struct ar9170_usb *aru, const void *data, return 0; } -static int ar9170_usb_request_firmware(struct ar9170_usb *aru) -{ - int err = 0; - - err = request_firmware(&aru->firmware, "ar9170.fw", - &aru->udev->dev); - if (!err) { - aru->init_values = NULL; - return 0; - } - - if (aru->req_one_stage_fw) { - dev_err(&aru->udev->dev, "ar9170.fw firmware file " - "not found and is required for this device\n"); - return -EINVAL; - } - - dev_err(&aru->udev->dev, "ar9170.fw firmware file " - "not found, trying old firmware...\n"); - - err = request_firmware(&aru->init_values, "ar9170-1.fw", - &aru->udev->dev); - if (err) { - dev_err(&aru->udev->dev, "file with init values not found.\n"); - return err; - } - - err = request_firmware(&aru->firmware, "ar9170-2.fw", &aru->udev->dev); - if (err) { - release_firmware(aru->init_values); - dev_err(&aru->udev->dev, "firmware file not found.\n"); - return err; - } - - return err; -} - static int ar9170_usb_reset(struct ar9170_usb *aru) { int ret, lock = (aru->intf->condition != USB_INTERFACE_BINDING); @@ -757,6 +720,103 @@ err_out: return err; } +static void ar9170_usb_firmware_failed(struct ar9170_usb *aru) +{ + struct device *parent = aru->udev->dev.parent; + + /* unbind anything failed */ + if (parent) + down(&parent->sem); + device_release_driver(&aru->udev->dev); + if (parent) + up(&parent->sem); +} + +static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context) +{ + struct ar9170_usb *aru = context; + int err; + + aru->firmware = fw; + + if (!fw) { + dev_err(&aru->udev->dev, "firmware file not found.\n"); + goto err_freefw; + } + + err = ar9170_usb_init_device(aru); + if (err) + goto err_freefw; + + err = ar9170_usb_open(&aru->common); + if (err) + goto err_unrx; + + err = ar9170_register(&aru->common, &aru->udev->dev); + + ar9170_usb_stop(&aru->common); + if (err) + goto err_unrx; + + return; + + err_unrx: + ar9170_usb_cancel_urbs(aru); + + err_freefw: + ar9170_usb_firmware_failed(aru); +} + +static void ar9170_usb_firmware_inits(const struct firmware *fw, + void *context) +{ + struct ar9170_usb *aru = context; + int err; + + if (!fw) { + dev_err(&aru->udev->dev, "file with init values not found.\n"); + ar9170_usb_firmware_failed(aru); + return; + } + + aru->init_values = fw; + + /* ok so we have the init values -- get code for two-stage */ + + err = request_firmware_nowait(THIS_MODULE, 1, "ar9170-2.fw", + &aru->udev->dev, GFP_KERNEL, aru, + ar9170_usb_firmware_finish); + if (err) + ar9170_usb_firmware_failed(aru); +} + +static void ar9170_usb_firmware_step2(const struct firmware *fw, void *context) +{ + struct ar9170_usb *aru = context; + int err; + + if (fw) { + ar9170_usb_firmware_finish(fw, context); + return; + } + + if (aru->req_one_stage_fw) { + dev_err(&aru->udev->dev, "ar9170.fw firmware file " + "not found and is required for this device\n"); + ar9170_usb_firmware_failed(aru); + return; + } + + dev_err(&aru->udev->dev, "ar9170.fw firmware file " + "not found, trying old firmware...\n"); + + err = request_firmware_nowait(THIS_MODULE, 1, "ar9170-1.fw", + &aru->udev->dev, GFP_KERNEL, aru, + ar9170_usb_firmware_inits); + if (err) + ar9170_usb_firmware_failed(aru); +} + static bool ar9170_requires_one_stage(const struct usb_device_id *id) { if (!id->driver_info) @@ -814,33 +874,9 @@ static int ar9170_usb_probe(struct usb_interface *intf, if (err) goto err_freehw; - err = ar9170_usb_request_firmware(aru); - if (err) - goto err_freehw; - - err = ar9170_usb_init_device(aru); - if (err) - goto err_freefw; - - err = ar9170_usb_open(ar); - if (err) - goto err_unrx; - - err = ar9170_register(ar, &udev->dev); - - ar9170_usb_stop(ar); - if (err) - goto err_unrx; - - return 0; - -err_unrx: - ar9170_usb_cancel_urbs(aru); - -err_freefw: - release_firmware(aru->init_values); - release_firmware(aru->firmware); - + return request_firmware_nowait(THIS_MODULE, 1, "ar9170.fw", + &aru->udev->dev, GFP_KERNEL, aru, + ar9170_usb_firmware_step2); err_freehw: usb_set_intfdata(intf, NULL); usb_put_dev(udev); @@ -860,12 +896,12 @@ static void ar9170_usb_disconnect(struct usb_interface *intf) ar9170_unregister(&aru->common); ar9170_usb_cancel_urbs(aru); - release_firmware(aru->init_values); - release_firmware(aru->firmware); - usb_put_dev(aru->udev); usb_set_intfdata(intf, NULL); ieee80211_free_hw(aru->common.hw); + + release_firmware(aru->init_values); + release_firmware(aru->firmware); } #ifdef CONFIG_PM -- cgit v0.10.2 From b08dfd0435333818a03b38867c556ebcbb3abc02 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Fri, 29 Jan 2010 11:54:56 -0800 Subject: iwlwifi: load firmware asynchronously before mac80211 registration At the wireless summit in Portland we discussed a way of loading firmware asynchronously from ->probe() before registration to mac80211, in order to register with the wireless subsystems with complete information in cases where firmware is required to know parameters. This is not yet the case in iwlwifi, but for some new features we're working on it will be the case since those will only be supported by new firmware images. Hence, to start with, convert iwlwifi to load firmware asynchronously from probe, unbinding the device when firmware loading fails, and only registering with the wireless subsystems after firmware has been loaded successfully. Future patches will hook into this to register the new firmware capabilities, depending on the firmware API version. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 6aeb82b..47b0214 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c @@ -1463,59 +1463,66 @@ static void iwl_nic_start(struct iwl_priv *priv) } +static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context); +static int iwl_mac_setup_register(struct iwl_priv *priv); + +static int __must_check iwl_request_firmware(struct iwl_priv *priv, bool first) +{ + const char *name_pre = priv->cfg->fw_name_pre; + + if (first) + priv->fw_index = priv->cfg->ucode_api_max; + else + priv->fw_index--; + + if (priv->fw_index < priv->cfg->ucode_api_min) { + IWL_ERR(priv, "no suitable firmware found!\n"); + return -ENOENT; + } + + sprintf(priv->firmware_name, "%s%d%s", + name_pre, priv->fw_index, ".ucode"); + + IWL_DEBUG_INFO(priv, "attempting to load firmware '%s'\n", + priv->firmware_name); + + return request_firmware_nowait(THIS_MODULE, 1, priv->firmware_name, + &priv->pci_dev->dev, GFP_KERNEL, priv, + iwl_ucode_callback); +} + /** - * iwl_read_ucode - Read uCode images from disk file. + * iwl_ucode_callback - callback when firmware was loaded * - * Copy into buffers for card to fetch via bus-mastering + * If loaded successfully, copies the firmware into buffers + * for the card to fetch (via DMA). */ -static int iwl_read_ucode(struct iwl_priv *priv) +static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context) { + struct iwl_priv *priv = context; struct iwl_ucode_header *ucode; - int ret = -EINVAL, index; - const struct firmware *ucode_raw; - const char *name_pre = priv->cfg->fw_name_pre; const unsigned int api_max = priv->cfg->ucode_api_max; const unsigned int api_min = priv->cfg->ucode_api_min; - char buf[25]; u8 *src; size_t len; u32 api_ver, build; u32 inst_size, data_size, init_size, init_data_size, boot_size; + int err; u16 eeprom_ver; - /* Ask kernel firmware_class module to get the boot firmware off disk. - * request_firmware() is synchronous, file is in memory on return. */ - for (index = api_max; index >= api_min; index--) { - sprintf(buf, "%s%d%s", name_pre, index, ".ucode"); - ret = request_firmware(&ucode_raw, buf, &priv->pci_dev->dev); - if (ret < 0) { - IWL_ERR(priv, "%s firmware file req failed: %d\n", - buf, ret); - if (ret == -ENOENT) - continue; - else - goto error; - } else { - if (index < api_max) - IWL_ERR(priv, "Loaded firmware %s, " - "which is deprecated. " - "Please use API v%u instead.\n", - buf, api_max); - - IWL_DEBUG_INFO(priv, "Got firmware '%s' file (%zd bytes) from disk\n", - buf, ucode_raw->size); - break; - } + if (!ucode_raw) { + IWL_ERR(priv, "request for firmware file '%s' failed.\n", + priv->firmware_name); + goto try_again; } - if (ret < 0) - goto error; + IWL_DEBUG_INFO(priv, "Loaded firmware file '%s' (%zd bytes).\n", + priv->firmware_name, ucode_raw->size); /* Make sure that we got at least the v1 header! */ if (ucode_raw->size < priv->cfg->ops->ucode->get_header_size(1)) { IWL_ERR(priv, "File size way too small!\n"); - ret = -EINVAL; - goto err_release; + goto try_again; } /* Data from ucode file: header followed by uCode images */ @@ -1540,10 +1547,9 @@ static int iwl_read_ucode(struct iwl_priv *priv) IWL_ERR(priv, "Driver unable to support your firmware API. " "Driver supports v%u, firmware is v%u.\n", api_max, api_ver); - priv->ucode_ver = 0; - ret = -EINVAL; - goto err_release; + goto try_again; } + if (api_ver != api_max) IWL_ERR(priv, "Firmware has old API version. Expected v%u, " "got v%u. New firmware can be obtained " @@ -1585,6 +1591,12 @@ static int iwl_read_ucode(struct iwl_priv *priv) IWL_DEBUG_INFO(priv, "f/w package hdr boot inst size = %u\n", boot_size); + /* + * For any of the failures below (before allocating pci memory) + * we will try to load a version with a smaller API -- maybe the + * user just got a corrupted version of the latest API. + */ + /* Verify size of file vs. image size info in file's header */ if (ucode_raw->size != priv->cfg->ops->ucode->get_header_size(api_ver) + @@ -1594,41 +1606,35 @@ static int iwl_read_ucode(struct iwl_priv *priv) IWL_DEBUG_INFO(priv, "uCode file size %d does not match expected size\n", (int)ucode_raw->size); - ret = -EINVAL; - goto err_release; + goto try_again; } /* Verify that uCode images will fit in card's SRAM */ if (inst_size > priv->hw_params.max_inst_size) { IWL_DEBUG_INFO(priv, "uCode instr len %d too large to fit in\n", inst_size); - ret = -EINVAL; - goto err_release; + goto try_again; } if (data_size > priv->hw_params.max_data_size) { IWL_DEBUG_INFO(priv, "uCode data len %d too large to fit in\n", data_size); - ret = -EINVAL; - goto err_release; + goto try_again; } if (init_size > priv->hw_params.max_inst_size) { IWL_INFO(priv, "uCode init instr len %d too large to fit in\n", init_size); - ret = -EINVAL; - goto err_release; + goto try_again; } if (init_data_size > priv->hw_params.max_data_size) { IWL_INFO(priv, "uCode init data len %d too large to fit in\n", init_data_size); - ret = -EINVAL; - goto err_release; + goto try_again; } if (boot_size > priv->hw_params.max_bsm_size) { IWL_INFO(priv, "uCode boot instr len %d too large to fit in\n", boot_size); - ret = -EINVAL; - goto err_release; + goto try_again; } /* Allocate ucode buffers for card's bus-master loading ... */ @@ -1712,20 +1718,36 @@ static int iwl_read_ucode(struct iwl_priv *priv) IWL_DEBUG_INFO(priv, "Copying (but not loading) boot instr len %Zd\n", len); memcpy(priv->ucode_boot.v_addr, src, len); + /************************************************** + * This is still part of probe() in a sense... + * + * 9. Setup and register with mac80211 and debugfs + **************************************************/ + err = iwl_mac_setup_register(priv); + if (err) + goto out_unbind; + + err = iwl_dbgfs_register(priv, DRV_NAME); + if (err) + IWL_ERR(priv, "failed to create debugfs files. Ignoring error: %d\n", err); + /* We have our copies now, allow OS release its copies */ release_firmware(ucode_raw); - return 0; + return; + + try_again: + /* try next, if any */ + if (iwl_request_firmware(priv, false)) + goto out_unbind; + release_firmware(ucode_raw); + return; err_pci_alloc: IWL_ERR(priv, "failed to allocate pci memory\n"); - ret = -ENOMEM; iwl_dealloc_ucode_pci(priv); - - err_release: + out_unbind: + device_release_driver(&priv->pci_dev->dev); release_firmware(ucode_raw); - - error: - return ret; } static const char *desc_lookup_text[] = { @@ -2667,21 +2689,7 @@ static int iwl_mac_start(struct ieee80211_hw *hw) /* we should be verifying the device is ready to be opened */ mutex_lock(&priv->mutex); - - /* fetch ucode file from disk, alloc and copy to bus-master buffers ... - * ucode filename and max sizes are card-specific. */ - - if (!priv->ucode_code.len) { - ret = iwl_read_ucode(priv); - if (ret) { - IWL_ERR(priv, "Could not read microcode: %d\n", ret); - mutex_unlock(&priv->mutex); - return ret; - } - } - ret = __iwl_up(priv); - mutex_unlock(&priv->mutex); if (ret) @@ -3654,17 +3662,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) iwl_power_initialize(priv); iwl_tt_initialize(priv); - /************************************************** - * 9. Setup and register with mac80211 and debugfs - **************************************************/ - err = iwl_mac_setup_register(priv); + err = iwl_request_firmware(priv, true); if (err) goto out_remove_sysfs; - err = iwl_dbgfs_register(priv, DRV_NAME); - if (err) - IWL_ERR(priv, "failed to create debugfs files. Ignoring error: %d\n", err); - return 0; out_remove_sysfs: diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index ab891b9..6054c5f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h @@ -1132,6 +1132,7 @@ struct iwl_priv { u8 rev_id; /* uCode images, save to reload in case of failure */ + int fw_index; /* firmware we're trying to load */ u32 ucode_ver; /* version of ucode, copy of iwl_ucode.ver */ struct fw_desc ucode_code; /* runtime inst */ @@ -1142,6 +1143,7 @@ struct iwl_priv { struct fw_desc ucode_boot; /* bootstrap inst */ enum ucode_type ucode_type; u8 ucode_write_complete; /* the image write is complete */ + char firmware_name[25]; struct iwl_rxon_time_cmd rxon_timing; -- cgit v0.10.2 From ac91d85456372a90af5b85eb6620fd2efb1e431b Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Tue, 2 Mar 2010 17:54:50 +0800 Subject: tracing: Fix warning in s_next of trace file ops This warning in s_next() can be triggered by lseek(): [] ? s_next+0x77/0x80 [] warn_slowpath_common+0x81/0xa0 [] ? s_next+0x77/0x80 [] warn_slowpath_null+0x1a/0x20 [] s_next+0x77/0x80 [] traverse+0x117/0x200 [] seq_lseek+0xa3/0x120 [] ? seq_lseek+0x0/0x120 [] vfs_llseek+0x41/0x50 [] sys_llseek+0x66/0xa0 [] sysenter_do_call+0x12/0x26 The iterator "leftover" variable is zeroed in the opening of the trace file. But lseek can call s_start() which will call s_next() without reseting the "leftover" variable back to zero, which might trigger the WARN_ON_ONCE(iter->leftover) that is in s_next(). Cc: stable@kernel.org Signed-off-by: Lai Jiangshan LKML-Reference: <4B8CE06A.9090207@cn.fujitsu.com> Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 032c57c..5edf410 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1703,6 +1703,7 @@ static void *s_start(struct seq_file *m, loff_t *pos) ftrace_enable_cpu(); + iter->leftover = 0; for (p = iter; p && l < *pos; p = s_next(m, p, &l)) ; -- cgit v0.10.2 From 29044ad1509ecc229f1d5a31aeed7a8dc61a71c4 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 3 Mar 2010 02:25:22 +0100 Subject: x86/stacktrace: Don't dereference bad frame pointers Callers of a stacktrace might pass bad frame pointers. Those are usually checked for safety in stack walking helpers before any dereferencing, but this is not the case when we need to go through one more frame pointer that backlinks the irq stack to the previous one, as we don't have any reliable address boudaries to compare this frame pointer against. This raises crashes when we record callchains for ftrace events with perf because we don't use the right helpers to capture registers there. We get wrong frame pointers as we call task_pt_regs() even on kernel threads, which is a wrong thing as it gives us the initial state of any kernel threads freshly created. This is even not what we want for user tasks. What we want is a hot snapshot of registers when the ftrace event triggers, not the state before a task entered the kernel. This requires more thoughts to do it correctly though. So first put a guardian to ensure the given frame pointer can be dereferenced to avoid crashes. We'll think about how to fix the callers in a subsequent patch. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: 2.6.33.x Cc: Arnaldo Carvalho de Melo diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c index 0ad9597..a6c906c 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c @@ -125,9 +125,15 @@ fixup_bp_irq_link(unsigned long bp, unsigned long *stack, { #ifdef CONFIG_FRAME_POINTER struct stack_frame *frame = (struct stack_frame *)bp; + unsigned long next; - if (!in_irq_stack(stack, irq_stack, irq_stack_end)) - return (unsigned long)frame->next_frame; + if (!in_irq_stack(stack, irq_stack, irq_stack_end)) { + if (!probe_kernel_address(&frame->next_frame, next)) + return next; + else + WARN_ONCE(1, "Perf: bad frame pointer = %p in " + "callchain\n", &frame->next_frame); + } #endif return bp; } -- cgit v0.10.2 From 87c1e12b5eeb7b30b4b41291bef8e0b41fc3dde9 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Tue, 2 Mar 2010 02:51:56 +0000 Subject: ipsec: Fix bogus bundle flowi When I merged the bundle creation code, I introduced a bogus flowi value in the bundle. Instead of getting from the caller, it was instead set to the flow in the route object, which is totally different. The end result is that the bundles we created never match, and we instead end up with an ever growing bundle list. Thanks to Jamal for find this problem. Reported-by: Jamal Hadi Salim Signed-off-by: Herbert Xu Acked-by: Steffen Klassert Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller diff --git a/include/net/xfrm.h b/include/net/xfrm.h index a7df327..d74e080b 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -275,7 +275,8 @@ struct xfrm_policy_afinfo { struct dst_entry *dst, int nfheader_len); int (*fill_dst)(struct xfrm_dst *xdst, - struct net_device *dev); + struct net_device *dev, + struct flowi *fl); }; extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo); diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 67107d6..e4a1483 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c @@ -91,11 +91,12 @@ static int xfrm4_init_path(struct xfrm_dst *path, struct dst_entry *dst, return 0; } -static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) +static int xfrm4_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, + struct flowi *fl) { struct rtable *rt = (struct rtable *)xdst->route; - xdst->u.rt.fl = rt->fl; + xdst->u.rt.fl = *fl; xdst->u.dst.dev = dev; dev_hold(dev); diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index dbdc696..ae18165 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c @@ -116,7 +116,8 @@ static int xfrm6_init_path(struct xfrm_dst *path, struct dst_entry *dst, return 0; } -static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) +static int xfrm6_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, + struct flowi *fl) { struct rt6_info *rt = (struct rt6_info*)xdst->route; diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 34a5ef8..843e066 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -1372,7 +1372,8 @@ static inline int xfrm_init_path(struct xfrm_dst *path, struct dst_entry *dst, return err; } -static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) +static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev, + struct flowi *fl) { struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(xdst->u.dst.ops->family); @@ -1381,7 +1382,7 @@ static inline int xfrm_fill_dst(struct xfrm_dst *xdst, struct net_device *dev) if (!afinfo) return -EINVAL; - err = afinfo->fill_dst(xdst, dev); + err = afinfo->fill_dst(xdst, dev, fl); xfrm_policy_put_afinfo(afinfo); @@ -1486,7 +1487,7 @@ static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy, for (dst_prev = dst0; dst_prev != dst; dst_prev = dst_prev->child) { struct xfrm_dst *xdst = (struct xfrm_dst *)dst_prev; - err = xfrm_fill_dst(xdst, dev); + err = xfrm_fill_dst(xdst, dev, fl); if (err) goto free_dst; -- cgit v0.10.2 From 48a29516e8b0b8cd59f5afec90a14f49dd9cf967 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 2 Mar 2010 22:46:10 +0000 Subject: cpmac: use after free The original code dereferenced "cpmac_mii" after calling "mdiobus_free(cpmac_mii);" Signed-off-by: Dan Carpenter Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index b85c81f..9d48942 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -1290,8 +1290,8 @@ void __devexit cpmac_exit(void) { platform_driver_unregister(&cpmac_driver); mdiobus_unregister(cpmac_mii); - mdiobus_free(cpmac_mii); iounmap(cpmac_mii->priv); + mdiobus_free(cpmac_mii); } module_init(cpmac_init); -- cgit v0.10.2 From 9fe969345b10931319b3f1e7034fbdeb786de234 Mon Sep 17 00:00:00 2001 From: Sarveshwar Bandi Date: Tue, 2 Mar 2010 22:37:28 +0000 Subject: be2net: download NCSI section during firmware update Adding code to update NCSI section while updating firmware on the controller. Signed-off-by: Sarveshwar Bandi Signed-off-by: David S. Miller diff --git a/drivers/net/benet/be_hw.h b/drivers/net/benet/be_hw.h index 5ffb149..2d4a4b8 100644 --- a/drivers/net/benet/be_hw.h +++ b/drivers/net/benet/be_hw.h @@ -114,8 +114,7 @@ #define IMG_TYPE_ISCSI_BACKUP 9 #define IMG_TYPE_FCOE_FW_ACTIVE 10 #define IMG_TYPE_FCOE_FW_BACKUP 11 -#define IMG_TYPE_NCSI_BITFILE 13 -#define IMG_TYPE_NCSI_8051 14 +#define IMG_TYPE_NCSI_FW 13 #define FLASHROM_OPER_FLASH 1 #define FLASHROM_OPER_SAVE 2 @@ -127,6 +126,7 @@ #define FLASH_IMAGE_MAX_SIZE_g3 (2097152) /* Max fw image size */ #define FLASH_BIOS_IMAGE_MAX_SIZE_g3 (524288) /* Max OPTION ROM img sz */ #define FLASH_REDBOOT_IMAGE_MAX_SIZE_g3 (1048576) /* Max Redboot image sz */ +#define FLASH_NCSI_IMAGE_MAX_SIZE_g3 (262144) /* Max NSCI image sz */ #define FLASH_NCSI_MAGIC (0x16032009) #define FLASH_NCSI_DISABLED (0) @@ -144,6 +144,7 @@ #define FLASH_FCoE_BIOS_START_g2 (524288) #define FLASH_REDBOOT_START_g2 (0) +#define FLASH_NCSI_START_g3 (15990784) #define FLASH_iSCSI_PRIMARY_IMAGE_START_g3 (2097152) #define FLASH_iSCSI_BACKUP_IMAGE_START_g3 (4194304) #define FLASH_FCoE_PRIMARY_IMAGE_START_g3 (6291456) diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index a703ed8..22f787f 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -1880,8 +1880,9 @@ static int be_flash_data(struct be_adapter *adapter, const u8 *p = fw->data; struct be_cmd_write_flashrom *req = flash_cmd->va; struct flash_comp *pflashcomp; + int num_comp; - struct flash_comp gen3_flash_types[8] = { + struct flash_comp gen3_flash_types[9] = { { FLASH_iSCSI_PRIMARY_IMAGE_START_g3, IMG_TYPE_ISCSI_ACTIVE, FLASH_IMAGE_MAX_SIZE_g3}, { FLASH_REDBOOT_START_g3, IMG_TYPE_REDBOOT, @@ -1897,7 +1898,9 @@ static int be_flash_data(struct be_adapter *adapter, { FLASH_FCoE_PRIMARY_IMAGE_START_g3, IMG_TYPE_FCOE_FW_ACTIVE, FLASH_IMAGE_MAX_SIZE_g3}, { FLASH_FCoE_BACKUP_IMAGE_START_g3, IMG_TYPE_FCOE_FW_BACKUP, - FLASH_IMAGE_MAX_SIZE_g3} + FLASH_IMAGE_MAX_SIZE_g3}, + { FLASH_NCSI_START_g3, IMG_TYPE_NCSI_FW, + FLASH_NCSI_IMAGE_MAX_SIZE_g3} }; struct flash_comp gen2_flash_types[8] = { { FLASH_iSCSI_PRIMARY_IMAGE_START_g2, IMG_TYPE_ISCSI_ACTIVE, @@ -1921,11 +1924,16 @@ static int be_flash_data(struct be_adapter *adapter, if (adapter->generation == BE_GEN3) { pflashcomp = gen3_flash_types; filehdr_size = sizeof(struct flash_file_hdr_g3); + num_comp = 9; } else { pflashcomp = gen2_flash_types; filehdr_size = sizeof(struct flash_file_hdr_g2); + num_comp = 8; } - for (i = 0; i < 8; i++) { + for (i = 0; i < num_comp; i++) { + if ((pflashcomp[i].optype == IMG_TYPE_NCSI_FW) && + memcmp(adapter->fw_ver, "3.102.148.0", 11) < 0) + continue; if ((pflashcomp[i].optype == IMG_TYPE_REDBOOT) && (!be_flash_redboot(adapter, fw->data, pflashcomp[i].offset, pflashcomp[i].size, -- cgit v0.10.2 From 1162563f82b434e3099c9e6c1bbdba846d792f0d Mon Sep 17 00:00:00 2001 From: Jiri Pirko Date: Tue, 2 Mar 2010 20:40:01 +0000 Subject: af_packet: move strict addr_len check right before dev_[mc/unicast]_[add/del] My previous patch 914c8ad2d18b62ad1420f518c0cab0b0b90ab308 incorrectly changed the length check in packet_mc_add to be more strict. The problem is that userspace is not filling this field (and it stays zeroed) in case of setting PACKET_MR_PROMISC or PACKET_MR_ALLMULTI. So move the strict check to the point in path where the addr_len must be set correctly. Signed-off-by: Jiri Pirko Reported-by: Pavel Roskin Signed-off-by: David S. Miller diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 031a5e6..1612d41 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -1688,6 +1688,8 @@ static int packet_dev_mc(struct net_device *dev, struct packet_mclist *i, { switch (i->type) { case PACKET_MR_MULTICAST: + if (i->alen != dev->addr_len) + return -EINVAL; if (what > 0) return dev_mc_add(dev, i->addr, i->alen, 0); else @@ -1700,6 +1702,8 @@ static int packet_dev_mc(struct net_device *dev, struct packet_mclist *i, return dev_set_allmulti(dev, what); break; case PACKET_MR_UNICAST: + if (i->alen != dev->addr_len) + return -EINVAL; if (what > 0) return dev_unicast_add(dev, i->addr); else @@ -1734,7 +1738,7 @@ static int packet_mc_add(struct sock *sk, struct packet_mreq_max *mreq) goto done; err = -EINVAL; - if (mreq->mr_alen != dev->addr_len) + if (mreq->mr_alen > dev->addr_len) goto done; err = -ENOBUFS; -- cgit v0.10.2 From d4612cb86ed8db8956b6b19435f8a30de6c67ffe Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Tue, 2 Mar 2010 15:48:23 +0000 Subject: Bluetooth: Use single_open() for inquiry cache within debugfs The inquiry cache information in debugfs should be using seq_file support and not allocating memory on the stack for the string. Since the usage of these information is really seldom, using single_open() for it is good enough. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller diff --git a/net/bluetooth/hci_sysfs.c b/net/bluetooth/hci_sysfs.c index 1a79a6c..cafb55b 100644 --- a/net/bluetooth/hci_sysfs.c +++ b/net/bluetooth/hci_sysfs.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -405,20 +406,11 @@ static struct device_type bt_host = { .release = bt_host_release, }; -static int inquiry_cache_open(struct inode *inode, struct file *file) -{ - file->private_data = inode->i_private; - return 0; -} - -static ssize_t inquiry_cache_read(struct file *file, char __user *userbuf, - size_t count, loff_t *ppos) +static int inquiry_cache_show(struct seq_file *f, void *p) { - struct hci_dev *hdev = file->private_data; + struct hci_dev *hdev = f->private; struct inquiry_cache *cache = &hdev->inq_cache; struct inquiry_entry *e; - char buf[4096]; - int n = 0; hci_dev_lock_bh(hdev); @@ -426,23 +418,30 @@ static ssize_t inquiry_cache_read(struct file *file, char __user *userbuf, struct inquiry_data *data = &e->data; bdaddr_t bdaddr; baswap(&bdaddr, &data->bdaddr); - n += sprintf(buf + n, "%s %d %d %d 0x%.2x%.2x%.2x 0x%.4x %d %d %u\n", - batostr(&bdaddr), - data->pscan_rep_mode, data->pscan_period_mode, - data->pscan_mode, data->dev_class[2], - data->dev_class[1], data->dev_class[0], - __le16_to_cpu(data->clock_offset), - data->rssi, data->ssp_mode, e->timestamp); + seq_printf(f, "%s %d %d %d 0x%.2x%.2x%.2x 0x%.4x %d %d %u\n", + batostr(&bdaddr), + data->pscan_rep_mode, data->pscan_period_mode, + data->pscan_mode, data->dev_class[2], + data->dev_class[1], data->dev_class[0], + __le16_to_cpu(data->clock_offset), + data->rssi, data->ssp_mode, e->timestamp); } hci_dev_unlock_bh(hdev); - return simple_read_from_buffer(userbuf, count, ppos, buf, n); + return 0; +} + +static int inquiry_cache_open(struct inode *inode, struct file *file) +{ + return single_open(file, inquiry_cache_show, inode->i_private); } static const struct file_operations inquiry_cache_fops = { - .open = inquiry_cache_open, - .read = inquiry_cache_read, + .open = inquiry_cache_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, }; int hci_register_sysfs(struct hci_dev *hdev) -- cgit v0.10.2 From bf829370a8d664d87a61697c8a0d6d780c336aa4 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 2 Mar 2010 22:22:41 +0000 Subject: cassini: fix off by one There are only 6 link_modes. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index 7cbcfb0..9bd155e 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c @@ -5072,7 +5072,7 @@ static int __devinit cas_init_one(struct pci_dev *pdev, INIT_WORK(&cp->reset_task, cas_reset_task); /* Default link parameters */ - if (link_mode >= 0 && link_mode <= 6) + if (link_mode >= 0 && link_mode < 6) cp->link_cntl = link_modes[link_mode]; else cp->link_cntl = BMCR_ANENABLE; -- cgit v0.10.2 From 4d27b87785a743fdae653d395a3a4e763269c53c Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Tue, 2 Mar 2010 21:07:24 +0000 Subject: davinci_emac: off by one This off by one error was found by smatch. drivers/net/davinci_emac.c +2390 emac_dev_open(13) error: buffer overflow 'priv->mac_addr' 6 <= 6 Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 1ac9440e..32960b9 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -2385,7 +2385,7 @@ static int emac_dev_open(struct net_device *ndev) struct emac_priv *priv = netdev_priv(ndev); netif_carrier_off(ndev); - for (cnt = 0; cnt <= ETH_ALEN; cnt++) + for (cnt = 0; cnt < ETH_ALEN; cnt++) ndev->dev_addr[cnt] = priv->mac_addr[cnt]; /* Configuration items */ -- cgit v0.10.2 From 4d63cb4d8638fdf2e3bf874936335a08e3b5d8fe Mon Sep 17 00:00:00 2001 From: Vladislav Zolotarov Date: Wed, 3 Mar 2010 01:09:21 -0800 Subject: bnx2x: Removed FW 5.2.7 Removed FW 5.2.7. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller diff --git a/firmware/bnx2x-e1-5.2.7.0.fw.ihex b/firmware/bnx2x-e1-5.2.7.0.fw.ihex deleted file mode 100644 index a99c41c..0000000 --- a/firmware/bnx2x-e1-5.2.7.0.fw.ihex +++ /dev/null @@ -1,10178 +0,0 @@ -:10000000000028B0000000600000068800002918E9 -:100010000000161400002FA800000098000045C042 -:10002000000073C400004660000000CC0000BA2845 -:10003000000099A00000BAF800000094000154A04C -:10004000000057BC00015538000000B80001ACF8B2 -:100050000000CE2C0001ADB80000000400027BE8D7 -:10006000020400480000000F020400540000004594 -:1000700002040058000000840204005C0000000636 -:100080000204007000000004020400780000000078 -:100090000204007C121700000204008022170000F6 -:1000A00002040084321700000604008800000005E6 -:1000B0000204009C12150000020400A0221500009A -:1000C000020400A432150000060400A80000000489 -:1000D000020400B802100000020400BC001000007E -:1000E000020400C010100000020400C42010000030 -:1000F000020400C830100000060400CC0000000418 -:10010000020400DC00100000020400E012140000F1 -:10011000020400E422140000020400E8321400008B -:10012000060400EC000000040104012400000000AB -:1001300001040128000000000104012C000000005F -:10014000010401300000000002040004000000FF70 -:1001500002040008000000FF0204000C000000FF81 -:1001600002040010000000FF02040014000000FF61 -:1001700002040018000000FF0204001C000000FF41 -:1001800002040020000000FF020400240000003EE2 -:1001900002040028000000000204002C0000003FC0 -:1001A000020400300000003F020400340000003F61 -:1001B00002040038000000000204003C0000003F80 -:1001C000020400400000003F020400440000003F21 -:1001D00002042008000004110204200C00000400A6 -:1001E000020420100000040402042014000004197A -:1001F0000204201C0000FFFF020420200000FFFF7B -:10020000020420240000FFFF020420280000FFFF5A -:1002100006042038000000020204204000000034E0 -:100220000204204400000035060420480000007C41 -:100230000204223807FFFFFF0204223C0000003FB7 -:100240000204224007FFFFFF020422440000000FC7 -:1002500001042248000000000104224C00000000BC -:10026000010422500000000001042254000000009C -:1002700001042258000000000104225C000000007C -:10028000010422600000000001042264000000005C -:1002900001042268000000000104226C000000003C -:1002A000010422700000000001042274000000001C -:1002B00001042278000000000104227C00000000FC -:1002C000020424BC000000010C042000000003E82C -:1002D0000A042000000000010B0420000000000AB6 -:1002E0000205004400000020020500480000003222 -:1002F000020500900215002002050094021500205E -:1003000002050098000000300205009C0810000063 -:10031000020500A000000033020500A40000003028 -:10032000020500A800000031020500AC0000000238 -:10033000020500B000000005020500B40000000640 -:10034000020500B800000002020500BC0000000227 -:10035000020500C000000000020500C40000000506 -:10036000020500C800000002020500CC00000002E7 -:10037000020500D000000002020500D400000001C8 -:1003800002050114000000010205011C000000012B -:100390000205012000000002020502040000000125 -:1003A0000205020C0000004002050210000000409F -:1003B0000205021C000000200205022000000013BC -:1003C0000205022400000020060502400000000A89 -:1003D0000405028000200000020500500000000714 -:1003E0000205005400000007020500580000000844 -:1003F0000205005C00000008060500600000000423 -:10040000020500D800000006020500E00000000D13 -:10041000020500E40000002D020500E800000007CE -:10042000020500EC00000027020500F000000007B4 -:10043000020500F400000027020500F80000000794 -:10044000020500FC00000027020500040000000176 -:1004500002050008000000010205000C0000000178 -:100460000205001000000001020500140000000158 -:1004700002050018000000010205001C0000000138 -:100480000205002000000001020500240000000118 -:1004900002050028000000010205002C00000001F8 -:1004A00002050030000000010205003400000001D8 -:1004B00002050038000000010205003C00000001B8 -:1004C00002050040000000010406100002000020A8 -:1004D000020600DC00000001010600D80000000058 -:1004E0000406020000030220020600DC00000000F7 -:1004F00002060068000000B802060078000001143F -:10050000010600B800000000010600C8000000005D -:100510000206006C000000B80206007C0000011416 -:10052000010600BC00000000010600CC0000000035 -:100530000718040000960000081807600014022342 -:10054000071C000034C50000071C800034DB0D329E -:10055000071D00000A1D1A69081D14405D78022558 -:100560000118000000000000011800040000000055 -:1005700001180008000000000118000C0000000035 -:100580000118001000000000011800140000000015 -:1005900002180020000000010218002400000002E0 -:1005A00002180028000000030218002C00000000C0 -:1005B000021800300000000402180034000000019E -:1005C00002180038000000000218003C0000000182 -:1005D000021800400000000402180044000000005F -:1005E00002180048000000010218004C000000033F -:1005F0000218005000000000021800540000000122 -:1006000002180058000000040218005C00000000FE -:1006100002180060000000010218006400000003DE -:1006200002180068000000000218006C00000001C1 -:10063000021800700000000402180074000000009E -:1006400002180078000000040218007C000000037B -:100650000618008000000002021800A400003FFFFE -:10066000021800A8000003FF021802240000000086 -:1006700002180234000000000218024C00000000C2 -:10068000021802E4000000FF061810000000040039 -:10069000021B8BC000000001021B80000000003420 -:1006A000021B804000000018021B80800000000C2C -:1006B000021B80C0000000200C1B83000007A1204B -:1006C0000A1B8300000001380B1B83000000138805 -:1006D000021B83C0000001F4061A2000000000B2D3 -:1006E000061A23C800000181041A29CC0001022740 -:1006F000061A1020000000C8061A100000000002B0 -:10070000061A1E3800000002061A1E300000000201 -:10071000061A080000000002061A0808000000027D -:10072000061A081000000004041A1FB00005022871 -:10073000041A4CB00008022D061A22C8000000203E -:10074000061A400000000124021A4920000000009F -:10075000061A14000000000A061A145000000006D1 -:10076000061A150000000002041A150800050235DB -:10077000061A151C00000009061A15800000001456 -:10078000061A09C000000048061A0800000000020E -:10079000061A08200000000E041A1FB00002023AD8 -:1007A000061A2C2800000002061A23480000002028 -:1007B000061A449000000124021A49240000000097 -:1007C000061A14280000000A061A14680000000621 -:1007D000061A154000000002041A15480005023CE4 -:1007E000061A155C00000009061A15D00000001456 -:1007F000061A0AE000000048061A08080000000275 -:10080000061A08580000000E041A1FB80002024120 -:10081000061A2C30000000020200A2800000000135 -:100820000200A294071D29110200A29800000000F6 -:100830000200A29C009C04240200A2A00000000070 -:100840000200A2A4000002090200A4FCFF000000B4 -:10085000020100B400000001020100B80000000124 -:10086000020100DC000000010201010000000001A3 -:1008700002010104000000010201007C00300000C0 -:1008800002010084000000280201008C000000002A -:1008900002010130000000040201025C00000001BE -:1008A000020103280000000002010554000000308E -:1008B000020100C400000001020100CC00000001A0 -:1008C000020100F800000001020100F00000000138 -:1008D00002010080003000000201008800000028B2 -:1008E0000201009000000000020101340000000439 -:1008F000020102DC000000010201032C00000000E4 -:100900000201056400000030020100C8000000017F -:10091000020100D000000001020100FC0000000103 -:10092000020100F400000001020C10000000002091 -:10093000020C200800000A11020C200C00000A0022 -:10094000020C201000000A04020C201C0000FFFF13 -:10095000020C20200000FFFF020C20240000FFFFFB -:10096000020C20280000FFFF060C203800000002C7 -:10097000020C204000000034020C2044000000352E -:10098000020C204800000020020C204C0000002136 -:10099000020C205000000022020C20540000002312 -:1009A000020C205800000024020C205C00000025EE -:1009B000020C206000000026020C206400000027CA -:1009C000020C206800000028020C206C00000029A6 -:1009D000020C20700000002A020C20740000002B82 -:1009E000060C207800000056020C21D00000000107 -:1009F000020C21D400000001020C21D800000001EB -:100A0000020C21DC00000001020C21E000000001CA -:100A1000020C21E400000001020C21E800000001AA -:100A2000020C21EC00000001020C21F0000000018A -:100A3000020C21F400000001060C21F80000001057 -:100A4000020C223807FFFFFF020C223C0000003F8F -:100A5000020C224007FFFFFF020C22440000000F9F -:100A6000010C224800000000010C224C0000000094 -:100A7000010C225000000000010C22540000000074 -:100A8000010C225800000000010C225C0000000054 -:100A9000010C226000000000010C22640000000034 -:100AA000010C226800000000010C226C0000000014 -:100AB000010C227000000000010C227400000000F4 -:100AC000010C227800000000010C227C00000000D4 -:100AD000020C24BC000000010C0C2000000003E804 -:100AE0000A0C2000000000010B0C20000000000A8E -:100AF000020C400800000365020C400C0000035487 -:100B0000020C401000000358020C40140000037552 -:100B1000020C401C0000FFFF020C40200000FFFF01 -:100B2000020C40240000FFFF020C40280000FFFFE1 -:100B3000020C403800000046020C403C000000055A -:100B4000060C40400000005E020C41B800000001AD -:100B5000060C41BC0000001F020C423807FFFFFFDB -:100B6000020C423C0000003F020C424007FFFFFF26 -:100B7000020C42440000000F010C4248000000003B -:100B8000010C424C00000000010C4250000000002B -:100B9000010C425400000000010C4258000000000B -:100BA000010C425C00000000010C426000000000EB -:100BB000010C426400000000010C426800000000CB -:100BC000010C426C00000000010C427000000000AB -:100BD000010C427400000000010C4278000000008B -:100BE000010C427C00000000010C4280000000006B -:100BF000020C44C0000000010C0C4000000003E89F -:100C00000A0C4000000000010B0C40000000000A2C -:100C1000020D004400000032020D008C021500207D -:100C2000020D009002150020020D00940810000033 -:100C3000020D009800000033020D009C000000022D -:100C4000020D00A000000000020D00A4000000053D -:100C5000020D00A800000005060D00AC0000000217 -:100C6000020D00B400000002020D00B800000003F5 -:100C7000020D00BC00000002020D00C000000001D7 -:100C8000020D00C800000002020D00CC00000002AE -:100C9000020D010800000001020D015C00000001CE -:100CA000020D016400000001020D01680000000255 -:100CB000020D020400000001020D020C00000020E1 -:100CC000020D021000000040020D0214000000405E -:100CD000020D022000000003020D02240000001893 -:100CE000060D028000000012040D030000240243E0 -:100CF000020D004C00000001020D00500000000237 -:100D0000020D005400000008020D00580000000809 -:100D1000060D005C00000004020D00C40000000489 -:100D2000020D011400000009020D01180000002945 -:100D3000020D011C0000000A020D01200000002A23 -:100D4000020D012400000007020D01280000002709 -:100D5000020D012C00000007020D013000000027E9 -:100D6000020D01340000000C020D01380000002CBF -:100D7000020D013C0000000C020D01400000002C9F -:100D8000020D01440000000C020D01480000002C7F -:100D9000020D000400000001020D00080000000127 -:100DA000020D000C00000001020D00100000000107 -:100DB000020D001400000001020D001800000001E7 -:100DC000020D001C00000001020D002000000001C7 -:100DD000020D002400000001020D002800000001A7 -:100DE000020D002C00000001020D00300000000187 -:100DF000020D003400000001020D00380000000167 -:100E0000020D003C00000001020E004C0000003208 -:100E1000020E009402150020020E00980215002018 -:100E2000020E009C00000030020E00A0081000001E -:100E3000020E00A400000033020E00A800000030E3 -:100E4000020E00AC00000031020E00B000000002F3 -:100E5000020E00B400000004020E00B80000000002 -:100E6000020E00BC00000002020E00C000000002E2 -:100E7000020E00C400000000020E00C800000002C4 -:100E8000020E00CC00000007020E00D0000000029D -:100E9000020E00D400000002020E00D80000000183 -:100EA000020E00E400000001020E014400000001F7 -:100EB000020E014C00000001020E01500000000271 -:100EC000020E020400000001020E020C00000040AD -:100ED000020E021000000040020E021C000000047E -:100EE000020E022000000020020E02240000000E6C -:100EF000020E02280000001B060E03000000001274 -:100F0000040E0280001B0267020E00540000000C59 -:100F1000020E005800000009020E005C0000000FE5 -:100F2000020E006000000010060E006400000004C5 -:100F3000020E00DC00000003020E01100000000F92 -:100F4000020E01140000002F020E01180000000E16 -:100F5000020E011C0000002E020E00040000000121 -:100F6000020E000800000001020E000C000000014B -:100F7000020E001000000001020E0014000000012B -:100F8000020E001800000001020E001C000000010B -:100F9000020E002000000001020E002400000001EB -:100FA000020E002800000001020E002C00000001CB -:100FB000020E003000000001020E003400000001AB -:100FC000020E003800000001020E003C000000018B -:100FD000020E004000000001020E0044000000016B -:100FE0000730040000CA00000830076800130282BE -:100FF00007340000336100000734800037270CD924 -:10100000073500002F111AA30835708051F00284B3 -:10101000013000000000000001300004000000006A -:1010200001300008000000000130000C000000004A -:10103000013000100000000001300014000000002A -:1010400002300020000000010230002400000002F5 -:1010500002300028000000030230002C00000000D5 -:1010600002300030000000040230003400000001B3 -:1010700002300038000000000230003C0000000197 -:101080000230004000000004023000440000000074 -:1010900002300048000000010230004C0000000354 -:1010A0000230005000000000023000540000000137 -:1010B00002300058000000040230005C0000000014 -:1010C00002300060000000010230006400000003F4 -:1010D00002300068000000000230006C00000001D7 -:1010E00002300070000000040230007400000000B4 -:1010F00002300078000000040230007C0000000391 -:101100000630008000000002023000A400003FFF13 -:10111000023000A8000003FF02300224000000009B -:1011200002300234000000000230024C00000000D7 -:10113000023002E40000FFFF06302000000008003B -:1011400002338BC000000001023380000000001A4F -:10115000023380400000004E023380800000001007 -:10116000023380C0000000200C3383000007A12060 -:101170000A338300000001380B338300000013881A -:10118000023383C0000001F40C3383801DCD650061 -:101190000A3383800004C4B40B338380004C4B407B -:1011A00006321AA0000000C206321020000000C85B -:1011B0000632100000000002063214000000004059 -:1011C00006325098000000040632508000000005EE -:1011D00004325094000102860632500000000020C4 -:1011E00004322830000202870233080001000000A8 -:1011F00004330C00001002890233080000000000D4 -:1012000004330C400010029906321500000000B4AF -:1012100002321DC80000000006324000000000D865 -:10122000063217D0000000B402321DCC00000000CE -:1012300006324360000000D807200400009200003E -:1012400008200780001002A9072400002CD100000C -:10125000072480002AE50B350824DC6062DA02AB43 -:101260000120000000000000012000040000000038 -:1012700001200008000000000120000C0000000018 -:1012800001200010000000000120001400000000F8 -:1012900002200020000000010220002400000002C3 -:1012A00002200028000000030220002C00000000A3 -:1012B0000220003000000004022000340000000181 -:1012C00002200038000000000220003C0000000165 -:1012D0000220004000000004022000440000000042 -:1012E00002200048000000010220004C0000000322 -:1012F0000220005000000000022000540000000105 -:1013000002200058000000040220005C00000000E1 -:1013100002200060000000010220006400000003C1 -:1013200002200068000000000220006C00000001A4 -:101330000220007000000004022000740000000081 -:1013400002200078000000040220007C000000035E -:101350000620008000000002022000A400003FFFE1 -:10136000022000A8000003FF022002240000000069 -:1013700002200234000000000220024C00000000A5 -:10138000022002E40000FFFF062020000000080009 -:1013900002238BC000000001022380000000001027 -:1013A00002238040000000120223808000000030F1 -:1013B000022380C00000000E022383C0000001F45D -:1013C000062250000000004206221020000000C843 -:1013D000062210000000000206222000000000C0CB -:1013E000062225C00000024004222EC8000802ADDB -:1013F00002230800013FFFFF04230C00001002B588 -:10140000022308000000000004230C40001002C565 -:1014100006223040000000A00622354000000010E7 -:10142000062236C000000030062240000000020004 -:10143000062235C00000002006223840000000309F -:1014400006223000000000080222511800000000AF -:10145000062223000000000E0622241000000030A7 -:10146000062232C0000000A00622358000000010D5 -:1014700006223780000000300622480000000200EB -:10148000062236400000002006223900000000300D -:1014900006223020000000080222511C000000003B -:1014A000062223380000000E062224D0000000305F -:1014B00002161000000000280217000800000002B9 -:1014C0000217002C000000030217003C000000047B -:1014D0000217004400000008021700480000000244 -:1014E0000217004C0000009002170050000000900E -:1014F00002170054008000900217005808140000E2 -:10150000021700600000008A0217006400000080DB -:1015100002170068000000810217006C00000080C4 -:10152000021700700000000602170078000007D0C4 -:101530000217007C0000076C02170038007C1004C2 -:10154000021700040000000F0616402400000002ED -:10155000021640700000001C021642080000000144 -:101560000216421000000001021642200000000195 -:10157000021642280000000102164230000000015D -:10158000021642380000000102164260000000010D -:101590000C16401C0003D0900A16401C0000009C52 -:1015A0000B16401C000009C4021640300000000861 -:1015B000021640340000000C0216403800000010F3 -:1015C0000216404400000020021640000000000106 -:1015D000021640D800000001021640080000000179 -:1015E0000216400C0000000102164010000000012D -:1015F00002164240000000000216424800000000AF -:101600000616427000000002021642500000000060 -:101610000216425800000000061642800000000238 -:1016200002166008000006140216600C0000060096 -:1016300002166010000006040216601C0000FFFF86 -:10164000021660200000FFFF021660240000FFFF6A -:10165000021660280000FFFF02166038000000201C -:101660000216603C000000200216604000000034BA -:101670000216604400000035021660480000002396 -:101680000216604C00000024021660500000002585 -:101690000216605400000026021660580000002761 -:1016A0000216605C00000029021660600000002A3B -:1016B000021660640000002B021660680000002C17 -:1016C0000216606C0000002D0616607000000052CB -:1016D000021661B800000001061661BC0000001F80 -:1016E0000216623807FFFFFF0216623C0000003F4F -:1016F0000216624007FFFFFF021662440000000F5F -:1017000001166248000000000116624C0000000053 -:101710000116625000000000011662540000000033 -:1017200001166258000000000116625C0000000013 -:1017300001166260000000000116626400000000F3 -:1017400001166268000000000116626C00000000D3 -:1017500001166270000000000116627400000000B3 -:1017600001166278000000000116627C0000000093 -:10177000021664BC000000010C166000000003E8C3 -:101780000A166000000000010B1660000000000A4D -:10179000021680400000000602168044000000058A -:1017A000021680480000000A0216804C0000000566 -:1017B0000216805400000002021680CC00000004D3 -:1017C000021680D000000004021680D4000000043D -:1017D000021680D800000004021680DC000000041D -:1017E000021680E000000004021680E400000004FD -:1017F000021680E8000000040216880400000004BD -:10180000021680300000007C021680340000003D8B -:10181000021680380000003F0216803C0000009C49 -:10182000021680F000000007061680F40000000594 -:101830000216880C01010101021681080000000057 -:101840000216810C00000004021681100000000442 -:1018500002168114000000020216881008012004FC -:1018600002168118000000050216811C0000000508 -:1018700002168120000000050216812400000005E8 -:101880000216882C2008100102168128000000088A -:101890000216812C000000060216813000000007AD -:1018A0000216813400000000021688300101012078 -:1018B0000616813800000004021688340101010177 -:1018C0000616814800000004021688380101010153 -:1018D00006168158000000040216883C010101012F -:1018E00006168168000000030216817400000001E2 -:1018F00002168840010101010216817800000001F2 -:101900000216817C000000010216818000000001A7 -:1019100002168184000000010216884401010101C1 -:1019200002168188000000010216818C000000046C -:10193000021681900000000402168194000000024B -:10194000021688480801200402168198000000054C -:101950000216819C00000005021681A0000000050F -:10196000021681A400000005021688142008100148 -:10197000021681A800000008021681AC00000006D3 -:10198000021681B000000007021681B400000001B9 -:101990000216881801010120021681B8000000011A -:1019A000021681BC00000001021681C00000000187 -:1019B000021681C4000000010216881C0101010109 -:1019C000021681C800000001021681CC000000014F -:1019D000021681D000000001021681D4000000012F -:1019E0000216882001010101021681D800000001C1 -:1019F000021681DC00000001021681E000000001F7 -:101A0000021681E400000001021688240101010190 -:101A1000021681E800000001021681EC00000001BE -:101A2000021681F000000001021688280101010160 -:101A300002168240FFFF003F0616824400000002AB -:101A40000216824CFFFF003F021682500000010088 -:101A5000021682540000010006168258000000029F -:101A600002168260000000C002168264000000C0FE -:101A70000216826800001E000216826C00001E0022 -:101A800002168270000040000216827400004000BE -:101A900002168278000080000216827C000080001E -:101AA00002168280000020000216828400002000BE -:101AB0000616828800000007021682A400000001BA -:101AC000061682A80000000A021681F400000C0825 -:101AD000021681F800000040021681FC000001009F -:101AE0000216820000000020021682040000001787 -:101AF00002168208000000800216820C000002001C -:101B0000021682100000000002168218FFFF01FF7B -:101B100002168214FFFF01FF0216823C0000001330 -:101B2000021680900000013F021680600000014014 -:101B30000216806400000140061680680000000262 -:101B400002168070000000C00616807400000007B6 -:101B50000216809C00000048021680A00000004889 -:101B6000061680A400000002021680AC00000048A7 -:101B7000061680B0000000070216823800008000C0 -:101B800002168234000025E40216809400007FFFD4 -:101B900002168220000000070216821C00000007C7 -:101BA000021682280000000002168224FFFFFFFFB9 -:101BB00002168230000000000216822CFFFFFFFF99 -:101BC000021680EC000000FF02140000000000017B -:101BD0000214000C0000000102140040000000018B -:101BE0000214004400007FFF0214000C00000000FB -:101BF00002140000000000000214006C000000004D -:101C00000214000400000001021400300000000172 -:101C100002140004000000000214005C0000000038 -:101C2000021400080000000102140034000000014A -:101C30000214000800000000021400600000000010 -:101C40000202005800000032020200A0031500202A -:101C5000020200A403150020020200A801000030C7 -:101C6000020200AC08100000020200B000000033C5 -:101C7000020200B400000030020200B8000000318F -:101C8000020200BC00000003020200C000000006C7 -:101C9000020200C400000003020200C800000003AA -:101CA000020200CC00000002020200D0000000008E -:101CB000020200D400000002020200DC000000006A -:101CC000020200E000000006020200E4000000043E -:101CD000020200E800000002020200EC0000000224 -:101CE000020200F000000001020200FC00000006F9 -:101CF0000202012000000000020201340000000284 -:101D0000020201B0000000010202020C000000010A -:101D10000202021400000001020202180000000288 -:101D200002020404000000010202040C0000004052 -:101D300002020410000000400202041C0000000423 -:101D4000020204200000002002020424000000021D -:101D5000020204280000001F060205000000001215 -:101D600004020480001F02D5020200600000000F80 -:101D70000202006400000007020200680000000B7D -:101D80000202006C0000000E060200700000000459 -:101D9000020200F40000000402020004000000013E -:101DA00002020008000000010202000C0000000115 -:101DB00002020010000000010202001400000001F5 -:101DC00002020018000000010202001C00000001D5 -:101DD00002020020000000010202002400000001B5 -:101DE00002020028000000010202002C0000000195 -:101DF0000202003000000001020200340000000175 -:101E000002020038000000010202003C0000000154 -:101E10000202004000000001020200440000000134 -:101E200002020048000000010202004C0000000114 -:101E3000020200500000000102020108000000C878 -:101E40000202011800000002020201C400000000AA -:101E5000020201CC00000000020201D400000002D6 -:101E6000020201DC00000002020201E4000000FFA7 -:101E7000020201EC000000FF0202010C000000C899 -:101E80000202011C00000002020201C80000000062 -:101E9000020201D000000000020201D8000000028E -:101EA000020201E000000002020201E8000000FF5F -:101EB000020201F0000000FF0728040000B5000046 -:101EC00008280768001302F4072C000035D300002F -:101ED000072C80003A3E0D75072D00003B541C0571 -:101EE000072D800022BC2ADB082DC770471202F69E -:101EF000012800000000000001280004000000008C -:101F000001280008000000000128000C000000006B -:101F1000012800100000000001280014000000004B -:101F20000228002000000001022800240000000216 -:101F300002280028000000030228002C00000000F6 -:101F400002280030000000040228003400000001D4 -:101F500002280038000000000228003C00000001B8 -:101F60000228004000000004022800440000000095 -:101F700002280048000000010228004C0000000375 -:101F80000228005000000000022800540000000158 -:101F900002280058000000040228005C0000000035 -:101FA0000228006000000001022800640000000315 -:101FB00002280068000000000228006C00000001F8 -:101FC00002280070000000040228007400000000D5 -:101FD00002280078000000040228007C00000003B2 -:101FE0000628008000000002022800A400003FFF35 -:101FF000022800A8000003FF0228022400000000BD -:1020000002280234000000000228024C00000000F8 -:10201000022802E40000FFFF06282000000008005C -:10202000022B8BC000000001022B8000000000008A -:10203000022B804000000018022B80800000000C62 -:10204000022B80C0000000660C2B83000007A1203B -:102050000A2B8300000001380B2B8300000013883B -:10206000022B83C0000001F40C2B8340000001F41C -:102070000A2B8340000000000B2B8340000000056A -:102080000A2B83800004C4B40C2B83801DCD650013 -:102090000B2B8380004C4B40062A3C400000000480 -:1020A000042A3C50000202F8062A300000000048D2 -:1020B000062A1020000000C8062A100000000002B6 -:1020C000062A31280000008E022A33680000000032 -:1020D000042A3370000202FA042A3A70000402FC57 -:1020E000042A3D0000020300042A15000002030236 -:1020F000062A150800000100022A197000000000DD -:10210000022A197800000000042A19600002030462 -:10211000062A4AC000000002062A4B000000000404 -:10212000042A1F4800020306022B080000000000DA -:10213000042B0C0000100308022B08000100000013 -:10214000042B0C4000080318022B080002000000BA -:10215000042B0C6000080320062A3A8000000014BB -:10216000062A3B2000000024062A14000000000A72 -:10217000062A145000000006062A3378000000D812 -:10218000022A3A3800000000042A3C5800020328C2 -:10219000042A3C680010032A062A5020000000028E -:1021A000062A503000000002062A500000000002FB -:1021B000062A501000000002022A504000000000D1 -:1021C000062A50480000000E022A50B80000000104 -:1021D000042A4AC80002033A062A4B1000000042B3 -:1021E000062A4D2000000004062A3AD00000001400 -:1021F000062A3BB000000024062A14280000000A2A -:10220000062A146800000006062A36D8000000D806 -:10221000022A3A3C00000000042A3C600002033C11 -:10222000042A3CA80010033E062A502800000002A1 -:10223000062A503800000002062A5008000000025A -:10224000062A501800000002022A50440000000034 -:10225000062A50800000000E022A50BC0000000137 -:10226000042A4AD00002034E062A4C1800000042FD -:10227000062A4D3000000004021010080000000182 -:102280000210101000000264021010000003D000C1 -:10229000021010040000003D091018000200035055 -:1022A00009101100002005500610118000000002E6 -:1022B0000910118800060570061011A00000001812 -:1022C000021010100000000006102400000000E0C2 -:1022D0000210201C0000000002102020000000015D -:1022E000021020C0000000010210200400000001C4 -:1022F000021020080000000109103C0000050576CE -:1023000009103C200005057B0910380000050580F8 -:1023100002104028000000100210404400003FFF5F -:102320000210405800280000021040840084924AA5 -:1023300002104058000000000610806800000004F1 -:1023400002108000000010800610802800000002AB -:102350000210803800000010021080400000FFFFD3 -:10236000021080440000FFFF0210805000000000B7 -:102370000210810000000000061081200000000211 -:1023800002108008000002B502108010000000005A -:10239000061082000000004A021081080001FFFFC1 -:1023A00006108140000000020210800000001A8028 -:1023B0000610900000000024061091200000004A42 -:1023C000061093700000004A061095C00000004AF5 -:1023D000021080040000108006108030000000020F -:1023E0000210803C00000010021080480000FFFF37 -:1023F0000210804C0000FFFF02108054000000001B -:102400000210810400000000061081280000000274 -:102410000210800C000002B50210801400000000C1 -:10242000061084000000004A0210810C0001FFFF2A -:1024300006108148000000020210800400001A808B -:102440000610909000000024061092480000004AF8 -:10245000061094980000004A061096E80000004A12 -:102460000212049000E383400212051400003C10A5 -:10247000021205200000000202120494FFFFFFFF79 -:1024800002120498FFFFFFFF0212049CFFFFFFFFF0 -:10249000021204A0FFFFFFFF021204A4FFFFFFFFD0 -:1024A000021204A8FFFFFFFF021204ACFFFFFFFFB0 -:1024B000021204B0FFFFFFFF021204B8FFFFFFFF8C -:1024C000021204BCFFFFFFFF021204C0FFFFFFFF68 -:1024D000021204C4FFFFFFFF021204C8FFFFFFFF48 -:1024E000021204CCFFFFFFFF021204D0FFFFFFFF28 -:1024F000021204DCFFFFFFFF021204E0FFFFFFFFF8 -:10250000021204E4FFFFFFFF021204E8FFFFFFFFD7 -:10251000021204ECFFFFFFFF021204F0FFFFFFFFB7 -:10252000021204F4FFFFFFFF021204F8FFFFFFFF97 -:10253000021204FCFFFFFFFF02120500FFFFFFFF76 -:1025400002120504FFFFFFFF02120508FFFFFFFF55 -:102550000212050CFFFFFFFF02120510FFFFFFFF35 -:10256000021204D4FFFF3330021204D8FFFF3340BD -:10257000021204B4F00030000212039000000008C0 -:102580000212039C00000008061203A000000002D3 -:10259000021203BC00000004021203C40000000485 -:1025A000021203D000000000021203DC0000000051 -:1025B0000212036C00000001021203680000003FD9 -:1025C000021201BC00000040021201C00000180805 -:1025D000021201C400000803021201C8000008032F -:1025E000021201CC00000040021201D000000003E2 -:1025F000021201D400000803021201D800000803EF -:10260000021201DC00000803021201E000010003D5 -:10261000021201E400000803021201E800000803AE -:10262000021201EC00000003021201F0000000039E -:10263000021201F400000003021201F8000000037E -:10264000021201FC0000000302120200000000035D -:10265000021202040000000302120208000000033C -:102660000212020C0000000302120210000000031C -:1026700002120214000000030212021800000003FC -:102680000212021C000000030212022000000003DC -:102690000212022400000003021202280000240398 -:1026A0000212022C0000002F02120230000000096A -:1026B00002120234000000190212023800000184E4 -:1026C0000212023C000001830212024000000306D5 -:1026D0000212024400000019021202480000000623 -:1026E0000212024C00000306021202500000030610 -:1026F00002120254000003060212025800000C8667 -:102700000212025C000003060212026000000306CF -:1027100002120264000000060212026800000006B5 -:102720000212026C00000006021202700000000695 -:102730000212027400000006021202780000000675 -:102740000212027C00000006021202800000000655 -:102750000212028400000006021202880000000635 -:102760000212028C00000006021202900000000615 -:1027700002120294000000060212029800000006F5 -:102780000212029C00000006021202A000000306D2 -:10279000021202A400000013021202A800000006A8 -:1027A000021202B000001004021202B40000100471 -:1027B0000212032400106440021203280010644037 -:1027C000021201B0000000010600A0000000001687 -:1027D0000200A06CBF5C00000200A070FFF51FEFBC -:1027E0000200A0740000FFFF0200A078500003E088 -:1027F0000200A07C000000000200A0800000A000F9 -:102800000600A084000000050200A0980FE0000070 -:102810000600A09C000000140200A0EC555400002B -:102820000200A0F0555555550200A0F40000555582 -:102830000200A0F8000000000200A0FC55540000B7 -:102840000200A100555555550200A1040000555540 -:102850000200A108000000000200A22C00000000FD -:102860000600A230000000030200A0600000000784 -:102870000200A10CBF5C00000200A110FFF51FEFD9 -:102880000200A1140000FFFF0200A118500003E0A5 -:102890000200A11C000000000200A1200000A00016 -:1028A0000600A124000000050200A1380FE000008E -:1028B0000600A13C000000140200A18C5554000049 -:1028C0000200A190555555550200A19400005555A0 -:1028D0000200A198000000000200A19C55540000D5 -:1028E0000200A1A0555555550200A1A40000555560 -:1028F0000200A1A8000000000200A23C00000000AD -:102900000600A240000000030200A06400000007CF -:1029100000000000000000000000002E0000000089 -:1029200000000000000000000000000000000000A7 -:102930000000000000000000000000000000000097 -:102940000000000000000000000000000000000087 -:102950000000000000000000000000000000000077 -:102960000000000000000000000000000000000067 -:10297000002E0050000000000000000000000000D9 -:102980000000000000000000000000000000000047 -:102990000000000000000000000000000050008D5A -:1029A0000000000000000000000000000000000027 -:1029B0000000000000000000000000000000000017 -:1029C0000000000000000000008D009200920096C0 -:1029D0000096009A000000000000000000000000C7 -:1029E00000000000000000000000000000000000E7 -:1029F00000000000009A00DB00DB00E900E900F7BE -:102A000000000000000000000000000000000000C6 -:102A100000000000000000000000000000000000B6 -:102A200000000000000000000000000000000000A6 -:102A30000000000000000000000000000000000096 -:102A40000000000000000000000000000000000086 -:102A50000000000000000000000000000000000076 -:102A60000000000000000000000000000000000066 -:102A70000000000000000000000000000000000056 -:102A80000000000000000000000000000000000046 -:102A90000000000000000000000000000000000036 -:102AA0000000000000000000000000000000000026 -:102AB0000000000000000000000000000000000016 -:102AC0000000000000000000000000000000000006 -:102AD00000F700FE00000000000000000000000001 -:102AE00000000000000000000000000000000000E6 -:102AF00000000000000000000000000000000000D6 -:102B000000000000000000000000000000000000C5 -:102B100000000000000000000000000000000000B5 -:102B2000000000000000000000FE01030103010E90 -:102B3000010E01190000000000000000000000006C -:102B40000000000000000000000000000000000085 -:102B50000000000000000000000000000000000075 -:102B60000000000000000000000000000000000065 -:102B70000000000000000000000000000000000055 -:102B80000119011A00000000000000000000000010 -:102B90000000000000000000000000000000000035 -:102BA000000000000000000000000000011A0152B7 -:102BB0000000000000000000000000000000000015 -:102BC0000000000000000000000000000000000005 -:102BD000000000000000000001520176000000002B -:102BE00000000000000000000000000000000000E5 -:102BF00000000000000000000000000000000000D5 -:102C000000000000017601B5000000000000000097 -:102C100000000000000000000000000000000000B4 -:102C200000000000000000000000000000000000A4 -:102C300001B501F0000000000000000000000000ED -:102C40000000000000000000000000000000000084 -:102C500000000000000000000000000001F002354C -:102C6000023502380238023B00000000000000007C -:102C70000000000000000000000000000000000054 -:102C80000000000000000000023B02760276028095 -:102C90000280028A00000000000000000000000026 -:102CA0000000000000000000000000000000000024 -:102CB00000000000028A028B0000000000000000FB -:102CC0000000000000000000000000000000000004 -:102CD00000000000000000000000000000000000F4 -:102CE000028B029D000000000000000000000000B8 -:102CF00000000000000000000000000000000000D4 -:102D0000000000000000000000000000029D02B270 -:102D100002B202B502B502B80000000000000000D7 -:102D200000000000000000000000000000000000A3 -:102D3000000000000000000002B802E600000000F1 -:102D40000000000000000000000000000000000083 -:102D50000000000000000000000000000000000073 -:102D60000000000002E6036D00000000000000000B -:102D70000000000000000000000000000000000053 -:102D80000000000000000000000000000000000043 -:102D9000036D0374037403780378037C0000000060 -:102DA0000000000000000000000000000000000023 -:102DB000000000000000000000000000037C03BBD6 -:102DC00003BB03C303C303CB0000000000000000EB -:102DD00000000000000000000000000000000000F3 -:102DE000000000000000000003CB041F041F04319A -:102DF0000431044300000000000000000000000057 -:102E000000000000000000000000000000000000C2 -:102E1000000000000443044D00000000000000001A -:102E200000000000000000000000000000000000A2 -:102E30000000000000000000000000000000000092 -:102E4000044D0453000000000000000000000000DA -:102E50000000000000000000000000000000000072 -:102E600000000000000000000000000004530456B1 -:102E70000000000000000000000000000000000052 -:102E80000000000000000000000000000000000042 -:102E900000000000000000000456045B0000000079 -:102EA0000000000000000000000000000000000022 -:102EB0000000000000000000000000000000000012 -:102EC00000000000045B045C045C046E046E04807B -:102ED00000000000000000000000000000000000F2 -:102EE00000000000000000000000000000000000E2 -:102EF000048004ED0000000000000000000000005D -:102F000000000000000000000000000000000000C1 -:102F100000000000000000000000000004ED04EECE -:102F200004EE050205020516000000000000000086 -:102F30000000000000000000000000000000000091 -:102F40000000000000000000000000000000000081 -:102F50000000000000000000000000000000000071 -:102F60000000000000000000000000000000000061 -:102F70000000000000000000000000000000000051 -:102F80000000000000000000000000000000000041 -:102F90000000000000000000000000000000000031 -:102FA000000000000000000000010000000204C05A -:102FB0000003098000040E4000051300000617C03E -:102FC00000071C800008214000092600000A2AC0D2 -:102FD000000B2F80000C3440000D3900000E3DC066 -:102FE000000F42800010474000114C00001250C0FA -:102FF0000013558000145A4000155F00001663C08E -:103000000017688000186D4000197200001A76C021 -:10301000001B7B80001C8040001D8500001E89C0B5 -:10302000001F8E8000209340000020000000400020 -:1030300000006000000080000000A0000000C00050 -:103040000000E0000001000000012000000140003D -:1030500000016000000180000001A0000001C0002C -:103060000001E00000020000000220000002400019 -:1030700000026000000280000002A0000002C00008 -:103080000002E000000300000003200000034000F5 -:1030900000036000000380000003A0000003C000E4 -:1030A0000003E000000400000004200000044000D1 -:1030B00000046000000480000004A0000004C000C0 -:1030C0000004E000000500000005200000054000AD -:1030D00000056000000580000005A0000005C0009C -:1030E0000005E00000060000000620000006400089 -:1030F00000066000000680000006A0000006C00078 -:103100000006E00000070000000720000007400064 -:1031100000076000000780000007A0000007C00053 -:103120000007E00000080000000820000008400040 -:1031300000086000000880000008A0000008C0002F -:103140000008E0000009000000092000000940001C -:1031500000096000000980000009A0000009C0000B -:103160000009E000000A0000000A2000000A4000F8 -:10317000000A6000000A8000000AA000000AC000E7 -:10318000000AE000000B0000000B2000000B4000D4 -:10319000000B6000000B8000000BA000000BC000C3 -:1031A000000BE000000C0000000C2000000C4000B0 -:1031B000000C6000000C8000000CA000000CC0009F -:1031C000000CE000000D0000000D2000000D40008C -:1031D000000D6000000D8000000DA000000DC0007B -:1031E000000DE000000E0000000E2000000E400068 -:1031F000000E6000000E8000000EA000000EC00057 -:10320000000EE000000F0000000F2000000F400043 -:10321000000F6000000F8000000FA000000FC00032 -:10322000000FE0000010000000102000001040001F -:1032300000106000001080000010A0000010C0000E -:103240000010E000001100000011200000114000FB -:1032500000116000001180000011A0000011C000EA -:103260000011E000001200000012200000124000D7 -:1032700000126000001280000012A0000012C000C6 -:103280000012E000001300000013200000134000B3 -:1032900000136000001380000013A0000013C000A2 -:1032A0000013E0000014000000142000001440008F -:1032B00000146000001480000014A0000014C0007E -:1032C0000014E0000015000000152000001540006B -:1032D00000156000001580000015A0000015C0005A -:1032E0000015E00000160000001620000016400047 -:1032F00000166000001680000016A0000016C00036 -:103300000016E00000170000001720000017400022 -:1033100000176000001780000017A0000017C00011 -:103320000017E000001800000018200000184000FE -:1033300000186000001880000018A0000018C000ED -:103340000018E000001900000019200000194000DA -:1033500000196000001980000019A0000019C000C9 -:103360000019E000001A0000001A2000001A4000B6 -:10337000001A6000001A8000001AA000001AC000A5 -:10338000001AE000001B0000001B2000001B400092 -:10339000001B6000001B8000001BA000001BC00081 -:1033A000001BE000001C0000001C2000001C40006E -:1033B000001C6000001C8000001CA000001CC0005D -:1033C000001CE000001D0000001D2000001D40004A -:1033D000001D6000001D8000001DA000001DC00039 -:1033E000001DE000001E0000001E2000001E400026 -:1033F000001E6000001E8000001EA000001EC00015 -:10340000001EE000001F0000001F2000001F400001 -:10341000001F6000001F8000001FA000001FC000F0 -:10342000001FE000002000000020200000204000DD -:1034300000206000002080000020A0000020C000CC -:103440000020E000002100000021200000214000B9 -:1034500000216000002180000021A0000021C000A8 -:103460000021E00000220000002220000022400095 -:1034700000226000002280000022A0000022C00084 -:103480000022E00000230000002320000023400071 -:1034900000236000002380000023A0000023C00060 -:1034A0000023E0000024000000242000002440004D -:1034B00000246000002480000024A0000024C0003C -:1034C0000024E00000250000002520000025400029 -:1034D00000256000002580000025A0000025C00018 -:1034E0000025E00000260000002620000026400005 -:1034F00000266000002680000026A0000026C000F4 -:103500000026E000002700000027200000274000E0 -:1035100000276000002780000027A0000027C000CF -:103520000027E000002800000028200000284000BC -:1035300000286000002880000028A0000028C000AB -:103540000028E00000290000002920000029400098 -:1035500000296000002980000029A0000029C00087 -:103560000029E000002A0000002A2000002A400074 -:10357000002A6000002A8000002AA000002AC00063 -:10358000002AE000002B0000002B2000002B400050 -:10359000002B6000002B8000002BA000002BC0003F -:1035A000002BE000002C0000002C2000002C40002C -:1035B000002C6000002C8000002CA000002CC0001B -:1035C000002CE000002D0000002D2000002D400008 -:1035D000002D6000002D8000002DA000002DC000F7 -:1035E000002DE000002E0000002E2000002E4000E4 -:1035F000002E6000002E8000002EA000002EC000D3 -:10360000002EE000002F0000002F2000002F4000BF -:10361000002F6000002F8000002FA000002FC000AE -:10362000002FE0000030000000302000003040009B -:1036300000306000003080000030A0000030C0008A -:103640000030E00000310000003120000031400077 -:1036500000316000003180000031A0000031C00066 -:103660000031E00000320000003220000032400053 -:1036700000326000003280000032A0000032C00042 -:103680000032E0000033000000332000003340002F -:1036900000336000003380000033A0000033C0001E -:1036A0000033E0000034000000342000003440000B -:1036B00000346000003480000034A0000034C000FA -:1036C0000034E000003500000035200000354000E7 -:1036D00000356000003580000035A0000035C000D6 -:1036E0000035E000003600000036200000364000C3 -:1036F00000366000003680000036A0000036C000B2 -:103700000036E0000037000000372000003740009E -:1037100000376000003780000037A0000037C0008D -:103720000037E0000038000000382000003840007A -:1037300000386000003880000038A0000038C00069 -:103740000038E00000390000003920000039400056 -:1037500000396000003980000039A0000039C00045 -:103760000039E000003A0000003A2000003A400032 -:10377000003A6000003A8000003AA000003AC00021 -:10378000003AE000003B0000003B2000003B40000E -:10379000003B6000003B8000003BA000003BC000FD -:1037A000003BE000003C0000003C2000003C4000EA -:1037B000003C6000003C8000003CA000003CC000D9 -:1037C000003CE000003D0000003D2000003D4000C6 -:1037D000003D6000003D8000003DA000003DC000B5 -:1037E000003DE000003E0000003E2000003E4000A2 -:1037F000003E6000003E8000003EA000003EC00091 -:10380000003EE000003F0000003F2000003F40007D -:10381000003F6000003F8000003FA000003FC0006C -:10382000003FE000003FE00100000000000001FF59 -:103830000000020000007FF800007FF80000026F27 -:1038400000001500000000010000000300BEBC20C5 -:103850000000000300BEBC2000000001FFFFFFFFCE -:10386000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 -:10387000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 -:1038800000000000FFFFFFFF00000000FFFFFFFF40 -:103890000000000300BEBC20FFFFFFFF000000008F -:1038A000FFFFFFFF00000000FFFFFFFF000000031D -:1038B00000BEBC2000002000000040C0000061806D -:1038C000000082400000A3000000C3C00000E480AC -:1038D0000001054000012600000146C0000167808C -:1038E000000188400001A9000001C9C00001EA8070 -:1038F00000020B4000022C0000024CC000026D8050 -:1039000000028E400002AF000002CFC00002F08033 -:103910000003114000033200000352C00003738013 -:10392000000394400003B5000003D5C00003F680F7 -:103930000004174000043800000458C000047980D7 -:1039400000049A400000800000010380000187000D -:1039500000020A8000028E0000031180000395001F -:103960000004188000049C0000051F800005A300CF -:10397000000626800006AA0000072D800007B1007F -:10398000000834800008B80000093B800009BF002F -:10399000000A4280000AC600000B4980000BCD00DF -:1039A000000C5080000CD400000D5780000DDB008F -:1039B00000007FF800007FF800000174000015008F -:1039C0000000190000000000FFFFFFFF40000000A2 -:1039D00040000000400000004000000040000000E7 -:1039E00040000000400000004000000040000000D7 -:1039F00040000000400000004000000040000000C7 -:103A000040000000400000004000000040000000B6 -:103A100040000000400000004000000040000000A6 -:103A20004000000040000000400000004000000096 -:103A30004000000040000000400000004000000086 -:103A400040000000400000004000000000007FF83F -:103A500000007FF80000050900003500FFFFFFFFB0 -:103A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 -:103A7000FFFFFFFFFFFFFFFFFFFFFFFF4000000012 -:103A80004000000040000000400000004000000036 -:103A90004000000040000000400000004000000026 -:103AA0004000000040000000400000004000000016 -:103AB0004000000040000000400000004000000006 -:103AC00040000000400000004000000040000000F6 -:103AD00040000000400000004000000040000000E6 -:103AE00040000000400000004000000040000000D6 -:103AF00040000000400000004000000000001000F6 -:103B000000002080000031000000418000005200D1 -:103B100000006280000073000000838000009400B9 -:103B20000000A4800000B5000000C5800000D600A1 -:103B30000000E6800000F700000107800001180087 -:103B400000012880000139000001498000015A006D -:103B500000016A8000017B0000018B8000019C0055 -:103B60000001AC800001BD000001CD800001DE003D -:103B70000001EE800001FF0000007FF800007FF8E8 -:103B8000000004480000150010000000000028ADEF -:103B9000000000000001000100070205CCCCCCC1F0 -:103BA000FFFFFFFFFFFFFFFF7058103C0000000009 -:103BB0000000000000000001CCCC0201CCCCCCCC39 -:103BC00000000000FFFFFFFF400000004000000079 -:103BD00040000000400000004000000040000000E5 -:103BE00040000000400000004000000040000000D5 -:103BF00040000000400000004000000040000000C5 -:103C000040000000400000004000000040000000B4 -:103C100040000000400000004000000040000000A4 -:103C20004000000040000000400000004000000094 -:103C30004000000040000000400000004000000084 -:103C40004000000040000000000E01B7011600D641 -:103C50000000FFFF000000000000FFFF0000000068 -:103C60000000FFFF000000000000FFFF0000000058 -:103C70000000FFFF000000000000FFFF0000000048 -:103C80000000FFFF000000000000FFFF0000000038 -:103C90000010000000000000007201BB012300F3CF -:103CA0000000FFFF000000000000FFFF0000000018 -:103CB0000000FFFF000000000000FFFF0000000008 -:103CC0000000FFFF000000000000FFFF00000000F8 -:103CD0000000FFFF000000000000FFFF00000000E8 -:103CE0000010000000000000FFFFFFF3318FFFFF16 -:103CF0000C30C30CC30C30C3CF3CF300F3CF3CF308 -:103D00000000CF3CCDCDCDCDFFFFFFF130EFFFFF69 -:103D10000C30C30CC30C30C3CF3CF300F3CF3CF3E7 -:103D20000001CF3CCDCDCDCDFFFFFFF6305FFFFFD3 -:103D30000C30C30CC30C30C3CF3CF300F3CF3CF3C7 -:103D40000002CF3CCDCDCDCDFFFFF4061CBFFFFF61 -:103D50000C30C305C30C30C3CF300014F3CF3CF399 -:103D60000004CF3CCDCDCDCDFFFFFFF2304FFFFFA4 -:103D70000C30C30CC30C30C3CF3CF300F3CF3CF387 -:103D80000008CF3CCDCDCDCDFFFFFFFA302FFFFF98 -:103D90000C30C30CC30C30C3CF3CF300F3CF3CF367 -:103DA0000010CF3CCDCDCDCDFFFFFFF731EFFFFFB2 -:103DB0000C30C30CC30C30C3CF3CF300F3CF3CF347 -:103DC0000020CF3CCDCDCDCDFFFFFFF5302FFFFF45 -:103DD0000C30C30CC30C30C3CF3CF300F3CF3CF327 -:103DE0000040CF3CCDCDCDCDFFFFFFF3318FFFFFA6 -:103DF0000C30C30CC30C30C3CF3CF300F3CF3CF307 -:103E00000000CF3CCDCDCDCDFFFFFFF1310FFFFF47 -:103E10000C30C30CC30C30C3CF3CF300F3CF3CF3E6 -:103E20000001CF3CCDCDCDCDFFFFFFF6305FFFFFD2 -:103E30000C30C30CC30C30C3CF3CF300F3CF3CF3C6 -:103E40000002CF3CCDCDCDCDFFFFF4061CBFFFFF60 -:103E50000C30C305C30C30C3CF300014F3CF3CF398 -:103E60000004CF3CCDCDCDCDFFFFFFF2304FFFFFA3 -:103E70000C30C30CC30C30C3CF3CF300F3CF3CF386 -:103E80000008CF3CCDCDCDCDFFFFFFFA302FFFFF97 -:103E90000C30C30CC30C30C3CF3CF300F3CF3CF366 -:103EA0000010CF3CCDCDCDCDFFFFFFF730EFFFFFB2 -:103EB0000C30C30CC30C30C3CF3CF300F3CF3CF346 -:103EC0000020CF3CCDCDCDCDFFFFFFF5304FFFFF24 -:103ED0000C30C30CC30C30C3CF3CF300F3CF3CF326 -:103EE0000040CF3CCDCDCDCDFFFFFFF331EFFFFF45 -:103EF0000C30C30CC30C30C3CF3CF300F3CF3CF306 -:103F00000000CF3CCDCDCDCDFFFFFFF1310FFFFF46 -:103F10000C30C30CC30C30C3CF3CF300F3CF3CF3E5 -:103F20000001CF3CCDCDCDCDFFFFFFF6305FFFFFD1 -:103F30000C30C30CC30C30C3CF3CF300F3CF3CF3C5 -:103F40000002CF3CCDCDCDCDFFFFF4061CBFFFFF5F -:103F50000C30C305C30C30C3CF300014F3CF3CF397 -:103F60000004CF3CCDCDCDCDFFFFFFF2304FFFFFA2 -:103F70000C30C30CC30C30C3CF3CF300F3CF3CF385 -:103F80000008CF3CCDCDCDCDFFFFFFFA302FFFFF96 -:103F90000C30C30CC30C30C3CF3CF300F3CF3CF365 -:103FA0000010CF3CCDCDCDCDFFFFFF97056FFFFFBC -:103FB0000C30C30CC30C30C3CF3CC000F3CF3CF378 -:103FC0000020CF3CCDCDCDCDFFFFFFF5310FFFFF62 -:103FD0000C30C30CC30C30C3CF3CF300F3CF3CF325 -:103FE0000040CF3CCDCDCDCDFFFFFFF3320FFFFF23 -:103FF0000C30C30CC30C30C3CF3CF300F3CF3CF305 -:104000000000CF3CCDCDCDCDFFFFFFF1310FFFFF45 -:104010000C30C30CC30C30C3CF3CF300F3CF3CF3E4 -:104020000001CF3CCDCDCDCDFFFFFFF6305FFFFFD0 -:104030000C30C30CC30C30C3CF3CF300F3CF3CF3C4 -:104040000002CF3CCDCDCDCDFFFFF4061CBFFFFF5E -:104050000C30C305C30C30C3CF300014F3CF3CF396 -:104060000004CF3CCDCDCDCDFFFFFFF2304FFFFFA1 -:104070000C30C30CC30C30C3CF3CF300F3CF3CF384 -:104080000008CF3CCDCDCDCDFFFFFF8A042FFFFF31 -:104090000C30C30CC30C30C3CF3CC000F3CF3CF397 -:1040A0000010CF3CCDCDCDCDFFFFFF9705CFFFFF5B -:1040B0000C30C30CC30C30C3CF3CC000F3CF3CF377 -:1040C0000020CF3CCDCDCDCDFFFFFFF5310FFFFF61 -:1040D0000C30C30CC30C30C3CF3CF300F3CF3CF324 -:1040E0000040CF3CCDCDCDCDFFFFFFF3300FFFFF24 -:1040F0000C30C30CC30C30C3CF3CF300F3CF3CF304 -:104100000000CF3CCDCDCDCDFFFFFFF1300FFFFF45 -:104110000C30C30CC30C30C3CF3CF300F3CF3CF3E3 -:104120000001CF3CCDCDCDCDFFFFFFF6305FFFFFCF -:104130000C30C30CC30C30C3CF3CF300F3CF3CF3C3 -:104140000002CF3CCDCDCDCDFFFFF4061CBFFFFF5D -:104150000C30C305C30C30C3CF300014F3CF3CF395 -:104160000004CF3CCDCDCDCDFFFFFFF2304FFFFFA0 -:104170000C30C30CC30C30C3CF3CF300F3CF3CF383 -:104180000008CF3CCDCDCDCDFFFFFFFA302FFFFF94 -:104190000C30C30CC30C30C3CF3CF300F3CF3CF363 -:1041A0000010CF3CCDCDCDCDFFFFFF97040FFFFF1B -:1041B0000C30C30CC30C30C3CF3CC000F3CF3CF376 -:1041C0000020CF3CCDCDCDCDFFFFFFF5300FFFFF61 -:1041D0000C30C30CC30C30C3CF3CF300F3CF3CF323 -:1041E0000040CF3CCDCDCDCDFFFFFFFF30CFFFFF57 -:1041F0000C30C30CC30C30C3CF3CF3CCF3CF3CF337 -:104200000000CF3CCDCDCDCDFFFFFFFF30CFFFFF76 -:104210000C30C30CC30C30C3CF3CF3CCF3CF3CF316 -:104220000001CF3CCDCDCDCDFFFFFFFF30CFFFFF55 -:104230000C30C30CC30C30C3CF3CF3CCF3CF3CF3F6 -:104240000002CF3CCDCDCDCDFFFFFFFF30CFFFFF34 -:104250000C30C30CC30C30C3CF3CF3CCF3CF3CF3D6 -:104260000004CF3CCDCDCDCDFFFFFFFF30CFFFFF12 -:104270000C30C30CC30C30C3CF3CF3CCF3CF3CF3B6 -:104280000008CF3CCDCDCDCDFFFFFFFF30CFFFFFEE -:104290000C30C30CC30C30C3CF3CF3CCF3CF3CF396 -:1042A0000010CF3CCDCDCDCDFFFFFFFF30CFFFFFC6 -:1042B0000C30C30CC30C30C3CF3CF3CCF3CF3CF376 -:1042C0000020CF3CCDCDCDCDFFFFFFFF30CFFFFF96 -:1042D0000C30C30CC30C30C3CF3CF3CCF3CF3CF356 -:1042E0000040CF3CCDCDCDCDFFFFFFFF30CFFFFF56 -:1042F0000C30C30CC30C30C3CF3CF3CCF3CF3CF336 -:104300000000CF3CCDCDCDCDFFFFFFFF30CFFFFF75 -:104310000C30C30CC30C30C3CF3CF3CCF3CF3CF315 -:104320000001CF3CCDCDCDCDFFFFFFFF30CFFFFF54 -:104330000C30C30CC30C30C3CF3CF3CCF3CF3CF3F5 -:104340000002CF3CCDCDCDCDFFFFFFFF30CFFFFF33 -:104350000C30C30CC30C30C3CF3CF3CCF3CF3CF3D5 -:104360000004CF3CCDCDCDCDFFFFFFFF30CFFFFF11 -:104370000C30C30CC30C30C3CF3CF3CCF3CF3CF3B5 -:104380000008CF3CCDCDCDCDFFFFFFFF30CFFFFFED -:104390000C30C30CC30C30C3CF3CF3CCF3CF3CF395 -:1043A0000010CF3CCDCDCDCDFFFFFFFF30CFFFFFC5 -:1043B0000C30C30CC30C30C3CF3CF3CCF3CF3CF375 -:1043C0000020CF3CCDCDCDCDFFFFFFFF30CFFFFF95 -:1043D0000C30C30CC30C30C3CF3CF3CCF3CF3CF355 -:1043E0000040CF3CCDCDCDCDFFFFFFFF30CFFFFF55 -:1043F0000C30C30CC30C30C3CF3CF3CCF3CF3CF335 -:104400000000CF3CCDCDCDCDFFFFFFFF30CFFFFF74 -:104410000C30C30CC30C30C3CF3CF3CCF3CF3CF314 -:104420000001CF3CCDCDCDCDFFFFFFFF30CFFFFF53 -:104430000C30C30CC30C30C3CF3CF3CCF3CF3CF3F4 -:104440000002CF3CCDCDCDCDFFFFFFFF30CFFFFF32 -:104450000C30C30CC30C30C3CF3CF3CCF3CF3CF3D4 -:104460000004CF3CCDCDCDCDFFFFFFFF30CFFFFF10 -:104470000C30C30CC30C30C3CF3CF3CCF3CF3CF3B4 -:104480000008CF3CCDCDCDCDFFFFFFFF30CFFFFFEC -:104490000C30C30CC30C30C3CF3CF3CCF3CF3CF394 -:1044A0000010CF3CCDCDCDCDFFFFFFFF30CFFFFFC4 -:1044B0000C30C30CC30C30C3CF3CF3CCF3CF3CF374 -:1044C0000020CF3CCDCDCDCDFFFFFFFF30CFFFFF94 -:1044D0000C30C30CC30C30C3CF3CF3CCF3CF3CF354 -:1044E0000040CF3CCDCDCDCD000C0000000700C07A -:1044F00000028130000B81580002021000010230DE -:10450000000F024000010330000C0000000800C052 -:1045100000028140000B816800020220000102407D -:1045200000070250000202C0000F0000000800F067 -:1045300000028170000B819800020250000102709D -:10454000000B828000080338001000000008010002 -:1045500000028180000B81A80002026000018280BD -:10456000000E82980008038000028000000B802863 -:10457000000200E0000101000000811000000118AD -:10458000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC6B -:1045900000002000CCCCCCCCCCCCCCCCCCCCCCCC6B -:1045A000CCCCCCCC00002000CCCCCCCCCCCCCCCC5B -:1045B000CCCCCCCCCCCCCCCC00002000000000007B -:1045C0001F8B080000000000000BFB51CFC0F00360 -:1045D0008A7BD81818F67020F843015F646260B8CF -:1045E0000CC45781588099812198918121849178B8 -:1045F000FD19A208F63B210606296106860841A09E -:1046000079C208F1D3403576220C0C8C22107E2B17 -:1046100090E612A58EFB071AEF94C214DB26816088 -:10462000EFC2228F8C77A3C98B4AA2F2F710D03F3A -:10463000D0F895222A5F5601429741C55FA3C9CBA6 -:1046400041E56F41FDF54611BBB9B7A1F2009CB43D -:10465000B6A260030000000000000000000000009F -:104660001F8B080000000000000BED7D0B7854D577 -:10467000B5F03E73CE9C9949662627214F1E6112E4 -:1046800020028638BC0228F73A212140A575A055A2 -:10469000D1A21D3040C85B8A5E5ADB2F130831025D -:1046A000DAE08F8A16EDF0AAA8A80123450B7478EA -:1046B0008A5E6F6FB06A69B5DE888A8A3C22AD4A2D -:1046C000EF6D7FFFB5D6DE3B73CE6402D8AFF7FE49 -:1046D000F7BFDF1F3FBFC33E7B9FBDD75EAFBDD6D9 -:1046E000DA6BEFB1DB1C4CBF96B1AFF00F9EF53625 -:1046F000C65846ECF9A89D7D2FE866AC60BD6F8575 -:104700003B1DDEEFCEDB91EC632C67CF5A650ABC14 -:10471000CFD9D0A6CC2F8C7D1F7041E57878BF7B98 -:10472000AD5202EF735E6B53E6E1D361639DD09EA1 -:1047300069BE14864F16602C93B1211399F80BB8FB -:10474000738A191B88FF842ECE1BC98C8D632C6F36 -:10475000A52D1256E07DA87226F332B619E0CA499B -:1047600083EFD4BFECB763DB06ED44979331A7E644 -:10477000D4BECA672C770EB331780E5EC6DFE3DF96 -:1047800057F07F5ED85A1EC24CE53C2C7BD24FC2FC -:1047900090CCC33C5FA989E0EDD683A362F394CFAC -:1047A0000D8DBE4CB7D6FBBD7C2EB9E363FD1EF864 -:1047B000FA716C3794B1485CFBDAB0AEB1ABE0098A -:1047C00008682FECFDFD4C56528C74B88D4DA167D6 -:1047D000BDE6BB09F1527FD4CEC200777DC3C9725A -:1047E0002CB3DD0A1B96D7FBFB51CC4EF428618A13 -:1047F0007612E7EB655E9C9F5AE37BB81CF0DC9079 -:104800001C28C37E1F490ED153BECF9E3F3D3B04A3 -:10481000F0942E2A0C33A0FBF9F58ADF019F7FA4C8 -:1048200044743BD0A3FA3B0D45D3A0DD9B7AE83A14 -:10483000FC6E911A6DB1C3F8B5731B0A8002AC53BC -:10484000E7FC337877C9271AD06D3063E19434A43C -:104850000B63274C74C0BF13C34559ED1B8F977A68 -:1048600056603F1AF612A1F9CAF779E1A34386C64A -:104870008DC78A091E867032D6A524A2EBE0174B9D -:104880008E6A457D8FF79F3F8F309743C01DD2B70B -:10489000D6A34796037E4B5FB047AF057AD46E54DC -:1048A000220E28DBF6B902489FB35BA00C74897A0C -:1048B000746A7FC67052B9DED179FF3550EE7E4101 -:1048C000659BB0DBE1493694BB930276360ECA8015 -:1048D0008F852E5EACDDB8FF36ECAF72B783B99032 -:1048E0009E2F2EFAD635505E04FC864D6AB736E907 -:1048F000FDA1BC38A2B463F9DC1446FC114ED323ED -:104900005B61BC73DECECC1B405E4E353A990F40E6 -:1049100059E1E9CCFC0EF051556447397E57B55D3D -:10492000F123DA4B5FD87A2407E7F524F015F0512C -:10493000F5B664E693F883FF4FC254AE85FA25308E -:104940004F94FF45ACAD9CA938FE5ADDE789E1EBF9 -:1049500054A341E3F4C8D393300E7C57F7ACE2C7BD -:1049600029D6D95808E5EAEC8BAE399BDD38BF264D -:10497000BDC083F3BA47C7768B22F376A1CAAA8A51 -:104980006CD4CBA1BE6AC3467D6121E20DF45E21E9 -:10499000C2D5CF0AD77A3580F85D92EADCA4027ED0 -:1049A000983B903D3B01FF9C6A043556102B57A164 -:1049B0007C933E89E8B34CEDCB9554E2D7EA6D2A5F -:1049C000F359F889D33F7C8CD33FBCD713D99A17BE -:1049D000A3DF1283EB4949BF25A9829E5A77712232 -:1049E00078EE477A003C6D882F78AE11F07927B3C6 -:1049F000120DE8E20D30436197E6CF363B9BC7606E -:104A0000ECD7D982803609CA3ABB83F91933B4DAB4 -:104A1000401994FFC282AFE17C18F3FB8280E71655 -:104A200085CDC1791F4660613E2D393AE1AF6D6A8F -:104A3000F166551130A76379E1CF57E5D1F76FD013 -:104A4000F71A7C3FAAEFEF8DF28996EF8DF24AF9C3 -:104A5000FD3BD88E392FFE7D5BF9D5D6F1CBABE48B -:104A6000F71FD0F8EE8BC36F4C9B6C1D7F5A0D7DEA -:104A70005FEFE0F4EA4E75463641B9D9E50F684874 -:104A8000378D45F1BD9656B009DBA9921F58674096 -:104A900085EFDDDB53C7AC6266BE98F2271CCF03FF -:104AA000D262E68B948949167E4C0DA459CAD093E4 -:104AB00071F2CA981E0A789D048FDE5F277D51D25D -:104AC000DF49F0DEB5CF45E5BBAEE6F0DED5DF4D24 -:104AD000728630B01C28EBA1AB0CD37A04702A2C60 -:104AE0009BB1CF95904B196F7EEFB3E1FB249535C9 -:104AF000E07C921C8CF4D13D79C59BC326FCB40E9E -:104B000002FA42395DD1391E055EEF19B4307B9E41 -:104B1000699C9641FA9C4D85FCFDED6E1C2F98A971 -:104B2000A01ED4BB0B0C77EF711CF9132DE3387367 -:104B30002B699CBCB8711CB99571E338E76C12EF16 -:104B4000C538432E36CE3DF9575BE7935B45E314FA -:104B5000C5CF27B72A6E9C243E1F782FC6F123FEAF -:104B6000FA9CCF90C9D6F90CAEA171AEC171C69BAB -:104B7000E633B8266E1C378D83EF711C30A47C2C75 -:104B80000BE8EEE85E48F4FF958BEC05DD117A0248 -:104B9000FB656FBB18E9131F8C9B857A0516679020 -:104BA0005F4D49A371BE4802FABBCD74E6FA889EF8 -:104BB000A07F16081059042002FD532778B462FB29 -:104BC000ACDC267CEE2ECD9E8776C93A8F7F188886 -:104BD000CED9DDA5FAED09EC9B056DF6935D16FEC9 -:104BE000157A6F0A1BDE00E377A0B231954F82FE83 -:104BF00062A0B74E80FEC2E747C23EFD00F41BD361 -:104C0000CDF036D13C4E6A1C8F2737F075E48BB55A -:104C1000C7EC60ECE1306F1402DC378A692C680362 -:104C2000E3CF2467F5821EDD2F3A229B881E810187 -:104C300036E073B6BE1FE04AB4033BF30FC21E85D5 -:104C4000BF0136B0656F69DD71189BBDA5CC1BB483 -:104C500004E63BA763AD7D0094CFDABB6EF3BB4D9A -:104C6000FDCCB19FC0793BE13FECE7E690DD629F70 -:104C70007EB7D25ABE35CE5EAD51F2053DC4B8BE48 -:104C8000881DE975632687E7567C8EC16A83E875BF -:104C90009BC1BF95F0D4DF6D67515A8FBA3258214E -:104CA000E22383ECA2905C57E2E0BBCDEE0C0481E2 -:104CB0009EB7FD40253CC6C3DBB52F3960037BA9F9 -:104CC0006BFD1FED687F5F0AFEEF2DB3D6B3301F7B -:104CD0004FE255F2C14D734AFA7D606A77736846B8 -:104CE000BF0F4CFCF2DDCA5996F2AD0D375BDA7F8F -:104CF0006FD93C4BFDBCF0624BFDEDAD7758CA0B54 -:104D0000DA7E6069BF687D93A57E71E45E4B7DF5B8 -:104D1000B6B596726DFB2396F6F5BB375AEA6DFB76 -:104D2000465C8FF2B8E24D95A17DF6B9FBE4FD68D3 -:104D30005F7D6E687E6C5387BC0672F8716336F1D6 -:104D4000F7A9461F3DCFEE1EEB447BBC3E09E4199C -:104D5000D6FA7DCA1FC2AD93518F407BD0E1079434 -:104D6000F7C361709E5E517CC4F7EA7A9D45815518 -:104D70001596D6C3D7DD6AAC5EEB82FAB17DD7ABB0 -:104D8000EBB584F55A9796B0DF734A7701DA77E18D -:104D9000DF3918DA817DD90FF03700D78BBEEA4FA3 -:104DA000DB5865BB49EF9C546CC407372A534EA2AD -:104DB0007EAED1B9BCD7ECCC9982FE608D1E2D6839 -:104DC000705F64BC7600260BFBC9A7792D8E0C881A -:104DD000C92FD16F8845EE97B2D087A89F4FEF5764 -:104DE00049CFB2E8C1DC6F8FC2F10327F13DDB9DF3 -:104DF00041EBE35B8D817E1F803F77BC713A3D7F45 -:104E0000DF18ECF701E89A771AE750F9DDC6103D94 -:104E1000BB1A2BE979A2B181EA3F685C46E5938D24 -:104E2000617A7EDCD84ACF538D6D547FBA713D953F -:104E3000CF3646E8D9E307087B94A50BFB4FD8EBA8 -:104E4000B07250F9BC98830AFFE67EAB3F1BE5FACF -:104E5000BCFB8B02B473CF1F07C324817F289FF153 -:104E6000FCD637FD02B4DE2F8C00FDC7F6AE7725E9 -:104E700071FAB86C6C3A03FD73EF309D69307ED2E5 -:104E8000AFAE247B19DE6B8CF465C43FCB93A07F5F -:104E90009C73D6A5E9D4C31F8FFE4731C61F6E147D -:104EA000FA30E9A0DAC0E9B6D98F7433E18FDB6557 -:104EB0002F087D1E8747B2E5727AE3F34C86C467FC -:104EC000672EC601D629C11136E083F31D0E9AD78D -:104ED000F93DC91186DF627064D2C5F0C6E1A8DE73 -:104EE000E632CCFAA1B63DD5B0EA8B1CC3AC2FCECE -:104EF0001FDDEC45B95F926D333E188BFC1110FC41 -:104F0000C1F94EF65FDB9E67B82DFD58CBE7DB9409 -:104F1000E9E80781724FF94E02FF403E9764EBC605 -:104F20000720DFA7B60D49C171C18F33709CD38DA7 -:104F300086C1C7CD36CC7C59B32C89DA4BF8FAEA56 -:104F4000F7EF0D1F5A06EF3B19A1FEAB215FDFCF34 -:104F500066DA9F289EC3F6D8BFC075C701FF7F459C -:104F6000F1008DCAB2DFFA7635ECB80ADF6FB78C84 -:104F700007DFF9A40F8DEB55DF74D7D849535CA038 -:104F80000EC720FFC849740E418F29D0DF39CDDD0F -:104F9000AAC038D36D3EAAAF17FC58EBECD243F051 -:104FA000EA4C07A7475FE39C6A3CEAD3407F543A48 -:104FB000C12383712ADB4794A17E3CD3B122330401 -:104FC0007C5BAD9EBF2B98E0FB569BC2E189D8BBB2 -:104FD000BB4CF3917114C6A05F670C7EE4F493A6FA -:104FE00072BCBE96CF07B05FE08FBAEDC7CAAF0103 -:104FF000F8EB767FA6231CD36DA1076C19B1F92BB2 -:10500000387FE8A76ADB7B3ACEEF637BB8E0EE8BB4 -:10501000E8A9DE70BAB3296E27E10BB34EB463E69C -:10502000F7C4157D37BD0DA2F9C93FDBD92A8083AE -:10503000FD055A41BD5DD456B0A017F135BFA39A06 -:10504000E28B9FD8A4DDD4568CFC7186D9A6E3FCF4 -:10505000CEB0D7BD634DF8EBB071BB9FB5723B26A8 -:105060000CFF213C60CF5AEC9A45EBADE5856C76A0 -:1050700026EA8D85EBEC2C02285A8C7691E40F9869 -:10508000F7161BB77717B18616B4E73407F70FE6A4 -:105090001B4C1B0070D5FEE2B162B4FB7F69B311FB -:1050A0007D649C61711A87BB2A3DA207A0FEFD8E1C -:1050B000B1375E83DCE788B4E0BACC52987F2BEB43 -:1050C0008DCFDB5BADF05D0AFE7878195B6E8143B6 -:1050D000F62BE150B729814802BE7B45F29DD023D3 -:1050E00069AAD5CECF8A2BBF6313F14B95A948E7A8 -:1050F0003386336C4BA17A7F14E3233B1DFE1540AE -:10510000DF3B6DC12ED4CF6017143153BB3B6D21F3 -:105110007A7F5A796D21DAA74C8B16A17F0F6B8AA3 -:1051200086FCA00B7E5093BC45188FF530583F414C -:105130002E1D081FF4D3E2A99CC98A30FE0A720A08 -:10514000FDDDE72D3FAA40D9E5EE60D89F23DB1AAD -:105150005F76F9ACE57AFC07D26138A3384EF2707D -:105160006B3D2C580CF9CDE3B7BEFFF71E3C4589CB -:105170006FBDC4D2F074BAA32A8CCF266AA7CD76AD -:10518000739D93C34F7E39B45F2AECF93AE60B5313 -:105190009C389BF3C1D219368267A9C7E70F43BD7C -:1051A000A20518CA1FC6AACDEB58FD0510B97EA6E8 -:1051B000B2D6AD235FD65FD05804F47D912DE45173 -:1051C000C723FE0264E73A01595F01C89A7BBAC55A -:1051D000EE6503D3C4FA3AD030CBEB40A4F3F81811 -:1051E0009DA55EB00BBD08FA224BCD403DD85D4E6B -:1051F0007E09EB223D21DBE9B17603118EBEDAB9DF -:1052000062EDF212F557FB8B67768501FF55CF3DB6 -:10521000E805E2B34FB4B64C3FBCAFD9BAD28B7CF1 -:10522000FCB116F6E2BC3F89A8D313F1F38DAA2294 -:10523000FCB1805B417F58D0E9D453ABBF8578FF88 -:1052400062ABDDC026F5DB1C510710B1AE6331E760 -:10525000A76D8EF778F99ECF909EF5BBADF256F50F -:10526000C4839918EF040C71BF9145C97EAEDBF27F -:105270006139DA23F5AC9BF444FC7738FE85345A67 -:10528000BFE6E929BDEBE5FE4BBDE0FBFA8ED59FFD -:10529000A95E2C5BE5BB52F823D3544F3AC5952643 -:1052A000B0094837890716E1F6F08A271F2E7A0FD2 -:1052B000E038BDE59FBD8A256EC4F5C3F9F6DB7FF6 -:1052C000F692AF6FBD7E56F8F3B1EF22F49D6F37C3 -:1052D000B7DFD91EFEACB147BDE82FD56CB4FB419A -:1052E0003259CD339B7FFE28F2F5EF1C1467A87E60 -:1052F000E6F05B5743B97A873D7D269F865BC98C74 -:10530000D1A31EFE5F362686FFAAE70FEBBE51FC37 -:10531000FD8FD26274A8DEB15F67A37AE3ADB47D7E -:10532000BFDEE54E408FF6F7CAD1DE5EF1E4973A74 -:10533000CAD527FB149695D7FBFBCA8D87C99E4318 -:105340003C11FD047D7AE8D58B4ED16FBD348EDAE9 -:1053500019B87EF545A791B8F665101F3FFB12C638 -:10536000EF7FEFF0E3FC2B9FFDBE17E7F191D6C076 -:10537000F9F9B195990118B7D21ECE34E8C9DF57B3 -:105380003E7E27F1D9A2637766523C8005726CB4E9 -:10539000868673707E0B36DC40F35BC842C46F9523 -:1053A0008FA9C108C6B334367D470279784DC8C38A -:1053B000479B1CB8F6B08F50C1A27FF8BA4AFB04D5 -:1053C0008CDD41F1863BE53E045B42E5CF9D9C4E82 -:1053D0009B559B8C6F382D7CBAE59E4EA4CFA9417E -:1053E000812C8C4F021EC2025F0AEA1DF5D8D42C14 -:1053F0004E1FE6D38AC577A0174BF13DB6EFB40731 -:105400005C4596EFC43AC6C75F2AC607B893D01E5C -:10541000FB2813EC9B04F3FB52957A19EC0D137FD8 -:1054200099E49ACBF9967BB95C4B398FCC9A8EF57F -:105430007F7A83CB0F7E87EB3AC015CDA2FAFDDFD2 -:1054400051480F385834913C6FB10B79B6D6CBFD2B -:1054500049805BC3F529C627D07F1AE19FECB4854C -:10546000EBE03B935EAEC7F1A89D1E7B6F5AD7174A -:1054700009F97F5915FBA342FED9062EF77DDBBD46 -:1054800061EE1FD8233F7F14E515E413D7999A677F -:10549000EC419CF7A7DB0FBE750BF0F5A7ED524E64 -:1054A000AD7A335E4E2B778E6789E4F453B79F2530 -:1054B0009453789F504EDD5DC4C7FFD97A53E2ED17 -:1054C0006C9CDE947AB02FFCC5EBC135AA2FA11ECF -:1054D00084BF3758716FBE93FC26F9ACEAE9DAC194 -:1054E000143792FC28F9AD871F25BFC5CFD38AB7E3 -:1054F000F8FA1785BE9174B62F67610FC64BF7AAED -:10550000E45F9F03985A80BEE7B6E74530EEBCD211 -:10551000C5E317E78C6E6F1A3C57A6F2727786DEEA -:1055200082FA41BEEF76F1F8F6B960B737D5E457A5 -:10553000BCB747F5FAA0BE2BC2A627F23740F3123C -:105540001C5DACAF7A1E0F9EAABA7397A1DFDEA6D0 -:10555000D27E7645D34D5EDC073EB767C84F503FDD -:105560002D78050C4C80F71CDA812938BD808679AE -:1055700009B70B7A7FCCC20F4D86F9DDBE87FB0BD6 -:10558000156BE2EC7BF7521DF50DD8F727AC716D6A -:10559000CE3755A29FCA0DD6FA2AB686E85615C749 -:1055A0004721E1074ED0041F8D66A3851FC6E31770 -:1055B000425F4D550B7F8276C6B9A33CAE787E8F95 -:1055C0004AF83FBF5D8960DC87E2BB9390FEDD3A1D -:1055D00033F9CBA791DFF4BEE5F8F40B7F28BE1BAF -:1055E0009AD4EC7ABBE8A7F03CBDEB7705BFC4F2D8 -:1055F0002F7E9BFB36EBDDBE74DF9F69FFF8DC3E40 -:1056000007C1716EDFCBB97763F925871FE13CB71E -:10561000DC41FB67E17D9EC830AC1F04F4C67573A6 -:10562000EF97455DB4EE34139DE66B7CBFE3FC9EC3 -:10563000FF7857C1FC833D0E1FCEA37E1FCF0BA961 -:105640007FC9457197737BBF2C0EB9FF7EF3A9D339 -:105650005988F8CFC3E6EC447E4DE5FB00F5BF9CCE -:10566000B4B909F7C33BF6EBB8BF52FAABBF16A10A -:105670007E39B793DB0967ED5D8FE33E68AD367425 -:10568000B91DE51E6DB6FE6077DA174C091726C204 -:105690000BC7C339C003CE0BF052897AB12F7C34CB -:1056A0006BDCDFFCEF878FCF6EC3F16BF64C20B95C -:1056B00089E14509F0F79E8853A1F9F3F7FBBE2C69 -:1056C00042BBE7D3F6265AC72F35EFCDFFE3E6AD51 -:1056D000442F67DE07FE9BF3FF748DAF4BF172D052 -:1056E0009BCF7F7117959FF5F809DECB94FF13FFD1 -:1056F000D3E8BE13E8EEBD34DD15FB7FD7795F8AB2 -:10570000EEAF08BA7B0CCC2B38B7F7AF142F97F35A -:10571000BFD4BC7DFF8FCE5BDA3FAB6CFEB67C683E -:10572000BF86453B7D00E7CAE1B3DB30CC046E4267 -:1057300030913D12B473FF4855781C860DE27121FB -:1057400026FC094A01F3611C6521D9759ABB85ECD9 -:105750004CA6F93B03808F5523E7FB2957838D39EE -:105760001EC2F2C0C97E8A6FC6F955CD0A0B2860E9 -:10577000EF6923BF7114ED7CFB705BD45144CFF70C -:10578000F0798F8863D90DDDE24FB8E3FC0197CF44 -:105790005AEF10FD39D998B67CCC53706B4604C6CD -:1057A0007797B4D17CDCC3186B33ED033A98E97B6F -:1057B000E8AF1003B026FBF1EBE2AFA9077F633A35 -:1057C0000388BF11368A6B51521FE1C31F59457EB2 -:1057D00026F71F63F86CE9443C6A0CFC3F3E3FF23D -:1057E0001B99F01735D18536DC167059DB09BFE8F7 -:1057F00092F4E1F4C8AD11F45962A187C47F02BAF2 -:1058000058E821F1FB75E9124F8F78BC7FC7CEE3D2 -:105810006DF174B2E47764703F240A7EC8CBDB3745 -:1058200053BCE3CC53EF7D0BDB57FF52654EE8E7EB -:10583000EC760F8BA2FC6A111DFDA9AA0E35619CA6 -:1058400057DAE5D5CF7968BCAA9D8EC84CF8BE6AF8 -:10585000D7FB4564372DEF3E3200E3024F299C7E93 -:10586000E1AE22DCB7ABD2B87F10DFDF063B8F0B97 -:105870009C7E31790EC61F946D3C5FB1AAFD26BB9C -:10588000C3C46FFFCBCEF35EA11DC973F84985D6A3 -:105890009BDEF071BFE0F4930A876FB73D82798F8A -:1058A00055DB36EA21F42BB77D4671ECD2E79EF149 -:1058B0007691BFA85AFDE76D2AD1139E44BF783F69 -:1058C000B6AEA396FC84BA76E127C6F951D5CFEDE2 -:1058D000DD1506D4543FFF8417E32FA73AB77AC9E2 -:1058E0003FDDC6FD4FCDAD25F64F2FE597B6DF9BCB -:1058F000D02F3D85FF007F62BF3DCE9FDFD6EFF208 -:10590000F62F9FF9FC718C939EDEF9E9E30877CDC1 -:10591000FFFEE3E368DFB37D2E632BCCB7FEA93730 -:1059200029DE24BF7B5BC8E9D9412C9C03EDCEFE68 -:10593000CE41F92367F77E948BFEDCD91D7FCE44E0 -:10594000BF7EE9DEA95938EFA52F9466B104F22E87 -:105950009FC89791CB8813C6D3E160C741F243CE6D -:105960001C7790DFD7135F68AFE5F11A9F882B6C27 -:105970004F1C8795FE705DC7FBE53C3E26FCE24B65 -:10598000C511DE003A5E7519F4DA2EE24471F43A7C -:1059900083FF00BA7C1947AFCF59E86739B80FD9F0 -:1059A000D1AFCF3842F432F024E3BB47EC019B8EF9 -:1059B00072B033B9874E33914ECF7C9E8BF1F08F0E -:1059C000EDDD64F774EF7518E8DF57EDFD2DC9C5FF -:1059D000D9178E51FC948938EB59D6F3C7E3628A04 -:1059E00098DF160F8F3F087C637CC2E7A5F7220E75 -:1059F000C1F955C627FA8A4B4CD045DE93883BD770 -:105A00006E795B6771711E6522D2E93D4B7C5CCE7D -:105A10003BBE3F03F130C11C5F4B1CF7917E738C82 -:105A20004E3CAE26E36767378AB81BBC1F3806FDBD -:105A3000411EC7A88F28BF6509E450C6D7C6E871C4 -:105A40007218B9BCB8DAA5E0FD5BF1314CE7EB8325 -:105A5000C4CBE9BF24D6C3DFD4B95C4FB78566EAAF -:105A6000A6FDECEF897D16892F09EF69918777FAFA -:105A70002995E2412DED07499FC6CB735D1FE720B5 -:105A80006ED379BCB56EF7FE22D43BA70FBC487C21 -:105A900057B7FD3D3D0CFD1CD9F6BCCEED49CEE718 -:105AA000A8A723263D7DFAD9FD453CEEC7F36EE35A -:105AB000FBAF16FDD7EFB1F65FBFFD334BFFD5E16E -:105AC00076DAFFBAD438A7B4C04D38DF539D768656 -:105AD000FAEE54BB3A3D92C80ED4ED967DD0966353 -:105AE0003AAD57E35E4FA2FCDCA5C7A6BF9D82FB83 -:105AF00074206668FF763471BEEAF8716000D2A542 -:105B0000E3D82D2AAE1BBB108F263BB8F88D8652EA -:105B10000FC86BF13BC171C856F17A60C2719B0529 -:105B20006E18270BF57133F483F9F4983F84FBA3C7 -:105B3000AAB77C3AC2A31A36C39570FDE4FDD9DD3D -:105B4000418676B9DDB0E62B67CF1671B4A8356F04 -:105B50003D5B67C3711F9CD992FCB81FB064446061 -:105B6000F461CCAB5F904D71E29C6FF3EFCE18EE19 -:105B7000B0EDAAD8BE6DF205E81FF3606C91B57365 -:105B8000E1BB64AD5DC17D007832A4CB9DB6D0266B -:105B90003D03DBE9CC07AAF1715DD128FF429C7B74 -:105BA00091FDC9767DED07CB7348AA807F88D80F19 -:105BB0001EC4BA14DC0FDEE0E1E79106BBD3E9BCFA -:105BC000D16661B7F970DF15DB3558D7ED4B9E47CD -:105BD0006AB596D34B4BEE18EC073F58BFAB540356 -:105BE0007D907E53C98E0106EE4BAF2BC5BCFBF4F6 -:105BF000274A46E740798EA3A88CEAFFB564742E45 -:105C000094BFDF3AA98CEAAB15CA0BDCAB77978659 -:105C1000DD31F9CC00E316F32D406E0FA0DC9E09B8 -:105C20009E6EC1DADA1BBED0F9791816C4F90F9A44 -:105C3000C8E73FD0FDCE0E9CEF605B5713F2DFCF7D -:105C4000F67E998AED7CCCA0791AACD9C07D7978A2 -:105C500035F1AB8BE4FFC4E7C1487E7F2E39F41BDE -:105C600084E3DEF9C31F2E479D5AE3273E8ADF27D0 -:105C700066463AD1A542D005E1749AF2902BF12400 -:105C800002E99B3203C751C235EA57577E7D784EF1 -:105C90004A7E11E7C04CE7A43E41381F490ED1337C -:105CA000FE9CD4013DF829F253CEC20BB908BF3C8B -:105CB000FF54BAC84D7181F37B58C491407EE473A0 -:105CC0005323CBD086F65DFFA623F4671C37FF571E -:105CD000BE9D47A1BFAB2A743FA6AE5DB56C5C8686 -:105CE0003696F109A13D21E8968DB444F9BA8BF1BD -:105CF00073390E25807EE3B9EF1BA47F0756CC24B1 -:105D0000FFE25C725E3BE64F9CBB9BE701C00AAFC3 -:105D1000A01C0CDA931245FF07F8F88B383EFEC240 -:105D2000BACE58C73DF7956F7717F56788FEC0D094 -:105D3000C944B9E17FE7546E679F6BF4111C60168C -:105D4000EEC7F5F472C7CB7658CFE901DEFB3B4CCA -:105D500078CF75F449BF3C07A71F3DE3E9B7D0D919 -:105D6000908B725C156C2F47D7F4A385771523535E -:105D7000BFA987AEC0F635733A8FF09CA18602DCCE -:105D800067EB4D5F7E1E2B73CFBC263BC62B903E30 -:105D9000BEDE74BC6A993F43EB67A1EB5884FFAA4F -:105DA0003D9FD9107E49CF87459E7FFCF7FFE85085 -:105DB000C4B8354D768C93ECD6C99E8D6F371D0FC8 -:105DC000558D8F958B9CC5346E968DC73B7AB7E702 -:105DD000EB5FAC5F279DCBEA8B1F8B0CDE1FE0FFD8 -:105DE0001B66FC7FAB6FFCCFC276807F7A7E0DFC9A -:105DF000DF84EDFBC2BFB4A3AB855EA8C67D14E013 -:105E0000A30F03B33387C2F8E5AA9BE460F156956C -:105E1000E40FDACFCCC98CE991C5931AF6E37C176D -:105E20003FA610BF568873A69F8ABCFEF87CA88543 -:105E300073C2B4BFD32B2F2A12E7D7C5E5BBD7C790 -:105E4000F87630CF53E3E7B6542117A58B0A53D029 -:105E50001EDA67F7FD2BD9D9AFA86C5302FC6F444B -:105E60002633D1755083CD9227CB2A522DFD962D06 -:105E70002AA47DEF251EDF45FDAAC1CBACEB765EE3 -:105E8000D87ACE6848ABF59CD1B0B6FE96F657AC42 -:105E9000CFB7D48F888CB4D45FB96D8CA53CAAFDE4 -:105EA0006A4BFBAB764FB1944747BF61693FF6E859 -:105EB0006C4B797CE72D96F6138ECFB7D44FEAAAB8 -:105EC000B2D45FF3F1124BF91FBA7F68B5536C8CF3 -:105ED000F4234B52485F1E6A9C988BF9D86C9C52F5 -:105EE00086F82C15F98487EED06D86179F0536034A -:105EF000F4D681053369DD3F744766C047CFE200C1 -:105F0000FA354C9D3C2E51BEE6546352AE392FAA51 -:105F1000D469B7E8B7A986B5BCCB21F6FD0673BE38 -:105F2000F9659C7CD91B2647C13264FD170FCDC291 -:105F3000F140CEF6093DB7EFB2F45C6643319641CD -:105F4000CE0E25923326D6D912C14FF00CE8981FF9 -:105F500059E6A1F538802F7DF43EAC81BC4C71FA36 -:105F6000071EC679D9FCE9C88465738287787F6289 -:105F70005D66C36D5F675D96729E6D13F96B693CDC -:105F80007FED91050529CC84DF3F386CC28E6EE32E -:105F90004FE3A8AB276F35DFFCFEE324CD942FA79A -:105FA0002C9A49F922D97DE8453D3B7FC616D0C7DA -:105FB0007A8E8F9EF27DCB1C5BC23CB06EA147A552 -:105FC000BD3522666F75233DCE64BFFE10E629D530 -:105FD000CDED267B2BDBD676C7119CD7ABAA885F8D -:105FE000FAF8F92A61272F98F1C01D47705FFA5F10 -:105FF00086917E92E36C689C3E43339D231FD88735 -:10600000DF74A593C3F378E3F0191594B76DF0F33B -:10601000A2A2FFDC706D39DACD8345BEE943B6C478 -:10602000F92E6ED14F16921CE135DC24276716BE7F -:10603000E3D5601E8FC2EAE5C47DDBAB3A8BB91DA8 -:1060400016F0E339D4DCE8AD0F61FBDC6C8DF25D5A -:10605000E3C7CF9A1B6ACD83F935A7D9FC6E2A779F -:106060002BD8DEF123C6FA41FBE6FFAD123CCD078B -:106070002651FE87C3DDC0703F55CEEB60DAA384A6 -:106080001FB52399D64126F6C565BCF5F3EC8A4EBB -:10609000B4373E5F67A7F13E87391AD0FFE71D2A64 -:1060A000EDBB1E494B8ADAA0ACB67A68FDCE45DB63 -:1060B00013DA2FECF0447C7931BC68EB27D37918E4 -:1060C000C7403EFFE63477C49D47F34EC7794B384F -:1060D000E5BC07F5E1679608B873AEE839A7C1904B -:1060E0008F5543A37E17A4F2739891C689825ED61A -:1060F000F9B464CFBEFE663C3FF486CA3035C4D7DF -:10610000D546F35F08F3C7786F3C7ECFF8F2BEB098 -:10611000A9046709C2A9AE2FA779503BF8AEF6676C -:106120000A7B340FF930349DE8DADF46E7027BD989 -:10613000074E2E5F339C3C2F57CF2E98B1A51F3EA4 -:1061400087925C7CD3D9E7BA1F74727D44CFAF715C -:10615000BF00ADFF521FA9019BB073B95EEAB19FAA -:10616000F4D0779D19B1B29AF2A322ECB76FFB6C11 -:10617000C77E1DED333723FB59EACDBEEC33B4CBDC -:1061800090DFA45DB6386E9E30BF1A31BF9A44F3DB -:10619000EBA56F6F699076CD12E745ECCA0C3DB167 -:1061A0003E7A52D0A1DED019C59B688D02BDB3D80E -:1061B00046E78D99167199CF976F704ABB6ECF7E67 -:1061C0001DF10CF3463C6783FF5C4E7AC79E302F6F -:1061D000FC52FE48FEEAC29D47B13FB07311FAF38C -:1061E0006DBE94B48BD817F665AFBACC787DC02954 -:1061F000F2B963787C50E0F1C184784C073CDA2C2A -:10620000F6E1AE021FE1F1A7CE8BD88767BEFD6E27 -:1062100031AE476705BEEA7AFC5CAE9FFBC32285C0 -:10622000F1AA5ACC5F76F232EE07ADC0263998DF7C -:106230001C7C02FBAFDF6D3D77F863278F9331370E -:106240003F372BFBCB14FA1EFCEA7FFCD0477AFFCA -:106250009F703E31FFBAAB18FDAB152F5C91827673 -:1062600059D9AE9B0D7C9E4F1F4AEBD9995D8E008C -:10627000C279268DE7EB9DD935E108C61F3E6D3CFE -:106280009A6FD6F7679E3D566C877ECEEC3C56AC37 -:10629000517E70C46217D67EF59B623C8725F3AAB7 -:1062A0007BF8C5C9D789752E1ED7C8C8D45B305FA7 -:1062B000FC42522AE1EBC14CDBFD89E235A83E6984 -:1062C000DFDEA3D33EE59211BE156E8CD7E41994A0 -:1062D00087BB4209E42CC07D96594E3FEE03A4E7EC -:1062E000B3E1792988C21073033E1D87DAE8B869E3 -:1062F00052A7B11FCD2319C7D14AB9BEEDBE41A7E0 -:10630000BCB164CDF7F05C2867CFD168BD93711D37 -:1063100047323F972CE33A3DF0BC62A77568495E6F -:10632000A8AD04BE5B32298DBEF3CE7A8BF8E59C16 -:10633000CF16B6E37CB46E8AEFFCA47178C650C069 -:10634000A391639B4136CD5F005BA6FC7FAFC6C2C5 -:106350002960DFAC06FE1F0AFCDFD1E8A4F62D6041 -:106360001F1A69744F42EC9E0F93DCEC6C34A8DD6D -:10637000CF1BB3E9BB071A7DF4ECB12318FF8ECA1B -:1063800009F4EB7FD6F3BE467E9F882CFF711CD8A4 -:106390006940EFF4094055C04BBA387F2EEB1F6DB2 -:1063A0007C6548D950810CC067FF1A63E3AA8BC093 -:1063B0009BEE88A4E211E32B5D2C5C3611F3FCBA52 -:1063C000EF2F4FC5F311F794958D003CE2FEF6D503 -:1063D000402AD703CD783E35A7C6D78471BF9CDD50 -:1063E0004A3BAE5F39BBD796E03E02B4A37383B29B -:1063F000DF0C17D773C9071F51F247E1E602DF9799 -:10640000677B932389CE978E73713DE777F1FDC14A -:10641000D5625FBD7B969BF462F24117F14BCE9E35 -:106420002B697FCFDDC7BE727C3FC907FF4C71600F -:10643000B7D2B61FF729D9026E7F4A7EEAEB3B6CD2 -:10644000AF5F46FB737E8DE2C260F6D2FCCECC1A03 -:1064500048F8C6F6663D7E4E4F6C9705049E56DAA8 -:1064600013C7E935C6C719D7D94DFB99786F13E221 -:106470003BE78D3605FDF5330ACFC7E80FF8D8099D -:10648000E59CC96D74AFD373CE50B90BBEFB93714D -:10649000BC602580E32AFC7D2E7E27F1A116E94E03 -:1064A000D427397BDEE3E77C6C5D3AE6BF2DBAF793 -:1064B000798A3FAA7A308F9757AEC4F8648637B886 -:1064C00011F984859F2F3B047CF2A038B78C6F5064 -:1064D000EFAD768972B8BD39007CB2DACECB8BEEE7 -:1064E0007D8EF866B53DB818CF3D63B919FA5F9D4A -:1064F000DA9E6D83B2BBE999E6A383B02CDB3FD370 -:106500001C9E0C76A84BEAE7600EE2BDA76C4079B2 -:1065100094A9ACF13273F2A79C5FEDC13F1F190043 -:10652000FC52B787DF73D383B7DD6B155C8F7EDEDC -:1065300078D4D7AC093991FA03D6F92BB219F929D5 -:106540007A4489E42B78DF476BA6395FE5BBC98ABB -:10655000885BC0F7E6F863DCB9363A2A83EB73331D -:10656000CF0B89A7EB9B49256D4919781E35B44A95 -:10657000453DF88CDDA0BCFA2E8DF4F6699957DF05 -:1065800060277BB0469C73B52F0FAD1A817271AB3B -:10659000E6C7F842755E5B09DA43D52FE6F99B58EA -:1065A0002C4FB73AB53D738C3B96A72BCB2B445C55 -:1065B0002A2BB52135B510F763D6E6E27E491D6B6F -:1065C000BBED8708EF6B2A437EFF64FFA414BC7702 -:1065D000A816CA1807ABED38A687A0DDD549FCBEC2 -:1065E0009BBA0EE01B37BF872650C0D846CD484225 -:1065F0003DFFF340C348348937BB7E5DE6FA07C6EA -:106600009EC80F1848E75FDD7BBCD98965DD18C1DE -:106610004663F9DF9A91CFAA47DB28CF9285FFED39 -:106620005060A8D8EF8572AB6BD05473DC3B479CAD -:1066300033ACDFE0A6F360B02E6F42FEAE5B6F0BB3 -:10664000E3FE99CDD949E7807EE562823ED6F353D9 -:10665000EB14AE0FC30B783C75E98CB46FD0F9A97D -:1066600095F946F82271DDCA0B49744E4A96AF4E31 -:10667000F251FF955A98F6912A2F78E97CD5DF6F71 -:106680003CA7E5BC56EFF1DC048F1CAF26361ED1CB -:10669000F5E098571F1A0A745BBAC36E7398F86EC8 -:1066A000E90EB13FEF0A64613F193AC733437F10E7 -:1066B000788DEEB8E1E5B0960DFA5FCA77F87C7395 -:1066C000D964A45BAC9E59E53F80FEF87D49B2FCDD -:1066D0001FCD650313B44F8A6B9F2FFB575762FF83 -:1066E000F1F06424C5CA4E68AFFDD5D15346F8D643 -:1066F000DAE2FA4B9365F74A1C5FF255EBBDE98786 -:10670000C3C057F7A5B695A0FEEF5EC07C788F1684 -:10671000F2ABDFA46F5B5D5CAE2B2FE45BE81DC3C7 -:106720007B81852E1F35665BF63D17CD5D4AFBB339 -:10673000AD2E412F16E6E76C360C6011533CE8FF96 -:10674000C3F1B7C271751F70FCE37F311C3ECB787B -:106750003138865AE0FB5BE1D87463C137F2A0C9D7 -:10676000834AD8998FEBC28F795E9C9A5AE66BC2A6 -:106770007D991F6B14D71FC678BE4BBEC68E6A6349 -:10678000507EDA02180761CBB9BD02EF5BED63689A -:106790001D227F61C81EC73CCCDBC8AF0C2CC627AE -:1067A0001B5848FB3E729F948938A1DCE71966B0FC -:1067B00012BCF7EF44D23C5AA7F28373AB31AEAEB2 -:1067C0007AC625E17AF8A02D12C6F1C20FF0F13297 -:1067D0006C917627DA4BDEA106AE77195EAEFFD854 -:1067E000AA425AFF36D9F247DE0170AC544A925E93 -:1067F000413CA7E6537C1CDFE33D3B9BC4BAA5A606 -:10680000FA0D5CA73689756B85D0EFF27D725A70F0 -:106810001EDA113F59356DAA7312EAA1406B3F5839 -:106820006FEE5F356D65F6245C6F7CF94E585FEE58 -:106830004F9AB6D20993D9D4E4EB6FA4C6CAC3FE6B -:106840000AAB35E989692B03A0779ADD4BAAD0CE34 -:1068500081FAC3E8273E9126F50EAFCF977A0AF565 -:1068600012E831B5A9A71C46BD94DFA377A691DE37 -:10687000D9F2B84AE5A5301EDA31308F30DE0FD6B6 -:106880003D4C23FFC805B02441D935229FF6CF6087 -:10689000DE2C09FDFF11BC5EEE77E8C36CB4DF812E -:1068A000ED118FAE1CDE5E9FC5CF4BEB1E37F96D31 -:1068B00072FF4415FB7749224F453166911FEC5C0E -:1068C000336609FA51CEA1D6FD693D2E9F458DCF85 -:1068D0006F7147C9EE6A4B12F1EB7E2C9BEE4D10A7 -:1068E000EFC1521E83CFCC9B9B4BE83E3D0F333014 -:1068F0009F3A3B1465667B493E1DB08EFA4C72E3AD -:1069000070B340A27C8A85C9DC1E765FD0B89FA890 -:10691000807D83EBA847D8E1C23EB2CB7B8EE2D626 -:106920005D692FD9C57D7A4B674CC9C27349AA3BB3 -:10693000E0443B67BF3186F66954E6BFBEC464EFEE -:10694000344767507C5233020CED9C57859DA31A47 -:106950007E66B6735A1AC10187B56A737101DD5F2D -:10696000F3A82BEA1C82F47DD0E647BD71704C552C -:1069700058C1F8E4324672BAB938730AEE336CD4AF -:106980008229B7A2BCBC01E3F938DDF83EF70A055D -:10699000E3E99F3B8329A80FEE4B65163FEAFA64B3 -:1069A000EE8F6C4DE2FA47FA092D004F14E0D02E1D -:1069B0008CA4FB7C460BBB549F5B46F1324C03C25C -:1069C000F8A78335840D77ECBE3A47B6CD92FFA881 -:1069D0005D28A278E2D6243E8E1CF71E71DFA02C23 -:1069E0003B59038F1B038F27F2DF6A059C0EB0878C -:1069F0007C649FC4EDFFF7B68FC85E91F4E9B15394 -:106A0000147E2EB42FFBA8FE82CDA26763E7D97552 -:106A1000D2CB67C57D01320FC42DF4594B76A8ED5A -:106A20009ABCD8FD009AC8075923EE0560D95AB719 -:106A3000F91C7E32C663A0BE59E48524C79DEB775E -:106A4000B99792BFE01AAE59CE81395988BE73F812 -:106A5000ACEFB5ECF8FB02C23D796094B7A8B14742 -:106A600014BA1C80DBBB03441ED699E47729DE08E8 -:106A7000F6EE4127ED4BF073A2321EF675EDE357AB -:106A8000D1AE22BF70FA68EC7711AE4718CF66C15D -:106A90001CBEE9D8CE286F28C9DFC5F89D63646F96 -:106AA000A952CF859F6F463F2AC36CDF99ECB52B67 -:106AB000573FDFDC5C487E079517DDDB467A70A523 -:106AC0004B96575319D6AB28FA3D6C97C387FC04F5 -:106AD000DF07506ED88D05642FABF9E0D202DC657C -:106AE00078FF21EE0FEC726C427B16FCDAF92E5324 -:106AF0009CEC8CE7782E2B4CD85FD8D25FEED7EB8E -:106B00000FC6EFC03C23595FE65D1F55F9773EFC89 -:106B10008E0DEC7C370CFD3FF88283EE2591F72C2F -:106B2000C7F3EB9464EEBFA3DE30E773EA732B0286 -:106B3000C89C523E1DD949963C7029AFDA85E124A4 -:106B40009FF2BB5793F8FEB1A60528AEA65D282498 -:106B5000F9DF2AE8DAD2685C629CB43EC61943FDCC -:106B6000F43D4EB1D0134CEC8F6986F91E99BEE40A -:106B7000357E3F305EBFC9A7D46FFB44FFF392ADB3 -:106B8000F1E5AAF5ED4790857E680B55248FC7BCCB -:106B9000AF77BCB814D7D8A245286F77F67E5F8749 -:106BA00093FBBE8813146CBBE300B26B4372684363 -:106BB0001294AB92C53E4036AC6B2AAE5B3C6FE99B -:106BC00011ACC7FC8690EFE1A9A8A7669553FCFA23 -:106BD000B9E4E06FF0BB7B671753AC40C2BDBA911C -:106BE000E7DB497DE9467C417B87D6C0E39EEE40EA -:106BF00014ED8B0792DF9CAA211F6A5C0E96AD3EB6 -:106C0000B012E3224ECD4F7CE574DB7CB8BE3BC1B5 -:106C1000BFC375AFC96DA378D20ABC07380FCF1BAD -:106C2000CC34505E9778F2B3D845F4A3762153E87C -:106C30005FEBBD3A7FFF71D2E9FB5EF7F71C9C1456 -:106C4000C5FE343FA3FC1944C2FB26BD2AD7F5F884 -:106C5000EFE2FB97F894F8756821C2AB8E76430299 -:106C6000B89E4CB6EEDB6649FD99FA564114DED665 -:106C70002A5D5EB44F402F3E897C5237AAFBD78AEB -:106C80008FF46926B767C2F2BE02CBFD48322EAF41 -:106C9000BAB95D23E15FF2CA834EF3BE533CBCF147 -:106CA000EBA5BBD09A9FE11C9814775F70131F4728 -:106CB0000B12DFD827079C28274DC61803ED9566D1 -:106CC000CDF7DB00E595D8C96E063BDC32BE7CDE35 -:106CD00027EE073E26ECA8F87A8FB84F39FEFD67FD -:106CE000C27EB86FFFCDA487FBA21F1EA846FA7A0A -:106CF000F29981E773EC025EEF25FAED8B8FEEDF00 -:106D0000CFE3BADA4467045DACF8F1547B3080E736 -:106D1000C9D4D18CEC5D75101F1F6869605CD83BCD -:106D20002E8D0D37ADB3F70E9DCDEF77CE30E87CCD -:106D30009FEAB10513D999124F8792E53D159C6FD3 -:106D4000B225DF0CFB3DDD836EE29BEE447C7328B5 -:106D500099EB2B84C34CCF7B87E66725A24F4C2F42 -:106D600072BEBA145F7488FB126B1137E0DFD488EF -:106D7000F3F6A7C53D41F393C57D4106B78BE5FD0D -:106D8000171D5A2019EDAAF93DFBD4013A9752E399 -:106D90000AA44C42BE3CC6EDDE8F4AF8BD651FD941 -:106DA000032988E78F8EA94A13EDF3F3BC40996756 -:106DB000F591DDB77A24D4DFFE5335D044D5567B28 -:106DC000EE340B8CFD17B46F77ABB47F94F7C03CF7 -:106DD0007514B4AF00430FF9687EA93B8CEB6FC705 -:106DE000EF1BDE453D74FBE30EDF7218E7D0FAB10E -:106DF0005F60F9E41A8FCF4171B27C05EF155FBA7D -:106E000036CFA0FDA3654CD81943CB4B8732F6147F -:106E1000FE53C69D9D74CFB8A80FB694C1FC4666BC -:106E200074D8DC0053C41D6CC1734E2B9B82D9E80F -:106E3000FF5DBFA6A005E38F999981CE6B411FAF7F -:106E40005833BC1CFDC18E47457FE1112DE8EFFD95 -:106E5000D216CA53A0FEA93553CA292F7788ECFF52 -:106E600046AA9FFFB32BBE386E204E2BCB31665601 -:106E70003C57C2535B5E0ABA7DC164595EA2633956 -:106E80003D9959E260F6983F4971B68E1EFFF1AE0A -:106E9000728C83DD3EA5A15483FEF33C3F6A290436 -:106EA000D198D0566204F0CA5CCF03E5C919786B5B -:106EB0005EA01AD793919E75E5389FF47ED6FED3D7 -:106EC00055114F65EB5BB0BF1EF8C2DB5A30BE2ACE -:106ED000DBBF7EDF5B2DE18131BEFF56EC7EA56F0F -:106EE000BA33E8DEBA231862CB5DD6ADF37C5E918F -:106EF0007F33B0AB88E71589F2F02E9E772DCBD982 -:106F0000BCDCB13CF13AFF132F97B78EA4C4F53F18 -:106F100076737D0170939E4F39CE02DB13C8518585 -:106F2000DB4DED0E839DE74C8BC9D3F50EC6266273 -:106F30007E9393C329FB89FFFE6E310E0B5F9F8604 -:106F40007C3C53F0F910BFC2F394762747F0F71852 -:106F5000C0CBD2BE0DF3D926E211DB5CEC7BB36073 -:106F6000E8CC2416C27B7332FA41B990BE0FEC70A4 -:106F7000C7FA7B8D8B309B3A24B805FB9B9A9533DF -:106F80007A455EAC1F80BBD939C602B736310DEBEE -:106F9000C3FD314ED283CF423E0FE013C2170CF334 -:106FA00034FE7E4047E7C87CD4BF2331E9C6A4E75E -:106FB0008B3B67D3799AA55EB13FE2E3DF6794F23A -:106FC000BC97EE1793F9FD99CECE02F37ED6C36E31 -:106FD000916770CFCC87E91C74A79DD1F9851D25D9 -:106FE00017CD3BACC1B89CC96EACD1A2E48FD560C3 -:106FF0005C6E2CF6F71A9D3FC47E7C22FE8C71B528 -:107000008C1589E92FD7C19A0B060BF7EBAD2F63CF -:10701000FDA7B3F0D84BCF2BD69FD56FECDD9F2EBD -:10702000E2F802EF9AC0BB9E18CE7D924F01DF3688 -:10703000137F2D10FC26F703CFEE1AB1C9BCFF2A2F -:10704000CF0D817E7E1A7F1F21DC9944FE4AB11646 -:10705000B80EDB1777A6D1FE80E40FC91792AE1DDC -:10706000690D146FE97E44A1735CF1701D9670ADDB -:10707000E7F7F665CD0DA9E67BC6A53C40FF1DA24E -:10708000FF7113497E1EE3F20072732BCA2FDEC319 -:1070900082F3F07715997F8F40C25F84BC389EE8F9 -:1070A000C8F1FF824BE4AF70BCF5C67FFF4BD03315 -:1070B00097E859DC7980E659D387DC5679BD3C8F57 -:1070C000ED78D4EB83766304FF77B4BF4FF78A750E -:1070D000EC5699E2E3F346BD55DCA38FC7BF3C05F0 -:1070E000F471564F19F4A50FE9D0A33FA34E67AC36 -:1070F000FD77BDE3A735A3BE14F7F6A6AB7834370A -:1071000006C79FDCDCBE9A184A1CC76AF07A2C7A44 -:10711000EC916553D8FB30FFABDD3CFF6A625798BA -:107120007E5747CA75BC9EEAE7E174343CFF97F48A -:1071300094EB127ACA25F5147F7F186DDE31B8BE44 -:10714000761529603757D80299E87F7D70EC8774EF -:107150003E6591C8CF1985F939B86E1E0FD2BAF2C3 -:107160000956F23C9D819E0CCCD7B6E6E9B02DFCC9 -:107170005C6B3C5FC5F8282CEC370187580FAE7765 -:10718000743DCBE3195679966580B3CE36C454EF7F -:10719000E6EB96A403D0BB99EE3916727C6257D603 -:1071A00046D4B7AF7B789E4DFA90C0689CBF944B95 -:1071B0005857059FD8BE37DBCDF5C6EC04FC3BD94C -:1071C000C3F5EC82F59C6F3AFEBDF43AC47BC7EB85 -:1071D00069A9CB4D7AA24CC8B1EC57EA21F99DAC14 -:1071E0009F22FA9BE6E17251E6E67C877024CA276B -:1071F0002833ADAFC43FAD9C7F60BE61337FBF2EEF -:10720000FA8DE153ACAB02CFB53AE017F0B7CD1E23 -:10721000EE8FF949C59D36EAAF62B787F2322BDAB5 -:10722000391E2BDAF6DBAA4DF889EF6FA987CBD18F -:1072300046710FED611BF01BE2DDCDE13BBB2B87FF -:10724000F4E7220FB71B2EBD6E5C9E9ED928F2314B -:1072500080BE94BF58FBD2808D563DCDFB4BEF17BF -:107260005A81E7F0D21F667ECC29033C45F1DCFF52 -:10727000171EA177F4808EE76DBB1F61B41F3F6CB2 -:107280006E60B40FCAF541F71805FA2B68E37AB8B7 -:10729000781DD83128774EB92EBCB2DD3CDEDD1E1C -:1072A0008FE51C61C57A8EBF6160FF3C8D4FE8E7BA -:1072B00059B2E3393C271E6ABF06E34EF2FB564142 -:1072C000FF4BC1578CF08D8BC187FD53FE8A3BB8B5 -:1072D0001CFBADFBCDCE01E67E1FECE977FE14175B -:1072E000EAF9B5B0EE9074860EE2B98B8A3DA90634 -:1072F000DE9300F26C437F478E5BA1C9DFCBE92AA6 -:10730000C67BC20B7AC69174FDDD33E6F96FF6B821 -:10731000FFAEF4EDD043349FEE1D00AF2F86978E65 -:10732000F679CB5DB84E1C677E5C2724BCC3E6763D -:1073300079315FA45EAC1F305F1BFA2FE93FF5B1D6 -:107340001588B7CE29744F423C5F4B3A0D675C7E7F -:10735000A49F361C03FC50DEE32912FA87919F7B21 -:10736000E2A5BD4FF37B2D385DEAE7723A767942AC -:107370005F7832627208FA9CEE2FAE58D7A38FDA8C -:10738000F9FBCEDCB980CF5F7BA49C5BE9921E6CDD -:1073900077D125B382AFCFBC382AB28AD399C6EF52 -:1073A00068F7441405CFD13634A1BF2DF504C2636C -:1073B000CE5792F0F4D091011D47C5DE0F9BCBFB59 -:1073C000AB0779473EAA511B941C85F400C557B3FF -:1073D000500F4039AB9DB7637BF8FD0D124F353729 -:1073E00041A7E077FE9BA790E621F19535376AAB80 -:1073F00029C47CE503833F30D1F9A8D82F40BCCC09 -:10740000267F83EBEB1A353810FD5696E5A073A85E -:10741000B00E917E39EC629A0BFA7B199EB82E4D14 -:1074200055EFA0734253872824C7A00164BC877E10 -:107430008FEBFA6B9379DED65FBE3F14E79991CC60 -:10744000F910FA718A7E9CB40E8AF5E05F73C1AEC2 -:1074500053627AF9B0A2503F87FFE1CA4D2B9418CE -:107460005F627F683F1D56660DA4F5B22343240773 -:107470007559F2C97AAF675DB9586FF617D1BF8BEE -:10748000F99BCA3DD380A7264C6F8FE295D34D61FF -:1074900075DA3FC1B853C1DF74A1FEF472BE3E9CE1 -:1074A0001756BD08D73085EE573E92142AE4F7F4FC -:1074B000F2713245DC2653E42BA3BD80CF8897EBD5 -:1074C000FF9129FCF903F1CCF4268EF3AC13F5F50A -:1074D000E25EEB552589F3D9067A154BBCE57AB106 -:1074E0006F81F7FF7AB9DF29F26CF93E07D8F7848C -:1074F000DFD27BE6D2BEDDE79D37A4F0FB1BB83EB2 -:10750000F85009FCFA26059F41BA3F2FFCA64AF91C -:10751000EF1F18012FE637D52625CEC32E11F3AB6A -:1075200015F3FFA891DFB7B000F7D3407F8CF5F2D9 -:10753000792C6AFB7639D27BD13A85F6D3E4BEBD8D -:10754000A46FE506D5124F5F80FB69FDFE163FCAAA -:10755000DF871F35CEE247C971E3FDA9138DD996A8 -:10756000B8FFFCB621E29E0BDEFE76E627B86F6F11 -:107570001D60D9FF63AD1997770F28F84FE184F0AC -:10758000E9A46FE5FB138D4E1636C3F1F150CA7BAB -:1075900018E80DDD8CF48DC191CCC26638D864FE3C -:1075A000BB572E1E77053B9CFB2FF0DCE8263B9D4E -:1075B000EEA9ED898381FE3052501F95CCF38E8F5A -:1075C000F90D52BE6A2627F61FC6093F779C9BFB22 -:1075D000C729C7A53F9DE443BD28EDF1F8EF1A7A0E -:1075E000F8D66A4F5E2AFE00FC1B36FB47F1FDB65B -:1075F000887EBF3EBFE4F7C12F05FF257E77F1E40B -:1076000010C5F7F0F221CC45995066F5831EF5F2CE -:10761000F5FC516F327D2FEDEA8AB9D6768F63BBC8 -:10762000F1F84CBEAC788ED97E5786A0FEE3FDC93A -:10763000DFDDC93BF53AE57FFE0EFD44E8EF584A31 -:10764000602BF2C71A912FBFF1AF07B36F477BE8EA -:107650005FECB45F5FF2D8D21598CFEC6E570C3A5E -:107660007FB4DB2A0FDF5CD63EB802F0D12EE8549F -:10767000E3E7F3A8F147F5A16ECCAFE6E30F6CDFCB -:10768000AF68267E1B58C9DBBDE4B55BE233FBB0B7 -:107690000CFDECF11AD26FD93F231DDB0734B40384 -:1076A000FAE3EFDD003CFD1B18D9D1FDC729D4FF5B -:1076B00037C76D54F0F7B7E43C5B6DB30A0DF8AE15 -:1076C0003533D98FEBCD00237408E5ABE69D681404 -:1076D00097C709EF746AE85F8D320287F1BD9C9706 -:1076E0004F35FAA3DD9EFC0E87AFAD27AEC4D71B86 -:1076F000C6560B3B7413B7C7547694717B9CD6F572 -:10770000CCE5C369DD93F3C94C13EB46260B61FE50 -:1077100031B46F253BC5C9D7FDCCE5FCF7F2243D5C -:10772000637EE68831E8670E5913D5E6C3772F6D7F -:10773000B025BC5FE37D817798C7BBE6795C4A5F83 -:10774000C976F63EE28C92DF93A727F6DF19BB9F3E -:10775000EA4B1E4BBF85E4B259A7FB1025FE471923 -:10776000C1CF109EFEED1B15C4CD0991577062D597 -:10777000D30ADA91DF5FCC0C35013FF5C8EBB29D3F -:10778000832B4C7A13FA277A6C8CCB1397F116570C -:107790000AF77FE61B4196329EF276C97F5EBC8572 -:1077A000FFEE469FF8B84C7C2995DC2EAF99C37F3D -:1077B00077B4E4318DE85DDDCC7F77B066FB0E3ABF -:1077C00067C77EC4FC28EF35ED3B940A18B77AFBF7 -:1077D0000E6581097F036A22945F7D8547EE3B44F5 -:1077E000C96E8EE76B8C17A09D72C4C5E5FD7489C8 -:1077F0003B8CFB10A7EDA11A6C773A27D98FFB942D -:1078000012DF2FEF9846F71D78763AA2F86CB56D27 -:10781000CA7642BBD691BA1FF96894111A86784984 -:10782000D3821DF87D6ABAC78FFB183E071B43EB56 -:10783000F565E261421C3F4CF81197939B52BC42A4 -:107840002E18E53D5D9BE291F613E9A723763E8F66 -:107850009D8CC31BF106C6A5201F1EE5BF9BD0BF94 -:1078600026AA60BE48FCB8317E0A5C8DF05F3E9C63 -:10787000ED3AEAF56AA1674A1EDBA2BC6F827B067D -:107880001A55C89FDB372A1827837AD233D09E61D6 -:107890005E52FFEDDC2FAD86FA0526BD22E7914052 -:1078A000BF04713EEE773A0F71FD12E5FB0202DE76 -:1078B000787ACE4DF1D1F8E5601ED07B3D3C1CFDC1 -:1078C000E223F949D49F94F778F99C2BF8BCFF8602 -:1078D0002D8ACD4DFB2764474AF864BB6329534288 -:1078E00088AF09D33B090FB51B349ACF543D38F408 -:1078F0000E933CD4A5703BEEC04DEFD2FD3FEB7E26 -:10790000718CF8B116FC69F227DA8EE937E0BA1209 -:107910007E52C5FDAEEBB849C21E12F7625DD7C1FB -:10792000F56F6DC70E0DEF91947C9A77EA00DDA795 -:1079300055DBEE60E84701FF2D45FCC4F3A9C48F79 -:10794000D4AF7DD113F410F793C2BA88E785F2D093 -:10795000CF91FA3922EC51E6E6EFD78A79C5F827BC -:10796000D49262D1AF2E928BBC53630E605E66AD33 -:107970005FA1F392E9A5E277C84C7099FDBE78FD4E -:107980008871C320F7E373679BCEA9F5E879F1FD11 -:107990003AA4377F1FE5EF593EAED712FE78FA457D -:1079A00053B85E4FC0678FE13CE2D731B9AEE73DD7 -:1079B000BE53C3FB9224FF5C877437F1CFF6147E6D -:1079C000EFEEF6148DFA7FA884EF3B3E64E7EBD729 -:1079D000434D4ECAA37CF9669ED7E5B9458FE2F3C5 -:1079E000B06D7E0DD61FEECFE168B52DA773772061 -:1079F00097CF205D0FDCE4655C3F727DB8EE79AE19 -:107A0000CF6AC26EF2736B42DFA9A07CD774979FD6 -:107A1000EE010D1DD26FF0F4E62BDFCEFDF4FBC7B7 -:107A2000D7B573F99374007D4AFC25E541E23586AC -:107A30004F8E77294F921E11B9CF03FCC2ED23EE72 -:107A400057158A739195CEC011BB0FFD161E7F2D61 -:107A500014E72365FC75BEA04B912DF81ACEB357E1 -:107A6000FCF532FD83EA65AF8EC0DF0FABCA3E4A3C -:107A70004F29B7E0BF5AE4FB6D41F703C25F3C21D9 -:107A8000F444F5B87692CBEA0F1A489EDDD3B95E7E -:107A900073BF63D5C78CDD27E6BB86BE9B9ADC5ED1 -:107AA0008EFBC7537FA618E8D7F705E7223C2F8641 -:107AB0007EDE8683DE79885FF13B52F25CCD1F85E6 -:107AC000DE39BD4D15BFABD9A05FCCFEBE547F2CB7 -:107AD000FA8642F79A08DFF0F4F6D2491FA27FBA7D -:107AE0002D857EE7E4D3EDDFFEC187E9F83B22D7A1 -:107AF000FAD14E485F1124FEE9CE70F937F178ECE7 -:107B0000748C5735B51FF4E2399C4F9EBE6A0CEA5F -:107B1000ED2483CBFDA9E7D5658897FF0324F17B8E -:107B20003E008000000000001F8B080000000000E5 -:107B3000000BD57D097854D5D9F0B973670B9949F5 -:107B400066924C36B24C02045412262161916D9219 -:107B50001016599CB014906D640901421220ED87F3 -:107B6000D57E190CA5C823355A1770EB049762B55A -:107B70003568B441830E0808553F47848A15EC8860 -:107B80001441423245DBE25F5AFFF3BEE79CCCDC96 -:107B90003B1350BFDAE7FFC3E3733CF7DC7B96F798 -:107BA000BCFBFB9E3377FEEAF9B1A38A0959ED9538 -:107BB000120D8490CE5DBFFC577A1221D54FD65955 -:107BC000245A6F7AF6757DC04488C6DBC29EEF8A60 -:107BD000B7C07BE79FB8772C194CDB5B9BB0FDF3FC -:107BE000275AB0BEFF57CFBFF67FE87B35AE3807C8 -:107BF000BCF7F98BFBF4F0BCC6AD75B6D292B80FEA -:107C0000E8679B69E9794626C9844C21ECEFC1DD20 -:107C1000FBF4F67C5A6FA5A3D2EFC95CBD77400E8A -:107C2000FDAE75B776A909DEF0125242C7FDD5E266 -:107C3000916EA8B7DB08490B3DDFA2271E63022D1A -:107C4000FB101243CB0BA5268F144FD75566DA02D3 -:107C5000E585DFC4CCF5D2EF6AF5813C2BCC6730EB -:107C600071423DD5A2C1EF6B5AD7EA6A4DF83DF695 -:107C7000F3071D2150E6130F393B88AE9F9027BFB5 -:107C80001E0AE3FD96101BBE3722A68890390B3ED4 -:107C900091603EB183EB75AB719ECFB276BAEAF0DC -:107CA000F6610D743C3AEED7F0372E5416594C3825 -:107CB0003E05087E97DE56996187F527191CB07E30 -:107CC000B1BEF46A7793993EBFA9C1ED90ED84BC33 -:107CD00072EEE884BEB4FEAB41D250195E97A5C5E2 -:107CE0002EDA7FADC784E3ACD950463EA5F31D0F15 -:107CF000BB48BF4FB690A41BE97A2AB424C9042517 -:107D000021C77445D0FF53D86E371027A178607F04 -:107D10007DCE531BE9270FEADC6925D0CF16BFDEE5 -:107D20000EE5936CFEF47B8BA908FBB3DC08DF1B2C -:107D3000C93AF8AE7BE3D4A4AD12F6EBD72584E6BE -:107D40004D48306B763EEBAF18E034C93317DE2771 -:107D5000763DAEEF737805F7D153B0301FCA6D6C26 -:107D6000BE1AE2067C49D6D312E1EACEA9A478B3C2 -:107D7000C452BAD052122A93FBB076355C5B78FBC2 -:107D800027162796645722212323DF13A580FFFEA1 -:107D9000395DFA001DF7FE573F41BCAD05BC85F1CA -:107DA000DD67F4B00E81B7CBE013BA0F0FEEF90424 -:107DB000F17659BB84F0A96D2FD52FA5E58546270F -:107DC000F9544BEB1CFF1E94025580D79E3D319613 -:107DD000A7289CBA047E367F7256A6CF73DBD3ECFD -:107DE000123CDFC3F0F4A046E301381DDC79434BBD -:107DF00093143ECF8D081FA99A209DD4D613AF812E -:107E0000B6973ED6707432ADAFA9260E039D57AD1E -:107E10000A8F721E3FBD19F0C55A438A63ECB0CE7B -:107E20008F27F4A5FDD7D69012A0D3F4F1CE3D5004 -:107E300027ED121900F56AD73218FFA6A4950E99FE -:107E4000F66F1DEF6A83F16E4A1AE390697F0F6641 -:107E5000B66E36D2764F05B13C0570D0359769695C -:107E6000FDC10ABB854292C2EDC954682783F48ED6 -:107E7000A7008FDDCB6AA0BFDAD4F90EC09308FA51 -:107E8000DFB37110CCB7D6DEC71143DF9FD22E21EE -:107E90005E118F89C0FC6B297CA13EC53BCA0BF3E8 -:107EA000B9C8E127E0D8A5F32F82F975BD64201E7B -:107EB000DA3E653CC357EBF856E41F6FEE997858ED -:107EC0002A08E1A5F965830FEA095A8BE400BE444C -:107ED000661A603E4BF97C9A7564B18B7E679DC4CF -:107EE000FAE977B784FCE259A0271B941A5EEA39B5 -:107EF0009E37B3D2E22970517CB8C8F71FD184F6FF -:107F0000BB9AE3CB9A653EA4A79AE7587F490667D8 -:107F1000E1FA30FC4D2A2748C7BB62C8E24AFA7C26 -:107F20009795956A7C7D8FD375CEE3EB70DF97D202 -:107F30007D877D4DBF9B3E07B851BC00B8D17D44C5 -:107F40003CB8296905EEDBD2BBA55B701F3DC308B9 -:107F5000D46D896C9DEAFE8FF3F5ED8A71154BB4F3 -:107F6000BFA0CDECD829C17C9C9A18A8175A1D3BFC -:107F7000097CEF7A12C6B3A5C4389AC2F81521AEAF -:107F8000620D1DE75CB299EDB7F75DED8C7CA04703 -:107F90003BB6DB64E223C87F48AE2B3FF45D453F30 -:107FA000D65F05EF6F6AB3A780E43278205C383C77 -:107FB000BC1BFBCC0DE7A71F717878AF2373816FD3 -:107FC0001CD4139311FAB7D071687FC93B473DB1F8 -:107FD00015E7D784EB3A60B1605991E82AAEA7FD66 -:107FE000D9FAB91A002E629D6A782CE1F0D83F6761 -:107FF00051A106F07896C9017477FFABD212C46B19 -:108000008F911225E03DA34342F703E882B8B5B84B -:108010001FB5F52E6F74BCAF443AAB4D8A71C4489E -:1080200088F74E947F1E9397E13D937FB19398BC60 -:10803000023E59991FC90F049F01F906F82CE8A2C6 -:10804000766C200FF6F79BF2952E1DA3F32E0A07F0 -:10805000A0234137E65718BD6CDD682F85F6AD9437 -:10806000EEC3F7FB90DE83F47B28B78F03FA8579A4 -:10807000BACC21FEDED7E28AB752F8D56A7C9BB52E -:1080800039217E5CFBCA5D79EE28F827F8B151CB27 -:10809000F89CD11BEB65FDB2F18C14DCE6222C3D83 -:1080A000208F623730F8A8FBC9B50AF96AB49CA1E1 -:1080B000727C3ADDA4F87E844CD2B873613E6B8C3E -:1080C0008143746749D686A01EE6910CB20BE8671F -:1080D00067AC17F856723271BF10A5DF242BE3038B -:1080E000625F9A13181D25C7B1F7C75A995E516888 -:1080F00065783991BF2FE62FF0DFAE717F42E4DE65 -:10810000E598F88ECE0BDBC57CE8F75B0893BF38AB -:10811000DFE43BF3766E0DDB8F101D5D5704FBD45F -:10812000EF6E9F768929348E90A7EAFD87F903FDCB -:10813000C07A2A07F7FE5EF33E468F6A7C9CCEF536 -:10814000299395B0F774BEBF225DAD35939D30BFC6 -:10815000EDC49948E755F7DA40460FCE601EF4FFAC -:108160006682FB19D88FE1E3399ED3E733E8F3D574 -:108170005AE231D03D59BD4BE70D1819CD7C4DFF6A -:108180001B97C0FAEF361B3D32C5F30F13DC0BAD66 -:10819000B4EE29230E1FC8A51F53FE01F4477C250A -:1081A000C05FEA48200EE05C2BFBF308DDFF2BB13B -:1081B000EE25F0FE698D3F0B9E1312407C3D191396 -:1081C0005740687F6D7A5FE67FC1BC8FC86427ED3A -:1081D000E712714E81755CF26B123C741DA7DADFF9 -:1081E000FFCDABF4AB85AF5E5C783B40696BECA236 -:1081F0004768B9C0A8316A8786E071D21C9DBFFE6E -:1082000098E385AD89E95DC18D062FC047FDDEE4A9 -:1082100004F65EDDE574E2490C7FCEF8689D36A871 -:108220000715B2EE7216F1D0714F6948756B143DA7 -:10823000F39495F1AF368AFAD1DA4F733CDBA5237C -:1082400079DB613E2D940F02FCB476E417D5BFC8EC -:10825000716CA5D5B6DCE021D023820F48C8FF4F52 -:10826000EA18DFA17FB38CC342F213D413D00FAB53 -:108270002D1E9F86F28DEA06B34F2EC0E7DAD1B0ED -:10828000771E8B16F8E0122E1797D6BFF995144774 -:10829000DBB5C4389A7EF79969591C8885AA1FAE48 -:1082A0004F06E53B654133D22768B4A08F4BCEA97A -:1082B000F2D7B157D3E7B4A8B723BED0FD9D96E05F -:1082C000F2C27E2F8867F05EB03ED6EB09E37FB343 -:1082D00038BDAAF16C17E0289DEFC712932BEA7105 -:1082E0005E4C289B0AFDFEC3EC7A16F077C1FA8B30 -:1082F0000A7ED625059E7E04F071ADD9F114EB36C9 -:10830000CB15462F87C5B89735B87FDD85FEBC0DE8 -:108310003980F7C1AC0F289C5777182C1E3BB4EB63 -:1083200015FB7FBA9132BEBC30F974AEFF04620215 -:10833000F83B36033E2CDD124B3C8342EB00851BA1 -:10834000F0BBF632C17E9674BC7902F879AD368006 -:10835000F8B3C468C2FDA9BDACC579902DBACE8072 -:10836000F89ECADFC438E721589FE767A3AD676F5F -:10837000A00F53E8735CBFFB6D78FE506C1C71322C -:108380007AF10EA4F3BF64B4C7275078D5E9297EEB -:108390000CC16E5CC630FD8A649895FBDF71E42BDE -:1083A00098CF32A35B0FF27EF9DC7A3DD0E582787C -:1083B0005F896570F8BE8F96BFBEE19BEFFB6ECE06 -:1083C000874EE9295D44A1C3D39C2E26034ED2F2E9 -:1083D000543AA39F5359A4FA0528AFA725FDEE549C -:1083E0002EAF17B1BABA1F7D02A39F53054C5E7919 -:1083F000D631F9A17EEF32DFEF6909CE20C04D3CC6 -:108400001F93C09EBF98E0FC02F089F2C3BF737C4B -:10841000F559697F0B5E3720BE924DC13CD8C79E8F -:1084200075E5F1F926479F57DF04B63EDAEFBF60E6 -:108430003CFA9E13F5F6D762BC608790A9943F037F -:108440003F5E9749801FD371F50936ECD767C5F7B2 -:108450000CB80EB285F2698AB7DD2576DC97ADA53A -:10846000143F814FEC3558804F087C127814813FBF -:108470009C8F09397C33C86119E570624209CA6171 -:108480003DD039ED51CFF4C1FEB8DF8867F237DF58 -:10849000EFBD46B68F94DE3313703C5F7E38BD0966 -:1084A000380B3E79AA8F122F9EE27C70007FAF07B7 -:1084B000CE09ECBDA47E4CEE09FBA084EFFB335645 -:1084C0006529E4D8F0494ABDE4198E6FCF58E3C45A -:1084D000BE1402BC85FC8BD8EF47D97ED3F786C18A -:1084E0007A1618828B12A9FCFA01D58BF445F8DDB7 -:1084F0006EF82EC24F319EC9DDBA7566027A81339D -:10850000C1C2E05F1CCC82FEC8A020F2A12584F28B -:108510001BE9DAFB073E81344A23D3E298DC9164FD -:108520003A20D0CC206287FE28BCA784C35B3DDE06 -:108530004968A27AE0EC04497B16F6A89014C27E42 -:108540002D7AEF0BF342DAE5458BD1A3A172E487D4 -:108550001AF73CE8A7F3B623A8F79FD4FBF29A4D8D -:1085600051DAF5BEC71F9242ED8B9F913D7ACA67E3 -:10857000DAFC9D0FCCA178B9C42F3B60C82577FCED -:10858000F59DE1A04FFB750EB06BA93E71B796CE7D -:10859000FBA486ED27A957FA051A38BD50BD4A4BF2 -:1085A0008685F893D00B5612DF00D01F9612A71EB7 -:1085B000CAD36B574C25145ECB4D0DC8B7CEAF9BBD -:1085C0008CFA7215F160FBD22DBAD3E1F26479B363 -:1085D000B2BE62BBB2BED2ABAC5FF811C3B748BC8F -:1085E000677A98AD3CBA7EF118A7B70BFAE8EDDBD5 -:1085F00038DE96FF6CEA4348FF7E1D31503C69D857 -:108600005B9A42A2BC2FCABACBB9C41B268742FAD6 -:10861000471EF10E85FEAEA03F10FA013BB721C602 -:108620009902F6C885B2E8F37880CFA3EE729F5E18 -:10863000FA8DC37E2FE45E7D9D75978DF85EE4F71D -:1086400026EC97EA5951BFFFAD805342F4F65FF72D -:10865000CC2F15E562E83BBB4AFFCA40B95A77D92F -:10866000A290D3A1F6242657B99F80EEAB07F562FE -:10867000AEF7518168391B1BE263BA3E6C3E826ED5 -:108680003E9588310DFD6AF7723BC25100FAF1A7A1 -:10869000A07F01DD4EB4BF16A0535D7AFBC83C6DD0 -:1086A0006E88AED4EBA1F8F879204C2FD89F604E9D -:1086B000C2711DC401E30A7A58745B45BC9BEEDBB2 -:1086C0009FEE284F710F0EC73B0F8E5FAB177A9F3F -:1086D0004921C7894ACE2F6D3F827ADD32A32B0F05 -:1086E00098D39FF7DE867452455CC9401FDD7B0737 -:1086F00066B9FF17F25DCC67A6E7561DD3E3295094 -:1087000029DDCEE0F399D9C1F44A8DD1A9C3719C7A -:10871000C46E4946539DCD9732592DAD8FE9993F8F -:10872000381D0919CDE72FC1F714BE63784996B8F3 -:108730005361DE0618978E1743BCA950368D74D846 -:10874000A11C27B9B46C1E5EDCE709A43E03DED78A -:108750001803325B279D41327CDF032FAC9B797D70 -:10876000D3AC4B8B96C3739319F98F9ECF434EA412 -:108770007C7310F22523ACDB60F29D87759979E953 -:1087800029637ABA2797389AE86B7D482B81714D17 -:10879000A68B1E58AC855824A8C7582EF9C05EB9C0 -:1087A0006831793443909F1A12819F4A6F57C1BE36 -:1087B00050FECDFC57BDB56B7D682709FE98C0E71C -:1087C000D7C4F9631A61704822AE7D4E8AD7F799F3 -:1087D000ABA6923810E36E1C7F47DCA4C3305F0069 -:1087E0003CCAF949DAD3E172C6E6D22AF85FCA5C1C -:1087F000653DCDADAC1BC9490BE8A392CF95FA7589 -:1088000022DA7F83C09FA3E3FC66561F362F813F89 -:1088100079899CBF733DC4C5FD01B5097A827EC4C8 -:1088200064A3910C41BD242F91F9073EA63B4DED69 -:10883000C620F2F3C271CE010F50386F7E4F76DC46 -:1088400049F769B3D9BE510BFADE3C89E9F7DA562C -:108850001FF8875A16591D5BA13DC679CF3FA1FD70 -:108860003D9980BE55077EF94478D1520ADFB56440 -:1088700059F0BDA4F220FA53837711D4A722F0F463 -:108880000A9D3F85F713880CB49F6596D5CFD1F725 -:10889000D35CB10E29ACFD4968A7F394385EC0F3F0 -:1088A00071C3C0FE657FFD3A0AFD4EF06F386594D6 -:1088B00087751D856F98E83CFAB90B1D80B6FD3BA6 -:1088C00078FC25C9E065F1074AB5741EB38D6C1EAE -:1088D000751DA53797D0F6FEFEA104E210B187ED15 -:1088E000F36BA04943ED6EF8AE2C16FD5EC7B8FFE2 -:1088F00089707E305C456FA342F88FED85A24ED51E -:1089000006E730E6D6C07A12A30307117F8C3E6FCC -:1089100024A13FF8BE3CD41FF2A3F1A1E610BDD1C3 -:10892000A515191D4D35F4BD839513110FEBC0EE40 -:10893000A2FB315CEBDB07F43D8A9785BC244B9AA4 -:10894000119E5B37FAF6EB72C0D5E292A13ECC7273 -:108950005713F43746F2619935F7DE2640AB7DA018 -:108960009C217EB92B801E3757100BE85F4D231CCE -:108970000E0B6D9A3397F96767CF357AC1DF3F5B8E -:108980004B585C4CEBCEF901A5AB1F2C607E61A867 -:108990002F08F3BB8838C8316AC7EC8EA20FEC4BA6 -:1089A00064724A7C5FB749AF8837ED4D3461FB1381 -:1089B00089133C89A8A7B97380FE3627727D6C1095 -:1089C00019047C258CEEB722DD97BED51B5F50B60F -:1089D00073BE30DBF90B1DEAF19C3F083EEC023A16 -:1089E000A4DFF925A70EE0F7611983FFD1D295C85E -:1089F0001FE610373EA708A27385FB9B2685E94337 -:108A0000749CD92EA57E3467AEB22EF0558C3BCF28 -:108A1000AD6C9F21F4DB494AFD76C17F5DB1A21C9C -:108A20004C797ACDD7D9185F413F411DDD27165FBC -:108A3000D1B278CB26BD17F4A4BAF6B5076D40477E -:108A400077104E47BBA56518FFD92D2D0FD323FAFC -:108A5000D67825E0FB03E99AFCB8AF418C2B1DD3F7 -:108A600079F741BCE5D84ABA623ACF37F42C6E792F -:108A7000208678C06F2DF0D33C83F95D291A63FC02 -:108A800024C312EB007CDAA229423FED9638B323CF -:108A9000DC2FBA7523C5BB30FFACDDC0428CC77A72 -:108AA000B17F8F24323BE74189F9C93DF38C68EFF0 -:108AB000D9FAB91471099B4C4E80BFD19368473CD9 -:108AC0007A90FB4320AE3794965E89E9333DDFCB45 -:108AD0006413FA2755FCC796E8C0B8802D3E1FFDE9 -:108AE000FB733B0A9F447E638A710C9042FDCF75F5 -:108AF000B7689783FFA0A345BBCC14C2BB93025FAA -:108B000063492CE06B8FBFEF0503FAFB7EA871056C -:108B1000002F6BF4BE02A2C4E7C0D5E4D80A8E2FA2 -:108B2000BA32D7BCE5743EDDEFE899FFEB0E82F474 -:108B3000FAE21E2BFA2BB53308CA934DA504F1A116 -:108B4000BB4542FDED336B35DA019BA46694135DA2 -:108B5000091370FF56990EA05D5BFDA8EE74B8DE98 -:108B6000B5EA49657D35F1A35D5DF35C043E23FF05 -:108B700012FCB1B64DF91DE9AFE48F859CEF17B932 -:108B80001C332B60EA731DFD985D4D7C06BA8E92F6 -:108B9000B7F5DC4FBC80C94DF2B404FA56B7F99C66 -:108BA000CCE89CF1E312DE9F5A0E95707D6A2CE5AD -:108BB0005B607F0AFD88BE8FF5039A0E3955139AC4 -:108BC0005731FF4EE865826F8B7D291D41C8088AA9 -:108BD000F7B9497C5F73492EEC2BED1FE901504238 -:108BE0009F80FD7BC06E1BC5C7A3FBEE0139EBD197 -:108BF00018BD80479BA57AE4D346C2F9B5E446BECA -:108C0000FC3B8F4706B88E24F533A7D2F7461BFDF1 -:108C1000B1000F8A0F7949B6109E34115FD66E49A4 -:108C2000812FD8DE697D2B2ABE08F9E2FB90E91777 -:108C300053E88AA19F0A08F8D0F280C4ECC289A642 -:108C4000FBB5F0FD5B9AC9880F9388570BF3ABB067 -:108C500028F77962AAB23ED91E8107328CEBE4F084 -:108C60009C3248D9EE147C8D28F95A0EB982FB4CFF -:108C7000EE3AF443F00BC46E208340EFA01A22D2E8 -:108C80009B9A1F4C4AEA355E3229294ABCA49BFBB9 -:108C90007F6F2481AAE7A4487CE93AB8414E0DC30E -:108CA0002B81C7AFF0FC0AE9751E972D66FEC090B8 -:108CB0009C67F8328CD76E047CA3EFAF1478924D8A -:108CC000B2014FC6B4C7F8640AD742DECF8D8037F1 -:108CD000452179EED398ECFA5CC00FC716598ED4B3 -:108CE000DB9313EC882743354EC49312E24884FD8E -:108CF00019616C6DD2C2FCF70CEFEB3629F0620DF6 -:108D0000E28544F102E92A422E2ADB557823F6EF68 -:108D100030D79727124F7F188FB2B103A02FFB7265 -:108D200018DE541027E2C99BB99379DCDAADC57E11 -:108D300088521E961B9578A0C62B3AA2267C5C35DD -:108D40009EF58637D98037421E265E1B6FEE49326C -:108D500029F4EA30BCB927A9A477BC51E38BE027FA -:108D6000BB632CE5A097D6554BC88787BED3BF09F8 -:108D7000EA03D7E460FECB6EAB03F5D6BA7AD65ED3 -:108D8000EC77CA901FD3AF81B7E7B8CAA15EB781AD -:108D9000C5294A8EB1FC99FE77B0F6C23BEBDF30B5 -:108DA000837CF7B0EF5F39BF598EA3EDDECDFCFBBE -:108DB000D2E672A8D76D61DF7F067126BABFC34EB7 -:108DC000789BE0F97577E73898F9C9F4D9711C4FA9 -:108DD000774B2FBC81DF35B3EF561C32F621A80745 -:108DE00033BD752C5FE7B847D93A933EBD69929D74 -:108DF000E2EFF2A007F5A6B39A9A61C86F7AB13391 -:108E00004BA5E60C2829DE209F711A295EE7B238AF -:108E1000E44E3AC45B49CC9F21E277904F109E3FCD -:108E2000F0561293F7E2BDE404C2E2CD0F9BD11FCE -:108E30002CE28BBE87880474066BE4F23F6ABC7137 -:108E400062BF7A8C334ECC1671C68076091DB7F09E -:108E5000EB2F2644F3A71C4D627AEA399E1F219E10 -:108E6000577B73348017BB0149D20148F5BF07BD5A -:108E700009FDAF4C6878C808D857560F24D56CDD6B -:108E8000428DF4159A7AAD07844C16B5BF68D7D3D6 -:108E9000FDC4171F1739FF895AE203F944B46CFE69 -:108EA000554D540E4A21BE345BB09DD103904E67A0 -:108EB000F17DBA28F8CD503214F8CD6CBE6F3F303A -:108EC000D6EB98BC6CD6A9E8FF2F48FF3B7AD59B20 -:108ED00095ED2AFE50CDC7ADE2FAF24A1244BDE04C -:108EE000ACE4C5F2DC0EA62FAF361D43BDA2FB617C -:108EF000A627D69000EA1D6AFFE1EA5DCAFA9A56F3 -:108F000065BDAE5D59EFCEF7E038DD3BD60C03FF13 -:108F10005DF5F677D02F5C2DF88457C927A882C459 -:108F2000F8C443D7A3DF4663A47CA218C0D507F3D7 -:108F30004D86126722F00310B25FD3FA5DF0491A32 -:108F4000AD6B5C093694339312CF88F1658CE7BE24 -:108F5000E3B487F6A5C72E54F18942E18FE99F80DB -:108F6000FE2AC1370AB95E4226A9EDC6FB91FE86EC -:108F7000F25ABE8DFB53B8DD23F40CFA3DEA197E9C -:108F80008DC9ABD184EB155EA4C72223951348424B -:108F90000E23B3579A896A7F0B6D57B79B94EDAA3E -:108FA000FD1776CB30BEFFF388BB2FECC72CE23A1F -:108FB00008F2E1E887D50A7BE9C33F4E10FE14B4FE -:108FC0009BBEBDBDE4FB4EF652CFBEC750FD919691 -:108FD000E533260F7800E2E36D3198F75927B17D2C -:108FE0004E9E772C2BDC7F78B491D8B46174DF343B -:108FF000D96084F860938ED91333A69C1AB6248C5A -:109000006F3C6F2C9D0DF0DA2CF97FF411D81747C7 -:10901000648279351D36DCF74BCDF439C5B74B8FFB -:10902000DEE0F0D0C717742CDEF899545F05A95024 -:10903000621E551B7E1FA3A5726C85EC7D2D00F171 -:1090400055C9FB720D6D3BAE772F85FE576B7C7A51 -:10905000E6B7F3639C54F4DFBB1FD2837C4CBF9F05 -:10906000C9C5A0D4C7C1FCB89EBCF078D39264E651 -:109070006FFA30C15507E308B927E20927D74E8CAC -:1090800007D1F02571C6439C53D242CC2E723CC806 -:109090002BD814E6573E19133D2E70878DF1579843 -:1090A0003EF0F734ABF32736E0B7DCFE3BC7E35DB9 -:1090B000E7E258FC6B8B8DC9810EFEDDE3BC3CC73B -:1090C000E363E7129476A378CFCBBF3BD368346ECB -:1090D0000ADB4FFB43867A2FE653F1FC9106C2EC84 -:1090E000A43DD696AD61F1D0676DA51D000F5B3F25 -:1090F000A73E0DE0B787C961884743DC78A4C5FD6A -:1091000020B4D7DA8913E2AEC41ED0CF84F823D8B6 -:109110009DA83F307CE98E61A598D7B3B6CA0E589A -:109120006FF7DA00EE674FBD92F1C7676D2E1CB77F -:109130007BB668E7F56D01BEFFCC7F20FCD9BDC5CD -:10914000C3D4F12F2A38989E1DC3F8983AEEBD502B -:10915000F0311EF75EC0F9D0C20EE61F5F64249B9B -:10916000FBD2F6C51D29CC5E8CF3E429E2DE9ED845 -:109170006F95EF20F0B33BD3DF13AF7D382C5EBB90 -:1091800086C7FBD688F5B529D777C4D66BBCF688D9 -:109190002D4ABC569D17F032C8F7FE2178AEB3B009 -:1091A000F557C835E57AE013CB08E691AF3BB2B48A -:1091B000C948EBEBEE02CF1FFC317D750D87576F71 -:1091C000F3B3B934C4AEF013F721F630BB38CD9DFC -:1091D000A0A8A3061C9687D9B73A5DF17D667DAE3F -:1091E000E2FDEC0DD72BDA733C458A7ABF2D372A86 -:1091F000DE1FD05CA6A80FDC7E93E2FD42D22F1EBC -:10920000E3B18765F09590EBBC3314ED37ECBA45CC -:10921000F1FD67A4FEC1D1F4BDB618260788C7E9E1 -:109220001F3C2C94779CDFBA44F17D93D43ACC4711 -:10923000DF5FE667FEF621EDAB14FD5D889BC0ECB9 -:10924000081E7FACA7FF181FB7CBA80FB54BE46172 -:1092500029321E59DD71EFE6BE2452AFA07F28E708 -:109260005751390F7A945ACF30279B93101FD24908 -:10927000FAD7617415C20313EA61971E95D19F5600 -:1092800048063E341AE1A3235E7BE47E5D22CCCF08 -:1092900073E939B303FC652B8E2C45FC33A42AF10A -:1092A00020C6AEC483D8414A3C303B94FB1E3F42AB -:1092B000B9EF6A385B9D4A3C107014704E9CA4C490 -:1092C0000B01DF11F41FC0B788040F619EB5577200 -:1092D000F84894786F7B0BAEE35A7ADB70153C87C5 -:1092E0001E703699104E2CEF4AE84906EE9F56FB49 -:1092F000CD85FE313199EB3DBC1FE1E7DE2C795085 -:10930000CFE989678DF065F97240DFA927CC5FE26C -:109310009A926C8BEA57C3E7BDF9D5041C853EB31E -:109320001AF4193ACE72E246BE7486EB332B4CF730 -:10933000635CF0C21F197CAB8917F9F5B78D978371 -:109340009E48C2FC8D6A384A1D92CF0C74C0F976D3 -:109350003AE9107CDB8D791314ED8CC314F105A56B -:109360001E4A9C52387F127AA9184FC053F02D31F3 -:109370009E81D4CBA940072A3E4606A9F554A5DF15 -:1093800043F84970B0B038C6F09EF804B313437E7A -:109390002FE6E790B3739A08E8DF16E1D7F0CF879E -:1093A000E7C2AFA1B6EFAF15179DE991028FE44474 -:1093B000C643457C952EF3D38FE8C7A3257B268C27 -:1093C00037E3958136A289E697739C7895F6236BEF -:1093D0008289E1FE32E1BF7E530AE0BC7F409C3FC0 -:1093E0002561FA422D699D303F07FC9F546EC541AF -:1093F000C9FC3EA45DAD97B278A286AE04F07B3581 -:10940000098B17E684DAB12E47D6459ECBB5E4FB2F -:109410000D2916EEEF60F93984F33761BFF5662F39 -:109420008978FE413D85495128AFE5E5646E6716B0 -:109430009002E89FD2D52BC9689F533A94C2E9AEF7 -:10944000270F06DB23E84EB57E11CF97CDC5E87711 -:10945000591ABEDE6F000FA147FC8BAE0DF6E7FE7A -:10946000643BD6D7F439F907273417FB15F98C7507 -:109470007A963F4C5A95FAF3C7C91AAE4F38E56F42 -:1094800002A7DEF781E785F17DF8A6FA90C80B13F5 -:10949000F03B23F86008DEE7147CACC76EEB81F785 -:1094A000B9687C4EC0E36289FF69D827D97C2C1942 -:1094B000E0FC0FB3EB22BC9F79227056D284E655B4 -:1094C0002177623EE8A57619EDA4DA312C4FA87613 -:1094D0000F06CD49578701E382D5ED6FA07ED6D91F -:1094E000481969FFDEE1D4B35E15BC7BB357C47A7B -:1094F00074294A7C13F922749D312951F3017AE0D1 -:10950000A06CE77010794A15F2E0F840985D728817 -:10951000EF7B8CD6159F42C72F7E3F230EE0532151 -:10952000771C4A07383448785E699C8178C0DF9F91 -:10953000C6CFAD8D08D43B2C141EA919263C7F3410 -:10954000F087B20BE299A71AD627C0F9AACF1BE978 -:10955000D0D4EE1828695C886FE4858F7F5C0C712D -:10956000B60598A7BCD0C0E2FF393F8AF5F5A37CC9 -:10957000E2753D3102BDE972EBF17C46D02AA3BD14 -:10958000912493F1805F02CE49B16C1DE279E963C9 -:109590004F4A90CF249E8F6B0A0E5D07F94CB0EFB7 -:1095A00025A1758E2B0F0EAD3785E02CF204893680 -:1095B0009835238C3E8E7078D4DAF49B411E761950 -:1095C000B91DC8ED4162D1221F69E0F1F69303A8ED -:1095D000458AFDF8CC9097551BE38C1F0EFE2EC8D4 -:1095E00027A0C5971667BC15D76F47BDB981EB5744 -:1095F0005D3CCFBB6172590AD853BDE53F4D4D610B -:109600007A7E0D8F838BE7355A1FE62DD540DE71AC -:1096100058DED3B7CD3B16F9E6BDC2C1AA255A0A1A -:10962000875A89B8AEF6DEABFF92A3DABBEB5334B0 -:1096300057CD835B952229F2DC6A21CF8D3E6AD813 -:10964000539A42A2F4D7236F2EDFA8C8271379D2EA -:10965000B597C7623E59F9CF3AF19C20F46337853C -:10966000F2DC7A83F3916406E75AC80F1B1AFE9C5A -:10967000E151A8FF24DC875F0300C1DFD12EA35F87 -:10968000F6D7873593764699EF76BEFEEB6D5AA4F2 -:109690008F1B7CC4D912657CF19E38470270AECC1A -:1096A0008F9C5F5B596011CC1FF257A38DB795E378 -:1096B0008B98775B42A08AE3399EE3E8A95B94FB31 -:1096C000F80CDFC7B69B0259781E6972F47C7AB138 -:1096D000DFC3B4F512C02360761F44BD730EAD0C1A -:1096E0008173003E0DCBA36274D6DBBE87E0AD5123 -:1096F000E41546C25B8FFB2CFA1376C9F9ED32C62E -:10970000FDCF1FE574499C2689D2D7AD5C6E9D279D -:109710002C7E70BE59427B64899B900D94BFDCFA0D -:10972000E46A8CDF543D357433882B787E07E5235B -:10973000B7A6123296964B3629E3B7CBEE8E88D772 -:109740009070F948D54FB4AFABEE577E574DEEFE53 -:109750000BE83FD52AFD6620F777ED4DE1F6C230E4 -:10976000320CF8FBBAA7BED043EA6E6FF8FE39A5FB -:10977000EBFE5AE083162CDF4D711E003EFF718A0E -:10978000FB4DE0DBDDEF31385CAAB9C4F8FEA3493C -:10979000286F0CC09CE9FF1AE6B338ECCF28BB80D9 -:1097A000F89BC1C0F41BA1D7C9F27A398EB68FFCE1 -:1097B000734302EC5FD2B3132781DE6F7B36D60989 -:1097C000F0DA5AEA2C043FC0D64A13E633180D2CBF -:1097D000FEEBFDF5C8FD100EE8DF7A6F19D8A196F3 -:1097E0008E7D3EF0936CD1FC05CFA16C19CBF2DDE0 -:1097F000C438751D95BB613E59B398DCD89AE32CEB -:10980000B484F54BB89E56CB61D6BD77E03D70FE73 -:10981000FD91C3A826D3F5E5A23FEE7AC2F653E444 -:1098200055C1D8E1FA6827953F909C27EAD7B74AF7 -:109830003E1D5DCF9AB6DD18C7A8B9D3973C1FE48B -:10984000CC335A8C0389F925BD9E5606F11E215F43 -:10985000E64B1694FF42DF9E47C41F8B17CDE57879 -:10986000308FEBD9F363197C971047167C778B9177 -:10987000C4819F7A7E796B09CA9FD53A2BE835223D -:10988000EED1BB3E10DD5F54FBB4999DA795827964 -:10989000D0C9E7D4FE20CC6F14F57C52522AE3AF36 -:1098A000B5795CEFEB4F9C1067AB7D6D600BF805F5 -:1098B0000C7D583C96F21DE38822D47B8D60CFACA2 -:1098C0007C35C6C7FCD65E7E6ED6590879217533C5 -:1098D000328A303FE104E51F66388F18C8423AA546 -:1098E0007C45A2B22D7FBB65AA16CE0DA653BD8ABC -:1098F000D6E7A7664DD5527CAFCD0D546968BD69DA -:10990000FB7056BF3E7016EADBB697B17A51A04A9B -:10991000A6F55DDB5DEC7B30F02862BDB47DCE54F6 -:109920000FE813562EAF1D013C475CFBCA404DB8F3 -:10993000BFB22595F1A5CFB9DFF5F31CB27806C00B -:109940007B5000CFA989F77E9A2AF45C96E72BD644 -:1099500029BE23A9D1FB1F9DCAFCC42BF9F9DF71D5 -:10996000B1644B0C8B5779E228FC0F740CC4785B04 -:109970004E6A028717EDA738D48F80A3E84F8CBBBF -:109980000AE42AF05B1DF39B8AF6C9A98C3FD271C9 -:1099900036E1388319FC6B676414C2BED1FDD2F284 -:1099A000FDD232FBB385CD8FF66B2D40FE3E14FC0D -:1099B000DE07AED0F77342F356E3C70F387EAC6CC8 -:1099C0006271C6A0B51FE2D1B858A6EF9162E53A20 -:1099D0007671F8B5A45A997DD5B31F29128ED3C4D8 -:1099E000E19841E19EFFEDD75DFD3DAD3B6CBF9C35 -:1099F000709EFF40FB753BC3D723F2B6453F9F6F78 -:109A0000547D3782E54FD526F4C3EF7E16438CF89C -:109A10009CECECF92EA780E999A07F8AFB1D886752 -:109A20002C3A0B6A38D7E8B9AFA195E711F677B2AF -:109A3000F3CA33A616F3F559F8FA2CC6B07B1A7A96 -:109A4000E8F158306B9639127F7BE0DED3DFE022FD -:109A5000DE9F82AEA3F507F4D1DB7E3CCCF1E3DFE1 -:109A6000B61F629E2A78F6C059353F014FA067FCA9 -:109A70006EB0121FC53CB7A58ABC61155DE77CC7F7 -:109A8000F14AD9776B6EE3F9C076253EAF69CBD149 -:109A9000401C5D7C37097CEDB690DF6D6F2AB7DF27 -:109AA0003248462F7970FB52A3FBEBF0B9DA7EEB1C -:109AB000B6B2FC67B5FFA0DBE6F0C3B93ECF457692 -:109AC0009E7D944ADF8038CC0BA6D0772179A2AC5A -:109AD000C7A531F845FA838278FEB6D850F6A2DDE4 -:109AE00041C847DBD7207F2E8E2F5B9F43EB81ED54 -:109AF00075ACDEB7EC8B1CCABF4F6FAF67F51BCAE6 -:109B0000BEC8857AEA5A561FE77C51C608C2DAA950 -:109B1000E3D342FAC3A7A976A67F946B08E09141EC -:109B20005EEB003929E0D95B596CD0D447D34F3B69 -:109B30007BE899C5294670F93C42D8E701ADC23EA1 -:109B4000EF8E63E793BB419ED2F5FE3DD5FD975462 -:109B5000D053623B17E5D0AEEE8CFD580FFA90E47F -:109B6000A4FA06F83BEC16B200F2EA3AB7BA403F64 -:109B700022AB1C462DC293FB9FE8DABEA6FDBCFAC1 -:109B8000DA33B7F765C3B8601E2339FDD7BDF6D504 -:109B9000DF204E5AF7B9C901EEBD911D3BD6837E39 -:109BA00035B2E3ADAF98BC65E735C4BC47821F91C1 -:109BB0003E1FD16EC0F98FECB86E39BC3FEAFD8E06 -:109BC0007E801F634EFA9A801D74EFFD5D5FC5397C -:109BD0000DF299F45DCE69F4C0E3CF54798A4778E9 -:109BE00024A6D9001E57305FAACB76747300F534D3 -:109BF000E57918AA97639CF512E9E380788138F734 -:109C0000ADF65B9EA8A4EBA3CFC704E90CC2F4E5B4 -:109C10007197A97D1FA6679712ABA25E6E4C53BCCD -:109C20005F61C951B44F4CBD4ED13ED95EA8A84F1B -:109C3000193452F1FE3447A9A27EF388C98AF72B62 -:109C40009D958A7AA1AF55F1FED0C3EDCAF6637631 -:109C5000DC87A1275DE5A0C73BFCEE262887773689 -:109C600097C7DB4984BFB638E06D82E7A3AED497CF -:109C7000F84894732CABDCE8E78F38C752CACEC3E0 -:109C80007769D8390EE19FBD12EB9E9486FE590A82 -:109C9000760AECB1C66022EC57C5E26D983775299B -:109CA00048D09FD5A60FFC7C14C8F98532EABD6D5B -:109CB0003CDFA66D6EBE177C7A27A4C0CB10AFF731 -:109CC0002C64E704C6500D17D70DB14D09F6C9AD88 -:109CD00058772959A9DAA7B58A7A85E536C5FB13DD -:109CE00053372ADA27DBEF52EDD3BD8AFA34C70E99 -:109CF000D53EB5A8F6E91945FB9833812620A37116 -:109D00009D1ED94CE77FE389E672D89751273D0B1A -:109D1000815E8A7DEE2660872507EADF80D247EDE7 -:109D200029F053ED6F4CC5F240A31DFD4C871A0777 -:109D30006179B8D181CF7FDF3802CBB71B9D58FE48 -:109D40004FE3242CFD8D2E2C5B1B5BF1FD171ADBE2 -:109D5000B1A410CC04799194D8730F4326D8F35D45 -:109D60009A402D4452FF3B6D1FF2C5AE3E812EA896 -:109D7000DFE9791DF9E24A30A628BDB54049F7F37D -:109D800067E94E299D96DBD2D873919FD0AA7116B0 -:109D9000827E7D5FDA91BBB59954AFDDE84AB55854 -:109DA00059DD48EBB8D998A775E46EE768427E03A1 -:109DB0002203832647A642BD3B86B56F4B3B82FA02 -:109DC000B58823CF0AC591EF03BA57C7917F73CEE9 -:109DD0006E067FCAD12B03CDB0AEA3DC7FE4248511 -:109DE000BA5B6959AA2DD4815C3CA1D2234459A7FE -:109DF000297D04FA6DD53866637EF04D3A02F9E8A4 -:109E00003324668FF6E881E94C1E754F33A0BD738D -:109E10004CE35C8E794F52F07180D78B3B3E44F817 -:109E2000759B83590087DD3B4EB0BA2DF8B8E40826 -:109E3000ABEBD83A7FBDE383A91E53D4753E9F1682 -:109E4000255EDE96C6CFC7FA9C99207F45FD58A5B2 -:109E5000730DC88963A5CE01309FA32E03D28FC78F -:109E600065F642DE25D13A4B6687F9550AD275B8B8 -:109E70008E597A4667E41639EAB9F3A9E94CCFC29C -:109E80007D037B6E5E2CEAE1C734D1CF8D2FE3F0EA -:109E9000B9D027BA7F65793A93836533CDD85F7798 -:109EA000430CC671BB5D03510FEAAEA750A2F4D1BB -:109EB0007DAEFEE24BD86E10212E8C57CEE77CEAA9 -:109EC000371DEBFF7A9CBEFF7143AC0379B8E57A8E -:109ED000944FB7F09717261A516F593823B30CE4F3 -:109EE000D27C1EF75A64D62663F84B6BD5C39542D5 -:109EF000CB4C859B41FC572555EAADB45E9DB176B0 -:109F00003394ABFADFAB87A39A3583776F06F5718D -:109F10000D25AD12B49702EF34D2792DDE20DB99F6 -:109F2000FD24CE1FAEFE567916020F8FF17C190A62 -:109F30005FB40BABD225855D52C5E1F5651AD7DB61 -:109F4000F249FED7CA78CE65C093CE85EFE4F5E23C -:109F50007757B673BDED0F7A36AEFADE0A31EE0AE8 -:109F6000BEEFC7F4C429811E778B19F1A360EE17E9 -:109F70007796D0F517745834188F177CDCCFEE0F16 -:109F80002B39E3463E37BC33F0F4718278DE0E7431 -:109F9000722D3935D3B311E5C3C82FA9FC01BE78A2 -:109FA000C5FDF1716C4D8A7A2ED3D758CDF9633D3A -:109FB000F2B5038D1BB07EA8D183E5E1C62D9C3F91 -:109FC0003663FBDB8DDB397FF472FEB80B9F773491 -:109FD000CEC5F2B5463796FF30BB32D3812E8C6E9C -:109FE000CCD33CB8C3406488377418104F29053C63 -:109FF000FE4812E4C1182C70FE4E9D0FA3E6B73D3B -:10A00000FBDF16712FC675304E4FFE0BE867D9BDCA -:10A01000E3CF516237033F294DCF9C06FCE3A8DD17 -:10A020006E06BDB5EC615AA7DF1E75DACD3A5A2F20 -:10A030004FCF6275B7DD6CA0F5F10FF3BAC76E8E26 -:10A04000A1F58AF46CF6BD9760B0FAA6F4FED38051 -:10A05000CF9612E900D043B931673CA4CE56584A96 -:10A060000F001D4C4CBD753CD0C19E343BBBEFC2B4 -:10A07000BEF100D4A70C6AD1C2911BA7A970137CB2 -:10A08000579654A985EFC667ACDD04DF4DE87FAF76 -:10A0900036FCBB4983776F82FA54478B16F4C13D77 -:10A0A000692C0E2AFA1175D12EF8ABC8D71AD2E155 -:10A0B000423E5ED0EE423E2EE05236ABF2A7E0A723 -:10A0C000AB6B972C12CC6396D41384879CB8DA2B95 -:10A0D000945A289F9D973EC4BC917E5707F51BB1AB -:10A0E000BE6D6374BEBB283D8A7CF980D329C84D00 -:10A0F000C88BFE40CFEEF5780DD687FEC35BCDB79B -:10A10000627F6E33C8D703694C4E1EE6E5655EFE7E -:10A110009397751A6735C8CFBA741E4F8CA4EBF5A8 -:10A12000E98C6E55E7057A69E774FDC3741E5FE636 -:10A13000F727AC21EC5CD1B5F2B65686DB6F3990CF -:10A140009FD37A08F246D579103570DEA85F643E59 -:10A1500030E58B2CFFB15D9947DA637FF4617C0FAA -:10A160008E3182D1F1F3DED77DDF35D67D5FB475D8 -:10A17000AF242CCF59BD0EE2B6216D89BCE7C8F5DE -:10A1800004A2AF27621DFC9E3E55BE35D58376C224 -:10A190007C2A169B09F86FC2F9C4F1ABF00935DFD0 -:10A1A000F977F1B3ABF09BDFC13CD5FC469C7B5605 -:10A1B00097429F83F352907707F7BE809F7E63B2EA -:10A1C0007B3FD0477759F06F1AB0CF92028867690A -:10A1D00056F741E85FD2B3F8BBC8673DA7F1FC165C -:10A1E000F4A2F7D25722DFE902E140E9F108AD839A -:10A1F000DE33D2E27A0BFA238318FEF496A7799421 -:10A20000CBC5C89228F215BB5BBECA423FD635F01B -:10A21000BD373854C8A303702EE0D2885854793A19 -:10A2200025E2938A20EF3A19F588CE4CBD16CA7FF5 -:10A23000B79DD8999987FDABEDC5CEB4114636EEE2 -:10A24000844950B6EBDDDB6F053B69A401EDA477D3 -:10A25000799EDFF4D35792405E4D977DC90552A495 -:10A260009DD979644199BD20D2DEA4EB1B0FEBBBD5 -:10A2700096DDE932FA13008C6AFBB366C3DF08E4AB -:10A28000478FDA7085C0FD65D7B647890C6CA2E8A8 -:10A2900084E30D284BCE38311D67D8B9FA37A01C9E -:10A2A000F92533CFAF955774E3E5D637D831F1C1EF -:10A2B000CA7B1746BCC5EC555E46DCEBB6CAA3CCE0 -:10A2C000572BF595601E851C8883F2A21440BF971A -:10A2D000AC61F731887B18A81D9BD3D706762FCBAE -:10A2E0009B1A07F9467472153FFE70D1ED48F7319D -:10A2F000A8FFF4D8B12F69304FA04DEB8C1F037627 -:10A30000EC86018E8DB4FE27BFED8157695967F940 -:10A310001B09BFEFAD66C32545BD7363E8BE20C80A -:10A3200087AEF9978C72A786902DB05F3564BF7E9B -:10A330005D981C24AD7FE981FB10CAE72A017028D3 -:10A34000078DD39DF4BB4A6E6F107217AB733B8BB6 -:10A3500078CE4DC3BA8DBFEF59C0DA3345FBC2E9A1 -:10A360004E3A4EE500D1DFDE69584F1375DEDF75DA -:10A37000A2FE007B3F477CFF12ABE78BF1DF67E378 -:10A3800099D9FB373D72DB74E00382BFBBFA2AEF39 -:10A39000F9A1FC7E565FDB55F34A94ED5C1E887B89 -:10A3A0007D2A7E3C39F61DA0E7560973E06AEED09F -:10A3B000A17FFB42426B41F839659187E22A373B26 -:10A3C00041DF5BF3F2C09D32CFCB017DE37E9E8FF8 -:10A3D0005F219B301E71E96EC6E77BD3D7AA36BCDE -:10A3E000A2D8CF88767EEF3206EAE87817B7A56064 -:10A3F0009E3BE9EFC778F8BABE92B8BF11CFB98AD1 -:10A40000BCAFA47EC409F669D2EF62D8BD9667FCE2 -:10A41000C87FAB7EC7FCBD6B76BC81726E896C4712 -:10A420003C7E27C7BD01E0D36566F717566D780DF2 -:10A43000E9B5299BEB0996E0E070787AFA72B91CCD -:10A4400082FFA6BE255785BFB2FD7B86BFDACF2C23 -:10A45000CE49AFFA96F9695D66160775F07D3AAD9B -:10A46000B10FE3F07A1CD67371B93FCF2A43F2B033 -:10A470003F99E51DBD5D0276D0A57A33DE77B460E5 -:10A48000FDA982F0F329A254EBFF9D4047B610BC12 -:10A490009E8BC4EFD66BE077EB7F12BF53B401BD48 -:10A4A00003E2A627D8FD63C3FCA7F5E1F92EFEBEA3 -:10A4B0004CEEC6B7B338913A6FCBDFD7CCF4241E3D -:10A4C0008F5933E3EDD1108F11F4302E96B4827F83 -:10A4D0009DE2B583E3B503F05AE06F282E43BF8BAE -:10A4E000425F21FC25388E80D3079170FDE81A78F1 -:10A4F000FBD17F126FDBA8FE8B71CC9762D07FA25D -:10A5000086F3BF385C05BCE333AE0EE7F88CEF078B -:10A51000CEF11976A5FF81C3BB37F9A4DE1F31EF59 -:10A5200028745AF25DE8F4E7999C4F6903982FAAC2 -:10A53000DEF7E48C887D4FCFB8FABE2BDBBFE77D1A -:10A5400057C34D5DD6F0F8A6FAF9888C5EF9DDBFE9 -:10A55000058EFFBFF9CF17D6EF53B42FDE7044D16D -:10A560007EABE73D457D74C05F0E682EFCE163CF96 -:10A570000551BFFCAE7EF5DEFCE9D35F5CA18178BE -:10A58000DB083FF3E7FF35D3BD2D83C2F95D8DB7FF -:10A59000C94CE13AFC642BBBBFAB3A0FF387D6F34F -:10A5A000397E31FAEF1FDF4EF1E60B62407FA76F75 -:10A5B000DF755A7B7E241E945ED61067581E5AA9FA -:10A5C000D1AA75A2BF8638A3E1CD7D1C6F30FF876D -:10A5D000D2FB5C23D125513A9F3B57C27CA7B9845B -:10A5E000E545D3D2E7A6EDD3B5C407F724579AB40F -:10A5F0003E03C6F994E79A0DFC1E659294A838DFD5 -:10A600002C3B65CC4B9B3D82C5076F31B5E2B9D27F -:10A610007987EFBC783B6D279B3C252CEF5A9C43F8 -:10A62000FBA3E6DBC4FDEECB6074DE2DF138B2A4F3 -:10A63000C37BB222E44106F38F4E9737CA90EF12E4 -:10A640007C8FA0DE2DE88EAEEFB0A1889DB380DFB9 -:10A65000B1A8243ADF403CF77C6F39BC5F73CC8EE5 -:10A6600070A91BB1B100F6B16EBCF489A12064D70A -:10A67000D46DF812FBA9909F6B82F72F9D60AEF00E -:10A68000E19DD44EB187FB2B038B802EAF65FF88F5 -:10A69000799F6CF4213E7DDC7818CB77C7BE5502DC -:10A6A0007A46A0D11FD52FF95DFD03C22F20FC04EF -:10A6B000820F88FBF93A32385F304A7DF15E352DE2 -:10A6C0002B05BFDC1FC95F0F655C5D5F51B67FCF97 -:10A6D000FCF59BE2794D2A938B6AFC56E3B5C06783 -:10A6E000B8FF1B7EBFE016AAEF815C9D4F3CF93599 -:10A6F00094CFCE5DD1AC1B257D77BC5E653A93458A -:10A70000A29C37F9F6FCDC8EEB97CB65B40F447E48 -:10A7100082D887AF3222F4F87F5E432EFEF33F29C2 -:10A720001723E5DA9945DF4DAE11853E909A1981E0 -:10A73000AF199957C75765FBF7BCEEB073308B6400 -:10A740004DE8DC07E40F831ED7ED65E71AAB739A7B -:10A75000F1DE79322218077AE3CABD32E221D13A1A -:10A76000B56961F74E7512DF1F001F578C5E81E7D8 -:10A77000E122EE8B32B5E1F938F5BD51225FB89692 -:10A78000F7A3BE3FAA96E709D7AAF2764A33797EA5 -:10A7900070112962F9154ABD545D763512855FB294 -:10A7A000EB4A23FA01263FF6D2CF3DA343FB707359 -:10A7B0006604BECECCBC3ABE2ADBFFC3F82A9B9F00 -:10A7C000C47351DF165F0D766735CC5BF0E1059001 -:10A7D000C345C75DF0AAC10BBF0F20EEC9EE96D8E6 -:10A7E000BD34DD9F10F41B5DEB9EE591C7DC78AEB8 -:10A7F00073F8DB4E99E511B07C03A1A708BD655441 -:10A80000675066F7E1F3F3503C2FE89BF22F87DFA8 -:10A81000827A8EF0BFFDBBFCD642CEED35DA919E3A -:10A82000857FB038E0423DAE4BE72B817BED3D7B31 -:10A8300062A2EA013B323557BDCFF51F66F70E80A5 -:10A84000FB4CCEDFC5BDAE1532BBF7F9925F46FFBC -:10A850005DC34FDEFFED23F66BDBF575964B51EDD7 -:10A860002251D669D87989A2723BE6ED81BD04FEFA -:10A870003BE1CF53BF7F30BBEC59985F853C1AEF6B -:10A88000D9BCB49DCDA7B77DA9DB10C4F17B6DE722 -:10A89000E3D7ED2DB184DF8BD199D9639F59CE1ABF -:10A8A00043FBFA4DF77F4C70AE42BFF97FDD6E98E7 -:10A8B0002E53D591CAC77CC9CBF453C2F4D405C476 -:10A8C0008FE52212C4D24D583EFD12E2C0721971BA -:10A8D000613927DB1DC8C4FC966032E643BEFC8F9D -:10A8E000C1803717C78E6A86DCB9EF4B4FEB2EB4A9 -:10A8F000E3F8DD2FFD230BF25AAE794F7E9CF38BEC -:10A90000CC28F1E4FF2995317E428AD721BFAFE4FC -:10A91000B72590F12C2E767F720EE24388FFA5B406 -:10A9200008FE07F1D6FC4F342C3F64A584F7BAB675 -:10A930000734485AF9CB73BC704F4F7B1B6BCF5F0A -:10A9400063F54AB49E3F3286B5AFB57AE1DCC342C7 -:10A9500012407A5C0CA71E643807C3F89BB8079DA9 -:10A960006AECB9A0672DEF30B2FC7D12E80F7CBC19 -:10A97000A017FBE6E62CA6EF0FC9657C7B4899D2B1 -:10A980000F61E3ED0DD965F559B4FC719633398B40 -:10A990002E7548827FEB2F8AD12F8FBFCBF2D9C87B -:10A9A000DB307E28BE7B24BBAC2FBCFFBCC4F2CD09 -:10A9B0003D7BF9EF17906072F8BDA273B2CB73A024 -:10A9C000BF415984DF531F1DAEF0FB75AE28F69CC6 -:10A9D000C8671C023615FAC3D9FD54CF4BAC3E32C2 -:10A9E0002BF9E64D26F4E17B40AF7D24DB5D84F35B -:10A9F000D7136282F93F66F0EE44FDB33E0BFC9143 -:10AA00002B1E3768402FF8908A553857F251A31102 -:10AA1000CB53D4CE85F24FD4CE85F2136AE742F9F8 -:10AA200029B573A15C7ED9419186906359CE29598D -:10AA3000B650BC4D3DDFF1598CAFF68CBF578FE35C -:10AA40003764BB11BE3DFBBD8778211EF2BC359833 -:10AA50009E70157CEB9DCF30B888F89FBAFD463EBE -:10AA60008F82362DCAF182F6405C55D87BF3B2D87E -:10AA7000EFA9E5BF7406CF8976597AE0EB94E892A6 -:10AA8000A76B587D5ED660846F43B6B31ED64DE982 -:10AA90007B219405EDEFDF07E77968FF9847D02D1C -:10AAA000051F443D5FB50E351CC4BA9EB7FAB7C248 -:10AAB000F7CFBF940B2BA1FC8630BA013C92A2AD1C -:10AAC0007723CEF76643B018CEA9DCFCB51C356FF2 -:10AAD000B821BB14E16C12F826E0C4F7EBBBD275C9 -:10AAE0004F3C9BE32911F76C00EFB4831CBA1207AB -:10AAF0007A5D258FD7B7B7F57F17D6E7392C930145 -:10AB000076C45F05DD3DC1F74794F97BF52ED8A7E4 -:10AB1000E7F79EED0FF7B0D27DE90FF7B2FE226B9B -:10AB200000B68BEFF2477EF5F02F92F07DFCDDD082 -:10AB300079A4A502F249E61BF71D84252DB47C52A9 -:10AB400001F9248B53A54350DE6ACF990079242262 -:10AB5000DF7DE9A0D243404A531D95A88F9502732B -:10AB6000099307E5C6587E29B4903F898AFAC4D470 -:10AB7000BE8AF727DBFB29DAA70CBA41D12EC69D86 -:10AB8000EA18AA786F48423017EC2FBA0E760FF603 -:10AB90005332E6DDE5BF74ECA61B687DFAD3B3F152 -:10ABA000DEBFE779FBF417CAF1F708BB293CF5547F -:10ABB000913A37E2AE077F019DA9F4FB9ABD4F1C85 -:10ABC00072DAAFA2DF5F43AF17FC757587B104F887 -:10ABD000EB37D5F3D5FBE2CB52EAFDBDE14B0F3DA0 -:10ABE0004876862FFCDE2D35BE107227C73F564EA5 -:10ABF0003FCACE817D5B3EF667E06361E7307B4A0A -:10AC000095BF6D88DEF1EE7AF0BFBF23133C57C7C6 -:10AC1000CFE755C1FFCB213C27CB5A7E0AF74AD15B -:10AC2000E71ED03FE11CA893F67F398BEB4D35FB37 -:10AC30007E9A561C6A270D9F28DE2777489B15F5BC -:10AC40004D39CAFADDA59BC3BFEF8D1F566DBF55A9 -:10AC5000EFC6F39B52D4DF7F15F3A9D81F83F97990 -:10AC6000D320EF843EAA2D7E4F0BF1D569BDC84F8E -:10AC7000C177E6C9A43E5ABB9CCDFA9DBA3F06F304 -:10AC800059BE6DBF1F525862BEE0EF98FCFC30DE2B -:10AC9000AF0DDFF7B86C89DF7B70EF4FFE0671CF29 -:10ACA0003D04F3372F5A19DF2F68FB4CA301F9D766 -:10ACB00087E14B8125A00179D25D1DEB81FCFCBAB7 -:10ACC0009566CCEB1C921BFC83B190A2FA2FEFB9D6 -:10ACD000C748F7ED8F7098314C9E76838D43EBD942 -:10ACE000D9F720BF9FB23FC6A7F90EEBC9A63A1409 -:10ACF000EA1B658CBE1701DE70B902BEF3BA9F92E3 -:10AD00001E3903FC00D60FF5D9BFBCEFDDFB41FFB8 -:10AD10003EC2E81B32E5D476FBFC30BB9D3CCAE862 -:10AD2000D248FF813EB7EA40B31EECB96BD3772B14 -:10AD3000E6CD7C53BA1E99CD7FB7A3773A3E3A85CC -:10AD4000EE4BDD1E76CFC4A58E0178AEB537F95D2A -:10AD5000B75D83F427EA5D1DF224C057F539710110 -:10AD60004F62C953DCE7B46ECCDF67809C5CB75799 -:10AD7000CB923D7A1B678B86D8C3C679FE354335A7 -:10AD8000FB5D4B36FF6E219FF7FE35A174302B37EC -:10AD9000469173542EEB92402E57B2DF5D38BE378A -:10ADA000A50CE07F5C223E3B9EBB6279C63359779F -:10ADB000F0DC84F788A40ED286DF7728ECC8D97B34 -:10ADC000670F003DF20F6D4B8E3B813D64F7C3F181 -:10ADD000E6100FEABDC7ADAE4CF0374CE7F1FEE32D -:10ADE000D66027F0E3E363622588DFD3FE3791B0B6 -:10ADF0007BFB8EEB5C99EC3E0891577CFD77BABFEC -:10AE0000AD42BEA3740AC4AB17100BD89137CB4C1C -:10AE1000AF25AF33BA14FCAE4EF227C03CE764CF87 -:10AE2000F8EF6C3AEF940D3F47BBB2076E5AFEBB8A -:10AE30004FDF50AFEDB15F7749EC9E1207D3F76B50 -:10AE4000475F78600E9C73A376B644E7B3A47D1F7A -:10AE5000DEC7A3B6AB7BEC9BFFA57F34D23E726D01 -:10AE600087F509BFB7DA4EEAD1CB857EF714CB73ED -:10AE70007F63CC435DAB69BDE1A95884E3F9C70D9D -:10AE80001EE0DFE7771AD0DE399F103CB91EEA2FAB -:10AE9000E43B3C385A1E9EEF12F8BD4263FF00E4CB -:10AEA0000EF9BD0EEFDDF8EC3103FECEC7CA27AEBA -:10AEB000DB09F6D36799F6679F03FFDEB336BC0F55 -:10AEC00080A4B2EFA7717A04FAB2D3FD907F6546F1 -:10AED000BD61E58B69C8BFC4FE9D7B2C06CFC19FB9 -:10AEE0003F3C331EFC609D9ADDEC7729659307F8A3 -:10AEF000F0EA9D31A8F711BDFB15587FF9AFA6CD3B -:10AF0000190AE3BF6F23B09EEE8E17D1FF18DADF68 -:10AF1000E872FD52473FC6077AE42CCB9B5D1CBA12 -:10AF2000AFD907FDAF21E23E4496375B244BEC7767 -:10AF30002AB7453F07FE5E36B3D76A84BF2491180F -:10AF400053810EDD84DDFFB86D20DEB77B3E3B41D3 -:10AF5000D0313FEF28F0ED64EDABE82F31B07CBD90 -:10AF60005EEEB73C95CDCE055719BF54F84D6A3704 -:10AF70005C56D607B3DF6D2E6AB20F5D4BCBF51C66 -:10AF8000CE9A5457209B7EBFAAF5DE97DF46B83C89 -:10AF9000FAA33FC2B8874DE8A7216F33F8A9ED9710 -:10AFA0002A6390C71D5A147AEFD91D1F60FEC8D9B5 -:10AFB000976EC0DF2B5B22FBCFC23D595D66FFC79A -:10AFC000B7D3F285C347715FD4F38D88C34B8CAF81 -:10AFD000D4C03A8642FE8AEB6FD948B78CDE4F6FF9 -:10AFE000CD47F8093F6DF7F9E8F69598A7E85FCCEB -:10AFF0004FF42FDED3DA997EFF7F0189AF015A002B -:10B00000800000001F8B080000000000000BAD58FE -:10B01000096C14E7157EFFCCEEEC18AFD7EB031FDD -:10B02000F1C1EC1A8C898D3DF8AAB1A12C36A60489 -:10B03000A17639225CCA3169C25188E3950D154A5F -:10B040009118675B2E11C555AB88B469BBA1224529 -:10B050002D515C07901B61BA0435E0364D17052968 -:10B0600034B5E8D46DA8D5D8D8A569232424F7BD74 -:10B070007F66588F316D137557F6F3FB8FF7BFF767 -:10B08000BDEBFF3D26252A332B007E56A400D401BC -:10B090004CD26719C0982F5199E1A5713F1F1FCB62 -:10B0A000441ED701E800B301DAE8CF6AA432B8B38E -:10B0B000B391B631350A7C5C874C4EE31ACE3F9D86 -:10B0C000F726B86A683184E51C80C7C1FA6467B99D -:10B0D000A01E6003FD8D473FDEF09BBBCC07B0098F -:10B0E0007ADD50027043E8DE278900A3BDDF716B73 -:10B0F0005E5AB4C27FAB0C80E91F0893E5493DA7B7 -:10B10000530017D03AFA4C8A497DF566288BA09CEB -:10B1100031BF5717AA00E629CC754BC6E92228A2F1 -:10B120007538AFC66B91F679D428EAB34F082F5023 -:10B13000D0EEA7A5782588C97DFB048D8F8FB277C7 -:10B140007640908E8B5786D300C6332460E94867DB -:10B15000AB8910E2A1FF13D4532867DC0D6D7D7815 -:10B160006E6D8B10E9E376B8860DD44F00C6F5AB53 -:10B170002DC771C475298DCB96DE011CAF72AE4F01 -:10B18000DAE3E42F2902B7AF364B88F4563C88C780 -:10B19000269A477DA310170957FC6C9011F7260BD0 -:10B1A00077809008E897672CFE19D91B172B516FF1 -:10B1B0009FAC8B684FD305F40BF24DAEF825A22C53 -:10B1C00004B01FFD0BFDEED1FB7A100E79E52E9237 -:10B1D000D368B997A1ACCDB8EE108B009D2B430F6F -:10B1E000A7C75882EBF17998E034047E1751849F09 -:10B1F000D31510E6742544385D053D9CAE865E4E41 -:10B20000D740825378341E85009D74C07F2B15C9AA -:10B21000633B8549A4B51B21D2EB7D108703164EF5 -:10B220000FC74167148F9F168795A0E57179D3F1F9 -:10B23000282CE3F13D1D0F0FC523FA2D056279443B -:10B24000978221125D46818B729683E222BE05426F -:10B250009C6FFD1F71683034975631031E2D33C724 -:10B26000C5B72C3C66118675493FF52B661DB0FDB0 -:10B2700005A86778E1837EB4C76B539BFFA1608903 -:10B280008829ABC2AEC5C8D734779520FFF3D8461E -:10B29000936F6A7E2388FC1BCA97C3AE7C8AEBE659 -:10B2A0001AB70AD0CD36855720AFA5F82AA18A0A49 -:10B2B00047A940F1B3D76FE2AF75EF53FD98475AF6 -:10B2C000915725FB640F6286F889252234202D5E74 -:10B2D000157FCB8DEB5648DAF7291FDBE5B84F41D8 -:10B2E000DCF776B7E602DA7B5832D77B709F5C9D3D -:10B2F000B40BC7F514E4FBFACABB58F0E1E7A3DCD2 -:10B30000D32457EB9EA703E9718EA9A6279B73DB75 -:10B31000B04E8C26DC704C499E7332577B4D413CBD -:10B32000412E05F27B816CCA19ED2B2F27BFF42B20 -:10B33000661D85EC400DE136911BEEA7F5E36966CD -:10B340007CF5530CCE7E383594D0796586F1F10FBB -:10B350005101DC3FA8681768BE23F55E29D5A5DB3F -:10B360008BDE3B64049271CAF0FCCD687734043103 -:10B3700089D79125FE5B5847017D3089FE1CDF8E01 -:10B38000721087DAB01675E3F0E7364FD463912276 -:10B39000B957B85CC9285E84FBBEBBFEA664C6591B -:10B3A000A11967561D1AB838F88D02930DC394BCC5 -:10B3B000EAB878F75F7F40FC3AEE78555A9ECCA702 -:10B3C00097BAC0478BBC8EBA61E75963BF272EFA84 -:10B3D000885FB09DD62D7D6FA884EC5A366444D327 -:10B3E00048CEC0FB05A61E565F087DC23E4B5F6877 -:10B3F00015A93803749E13631EC4AB93452EA71181 -:10B40000FF1A5375D4FFAF32C6473AAD0F79F3D167 -:10B41000AE5D965DED83A70EA521DDF5F2936BA0E1 -:10B4200092D2C1CDEBB7825FCAFF3DA7DDC97ACE0C -:10B430007FA323D0CE0EB03F7189E2A0BDD7B9AEB5 -:10B44000038EFF9DEA4EC7D43A8F7A7DA2A465731E -:10B450007F59FD0AA885A0BC9DD65EB2C34B7A0F6A -:10B4600048310F43FA832ED54FBC953F70E3391E08 -:10B4700097F67A78398BFBDECEA7AF1D41DDB3920C -:10B480007855BDEA0911EE55AFE686C8BE2A09B661 -:10B490008539DE311EC755181B0CE3E9F58C89A0F0 -:10B4A00080E7BC3E50A6620585370F86E0CF7393D8 -:10B4B000FA755AF9D42A9E6991300EEE3C057E4CFD -:10B4C00049E81CFC715446BEF328D00AB843BF506B -:10B4D000CE9D112146721A076BF2C8DF67ADFCF4EE -:10B4E000E409A04CC1294599054A5992B7F1F5588C -:10B4F000FE492DCB74CCA7A98F38F6A737049DFB46 -:10B50000F550A2A29EEAB1B93F23F4A863FD61DF22 -:10B51000CAAB14974B133BD6102E59ABAA1DF3F5AB -:10B5200020F3FB435DA1578DE17EF8D8ECE70DF8E1 -:10B53000E5FD002222D9D764007C0FFDD138EA72E4 -:10B54000F83DC5C078C47529D7A7F81D7F3C8A93FC -:10B550006F08601C50221542E1D43848E2ECBD8FE0 -:10B56000238F83415C4438A74931BC723C80533DF2 -:10B57000CC4DA7F9BAAB22C438EE5D6A1CC7678709 -:10B580009D78E7B639F1CED79CF816EC72E25B14E1 -:10B5900071E23B67BF13CF80EEC4AFE448A363FD05 -:10B5A000BC9E66073FFFC46AC7FA05B1750EBEFCB4 -:10B5B000F426C7FA85BD5F75CC57F5EF76CCDB7105 -:10B5C00035DDEF8BE29D8E75D3FD5E73F559875C9B -:10B5D000DBCF3A7EFF9F7EDE37CDCFDDA81BD5AB1C -:10B5E000777D23C7290DBF986AD6A5567149224495 -:10B5F000FE5EE256C9A7BF53B25AD228DFAD3E1451 -:10B60000B6FA101C3864F2569CA809F532D5D1EA76 -:10B610001BE1161FF2B546E43295E3FA919E96744B -:10B62000858789E2C73861162E5F6A60E072E40B95 -:10B63000F23949DCD6EBDD623A2E6EBA178BF27224 -:10B64000494185E7ADB3E6598359D7D78652C0350E -:10B65000058FA5D63850D346794BCC29586FBD07F6 -:10B66000F05E0E12DDCB0539160DCC749F544F8859 -:10B67000FC9EA4F17BD315A6B9896E9013C5D4BFE7 -:10B680007E92A3FD2880F5EAB6A02AFC9EC58C28F0 -:10B6900019354E8651D3D1AF87435EBABFE3DF8FF2 -:10B6A00060DD7DEE5A58AFE0EAFB0DD45FB3F439AC -:10B6B00013D04E0710FF61E63F54837BDF6DFCA87B -:10B6C00098FA8F474424B00E66F9423FA579FDF001 -:10B6D000920C5EA773D13EACA386A0F0FB83FE2C38 -:10B6E000E3EF818F48D8E229797AC4CDFB0E58EF79 -:10B6F000A32D165EF6FB68B375FE308AD885757A81 -:10B700004BFF158ECB9EBC517065F178E3F7A427F3 -:10B710000BBDD5C7C8A6508DBA6E218DDBEFA50233 -:10B72000F1D3F4C556B122DD98E1BE68D33D79234B -:10B73000FC3D777FFF19B38F3C5CBECEE33669B723 -:10B74000297FF8682AEF2FC3478B9A8926E5DFE621 -:10B75000F2B744AE39E264DBFEDF3BE2EF09FD4FB6 -:10B760008E79237BC25D80F61BE7F3577E05F11BC4 -:10B770003BE7A9A77723FAED8FE4175BBEF1FCFC4A -:10B780001574DE7FB7F36F1CDFA1830970CD4DDA2E -:10B7900079F3E00DCE1B070D4EA7DB69BF336D2A91 -:10B7A000BD05652EF4CF049BA59E0C3C78CECEA0A3 -:10B7B000F93E1B5A9ED34C7D76A8487299B4D4E4C6 -:10B7C000F31B64935FB98AE8B8DB7B84DE99430C92 -:10B7D000420CE361330BFFF009B4BB3B47BB477638 -:10B7E00076EC9EA874613E7454195B19FA333F439A -:10B7F0009BA47186D7BBFC4CAE6729DD3B4604BDDC -:10B8000092612D587CB2702DDDD34766E9B7A9133C -:10B810002F0AE6ADA57BFA8864E6C7F293C25A1DEB -:10B82000ED58ECD7528228E74326C6793CFF82C503 -:10B830004EF17833A475693C9FDAE8DD45EF5D7A17 -:10B840006F8CA798D41F64DCBE0CA2B393B49C6A1F -:10B85000258E2FB768AB78BC94D1FDE08407281FF4 -:10B86000F09C9040E70C7862A790CF41DDE99EF212 -:10B870002BC9BCCF57FFD213A7BAB143FE98FB69BF -:10B880006E30C0E5649760E5C27DD92F786251D2F1 -:10B89000CF4814AF45FD7ADC787FA1F7F4759CC7DB -:10B8A000BC1B7B7EFEC96353FC313768BE87E02931 -:10B8B00000733EF7159A6F1F1CBE4975E4B701ADC2 -:10B8C0008CEC1F16947AAA23EDBE4B12D59FC6A00E -:10B8D000C2F7A1BEDC7EAC07DF641C67D9FF178C02 -:10B8E000D76D586CD2E9FD26682AED6F970D89E473 -:10B8F0006144F0FBDFC3EC1FDB9E78B102E9ED345D -:10B90000B598CEB1CF453D1A498E6DB7AD4752CEF1 -:10B910007F8EEB1DF284237F6FBD74B894F264C8F0 -:10B920006DDEEF10678DECA816D9B675C87FC1C261 -:10B93000C55EBFD5F2A790177E2C887477E4DBE74D -:10B94000DF5192F3E3ACE7EB1F90DF06BDBCDE4DA9 -:10B950003FDFDE3FDDDEF68B831C17B4772BD93952 -:10B96000C5DE8D748E6DEFD8C0FB2F56289FDDCEBF -:10B97000F1A2844472C75FB95BACE0FEF60B576E70 -:10B98000501CB55BEF7D38EB7CC77B66E17B317388 -:10B990004A5DA75A37874FB3A9F7288FBDBFD0E5B7 -:10B9A000DC8F176601CF3B6BBD23FA297F67786F69 -:10B9B0009E4D08BC659ECDC37B1AF503ECBF54FFBA -:10B9C000EDFEBBF79AC0E3726F00F83CE94579C021 -:10B9D0008CB7793FB0FF9F1065D8E7301E3A25ED50 -:10B9E00020C509685DBC3F8873BC2AC573DFAF57AB -:10B9F0005BEF26B3DFD459FDA58EE490FE15E9BCBC -:10BA0000EFD45AE7D6CB789F0952E9D6ADFF9B58C1 -:10BA1000FF5F38FA367F6FFD1B3AD0569240140014 -:10BA200000000000000000001F8B08000000000064 -:10BA3000000BFB51CFC0F0038AEFCA3330C42B3167 -:10BA400030742B33307C03E20E79841CADB02A07AE -:10BA500065FA5F303230BC02E23740FC8E9174FDF3 -:10BA60006AC208F6525E06067520BF02482B0A30ED -:10BA700030B001D91A40BC0BC8BF05C4CF80D84133 -:10BA80008881819D8F81C110888580581328EF0996 -:10BA9000A43FF161375F4B18BFFD8F0550F9A282BB -:10BAA000A8FC3FFCF8F5B709E2971717223D4CDEDA -:10BAB000AB911F1FC6EAB44F33D4C4371950F91FD6 -:10BAC00065181898E51818DCE421FC6B48F2114061 -:10BAD000B14F3210F66D3160DC01D55D66C06EEE9F -:10BAE0001DA0FC13A07C0AD41C0004EB50106803BA -:10BAF00000000000000000001F8B08000000000094 -:10BB0000000BE57D09785445B670DDBEF7F696DE8C -:10BB10004216C2163A2C0A08D86C21084A67C3A0FC -:10BB2000019A454407B5598410C822E27C3CC77984 -:10BB3000345B061DE64D147518079C06C380F35050 -:10BB400003460D1A980682A3CF2DB8208E336F9A24 -:10BB50007D3190002EAD83E3AB73AA2A7D6FA79B46 -:10BB6000E08CFFFBE7FBFF2016756B3F75B63AE7ED -:10BB70005445359808194BC877F043D32512212432 -:10BB80002D9AD29FBF7F974EC82433FD974C48A172 -:10BB90006C23643821136D2468A275268EA11F536F -:10BBA0000979B7460ACAD086D60B6413524AD8CF51 -:10BBB0002485D44BD7137231E7C5AA216E4224AF36 -:10BBC000972C1D4A53B78BCC8474CCDEAF2507214C -:10BBD000CE1C0321FD589BEFE8DF64AF15FB12F983 -:10BBE00094A24EBA7C9AAFABAE7EE719BD74E55D08 -:10BBF000FC0374E5DD4A86EAF23D2A6FD0D5EFB941 -:10BC0000344F97CF0ADCA2ABDF7BCD145DBE6FF55E -:10BC10009DBAFAD7AE9FAD2BEF1F2CD5955FB76DB0 -:10BC2000B12E3FA8F6415DFDEBEB57E8CA87841EB5 -:10BC3000D1950F7BE3315D7E44D353BAFA230F6F66 -:10BC4000D6958F0AFF5E573EFAF44E5DFEC6D65774 -:10BC500075F5C746F6E9F2B9E42D5DFD7CF307BA48 -:10BC60007CA1EB535DFD9B338EE9CAC7BB3FD395E7 -:10BC70000B3CB8B5DF25DDF7099EBFE9DA29C447DB -:10BC8000814D889154626A26D5985A492DA636D29C -:10BC900084E9864CFF9D64046DF074A08A50BC5BFF -:10BCA0001968FDEF149ABE9BD3DBE91F08BD790923 -:10BCB000A1783B91754D269A6D2199E299C94C0264 -:10BCC000168A0A8E08C5B7148A771182A92B42F109 -:10BCD0006D18C5BB8819D34E914EF83D25E2C2348C -:10BCE00035D215BFA74532304D8FF4C2B473C48D21 -:10BCF00069466400A65D22FD30ED1A198AEDBA4549 -:10BD00003C98768FDC80DF7B447230CD8CE4E1F7A9 -:10BD10009E112FA6EEC82D9866458A30ED159982A2 -:10BD2000F57A477C98F689DC89DFFB4666607A4DB8 -:10BD30006436A6D746FC98F68B9462DA3F5282E9C5 -:10BD400080C8626C775DA412D3819107F1FBA0C813 -:10BD5000524C074756607A7D2480A927F208D61BEB -:10BD6000125983E9D0C863F87D58A41AD3E191A78A -:10BD7000F0FB88C87A4CB3239B311D1909629A13D2 -:10BD8000F93DA6A322DB30BD21B213DB8D8ED46238 -:10BD90003A26F22A7EBF31528FE94D806F29807793 -:10BDA000214CBD91FFC2EFB9913730CD8BBC8FDFF5 -:10BDB000F3234D981644FE84DF0B2387311D17397A -:10BDC0008AE9CD9130A64591B3988E8F9CC6F496A2 -:10BDD000C8456C776BA415D3E2C837F87D4224823E -:10BDE000A9E07724476D0E0BFCEB05FF9FE93A793C -:10BDF0001DE54BC46FF88EA6C446F16054B47E6C4A -:10BE00004AB91DF24995E25512C5EF64CA0B811F6C -:10BE10004EAC9482376751FC480D37425ECD31B944 -:10BE20004D347F176955017FFF42C276E0A77B47FB -:10BE30009DEA1EA6F8FA6E5AA807456EF8417EAB39 -:10BE4000C29C7A03BF6D56C2F4FBC4D47D697E1BCD -:10BE5000B4A7B43114D09B8E0FF84DD111FAB94B61 -:10BE60002101079DEA41E86114D60B99687E66318D -:10BE7000F10EA5F5AB46996604E93855437D253E9C -:10BE80009AFE22CB3703D2FF02E2A1F3DFCFD383A6 -:10BE9000C480E98B9914EF297DCDBCAF2FA3A702F5 -:10BEA0000AC42E1DC36174BA8BC90D5B6BA66FD01B -:10BEB000D5B753081B4FD47F96F83E82EF813CD212 -:10BEC000AFD216AD47BF1F867A71BE7F1AEF7BBD1A -:10BED0008132020AFF402763700BC827E2764E8644 -:10BEE0007999DDCE29F6C4F3FAD932D740A58F76F9 -:10BEF0009E419CDFCF2432A396F1978C2983B07F9B -:10BF0000948701AB05FB9739FC45BBCF019EB4DD9F -:10BF1000FB165F0B93A7EEEE08179BEBAAE042DB44 -:10BF20007D897051683BFBD5B74B9C56333813AFB6 -:10BF30001BE7C1BF57984840A2EB68DD620F6ECE89 -:10BF4000021C7623FF2C7171069A4A8141E57A49D9 -:10BF5000322C8190C63D492103AD9FB7C5BE19F46F -:10BF60008096BCC0933E80F366956CA15556ECF963 -:10BF7000F9A1DFD07CDE2695500D832C487A229BD8 -:10BF800050B85D2B496CFC80776F1FDABF9F881F0C -:10BF9000AF04FDCF27ACFF1689D151608B13E17A36 -:10BFA000BAA0A66A344DC3BBCB8A09E5E3A72858DB -:10BFB000BB50FC5E60250AA494831B113E01F578FA -:10BFC00058C817A467259A97DBE7E7435ED03F5D23 -:10BFD000F782A01ACDD3BF0BB7E9F31A78E1BEB749 -:10BFE0005AD4E066C4AB6E0C3E025EDE6E0C7E1C64 -:10BFF0005E0516356048457805810F382537C2A1A2 -:10C00000C4A28664DA4F0985239060C9EE87D30104 -:10C010004E0BB7595CC735E396D526EBF215F55DA7 -:10C020005CC73572F4E21BCF38804E1767185CC7C7 -:10C03000297F6B5EE64D394EB7ECFCB2224C057E93 -:10C0400094D566B96CBA7EF4F98BD55211C36FB72B -:10C0500073DAA0C478B638C3E83A4E49F5EC362610 -:10C060006FCF2E33BB609CE6652E171B3703530141 -:10C07000AF454BAD585FCC2F51BF3FF4FC08A9230F -:10C08000C7CCC0CF6959EFC4F513D293F2B911E907 -:10C09000A441FD12F0C64CFF7E67403CC2BCE8B72D -:10C0A000A2560E98AE87EFDB75E3D176EE931AF9C0 -:10C0B00092986E1572528397F7430748A766DC671C -:10C0C0003FEDD149FB6B516C6B408F9AC0F1A702D9 -:10C0D000EA517E50660E1BFDF4D3B93AB61F89C6ED -:10C0E00039BB6C5B37E06B25E66A2330AB92DAFE36 -:10C0F00005404FE7EA56A6837C59285FFCB12F4ED6 -:10C10000FB5F08BA0DAAAD7A7919E4F3A4FDEAE859 -:10C110008CD8DAD64DF3CD063A94AD7DBFBF929858 -:10C12000DC29DF7E70DC683AFFF2FA0B4698C70420 -:10C13000C9FF2B292DBA7E09D64FFB29DD76C4080D -:10C14000EB3BAD06AEF949D615E0D96E9EB68C93A1 -:10C15000499AF905A82249E975760EA757E2BEFD6E -:10C16000534A9F67DE52C923741EE432AD45CB3378 -:10C1700079E95CE27300BC66D72D44FE7306F80FC4 -:10C18000C861529D0DF8718E188A607DE7C8FB8EDC -:10C19000611AF8ED938C1C3E5495A5FCC084432194 -:10C1A000DCBA00BF32955435C983E1BB12E07C494B -:10C1B000FA0EF94950427E56C2BE07887939AE63FD -:10C1C0000DE34701FA07F2F756EBF9D3FCF5FAFC59 -:10C1D0003C32255DA1FC65DEE32AED91F2372DFFAF -:10C1E000A3F07B566272773EA9AC72D1F96F34D25C -:10C1F0007DA2F39FED224A37BABEB2573666CFA270 -:10C20000F9372526C7CE2EA3D3BF86F6D389ADBF77 -:10C210007469D0E81DD87E7DC7EA864D1F4DB03FBA -:10C22000261F4B85FC256E251BB925557213AFBF04 -:10C230005B9DECB538A01EFDAEE1CF73D6E8D7D735 -:10C24000D1FA63D74BC863886FA5DB2613C033B11F -:10C250001EB15F623DEA36C91B8C4307618EAF8217 -:10C26000AFB572F809BDE38B98FC3731F9EF62F294 -:10C2700002BF554EDF14EFBF9046003DB78E637886 -:10C280001236B2F30CAB678CD6FBE64AF54C9C5EDB -:10C2900068BDEFAE54CF12ED4F31A4B5AF57F6CA1B -:10C2A000732F07287E97BEF08483507C3CA354A74D -:10C2B0007BE8F7455B563B004EA7958003F0E64CC4 -:10C2C000502E8A07AF510649E81B3689EE7BB9C06C -:10C2D000FF31CB27827CFF728BEA7A84EE4BC53626 -:10C2E00053C844F7BBBC6E4131198CF9232CFFB302 -:10C2F0000B801F15F5EA51EDBE966E7D22DD6DC7F0 -:10C300007DE866001D9884BA119A96D79C18077A22 -:10C31000740569457C8E6D07E3C3D18EF2EB5946F7 -:10C3200067FB72716EAC609F4845DDCF2FC0B9B11D -:10C33000822847B5785402B84CF5BC01067B2A9C8C -:10C3400017C8483212F88A800309A6215F5EF9EC0B -:10C35000AF061FA1F368AE79CB2169E04335248491 -:10C36000CBC5DA397F4DB9825C384FF1935CA36D50 -:10C3700017C476EE7A3A81CE34DBC0D2456AC83132 -:10C380009AC273D126D54331932C7AEE99DF3D457D -:10C39000E98E7C62F2F4A5F05EF8DC814337D0FCD4 -:10C3A000C21D6A6A315B864D4A8FEE4705FD0B76EA -:10C3B0001901FFD2170F18DD83D8F7873A45F761C7 -:10C3C000E18EBD4632A83DDCF26BF71AC3B638FBEE -:10C3D000517B641CE8332B9FFDCA08FB7D668F44AC -:10C3E0003A67B56F5FB2E900EA2F0027DC3FBE3F36 -:10C3F0006DFBD56E9F42135F1D8EF55CC0AF13EDD4 -:10C40000931D64F508C4E3E75FA5E397FCC9E481E5 -:10C41000F5973C7FBF03D6714AA964F8BC7175BA21 -:10C42000978E5BA206D25D98B2EF254F3F8078369B -:10C43000FFE003A89751FCE862409911E802EBBBCA -:10C4400077C36DB8BE79C48FF856B251F605810F27 -:10C4500028A468471C7A7881D3C3A9CD9453D2F518 -:10C460009D02FE087AEEFB32E78FF7A11EF9005F0E -:10C470002BD56430FF8599ED5395C120EC72661D74 -:10C480009ED6FC0CF9E8D91EDECEAE810807C13776 -:10C49000919FCA070B3BB3FD61FC17DB51BCCB87F7 -:10C4A000EF50BF49F55A06EBDA717EC9C65FC2C7C5 -:10C4B000A7F3B682FE712A9DC989D8F5FDC920F877 -:10C4C0002395AF1AFCD2D035A3F39A87195D0B3AA6 -:10C4D0000F4E2E82F2CF3F64F403ED40FED07985FB -:10C4E0003A63F9DE6912F2011309C5A3E71A95D37D -:10C4F000B3BE9C7268D4DFE8BC15C9A9C513DA7F46 -:10C5000027843FEA25F31EA7ED34FA74058C87F5DE -:10C510008CD1EF5951BA9DCFE9FFF740FF4951FA4D -:10C52000271BD2AEEA7CB6480DFEEE29A0574A9FE3 -:10C530000137D0ABEA83757FB67DFFA13B295E7FD3 -:10C54000562BE854CF3763E9B464E70304F033961D -:10C550004E3FEB5E49E2D229FD1E974EBB87FF5747 -:10C56000F8A680DBC118B8513EF8DB57DD89E1172A -:10C57000CB072B0CEEB87C90FE7C48B2DBE39DC071 -:10C58000378167A5FF59D613F84D1B3E0A7C6BC354 -:10C5900047816FB1EBD4C32DB67C03F01B8D7EA019 -:10C5A000AE20013BDDE7D6DD329E135BDCAD8E4E67 -:10C5B00074DCD516720FE8D92D2E9E4F66F9D6344D -:10C5C0006315F005F1BDD54266007EB6F85A1DC967 -:10C5D0001AFDF94883EC70D3F2709014C5D3AB29DF -:10C5E000C7C5F1C32451F972845FA16CCB5C3A1CBE -:10C5F000CE55B20774B7B9CB6F7780C9A2A5A1F7A2 -:10C60000A419F4FBBD6FCA68D368B13A06C3BCE88D -:10C61000B95DE942E13B87EFF3691278720C5DD7AF -:10C620009C06A617CF5DAB87C73CDB1223F019AA87 -:10C630007F46F140832FC24F50B2415F5E4AD6E23F -:10C640007E95C6E08F9F9F77BAC81C7F869021FC9D -:10C65000BC6180FE16733E55280F9C3483C2BDE535 -:10C660000D999868FE62834CAA609DDBA520013A73 -:10C670000EA4211E9653FE4034E7C266C0336362A7 -:10C68000FA6D7EE92FD93FA15516BDFCE9E0DFD058 -:10C69000B4F9E54FAE790DF2AF7C9CF929695F3FA3 -:10C6A0007FCFD777037F6FD963226827D9F3C7CCB1 -:10C6B0009F40FE559307ED1C2B4C5ED48FF7D8831B -:10C6C0007DA1BC07B32FADDCFDD5E030CA9B55B8CA -:10C6D0004F05323B475C6CF8DB7F4BA990D255810C -:10C6E0001CDD9384FA75C5AB96201C3A5B767F956A -:10C6F000EDB7FD70EB2937123FE29F9DCCD809F8CA -:10C700009ACCEC6915AF8D7A66391DBFAC6EAF71EE -:10C710000E2DCFFFC3B78381AFB4EC64FAC1793576 -:10C72000FC34F11032497E62B94AF7EB3CE86A5DAD -:10C73000295F920FE5066CF1E0C2E0D042E100EB28 -:10C74000A27029017E98081EF3FE65E171E16E1862 -:10C750007F51C348226769E12279D9777BD02CE1E8 -:10C76000FAD9F73D5F0D06BEFB59ED7294DF1DADA2 -:10C770007B35AC3BEDFFA5754BA1AB5977CDBFEC3D -:10C78000BA19FE0F90993C8AA583F678FECA8F31BC -:10C79000FFBCDD83F3BD4AFA6FFC975DFF3FB8EF46 -:10C7A0003B25F4C775B4EFC7FE65D7DDD1BEBFC961 -:10C7B000F7DDEE027B6FCBEE6F338966FD1DADDBDF -:10C7C000A0FCABF2B72BAF5BE83D4D864AD7703A81 -:10C7D000BF4F48F56D59347DCF7B29158EA3940644 -:10C7E0007CF1CE0D4315766E30819D092ADE260937 -:10C7F0007B5193CE8FDBBD04F58C89DE5FA07E403C -:10C8000094CAA65C5ABF296F8EE711AC31F4B01FF1 -:10C81000F2D36EE479FD79EA5D897825AAC74ECC1A -:10C82000BBF50DD0EF267965D4FF688A7ADF47998A -:10C83000E3D8F71CFD39E28E9873C0ED33F4E5B709 -:10C84000F1FEA693C5AEE1145ED3BB2BAE2005D19D -:10C850001DB9952AACE78EBB2452ADB157DE16D375 -:10C860009F4321DC4EF28FC16F6E1BFC16233C48A8 -:10C87000AEECD942AE027E84C1BB69DA9020D861A9 -:10C8800088E261F09B5EE6413B283F67AABCBD6A37 -:10C890005BD30474AB12FDF9529C1313C199F0736E -:10C8A00027F6D32B0A77D52BE3B953D31FC243EC1A -:10C8B000C7F7DD07B17FFFEC7E64C37EC4F19F2D17 -:10C8C000309B6F03FF85B99F84E7F6496B658C83C6 -:10C8D000310F94108EBE1C15FD3B270CBE6C509C76 -:10C8E0008B878D2C7F9075EB01F82CE0709C472A8C -:10C8F00051EF2497BFFB6E0CF88D1042B4DC4BC88F -:10C90000047A0E9937460A59E9FAE72B24E01C0A03 -:10C91000764D891CD5DA3583FA3CFCDC941EEDA7F4 -:10C92000A3FA89F8C30F9DFE95F2A3A37DE87905CC -:10C9300052058757B4E7C47B1A181C2B1649C15EF1 -:10C94000884721D5A7F1EB7CC2F1FAAF0F0D433E2A -:10C9500097FBCB414E3CBF7A07A0BE5FC1F5FD8B74 -:10C9600001B713EC35171B7A3BC11E73F18D7C8721 -:10C97000962F8AF4203F477EB0CC8C694B81542D92 -:10C98000C3798BB44E44395C6021C07762DBED52D1 -:10C9900084DDA592F919E98F9C0DFBC87EE6D3A62C -:10C9A000CE4E9A7D5B3BE18C32B8FD3EC0CF518DBF -:10C9B0009FE49F852F9C5B01AE072DE171BE38EB94 -:10C9C0007D8BC3AF78DFD746B0134C69C852012EB8 -:10C9D000530A645DDCCD7E859FA786916130AFE20E -:10C9E0007DE31DA3605FDE903D160ADF8A860B465D -:10C9F0007F1C7F5B2C3CA17FB00B1F533DF3009E3F -:10CA0000C77E6121014A0FEF70FF0F2DF202FFA2D6 -:10CA10005D79C13EF6A1C2FC0AFD5566179F5A9C7E -:10CA2000ABA6D17107D6B9868088E9CAEBF757DD86 -:10CA300058DE8DB713F5BA2E62F58E185DE5F1D686 -:10CA40003FC1C8D63F9F787E9C23FDEBED5BEE2F68 -:10CA5000EDA13C90EF0512F291F6784D903E2E1626 -:10CA6000494190BF708EC57CB184F2FF1D032B0F2E -:10CA70004C61F252E07D2C9C2595C1598C9FA532CA -:10CA80007C36AA0C3E02CE02BEB1F315F529BF1AC0 -:10CA9000ABB5AF4CAA1FF23CE827E50D920B4C7FDB -:10CAA000E54AD808745851FFA80AFE823BDCAC5F07 -:10CAB000A2F8066BFDB5FD5505E7B37FE868D41F06 -:10CAC0002FAD65FAB177EE0507E841EF183CEF8D21 -:10CAD000067A7C57C678824470FC74D9B669058A98 -:10CAE000B6DF2C9CE7D445B92A98837EB468AFDAC8 -:10CAF00059834FFDD54E582EBE775DE41E0ADFE9FF -:10CB000078388FC07F98C816DAC5C0DAA6BC245A18 -:10CB1000FEA3CA64868725B57B8D98CFC2FA623C96 -:10CB2000314E2C3D4D2B4ED2E5E7E487BB035C8AAA -:10CB30004DA1259E3878DAA80A3FC9F794135E8A7A -:10CB4000B783FF7F901317C679E3C06D9DDA4E3E21 -:10CB5000748E271F162F777706F82FDEDDBB331074 -:10CB6000C7E2370BD3E3C9878F96317FE0C7949F25 -:10CB700041DA328DCA87EB35F2619A05F123B6DDD1 -:10CB80004FD5AB940F62BFFE97F9CC47201FE2D080 -:10CB900075B5AA970FD31B66A17C983E4D266E8D66 -:10CBA0003DEE672AF77325940FB9E977605EF524A7 -:10CBB000C5C19B8FF8B904E00A298C0372E20F9C6F -:10CBC000EFC7CA8B44FC7C8A51E2FEEA0EF8F9FFFB -:10CBD00025380B7EBE989E5F400F6C8F8704F9F559 -:10CBE000E23B283F97001F193F5F7C17B74BC6F009 -:10CBF000571FF0D7E15AFECADA97FB993CA8A8CF95 -:10CC0000FAD54C5A7E67B5EA31D3FA7746F96DB654 -:10CC100096DFFE81F35B0AE74C579CFD9D3133891B -:10CC2000B8F5FCAA0FF0A96343FE38F045C0FB77C6 -:10CC300064F4239EE072FCED217F1C0EF6F354A3F6 -:10CC400082F87382F3AFF3CB82D30A281DE7CF6556 -:10CC5000FA70D97619E1505EC7F4BCF23ED6A09BBB -:10CC6000E6C70DFD1AFD810B77337F20055471AEA9 -:10CC7000661F17BE13AEEA06E59B24F467CEF32CBD -:10CC8000443B3E59CFECC466FA87C57578D18E5CBB -:10CC9000C6E1B5A06113DA9B1704F576E8B23EB79A -:10CCA0009C81F380E0BF0BB7C5947B1E467F45197E -:10CCB000D89B35E71099EB0FF7CAA1812F426CE79B -:10CCC0007BEC5C15BBFFA25EDBFA4BFEC9F51FA433 -:10CCD000EB1FFEC3AFFF6AD7AD1A39BD0F25C38165 -:10CCE0003E4E18BC48EF81FFA2EBA7E3CC7DB46FAA -:10CCF000676D9C510AA7CB770CFEAA2E50AF5CC281 -:10CD00007AF337EC38904EF3336BC91030D3CF5FE2 -:10CD1000AF978B6D72B8CE8D727666E50E69F64070 -:10CD20008037A9043C9B33D4E4077FEA414B2BF2C4 -:10CD30002F8177371A193E8FE6E31EEBDA5A80E728 -:10CD4000887AC9857411B2B0730585BF85E6F78FFF -:10CD5000FA6A1C8737DA632AEAD9FE54D0FD00BA92 -:10CD60001AD7C0F3DB981EF6232A6FD01FD6B05710 -:10CD7000857625B47E0AF29B013A3F17F8E772D315 -:10CD800035FBB6FB08C3DB2D9287C4D9B77EF44FC1 -:10CD9000DC7DFB81F055C0E34623D7E7F9FE1DB4E7 -:10CDA00034150F433F94E4D90C951B92D18F72BC7C -:10CDB000BA37EEE3AD1C7F63F11AF47BB7C69E343D -:10CDC00019260EF19645168C73C3717B31FD47CB46 -:10CDD0004F62CFCD15A409F5980992FF2F8A26AE90 -:10CDE0006D3A8F3F117E5A4DBD5FA957A847325CFF -:10CDF00006E093F78B784B881F4EC7B825FCD9DF28 -:10CE000023FBE39974BD97D6C81EF0FFDC6E701F3C -:10CE10001A03F4FB884A002F2FBDAD7A99DE99845E -:10CE20007C77D63BC7543085CCA23081FD9EF5532C -:10CE3000C65F8F4167F4DB9FA8DCF282AF9ED48E81 -:10CE400080F8E1699EBD856EBA2FB70D3FB81AFC18 -:10CE50007053F35D870E017C1F9609C0F7E89A7C3A -:10CE60003C9FDC7F9F84787D98C211DADF362DEB02 -:10CE7000D0213AEE5D6BD2D0AF36D37BA010F06CF0 -:10CE8000CE24BB0DFC6BB7F693895F03C7BB48D3B9 -:10CE90006AE0D7332BEFBB0DE65B42E500D8594B78 -:10CEA0001A0E167686FC06C9E3A6FD5704FCC6CE0C -:10CEB000740B9BD65F3082BD631EAD07DB53B1811F -:10CEC000D5ABA8913C16C0C7864791EFCCAB9188F3 -:10CED0000BEA537DCFCCFA0D9A69BF4D1B687B9A44 -:10CEE0009F0FEDA1DF9AE4E9E047AB785B66ED7355 -:10CEF00096BF0E7C691E6D478B4953CD7DD8DF826E -:10CF00000D12C9A0FD95E464FD470EF4F7B6EA8161 -:10CF1000F28FF7FEDA08F3BE9B8ED785F63F470EF9 -:10CF200017427DF213C9B505ED4D2C4EB685D301E0 -:10CF3000F9B00BA32F89E7B91E28E4E107C65E8884 -:10CF40004FF3962EAF8275850369597004AAA8BF66 -:10CF50006004BDEE3885B39FEA6DC7781CDBFEC068 -:10CF6000316358C3A75A8DBDB1FDDCFA5CA4EF7BD9 -:10CF7000890FFDDDFEE54C0E1F596D094AA07FA803 -:10CF80002E9493FB575FFB24ACFFFC732AFA47CF28 -:10CF9000F708A33DF6D4069504E81C576E90916FF0 -:10CFA0009CDACEEC40F24615F3F31F30627EFF862A -:10CFB000A9E3801F9EA2F0073CCCDF586884FC7C6C -:10CFC000CAD74D71F8C73C7729E31731FC61FE7A67 -:10CFD0003DFDB7E3174BC631FE1EC30FCABA57A1BA -:10CFE0009D2F964F54109BE00F4321DF14EA82F8E7 -:10CFF0005BFEB64A409F2B575C77AF07BC9969012F -:10D000004F31A58BD001E06B9782923B40CB7F7470 -:10D01000CFAE1100BF93006FA08BB529E84F9D17CD -:10D020009C857015F184F3D7EBF159C42FDDE1979E -:10D0300089572B074A92885753EFE39F52BCA4E3CA -:10D04000DD532F052D12E48FBCFEC070CCBB000F4A -:10D05000CB977279BAD68E78FBF1BF5D580D78798F -:10D06000F74312CE9F04FC552057CAD74B6EB063CE -:10D07000CE7F88B59F4FDB03BE7CFC6B863F148F51 -:10D08000DD80E7E51B1E7D1DEBD7486EE8FFE34D15 -:10D09000B350FE96046482E53547503FA67200E324 -:10D0A00080F607E474C0F3F2552617ECA3C017818D -:10D0B0007F4754E6B72766CFE0A9B4DD26A31BD788 -:10D0C0001D8B77F28C2CC4AF8AED2AE2474580E1B4 -:10D0D000D391E764C4C3FDAB6F47FC39BF454A80B9 -:10D0E0007FF9C62E807F4156DE867FCF4A1CFF180F -:10D0F0005E9F5AC2F0311FCA01FF5EE2FA29213653 -:10D10000ADDE21F04FE0534778D74E2E25C037AA29 -:10D110001B4F8779DDBFDA82F3CEAFDA357D29D2B6 -:10D120008D8AFEF9FCAA7F4B073A9DA7B0380C0107 -:10D13000C73285C5E9B49BC7E3CB8D5DAE663E3192 -:10D14000F3D81B958B43412E425C49888EF3C7ED83 -:10D15000CF60FCDAB9DF1FC1B8C485AFD17DA7F5B8 -:10D16000CF6FB79310EAD341E42FA57532C685126D -:10D1700025943D55737F44C45B2C7CC18EF02DDD1E -:10D18000690A16D3F6A52F1F1B8CFEF015ADAF0351 -:10D19000FD047E2F31BB7C203C782AC4552A2CEE1E -:10D1A0002356EE8E32317B4DF3AEA419A0FF48DB3F -:10D1B000F6A23FA9B4F676D5A4B14F7A4C2A8E4B8D -:10D1C000EBB17B2E74DFC18F08F39B3C483BBFE57E -:10D1D000ACBF6719DD94D6ABA817956EDB8476BD1E -:10D1E0008A6D1730EE35FF85E71C00878A7A591F54 -:10D1F0000FB54D0E99305E4B3E6262FC4917975455 -:10D200005EC7EE6594D7F2B89F98B898852FEC7EEC -:10D21000394041B3F0C5AD0EA0A3B34D5B1C004F28 -:10D22000DA1FC6134DCA49106FD4519C51EDC3711A -:10D23000E38CCEC23F2882DC6DD2C767926D8C4FE3 -:10D24000D15DCFF6C5B1670A7D65E1735F3C0D71B5 -:10D25000AFCD3B3F7B1AE6BDE8EF979E86B80DB297 -:10D26000C7E202FDA1E2F71F61FCA068B7D4C4CFFA -:10D270003FCF6EC5B8CBF39F9850FF3BBFFB542602 -:10D28000E807E7777C9D0EF1944B7617A2FD61C904 -:10D290004BF99D499CF3AD48012F835711F719BBFA -:10D2A0000FFBEBE4908DCEF3DC6113D2775BBC58BF -:10D2B0006D198BBF73F338B1EDF1E36A457C537997 -:10D2C000DDD44937027FAB6372BC2DDEA9A3F8B071 -:10D2D0000FE97E5E7F15FBB69DC7FFC5ECDB39F815 -:10D2E00007DD9F274CFAF8B02FEAEEFDED535056BC -:10D2F00017FF3E99A0E38EE025E276E798BC411344 -:10D30000D0CDCEFFC4383CD8AF6237C8F92F32C178 -:10D310006E795A6D457B60EB6E930BE2B64A777F70 -:10D320008CF471FEA58318174B78FCEC79D2F6C308 -:10D33000E21DB94DA2A2C6CEE2CA38DC21EECCED88 -:10D34000C0EF3CBE8CE1AD883B4B146FF691A91742 -:10D35000BF77C1E2E2CADC4D4680BF360E4DCA81BE -:10D360007D3AA28BDF13EB8EEDCF057018A98D9B54 -:10D370004C14CFC7F5F1B67D627CF8FC261E47D968 -:10D38000161F4948F7A110EFC3E45D4550FA98C451 -:10D39000A1471137D9144B8FC1AB8B97EC78BEFFE7 -:10D3A000183CF69B98FD49C0A5F9727C7EFC19A734 -:10D3B0006F7A2E396BD2DC4BB9879F4B441C9998FE -:10D3C0006F552D93BBCDDB985E184BCFE5DCDE1E91 -:10D3D0003BCED77C9CF2FABD8381EF34EFDBC5F105 -:10D3E0008DE173F9F623C600E7CF412D7F86FEE27B -:10D3F000F013D9CCFAA3E7D8B8FD556CBF10B7BF6E -:10D40000B38AF77698FFD926A6679CAD958B827173 -:10D41000FA3FC7E54FDBBAED463C57C90E2BF29FEA -:10D4200025F69CC3CE54488D18BFB072398F77F85B -:10D43000A92703E0BCD27E0B81F9AC06F868CE992F -:10D44000AACB4F40CF51337CC3E1FC24E62BCA8DDD -:10D45000A90612D4EEBF12C0FB91137B7DA5807C80 -:10D46000695AA6BFD7D1A4B80EA4D0FE9A0A240F39 -:10D47000E8B3EDF14CDFFF64AFACB38781ED19D6B3 -:10D4800075D163C0FDB41B422E5A85D82D4D197835 -:10D49000907313B7928E21DDE8DF7E64D9B61E70DB -:10D4A000CFCA413C1294DB3D6DF75BB03F27898DBD -:10D4B000B3261FF6C926FC0A3094BBF6825DC2DA99 -:10D4C0008FF483FB3B2E62F5C0FB0AEBF8BDC7B5BA -:10D4D000763FCADB8474E361F75E849DC899A3E854 -:10D4E000EEC5247BF5F994987B90825FE3153A0AA8 -:10D4F000FF71FCDD87E442B67EB057F54D8FCE3725 -:10D50000398D7842503EC186F1CC361B9B9F982FB7 -:10D510009D0FF2030A26369F81E100E8E1745E3137 -:10D52000744CF0DE139DDFD198F9E9F4B83BCC5C84 -:10D530003E2844013E623337110EE78BFA38D300A0 -:10D5400081B803671B5C6939ED274B9A6482B80583 -:10D55000179C827BE37831EDBABBB4F7C5EAE11FD3 -:10D56000A3D05FD468043FBF5982E333E90CB80607 -:10D5700040509A8C008C5FD9443E84FAA2AFEE20D2 -:10D580009E3FCB6A0F62B901F2344D497217741B8A -:10D5900042C8C36B0A0A32FA43BD5919060FE61B8B -:10D5A00015A0A3C9FE0CC310987EC1AAC631846C15 -:10D5B000259503C0A2645EE56D7CA307E01541A735 -:10D5C0001D09781B0137B78A3C6580F0BEC2566BD7 -:10D5D0005BDE6BA67C716BAFB67C00F23500FC1B8A -:10D5E000603C6FE32A88F331FB5699E9B893371A08 -:10D5F00090EEC6466C78FE20E14EC89F09A9B4FAA9 -:10D60000E2DC976EB3F3F07A1DF1F1AD3C1E79B216 -:10D61000DFEF81ABDE23B93C26AEF030B88FDD62A0 -:10D620009EFDA4594B871B2FCABDE8FC9E84BDA755 -:10D63000ED9D45AE5BFAD1F939371858FCACD9FFEE -:10D640001BA8DFF721BF01AA8C25E1FB25E0C37FE2 -:10D650004EC5F98871AA76B37355D56A437005E251 -:10D66000AF5B02F916DDBF70CCFEB5B2FDAB3F82F9 -:10D67000FB57DE7084ED5FFDA6BD466E8F8773CBD2 -:10D6800056E2D901A6A71D6B661428745F524CADF3 -:10D6900055B0AF2A995E50DC1FE1FA425CB8F2F94E -:10D6A0007504D7ADA737FF7C30E8F5CD064F5F1284 -:10D6B0008597A877C8CCE2C4A659FD0D304EC5E3C6 -:10D6C000E12A38FFBE7AFA7DF403F76DBE181A4CD2 -:10D6D000E7DB770C37A7F071B7366F467FE656C0A9 -:10D6E0006337B8EEFD2B404E268607C3EF3678D45D -:10D6F0001D41F818204FBFEFE4F728F2EA252FC8A4 -:10D7000089141395A3347DCFCCCE31C7CC324F9939 -:10D710009DD1D9DC4B01BD386F9A01CF534E9E4647 -:10D72000D7CFE3FFCC8A4EBE88FD147844487512EB -:10D730009C730A9CFE3FEBF1E6B1A45EB47CECF175 -:10D74000A3F7835D4FB4DBB28C78E66AEE4353FCFB -:10D75000D9A56B57F88015ECA1A23EE065BC730219 -:10D760006D7716DAC138B08E5DC72FCA00EFABDD1A -:10D77000D7D8EF4DCBE8787D12D38F2F97DD2B8A4A -:10D78000FDFE77B3F03B327DC41BBDF7F777C08752 -:10D790003273D8318DEE6F79EE2523C06145D2F911 -:10D7A000D1F1FC9E89E6D174F95A1BC8E97D115369 -:10D7B000DC7B04FD2D4CBF7877D90C0FF8E11F16E8 -:10D7C000F704B83C2BE07CB7A04F6931635A9AB894 -:10D7D00031305870B959085FE8FC8A727628203FCA -:10D7E0000B89465E32F93801F49187F36482716ADD -:10D7F0002E5527DF6E057BB903DE05A96C84E16F2A -:10D80000CED0DF039D34E68802EF158CCFA1E2581D -:10D8100082F769F4E5B7C6DC139DEC9DE529E0E5E8 -:10D8200097F0FF415CE7A49C3B3C055A39A154F7B3 -:10D83000837D3EF8AD1C576F7CA00D3E3E84EB2BE4 -:10D84000160A9FEB619DB35631305D191EB1708C85 -:10D85000854BC19FE7317B610C3C6EBE5CDD98124D -:10D86000070EEDD75DDD0FE4A6805F2C1C9AA02E7D -:10D87000EA4DA620E8814D4A18E1D844E118E07E3F -:10D88000ABC274CD3E8BF970FDE156FE3D169EB1E4 -:10D8900070A4FA05EA0FE307D9D10EF636C00BE300 -:10D8A00000AA3F34D1EF6FF651C923C0FB42633168 -:10D8B000CEF02682B022AF489505E8977131FF0A75 -:10D8C00095E70C1FFECCEC57C51136FF716E162F75 -:10D8D00043E17134061E4763F040776E899DE72B64 -:10D8E000F08F5171F083E3C1220B3FDF641237DC0C -:10D8F000FFCFFE64B893F185F8F2716CC4D7D60FF0 -:10D90000D33BD8FB1C12F1B77D77D17E425E15E385 -:10D910003FF3CD2EA48F7CE24D81F72020C810E686 -:10D9200029E6354CF2FDD49206EF378D4FD1BE0F6C -:10D9300021C617FB92CFE1974F027BE11C9A4F94CF -:10D94000CFB5EB16FD5559B89ED593F4443F391821 -:10D95000434744FB13EB4B4921217C3F4432E33DD9 -:10D9600027FA5FC0D8293A9E881FB5DBA7545B58B9 -:10D970009C0461711221DCCF3C5E9EC7DF6922E608 -:10D9800084EFF290EF92A2F37BDA2229F86E029FE5 -:10D99000DFB937CC0188D77850F26F86719AA5B776 -:10D9A0000703BCA83E760DDED38F29BF74B8B11C27 -:10D9B000CA69BD79588FAF6BA1CCEC64F4FC8FEFD2 -:10D9C000A1B4E7E3CC9E46C94D211AFACCB332FA92 -:10D9D000BE95B8BBE37B69C4AF40DA6861F7D06E2F -:10D9E0003EFC18EEDF5BD69BDF007A2B224105DF81 -:10D9F000F971E9F1B0433CED177BFEE5EFBA28ADD4 -:10DA00009900D77D966BFB801C13FAC2FB16DF1FB3 -:10DA100060BDFB2C8C3F1FF58E7817E4C2ECDC61F7 -:10DA20008786D3D460F6E1BB0BF7025E5178E6003F -:10DA30005ED1B6FBA0EB2E88576F5846C0FDFB1891 -:10DA4000BC32337BDA6CCAB6601D796BD46FB4F329 -:10DA50006A8317978B1DE987A4912AF4E9F0DE0207 -:10DA6000C3CF7D165300F4B6BC87597CC41CE27F3B -:10DA7000BA5AC2770074FAFA5C0BB37BCFFDB505D6 -:10DA8000E99C36DE50097E2E0B7FCFA11F7B77A746 -:10DA90006DBC6A4D7BD877733AE2E15CEE3F3C2E79 -:10DAA000B173CB5C4B21BBF7BB5EBDA8C5C7D8F13A -:10DAB00013F61BD36E9FC4EC24FB5437C6838976C0 -:10DAC000E72D4C8E5F34F7DD60B8C27DF079E64E0D -:10DAD00003959468FEA4C532239E5E20FA6B3B97A3 -:10DAE0008BF30431AF6EEC1E3D4FAC5EA11ED09F98 -:10DAF00027D403FFCC79C2F5887A60156DFF848145 -:10DB0000F9DF88E2EB3F59A30775B1327DF080CD94 -:10DB1000DBC54AD327B8DE48359CFE5A7BB5A897AB -:10DB2000BE348F1C1B167DB74D52E80CF1DD0DFF86 -:10DB3000729043CA0C827281F29F7BE2C50BD9EDD1 -:10DB4000793D601C41970F1BDC35D52C8E01FDC043 -:10DB5000BEA5B351CF9BBAB404D396A397AF01FA35 -:10DB6000CCE3701E60E5F69324463792E41F60858F -:10DB7000F87CAF6C073FEBC27A99FBF1D87B575327 -:10DB800027C869F0FD9859C5F3E13E3BDBEF63849C -:10DB9000BD5B9377D0E4ABA3E965923BC1AAD13BCF -:10DBA0002F9302CC938C74F46B8B7B8CC748169BA1 -:10DBB000EF1AE637B8B8260BE39BF7A97A3BD5589E -:10DBC0002BD393C75AD9BECFE6EFDB019EC13B13DF -:10DBD000B31537DA0D67478CEC7D353A0FC4438BAC -:10DBE000BE9F22DE4F515B3F04EBEFB3C4F6A3B000 -:10DBF000FE393EC7C2FD354B7E31ACE732F14EB047 -:10DC0000221EBA15804FDEF0C6C3C0F73AE6F30114 -:10DC100009F87CC56529D413EC68752A9EDB9AB98E -:10DC2000DE7FAE6E7FFA6C9A96EDF8C001E7C3BB5B -:10DC3000F93E9D539AF03D8A452FC9789F9AA26F6D -:10DC4000FA8FB0FD9C6C761F84DD6710F2EF866F53 -:10DC50007B77F7613D763F41E85DF9E64010E6B736 -:10DC60006FB98CF62A2A1F75EF9314D6B17B0BB1CE -:10DC7000FAD812ABCAE338D93E2E71B17112D17302 -:10DC80005EC44A821A7ACE53DC0ACC3F2FE220418E -:10DC90000AF773A737AF9B48F13C90A1E2F98F4A8E -:10DCA0009B46D407A3FEF1467847AB91AFE740DD32 -:10DCB000D469F0EECAEBA472D5205AA720EC4F65C8 -:10DCC000C44D4F6FD9517DACD0A5D70363F5C4A225 -:10DCD000864757C11B2DCDF001C6379B30BEB89D7E -:10DCE000FE68BE39AEDE48C8A3883F37BCF4CCAD71 -:10DCF000F02EC50D670C2E98DF34AB9BD153DD257C -:10DD00007C37A19C84A64379799DEC0AD1560748BB -:10DD1000DD75202F857C1770095DDE6FF6801CB0E5 -:10DD2000C8AE15B04EF36D3688BF18DD323015E43D -:10DD3000DC3EB38AF6C93C4B5FDB1C0D3EEF4B6506 -:10DD4000EF091C48EDADFF6E5E771DC8BB5D3C9EC4 -:10DD5000ADF1E49DB630D69B9A8AFA9A90EF317A6B -:10DD6000ACB0838DEF2BB7D9C1B4FA2F91373C6E8D -:10DD7000A1E5B75EABE27DB88230F3A7B693EF972B -:10DD8000FDABF83945F7BD88EB0DEDE47D14CE3AD7 -:10DD9000FDF4552BD7CFDC6410E89BA1CBEB16E24A -:10DDA0003DDA8624D70AB433307DA6E578E9BA098E -:10DDB000F0FD6D99D94D2ECB4847FBF62CEC19D6CA -:10DDC000D02F9514B86F5F0EB970FE35BA2F5F9ED5 -:10DDD000B07A028877B5D7C5F79705399C425D9927 -:10DDE000FD3DD095BD8FC1CEA33745CFA34DC00F0C -:10DDF000E07D19101B191B8E18E1DC7C8EAAE888C7 -:10DE00005F74D1805F3779C3B24B339FE356662F7F -:10DE10009866F51E023E122079DDA872424AACDEF9 -:10DE20005C880F6F9D4C5C9BE97A769FCE93549AE9 -:10DE30001FB325CB23D1FC4E5038816FBE24072160 -:10DE4000CE6427DC67A3FD2E68AA3666D171037500 -:10DE500032DAFB1770BBF969359099ACC18F5F2638 -:10DE6000B1714FABFEDF423FA73F31A11DFCF4096A -:10DE70006B5C797B7B12E397AF71793624C98DF99E -:10DE800050F3ABAF77A5F30A455C4300EEA5DB2E5C -:10DE9000C8F09ED28D5C2F2B7EBC6915D86B266E88 -:10DEA000685580EFF882AE4210B553B6795490436E -:10DEB000D3B6FB54D8DEE97595189F34A3BEFA009B -:10DEC000E4EF0CD562FEBA24FFDF00AE37AD69DDAA -:10DED0000FE8D2A79A28F8BECFE74CDF4AE3F3E871 -:10DEE00015F1EC732236E71A00BFDBC67FA84901A3 -:10DEF000957EE22A363EED4F4D82FE2A5BF341AE1F -:10DF0000652E65FD6592BDCB9DEE68BF632F3749D9 -:10DF10005A3B42DE4F16211E3DFDE0A29E60670F78 -:10DF2000FCC944FA66719A4885EFDDF9FDB270FFCD -:10DF3000293ABF74C8C4F08698592AF0C96B66782C -:10DF4000E4B2825EF0E3272BAD4017A93EB7511B28 -:10DF50007798B7AE78C09B80A71613DAE3BE1CC2D1 -:10DF6000F4F62F1FB505F9F97400E0AD9053B363D3 -:10DF7000FC2E513A67784FBB08C23C444AA4152E88 -:10DF8000A2CD935006CCAB4712E3633546F74C184D -:10DF9000AFC66A72C178B3CD7D8DC097DAEC9A3C7A -:10DFA0002E6D34D72B779FDE9702FBFAE590E5992B -:10DFB000A02F870CBF413ED4115E3D66F566273128 -:10DFC0007D0EF57B517FD749EB409083AF097DCB28 -:10DFD00033AB27AC57B49B9AC4F4A89DDC3F27E829 -:10DFE00020B58978370D445079776AE0313189C995 -:10DFF0005191EE54DD0146472C9E73A73D64EE0D12 -:10E00000F4BAAB37E6537DC4E681F895FABE1EF04C -:10E01000D3503A9F98A489DBBB91D37F6A532BD20C -:10E02000DDD59E034670F886945A4E3F04F910D011 -:10E030000FE3CFA16EFC1D1EF4FB015FE0FBD34597 -:10E04000CAC03870DC67B1EE544EF7F773BA0638C1 -:10E05000407939CF8BF2451C5E85F240A7366EAC15 -:10E060009DDC5E9A41403F2C5CDA15D3724E670B03 -:10E07000CC8FA29D7441EAA3681F4DF55663BAA0E8 -:10E08000A01ABF676C9885F8B1607DFCF7C5DEE229 -:10E090007AEFB9D306F68E94C1DA15F04F9437595A -:10E0A00055CE0FFD0F023E9CA95BF7E46077D4DEEE -:10E0B0007BA686C9C112AB5EAF5BC6F161F7E7FB19 -:10E0C00052005FBEB4544FBC13E8648BEC5A0EFB95 -:10E0D000585328B9E3E09F16CE00D78A9A2FD0AFC5 -:10E0E0005A4EC2E8573DC3F53137F79F0A3F6BB030 -:10E0F00086F1D7D32AE3EFA7A51409E803F83BF08C -:10E10000D9D3271EC97C10F048B2A35E037C738765 -:10E11000063F166EDF54D595FEF3A6CBECDE4E48D7 -:10E1200021362D7F167822F86DECBC37F17D1578FD -:10E13000383A2A87362571BB686FDA6FF9A317D191 -:10E140002EFA32DFBF1AC037A0E73502DF8618D8B3 -:10E150007B697A3A1EF903F1EF5D8F3D95897687E9 -:10E160001C4AB7F0BE1AD0751CBCD8C3F1F231AB53 -:10E170007F17CC3F96DF9F91FCBF4DE91D6DBFEB34 -:10E18000E42D03666BFA59CFE1F1A5EAEFE98A03C2 -:10E19000AF285C4957D8E712BA330007B241726919 -:10E1A000E3DD533730FBFE7B9C3F88EF222FE03DC1 -:10E1B00036FAAEDC7B494CEE1B4124670499DC2720 -:10E1C000865BBA821C5F60F5DE827696470D04DFBF -:10E1D0005195F210DF536B9E38F9ED70482DBDD08C -:10E1E0005F42DC06F0832E78D88DE7BD15BFB320E3 -:10E1F0009E9D4862F1112B6A54C4B7336A35C6E15B -:10E200009D3951DA13FC2D814F981C4A044F813FF0 -:10E210003B39BF1178D76B2DC3BB1AC56B05BC1337 -:10E220007254E0E7992D370F057A13EDA378E31ABE -:10E2300022F06616FDDE6B4D5886FDA1FBD60A70F6 -:10E24000E8BDB615F957A27D137E34B17F82AF0FBA -:10E25000B319747E03838DCD3F3581DF3F2AD7F418 -:10E260007C98EE87641BA1C77FB85A29E8A9B90337 -:10E270003AB8C7C6DE77AEFACB1CF4DF0B3F8CF0A2 -:10E280008F8AF1536C0C1F12F9515ACCFE4EB618FE -:10E290003F9F1BF93AF39B88DF33B0780B8B63DA2F -:10E2A0000545C02F8E5B83DAFBB9D72AC4AB0CA51A -:10E2B000D861CBC2795D0BAC82E653971A491F7ABD -:10E2C0007EFA72D4DE4607AD3FA1355C7C3D5DDA57 -:10E2D0002E6378DA24B0EB126F29E8136883073CC9 -:10E2E0006F66FD1257AD6E9E03389CC5BE887527BC -:10E2F000925B89F6E31E1BF77BF1F2583A37F2F294 -:10E30000D39C8E3AA6D38013E8F42612580EF1154A -:10E31000F4A08D71696D744A0FDED07F01EF577CD8 -:10E3200017F938745A604BD3D06924CCE894D3A33E -:10E33000B346F5C6D34FA6D8983C72D614E6823CB5 -:10E3400071FA30AC9CFE30BA5E40E91AE83500F450 -:10E35000D919E0C9E8AC97B71AE3197BD530BDFAF3 -:10E36000CB64B6DE05377AF7C27BC80BA85E2FD127 -:10E37000AAD59CAE13C33DE494987C72023FB96960 -:10E380004C381FE4AD1BEC169DF1575BE0A68C1DCD -:10E39000438221BAEFEECB84F189134FDDFD20F0EB -:10E3A00087476D78AF49C89FB424FF3CC0CB44F485 -:10E3B0004CF1D20B76A7C55FDBD8F92F81DF7BEC60 -:10E3C0005203E99382785EA1C5F3B1BE5619E09A73 -:10E3D00092E4CF5093E9F836EF38730FBABE2CAA07 -:10E3E000DFD2FC4F697E2D5DC7D64E61C2F355B6B4 -:10E3F00051FFB83D2EB0F6A6D7C1BFBF25C9FBEF70 -:10E40000308F16B32F00FB7C53B75619E395AED26D -:10E410006F5F017638BA9EA3B70DF8DD2CFA75F65A -:10E420001DBE2A2815F6E291DC5E5CD13004EDC8F1 -:10E430001ABBF12F6D57B01B7734AE83D33DC56F38 -:10E440003CC739725A65E08B82AF6CB475E2F81C38 -:10E450002670AE10F4057C09F45A113F00F6433BD8 -:10E46000FA2382887F90770E8DF29BB5D586B8F11E -:10E470004DDB6DB6B87C9434FCEDE507C53B8A8C6A -:10E48000AF6EB769F48A9AEAA3E94C4F65EF92DD63 -:10E49000CFCFF2EB5678DEEB931ABDD73CCA640CB3 -:10E4A000C07B8AF460E67669E223A506296487B812 -:10E4B000BB6F6811E0D137064CD7FDBBAF280BEC22 -:10E4C00025870D9E1504E310103E393D09BEB35358 -:10E4D000CFED9CB9C76C5EF0EFB74866E49F2D475F -:10E4E000AC01909F2D7603DAC71B779B902E2EF5FB -:10E4F000B1723B465067EF10FE9A4B6FCF4901BE99 -:10E50000FF24F75B3E79C735687F14765945A13003 -:10E51000EF04662976EF326F6957B49B0A3B6DBAF8 -:10E520007996C4828458FF8A99AD2B5DF14B60FFC8 -:10E53000DED4417CC35F6D46A1EF1E06F8563C1445 -:10E5400036C27955E8BB421EF76CEEB517E21C7A6D -:10E550001631B3D8A6668301D6B789A25172567B0D -:10E56000BC12F8B3A97D1CC1099B865F4E5ECDE24B -:10E5700008DAF2BCDD6F791CC1D8E3475FC4F7F25B -:10E58000CCFE8F74ED0AD3ACF1DEE19EBEF4416C9B -:10E590009F08EFA71BD8FB3BB1DF4D76CEB795CADE -:10E5A0006E78FFE9AF3F4E72C7B1C74CFFCB6CFC32 -:10E5B0003D11B1F6B3E8F8FFEE29A0FB26D9DBFC4C -:10E5C0009499E037EBC84F193BEF43AABF473CF99A -:10E5D000141B4727C66BDF9E9DBFDAEA19897F8728 -:10E5E0008DF53B54D36F8E9DE93DD32582F1EDE44B -:10E5F0005B82725AE009857B373B2DCF7EE7D830AE -:10E600002BFA715A65E003970EF7E98EFEF304E7E3 -:10E610004D311F42FC7DE3C5694C877776E2AC6FD4 -:10E62000849DC9E7E92AF3374877F4C5F3FF748B73 -:10E6300049D2C6E567D9251D3D097BF33ECB48BCD1 -:10E64000BF0876F978F08BF5C366818F348DC1C52C -:10E6500013079F84DF4FC0B92AD79BAB30BB18DEAE -:10E66000434BF532FE995A44D07F3652F2223C6E2B -:10E67000B6337D69138F7FBBF4368B57CDCE75E3F0 -:10E68000EF71A272A2D03E02E3A95E3468E2A9044F -:10E690009E543D47E5B1CE6EC8E84A9C9B93391F16 -:10E6A00076C17B129A7AEE87800744E540F755667B -:10E6B0005D3E73898B281A3991ECCDD0E5BBFB5CAC -:10E6C00056382F752F72EBDA09BC13F17CF8930AD8 -:10E6D000EB76A1DDA9139FCF48C98F78037C0DECA1 -:10E6E000C1F7F27DA2EB9D037834B6287C498B37C5 -:10E6F00062BD1DADEBE83237F2C2E3CBE87C295FA7 -:10E7000098B3366B7906C2DD45E01C71729919BF6A -:10E71000DFCBDB273F3E0BEFC926AF72A33D36D9D7 -:10E720005BF93ADCE349AE74E3BD81B9D59204E705 -:10E7300074CA67B0DDC6652E4CC57EBB68B9648BF4 -:10E74000BE239E487EADB2DB74FADE15E4D72AFB09 -:10E7500088F6F2CB60F6BC097EFDB206D90D78B121 -:10E76000B2B813C6F7AEAB65F7D9F637B0B8BA751D -:10E77000D3991C11E39E7FC989F2E2BCF87D29DEA2 -:10E780006FD2A7A0BFFF9B74E0B39B6CFEC7EC1ACF -:10E790007EB9AE618485BFAFAC933FF4C705F71B6C -:10E7A000D0C726819E34648DD21BE9FE29684FE6CE -:10E7B0008587597A039EFA3F8077482F1DFE3C13C8 -:10E7C000F64FF8EB843F4F8C23FC7D92E47F463B71 -:10E7D0007E7B7F9EDE0F253BCC18879B23B3385C66 -:10E7E0008D9C25B08F2B411FA478B6F28815E1B11E -:10E7F000F25B466F749E2FC0388DF66CC41F214F9C -:10E80000E93C07BF4BA2F3AC30B4666ADF21D5CC3C -:10E81000B3FECAF38C8953E5F392ED0ACEB785585F -:10E820003D30AF7AA3E7B01FE4EC792BDAED5ABCA8 -:10E830003758E03DD916728305DE99DD6EF337C295 -:10E84000FECB3D5A1DA067EF6F18D61FE69BC8AFE1 -:10E85000DA6CCB7B03E645D7F716F20957F8D2F30B -:10E86000EEE8FAAEE08F7D0FDA7D8FF51FFE3EEB0E -:10E87000AF80DF8FC10CDDA84F499CEFC6E295D475 -:10E88000B0F76B880FA2F4837199814C125C49E157 -:10E89000543588E117994BF8EFC7D1E3C1269BEFB8 -:10E8A00034AC57D0DD15E0D30CF37EDCE63B0FF53E -:10E8B000611E70CF83F299562EAF5E341AA27A543D -:10E8C0004A0AE357ADC904E36762FDDD76FB94AF06 -:10E8D000A05D7A3FBFE41AF8BDF09C38AE08BF10C7 -:10E8E000C63D887BA665E09785F8AD3AB559FF7BB4 -:10E8F00074F470D86EF359A1DF401E7B2F0EF06ABE -:10E9000025B9223C1C0E84873FD941E1615729BEBD -:10E910000050726665009C5BCC2C1E60E772068717 -:10E920009677181C761D37201E3F410620DD0D35D9 -:10E930005CBC1BFAA7FCA31BF433A6B55682F36F8D -:10E94000E712B701F86CB7568F6CB832DEF6743048 -:10E95000BCEDE560FB703FECC3B0B7995DE60A78AB -:10E960007B0D8CF73DE07EBD63C4D5F3178A57C39A -:10E970001C1ABCBADAB82889DF8F8CED8F9E87D03D -:10E980004FB0779709F951F94E761FB47CCF293CE7 -:10E990007797BF6A42A42C78D5C2EE35D4B1F2F392 -:10E9A000B9F1FDF9631CEC9C55567B9F472F77030B -:10E9B000F8FD97DE8BAE3E72D43F9A3281DD13585C -:10E9C0006911F1A0CC4FEAE07896D2C3E705B9927D -:10E9D0005248F0BE80C3C6E206DBDF0760749BC608 -:10E9E000DBB95C6E09E01D7B3F200DDE8B667E6E21 -:10E9F000C417D960F580DC4F298AA9672B423F6A8A -:10EA00005ACC7D82390EEE4735920CE023B596F84C -:10EA1000F7805A1D42AFB3E2B94EE1F36AB41BD995 -:10EA20003B2E7633AE7B71324929C6BC82F23CB6AE -:10EA30001F91267B0DBA7B26294556DD3B0A69BE10 -:10EA40004EBA7CE7195D75F5BBF87BE9CABB950C3E -:10EA5000D095F7A81CAACBF75C7A83AE7E16453812 -:10EA60006DBEF79A5B74F5FB564FD1E5AF5D7FA79E -:10EA7000AE7EFFE06C5DF975DB4A75E5836A17EBE6 -:10EA8000F2D7D73FA8AB2F27D0B35F72B0F38E2C4D -:10EA9000F46CFB703FDE2BB29B2593E63C57CDF721 -:10EAA00023D7519401FEC755F6711970DE6C4CCE18 -:10EAB0007686E3F42BD27FF41CF6BC436F3FCBE3A6 -:10EAC000F6B3F3FB281781DF57B19FE201FE7E26E4 -:10EAD000FFF30E6E0F98E586FAFCDD0AC583EB980E -:10EAE000EE30A35D2CB6FF6A873BEEF94936785CC1 -:10EAF000C552627809BCEC085E2FF3F9FFB3F03A17 -:10EB00001413F723CE6FB1EDCE390C5CBFF637018D -:10EB10007F6B3BA79156D987E7B4CFCF0708F05357 -:10EB2000827A4B223D408C2F49BE4FA09F587EEAEF -:10EB30005B3A8F9D330D5EBC8F95E8FC76CE117BE2 -:10EB40007E2B9C81FB916CD4C1E9D3363AF7EACE97 -:10EB50006FAB92B3F1FCB64AF5665CCDF9ED5307A5 -:10EB600032270A77373BC78AFD347ADCEC1EA75E72 -:10EB70007F69AF6F53F947D7B90EF43809F4B2146F -:10EB8000A67FEF64F7FDC5B857A16F13E755E8DB23 -:10EB900026E259A3C8B85F4627AC7F5EF87E8BFC9F -:10EBA0000FE9D74EE7F7907FEFAB1E8CEF7F7F82A8 -:10EBB0004CE0DD954B4523F19E74227CFC90DB5F9D -:10EBC000DE7532F87664BF787F59C915EF57BC3FC0 -:10EBD0009EC5514E89795F778493D1CB2427C7078F -:10EBE00013B3439C7BD98EF1F0E76EF9087F2FD2E7 -:10EBF000B9BA61C303F87BC03C4B206E2660B3A357 -:10EC00007D6FCAF811C397DB3578C47FDF58FE2BC0 -:10EC1000EF38C07E336547EFB4802D31FE4CE2EB18 -:10EC2000234AF81A8C977EED0CFE3E9A29BBFAA671 -:10EC300031FBA23ECE2CD6EE33656939E29BC897F4 -:10EC40004508C695B5E515769FB82CA2601C5A17E5 -:10EC5000279783DC2E94105E5709CFD8EF029EEFE2 -:10EC60008F3FC3EEC55BE2EB1B3F71EAFD16B1F7C8 -:10EC70005212DDB798CDF7E952D128BC5F3FC5E805 -:10EC8000EE7B35762A01A7A6CBA792802FEC81FBDD -:10EC90002E71FAFF9193F1B33DDE13296096CE35C4 -:10ECA000B7E603FEE7723B789C78FC0AA0BBB19103 -:10ECB000A21F241E7FA993DBED78BC7B81D3CDFD01 -:10ECC00092FA78FC8EEE134D36C6976FD3A2F0FB06 -:10ECD00008E8F5FE8D2AC6EDCDA7730880FD6D937B -:10ECE0008AF6B70F2E9B08F8414E6D509F8138B3BE -:10ECF000928DBD373E4EF325E34DE8B799BF89BDF0 -:10ED00003342C65B82E07F2DD9F4403ABC1BFE192A -:10ED1000A5DB4554699ABFF1098C7BF9E0F823180B -:10ED20005F7D06E8997E2FF9F667D301FEBB8CD58F -:10ED3000D70DA1E9A2ED92EE7E44698D459717F1BA -:10ED40007B62FF8814BD37E1A6726433DF2F21AFE9 -:10ED50008745FD5D9B9DCCDE8171F0E513D8FDA854 -:10ED6000FD27D9F9FD401F16DF171A7F7BF110BA76 -:10ED70008EF169EC7D96D8784002CE31783F85C718 -:10ED8000EB8EFF4469BBC7C2CABDB642CDFD80D77A -:10ED90009755E2BE8CFF35B39B8CCF6271ED09E3D2 -:10EDA0000433DAC5F9F703B9D92E3E307A7FE76824 -:10EDB0003CBCF9430C5DEF3FC9E201E7BDCDDEC7C6 -:10EDC000EA886F7EC8E7FDC1F101773D4FE1F1416F -:10EDD00011E3E21F5CBE7935BE3FE39308C4659E34 -:10EDE000BA1CFF9E58B253E84DFEB6FB34B03F53F9 -:10EDF0008B16B4E5812C6FF3DDA7BB6F73F5FCE6D2 -:10EE0000CAFC64A593F91162F97B2CDEFF9FE2EF47 -:10EE100053C61FC884FBF734FD1DDEC3DFC1F86392 -:10EE20002C9DC7F27331AFD8F996450CBAB8E16999 -:10EE3000C0074668F9B911F93C55EFD9BB30D94A3A -:10EE400070A5847A80E4A270186E0BA6E4D221FE2D -:10EE500007B1ADBCC8008000000000001F8B080097 -:10EE600000000000000BDD7D797C54D5F5F87DF3C2 -:10EE7000DE2C496692C96412929084093B15718018 -:10EE8000B008A82F04421482032AA2069D84256C90 -:10EE90002191AAC54A9B810444441AEA8614ED4094 -:10EEA00041F95AF41B116B6C834E04115C6345C528 -:10EEB0007E15C3229B2811AC1FEAC6F79C73EFCDC9 -:10EEC000CC9B4C58FCFAFBE7173FEDE5BEBB9FFD22 -:10EED0009CBB4CAD737D82BF2F632929EC369F9D6F -:10EEE000B1B3F87755383D611F69760E62ECD138C1 -:10EEF000BFCD990AF5DECC1CC912191BF856BDE22C -:10EF000087FA271536B93E46BB1FE34C8C41BB2D13 -:10EF1000665EBE05EBF50D97A739F37F8C83FEB6D1 -:10EF2000DA20857A8CD99C877A3396C74C2C496530 -:10EF3000AC58F1A7E17815B69695A5503A6FF7B79A -:10EF40001628620F5BFCE95A1E63814C8B77636E57 -:10EF5000FB713D4EA804EDD2168C6407073266B5EE -:10EF6000B140DC00C6148D05CC03701CFF2213B425 -:10EF7000D72633B65C61AC19E686F559EF74134BAE -:10EF800063ECD736467F81910C27C30207E28335B5 -:10EF900030CE8F4CEF8970F889E9BD705E9F30BD2F -:10EFA00037A672DC5AB14ECDC4FCCFC58047A953F9 -:10EFB000E1E3305F4F9F83B1E923993F121E321D79 -:10EFC000E7D4A85EFE2337E5B440F9E7FB6FCE61D6 -:10EFD00090EE787848524B8CFA32FD437595771451 -:10EFE00034BDBFDA4F6912633ACEE781EA99DE5148 -:10EFF000DD1973421EE735DDE2EB991CD1CF65CEFA -:10F0000064C253E2E55B9ABBBA193BB442752A1E4F -:10F010004899A908DB1F0C26156DEDCBDBB90DED6A -:10F02000F83C55A633D60DD66DD7BE6B11B03BCB91 -:10F0300070BD8CFAED689DA5024F16E6B5617BCBDD -:10F04000816B6CAC2BF4A7E84ECC4B7AB81C4640D5 -:10F050007AB8173F5D0E74A7F86F71523B3D459625 -:10F060009FCDC5F18B282FC767592EC6323A861718 -:10F0700053743FF67394E9A598365802973861BDEA -:10F080000DF16C662C7A2E17F8EB21D6C598DD7938 -:10F09000F812311ECC6F63823E1BFB3969F3CDC57C -:10F0A000F4CACEAD352AD24D9C53D46F61887728EF -:10F0B000BF1DCB597A0BBB16E07D254C763964FF1A -:10F0C00071F400F3009C125B0F310F8C9F88F88B5A -:10F0D00001376B32E7ABBF3356149BEF142A5F281E -:10F0E000E6B901F8C5E40EF3CB53D0EEB9BEC8774C -:10F0F0007EC177FA350CCA37FCD1A52C87F2AEBA9F -:10F10000C784F4E16E667A10E121E02EFBDFEBB4F8 -:10F11000101C900F9573F0E1AA8BE4C30D7F1C6760 -:10F120008AC379FE96797B78B0DCB3D806F927E6F6 -:10F130003BBDCB21DF6D05101AD4CF5E10BF5E85BD -:10F14000FA6B9D7C9D5D1E628BE3A076EEDA560D18 -:10F15000E5C3B885CD9A0DEAE7D6B668289F5EFA72 -:10F16000ED9A1CA4AB639F5FA33AB0FFAF65FF00AD -:10F1700020E0F7E14E8E4336B4B40BE267B393C39D -:10F1800057AEE38FF1FEA7089F55AD0556A896B37D -:10F190008069282F8F29FE3FA774C37EE32707FBD2 -:10F1A000227A39BDBD74F8789F32C8BF24F95D1941 -:10F1B00099C9D2191BB1C14CF01CB1E1E15B11DE60 -:10F1C00023368CD114A8F2841652345C6795AE05B0 -:10F1D00020FFA6D34CE31FFB7C761705E7FBB19518 -:10F1E000F58801DF9D62FD9B9D5C7EFDC3129B6ED9 -:10F1F0005F6D933B9C9F863345CAD757857C4DEC0A -:10F2000006F09877F72992AF7F717AA8DF27B4FAD2 -:10F210009D99342FE60DC0A7D99BDE23792FC79186 -:10F22000F5E66C5EB714EB65DDE1ECAF7AB05D4BF3 -:10F230001CD2CFB7711C5FDFDE1D1F5CA410FDF771 -:10F24000F75D1A830F59C86A4A270CD878AADB4C95 -:10F250004301AFADADF928F7A0CBC5C89785C91E4E -:10F26000035ED6B53AE3915FCEA70F0E087C5E2809 -:10F270001D6E4FE67C03F25F473C05066BC11AF832 -:10F28000BECEEE3F8AF23FCF1E4CC9872AB5E7D7E4 -:10F290009B2710BEA0374FFE2CBD29F4A5D49F6D2F -:10F2A000E5029F35427FC6D09B3FC6D29B6E16BCFF -:10F2B000BF1FAC879D307937B2F6E32E14FD9E8CCC -:10F2C000D7D564187F84C27C386EE289034C89905C -:10F2D00043F3045F6F1174F0948BDD3621C63A66F8 -:10F2E00009FA3495B45A5AB09F4685E8BFFD7AB9F9 -:10F2F0003C01B998928C7CD605E4A6D25E6EC6C05D -:10F300004726CEB3F35BFA76249261C91B1200FD47 -:10F31000E7C2474E32E143EF82A984FF80B3EA6D32 -:10F32000BEBEEDE1DF3399CF7F9843EF81F54F0B00 -:10F330003EEB082F8392393E0A93B93DB3C521EACB -:10F34000C519EBDD96CCE13C35D9C89711F81B9473 -:10F350001C037F520E9F8CF70DC575FFFDE89604C8 -:10F36000A4238927297FA2F115E6B345B41E807333 -:10F370003EB68FD63FB27DB41E0AB70FD07CD721E0 -:10F380001D21BF211D79B89E58D7373C3F49E7253D -:10F39000627D67E3F5625C4FF43C9D274CCAB9E699 -:10F3A00099DCEA5690FF937527A5FF386A52705E84 -:10F3B000CE564DC17939857E8CD683202E04DDF062 -:10F3C0007EB6A3DC80F1977E39351DF1BC34DF9F1A -:10F3D0005E05F5AF71E8FE64E223BD14E131C5A11D -:10F3E0009761FA631CC7F3A0647D1AE693851D1527 -:10F3F0003DCFB9627D00CF39D84FE22816407D78E5 -:10F40000D5197B10442C8000E60DFA2151778E44EB -:10F410003D96B89679914E53125A9BAC906F7D9859 -:10F4200079D743BE67C063B2A27EBB435F8CE9D28B -:10F430002F55B23B97E6B3E062EA87DBA1ACB66B2F -:10F4400090F437F05B24BDFE5ECCE3F7C99C2FC17E -:10F450000EB92799E3F977984A3B44F2514776452C -:10F46000041FD652BB0BE7C3FB71FD17C1877F4852 -:10F47000267F42AFA3799E870F1F0DF3E12358FF2C -:10F480007C7CF8A4E0C3ED22ED880F5F13707B3322 -:10F49000B943FFE3C9587CE816F420E91DF910F5DB -:10F4A0007DA39827C8CFBFC6A2F70BE0CBADB1F8BC -:10F4B000329A1FDBFABB40FAEFC8FE1BE23AB7FDF7 -:10F4C000D76CE77897FC0CFCB253F0CBEB825F76FD -:10F4D000717EE17A399ABFDAF44D2B97138CD525DA -:10F4E00020FDC879EE97FC13AFBF17C967D24F91C3 -:10F4F000F093F5FF23E8FBA848135B0F30940B0053 -:10F50000B77F45EA8DA704BF048632E217F0B746FD -:10F51000A25DF9D209B0232167777179306275F362 -:10F52000766475A6D5254C74740CA72B5D1E01CF8F -:10F53000D87082F1BF8885B746C49BBDBD3D1F8D85 -:10F54000AFBD623D761787C7CF9D87841FCEE3325C -:10F550009A87C7B43C42CF2B2E45D21973417AD536 -:10F56000A85695D1BC4209E042B5C9539605EDF3C2 -:10F57000DAB7B785DBDB5C30CFAB7468DF37DC1E16 -:10F58000C62779D7ED0E90676427EB26D44F4B73CF -:10F59000393D44D3FD06B41FFA46E0AB2E93F0B5D7 -:10F5A000D2E64FC3F96DD03C26B4EB362C732A015A -:10F5B000C263553CD28FCDAE135FC7904359AE8B1B -:10F5C000B3073C2E2E87725D1720877A0BFC801CB8 -:10F5D000EA85F5EDE791434304BC86BACE6D0F0C86 -:10F5E00013FD5E29EAC790434370BC6839B4D5C6A1 -:10F5F000E110834F8763FD34A73E02F1047C7A85D6 -:10F600002B42AF41BBAB30BF52B45F5167EA4DF6FE -:10F61000338BF7C6F233C6B9EC063BE50AE13FB0DF -:10F62000C6EFFFF6DBC18C5562119FE738314FF210 -:10F630002736D41D4843FCC39F21AEF2E062EFBBE6 -:10F64000DD116FEFA80CEDD0077FDF62417837C482 -:10F6500027F6639785C7ADFC0E083205F0F29D8949 -:10F660005289C7798D8B0632F023F20FFE90837694 -:10F67000E5C9FDDF517CE484BDAC04C7DFB18DC7B3 -:10F68000494EBF353505ED7339FE7CC417CC6BB4DC -:10F69000DAB73E04EB3DB5CBE2457DAB32CFA323D9 -:10F6A000603E95BBCC2C48728AD9B0BE994F9799D1 -:10F6B000772D6D561331AF05447C43394BFE8C27B3 -:10F6C00009E9D6BC4B65C887CCCDCB03CCB6E82CBA -:10F6D000F89B49434DCC13110F49D6E39927223E9D -:10F6E0009152E432E4537D9986FA9D2677359467EA -:10F6F000F87F6528EF3C7380219F5D35CC50BF0BB0 -:10F70000F83B91F9DCC03586FADD964D34E47BD4C4 -:10F71000DD6CA8DF6B7599A1BC4F70B6A1BC7CF7FE -:10F72000F316F4AB2FD934DFF0FDD2FADF1ADA0189 -:10F73000409ABB039D4C631CFE97352C36D49FD654 -:10F74000327B1CD26DFFD07263BB3AF3210ECF0027 -:10F7500043781E617E0BD299C65A777606B8CF0BD6 -:10F760002ADE10549BD590DB0DF9E18B378A762980 -:10F77000FD605EAB793BD9CFACA0313F47DD4CFC9F -:10F78000138DE74AD635C9938774A0B2A012C6FB81 -:10F790009C4DC6F60CE35DD06E8E584F345D1C61F7 -:10F7A000558F8C40FA08E8CDDDD3C2EB36B3FAC1F1 -:10F7B00021FC2EE8C429E844AE5FCE5FAEDB09FF32 -:10F7C0006139287C0BD2D98C0685AD51DAAF6F66D2 -:10F7D000E3AAA59D63AC93B1A005FDEDE8F9875CB4 -:10F7E0000E37C5AD72580EC6AD583BFEB0933C3EC9 -:10F7F000B5560D5A81AED540EF28FE30AE3F1A8E79 -:10F8000017CB2F1E01076BBA915FE23CF1D1F436A2 -:10F8100038C4DAC335A1B7918F241C255C1DDECC1A -:10F820009874E581FF387C75F64BC2F704C2372126 -:10F830000CDF9336FF4994C3A7F77EA312DDF95B73 -:10F8400006A21EEB482F391C234FA31C83FA3958FC -:10F85000BF3201E46212F473E0879EC86FB29E6FFC -:10F8600041997714C84545F1FFE08A888B34EBAAAB -:10F87000230FF035A741F5A21E3EA9D9972997D1AC -:10F88000323DCE3454D2126F1C8F126F4AE3F6FF12 -:10F8900028002F68E3B760FCB5C86BC3798227479F -:10F8A000714E05DC9BB309A467E353283EA2338A5B -:10F8B000FF9D62DE1AE8AFC6F1B74BCE130F494C7D -:10F8C00021FFC29F118FF6436BCBE967B17BADD9A6 -:10F8D00089E34CF0FB693D43708260573327C029B0 -:10F8E000225E04EDD2B1FD84C7FF9880F6F04B870D -:10F8F0004EA9A45F3E71933D2CED83F6F67580F41E -:10F9000097B4D7C13FEA92C2ED985CECAFCD3F12FD -:10F9100076B5F4733AEA07EC8EDE68CF74942AAFBA -:10F92000AAA44F5B9578EFFA18FA342F4589A94FAE -:10F93000417FE6A5A446C4E3EE3CBD13E51DC07BB4 -:10F94000087E7738C0AE512EC8AE198EF51F4D48CF -:10F9500024BA6EDDAD067B418353364F920BE03601 -:10F9600052E85945031DE20AB7ABB2B9FA6A03B1CE -:10F97000BC4F128BE1A7C87424D64B89882FC619B7 -:10F98000FDD1A503F8BC8A53B83D739FB09F4AC50B -:10F99000BA2B310E97128EC3554EE671E687A3E25D -:10F9A00097A5290EAABFC43EB214D7B3345721BBC2 -:10F9B00069A9A218F6919253F2A9FC16D17F29F4F5 -:10F9C0008DE33DD595CFCB1DE5BF678BFAD929BC1B -:10F9D0005FE0A43E886F8BAAC684E78C143E7F69E3 -:10F9E0003F49BE192BF8A650C8CBAB7B80BC24E6A0 -:10F9F000D2C78D86F251A29CA96BF758A17C6C2FBF -:10FA000033433A1B857209E5BCD37CA0A57758CE59 -:10FA100017F6AEDA81E2614C3A7C8F902745CCD75D -:10FA200019E9E06A8FF1FBD83D85C7905FC7328D39 -:10FA3000FAA1EFB91CAE09AE30BDFF3EA54D1E794F -:10FA4000CE025F87E2FD0F1663FCE16DD5BB9EB56C -:10FA50005FEFFD026F2B849F82FB48E87FB844DA9A -:10FA6000BE3E87CF6B76DFFD044F0DE0097C1BB2F5 -:10FA7000B4D424E1381F301A2773A6DE84F9413E3E -:10FA80000FC338F1D25C66F7227DF637511CC4ED06 -:10FA9000778EB240DEBD963C1566D658C031202C1C -:10FAA000179E4EC925F8AF60354D49503F69EDD7D7 -:10FAB000AC2BF90FCE514E9443D358CCB8E646B197 -:10FAC0009E098F77D5D00F4BB2297A30C63A368A45 -:10FAD00075805CD880F2E12ADBFE814AD7B05C41B8 -:10FAE0005796FEEF9029B85169DFDE662F781AD756 -:10FAF0003F6826EB20CEC9E731DDE6ABA77A7B3C39 -:10FB0000B43F512EE5F33413D3806E6E126473D379 -:10FB1000DAA6FF903DF0C3D9B3AAB4B319F5CF70FC -:10FB2000BFA07CAE2388FB07E58DB9018A0FCD54B9 -:10FB3000685FA3B2F13D1FE6CBF3F29C24D7121409 -:10FB4000E5706F32D11997631A3B2CE945158B820A -:10FB5000FE270BBD20FD79D0032B1200FEE56BD7ED -:10FB600035654095FF01858F78DBABFAF7DE03FD45 -:10FB7000DE00CA69C1004C35564271F474EAE77A76 -:10FB8000D14FE03BA61CB685C7BDA17137AD67AFAD -:10FB900099056C404CE6917C68F36F93687F15F48F -:10FBA000298D3BC956371AF5DC494B6B3F2FFAD7E5 -:10FBB000DB3ECA0E003D7DFABBD30E0678F84C6BD7 -:10FBC00075E0F7A30BDF77E800BF4F17AA4588CF92 -:10FBD0005B85DE90F03E22F07EB9DBB70FE17D5B06 -:10FBE000F58F83FD91719205A924EF670561861158 -:10FBF000F6C39C4D0968D1B4E52BEA530C79A907EB -:10FC00002AACAC2A565CB0B39BFBF3B336AFB374EB -:10FC1000F6E0F8FE561CFF28C85BC4CBD1AD8E20A1 -:10FC2000FAB3723E659BFB5BD0BEF8ACD1CA42E82A -:10FC3000AF68CD6666E77244017AF00BBC47CF73BC -:10FC4000E7CB09D4DFF487B9DC2985B116005CFD68 -:10FC50008DB348BE44AF63FAA79EC24E00EFE9F7EA -:10FC60008126F7F0FA0B016FFE05F77E8DF65AF448 -:10FC70003A4B034679337599312FE560B9C037B0F7 -:10FC8000DF32B47BA7D719EB9537DE4FFD97A39CE6 -:10FC900092DF61FDC96E61870E6643502ED5D8BBD9 -:10FCA00026F9CFA1774E548381DA93B1E3D5364A52 -:10FCB0008F56334AF7A5707A9DDBF8DE5D4837F33F -:10FCC0001A9EB3603FB5C1D1CE6150C5DA081C851C -:10FCD000F625EE1743D329B85F0CF3ACC18964E075 -:10FCE0007EB2AF9B1BDA9B9D51FBC7627D2502FE56 -:10FCF000CCEE22FA2AC1F5F4C3EFDA3791EB39B52D -:10FD00006BA00DC7EDEB16F27608AC4BBDF075C9D4 -:10FD1000F5C8F5C9F20A15E82C467B49DFFB84DCFF -:10FD20009AB661C2D24C0045CDB623E41733619731 -:10FD30006B023F9A7D39D9E51A03BB9BAF53D8E5D7 -:10FD40006C0FF2ADA4B3683A2A473820133B793BD5 -:10FD50009BB0D7DBE8A7F1018287C433F0473ADFD5 -:10FD6000C70BA5E33E1ED0D1A1283A32E4A7D7198C -:10FD7000F35F995B7290BF815E0E45C2F7ABA8F34B -:10FD800023321DEEEE4AFC36CDA3173AA17C3AF39E -:10FD90002D75D2FAEB082E47B5BA9DF720DF6DE03E -:10FDA00074FF99C07B83DB57EA267DA5F7437D3539 -:10FDB000727186EA867AA52B1427F2D3D4DAFE85EF -:10FDC000C88703984EFD4DE9C0DEAA7173F89755B8 -:10FDD0009999059465198C8172AD6CAB1AE4712BFD -:10FDE000DD5E0C789829F05071DF73960C486756E9 -:10FDF00095733B20C8F905E04A76C0EC154DE457F1 -:10FE0000835F1193DFA41EA8A8379657B215848785 -:10FE1000CA287BE0F792CFBCCC8BF4E8BFCB615310 -:10FE200092CEBF5ED63E6E42719553BB7A907D787E -:10FE3000CAE3E984F5FC89FC0C8DA2F987E07780A0 -:10FE400013E9A3D6450941B47FF79F01BF0E6D3278 -:10FE5000A77F8805E0D2F2AF6CDA6795F429D75313 -:10FE6000695B41F459C98C7E63293828180F2DDD50 -:10FE70009812C4FD71E8BF5F03DA151BCD64370427 -:10FE8000D8FC740674E65B62267958D6904C7E6B7B -:10FE9000592DDF4729DB9C1C54B93FBE07E31012E4 -:10FEA0000FFB6B0B2C1984A75C2FEA35D66036D07C -:10FEB000B7C44FB4DF377B59D3CE744FC7718108B5 -:10FEC000FC1CEA003F8722F1B3250A3F6C610A97C8 -:10FED00033B7BFD603F78D4E55C579D5187E84D478 -:10FEE000432C0B08707038BE569429CE3469DE342A -:10FEF000C4E7E91583085FD1782AFA692AE183FD0E -:10FF0000CBC130EE3AA51BBB6D227CBF4DE1FC316D -:10FF1000A5E6EA22D4D76FBAB99C7917E4936E614B -:10FF2000EC3D904F3AC8A7F7416E61FE83EA74CA70 -:10FF30007F54EDA1F4E3EADE941E12F6BCE41B202C -:10FF4000000BDA51EF09FDF89E5BFA4177A4A3E9B3 -:10FF500050F4D3FB834C406BA98159D78CCE66EC0F -:10FF60005ADDA8EF265F6FD4672D6667613ADA7DA8 -:10FF7000F729B4BF50E61B6EA8CF348F6502FAAFE5 -:10FF8000BD0786BF933DE7B14C047EBF695C8AA183 -:10FF9000FEA4659D0DF9636E0FB71B8BBA19BEDF0A -:10FFA0005C7289215F7A06803010A9D94578B8C380 -:10FFB000C6847FEDE2714F71BEE49BAA219D7E0352 -:10FFC000F3FDE62D339547E343E275DA6A13F3C395 -:10FFD000D4A6AE86B541BF87EA004FD0EE8BBD0EEA -:10FFE0008674BC74F3C07786427EFF6633C52FF7F4 -:10FFF000D7A6AC44FB68FFE6D4448C8BFA97AAC220 -:020000021000EC -:100000008E705A5884BC2AA85D44E74E4A83562F06 -:10001000D90B3B024FC8BC4741BE679C5FF6A84165 -:100020008C5301FEB87FFFB495E2F247C16E738234 -:100030005E38AAB05A4C51B12441F9BF9B5383C8D2 -:10004000CF453FA97A3AD2D3D37162DF45A1FE8E64 -:10005000BFD763FD72A22F4F7D88F8D64AFEC0D469 -:1000600016BE3EA60CE88CF83F9ACCF4649844C5C2 -:10007000FC8FF66980A7593D9BFB85A05D496E28E2 -:10008000F5466877628399CEA160BF4EC857FCD50C -:10009000BA8ECB11BDD3844B23E119EC87EB9E6262 -:1000A000F265A7027D1D9F11EC47F26C612AF155A4 -:1000B00034DC0F59FC04DF00F28112968F613EE3BD -:1000C000FB6920D43250CE4C357BD3503F1D5A6152 -:1000D00026BB13F447228E0F9C4C747C48F314E229 -:1000E000BA0F2DCB6528AFE4B8652B54F23B90FED8 -:1000F000A8FE2AD50F3602937A2AB04CF1B34EED02 -:10010000E9E6D7B70FE984EB89B66F65FA15F0AA6F -:100110003FC25E98BD4DF5A1FFC1F25AB4EB2F8DE1 -:100120005C472DDF5F48E7FDDF21E4FADCAEAFEF8F -:10013000B39B50AE774B42BFE2D81E95E8EC58D740 -:10014000BAC1E9DDF0B8C8AB837F03F92F8A038712 -:1001500035C83F61F55F930AFDCC31ADC841FFE87A -:1001600064E3C195C3A1DDF167CC5E1C76F6D3B321 -:10017000BA50DC5DD8D7EDE55628539CF3C9500042 -:100180009E733CF5A4B73D9B61105A7F90FB49429A -:100190008F3B1F52D096620707399663DC622AB004 -:1001A00047A4DD7DD0CCED8292542EA7A47E5F23A0 -:1001B000F2534D9CAED9CB0AF96DF067D003522EA5 -:1001C000CF49ED4AF5DBF432AB27793503CFB1C027 -:1001D000FAE66EB20683B9D4C6897C3E8BA3873D0E -:1001E00095EA213936DBF2CC23C843E5AC99E67DAC -:1001F000DC1C9CD19C8BEDD7D5BAA8BDD94BF15353 -:10020000A14F6CC040288FCA05DF55D429C110F119 -:100210000DD78BD345FF0CF54C84FC6AAF578CFA95 -:1002200064BAD0A3D35954FCB5CEA8DF7C09DCA9AD -:100230009D0DE3A2BE0CCF0BEC6380D90C7F70E761 -:10024000789AB7E20DC69847396B0DA938EFCD3CC7 -:100250000E1F3DAFE8755CE83C6778278C4ACE8B73 -:1002600018376ADE12DE14C08DC08384FB8C0087D1 -:10027000E78C4685F0F5B9B0CBE08FE2C612EFE52A -:10028000CC371ECFD7953F04F232374C076D7AFF3B -:10029000B920ED377CC1EA12ED40F773573F37E9DB -:1002A000726CB7F63DF22F4A5CA11EA664C65202DC -:1002B0007B96175D11639F21CA3EF8A5E083B3D7F3 -:1002C000068B76008FE91B543DAE9FA11EB597F6B5 -:1002D000C1CC40C08271C99922DE77BE795662BD19 -:1002E000011732DFD8F6CCFF75DE7B5285FFD4CE06 -:1002F0001EEA11D38F6AB383CEA37F3F3187B251F9 -:10030000FFB6666BA47FBED1BC1FE5BB511FF720B3 -:10031000BFA023F93A43E8E1E9A897213DBCFAF9E7 -:1003200044F4DB3F7FE879DADFB43C333D11EDE2A2 -:10033000C3ABA7AE0C004B1DDE3C95F470F91AA9B7 -:1003400087FD9648FD5EB0BAF4CFBF43FADC144790 -:10035000F1F9193BFCC2EE0679877270359777EC9C -:10036000212E0FCB515FF5257DD50BEBDD35C3DF9E -:100370000BE93CE23BE9B1BBA6FA87507BE60CA156 -:10038000DF05923384FA4AEA53A9673593DF9486EE -:100390007A407DEB83BB61FD5F6E51C9BDAB50D729 -:1003A000E53831EEDF81DCFEF9F036B5C13BF7020E -:1003B000E05D86F026FB87C3FBC0320EE7832B3857 -:1003C000DC976EEE9688FEED8165DDC8EE39B0B93A -:1003D00007C17BDA728037D9BD1EA3DDB30CE08D77 -:1003E000763EC21BC62DDBE111F0F672782F137A30 -:1003F00067054FA7B5836BE056942777FDC5EA459F -:100400007D7E342E948AFEC8D1E75486E70EDAEC5E -:100410002261BF4838FF9BD53D8176543B7B669572 -:100420009561BC72D60B8E2083FC7125BF1322E030 -:1004300044DDEB89385E78FC363B66705AA41D7348 -:1004400081F899C77C742E7F5EE3EB7BD18E577465 -:10045000EED7CFB3D943C8B7E0EF9C8894E78A07BB -:10046000651AC649BC361BD24116F3F8C8AE91FBDB -:100470003F7E86FB3FDFF6F8FAD6F9C4CFAD3D23C9 -:10048000F7492AE343668C2FB53EA710BE2BEEC872 -:100490004FCC67B8BF5445F3B82E8DEB6345D729D1 -:1004A0006E6805BA8987F126A579F8778F93C71109 -:1004B000D7C2B88EF07CA3BF8F47D2437D6E8F1D0D -:1004C00087AD15E354A826F23BE65AB8FF21CF7753 -:1004D0004C15E553D3B8DF3E2B8D9F9F3889F17DB6 -:1004E000E8F7E4AA04715E7914C533DBE227126EE3 -:1004F0004EEDAB3679857C25E207FBB00DCC739AC7 -:1005000055C47341C562FB5B44FB5BEADEA6FD3567 -:10051000F05C1E47BD3B6581D58BF66B609B95E813 -:10052000EEDE78BE1FC2DC491AF2D1CD42CEDE52D9 -:1005300077BF0FF731A7D425E898C2380126E2A784 -:1005400079B89F9A69A1F86989ADE51974B36F4BC1 -:100550003F78A70D96B6C8C4ED96452E46E7632EA4 -:1005600003B31DE3B17874E46CCAB9E8C7181F9EE1 -:100570008B71DA618C13D65082AB210FF0A5FC9AF7 -:10058000B4D1631FCA62EC9FCC7329E27B2EC206F2 -:10059000E9A13489E200D762BCD885A946743651F6 -:1005A0006301134F9761684DC68FC78B75DF309419 -:1005B000859260BDA1DDCC10BFBE31640AF5023C5E -:1005C0005CAB859A90AE4D368F19FD015F9132007C -:1005D000FDE4B98B2F6CBECFA4F968BE734DFC50FF -:1005E0005FEBDD4A703DC0E9166072A4CF5B35B6A3 -:1005F000431DC0F187F457E9F204A8DEED9CBE6507 -:10060000DC5CE2A93F741F09DF5BC4FCA09F658925 -:10061000D8DE123B7EF4529AF483B9BD3947F0EB31 -:100620001C496F9B8D7CFA31F20BD457D0AE05B8C4 -:10063000DD22D28EE8FD43D1FF8769DCEFDE7191C8 -:10064000E355585988D6BDCD4A7894E35E2BD23D08 -:10065000693CFE26E721E999893894092407D2D11B -:10066000A1BA1AB29B6646C5815964BC4A8D956F82 -:10067000933FA6B3985A5AA7E17C942BE3BC48D782 -:10068000B758EA7B54D9DBD793FBB125ACD9CCEF73 -:1006900013897896D057A3557B6FF4774A94782FB7 -:1006A000DABF27F31D015312C65BCC84DA12A00710 -:1006B00094CF9FC4F1FDF72949778D47BBB024D172 -:1006C000A2617A1B6B76E4E686ED92A5F930D94CEF -:1006D000A4B2C0581DF235284F78FE7E3D8BA24350 -:1006E00022BFE44DDCB7B8FE07C03FE5978ED54189 -:1006F0005E9C7C4D94B37BA9FDC925828E03F78F48 -:10070000C5FA271F96E575BCFC3E59FE10CF3F2069 -:10071000FB17F95551E58BA2CA1FE379CBA30F8DC7 -:100720000DA03D2BF6634A8629244F0A059D952C82 -:100730000E117C4B4CAFF274240BE17D89F3D51B79 -:10074000D0C957887A4B751C72A0DEBE3C432F443B -:10075000BB6340AA3FB913A4B32728010BCAC93D04 -:10076000C19E42AEC73C675D28E8F6B274DE9F8446 -:1007700037F493D929F5E2FB7919E735C8D04FB79B -:100780009FD3CFF2F6F3E9FB73FA3919D58FB48B07 -:10079000EECDD4C7209CD821B7E1FCDC9CDF7B9355 -:1007A000D0AE62787E0E403F67717DCE40E87FCE4E -:1007B000B32FE5CC88F0BBE79D31311DECA7CA33E0 -:1007C0008CD22F9A3EB678603EF3B636590AA15EB7 -:1007D00025A40511F39A2BCF8FB2166D62845E1F8C -:1007E000D7C924CE25AEA2F9CE79F618ED5BCE316D -:1007F000D51F5E83F19E613CFE16BDBE3CD16E1FCF -:10080000EE23C7B0DB2776E27AF8AE2C7D02AE731A -:1008100020CA0C480B6A62EFC3FF49F45712CFE5B8 -:10082000DBD4C10E9BE732DC47F5D7E0BDAE196BD8 -:100830007307601CF786D491B710DC3A8C8BB6F244 -:10084000B868238F8B96B89AEF00E1CD1EE9B4F516 -:100850007E1BF871631F957C062C0B6D8BAC32FFF1 -:10086000E6D8515914E7A2FCDD8FEEB83F00FDEC4D -:100870008AE7E70CA60CB9341EE5424B6E82C90923 -:10088000F2E25677E923388F2943AE28C4EFF956B0 -:1008900047CF521E5727BAB8D5EDBB1DE905EB630C -:1008A0005CC36FE1712EFF1B2AC5B9FCFD12FCB1C0 -:1008B000F6A92B3B71BA79A49393D25D8066B43BC1 -:1008C000E43CE4F860A8DCD10CFD1D5A9CD11FEF7C -:1008D000CF35B8F31F26B888F11BDCFEC59897E327 -:1008E000C372FBE1F70B9D47B5C0C7C3026FBE11D2 -:1008F0002AD323FCC589A3120CF9EBC7A5303D32DE -:10090000DE7A7D67437E72493743FD9BA75D62288F -:100910002FB636E7555D84FD5BE970C4A31DF6690B -:10092000E3BF3FBC05EDBA0DAA5781F5CCDAB6F1AD -:10093000C3E150EB141E2FA5A0A787E25EC7F15CB0 -:100940001AF29EA66B91FB355FB2663ACF17B11FC4 -:1009500060D87799E3DC41E7097FA9FD9AAD9DC492 -:100960007EC0003C8A8CFAE8038AB3CDB3F3F57CF1 -:10097000F9D27E0BDD0340FD01F43D061BAAC8E75A -:10098000018A431734ECA7FB56933A71B93C2FEB1D -:10099000760D2C32560929CAFD42904F49401FCD91 -:1009A0004DECD2AD780E37D741E7262ACE4C642CD9 -:1009B00005E928D0F776A837675911E5E79D89A79B -:1009C0007EDF559B0BE9BCF58B0AED1714779EB2C1 -:1009D00018ED51ACFF6B18AFF8BFC714217CE66D62 -:1009E000E5E72B8AD57FE6613F73EB8AA87DB1CA24 -:1009F0007629601F8C2DE07AB618753BE4D5C18E40 -:100A0000E5A85F554BA8E79F509E581C244F92CEF7 -:100A1000DC4CE3579EB151FB4F84BC30B7F0798D6D -:100A20003EE3A3EF12EF073A7535DC0F34A76ED023 -:100A3000CAEC589F51FD6BCEFC8A52B9CE377AFF73 -:100A4000C58D72CC9CFA4D219E277DC3AD38C9DC83 -:100A50008892B7A7AB8624B118F2A86D9C33FC7CB2 -:100A6000B2F50C3FAF7C20433F837C3D7E618B869B -:100A7000FB37CC6E7322BCC60FEDEF9911C147EA6C -:100A8000AB3759102FE687DEB3A07EB7425A10511C -:100A90005E21CFE347C9E39FDAE4F1224AA57E61F4 -:100AA000E937913D7AABBCCF2AF8E40B212F64FBE8 -:100AB00066A471C4E30B56F29FBECFF027A7433F55 -:100AC000CDF96CF216928FCD39B86FF24BCD1FF085 -:100AD0006C53C8BE6FA1F3FAE3877A4CB81F9096A7 -:100AE0002ED7C1F9F57CEB50D3F93ADE55D902EC9B -:100AF000F7DDABAE6AD6A1BFA67B060E44B92FC701 -:100B0000ED956EE1FD3A5B7F407FAEF2E5040FF2BA -:100B100075313A4779613B16BE338CFF55BE6C5D2B -:100B20008FE7682A13C19F85F10B5E890B211D3762 -:100B3000BD12A7A17E782ACBDF0BE153F04AAF515B -:100B4000E8BFE98D568DE2079DF4DEE9833A9EEF1A -:100B5000F9E453349D49BEF42FE3FC522AE8B44C27 -:100B6000F09F5FF0D1E9AA4EC487A717C2A4719F76 -:100B700073A172E956B4073C0E3AFF23F9B218FD8F -:100B80001EF85E7C4932F97F117C477C38F78C93E4 -:100B9000FAAB38E3117CEEA2BCE4B732C12F566148 -:100BA000474C13F43D3CD37F633ACCBFB806F81DE5 -:100BB000C6F12FCEC8433E0AD38BC5897405F49283 -:100BC0003E23826F6A9A6E62687F58DD3EA2976903 -:100BD0009046DA1FD3DBEC0F67611ACC7B7C6DAEDD -:100BE000E1FE4989C0FF85D2FDD582BECAECA11EB7 -:100BF00068AF9AABE2BC789FEE949BEFCFCCBF8FEF -:100C0000C36FBED95780F6C3FCC7142F6086EC0AA9 -:100C1000944783F7565922E38D379DE9C73C0087F7 -:100C2000EBCE74A7F48654FF6C8443E99949025EC5 -:100C3000FD7ED63EE0209DC797CC41AB771DEEB33D -:100C4000C5F955C4EFD16CE67C3022BE84F1308CFE -:100C50008BC9FD41196FB2E27E6A849EFCB756973C -:100C600083FE4EBBB853BE711F6D6ED33F079BA072 -:100C7000FC78AE4EF1A729267F2DD2F3EC89C1670F -:100C8000CD909FF3C0F38918EF96F0ACD7423D505A -:100C90004FD6031C310E56BF422D0A727B2681EFC0 -:100CA0007F71BA96741C4DDFB3CF74257A3A5D65B7 -:100CB00025BD731AE89545E81DA96FA47C977A476E -:100CC000D27385C6E556853D89CE5584F5CD041F82 -:100CD000C671596FC5DB8345EA9BF52B8721FD9FC4 -:100CE000747BF1AC4F34FDBF589D4EE76CA41E8958 -:100CF000D637529E4BF92EF5D5DA0CFF8B88F7913B -:100D00007FFDFEF97FC1A76B34AEB7AED11C443F67 -:100D1000172E37F70BB9B9DF2037E77520F71BD34C -:100D20002F4EEE3F2DF805EC57B20B51AE47F6F7BC -:100D30007DC6C87711DF7BD2793CE0979A7747F27E -:100D40007E4F1BFF5E98BC6F12EB3D9FBC3F22E4C1 -:100D50007DB47CC70B6D28DF4F6EEB43FBD3FB18D4 -:100D6000E803D47B8D099E8D42FE937E884F0A9EB8 -:100D70004BFEDF9535F54807F2FFE8FF45FE4B7A5D -:100D800094FC22F943F24334FF487E187B3FF87FFE -:100D900088A777F9FDA90A2DB099F60F3D09FD91B5 -:100DA0002FDBECB6AD0AF1593BBD20F826CC274627 -:100DB0003D21F942F289E48F0AC10FD3A3F861BB48 -:100DC0005AFFE03068579DE1CFC81814E68BB95B35 -:100DD000A2F542877485114336DD5DC590AE2A20A9 -:100DE0008DA42B6B07FC90937171FC60CFB8307AA7 -:100DF000EA9FF1FF9C9EFA67C4A6A70119BFA03D18 -:100E000071BAEAA33CBCCF743A0FE46C6E98DEC6AC -:100E1000BEC9B8BDD08DDBFDE037D2BC7759B22951 -:100E20009E33F62C3FD72AE952E259DA01D3453CEA -:100E3000615EA66F52466AD85FB8503C5BDDCD1646 -:100E4000F443A6431AA9FF3BB2776FC9B848BD9FC8 -:100E5000716176E2DC0C7EDFFD17B4137F83F088CE -:100E6000C62B73BA0C7108D07FD791FD16D2E888D3 -:100E70004C877EC56A0E67995F12D2A4BE4D417D34 -:100E80000BF4B200C7FBB9F4525CC0443C70D738D5 -:100E90007D04E0FD0F22CFDE1A877C3869A82CDFA5 -:100EA000BD42D750EE301947A7B8C8BBAAC807DE65 -:100EB000786B14AC7FEC832C1C6787F2D12392DA19 -:100EC000E2280A0BD77FF4B1D7DF5A4178E6E75E14 -:100ED00098BF45E3FB4C229F077947447E68547EC8 -:100EE0002DAF9FA8B5307E4E31C8F955C5AD374EF0 -:100EF0003FBE087B04305988E709C66F559C180728 -:100F0000B979C449DA8F0DAFFF9FE3303E3BAF5153 -:100F100011F90FDFC2F5DEBC95E7B73DF6AF15015D -:100F20004DF497467132FA33D72B3A9E7F983B5453 -:100F30000976CD6D0FE76D1946FF06FF34637B869A -:100F4000E7EF2EA63DE299DA77A5F621EB458C7FF7 -:100F5000E388D8F712DE96FC25E209D43FC0F2BA46 -:100F6000FAD8F7243E10F59B71DF84E0757205D244 -:100F70004FB345C2F3AB1508CFD18CE73F7BECAB49 -:100F80007181BE7CFA7AD4FACF35FFA60CA3BD805E -:100F90007F1E63FBD0B9E0F77ABBF6827E661AE962 -:100FA0002949F3ED380DFD2481FF8F76F13C5FDC9C -:100FB0000AB4FFC3F4F11FA28F6619CF6F47FFDF9A -:100FC0008D1B6527FB47D4FF6105CA379FA9AD3E3E -:100FD000E707495FD0BE377F9F8DDAFFE7B1EF5754 -:100FE000207C003F544E79ED1CFC501F951F11C50D -:100FF0003F82FE897F51CE037C7AC49033E9999C6D -:101000003EBE14E7AA9B47723BB159DC9B1A9AC9B2 -:10101000ED424F2687636F51BF393E020E1178862D -:10102000BF10FA2111EB2638DDE496EBCE2A1ED74D -:101030001DDABB78F980CCF4070259E17C747F7922 -:101040009959C5185F0DF79FF936C2F52601B7A16A -:10105000999DDF0E7079A8205F561081005D6C5558 -:10106000022AFA09481731D6CD32DBF15520AABD44 -:101070006E3E477B4BFBF67A547B66CEBB98F602FE -:101080006FE3A2F05A1485D75151F912990F1AE45F -:101090009F948B650DAB96A4B9312EA9D09DCF300E -:1010A0003DFFAA18E9798E53D2EF2504D7303DF7DA -:1010B0007D1BE5FFC47A290F2F7D4007BC4D407989 -:1010C000382C9CBF0EE505E5FB15EB4991FAE2B221 -:1010D00007507EDEB84CD6F752FD9B6B657FFDA9AD -:1010E0005CE291050614135EF384BE080C7C1BCBF6 -:1010F0006737F2F673D6E4BD1DE87E0E7EA88B82BC -:10110000CBDAA87C20AAFE43E7D12FB551ED1746D4 -:1011100095AF88CAAF8ECA2F33B62F9DA6101F96E3 -:10112000023D2022CEC797F764B6D9A96DFA54B113 -:1011300093DD66E0ABB1353CBF644D7EF1B2BE11CC -:10114000F9CC82E248BE90F77BAD6E467C61EE4002 -:101150005EFE3AB30379D93B5ADFF2F2CFF09F1922 -:10116000B4BF63B00BB6ABC67C932AE73DE1ED3B61 -:10117000EC11FBA0CC578CFE41C7FB2DE38B474500 -:10118000DA2581E262A44BB94E59BFF0C7B32A8E6B -:10119000F7A7CCE2E20DB89F3352EC43BA780A7A53 -:1011A0004D45BD5929E23185783E16EBC5877ACC8D -:1011B0008FB443587D4F5C67D33DFCDE40A006F002 -:1011C00083F135E6B5603CA5292969C193507FFBC1 -:1011D0003DEA02D4A3FB16A4D0B9A43399DC5FD8AE -:1011E0009ED4256D3AE49B126EB3E0FDE4A67B47E6 -:1011F00053FAAAAA2F6D055E7B694D49B1BD0F96C2 -:1012000027117C5EC89C5CBC08E8BC012FED407BCC -:10121000BFCB9986F71AD87233E3EFE5789F20BAEF -:1012200079C0DA1FFDE7D24597D0BE55D9C3130A5E -:10123000E9DEC21233ED67C01F9D3FF12F1F4DE75E -:101240009EA6D58A343086D2577EFA4B4D22EEDFE9 -:101250003FAED07D892BBEA97F13DFE5295FD6CDB8 -:101260008BA87919EC7A3C8F7460752FBA2771308E -:10127000AE8ACE7D427D86F5CB7FF0BC333E0FEB50 -:10128000AB4E3C5A7118BEA33D7CF83E75BD82F34F -:101290004A74C4E379E9C33F7ADE41BB16CA9D8B29 -:1012A000E1FBE125B3D2D0CE3AAC78121558FF0756 -:1012B0006B6617A767E0FD7AABC0E76C4729ACBF48 -:1012C000D4D4462FA43F6624F3FC0799B38B37C2CE -:1012D000FC0F3FD68BCE7D8DEBAC7F980970CAC8D2 -:1012E000D23FC2F4A0B877FCCA4F7CBFF01F27CA18 -:1012F000D2305EB75FF0CFCB67CAD2CA22EC9D195D -:101300005F6A84F7572C9E3B709EAFC4672B743E78 -:101310009BD5A760BC7B9AF03F807E173C1FC3EE35 -:1013200069CC54A9DFA6FB5347205EC3747C37C940 -:101330004FF21B207F6ACD9DA4D70E5917B083288A -:10134000B7C4F94586AF0D21FF6D8E0BC6E562FC73 -:10135000532FD4C98FA9EF39D111C177A2FEA701AC -:101360007E3EF753A88FFEDBA781FF7144EE43C892 -:10137000FAE5898E001A13471C0E0DF1B04FAB3EF3 -:101380008CE7FA663C6E26B93FE3F1D485AD286F51 -:10139000805E303E16BDAE2B3B9B793CA2233E0CBB -:1013A0002C35F2215B7A4E3EB4FF69C939F9B05C45 -:1013B000F829858F9BE99C7AF9208786FB8F231F6C -:1013C0007F6D23DD5BBD3D6E00DE4F287FDC4AF87C -:1013D0006A7138024EDC1F4D7468C9906676E6F873 -:1013E0001DDE99F34D81CA34DB004AE95E82DCD709 -:1013F0003BB6E0C147F018E571169C3404E0770A6B -:101400001106703925EF6545EDF355EC7EDE92CF80 -:10141000CEB1CF779EFD3DBCF18C7C78A1FB7CFDED -:101420003B8B73AE6DFB7CE69EB88F582EF6F90AA7 -:10143000D6F2F35BE50BF83B1C05293CDE7BA83AB2 -:10144000808FDFE27A034EBC9FFB10D72FE54C095B -:10145000DAE09F63D6DE4EEF933E2DE44A29BEA329 -:10146000D517F9C59B837EFA8CC7E308AEE54FCC50 -:10147000FAF03168D7B2A8D81DE9178FE96C9670D9 -:1014800065784F57F67364D1EF7290EE0BFE0CFE49 -:101490002DDEF74B66CFDE948B78CAC8C1FD485964 -:1014A000AF7CF13D3D793DF08FC10F2EBD4FE5F78B -:1014B000A65FB092BE031E4F6711F799A7D5EEB68F -:1014C00058FA86EF7F1D803C5EA98FB80766417889 -:1014D000C97B49F8973E58D8DB1E921FF4BE70892D -:1014E00049A1FB4B20B9E8DECF9D9DF97EE1ECCE12 -:1014F000DC8E2DCDF1D2FD978A9556EFE25CDE4F62 -:10150000DBBD6A3CE7646A9E41FB8F7FB3525CA4FB -:10151000B2364E8F4BE4E722B6F4A573D19A05F7A5 -:101520004D3C5C4EDC29E8AFD233610CD20B94EF1A -:10153000D5F01C9683CBC38A64F1FE1BB437C13847 -:1015400027F15FDD78BF19FD22C657C477E8C7933E -:1015500018EE7797892DC3B80BD6EFD30FE19832E9 -:101560006932CEEF1995F81816BF7228DA77CFA82E -:1015700003D1AF2DBD6F7BE16ACC3FD71F6F2CB07D -:10158000D267DF277D3147E0BF459C072B833CBEF8 -:10159000AFB6B233D7F77E95C77B560A38493A9033 -:1015A000E515F7F1F350154BAC64BF542CFA88FAEB -:1015B000AD7034A7A1DCAD78C14CF7985789799705 -:1015C0002DCA1EB117E8AACC9C44EF48CF0D145B7E -:1015D000303FB74EA17CB85D6A0ED2E917B52F2611 -:1015E00022FD1C8C0BF5403DD47A7B9C17CFE1C9C2 -:1015F00078DB17B53DD6635C669AB3D981F791A6BF -:10160000DDD1CD85727B9F3364C1F27DF5B926CCE7 -:10161000EB4EE708CCEBDA6594FF429C3BA13FA47C -:101620001785E379EEE6ED96AE30DEDF047D7CF9DA -:10163000CCFB3D514F55E434F7447D0274D0B333B5 -:10164000C2F96985F4F0BCCDFC9CBAA48379480743 -:10165000C077B3051DCCDBFAE26F901FE621FE07D1 -:10166000B4A723A0D31DF47DCBBA42C6DBEF403A2A -:1016700091FA0BF2B56617C6DF441EC6C1FC8B0893 -:10168000CF542A1FC5CB037DF939B7163AB757296E -:10169000EE2BB6C9A70EF0BC47E0B16C9195E4ED16 -:1016A0001E81E796FB5E48443C7EF9CCF69DB84F20 -:1016B00052B105B4B427065F08B854221C12691D44 -:1016C000645754E2BA13C37068A37FC18F958CAF7F -:1016D00053AEBB52137090E5A2FD07826EE6320155 -:1016E000B7ADBD38FF097E437EA67776C4FAFC2EDF -:1016F000E37BE2DF89F51D147A612ED005DECF622F -:10170000783D51CA0928FAF2B97514F791F892F3A5 -:10171000B66779A4BCD3935D613CB69862BFA77CE1 -:101720005AC06FFF924E390D00B72FC0BFA273038E -:1017300040AF5AC478926EE478057F9D700DAE1765 -:10174000FA0F61FF72DC7D81040DFBD9C7387F2061 -:101750007DA2FC947C595033E59AFE78EE37F0A5D3 -:10176000A35B5F5C2F1FDF9EC5CF2DEB6827407BFF -:10177000BD41A1B8F37EE1CFEF5FF2626259049CF4 -:10178000E2B338BD4B3AC33F8C47C9F9EE72F1382A -:101790006EF4BCA51C92F32EB8F7C66BF0BB9CBFD1 -:1017A000A457499F128E924EE5FDB7687A255A9349 -:1017B000FA5335C87BD28F63B2BEB6F8EDEDBF47A2 -:1017C000E7A51D74509CDF6E4D653C5E5F9BBE239C -:1017D000F2BE0FFCD923F54E843E59A145E813A96A -:1017E000FF2BDD3ABDAF322F8B9F2B39CEEA2DF97F -:1017F000D0EFDCA3CD85899EB0DD79C5372115DF1B -:101800003599BB959F3F93F09E7B6207D17D85B84C -:1018100097547ADFFBC54390BEFFCB4CFB31A54B01 -:1018200046D3FDE3591BA70E46FAC1FB0C28CF8F08 -:101830006D1834903FCBE54C9B84F71A363C38E961 -:1018400066F83EAD41F5925C877E905F4BEF1CC819 -:10185000905E0EC6B5140F437BFD6ED589F6FAF087 -:101860008D831662FDE18E2EC9B81E7D430AE57593 -:101870002D89F482B473E5B9BC1A33A787C9599C82 -:101880008FAE6D4B399D15D4D4F4C4FDF3D675716C -:10189000F49E518945DCE3DCD689FC894A0B5E293C -:1018A000A47BA16487CDB4305B063FEF6CCB80EFA7 -:1018B000BBCDCD77A2FED87DA7A33F9DAB577F18A8 -:1018C0005CC6ED67BE5F98627C3F48CEE346317EE2 -:1018D000747FB2FD2E71DEF8A098FFB1DAFF9A8412 -:1018E000FAEFD8A61E2E5CF7916D71740EFF48D4E6 -:1018F000BB8C177B4F0BE836EA1ED4627E6F20CB81 -:1019000068BF493A3FEF3DA54FDC51FB01E73E5F21 -:1019100074A29AD17DEA4BC1A7C0F6A3127E7C1EA9 -:10192000CFF5CDA8B33AF13ECB21A47B3ACFA3F2B9 -:101930007BB736CE07879EEB1F44BF71C627FC7E60 -:10194000D18E55F7D2B982E96057E251AA363BF9F8 -:10195000A15593900D4E79FD4B33A0DDA94DFC1C94 -:1019600044BB770B763FBF33F2DD828BB58F2FD42C -:101970002E96718587B38CF7C0245CA57FF40AE0AE -:101980007FE880309CBEAA9E4976F1896A3FA527F0 -:1019900095FD2B8723DD3A92E8BCFE3F1A1E54F1D9 -:1019A0009D958AADFD7F40FF76983DC989FCFA552B -:1019B000F502DAEF3C515D4569F8FDDC20A5576C76 -:1019C0006DA2765F350C6CC47BAE2FDB9384BC8F2D -:1019D000DED7E178ECE8FEAE5CD7F1BB393EE5BC82 -:1019E0008F6F9A9A88EB6AFA534AE3E588C7842492 -:1019F00027DA77E5E29CC7E1D5DC7E3E6A4B7A7256 -:101A00001C9E0F597B5D1ABE8333BDE9FA49F87DF0 -:101A1000C636C58976BF77DB8444F4433FD75A1274 -:101A2000F15ED3E7ABE57DA820BDD33AAC88D1BE4B -:101A3000D3B090C63CB97C8B19E9E4F2131ADD3BB4 -:101A4000FD02F7A330EEF1433CC53D98D8679AFEFE -:101A5000128F97B4F9B1C28F1B2ED6DD8ABFB39116 -:101A60001AFE5E30947F3FB2F6F9F1D8DFB10D6611 -:101A700027CEFBAB0DFC7D86D9E07FE1D594A39BFF -:101A8000B87F33BB5E217FF8D826D0CFB0AE8ADBDB -:101A9000CD3ABFAF69A4BF0228C7738D92FE66EB33 -:101AA00041A2EBE8F73392593DDDEBFAA5E8F1707E -:101AB00096F13C661B1D76847F0127E45BA4438975 -:101AC000E7D9ABF9BEB9ABBE7F3ED293C47BF4BBC2 -:101AD00072351646F71202A6787AFF7782DD6356D2 -:101AE00060FDD7B95B46A1F89C98CDF5B85A60D295 -:101AF000F11E1AABE1F7F3DBC98F2C6E0FD56433FF -:101B0000EABF73363F2F2CEF63C91416924DEFEFE7 -:101B100025B8FEED812AF6C76BC76B30FF09C35DA0 -:101B20007776F3028A1E5F3E5E03BA9D30D0F5429F -:101B300057C8A765DFC7F397B9069921BF68D1FDDC -:101B4000E347E1EFB264EBF1D911E3C87EE1BB23D7 -:101B50001BE6B133C5EFC4B4D2C2EF479D545AFB64 -:101B60002DC80DD77F4F61FBFEA184F32D6646EF94 -:101B7000C074C6F90FEA38BD255BCFE0E31ABF9702 -:101B800031B684CEC705F8FD16F8F3D9D2F0FE11B0 -:101B9000A7A73279DF6599F1BE0BF3F2FB57F21E6E -:101BA00092BC67D4277C7F6AEDC5DC9F3A6986F5D5 -:101BB00026B5BFCFA634BE4EEF61D504584B1CE10D -:101BC000C1787FA52281BFD337FF852F772059CDDC -:101BD00092F60A2ADBC1E1FBFB2C9DEFFBDF29E833 -:101BE000F04835EBDE1D58F9DAE6E6440F4CF6C452 -:101BF000F8504FE46F8FD59F8FF03FB2B6266BBE83 -:101C00001BEF7D5ABDE3A0FED120BF573957D89BAB -:101C10006C43AAE073357415D4DB95DB87DE6F184F -:101C20009BCDF5F289DC500EBEA713C8E5FE0DD49E -:101C3000A3F36B458BC7A462BD13CFDDDB7D3AE018 -:101C4000CD8AEFB7B9286578FFE96A3BBE854CEFCE -:101C5000BA3195F66983FC9D31A897887ADD3335D2 -:101C60009DC7D1F9BD39892709FF76788129A03D23 -:101C70006AB23133CEBF0F5BEB447D21F123DF31FC -:101C80009DFF028F9FCC575A6A5330FF8C42E7DF8B -:101C90008ED8F8BD9EF67A6EA305413D73ED54C310 -:101CA000FB3CF2BDD05F3A0E343F5BC897FEAC7F81 -:101CB000E47BACE5A2ED68B5C483EF49CE4FB5D166 -:101CC000BB1DF31FEF46FA041C6116598FAD4D2161 -:101CD000FA589AAB129C6735307A77A7B82193CE21 -:101CE0002B8E6B70519A78269DBE1F7BF2CD3C2EB9 -:101CF0007F381E8A9FEA44EF47173FD56B24FFD1F8 -:101D00008176EFFFF07793ED36BA473B7F37D74BBD -:101D1000F36F50293EC9C4FD709F988ECFBE8CE2F0 -:101D2000393E16FB1D589F7C0756379FF31D5809F7 -:101D30005FABC04FF4BBB037EC1E988E7EAA7C1709 -:101D400056BE63D72CEE6D45BF0F7B6F6221BD0F72 -:101D50003B59E77A24FA7D582D10E745FBD69C6560 -:101D6000E7EF35F8A3DF8B6DD170DD9346F0F762B6 -:101D70006F981CF12E02FCCF3CE26B92D3E611ED82 -:101D8000DE0732237D5B7DC6FA5B24FEFBB03EE7B7 -:101D90007C8F37CB42EFBC69F85E35E42789F77852 -:101DA000D18E43FBFC94CEDF95B3C6F37537B3BC3D -:101DB00074E4FBFFDFDFA13EDFFBD3D1EF4D47BF74 -:101DC000333D70D71F0DF941CD6B0CF587EC5D6F7E -:101DD00028BFBCE56943F9F0A35B0CF92B5AFF6EF1 -:101DE000A87FD599570DF97CF6A6A17E81ED7D439C -:101DF0007EB4F37F0CF5C7A41F34945FEDF9C25095 -:101E00003EB6F769E37A34FF59D487C5DEEF0DEDAE -:101E1000C633CF1FF01DE71BDD267AAF43C911F68D -:101E2000B5A0BB1FB384DEEECE72507E8D564784C4 -:101E300088EE1A14E2F7683DA67DE1D3311EC75E35 -:101E4000E4F7BF92C0EED322C64BD66DE01086F306 -:101E500029454E433ED5976EA8DF69B2C7509EE133 -:101E6000EF6D28EF3CD36BC867570D35D4EFB24008 -:101E700037E473034586FADD96F90CF91E75930D68 -:101E8000F57BADF61BCAFB04671ACA2FD95465C887 -:101E90005F5ABFC050FFB28680A1BC7F6899A17C09 -:101EA000E0AE3A437E50F36A43FD217B8386F2CB5A -:101EB0005B3619CA871FAD37E4AF686D30D4BFEA0F -:101EC0004CC890CF67BB0DF50B6CEF19F2A39D1FAB -:101ED0001BEA8F49DF6F28BFDA73CC502EED96B125 -:101EE000BDBF367E17764CB1F73F86F68191E27D15 -:101EF000E82D0ABD0F7D5B4E57F9AE684B1CBE8BBB -:101F000018F051DCC78507FB504EE1BD6B173F173A -:101F10005342F12337D939A48A3C784E07EC8044E8 -:101F2000F4AE7273D14E4E08DB63596723CEC99D60 -:101F3000CF1EABC86144E76B73FC6539A9E87F3CF1 -:101F40005748EF7BB3C0529C877CE7EE9DA8778D06 -:101F5000657AB5ED288B7CFF78775C5DD68073F869 -:101F6000EF57DB4E307C57B9AD5F11AF50607DF35A -:101F700023FA5F09FE82D69DB1BA6AE01BB091FEDA -:101F800058EDA4FC43D5E9947FA4DA43E9EAEADEFC -:101F900094AEA9F652F9DAEAA1947FA25AA77CB0CE -:101FA000BA88D2F5D53EFABEA17A32E59F04BF18B1 -:101FB000D34DE02763FA34F8BB58BE19FC5FCC3F21 -:101FC0005B1DA0B4BE7A197DDF525D47F9ADD5AB7C -:101FD00029FFB7EA20A50DD59B28FD7B753D9537D8 -:101FE000563750FEE5EA10E543D5BB28FF6A753346 -:101FF000E57754EFA5FCCEEA164A77551FA5F48D78 -:10200000EA562A7FABFA0CE56B4DFCF740D6E41894 -:10201000F721645EBEC720EDBFF168BF23710C35A8 -:102020007F65B0DFA3ECE8687C1C1771DDF0FB096D -:102030003DD7D744F84F4F8AF1E47B0CD1EF2830DD -:10204000619FCA774FE57B0D33C4BCCA053F0C4284 -:10205000FAEC4DF4F9D6C5F80BD21F1C90EAFF1B21 -:10206000D167B62940FEB09DDF27BE21D5FF52CEF5 -:1020700020DC2F9CBE93C6737A69DFB0D81A4ABDA4 -:10208000318FDEFBA6B85C47E3558A73DF1D96BF30 -:102090007C2C0BEDE9A29F547A67EB1DB3837EDFA6 -:1020A000F02D0197B7724C86F4E354FF9B38CF6F45 -:1020B0001D55B79A60FEDF5E79FB93BFCE0DFBC95D -:1020C000D7A2AB09FECD04E631D3B942A6BF968BA9 -:1020D0007613185698BF910528BDD5EDDF83FDDC3A -:1020E000040637E6FDC3AC39B1D6153DAFCF72B8A3 -:1020F0003FFC598EC9905AD3FCFB104EDF3A749ABC -:10210000D73B978FE989EB92F32A12EF8E8C67AD5C -:102110004FE0FCBEDDF6F561A55B18FED21FA77B84 -:10212000FD28C76E57C4BB76EDDE11A0F2923B15B9 -:10213000B2CFA6803F83FB43F2DD805355667A0F12 -:102140001EDF19C0FDB353559FDB919CA11EC3FD3B -:102150008D1A3CA003E53577F3FBF425F82EC60075 -:102160007CB7C0C6FB5DA810DD0D4FCBE5F79FC166 -:10217000DE23FFC9DD4AF7F4804EBE273AB95CA5DD -:102180007BE7EF98823D15DA4F9E6E51607EE56EDB -:10219000AFE17703A2E9609EB82F20BF037D99BB12 -:1021A000C0385FBD34A437C5DF5FBEDC83F0AA3121 -:1021B000F1FB43813754F17B4E5C44ABC32FA53810 -:1021C00023D3BC5E8C17158BFB264D2A5B10EBBD11 -:1021D000F05E5D38BEDE49E7EFE7D544EDB374E964 -:1021E000C2E9AA4B174E6FC5AFEEA67784E6EDE2C3 -:1021F000EF1DB2BC96BEB1DEE7AF5CF0469FEE11BC -:10220000EBA86CD8CFCF57B096BE91E7C975D1AFC8 -:10221000A423D5E2F0AFB347CE8FD30FD0754F8450 -:10222000C3B7C940D7DD88AE0FE3BEE278AB27E97C -:1022300046057F25807D85EFFBF8FFECA4F341F296 -:102240009CD034E6A3B41CC800E9D8175845EFB9B0 -:10225000CE66F5F47DDED0A9F47BA495AC75543A36 -:10226000C0ED86658B5EC3E7F0AEAB5B351AE3ABC2 -:102270001383A5AF613A61837218FD54E08B215D31 -:10228000301EA2542DC12399376FCE5F825B66E367 -:10229000558E0FF626C707D08DAEBADAAF13F8E029 -:1022A0002A6CFF6DB24EEB50138B0C7C50B298E948 -:1022B0008A3B7CDEBD8D2F86CEF90CB7D498D64AEA -:1022C000FBE6952F5B5D88E7D98CEBED703C43EA2C -:1022D0006B46743E87C57BB1DE7141D7C7B319D158 -:1022E000F57185D13D756947B21C7FFA806E61BD7D -:1022F0007BDC141C9CD88DF4F2249CEFCEF4EB3CD8 -:1023000018079BE3B6D1FBA7C793833951EF7CD065 -:102310007B44328EB5D2CCE34AD1F35286EEE4BF91 -:102320006B616101DC9FC0DF751E8CFC8CEFE628C1 -:10233000F40E740BF2BD79A4CF13ABFF5AD1EFAEFC -:102340001FB9BF1B80F5E0FDC676E338C538F17CC8 -:102350001CA93FDA7E473A8D19C6FB4D975CC2CF68 -:102360003B0E9DE6BFC8944CF226C3E6BF0BE94E78 -:10237000C675A41FB82BF74877F2D77FA8C942FBD0 -:102380009CDE2140FBFB4A2E97DE317BE8DDDD77CA -:10239000F273297E2FE5EDB54379FCEB5A19EF1A5C -:1023A0001115EF8A8AB7B011B1E35F8C79CD386E21 -:1023B0001FF689840FC5595E1DA1197E3FEA55E1BC -:1023C0007F9E2A72E7219DEFEFA2D23A1353F8BB0A -:1023D00021AD0E95E86C7BC06BC7DFA3582EE2A43D -:1023E0002BA2DEBD5E9E37DF89E702AC0EFE9EE5C6 -:1023F0000323E367469E477FAD073FB77463CFFC77 -:1024000077915EFADA8323493DEB9A07E7AF88F5C7 -:102410005CE204789BD0EEF48978A7FC5D9351A42C -:102420009F259E2F543F3FAD0517C7E37ADD8CF8FB -:10243000CEB1DA46F253ADD74378343AB5E7C4CDDE -:10244000843FCDD71BC7691A1CCFEC50FFDB260B8E -:10245000C5A15E3695FD19CFADB77E6C6578CEA16E -:10246000DED1594323B7FEC75F8DA2D431BC90BFE4 -:102470003FC912F09DCCFE4EF697FF462489FB61C2 -:10248000F50ADBC51F6BD513F09DB77A133B7D159D -:10249000CC6B8B7DC0839711A9F9545CE77BDDFD84 -:1024A000AFE03C06B32ACA3F60F1CD5C07E33EE0F3 -:1024B000B2117DCCEAEE7B95CF932D1907F3BBB219 -:1024C00040A1DFAD5B227E97CDE18D37BCB7EB3B02 -:1024D000D393F4C5DB423ED7A6EBCD78B1A343B886 -:1024E00039B556C33B592C8BE273128E91F8720E9C -:1024F00036E0CB6F8EC4D750C0D7A591F8D2958B5C -:10250000C1D7935D18CD57D26560A467D5A83CAEFE -:10251000C76AA896338FCEB7B6A34FCFE67AC86FF7 -:10252000D72E217849FA94F41A834E6FDF8EF23851 -:10253000DBE4C4FDDD7BC7C5937E93742BE9D5D264 -:10254000959FAF02BAF57585748ADD371A654834F0 -:10255000DD62DC2B923E4B3AA463E68CE4D7F1605B -:102560003F24B9D0DE39BAA13E823E4BAABED6B8CE -:10257000FC387B55FCE0709CEE7F012DB720EB0012 -:10258000800000001F8B080000000000000BED7DA4 -:102590000D7854D5B5E83E33672633934972924C93 -:1025A00092811038934C424826302480FC552721D4 -:1025B000D0F0EBF05783243A58B4412193026DA335 -:1025C000D77B33908001EC2DA2F5A1F2EC808A68D4 -:1025D000B506A51ADB889320DC685107B52DB6DA5D -:1025E00006DBCF9FB64A10AF175B5AEE5A6BEF93DC -:1025F000CC994C10ED7D7DDFD7F7A27C3BFBEC7DC9 -:10260000F6CFDAEB7FAD7DB268A6C4DEB130FAB9A1 -:1026100000FFFCF0EF9D62F81D7F5CF85456DED59C -:10262000DA8DE2F915434BE8C7DE2D1EEC675AB68A -:10263000A9981918DBDAE264CCCC58BBE4F5E5C004 -:102640007872D3A90DF87C8B0C1D1D8C853CE6F0AF -:1026500043388FEC2FF6A70C8E975554E550B318DE -:102660004BB9EC4FC93740BF4FB30D2A93E03DF54E -:10267000BA276C93E0BD93C90CDF4BCD8C363C0080 -:10268000EDFD6F8E65FB60984FD704C62876C6B601 -:10269000B5C03EDCB89A708E612A967D39062796C1 -:1026A000AA939701277FCE447B98EA7B5CF98C4DF7 -:1026B000C6BA4FF4EFA3FEDBCC3B2D369CC7655169 -:1026C000F64983EBBCC2C89A3A60BED92A6C0AD6D6 -:1026D000CBCEB7AA8B53B02E51FDCE96DDFEDFBB1D -:1026E000713D612A33178459A08C315B71480D41CB -:1026F0003FCB6616C0F7E3E179BF4BA675587AEE7B -:10270000612AF4CB747BA500F4732C80F13438C3B8 -:10271000BF45008AB472E8B78FF9D824848F2D1C86 -:1027200092868EB728ABAA574E1DFEFC16C5E10156 -:102730001378A09DA7E56FC64087076B4E03CB6655 -:102740006C23F65519ABCE875F70DE66F3DE2498F6 -:10275000F75A359DF6FD89A32A8D79869FEF7E383D -:102760009F501140BDC542E5BE168585004F1E0431 -:102770007CC1FAFE1695CA032DC5543EDAE2A5F6D1 -:10278000C75AA652FD472D3EAA77B4D450FDC916AC -:102790003FD50FB5D452FDE99600959D2D0D54FE01 -:1027A000A4A589DABB5A9AA97E45129C1BEEA738CC -:1027B000E45C02E7D17EB3D9A7027CEEC67304B80D -:1027C0001FF1E5677AE1BCADC5069604DDACC777BD -:1027D00031DC8FD569F085E11CB63A77B1AF43693A -:1027E0009A92D22EA5C1FE1FB7B74B13A05DBE9320 -:1027F000A9F0FC7E29D4C0BC8CFD6B78865F9EC698 -:1028000098DBF9CDAA0CA8B7862B775A006F8BD42A -:10281000C5B59B62EA6A4AF98D0795C1FA18CF5E81 -:10282000D906EDED6AF54E87C4D7C14632B62B3CCA -:10283000C7BF09F02892CF4208F77E97398CF8B8C5 -:102840001ACF4BC6F52BB4FEF9ACD56980F58F5184 -:10285000CDE54837D03FC21C97DEFF6E55A5E7F1A6 -:10286000EF5DAC9F61D225F563C68B8C87EDD245B9 -:10287000C6B1484B2D5158FB0E93E01F5976E21F0D -:10288000ED2676AD1FE0DE6EE5E5699744F3F5BA17 -:10289000AAAE724179958B9F6BBB35A454E1FC6560 -:1028A000062FF20BD6EC7A3D1FE6FBF64B32DBAE81 -:1028B0000EE2E7E3829E0BC7A4F8701EF62F967017 -:1028C00021CCF3D5318FB76540BDF001AFD708FDFE -:1028D0007730AF0DF12474BB813D04F51F4E2AC83B -:1028E000580CDD4B27FF382300F8922CD61166AC2C -:1028F00006F16DD3961BC6F441F9E909CEA7BAC417 -:102900003C7B4DD1263ACFC97686FB666C6732F2A6 -:102910009D4D4E38A4CB18338CE0A5D9A45C8DFD19 -:10292000CC5BCC2C04EB31FFF5328B1FC66B3D9793 -:1029300054837C84B16832F231B335A0A4C3F39DD3 -:102940002103F18556D51E9660DC1DF6F25E15F961 -:10295000A762F016221C3D0682639BFD6B6123F289 -:10296000676953032B80F52A4F5A5CF03CEC312801 -:1029700048E761DF921AAC8702B2B750150C02DB50 -:102980000319E1ED382EEBFFD9046CAF635E84C30D -:1029900096EC3FF72443BD75B9E235F2DEAA3C85DB -:1029A000B111F81B4CD96AEADB9C8CEB58C1FBC314 -:1029B0006FDEC54087A949FCFCBED73D57C92F2310 -:1029C000B912EAE37C49BA0084289BBC162FB48F65 -:1029D000B797D7F8A09453CA2D2AECB34D29B7ACBA -:1029E000A2FD333B83793219E74FAD8AA1262CDA59 -:1029F000BFEE2131F5827B0A9112B5B7D9777523E5 -:102A00003CE4EB1973A9B83E984FE37B000F4BC130 -:102A1000CC5E15F6D17E4306ED4396BC5467D7CB0A -:102A2000B4EE91AA2DC2C6039F372FEC65C03F4676 -:102A30005A6E5A80F5110DF2EFFB62F8744E405F4A -:102A4000CFAAD5D73319D42D31F30ABC89875B3C83 -:102A50003C46286D2770FD2302323D8C5FFF3DCA46 -:102A60005DE9950CD769A77566DBAFAB040801CAB1 -:102A7000F93721FEFDBDEB1CAF2CB1B860FEF10EA5 -:102A80000382934D60FD9B71DC1D02DFDB5DFC3C2E -:102A900007E9CAA8D1A50FE9724CB3818562E48E1B -:102AA0002B6463A198F90ADA3374F5C29D2375FD8E -:102AB000C7EECED7B58F0B97E8DA4B0F94EBEA65EC -:102AC0001DD375FD277456E9EA1323F374FD2B7AA1 -:102AD00097E8EA93A357EBFA5F76F23A5DFBB4BE50 -:102AE0001B75ED33DE5FAFAB7FA5FF165D7F20E387 -:102AF000868E047272BA8BF38536A72FEA4B20CFED -:102B000007F42E45EE1F380FE09D494EC0EC98F9B2 -:102B100052BC3640A6C13A63A3947793459DE47AAC -:102B2000ABBA19F139D54CF82CA33C87FAFA9BCDF6 -:102B3000E124C4C3CBBD2AF217AF8BEB336F17F977 -:102B4000BE8AE756996A21B920DB793FD93E87F4DE -:102B500094D1BB812F55A0D6C806DA93913FB78494 -:102B6000FC6EF7E0BAADCA4E86F45B995AC3FAEC34 -:102B700083EFCB8A8F0552703E95E6B32821EA6732 -:102B800055E1FD987D1D3618981DF97837C809184C -:102B9000BF23255746FAEBF86B4935952933E620D4 -:102BA000BE4F54D8034F40FF0E89F532D0933A0CF4 -:102BB000EC2CE86CEC497BF99D20AE8135FA8DC890 -:102BC000EFA6B0262A471B980DCBBD52DF0606FDA7 -:102BD0003C4D27AA72A0DF0977600DEEFBBBA04336 -:102BE000E0BEBE3B9EEB595BB2E7A9A897B5BB3AE6 -:102BF0007AF3713D592057901064BF17F50A6DBFE5 -:102C0000778AF394F3DBFB50FEAD4FB7A8A82FC92A -:102C1000969DFEDF03BCEE37F53DD20AF5364959E5 -:102C2000DB817CF166BBF72186FA23879B9A62A839 -:102C3000D80CE3766CF2C9E9D0DEB18D79DB903E39 -:102C40001C959BD3E179E1A855860CA407F7A6CD86 -:102C5000586E413D16E61BE7D96BC884F6D24995FC -:102C6000B50C65AF02F3650E8F4FC6D4DD0CF7C30C -:102C7000DCF2BB8857A8755F80A55766C079C3BCD6 -:102C8000563C6F894A8283F59C3D6CC5BA9BC3C58F -:102C9000EA93C2C95077B87D92CF83EFEDA6F3B522 -:102CA00046F47AEC1A77E04E84A76381FE5C65CB2C -:102CB0005DB4BE1D064E17EDE9EA7194CFED2E7797 -:102CC00046AB3AB84E8DAFDC2FE4A7F65CE32B0A97 -:102CD000DA145983FA0DE0F96E4301EA673B19F201 -:102CE00027EBAD3B19E2B55509A90CF5F07F0B11A7 -:102CF0009E6BFAED064133D5F9B51694D7671DE5FD -:102D0000A4CF5A9BF7D379C5C3CDDA6760BE8BC019 -:102D100035B5E85E92EFC080D542804F4FB6BD61B9 -:102D20006F02BD7FAAB01BB6011947495EF92DC8D5 -:102D3000AF4DC2CE004C30A07C3BAB30925FACC3F9 -:102D400045F50DE9BCAE8DB321AB3CE762FAB77532 -:102D5000B7850562F6B10DE641B86C39BFB806E13A -:102D6000CA64220EB6E3AF9EBDDB1196C2AE992AAD -:102D7000E03D1BE706B88E3633B20BBC8E053548F6 -:102D800077FE73F9247CFFE4CAA07EDE103336D1CF -:102D9000BA4D9A5C325C98406B55CD9A1C26D596FC -:102DA000CB2DF8BFFB82847C3F468EF182E4BA26AD -:102DB000B70B77EADBC7EED6D7C78587BCFF06CA55 -:102DC000FDE5FC77900BFAF67B85FC5E8EF21B4AE4 -:102DD000B6CC4472CF022BBAC0E5EEA01C04BE9064 -:102DE000D711A944363A6A638C3C64B40F9D7C5C6D -:102DF000E3E67CCCDF2B9BF01CFDE7C0F8A818CAEB -:102E00009747277178F79853C29BE1BDDBC12E0A23 -:102E10001471FB3900A4F65DD9FBCB3AB4B37A8DBB -:102E20005EC0D881738A3FD715F91C7F7A5DFEBFDB -:102E3000BA487FE8AB40BB1AE70BC4CCD7634B1D45 -:102E4000CFC06E79B92860CC877E1FD73826217F06 -:102E5000481AC54C489F383F2B1AB4DFAF12F4B460 -:102E6000C3FB5AD31158C76D2793501D67B38DC745 -:102E70007B5BA0BE3E4F267EA65CB6F60768275752 -:102E8000FD1ADAE19DDB543587F4F45E13D9EB5576 -:102E9000028FAB84FD75B4D044E3E68A75E78812EF -:102EA000DEB071FB3B62437DB6F400F062FD792633 -:102EB000F3761FE9BB651DF1ED3E86745C22F005DB -:102EC000EAF64AA84F14F50E26652A708E136AFB9F -:102ED0007AD094F0BC78D4867878D0CAF5B7470514 -:102EE0003E6433C91B81F5671FB07BC3D02FC5C8B3 -:102EF0000E46611FDE17E47762CF7D7C97BEEE61E0 -:102F0000317517AE435FBF5D6D92102EB7D7818EBE -:102F10000E5BAEC84F71BC5BCA10E645885FB38DCF -:102F2000F689684FADAFB433846BD2A9B1FF2B8A59 -:102F3000FCE38491A15C5092D53BAAE17DE56799C1 -:102F4000DE4DEAE0F93FDA82AC1BF8DE052F6B03B9 -:102F50009EFCDD2A5B03EABF8FC179A21CF911D860 -:102F6000D9D8DE01E78AF527C1CEC6F210D8D9F844 -:102F7000FC69B0B3B1DE097636963F013B1B9F7703 -:102F8000819D8DF5AB8A2ABF8AF8526FF7CF9610D4 -:102F9000AE3E595580AEA44138931F48627DD2059C -:102FA00020903A85F525015CCF8DE17490841E2632 -:102FB000E0C32CE0B5205E7EFE383E6D9C8029D1BA -:102FC0003853611CB2132C0AFA45F2E18D3478FEB5 -:102FD000E1CDBFDA8FF262A11458910FFDD74D7E7B -:102FE000C7CCF5E77E33F6DF6305FC073E344AD0F5 -:102FF00041A80AE08972F725A3B7157A5D3EEBD4A4 -:10300000862CB0BF6FDA377931DAEF97DF74AA62B6 -:1030100034D40FEE0B2F964119BFFCE1534FE5025C -:103020000FCE796015AFDF79EAEC28684F0BED58C9 -:103030005C3D0DFD525C3EED91586DAC7ED72CF0A1 -:103040003BD8BC8BE41CF077867068CDF6937C3C53 -:10305000EDE84F5D05FD8359FDD9D75D847F079B62 -:10306000EF2639D49AFA07D23F5A07E48597E485C8 -:1030700036AF262F3E16B8A7C98BF5565E1DE8174A -:1030800028A0E7770ABF0E0B17523DD3CAEBFF5EAD -:10309000A5BE8A760FC087ECDC23A925DF9B897645 -:1030A000658DEC4D82FA9DF6722BCA9B07F3B9DD54 -:1030B00002E386D08E0FCDB6841FC24375A8448F1D -:1030C00019DAF80E372A5D2C43ACE385E9B608DA45 -:1030D000F9ADD5967DA84FEEB2E7D378AD53CD21AB -:1030E000F4AF68F5CDD3A75B509F484FCD70615DBD -:1030F000E34FDB01EFB1841F238E5B25B65B65B127 -:10310000478CC8CF2DA63FC5EAC9761625FCF11A13 -:10311000C020413E50C0F1AA82796BF1B9596A0AC8 -:103120002132EEC1B5E33E52849F92E5F2756BFB0E -:10313000F0E5F27D69FB483187C43E484FDA6537D8 -:103140004450DFDB05FBC2F176E7AB049FF87D312D -:1031500074BDC2B8B3A68A752B330FE13A661B7CE7 -:103160006DF8DED1CFEA1C805E6C0E6B92F17901B6 -:1031700058B4E89705946EBB7011BD23DE2F7BF920 -:10318000EF24DA0FBBC94CE7F24C215FCFBDE6B0AC -:103190008B91811B1EB1246578FC7D6308FEFA18B3 -:1031A000D2536B868FE3AFD29FBA09F137BD3F7B15 -:1031B00033ED2B92F03CE2F138FE7C7E0BFF841C59 -:1031C00030227C3FEF3CB573D4F0205E7E4D28501A -:1031D000B4F375D23E7DC59C0E343D8A819D9332F9 -:1031E000147E5B613CB568B06E76FA493F3639BCF7 -:1031F000C5E8BF6DFD9BB12191FF36AD80D3C1A65F -:10320000541BE9CDADA95C6FEE4E9DA7B377AAC163 -:10321000FE91003F8C99AC03E9C8987635F9BF8CD4 -:1032200039A821E1BAE2F4D1B4055C1F55401F4D25 -:1032300030AF56CAA88F26D05307F4D18C795C1FC3 -:103240004D35933EBA27C55CBB3701BF792F9FEB45 -:103250007BDDB88F04F61ED879E487D4EC3CB3123A -:10326000207B4DDBE77BF99CAEB4FE494A1343BF9C -:1032700098D1EC5551DF34DAB8FE9804DB2C8E91EE -:10328000DFDAFCEFE49B088E3D45FCFC0C16AE9F9C -:103290005CFEAAD49408EE6A81A63F24C6BBBF0395 -:1032A0006F882F94DBCD3ED40FCAEDCE2AD40F8683 -:1032B0007B0F4CCDD0FB19837CC5FBB72946923FD1 -:1032C000B2D78978D661EA7BEA55B4E38EDA49DE73 -:1032D00074A48CAA8AD59FC15E0D15C32007FF0276 -:1032E0009468186AA782FD34BD00C6ED599F3D89D8 -:1032F0008F0B7A5ED950BD32DE1F3040EFA9FB5DE7 -:10330000FCBDF0087C4F5A3F3507F12A9EDEB532EE -:10331000CFF952DE6A5857DE885E2AB5E7FF9B195F -:10332000C9BF16DF7FF1C03970B93C0E264B33920E -:103330003C5E8CEBFE70E36BD95E584AA37C86E45E -:10334000F2C74D53D36E5339BF3D8072E69B32F1C5 -:10335000DB516BBAD33362CEF9DE96CE3CD98D7198 -:1033600083685EB59BEC015FA2F5FEABA03F16192A -:1033700043FCD924F0407544E78E05B8AB7683173B -:103380005DD2207C757CA0524EAF5660FEBC16E626 -:10339000B543DDC514F267E55D3012BEE51D594148 -:1033A000783CC6D12F853C31F3202B8E898B7CD283 -:1033B000544DF499973360C751FCE013476431D200 -:1033C000F72777F115E53DA06F07194BFEE61B3691 -:1033D000DAC2680A8EB95531603DEF07121BE5C2AB -:1033E000751C71DD86FE9A6792C95F63DCED267FEE -:1033F000CB0FA4C0F505B08E0FC3EAB7D1CEA51F81 -:10340000E8B7EE3BB67DDB498E45E7921CFB968123 -:103410003D94C09FD456C0FDE35B04BEE7395FC94D -:103420005B5D81E5713AEF4BA5A783C8B7619CDB73 -:10343000D27652BC2B54C58AD1FE6B37015E25A0D3 -:10344000D73305226EA6F163013F2B5A2BB00FA391 -:1034500024F4BC038F3EFA6836CA6D864ADE00DD6E -:1034600069E32417775063B2D7C7D0EF20293ECE47 -:103470006795903384F19DBF1A13E27544E3D3AE90 -:10348000AD4EEC5FEDF63A910EBA5D539CD701FC60 -:10349000EC76334B8AE1C31A9EBC903285F4106DF2 -:1034A0009CF529F917B5B7CDC08FD58BC86933FA0C -:1034B000BD519FE999665161BD5BEDE551D4B7B649 -:1034C000DA1DE5E43FB703DF88F127D9EDC7080F20 -:1034D000ED5EEE67B323FF457F92D87FB7EB18ED23 -:1034E0005FEBB7A780D3BDDD1BE1F147B066B09FAE -:1034F00055F687D0CEB03A18D995560BA7A76438A1 -:103500000E4B0C1FD1E6FD7E01B7D7B68E2A8F5623 -:10351000D2FA64F408B0ADCE7227C9438433EAA36B -:103520002306F451F29BBC2EF881364E6B37DFA791 -:10353000BFD9E9ABCE443BD4FF22F285ADF6EB2CEC -:1035400021940B29932E3ADEDBE2DC868ED73C4BAE -:103550008CF73AD28331A55CC1F14CC82712E0DF69 -:103560001FC4BABEAC5F0C20AA90DDC6B87E051899 -:10357000EF4CA44768A545F8B786BEC7F9A44BD859 -:103580002FC0273FC5F5AF1BF5CEB14AEAC5ED9672 -:103590008CB972B10CE7F5319CA0511AB4E3E3F594 -:1035A000994A633FC9354D1E69F2E95ED467CC8301 -:1035B000F4A4F95F721BFC24B725879FF006F41B67 -:1035C00015E9C68871DF04709BEEE6709352A7AAD6 -:1035D000482FD5E7FB72F1BDC329EFE7B2183F9A38 -:1035E000C60F5FF86CBF15DB3F69A8BAA8DEA2C59D -:1035F00085878B07A7DEF2876FC6EA2DC3C5873F95 -:103600002F2EDC936A26FFDBFD929E2F4D72733EB8 -:1036100038C1ADC50F0363DD59D8CFEF25BD51F8D3 -:1036200053DE2E0A94B8D1FFD56E662138CFC39FE2 -:103630004D71227E5C2A7C35FFF948A14F8DB4EF95 -:1036400097904E47368425F47FE7367448BE8BF456 -:10365000330ABF92D6DF24C6BF42EE37A2BCBA42BD -:10366000D071EE399915C7E8817F2BE0FA9449E8CB -:10367000EFA93D8F5871BC1E83BFBD08E543AA4129 -:103680007D2886DE4D6BCA2D5531F069C5B84E8256 -:10369000F3AB730FE85D641F69F2D6A4C90987AC68 -:1036A0009313C1648EB79ABE139CCEED21490A2CA8 -:1036B00047B89E9EFE8745C8B24E4B1D668C7F7FE5 -:1036C0005E5C6340AF31845769760CD28B57567E6F -:1036D000DA07EF4F7CB892E861320B507919E37A40 -:1036E0001FE8515FC7F92A70C931E7CBD0F590FDCB -:1036F000F9FBB812FDDE59E89F8B92FFF4BBE7257A -:10370000E2E3F1F0D93F009F81F89DCE0F9A2BE4C0 -:103710005AAE6857D10FEAC27894DE4F59D1ABAF99 -:103720004F8EEAEB979D8CF37B867C3F7767F3782F -:103730003F0EBA07E80AF9C16A11A71C150A572AF1 -:10374000B0DE3CD641F1C0DC860C1D5C2F378A3CD4 -:1037500009E69398B64EF8C995177E80EFDFE7D655 -:10376000F49F10E9593788F66F54AFFE761BDACE16 -:103770003B4DE40FB5C0E408AF6FCC5D321BCF7595 -:10378000883FB549EF47CD8D6D0738DCB0C7A46BD6 -:10379000F7FB26921DB054F86907F68BEBC8E2FBE5 -:1037A000CD2D1F3AFFE7CF0BFF3286CEAF8D7B2F9B -:1037B000F01BE4A3EC3C9CEB14841B438F03CB93E2 -:1037C0002312C6A54736311FEAC3B91B992F917F33 -:1037D000FF6501AF7838B3D01504BF59E2D948BBB3 -:1037E00091ECF4911B0DA4078E047E807C60D15A6D -:1037F0002017A8E7AE55498FBCB2C1C0500EB0F338 -:103800002DBAF761B9E4EFD4CEFD5E1C0FF5C87593 -:103810002C6CC0FD3495103DD1BAF207F101E0F5F2 -:103820000E879785E3F75493CEAF99877ECC18B86F -:103830006878901BF7BCD1CDE32E1A5D803C7BD914 -:103840004D78C2E55C21CA3958D287D34EEEEF805D -:10385000F55DBE99D17EFBD36D619EFF30102F3098 -:103860005E180BFCC932AB18FD2A3B149B01F31404 -:103870000EA7F7DDC7D219FB2DA8BFD533197BDE04 -:10388000D65F2A41FD8F0FFECBAE763894C3D6FEAD -:103890001FA2B3D77EFBE6253531F5D47FBF9BEA67 -:1038A0006C2A5365808F0D67807DDA9479078C30A0 -:1038B000BFCD632727A48D0DD029EDA76DBA7A3B24 -:1038C000E679B4151A484F62B1EDB08FDA4245D0AF -:1038D000B78FF2D8580D8FDBC78E2F3B2E32FE3CB0 -:1038E000187FD21718DFC2D79F8D8F40BE64E3FACE -:1038F000D14F8DE3E3F9A2B328767E319ECC427B93 -:1039000031BE02F3D9253E9F827924D94C9F3730AE -:10391000309F02F395FD03F6533BF43C4C173B8F6D -:10392000ABBFD879B4197CB4DED0783BD93F0C9AC0 -:103930000D53D0CEE0F35965F6825CCEE1DA366500 -:1039400010AEA0EFD1B8D07DD305016713C25931B5 -:10395000139C87835B8FC2F398B629B6F026D7FFF6 -:1039600085F372F2F38A9D0FF5C64B9EEF6A98CFEE -:1039700071E9F3217C917E06E00B67B239FBD2E15D -:103980000BAB0A5D0A7C7B605C430C5C07F385EE45 -:103990005150FFB79AFC162FF0DFEB0B791EA2C730 -:1039A000B1C442F903594B2C9897B7C563AFC1FC1A -:1039B000BD2DEE6516538C9CDEE2A9A376E84F7907 -:1039C0004E9E880DDD13AC8C45C9FEDF36B3DAB9E7 -:1039D0000AF1A789E74D6979449A3C64223E49FB84 -:1039E0008217D3BE72A8BF07FA6F6B9A44796269D7 -:1039F000E97FA6FCA81D0D5E2FB6DF67E571C6BB8B -:103A0000459C091195FC68E3A73F80F1D6F2C2F509 -:103A100012C517D75E3CBE587E265A8579566C155E -:103A2000CFA372D6C971F2504FB73B10AE3CDF291D -:103A30002C71F8EAC6BBAF308BC79FDDFB18DA7775 -:103A40004FC158463D7D1930EF289E1E65B34FA9E2 -:103A500044BD7CBD81D6918BA17C1071E5650B9C2A -:103A6000ABE0F9A8EB65AF04CF733CB752FE116829 -:103A7000F5A46F783CC7ABB03E649FABF5FB88DF25 -:103A800057FCBA417091BCD1CEABFC8C3719EDA874 -:103A9000F2C225941F463F1ABD1BE3F69389F6AF89 -:103AA000C16705396673C7EC8BE9FA093BED7FB650 -:103AB000BE0D9109E5627CFCEBDFFCB4CE24E6B5DB -:103AC00098E9BD3AB217B5B8DA48A41D3CF7D18CD5 -:103AD000C725E2DF9FC2DF674E1E674BB281E9094F -:103AE000F427DD6823FF655212D4E17C2433B38CC4 -:103AF00080E7F70ABFDF2689C9581F9C2FC270BE16 -:103B000056C9BFD3EBC292DB4BA6743FE517629850 -:103B100036D6EEECC1BC0D685FBFC695837EBB3464 -:103B2000208828DACD222EA5F949520BFA56A2FC9C -:103B30007EFDA1BF2CB1A07C46C7D274D0BE0B3F86 -:103B4000DD159A39489749E7463235C67E49929B3A -:103B5000287F23E9DC689D3F2522EC2EADEE73C85B -:103B6000D538DF7FA15D00F85CC994367CAF128048 -:103B7000A2C6FA47CF3975E30C8E3F4A376F04EC83 -:103B8000E7D838C0F0E32733B53876FCFC61C62FA0 -:103B90008A1B5F4938FEE0B899BA71B7C89C5F8448 -:103BA0001CB670227F5E5651D57924E5E1F2CB1C1C -:103BB00045DCCE057E2C53DC49E0CD6DCE26CA37E0 -:103BC00033DA787CD424E22547521A785EC4287D03 -:103BD000BE591553646CDF923AA75782F62ABB5E32 -:103BE0004FBFE2FC3B46E43B57C87A3DDDC79A082D -:103BF0003F2F67FAE7A6517A3E7010E903FDFE29D0 -:103C000093A294979665A73C83E1FC076FB530CAF1 -:103C1000973225FB9B50C695ED4FCBDCE2847A1A98 -:103C2000C7AF19FBDD4BD11FF496C0E32D40F70859 -:103C3000C7BAF5397B8D31E3D69923852847EA0C3D -:103C40003C3F9F7E60FEB7B246923F357E5ECAF033 -:103C50008DF147D537497E77CC3EDE12743130DFA7 -:103C600086DCBDA8C70ECC9714994CF30DE4F988F7 -:103C7000F9B2BFDC7C6F0B7AD6E6ABFFB67E7FF580 -:103C8000E628EDAFDEC0445E3F9FEF6DDC9FEB4B5F -:103C9000CC27F2B506E6FB8E7E7FF54951DA5FFD53 -:103CA000803D29E6CBFE72F325999B281E7387C4BD -:103CB000CF754351D99DE88F3FBB60BD8AF8A6D927 -:103CC000678BF005C0B345229FE9CA5166D21BB489 -:103CD000710FB44C653E33F7DB60593C53A2FCFED8 -:103CE0007153251FC6C3F600DDFB8AD02FA5507B7C -:103CF000B8C549E5BE1695CA07C11EF4917FCACB67 -:103D0000EB45DCCEBF6384B26235EA0B95369EDFAD -:103D10003C730668A283F61618603D56CC23FC1A45 -:103D20009BB81D6A45BB393C1CD5D9613C27DBC417 -:103D300017A22D504F9A6654316F3BC9C5FC89FCC0 -:103D40002E3F28E2FED8DBB47CF8AF483CDE0EFA0A -:103D50004825ECFF5A016A665C20A15E75E577D2C2 -:103D6000491FA95BD697A2C03AAE9126FEDC0DF0A2 -:103D7000F8ADD047AE1DCDE938DE9E74A0649984BD -:103D8000F97AC670187E5D9AB294ECD1A5CB19CBA6 -:103D900080F7AFC4F740AEBC2AF49957FA9218DA0C -:103DA0006BA16A1E67BEE656BD1D798735A2A01EAF -:103DB00077C74407C3F3A8DBA86FBF4DC40B96C6F3 -:103DC000D99557C6E5D180964978823C814D83F3D9 -:103DD0002A4A71507EABC8A3B9BA48E57C6E948379 -:103DE00092A833E6BAD330FE98644E7CEF461BEFC0 -:103DF000A8E03BCCE12338687967CCF8D8447A5FF7 -:103E0000CCA7BD77AFF4D8888BF935416F7BB7AFBE -:103E100098CB67D4AF0FC6ADF3EC82FCEF55B3443B -:103E200078DB2FA35F415BFFFF297CBD097D1AB0C2 -:103E3000EF57677D3289E22D6C14ED7B91863F222E -:103E40009F6AE9405D66724C3E1D73F67BF0BCDFF5 -:103E5000F84AB2773BE19FD01F226F1A2E247FF1E0 -:103E6000F106D6E1F4E5717F5CB542F94062BCE150 -:103E7000E01C9FEFA0F96DE82726DFB0752FCF7704 -:103E80001CE9A8FA00EF45E1F3777478A5BFFFD4E9 -:103E9000DAFD8884F6C57D789F4B1E9C0FFDB4210A -:103EA000D25FF5F7B2E2D7A5DDB7D1D6D36A66C542 -:103EB000648F1A803FC07C0BED7DB2A4A2DFBD5F92 -:103EC00046FC2A19CBFD449813CCEFB9703DCF982E -:103ED0006BE0F91B6354AEF7B9FB47C7C685D2C682 -:103EE000F278DAC2E4D736AA20FF4C0F6F5E8AF967 -:103EF0004B0BD35EDBE882BAE5E1565ECF7DED1376 -:103F000017E86CB687DB78BDF4B54FF2A16E7F7809 -:103F1000CB52CC675A38831150521FDE4AF2326DB1 -:103F2000AC664F4747E17C0B254E1F5FB634261920 -:103F300012C6EF9D63353F2933E13CFEAEFF388961 -:103F4000FCC8AFF95F7DFA7823C3A66CBC27247E3A -:103F50001CA9A4CFCCC3DF019EF3E54837BE6FB0E8 -:103F60004408AE63316FA69850E0AE0B17C98F8836 -:103F7000C72309D0B519F565556175A01FB736B3CC -:103F800080B52006CF994FE039CFE3D1D6A3CD3FFE -:103F9000645D70A47246ECBAF6D038DABA4E4F4C73 -:103FA0000AE17D322D7EAAADEBB4D47F3F3A23BE29 -:103FB000F9C3CEE5786EA753FA474B503FF1F0FBBB -:103FC000748EA7B3FAEF97BC3175133FC7CB1FFEB2 -:103FD000C152948F1B25DFE563317FCE6CA77B6BCD -:103FE000ED42CFDB91150831AEDF53BE63288FDF82 -:103FF00007A89E24F962E3FB3502BFFE632CD71F9E -:104000006727ED6C3A01F8183C24B14DD03F78FE9B -:10401000AC19EDF1855DA7CC6877371E3A6546BBD4 -:10402000BA11EB304EE31E33F1AB78781F1F6BD41F -:10403000C5D1357BE2685ED11607ACA771B5E4C582 -:1040400014D9F5CFA6CFC6FAFA55B84BE0EF330F27 -:10405000CE4674A9F7776FC1F25AD67714E3052BD1 -:10406000027A3D7F65835E2FAF6FD2EBD3D7EE84AC -:10407000D301F9756D73AEEE3D861A32AC678538A3 -:10408000CF15CEDBA3C6F1588FB987231159937F83 -:104090006725DF01947ABFC5C22E89E8B8B1D64240 -:1040A000FED7A3793C7F3EB8D6487941414407AC5E -:1040B0003749C29FE523FEA8C9EFD99D678EE5E287 -:1040C000FB6B4D040716F245D1AF5F2BF0E9DADA4E -:1040D0009A0F10CF6AD51BB91C1FB3DF44FE9500A1 -:1040E000D7C755E1FFAEEBBCA33A03F5CF8D12F96C -:1040F000375636E8F5F57AFC05F5B766291C7121C7 -:104100009CF4EDD736EBEBDBC70A3956CA4A914E21 -:10411000BE375692896E44FD4F79BF78250213DD74 -:1041200022F97721DEAD3547C6A35CBB450A505D59 -:104130006B87E78D5CEE70796F008A22BE6BE27E42 -:1041400085D03A89F071E510F91FA31F1887D68F23 -:104150000A7ED26AF56F247BE93949417DA45AF67B -:10416000C9199E417B361E1F8F093C7F85F57970EA -:104170005D450874807FD1D2B430FAC38A9E5F4512 -:10418000F98D451592D740F46C60CDE558CAC41F2F -:1041900050DFB4425964ECA8257E3DC1ACF0FC412F -:1041A000278BE503BE479884797CB8749C77FEA87A -:1041B000DECFF01C17EDBEFD0CF23B7781AFFC0E9D -:1041C00058DF0E2B9F7FC7B312E9AF8D9E63C417D4 -:1041D00073004D70DE46A7E08F9DC01FB5FDC3790B -:1041E000E720BFC20B210B3C34EF082D3EA0E5D7E2 -:1041F00046AA0C1780EFE488798F97A9B4EFEC1BDF -:104200003B24DC771E0B6D423FD18FC7327AAE95CF -:104210009A1F7FF960BCBA06CF739DB3CF4CFAB733 -:10422000885727E8B764ECE404FD7C4CE747986DB9 -:104230003C9F8A71E5F5CF155C34AFC26831E8E880 -:10424000D5A4D874743DBF584FE70BBD7AFABE723F -:104250006A81AE7DB1AF54D7BEB4A642575FEE9F20 -:10426000A1EB7F55ED2CBDBDEF9CA7EB6F5597E8FB -:10427000EAC9C557EBFAA778AFD3F31B4707E50F99 -:10428000982DA1BE808AF7E6199B9A31C8AF4B538F -:10429000A13394B60AAB1DCBF68949113CB7F69110 -:1042A0003C9E9AF4E2B79C11847ADA63964A287F9E -:1042B0002885AB305E6411765EC9AD4CC7CF1795CB -:1042C000723CD74A5371401907E7E339A0E6F27C04 -:1042D000E968099E8F051D8888C74F5B48EF9810D5 -:1042E000A7FFBE5256692B467FEBADBEB9E497EAF5 -:1042F000640ADE97DD67E6F94CA1A779FEACA7B3A7 -:10430000CFE08BA1B7BB8B397D7EDF5F45F9498D4F -:104310005D20CD10BF77BF6346BF5D6357772ACA64 -:104320008DF1FE77CCA85F0F3E17F244EEB761FC2B -:10433000F2898EC47968738ACD34FE31C16FEBBFC8 -:10434000C5F92D20DC02B48F34FE597F90EFAF7E8B -:10435000B999E85BE3A3C03F75F1B078BEBC726663 -:10436000780BD22EF0519DFD72EDB2391FA03DC4E5 -:104370005884F418E0A3FAF6515B89BEAF8DB36F91 -:1043800026150FF053CF05A097937E43C27D2D2DA8 -:1043900095695F2703B308DEDF07B8A1DDF8FD21CB -:1043A00070E2F0FB3CF83C2EFC89DA39C5F7AB2D06 -:1043B000E5FAE8E3C3F0CB3DE21CF749D17264664D -:1043C00041BF8DF074A5C5B21CF30C8EE57DBA1506 -:1043D000E309F53F96D09665BFEE7E311BF30ECC18 -:1043E000078F66633E44B0E368360338AD35A99B5A -:1043F000502F063CF06E827369EC8CD0FAD775545E -:1044000074E3F3759D92175961F0D09939B44FD682 -:10441000B715F5F87DC3ACEBBA62AEA7AC2B56A9C5 -:104420000C06604E94B38792C88EAD3F087C08D7C7 -:10443000F5AC44F730F66DB3D426D24FEA4BF9F71A -:10444000185ED866661847590BEFE33E8EE51D33BC -:104450005B106F0E4A6413063B4E2C477F7C70A3A3 -:104460008961DC565BDF8779D1DFE0FEDF5C6D625E -:10447000786FB075358FC7BEB9D148E318AF3751E3 -:104480007DC51A9E277C64F5EFB6E6C2B86FAE957F -:1044900028BF7ED6F5FF790CEB2BD6703D281E7F0A -:1044A00007F0350E3F5704F47837044F1BBE1C9EAF -:1044B0006E1BC4D3F12867E1DC67E720FEDCCCE8A3 -:1044C000DE62EDF923A61C586FFE56C58BA1DD32C6 -:1044D00063784B36F28523BC7DE2DABD12E72F2AE2 -:1044E000DD67CF6D3733CA532CE67C680F9E5716B5 -:1044F0006EAD5FC2BC362647F3717D2E91C7F5A421 -:1045000089D51E443F92CCF94BD933CEBDB17EA4A0 -:10451000F9021F35BE570AF6FE41F243778CC47B81 -:10452000E68F9BB87F6CB418AFB0A07FCE6228BB7B -:1045300004BEEC17EBD0EADF10F8CF3AF6911C5D21 -:1045400068E1709FD71CA9C37DDC20071E43FEB71E -:1045500060F42FD6A25C6BCF7FC913203F5709C9E7 -:10456000B5A0388F23D3DEDBB301F3EDC6D9E81C49 -:1045700017F7DC13C5736D74CB9467682D9C941387 -:10458000B8881F21784ED5DDDB6BEC3A33C79780B6 -:10459000AEAF13EB2D13F7F35817F71F003F96A795 -:1045A000960FF6D3F6AFF93DAC850FD2396DF826EC -:1045B0009BC8EFEDDF417058B9F68484F752AE32F4 -:1045C000F94C7680F32FD2D872B4835F6A61744F4E -:1045D000ED38DE570356F24A8B42F5A8B8B7F65AC3 -:1045E0008B4AE55566FFAB089FE52F341522BC8E3C -:1045F000E4DDEDC7EF309C3E2EF459A6F07B8C0233 -:10460000F7CE76199905DACF1E92C2E43411EBBFCA -:10461000E6DC4816007EF22B713F6E5DF3EBC4E7DB -:10462000BC0D67E6A09D3171EDA9AD580F36FFE7CF -:104630001CD41B7E037202F12BD82931278C5377AF -:104640002E83DE5FD779C28CF6FCE386FE3908FF45 -:10465000D06189EE55059BCE10FFDC23FC2B69E36E -:10466000781C31D835D140E7E92BE1F68938FFEEE7 -:10467000923FA722FFB234ABAFCEC073EC35D23934 -:104680006EAFEA4F55129CCB491817F3477E25F2BF -:10469000F186F0597388FCB2B5026FE3DB93C7195A -:1046A000343BDC24F2949804EBA913F8558FDF8394 -:1046B000C9403D5F8AD8806EEBBB66917FA3BEE99F -:1046C000E2DF77190EDF2EB56C64DCBFA1D5D1FE19 -:1046D0008ACDD742FB4B7F0F3DC4EF71E5B9730222 -:1046E00017D1EF827D23297ED2D8CE285EB2EE5C30 -:1046F00009951F3D7B1BDD7BB2D8FAEF46B9C08A16 -:104700000CA4D7AF0BE9F59B4F4B381D7C5AC2E97F -:10471000B8601CD8271636609F801D5284FA0ED8C8 -:1047200021A93D4C679FC43F27FBC422FC86A02ED5 -:10473000059E4CB0EEBF9454958ECB42BADA49F840 -:10474000CD00BF11AFE2F739651C5F9746CF2B7ADA -:104750003E30A3BE1BEC4C4CCFE6D2CA2938EEB695 -:1047600061F2EFCE8B7DAEDBCD085EC1DD1904A713 -:104770000FD96E7F15E0E587B00EBC977EDAEF4F5C -:104780004E87F74F07FCC9189FD3E8BF71B78DDE7E -:10479000DBE65E9289DFD1982FF0FEA3CE59168416 -:1047A000F335BB39DD69F3FD26B22213E967B2A9FF -:1047B000DF8CFEC9515DA75251AF9BFCECD24CA4DB -:1047C000BFE1D639A384F3E575CD2397D3BD1FF898 -:1047D0003102DDDF24E4587073C48CF0BFA9991155 -:1047E000FE763FFDEB46A4DF8FBA921594931F3EF1 -:1047F000971C427E7FFA7052D80043AD15DF3FFA16 -:10480000D0D4B788F4C7678D94AF103CFCC7BB9178 -:104810001E834F27D13D9A9BBA6E3B83726E6DD734 -:10482000DC0F642C1FFBC7D2C3BAE6D1CB63F38B7A -:10483000FFD8726024F2CF8F64CE276EEA7C8AF4B0 -:10484000D99BCE9F1D8FF9831F3EF79729C8CF8232 -:10485000CF9F9D827C2CF8D3B353B03DF84C72535C -:1048600022FD646D29F79F68F2D1F586ACF3B3643D -:104870000B79E06ADB5983DF29987C6219C501B4A2 -:10488000F6C985063FF69FFCF3EACCEB63DE6B8B43 -:10489000CA942F31E94475F2EA18BC4C2E35697E72 -:1048A000BA4BF38F883C04CD3FB22D2AF37B750DB4 -:1048B000C630E6F1AE8CF2F87BBCDF8431FFFC320F -:1048C0003CEF35595EFC3E0FDE4BC7B8C8E99B0B89 -:1048D000C3742F3D6439EA8ED18356440D9124F47C -:1048E00083742545501F5A11954F25C5F8457EA361 -:1048F0003CB905D5F81501BD1F23DE0F023F297213 -:104900004CFCA47E63C4A4C9A98530FF2FB6300532 -:10491000E33643FC23B55F253F4CBC9F448DDE65E9 -:10492000C1F75437FF9E8EA667E2791D4A40EF1506 -:10493000829E353A6A8B1AE81CDAA2551637941E05 -:10494000414787406C86302FA86BE94368A7B79D25 -:10495000BF2A19E1D5F6C61286DF8B38AD54590A45 -:10496000F1BDF35FB52CF70CE2C710FE318EF3C733 -:10497000017D601839F7A1E05BFF2879F7C13F8915 -:10498000BC03BBBA1FF937D8D52BB9DF83DBD5F110 -:104990007242E3BFDAB8AA38E7A1FCF703D25FC0DE -:1049A000FE25FEAB96A8D46F54D7E24CB28BDF58ED -:1049B00096A9DA878E5F207B0D199EA1E36BFA5AC8 -:1049C00030E43B6A413BC6C7F34F83CB24FA6E54B5 -:1049D000D02F919E1DAC3385B15D5B4F74198F0B49 -:1049E0002EF74AF41D104DFFD3F4C381F649D0EEE3 -:1049F0001AD41735BD30EAE77ED1653E13B55F6541 -:104A00000EE4944CC6FD59E9F9E4697C5CE0034787 -:104A1000D1FF79D5D724FA4E97A62F6AF819AF4F50 -:104A20007EDC5570D1EFCFED1178A9D1D7E838BA37 -:104A3000D0E4D47C81EF8D28A733514E7F66EEB34E -:104A40000FAF77839C2E2DA1F718BD3FE9E7B23F4A -:104A500091DD7D588C3B433BB7E80B95B8DE3C16A7 -:104A6000A5BCA8E1E467AEF0D30CD73EFF12E9F88D -:104A700086927F2C1D5F57F2CF41C703FA9F39F111 -:104A80003EFF52527913E2AFCDD844F7A3D8CF4CB2 -:104A9000E4B78EEFA76AF6A4CC74787C34CF6C4070 -:104AA000BB27D8C0EDFEF674F555B24F5EE4F7EEC5 -:104AB0006F12F94A379E53A86CC70F8361FBB75C2E -:104AC000E4B7B9F1C009930FDE5FB9519A88FEA02F -:104AD000950DFAFDB467F9E6C6FAC1DB4774505C80 -:104AE00021F450818AE3D7E366D11FD23E328CB1E4 -:104AF000C746F4E34CC0E731F72D609E75E2F90C30 -:104B0000E1DF61717AC04FBBDF247F0FC685907EE5 -:104B1000CD5D12E585047BB9BFA3B18BF385F71B8F -:104B200024E227EF8BFC8C60B395FCDB9A1EF181AD -:104B3000E8B7E66689F4BD217A854F1F7759F7E01B -:104B4000CF892FC6EB111987F838186F41BFCCD128 -:104B5000BC2912D6D7815D88DF250DAAEA95B97CDC -:104B60007D2C4CFCC5A7F3A37CDCFB3BB223573E5A -:104B70002BB14CD23BE2E22FEDF3E2E22FC78EE6FF -:104B8000E23842CF50E03FF41FC6EB198D9D274C11 -:104B900068177C5E9CE59912BD5F708CCCFDAC63A0 -:104BA000BA2405FD4963049C2EDB662338CD797B4E -:104BB0007526D2B9763E1F2DE6E7F5D19B9F54E2CC -:104BC0007B53DE9615E4B73F7D73E3EBB9BCAE5A79 -:104BD000547C6F6332DA211FBDBD3E19E1F85328C2 -:104BE000F1FB48CF9C9413FA0F0B4B39BF01F976B8 -:104BF000BC84FCBFC26F2C837C4B19F4BFC4BF378D -:104C00004BBCD78EDF2D42FC7B96C7B7DB4704E653 -:104C100051FD9E7C9E472C737C7DAA2B5D417DAF10 -:104C200014368B71D81FD9581BC657DAB3022F110F -:104C30007DDC6320FC85F7F977270EAA24EFF08A44 -:104C40001DC63FC683ACB1505EA383FC37DA7761E3 -:104C500046801D2ABEA3B00CE3AEA5220E32DEC6EE -:104C6000641C7F8729B07D1CC65DBA65EF267C4732 -:104C7000F666E27790E2E3315A7C588BCB6871E2BA -:104C8000E1E23212CE339EE359EC774EB4F80BFBDF -:104C90001ACFDF6C9DDA44F75F7B31469238EE32F3 -:104CA0007A5C82784AE938ADBF3E9EB6BDF849C20B -:104CB000B72F1A47BBA164B8F9556E77C6CD3F2907 -:104CC000FDE36CB25FFEFA5FA924CFBACE92DC3965 -:104CD000DD9F24EE71F6713F759789ECF5D360077F -:104CE00065C5C8B3F6717CDC9EAE59848F87A2D5AA -:104CF000C9D8FF09F17CDB1BCB96A23E1D8ACA3CBA -:104D00001F9B71BBE650549ECCF5832170BAAC2436 -:104D1000417CCA624B9C07F49EF017BC27F63DEB22 -:104D20004D6EAF0437F2F88122E82D5863267E726B -:104D30002C2F5BD2FCC83989E20BCFF6139FAD5FF5 -:104D4000C3E3BB971C5FE8EC36B1FC047EDB9A3909 -:104D5000C46F2ED55FCBD00A9E32C89F2B4BC5F7B0 -:104D600086CAB8FFF6C5127E5F27A36962257EEF6B -:104D7000EEBD61CF3B70B0F4D2E27CCF7B2EAD9F15 -:104D8000A138513C7068BFA997D86FCE25F6BBA15A -:104D9000F8D2D6D77589E3EDBFC4F16E1997A8DFB5 -:104DA000FFA3F1CFF8F8667C3C343ECE99F4E2F5EF -:104DB000216CBB4DBABD3F82D04D7DBA5602529593 -:104DC000D31FB4205F5B308DC703B6555BC27BA594 -:104DD000C1B8A806AF87CBB8DEA578CE84F0BB8873 -:104DE000A37DD1EA4CA0E3D3D318D90DA7ADE27BC4 -:104DF00048B23262319D9F42DFC369B7268E2FAD24 -:104E000014E30DC7475E29AB7CBC7432DD1F4AF842 -:104E10009D8AEA526E67289D8CFC354C56472CA122 -:104E200079D5112867D25EE0CF53238CF2FBA0DD49 -:104E3000B584F467D585EBDB25E25E19F38A5CE87F -:104E4000A7CB00798B71913B303E427E7D85FA691C -:104E5000F34DF2F0F97699988471ACD0389E57C131 -:104E6000D42788EF68718DE3A6C8EF574914D7E8B7 -:104E7000C5F5BF6C8878F6B9F8B9207C3D87148AEF -:104E8000B7BC32EDE162BA172FE21C1B14DEE50855 -:104E9000DA19B08E0DCF5510FEAEEC99F6CB3AD4A0 -:104EA00007DD32C179881E2EECAB93C23ED4ECAB49 -:104EB0003EB41363EC8DB784DE9080AEDE2A4D40A5 -:104EC000A7BB246EFF865EE6F66F85D95B109B4F0D -:104ED000F5BE80FFAA08F7C36A76ED785FD8900D1B -:104EE00070A8B8D9184902395DB1B5CC8CFCBA624A -:104EF0006B9E8DFC4AAB0F1A3478273AF78FC53A70 -:104F0000B7F5F6535CE2A9F87BE61E33B5EF15F86A -:104F10003309CF16CA0D85722B8ADFB4998A319175 -:104F20005FBC1EF47E5CDFAA76BE5E2D0E521F5162 -:104F300067E13CA78EF66FC5B2BCC1358BFC866BB2 -:104F4000CF6C45B9193C7FF6D815E40730AB89EE34 -:104F50000B3C5B6624383C858A08C26BAE4C79BB3F -:104F60001573653AEF8C7A2BD9E1192666C4EFAE3A -:104F7000662CE672ACBCC6310BEB6C593AC9E1F257 -:104F80005E35FD7ACFA09D9F31776316C2E9F3E2CB -:104F9000439ABFE02AB32FD333F98BC787D61D7F3F -:104FA00083F2CCAEE9D3C787B478CF70F1212D3E20 -:104FB0001BACF944174F0ECAFD73D0AF52F1DC2978 -:104FC0008A0F073B25C5E91A8C1B050F9D31137C01 -:104FD00045BC08FA9BF1BD0A38F61119F8BD011E4F -:104FE0003F7A1AF371CDF83D3D85F26E7F82F9B8B4 -:104FF00045F83D3D9E8F7B18F371CD78FF83E7E345 -:10500000F688FCDE60D7198A374DF30CC9A7A27861 -:10501000C42D927FA6479F4F45F5F87885D1C6ED00 -:10502000D060AF89BE771E3C6E213E5BD9B56A0C5D -:10503000EA63DA77C81B315E10E35FFAC8E7B5E2CE -:10504000FD9E8FFC5E2BC6092ABA3F30ABC4772287 -:10505000B998C2D42847CD68EF231C28CFAFABD274 -:105060008A70FD5CBF7EE7FFF7EB7F11BFFEE13288 -:10507000EED7D7F847B9DF40F7CACB7B7DD6EB63D5 -:10508000F8C3363FF70F6F73E713FDDDE5CF4F5FD2 -:105090001DEBC7AFE1F65BC65CB735F6B9713CFFF7 -:1050A0001E448694F87EC1768F61383D707B62FD28 -:1050B0002E713C605B0DE7239ABF7F687CC0FBA22A -:1050C0003BC6CFFFD1CB16FA7B0ADDCF26913CFF42 -:1050D000F4B9A47DA87797D7AC1E9302F5F2934953 -:1050E000CCC5E5912EAEB0B2C6E0B3A6268A23F8B1 -:1050F00072E97BA1F1F1821A03F1F78178418D7C8D -:105100008AEA423FBFE6CC7B29F8E9EBA7A4703BD3 -:10511000DA174FAD93BCDD6C68FC0006CE655361B9 -:105120001735DC4EF0D65AC82EF8BCB842DDA113B4 -:105130005BD04F3091ED6CC7EF4F4E741B14104590 -:1051400009E20A3CBFB35CE811F1FE01C40F94FB15 -:10515000F17EC1E7C5F93D2FE4FE5CD4F9B306C783 -:10516000D1DE8B3F77479974513FA32CE4565B4DBA -:10517000F9363CB7D0020343FEDF56536571C78C46 -:10518000F79A87E7CDECC2388523364EC1E311F19B -:10519000F1098D3F55747F3607CFFDAE2EEE3F0AE5 -:1051A0003AB93FB3E27025DD33195C27DFDF5DCE0E -:1051B000817B86E98CEF8B59B89F8BFC0AE50B3E0F -:1051C000E9C1BF37C0FCE9F4F70B82C7DDAD76E477 -:1051D000230BE4C9924AFEED017F37FAA396BEDAAB -:1051E000300FF3812B964F3C81E7B2BCCE44794718 -:1051F0004B5FADA5EF8A6BF2AA62F9DECDF8F768D6 -:1052000096174B5EAB8AED3555D83EFFB1087AF65E -:10521000D8425C1DD04BF438F4CE27FFF6C7483790 -:10522000158B85DFBB8ECBD5E55D8B4DFCE3567AC8 -:10523000397724EF53B29BCF7655903F3B13E3ADC4 -:105240009E413953F11CC89F9441F9F3F7CA1D4799 -:1052500019CFF39F00F207D793B198C705E3CFFFAB -:10526000350F3FFFE1E4C970FC13E507FF7B3BA16D -:105270005CC939287755B4A72F1B94BF4A27D4732C -:1052800086C7BF7902AFD387D1BF660BFC1C365FE0 -:10529000A3F31FE3F7AE2CFB27F17B0BFB46F37F59 -:1052A0006BF6D07D02CE5AB947F08DBF3B5F1985B2 -:1052B00062C27CE58CC4F9CAD77448F41D1691AF5C -:1052C0007CD4CC2A0F3A304F4FDC4B08FB49BF3916 -:1052D0007AEFAFB63EE2C07B09928262675DC70992 -:1052E00092CFEB409F213DA8EB8FDC2FD5C1F34B34 -:1052F000D775EAEF3F68E5112197AB613FE44716A8 -:10530000797C730E71BA0EFACC61D5857EA16FCB14 -:10531000B17EA1A01ACDD2F203C35C2E25CCE36BE3 -:1053200064FD94EFD7D82079511E7C693F918FE7B7 -:10533000F75DAA9FA8AD4CF885849FF99152CE0FD6 -:105340006A039284FAA8C5E05F4BF9BD8725255111 -:105350009EE8BD02DFE70B3FED7E33C783FDD3251B -:10536000CAABC57B3178BEFB0FF3FCF9FDE53C7F92 -:105370005EF3CB6A79F1E306FDB2741F46CBA7D783 -:10538000F2E3B5FBA18B77DB22A85FEC3075389197 -:105390000EB5BCA2F9A88B601C467C673C7E9D5B69 -:1053A000CB2AE79751BF61F59BFD6509F49B33421A -:1053B0007E3E56A6CF238AD1CB9F289BACD3CBA9C8 -:1053C0001EAF97FF4FF965E70CEF17365CA2FFEDB4 -:1053D0005B97D8AFA12C817DDD6A4DFCBDD0D4F1A7 -:1053E00082FFC6FDBD1136E47E0F976FED92FACBBA -:1053F0001914E732519C4BE32FED297CFCB7055F74 -:10540000D1CA7382DF0CF75D49E378DE6FA3E47BDA -:105410000BCFB1F480DE4F56D6A1F7934DE8CCD038 -:10542000D5274646EAFA57F4E6EBDA27474B74ED00 -:10543000979D2CD7D5A7F54DD7F59FF17E95AEFE5C -:10544000957EBD9FEC8A734BE2EE1D71FCAE048C21 -:10545000887D6F96E5EBBA7EB90DFA7DE535E9F703 -:1054600035A659BF2F6D5C5748BFBF8276FDFE320F -:10547000D07FEFF9F2FEFB4D1E55F8EF0BE8BB7F36 -:10548000BB6ADCF49D6BEDFE9FD6EFBF0137C3FC1A -:10549000BB80700000000000000000000000000061 -:1054A0001F8B080000000000000B53E16760F851FB -:1054B0000FC15BF918182EF021F8F4C01CCC0C0CAD -:1054C0009C40ACC8C8C02001C4FC40CC06C49E0CA3 -:1054D0000C0CFF81F81B10BF05E22740EC0CC40741 -:1054E00058B09BE3C6CAC0E001C4DC40B3789889D9 -:1054F000B7DF8917C17ECCC3C0700E889FF1D0374B -:105500000C061B5E27403FBB7E43ED3A2932F0FE7E -:1055100006612131609A1447F0A78AA3CA0B8B2138 -:10552000D8C9D294D9950FD40F00F19321F08003FC -:1055300000000000000000001F8B080000000000B9 -:10554000000BED7D0B7C94C5B5F87CBBDFBE92DD16 -:10555000CD26E44900370960501E4B80C84BDDF072 -:105560003252C40411828A2CAF10027914A9A5FF0B -:10557000DABB0B2804AADE5851A37F6A17041B2D3F -:10558000DA80D11B6DE02EA208D56A684551AB0DBB -:10559000888808498C8F6AB57ACF3933DF66E7CBC4 -:1055A0002E89B6FE6FFFBF7BC3AF1DE79B993367A4 -:1055B000CE3973E6CC9999B3268385192E60EC1BFE -:1055C000FCBB9C319B893136A62B6D573A86AB3993 -:1055D0005DE5B7F9BDCC6B66ACCE6FA5748B3F9D16 -:1055E0007907C3779FA1306867EC5EBF8BF2BFF08D -:1055F00017525AEB2FA27A77FA4B287FBBDF47E985 -:10560000667F197DAFF157537E837F0DA59BD445EF -:10561000692C05FA66458559C98C553D9393B71990 -:10562000725B668D4F504743FE15233366017C9FA6 -:105630004AFD31D5BD69E0E8AE7A1A9E9BD449FD9A -:10564000104EED128E17B3325B8C7A5938CE3B97E1 -:105650000878F6D69A9CE4A8F50623BCDB4B00DE5E -:1056600050287085AC39D1E15D8CF03697A8BC5ECE -:1056700072B0263B3A3C0FD6ABB941C04B0F5863D2 -:10568000D41B83F536DC20F0EBE7ABC98ADEEF787C -:10569000ACC75CEADF5AAD8CFEBEC9C6FFB7BB4ED5 -:1056A0005D2CF246CC263136AEAB9D3E652CC070EB -:1056B0009C2AF315121FDC995F7F93CFD84D0813F6 -:1056C000DA0726B19011FA0F24B1E0FA2CA9FE4CAA -:1056D000AADFDAF7EB6F52A5FA014394FA26D6A0B7 -:1056E00060F9CF518E80EFF7F97329DD28E4E7BE2A -:1056F000A106C6B05DBA393808DADDE3F790BCDC44 -:10570000ED1F4BE5770939FC7721674121670FA22F -:105710009C41BA15E5CC8CFDF95A4B014EFBDE7865 -:10572000B6D94DF2B598F05419C1DFB077C8F6CDAF -:1057300000FFBE1B569DDE06F46F6B1EE63142BDB8 -:105740007B866AF2C5BC2CB9ABDE3DB34F38170D72 -:10575000257A97219CBB3D827F2A0C2CA2DEDD336B -:10576000C2F52AB0DE5D9E30BC5064BF774D09D7CC -:105770005B457C56584983BD3B5F763085E6230800 -:105780000AD1D784F48579F9EC80EB9456689F921E -:105790009C97C6A0DDFD381FCD38EFDC4417AD3D2A -:1057A000D2D907DF332CAC1AE10365F71B015FD3B5 -:1057B0006C7722D2E5F66B8B98328CB1BEA23C3569 -:1057C00050A464015CFB9C2205BF9B6643397C7737 -:1057D00089F2E435BCFC762C7774952762397C4FCE -:1057E000AA8672C8DBE7F2F23BFCC089C15DF536E0 -:1057F000019F7DC4EF74FE1DD88AF4318DE6A98621 -:10580000F713282440BF83988EE9C27FD3A07B334F -:1058100016DABBF0B50DAEA7BC86DFA6C17194D772 -:10582000F0B15DD82F6321A47D97F465DE5C311F54 -:1058300058773A277AB3A5F24CD593A0029D325FF0 -:1058400032B200B02013C413E1E9DB153103E1D912 -:10585000E3FC4BEEDDFC330D95E9A0A547053D3497 -:105860003A6CEC2FD3C13240A6C3C601321D2C17AF -:105870009C9F0E3B989BE81C8B1E5ABF9B87C8FDC4 -:10588000C65D24F7BBF922B9DFB88BFF39FDD664BA -:10589000C9FD5AB3E57E6BB2E57EAD39FF58BF4C0A -:1058A000F5C064407DA5FD5D28E9B7AB99EF2CB646 -:1058B000473D87F349D373A6641FF3D9BBF809EBBF -:1058C0001463F99170064B7A15E07C8AF5008EF727 -:1058D000FC705C3A3883F470BE16F8B0483DDD0DBC -:1058E0000E1BA81F8749E1ED428688FE99EA6345B1 -:1058F0008EC8761E5DFF39FAFE9D8A1887E1BCFDD1 -:10590000BB7574CDD6E39326F06186F3D183B97469 -:1059100070B2F470DC029F90725E386EFD382E1407 -:10592000FD071469FD027A0CEB6AD70EF8D13A959F -:105930006709EE04FD10DAF7E5295C07CE355EEB6A -:10594000B640FDFD232DA1CBA1FC5CB0206881F207 -:10595000C94F1E75A21D53F1A451C572C33E1BADA4 -:105960002F6D3B142AAFB2B4DC3901CA3B9E34B26E -:10597000EDD45DA601C7774AE81416E2F9521BCFB1 -:10598000566CDB7F23B62F6BB2301BC0AB787AD955 -:10599000CC09905F76C8C4B04AC5CEB5E6BE905F6C -:1059A0001E541A300FF8D23A15C8B3057742FD7568 -:1059B000FBBE6C43FCCF359A06213E67609D70C3E9 -:1059C0003AF192A3257536D0A73CB87B1AB62FDFE3 -:1059D000A57840C301FE3B0F6620FE8F281E0BB04A -:1059E00070457D3C7347CC97538D461AEFAA6D4A9C -:1059F0009001BC65AC761AD2B302898378782C41C9 -:105A00009BD235DFCEF8EBA83F2D5FF108F407ED10 -:105A10002B1F573C38E44A03F3E13C6E7BDA56F225 -:105A2000901DC7BBD63CD881E3DC68C67ACB820B1D -:105A30009FB2B911CF6DE66988EFD66DE6D2A14865 -:105A400047B6A06828E2F77F65FCEA8C5E1CEFAAE7 -:105A50009196ED46C083D943036739BAEBD933B089 -:105A60005EB923D6CF72067A9FD6EFA0B97858D701 -:105A7000F72F0D89A43F56D41B99DBDAD58F261F4B -:105A80008123423EF63A88DE1A3F57B9F814D0F81F -:105A9000B92A51F057EDC89F35AC3B3E77225FC81D -:105AA0009E7651FA0B583731DD02EB3CD2EF5EB0F7 -:105AB0009FDC64977BE8FB03602761BA15EC244CFC -:105AC0001F043BC92DEC24ACB71DEC244C77809D02 -:105AD00084DF1F067B1CD37AB0C7F1FBA3608F6302 -:105AE000BACB1FA0EF8FFB6B286DF0D752BA07F926 -:105AF0000669A33F48F59EF2D753DAE46FA0EFCFD3 -:105B0000F89B28BD5DD0D1399115E03AEAF43217FF -:105B1000923D6986B7C004F9A4229E4FBD21506012 -:105B2000867CAA0FF24097BE2B430516C8F7ADE658 -:105B3000E5036E6193AC901F10E0E5D9B77B27D9E0 -:105B4000209F5DCBCB076F0D4C8A83FCE0202FBFDD -:105B5000685768523CE42F6AE0E5C39BD9643BE494 -:105B60008787783EEF25EF6407E4F35A783EFFCF4E -:105B700081C94EC8E7B7F2F6E3CF068DEE28EBEF0A -:105B80001E937B31AA9C03CADB5E3503F266F74D98 -:105B9000A8128F2AA728DF68F252F9FB4ABB578563 -:105BA00075BED1ECA5F22F94CF29FF94C947E5F13A -:105BB00006A580F2661F95F737C451BEC914A0F23E -:105BC00011863E3C6F0E507981A15F01C27FC614E1 -:105BD000A4F26B0C8378DE1CA4F25FA8C30BA64072 -:105BE000FDC70DBEBDA8EFD62BBE32B40F99DA901B -:105BF0008EFA4AB32B77E2E0D0CECC30D33CD8F348 -:105C000087FC87681EE05F32E64B1F46BB14E01C32 -:105C10002438268063EC194EDECB632538792F9724 -:105C200069705E2138B6DEC1D9F3F278199F97CB3F -:105C30003538C7088EA377E3CA7B65A28CCF2B2BA0 -:105C40003538C7094E62EFF0693C2AD3A7F168984E -:105C50003E67707D589FD23B7C46BF26D367F46B6E -:105C600061FA7C4CF864F40E4EE36B327D1A5F0BE4 -:105C7000D3E72B82D3BF77E31AFDBA4C9FD1AF870E -:105C8000E96332209CACDEC179EA6D993E4FBD1DBF -:105C9000A68FD380F419D4BB71E5BF23D327FF9D12 -:105CA000307DD2089F21BD83F3D43B327D9E7A277D -:105CB0004C1F37E133AC77E3CAFF8B4C9FFCBF84AA -:105CC000E93384E08CEC1D3E4DEFC9F4697A2F4C2A -:105CD0009F3C8233A677F88C3D25D367ECA9307DB5 -:105CE00026109C71BD83D3744AA64FD3A9307DA6DC -:105CF000109D2FEDDDB8C6BE2FD367ECFB61FA5CBB -:105D000045700A7CF5840F03388ED8709E3927D3EE -:105D1000E7997361FACC213853014E4ECF70C6B764 -:105D2000C9F419DF16A6CF02827365EFE03CD326D3 -:105D3000D3E799B6307DCA88CE57F56E5CE3DB6554 -:105D4000FA8C6FE7F4A9B278263BD0BE4B649EED87 -:105D5000D0E492930D079C9037D99907C1BEA484D3 -:105D600076207C582BC92E543D9A9DE2616887CEDF -:105D700070BA3DE8F7316AF6086BA1FD827D57A243 -:105D8000E40FFAD230E916C4D701565BA45D923015 -:105D9000364EB28712BD4952BE4F615FA97E4A514D -:105DA000B6549E567291549EE1CB93F29965E3A549 -:105DB000FAFDAB2749F90BD64C97EA67056649F916 -:105DC0009C9AEBA4FA836A1749E517D6954BE543ED -:105DD00082ABA4FCC5F5FF47AA3FAC619D543EA22F -:105DE00069B3543E32F40B293FEAD00352FD312D02 -:105DF000DBA5F24B8E3D2A958F6BDD23E5279C7E3C -:105E0000466707CAFBFFF5058CDB831966B20743BB -:105E10000E33E5CDFB6C64FFEFC73CF0D3DC7706B7 -:105E2000E5CDCF2E7627E37E1A01C07A5FD0B7EC9E -:105E300042F4F7DC3CDE77A10BBEDF6CF68D7045DB -:105E4000F1477854DF3E03F98B5A14968EA9DB8014 -:105E5000699C51ECD72D5CBE3666E53F148890D323 -:105E60009AFE30FF207FD86026FB5593EF8DFD4BC7 -:105E7000D31746F4B3A1BFB964FB50FE7DB11DFB3F -:105E80002B7A11E75995B96330E2A5EFC7923D56D9 -:105E9000EAC73AA08CFA790DFB89F07B590694E9A0 -:105EA000FAB1966C17DF453FC7705CB1FAD9983DDF -:105EB0005E1ECF8072EAE75D5D3F1B0794EBFA89B7 -:105EC000E3E381EFA29FF7CE3B9E9C89F2782E58A8 -:105ED00049FD74E8E866B960A5AE1F3BF583DF179E -:105EE000933F17760169C0674B4729C9C17FDA58CC -:105EF00000E4C29C59FE6BCCB3B76C6C10F6E38621 -:105F00007EA11ECBE5FEA3A70D49349ECFE280FF04 -:105F100011766AD77E3640FBE2A5024516048C60F6 -:105F20007F5B296473C9AEE20137B9216D3A30F065 -:105F30006EEC678BC33308F26D4D93CD8BA3C8D342 -:105F4000D25AD3A9D648BF88B6BF99C472ABA1FFB5 -:105F50005D369794D7D2958A8B097F04E54FC0BEF2 -:105F600085C17EE0CFB02F6040AA774D7C9FF60EB2 -:105F7000EC6F30DF0AFB1B2C676C2DB53B21FCB4AA -:105F8000276E578248EFCF7EF24313E9F1007B354D -:105F90003D15FD6EFC6FC19A78F4F187F15B18E84E -:105FA00023E5415D661AD2695F48FBDF8EA72DC1EC -:105FB000ED48D79A4CA0A9A897CDD8EBB0C9CD4849 -:105FC000A26CA6612C63B3AB8BA7A6D12C52FAAFFF -:105FD000023C67358E34410BD6666ABDD163EF82D1 -:105FE000CBBCA613481F2BFC4338D714423EA2FF5C -:105FF0006B8BE4FC5CA676E581DF838DD9826FA292 -:106000005FB7D7847C2D4AE5F8CCC5340F8BB9BF78 -:10601000A3C4C5DB6AF8542D36B110ED4F03290C2B -:10602000FDD18164AA779DB6CFD4E15762B27A8B55 -:1060300080AE250B8D44573DBE6FEE8BF71A86431D -:106040005A73B7095D9B3DE13FCF2797B332DE9F7F -:1060500046574D5E4E09FE9E40FE43FA3EF21FF04B -:106060003E29F8DF25C79CFF5516DF4CE47FC7FDAE -:106070004646FC127C9F23F8BEB456E6FB1CF49304 -:1060800043FD39ABB382EBB17E5D1F89BF307099A0 -:106090000EB5774D05B5DA0DFFB7851C5C57B3FB20 -:1060A0007964EFF565BAF1093EDC28F8305F478F77 -:1060B00039826FF305DF96B1C06D19E43F0A9AD0BB -:1060C0002F36AF4C61A82FAA7EAAF1AD55E29B4FA7 -:1060D000E39B0EDF1B05DF6EFC09E79B1EEF56C13D -:1060E000B7D6BA8F4D2CBB3BDE7A3C17ACD18D2B8B -:1060F000A0E75BAD38777099D1DE29F616F439192F -:1061000051FF9AC22BFB9C8CD00BD716154BF9B9BB -:1061100025F3A4FAF37C0BA5F2EBCB964BE5F3AB9E -:106120007F28E517ACF989547F6160AD54BEB8662D -:106130009354BEB4F62E29BFACEE7EA9FEF2E03633 -:10614000A97C45FD23527945C36E295FD5F4B4542B -:10615000DFB06FC8D5285F2F1D3532F4977DEA79FF -:106160009FFC759F7A4C1EAC538932370EE5D94D92 -:10617000F27CCA9F4BE969BF87E4FD8C7F2CA56D3B -:106180004D07ECE87FAC8A03BD9F0876B8F1CDB52A -:1061900035FD70BD81F6E3196B36B6AE0D40FE00DD -:1061A0001E46C1BC99516766A1510CA4BB6F589E95 -:1061B0003B8C11E5AD3D94D7A92CD4A77BF98CD6A7 -:1061C000E8DFDB958EC119E8277CC3C27646F8EB81 -:1061D000BA9F57B04CB42B62959F35B0B2C8F3ACA0 -:1061E00093467E4EE2344E3A698474A599CFFF956A -:1061F0007B32263127E64383ABA3F85DC2FD350031 -:106200003269C8E71C69DE2FABBBB86B9E33EC2745 -:106210009BE476797094F47D45FD04A95DAEE27B44 -:10622000D708F5CEEE37D27ACD4207065C330CF1B3 -:10623000F39EC4EFAC2985ECAE16BFB7CFC9818CF5 -:10624000FDD15F48E9ABFE224A5FF397507ACCEF6D -:10625000A3F44D7F19A57FF65753FA8E7F0DA5AD98 -:10626000FE00A527FC35949EF4D7527ACA5F47E911 -:10627000697F90D233FE7A4ACFFA1B286DF33751EB -:10628000AAE9CF9EE4EFB4585FCFA0FC459133F369 -:10629000AD6C5DCDC42E398B532DEB50CE34FACE80 -:1062A000A8B308794895E42111D76192B31ECAEBCF -:1062B0004C420E63B58F5E8EF2D6F77B9037C6D612 -:1062C000911CCC1472F75DE58DA1373E05E529538D -:1062D000274FB21C6A72A4E9815CA568B83AA64B44 -:1062E000AE661AB99DA4C9D5CFD14E8C626FDDA020 -:1062F0002A62FDE3F611F36518D07E5B25FCFECC27 -:106300009D4EF94ED1F77A00D782F5D4602EAE2398 -:106310009DB97F1B8CFEF1CE6316867EF858E3D3C1 -:10632000CB4B6CBA7B69FF501A84456D54F7725B96 -:106330001CA7ABCDC00A591E9ECFE61FF3013FE359 -:10634000FEF3E23CDCD7C27795915D15F41447F17A -:10635000B73394F1B49EE9ABD53FF5C097F9786EA9 -:106360003E53CCF3B803467EAE1D7AC8734DC4F9D4 -:106370000CECB7D3D1EFDC31C8EC22FB21D457A60B -:1063800063B0AF44C703833E1B8CE71B9B400E7179 -:106390007E750E1C9CC0CE231F3DE9F99EE8B928EE -:1063A000D8B797F434333C37027A6EC7FB2FBDA5BC -:1063B000674F7AB227FD786233A7B353D8A7B1E805 -:1063C000DC3E09E65D1439BE475565396603F97947 -:1063D00087467FDC9746D0FF52BB9BEA3FB7EFADC5 -:1063E00001ADD04F67E385098C9FE7905DD7F1A49D -:1063F000B0DBDD99321F5BFB125C0DCE734FBE3EEE -:1064000000F7C9B76106E6D993F145BF5253BAE028 -:10641000F5F61C3ED6B8767FCBF9D99EAACDCF969D -:1064200001284F9F093D10737C3DC9298E0FE05C08 -:10643000A5F0F16D3016FD0EF54C787CA3537A353E -:10644000BEAA04335346007E0EB3992530B643F5F9 -:106450001D54691FE7690DA09F625FBC673DB0A432 -:10646000CA79E6E5901BDBC9FE8C15F536976C3FC3 -:1064700025BA64FB29C315693F751E7AC8E903FC78 -:1064800056A51B5C2747E13AE715EB1C5F5735FC27 -:106490002A1AB25C76098E9CEFAC550A1B489EDC2A -:1064A00009B3A39C9769E9AA74B3EB24AC5767EAD4 -:1064B0007312B0DF337EAB8BAFAF2E17EF37DD1526 -:1064C000B9BEAE5C1347F535FC62C1FD67E3C75842 -:1064D000237BD78AEB2294E5C4AE1F939FEA2766FD -:1064E0003A976E367D86F6BB2D57B3DF55CA6B7073 -:1064F000AB1A8C01CB08FCBE4BEA0FDAB9B5336698 -:106500006C175B6E54764AE327F0DF8A07EFB46FAF -:10651000B5129F7D003101E0B5ABF61A94AB132A9A -:106520009FCF55424E2BACAD669F9BC8DD82F2BC1F -:10653000682CD326CCDCB7404F7FF0A289EE69B13E -:10654000AF007A7ED7558125ACC8894ECF458D2BBB -:1065500066E0BAFD8141DB0FD7E6E3B8CF314321D6 -:10656000EAA573EC8FCE5111F3758889FB63580D42 -:10657000DFE704E01F8E6F69ADBCEF595627E74B8C -:10658000D9AC54D4B7A55B4C2C08B82FC77D933633 -:106590006ED0BF1926EED758C6AA37E03EFD5E136F -:1065A000F7F72C72313513F0AAF88F5FE6A3DFC737 -:1065B00063E27687769EBC3C89E35D3E3B68F642AB -:1065C000FD771B47CD018D0BED831BC8FE29669E11 -:1065D0009DAC3BDD17D7C8F8F584BF1E5FCD0EEA32 -:1065E00076AE2DF048AE57BCC1287AEE329322F633 -:1065F0007F7C7ECC36C9FE9C7926D9EFA3C9814920 -:10660000C8C109D577B5690CE73BF251513BCCBE07 -:10661000887AE6AE7AB3CF57CF82F58C546F9E2935 -:1066200005EB754CA3FD3103791ADA55CFD605EF8A -:10663000460E4FAE57F11F8F3D15007929FFED3DF6 -:106640004E06EBE6076A6DAA07BEAFDC799BD30B5B -:10665000E96935E0447E7E10341646A3C796303D86 -:10666000BC7605FD69423E594D80FC149FED34B95E -:10667000C8CF5F6F0959404E2B1B97CF60C3297F4E -:106680009CE7377E64C47C93CCAFF25FDF93EAE68D -:10669000F76CB83F8985C8CEADDCF1DE345C2FAA3B -:1066A0005807C999BE1DF6FF7912CDEB85E684EE39 -:1066B000E58027F913AAC42CAB6AFCF9474627E604 -:1066C00065F92813F62AD209F7F9B7991CC9A7E288 -:1066D000217B09BB04E7B9460F16E476EBFA47EED7 -:1066E0001B7E1CF039BBE345A73234523F7039EBB7 -:1066F0006C58FC2BAB21B61E6903398CB48F00306B -:10670000B57337097BBB99A72B4D2127DE6759B994 -:10671000CDE40109642B1F3332BC07C0DEB004D1C5 -:106720002FBAE2B1E75F1B0F745FB1DB943C830FBC -:10673000C7AEA476F1A50AFEB726AF8B0FE54F3C96 -:106740006F760FE3DF6F49EAE2C78ADDFBCD6C5855 -:1067500077FA4D6ED86F6EB547E14BC3F169B8CE8D -:10676000AE7FE4AF66F4277EB04F616959DDDB97F9 -:106770006D7B9ED63BA413F151F029CCB76EFC0A79 -:10678000CD7C6634D573A11E8CC5AF6542EF823CCB -:106790003FFE0CDEFF79D3E2C1F1973D7E9313C734 -:1067A000F1BE5ACDE5FA97B7A5E2FC2E3305525D4E -:1067B00094F2EF650FFE88E46DD9911FA592BDC0DC -:1067C000BC1906D2C5810C1CDFD2ADD7D2F84A99CC -:1067D0008FE4AEEC97C622BC8FF8A9CA0A77479916 -:1067E00017716685F0797F3B183230BEF7717F896B -:1067F000FAEC8F46BA17C5D80FE9DED88FC45861B6 -:10680000E5A3FCA756CEA7E3424FE24496E475C742 -:10681000C616E4CF99FEDE343CE7003A0404BD948A -:106820006F00AEF1C8D434CE1FE656F3453BD0EF2F -:1068300093F13BD66F31796DC3A576421FF2FE57B7 -:106840008BFE01EF385CAFDE4F8D6EEF8D11E38371 -:10685000BF1616215F11F39BCFF71D9BF8FCD6E600 -:106860007BB0B810CB3F7995CF1F6C87EB03E01559 -:106870004AA3F2FDB315D207B0AF8E36AF7798C4F6 -:10688000BC96CBC152A4F51EF0569584483901F848 -:1068900049447FDA07976E817611F65715F647F56A -:1068A000CC5DDF23D68765420F98CC30FF2FEE9A60 -:1068B000FF6C2B9FF73DD9932B4DC1871FC0F9FA71 -:1068C00086C51370E37C3515E1B83FDC75E0B5EBA8 -:1068D00040AE3F6CD0E6A9AC3FF5F3B46CCF1816D0 -:1068E0006D9E7E6887FD55B4790ADFA3CE537B2B5E -:1068F000C9F1F7AD3F35BA0D35CB7A13F5E033EE7C -:10690000D8F4D3EBC1DF9BDC4447BD1E84BF57598D -:106910007E77B9D3E44D93B3F2DF545C80FA262C32 -:106920008F9ABC85E5519337FD3865BAE9CBFF2ACC -:10693000F4CDF5D6C26BD02EB67630DAAF14CC36A5 -:1069400006719F6CFD84D17C9F74433CE5E71A5B24 -:106950009F409BEFAD8AB9C3701DBF9E054CFCDC08 -:10696000BCD64476EA57DF7C3311C6739DA0EBF5A5 -:1069700040E6AB800F25AA128A033CE7A92C909031 -:1069800084FE62859D88C0E3FA32398F7F97A576B1 -:10699000C1E9A9FEB7B5ABBF6B7AC4CFCFAEFE8459 -:1069A00029ED2FC0708E90A3E2667E4E51355A09B4 -:1069B00066D3FC6B558B22F6098F99B99D7164CA19 -:1069C0003563907E05738725907CD70EA17D6095F9 -:1069D000D05B9D017702EAF3CEE61CDAF7751E5A0A -:1069E000ECF045D15F07849C3D2FCE59DAED4AADDE -:1069F00011E4BD9D7590DD12B0DBA2FADDEACC0694 -:106A000061EF08BEC19F11FA2F1172380F9A26E468 -:106A100045F06DF6551FA8CEEE7CC0BF1311FB8666 -:106A20007F94BE28D748DF03B6D6694551FC338F23 -:106A30000A7D7DD9B35F98719D9BD25CA0221DA772 -:106A4000D88D92BF63BB365F87B2A188D765CF2E42 -:106A5000BF630CC871D521A3C706E3AB6AFEC8ECBF -:106A60008BB27FD3D313E1A3FDD86AE6F6F151537D -:106A7000D152A4EBD16BF979EE9FCC9E8A6878CE87 -:106A8000B6723CE7B1A24F472BFF7AF42D98EB0882 -:106A90004D027A74DAF9FDE4EEF2C7E77DA74B09FF -:106AA000AE55500E8D3C9FCCEFFF4E63BE3B262A69 -:106AB00034DF2F8FD45F054DC58FE17D96CA66C543 -:106AC0006580F24AB5D58C725CD5B45B45BBFC07DA -:106AD0006EFECE82A9D5C36647F8B75ACDDC9F7447 -:106AE000E06FD7CD47FA7E3CDBC2102FEFD08F9CF2 -:106AF000B8DE7FDC3C8AE641AC71FDC1EFB9660AC5 -:106B0000FAE3CD5C9FE9E5615A72BC94BF7632EB43 -:106B100087E7BC97595A6FF244E1DF3A0B9FA7BD54 -:106B2000D66FD6FF61FA6D22E8372ED7A648FD361C -:106B3000DDC2E53E42BFA545D36FABD6BAD3502EDA -:106B400056EDCD4943BEAE3ABC34259A7E7B41EC2E -:106B50006B0F8B7BD2EDFD40BF8D88D06FFD40BFAA -:106B600045F1838FB66876670FFACDFADF33FF5EA3 -:106B700040FD1665BC5708B9D3F45B61F35AD26F78 -:106B800085FD8CD27DA4CB2CC28E8BA9DF16DE7343 -:106B90002DE54D9EF828F2837445FD7658E839ECD2 -:106BA00007F5DCCF2CDF4ECFCDB3727C7BD473FFE7 -:106BB0004D74D6F4DCAAFE0AD92FDDE590EBB95569 -:106BC000595CCFADDACBF5DCAA415CCFE9F5DBA4AB -:106BD0006EFA8DB7AFCC85F6B44FCCBAEF06BCCF0A -:106BE0005762F258A1FE0CB7F6BEA07A4CA4BEFBC9 -:106BF000992586BEF380BEB3F7ACEF5E417DA792C8 -:106C00001E1B88F3482F1FD307C64BF7D58E7E7106 -:106C1000EA37BFC5F9F20723DD077ADDC0F743FB8A -:106C2000BE38350AE7DDCB880FCC979D42FEDAFCF3 -:106C300063499F4E1ECAE77BC5A1385A272A1B15F8 -:106C40003EDE5B94A01BD781BF7D4EFBE4F97BF950 -:106C50003E79AE85D383FDD8C8DF4500091646C806 -:106C600043C9E7E5E4E72B519915EDD70587A67FE2 -:106C70008076EB82CF6BC8DE5D80DFF17EC5EED61D -:106C80000D99D0EFFCE50AED3798B80FA1DD97B864 -:106C9000BE793FDD5FD1DF83D0F4F9FC6AF9FB02F6 -:106CA0009D5D7F408C13EC59A20B7BC518D53F77B7 -:106CB000404F0F0F1F7FC56A6E1F87E901F4712BCC -:106CC000DDE9011C9DB130B56BFCF39F8471257724 -:106CD0008D4BA3877E7CDAFE6481981BB1C6ABD155 -:106CE000AFDB78357AEAC6FDBC45D84517B36138C5 -:106CF000CF5E37F8EE188372F17B183FE03367DE22 -:106D0000A0B4483DFCA2D0E757F98E4F497523BD8A -:106D1000F8FBBBEBCA763F9F0AE3B8DA9B9587572F -:106D200011AEFD9BD9877E8403B60ED26B9A5C5D53 -:106D300068E572FE7701E7685FD7145A3F9A141727 -:106D4000CD97904E6F897B6155404F9C8F554D621A -:106D5000BD0179C3F9364D5B7F90FEF09F573573C7 -:106D6000FA57552B44FF99ACE320D2B73259F1843E -:106D700000D4B4A6DDB7E13DAA176CF01DE76D990C -:106D8000E2D9CEC961CF488D2A976A34B964D54318 -:106D9000C8AFA0AD830BB05E12BE17793D05ED13F1 -:106DA000BDBD7199A5E528E271D98F4D6C1BEB6EC5 -:106DB0007F68FCCE857FDF44BBCFD383FC0E12F609 -:106DC000E50B486F3BD2B5C38C725F15E2EB86567C -:106DD0005EA5BAA7107D347A37C1BA309AD31BDFCB -:106DE0007DE9E979B5964779C6FACD8A09DB5F096D -:106DF0007CE80345930D5F1CD4E417DF89E9E98241 -:106E0000FBFF8C88F98E7A29F2DCB1B2E908D165F2 -:106E1000FA6A30AB22E88EFAEA7CF4E9361F9AF679 -:106E200047BD07F56DE7C38556793EECB375BC38B1 -:106E300002FD5B7B15D207AC3951DADF5F61E5FB00 -:106E4000A603361FC96DC76113DDF7D6EB8DB1827E -:106E5000FEB89F887C0737190782E7BB2E1B7B573C -:106E6000C3239BCB4FA4BE7EC1E6233EC5823F4DCC -:106E7000C08F652F85F1C5FEF03CC52DF7A75F2FAC -:106E8000343F4F4FE3BA46ACF7DF755CE1F349D6C8 -:106E90006266DC9FBFDB1C71CE3447F8F9353F5882 -:106EA00044BD999631B1EBA1BF2504E37E61D74380 -:106EB000E4D73DF7E8F19928B72B7E676456E07375 -:106EC000DB2E070BF17B14665C57CB1B8D51CF4536 -:106ED000185B4FF8ADF8AD83F44AF91E4B7006B459 -:106EE0002F7FEADDE1E89F6A5BC7F54BE051211F88 -:106EF00081D6E1785E5EAEF2F3623DBC1F0B79395C -:106F0000FB747C09EA47A59EBFEB2C6F986BB244DB -:106F1000ECCB2BF1C08DD7A37BC8814714F28377CC -:106F2000C76F2DAFF708D77BE54DA620BE0F2DAF5D -:106F3000DF46FBD9AAFA8FCC68C74DFEED636447E4 -:106F4000543519653F61BD3164213FA6F138A67AF9 -:106F50007F5D656305CDC7CA06E10FD3F98B56FC8B -:106F600076EF530120CD8A277EED443D73A665A7B9 -:106F700093FC70F5DCCFA6DAD5E87EB89EFC6F0DE9 -:106F80009BA2FADFCEE07FC0FCDB6A95FD6FACBE52 -:106F90004FAFCEC1573CF6E983782E7476CF870F7A -:106FA00022DE2BBFFEF8C19FA27DB2CFE6C2F5AEB6 -:106FB000EAD1A3E457D7DA3D25E655DB23BF7EF8B7 -:106FC00001987F6D6F58E8FE55DBDEF707B8619CCE -:106FD0006DBBBF4845FFE5EABD5369DFB2FAC9C9D9 -:106FE00069E7BB47827219ECC579889E0F071A8D35 -:106FF0000CDF419E3B66213B23EC476DA8E07E6998 -:10700000B7F09FEE8A7EEEA4F9FD2A1BAFB9FA52C3 -:107010005CF71A4D1E377D177EC09EFCA6AF023F5F -:1070200047F4826FBB845F5CC7B773F81FC09F3F94 -:1070300059657FF3A78D4B7FF5009635F689E937C3 -:107040000DF5825EDAB9D636ABF71D2BCE873DBF84 -:1070500021FF34F20B6C6ED6F6D8A703D0DF70DABE -:10706000D47123DDBFD86BA17B42E57B5FA7F9D14B -:10707000F6E4113A2F62E25CA98D85FFF83980D8D9 -:10708000CB54ED70707FABA03BFA63DD4EFA2EFC63 -:10709000AE5C6E357F6C2C3F6C1F9BB8072ECED933 -:1070A0002A76BC65663ABFB63216F9745C3A17D4D4 -:1070B000C6AD87E7423A5C12799E10CBCF2DF468BB -:1070C000984FFC1CA16D9B385F089F1B30D62F0F7B -:1070D000EFBFF3F3EEAAA0F23A8B321FB5F304A789 -:1070E0004D371F83BD3B47E819DFEF460FC5C6F795 -:1070F000AD1A5DCE7E155D1F0FB129E2FD812FD740 -:1071000016B1EE2C10EB4925D08BBF27E3F89E1566 -:10711000FBBBB38F1A83B80FDED07080F4AA7E5EFB -:1071200057B2E8F143C6DBB83EA96CDA3F1CF5CF95 -:10713000D9679F26B9ABDC75DC1C003807EB9F30A4 -:10714000B70EED9273D4D7C1087D7DF6F1FDC3F97A -:107150003907DF47EAE15F21E05735CBF0AB767DB9 -:1071600024C15F116830BBEC3DF77346F5CEC5F125 -:107170009E6931515C94330DC6C268F14A86622023 -:10718000A9942E3A6D70F0F771C62433D991AB1DD6 -:10719000638F2524636A76E33E7AFD5A7E1F72FD73 -:1071A000CF3CE9C897F58973E81CA856474757B202 -:1071B000AB00F7D7AE2945A351ACF47A20D16B9040 -:1071C000F05EED284CC3F7DCB70A7B84A91E7ABFBA -:1071D00067744E2BC471185D06972DEA3ACAE1997F -:1071E000EC45142FC2E492DFD37DEFF11FDCFDE408 -:1071F000F80F817EFF68FC07467130FEDFC77F080D -:10720000603FFF02F11F42E4B7D1E23F247FCFF19C -:107210001FD63239FE83E06738FE83E0E7FFC67F82 -:10722000F8FF2BFE8331EEEF53303E8316FF21250E -:10723000CE3C3532FEC38571095323E33F8C8B4B23 -:107240009F1A19FFE10771595323E33FCC8FBB68A5 -:107250006A64FC87AAB8515323E33FAC8D9B4879FD -:107260002DFEC3DD7153A7CAF11F664E9D02F9B60C -:1072700038DFDF71BD8A15FFE13D9C2C637A8EFFFC -:107280000070CC716362C77FD0C38915FF01E02411 -:10729000109C18F11FBAE11323FE03C049273831AF -:1072A000E23F74C32746FC078093457062C47FD0D9 -:1072B000C38915FF01E05C1497123BFE831E4EACA0 -:1072C000F80F006714E11323FE43377C62C47F008C -:1072D0003813094E8CF80FDDF08911FF01E04CA541 -:1072E00071C588FFA087132BFE03C09949F8C48895 -:1072F000FFA087132BFE03C0994BF8C488FFD00D65 -:107300009F18F11F008E8FF08911FFA11B3E31E203 -:107310003F009CE5042746FC073D9C58F11F00CE2A -:107320002A821323FE831E4EACF80F00E7A7042722 -:1073300046FC876EF8C488FF00706E253831E23F46 -:1073400074C32746FC07807307C18911FF410F27CB -:1073500056FC0780732FC18911FF410F2756FC0788 -:1073600080F32B821323FE43377C62C47F0038F501 -:10737000248731E23F74C3E7BBC67FB085062A3954 -:1073800014FF81E24486E33F247FEBF80FCD88EFC2 -:10739000FFC67FF89F19FFE166BBEFEB38F2837EF3 -:1073A000B7F80FB6F86F17FFE1667B517C3CEE2F04 -:1073B000BF65FC87D4F86F17FF01FA498F1F13BB15 -:1073C0009F58F11F7274FDF414FF01FA1974DEF175 -:1073D000C488FFE0D1D1EDFB8AFFF045DCF9E33F43 -:1073E000FCCBC559806D0A9EFF149328B27F99B8D3 -:1073F0000BD7C6FF93E32E90B1F0AF1477417BBF5C -:10740000DF60C2F5EA4DC1F7D7845CBC25E22F1CD2 -:107410008B197F217815F94597CBF117A60B3ECE36 -:10742000F3C9F2309DF1F386E953B278BCCC325DFA -:10743000FC855CF9FC7A86EFC81400C7AEF2C8E39D -:107440003822E46166C947CF217BAE1E1B3DFEC2D8 -:107450002CC18F621D5DA60BBE158BF47A7C920247 -:10746000F23CA3EC888A749DE96E55C9AFFD038D8B -:107470007F6E897FB3055C3DBEB304FF665DC9F9CD -:10748000A7C7FB55E49F13D2B251C43F3DDE7A3CFF -:10749000F5FC6791FC8E889B51C0E4B80B93AD72EC -:1074A000DC85A92E39EEC215E972DC852BDD72DC94 -:1074B000851FE4CA7117AEF2C87117AE1E2BC75DE7 -:1074C00028F6AED5C57DD8A48BFB70972EEEC3FDF4 -:1074D000BAB80FDB74711F1ED1C57DD8AD8BFBF020 -:1074E000B42EEEC37E29BFB8E6B0547F69ED1129F2 -:1074F000BFACEE0DA9FEF2E071A97C45FD07527903 -:1075000045C34752BEAAE90BA97E6FE33EBC2ADE03 -:1075100003BF26DE031F13EF81DF8C11F7E1AF3FBE -:10752000FFE2B6C8F7F85FFEFC9BDBF03DBE41BC56 -:10753000838D15F7215C1E23EE4357FB6F1FF72148 -:1075400025F99FFF0E3FC7CECF3727C44FCAB1A73B -:107550007CF777F8D716C9EF99E796C8EF9973ECDF -:107560005C9FCFF3C9EF9AAF2F93DF3597D97CD9C2 -:1075700088873EEEC384786F8E1DF5A5789F1FC265 -:10758000F7A9B0363E8BEF53217D0EE33E407A10D3 -:10759000E33E407A08E33E40FA7B8CFB00E94B185F -:1075A000F701D29731EE838A712302226E448D88CF -:1075B0001B512BE246D489B811411137A25EC48D0C -:1075C000681071239A44DC8810C139E13F44E949CD -:1075D0007F0BA5A7FCC7283DED6FA5F48CFF34A554 -:1075E00067FD1D94B6F93FA7B4B7712334B9FC33D6 -:1075F000DA0D66EC9FCBB126A733EC033744CA699A -:1076000091FDA20D28A7B1E245CC459AA6C48E17DC -:10761000112E8F112FA2AB7DEC781169A3BFBF781B -:1076200011FF16CFE5F51F8D1731BF5A8E67B06079 -:10763000CDF9E34594D98A56A35C6AF2F86FF1FC60 -:10764000BCAAA77811DBEC8A58AF812E6877015D60 -:1076500068BDEEE1BDFD738E8773713FD1997BD11B -:1076600079E31CE8E52236BD795C83EBBEE738118F -:107670003DD155ABFF66398F5FF06FF1E78F5FD07B -:107680002D4E444FF105067D467AB2B771227A5AE3 -:10769000177AA2E7ACEF394E444F7AB5277DFAC787 -:1076A000E99CCE13E2CF1F8F231C17CEDA72901AFB -:1076B000BBBC34B555F10EBC60B68BFC27EDBBC42A -:1076C000BD312F73BB52F93B75B437DBF7240C6720 -:1076D000F47EDDC5BCC09F78F15DD9B57F3F9EA724 -:1076E000DFEA64DEC4248A07EF36E6E03E6CA415C8 -:1076F000FD29158D1FBDFC3B806B6B36D27DB276AC -:10770000C0A185EC3E6F22F22D9EDD4EFB743CE362 -:10771000FAA64FE47B66DDEF37609588F39BA946B8 -:107720003BED9B3AB7F27B9E4676F17D1347D37DC6 -:107730006A167413FFC84E5D21F0ECC414EBFBAC69 -:10774000643F2E3BFC447E88F1F3CA48BF419F4210 -:10775000D94F5367730EC777952CE06D41FB7B893A -:1077600080975224FB6F3E5C547808CFE997F84A23 -:10777000E91E425A89ECCF61E2DD386EC7C2F7E5F7 -:10778000009FD226853DA0747F475ED67CD706DC5D -:10779000E72C0FEAED6F968B7256CEE23CB8EF5DA8 -:1077A000512F973B1CE23E879DD97B45B7D60BEF07 -:1077B0009B987C5EBA7942587F9783EEC32E3BBC80 -:1077C000D88CCCB2A4CB74B3B965BAC5E7CAF4D12E -:1077D000D3CFE191E9A3A75FC258D9FFA5D14FBB91 -:1077E0006FA832715F34C8EF91767B87DFB48DF07C -:1077F000D4D34F4FAF510E714FA28B5E45D654522A -:10780000F98467861A22F9D6CF874C7B48C1FFEEF0 -:107810009F1C5C4BAD3C0E15F5563A07CD9425BC2C -:107820005D3CCE078C2BCB3C341F70478FFEDD7840 -:10783000F66721F7EFB26F20BDA9F8B9E38BA0740A -:107840002BCADB08FEFB0BE4AFD27E3781795CB834 -:107850008F6AF05BDD4B543C1764EE2503F13CD09E -:1078600045E99DE2DD6FFB5046FBFE86D027A978F7 -:107870008E76675EC74CF43F542D6545B87EFDC8D3 -:10788000C9DF5D6C12E90827F7CF6C2E3230EF6844 -:10789000FC1D1E635041BFABCB7BF872B4479B4DC0 -:1078A0006E7A47ECEA78F97A2A1F45EFA3330CB5D4 -:1078B00023111FA84FEF6BDB9BDF752E8ED0C36D9E -:1078C0004D770FC1FBC5F71BA2BFEB2D7568EFDB32 -:1078D000F8FD8E115D71064A1D63281EC19DD9D029 -:1078E0004F657127F15193CB0982FECF954E27FC4E -:1078F0009E6C56DCE8AF9B66BCE107C300BF7147D6 -:1079000055AEBFC4BDEED1A2FED3CC938EF88EBBD4 -:107910009429387FC6BDC13C0124717529DDA7FBC0 -:107920009D73DA21E4D7946690279C0F67ED1EBC07 -:107930002A3FA645BE2F9738C57700EF175E728C99 -:10794000913EBBE498AABF1F63C4FDFEB856F9FB85 -:1079500004DDFE739D26774E968A72B7E52B23E1F0 -:10796000D5DEC13CEB006EFB92BE746EDBFE0923DC -:107970003BB1FD2B6361B4FB25773BB8DFEB7E3376 -:1079800023FD7D7FA99DDE393C5B5A7E01DA179F7E -:10799000FDC47741343F65849D96C0DF9F7B13D83B -:1079A0005894C35B154EEFDA8CA228EB9626779A93 -:1079B0001C6AF297511AE78B765F33D9C9EDA34958 -:1079C000A5B98A19E5679FC290AE6DEB00AFF3AC25 -:1079D000DB01B62E13F1A96AFA98EE61599B95A8BE -:1079E000BFCBF384C3C9EF03AE0BACC5FB1737C3E2 -:1079F00024423D9561AECD8A063FC0B6905DFA80C7 -:107A0000C3CDDF0D58451C21B53603EF23B4354DEA -:107A1000BE7203E0F900CC07E4EFFD260FE11DA8DC -:107A2000608CEE930A7F5DBF996CDBE608FB77AF55 -:107A3000A3E030CAED6107B71BFBF83C0AE2EDF9A1 -:107A4000FB5F9D08BFFD730BF1AFAFB037B5762775 -:107A50001D9C3E254EEF016CCFCA9249F9787C4EB1 -:107A6000F7923EE837077A47B1AFB4753DC9C7E82A -:107A70007C22C96E089272F27ADD2EE9BE7780E62A -:107A80008D360F584861F85E5FD36F4AB31272802B -:107A9000DC8FB6DA4378FF2CA90CC69D8CF13CAC88 -:107AA0001C5E8B7A56F66B813CE6A371CFE8BD3F36 -:107AB0003A5211BEA6F7347D796B22D747B7DEA5BF -:107AC000523CD0AD6AAB0DFDA9595EF7240C4D9325 -:107AD000A4BAE95E4AFF323E0FE3737E9918B603FB -:107AE00060928FFCDAB820DA7BA60C94A714A497D6 -:107AF000EF4307A4C30F753C8BE682C7C6FAF0FBC1 -:107B000053424F08BB669A58EFC6BD67E0EF284363 -:107B100097B3C8F7457A3D0172FF27FCFD9EFBDF56 -:107B200053294E68583F944EA3F58919871E403952 -:107B30009BF022E3C751423FB8E01FD2E792977C07 -:107B4000EB118DEFAA17F4FC66216B388F3FCD3611 -:107B5000EA10CCB7C875D629D67BA1476E2A1EB8C5 -:107B60001EE797264717DCE231FA22E8A86F1FF6D6 -:107B7000532AD6F077770EEA91978C783FACBD0008 -:107B8000F80D747912E70BD03BF193E095C8F72D0F -:107B9000CD57D850BE6F0D4D72CD803689D622623A -:107BA0005E22F3923F270FA8837122D69350C07EA6 -:107BB0005D2DCA72A6E03DAE42C9DFA3FD2E1E0CAC -:107BC00094F812E603C871E43D564D3EF5F2A8C99B -:107BD000EF7ADC60E1F91D7ACC21352A0DC4200B47 -:107BE000DBEA423DABD997EBC3F65C22ED33560B93 -:107BF000BB68BD7D9A95D4C0FE645ACF57E3FA04A2 -:107C0000E35F9DC2681E68E3D0CB63D5E706168CA0 -:107C1000D81F54A91D748FAFEA73330BF6C171FBE3 -:107C200026E1B835BA8C1474D1D321DB29F69B82B6 -:107C30001EB1F1CC77E1FDD944AB976D243C27D13F -:107C40003DE786509E15D7DBDB7478F602BF39D14D -:107C5000F053ED31F013F1DB2630DFEF5A415EF3E4 -:107C60006FAACBE0EB057B353D827FFA7933B6A96D -:107C7000FA803962BE687E5DFD3C19D1CCAE41BA56 -:107C80008F0BA90CCF5F7B9A2F9F88F156C5737A13 -:107C9000B5CFE9188CF2B943F5553BC9BE683560DC -:107CA000DCDFF6A719CD67CFFE934E8A6FD4D2BB27 -:107CB000FBE99A1DA5D94FFA7A9AFDA4E95DED7EFC -:107CC000F876A7CF8FFD2B4D209F30FEF52EBE2FCF -:107CD000DAEBF0ADC3EFF130063C4A62B9A12CFEFD -:107CE000FE5596FF58F21EAF93E706A013FD4E1601 -:107CF000E8FF414A773CB4FEA73813F9790BCC660C -:107D0000D443FDF219EFAC92D1FDC97EC3990FD7D0 -:107D1000A77E79FCDE5F50ACDBDB84BED5D2BD8EA6 -:107D2000A2FB117F93CA0296BCEF8E37A28AF7B1ED -:107D3000B73BBDF7A1FC590BBD348E4C17F3A0FD2A -:107D400099A93628F86E3269A55BE1F7B059D73B9F -:107D500026809739C35D80729289FB68ACDF1C3D39 -:107D60008ED6134E9364677A58384ED513D82FD8D1 -:107D70009907CD80779F195ADC2BEDDCC6A3209D97 -:107D8000DA1C7308E9B64F156E8F27727AE9F7038C -:107D90004878C44F15F9DBCC4CB525B1AEDFE134E2 -:107DA00058C98E8F679E06D44B2F3BB3C5B9A8A781 -:107DB00006F3FFAE7658138776C9F19D13677954A1 -:107DC000A8E2BCB47338EE99409E0F23BE6D133BFE -:107DD00007DF4AC4E818C0E5C66B94E2E268F46FB6 -:107DE0003249F4B7E13E3B520F3ACCB48F6C53E2C8 -:107DF0003C38CFDA962B1C4FC52AE206A9F2FE5F6B -:107E0000E8234DBF763AB308FF7816A07D00B37A19 -:107E1000AC748F5DE08F7115C9AFB3373EB81DCF1D -:107E2000A3747114F57116272FB6D3BD8B2D7B6DFE -:107E3000B42FED2CE2E7F39DCD16D2BFB1E6691A5F -:107E40002A83F3C40B04BA7520DDD24CD589A8F778 -:107E5000D2E6F3F9AFA7473B0E14F73B7F3005A3FB -:107E6000BD57D7D2F4F4BEC56897A567A453AA7DC1 -:107E7000AFB3AB51EF611B1314294EDF10E851EC87 -:107E8000738C09F0FD9CEF8FAF7959D7BDF6BA38E6 -:107E90004EBF4EDFF8848751AE40E0E8F704B4737C -:107EA0004DB19FD7E22769FD6CF15B8B31E467DD53 -:107EB000A2E9365C075298F7CA793829B798D84EA4 -:107EC0006A972BDD77BDD73FB218DF276726F07B97 -:107ED000B49F6C994AEF9953D93ADB60A0436991FA -:107EE000C183FE80738BDE741A407E1665B6E4A3F0 -:107EF0009C26987C990963C87545FB8D6525E660CD -:107F000008E8955C070A81E818B892E8B8D010D55F -:107F10003F9C9DC0F79D6F89F5243D7D40F19251B6 -:107F200091F97E44574D8E60FE642C19DD150F13B8 -:107F3000F87951429479D06E624DF85E42D347C9C8 -:107F400042CC347DA8C97132CE0FB4E38A403F4998 -:107F5000E77D5035B5EBF70C95E617BE403BD6797B -:107F6000E924D237306F6B48CE73B9FEB4A13E8B93 -:107F7000F05BB5EF7DBD3FBE637AFB671F3BF05DF5 -:107F8000CB5FD40E07EAAFD3B7FCC98171C0DEBEA8 -:107F900085EF936FD4D9FF5709F90826144D41BADC -:107FA0002EF0FF3D3FD25E636BB8FF7979507EBF04 -:107FB0008AF7BF23FD80150DFAFB00011EA74CFCBC -:107FC0003EA79E0FEB041F96EFDA66CE7463FFBEEA -:107FD00039D8FF69B1BF39DDE8A0F7141A3E8B76B6 -:107FE0008D34A3CDFF97668B78A7D762E27AD93B11 -:107FF00003DFE7F804DDF4781EDC174FF096DEC3EC -:10800000DFAF2E84BED6805EF435F3384AFA712C89 -:108010007DDB3D0DFDE84B3729B48FC3FAB7C03A7D -:10802000E15BB391DEF1E8C7B93020FB73F4F11ADC -:10803000B5FDC032C1FF25F86BBC3951E23836F3CB -:10804000F774CB74F645E7A19C781CFF9A0461672E -:10805000E7B34B306EE79E43D909D1E26168E95935 -:1080600071DE8FF7FA313DED67944E4970F3785D1C -:10807000CD476E46B9AA6CDA4DF111F705DFEB3347 -:108080001EAA14347F6144A12A10F6D87C618FEDBA -:10809000615C6EC08EDE8CF27FF9E73A3B5A8CF35E -:1080A000064DEE0F2591DCDC80E31A8EDFD54FA262 -:1080B0008DEBEE04F9FD576FC7A58D471B9F565EEC -:1080C00021DE9FEBDB69723E45C8DD921DC51BFAC0 -:1080D0000229D6EF7D7F8088234771B63439D2CB11 -:1080E000C932C1B7B03C34DF41E3D2F806F29E2E6C -:1080F000DE25A5A33FA327B9D0F3BFCDD43A00E72F -:10810000AB9EFF6D31CE7DB627F0738D256EEF34BB -:10811000F4AF8079B8C115613F9C566B0FFE14E730 -:10812000D10E2EC791EB22194B2F9A689D5DE570F9 -:10813000A725DA05DFC6E1FB454B00EB69FD9CF2A4 -:10814000D7CC1A48E78DB5B3060EA4771B946AE521 -:10815000A5F77FEC44FBB43D97917FA1CD21E37B54 -:1081600004179B319872FAAF545BBE7E0B75D08EAC -:10817000168ADF7AEA2BE19FF8CA52186D9C6713C2 -:10818000B81DA8DD3FB951CCA31B9BF97BBB455B58 -:108190008BCDE4075823DFD77849714DCB84A6BE39 -:1081A000869166E4B39E1F4B3D57D03BF06E7C61D9 -:1081B000B7135F97EADFB5897B4C0B847CCC74B92D -:1081C000859DE6A377C44BEA8C64DF2F7357D3FEFB -:1081D00066851AFD3DD61897E1BCE3D18F6361A394 -:1081E000427A4F8FFFB21D6B37F465387E3EBEEE8C -:1081F000E308F5233D23C6C95A2FE7EF32C5BAFD80 -:108200005FB8D1C6A4008000000000001F8B0800EA -:1082100000000000000BB57C0D7854D5B5E83E7326 -:10822000CEFC24334926FF21413C21111212E29059 -:1082300084000171F24BC4080301826075405184CF -:1082400090207A5BEFABB79990682DFA7AA358CB60 -:108250006DEDFD062BAD0A4880A08126E9041403CC -:10826000040D820A96D68014B1053280B5587D8FF0 -:10827000B7D6DAFB64664E92426F5F87D69D7DCE9D -:108280003EFBACBDFED7DA6B9F65ECD94B720E633B -:108290000FB7CB8CE53356FBACEC65A98C2D63CACC -:1082A000E9BE0C46BF6BA9F85F67E59204C6EEC550 -:1082B0003F5568DB57553278AE5CAE9985CFF56F88 -:1082C00090995982EB1EEF53C971D036498E4618EA -:1082D000C71E379EEEB33066817FD746D33C8C25D0 -:1082E000E0FCFCD723B1A75260FEB38AFFBD08783B -:1082F000EE2CC0E181799678F873F47EF8FF32C7EE -:108300008C2F2478DFFDEDF229730E5E5D6D32C097 -:10831000F8A52F496C1D8CBFFF69DD78B12EFD3AA1 -:108320001EDAF0A3B9E91981710F7B9F0BE9C3DA5B -:108330005456C0D87D023EF6EA7F05EE73F84DAE86 -:1083400008C632ED117167B3A05BC0265D4B63AC0C -:10835000CE1A99C3A2A03533C2233B64F46E02B88F -:10836000D644C08201CE355BA3BD1EC4E3EA68C615 -:1083700046C0B8F68D26B70DE6C4DFED8C9DAB6F19 -:108380009E9B9E0EEBAF7F7A6EBAC2D82CBB9DB17E -:1083900089408FB6E7685CB7E29A6487FE2A4BDFB4 -:1083A0008FEF5683F03899D363995C696286C07CFD -:1083B000FA7659B3F1CBBEA0751621FC56F86312BC -:1083C000C02FFF3DF8D5C4685B006EFDBC7FAADFFF -:1083D0001002F74A85395B6C81F568E326DA0DB443 -:1083E0001EFDF37A7A30E6A5717ABAAC443A04D12C -:1083F00017E15400AF3D1D56EF5A89F888E0F67436 -:108400008411DC1793D6CD3D93C7D8617C00E0AED4 -:108410001DF132F55F515C6E7B3C5EF48F728DC74F -:108420006762199B323CDE6046C6607C2ECE0FE34D -:10843000768539F3988CD75DB1C807D31BFAAA2C7F -:1084400040AA3AFBA40A05DE33FDB9BEAA30E83FD4 -:10845000629FCCFB9BFA8E5A1C8C35B02915A5F077 -:10846000FC63700FE7BB5E9B6F762D66C05735804F -:10847000534B0CB4C7C6BC8DF256D35B5921454251 -:10848000CB984FCA057E7046FAAC39D4678530AEBA -:1084900033CAFD1FB8BE55579B2EC938EE98C2E5AA -:1084A000A53B8EF0A000EC61F05C53B853B503BE61 -:1084B0009A622C8EC654BAEE098BC1BE535583AE58 -:1084C0006BF4C0E7108E2603734643DB75604C5493 -:1084D0005FF6F078EBAA57AB14A0FFBEFA0C6AF572 -:1084E000F78B4CF674073C5F6460EE16DBE0FBAF85 -:1084F00022BF109DD414A4736DB789E41C7F12F0C1 -:10850000FD2AA1876A81405100CFAA63CC171E893A -:10851000E3CABF50B06D95D8E910BE6281BE3C3C45 -:10852000DC37DAD6E27C4A309F703C152BA9554ADD -:10853000D07B4B6D99217D39D19081EB6172B8630D -:1085400013E0574E31ACDE01EB976F8616F0A1D8E1 -:108550001DF212689B4BA6CB4BA16D34B2852DD872 -:108560001AD8F2603C750879D2DA4B76D76F90EE64 -:1085700017DEEF2DB0929E1A6927F916EB6D941C49 -:108580003ED4439E2EE6D804D79A6417E37CDCC21F -:10859000908F7F2FE671980D3B55E0D7F7EC0F12C7 -:1085A000FF3AA20C8FA642FFA3E615150AF0AF23EF -:1085B000C570251578F478F34ADECF325C190DFDCD -:1085C0004F9A6B787F2A4C99CCD8C9E655159E6C8A -:1085D0009C97EB31B6C59985EF510C12C9A9B2D75A -:1085E000E46D843F9B22393F3519812F6370BC4A6B -:1085F000E39F6A28DE6C05FE578A9DEA6A1BC73531 -:10860000F2C3FFB4D5F0285B0DAB118FD822BECFDB -:1086100088756B7460ADCEAC39A8175A9C5973231A -:1086200010AFEECF11AF793DBDD3510FB77EF049FA -:10863000813B9BD30BE7C9EB612C12D673E1AD9B59 -:1086400036CA52803E97EC45E7515F4BA0A61F8784 -:108650007549AA9DDD0372D7E864AA09D695C85E5C -:10866000B2A3FD30207D4005B532AE5F3AA35C5F1A -:10867000E2736CA48FEC4CB5DDF515BE5FD3CFACC7 -:108680003766483DACD757A69CC765067C1093D289 -:10869000767C29EAF3DF9A1DB7A8088F933D0E7008 -:1086A0006C333085C5107B642870DFCAC21DEB5067 -:1086B000DE1D2CC903F2856823E0E01707F6D028F9 -:1086C00064485B073C5FCAA09D8470DD4AEB9291D1 -:1086D0009F2630978C7AAB8079ADD8F677BC95849D -:1086E000F87A3E8CDDE782D6F22A737A83F4467EEE -:1086F000B444F89F1563A436DCD83217F934FC1261 -:10870000B3A31FD0FF0B9382F38360DC89D71DFBDB -:108710000D0CE1FCB5D16B8F82BE3F53515F66817A -:10872000F9FA059DB5799F37A999D1D0AF8A9108FB -:108730002FBF2EE2F6D8FF85C9FB722AE2C7B2DA54 -:108740001B2457E3A3F9B8BAB8E2B1D1F07C4B4788 -:1087500038C3F74FEA0C3720FE376FC90D433ED8B8 -:1087600086B881F5C798ED8FE07C315700DE54BAAA -:10877000EE24BC2AEA8428C06BE14C9BBA0EF0FEC2 -:10878000EBB09699C8F7FEAD06F632BC629BC931D4 -:1087900007FBDB2EAB76D4B3BF4E6D09A7F56C3566 -:1087A000D07AB685FBC7AD01B8D7652815089F629A -:1087B000650AEA5FC550AC3E02D7A74573FDA8E93C -:1087C000E39A6895FACF4BF0FE5C1C57447253262F -:1087D000DB48DEFAFDCC6B86F7C4CFEB95911EE14A -:1087E00073809590DF159FCC703E17121A5A9BD15B -:1087F000AB929E75DA9600DDA70B3D3BFD644D25DF -:108800008BC48EE3D854986F9FCDC8705DB7B13ECE -:10881000D902FDDBAE32870FF9E7AA427E981DFE32 -:1088200005FB7B65629E5F494C898271455FAA0AA0 -:10883000F257110BF5DBCA36947F81F6ADC4A2BBAB -:108840008EFE5C24B64AE03ACCB3285AF861A3D82D -:10885000A86BA4CF60D6046147555C7FF67FE1BA70 -:10886000FA2B4C0E5CFF769BF3E3A9A8077B8D6C7B -:10887000131B5E8E7E550F1A7D0C08C7D570E68DD2 -:10888000253EB421FDC76D68F684C17AC7A5F3F90A -:1088900091DF506F8CFD455C2CEAED8868AE4FB4DB -:1088A00056E32FE4237B14E723FBAD01F9FB5E7451 -:1088B0002A8DD3E409F90BE7D963F42E760D6117FD -:1088C000812FBF877CB9DDC62A90CF9F1961598857 -:1088D000F2A4BD67B7E07B7DFB54C39A2E23AEFBA9 -:1088E0002FA0FF01EED2E4ABA660FBDD15C7E12DA2 -:1088F00093BF25BFFA62BB44FE7C423BD7D7C17C05 -:10890000316268BE7801F17A3DBED0C7011A5FECD2 -:10891000B81E5F74FF637CF18B68E1DF0ECB17DF5D -:1089200046E2FA1FEB2849647FC78F69137C30DC6D -:10893000FD2956AED7F4D7DB053E779B9AEFCC41A5 -:10894000B9BFCBE040B906AAA7CC05FBB23B9C3F20 -:10895000C794D569D8DFAE703DB2BDDD4C7A64BB3B -:10896000CDED267B9D6461E82730C5DDF77DD47FA2 -:10897000C916755D10DF3E2EF4408BD137E573F4D8 -:108980007F0F70FA4EBE2B5736C1B8110F70B9CE9B -:108990003F67DA28C33CD53145BE6818DF17CDEDF7 -:1089A00062DD1918057C597BC644FAEDADCE23E58E -:1089B0004E1BF9374EE4AF497B8E941767E378CEB0 -:1089C00047DDA2D5FA53704D3164768E25017E5D68 -:1089D000C24E4C615C0FB9903F72027DE634523C4E -:1089E000A6F1413563596827E6F639CA908DAA2A5F -:1089F00042E95BED9B4971DFFCE3CEB20858D77CBE -:108A000097EEBEA07FB58EFEE007FF01E564D5E6D8 -:108A1000DE4E1BF2ADCAED698B697516F77B56A762 -:108A2000A1FFAFC911FD004F2DBFCF78795D901D1B -:108A30005763F83A9F752874DFD367F2DE0297FE1A -:108A400037E3CFB5087BF3AD90E3DCC7DE588CFC91 -:108A50009BB7DCB90FF1BF284EA6EBFFC97C96345B -:108A6000A48F4321FFABC5A8967C2E05C631C595C2 -:108A70006183FB7BE2C3F3F0FDD531EE6B4827A6A3 -:108A8000F8BBF1B94985B9792857B6094DB1687F66 -:108A900034B801AE8A4DB6001C1A5CE785FEA98E7B -:108AA00059720DF180CFA15E693B75D682CF6B7490 -:108AB0006FE9B8C4E91D447FA47780FED27DD8D782 -:108AC000F06011ADD6FFE7E9EF1B89F41896FE18A8 -:108AD000F747FE8FE83F2A6608FA833F958ED73521 -:108AE0007FAAC5047E7576A0AFD1BDDA5E44E31CD3 -:108AF000265819FA4F9D1057A21CBAA3D1B9613B51 -:108B0000EDFC5DFDBF3F3B0A5C4036292686CB93DA -:108B1000C93F06FD8D093E89FCBE0920F0F7909FF4 -:108B20003592F49D43E0879D95A4B319DC05BF966B -:108B300082FE9F2F16E56082B9D287FCBEC33A3D04 -:108B400005FDB75CEBB434E4A737331E3B8426E75E -:108B5000CDE4E53B5F51037E8EA6D7F68969B5F774 -:108B600097C770FADF0E6A16FD3D740D83E1D0F4ED -:108B7000379205E1907CD5866B56D2C7ED7D80AFEC -:108B8000DB110EC06B97C45A517F17199C7125E8F1 -:108B90008FC5FB14EED77D3D4A05BEA96C7FF73823 -:108BA000C25B69B1F930DFC21CC6F37D41F912BD69 -:108BB0009FABF9259ADFAFF92D5A7C89FE0DDECFE8 -:108BC000C7EB00BFDD0C00A2FDF159BC0DF0FEE7C4 -:108BD0002FAB994E21AF0AACA352AC6336EB25B84C -:108BE000D8B7D7AE4D03FACC12F8A8EC86B8300748 -:108BF000EF337617E0E12E85C78B7739203E0CE204 -:108C0000A3D99343FBF89B9E1098E77AE3F5FA7F8C -:108C1000AAC817FCB371A6D676831D3A0D0C70B0A6 -:108C20009EC73485A3658F82F1803BD380FC582793 -:108C3000EC1A84C943DB2321AF8586BE1C07E0B74D -:108C40006BCF3764FFF6EEF9E623F4E7A67CA1309C -:108C5000333C5FF8457E14EA07E60A9DB7EE8FAD18 -:108C600056C6AF13FFD48AB5EFAFC78C18C267A141 -:108C7000F637E79F5F8FF37D7946E1BC2DDE5F6EAF -:108C800072A7DB6DD8F2787FBFC4FD1DEDFE7E2399 -:108C9000C00DD737C568717FAF42F919F89983E8DD -:108CA0007C17C6FBB901BADE75AEE20B2567307DD5 -:108CB000F0F7FF23DED7E2FCB744FCC0F69D30A9F5 -:108CC00000D78CD64714F4A36724C9CC19F4DE3B33 -:108CD000542B7306C5FB6FC4E8FC907DAFAD9F05B8 -:108CE00076A4AE477684A1BCB66F3F9483FD5ED96F -:108CF000611D828FF4F89DD1FE8882FC9F10CBE528 -:108D0000E67AEF2F1C077C722BD29D911F77B14022 -:108D10002239D2D377EF9E9FC7F6650F8FEFE1E838 -:108D2000AFA7C36FCE1747215EAE470F3DDF76C2B8 -:108D30003A3DB03E1FACD303FED6DE7A3BF5DFAE44 -:108D40004FA2BEC6AF751DBF8C457F4DE3D3B25851 -:108D5000CE375376AF8F65B600BD347C5D1474ABEF -:108D6000668EF9B3E0CF5D922382F48487F52615F1 -:108D700004EC55F5B172F233347B552D671B51FF6E -:108D80006AF60AD3C2A8CFF4F6697E7A9111D5AA01 -:108D9000DE2EC1028DC8BFD50B43AF57F4342B1163 -:108DA000D433109D2449E043F8D51A3C1F3217C133 -:108DB000ABA7A7069F1E2ECD9FAE1674837596E1B6 -:108DC000D2E7AA45B48E417655ACF746EDA93936BF -:108DD00034CEBA72AEF4FD9C21F87538BED5DFD71B -:108DE000F44039BE20975A0FFA1109B10944AFF285 -:108DF000AB26E6047BC14686B1CF82F3EFAF649227 -:108E0000BD7B54D8DFE1F8A6F6AA81B96303FC6301 -:108E10006C7BCE8AFCB35B69B662DEF136DB9CC646 -:108E200028C053E91F8BE7A15F57D76760989A2A3C -:108E30006BBFB40FE3F6BAE3CC81FAB0B8BDAB04B4 -:108E4000F9ED6DA557A638FA4BC69E0BF20FDBDA8B -:108E50001BADE83FB5C5C914A7EF8FE6FCA8DD6FD1 -:108E600089E5FCD776E6F22CE710F73F13F74B4F76 -:108E7000E51AD148F6C74750BEA1FC6903ADBF54FF -:108E8000B25755A2FF718791FC7A885BFEF07DCCCA -:108E900037B599B763AABEACED878FD881102DFF87 -:108EA000E7B30633E60FE6488E97615CB9EAEFC296 -:108EB0007EF9BC54DA8799F47F65F25FFD774B94B5 -:108EC000F7280776C17EF93DA95ECC3FEC9178DFAB -:108ED000D3C1F3FECCEE899D05EFF9A03276C23AFC -:108EE000E229AD7F4BEE3A261838289E7A6C17DFC0 -:108EF0003F7AAC4CA2FDA3327B0AF304F155F9D3BF -:108F000040CF3CE0C7F6C462E4DFAA0A997983F84F -:108F10007ABECBCABC41E3F7877178FC92D98BF952 -:108F2000124D5E670AFEAE5E181B327E0EE37EE2D5 -:108F300042D66C44F9AE13F0D415013CF0FC4C1150 -:108F4000A7DEED4E09796F256641606856DC68B290 -:108F50008FB3BFEC23B33A473E796C31BC87657061 -:108F6000F9D0E4AC4CAE69223E48921C181FCF9752 -:108F7000C0AB9451DF85CAD1ECC9A1FD394EBD7E8D -:108F8000089577BD1ED7E47C7E876CC4387A7E91C5 -:108F9000E46043E803BD3FADD703930C8E7730AE5A -:108FA0009E7BD549FC35480F9CACF887F4C05B200C -:108FB0005B93415E7FA4E9839BD84DA80FCAE42D43 -:108FC000EB913FFAC1AE9987E00FCD2E68F176396B -:108FD000C827F2033BCFF725CAAE829CC606E2ED56 -:108FE00001FD007E8363087FE657B16921FB4903D9 -:108FF000FA22C86F3016FCF37E4319F88BA65C8406 -:109000006F24F3E4919EA2FC1EB43ECAB3255DA278 -:109010003C4A1DC4F114CFB35F125CA8D7A49800DA -:10902000DFEBFD092D4F3B42E409F4FC3090B79B88 -:1090300067F4229F69FC506EE772513E4FA6FCB95F -:109040009E3FB4F75D8F2F7C12F085F477F842C80D -:10905000D38DF2C5218D1FD259FA8DF083C6071A20 -:109060005FE8EDC5415DDE65387B71F23AF6E29D61 -:109070000C23E965BD9DD0ECC28138AE7FC7C7F235 -:109080007D8A9999F36DE8578C407D80FE9EB037BC -:109090000379A30D9C0FDEE95BAA486837500FA443 -:1090A00006E15DE44D35BEAB7D9A51FEB052E89FBE -:1090B0008B1D3C9F56572A7B2DF06749FB73EB793C -:1090C000DF48F9B622A54BB1C0BCB31D9203F335FE -:1090D0004E917F9B75D5E455293F3FF47E7A95E00C -:1090E0001B8C7370FC6CA7E4851074901EAABACA1E -:1090F000EDBE5E1F5589FDF22ADD7EB9294ED0F501 -:109100006676F3BFD2EEC7C72570B919868EDAF33B -:109110001A1D35FA4DC0B1283FFBBE36A911DC3F00 -:1091200046FACDB8AAD03CA3E242FD962FCFE7FE87 -:1091300027C574627C5DFB25937BFCF0F05FCF2F2D -:10914000BD59F3C3855FAEBD7726C8780A3A863A23 -:10915000FBA1BDE7BAF6423CAFA7D3E4B8D0784252 -:10916000A387A64707E15BE8D9E1E8753D3DABE998 -:10917000B37FB59ED5E6D7EC80F65EBDFE1D2E3ED4 -:10918000D3F4E9531B0D9417B94DC4C1B7893CEB17 -:109190008342CE970B7DDBFF178B01FDAC6D9DDC11 -:1091A0001F7198ED87D06F08E4F3385D9F8C601EC7 -:1091B000DC2F674AAF85F62F8B81A4B87F99CCF757 -:1091C0002FB7283E17E96987C21A405EFE2AF216B9 -:1091D0004FEEF52C463DFDE4E93106DA47577CBDFC -:1091E00018174FCA55683F28DAAC52BEF76287D9C4 -:1091F0008ECFF5EFFE5E9711E7F90B7360A8F67658 -:109200008779603F06F54299DC23635EBEDF0FBEBF -:10921000388C9FB6D05782F1CE6DACB711E3EA42DD -:10922000A4E310F47B55675FF479FB920EEE27956B -:1092300044F0BA9FE980467CEFF43613F985D7CB2A -:10924000DB177DC9C85F1A94AF6FE37A0606119FDA -:10925000DC68DEBE107D3DE0E39FE8F40E1B267F58 -:10926000BFCDC4F773FC478C0CFD5E762E6EC8BC78 -:10927000CBF5F2F8BB3BC39D6A24EEBB71FF7C7754 -:1092800067B253CD197E7C4E9FBF18F395DBB6CCE9 -:1092900055284E14F9CF41FB223AFCED9058931516 -:1092A000F369ED8E528C3F86DBE728F63B69DE1BC7 -:1092B000C51B63CD9CCEA27EE9762163DBCE863BC7 -:1092C00091BFB79D4D76223CBB057F6AFCBEFBCCAF -:1092D000E570DACF343955DC07F6475B1C2F13BF36 -:1092E000723E6F1931C68BFBADDB853C6C0BF71FF3 -:1092F000CC8A0BDECFE0FB179DF59EAA33E9B4DFE5 -:109300002D61BE51DB27F680BC505D4E0C237E32B2 -:10931000B21686EF6D74B29F633B7D9A1A85F8BED4 -:109320001CA7ED47AA519467F8F64A816BFC60BC14 -:10933000EFA877513D496BFDC22A05607CB3DE4D35 -:109340006D5BFD726AF7D4AFA6FB6B0F453E8E7660 -:10935000BFCEB9A04A09D21B9FC5F3FC526ED6E915 -:1093600012E473F60D6318EF4C7FA24F463D71FB7C -:1093700055584748DD887219F14CF9CBB4403F5538 -:109380005A12867C79FB55E8078D97E2A3391D9A1E -:1093900094A65B0A485A881FC2E29D17E3E0FA0FC1 -:1093A000ED2E7F5C3CF241F5BE0B8CFA97F1FA0E84 -:1093B000E96EF9028CCBF31551DE380FF3C6B934E0 -:1093C000ED62C4DFC42E13ED7B6BF9DB5C31AFF3D0 -:1093D000ABD03C729EC8DBBEC9FA289F9C6F81C08F -:1093E000CA807071FA39A5F94912E6FBE24D0EAC5C -:1093F000579898E6CAC37C6B573CA3FC695757C281 -:109400004815F0E054785ED7A9E575D9DFCFEB7643 -:109410007F1AE9217D057E0AEAA7EEA3910E1FEDD2 -:10942000FF59C8FFDB810F627D4338AF1760F3E659 -:10943000511EFD760B5F07D89FF878CAFBF9F61D21 -:1094400086E77E7B99F17DC4DE93B43F5D62C84CB4 -:10945000EC0338F74963A3B07DF1D3C86C6A8F463B -:109460009E47FC741AAC2ABEF7C37A56857567CE40 -:10947000F76DB49F31FD7D9B82EDE1FA3EAA477BFB -:10948000BFFE1CB547EAFDD41EADBF4AED3B701DC3 -:10949000F9E7103C8F6DEEE2087A6EC7A20813C29E -:1094A000DB19C9B668EFC17A335FB8AF1593F9EF2E -:1094B000C57FBECE7213D83BB37BBC3481B113F1F0 -:1094C0009FCF54A07F68C6A87FFF0BDCFFDD4F2E27 -:1094D000ACB3005CF38EDA5A7BA0FFE94F2EAEB33B -:1094E000A19E3D140ECA0EF546FF41907496873634 -:1094F0003D9971053B19FAB1A2EFE99F590A245F22 -:1095000050D297C580B5A6FCC43FD302785C607585 -:10951000FF1BF64D9E976696DE847DE6C17A2EBFD0 -:1095200064A4F89E8D94E2B07E6599DD7D2C3EC8E2 -:109530007E3BA53FD2FE51815362D1714457DACFB1 -:1095400062F653B1C1F2B6CC5E760CE971473CDFEE -:10955000BF9A384D7206D749E8C74D3CA396229D65 -:109560000ACE9537613BBB229AFAAE85939A509EFC -:109570004B6DC33D5F42CF2F8837127F162B524869 -:109580007D887E5C1E3013FAC7FE03E1941798783D -:10959000CCDD8875A36549A9B9B2D0798CFAD11B05 -:1095A000711F6D62E587A5B1283F36C981E6A180AC -:1095B000F535C5C661FD231644E1BA9E2BC1FA9D5F -:1095C00089AAE440B41539BB5AF1F9224784A308AB -:1095D000FDF1636A299A9CA3CA84C3F9306E46BA26 -:1095E000ECB0C044477D774CBD00FDA28C28CAE397 -:1095F0001629ABAF1CA67E84A341C5756CFC792DE2 -:10960000CD63267BBE6356C97F20FF14BBA228E72B -:10961000576A3B3537B82E0CD64D7017D9656F9801 -:1096200084FCFD83523BF4778C9218CACF515FE6DD -:109630009FE97E77B81A0680EE30D94B71BE1D26A1 -:10964000C9BE96FAAE121CEF196354314F541EF77F -:1096500045C8FC334AA5296710FEECA80978AD621D -:10966000E4A590FB3D8BAC64272ADFCF267FA8675B -:10967000510AD98BCAF7A71563DB63E07E7AE5FB55 -:10968000951574DFC0E3DFCAC5DF718A3EC5BB959F -:109690008B5751BF4B4AFC777CDF95ECA85CCCA381 -:1096A000CD4CFF7AAE12ECFFADCE24F9CF1579BCCC -:1096B0002243E6FA6900FFA307F83E4465B6145258 -:1096C00037372BFF54483DA86BDA1721FDB9A59712 -:1096D00042EA43E7557E1DD25F304FAA0A1E5F7AE9 -:1096E000209FEC6BBEA85FD2F24B458285DEA9CFEE -:1096F000A82A05B93C00ED03A01F8A7A45DE55E192 -:10970000717506FC433D586AD3E577994AFBD91534 -:10971000DD7CDFBA3CCE783AD83E54C84F707F41EA -:10972000B7FEDC0346B293B9D132E5AB34F82A4632 -:10973000863EAFF95F1502CE1D0677530CE5C79C38 -:10974000BDE87F68F06BEFD7E0AE90EF29A5EDBFE5 -:10975000EBC0AF87170025FF4D0FC78178118780B9 -:10976000BF41FE5937AF4B835FDC50765BF3CF2BA5 -:10977000414F4507EB299B1487F576C3E9296DDE38 -:10978000E1FC306DDE6576173DEFDCFAD9D1423968 -:10979000A89F7A2A3626B8FFDA67EB43EEC79FAA5E -:1097A0008A0EEE6FFAAC0AEF4F57D4461BF0E34136 -:1097B00026393CC89F3DAA82FBCF25C79C4DD89631 -:1097C0009D746399299B71C6D384EDD4F3DE1E3357 -:1097D000ACEB8E0C59C5B85DF33FF4F09A13781CCE -:1097E00072F0AA6AC5FDD31D1ED58AFEFB8E2754D2 -:1097F0002BFA1F3B9CAC02E331679A6135FAF3CE3A -:109800002C5E677855E8E16FE2F9F35A7B5A717F75 -:10981000837A11EBC2D127A8FDDA4F75E007D1AFEB -:10982000CA1EEC571D54BC367CDFC127BCB6E07D98 -:10983000C21BF5ABFE8C363A1EF96C4E887C9658EE -:10984000EEAE0A96EF32FB9290FB9FC6A904FF8C06 -:10985000A48743C6DDA13E12D2077F3103FD9146A6 -:1098600013A33A598F81D7C9EAF1F8A8C0A3C366F8 -:1098700047378619E354AA6BD38F739470FCE9AF12 -:10988000A727F0B86823C80CB6F72470F8F475B1B0 -:10989000FA3EC47C0B713E983909F9DC61355C01F4 -:1098A0005797391392EEA47AD93CC3A369D0AF4E2F -:1098B000C8E2FDA9869D581F7B774236EFDF6AC854 -:1098C00033821FF02B36FE4EAC07AF0D13759D0F84 -:1098D00024D27E9816DF2886532F2EC638738F9198 -:1098E00061FEFE1913D8BDDCC0BEB9D5CCE352ABC6 -:1098F00089D76D3F957AF429D41B6A987B7A02F94F -:1099000051C52AE2EFBCDD42759D8FED2E4B44FA26 -:10991000DF93C0F35C593BA726A17EF917BC7F56A5 -:10992000C2C4E1DF8F75BE38CFF91D59E47F67DD12 -:109930000CE89502F887F098AE87419840E72598A3 -:109940003309F36C8DD1269AE79E04CE7F37DA0E69 -:10995000AAFB8D32ACDE0EEDFD82FE0FE07B095FCF -:10996000FE51737063CEEE1F35773CEF237D653972 -:10997000D78F7EACFF3B11B4AFC246FA69FFE5E377 -:109980007BB21CE89F7E12CEF1B7D03BBAB14FC577 -:10999000FA0DEF4D582F9191E8AE453C2C327B6F7C -:1099A00021FEB1AD8EC0F96FB41E78F07B2180042A -:1099B000FA544FE1F4D1DE0B38B5A03DF8589C03C2 -:1099C000D1E080F7FF00F9408367000E5D5DB89637 -:1099D00067AEFBA381F20C7512E83DE8EF3CC91CB1 -:1099E0001E98E7A2E6AF8BBC266E45E17BA61C5E07 -:1099F0005A628336BF6D258F737B95903CD7A4E365 -:109A00008A7EBF83ECD654ED795D9E71AA886BA7E0 -:109A1000EAE2DA1713849D4966C9C1798035226E5E -:109A2000B8DC333A0AFD4CD45132E0D5A4CA6C728A -:109A30004C40CE5B21EE674171BFC667E38FD9EF23 -:109A400047B8C71F63F7915DD7E61DC82F70BC5C90 -:109A50003ECEF132A12FE3A7D3A06FEC3632AF1A7E -:109A6000584F2107955DC6FFE078BBC98B75CB05C4 -:109A7000077E99E7834BE624035383F010A68633D1 -:109A800035482F5A336242FAB2866F61CFF3C4FC75 -:109A9000118EE49079F6C49477A37DCFB32D27FB84 -:109AA0001E357974C83CAC4709B1F3B028DABF9CC5 -:109AB0000840FD0CF05A704C09B1E793E23CB862E3 -:109AC00036F9A4A2B3FFCD32CA41E199D0EB0786A3 -:109AD000A3CB70F863393F45FFEE1FC55FB4331465 -:109AE0007FB115A1F88B7785E22F7161289E46B86A -:109AF00043F192B27C5CC8FD9B56E786F46F7EBC56 -:109B000030647C2A18A4E07EDAD33343C6DFD23C2B -:109B100037A43F76C3A290F199DEA521F7B35E5D2D -:109B20007143F41EDFB226649C9EDEB7B6FDAF9093 -:109B300079357A7BE0DFBF82DEE6C4507AA70AFD82 -:109B40001AEDE4F565FD46DBD312E8234C13A15E64 -:109B50008B6E7FF76BCC43788A55AA9FF3CC64B4A5 -:109B60000FFD82EC92500FA5C0148634AA5FA7FAAD -:109B7000BB1F1B0C21FBE28989DCBE2726F27CCDB2 -:109B8000CF4DFCDC520AF88F64870C2C102F031E7B -:109B900022315EA678FAC7CF60BCDC14DD97A14203 -:109BA0007C6CC6FE4D017DB9C8AC36F6013E26C8B8 -:109BB0005C1F829E4C4B84F93F919E30723FC26382 -:109BC000443F22C5C23C91B9643F287F1CCDE224AA -:109BD000ACC78F0AE869F51A106BDF8A2C3A07F5D3 -:109BE0001E4282FEAF2586ECE8DD9A7E5A9E49FA37 -:109BF000E9B22DD40FBBFC401A5D3F71AF99F6FB63 -:109C00004F883A446DFDE784DEFA53BD85DAF3F5FB -:109C1000F6103DB67CE3FA08F41F4F64707F51BB29 -:109C20005E82789B88AD2CEC9AC58EF9AC7BC038EF -:109C30004701BE5775F7452E62E43716E3BA6B3716 -:109C40005EB9F74DE8D719FC09DC3E7878BDCCC782 -:109C50008CFCCFEA6F5888FF343791C7E973C5FC95 -:109C60000BA0B1039E1600FEA3B17D775A39F227EF -:109C70005CA7F369B3BB19D59FCC71A7D23EE35162 -:109C8000E6F8701780F89D4495E09CC75CB45FFFD0 -:109C9000D1BDAB2270DCC07CDA3CC028E86F7C1CF4 -:109CA000ED312660DC7F1BAF6F80F759F0BAEB9E79 -:109CB0009427D10E69EFFB88B92F7C88FBDDCC415E -:109CC000F36AF3331613A29F762C5FF9692CBC6FED -:109CD000CD0103E513D6749829EEEA5FF1D7AD2FD5 -:109CE000C2FDFB52FA6E42BBFCC98A6FC6203FDC44 -:109CF000BD01F410ACB130CAFD7062509C72E281BB -:109D00002B11781FECEBA617D1386E36537DEF2759 -:109D10002B368F09F6471F4D2CAAC5E7D8E41B3B0D -:109D20006F58F27A6622D563097E7A58F0D39AD7B3 -:109D3000C6921FB52662809F787F13AFEFD0D6F111 -:109D4000A1E0C715AF7F5D107CCE7407F0913A8615 -:109D5000EF6BA920533B7B2EE7E0FD57147713C22E -:109D6000D779F57424F677BEF737829FCDBB31786B -:109D700051063D0581FD65EDDCE5C2F6D83CA43B0E -:109D8000C85933CEBFE837AF5DF81DE2A763F3A62D -:109D9000EFE3981B3C7FC9847D71083C807DA1F86E -:109DA000A09F85F3731D428F2AB8839E86E7991C76 -:109DB0002AF1B3931DC27D97C62E03C3BA9548DC22 -:109DC000B409CAB345CA06CD08392D49A09F855E9E -:109DD0007925F1E49D4DE4E787FA3DF96FAF08F18D -:109DE000775CF08FFC9D97DC8D9807BAAEDFE3338C -:109DF0002C3145DDB8FF0381B0532A105B38F06B7E -:109E00004B14FB22420F77A21C61FD3FCE85F97AED -:109E10005F383F670CA602F5F80F604DF8B0294592 -:109E2000B4D2C50C0BE8C5BD897F78E669D093969E -:109E300074BE5EEC37E2DFDD9CDF06FCABB7C7919A -:109E40009E62DFC2DB100F225FA1A7533EC8078BC3 -:109E50000D9233F1BC6FFFDF22314FBB35467D1FC2 -:109E6000E9E03F20D33E4D98D2678A1E222E7B1315 -:109E7000F59E89FB4D546FDEC6F38116D5C9300EB1 -:109E800008B3DB27049FB36B17FA6ED5FE4F4699D4 -:109E9000800E170C3D91D9307FCDAE1D91E8C6DF05 -:109EA0006B747F8A7CB7F2C40705763ACFB671141B -:109EB0009D03F08DA6BA83F10AF328B983E1A8DBEC -:109EC000904BC6B8760325E3D9F8F6BC87501FD56A -:109ED000F9F83A716E2CFCCB6C63D4BFD8D61883DA -:109EE000F3D5FDB62319E567733C8F135FBF3A8E38 -:109EF0003FAF3005C77F99182DF8D96BC03863B3D1 -:109F0000884F2E5E35D038EDFDE3DB8A643BF043AD -:109F1000B6AF792FC543ED6615E91AF60AE37868FE -:109F20000F2339AFEB9CC1309FDF1FCD1C12DCDF4C -:109F30001AEEFF039D33EB30AB981F0DB337B31808 -:109F4000987FABD80FCD048EC2F34ADA75ED7D61F0 -:109F5000ED3FC55802F981F2B4614A33BBCD168C8E -:109F6000E708C2733CF2533CBEC767C0FC88FF16CB -:109F7000C65E26B80270327AAF066726F9735B4D6B -:109F8000FEB3787E05E0B223FD33198793B58F5574 -:109F900031BE0FB33B691D6176D5E19106C355977C -:109FA000C3BC68BF7FBC960DC82BCA6F5D78A06F1D -:109FB0000119D83A9A09F9B63F5B3A2DB80F8A646D -:109FC00072E0F9711B629E6D1A49718347C638169B -:109FD000DA88185CA7CACF3B636A2897E301F7C504 -:109FE000AD167E7F603CF0B70DFB363ECE1165B7F7 -:109FF000CE94484E28AF572BE4FD31C977F67690C2 -:10A00000D3BFF8F6E6A8004BCDBB7B884F571ADAD2 -:10A010005F1C0FF7375ADCF94980CFB74E1AE81C9E -:10A02000E99F5E0BF35662FCB87B63827308F9D03C -:10A03000CFFFC3E36B9F4F41FAEF9654CC9BF61BC7 -:10A04000FDA310DEDAF6CF4D548FD0768AEA938ED8 -:10A0500024B99DF89EC96D0DB46F3C8535D3BE7192 -:10A0600096387FDD92C4F5C7E563635E6E08C2FF74 -:10A070008349DC0F637EF7CD2837ED423E3BD12F7D -:10A08000817697F08F7675DD9DA606E5FD1AD8DE00 -:10A0900014C4F75AF636B5DAF57E2F3FCF98F5910E -:10A0A000E53E6710FFB993B89FE716EFF327B9179E -:10A0B00024A1DC769D3645AA785EA56514DA911652 -:10A0C000F09FEC43E065406E757254A7F84D38BEC2 -:10A0D000EE1C3F770A746EC2FAFFCD1FB58D5B028E -:10A0E000D77701AEB1DED373C24C758FBB8CAE1483 -:10A0F0001CDFF0E15739A8B72A1069F0BFAF3A5614 -:10A10000DE8C7803BE2F0E47F9DACE488F69F299BC -:10A110008DF209CF6723DFE7633F93F4F056532FA7 -:10A120003FF7B98B9FFB04BE273900BEB7A39F90B2 -:10A130006D0739A0E7C7927C6FED35D0F9540FE871 -:10A14000F15BA85F5C85FDADBDA576926FCCC3E7E2 -:10A15000A29CFAF6D23C2D108320E924E60AF61FD1 -:10A16000DB1323898F35FD783091EBFF960C350A90 -:10A17000EBFFADB21C2217417690F7859DECDD50C8 -:10A18000FCEC0BD3D0DE09BB20FC27769CEBF94717 -:10A1900085AD5AF34EE1EC2DB0CE3587E5817A6E70 -:10A1A000F4577D824FF60AFF15ED849AC7EB67F0EE -:10A1B000FAC40DBCCEB5C0B9BA04CB38265734EFBB -:10A1C000C3B6D0D55282678EA72DECDDC7CF1EF364 -:10A1D000F3E3AD7BEFC8C27DEAFE136686FB24ADD8 -:10A1E0007FF3FFE175C0C3773B01FF43D825580ECD -:10A1F000F11F58EA149634F87EBFA4E98FF9952828 -:10A200006F175BE5401FEC612D3038F67F9D54F5EC -:10A21000AC07004B1BE17C1D59A230D94D6DFF915D -:10A22000BF25A02DD8758CFB4DAD266716F24FEBE0 -:10A23000E8D0F3FA5AFB62123FE79C6F6643E625CB -:10A240000F09BB37C6C39E413EAA6D95ED5EA0FBCC -:10A250008556D96902FFE6ACD39D806765CE31CFC4 -:10A2600082A968E745DCA87D4F6519FA2760A71E1B -:10A270007C61501EDF807CF450BBC47E066B5EFEAA -:10A28000D2D0FB0A35629E87DB36EE4F013AAE78BC -:10A2900025745C8DA813ABD1F92F8792447C98C6A6 -:10A2A000D2D02F01FE21BD605458B719F8F5C16412 -:10A2B0007707C61B9BC5770C407F921C7608BEDCD7 -:10A2C0002AEA04FC5B25DAD7CB7CD52B1BE0F942CC -:10A2D000C52BA39D62D0E23EC164A7BB1CF10BEB72 -:10A2E0003E86FB35CB851E5CAEF9655EBE9F01E602 -:10A2F00096FCB229CCDB1889EB7E5572F854FC8EA3 -:10A30000C8A03A5C5A779D5877CD8623FB318C5B89 -:10A31000D5123AAE4EACBB4EB76E6D5FFBCF49BAAD -:10A3200073C837B86FF16723F7133E10F368F7CDA2 -:10A3300023B83EAC05F0906E355ED9EBE57E9D0D01 -:10A34000BFC373BF80F77E41EF3AE633A5C0B8556F -:10A350002FF075B26743EB3F1F6C7DC484F1959E6F -:10A360002F966F31923F0A8833A1BFA8E78B156201 -:10A37000DD2B74EBAE754B3AB8B89F3C18AE960522 -:10A3800048D7555B8C0CEB11F5702D6B59528E7CB8 -:10A3900036985F395D5688F90270AEA6737C370A2D -:10A3A000E7A811822FC7B17144978AD81BA28BDE10 -:10A3B0008FDDBE7F9C15E5FB72F7688ADF35BAEB4F -:10A3C0009F2F177EF08C0D8CDA0B6D25D6F118A718 -:10A3D000F4181C924AF156E478C0475E87CC2AA153 -:10A3E000DFDF9EB6DE0378CF3D9C5F85F17CDE61CA -:10A3F000039D77DBD99D4FFBC07907D263D3281F1C -:10A40000EDA0EFCDC03C643FFB7B72D7E3B980FE8B -:10A410009ED27C9C57827168E773851D68E8C9B538 -:10A42000069FEF2E18C1E3F5A7923EFB31FAE13308 -:10A43000B61BE97CC30CA3FF3DAC9FDAD9ADD0BEFF -:10A4400075CDE1A56BC390AEAF49B46FBDBF774D7D -:10A45000DC62E4AB76A31DF7A1FBDBFF6D2FDEF71B -:10A460006C91E87B12751D65595BA19FBB31CF11C3 -:10A470007CDE2B375A25F8D8082BC5C3336E3292B1 -:10A480005D3C9F6CFD25FA372B9C1B498ECFEFD985 -:10A4900069A2FAB9AD1243D3BF3F69DF1B888FF3BE -:10A4A0006F1E31A1935DD27AC4D4F777ECFD052FEE -:10A4B00004FE1407379B304E59B551EBF799904E77 -:10A4C0002EE1FFD4BE728AFA2BDA24D2332B5E92AD -:10A4D000E93CFBBE8EB74CC8C7B55B2496981A748E -:10A4E0007F8314F21D84A58CF3C152A1675632EF0D -:10A4F00053C9306E6533AF23604F87D6E5AEDC328B -:10A5000087BEDBB4AC79687DF3B0E0EB87301EBC6E -:10A5100015BF83143AEE61EDBB5C3A7E7E5CE3E7E7 -:10A520004C9689FCFC55911A950DD7BF3AB2E2E6DC -:10A53000A1CEB1F7083BACD9C1CB3E03D911FDB8D0 -:10A540008B6D5708DEBA9ECB26B483E5ED9708EFF6 -:10A5500095ED5D54C7711773D7209EEE6AB7DA5137 -:10A560008E2BFBB85E9AD96EF67A25BCDFD284F4C6 -:10A57000ECEFE4758B9E3D12F92F9ABE7A48E0EF1E -:10A580002181BF874041A7E4A21FCBE3DE8733369A -:10A59000EE8F81FBB5E27ACD817D91E8EFCD6497B6 -:10A5A000EE457AC07B18BE87BD148AE73B1987E366 -:10A5B000CE2DBCDE596FAFFA4764CDA6FC23C49DF7 -:10A5C000084FCD96503CD7EAE2ED7523B87DDEA466 -:10A5D000C373A59F59B3110E5576786974AF82EF96 -:10A5E000EDCE9128BFDAADA6450DB5FFA8B5EF09B0 -:10A5F000BF59EBCF16E7AB5BECCDB6E038D894CCC7 -:10A60000EDFF8A29B207E934103FA4EFCB510D8149 -:10A61000F801E286DF8C88E771041674BC3B526651 -:10A62000717181F8E18749EB2B73A15FB785CBF995 -:10A63000C5C9301F7EDF4B61E45FD66D31D339C0B1 -:10A640003AA03BC509EDFC1C83AB5D2A437A83FF2E -:10A65000FDEE888978AE8619E360DD73DA389FCF26 -:10A6600029BD447C72209DAFF7B2A2260EE58F6B08 -:10A670007E389EC35283CF3F805CE2F8DA765E0F6D -:10A68000D4BAF7EB51A9A8D73AFE3A6A09B45746AB -:10A69000F0F56B7E9E1FFCBCD1DCCF3986FEE783D4 -:10A6A0009ADCD8F93EDA83C2CE30A989F8BBD6D875 -:10A6B000F2760CFA4D5BF9BE3DDB6DC46F9CB18642 -:10A6C0000F5E6F8A81755F7C5DA27A347CFE09E043 -:10A6D000B38B4B5B4EA31FFDD5560BF98F0F828FAB -:10A6E000383D77B03C6A72AB7D77AA81AD257F7229 -:10A6F0002D6BA27695E0E38B6D8D26CA9B79839EA8 -:10A700001F3DD8EF58A5E33B537228BF357C104E50 -:10A71000FE5FFF01D98EFB2780A7FF4E0EC687F094 -:10A720002F5AF786113DFB8FD8C85EFC49F0D979C6 -:10A7300091376E982CD3FA0D53789BD5F9D668A42F -:10A740001FE21BEBDE3777BE358E9FA7F612DE5772 -:10A75000BE8A49F120385BAC94DBD3FA0D1F2CA2E2 -:10A76000EFF0D4ED19806B8C292E00D770FC2F49A7 -:10A770003C1E3448A1F160DD6ED9155CEF05EBB9E4 -:10A780000FF54F929003A6F813D02F1999AC92FDB4 -:10A790006A68E7F43474F016DEBF80E73B8CF4FEA1 -:10A7A00041F78B3D3578FFAB542BDF4FBEEAA9C490 -:10A7B000FE7747CB544FF9DD0F568C0DD69B0CE13D -:10A7C000047AD619FD0914371E31107C75472E27DF -:10A7D000A4DB501F6D2CB567A3DEE1FA6EFF68EBBA -:10A7E00072E4630FBE373130CF6BC2DE325C6F1262 -:10A7F0007A152FF079C57AD7B2B9223EE67C942D2E -:10A80000FC3D882B26264F1C1C57DCA83F09F6E090 -:10A81000E86209EB89140FC6B53B8F737DD0D0F188 -:10A82000D0A7C8E7759F98A9BEEABB9D0F8DA53A32 -:10A830005BB7FB56F42BBEEA7CF856CAF3496B09AA -:10A840002E0FC29784FECB8709580FBAAAE3C30420 -:10A85000B2AFBB26AEF744A09F927B275E07BF81B5 -:10A86000F80FFC17E2BF9D3DF99ABF62C579571DED -:10A87000505C889F5507F20F55A21F71B8381FD53D -:10A88000B874389FFC953CF4576C01FF455B4F65ED -:10A8900032AF77E9EF0AA33C81C44673FE61E92138 -:10A8A000FC53D3FA0ED9F59A3639A46E507BCE9D5F -:10A8B000ACF07D7E8D7F5A2427F1C776DED6B4EDCD -:10A8C000A4F5AD34B610BD1BB618F9FDADBCD5EA84 -:10A8D000AA3D2CC683F8388497800E334D5EFA6EFD -:10A8E000C5C154EEBFEBE9F15932CF631C3CE1BE68 -:10A8F00019F9E560917BAC7D08FBE061C53C3E95B4 -:10A9000004BE5BF97925FDB853C93C8E8F8C0D3D93 -:10A910003F3A605F9239FFCC340DFD3DBD9F69F237 -:10A92000C4D83306E08BA39546FB3AE1B78F08FA0B -:10A930005E42D55D46F20F8E32FB3B5867384BD3F3 -:10A94000AF93B95DD5F2DDAE0D2ADFD7197CAE919C -:10A95000F4E47C6D3EFD7969E1D7CCD7F935EB3570 -:10A96000FD37868D41FDD722CEB9ADC90CF306E780 -:10A97000A3F4ED7EB18F81E775B06DC8FC98F23617 -:10A9800007BB4EBC41756627C2D8689E97A3FCF5ED -:10A99000AA61F2D70D03F2382F84BF347A5C10DF3E -:10A9A00055D1D3E30D81776D9F2D5CECB39D56DCC3 -:10A9B0006F24535DD67913FF8E9A9FE2AB864CEEDF -:10A9C0001F5D2893685F1CE01C650ED2EB1746F0F4 -:10A9D000B8EABB0B24CA9B76E1788C9F5A24AAABB9 -:10A9E0005EE5EB35211F8D695DF224C9AB871D63E0 -:10A9F00041DFA9986DE17671806EDABA07EC568C6A -:10AA000087EBE1386A713CDAC159C2EEE9CF218D9A -:10AA100065BDE51857563B2507EEDBEBE93D77E1D1 -:10AA20008477E2FF013A9F4B761F21FDD67B7901A7 -:10AA3000E63F0F667E3E0AED65ED307CFB3BC1B71D -:10AA4000DAF7591C63D546FC3EC98F12DD9F207E84 -:10AA5000FB0DDF468E63F87CDF7FAF91902E8CE894 -:10AA6000319C9C9C12F39D4A16DF258CE3FB24CB82 -:10AA7000B18FF26AF48EA4FC42F68DED4B35EC7E7C -:10AA80003707F5D6C5AE0339A6203A9E5F03F28E8E -:10AA9000F6A3635F826A0BE63303F1972469FCA691 -:10AAA00008BB18CA77E791EFB2B1FD30321DF5EE61 -:10AAB000F6A391B7E07CBB783BC09FED328D8378E5 -:10AAC00067CCFC8860F89E24F82EB4F07918EB1B54 -:10AAD00053353EF87EE3707C6B4CE1F584217CAB12 -:10AAE000ADB705BF8783FE7DA799BE8783F9E6E8EA -:10AAF00020B9484DE1F230497CFF660AF3D0F700F7 -:10AB00002789EFE04C51984F89C17D2E9FCCF76586 -:10AB1000F9798602C1BF93145F17D6394C11FB3205 -:10AB200085AC97C64D677E6A9DCC4EE7148A9983A3 -:10AB3000DAC916DF9D9876C96E69A1FA3F5F821265 -:10AB40007DD622CE430C41B7C0FA15FAEE0DF1A521 -:10AB50008CE76186FE6E4A650A9773FA3807D2F76A -:10AB600002A3FC147EDF0C5F325561155877749B8D -:10AB7000C22CE100EFF6B70D24BF9D7DAA17EB4074 -:10AB80001DB1E2B92F18D5BB4E7272F944D382754C -:10AB900012DA7AF5782884F9303F364981C892F084 -:10ABA000E8A3F7DDCEF8398D22A6D207566EC78FFF -:10ABB00027935EF7539C54027112EA7583C543F8DC -:10ABC00028C3E4CA44BEBF1109F314364BEC38EE77 -:10ABD00057A4F1F56AF3170223E0B9BD32B15E4C18 -:10ABE000811E8FE1FB1E9154385C6AE7DF094AA0A1 -:10ABF000EF04DD285EFB13F8772123EFF75FFC7E7F -:10AC00007E60FFC781DF0D8A0C7C8FD281E74C30DC -:10AC10007FE753CE07FBCD77A72CAD4E9918A897A9 -:10AC2000636EA6A25FA1AF9743F49D0B3ADFACD54C -:10AC30007BBCEA9DABE2B9B98571163A4F9B6B19A3 -:10AC40009587762B23D15D9D42751F5B6EA14914BC -:10AC5000EF44574480CFADCC3919F11CA8D7E3DFBE -:10AC60004F1A38CF94C0E8FC9FD5CCEB199F01B99F -:10AC7000C0EF178154A958D7C29E28A1FAC7A7A22E -:10AC80002D0E3C87604678AD01781B2DA2EE47570C -:10AC900077D96833D0F7381B59389DE79E15E6FE03 -:10ACA0001EAEFFB188623A2F9DB56D5A12F983B07E -:10ACB000DE69DA7A0D83EB10B1FE0F9FD3D7FF69FF -:10ACC000EBC2E3EBF85EBBC097B64EBB76DEC7A91E -:10ACD000849CF7D1D6FF4C385FA71177E2D3E859AF -:10ACE00015F5837E7D1A3FFC3FDDFB356D605C0012 -:10ACF00000000000000000001F8B080000000000A2 -:10AD0000000B7B2ACBC0F0A31E818565181826F1A5 -:10AD1000A18AD112CFE066607804C42C3C0C0C856B -:10AD2000407B23807424101F01E2A340ACC2CBC03F -:10AD3000100BC471403C07C89F0BC4A5409C05750F -:10AD4000632B0B03433B107702713710EB3033302A -:10AD5000E832136F7FBE0803C31309045F51126802 -:10AD6000A734FDFC3FD8F00A7DFADA276DC0C0B0E9 -:10AD7000D502C15703B2B759A0AAD96E81DF8C1D85 -:10AD800068F23BD1F8BBF0E83FAB87CAB7D540E5E6 -:10AD90004B693130782285899D067EB7A0E30AA0F1 -:10ADA000DE4A200600FB72DB43680300000000005F -:10ADB00000000000000000001F8B080000000000E1 -:10ADC000000BE57D0B7854D5B5F03E731EF3C8CC6F -:10ADD000641242483084092FA30D3821210D14DB61 -:10ADE0008140448A1AD42A54D4098F24E435011F9F -:10ADF000176BDB0C04232060B058A2463B4150F097 -:10AE0000061D6890200107B034F4A206AFF5D1F614 -:10AE10007A8352400824E20BBDB6FE7BADBD4FE6FF -:10AE20009C9319A07FFBFFB7FFFDE3D71EF639FB0C -:10AE3000B1F67AEDB5D65E7B8F6C3213692821DFCF -:10AE4000C2DF0F089926114206469EF6D7889BC49A -:10AE500013529F4DCB4984A48D2041221032B986D4 -:10AE6000967309597B27099A3308D97FC484DF5721 -:10AE7000FA5899B60B99AEA1DF47B2F74F64D27674 -:10AE8000F4FD1317446C179841829B693981D0DE19 -:10AE900086133A840F9F933D0DD6D1B47ED39D2661 -:10AEA000627613F2381D868C27C441BC56429BAE95 -:10AEB0001CC1FA7B6C86E93951808FE19479B4BC6E -:10AEC0006A4A49DE2A5A5A2D33B81A67973C17A0A6 -:10AED000FDBB4CC3711EB4DE13765AEFD1F74AC9DD -:10AEE0002ADA6EC31C93509245EB352BB3825991ED -:10AEF000F9ABCF3944E2ED0266533E3CBDFC195636 -:10AF0000E0F98B89261C674D0DC307ADA798520841 -:10AF100069ED3C60F1D1FED654B61E2DA4DF1F1999 -:10AF200061F2500C92473A0F58AFA4E307724D9E5E -:10AF300091B4769A14165CF6C878E309057C1CADCA -:10AF4000E7D96171DBFBD7A7FD4E8279AFA67817F1 -:10AF50003322EDC6029CB4DD1A4AB2101DF797B237 -:10AF6000E7308CFBCB1B12850089D4BB1E80847A12 -:10AF7000734C244CEB11A9D742E838AB26BE6519B7 -:10AF800049EBAF2A32C124C81A8FFADD6325D0DF1E -:10AF9000D4518747005DAFA7DF611E598FCD8279FD -:10AFA0003F3A452180FF5F0AB41E457163B1F24309 -:10AFB00080CF51435CF09E3EBDD1F0DA2658100E92 -:10AFC000B27A0321790440C0BF55DEE08A61C05FD8 -:10AFD000B9C403E5340F6D6FEFDFBE4B30235D1A4C -:10AFE000E5402AE02F16FD46707CAECA5C6C057AFF -:10AFF00010D29052349A90F580271854F2B9673ADB -:10B0000022F557080C3FEB64E215E8FCE27295E08C -:10B01000528A6753966B36CCD7EE53C875B4BC5280 -:10B0200008A48A4097D10AD9EC46BEB08EA4E53573 -:10B0300057257A80FFEA85508A04DF6FA0DF699781 -:10B04000078AC6CE06FE6CF228C8CF947F0E03BED8 -:10B05000D7F812C92A377EEFC4F6F6112E33628272 -:10B06000C243F13280F212E035FBA6FAEB87037D92 -:10B07000C6995C40A155C224F73C909F048B0BC637 -:10B0800097C7DD8CF49307260A4443EF9F03BD293D -:10B090009ED6BA8B7E0ECFA7723F4C1849EBAFCE2F -:10B0A0007EB911E8F4F4FD16A4DFD3E33A17815C0E -:10B0B0003D7121E73D1FCAA5E2D94CFB7926FB442F -:10B0C00006A1033E36EDC304C0DF90110DF7102733 -:10B0D0007DCEE8AD2563287CA4A1687E06F2897048 -:10B0E0000BC5EB90250A715B182DBF25F09D7843A9 -:10B0F00059AC6CA7F319C2E9DCDAF996A518FA9BEA -:10B1000043C2A39CF8DE929C18D13343724938990C -:10B11000F6FFC4824328E74F5F9DEC61729E82FC7C -:10B1200092CEFB4983FA54BFA45848208E3E8774C0 -:10B13000F4DE0C700DC93C3107E0DCFFFA2101E8B8 -:10B14000F6CC986437E8A3045F27E9A2741F92F550 -:10B15000CE8350CF610FA6146561FDBF603B03FC39 -:10B160002D6EEF26C0DB36A1E630D027906DF23091 -:10B170007A333DB8FADEE420E89121B63FCD14875A -:10B18000211F10924CE1731194937A216C190EEDEA -:10B190001E60ED8692A000781E921958243AA1BE36 -:10B1A0004F2872F41FB7153422C807E574E0D7EDB5 -:10B1B0000A292F8A2207AF7279AE17C82CE46722BA -:10B1C000FD15F8666802E31BB5FC0CC043C7DDFE45 -:10B1D0005AE20FB3283CBF5A322C5BA4F0AC857600 -:10B1E00051E4660D97035B07090814AFFB7FF73B3B -:10B1F0002BE06DBB899441FD4999214B17A72BD0BA -:10B20000630161FD37656DB4A0BE103291EF16E4A5 -:10B210002B5EEB1890BF65828FB64F7131BDECF09D -:10B220002841D0CB8E948060A2F0B8B3886B6306BF -:10B23000EB2E40F13717FE018C2EB1FAABD7240468 -:10B2400057D1EF73B3A8A001DE28AE4C74DCF984AB -:10B25000CD73AEA77E11D08F902213E073958BD162 -:10B26000A709C6A153694A63FDACB98F0497011FB2 -:10B27000B958FB11D084D26D44EECBFF22D07ED3DF -:10B28000783B907B68179712B498683B778D89203C -:10B290007C52F8B000741F9DEC06789A523CFF3E39 -:10B2A00003E09F257936D2CF23000EDA4F538DC9A4 -:10B2B0008BFA225769063DBDCACBF4BC8AAF0C3E5F -:10B2C0006E9A272CD0B9930CAA27114FDEB0D50562 -:10B2D000E52C064F462E9B571FFCA395E032DA382B -:10B2E000CD1226504FC54309EFAF84CFC39E125CE9 -:10B2F0002101DCB90C6EBA2E233C69594A33C8418E -:10B300005A0AEBCF4DF1A3E21DE0B2A970E5D2FAE3 -:10B31000A0873D4A33B0828DC35792C5E0D97FE400 -:10B32000AD0E81F5877265E3F0DAF8FC09C09BCCBD -:10B33000F53AEDAF450E0B22AD1F1C47DC1BD9685B -:10B340006E292FF2FDB11A8A075AB0F371C87A3309 -:10B35000CA037D15F896F2C1BC065ACE8CC8C7C880 -:10B3600015669DBCD8F9BC49039323CA366168971A -:10B370004158D904653A8F924CBD9C118FA64CE17F -:10B380007000BF53FDB374BCC2F8E72A66C710A2B1 -:10B39000A9077C3ECEFDEC6AFCAEE0BA9EFE5345AA -:10B3A00007DF909AE4C922E8938E276F36015FDDAC -:10B3B0004B4C623CF2B3D0A7BFE8783B1687AD3068 -:10B3C000495B475122E02DBD2671B20278ECF06155 -:10B3D000D9D651E3C5272C4D6309194C34E3648059 -:10B3E0007E7555B450BC921A2504FA7A9C164EFA12 -:10B3F0003DFDB5869940AF87171D4A05F94D36B416 -:10B400001F631A86723AE4355A0BC73FF133A8BF5F -:10B4100092EB131B403C169FAFC173889DEA59AA5B -:10B42000A7D3298295B1117DB1EAAA77B27D76CEF4 -:10B430003F89F80CC3D3A85734F5AFE2F503C245F2 -:10B44000EB9DC07A2A3CC6EFE70413EA2907D89996 -:10B4500014BF8F12D76C5C973D265C17E3F8FB9006 -:10B46000E7C064A4678878840CD0B77F356BF9E0B7 -:10B4700027F012F4AD14423951D26D681F52398E43 -:10B480008375AF49AA2983F7A1341B01BD7060EA17 -:10B490002101F099D6E61B0A72A8DAB9933DA114EE -:10B4A00078FFC861DF95289F31EC46D54E34CEE752 -:10B4B0008A6B97A13E18EAEBED80F5DE5E2979AE46 -:10B4C00003FEF251B8ECA827DDE4BB147E4F6029DF -:10B4D000E859B78F9607D167257F96B1EF2B6BCBD5 -:10B4E000728E4B917E578EA0F628D58BEB3BD75BA7 -:10B4F0006E003BA3C6E406BE5DE379CBE2B54379BB -:10B50000F200C0736B916AF78505182FED6D2FDA85 -:10B5100079E35C8A0B94D6687338D5A5592F9AA61F -:10B52000BE3316E020B75222A6C6A6239D2FF2599D -:10B53000ACF504603169D691FD993B707D799D5CD5 -:10B54000857451D715751DC11EA97E99C7E5E811EF -:10B5500077C822A0BEA2B24BE9338FEB113BD79B39 -:10B56000540F333DC7D793358B92713D51F527D892 -:10B57000D6A024E6717DBB26FBB9841B284C76D06F -:10B58000B3A09752C864587F47829E01FD240504EA -:10B5900018AF699C8BACC2754CAF4F47D6303DF8A5 -:10B5A000480A417EA2EB5033AC774D69A114E8A75D -:10B5B000A9E680E0D3AC9FEA7AE7A8E924A007E7F0 -:10B5C000E6B2756E6E161BEF0F80A0710C5ED0ABED -:10B5D000C675EF171377A0B28CE3F69611FF828938 -:10B5E000D9818FCE780BF1B866FE63F8240D1BB0BD -:10B5F000BF140BA3C1CACC03F87EB5CF340DECEE5B -:10B60000F552E78A1114FEF5D3E62A01FA7DB587D3 -:10B61000F95DAB26CE7D0ED635B3496170D594A1C8 -:10B62000BD1AC7E1DA007DA39FA8A05F74DF9D1B50 -:10B63000570CA3FDA4503F467043A5A0C54CBFDBEB -:10B6400081A6A0BF7D6106BF874C2651E0FF0FC1D8 -:10B65000C6FC505F67C748A4A7C905F0C6797A2D14 -:10B66000E027BAA91FE67603BC6EEB6884D7E45ADC -:10B67000EA8EB4FF3DF717EE82851FECFBD9EF4C45 -:10B6800003F95A7727F3CB8CF0DF3729D861C271E1 -:10B6900008BA758E18789D031A0CF48F27887039B4 -:10B6A00032195CC70546AF473B275F8F7E52117D3D -:10B6B0004F3B7AAC739815E4DB68EF3D1DF74136DC -:10B6C000DA3B8675E652E521067D3FDA1C9A8EFC50 -:10B6D000B6CD847A8A10A6E70462727F3B1C1611ED -:10B6E0000617B21ED5DFCBE5F0ECF9B4FEF29D767D -:10B6F00002F852F9218DF7B9AA86F24194797708B8 -:10B70000622CBA333B83D3BD13C61B7869FA5369E5 -:10B71000B682DD160AD60F2E07FFA386F9BBA1F06D -:10B7200001D43F69536E433F654B73F2ECF9C05748 -:10B73000995E0FA0438507EC93687EE27493E5A2BF -:10B74000FE7B2C3DDC58B91CFDDEC6CEE8F39F68BD -:10B7500062FE7688EA494F56ECF1F34CCC8E4E30BF -:10B7600071BE9B7A2845BB9EA9EBAABACE0E914822 -:10B7700040D4AC87B772FC19D74D22355846313EBC -:10B7800047FFB1713E8B436C9868C2F88ACAE7B430 -:10B790005E0AE095CE03ED39CA8741B0E71E250D5C -:10B7A000283701DA7E33E90FF79DC47459F39BC043 -:10B7B000E7D7371EF7AFEFE2FA6A5DF6FD56E88A83 -:10B7C0008E9702FCE177323D59E560766CC14E39C7 -:10B7D000FC030A4755B3807696699F15E13CB7890B -:10B7E0009669D7618782F5CFBA2C58F69B3BD77EF6 -:10B7F0008F967B778A04EDC84C9B09F8F504E757D0 -:10B80000924BCB600F5B59B1AA79FF5DD05F599B1A -:10B81000995869FF55BB4B6FFC1E2D9776C804AA3B -:10B82000546D5EAA0CA6E585412104E59EC974A16C -:10B8300002BC242A41F0DB7B9C9DC93FA2F33E5D04 -:10B840006B216E0A4A9DA333F9568A8FF2E0F642C5 -:10B850006857DE228046A4F3D87C2815E6B555F05B -:10B86000807F5FB1254E670F9EA053F901FDBE9802 -:10B87000CE13E4B2943414C23A57B5799DE2D6C4DB -:10B880001F4ED7BA701CB55CB5958E43DB55BF28EB -:10B8900078608AD526E2033D746EB775D6B3769884 -:10B8A000DF52659403E6F5B002F54A83C52F5BDDF0 -:10B8B000005FB35248BF9737352B10DFF29BC9DDCD -:10B8C000E0E7566C19A087AB5144795D9C60D908BC -:10B8D000FA9CD8BD29378FEE4FE7D3B554C78E8A6F -:10B8E00094CB411F221F0695999AFA43C504E4D7C9 -:10B8F0008A2DA2DECEE6EB7FE028A37F60AF03E3D4 -:10B900007E2AFD16737F59A5DFE2044E4FA9372F1B -:10B910001A3C6B811E149E06C0177DAEE6F03927D7 -:10B9200092491077717A894B88C2D7C667834C8A4F -:10B930008175FF75D9CC49522ABA0F8B20F2E45A8F -:10B940003E7BD2145AFEBDA968B309F587C70D72B4 -:10B95000A4FAD9CF98985CD6A72A88BF86A979CFB0 -:10B96000B2F804C175AF616AC9736017D0F6DB4CD9 -:10B970002887B4FDE8D8ED5D85F9BAF6AEC232B5D8 -:10B98000FD4E6C6FB978FB86C209FAF10BCBD5F688 -:10B990007B117EFBC5E1775D37513FFE7595D8DEA3 -:10B9A0006F66F4EA4DB0A05DB3DCEAF14ACC8E0AD2 -:10B9B000C37B2971D446A827AAFC403ABD607FDB2F -:10B9C0005B12C6AE225ABE98FC3AC0E1A0D2A2E5F4 -:10B9D0008BF87C9B8E1F13BC89BA32EDC975E23B94 -:10B9E000BC0C83382D088F3258417D3169B005E198 -:10B9F000BD7F9F15CBF74F60F0DE3FD88E72866B10 -:10BA00000BA5E3FD8AEF1AADDD0A2B138492DE103D -:10BA10007D1F027E23EFDD26786F13490DEA673321 -:10BA2000417DF47046DEB3010D7E560CA1F4A5E510 -:10BA3000B360FF0C8CE0F5E1212529C59A71EA87F6 -:10BA400028B33666B1F7F3EC305E510FE0C1AFF4C6 -:10BA50008E02BBD2388E7958BE6E1C4B7A198EF38B -:10BA6000B5611C737A99611CCBAC8DFC3D1FE71B43 -:10BA70009857AC711E1E36413F9FF4721CC72C1A9A -:10BA8000E6935E6E18C7C6E643DFF371ACE2C5E627 -:10BA9000337CA27E3E432B719C2451D1C5ADCC4357 -:10BAA0002B0DE3D8711C780FE39034E6DF28E6DE37 -:10BAB00012A4FFAB5602F6B462F63D0FFD923F5A58 -:10BAC00009EA13371D7710E89544DC2FF80F53224D -:10BAD000CEE70B1BA5BF5D4BE7806A17A0BDB38007 -:10BAE000834882F5E89F57731E9DDF32337D293CE2 -:10BAF000DB0A528AC1CF5EEFF040FCF45C5B81321E -:10BB00002F8A5DB0A0413ED1A5E35FAEF72693CC6E -:10BB10001AF0B3B81DA0964F50FD45A8DEFA90EA82 -:10BB20002F789E94A99EA6EF8F53FD46142DBC4BF3 -:10BB3000B1DD0989E1F144135B47BE587754C6383B -:10BB40005F80BC9D49E7711B9FC6828638E62B70DB -:10BB500038FC9C1EBDBBCDC18D480FEF1560F79022 -:10BB6000C6011457BCDE30C0171597442C5E01F691 -:10BB7000D18F576CFF0D547B47281EB298CE775655 -:10BB8000EB3AF90A5A3E2777DDE5B16BFA99257F42 -:10BB900008F3B6D0FFA09FD93E5AD68C7F4799BEF6 -:10BBA0007C279122654AB7A9E2304E0F3EAE3B2872 -:10BBB00003BD6E4B66F0DC09CFB1F0D985F4BACB8A -:10BBC000C5DAAAF0F81F944918D7A3AE81CCB81DE6 -:10BBD00088F57CEABA6280EF2ED9E22DA2F4BCEBA4 -:10BBE0000111F16884B76B5F9CD744FDAAAEC64FC4 -:10BBF00065F02F2F05FFDD4BF4DF49808DA7E2555F -:10BC0000E583DB674D1A705C536FB6EFFA01C735F9 -:10BC1000FC7247D94C5DF9CE9AD9BAFA772F29D65A -:10BC20007D2F0E2CD47D9FB76291AEBCA0E1015D4B -:10BC3000FDD2C6A5BAEF0B832B75DF2BB6ACD3951F -:10BC4000AB424FE8EAFBDB9A75DF4DFBAEBA09E485 -:10BC5000B1EEF72201FBEC73FB89B5605F7D6E9757 -:10BC6000D0AFAA065EA37278AA3605F9FB74AD1BA5 -:10BC70009FE7DA72707FCC6FA3F24CD7FA0D75870D -:10BC800097AE98087A84D6A73AFCA9BA379706A83F -:10BC9000EFBE1182D494EFC546858407801F93D8E8 -:10BCA000C7D7BDA2E67BD725BE37D2052BA7FF7726 -:10BCB000B12BFAFB1EA17714D87781F7CDB87F138B -:10BCC000CB7EA07F579028FE83FAEC86F88646EF5D -:10BCD000BC2A32BBFA1A71F2AB227D562A4CDE2BFB -:10BCE00077A44E867841A5121E5513C5CEEE1B2FA4 -:10BCF00044811904FD30795918BC2222BF48BFE1A4 -:10BD00003AB9BFC1E4DB07FAB97BBFC8F607C2077F -:10BD1000D3619FE61AD1FB2ABC276D03717D7CA7F6 -:10BD2000D63BE0F80842DEAB9D86CF3FD4160D80AF -:10BD3000F8D19F6A6761F9835A1F3EBB6ACBF0F95D -:10BD4000616D0D7E3F5EBB04CB276A03F83C55BB9B -:10BD5000029FA76B1BF07B776D2396CFD506F1A9C9 -:10BD6000CA816A8F92246EFF717B9DAE1C583ECFB4 -:10BD7000E720D27F77A25C7B5240AECFDBBF1805B5 -:10BD800076EEF9F7CC18448F852723BFC5A69F17F9 -:10BD9000D7FB9220A57F4EFFEF561BA38FD544A65D -:10BDA000817FB672A44220AE6E7BF53B682FD3F73D -:10BDB00012417D19F468F711FBFA87390FBA349DE7 -:10BDC000D4FA279EFCAFBCB959401F465FDB41B196 -:10BDD00086D1ED590FD04D833F6697EDE4FADC80B4 -:10BDE0004789CB9D119F6707AAF8EC4C87784B9544 -:10BDF000586492E8BBF3AD669CD7F9F638B68FED80 -:10BE00004ABAAC785EC516AB4BAB1FAA42092EBD31 -:10BE1000BE487569F5C5F98E679D20F78B534CAE0A -:10BE2000E339C01F5ECE1F8CEFD4FEAB42192EBB90 -:10BE3000AE1F7DF97C83308DED2BBAE36F8DE21F51 -:10BE4000A8CFC5298AEB38D50BA7B70C8F8771A966 -:10BE50001FE78271BA6B5D2E366E8A4BCB97954B7E -:10BE60006C585F852F56BFFF68F860C7EF230B8BB8 -:10BE700035419C2656FD98F4903E53C03F20EDF28C -:10BE800017B0EED832D57547C2B2DAAF3F2406CC30 -:10BE9000D7C0FB16DD78B49D5BF5A1A15D6CBA4BF4 -:10BEA000E4844A4FAA27AFE3F921949991CE3EDA70 -:10BEB000633CEDAF47B2AF80386F86E4467DE787DD -:10BEC00081283F5559BA149F1BD1DD8971CF7C550C -:10BED000EEDDB7FF91B2DCC7FF26633C837C437B7A -:10BEE000A7DF65FE753E2972829331B7B56206E819 -:10BEF000C98F4DAA3DD09007F33E4B4CB89F7F961B -:10BF0000BCE5CCD1D86565128F4FAE60EB7380FE77 -:10BF100007F3A3769A6EBD2E6DD4974BC8CDC9207A -:10BF20000F25EB65D8B1250B61BDD7EC9BCC925C9E -:10BF300038EF5252530F76CA2A99EDA3CE7511E904 -:10BF40000A0A57D5AEA7F3C09EF54B4CDFABFEF304 -:10BF5000C2440677795250F1D2EF1FB5E6DCF63DC8 -:10BF600002ED83F5A0D7020EE289168F99B7420F32 -:10BF7000DFA5E037C24BC8321D1C6ABF2A1CE2167F -:10BF8000216A9EC6CF2481C775987CAC91F4F6EBEC -:10BF9000631C0F6A7983A1DC64A8AFF289CCF92411 -:10BFA00043F23D06FAA7CAD25B88761AA1FC911526 -:10BFB000A9A744EA6DB8583D33D413B15E93342E2B -:10BFC000763D6BA4BFE668FD55EDDAF67280F2535C -:10BFD000F94B8F3B21E8FBB1D4900CF1AFCACD0FE8 -:10BFE00039014FA7A48013E8FD71508C1A177CB754 -:10BFF0000F5F5EBB007E04B236C5FB0B8FDC08FA18 -:10C00000FA8BCD32E6C5F8B798C366CAC7D5AD0B73 -:10C010006740FC9E968FB1F2C39FC0BEA1BF4D4F3B -:10C02000CFF2E71F4F863811C524B3B74918ED8EFC -:10C03000EA4D7F2E043DEE27BDC887C67630FE85CB -:10C040004494FB6225BEFF77355FC1CFE5CCDFFAB4 -:10C05000C8279097E037F04F59DF7AD2A5401CA14E -:10C06000437224A15FFE5DF25DD0032A3E4890D961 -:10C0700013755B378C3946E1E9DEF46F4E41E777A3 -:10C08000333E3C1F9AF7AB57DCB1F5CC39EE0F4588 -:10C09000DA05B19DBB8DD93FA49D3D2BE5B013ECD6 -:10C0A000CDCA66D9433994546E7BF6B927C14F7B0C -:10C0B000DF8C7E5AC5B6DFBC3381962BB6CB4933B5 -:10C0C000D874EC4272842E7EFABF2563237428FF55 -:10C0D000F56F14F768F6FEA789117A546CDFAF90FC -:10C0E000D1FDF15710DAAF74D9A3D02574AC10ECA0 -:10C0F00095BAAD5F2AE0777DBC4F208332FAB72F27 -:10C100006BFE0DAE878027A423A7531FDDFAD12B2A -:10C110007CE32BB958CF057A3216BD5EE07AB96A56 -:10C1200097832440FCF30FE6E00CA0E38BF7386123 -:10C130001E27A51AC6D74F3F940CFB7F657220D9E6 -:10C14000854FF6BEEC99FB90DF4A859A64B68FE97D -:10C150004DE5F1F25498DF82A61FE1FC4A880FF901 -:10C16000AEEC69B108E2C39F4B64DAF628727183C2 -:10C17000CCF69F4E6E3443921F3909763ED8D76F66 -:10C18000891867256411EE83DDA7C671C9622C7F0B -:10C19000CEF7A546C826D53FB4E8F875D3C39D4071 -:10C1A0009FD343BC83004E8A8700C79700FBFDE204 -:10C1B000D1A983187D58BE01B6A3FABF00DE43FDA6 -:10C1C0004E19F70935EDB8BE64E3DFCBC7A770DBC6 -:10C1D000603D3B99CCF62B8DF35BC2E747FF3A8974 -:10C1E00086BF34F2CDE47DD34A26DFAABC07674E72 -:10C1F00083EF9FBDCDE407DAC1FA41E10A0FC2EF38 -:10C20000FB6F15501F9849389A5C6F92B95CEBBF71 -:10C21000FBA99C425C80C22D413E43844F68FF894C -:10C22000887FF44B4AD6D3761AFBCC0FE3613D25C9 -:10C23000F25EB37E94723D304DD6CB3F691A785989 -:10C24000F662A54C02605A56BE6F46BFBB729B5C3D -:10C2500004F33ED372F09D1F53BE3E1352E554AF1C -:10C260003F8D725AB663B300FC6994D3336574B5DD -:10C270008E26A7F47D54392DEBFABFA23F55BCF9A9 -:10C280000D78A37A7068822936FE8C7AD021BBA300 -:10C29000EA41FAF736C9EBCF772ABFA97C462DB41D -:10C2A000A1A0BFFBF851E5B73E7E54F9CD384F3D14 -:10C2B000DE8CDF2780A146E12ADA2DA35F52D9CE9A -:10C2C000F66F68BB4357E4227EBCB87C9186435727 -:10C2D0002469CB41433964A8EF35948B0CF57D86F6 -:10C2E000728DAE7E65DB418525198575F5CC4B9E3B -:10C2F000241F45B1EFD575C6DFFA8912007E48EBE1 -:10C300005540CFC9CBA86906F1B3BD22FA5B3DEE1B -:10C310005E67227DFF9095F9B13D2E5E4E60E5DEB1 -:10C32000814A3DE839F57DAF95C5397B8A7A9D090B -:10C330001AFFFE58BBE884FDE0AE20CB47ED0F4F5F -:10C340001DCA4D1789F59DC505A78AF6F425E0BFDE -:10C3500035881E700DE72FBDDD09FB6E3DEDC36F07 -:10C360009A45DF2F382C82F94C7A6CCE31001709B0 -:10C3700078A5D43C9E3F41FF4E91C02F2742DE441A -:10C380003BB3AFE7AF36D8C3F67B15CC2F5BAF8995 -:10C390006B69F8BF9CF753D6A4FF5E4E5623FF95FA -:10C3A0001BE4C1C7FD81A3AA3C64936CB6BF4D9842 -:10C3B0001FCBF5EE5431EBA65914EF3D1D22E6CD0F -:10C3C0009E6F17493DCCB345C07D4E1218887255FB -:10C3D0004D7A51DFA978E906B95162EBA3EE9DFFD2 -:10C3E00091F720F0C7CB7F1CF3147D76BFFCFEA82D -:10C3F0003D50DEF56EFA1F49FFFA05FBBEC27DC453 -:10C400009E7D668C73F5ECFB6DFA83507EC58C7156 -:10C41000AE9E6566DC4709EC730447C2F721CC1F6A -:10C42000A8DBFBE5189627B91CE9F48DCCFC91F349 -:10C43000EDFFF501E48F9C6FA7B302BB605F1CCAE0 -:10C440008DFF152BFADF3D7BBFCCF3D9FF71F3A92C -:10C4500056880FF9CF4166ED007E4D60F160FF9E7A -:10C46000F1CF427E7355EB7E05E2EC05AFFE650C25 -:10C47000E8C99E1DCCDE3927773D03FB6166E59355 -:10C480006532C5F339109EC1843CAB8C2D086445E0 -:10C49000C30BC3430FC503CC8BE2A50CF47B2C7CF0 -:10C4A000A42BFFACF8F8E42EA6C7BE8B79F611BC1E -:10C4B000085EF6DE11B408387FF67EDF976340CF62 -:10C4C0009C092D457BE452F3BE5661FB2CFF73E6BD -:10C4D0002D842F67DE73FE69E9CDF8FF43585F07AF -:10C4E000F69783FE7CBEEB7E2CBFE8F020BC97293C -:10C4F000FF3FFD9F46F71D94EECE4BD3FDA97FDA9B -:10C50000795F8AEE8739DD1D2ED85FEED9FB178C57 -:10C510009BAAF3BFD4BC5FF97F74DEAABD3EDD5495 -:10C52000736426AD7F8484D71751385F4B9BFAF62E -:10C530004CFAF5B731EC91D30A8B7FFC96B03CC135 -:10C54000408AC0F23CB85F5440D8BA5E90598A76AF -:10C550004641E623681F10A9E64836C5C7F4F4052E -:10C560001E960F3616CFA15C977AAD07E38106FFC2 -:10C57000F0A040BC900F5D70F5F51DE0AF4C499305 -:10C58000C3E631F83C06CF43CE69ECBD5DEF17CD75 -:10C5900000BF46E3E75DEFD67F2FE4FD4D238B8F91 -:10C5A000CCA4E34F4B135D416837A94182F9CCA07D -:10C5B000C2DDA0D90F2A34F47708FC5A4DBCEC6FC9 -:10C5C000C55F9A99F991BFA5E36703FED2648C0712 -:10C5D0005E127F84E57F5D979A8DE75188E441FC88 -:10C5E0004D1F5CC5F1C9FC6689B797ECF59D20B776 -:10C5F00012A17E2FB3CBD05F56FDDE587826DC8F9C -:10C6000096F8902ADEA53419F35535FD213E547A6B -:10C61000FCAD7450E9F7F7D2E39C811E699FB92401 -:10C6200090CF026EFF4FF9AC53C4729A47C2FD28F7 -:10C630006EFF4FB2274860FF5F2B1D15412E4B2D1B -:10C640006DD3214E6FF108C8D757769BD0BFB1E4A8 -:10C650000A88F7CC4609CB474DAE716068DFF8BD5C -:10C660005D671E20101FF62A68789322169FFFE64A -:10C67000DB6F27AAE735F03B213750FCCE6F2261F4 -:10C680001B9DE7028904E21321BE2B900F75F15D1B -:10C690007D19FEBE9F1CE9E752F563E9917FF473B3 -:10C6A00017D55B1F52E6D80D4FDC57A12CA1F18F97 -:10C6B000BFDBCEF0E53F4282C3502F78C522CDBE0E -:10C6C000D92366A63F76FD69470EC4C526F564C525 -:10C6D000337D3A02FD023FF70BCE13773CE41F9CFB -:10C6E0006F1F1E8FFB821DA2C317252EB395FBCF94 -:10C6F000FF0AF914F4D9B38934C0398C1ED28BF1F6 -:10C70000D8C0264BD4FDDDFBCD6ABC89D38DFE8914 -:10C71000EA792337E68B04E2B574EB9EF1B134A6D7 -:10C720003F1DE0EF43CD7EC9DF8B5FF0D701BF5BDC -:10C73000AD5D85D1CE83ADE0F8BBF1C05718C7BC65 -:10C74000BABDD904FC7BF526936EBF3160E67ED777 -:10C75000583216E0BAF180D5910B74E9103D903F44 -:10C76000E86FFF44F145D9B732E213FA87B8F83ED3 -:10C77000338BF3EF9143F300AF7BCE5A303F67B773 -:10C78000D250110DCE2BAD4CCF2D20A17BC664FC19 -:10C79000F3E177528F3D3C19FCCC4D84C7318CFCC2 -:10C7A00047908FCF6F21783E14FC52D00BE75BD8B7 -:10C7B00039608A9235E04F5379FF81362E7365DBFD -:10C7C000F67F053BA0BA5D7041EA6CB5D4A540BCCC -:10C7D000D5DF9620C2BA9BED56F32A5DA36FD5C86C -:10C7E000C53E33CB373E3861CF1D30EEA7DD0A01A1 -:10C7F0007BC4FB5AAF13D6ED4FDB73E2A3E5CDABA1 -:10C80000CF5FD792E95324E88720DE8DFC90D56274 -:10C81000D395BF27FA06837CDD68EEBAD713857EF1 -:10C820003E0BE3B3CBD66FC1FFCFF4DBDBAA7EF3C5 -:10C8300089451A39CAB4F4D36F83A2E9B7C5827B9C -:10C8400010E07DF1DEE18380AE8B0FCB03A3E9B76F -:10C850006DB56C3FEF259E0FDBD34AF5DB351AFD36 -:10C86000D66AC1BC3863BB448B89AF8B97D06FC18C -:10C87000FF1EF9DB06FA2DCA7C475A98DE50F5DB1D -:10C8800098F663A8DFC6B49A7479A369964BE93722 -:10C8900061E0AD600F77C89EB828FCB38DDBDF2F59 -:10C8A000F13C3C1807F4DC1D16B6BF79B97A2ECBE3 -:10C8B000CAE87D493DF7DF846755CF2DDEA99E7319 -:10C8C00034F221D3738B77533D27003F323DB77845 -:10C8D0002FBBC7C1A8DF32FBE93782F5ABC3ACBDC4 -:10C8E000BF2D63C31CDADF58AFECB1D0FA6323FA73 -:10C8F0006E9C56DFDD6161F72EF4D3771D97A7EFAD -:10C9000076727D47F5D830D0AF46FEF0B4EBF38EAB -:10C91000F78C3FD9F26B9097D745DC373CCACFA54F -:10C92000BD31FE642EF0578B85E9DF3ACE7FE76A92 -:10C9300003D87FC16B6C7E5576968F5CDDCAECC3E5 -:10C94000EA1621E8A6FF2C9CF09502F02FDC2B9034 -:10C9500041B43CD3CCEA93E7D57D2F32235BC30FA0 -:10C96000F3F32B306E3F5F221688CB57D80B3F86F0 -:10C97000787C453E8BE357F0F70B0F77D5433C7B34 -:10C98000E11302EE7B129E0FA0E63796B62FC57814 -:10C99000AD312F40D5E70B83FAF715867CC6663E8E -:10C9A000CF996217E285BC2946CD4B6836E2A38356 -:10C9B000E3639388EB661F3E287EDC19FDF1412975 -:10C9C0003A233B3932FF85AFD379E546E6A5E2C38A -:10C9D000383F35EE5CC1DBC59AAF8ABF7EF355F1B7 -:10C9E0006998F7B3A037402164931CC88BA17C8061 -:10C9F0007A23F03B11CFEF174D1A3948AB87B77246 -:10CA00007D9ED330A9209500BE480DF04D49E3A28C -:10CA100043A974DEE3DE738F85E5F17B13CC3ED84A -:10CA20001FDD6AED45BDA6F2D5D79CAFDEE178DC0F -:10CA300033B806CFA9FADB0417D815FEB015F1E715 -:10CA4000A7F883F32B7E7E7ED14FF90BE4E9E01348 -:10CA50005F307CED15DC101F2F54D71FC03FAD9FFA -:10CA6000D3CEF0EF0F0A88FF5CD28BFB23D58D82EB -:10CA7000274CEB57B72DC2BC0755DFD23FBB961EE4 -:10CA80001A7E94A2F12356D2AC7F15BCDE8DE686C9 -:10CA900077803F6F7C5E26CD1AFECCA4FF7D1B8580 -:10CAA0004E2A3E2FC59717389EB6011EED80AF5E09 -:10CAB000663F85BFC27334EA77BF14D0E1B1E0C9E5 -:10CAC0000B17C5D338154FC0A7A0A7DA8B452897F9 -:10CAD000B409644046FF79C2FEA4566E17EE3DC607 -:10CAE000FA7F5AC07B4B8C7CABCEBB1FDFC6E057B6 -:10CAF0003897067ED1E5F2EDD706BE7DC3DA7B24FA -:10CB000007F876AFC0E207ED09BAFDC5C156B6FE1B -:10CB10006FB552FE867DADC3B267A3BBBF7CC7F1C4 -:10CB2000F50BEC7EEDB9A4AB602290F7B8C5827925 -:10CB30006408C73066576AF5EA362B19786B6EECD5 -:10CB4000FE5379FFB1EC1AB53C1AC6837CAF363A76 -:10CB50005E66643CA35E57FDFC4BCD6BD4DF39AF02 -:10CB6000BE3C4CD289FB4E1992EF51B3260FEE36E4 -:10CB70009E67442140FB4A532FCB72917A24C5858E -:10CB8000E79FEE71A97CC6F2DD8B781EFB5471E243 -:10CB9000BBB07E7EEA65FB7CB926F2FB89A09F27AD -:10CBA000CB788EEFD32332C66B3F9DC2F2386F7ABB -:10CBB000FDA004719A9B4039517CDC344E407F05C6 -:10CBC0008E61C1BED92E6ADF7847E17C72E01C57C6 -:10CBD000F6A68602387F3C764BB00E9E9E82DEA47F -:10CBE00037008F93440278ECF40E2880FB93EEF923 -:10CBF00033C1FB43E83A8BEDC7769081506F827763 -:10CC000020BA03E35BD717407C74E641BB1DEE6797 -:10CC1000C96C32519F2182BF09245807FBEDE38F75 -:10CC20007B6F0178CBA8BD0071E7B2F6E63A279496 -:10CC30009B048F9BF6EF0FF80A9D741EDB1A3F29A9 -:10CC4000FC0EC823AD07DDF89B583DFF26B87808D9 -:10CC5000DEAFC33C9B924D021EFCDA16148885F5AC -:10CC60001BB4D07EB735D1F6B9B04ED0F6D0EFA612 -:10CC70004FDEBE05E4FD88C8DAB7B07DEA12DACE31 -:10CC80000D7CBB6911F6B7B0492029B4BFB216B606 -:10CC90000E941D913DF0BD75FF13B88ECDA0E3A598 -:10CCA0006680DE0F4F8132C9115C18EFAC1C8574B1 -:10CCB000EBE1724E268E64FA43E065EE37A876D338 -:10CCC0003B5696EF5BE259AA0CA0FDBC913F3003A6 -:10CCD000D202FC6D9FE0FEF3718A671FEDF228CF50 -:10CCE000DB3898FF91D2A559873EB5B2FBADE6B7C8 -:10CCF0004DC27C8605A408F3196E1CCFECB537AF86 -:10CD0000B506E18A8337E5DE34787FF05A33DABF3F -:10CD1000E7B6C9C847E78674617CFA64938CE786F6 -:10CD2000EB9AD8FD5C275BD83A2E3ECDF6F54B1D2D -:10CD30000A960F36DD5208EBDBC94DECBC63C1D35C -:10CD400053152897360B1E767F11D38FAAFF56E214 -:10CD500062F908AAFEABE2F3EE97B768D07755EA1E -:10CD60007A63D07755B0AFEC84A7FEBD9FD8991EEB -:10CD700004BB1FE81EFE0AF9B7FA884CC0EE173E46 -:10CD8000EA2EC47CACBD02C6F3C7B70B5ED8D72F62 -:10CD90007BCF1C447B35587CF74F408FBF6F26827A -:10CDA0001BF2DA29DEA97EC837F7FEE917F4FDC7C2 -:10CDB000472D900943F9A418F1ACE67FE66E667939 -:10CDC0002CB947D727C3794B326500EADBD24691AD -:10CDD000F8347AE363C17BCB8F995EC6FB2954FAA2 -:10CDE000E52A0D25B08E0DB731BDE4DE2C438E084B -:10CDF00039CCE324D49EC6F3B70B77AF4B5668BD4E -:10CE00007A9EFFB170EFBA6491BEAF83F58BD65FA7 -:10CE1000A8B0FE17EE135CCD9AFED5F66A7F6A3F86 -:10CE2000CA6E7D3FC3F7F2F265F6A3C2A18E1FCB97 -:10CE30001ECFFFF70BEBE1BE98FC37454C3ACEFF17 -:10CE400068C670ED7E87FA54E3AF796F9B8857838D -:10CE5000B7FC3FD98857C317ADE3A87C53BADDD0E0 -:10CE600026040194D671C794AA5C2CBB409EAB7972 -:10CE70009CB67A0ADBB76ACD3EBA1CE47B46AE802C -:10CE80007C40023E654012DA416ED85F28CD65EDE8 -:10CE90004B697B90BBD627981C527DE0067D51DD07 -:10CEA000B4AE10EB6F12DCD07F6B7331AEF765F967 -:10CEB00022C1EF9B8EA1FD51D6762C09E495CAE7DD -:10CEC0007A587FAB279AF13E2F55EE54397E53E6C0 -:10CED000F735595CA321AFFF41002A8AFC8A470835 -:10CEE000F3535B6494337F3E93CB37B78928CF07E6 -:10CEF000AFBD1DE5F0DC6621861C1728702EF96495 -:10CF0000907DEF93E3AD029763A61F4EDA995C170D -:10CF1000C07790E39D02F707993D689463552E2FE3 -:10CF200025BF155B0CF21C436E3BA5AE5B61DC7B41 -:10CF3000AEB522DC05DFDFFDCE3DA87F64CCFB284B -:10CF4000F8FE03C9A0EF4A2496AFA4E2B14A62F901 -:10CF50006CFDE058BF5449BD2C78F4703C657544B5 -:10CF6000F487087CCEEEE10A6C9291CF8D72F8F7CF -:10CF7000CACF3F4A9E0F73FE51E111F7B2F6903FC0 -:10CF800016A678FA6DCBB398A77AF6856337029E1A -:10CF90002BF650BEA5F33DD7E2E0F7BD04719D2905 -:10CFA0006F15310F9C48E1BC5B1C5AB96479481578 -:10CFB0002F39903FCA77B07CD2F2973F1A837922FB -:10CFC000CB7A31BF2AF002B737035D6380AFCB2540 -:10CFD000960F6594F35B6DCCFEECDE1D370BE621FE -:10CFE0006C61E7F4CB43B7CBC0876ABD1FDA64B589 -:10CFF0001EEE5F0628DFC2FE3AC0A73D77AEE641CF -:10D00000756F65725FDE26A3BF54BEA519E3D8FE17 -:10D010002D9F609E7BC14BDB307EE06F13F5798FD7 -:10D020005B44DCC7A24FDCAF32E61F56B756E17E49 -:10D030005B7588E7F719F2DF2A5EDAFB7280A2A639 -:10D04000E2D7CF3B410F9CEEDCEC047CD2FE306F8C -:10D05000F0FB9F49BABCA8D8F9BD5E7D3E6168650A -:10D06000D47CC2D3F00FCAE00FD838BFAA79985B3E -:10D0700006F03CED705E5194F87DDFB99D6D9F3FE9 -:10D080000379EEDD3BCE3C037057FEF5D367209F5E -:10D0900089ECB3E2BAE47FE1F79827ACB6FB858D63 -:10D0A000FBF95B9FC7FCEA73EF9BD1CF39B7F764FD -:10D0B0003AE4AF9DDBFE5532C4E3EEDD3B15E3956C -:10D0C000F7EE2C1844A2E877F5097C19BC8CFC6EAD -:10D0D000231D0EB61EC4BCABB3EF99519FF5E58579 -:10D0E00086AA589EAD9BE783B644CFA357F318ABEF -:10D0F0005B6FB9E95AD0CFADCC9EEBCB6BBC541E65 -:10D10000E8DB949ED75C06DD5A789EAF816E67E1BE -:10D110001F943E2103DD3E6F5DF0AB27E15BEB80AA -:10D120009879A0E1CBC0979AA7FF739B778F0DCE1C -:10D13000FDED880BA4307A05670860EF7D9E0EE751 -:10D140001A4EC9BD98EFD1BBD7EC827CC6F2BDEFB9 -:10D15000A27C9CDB7914E3AA84E7C99F237D7F2C02 -:10D16000AF59E0F3DBE460F9A31CEF905FEA76E2ED -:10D170007B9E47CAF856CD2F8D9557DA6B1BC6E2BA -:10D18000D0FCDC4015F593F8BD597DF9A6423ED0A0 -:10D19000E9982E4F579DB7B13F17D79B91FCE8E810 -:10D1A00079BB6ABE60844E6C1D51F39FCF35F3BCD2 -:10D1B00069FA3E6D2CE4C1B1F5DA1F14DE2551E4A5 -:10D1C00051CD8F3E6333E445072F2F2FFA52F0FEE7 -:10D1D000EFE2E3031B8B57AB78E9FE26BA3E56E23B -:10D1E00098DD49FD53390EF705987F7A37F74F558B -:10D1F0007CA9F0D68798DDD0BD85F9074679AE8E3B -:10D20000715F52121FA7BA6DFF18D03BDD0776730E -:10D210007E63FC5CDD728CE5DD52FD1CD4EA677E2A -:10D22000BF84B1BF74DE9FBF3D7A7FFE964FA2F6EA -:10D23000775AF2DE0EF09FEE6476D2E990382DDA5E -:10D24000FD36963859973F50EF60F765884E1BDAE8 -:10D2500047F73AF2DF8B4F82A782793D754B791EF3 -:10D26000D0CF3C78AF689D633A01781E02FC68E23B -:10D270000CB2CB47C04E93538A72457704DE3E7A98 -:10D28000249948504B7F299C06FAFC83EC9332F496 -:10D29000F79F86F8C87F4AA47E1085EB3F0382671C -:10D2A000A93BB65DAD967D3F1575F18C6A73EF07AE -:10D2B000609F9357ADB81F2EEEB306303EF60CBB01 -:10D2C00057E3E0CE2F9FC37B797E6526DC2E14408A -:10D2D0001F94F238C5C99D5F3EF35F604742633AD1 -:10D2E0007EE933B43ED8CF2D7168EFF7EC881F0389 -:10D2F0007180D2571FBC11F44529E83EB0335F1A44 -:10D3000014ACA3FD9D18C8CA27B60DC17301153B07 -:10D310001C984F7870E7AE6AD0F7E75E8A23A0EFDB -:10D32000CFCA5D7F85B27F4F3C6976A3DDE7D6AE7D -:10D33000AB0B89E4D6DA731550D6E5B710CC6FC1C4 -:10D34000F81BE5E78AB6783CFFA1A9C7E539309814 -:10D35000DF133518E48EDA8D6E7DDE33FB3E3F8EB3 -:10D36000E92FBFB9F77E761F02ABEF577A4B58B95A -:10D37000613093DB4EACBF48E557FEBD7FBFACBE0E -:10D380003F8EC50322FDB0F6D56676BF8691BE3FBF -:10D390008D13F879DCBF5C19EDFE8928F0B37BB9F9 -:10D3A000041280FB57C9762BE669552AE15190AFEC -:10D3B000FEB2C2F63F2A9DE15190AFBE87EBBF4A55 -:10D3C0001B2DD3F783391C501FCAC4D2F522DEEBC4 -:10D3D000B4CB8AF7E155BDEAF0A29FF0F297279E01 -:10D3E000CA857CB538CC93AE7AF55F90FE55E6F0F1 -:10D3F0005DC0FFBDDBCD783F69F7F6C3E9603774E8 -:10D40000CBE1F4C48BECEB5485CCBA7D6A751EA7D6 -:10D410006B974C8073BCEA39C3F218FAE2F5389680 -:10D42000D7D11CE7FD15D373FAFB654ED7CED2DDFD -:10D430009B586E89AEC75A402F68E27862E45C61FF -:10D440000BF47B9674D50FA624A9127A717FBC7C4D -:10D450004B461AF8BB07AC57E2BED501D98DFE206A -:10D460003CB5FAF854AD2747C2F3F499391285A3B5 -:10D47000A7F99392C104F203ADB3A2E9A7BD7171FC -:10D48000C84FE51673D4F39BBFE3FCB60DE46D1CE7 -:10D490001BCF931519F7801C54008E897637CEA7C1 -:10D4A0009CFA01EC9EA8D939DA73DB0BA506AC47D0 -:10D4B000E50BF1B190AC5772EDFDF5CAC225B93953 -:10D4C000520E2AACAFFBF84D8CD0890492D04E920C -:10D4D000380DC9FA545DBEBF241759005F0A29727E -:10D4E000492290BA01E5D44642F8B4533384AD439F -:10D4F0003504E2E3A7F8FEAC59723F8AF7CD748891 -:10D50000A8CF2F85B777E39C08B759AA211EB43757 -:10D5100066B8C01E13023EF22DE587BADA6939EC0F -:10D520005C38F142BE1BA6BE51F89CAE435F817DC4 -:10D5300040F98CDD63F57D12ACA3E3C131638CFF50 -:10D540004D66F7D91BC7FB86D38104F6EBEE3B870C -:10D55000BF5EF5FE3CF0D7E3FF9A0FFB317617096B -:10D5600083BD146727E1B831704F9E745A2BBF4EAC -:10D57000C2CAC3283B835E734DD47F37F235F1486E -:10D580009FF5E94511DB7F6668FFD9C5DAABF8F096 -:10D590005B367A8EE744F062E373084CF65CE8028F -:10D5A0007C8C717AEA808E4AEF070F023EC6D899CA -:10D5B0003F98D448B4FE5A8E9DE9ABE5FCFE69FA6B -:10D5C0005764D7F4475C168C8FAEE478EFABAFC6E8 -:10D5D0004DFAD5B74A80D77EF5ADB1EADBA2D77751 -:10D5E000C482272E3A3C0931FA0F44AF5FFDEABBF3 -:10D5F0006F84DDF092E90D08CEF373CB3976F0AF8E -:10D60000E23F482E665CC1F6030C74B301FF517E05 -:10D61000B08DD0BC87FFCBD2D06F5814FA9330F2C4 -:10D620005D31878796EDA914BE1F7370A76C62FBEE -:10D630009573EE6571A21F5B587EE9317E1FD09C09 -:10D6400046E657CF59C2F61149193BE7E3A2FFC19D -:10D650007877422794DE773608C17006DC5B63B0CA -:10D660005FFBEEC759A840FD6243DC45E527F53C6A -:10D67000D23C6E5F6770FE5C407A1D20F7C673EF88 -:10D68000AF71BDA6EAFDC03A9209E7F64593CD0316 -:10D69000FBA3223F674A9CEC3E3FE21DC2EE97533C -:10D6A000F3B832DDF1B0BE91107FCFF759165FEFBE -:10D6B0001EA43DA7255DB0E1FD2075B22705F4A0AD -:10D6C0007C81DA75D455532E0C236ECD39326ACF56 -:10D6D000A170CB2E765FA2E42A22A56007F2FB019F -:10D6E00048D2F43EBBEB4D8A87C5EBDC786E758182 -:10D6F0009DD999BF7014DD631F07F665BE87DD7382 -:10D70000ABA76360279B5F1DCC2FA33FDC758AC747 -:10D710008376E7746A31601CC783BFEF209ADDEF20 -:10D72000BA411EFF4D66BF57D00F0F8C7EE7931294 -:10D73000F15EF6F9CE551F009FAEE6F711AEA8CD0B -:10D74000C4E7AADA14B43BEB6B3DF854F162F13450 -:10D75000E0BD6F9611AC3F8BCBC7EC0A6ACB403E65 -:10D7600085E4AA0943D9925643C0DEB5F6E1A70184 -:10D77000F1A3F4957D5836BBD8EF46C88D3310CF52 -:10D78000B43D29A5DF173B7C4F829C58DD57EBEE5B -:10D790009133A78C35DC3768C09BCA1FDB18FED6D7 -:10D7A000088C3F8CF85B2377BA615F79CDF57DF704 -:10D7B000CE20FEA879CFF0F73BB6CF16137FAE444C -:10D7C000B45FE7E7D5DF55475F3DC2F7171FAECD22 -:10D7D000477CADE4F7483E54EBC5A708F8A3F33304 -:10D7E000670508DC8FCE7E1B823EED455EB87F1656 -:10D7F0007817F027DA193ECD2935B8BF66B1337CEA -:10D8000089F600E245B6337C8976C66F0A2F4B80D5 -:10D81000BF1C6C8FEF29FE0E007F59D226E8F0A5C1 -:10D82000244DBE3CFC3D41F147E148E2F265C44372 -:10D8300092C2EEA754E52A961DF7389D3FACDB1B3C -:10D840006A093E07C6F0178739D8BA9964AAD92F52 -:10D85000033E12095F4F02242D8FB0D443F84B09C9 -:10D860001037940506076918A2BB57527449867B86 -:10D87000D9DC1B800FD61F964D902F2F2E99AE3BD3 -:10D880000F2ACEF226B8119F3EBCA7F9915A37D283 -:10D890006F1DD011EE01E5FED7439C9E0FF37B2850 -:10D8A0005772F958C3E5E5512E2775FCDEE4D5D350 -:10D8B000589E5552B689DF571626DA3CA6044F8883 -:10D8C00028142EB4A9DDF8C47B16C97BE6E048DA3B -:10D8D0002E2E8B78814F12DE7B20C8EE6B2C4A05F2 -:10D8E0003B2841BD7F71A23B61361E840D4BCCEFBE -:10D8F000A0AA10FD984E53B47BAAEA3C072C100F47 -:10D900008D054F9CC79BF1101D2FAED181F6FB00FA -:10D910005FD1EC05B46C6F8CC3F85F1CFF7D163BC8 -:10D9200085BB5443EF58F7506F745C1FEFA0F4743D -:10D93000018CF4F958E370FC5D96C7E522FC1D9755 -:10D94000C7F97AAADE73AEB6FB9AEB4767EED53A13 -:10D95000BF75BDECC576AE897AF95FCFF56DE2147F -:10D960003D9FABFAF6789FBEF50D0378922F4C41A0 -:10D970003D96747374BD5B272B786F79DD6826E75D -:10D980008162859D6BE9AF07304E7DDE376A23E803 -:10D990005195AF9611A67702C4E6C17588DF6FA3D3 -:10D9A000DAC12BE01E40AE5FE1298E60BF3F903CA4 -:10D9B00087DDE7BB9ADF63B596F215C17B4F3DF873 -:10D9C0009CEE60FB13CB2C63F13EB53ABB09F584AA -:10D9D000F4BE39082687B47FBC0BE20592ECE9F46B -:10D9E00042BCCF2185E0DEDC3A7B2EDEFB2E24E438 -:10D9F000BA80FE5F38E60FBD583E1D9D28DE97E9D0 -:10DA00004A2A221F66E16E009E5F915D3713881BD4 -:10DA10006E48AAB102DEC63B585CBFB1380FF14870 -:10DA2000F17B936360A49F41B3A6F7DD8305DD6EB0 -:10DA300088710EE60E07B397485A808CD0C879A338 -:10DA4000FA3B27EE00C9D4C8FBB2918504F687FAE9 -:10DA5000CB790C3DB699E9B1E542743DA6DA99AAB5 -:10DA60001E930DFA417DD60F9DA63BA7A524798074 -:10DA700077E1193079C0BE7BB9FE8E04C4430DE056 -:10DA800081A44CEFF35F7F300CECC7BCA8FC66D4DC -:10DA90005FF3FBD6736F32D0E994EC1E341BF8E9C8 -:10DAA00070F4F57CD263573D0A7C30FF77A2A0DD8D -:10DAB0004F29BDB002D7D3920BF9F82C6B9C867C12 -:10DAC0004F200AAEF1C34E36DDE704B84E36F23CC5 -:10DAD00080263908F919271BEFC3FB4A20CF5BD4F6 -:10DAE000ECEF935C37DA97EA3D632783F738B5FBB1 -:10DAF000BB25BFB07AC16E8DC55F254DD1FD7A586B -:10DB000043217E4A01CC047B98DA37BD61B07F3671 -:10DB10009A3D011229071EB346CD4F5CEC98FA38A6 -:10DB2000E07DB1C3FB34C839B1B37B4163F3391B2A -:10DB3000F7046C02C37ED3933C4F53F239B5F7BB65 -:10DB4000F5DDC7C9E324C412E3BB4DFD7D8318DFB7 -:10DB50009D2C9F83B8A27F57FD84B8889FD006F381 -:10DB6000A86A3C53FF3EE289FB091CEE533283FB5B -:10DB7000D47366F63B3706BE38C5F347160A0CAFBA -:10DB80002A7F9FEAB3777C780F8D91FF848D576D44 -:10DB9000184FFBFDB443C6385C25E51FE01B61E36D -:10DBA00078CC5F171E1BFF28E4257D7644C4EFE583 -:10DBB000172CF8BDFB679E0D7320CEF3BA8CF7755A -:10DBC0007FD631359EC579F471E8054EB6CE9FE615 -:10DBD000725F726115F2671F7F342C5040AE4A2E7F -:10DBE000AC457BA6648B80F7449240EFA14912E7D5 -:10DBF000C309D0FE6CE132C0F7C406DCDF28DD6C5F -:10DC0000F6AC12FAD3F9B4C3ADBB57BDB46B35F65D -:10DC10004BA83D95A4D9EF3EC5F3804B2FB0FB0137 -:10DC2000892B405280EFB9DE89F0AFFEDED76E6BF4 -:10DC3000F438FBD7DC9E29B93041E73744E6F77D5D -:10DC4000269F7C3D2FEDCA6770F5CD67C3F868F35A -:10DC500089CC6322B6EF4E883E7E06C7F389DA325E -:10DC600038B941CA1456AFA4E13E05F449495342BC -:10DC7000A2A099576963852E0FA3B4A95899ABE95F -:10DC8000374207DB6F278D88D02163AD7CDD323BC7 -:10DC9000ACF7450E278CB77161DE4FDCD01FD33F48 -:10DCA0001FCB0DE935A85FEE71463BD790E174EBD1 -:10DCB000E24AA58D9C3ED44ECED5D047A58BB1FD72 -:10DCC00089E6D2BC9F403CF909762B486CBD63A025 -:10DCD0005B4674BC4DE8C35B26E6035D1A6FDFD17B -:10DCE000E5FDF4C31BA7AF8A17F53DB58F72005F42 -:10DCF0001320E03410FA61F4BF14BE22E372FA4F2D -:10DD00008A3E0F5FDF3C969000B51FE65F721E0FE4 -:10DD10009280E522F350E94FAED6D1DFB776E475B5 -:10DD200020872ABDE71F7802F9773E9547D8973FAD -:10DD3000D9709F6E7D88C01783EE2302242BEFFFDE -:10DD40001CDD3F9603E990F71558C7D691531B1F6A -:10DD500049D7E279B163D202A00BD934F0B2D68FA1 -:10DD6000C0644F871BD72519E361BB1D3EBF93BE1F -:10DD70002FE37EF5F284C251D1D67DEA174E84F8A6 -:10DD8000735DEDB489106F93B9DD08BFAC05F6265D -:10DD90005C811EED7EAD064ED7876A6B307E4D2CC2 -:10DDA00001E2D29EF725CC2EFA9AB0788BDA4E910A -:10DDB0007D2E887F2A0229427B4EF2ADC8C8853865 -:10DDC0004652764083BFB54E66D7AD4E39E0827C71 -:10DDD0005233ED1FE2319634E9BC7E9F9295B385B4 -:10DDE000F132CC474E0A118C6766D1F71A7C2B4969 -:10DDF00014CE8BF89B92C589FB451261769A3A7FC7 -:10DE0000FA06D7B387F9BAB40CE2B849608799D05B -:10DE10001F5ACFE394BFAC2DE27890701D3327B02A -:10DE2000FA4A3C83DB0A716B11D6D530961D70C35C -:10DE30008E885793E1EF8F261037FE4EDF0012AE2B -:10DE4000C77B4C2675DD0FEFBD71BE2DC0075FA4EB -:10DE5000767E20401CBAC87725ACBF8D6220DB4D92 -:10DE6000EBFF4AECCD867AF0FB5EEF25B2E750C8B7 -:10DE70005BF669F6A5D8BD9C6E6D5CCF581EBA44A2 -:10DE800032ECD77C73A5F67B739C7717C091F49125 -:10DE900080FB30755676AF4F9DE3B67858BF8F72D2 -:10DEA0007A21FD817F3A981D735E72C727627C33A9 -:10DEB00033E735DDF81E5D59E2FEDB26CA8F92E6B8 -:10DEC0005ED61192D704FC32B281BED7D22F4A5C03 -:10DED0002DD18ED7DF46DD8751E1A3E312C09F78B5 -:10DEE000A190ADAF063ED82330F8030EEE6F9180BF -:10DEF00008F49CADDE172C2D6765F5F722808A1497 -:10DF00008EF7D5FD05B29C95F93EA57F2EDB8734B3 -:10DF1000C233BBFDE14E88EBCF6E4F9D07FB53B381 -:10DF2000EDA3FE0CCF3D72EF8138B003EF13F0FC90 -:10DF3000C78F7FFF9A1C479F3BDFDE88E78DCF723C -:10DF4000B9BB8BF4E23DEC3EE2E2FBE4417C3F17DF -:10DF50007E600ECB2119FCF439E1E08F6EA0A53B69 -:10DF60005F0BDE0066DB5D1DBDBF0135E00BB90A4E -:10DF7000710F406DD7E639C4CAAC5D040F166E8FC1 -:10DF80005A705E91795B100FEFF7E58D07901E7D5B -:10DF900078E2F72AA978E99B77FC6DD321CE1B4B59 -:10DFA0009FCDB667FE996D7E30B88C78FA0C3E51E5 -:10DFB0003BF233A7D71A4FF5DB474EAF0D9E959630 -:10DFC000DE746918CA8B13CAD5A26F6832C5C3D96B -:10DFD00021BE2B07023E3A075C961EFDC0CAF40024 -:10DFE000C94DC7F9A8F7BE1F7CE0A403ECCEFA9D8B -:10DFF000EFA6C3B34AEC5A733BC63745F487CEB796 -:10E000005E79D1F3611F40DC89AE7F23E3553E6426 -:10E01000F3BB9B9FAFB9BB350ECFD7DCBD44D4DD7E -:10E02000DB7CF712967747A4CE31B7EAECF5E53101 -:10E03000FB813880B19F794B26938F06C03EAB6B36 -:10E0400012C6059E61FC356F8A57847CE4092B0457 -:10E050008CB78C3FEE6EEBA2E579C104FCBDA379D1 -:10E060000F2CCE817B08AA3B597C6F90B828FB67A8 -:10E07000103F39C0D671282F02F9B67BDD764DBC32 -:10E08000BF5BAEC9867BF70277DABDC03FC5B77A02 -:10E09000DFC7FB1C781C425D57773516631E6BF19A -:10E0A0001C773ED0BD3864C5DF1F2CB610C946F5BD -:10E0B00058B1442CF01CA410C90A4F1BB1C0336FD7 -:10E0C00019BB27BBA47126DA07CEFC2205EEBF2DB3 -:10E0D0006E7FFE73685F2A85F7B3732D0C3FC5ED25 -:10E0E00087BF02FE59E02DC2BCC3EF6C5174FEDF46 -:10E0F000E890BE7C4D9BBE9C1DD697733AF4E5AD6F -:10E1000070C799C68E38B0D78CEB44C519764EEFE0 -:10E110001501D62688079B519E0A2ADAF3603FFA3A -:10E12000CC8B0E137CDFF317E6F7F66EB5E27D6F4E -:10E13000FBFF602336C82B7CC9BA11BE9FB185F2A4 -:10E14000200E47EBB3DFD92A0A8D02FFEDE5AB5570 -:10E150003F3D3806E6F5F25F599E4CEF5633FE7EA2 -:10E16000CA99DDCFBF08FB6267B65E8176D62B42C7 -:10E17000C004FD065632FA1BF9B4628BDE2FBE3F97 -:10E180009EE99B1E81E1FBCA46FDBCAF0AEACB3F7C -:10E190008F67FED45CA2799F01FBF7EEFA14585703 -:10E1A0009F8D7EDFF0435C2E5E784151F956E4F797 -:10E1B000B311B7E6FCD29EC8FEDDBD57405E05E058 -:10E1C0006258E47D85615CB5FFA278B60F9FC4F705 -:10E1D000677A5F17113FA70DBF5BD867D7D5D6A465 -:10E1E0004ED1AC43258DFB938BC13F6ADA9F3C57E0 -:10E1F000B3BE546E3D987C07E62549F8BB4C95B3F9 -:10E200009F5B3B2109DE8B218017BE43DCAB3BF4D7 -:10E210001B27D4A3F6EE585183F7D2C6FB52A7684A -:10E22000E4F46FE54B559E2AB97DB22BBFB310F2D3 -:10E23000C42B1AD9EF3755847E740BFCFE22696219 -:10E24000E74CF324522452F9A9DCFEA31FC2EF715C -:10E25000F99F1EE701786817B7C2FB8A964FF03C1A -:10E26000C12AC3EF08A8CF7D9CBEB47ED844EBAFD3 -:10E27000BACD5E06FA89F6FB1A940F646EC4FB4DA4 -:10E280009CA7589C96BE7F0F7E12E5D4E4C01B77F6 -:10E29000D0A66748E89D1B3260DE7A3EA37C2B80C7 -:10E2A000DDD5BB59C0DFB5A59656DECD60527B9754 -:10E2B00062DE2DFD7E77B4F3CE0B83FA7E8CF4FF05 -:10E2C00003E75FFA97A9E52363BD013302782EB116 -:10E2D0007209D5771A3BBFF27803DEE7681C078323 -:10E2E000709A7C03582FDD28DF56F5FE21C192C7B6 -:10E2F000F36687B332DE5B08FC4A19A5E26A32C5D1 -:10E300000DF8BE994C83E72B4278AD28323D8171E0 -:10E31000A06D71A827BA5D5DCF3D05FCD5321AE32B -:10E320004F83F979CF6E7718EF79ECE1F1C96E1769 -:10E330002B97B75B310FE6CC5905F5E8D2D04127D2 -:10E34000D0A3FB45AB097E97F4CCF60193214FB2E5 -:10E350003BC4EEFF3D1D1A80BFFF1A6BDD32EA039E -:10E36000759D3C06FF84F534DEFB35ACB76439CBD4 -:10E37000231D34A0263BDAEF49A8ED92949A6CF065 -:10E3800053FE17A753B28F00800000001F8B0800B8 -:10E3900000000000000BDD7D0B7854D5B5F03E7316 -:10E3A000CEBC92996466324926218F09841020E000 -:10E3B00024860814EB24040C187542D1A2B63880C8 -:10E3C0004080BC44DB46A55F2624424251428D0872 -:10E3D000087140B1F48A6DB0A8C106EF80F86AB543 -:10E3E00037DADE5EB5FDB92370295A1E23F452DBFD -:10E3F000DBD67FADB5F799993349AABDF7B6FFF7DC -:10E40000FDE9478FFBECC7597BADB5D75A7BADB55E -:10E41000F744BE6EF1EC2D60F01728509C8C5DF235 -:10E42000BB3C9BA0BC4482573318333A7C465B3AD2 -:10E4300063D672C6BCF0CFF186BC5786FA53B2E7FA -:10E440009BB6718CDDC57C0686CF72BF818D853E03 -:10E450009DD0388BB1650A0B290E782EF4BE2F4D56 -:10E46000A53263D07FD92E29D801FDEFDA6C64CCB8 -:10E47000C4E8EF33F8B7A217CAC5B1F22A16343090 -:10E4800019FE63575C3B187F95123A2AA530B6DA1D -:10E49000C442C930EEEAA7B4FDD6B010C1D370E0D3 -:10E4A0003363FCF8303FC600B4FF64EABCBC6EDBEB -:10E4B00034C69C0628C3BC236FEB838887FF907DFE -:10E4C00034AF35CC4FE3DCDE5AC54EA531D67C5F88 -:10E4D0006BD65DF0BCD87A7FD65D57433DC201DF75 -:10E4E000B730DE9FC1BCF601CED654B3502EC0B7B4 -:10E4F0001CE69B5406E541293405CB26164829E342 -:10E50000EF53CBF87CBD71F0D5B31EFA5EFD2EED56 -:10E510007BF68B34C267031BA27AF6545C3DE0A302 -:10E5200041E0A1E100BC8FC3C3CC0352C07A159671 -:10E53000821D19005FD359C63641A9E9D06746CD7F -:10E54000F8AC8731C04366126366A0D7A3125BD4D0 -:10E550005F42FD26D64D8136F8771D96DBA9DD0991 -:10E5600081BF476F5991E587765BEC50CE16089EC8 -:10E570000EDFD0E1C7A91C32C17792AE8E96A9BE3C -:10E58000623D2FD7D98A6BB6E730B64DEFCFB201D7 -:10E590001297C9BED77480BF271DFE5B90DF96E936 -:10E5A000BC790ACE97798B7C00076BE57878ACACA8 -:10E5B00065624B490CAE187C9CBEDBA4FE900EF845 -:10E5C0002C7058F2EC7323DF46F47E4BAC5DB34DF8 -:10E5D000A279A41E0BBF3606E9FEBCC4F642BB1DE1 -:10E5E000D287AF8D817E3BE6B95907945D4027B94C -:10E5F0000CDFB34E09F0527EA8EEEE5791CEE549FE -:10E600009EF1F0683C5429375A68FE77FA009ECC98 -:10E61000E4963D3AA8CFBCB3B80CF91BE67DE702FF -:10E62000787FAFCD4DDFCBB270BABBD6070AD69696 -:10E63000E0F77D77BF0ADF8B4C49F2E0F7330157F3 -:10E6400056073DBBCCD88EB54BD8EED1143E7EBA22 -:10E650004EBEB30ECB65BCEC582779F712F36DA50F -:10E6600079671A590DC289EF8325B464BC07A93EA6 -:10E67000C8E93BBBA514C7CB1CC79F4E432807C79F -:10E68000794BA5F760968E6520BCF0DF00CFBD0703 -:10E690002B331DD0FFAD732645970A4F176343D820 -:10E6A0004E0959183E0B8B797B93685F3A3B1317E1 -:10E6B00083334FDBEEA2DE9B7A35E025F08ECC90E3 -:10E6C0001EBFB37853EDD0EE4B063E8F443AF62191 -:10E6D0007D603ECD9F02E46971745B74C580E33553 -:10E6E0007FAAB0E0D5B1F7E7DA4C2C58142B37D419 -:10E6F0001F9B8BED1AD9D006E4ABC6FE64168CE3E3 -:10E70000F72F258DFC5D95BF9B3FD5B1401AB16FAA -:10E710008ECF8AF8896C588EF01F91D83E86F50608 -:10E720001688FB7EF3A70E6D390A67068D136BC73B -:10E73000B4ED067E4FEDD8F4700A7EE7822D9CE2A0 -:10E7400010F3C37ED9326B41BA5C0CEA027A58C727 -:10E7500017DCBCFE226335FD96587B75BC0B8B0C19 -:10E760002C44788FD0B8889700C8B69D839F18DC5A -:10E77000506E183C4A7851F9211E3F8138B991D129 -:10E780003114D2C19AFE856D5557891948714C5D77 -:10E79000BF6BBABCB3A05ED669D6737279747D9331 -:10E7A000587954270B79D0D0553D2BBECCDBC7FA16 -:10E7B00037D654C3FA2F2FE1FD4FD89ADE58AFC495 -:10E7C000E411CC230FF1122D9B12CA16284F892B6E -:10E7D000DB12EA9D09F5AE84720E6F7FCE1ACA93E2 -:10E7E0003D8C7D645B5BA3807C3997155A2C417905 -:10E7F00073C7BD35D520E71ACB87BC32CACF41C914 -:10E8000023B118FE9A3CCC1B04FC593C61C3B212E4 -:10E81000C4C3D06BB8FE1B06249B047C6EE93F1872 -:10E82000A232F673C7F5EB97A85F43FF87D46FD486 -:10E83000F18B75B48E37159FA4768000DB69A0D369 -:10E840005799C45201A5058AFF8FA8BF1AFB7FC341 -:10E85000F52E8B18F8FCB81CBC90E57D85E4E01122 -:10E86000C986EB2ECA7738AE25C6EF6AFB5F4D1915 -:10E87000FC571C26F9DE4FDA1568FF7F1A7F338DAF -:10E8800001A97E854D66A05C0D4E447DBC93F927A1 -:10E89000A21EFA7AE3F8A33A6877421FDECD005F42 -:10E8A000C5F64D350AB43B610DE74A2043266DEDB0 -:10E8B000E5E5F4F06EC46760EBA384DF13B9E15CB7 -:10E8C0001D94A7DA43BC3C3EBC1BCBB76E7D86973C -:10E8D000A7847365E83F3670A0A61ACAFB6C23AF05 -:10E8E000D77C3B97E32A7C97C779B3EDE9C8765C80 -:10E8F0004FECD603C6401E2E5EFDF1B3FB000F8B1E -:10E90000EF4F2639B5EFDC57E6FB68FE019F520159 -:10E91000F290B33ED763248F15B203B250773962B9 -:10E92000F4B0E60DB949CE4F6A3988FA3E737109E1 -:10E93000C9F94F53BDEDF669B1E72719F00438DA8C -:10E94000ED362E97659D97DA3F6025BB678B99CF93 -:10E9500007D60DD1D722E8512EE6536ED7D133CF4B -:10E960003687C6FB40F2EE30C9F8640133D27355E6 -:10E9700012D91977EC01B90072B957C0DDBB7562C5 -:10E980003000E3DF21311FCA8D5EBB370BE5C30BBF -:10E990007F91EFC4F9F69642199E3F16F2BEB7CEAC -:10E9A0009B658FD38BBD7B78BD2A777A0B787F559B -:10E9B000DF6476F0EF646E99B817E791AC302F966C -:10E9C000972F2ADADB4E7A7B01CD9B79BD5912CC89 -:10E9D000F7F4AAB13AB42355FAA4157A6FC2F9DC58 -:10E9E0008EE35B627452BFDF8EF346BD2F83DE87FA -:10E9F000F93EE0F0D3FCC10E984A76A0B003DA717C -:10EA0000BED362F8654A781ABEFFFF084FF760FD73 -:10EA1000FF144F23C88B00B66B6C0579A18B93173D -:10EA2000027FDBA4903E93CB0B0FEA397CBF00E45E -:10EA3000E3ED36FF468447FDFEE2071AC9EE53E1D7 -:10EA40004AFED68B355F65C3D759A25D76E203D304 -:10EA500066067AEC84A19FE4E289F9CCD38EF24376 -:10EA6000C7EA118FAA5D5971FF9AB718D8B397ED0D -:10EA700032D1B95BF266E1BCBA81AE26D4C37586E9 -:10EA8000E0BE82985EECB50777AC40BADE52E20990 -:10EA9000B8493FD27A0BB42653BB5E7B9829583FC6 -:10EAA000C36D034890CE448FC86D86E05E09E9CD02 -:10EAB000F9A577D5A4604022BA07A8FF6D9C7F7A9C -:10EAC000EB18D9F7BDB7B9886FCC2C68467846E308 -:10EAD000838C0E467CC414EFD43A6B0C0F3F13EBBF -:10EAE0003AB93CFCFCBFA11DB9D94C7624EA4CDCF8 -:10EAF00077B19E4C8217E8F902F187BA5F7A242B2E -:10EB0000B889F6679E0AA4C746AB7709C1FFED64D2 -:10EB100037C2BFCBCCBA4C65B8FD609D24EF043C36 -:10EB2000ACE73186F6D99DC23EFBF7FA4B56B403EB -:10EB30005EB573FB0A19C504F26F29E3F54BD725BF -:10EB40007F88FB99A5EBE49011F62BAC6B8E371CFC -:10EB5000B7CF208E82F1FC425EB2ED112BF28D1FF9 -:10EB6000FBA5E0F87FB4BA2D5886FE5391ECD0BFD8 -:10EB700038D6FF3DB16E17CB1C7ED696EC46FC26F0 -:10EB8000CAF5F754F87A1EF3C67F4FFD4EE2B8B0CF -:10EB90008F7B1FF105780FA5A23DFF6D99E89A08BC -:10EBA000AFD31079C80CF58BDB64FB7AC0A7BFD557 -:10EBB0004AF355E1BD3333722DEDAF12C63F93DCFE -:10EBC00054A1E0FCC5FE83ADD3EEBF1833C4CAC068 -:10EBD00017CB5984F631C3DE8B7D6BE2BE8FB1BF9C -:10EBE00018E3DBA9EB85B9A504F8055FB92505E9AC -:10EBF000E69738DDA2F44E805BC5A7EC18199F4E4E -:10EC0000433817E595BFD5487848ECAFEABDC7CC87 -:10EC1000B03E80AFB64B12F1E3F6FB92498F311351 -:10EC2000A763F3EA2437F2E74E43E4695A372F1912 -:10EC300019D2F5A239F202C9A342EE37B8F83379F6 -:10EC40000FB6BB90CEF9FAC2613DAD270E0CD83B92 -:10EC50003F93F752BDC4C7BDD09EECC6F5D88C9883 -:10EC600084EF3707FEAB8D01FE4EE9F83EB87940E0 -:10EC7000BBDFBD00FFEACB6272E122E3DF090C706B -:10EC80003900335D45DFB923896D82719B7492171A -:10EC9000EDA3A6D593821D9C5F4CB85E1A04484D27 -:10ECA0003AD8F795C5D67793EE6411EE9B1A4C9B34 -:10ECB00087E414AA3F8EFB2D86FB25E8B71A3B1587 -:10ECC0000CE7E7A6CDBFFD33C2DD74484BF78618CD -:10ECD0007F489F49D83F8E5F0A627C40F635CA87DD -:10ECE0006A161C2F713F0C96936B8682E887691613 -:10ECF000FE89F463E1B9C81FD6F27EB6149ECD67D3 -:10ED0000B97D317370CF2BB8CFB5D70CE5E2349B0A -:10ED10005BD75E7DFAEA187D5538670C6E9571FFFA -:10ED2000A6DA2571FBC7890BA6C43FD7533FDC8FFA -:10ED3000E2F7C2F80AD785C2F5D936A1CF40EF91E4 -:10ED4000DC5DDE3381F41EEA25945FEA7E16E51968 -:10ED5000CA8F271D558B1C30CF92B4AAAF38A6F1AD -:10ED6000EF901D8F9BA019C3F199A857D476B8AF27 -:10ED70006DB18CDE2EEAE7D991CAE583225179C5BF -:10ED80004FF57B36117C0AF1CBDADD05246F557F18 -:10ED90004C83F043AD10FE9B15C27FB372BB91B99B -:10EDA000E3FD55416DB941ACF74616E67EACFD502A -:10EDB0001FEFB7A966212BD6A3FF069FFDDAFECD74 -:10EDC0002C385B41FA0E7C668C7FCF7AF97CEF148D -:10EDD00074DF61E67E9B99EBF6C8DC19C5E79B5AA8 -:10EDE000E62D7810F5C49B7AF22FFC87A0938A1742 -:10EDF000A3A3EAEB88EF24DC8F61BB078D8497D354 -:10EE0000A08F0F0ABFC602DC67B6F9B30A0B113D2B -:10EE1000B6BC05D6E1F8DDF492B91EF965B343A797 -:10EE2000E1A72A879ECAE4EF41BCB727935D0D682E -:10EE30009E8A7C543156D5936C2AFA993ED483BD70 -:10EE400005E5A65B2D7E1C2F8C7601947708F9B51D -:10EE5000C361A0F1D472741F27F805BE43E3A1DF9C -:10EE6000C517C707C168FBADC25EE47261DBAA24A7 -:10EE7000924731BED531E2DB129F01FD452F0939A2 -:10EE8000F2122094F651FD662E47142E9F5E3A3BF7 -:10EE900089E4DE1B1FAF26B972695112334AD4DEF2 -:10EEA0002B61FDF3C6E07A28DF25FCA82F49DC0E94 -:10EEB0000C1CB1D2380D06FF0EF42B343C37DE03A8 -:10EEC00014632F1882DF7F1AEB5F3693DFAA218548 -:10EED000C3D9F0D21892933FD6079FF901F9218C3C -:10EEE000649F3524B953A9FE27690CEBBB92FD83BF -:10EEF00048CF6C23B71B1B0CA1223BE0F16490DBD5 -:10EF0000BF2751D0E0F88356B26B00CC2CFCFEA991 -:10EF1000EE4CCF26770C2FA71E9A4CFCBF4DCFE9A5 -:10EF20001638CCFD9A27F5BEB959503EF97CA90791 -:10EF3000768EECA2CF1032008CCD5BB8BDB64CE71C -:10EF4000EE6B45D9F472B247B3DF7C78652DD637C6 -:10EF5000AF5E7713CAC1D1D633CAF3787FED0516F9 -:10EF6000C9A3FD66FDD8FE107CF7C2E0440FA94797 -:10EF7000E60262039FD878DBD37AC037F2D7113D1F -:10EF8000F1EF171D1FE78BFB3FD42FF89D6690BF55 -:10EF9000513F32C9DFB8B23C5299D3B3F9A54C61A5 -:10EFA0009F69EBEF48F55F40B9D6F4DDDF9F682538 -:10EFB000FC4648FEB11EEE1F3FADF72E463EB5574C -:10EFC000870C4BE3F6B78634BE8E9619855E6721B3 -:10EFD00043FCBA53EB2BAAB47CAE3EF5697C1F69A7 -:10EFE0001DE2727C78BD4EAC9BAF18516F71D70D8E -:10EFF000ECA7CF727F8621CD4DF533CF860CCBA009 -:10F000009CBF2E6458219EB82E00DF2113CCFBF448 -:10F010000E2B5FCF80061C67C57446F6C80A19EC34 -:10F02000D0327CEF1E08035DCE3C6FE7FCF527C0B5 -:10F030000AE07B0913ED8C60B782DC7AB1530AA138 -:10F040005DBF64BB71AFB900D7B157B6223D774BF6 -:10F0500024B796745616ED80F2EA435388FE29D3FE -:10F06000395FAE0EDA49FFCD147270993168203BDA -:10F07000FA19EEA783F1C91E6E804E5965C3F1805F -:10F08000F25BC30F416D9C6166BF90A7FBE3E20B8F -:10F0900063E3E47A7F427FB0E3B4FC1150F50E974E -:10F0A00073CC9D89724E95C34687AF348DE452610F -:10F0B00026D217E8C9E5E44189F0DAC85AB8DE106B -:10F0C000F23EFA5DA12FCEC801AE978C5BE93937CD -:10F0D000AD80E8B61AF50DF9CDF9FE6E343E989B79 -:10F0E000A6137271643EB85EF041C35916BA16BEDB -:10F0F000D7B08E851AA7F2A7752AE941AE0F4D2227 -:10F100009E61E2F18ECFD38B897A7098DE4BD077F7 -:10F110009906A1DF049DE3FDD9A8EF67AE0BCAE80D -:10F12000D7CCB379AFCD4C8FD92FCDEF994CEEAB77 -:10F13000B0EC63632DE89FA97CC685FE5DD88FE3A4 -:10F14000BA4A06BCEC81F7BB55FBD6C5E7EB32707B -:10F15000FED52B3E566A41BA0CD17E3592CE6CC894 -:10F160008F2A3E775BA15F19F6E3EB2DDADFC43A15 -:10F1700093E2FA57BD6426B97AE5B0356824BBC37B -:10F180009F6F87F1327E65243BF4C24B56D29F17A6 -:10F1900084FE73AAFB7EB681E8D38A744D476EAABB -:10F1A0001A83FE5326CD1F832250B5C31AEDA3F94F -:10F1B000B3457DC1D0AD9CAF8CB45FBC620F7F13F3 -:10F1C000CB000F43FBBA05E98CFEF643B34B1F801F -:10F1D000F7CD3E8B8763DF5F8AFC6A94EFBD15FD38 -:10F1E0002A73E57591FB601E8DB9169B11BA54E721 -:10F1F000FFFA97B741F9A3437A66443AEF9BBD887B -:10F200008D1D5DFEAE0AEA4F86E3D6CB9AFDDA721B -:10F2100063BFB6DCCC9493E13879FC589AD5796613 -:10F2200032C90ECF67C0DF4663CBD93D00AFF1C70F -:10F2300046D2470D69FE5D69E837D5455E433C1B04 -:10F24000F3CF4D453F4555FE9F28AE73E5DBCC839C -:10F25000705F315792FEBEB2C3EC0EC4C9AF66C137 -:10F26000FFBD79B554DFBBD3E896787DEDB40AB421 -:10F2700007E9DBF867D201FE9BB7CFFB88F64D6844 -:10F28000B543B917ED4BECF79C146C47FB713BD7BA -:10F290007BE7C17E34A1FE14EBA9591E9C6B82FF53 -:10F2A000EC75D44C44F9A2FC59F121FD37E25071C0 -:10F2B000F6EEE1E8FAE47E9C1BD08F338EFC3887B3 -:10F2C000516E349AC2864A18E7BA3FFF8EE4F2CAFA -:10F2D000D6A564D7C7EC5C23C99195F7F9E9FD2B56 -:10F2E0003BAEA7799D8179237ECEECE6FBB99539BB -:10F2F0009620C2779D9DDBBF2BA19F240DC74B227B -:10F300001E7EB3EB7A17D2FB378C7F2FD0CFED84E4 -:10F31000DFD8865248FEB85B52D0CE6BDE7EFD470A -:10F3200028B756EE963DA8C7D9112BF93D56EE9E4B -:10F330003371B905C7B99C568978EB9B6393E9BDD6 -:10F34000EC0B72FFC9D075F05EE9BBC68DEBE4F83B -:10F350006E2387CF6E7A1AE1BFEECF32F1BDA26382 -:10F360007EB4577B0DDE89B8DEDCBBF6CD45BCFE36 -:10F37000A62E5B47ED9F95980DF1606FCDC0F72BE2 -:10F3800025C587EBAB7EFBAADA787BA4334D267CC0 -:10F3900057E6AFCB085B88DF6F453DD7B85B4F764C -:10F3A000DDF1051FFCF236678CDF57CA3DB7CE8C06 -:10F3B000B3379A77DD28F8013436E069A5C0933178 -:10F3C0007F5D117EF7F3F87FE5FA96221E8FF9EB49 -:10F3D000EB20BABE77F1F5F007D0F7B45FCF7168D4 -:10F3E000ECFBD1F641AABFD9E461DE7D168A1B7A17 -:10F3F000719F9BE754A83ECFC9ED6CE50F6BF7BF3B -:10F400000DF0F7A7F98D4E789FCFBCA5485777C46C -:10F410005605E6244E89EC1FB6CBC8ED4985FBDDC9 -:10F42000B6A5B3A737C5C1998DE3A5D3FAB43961A1 -:10F43000DC0BEFFFE935C45F53DEB9A93C9EF63B18 -:10F440008A4F590679DCD2E2F131E48BE6C13A7693 -:10F4500057494C1E367BB8BC4E9CD77227DF6734A9 -:10F460003B23344E753A5F67AABF77676B12F9F595 -:10F47000763A8366BEBF0D3094E73795CB3CDE22EB -:10F48000EC129FF09399BCAF308CC7308FEC190F02 -:10F49000E521EFA9CE3428BF5D3EC72343D9E27DE5 -:10F4A000B26B2CCEDBA317F5E3C85FF8D6AC4AB23B -:10F4B0004F6EF2CAF45D569F42FBF521EFCF9D7768 -:10F4C000C1776F66DEB4D3F08D1A50D648C721FCE1 -:10F4D00036DA018ABFDC19E75FBDD1332FED74BC8A -:10F4E000BEF472FD8FFBF17E113718090F25699567 -:10F4F0003311BFD77D99D3E1E367F9FEE36333F7B7 -:10F5000063ABED3EB6723D53EB94841DD89F87727A -:10F510003E5AFE5AB1260EEC34F4E7E13AFBADA4B4 -:10F520001D6775978EE2B3ABBA18C5633FFEFE8BBD -:10F5300079286F3FDAF762DED238F812FBA9CF5B89 -:10F540009D5ABF94EA87748AB8F4528F91FBFB46A8 -:10F55000F143AAEDD976BE1FBB08D21DF94EED7757 -:10F56000B13EC98B76E545662279B67450F835BD53 -:10F57000DE4227EE1FD4FE09E36F41FE01B8A4016D -:10F5800089F6E7C9251192AFAB4CBED7C6B8312F6B -:10F59000C54BF499877494905FBD069CB722F679A9 -:10F5A00046C5D788F45CDEA3A56396D326E2944EC5 -:10F5B000A2BBA1C9A2A07EC8E810F2FA1B3ADABF2A -:10F5C00018B25D16944BD715257562DCDD9994321F -:10F5D00015FDE6B9D9C5D43E50C5F93A90C1C86FFA -:10F5E00095C55A2492B736EEE7CE99CE6C98E7F1DE -:10F5F000A293DB832EE6D92E933DD82F91BF5FCC0B -:10F600005F95EBC82F28E73E964CC42FD2A044F656 -:10F610009DACEB5F8CE38EC63FBD09FCD3FB0FE6D0 -:10F620009F3EF57BC3F8C74F71BAA52ED3C8FC2304 -:10F63000FCAA5FB8FD6871C26F98543FB384F3AD04 -:10F6400015E3D59A2C21792AC98773F1FED45D6020 -:10F6500067E27E448D2B8EE958E2E676FA5018F781 -:10F66000E5C9D79848CF7D47375480F67C629C1116 -:10F67000286B47798F3286FC8AAD55BED36971FA03 -:10F68000FE08DF3734DDE7A5F7B307B97E6F2E3408 -:10F6900090DDD93C200590CE4D3E43D0544071952D -:10F6A00025A4B71F32BB799CC4DD4E71926FBB7924 -:10F6B0001C25EA470DF73D80FC566F21BF4362BC15 -:10F6C000E585BFC8FCFBE3197DBFB794C7777AE730 -:10F6D000B9C9AF911847635DDAF5ABC6512E5A012F -:10F6E00031F0BDA59BCD44876C99E399A59AB87E6E -:10F6F000192E07C85F9B315D1046C43BA2EB1A244C -:10F700000396B345BD1A9FB196F80AD0C2BD3DED30 -:10F71000B93793D2FF967C86D6EFFCD57C8680B134 -:10F7200016F3194C683D8B7A041BF4AD5AF69ADD3A -:10F7300018BF89D52B60379A0624F1BDE76F98531F -:10F74000087890D4EFAFDFE4B550BC58F3BD78F83B -:10F750009484F1F530BEC52DDA070ECC9BA3505C26 -:10F7600052D47FD68DF91B5BF4DAF108A5A23F16BF -:10F77000D4EF1DCF9CFB9DCD3931BD0F7680297D07 -:10F780005A4CFF6FFCA0B6E72AF856B2EDB201F56D -:10F79000AAAAC79B9D3CBF2171BD3AD2F97A05FB4D -:10F7A000D5914E7283DBB5B5223E09F6EC5C5C5A0E -:10F7B000CDEB7C0CE393602F64A4631EC3FBE7CE08 -:10F7C0001C45FA2DF898ECF9E64F15EE7701BB03CE -:10F7D000ED7393E07336A0277DABF2C16A217F7A87 -:10F7E000EDA0EF915F8F48D302C4172D79B7000DBC -:10F7F000EE4FF7BA697CB1EF4A8477463AF7933413 -:10F800001757ED28C2F19F9218EAFB4DC52733D058 -:10F810002E691EFC3063795CBF55038F121E56EDB6 -:10F82000D78F38FF19E9DCBE6C3AFC3CF9073F0E74 -:10F830004AB496EB9560F74C28D7D7EBD04263E5F6 -:10F84000C125B791BF7F91818D87F9E50B7DD4BC30 -:10F85000FF2B8199B83F837F12BCDAE95B417A6F55 -:10F86000E7229305E30ECDC54BEF263CD892BC882A -:10F87000874DC55559F89DA6BAB9368A13807D853E -:10F88000F54DF7DD4E7E1315AE4D03FA1AB4BB2AC3 -:10F89000C0CEFA11C09DEB985FE381F537463E5824 -:10F8A0007A8F05E3C223CBDF7FC9E0F4EC947C813F -:10F8B0009BCBC94FC8E2FD7EF903DC9EAB4B37689A -:10F8C000FCC275E9DCCE9C15189A8DBCF7B2124EBD -:10F8D00046BBB799793FC1FD25F359DCFB884E5CE7 -:10F8E0008E38DBDCE43F3239C3DFB90AEB6729B479 -:10F8F0007F604AF811FCEE856EA7671313FC8BE559 -:10F90000FB4A822847FF39DDBF18F9AC42D88F1770 -:10F910000E5F5F8A7E36D53EEADE630E621CB0DB88 -:10F92000EAFE6E0DCAC13F283CEE6D8A0CCD467AC8 -:10F93000FCD141E3769B83DD48FFC0563DD51FB621 -:10F94000FA5721DF9CADAB29A2BC1B4BA008E3BC3E -:10F950007A670F433B01B60BE44F30397D0CE3A1CE -:10F96000B3034B1409E57C82DD315BE48F92F084B4 -:10F97000F755428C8D072E3863A225D0F9595ACC01 -:10F980000E79E34F0B157CA9DA273A138F67552FB1 -:10F990004A6232F2FD86C86B3AF45F3B87C87E6DDF -:10F9A000EC97E83B8DC5CF513ED81A917714CDFF27 -:10F9B00051C2940FB53E3D59E8F14ECEEF6C88F63A -:10F9C000CBEC00A7276361CA938AED23DAA99D3A9D -:10F9D0009E41F8DD1B85DF053418D53F94AEDA076C -:10F9E000EBC553CDEBE2DFDD260D7965C46BA9A431 -:10F9F000F117ABCFA7D2B97D987A2C3217D76FE425 -:10FA0000B09AA7C9F330774C9BE441D369589EE67E -:10FA1000C02773916FC0D0A6F5DA34F0C5F234BFB9 -:10FA20002FF60DFFEB799A1EC9BB179E3F4AB7739D -:10FA3000BF959AA7E9E1F853E36C89F99917B242A7 -:10FA40000ACFB70AF7ED43FE1C30521E57EDC0EB4C -:10FA5000EFA17EAC35B17E8C4326DA196DB6AF0CC2 -:10FA600022DF5F3C7FA6EF418679BA2F78285F239B -:10FA7000C17E48DC27ECC52659A3DB7BEF46E9C9EC -:10FA8000EDBD68F97FDDDEE3F67C601FCF0F50E54A -:10FA900079B3D89F5DACBF94827AE644149E843CCF -:10FAA00086A7441EC3E0C8790C8AC807027B3D4084 -:10FAB0007C7290C775DE783A99E4C7259BB217ED42 -:10FAC000A5F3D6C83711598AB0933A8F18DD282F7D -:10FAD00040DE91FC0E1CD4F3380DC66D308EF3F26F -:10FAE0004411C711F1A29792C96E694871A7627F4C -:10FAF000354EF363A16F1A92787CA62BD97F397D9E -:10FB000084B8CD1E617FED81A16C38DE7B4611C7C4 -:10FB1000060181FB9D877279DC41C46D2E8AB8CDC8 -:10FB2000A9625DC8C0FD10E4A77277292C0BEADD3D -:10FB3000EF99836EEECF32E940EF2F53E3362F7308 -:10FB40003FD532119F39B5602EE5072DC7FC7719D7 -:10FB5000FD18DCCF1CCDC767361DCE670D888B9D89 -:10FB600028620280F56BE0B5A493D09E707742992D -:10FB70008C656F4F0D7C7769A78EF623CBBAB4FEE8 -:10FB8000F22B9BEEAE41FDBDB193C71F035D12E9A1 -:10FB9000EF65CCEB427B43E587828C34A273A053A4 -:10FBA000E7C5EFCCC8E0FE04407D90E6279E9D7A35 -:10FBB000E1671770B4335D089F3A893F37DA949A4A -:10FBC00011F5B218AF53DF62AA443B3657477EDEC9 -:10FBD0002B06EF22F2933A8A886E9DD696AE1A5E75 -:10FBE0004F6BE58A39E2A3FA6B156EE831B703E58E -:10FBF00064668688DF24CC77798FB69C187F581589 -:10FC0000D4969731FF842C3C87B05FFB3E3383CB87 -:10FC1000A92B9B0A849FDF437EFE4EBDFBDD029431 -:10FC200053DD0AC9C9F61C8E2F5D2E7F8EB5572F66 -:10FC300022FBC00E7605C1CBE11F7BAD53427DD9BF -:10FC400069E77CF93F853B11DECA8C226E27A071E3 -:10FC500087EBA85B0A727C71B8BFA8BF626986F0A7 -:10FC60001708F9132DFFEFEF37393F76CB62BDD977 -:10FC700048FE2C15F1C65392E7E910BEB7805D002F -:10FC8000702FEB96CBD03E99FD150BCDA3E9657394 -:10FC9000D008F58DEBC279B88E9AAAC2452D23E023 -:10FCA00015A15554B905ED963A617F80EBB64B1B13 -:10FCB000871A1E57F47E2B231DF721A70EBE8EF444 -:10FCC0003E6826BD04FF75D488FE8EC305642F4DA3 -:10FCD0004DF5B765A03E4F0AF57DAF00ED136E1FE1 -:10FCE000350E1AF7A0FDB7B4537B6E866DD6C6B934 -:10FCF000589783FC19AC57FB1ECFA768FA0D8B7B76 -:10FD0000713DBFCDE09F8876DD755FE6F1F5F3AB21 -:10FD1000740CE9BB4CF6AC403972DEACB5BBCF5BC2 -:10FD200039BDFAA274F614219DFB46A5B3A708E9D4 -:10FD3000BC4CC7FCF1E334229DAFC6EC734EE7F335 -:10FD4000CF5F5384743E77F09A22A4F3367D8F17E9 -:10FD5000D7CD930EFF5EC4CFE9393EB29BD4BCC968 -:10FD60002FCA8F8732B4FA305AFE3BF93F46D3830D -:10FD7000A1281C5A3DE834B873501E2E3519FFAA2D -:10FD80003EC4BF11FD692623F9235EFED3E58751EA -:10FD9000BF050665B23FD4F15E56FCE3D05FF0F2DA -:10FDA0007B2E4F401A7DFC066157B94C2C807E0F8C -:10FDB000D5DE57EDC64479FC0B319FD319DE1AB45A -:10FDC000B355FF6CBD18D314BCCCEDD3A724F2BF40 -:10FDD0009ADCFD3C7FFEC8121BFA67CF06B93FB61E -:10FDE000E9F952F2D7AE0ABE12C2FC273628D97002 -:10FDF000DFB0EAA90F53309E0DFBD0531971F19576 -:10FE000039621F7A36782A05E3DEF0FD6AFC7EB29D -:10FE1000336240FE6D82FD1934614D4A84CE0D354A -:10FE20003919E9FBF201ED7E4D8D4FEEF41948DEF4 -:10FE3000ED1C9482B83FCB30F80B72503FB11CDB05 -:10FE400099E4D87AF924C36BCB9C161F17F65ECEC3 -:10FE500088CB570AEF48253E0CEB9997EC801D564E -:10FE6000219778BCE63F77D9833C7F89B7FFCF6085 -:10FE70000195557DBD429CC35B21CEE1A1FC0E25C1 -:10FE8000C8EFF87234DEAC9E3703791E1A29FE1DC6 -:10FE900097B714DFBF8945447EDE6746CDB8D17C75 -:10FEA0009D965237C0BDE66B163A67D80C7CDD5A7A -:10FEB00016E3C3063115950F9B845FB7B9FE24ED99 -:10FEC000039AF17C05DA551ECE870DB03FC2FCCDFA -:10FED000C475CBFAB5F98CA3ADE329995ABD122D9F -:10FEE000FF83FC98D333B5EB579DBFEA078FCE73E2 -:10FEF00050E2EB2B615E89FBCA44FFB5BA2FFCA22E -:10FF000072EDE64CAD5C8B96FFC172ED8ECCD1E408 -:10FF10009A363EF037CBB5C4384121F77F639C0059 -:10FF2000E3B6FFD338C147EE9E0C1DCFC3D7C44FF5 -:10FF3000BBA4969B4CE330AEC8E3CB8D5623C56182 -:10FF400013E3AACDEEB9228E38F4CB19A8370FE906 -:10FF500019EAF37ACB4A8A5736CB070C78A4705843 -:10FF60003C51394A76FBDF1A575F9F198DAB1760FA -:10FF70005CFD15CBE5347F1C3DAB4AC0C02F193D5D -:10FF8000DF68B3A053B2C88B302901668FEB3F5AAC -:10FF9000BFDE4C6E27BF22F2635C069EC7BEC50A59 -:10FFA000FB3098BF4BC7F377EE4FF76D43F968729C -:10FFB00073FC3E71F8AB0CCF1D3DA1EF27391268E1 -:10FFC000B478501EAA7E17757C45F80FBE28DFFF57 -:10FFD0002081EF7FF077E6FB447C0CA872E76F8D01 -:10FFE000876D07DC68D607A3B8D75B18CF2918CE72 -:10FFF000C7A38D331A3FFF34D3F75A26C947EF54AE -:020000022000DC -:10000000CACBFD82F226B93C720AFD3BEC90D18D41 -:10001000FB0D933897C13667893C4A4F451DE51360 -:10002000F3730DEAF98FD1ECC20FA3729ADB851F2F -:100030008E2AA7FF7B76E1030EDF299CE7E94A6F52 -:1000400011EACD8D56801FF77BDF378E78CE423D8B -:100050000F00FCC4CF9B3CCBE3E0897CF58704FD1B -:10006000F287BFB37E194D9EEA5D2A1C7F67795ADD -:10007000FFC714F47B8E3E4E80E0A8A81AF28AB81F -:1000800015C3B8913A8FE6219E7F9621F2AAD4F744 -:10009000116117DEE9F266BAA0FFB9F74D26960A9C -:1000A0002610F218DA633E0BC5039AFA799E48D3FC -:1000B0003A46715FF51C65D3401D43BBAF3FCD5F32 -:1000C0008079601B3FB004E454F4932F6068EF5DC7 -:1000D000789F971BD2FCE3294F6C5D581377A8F8E3 -:1000E000ECF206F46700BCE41F708AFC4C15BE3AC3 -:1000F000179767EAF32681EFE8BC9C1C4ED62F07C2 -:10010000D14E4C760F911FA9E91037DE2A642FF9E2 -:10011000EBD91A079D9F683A54594AE7CDFBCDA504 -:1001200068E756FCAAD686FE8973D73A29CF204FB6 -:100130000EAF423BEB9FD3FDB3105E6B79701EDABE -:10014000A9F960A7A2DD7BEEE0BC527F9CBF7B1BC0 -:10015000FABB61DC6D56AD3F9B99789E78FD5E9E43 -:10016000077CD8EA9F8BF8DD66E6F006B68ABC67A6 -:10017000E1E74E5CFFEABA8F9E73BCC344716955D8 -:100180002E6CD3333FEA3D559E94883C39C007CF4F -:10019000D31BACE3F91EA26C716AF3154F67CC292F -:1001A00041784AD0D13B0DEF518848E8775F2EE285 -:1001B000F0D78B7C0A357FCAA8F8BE8EEDD9BA9AE3 -:1001C00058FC7D2CF617F177912793FC29B79FC730 -:1001D000DA0CC43756585FE41F01BE41FACC8A0CD2 -:1001E000CDC6F34485BDA15988CF973FD5113E9424 -:1001F000BAB7287E928A648371C66D0E774F403FEE -:100200008AED17D7225DDC3DB62A445D7F9AAF9117 -:10021000E0505A8A715F59F5AF7A9E07782499FCAD -:1002200003BD790D940778E103E388E746D467803E -:10023000ADA7BCBFB1033F273FBEF59034623E6718 -:1002400097CBC2CF0D078628BF8CCD72123E942368 -:10025000BFA2B8AFD2AD9007A353EFD5E139A84004 -:100260003B23FFE5F85E9B0EE9922FF24B2EBEFC7E -:100270005F53FDB44F51FDF6419E0FA40F6FC07D3B -:1002800097D21EFE32AC60D678C8AE6B2AC1F1227E -:100290004D3CAF3D99219FE40F8C5BFF2528E7770C -:1002A000D99884F2E7A535F9E42F85798E1F619EF0 -:1002B00077BB78FE8E722459877A4BD9CA28FF50B3 -:1002C000B1675411DC8F4219C65923F8468D470295 -:1002D000B82ED44777BAFCBB11CFD17332AD49FCED -:1002E0009C8C3877696DFDE0593C7FD267E0E70C64 -:1002F0008FBD3C7901F9EDBA1509E970C5BE24DF5F -:1003000006EFF78B756B558698CD128FFF63946F50 -:1003100039F608CF4B53F49C4F946EE71EF40B7ED6 -:100320009AEAA7BCD26B3B4332C5B36CA71FA97135 -:10033000C7ED6BB6733DD2B49FEFA713F7319FA7FC -:100340003F8EBAB47649B4FC0FB24BDE4AD01B7F65 -:10035000F3FE8469F77589F649E23E6E98DD9D30BB -:10036000DE68768A9AD75115FB0EF1C32B56D50E4F -:100370000A68F25EAA2CE2DC9B493BFE53224F47FF -:10038000CD83C9E870B7635E79E4DB8CFC6C6A3EB0 -:100390004EA08AEF1B023A139D8773B11ECAC31980 -:1003A000C3429244F67F98CE7566623E0EF47BDFC0 -:1003B0003596E0DECD3C5D32C943B784709B318F0A -:1003C00083F236833B56E0776EB1D077CC98C77115 -:1003D0003586E2BD3B507ECEAEE771886CD0B7C8A3 -:1003E000B7D9859C0FCD8B783E879AAFA1E657A8E9 -:1003F00078A812F8CD9EB0A200F707DD92FFFBEAC5 -:1004000079DAF873D2D1F3D1ABC6D27993E8F9B9DE -:100410004226EABFD839E9447CAAF91D5536BF2DDA -:100420002B7DF87959953FE2E84670ED3CC2EDF539 -:10043000AA7A03C17F71D57CF2235E5CA563B86E96 -:10044000AA068D9CDF12BEB7337A0F46D04CF75DFB -:1004500008BA7F9EBD0AF42C463FEDB1B69AAB4F69 -:10046000036E8FB7F9E879D12CF5CB57D179C6C592 -:1004700028992E67EDACC57B0A2E5A237978CFC117 -:10048000E5EC076FA4727AE4049653761EBA11EF76 -:100490003DB8383ED287F71E14EEACE4F5C883D9D8 -:1004A0008C5D9555716380E6CDFD4EB363E7B3CBAC -:1004B000113F8D2CBC6188FC3B3C7F1FF3FD900EEF -:1004C0002E8B81EC1997C8B364D522EF12233050DC -:1004D000EEC82AA578B585B90F0D617D0E3F2704BA -:1004E000F5C4BF1DE3B95FD824E8CA72543F52383F -:1004F00080F2A9A3C04EFDA372F49031C8FD59FC4F -:10050000FBEF3C3F85E24B6AFE2863B6DC8553284F -:10051000DF445356EF37608A2D17ED850EBDB04B83 -:1005200045392DD55F97156717BD33E75B25B80EA5 -:10053000CEBFF04021CAA5EB0D60B78F20877E9D0E -:10054000CDE5D045BDA54B023BEDE729FEDB719C17 -:10055000F79217CFB5C3BC16A5551AEC086FE0FB90 -:1005600032CAC574416FFB420E9FBDDA272D8771D9 -:100570003BCCB07EA17FBA5FF1529EBD7FA1740BD0 -:10058000C0DD2171790B9D52695F52EC4EC5FCE5CF -:1005900006715E5216EB7E46FF5619EDE977DB06D3 -:1005A000662A8531F87E2EE2CB3F2F6077D68DB05C -:1005B000DF6DCDE2727B81EC9E827CB4411A78AB18 -:1005C000360BDFBBE9FD9C94D672CC3BBE3EB9A591 -:1005D0001CF5CFB0F7A9F0BE24AE6CE4ED1A4C9137 -:1005E0003C3C9FEC4DF6AFCBC2B8D0920F296EF9D0 -:1005F000CDEC774E60DEC13BFA9ED929A85F0AC4D4 -:10060000B97EE1377C6D82EA3734F1F264EE378CE3 -:10061000E6734DE1F964B50BF939C55A91AF30D79E -:10062000C6CFF5CC2D2FF074008837B18882726F59 -:10063000EE7BBE14DCB7B385FE72DF94D1ED19E614 -:10064000D2BBE3D7EB3C775C19FEDD50AC2DDFE885 -:10065000D1966F9EFEE709F1E53DC9DE1D38EF1F1B -:100660004B3CFF313083D9689E4E298076C7E41712 -:10067000B3C5F94E9EA7F74F625FF4E27446F519D1 -:10068000FB4D7B31FF5DF533CBA27EB28B99F21D22 -:10069000FCBE00D4571149E4FB392996C25EB8DB91 -:1006A000C6F1076D0D30CE0B4BDCB43E322C3AF662 -:1006B000655C43E526B2432AC69892906F8E09BEC8 -:1006C00053CFEBAA7C58A1301FE62FC0A717E2F347 -:1006D0001DBDED28FA97031F31C6E955A950FEA1AB -:1006E000F81663ED547E4CF0F7310153E0DB0AADB0 -:1006F000E757AD06A2A7FC13790FEA098CCDA0DF5E -:10070000F8D2E649049FBA7E6055173A33C8A52D42 -:10071000C655740844B1B02754FE460B08DB8DC1A2 -:10072000FF2C203E27791399C6EF4FF879019727C0 -:1007300091AD0E711E8CC7CB724DD171BD386E5606 -:10074000F43BFCBC51862843554807F3FE4D560147 -:1007500097CB83AFFF81F4B2C5E3C7EF18524C7457 -:100760004E465D37B6CEDFBE553B03E759F40D9AD2 -:10077000E77CAB0DE7590C6CBDC8414F6F1A8DC7B4 -:10078000D78F9CE471E33AF94ACDE1994A1CDF40E6 -:10079000FF46DE3F59DBDF05FD1D71FD53A07FC91C -:1007A000F0FE4F594D21DD541CA7C21D26791EA213 -:1007B000C9CC17F3923378BFF9221FB43005DAA3FE -:1007C000BE29D6E66BB0E91E13BFAF439B9F71BD38 -:1007D000B42E0BD7D53C53E36018C67B5DD0ED7AC1 -:1007E0009DFF77783FDDEB8B8B8EE37AAB31051580 -:1007F000DC0FDDC0421B9098172BFD4FD8C7913CF2 -:10080000F80BAE8B26D93FC101E5F3FA9EC2BB0BB4 -:1008100068BD7C96356D38BC2A5FA8F0227F209F8A -:1008200045F92301EE289D6EEAA744B6DD60F7E0A6 -:1008300053B583186BE1F9C6EEDCD8BC8089E69A23 -:100840005A0AD10E79BD3D4072E37AFB2394D7F466 -:10085000E7317E6736C0B5E8AA4FE85E13E65A3244 -:1008600001ED7B80373D3BFDFF1DBCAABD372CDF72 -:10087000F6238326DF76B475A57EB799F1FB69660A -:100880000FEEA1FCD9E685160F9E8368C6FCCF72D9 -:100890008A2F911D87E784E99E13C924ECAE2F9A15 -:1008A00097CBD7616FA39BECB7A81C1779E5BDA5C3 -:1008B0001CEEDEBBDDEA3D27DCBE5BC2F83D29EA6B -:1008C0003D27CB6D54AFE69FF7EEE17EBCDEE72718 -:1008D000D07929B0DFC85E60A93A0E5F81F67E1537 -:1008E000FC933262F9D2DBF4DCDEDCA9F354209E07 -:1008F00077621CE8AFC47FBF9AADF59BA8E544BF03 -:10090000DE930EFFEDC817CB4BBC7912F0CF32034C -:10091000F7DB017FEDC2B31535ACE529BC3F701E96 -:100920006BF9856E1CF1979FF86BF227FC5EC1187E -:100930007F2DE1FC1520A1A4F25794AF8A13F3ABED -:10094000FCABB17DAFBDFF574D68A70E1A892E6A6B -:100950009E5CE23A8E83E7B49EC3E394658267EDC2 -:1009600048F07C113E8FE7AF4CC6F979347ECF5406 -:1009700058C05A16E3F73DC9FE76843FCAF71BF804 -:100980007E6418DCB285F8E3D6DB649E3F9ECCF52E -:1009900015C62BB2E0FB75E2FBB776733EBAD56A9B -:1009A00020BEAB1B6CA47C2256CDE30E1EF81FDFCD -:1009B000077A09BF8B44BF85CE523DB2ECC25A6D57 -:1009C0007C6291458D7FF8F4B81E6F5DA83F19AF2A -:1009D000EF17B1CD9F60DEDB228C63A8FDE0BB8FFB -:1009E0006747E31813308E715CECD32F027F23FF2F -:1009F000BF9ABE72D7DDC0B7131E2F29437FCE9C8E -:100A00008C554F6D85F2F7764EA2F2AB1977DCFB71 -:100A10000ED6F71551B91A2F71C1FD4623EF5F5C51 -:100A200071DBFC02F8EE71B31817D715EEFB92FCE0 -:100A3000BD75D0CE35756C19E623560BF970F16E85 -:100A40009E0F7FC355569EE2B9D24D7EA3EA245134 -:100A5000FF753EEE5BA5FF568679A9D563238BE92A -:100A60003EC6B21F4FC2F271E993C523C54D26178A -:100A70004BA189809F6A076F5F5BF6FD6CDCC757EF -:100A800057F1F2644F65F738ACD75D5A3CD2B9D014 -:100A90009F8AF5143DF724D6E98BDE0FE99C93CFAE -:100AA0002479708ABEE91FF27B892C920DFD8F3E5E -:100AB0006F81827ED2D95E9EB758656ACFC2FDEF44 -:100AC0004D7E4339E69FDA4CA5C7D1CE489D5E39AD -:100AD0000DE93BDBC4F4A89780CFFF85F8FC9A4F63 -:100AE000F25290B92C5A3E57F9A84EE5EF6A2D1FE5 -:100AF000C3FAFCD7ECF4CF97AFA3F1317CFFDFB1A1 -:100B0000FFA22F69F54A74BC84F59638FE6872001E -:100B1000FFE2E55C0C8E7E5A57399815360ED75D8C -:100B20008FBAEE220887413744E73EF225CF243AB8 -:100B3000F0388AFE57E1CB05D9C6CA86C3857F8ABD -:100B40006A9771086CB60CFC2EAF877E5EE688C192 -:100B500005DF676350EF6FE0F0EC965AB8DC107673 -:100B6000B1BA3F6E52E73BA09D6F45123FEFEC429A -:100B7000FF05F673964EFA6B70370BBDB9D0E47B68 -:100B8000C80873B8C5BE8CF8E1AB2CF03CDA27C6B8 -:100B900054BF634C3AEEBB0247C205E4CFA5BC018B -:100BA000A077DA9838FB44852B111F4DA3C8C344A6 -:100BB000B813F110A3CF10D957EAF9A9E8BC12E68F -:100BC000D361E5EB3532CDA8DE5F528CEBE26D6987 -:100BD0009227DE9E7E3B416F27C2A5DA11AA5E55A1 -:100BE000E1417F11FF7EA41DCF90DD38662CD99D99 -:100BF0002ADF640AB80C3A69C438EA8D6374AA7FA4 -:100C00004E43C7C4734E2ABED4BCA0443CA9793D10 -:100C1000C3E23509F1C8D1DA49603F8F710CC79F33 -:100C20001AEF7144FD5C029FA512C93F87F073CD96 -:100C3000F6F0F309B5ADFC9C7C6D0D4C0070FFB671 -:100C4000F01FA8787EC8EEBF8DF347781AEED3BFA9 -:100C50003BEF698A73A8F7C825E267F928F8198D70 -:100C6000CF47833F2DD5B712BF7B5E1AAAC0CA2DCE -:100C7000E9E2FE41E62FC07560B71554A21F02E4F9 -:100C8000EA679FE1660EAB80AEE50E7F33F2F9575F -:100C9000996F0ED2D751E3D773FF3A23FFED5AB1C4 -:100CA000DF9A23F4EDA55D32C507AABD131F9B850E -:100CB00076E21B7A16A4F5EE25FDB946C07F099FA2 -:100CC000D8DEC2F5EECA377F54012B864DD8AE8BE5 -:100CD000DDAF00FF26069334F72B4CDEEFD094A750 -:100CE000F4676BDA5F353056535F1A9AA4A9BFFADE -:100CF0008D324D79DAD04C4DFB6BDEABD2946784EC -:100D0000E76BDA7FE9EC024DF9DAC8ED9AF6A7C491 -:100D1000BE9805BC43C51978BF389FEF759F2ED587 -:100D2000F4FB6DCADC37900FEFDACCF3972B01336D -:100D30009A7B267AB85DD102FFE374F52988AF1556 -:100D4000606F63DEF2CAED5ABBA37E70EB0694A51A -:100D5000897915AB594B155E49979857516D5BA230 -:100D600043BEFBA731C2EEB8865D23EE85F9AB74B6 -:100D70002D62E3FF5B7435BAB47435BBB5744D2E88 -:100D8000D6D2D5EAD1D23575BA96AE76AF96AE69DF -:100D9000355ABAA6FBB474CD5CA4A56B965F4BD74D -:100DA00031F55ABAE6B668E99ADFAAA55F4160B59F -:100DB000965E09F456E5E5B8AEB59A7651BAFBEA07 -:100DC000291F667CCFFD9A7155BA07E07F9CEE2DF6 -:100DD00094AFFEB7D29DB120F95F13E97E3681DE74 -:100DE000A0AF3E42B90076C6397C2E9A20EC79DF5E -:100DF000C876862A7FE2F57AFCBE7534B9344C8F0A -:100E0000897DECA87A2C611FFB3E66F1907DB49938 -:100E1000FC3CB709FEBC8CAF66A01FF507A49FDFA2 -:100E20000740A6035CEF23DCF09DF79326939FE138 -:100E30000E16D2D3BDBF98890883DE8989C932DEF8 -:100E4000E7E3A6E732A1BF970B3F8437D99F92C350 -:100E5000FD0FF919F8DD9C217EFFF25B695FE89ECA -:100E60008293E887079D721AFDF0F0BC60E6FC7083 -:100E700046950F5EE676C6E16DE96C89F4323A7C00 -:100E8000703FBBF4AB12C51996FE9E3FC7E770BB1F -:100E900037F1D9D1AAE28DEF876EC87193FECD618B -:100EA000FDC27E637ECB381A87FBCD9FE4F78F3E71 -:100EB0002B3165BA838E49111D334D1CAE67F5CCBD -:100EC00084F87B86F9DD8897EF28209A789EFE24A7 -:100ED000E487A5BF7F672CFAB164D97513DE2F3D77 -:100EE0001DBF0770CCF95A8B847EDD4C578B847EF6 -:100EF000A361EF0FDD2FE1F9C26899F176F88778E9 -:100F000050FD73C53A1EA78EDCCDF7174F7D9D911E -:100F1000DFA9A3355019C0F8940C0607E6B1E8F92B -:100F200079E41B72B8DF2D8B0DD1BDA6EC356117AE -:100F30008AFBE04B44DEFB0511E759B1C7C4304FD3 -:100F4000A2E4E05107C67556002D87509F297EBA4E -:100F50005FA364C7AB0E7ECFB8DE8EE7D8543D3AB0 -:100F60003ABD1576262E7F1CE8D832921E5F93CBB1 -:100F7000E3B31D6D35B3302EA3C2F3609B7716F239 -:100F800087AC7818C693F0DE9DF8FC338313EAE350 -:100F9000D6AF62A9D194F5161F5D66B1A1AD85F8F3 -:100FA0004C2FEE07DA98B3D616FFBB01AB7374E291 -:100FB0001EF200433B9B8B7A7C2A67503EFC91F1EA -:100FC0007DA8D105E3C4CBB57BF358BC5FB9ABCDED -:100FD00047F06E90FC7E1CC458C842E614CC5BC03F -:100FE000B397F07EC7F56F601E8DC1BAD613728FAE -:100FF0008E37A34BB9122F971EC801B9941C934B7F -:10100000DF6D3B4B78EA685B44DF037C318C9F05E6 -:10101000B2B87DDAD1B684DEEBC0CE427E7A65C747 -:1010200084A36EA83F01FFF09E1CA393C3C5CAF31F -:10103000483F2D167C803EAB5CE09F13AD7AE2B357 -:101040007B722D415C84F7BC3DFE28DEF369005EB7 -:1010500092FF06B8A3DF11783208B904FCE4C3F5A7 -:1010600066C856C8FFEBB02D203AFD77C753F16B29 -:101070003033BA87C6906B21BFCD1785F37B390912 -:101080007ABE3C8FE4E83D022FAFECE0794727EED3 -:101090006564BFDE731FF7BFDDD3C828FF9BB5C2F1 -:1010A0005F458C6F54799D8E3781C0CB9E3610344E -:1010B000458C3DDC66C293572C19FD64E36274ECE9 -:1010C000F12A7674C76FAD76D6E1F3E1E9A77B50DC -:1010D000AC6C99F5BB217CA28F1BBF6F6B6141B4D7 -:1010E0003329160BDFB7D74319BE9F22EA53FCBC46 -:1010F0009C2AEA5317F172AEF739A91A014B88837B -:10110000E45A1CF30A51EEDDC5F8B95B71EE7EB707 -:1011100090BB632C8EBA6AACFF1AA37C7CB5FE71BF -:10112000519F6539D9350EE5F2426DFF1D020F99C9 -:1011300096933DB3295EA2AD57E31BE9964B6F50E2 -:10114000FF126DFDA3A2BFD572696836D6176ABFBC -:10115000FF90A84FB67079C87CFCFE54B5FE3BA248 -:10116000DE8CF5F87D8FB6BE5B7CBF430A127DE84E -:101170008E585C3FE9DC5FDAD7C6AEC5F5D3D3162F -:10118000A175F470DBA7442709992C3DB6AE6CAD70 -:101190006CC4F3E092906729EEB0D73B82BC53EB6E -:1011A0001D367EDE5D7619888F8C16212FC43A8C11 -:1011B000CA0BA9C5C3998BFBB13F8F9F61815D416C -:1011C000FB220FFE909F73EED5317F9CDCCA6E48E8 -:1011D00062FEB8F6AEBB1C9A72C6D7B235ED9D0B57 -:1011E000C76AEA2DE59334F5CC9B4BEB65ADE0ABDC -:1011F000A492324DBD7A0E9FF5E46AEC677DE14C16 -:101200004DBB4BC56EFAFD9033F3D4DF19F1985006 -:101210002EACB58ECD44BDF34CDB7434B2D9B3B033 -:101220009EF0E8D4013BCF2F3E807159B4D7DBBC90 -:10123000F47E1FD483E5C29E84F5E686F67BDA6CE5 -:10124000547EA2CD45CFDD6D6E7A3EDE564CF53B29 -:10125000DA3C547E0CC6C7E7A3300EBE7FA4AD8631 -:10126000CA5BDB7C54DED2B688CA0FB5F9E9F99DBA -:10127000B67A7ADFDDD642E58D6DADF47CB02D40D7 -:10128000CF8EB62EAABF46D0FB8038C778A0929FDB -:101290004B4EA4E3AC5C49732F9835963F302B1727 -:1012A000F307FAC39AFBDD71DE349E99CF3F71BC20 -:1012B0003A1C0FBE3B890DB527F3754C71C7F1037E -:1012C0009EF5C9C0EF635A381D0A0622549F55CFB8 -:1012D000695127E065CE00CBA9E0C750B1DD0569B3 -:1012E000A82A99C76129BF8CB9609E15E27E1C624D -:1012F000BBA00EE152A673BDA9D2353A6F3B87134E -:10130000E73F12BC5F13F397CBFBF9FD17353D2187 -:1013100064FB246F0BDD7F615AE40BE1EF57387DEE -:101320007E3A8F3FE9D3B9B0B90139F3E997991BF8 -:101330009E390DDA7D4FF65D659AFD85FCE9C3CCDB -:101340007D358C5BA2DD9F2415AED5F433E5DCAF93 -:10135000A93738D76BEA97AE29D8E0427C8E611462 -:101360009F316E6E6718525CDEBB95E0DA24F07E2A -:101370004172D379DEC041353ECFEDF3EF09BDC2F6 -:101380004C9B693D4CB0F362516A40877AE1DC8F37 -:1013900052491E3DFD842E88FED7892CA8C3F53FF7 -:1013A00019CC3DAC9F8237E8CA74A58A8CE552E619 -:1013B00096B17C358BD0FE04ECF3F5B9DC3E7FC2F0 -:1013C0008CF1C15CFFF778DE5288F46691A06791DA -:1013D000BA1FD9AE24FA65BB72890FB5E7993A8571 -:1013E0009DDE6EAFC8C4B8E88551F2CAACAE993381 -:1013F000F177B4AC59D3E9A9BE7FC8AD1BF19CEE1F -:10140000E3025F2ADF4F0426177CFF38CEE37CF926 -:10141000BB19B8DD6B2A8C10FF5F90BCAE2588D756 -:101420003765CE878359342F45E0553958E95A023C -:10143000F853DE1EE709B0D8779E6EF3CE54945869 -:10144000B948E445EE6FAB9B591DF7FE75014F316E -:101450001BAA41FD545CA2F304696497467E990B74 -:101460007BBC78CE5C29631E146F1359CF7AD4D518 -:10147000CA5F64CA73518ECD606ED817582C21860E -:101480007941AF47E7C934BFAFF43B5B752ADD173D -:10149000981D957BA813F1F79486907F7ED7ABE7D4 -:1014A000F33AA6AD2FB6F0FC9D15C586A05BC2B081 -:1014B0007A0FDD8BA7F4490C4D7FE52FB3090FECB4 -:1014C0008564E2BFE4ED53E94AED9B14FF0F91BE42 -:1014D000E743EE1774E3042F42BBC6C986BD688F8D -:1014E0004D40BCE0840A8B09AFCBC57CF7B72D21FA -:1014F0003CFD5ACCA33337011EE6F1E2BD912B7AB5 -:1015000055FF87769E0F9557DD8CF7EC750CC9C299 -:1015100056D2E273937E682AFE36DDF930C0251379 -:101520009CBF46FACBDB2BE8F7954081D0FC1A9F95 -:1015300080FD7E01C9A31AD2DBD374949F9AC85749 -:10154000A7841C6BC9E5797F56D79767E2EFBCC5C6 -:10155000CAB3883F9FD1B162CA2FD1F1FDA59ABF0E -:101560000186831BF775A579BAE83D1AF3515FDB55 -:101570007594F727EF49A2F389B25DA13CE34E4B86 -:10158000B56D358E635328AE32579E358476B3D110 -:10159000AEBB1AEDEEE37BEF1FC2FC12395761E8D8 -:1015A0002FEAB429DCEEC8D1513E9662AF36611CF9 -:1015B000A6C872BA12F17974CF37C9BF217F43E44C -:1015C00088087F925E90AC93B5D0F8811C45DCE72B -:1015D000E1AD2DCD10210437EE7F6A3E423FCA7146 -:1015E000DB2533DA2B6ECB0AF2A715E615D07CF497 -:1015F000186F83F213EB2ED9516EBDB96783A30028 -:10160000EDE7A0423648F19F3BB2E9DCF91E039DAD -:101610008B57F19A1F503471BBDC566DD99810BFAF -:10162000D3279C4BCACA2B107A6E110BC5CD47EF3E -:10163000E2FB35E6B4D07EA7304F629FE962E53128 -:10164000A2BC5F1FC8F6007E8EED59918FF3BA726F -:10165000D84F79BEA3D9FB1FE7BAD5DF4332EBE8F9 -:101660007ED59019F37E9F6A63E968DF99820AE567 -:101670005DEF13F2ACD0C2F9DF90CFF93CF159D84D -:10168000C3D79D722029988C74B3F59705804F2697 -:10169000BF328FB941FF15DABCE43F2C6C35A4632F -:1016A000FEC0DC1F5A884F2E5992C84FA8B4267925 -:1016B000F07DC7DE8A62771CDCC1365B3AE6E5EC7A -:1016C0006D33A5A39C0A8E225FC7D97594AFECD663 -:1016D000F17CBAF9791CAEF979FCBE9779A2FCA429 -:1016E000125880703E09F4C43CE9A39BB93DBCB6D6 -:1016F000DD4470AC7D731CD955A3E1EDE936573A52 -:10170000DE0FBF77B32E1BFD4795DD859BF09E84D2 -:10171000B5567E4FAC9C3AE9314C45673FD533B462 -:10172000DF3B52667A96C5C97739755631F2952CEA -:1017300007B2D12F7267DEFC9B315F12E8B713CB83 -:101740002BFB4A79D91AC8C6FCCAE6BE69BC9C1EE6 -:10175000D889F995DFEA9BC1CBB9816CFC1DA9B68C -:10176000BE6B79797C60279637F655F232FA9E4047 -:10177000766EE99B7333CAD90E83A71E05F20F005C -:10178000FE1280BF5F3CB70ABCA8F5CFE17BC0F377 -:1017900021F14CAC7F41F41B18A5FE25513F38CAFE -:1017A000F82F8B7EA151FA1F13FD8E8FD2FF35D1FA -:1017B000EF8D51EA7F22EADF1A65FC9F897E43A301 -:1017C000F47F57F4FBC528FD7F29FABD374AFD0792 -:1017D000A2FED709E39F10EDC3E2FD58EBE60F42EE -:1017E000C07763418EA05C2AB66E76E03ADFDB55A7 -:1017F0004EFCDF51C1E33B2ABF8FC5DF6F827A5DAC -:101800003EBF4F4A97CFE33CCF88F1810FB720DF2F -:10181000AD7D5BA63C9B0E9DE76C10E5E8261DD9CF -:10182000036BDFE4FBF3B5DD4A30FEFCC53309F0A2 -:101830006F10F0750A789FCCE3F139A3CB955E1B4E -:10184000EF47B269CB9896857217E437E5ED1677C6 -:1018500057751597638C4C471688D2680AE17D0D41 -:101860008A55E8055B794F31C26751E89CBA6257E7 -:1018700042FBB1BFAB9CEC3B15BE4E8B42F775C92A -:1018800056AE07E6FE70960DEDAC4EE61FF2627F97 -:101890009742F6FBD1AE321BCA3D83F52E1BAEDF5D -:1018A00076379F5775537112CA6BF9211DC9EFE343 -:1018B00036BEDEFB5C3AF25B805EA1F32C20AF3DCE -:1018C000A82326B0503B9D8F78F88525DCAFC7ACA8 -:1018D000A515745E448D434B4A9CFD7F59E0275FFC -:1018E000E81105F50B3C9F2C17E71C02DCFF046494 -:1018F000738D893BAF79394FE6E740D438A25C4B12 -:10190000F716E5AD5334FEF79C7BB5654382DE5098 -:1019100012F4CAB82E9093717AA72060D3944FE640 -:1019200009BF8E8779D07E9DFBC3CD240F2FA17E6A -:101930009346977B51F92BE4F193E21E9E2703FC1B -:101940001CF1D1CD653F417AAFEDD6D1BDD35F5407 -:101950008E3E93C7B87FDA0F7A07ED198565E37E6F -:10196000E9F3F0305EEF73D0BD0A9F838FF18F965D -:101970003B50DE8EF72BA47786E98DCFC1D7B3928B -:10198000E73D3FD2D19EC4ED6A1B9F77678693DF08 -:101990004724CE1FCAC25E7B50F8C195D4B96EFCF5 -:1019A00089904E7B0B9537489ECC1BA0FD46C96F96 -:1019B000C3F21B8E24AE777293880FF7A32D43F7E3 -:1019C0001C16F8D03FD21F34A8F71486F0FF0E6221 -:1019D0007E8E7A0FA28BEC33710F63EFCDD5D85E7C -:1019E000B14D469373DA138F6DD1830D7AD0C0A2B7 -:1019F000EDF13CD533C775E29EC4DD5BD05E3D980A -:101A0000C434F7401E443F3A8D17DC82F73EC2F7DC -:101A10006E90610F767DFEF7B658B262F054B90F42 -:101A20006C69A73C59BE2FB1337E4FF779773805E3 -:101A3000970BEC4FAECAC77DF99ED3199ADF5D13A1 -:101A4000ED5345FBA6C148D30137B59F960FEBA0D8 -:101A50007120925242EB2B5211DF3E45ECF7E3DA54 -:101A60007F89C61FA57DB10ACF81776F2DE1ED2B50 -:101A700071FC0BEE7006E5BC24C093367CFCEBFFDA -:101A80001A3C9344FBF3A177A9FD0516CE9852406A -:101A9000FD6EC27E17DF7AB742CC3B03ED64908ABD -:101AA00037E37B34B7F8EFB1B490FDDC6FEAB1A156 -:101AB000BD66D6F7F850EE16E2BD4ED363CF05F9FA -:101AC00085DCAE4A78DF6F6269B5C88FAD3ADABFA0 -:101AD000F49B86CA4AD09E7ED102320FF5C23A0FDD -:101AE000CAC181F05A4F09B4EBCB9945FB8A838672 -:101AF000967E3ADFBBC442E74FFB6C3D365C3F66E7 -:101B00007B8F0DE308F27DDC7E52965AFC4F213F1D -:101B100085D6162F8F5BBF556E3DC1DFFDAA65339D -:101B2000EE03BAF59E9E0968675B15CA3F57960E8D -:101B3000CEA7F3823FD03192EF30AF2A287736EA32 -:101B4000E8BEFA87DD4BEF413C30C5E7AB827E79DA -:101B5000E98A84E72F1E547C268C5F1885DDD6E742 -:101B6000E1BFF7AA7E7787B02F77E4F37BABBA9714 -:101B70001C287E0DFAF5B5AEEDC7EF99279A18E649 -:101B800099F5E59CE9C6F3A28FBB60C70B78B0342A -:101B9000E8E8F75A1EAF8536A9E8CF3068FC15CFC4 -:101BA0004AFDD43ED0A8A37D82A5C4A0F16FA43580 -:101BB000E8BCE8773CE0F66F427EBBFA6DE506FCD8 -:101BC0009E6BBC6243FDF490EB17261DC09952AE8C -:101BD0001DD7364B3B8EA35A5BEFACD5D6672CD4C2 -:101BE000D6BBBE6648F0D768CB29C8478847900166 -:101BF00016D04349BC8A2559AED0EF8575FB77F5E1 -:101C00004C8036C6E440E96B006FD2A424DAEF6F53 -:101C10007C3509171FC81F467267E3144679AFC7A2 -:101C200072BFE9427D9A889FBE1C03CDD75208F847 -:101C30002CC0FDFA59FA5D2F0B8B6B5780F8F13EE3 -:101C400093CFF7EFCC5581FE394672F059D57F7CA2 -:101C50000B3F4FD5D7CAFDD20F2DE2798134830ACD -:101C60005CDFBC7D0AFECED854F4DB77DD8DF98EC7 -:101C70008978CDC4FC3239C61F1BD4F32B787AB2D5 -:101C8000828B655C7797DCFCFECD9705DF1C14F733 -:101C90002D44DB23FE3218DFCAC2786FE6ABFE07A5 -:101CA0007E1E609B1A8F1165BCC610CB078F3B6EE2 -:101CB000C0F5B46DA1A30CD7D3466197A5E618BCB7 -:101CC0001301DE47DE3004A4ABA0ACB0E37AD0E76A -:101CD000071DFCBB86379302789EEA1157399DCFCA -:101CE000FA389FFBF39EABF4FCBC96D6A342E7DF29 -:101CF0001E717ACC65DCDEC0BBAE19A51681697198 -:101D0000B4B68CF6A98F783D665CAF8FE478CC983A -:101D10009F6CCE526CB88E1D2E85EED17AC4E4B77E -:101D2000A1DDE2000588BF1F67C8ED9947E7920073 -:101D300087BA0A1E1260228F0FF3E8D204BEFA5C43 -:101D400077D9F0FCBAB3F0D0B7D0AF9E86E3A5F058 -:101D50007E8827BBC0D3A57C37CF4B16E3A7DDF524 -:101D60001CB5C7BFCE8AB8F13C9CBF0CF358907E1F -:101D7000074D7C5F1D273A3EF392DF7EC34F38DE6E -:101D8000DA73F9FD4186358CF661CF55FAF71F45B8 -:101D9000FC6425D13E3BDB955D85FC91FDC6CE05FF -:101DA000780E61C34FB8FE342CE7F1A66C8599BE5E -:101DB0008CF34EF7DB108F89EB30EB784F1D32DB65 -:101DC000FF054658D4C60080000000001F8B0800A5 -:101DD00000000000000BD57D0B7C94C5D5F73C7B43 -:101DE000CB26D9249B0B212124ECE646201736E193 -:101DF0002222EA7209A222DDC81D233E210102240B -:101E00001040FB46CB6B161214156BA8A86851370F -:101E10000A142B6AA88058D177B968A95A4DABBE6D -:101E2000A55A692254416E31B4EF4B5B3FFBCDFFA5 -:101E3000CC4CB2CF9228EDFBF6F7FBBEF86B87795E -:101E4000E676E69C3367CE9C7366765702BBCDE799 -:101E5000602C61A28DB9EC8CFEFECEFF976A61EB1F -:101E6000CD098C254DE1DFF342BEA7248DCF2D6235 -:101E70002C79BAB17E0A0BC9BB79BD239D77B058C6 -:101E8000C6065419EB3D197DAC9899900BF96EFE7E -:101E9000EE7C93D67EDFE0118CF9532D9E6D2EC61D -:101EA000D2C3C663EC9B08E4356672FD3D8BB1F18D -:101EB000AE78C6FAE17B9DCB57C8D82E9B738223A0 -:101EC00089B1CE15CCF30C6F3FFE950D73DFE1F9B0 -:101ED000FF4A77382378ADB423CD6D05FC3BDBA7F3 -:101EE0000F46FD2D16FDE9685EBEE5687FE6D71852 -:101EF0008B886675AD1C4F3613D391FE1D7FD7625C -:101F00001C2B8D33DEC527359231DE45C094F2CFD0 -:101F1000A7AD0307E63B3DE8CFDD66E7FDB65A9C7B -:101F2000F9169E1FF9F4630F59D3310F0EE3189A77 -:101F3000B6978D66ECF9C37CDC013CE77FF2A189A2 -:101F4000165E1ED55DEE47F92E9349E4FD81872686 -:101F50008E656CE0E1D6350E2763654FEF78C8CE0D -:101F6000F116F92B51EEE379BF0578A919D4CEE724 -:101F700077306309CDBFF177112C82D72B347B36B4 -:101F800023CF3E8964DB787EC79EB1B35DBC5E63C0 -:101F9000CC28975EC0D8349746F32F43DAEFD27936 -:101FA000996D1EDDE3B8F4FB8D126F8C798EB670DF -:101FB000FA163E6B63F7F3C23CC00D7AB544069E39 -:101FC000017D9B1FE34CC7589553D0BC6AEFFD19A8 -:101FD0000778FA6A4C59A58BB7AF8A99980C78D2D2 -:101FE0002E32A62772BA35D899CE719596F4338DD4 -:101FF00071F806261D1EC71CE09BB6354EA4755110 -:102000004C0FE1CBB48B16A60F477F5EEA0F7FF62D -:102010006470A1F86B4AD0D91A0E8F9FE37A1BB86F -:10202000D319D5A11581F1277ADBD5FAC8049FB25F -:10203000D9AD05E03A81071BC7A9B584A70E4B307F -:10204000A297FA77C87A66BB23681EC653E75B4738 -:10205000A95F87E54CBBBDA79E3D60217CB01A16E9 -:10206000C8D1084FFE08E4E31228CFBC5E575232B5 -:10207000F89F1172D32CEC70041F97B897AF9F5440 -:1020800016A4F4498E1E47162AA5C77F1ECDF089D7 -:10209000818F9F616C72285FABD434C844F065D7E0 -:1020A0009BFA9DE0F8C93F14497058D6B340241FED -:1020B0002C1BF4E074CBDEC0021637EAD9FA9D4837 -:1020C000443B97E403A789D178AD43B1AE36BFE571 -:1020D000D8C0E288BE24773647B16AE04B8DC7D8B6 -:1020E0001AE28780E48B2D0D4EA2A32A1F5873306D -:1020F0008C8E09063AAA7A691707103D7BFA0D50B3 -:102100007F69F5BB891FD22E66483E717D47FF99D6 -:102110007DF49F42EDFBEE7F208DFF64F0C3F8A9B4 -:102120001C153FEEDC1DEFE369A4B5D9E7E905CF47 -:1021300069B71BE5E4B07D46B9ABF01269F52695A9 -:1021400071FC47DE61F2B4F0FEAE386AAC37D9FDFF -:10215000513CD6634FFD60D234D4AF15F5AF3A6928 -:10216000ACEF1BB727ACBE80EFDA8BC67AE1F4097F -:102170008797C3D56F46085C13EC1186F6B32B2EF8 -:1021800081ABDFAC10B8AE4B31D6D7D7F40ED78DBC -:102190007911DF0A97AAF7BDD197572F7C1ED32656 -:1021A00047F48177517FD6ECCBEBF796EA6FAF77A8 -:1021B0005B7DF8387EB95FF1B5C5D77122FEC19756 -:1021C0004062BDC91BC9F75127EB6458475D725D7A -:1021D000253027AD67BEF035ACAB0FF0CF54C686C7 -:1021E000B87D5F437E4DB07BCB1FE15527CAFD8A8A -:1021F0004DE13D5E89CE7D8537175ECA7F8CAD256A -:10220000B85ED3749DD13E6BF76CE3EB3B3F8DD949 -:1022100053B91EC052029937C73016ED56F29A8B49 -:102220001A0EE75089BB1706B4AE8CA7751E48007E -:102230003CFFE8B8FDDDDE0477BF9EFAE1F57AEAFF -:102240000B3CD96CAD2B006767ADC383FDE1431434 -:10225000F176CFCE8C089A39BECE5B1DEB352E675A -:102260008E46CF7BAB1FC7C307B1BA0BFDCF9E75A0 -:10227000FD3DC86B07135D2B397CE72BDA4701AFB7 -:10228000DE683DDBCDE1A8B1EB8392F914CFA6EB7C -:1022900083E3805F5F22E195FFA3D0D72BFC029EF2 -:1022A000899AC07F629C5E8871269ADA9EF2E19BD1 -:1022B000A56D14DA31673F82EFAC8DCBBB5ED6BF24 -:1022C000C2C378D9CF01ABE7EB4E3EBF031BE33C63 -:1022D0008D1CDEAAC459F396F3A205265F72D06C5A -:1022E00080FB2A8C57E3A818940AB8AD126E7B3F86 -:1022F00089776FF6B7C1DD88F1B0AFFDBB16D8E6C0 -:1023000016B444FE157F7CE07E9E8F305DF810F29F -:10231000A3B3D0E4E17B04DBC2F50B3BDF57DE97D0 -:10232000F87E92AB3FF604FABE1EDF53A244FB9444 -:10233000474D8146DEDE37FE55A2D3B3CB1C1E339C -:102340001FAB82B96CE0DB4AE6B501FE3F8EFBDBDA -:10235000EBED7C7E73DCFA74CCE3B64453C68704A1 -:10236000879E5FC6F98D8D15F8FF2E7E606C838980 -:102370008D62EC66A91F2C90789CC6BC568C33836A -:10238000E9568CFB9B73362FF4D2DF4007E5F0CE85 -:10239000627EFA3E870528BD8505A9FEADAC9DF29B -:1023A000BF8E2E4AAFE7F0953D363807EB3104EF8C -:1023B0004B24BFDC9624F8E58BFEC0FBA67E97C5B8 -:1023C000BF659AC0DF10B7BECA4DEBD595E4014C8E -:1023D000CE09037D3121EB67623FC17F1667CEB71F -:1023E000AD9FB6AED822368CE4812395E3E13A491D -:1023F000CAEBBC4BA760BE902058AFDF93EBB5D4BF -:10240000EC60499C2E6D2E732082C33279DC8A14D5 -:10241000CCF7176BD8AF8673FAFD629C9935524D95 -:102420002FB59B2AFB9B3A70D229E827EFB260D2E6 -:1024300008DEAEF4A27E388EE367AA796713D7B8B8 -:10244000D9E481D6CFDA43E4DAF549BB2C8CEB2F03 -:1024500037641BBF4F29E0F910B93B95597ACA3947 -:10246000FD0F003F903BACD90CFE7DCC1D93047D4D -:10247000850D6543C5F9805323643E5DF66F6CE7B7 -:1024800079BBB7DDFA53E0A395F1E7E691DE611180 -:10249000F359F69E99F4CACF1A18388F9DE0FAA125 -:1024A0003797B1CFB97E81FCC986144ABFE4FA00E0 -:1024B000D2330D79547EAEC143F9AFDCBE9F804E5E -:1024C000F3D77F65C1BE746FA4C2B7806395E4BBC8 -:1024D0007BD3473DF6578ED77BDFE50B83C353DDB8 -:1024E000DA3C0960AF4AFF6C2DF4E755CF691ED482 -:1024F0005BBADF6B737078161CD6EF019917BDDBE2 -:102500003E1562A216FA2BD71BEEB3FAF660BC9109 -:102510001F9D48D67905EFFE8EB71279FD2F1A461A -:10252000135CA71ABC04D7E986C9944665FA5E43D2 -:102530007D2FFBCA86FA37EDECB0A4F1FAA55ECD8B -:102540008BF5788D9705021C9ECD5621DF3773F9E8 -:102550008EF539AEF0E6276F6790BFFA9B683F2390 -:10256000A1B234917F9F3ABAC2827AB3BEE632CD2D -:10257000DDC387DFBD0E053E6A255DCEBEA1119E7F -:10258000CEEECDFFDE55BCBF378E989999C3D57579 -:10259000D14470751D8D0A406955F556EE31933E54 -:1025A000B932DD1600FE56EEC9EF0F7DEA34A71BE7 -:1025B000CBED19EFF40BFFE6D243E4E8E984D6FF54 -:1025C000FA1872EA5321A7B8BEF9F913906303070A -:1025D0007840F77356AE9703D1AC2E1AFBD8329BD6 -:1025E0005C5F5CCE207F3A4A9C8347BD98361EEBE9 -:1025F00005E3B96C3D7228F7C5C7327FE0EA196F71 -:1026000047EB828F9FE0F9B30193DFCAF799B3AC30 -:10261000F5DCCF2147B73A3C381FDCAB7178B08F7F -:102620006E1B40F93CCD12554FFC1CA0F59AA7B982 -:102630002CF55CFED4FCECF101E0A7D7380E46F394 -:10264000F2D73646937C7ACDEA39568FFE9E14FD3A -:10265000FDE487777EB60FE983B5257702C999092E -:1026600084EFAA1F2D1E8AF67C9F66A9BCBFE75F78 -:10267000D182917C7D166E3AB03695C3376C4B870C -:1026800069004F8BB76A8D48F3D36F3862E6E5F681 -:102690004C17C1317CA7DB9C86653520F0F1B5B4C1 -:1026A0007F1BF7F5824D5F8DC7F152EDEF43B5D635 -:1026B0002F5B701ECE385AA213FE9AA99F3DFBA72E -:1026C0007D700BC33CB8E600B82B6C1EDA4F02FEDF -:1026D00016D0F9AC9EE7B91F6BDAE77F1CF43DAB6F -:1026E000277BB0BFEC35F963C7A0FE310BCDF39566 -:1026F000ADBF8EB5F27CDC6E2B8BE4E5B5C59D934A -:1027000050BF36DD45E7F0F4A7AE9B0CFC2CDBBDDB -:10271000A785FAA9B17B34ACB33D17DE4AC379E88B -:102720007AE6C901DFED16F907267A3DE0B7EA96A9 -:102730003F8B7C9B8FF23EB3DF6D41FD4AA1E73CAE -:1027400026F731D65E44F28E58D9D543AF0778319B -:10275000CA37BBFDA9758E9EFD8FEF5BF999BC3C16 -:10276000D526DB3BA765F8FE817DCB26F721D5DF9B -:102770006336E68FE4FDA4F3EF1AF6559BD86FB7E6 -:1027800071F9027E51FB2D1FF7AA4CD1DE0B39994E -:10279000C637D7623E9FB4C72202B4A75FE6F84AA5 -:1027A0004F5A1E25E499D23F662736BEDECEF1FA97 -:1027B000A758FD3ACC6F81DCAF99C59382F91D8F84 -:1027C000F54EC6F835F6CE0CCC81EF8753905F6698 -:1027D000E6FA535688FE64BFBCFD3022CE7B33DA66 -:1027E0005F6EFDB151BDCBDFB15DA349FEBE2EE5ED -:1027F000EFAA3F9B5831CFAF7A2482E409ED69BD3F -:10280000E0E575BEDE752E5FFE0376039E5EFDA7D6 -:1028100076339D3F0E9B6ADEE2FB290D9D89FFEB1F -:102820006C8C1B41792FC87CCD9F4CBD9E0F55CA27 -:10283000E954877979BF36DA1BAEFDDA69A3FE1D4C -:102840000997355F731FF335C78AF9EEC77C39EDF9 -:10285000567D5542F272FF65CE333DC2BB06F40D84 -:102860009F0787FB5E7C0F87BB9BBF3B2F0FEE3B19 -:1028700034E637619D7D650B609DEDE76062DDEEBE -:102880005F5C10C07ADE6B13797FAC8DF4CFFD31C5 -:10289000CC0FF9B1BF2C39E077430E32A19FF6631C -:1028A000A23C52B69F934CED074470FEE779764BFD -:1028B00094ECBFEE9D4294AF49F37008B87E1B586C -:1028C0009F49FAAD99EC8647A5BCDE141FBCC5CC68 -:1028D000BF6FFA2A97619CA32C98B61CF5AAA3484F -:1028E0000E6D8AF7A626703CEEFDC64CFBC2A662B2 -:1028F0009E77909C26FBCEA6326F6A3CCFCF957414 -:10290000D9D412D8F628FA2BCBF3F8F93803CCAC8B -:102910008EEAB9453F1F5B45BBDF49BAF0754CEB0A -:10292000FC83CCF941E0599F1A6D815D84633C556D -:10293000E3F03F5195C3485E4ABBD76C4983B93D2C -:102940007CE0B58F825E2BFEE62CD81609793CA37D -:102950003A92EC5247ABD7C6B8F87833747330026A -:10296000FADFF45283DDE9834C2F8DCB0F16F29CF6 -:1029700010AC041EDFE8B433C8E5BEE859DB3A2EDC -:10298000F144083F54DB84FC3829F5A15763F4F780 -:10299000C0EFCBF75D9F782244DFAB5A509A4B765D -:1029A000DFAACB3BDF35824EC368BDFA4DE08FD640 -:1029B00048A2FFE49BED44EF2E87E919D8256F93D9 -:1029C000F2AA110761FEBD714F44602DFFB63C2293 -:1029D0003813F28AD3FFB9EDA0EBEB9144FF1A9BB9 -:1029E000E0A79A9FE7137FEDB579DDEBD0FF1B11D0 -:1029F00044F79A58571C95BF9DC824FF91DE501389 -:102A000015CC8DE7F85C1FAD9F02DE38DF913DB835 -:102A1000C626BE1F937C758CF70138FC7531C48FB8 -:102A20004CE6F51F24D2798AEBA3C4BFFA43F9948C -:102A3000D76DDED405581F2BA309BE63D29E76AC9A -:102A4000269EF8BBFCA1A5EF324ECF63BEEDF7E5A5 -:102A5000F27AC7F65B3DD8977E5F6F0EDA385DCFAE -:102A6000AD3E3E6A33CFB7AFFD24430FB1A395AF60 -:102A7000AD9D8276E54B564FC57ED917BECB6B22F6 -:102A8000B8CCEDA1535296D79CC5F1EFC9D26D5980 -:102A90007C9ECB0BDA1742EE9DB3B53D85F3C1C7E3 -:102AA000717A24BE9F7FF58BED240F2D9DB9D0CF79 -:102AB0009759381F802FE5FEB95CF2E54B597A1C17 -:102AC000EA73FC913E1E5DD026E4DEEACB93F35F11 -:102AD000EEDFB657E3E32C8DDABF8C5273A008FD0E -:102AE0009CD682B15A16F0C7F538DEDF196730166A -:102AF00074D0E5B969E90EE3BCF007BBCA52FC83A8 -:102B0000B75BDA6A26BB0ADFDF6D807F292CBD0642 -:102B10007F82902BBC9F67681D3A7E3FEF071CFFAA -:102B20004B9E1B52027D7269FCBE1F5E45F5783BD1 -:102B3000C5E7E64BF36A3E97C223E67746F2F919FA -:102B400026E5E06C5BF7391C7AD0B917FA1BF8E67A -:102B5000DC734328FFA5D6A94571B8CE4979C43C9A -:102B6000ADA3CA7080F0B68E823EFBA8FCBE34B125 -:102B70007514E48F9247CCDE5A44E7EABCD6229C17 -:102B800027953C63BED65CFA1E68CD45FBBD266129 -:102B9000A7A03FCCFBF9B416C2835DACC725CFE735 -:102BA000135ED438E1F40B9FEFD42CE11FE0F0DE8C -:102BB000E6E3F5076FB619CA87048CF999B2FEA04F -:102BC00030BA0C30771E8880BC7F96D17A0D1FF703 -:102BD000D62C614FFFE94FBBE96096E745E652F41A -:102BE00077097DDB0A7CFFAE1BDFB7A77179BA14CA -:102BF00073CCEC99FFDE623D0D72FF9C49D8A9F7BA -:102C0000C6F37C01F41C814F9557780CE7A3B5BF40 -:102C10005B98067FCAFAAC6E3F477FF05B23E425E2 -:102C200097178D56818F2F1BAA879FB0E03C5A972C -:102C30005A65E999CFC2CDC576AC97455B8AEDF36D -:102C400043CE3B8D3B861F7171BA9CD96121B34144 -:102C5000A325F043E8D18D3BCCAD7E46E5762FAF82 -:102C60007FC671F03DD45BB825BE047AAF6ABF68F9 -:102C7000F31DA95521F8CEDF61C47F61AB310F7B15 -:102C80007468FE47D00547FEE3ED8A83C6FCF02357 -:102C9000C6FC171FDE3E136CFCCA68C1EF27033168 -:102CA00001F8A9AA3F997404FBDAC9BDAFC4823EFA -:102CB0004B3FAD7A0BE796459B8D7CC6E9A641AFAD -:102CC000F76FD7883F1607C2D79D5CEF97ACC73523 -:102CD000CAAE9917CA27E1F43CCD5A677A393FD575 -:102CE000D4AF1C0E7F48F514CEB81C9E2B5B37DA90 -:102CF000E037081FAFAF75CF1C5E17EC5515A34525 -:102D0000D998FAF1EC388CBE1B7E3D09EBADE2019F -:102D10008DF6FF8A97071F86FCEED835E7064A67CF -:102D20004E263C28FBD9A2FD5A3086E79DA35DFBC9 -:102D3000DA79BB05018DF687F94D113D7288FFAF39 -:102D40006A43181C9B42CA39FC8BF61DF88BC6FBE4 -:102D5000AFDE626CB798E30B727FC9D6BF47847E43 -:102D600057E7BE31FB5BCC98F70205BFFF1A8679A7 -:102D7000091724171D525F39810C97F71109BE36C8 -:102D8000EC2F633689765C605560BEB50E9B0BF305 -:102D9000ADB5B3603487E3488CCDEBE4DF2F6C8EA8 -:102DA00021FBD4C208AE179650CA224BD0CE43FBAB -:102DB000F4E7EF9B495FA9C5D8E8E7698DCE3FB539 -:102DC000303622FFACC82F66419A07F8C51B3ABFC0 -:102DD0008031CF9AC5B9A9C6123C007C2C61EDE2C6 -:102DE000DCC3E9E80DF1C7D5F0791E4D803E646C77 -:102DF000BF9CB552FDE5FBFE1E11FA3DC44E4AE7ED -:102E00003975AE34DB9817FAB1F9EE28DAEFB9204C -:102E10008E027FAED3BC8FDBCD48C5BCFC1B85FECC -:102E200033B745EC175C3FCD057E366D1CE2819EC5 -:102E30003297EBD991D023164751BD4DF18CEC2B35 -:102E40009BE6E40A3DFB9B978318A7F3118DEC23C7 -:102E50009B8A45BF9B1E1C42E590871A8D13417AC1 -:102E6000CBA632559E4E7AD2C7002D157AAEFCDE27 -:102E7000CF45DF0798BDB9D0D7D9C39174DE577A53 -:102E8000EDB3097A6C76BF9EF92A3D98555F9EFE98 -:102E9000B74DEE779D1B85FFF784E67BCB14A29799 -:102EA0000ECA16FBC3A8F1DEEDB21EF901AA4C65ED -:102EB000F75FCBE1A97AD4E46A74F7E09D79BDB9F4 -:102EC00098FF898D9125E0B351E385BDE758B19016 -:102ED000DBD1239837C0D3BC6CB17FE4659B0C6910 -:102EE0004A14E73FDECF8952611F8E19E1233B1B55 -:102EF000D7D9487E87CF638484AFCAE67BFBEA5E7E -:102F0000E0E9E6838942CF38B1427B46C0C5E9CAD1 -:102F1000F3A37E1449F6B913725F51F8E77C33923C -:102F2000F66929AF364A3ED908FA633F5B2CCE4199 -:102F30003D7C62E483B99AC02B7B50E8A79BE245B5 -:102F40005EF1013FEFB0BF824F4A19E1BDAF738F11 -:102F50009AE7A61651CEE93D05F40E3FF7287A33DD -:102F60004B6024CE8D7DD17BFEE8F8519A89FCD64A -:102F70007EF8ADB1D7115EEEB304D67238065A04AE -:102F8000FED32D82BFB854F64795507DAF8DE72B09 -:102F90001E5EC4BCBC7E451A237B10AFCFE2509F9F -:102FA00077833816EC1568571127FAADE8CFE89CFF -:102FB000407F5C5E6523CDA47EBDA604D13EB68471 -:102FC000DAFB4DA2BDD7C2D34159429FEF5C171126 -:102FD0007806F2F9DEF45CF0C194F1463EF88F6CAD -:102FE000B1DFAB74688E4B1A953C2958DFF39B8692 -:102FF000D07ED118E9ABDD03BABD20F4FF8A7B6E29 -:10300000BD6924E07B31D103F0BE9CBA8BFC0DF38B -:103010009BE6DCF111CE0D3B22E9FB7539FA5DD957 -:1030200023A107BAE6EDE11FE6CF38644BE1EDF5E9 -:10303000D6B2B33FE7E954FFAEF7A00F4C9D6EA6A2 -:10304000FA5399B08FB22631CE4DFEAF2C29BCBFBA -:103050009BC66A1433D011E9CC58C1E1AF90F4BBE0 -:1030600047F26F63249BFD3307E04ACFCDE4DF6F67 -:103070008286D98BFFEAB0AA3F4EDB02BD66D00440 -:10308000B1BE547DF4837EDF96EB69A3C48BCA7313 -:10309000BC52FDAAF5111D59B148ADC1C13CEDCCE2 -:1030A0001DFF08F86A4A269BB41978BFD38C5805CF -:1030B0000E6F6705ADFB985C17F854672C48F1114B -:1030C0008121C4D71DE33A3BEEE5F98E96C11EB2CD -:1030D000F9C873F4029CAF5C2817724CC99763CE91 -:1030E000F618E25779AEAE94ACF1C7FA098F5EC11B -:1030F000EB573A6C1DD80F163C322D167126959B56 -:10310000CC229E6383F15CCDCFBF2F812EE1E7E41B -:10311000F0F33078067C54B541233E1CD4E8B1A5C9 -:10312000921CD39C985F9523980DF95EE589F4A0D5 -:10313000FC4C8337F14436FC119329655F73BC8FD7 -:10314000823D965110C7C11C7D3FF054D15C41E7D0 -:10315000C5E8029DE4D3DFB25D84E729B02742DEF3 -:1031600058DA53B10E6BD5F70467AE83F839920184 -:103170000F1D56672EE0EA581769C2BE3965ADE0EB -:103180006BBECEEC16DEFE3E0B8BC27ABF5FB62F57 -:103190005F63F1B5F0FC403BB3C42480AF8A89AFD4 -:1031A0004B06EB1B818793FFCE4663FFAFDCB091EC -:1031B000E0517CC12C6D1313A1DF6D7397DCCF7AC6 -:1031C000F8A864F0F80FD0AE9B1FA66BC4073C3D77 -:1031D0009045FC70F351944F191FCC5E59003F5637 -:1031E0000DF3C28F90C23CB00774B14ED227BAB86B -:1031F0003E0179A6E489921B9C0FBC88EB51F455E3 -:10320000F2637B030789E37547839DD29F36389924 -:1032100085CB809D0D29947FB1C145696B431E7D8F -:10322000FF598387F2BB1B46537E6F8397F2FB1ACD -:103230002653FAF3061F7DE7782139A4E48A9247E2 -:103240008A9F945C0AE7A3791CBDD794507B927B3C -:103250004ADE611EA6921E79A4E89BA9F9FC296E9C -:10326000C8B1F6399017A5E6332FBC023B49B5C368 -:1032700013E1025E84DCEB72D849CE67D8D83E9C5D -:10328000D71B57783BEE0DD9576FA9D69825844F99 -:103290006FAD8B6496103EBEAD3EDE902FAFFFE06B -:1032A000CDFEBC7F2D5E77E470388EDDFDF993BFD7 -:1032B000E5DF9FBEFBCB1CD09BC3B1ED318CBB3A8D -:1032C000AA1B8E04E49BACA43F0C8A12E720FC816D -:1032D0002EF399589F4FDFFD575ADF1DF5112E33FE -:1032E000AF37BF3E82F0F531E8C4F1FA7B49A78AD7 -:1032F00075C75F7805EB7CB58DE4DCFC26B92ED76D -:10330000737C86E86B9FA532D2CB342F63F0C37CED -:10331000F6EFB620DFF3D9679A3DA041F7E187A425 -:1033200072FE5D5FFF0B8ABFD2EA8F903EAC232E08 -:103330000B7602BFD5108FA5D5CB38ADF681863878 -:10334000AAE8115E1BE403781A749B9F7790615D75 -:10335000B366CD892DA04A7EAF5AAF91BED1AD2FB5 -:10336000E498898E75D9164ADFC31AA7FDA299F68B -:1033700027C5AF5C5E78035817CDC5B68521727836 -:10338000BEFC5E9967A2547DAFCBB6513FEF41388A -:10339000F07EEFCFCBB42D2039E7B2410EA8FAF37F -:1033A000F34AEEC91C817EC625B190F5E8CDB15037 -:1033B000FB3A047AE17C6417F6FF9A3EF601A59782 -:1033C0009CC43FAF24F8E9BCB5E4C5E75F847F6CDB -:1033D000C9271144A725C3A43DA220306A1AE933A6 -:1033E0005E87C6E7B94CD27FE2F39FC6B6F3F2E53B -:1033F000BB85FD92A71D4897ADAE26BBD6320F5FA9 -:103400001F0990AB463FF2E1173F896DA773853FD7 -:103410000DF1857C5B486329F0171D9F04BBF87292 -:10342000D6790FE2BAC2DB2DD7BE8E15F67DE12725 -:1034300057FECBD2D7FF9C4C70ECB9900CB9B6FCC0 -:10344000F575C97A2FF35E1EE6BF567E7365075B7E -:10345000CE367C05BF5B78BD9539D2AF7D05BB828A -:10346000EC141646710C2BED020F5D819C38D6CB07 -:1034700078DDE36EE6829D9F43BB2CAE380F87F369 -:103480007C1F717CAFE488FDF9ACF4A39EDF692654 -:10349000BDF0FCCE18E2FF653B1F7EEB2A9E5FB6B7 -:1034A00055C3B0AC96B5119E96ED36337BE8F90660 -:1034B000769BC4BEE15CFA7C4C1DF86971ABE6DD1D -:1034C0005600BFBC2BAE5FA8BE28F9696944EB2843 -:1034D000A28384FF7EA91FA97A8BF73F6C03BD7876 -:1034E000BD73A4B7BC140D5D9BFF75BE07384F6F4D -:1034F000194E7EDDC5ADBB96D1BEBF33DA89297EBC -:103500006935DAA30239623D057284BE715ADA7FE9 -:103510004FBF6826F90338B10EBFD4849D57B5DB81 -:103520002EDB6D9778BB2947AC47557F716B476C95 -:1035300036AFFFC5BE0F286D95F35AEC682BC27EDF -:10354000F9C5EEE8C9014A7F3CE9353EDED9D671BE -:10355000495AC8BA7A3D47C40D9FDD629E0C7CB1C2 -:10356000808A336AA5F99CDE99A6D1B916F8E6F8E7 -:1035700039BDFBE55813AD5BBF6827E968B20B7B2B -:10358000AADBE292F60BBB137AC65CAED5C57179A5 -:1035900057BB5BC403847F57F569BDA582DF3B6DD4 -:1035A00082FFA5FF5EFA97102742FEF8185B00FB2A -:1035B000EBBC61AE59B7409EBD6315F418E87A0CB8 -:1035C000E7AA79EF2792BD62A5D5D51FF93FBD6B5C -:1035D00025FBF9BCE1729DA7B48F847DB2C32DF6A3 -:1035E000F59AF57C85F0290FE0F4F7F3F9D5044C52 -:1035F000144F793C2793E07AA2DAE4B5919F23989F -:103600000B3BE5311BF39BA127FF2C92F4BB9A4C9B -:1036100061777F02FCCED39A84606E22EC5D928E3D -:103620003537F3F2107AD63C13CC85DE72C626EC21 -:10363000782877222D11F51A25DFA01FF4DBE1761B -:103640009E23FD724F0C839E6F7A2546D8137E12FF -:10365000497E07D5EF05C9578DD2CFE5DF26E003B8 -:103660005CD09B17DB9A73A157AA7117C736D37822 -:1036700067E4788BA39A85FF40C685A13E8D6F6570 -:103680005E9CC73B9F8B20FDF4CBD4B6BD18FFCB0F -:10369000E786901FBCC31D58B88FCAB9DEC6E9B013 -:1036A000E4A71141C07BEAB918F2739EB20A3DE863 -:1036B000544C32E94147621E9D87FEBAB64668B057 -:1036C000A79CD2982D05E5DBFA91BF6A49433DF9E5 -:1036D0000996F0E50E7F344F27C3AF7C6ADB10B24A -:1036E000B39CFAA599FC8BFCFB7A7CD759F3BCBB45 -:1036F000B0EE7644939DEDCB9FFE6D48A8FF41A5AB -:103700004BB61AED498AFEAA3C2957ACAFA45C819E -:10371000C7945CB1CFD446B73E9A49F314EB95D326 -:1037200081CE5B7C7D24C33E7DACF5D564CD013C70 -:1037300007737F0CBCEF10E79A2F775AC92FB2E4BA -:1037400095182FD96FEEBDC284FD628959E8BF4B31 -:1037500038BB8954D88796C4E6927D88E39BCE8F88 -:103760009DDBCC721C31EEA9EDE9C2FE1E94F9BDC1 -:103770008501F0F9940476DBCDA4DF6C29025E2F7D -:103780006C8D36812FF8385EF8ED97DCF50381CF2C -:10379000B885A48F33C4418F82BF5CC8CBDA7BAFBE -:1037A0008A433C0C7BDFCC20FA2E583CFD210FC312 -:1037B000F1B52857CACBBD4FDAE03FABE1EB05F1DD -:1037C000414BA5DF74E94F35D2E796DE73D563240C -:1037D00007DFB3B21C0EC799D6876343E95126FBB6 -:1037E000E969EFA1FA4B797DD1FE9D588267BBD57F -:1037F0000378C2E978D9ED7F6ABEACF6DDFCD1CAA8 -:10380000F7F5A24BE77D81B57DFF13C8919D911E11 -:103810003F7D6D25BFF3696BEB42CCFBF40B91242C -:103820005F4EC78BF5FE0597877E1BE0B8F121B28E -:103830006FFC661A83E85E1430F6ABC69D992BE4E4 -:103840006F6DA2270EFE8C5A4E07F4C7E9F23D6A4F -:10385000FFBE95DA87CF63A46CD7BD3E5F88267E16 -:10386000393D40D0E3F48B83695FE988177CCEE172 -:10387000CDC039E574BC487153067CB0449E434FBB -:103880008F6BA573F7696D17A51D56D16E49BDF4F1 -:10389000DB72BE4B01DF8027E1B7B26F68831E0188 -:1038A000FBF4A8124A83110997DA99C19FD8875E61 -:1038B000CC15F62CA83590EBE4DF20FDA4D50679D5 -:1038C000AC4B3DAE66E7A5FE32F283EED4C8EFF313 -:1038D000A05CA7803A49D9C7393F2EF56B5EC41B5F -:1038E0002D6D5AB118FCBEB46EE32DE077358FA56F -:1038F000163619E7AB0ECD4CF07444F275033C84D8 -:103900008E97D983DFCD0A5E809C4C7A2629D75BBF -:1039100072C57E857C33EFAFA649DB40E3B8D5792D -:1039200052CC4FE189A3C5063B193FE78BF23EE637 -:10393000AFE00C9FBF82A73557D8273ADCAE87C6C9 -:1039400082DEBF3293FDF4C2D7C3E312BE452FC35C -:1039500089ADDB5ECCE17F9DEFD5E8C70FF986F539 -:103960000C7B348733778BD1FF91B7D5981FBAD3AF -:10397000982FD86DCC17ED37E63D878DF96D725CC9 -:1039800085279C7311D786732E529C735DB9E29C78 -:103990008B3CCEB94871CEC5779C7391C7391779E6 -:1039A0009C7391C7391729CEB9F87E4ECAEF1A69B0 -:1039B00077041D28BEEAD548E507A7F5727E4E328A -:1039C000C94FE5CF3CBFB880F2DDF69C323BD973DE -:1039D000549CCE2D71FAD15CF21BB6DD930ABA5914 -:1039E000DAC98EBBFCE7C28E5B5312E9807DA17DF4 -:1039F000DD17F7407D2A8AD33FCDA5B8A6CEED22AC -:103A00005E294872A37D8DEBFD6B05FDC8CEA1E25A -:103A10006E2AB0DF25F44DC7703F0ADB60F49B844B -:103A2000FB51C2FD27E17CA0FC264F5B3B5321EFFD -:103A30008F3F67DF00F88F4BFB189BED24FD4BE9B0 -:103A4000D5DDFAD783DA33D8B7BFC94DA0F65D47C5 -:103A5000B8BEDDCB7EABD2CA8B25A43776E73768FC -:103A6000268A1B4989A57D6895842943EBECB81704 -:103A7000F22EC644FBF8058789CE05173E34931E07 -:103A80003118FA79C87C8604A20CFC95BF2321CC9E -:103A9000FF37C0507FD8BECC30FFDF50A35F6AFA3B -:103AA0009A03385F4FDB30DC50AFCA7755181E25BC -:103AB000DC522F6D5CBD3903F267554C17C1BF6AEC -:103AC0004F24C5D5567178BDF0CB21C351506DF749 -:103AD0004E05FEAA5BADF1D8E72BE5FEC3EA8DFBF0 -:103AE00071B585F99D093D7C57ED64DE78DEFE6C8D -:103AF00071F37613A7DB59D39647C7BAE0576AC963 -:103B00007072BEBA5D6B4DBE92F7F7378B5E309820 -:103B1000F35B8635F8C372C8CB5D596C0DAF777C0B -:103B2000C3CBB1A4774B3ECBB03AA340EF966633FC -:103B30009D0B60973227F4F0434B736254B6A36732 -:103B40009E3DF4FF9AE6C7E9E2C13DC52EC7C1819B -:103B5000ABA0C7B58AF9568FD3FCA427CBF9AC9498 -:103B6000FB0ACB16FDDC2EF327E47941CDEFCC9098 -:103B700003452EF8311BF6659821C74D3BB7E3FE90 -:103B8000C0DD51FA758347225E32E7B763F9B84B5F -:103B90003E12F1BA7FDC3421F64AE89F2F583D539C -:103BA00078FEDEE6676D38172FB1046C3877563F24 -:103BB000D762F3F2F4BA1D2DF47DE18E0A3A6F2F2D -:103BC0006275748E3CA9E26F253EAAC76B5B9C1C94 -:103BD000EE17070BB9511D25E2364ACD63DF445C71 -:103BE000FA851D5A31E63BDDB7CB5601FBB3AC1766 -:103BF000BE3EBADE9D56DA0FF6A456E1F7EC6B3DF9 -:103C0000CC08E6D17A9876D145E9F48B43E91CFBE0 -:103C100011F315929C28083BCFBE2BE290BBF68B8C -:103C200075506D0B264DC33A79C34AEBA496CBAFC2 -:103C3000D1253827333686A7BEB16603BF2E9F181D -:103C40006DE0E7D92CC1E0479E894B9B21F9E953F0 -:103C5000B20CF5674DCF0FE3FF929E729223630C77 -:103C60007126B5ABFD2E8DE259C61BBFF37435F13D -:103C7000D90D86F6B5ECE69E7A38076FFD35E199E9 -:103C8000B1361BCE5BD5261157335BEF90DFDBE9F6 -:103C90003B9F88611D0ECAF2FC56EC8B56B2CB2BB3 -:103CA000BBF46CFC3BABB77D91135A8E8BF850D8AC -:103CB000170CF1851C003A7F3241875A69EFA9CD74 -:103CC00013F69E5A7F9B0DF1B71CFF96348E9265BA -:103CD000CD1AD9F3787D7B5A82C8AFC6F7DDC6FB13 -:103CE00006E8EF22CA8F982BB05EC2CB97F17943DA -:103CF000CF58063B0DEC4CAA7FD9AFE2CF459B8D48 -:103D000076A365B0E784D0F1ABC12EE2D3253B7634 -:103D1000BD3580E3659A2FBE18EBA7A6B5CC5A51E6 -:103D200070299F29F97EA1DA447EEEAE770F119FAC -:103D300075555B889FBF0B1FCBBCC29E19CE7F0BF6 -:103D4000F97CE0975DB85BF30434510F781900BE3D -:103D50000CC34B5A2FF85278EAC65B58F922FC6321 -:103D600004E206B440D0DD1B5E241E55FF6178627C -:103D7000A38D7858A8BBDE87BC5978C4CC02973194 -:103D8000EF45981FC6E7F3C3F8375F147612E5379F -:103D90009879D142F96E3EF189F8E9E9538CEBB29A -:103DA0009B6F7C629DCCB8984CEDFEB7F9E7BBF8F1 -:103DB00046C11D1E9FACEEF7FCF76069271CC94683 -:103DC000D2FABFCCB861B5DF2B3C0FBA7B34C51338 -:103DD000753932497FE8DE6F9CC6F29531991447F8 -:103DE000AC4BFB9C92BBBAACA7C6A9E0E5AEE1E048 -:103DF000E381C9B0BBDED39495D11EA297E8EBACAA -:103E00006437CD5893486945A43319FB45C51AB3A7 -:103E10000FFBE067F7F54F1E0D3BFC3A6BD214DE4B -:103E2000F567778EC86085C897527A7C63C4EC507A -:103E30007BB64A5D79623FA8BDFB28ED5F674DEF19 -:103E4000C6CEC63A5BB7271621354BD77D30CAC9D7 -:103E5000558F168B3E280F71845ACB7627F0E66C6F -:103E600029823D7A1868D7AF474F58B2AEB43FECBD -:103E70005F35DF1C7A0AFBBBBEC69A0C3DF3D487C4 -:103E80007CFFD368FF22FDE024E28F93E0B78AA68F -:103E9000FB6D2735E685FF66B1F94091D3B09FEE03 -:103EA0009F09385E8DD287E5919F36B03D05E37B53 -:103EB000FC142FA9AFC989EBCD5EA2D2E59B85FE8C -:103EC000B65DD96BA55D177A3BF2D0DBE11482DEDB -:103ED0008E3CF476A4D0DBF1BD4CDAEB07357616D8 -:103EE000E3DCE91FCFF2EA687F75E4412F5FA54567 -:103EF00079206F56699EFEB083B1ADA9625F0DA3B4 -:103F0000AF4AAFEEE4BA5508BF5F7BD1CE42E3C7FC -:103F1000C6B178437E823DD550BFD4E936945F97D1 -:103F200032C4507EBDABD890BF31EF4A43FD9B3CBD -:103F3000E30CF9EF8DBEDE50BFCC5B66C84F9B3CF7 -:103F4000C7507F86AFC2503E6BF66243F91C7D8539 -:103F5000217F4BF59D86FAB7D6AD31947B99D382FC -:103F6000FD6D3FCE531CEF6FE03CC5D355BFCA710A -:103F700084D275EC04535D6FF6F8EF4BFEDD3CC464 -:103F8000BB02FC992EEF81A4CBFB1C4D792EE2CF16 -:103F900034DCDBA7F36C5B2AF826BC5E78F9D8E842 -:103FA00083175C9C867FD83173BA85CB87B1571C49 -:103FB0001C9EC5F309431E986EE17265EC55075FC0 -:103FC000CEE4F90143DE14E5C30E5E40F903431E5F -:103FD00012F9698C548BCC21E3A7FBF93CC65E9B9C -:103FE000B9C123EC21BDC65BAA147840DC22F08065 -:103FF00034C8F913E941CE9F480F73FEACCA66EC92 -:104000002DCE9F488FF07325BEBFCDCF9548DFE5FD -:10401000E74AA4EFF17325D2367EAE44FA9B86D9E7 -:10402000947ED8A053BBFF6CA8A6F468431D7DFF07 -:10403000B8A19ED2DF37F8E97B204FD90F826467A1 -:1040400051FEA465F0E3C10EB7CF7A26D4CFAAFC07 -:1040500081CAFFD758C7DAA3B14EDB2DF19FDB7BB6 -:10406000FC7A7DCB590BFB3C44DF6A89F63E9F47C7 -:104070007692814E92D7F2FB786D5A7A094FFFE221 -:10408000D27781DE334A2AD7C5B9710FA4CE0A7E12 -:10409000F9C8D4FBBDE0A63C617F5839C4BB97F892 -:1040A00044FAB1951FB93B3E25C4CF6D0A898BA157 -:1040B000BF90F816E56F56F134D7D8457C9EF227AD -:1040C000ABB819D55FE94546F2EEEAF516D24F6274 -:1040D0002C2C88FE557CCCD5F6D662C40B5C5DE3F7 -:1040E000A038B4FEFCBBAD84EA79CD3CDDFA675E56 -:1040F000BFA8C77FDD5FC2CFCB09FED28B3AD95DA7 -:10410000AF96FE7BB4B78B723FDA23760A7A064FFE -:10411000C9AEF624E29C4A7AFCE9A81F2DEA07D131 -:104120005FF67FF1F1627BD64F7A426B31E2A9D222 -:104130009739289E6ACBB820DDDF5AEED63F039D23 -:104140007C11CE4FA369FD64A5C34E5026F5DE6FEA -:10415000A1C31768A7F0A3F0ACE8A2F01B12774444 -:1041600078ED8B4EE1F409A78BA247E9C51E3C030D -:104170004F97D2A1874EB0C7FEBF4287119656BA5D -:10418000FF175163F700AEEFA2CB6D9D6C12EE13DB -:104190000FCED49B80E78A8BAEB790AF64E32661E5 -:1041A0006B52E59EEF289F85F27E7D97DFD147F920 -:1041B0003B912A1EC1EB28E6749920E5C7AA5281DB -:1041C000DFC96E33E17742C122D2479943E8752EA9 -:1041D000FE1FE4C9A4AF7D4DE86F5292513F54FEDB -:1041E000E01B647F93C3FCC03748BDF18630BD70CF -:1041F000D410A9F7B9995B9CFBC43DF789729F4E17 -:104200009374CEE287F9B1A023D32D105A8771CFD2 -:10421000BD08F7C0FD94BF9E0528BD910569DFBAB2 -:10422000890B38E4BFC718C5331E8A9E5ABE9CF757 -:104230003761F8846C7C0FB9D777DD907E74AFEF6F -:104240000FCE907B7D0727BA486F3868CF223D0696 -:10425000EBC01A6247FB2597FB086538C4F705A435 -:104260006FF27D219B33F92FF8BE80FC0D796B181E -:10427000DA4D7219E34D54FB1B9DE3996578DF72AB -:10428000F7C6A25707C2BEF24EFCE089B03BBF138F -:104290007FC544CCF79DF8FE269146D8282D7C2575 -:1042A000BB373D4BF161CF78939825F152FC2A7CC6 -:1042B00086E351E1F79FC0E78ADEF0D9041CC0AE67 -:1042C00067FF20362513FE2FB1FE6B5F29EC0FF838 -:1042D0004F0134C425DB055EC2ED3B5F34B081C0C5 -:1042E0002FDB1A47DFEF903C7475FD18AA7F4DFD58 -:1042F000689ADF5551FADA217C9C3325C15CAE39CE -:10430000B02FB634D2FDDBB32F9A3DD0BF6BCCAE0D -:104310000D1EACF577C47D39F6F5A10CF8DBD8D6C7 -:10432000DEE3766BEC0A6F7EC2A737D3DB24F63F61 -:10433000718F58EDBF032344BCABBACFDAD77E3CB4 -:104340002A4AC8958111420E2A3AF176944FE3FD2C -:104350008CE27223EDA128D2BF4724781F073ED5F7 -:10436000391AF14DD8A7AE09E6C7213F19E7499E92 -:104370007F5BDE4F7B7B685D5226C7F7219BFE2C5F -:10438000DA31F3D766ACEBC61C8DEEB9771DC94A9E -:1043900002BEB7A97557C48A42DF1B50FA71F7787D -:1043A0004966F28BAF847F3409E7263BD98BAE6137 -:1043B000B9E4379D28C72FFD6525BD83A0EE7D4458 -:1043C000A4988CEFE7B8A20CEFC144E72518F231AE -:1043D0009E0186FA71A3330DE5F1DEA186F2C4C910 -:1043E00025867C3FDF1843FDFEB3C71BDF75D36F07 -:1043F00030D44FABBED99057F22B4D7C62E9757328 -:104400000DED07D5CF37D477FB9718DFB7F17BDBFE -:10441000F29221F7C45FD6FA9586F21FC78A7B0D08 -:10442000931D0BE9BD8A9CE6BB8CE34B3AA5C509FD -:104430003A319790AF7EFE1FF8A634C5286F273813 -:104440008DE76DAE0F6AD8DFD3EA2C86EF9FFD0FA4 -:10445000E91C8E972EBE3505511FFA10CF5FA30FB2 -:104460007D08768D8949564F80097B7AE8BC604F7C -:104470000FC503ECE9A179D8D38DEF4219E90E7B82 -:104480007A68F9F02346BA8F6C33D2FD8AA346BA14 -:104490002B7E0CA7CF95ED467E08A7CF5527C3F8F6 -:1044A00043D26336FFEFEFE29E34D16B9243634F0A -:1044B000B8FF79FA240FE5F4C9EFA1CFFF49D35330 -:1044C00087F6C3FDF40B1936D0AB53BCD7B742CA3D -:1044D0004F154FC8CFBBE23EDD5D66F2EF1F3335AF -:1044E000D37B49079DBA1BED6F2BA8D3E03F4861F2 -:1044F000BE5D0B397CF3FE2382FC09F306897B9DAC -:10450000ACA09DE2EC959C9B9726E258860C95E723 -:104510000B8F886729182AF4C2188F93E25E2B0A42 -:10452000C43D027E2CC8985708FE793712EF1676E4 -:104530006D12F6FB76ABB85FEAE77C04BF18F44473 -:10454000E871E9528F6AFC9DDD0EF8076F66867D83 -:104550007148C06E88BBCCDFE134E40B5B530CF5D3 -:1045600087ED7319CA8B837986F2E1473C86FCC8D4 -:10457000B6D186FA571CF51AF257B64F36D4BFEAB1 -:10458000A4CF904F639D8F03BF8334711EAD1A2A51 -:10459000E278F81A227FD2BC7BE3C5FD41794E5503 -:1045A0007AB08AC7D525DF85EBD3836C3AC5F73659 -:1045B000A6320FDD03B0CBF30933EAD9BA8CA75585 -:1045C000FA28F31BE369551C6DB73E2EF56FA50F56 -:1045D00087C4D17A43E368E7C97BBEE1FB5E9DA453 -:1045E0007B38FC836C62BE8D77DAE8DE82822B1C1E -:1045F0009EBFC9F8CE6DF6DEEF8FDC3D54F8DB7F51 -:1046000099E5FB3EF8F529888FACDEC6F3B4FB399B -:104610007F35FEBBCDB3D6F5DDE3CD1B26E6536E6D -:1046200032DD565640714BB37F1632FE0FE5B8AB04 -:104630000AB45EE7372F4EC415B1389B0BFCDBF78D -:1046400078029F2936D644F75C64DCF9AD1B5A1F0B -:104650008489BCDCD66C15EF9705ACE08729E3B9FB -:10466000FE540CBBD5370F3BB89EF154BD85EC1002 -:104670008F0CBD69863FBBE71EC1207EBE007F4018 -:1046800057C1B9C45E20E266F70E15EBBFD4FC75C6 -:1046900077FC37D9D31993F25B9C5B7AE137E2431D -:1046A000358F7F751C78389ED4B990C97D275BC241 -:1046B000A5F0D77D8E97F853F1F8AE1556DF330E7F -:1046C0008AEB9F8C782645BF8105822F4F0E15F40B -:1046D000463DC8A3BEEA959A0BE260AFED62AE38E4 -:1046E000E7B7D823FF557851F8EFEB7E4F5FF2E143 -:1046F00012B9D0C77D9FBEF893FEFE817B3F21F2A9 -:1047000041C497487A04B24DE4CFBD37C6B88EFB9A -:10471000E70BFCEE57FB859F9F278D7282C1BEDCA5 -:10472000B8CE2CE584D857A16FE0FB827556D237FE -:1047300058BD8847AE96B298315FF29811F0C75ACB -:10474000E93DAB6BBC8CF491F90E5BA085D7AFF063 -:1047500087EFAB5E6A4FFE1A17DE2DF1DC03FB7BA1 -:10476000E57A63BD450EF1AED782B073E922792EAA -:104770005D14762E8DCC97FBB28779486F92FE67D9 -:104780000567375F05B2282E18E754B3B09750BCC1 -:1047900052B71D1FFE85907734393EA3F2B06F37B4 -:1047A000597A8D23EBC6671F7EF233F093BBB0FEC0 -:1047B000BBE8FE4FD7EE48E14753FE0B59FF8CFF95 -:1047C0000295A33E7A3B5BDC56043F52B7BF23CC35 -:1047D0006FD2E530C58E467F3BC5FB0B2A0E60C904 -:1047E0005F0345CE103FA7DE6E32C45D84A7FA9A00 -:1047F0003D1417D062D14BF2F93C4E5B3C76BC17AE -:10480000799FE36032EE6B4F91F69A7078BBF5D0EA -:10481000B19AF013FA851EDA3559233D94CB4586BB -:1048200075A4FCD9652C988454F90FF4F5A309CF2D -:10483000CA7F50111C4D70CE685C64C5937DED8FAE -:10484000AF2E8D72F5F815DAD3453C4A5FFE8569C7 -:10485000173DD4DFF48B63A89FB27CB7B8C7D5F4FB -:10486000E00AF0D1D01DCC8A79B687C563ABF4409D -:10487000BEB07F1FCB57725BC6B9ACD1849EAD3141 -:1048800015F742725BE52F34CB7CA9C8AF5A27F2EB -:10489000EDF21DA3EDD2DE807922C57C702EDE29DB -:1048A000ED11980752CC03DF21A790879C421E721E -:1048B0000A79C829A49053F83E9FF9328ACDC20FD5 -:1048C000323164DDC00F3231440F821F24340F3F78 -:1048D00048687DF84142CBE107092D871F24340F3A -:1048E0003F48687DF84142F36CF4F53D79C8356F77 -:1048F00099213F8DEBE31343D62DFC20A1FDC30F7F -:1049000062E84F5F61687F0BAB37B4871F24B4FE4A -:104910006DF59AC14F729BBC975EB93981F8638E71 -:10492000DBF7C37C4EDF3F447F738715E734F3FE2C -:10493000C5747EAA8DF2083A374F1674373141E7B5 -:10494000CE3944E7D536912F1571B1BDF91B2666D6 -:104950000B7F0352F81B90C2DF8014FE06BC870D4C -:104960007F0352F81BF01DFE06A4F0372085BF011F -:1049700029FC0D48E16F400A7F03DAC1DF8014FE95 -:10498000067C87BF0129FC0DF87E0C7E8FEC1EB8DB -:10499000A0B7671BCE779C0F0DE73BA7210FBD3D4E -:1049A000B43EF4F6D072E8EDA1E5D0DB43F3D0DB02 -:1049B00043EB436F0FCDB70D75D1BA84FE1EDA0EEF -:1049C000FA7B68BEB0D9FF266C4C376D3977186911 -:1049D0007B8CF694C645C1FBCF1F9F01BF517BA4C2 -:1049E0009611CF97BC553B356322D7CF74195F56CC -:1049F000C43AE97D675DBE5BA30719C5C316FE25F2 -:104A000045C805756F087F9CEEC5BB199D03CAE4B8 -:104A10007EAADA7B98D34C724BD6EFC9F75E2F7C17 -:104A20007C558FE465081CFC80588C3888E2D58E54 -:104A300012C4716F3769220E72AD88430DE72B7374 -:104A400081904BDB4DBB0E4621AEA542A3F7E2732E -:104A50002DEC08DEF12E6CAE2B81BE703A3F5ECE9F -:104A6000AB6E0CE26214DCCA0EC8E504DDAB1ADBE7 -:104A7000C96C5505784F8CD91640BEDB849E807674 -:104A8000383FE6FB35EF3321FCFDE77CB1BFE9FEA3 -:104A90001563AAF8F7FC9D7563705F6B4A9468F71D -:104AA00093A763098F539BB467702F6EEC4EE6C5D6 -:104AB000FDCB6FA43CCDDFE9B455D1B84EBAE7A524 -:104AC000FAADD89241F7D22A58FBC414B2E56BF480 -:104AD0008EB9C21B9FDF61CC8F8BF82356D247C59E -:104AE0007D9128795F44DD13715B7CC1A1237BEE4E -:104AF0008B5C3D22BE14F15A6CBF7877EFA611157E -:104B0000EBFAF1FEF5807877EFEA3FD5BD49F9ADD4 -:104B1000E2DD3D628351340EED6B83FD1ABDF7304B -:104B2000D5DF624A72E1FEE81A6B32EAEF641EA832 -:104B30003F8399B807A9E02B606D26BC3BCEB798A0 -:104B40004389217CC425C074D0BDD863A5F720CA91 -:104B50002C4E2BE446F83E7E693C5D989E10160F65 -:104B6000D1B8FA68863913F61E932708B9B5279A83 -:104B7000F405A5EF54C838A80B4D6FD27BD615BBF2 -:104B8000847EA0733900F9A7E2236AB3021926E8EC -:104B90000B035A8A12CC62FF2FC07D24FFCB334710 -:104BA000BB708FF14D8AD7AF5837324EDCD711FE2C -:104BB000872A89A72A19FFC20A9CC9D03BD53BA6E0 -:104BC000A5E6B17174DFAD59E873CAFE52F1ABE1ED -:104BD0006F81CE154FCAF740D657D03DA0F038149C -:104BE000A51FAAF74E16375929BE6571981EB854ED -:104BF000EA814BC3F4C01B0AC2F440F53E9DAC539E -:104C0000F1AB4333484FA913EFF195AF117A0BDBAA -:104C100025DEB12F5F33C184772BCAF7783D5A2F39 -:104C2000FCF1BED45FA660D044C4F90CA074E6C504 -:104C3000144A675DCC233980BB18A07FFBAB8CF492 -:104C4000E90FA4BE3203717EB81FE78F90F17C8C10 -:104C5000F4A562E62C85DC18EAD50EC17C3DC5AA18 -:104C6000AF431CE1941646F7616E825EC30B664348 -:104C7000CF190E3E7797D2BD80C91ADDAFB869C48F -:104C80000AC9D79CCF19F8DC2FF9D647F9EEFD40B9 -:104C9000F2B7EEEFB0D0BBAC7ECD8677D974799EFB -:104CA00055FC1BCEE7F3E4EF4D3087B03375DBA145 -:104CB000002C3DAE72CD4CE88BF360BB1B2009C9C4 -:104CC00051145320CA9B0AAE99D984C3CDFFD03E5C -:104CD00051AE7E8781EB5990A7B7DE5E6C9B1F2299 -:104CE00057CA8AC63F5BD8AF87EEF3BBEF8D15F48A -:104CF00087FEBFF2BE9CFEDF767FB192E319EB63C5 -:104D00005E5CFB1D7819776B01F34E1C8DF798D50F -:104D10003C5910F16A7365FED7058BFE737D01E186 -:104D200087F2819D5366FA69BD0879750BE4951980 -:104D3000724A7FAA00F73BECED93408FE8824E79F0 -:104D40001F5EEE4761F6885F17083A84DB252A0B61 -:104D5000841C671657C62D744FD545763D05FF67F1 -:104D600056E3BD4195FE52ED230DFF9A78FBAF92BD -:104D7000F59F437E3C6A12F7B707989B99B40F8959 -:104D8000DFC990EB87C9F70C7AE8CFA506E87F9FCB -:104D9000E60CA5BFBE5E13F7A6FBB0E3B0BCCEC762 -:104DA000B7C18ED7207E9FE3E95CC1474FDF652303 -:104DB000FDBBDCD6F626DE695278FCA4FE4756F130 -:104DC0003B2FC11CBC3F35B72E92DE7B2D2BF2B59D -:104DD000812ED1051EA2C7B38829E5F5DB9DBE0F44 -:104DE000309FDA0D079EC2FDF1E5FBDD74AFB162C5 -:104DF0005FF13D78D7A2AC483F8AF20A87D386FD9F -:104E00007B59533CED67F3FACBFB85AC93FC540A1A -:104E1000FF9D05C28EB5BD48F47F5E9E432028CB22 -:104E20000CF5645C71D83A51F6C1703B43F87B02D3 -:104E30007DAD1F654F80FDC016625F54F6096BDEC5 -:104E40006773B07F96DB8CF7E154EA2E94E75C79C8 -:104E50000E5CD0BD7F154CEA0F7D79A346BF5B5336 -:104E6000E570CDBA92E7AB8E581129C8A624B8C414 -:104E70003B12F7897724E6F3F50A79532EE386AAE5 -:104E8000368FA6F55615E06962DFEBF2968D87D274 -:104E90005F05FF04BD744FBCCAE9B52584ACFBCAED -:104EA00066CD70CF5CE5E30B853DAE1C4F98974017 -:104EB0005EB86D78CBA59CAB1588437317BA0C7E92 -:104EC000575E8FE218A664B2B7C43B3E1C6EB7189B -:104ED000AF24A4FFF9CDC6FBF2BCBE7897A2308602 -:104EE000FAAB70F279C3FEE174129C1C0F84A7CE5A -:104EF00007797F2E1A87E851190C5871DE2E47FC6E -:104F000004CFCF7506AC18677E9378B742DF20C612 -:104F1000D1D7C7DB0AA12F599CB674E04FBE6BCF27 -:104F2000E1233958C5F182FB3FEA1E60387E2A240E -:104F3000BC55CDF1463DAC79A315F498D3C7FDF926 -:104F40009B24DDE7378DA3FBCF55162FC5D7EB127A -:104F5000BF7F5C11793FFC0373363D6675F3FCD56A -:104F600085827F6F92789D9219CCA1F76956447A19 -:104F700000E71C6733CDAF1BBF8F707C687807C517 -:104F800047F8E57CE1471C59D526233D7BE011F825 -:104F9000ADDA5441EB6DA145B73943E1D87C200728 -:104FA000F77AE6F0F58D77779853A7FB369F3F3277 -:104FB0002B83E6C9E1045E633CAE49786F86F30952 -:104FC000F1B1E217753F588DB7A050DC135C50D893 -:104FD000BB7DBD675D7A49BF69E4F485DDBBAF7514 -:104FE00069C345233EAEAD4ABC0316BE4ED5FA5446 -:104FF000EB52AD53B57E9FB2FA82295A8F9CE1FBEA -:105000006DDDCF7AC1D3B312DEB992AE1CAF874348 -:10501000EF156D2814F2A83CD3B8DED11FFABD4BB2 -:10502000958F0FE6E01EA0AAAFC62D97BFD305BE91 -:1050300007BFDD25E98EFA2BA9BEF17E4465B7BC1A -:10504000D8B92E19F2629746FAEECA070FA5FF1BD0 -:10505000F4D817841E7BBA66DBB254D80D2C818C31 -:10506000D0F799AA82423E2CE0FA0FE4C542B94F2C -:105070005F97A3DF573832A4DEC32FE4EA42BE04B1 -:10508000215F7EFFC26B1F8D71F5EC9F0AFEF9EB6D -:105090007F6DAD7084E24BF0F9FD795D74EFABD2BA -:1050A000617321CEB6B2A982E42D4BE1E7092D242C -:1050B0004E2A8C0F2A9A347A37ABB27E54C0FCBF8A -:1050C00028972B3794D1DB3C8A4EEAFD0DB59F2AF9 -:1050D000F8774AF8E74A3E7E49AEBFB9D56EDB4263 -:1050E0005AF76E5B25F85F96CFA9327EEFA653B7CD -:1050F0009FB9E09E14798F85CE251BACC2BEB73315 -:1051000086F4D5D32B5F796F26AFF7E5A32D19D0A1 -:105110004F141C8BA41D6F81B4C72D947A2BA7D379 -:105120001B85217276D1D3824E952FFEEA53BC0F98 -:10513000559E29E5D983E27EF9FCD65D44B739EB6B -:10514000375ADDBCDE7B856E839CAEAC2B76C23ECF -:105150003D777D8B1572E0BD4281B7707E2F9771D0 -:10516000A90AAFD877B410FF85AA0FF9B78B8F7350 -:10517000FB8AC858C465A871FE5BF271655D7C024C -:10518000C6ABACABF821CE3D4ADE87AFBBE3916244 -:105190003DCCE7FD615D1E1FE7A17BB6E5F2F7A5FB -:1051A000C2EB9F9374FBB155BC239816DDFA1CC566 -:1051B000152C8FF2403E6467B707302EF81970DB6C -:1051C0004CE2DDC1EC9AF6AF0007578B293E05296A -:1051D000DE3B829A9CCCF3CF98C47D20C496204DB0 -:1051E0002A12FC00D314CA59523BBD7F16129F6984 -:1051F000E0571BDBBA1EEFAFD89218FDDE8BE24FF3 -:10520000D58FE24FC5BF7DCDCF517479F33BEE967C -:1052100076883C4F06EE51CC7B6830BDCFFF5DF306 -:10522000B4C977F0BAE71B217EB7E092F9668B73B9 -:105230004BDFF3DD549ADCCB7CC3E7A9D6898ABD6A -:10524000EEF62B340BBFC2718DEF5FBCDDF1159113 -:1052500014F7A5E6A5ECDE971B2FEF294A9076847C -:10526000F618E891E5F2F7205850E4F1BD2CE4BBC4 -:10527000DAF7D5BB614A3E9FA893FB226B7F10EB08 -:1052800099D567D13B19C79A8FC7E0FD8EE3E30438 -:105290007CAADDED5671EF95C5D85C783F919FAF44 -:1052A000E8771F1634F5A773E4ADF55924176EF5AA -:1052B000C70BBB83D4EF174A39187D7BC53D57A078 -:1052C000FE66B753E3E32C70783EDF4CEDF33DD040 -:1052D00007A33795D93249EF15E700E507BA5D63B3 -:1052E0003EBACF043989F5653A908D7D67D16671F4 -:1052F0000E986262EBE12F1CD4E89B940A39F1B856 -:105300007837926D31BEAB7430C7776311F016F603 -:105310001ED9EDD6566F7FC871AE6FC0CEB4C0E156 -:1053200023BDFD6D29278F6DEAA0F7C9155E2FB942 -:10533000A76213F7523B634C647FBBDCFB2A55D258 -:105340009FA4F846F9A39EC0FF5D093C99685F2BB6 -:105350003597D3BB3EF76C9A4069D5C6D247FD85D9 -:10536000B80FEB4B1E43705BC93E56553B41DC1FEB -:105370007D26221EE79B0CAB3F23542FAD6AB997C5 -:10538000EEA99C6C89A47B2A139D6513E393E8BD69 -:105390005DBAF7A5EAFD40AECB25B5130CF74C1668 -:1053A000F03E1107FBE7D6688A2B55F747EE8ED201 -:1053B000BF5FD44FDC23B9D225EE8FA4527D57AF07 -:1053C000F670957EDE20EE2384DC8B993A87B7AFAA -:1053D000A97D3916FD2C7DE483511C33B03FAD050A -:1053E000DDBAEFC56C16F7621A715E821E99E09BFA -:1053F0003907F8FFA599F0DFD778D5F85192907367 -:10540000C4AD8138D25BF520B3C19FAC3B19E9C56F -:1054100027CDAC1E7A80D25FD4F747255E4EC635C5 -:1054200067803F166F7F2C03FBCBA918912FDF3EBF -:10543000EB6DC82B7D6B84D0CF2D8CF4E14ABFD0AF -:10544000AF5975827A1733721EFCB145D1E21D1E29 -:10545000797F46C1A5DE5B3D6511EFC5E05E0CF8C6 -:10546000FD134B7001E8FB09D75F718EFD819463DA -:105470009F349BE97747FC7CA1400FF9A4F9E5181C -:10548000DCCF55FA5AA9F9F75EBC47B3728FB8A7BB -:105490008A77CDE9CD4A69075926ED202B5FB54EB5 -:1054A000C2EF8E70FD8BBED45882B6DEE8B744EAF8 -:1054B00057DDF9DDBBE8DC56B353E80F35AD1DA46D -:1054C0003F287D44DD8B5BBAB383F409D56ED96E7A -:1054D0008197DADDE27B05E2D6E5EF856AD9384FC0 -:1054E0006B94FFB460FEAC3596D07C05E53F2D5043 -:1054F000F6914ED207EFCFFB0D9DC36B9B64BF3C73 -:105500006F0D19EF4D30693FF13DCB81F662DF57EA -:10551000E5B5BBE3A97DB0366A3DF679EF32870584 -:105520006963AD83F6FD2D75A63CCB080017E581B8 -:105530001EB75FC66FF55BFA9F91B01FA4B2CE4352 -:1055400078F7F5A0533F0A7E55BF67A9EEBD9C7F53 -:10555000FD8BE1E8FF9A41ED17F0C683754DED2C08 -:10556000F827DA8BE43C0ADA8783AFFB1D14F2F9E3 -:10557000492B5B4FEF075B7C0C76FBA0F42BFAFF0B -:105580006212BF2FA1059F0DD5AF9286093DDC1792 -:1055900021FC8B5EB77E0A707C4FB31616E34CED90 -:1055A00032E7A07FF53B2A4A4F1D2FE573BA3C5FD7 -:1055B000D906A438C0C79AD74BF710D7161CACC46D -:1055C000BEFC40A79D7E5F55C5E18DEF8C22BD35A9 -:1055D0007DC064DACF34978595F3FA070B4C41DC34 -:1055E000DB7A80D9455C803D4CAF3545523CB2B644 -:1055F000FF177F813C4F337F7508BF5392F66F1AB8 -:10560000BD7F39AFEBF327F11B33E52C504CEFE0B6 -:10561000C5EBA66190C35D933B744EB2079CAD761B -:105620008FD8275828FCFBEFFC4B6C82A907AEF300 -:105630009D9FD3BB82E73BED64AF1DBF5FBEB71735 -:1056400006CFF91417C545F37AA4679E7798E89DAD -:10565000B1F1FB0FD1BB79E3D5BB7A76E3BB7ACC52 -:10566000951E0F7B32D950B95290DC28E8764D9CBC -:10567000F19C98334C9CB7728609F9A1F0D7653F2D -:10568000F78EAEF5ACC3E5CA7FAF7E6FAA3A827ED5 -:105690006FAA6B7FD6B7BE9FF001F407AE176CC838 -:1056A000F4160EEBD7B37FCE907851FBB059F63F8E -:1056B00043E26786C324F011F67B1B8A3F14FD1575 -:1056C000BCEADE91A21BBBABED4DDC0BE2F42A7C05 -:1056D00088119DAE203AFDE5DD75B8E63FC0ECEDE2 -:1056E000D0DDFF123A05F10ECE65D3A92D9C4EC137 -:1056F000C8C1D0131E11BFBF151ED7C8F218ADF315 -:1057000079E628B203EAF25D70BEBEDFC4FA56EB5A -:105710007AD0E4F642EC8FC7F8D11B70B59B5AE9FA -:10572000FBF7878978C281AC2D55C6DF8C845ED6A5 -:1057300028DF3FEEFE1DC3C50E7A6FE47C40BD7FBF -:105740001C787C211F77D38C02B2EB9F6772BD5708 -:1057500077BF932DDE3FEE7E27DBEC273BC99C28ED -:10576000B2F374BF939D23DEBB7E4D63B97887D6B9 -:105770005F66A7F8F8F077B2F93EF31CFC194F54B6 -:1057800047911F4ABD8F3CDEA9D7818EE1EF233FB1 -:10579000AAF9E62C407F850EEAAF7D4ED48BDB055F -:1057A0009A83B0E31CAB8FA177A1155F2AFBF5208C -:1057B0007FC7E3C093BAD7F907C95F0AEFEA5E9BD8 -:1057C000C2BFE233BF95D1FD4FD001EFCAAAF7D9CE -:1057D000B5D5526EA8FB846F785C481F8CD7D70371 -:1057E000EEC6155C6E905DBCFD0ECCF7C93B63BC8C -:1057F00080EB98C9F8FBBD2A7D7898C9F03BA1F3EE -:10580000E47E354FC5FDD71BE3FEC3DFD14C8CF3DF -:105810003D328CB73FAB7D300A1FDFFD3FE65EE3D4 -:10582000489E92EB7F44B4FE24EAABFB0F4A3F7CD8 -:10583000B7F88B74FABD91AF0FD1EF2ACE75FA028B -:10584000A817992DFC017F486DA7FB1A7F98F3D705 -:1058500074B227AF16EF7F5E2E9C97DEA715FCB0C3 -:105860006A8188374C6375C4BF293DF7342301C76B -:10587000FF6FF7697BEEBB4E1E7E82E22E7CF47BCF -:1058800015E1F4181B71F065173FA9FC76D897B3A2 -:10589000E83E69DCC1556E9E3FF6D239914F3B78A8 -:1058A000C1CD69D3FED27991CF3F7801F7513F7BCB -:1058B000A953E4AF62E4CF3AF1D257B370FFB4BF5B -:1058C0005BFF23E835F362DD9BD85E3F5A73F3023A -:1058D00037DDA72C4BCF13F7293F41F98CE4F9EBC7 -:1058E000E2B49EFB94268FEF8FE0DBF35F09FE7638 -:1058F0007358C127FF6CAAEE932A79DB975C54EBAF -:10590000EE5F751F56AD63B6DDB3DE0A26F4FFD336 -:10591000F7549987CFEBFF021C7874630080000076 -:10592000000000001F8B080000000000000BB57C89 -:105930000B7854D5B5F03E73E6994C9249C80B02EA -:10594000E104420C18D299BCC05BEA1D2089015ABF -:105950001B6CB52018068D90D76442A82DB5D80CC5 -:105960000611A8DE0B5754B06827400035E8A001A7 -:105970002718EA00922252BF98FB37F2FD5FE10B35 -:105980003E90979310B557EF55B96BADBD4FE641BB -:1059900022DAFE7FF8DAEDDAEFBDD77BAD7D86B196 -:1059A000B196F3D18CFEAEC98C1D3FFC9EA249641A -:1059B0006C4681D16A90A034772BC6020EBB01DE03 -:1059C0007595F935B1BC9F36B45FA2D766C17E75B7 -:1059D00066EA973908FD72B1DF9F476BB1BE416F30 -:1059E000356430F6B48EB94D098CC5688EC8B84E92 -:1059F000CC2063CDD07FAC8131631E63297AC6B0E1 -:105A00001DFA312394BB06F97AE3121A56309867CF -:105A10005C85D9DA9C81BBF53056C858DA28FF6816 -:105A2000DC5FDA4A3DD5C7687A940633638126FF86 -:105A3000DC0F33192B8E8ACD653F8052CFB2711F98 -:105A40004C13656D85F54AE4AFBAD2006EEC906CEC -:105A5000B0342B36946F671319ABD7029088FF339D -:105A6000795A711D6D77F51EE8D7939C66DD08E0C5 -:105A7000D8D4832C331FC6BBCA72D804C68E5A1C16 -:105A800039D62468679B241C1F9DC3C7FFAC2C7AA2 -:105A9000870CE3FB0FDF54E880BA3B0CCA01666554 -:105AA0002CDF3B7A81F61680E39442C902B075EC94 -:105AB00002ED688053940312B41BDDA31714DF8238 -:105AC000E7335A3ECC66EC174C627180970CAD639D -:105AD000BA15CEEB2CFB44CF34D83EA02F9F0AF74B -:105AE0006A854960FDA4A3704FB0CF8139319E1DF6 -:105AF000703E96A314627BBA6E20D602F7D1FF9552 -:105B0000B6CC63A671B13F87FA6BF8F7AF8C3DD77F -:105B10002953BD0AABE5375689EED795697E0CEF60 -:105B2000AF3ED568A4B2F36A29C379B4E59977C0CA -:105B30003C763D5B529E73FDF801AB86F695B10E47 -:105B4000103A86C8CBCE14F8BF28A6C26E369DB1D7 -:105B5000965F41C5BFF0763809D34FD208F896ADAD -:105B6000C5DAB0FE76EC1F6C6776230B8E775AA7EA -:105B70006E5D9B29D6433C2F639E49708434D620AA -:105B800031B8BF54E627FCBC644BA073D11FE0E9D9 -:105B9000D94453CB46A45719E8328F4A6681322D37 -:105BA0001AD683F6B4374C1EA4AB5D264EB7991AAD -:105BB0005EEED2F0FEFA28E6463A1D073083F26D1B -:105BC0009BE377B6249AC74FF3C8FB6D488FA39920 -:105BD00097D64F616EDA8FDA6F2CEB3621CCB40397 -:105BE00059844F5933EC7D26D9666E463A0B34D929 -:105BF000D947DA607D203A765528FEEA71BC3974BF -:105C0000DC2C1AA78E77AED2B08F46E1E1FD443F7F -:105C1000CE4C8DDD9383E3D89B521ED677EBCB63BE -:105C200082E37A9B8CEC23B8D7FFD3C4A83CDD6415 -:105C3000A1F5FF6F532A957F6B52A8FE6C533695E2 -:105C40007D4D56AA7FBF693A95772D8A2940FA770C -:105C5000F966B28F8C42CEC0FF9C5E9DA32F04EEEE -:105C60009D393C1DBD26E8A83763F8F66E6C077CAD -:105C7000F6DECAF1D97F3FF3ECC820BA5C6B49B8B5 -:105C80001EFF30C284E7EB8F610BBC704F6F17486B -:105C9000347FFF680EEFB7EA683EBB866DC5F16FD3 -:105CA00017E8F9FC133455D86E4FE0F3F666010C93 -:105CB000FB59307DE6CBC897F664A8CF0BC2BD5325 -:105CC00078BB7D0CAF57F7ABB6FFCE66E17428F01A -:105CD000DEAF83F57388DE697EB5FFD7459C0F2361 -:105CE000FB7B3235659E61EE23C1C6FB135FC07D31 -:105CF000B8910F3242F8A25E21BE50E950A5BF977D -:105D00006CFC9E330D82CE4127D0FDA16E40F99AE6 -:105D1000027C20D1BDD8199C679724F825921FA03A -:105D20004439AEF283CA072ABDA7019F4909C1734E -:105D3000FC28825ED5F2B495E3A53B39E601C26B3F -:105D4000A7CE02A210FA03221310BEB3C00EE34A7C -:105D50001E35370C27BFE2FED97B50E5C108F7702E -:105D6000DDF9F5BCFCBEE727F986721BE9761879E8 -:105D7000F5B53581F6A3D26D92CDFE5F483FFD9219 -:105D8000492BC54169E2741379FEB70BF83954FA0F -:105D900079C9C6B8BEC4734EBC5EDEA9E7193AE73E -:105DA0007246722F338AD747E2573D5788DC8BB152 -:105DB0001506EF93316E0F8C057B606346907E0372 -:105DC000495F2E43FDB5CDAAD0FEFEA09109FFAAE2 -:105DD0003E19AA97E425F373C2F40CB3001E070E14 -:105DE0001B88BFFD1A56F50A8C6B2555113CF76DC3 -:105DF000362E0F06174CD2AC827D05FE6E76A3DEE2 -:105E00000A8C19382BC1F8C0563040C87EB0FF58F4 -:105E10004A66EC7ED029A897AE809C63598CC9DB7A -:105E20003E3F2BC1BE976D9319DA350110DB328CE2 -:105E3000733D19E331F2718CC1B83A31AE79EBA7F9 -:105E400077217D9D07FA44FBE62353FD040676CFB8 -:105E5000EC6D3ABAC765317A0FD61FDBFAC48945B3 -:105E6000009F6F9714B4374A6533B5D73C2F7B70CA -:105E70009D3A73E94509EC9C407BCB535150EFDCD4 -:105E8000AB63261857DA2E59FD30FF726F0CDE0C0B -:105E90005BB645F77E5F76506EDE26F458D52EC988 -:105EA0000314C3AAB687B7D7EC0A87EB983608C3A2 -:105EB000FCB36C318964FF4D6636B4FFD896045448 -:105EC0005643723B92AE506D237EEC8D5C1E33F6D2 -:105ED00059F21D4097F2E1CFD3DF377378BE80CF00 -:105EE00001FCC9E7FCFED57BAB1732FF93D1ACC0F8 -:105EF0000BE7AC3F6CB2B8E160F51D329D23E08D3D -:105F0000A37B7645F5DD4E7C7A48B6A01DB6C12749 -:105F1000BBB1DDD969DAA98173D61F9018DA9F4E1B -:105F20009FC1C3EFE9EA326C5FEE3359146C3F64F2 -:105F300060328C0F00DE4C88C7717D847FC42BDA01 -:105F4000A7F0F763A928887F19F19518C457F3566D -:105F5000BE9FF37B397E4AE5D55AC2578BC4524265 -:105F6000F0FC67CD8B43F8C27EB3B7FDB50BF1BC37 -:105F70000CF6675010EF32E1F93CE007E7D51FFE61 -:105F800028BDCF1CC4B70CF8FEAD3A1EFA2FBF01D6 -:105F9000BEAB987B1DDA73DF17CF69C8FF4964F782 -:105FA0009EFF03DABD31608F23E908FB38A9B6F7FD -:105FB00078222C589170D9B902EA27A5BEC232C105 -:105FC0004E90E21D8F225F9F9DF39747101D3D73FA -:105FD0005FB4215D34EBFA5A9F860A777CB4157959 -:105FE000B03F63FEF6D7609DE2842FD3F723BFFC5A -:105FF000C96041727A42F023FE1901FF4EC6EF1BC1 -:10600000F0780ECFEFEC34F80D708FACBDC43E6469 -:106010000F4C407DECD5A39C2AD10F54AC407B1C87 -:10602000E6C375242023E4EBDACE3F9F96609CA460 -:1060300024B2C5081BCD7E19E769D35D193A37CC68 -:106040002359FE42FDDA6C13E8FC13537EA4A0FC36 -:10605000695EC81C5113BF4DCE3392F3CF0A7F65E2 -:1060600044FB6F0479AFDA7DCC3D361EF90BEF822D -:10607000F30F973BCBA733F127F842C0556BDCB148 -:1060800046E8BCFC666B2A9EFF63A4B358A4BF53CA -:10609000DA51B0AFBA5689F0568FF483FE15EA375D -:1060A000A8EFF70A39F27C77F1A8442C252B702A47 -:1060B000ABEE94AD7E68AFF6717ABA8E6E84FCA8B2 -:1060C00069E3F2E33A3A6A0338C44EAB47BA526125 -:1060D000C0F7C9A0FC987A0DF6FBF23426F4955B64 -:1060E000D05B4E5C1FD0CB2053E22C39217A4BE29F -:1060F000F6962A576EDA0AA23E64DDC91E23D386BD -:10610000AC7BF35E4B183CD59B1AD6FF073E25AC03 -:10611000DDE6CF0E6BCF3F610D830BBBA787F59FED -:1061200076DA1E06DFD25716D6FF8717CAC3E0C13C -:106130001C38CF3076C7901E4A95C2FACF514C61B9 -:10614000F3CFCB8E0F8307CDE27E841DA8DAA75F45 -:10615000D8B81D1459AAF7FB136BF83AAA5FFCD301 -:10616000E9E1EBCDB787AFF75DF1B21BEC7E2DD83F -:10617000F57B413F62F902D8FF5AB0EBDBC0FE4726 -:10618000F825B0FFB1F482FD8FF5AF80FD8F703B35 -:10619000D8FF081F047F05615F531995879ACAA924 -:1061A000FE46F7D725D63D21D63D29D6FD47EF49F6 -:1061B0002D9D6593345F009FCE4CB8A847396C6F16 -:1061C000EC2BC538C0C05B32DB810CE2F09C684A26 -:1061D000447D348AA1DDC2CA07DEC63845FD818907 -:1061E000968D0AEAA1FF7C07DB03EDB282F2FCA8E0 -:1061F000EF83589CE7CA17C087F938EE8358F48FAD -:10620000EBBE64046F847605E039FB4130903D03BA -:10621000720DFB67AAB047CFA02C6FDBAF477CD4D1 -:10622000EEDD4FED6F7975E1ED7B5BC2DA2DD81FA6 -:10623000CA5AAD87FCFB4B3E753E3FF5AFCB94ECA5 -:1062400068175FDAFB9FC9CBB05FDBBBC9F77DCBBB -:106250007D7F72F0C51C94EB4ED0C37E73701E67B9 -:10626000874EC07CDF7599FB4B135011B4496C12FB -:106270001457D826B60AE45DADAFB50EE5506DF6FD -:10628000221DCB207924E20D206DD15E42E71EEE67 -:10629000EF8AF7D3D8FB60DE37BCC76FB723FE3A6F -:1062A0008FC5E2BAFDED72983F73771EB75BEFCEF4 -:1062B000D313DEAEB41F8B55A07D83F718BF6FAD2F -:1062C0009FCE7D54C0FD50D23DFB643A77F5171A3E -:1062D000BA7F75BEFBF3649A678E6F520C9EABC794 -:1062E000CBD773E529B4CE9CCCA595B8FF93A90B69 -:1062F0000B65B2F34030A35C9D32AF15E303B55E8E -:10630000D93E9CBFB546CCDBA5E374F856E6AB5D41 -:1063100063803E4E968DB291CC17FD7E93C7EDF112 -:1063200052BD2313F5428F5989413A7EB86C620CF5 -:10633000E2F52896585FB653EF80B2A69DAFD763BB -:10634000E98E457AEB69CF97D16E51E75B89EB1601 -:1063500086D0F510DEDC84A72A4F8B19E709E28F7F -:10636000D7BBF2B81D7ED2F3EE5D68A7F464475B3D -:10637000112F5D7A46FE6D2DE015F5414F675A0BE2 -:10638000DE83BA9E4BE0A33F5B43780DF874A2DF37 -:10639000A25616D64FC7F1B52B7C3F16CFB97F5BFF -:1063A000847AE959B0ABA1BA4ED7908CE7FF787BDD -:1063B000F8FEAAC43DD7E9FCC9C921F45AD731C4B3 -:1063C0002F66A2EF0E953F14C2A78AC79E6C6EB7C8 -:1063D000F5A41A3CE82FD6ED6F25BABE3EBED39D7C -:1063E00081767EDAAF8D1437BC913FABDA01217E26 -:1063F0000F433F4E5736B1503321A8EFAFD9EC2FA2 -:10640000E615A23F544EFE5E0F1B5886CADF897602 -:10641000701CCADDBF3D85EB0EB683BD07EB3A8D20 -:10642000BEB91F829D35680546817D0F6ED7798480 -:106430007F6246FB7499B04F3F561C4532E857E7E0 -:106440001A0D9DAF2E278ADBB5424E7EB23FE3A7E1 -:1064500048AF7527648B11ED50F05B086EE3764111 -:10646000BD37E3DF67A0BDDDA6233B40B53B9CC243 -:10647000EE382FECD9F36B06F464AF1E96D813B048 -:106480008F2ADFE6AE346877E6CC257BD529B75175 -:10649000FC71F9D670BBA0DA130ED7EE0D879D11F3 -:1064A0007683EAB7F5E40DD90F93D1FF289167A45D -:1064B000201F7C2CF0A9FA232BA75A5390DF3768B2 -:1064C00095B96A3C00EFC975F8D56ADCAFA72ECA4A -:1064D0004A7EC1AA43749FFD9F71BFA33F9571FB84 -:1064E00088F17BEDF771FA76E924EE6700B9D27C8A -:1064F00046C9B3069AFADD83B12497182B437E6808 -:106500005CC8FD483BC65CA1DC9727E24511FAF266 -:10651000566D9F1C1F221F3ECB9B40FB2FD633077F -:10652000EAA9953156D25BE38DDCDE2E59EDB5211B -:106530001D8C07FFD81012CF1E6F1E90B0DFAE87E4 -:1065400078FC5CF5EFE76B2DBAF810BD0792276C6D -:106550007E90247CFC8DE6B7C0FCE6E0FC70DF7129 -:1065600078DF9F1658491FA7CF67AC9BF8B181F819 -:10657000513DCF15A0B362A0338C9920DEEAB61F3F -:10658000A138B09375933F521ACBF7518AFB41382B -:106590008A97967C2E37CAF3F9BD350B58955B6FF9 -:1065A000E5DBE3F3A1DC9BEF48CAA77A0BD1E54A10 -:1065B000412B60A7A4F40D23771BFFC2FDAA4F81D6 -:1065C0000F90CFEF699094CC303B88D3B78B57B105 -:1065D000CBCCDB3B03EFC16DEFCE4E463F8AF3D50C -:1065E0009255262533844E5D48E7702F5596EA1F55 -:1065F000A3DDED5895AC60BCDF85743F01AF91D34E -:106600007522FC43FFE23A3AF786C3F0B71DE9ABC7 -:106610009E19ACA8475CBEC876AB16E33AF9F9C040 -:10662000073707F9205DD0658B43F2A0DC6FF94A8C -:10663000CBE3588B258A5BDD09954897F487FDAA43 -:10664000667A70FE3B01447F886D4924BEA1469066 -:10665000233F17E7BD53EB3F827C7C5CE7CDC078DE -:10666000CA7127CFEB2C646070807C59CCBAA9EC3E -:106670008DAE3FE0A7C9DDE3D06F7ECF61A0384E7D -:10668000CBDA1D31284F73D95ACBF96C54EE6CEF2D -:10669000B5FC91ED0A2024765EC50BC5853611FE4A -:1066A00055BCEECDB7CF47FC8F34BEF6AF076E4773 -:1066B00097A2F681567D0A279BEEECA220FE5CCCC9 -:1066C0009B8DFB55F135843FD8F358B887056CA0F6 -:1066D00008FD1A156F46F8371CDED4FB4CD70DFCAD -:1066E0000CAF0CF412C997487CAAF75BCF1A743C24 -:1066F000CED5F0CE42E87FF75A8D82F6E175F8BD2F -:10670000011EFC26DEE48F91C8DF1C092F2A3E54AF -:10671000FC9C8EE7E34EDF23539CEEFF355EDECA22 -:10672000773CFA6DFC18C97F23F1DB9255117C1977 -:10673000C17F2ABE1CAB6289CF543CD6298CFCD6C3 -:10674000BACE18AB8705F167867F883FCC53503CA3 -:10675000A65D62CF48DF850FFB28AF11891FA00D12 -:106760003BCAF59D11FCA7E26D24F9A3CAAF33CC57 -:106770007FDC22517E80F3E7AF0C1ECC2FAAF901FB -:10678000350F704CC8BFC8F20CD81D9877D998DD6A -:106790009384F65AAF5E9D87E71FCFACE91EB70220 -:1067A000C69F99C9CB5EB4D342607B148FC39D1939 -:1067B0006D70E3BD9D9126CF423D7E46FAF5ED1CFE -:1067C0004ED12B082F4C996501B857A7C6ED1E1660 -:1067D00072D843E59985D38AA99FC4DEC4FB5024AF -:1067E000564EEB48524219ECE7CC0393F29A59F01B -:1067F000FCAFE4737BD62BE4F9501CFB3712C5B118 -:1068000097800AB060BC7DD6D36513A0FEEC8313DD -:106810006D94FF6B0C5F1FF56806C50737D37CB717 -:106820007E31A05B9A13DCD790FE2BBECAEB2B27E0 -:10683000913F512570684F98CCFD58CFC438D4474C -:10684000AA7E1A3CF1AA39347E7911F417D387C095 -:10685000931F4F0FD56F4776FF3E0BE7A9D2BB734F -:10686000AD507FA1E50FE9680754ED7E348BECD283 -:10687000DD1BB2D0BFA8DAF1FB2C3BC1D10EF26F09 -:10688000B4FCDC97F7DDB27363881DFC6021F70B65 -:10689000161B8F94A07D3AF7E64F1EC178F8A40727 -:1068A000258A8BDDC3BA1F41BD5991CDF9886D3161 -:1068B000925C87F928EFD83AF927BB509E9FCCFE0F -:1068C000405709FD4C055ABA8F0AE6792C05E36159 -:1068D000EB258A8705FB8FA33CE6D2B5923E3511A6 -:1068E000F561BC4D56705C3CEDE3DEF5B62EACAF09 -:1068F00058CDEBE71A3CED3D38CFD37A6BAB821322 -:10690000954F280FC90B9B0AB8DFB5E43189EC71AC -:10691000759D494F25B7849ED35420F4F98C6EE2BF -:10692000FF9F0ABCFC78F5BB6FA62A984F72C4156E -:1069300040FB3B4F9ECF44F9559C703107E97C9258 -:10694000DEF14C359E7B8781E28705B969720AF4D6 -:10695000CFFBE5CC27B05CB27AE933D51807DD6A06 -:10696000243F4ADD5FA3A468D0DF3CD6F28B7BF1E5 -:10697000DE2E3C69243BBAB1E5A614360C9FAAE58D -:106980001EC0BF92C5D8F34D462A5F6CB230058E4B -:10699000B8AF2995E0979B142AD9024E5F8DC25F4C -:1069A0001D69BE7CF0F715905705EB613EB0376D61 -:1069B00026FB143CE7A429CE1D1BC4B926C1789B35 -:1069C0003B6336DE43C186155D688A2617F0FCE21C -:1069D000DB3DEBD3C98E5E7DEEB96A685F5A509E8F -:1069E0005F00F76DDC7E95FCFC631D8F56505C7F6D -:1069F00087819F4F9CFBC2935929CF60DCF52D1DE9 -:106A0000F9DFAEEDE79EDB00E57D8FADD087D2FBF1 -:106A1000773DAF4DECE7467C35D23D7C7FBEFA7DBD -:106A20003AF1CF0EE0AB9C7F9CAF5CABD7D0FD3D85 -:106A30005A507E37DEFB059D3B1DF9E9C2E41F116C -:106A40009DBB0F4B74FFAA1C57C72F10E7ADD5781D -:106A50001F237B50C8F1CFC1F3C3FB3DD2F17116A8 -:106A6000DAC39FFB167EEBB90F3661061DE35A466B -:106A70002A23DB8BF48E8956385F9186DBC191ED3A -:106A80000F17A871719E6FC73F8C0BD709FDE98462 -:106A90008DC525A0FE93FC51B998E7B8EDA216FD6F -:106AA0002FF0EBDE0FB72FD9FB217A7CA4FDDEA8F7 -:106AB000ACC779B441B93BEDB486F943F4F62D7D0A -:106AC00051CC1FB2EE90DF01757ACCB3748C26B92D -:106AD0008078C3BC4CA063F20E842FEA391E0307F2 -:106AE000C1BFE27115261705CF79B1E3722ECAD95D -:106AF000C8F3D61FBA4CF451E77BF4AA44E79F735E -:106B0000519B7BE3F31FD97D3917F17751D7578418 -:106B10007E5440DF978B78A87F9DCBF3EF7B0F6A85 -:106B20007DF57A3D8FEF4916F2074BE42BE4C7075A -:106B30004E703FBEBE6327C9D3C14E1E4F7169BAA6 -:106B40004B5330FED070AE0BE5D9602AF7AF607EB4 -:106B50003BDEDB8C89420F6A07D2E7835C3B2AF27B -:106B6000B5AA5F7701F9578FF378EBE83D526E34A1 -:106B700043BBE212F233D457ACCA5887747EC19338 -:106B8000849120F676EEFFD453FCED8D688B4C7625 -:106B90002BD486E06FE81C1E993F9C61AA9F1ECDF6 -:106BA000EC21FD5C7AE5A7E41F9FE47932D714CE8F -:106BB0004FEC10E727E7DA23FAD490F95E52E58725 -:106BC000B01FE7BEF13FC497A76CF65328CFA25180 -:106BD00016E27CA9711E4912FD8A82794073A7F0E2 -:106BE000C7CB646A77F964361AC7A4C650BEBE8C98 -:106BF0006DD2A2BD3B977967F077327DFFF643688F -:106C00009FF7869C8FEFB1C07EA6FC71699423B379 -:106C100011ED238D24EED55B303F549F15727B6BB5 -:106C2000862C911E1B181D4D76CA9C05CEC5B85FDB -:106C3000B55F9996EB339887EC2CE619C8C57C268E -:106C4000F30FE4629E53ED77D71BD10DA41799B7CC -:106C5000E0AE9075C61472BDF929E69F419EB84416 -:106C6000FEB344FEEA29F4A31A0FF33C61AF26E316 -:106C70003D7CAFE5867B46BC5E06BCDA51FF3898AA -:106C8000DD8EFC3335C983FCE3DA27317CB756DF70 -:106C900061D881719D7A5D5F32D2F306DF5FF5487E -:106CA000CFAE03EFEA95A9389EC781C05ED7E0FD5D -:106CB000BA84FE72FA6E7A0FE36ECE135C8B3AB52D -:106CC000EF925F5FDBBE9FFCF73AE627FFBDAE2D7C -:106CD0009C5E0653799C3D923FC6142A617C3167C5 -:106CE0002BE78BBB64D680728E89B8E99CD414B232 -:106CF0004782E3849D285F7E04ED97FE09925582CA -:106D0000A9FAA3DC6BD12E7267717BA6FF4F2F16F9 -:106D10002C23B9E229F819BE8B11F6EE9CF59BB530 -:106D200072C87EE674F238617F14AB3A48F8768C0C -:106D3000453CA4E7958F2DE4EF6472E99D8F86C7EB -:106D40003523CFF1AC88E39CC4384F4E70DFF3D2CB -:106D5000D2B81C631EA29F2E0D5F5F7DF7A28E5FCF -:106D600021E869C81F92787C6A24B98279944A9193 -:106D700047A91479944A9147A91479944A9147A94B -:106D80001479944A9147A91479944A9147A914799E -:106D900014AC3F895BA5F7703B9F417AE8421E1B0C -:106DA00013847B1322E031E1FD7B13A470788C44C3 -:106DB000FD8B0B773EE3CEC138A645C8252506EDF1 -:106DC000AF0B261E5FEA8871CC2D84FACA39CDBB81 -:106DD000F97B443BBD67294E58B818F96B30D1C0D8 -:106DE000500EB90B1DF3111F274ECCCEDC4CF2D147 -:106DF00064C53C77EFDD37C7515CEE2D99C9B0E42F -:106E0000CCECFCB50500CF344B44B720277E50AE08 -:106E1000FA9330CFEC4E9ECF2891EB2A71FEC6D16B -:106E2000A67C8A6BE53B161586C40F4AC72CCF4457 -:106E30003BA84BA7BC87F154F75F740CFD2835FEC7 -:106E4000A6F6EBCD9B598DFB9A933D716D1ECA1B27 -:106E5000602E946F763D6BC37DD935D15233C92BEB -:106E6000458BFC5F2DF03D4BE1F6B05FAF6813D072 -:106E70006F8F9A99E85678BEAA52E4AB2A45BE0AAB -:106E8000F1730AE36650BE03F55876433D9691EFE1 -:106E9000B9761794AF24BA6503E9A1EFC1E6225F82 -:106EA0007139938EF4FC8288C367178A7769F9E594 -:106EB0000FF2715E9AA756C4DF2EEBC2F378EAB8E0 -:106EC000E07846E51D3FE0F299C5E9F97BD7B1CC02 -:106ED0008DEF69EF786D34C593021E8D5B17073017 -:106EE000F038CA2FF61AF76F592AE7973B5E4DA183 -:106EF0007ECD220EEA4CE8CE4A40BD2BF84A850FE3 -:106F00007EC3DFF938F30086F275899FCF79477722 -:106F1000563CC001C9A4C1F8B873076FEF117CE7F4 -:106F20009C20E613E761466F3AE2A3FFF06BE9F7B6 -:106F300002BCD1EC5FC6E5BD3F8BE434F367E17B77 -:106F4000A1CB92F72CBEB7FDF5C17F5984EF6B2F13 -:106F5000EBBCCF21FCDB8333382CED3F6B096D4F4D -:106F6000F2A6E37BDC5F1FFCE1227C9F7B3969FF9B -:106F700073F1D61058F7CA596CD73F3C635131F4BE -:106F80009F67F09C6842BA7999D39769DF81F3785B -:106F90003FB51DDC5E9FB5EFC09557501F1F88A100 -:106FA0007CBDAF3083EEBBB963CF63486F81FD3AE0 -:106FB000E2838D6D7F7DEEB7D4CF40619479066F0B -:106FC00001865CDC457FBB1BF7352FDAFB19C29BC2 -:106FD0008B6EA37DCE1BC5F9F9A9A2B98B903F0397 -:106FE00007F6FD0AF96F5E1C18B2B89F174D849F13 -:106FF0009A572717631C2010D35D81F3D7BF60B069 -:10700000229DD6BC9A320BE302C70B797CBA7ACAAE -:10701000A674D4AF9A43CFEFFE2DC6295F30517EC0 -:10702000C695C0EDBB1AB9A56805E16FE76E7C3760 -:107030001278DE4479D26A9803D7ABDE3D89E2EA62 -:10704000AF7FFD4105E2A144DEBE1BEB3FDB65D215 -:10705000E03DF4E8ED713F423EECD1919F592DE0C7 -:10706000EADE517C3FD17DA584BFC44DE9A85F6BAA -:1070700046FDE676DCF73C79D373E8E7B03D06CA17 -:10708000155C7C1EEE0DC65D6CD5D12BD5C0F331E1 -:107090005AA497CBD2A68A6770FE56DEEFB2691368 -:1070A000DDA7BBF52686EB413F86F2EAB2B439ACE8 -:1070B000FE62EB9E5CF4432FBD308FFC5195CE55A4 -:1070C0007EA9D96508D387240992C57B0952B36E7E -:1070D00066063D5B2DC04B07B7059E61C1F197DA8F -:1070E000747E3DDC51B581ADC5F7C12A3FD4A4DD26 -:1070F0005686E7ABD1B464A1BD529DDF57817C7148 -:10710000D1C48CA9F88E4EE8AB9AF635F3D1EE1DBA -:10711000693FB1E25DDFE7820F3FF7993CA1F9C11A -:10712000C8F26F4D4C3915F26EF89E0603D9EEEA9F -:107130007C6FEBBD75E89FD52770F97116FAB781A2 -:107140001C331771B9B76455787FA988BF4BACD78A -:10715000F765A1DE53E7FFA650956B7D5928AF2256 -:10716000C7CD9385BC7951227953D32E9D93E19E4F -:107170006A8C6E0FBEDFA94167929F537B4DE2E39D -:10718000528BC4BDC3D8A78B3268DD9A3693DD0419 -:10719000E36AA3FA62D11EAA8BE98B453B277048AC -:1071A000663B04BA1293057E26089485C41DABBDC8 -:1071B0003ABB2977183CA3DD84EF73F0BF61FDB6BD -:1071C00022CE2755BE685A8F59FA8A904EABB687A1 -:1071D0008FC3735942F82FE0DB991CEA8FDBC4BEE2 -:1071E000FBA573C427FD5FBF9F8E78AFD1B0B59864 -:1071F00047BC24F1EF1E00A6EF1E2E897C64CDDF74 -:10720000CD51482F973EAF23BE0D487D24D7CE1CCD -:107210005C407229A0EB23B9D6535441F22110DF10 -:10722000578172EACCC17ADE3EBAAF4281F64E8413 -:10723000B17D1C237D7FB9E801921FF364FEBE81FE -:10724000EDD459781C687D6F13F9153A25D4EFBE3B -:1072500052A4E66DF4C173CB41BE0930655F3BF2C9 -:10726000619599E239603FB5BD8276DEC2642BC676 -:10727000C5AB701CA7037D68FE2F31E1CB65889FED -:1072800045718E3B8B308F9DD347FE035035D9E936 -:10729000F57F32901FD9AF1BD88D722A37CEB1B08F -:1072A00008F651A7EF5E87A1A72BBABE2ECCFBCD67 -:1072B00095B93C627B385D057276F2EF2444FEB0EE -:1072C000BA88CB5FD05BAC05E942E2F83DE67BF5DE -:1072D00014CA9540F74492C7917C73D1F7442CCAE5 -:1072E00087D3A0C7DD217EFEE9A57B284FBF00DF45 -:1072F000654079EFDA707A18FCEA67E4EFB1C742CB -:10730000EA910EB784C3917484F4E80F933B6EA2A4 -:107310009B3D82AF6A6775D7E33D0CC177002C8730 -:10732000C04723E088FEAC9CDB097BF0BF61DEBA7E -:1073300071FE5EF2CFF7F177B1CDA0BF083E104DE0 -:107340007963CD3ED04F895C3FA15EA88DEDA6B894 -:1073500054E08081F2230F777C4CEF19810E29FED7 -:1073600052DBF15A32FAED3EF41392480F26D33B2A -:1073700095031DC9E86FA8F5751A6F96788F4F763B -:10738000BA5AEF94FD59B8FF5AA93B17DB7D851611 -:10739000D11F60196146E7A89338BFB30E99E4790D -:1073A00024DEF60A7A05B9904BEF2C0EF1B8802A4C -:1073B00007AA853C398AF5399CEF2D6A5E49C2F7E8 -:1073C00072D1C3CA879B8A547BB881E236BB8A14C8 -:1073D0007EAF623CCDCBE34AD45EFFFAE5DC0939EF -:1073E000384E11E342E4D0C4A05C41FE4F25FE7F3D -:1073F00058970CE7AA794EB236A39C5ABCA614BA89 -:10740000B3E5DA15A5142F13EF3F23F7154947F617 -:10741000228EDF1A4D7C4962C87C97C05D4FCD2318 -:107420003943EFE8EF4F7CBC14E313BF58BC99E835 -:107430007948DF84F2399E673B97E3C836D734D763 -:10744000D3F1F286967529C3EC23729FD58E96D21E -:1074500064E5FA7A75BF974CEAFE66E99242EF61FD -:10746000C19AD22428971BFFD17BE0E7BDD461F0FD -:10747000A35EAD5EBC625DDC3074739D3ED81EA21F -:10748000BF26207E3D94D71869FF91659DE4EFC526 -:10749000381103BE6A25FE027E09D10B6542BF0E7C -:1074A000C51BAA968E47BF9339968E473D037C55E0 -:1074B000611DC6AFC42F4B34F476C34D65E47E3EE8 -:1074C0002BE271D2B222CE2FA76CF66F50BE8EF493 -:1074D000BD85619AF4ADDF5BA46906DF417E4B4B4D -:1074E0008E51300F54323B9AF73B6CB260DCA6FFF2 -:1074F000F09714D7ED7FC4BC80E70BCC6C34B47725 -:10750000A54EDD11AA473CD3385F461770BBC59521 -:10751000ADFBF6B8504ECC505C88EC869C68CA93A4 -:10752000047C9F92DEEAEF2CB4603E23D00DDE2176 -:10753000F093EBEBFF4A46FD1AE8FC88DE8305BEBC -:10754000FA98DE896D10EFF48EFAC43BAB6E258697 -:10755000BE8B2BFBA014FB6D1465303EC0E35A6A52 -:10756000A9FAFF21FEEF946985C3FABF090E73687B -:107570005C4049192E8E121A17C8D4F2B80096181A -:1075800017C8CCE4710184312E8025C605B01EE3F6 -:107590000208635C00618C0B208C71012C312E8001 -:1075A000F59F89EF1FFA4130F178A599E4FA4A7CFA -:1075B000DF0EF7B7F230CF3BAD6C95297F8BDF3F05 -:1075C000A07EBBEEDD4CBB7837E3DD4C793CD701C8 -:1075D000D98A2872E9068E631CC7B55FB2AE41B97D -:1075E000D2B480D6DFD059F8DE62AC6FD559350AF7 -:1075F000D111C7638B44EFF46B3A5B29EE549C7254 -:10760000584FF56D12C338E95D06EEE73A65A8CD2F -:10761000A33C28D9C14E4337F91FB57B25A532F4C9 -:107620009DC6F4AB2407D47CF232DEC49C5E935238 -:1076300039CC3B90A177E7E2DDF432CC33E37B71C8 -:10764000F92B7AD7EF04877414D2E156FEFED902E3 -:10765000FF88DF23DE35D574EE5F87EFA122F3CDFF -:1076600043DFD345E49DEBA789BCB28D7F5F51F624 -:1076700064E5BE03B0DEE02603D91BEE42C703D3A8 -:107680009230EF6FA7F8C8F1C326F28B3EDC7C5333 -:10769000587C84E53B1E9C46F9F9B114AF68D44987 -:1076A000A48F67974D4CC17B9C7D42477AA737AF2B -:1076B0007C35F66B9CAA503CAAC4C01EA079C47B42 -:1076C00029151F25CD924703F05266A577F64BE0AA -:1076D0009A305ED9AF33AFC7774D4B187FE7A0D252 -:1076E0004DE36689E8060304789F15E23E9774FE31 -:1076F000F94B7CC7709F81DBAD691A9EBF4EDBC81A -:10770000DF33DCCF1C7AD4B3CB91BA64D28F7FEA5B -:10771000837A47F4D8746E972B2938FFD2933A7A3C -:107720006F5B92F2932C07E9E9627AC720F917C9D7 -:10773000D76E1E997F22DF311CD771B902F748FE40 -:107740005017D225C5651C549E6CAAA2F277E27B25 -:1077500088EBDFFF0F9C453F312D25C68A726EC432 -:10776000EFDDA2BEFD7BAF17C4FBB5344D4FBE822B -:10777000F7F177B315EF437D2778CA56BE1FF16442 -:107780008F656E0B7D0F061210EEB5140F22615C33 -:10779000DB6BC7EF8E060E4B167A977C9D7CDCFC6C -:1077A00008BE1371654A1649C1F8F7A69264D877E6 -:1077B000E9840CDAB7CBC7E3A37443C9183FE7F8F1 -:1077C0004ACF731C9B5618AC9F27F82600FD399DA5 -:1077D000FCD083F4F61DE2A6BBB0BF9B99E87B6AA0 -:1077E000FA83FDCCBB791CC54F55BA196C4BD981B6 -:1077F00074F39E90FB8B17BFAB43FDDF9BEFE8C19B -:107800007D54545E7D2499CE377CFC4A7DA71E1999 -:10781000BF0A959FFF3FDEA79F6A6AA0F29DA6550B -:10782000547637B9A93D44FE5F1A41FE47C63FAFC3 -:10783000227F47C63F99518923FD09FCCDE3CD1135 -:10784000F1CEB251F7AE87FB9BBD456FC52A35FE21 -:1078500089EF87579A491EFCF7B461E39EEABD9908 -:10786000294E3AC84C7978FFB3B2276A35D0AE9D1D -:10787000CEF1A7C61D913FF07CC81F58227F68B586 -:1078800041FE78560F2C5CC0F5BC9BF4BC89F0BA65 -:107890006E0DC80F80EF639630F97125427E80C36C -:1078A00071377D57D56960182754DF51CE82E28B3E -:1078B000BC61E48997CB937151DEE7E97BFFFA283D -:1078C0007A9F7B5CBC873BBE81BF87AB64E5B4EE2F -:1078D00030722516F171DFA881B37F80FEF7FDDEDF -:1078E0004CF6CABAD1CB8AFE19B9724D7CD7F234A4 -:1078F000FEAE80F6DB7E57E03109F3A18DF7301B39 -:10790000E259FD5D811491CFFE1EBF2B306D7AE1EF -:1079100077FF5D815BA78F5F1CFABB02B7FA323835 -:10792000ACFEAE001BBF7884DF15983D3DE9FADF61 -:1079300015B86D3AF71747FA5D01B027CB705C9226 -:10794000CD3E07CB34B1CFC8EF694F8AFC5D97C6F7 -:10795000B118CBD258B796EA359E02FA0E5EE3FD17 -:1079600025F981F98E9FE3794B9FB04DC90638CD3B -:10797000E02539D99B67BF13EBAFD9EC77E13A919A -:107980007173C42DFAF7B09FBBB13DF2DD958ACF7C -:1079900015D3B9DC6814E58CE6E1BF276F9CCEF304 -:1079A000F237DA37ECB706D71BDAFFA6A505B81F02 -:1079B000D86F2DD6C37EEBB064E684B0EF53AFA78B -:1079C0003337D155E3744E5F20CFE67DC8ED412AB1 -:1079D000B3B49E78B41FC73CE489C7FD8E691930E3 -:1079E000E177107F740F9850BFFF71F58009EBFFAE -:1079F00068E7EF9523E77F793AF703B2660CD0F892 -:107A0000F168E3937D3E108FF65356D587EB28DF60 -:107A1000B27732E997F142BF8C7F6882AF0FE86D91 -:107A2000FCB638CA67B3E2446AAF31723EAD79A89A -:107A3000F2E00185BEDB9AF76188BD33D903FB0E06 -:107A4000B3BFB483FCDD25C0784F7B750423CDA282 -:107A50007DE564FCDDE5182137D04E5B0C72C15921 -:107A6000F5E69794F7C7F1381FE66891FE7CBA41B6 -:107A7000F17D9A05FDD0E50BD674915FB875A85ECF -:107A8000F899FBD7A1DF0CF65B587D4DE5912ED41C -:107A900037B57BC3EB9D0D57C97F05FB2DACFE9E13 -:107AA0005F9ED3F3DF2F08AF07FCEE45BA54F17B9E -:107AB0005CE79D8C7EDE71679495BFDFF7D2EF9512 -:107AC000EC10DF3FEFFC8F599C6E04BE61BC377435 -:107AD000FCC8F4D14CFDDDB35836F2C38D4A552EA7 -:107AE0000DFDFE899EB929BE373786E48E4BF855C9 -:107AF000F59516D2F369F546925F25729415E1A1CA -:107B0000DF3F2993859CF212FFF7DC1E4F713C3A50 -:107B100000C2095329EF93DCCCE1812403C9871209 -:107B20004D79DD1E28DFD4847FC7FE2CCA0719F9E2 -:107B3000977F87E9D27BF977E25AA510FDDC66C909 -:107B4000BE0DBF7B6C96441CB1DA4CF9827E8C2F43 -:107B5000C279B6C47BB62D8375B6DC9943F6713F06 -:107B6000E3F2D4BD80E7ADB6C4972F5E81ED0BA7DD -:107B700050FBC16F263E5E80F653759415EDA72D20 -:107B8000366E5F6F999F4DEDAF4BCA1A3CB7FB2124 -:107B900046EB6C99CFCFBDE5F171E2FB0B8F09F994 -:107BA000794B8B7D34E6A366591C17105F63443E06 -:107BB0006E4B06D443F99454BEF07E9C672ADFEFE7 -:107BC000EF6C0AC98FE30BA73CBE5B2135E2C7BC53 -:107BD000906B6E0CF9C1FF0BB81F749470470000D6 -:107BE0000000000000000000050207000000000087 -:00000001FF diff --git a/firmware/bnx2x-e1h-5.2.7.0.fw.ihex b/firmware/bnx2x-e1h-5.2.7.0.fw.ihex deleted file mode 100644 index 280bbcf..0000000 --- a/firmware/bnx2x-e1h-5.2.7.0.fw.ihex +++ /dev/null @@ -1,12847 +0,0 @@ -:1000000000003BE8000000600000068800003C5053 -:1000100000001968000042E0000000AC00005C50E5 -:1000200000008DE400005D00000000EC0000EAE844 -:100030000000E3000000EBD8000000940001CEE0D7 -:10004000000058E80001CF78000000C400022868D2 -:100050000000F9700002293000000004000322A80B -:10006000020400480000000F020400540000004594 -:1000700002040058000000840204005C0000000636 -:100080000204007000000004020400780000000078 -:100090000204007C121700000204008022170000F6 -:1000A00002040084321700000604008800000005E6 -:1000B0000204009C12150000020400A0221500009A -:1000C000020400A432150000060400A80000000489 -:1000D000020400B802100000020400BC001000007E -:1000E000020400C010100000020400C42010000030 -:1000F000020400C830100000020400CC40100000D0 -:10010000060400D000000003020400DC0010000020 -:10011000020400E012140000020400E422140000B3 -:10012000020400E832140000020400EC4214000053 -:10013000060400F000000003010401240000000098 -:1001400001040128000000000104012C000000004F -:100150000104013000000000020401D00000890603 -:1001600002040004000000FF02040008000000FF79 -:100170000204000C000000FF02040010000000FF59 -:1001800002040014000000FF02040018000000FF39 -:100190000204001C000000FF02040020000000FF19 -:1001A000020400240000003E0204002800000000B9 -:1001B0000204002C0000003F020400300000003F59 -:1001C000020400340000003F020400380000003F39 -:1001D0000204003C0000003F020400400000003F19 -:1001E000020400440000003F020404CC00000001AF -:1001F00002042008000002110204200C000002008A -:10020000020420100000020402042014000002195D -:100210000204201C0000FFFF020420200000FFFF5A -:10022000020420240000FFFF020420280000FFFF3A -:1002300002042038000000200204203C00000000DE -:100240000204204000000034020420440000003575 -:10025000060420480000001C020420B80000000131 -:10026000060420BC0000005F0204223807FFFFFFE5 -:100270000204223C0000003F0204224007FFFFFF6F -:10028000020422440000000F010422480000000084 -:100290000104224C00000000010422500000000074 -:1002A0000104225400000000010422580000000054 -:1002B0000104225C00000000010422600000000034 -:1002C0000104226400000000010422680000000014 -:1002D0000104226C000000000104227000000000F4 -:1002E00001042274000000000104227800000000D4 -:1002F0000104227C000000000C042000000003E840 -:100300000A042000000000010B0420000000000A85 -:1003100002050044000000200205004800000032F1 -:10032000020500900215002002050094021500202D -:1003300002050098000000300205009C0810000033 -:10034000020500A000000033020500A400000030F8 -:10035000020500A800000031020500AC0000000208 -:10036000020500B000000005020500B40000000610 -:10037000020500B800000002020500BC00000002F7 -:10038000020500C000000000020500C400000005D6 -:10039000020500C800000002020500CC00000002B7 -:1003A000020500D000000002020500D40000000198 -:1003B00002050114000000010205011C00000001FB -:1003C00002050120000000020205020400000001F5 -:1003D0000205020C0000004002050210000000406F -:1003E0000205021C0000002002050220000000138C -:1003F0000205022400000020060502400000000A59 -:1004000004050280002000000205005000000007E3 -:100410000205005400000007020500580000000813 -:100420000205005C000000080205006000000001F9 -:100430000605006400000003020500D80000000665 -:100440000205000400000001020500080000000190 -:100450000205000C00000001020500100000000170 -:100460000205001400000001020500180000000150 -:100470000205001C00000001020500200000000130 -:100480000205002400000001020500280000000110 -:100490000205002C000000010205003000000001F0 -:1004A00002050034000000010205003800000001D0 -:1004B0000205003C000000010205004000000001B0 -:1004C000020500E00000000D020500E80000000742 -:1004D000020500F000000007020500F80000000718 -:1004E000020500E40000002D020500EC00000027DA -:1004F000020500F400000027020500FC00000027B0 -:10050000020500E00000001D020500E800000017E1 -:10051000020500F000000017020500F800000017B7 -:10052000020500E40000003D020500EC0000003779 -:10053000020500F400000037020500FC000000374F -:10054000020500E00000004D020500E80000004741 -:10055000020500F000000047020500F80000004717 -:10056000020500E40000006D020500EC00000067D9 -:10057000020500F400000067020500FC00000067AF -:10058000020500E00000005D020500E800000057E1 -:10059000020500F000000057020500F800000057B7 -:1005A000020500E40000007D020500EC0000007779 -:1005B000020500F400000077020500FC000000774F -:1005C0000406100002000020020600DC000000010A -:1005D000010600D80000000004060200000302200B -:1005E000020600DC00000000010600B80000000068 -:1005F000010600C800000000010600BC0000000069 -:10060000010600CC000000000718040000A900004B -:10061000081807C800070223071C00002C2100004F -:10062000071C800038930B09071D0000292B192E89 -:10063000081D685052F60225011800000000000055 -:10064000011800040000000001180008000000006C -:100650000118000C0000000001180010000000004C -:100660000118001400000000021800200000000122 -:1006700002180024000000020218002800000003F5 -:100680000218002C000000000218003000000004D6 -:1006900002180034000000010218003800000000B9 -:1006A0000218003C00000001021800400000000495 -:1006B0000218004400000000021800480000000179 -:1006C0000218004C00000003021800500000000057 -:1006D0000218005400000001021800580000000435 -:1006E0000218005C00000000021800600000000119 -:1006F00002180064000000030218006800000000F7 -:100700000218006C000000010218007000000004D4 -:1007100002180074000000000218007800000004B5 -:100720000218007C00000003061800800000000290 -:10073000021800A400003FFF021800A8000003FFF9 -:100740000218022400000000021802340000000019 -:100750000218024C00000000021802E4000000FF32 -:100760000618100000000400021B8BC000000001EE -:10077000021B800000000034021B804000000018B3 -:10078000021B80800000000C021B80C000000020C3 -:100790000C1B83000007A1200A1B83000000013806 -:1007A0000B1B830000001388021B83C0000001F4B0 -:1007B000021B1480000000010A1B148000000000CE -:1007C000061A1000000003B3041A1ECC0001022711 -:1007D000061AA020000000C8061AA00000000002AF -:1007E000021A1ED000000000061A1ED800000006E3 -:1007F000061A36E800000004061A36E0000000027F -:10080000061A500000000002061A500800000004FA -:10081000061A501800000004061A502800000004B0 -:10082000061A503800000004061A50480000000460 -:10083000061A505800000004061A50680000000410 -:10084000061A507800000002041A404000020228F4 -:10085000061A400000000002061A400800000002CC -:10086000041A62C00020022A061AD1000000000209 -:10087000061A200000000124061AB000000000281B -:10088000061AB1400000000C061A330000000014E4 -:10089000061A33A000000068061A81080000000252 -:1008A000061AD1C800000002061AD1D800000020A4 -:1008B000061A249000000124061AB0A000000028A7 -:1008C000061AB1700000000C061A33500000001424 -:1008D000061A354000000068061A81100000000268 -:1008E000061AD1D000000002061AD25800000020DB -:1008F000021A292000000000061A30000000000241 -:10090000041A30080005024A061A301C00000009CB -:10091000061A320000000008061A5000000000020B -:10092000061A508000000012061A40000000000263 -:10093000061AD0C000000002021A2924000000009C -:10094000061A304000000002041A30480005024F29 -:10095000061A305C00000009061A32200000000868 -:10096000061A501000000002061A50C800000012BB -:10097000061A400800000002061AD0C80000000253 -:10098000021A292800000000061A30800000000228 -:10099000041A308800050254061A309C0000000931 -:1009A000061A324000000008061A5020000000021B -:1009B000061A511000000012041A401000020259D9 -:1009C000061AD0D000000002021A292C00000000F4 -:1009D000061A30C000000002041A30C80005025B8D -:1009E000061A30DC00000009061A32600000000818 -:1009F000061A503000000002061A5158000000127A -:100A0000041A401800020260061AD0D80000000242 -:100A1000021A293000000000061A3100000000020E -:100A2000041A310800050262061A311C0000000990 -:100A3000061A328000000008061A5040000000022A -:100A4000061A51A000000012041A4020000202679A -:100A5000061AD0E000000002021A2934000000004B -:100A6000061A314000000002041A314800050269EC -:100A7000061A315C00000009061A32A000000008C6 -:100A8000061A505000000002061A51E80000001239 -:100A9000041A40280002026E061AD0E80000000284 -:100AA000021A293800000000061A318000000002F6 -:100AB000041A318800050270061A319C00000009F2 -:100AC000061A32C000000008061A5060000000023A -:100AD000061A523000000012041A4030000202755B -:100AE000061AD0F000000002021A293C00000000A3 -:100AF000061A31C000000002041A31C8000502774E -:100B0000061A31DC00000009061A32E00000000875 -:100B1000061A507000000002061A527800000012F7 -:100B2000041A40380002027C061AD0F800000002C5 -:100B30000200A294071D29110200A29800000000E3 -:100B40000200A29C009C04240200A2A0000000005D -:100B50000200A2A4000002090200A270000000002E -:100B60000200A274000000000200A2700000000059 -:100B70000200A274000000000200A2700000000049 -:100B80000200A274000000000200A2700000000039 -:100B90000200A27400000000020100B40000000185 -:100BA000020100B800000001020100DC00000001A9 -:100BB0000201010000000001020101040000000127 -:100BC0000201007C003000000201008400000028C7 -:100BD0000201008C0000000002010130000000044E -:100BE0000201025C00000001020103280000000075 -:100BF0000201607000000007020160800000000137 -:100C00000201055400000030020100C40000000190 -:100C1000020100CC00000001020100F80000000108 -:100C2000020100F00000000102010080003000001D -:100C3000020100880000002802010090000000006E -:100C40000201013400000004020102DC0000000186 -:100C50000201032C00000000020160740000000784 -:100C60000201608400000001020105640000003000 -:100C7000020100C800000001020100D000000001D4 -:100C8000020100FC00000001020100F4000000016C -:100C9000020C100000000020020C200800000211CD -:100CA000020C200C00000200020C201000000204C4 -:100CB000020C201C0000FFFF020C20200000FFFFA0 -:100CC000020C20240000FFFF020C20280000FFFF80 -:100CD000060C203800000002020C20400000003406 -:100CE000020C204400000035020C204800000020C7 -:100CF000020C204C00000021020C205000000022B9 -:100D0000020C205400000023020C20580000002494 -:100D1000020C205C00000025020C20600000002670 -:100D2000020C206400000027020C2068000000284C -:100D3000020C206C00000029020C20700000002A28 -:100D4000020C20740000002B060C207800000056D6 -:100D5000020C21D000000001020C21D4000000018F -:100D6000020C21D800000001020C21DC000000016F -:100D7000020C21E000000001020C21E4000000014F -:100D8000020C21E800000001020C21EC000000012F -:100D9000020C21F000000001020C21F4000000010F -:100DA000060C21F800000010020C223807FFFFFF9C -:100DB000020C223C0000003F020C224007FFFFFF14 -:100DC000020C22440000000F010C22480000000029 -:100DD000010C224C00000000010C22500000000019 -:100DE000010C225400000000010C225800000000F9 -:100DF000010C225C00000000010C226000000000D9 -:100E0000010C226400000000010C226800000000B8 -:100E1000010C226C00000000010C22700000000098 -:100E2000010C227400000000010C22780000000078 -:100E3000010C227C000000000C0C2000000003E8E4 -:100E40000A0C2000000000010B0C20000000000A2A -:100E5000020C400800000411020C400C00000400C9 -:100E6000020C401000000404020C40140000042195 -:100E7000020C401C0000FFFF020C40200000FFFF9E -:100E8000020C40240000FFFF020C40280000FFFF7E -:100E9000020C403800000046020C403C00000005F7 -:100EA000060C404000000002020C40480000000A0E -:100EB000020C404C000000F0060C40500000001FE7 -:100EC000020C40CC00000001060C40D00000003AAB -:100ED000020C41B800000001060C41BC00000003F8 -:100EE000020C41C800000001020C41CC00000001CE -:100EF000060C41D00000001A020C423807FFFFFF29 -:100F0000020C423C0000003F020C424007FFFFFF82 -:100F1000020C42440000000F010C42480000000097 -:100F2000010C424C00000000010C42500000000087 -:100F3000010C425400000000010C42580000000067 -:100F4000010C425C00000000010C42600000000047 -:100F5000010C426400000000010C42680000000027 -:100F6000010C426C00000000010C42700000000007 -:100F7000010C427400000000010C427800000000E7 -:100F8000010C427C00000000010C428000000000C7 -:100F90000C0C4000000003E80A0C400000000001B7 -:100FA0000B0C40000000000A020D0044000000325B -:100FB000020D008C02150020020D00900215002089 -:100FC000020D009408100000020D0098000000338C -:100FD000020D009C00000002020D00A000000000B5 -:100FE000020D00A400000005020D00A8000000058D -:100FF000060D00AC00000002020D00B4000000026B -:10100000020D00B800000003020D00BC0000000249 -:10101000020D00C000000001020D00C80000000227 -:10102000020D00CC00000002020D010800000001CA -:10103000020D015C00000001020D016400000001CE -:10104000020D016800000002020D02040000000110 -:10105000020D020C00000020020D021000000040F2 -:10106000020D021400000040020D022000000003E7 -:10107000020D022400000018060D0280000000127C -:10108000040D03000024027E020D004C000000014C -:10109000020D005000000002020D00540000000884 -:1010A000020D005800000008060D005C000000045E -:1010B000020D00C400000004020D00040000000145 -:1010C000020D000800000001020D000C00000001EC -:1010D000020D001000000001020D001400000001CC -:1010E000020D001800000001020D001C00000001AC -:1010F000020D002000000001020D0024000000018C -:10110000020D002800000001020D002C000000016B -:10111000020D003000000001020D0034000000014B -:10112000020D003800000001020D003C000000012B -:10113000020D011400000009020D011C0000000A4C -:10114000020D012400000007020D012C0000000721 -:10115000020D01340000000C020D013C0000000BE8 -:10116000020D014400000007020D011800000029D3 -:10117000020D01200000002A020D012800000027B6 -:10118000020D013000000027020D01380000002C84 -:10119000020D01400000002B020D01480000002755 -:1011A000020D011400000019020D011C0000001ABC -:1011B000020D012400000017020D012C0000001791 -:1011C000020D01340000001C020D013C0000001B58 -:1011D000020D014400000017020D01180000003943 -:1011E000020D01200000003A020D01280000003726 -:1011F000020D013000000037020D01380000003CF4 -:10120000020D01400000003B020D014800000037C4 -:10121000020D011400000049020D011C0000004AEB -:10122000020D012400000047020D012C00000047C0 -:10123000020D01340000004C020D013C0000004B87 -:10124000020D014400000047020D01180000006972 -:10125000020D01200000006A020D01280000006755 -:10126000020D013000000067020D01380000006C23 -:10127000020D01400000006B020D014800000067F4 -:10128000020D011400000059020D011C0000005A5B -:10129000020D012400000057020D012C0000005730 -:1012A000020D01340000005C020D013C0000005BF7 -:1012B000020D014400000057020D011800000079E2 -:1012C000020D01200000007A020D012800000077C5 -:1012D000020D013000000077020D01380000007C93 -:1012E000020D01400000007B020D01480000007764 -:1012F000020E004C00000032020E00940215002085 -:10130000020E009802150020020E009C0000003022 -:10131000020E00A008100000020E00A4000000331E -:10132000020E00A800000030020E00AC00000031E8 -:10133000020E00B000000002020E00B40000000423 -:10134000020E00B800000000020E00BC0000000207 -:10135000020E00C000000002020E00C400000000E7 -:10136000020E00C800000002020E00CC00000007C0 -:10137000020E00D000000002020E00D400000002A5 -:10138000020E00D800000001020E00E4000000017F -:10139000020E014400000001020E014C0000000199 -:1013A000020E015000000002020E020400000001C3 -:1013B000020E020C00000040020E0210000000406D -:1013C000020E021C00000004020E02200000002099 -:1013D000020E02240000000E020E02280000001B74 -:1013E000060E030000000012040E0280001B02A281 -:1013F000020E00540000000C020E0058000000090C -:10140000020E005C0000000F020E006000000010E1 -:10141000020E00640000000B060E006800000003CE -:10142000020E00DC00000003020E000400000001B8 -:10143000020E000800000001020E000C0000000176 -:10144000020E001000000001020E00140000000156 -:10145000020E001800000001020E001C0000000136 -:10146000020E002000000001020E00240000000116 -:10147000020E002800000001020E002C00000001F6 -:10148000020E003000000001020E003400000001D6 -:10149000020E003800000001020E003C00000001B6 -:1014A000020E004000000001020E00440000000196 -:1014B000020E01100000000F020E01180000000EC5 -:1014C000020E012000000000020E012800000000B2 -:1014D000020E01140000002F020E011C0000002E5D -:1014E000020E012400000000020E012C000000008A -:1014F000020E01100000001F020E01180000001E65 -:10150000020E012000000000020E01280000000071 -:10151000020E01140000003F020E011C0000003EFC -:10152000020E012400000000020E012C0000000049 -:10153000020E01100000004F020E01180000004EC4 -:10154000020E012000000000020E01280000000031 -:10155000020E01140000006F020E011C0000006E5C -:10156000020E012400000000020E012C0000000009 -:10157000020E01100000005F020E01180000005E64 -:10158000020E012000000000020E012800000000F1 -:10159000020E01140000007F020E011C0000007EFC -:1015A000020E012400000000020E012C00000000C9 -:1015B0000730040000E80000083007D8000502BD2D -:1015C000073400002EAA000007348000312D0BAB39 -:1015D00007350000358217F707358000396D25582B -:1015E00007360000142D33B40836321039BE02BF5E -:1015F0000130000000000000013000040000000085 -:1016000001300008000000000130000C0000000064 -:101610000130001000000000013000140000000044 -:10162000023000200000000102300024000000020F -:1016300002300028000000030230002C00000000EF -:1016400002300030000000040230003400000001CD -:1016500002300038000000000230003C00000001B1 -:10166000023000400000000402300044000000008E -:1016700002300048000000010230004C000000036E -:101680000230005000000000023000540000000151 -:1016900002300058000000040230005C000000002E -:1016A000023000600000000102300064000000030E -:1016B00002300068000000000230006C00000001F1 -:1016C00002300070000000040230007400000000CE -:1016D00002300078000000040230007C00000003AB -:1016E0000630008000000002023000A400003FFF2E -:1016F000023000A8000003FF0230022400000000B6 -:1017000002300234000000000230024C00000000F1 -:10171000023002E40000FFFF063020000000080055 -:1017200002338BC000000001023380000000001A69 -:10173000023380400000004E023380800000001021 -:10174000023380C0000000200C3383000007A1207A -:101750000A338300000001380B3383000000138834 -:10176000023383C0000001F40C3383801DCD65007B -:101770000A3383800004C4B40B338380004C4B4095 -:101780000A331480000000000233148000000001BE -:10179000063220000000010206328020000000C84E -:1017A000063280000000000206323DA8000000045E -:1017B00006323D800000000904323DA4000102C150 -:1017C00006323D00000000200632500000000400F8 -:1017D0000632400000000004063240D00000000243 -:1017E00006326B680000000204326B70000202C215 -:1017F00006326B1000000002043274C0000202C402 -:101800000632DA40000000020632E0000000080064 -:10181000023308000100000004330C00001002C66F -:10182000023308000000000004330C40001002D610 -:1018300006322450000000B406322AD00000000214 -:1018400006321000000001A002323DB80000000086 -:101850000632500000000020063251000000002037 -:101860000632520000000020063253000000002023 -:10187000063254000000002006325500000000200F -:1018800006325600000000200632570000000020FB -:1018900006325800000000200632590000000020E7 -:1018A00006325A000000002006325B0000000020D3 -:1018B00006325C000000002006325D0000000020BF -:1018C00006325E000000002006325F0000000020AB -:1018D00006326B780000005206326E080000000CE1 -:1018E0000632DA880000000206322720000000B429 -:1018F00006322AD80000000206321680000001A03D -:1019000002323DBC00000000063250800000002082 -:101910000632518000000020063252800000002074 -:101920000632538000000020063254800000002060 -:10193000063255800000002006325680000000204C -:101940000632578000000020063258800000002038 -:10195000063259800000002006325A800000002024 -:1019600006325B800000002006325C800000002010 -:1019700006325D800000002006325E8000000020FC -:1019800006325F800000002006326CC0000000526A -:1019900006326E380000000C0632DA9000000002B9 -:1019A00002322A300000000006324010000000021F -:1019B0000632D0000000000602322A340000000087 -:1019C00006324020000000020632D0180000000657 -:1019D00002322A38000000000632403000000002C7 -:1019E0000632D0300000000602322A3C000000001F -:1019F00006324040000000020632D04800000006D7 -:101A000002322A400000000006324050000000026E -:101A10000632D0600000000602322A4400000000B6 -:101A200006324060000000020632D0780000000656 -:101A300002322A4800000000063240700000000216 -:101A40000632D0900000000602322A4C000000004E -:101A500006324080000000020632D0A800000006D6 -:101A6000072004000093000008200780001002E611 -:101A7000072400002ADE0000072480002E050AB893 -:101A80000824E4A061D202E8012000000000000068 -:101A900001200004000000000120000800000000F8 -:101AA0000120000C000000000120001000000000D8 -:101AB00001200014000000000220002000000001AE -:101AC0000220002400000002022000280000000381 -:101AD0000220002C00000000022000300000000462 -:101AE0000220003400000001022000380000000045 -:101AF0000220003C00000001022000400000000421 -:101B00000220004400000000022000480000000104 -:101B10000220004C000000030220005000000000E2 -:101B200002200054000000010220005800000004C0 -:101B30000220005C000000000220006000000001A4 -:101B40000220006400000003022000680000000082 -:101B50000220006C00000001022000700000000460 -:101B60000220007400000000022000780000000441 -:101B70000220007C0000000306200080000000021C -:101B8000022000A400003FFF022000A8000003FF85 -:101B900002200224000000000220023400000000A5 -:101BA0000220024C00000000022002E40000FFFFBF -:101BB000062020000000080002238BC00000000166 -:101BC0000223800000000010022380400000001269 -:101BD0000223808000000030022380C00000000E3D -:101BE000022383C0000001F40223148000000001DE -:101BF0000A231480000000000622100000000042AA -:101C000006227020000000C80622700000000002BA -:101C1000022211E80000000006223000000000C08F -:101C2000062240700000008006225280000000045E -:101C30000622670000000100062290000000040058 -:101C400004226B08002002EA02230800013FFFFF84 -:101C500004230C000010030A022308000000000007 -:101C600004230C400010031A06228100000000A08B -:101C7000062286000000004006228C000000003C86 -:101C80000622B0000000020006228800000000804A -:101C900006228DE00000003C0622404000000006C5 -:101CA00006228380000000A006228700000000407A -:101CB00006228CF00000003C0622B8000000020062 -:101CC00006228A000000008006228ED00000003C20 -:101CD000062240580000000606228000000000088E -:101CE000022211480000000006223300000000021A -:101CF000062260400000003006228020000000081C -:101D00000222114C000000000622330800000002ED -:101D1000062261000000003006228040000000081A -:101D200002221150000000000622331000000002C1 -:101D3000062261C00000003006228060000000081A -:101D40000222115400000000062233180000000295 -:101D50000622628000000030062280800000000819 -:101D60000222115800000000062233200000000269 -:101D70000622634000000030062280A00000000818 -:101D80000222115C0000000006223328000000023D -:101D90000622640000000030062280C00000000817 -:101DA0000222116000000000062233300000000211 -:101DB000062264C000000030062280E00000000817 -:101DC00002221164000000000622333800000002E5 -:101DD0000622658000000030021610000000002876 -:101DE00002170008000000020217002C0000000388 -:101DF0000217003C00000004021700440000000825 -:101E000002170048000000020217004C000000907A -:101E1000021700500000009002170054008000904C -:101E20000217005808140000021700600000008A22 -:101E300002170064000000800217006800000081A3 -:101E40000217006C000000800217007000000006FE -:101E500002170078000007D00217007C0000076C12 -:101E600002170038007C1004021700040000000F65 -:101E70000616402400000002021640700000001CFC -:101E80000216420800000001021642100000000184 -:101E90000216422000000001021642280000000144 -:101EA0000216423000000001021642380000000114 -:101EB00002164260000000020C16401C0003D09085 -:101EC0000A16401C0000009C0B16401C000009C4B0 -:101ED0000216403000000008021640340000000CDA -:101EE0000216403800000010021640440000002096 -:101EF0000216400000000001021640D80000000158 -:101F000002164008000000010216400C000000010B -:101F100002164010000000010216424000000000BE -:101F2000021642480000000006164270000000023F -:101F30000216425000000000021642580000000045 -:101F40000616428000000002021660080000042409 -:101F50000216600C00000410021660100000041449 -:101F60000216601C0000FFFF021660200000FFFF49 -:101F7000021660240000FFFF021660280000FFFF29 -:101F800002166038000000200216603C00000020AD -:101F90000216604000000034021660440000003564 -:101FA00002166048000000230216604C0000002466 -:101FB0000216605000000025021660540000002642 -:101FC00002166058000000270216605C000000291D -:101FD000021660600000002A021660640000002BF8 -:101FE000021660680000002C0216606C0000002DD4 -:101FF0000616607000000052021661B80000000171 -:10200000061661BC0000001F0216623807FFFFFFC2 -:102010000216623C0000003F0216624007FFFFFF0D -:10202000021662440000000F011662480000000022 -:102030000116624C00000000011662500000000012 -:1020400001166254000000000116625800000000F2 -:102050000116625C000000000116626000000000D2 -:1020600001166264000000000116626800000000B2 -:102070000116626C00000000011662700000000092 -:102080000116627400000000011662780000000072 -:102090000116627C000000000C166000000003E8DE -:1020A0000A166000000000010B1660000000000A24 -:1020B0000216804000000006021680440000000561 -:1020C000021680480000000A0216804C000000053D -:1020D0000216805400000002021680CC00000004AA -:1020E000021680D000000004021680D40000000414 -:1020F000021680D800000004021680DC00000004F4 -:10210000021680E000000004021680E400000004D3 -:10211000021680E800000004021688040000000493 -:10212000021680300000007C021680340000003D62 -:10213000021680380000003F0216803C0000009C20 -:10214000021680F000000007061680F4000000056B -:102150000216880C0101010102168108000000002E -:102160000216810C00000004021681100000000419 -:1021700002168114000000020216881008012004D3 -:1021800002168118000000050216811C00000005DF -:1021900002168120000000050216812400000005BF -:1021A0000216882C20081001021681280000000861 -:1021B0000216812C00000006021681300000000784 -:1021C000021681340000000002168830010101204F -:1021D000061681380000000402168834010101014E -:1021E00002168148000000000216814C0000000425 -:1021F0000216815000000004021681540000000203 -:1022000002168838080120040216815800000005D3 -:102210000216815C000000050216816000000005C6 -:1022200002168164000000050216883C2008100197 -:1022300002168168000000080216816C000000068A -:102240000216817000000007021681740000000170 -:102250000216884001010120021681780000000169 -:102260000216817C0000000102168180000000013E -:102270000216818400000001021688440101010158 -:1022800002168188000000010216818C0000000403 -:1022900002168190000000040216819400000002E2 -:1022A00002168848080120040216819800000005E3 -:1022B0000216819C00000005021681A000000005A6 -:1022C000021681A4000000050216881420081001DF -:1022D000021681A800000008021681AC000000066A -:1022E000021681B000000007021681B40000000150 -:1022F0000216881801010120021681B800000001B1 -:10230000021681BC00000001021681C0000000011D -:10231000021681C4000000010216881C010101019F -:10232000021681C800000001021681CC00000004E2 -:10233000021681D000000004021681D400000002C1 -:102340000216882008012004021681D8000000052A -:10235000021681DC00000005021681E00000000585 -:10236000021681E4000000050216882420081001EE -:10237000021681E800000008021681EC0000000649 -:10238000021681F0000000070216E40C00000000B5 -:1023900002168828010101200616E410000000043E -:1023A0000216E000010101010216E4200000000015 -:1023B0000216E424000000040216E42800000004D1 -:1023C0000216E42C000000020216E00408012004BA -:1023D0000216E430000000050216E4340000000597 -:1023E0000216E438000000050216E43C0000000577 -:1023F0000216E008200810010216E4400000000860 -:102400000216E444000000060216E448000000073B -:102410000216E44C000000000216E00C010101204D -:102420000616E450000000040216E010010101014C -:102430000216E460000000000216E46400000004DC -:102440000216E468000000040216E46C00000002BA -:102450000216E014080120040216E47000000005D2 -:102460000216E474000000050216E478000000057E -:102470000216E47C000000050216E0182008100196 -:102480000216E480000000080216E4840000000642 -:102490000216E488000000070216E48C0000000128 -:1024A0000216E01C010101200216E4900000000168 -:1024B0000216E494000000010216E49800000001F6 -:1024C0000216E49C000000010216E0200101010157 -:1024D0000216E4A0000000010216E4A400000004BB -:1024E0000216E4A8000000040216E4AC000000029A -:1024F0000216E024080120040216E4B000000005E2 -:102500000216E4B4000000050216E4B8000000055D -:102510000216E4BC000000050216E02820081001A5 -:102520000216E4C0000000080216E4C40000000621 -:102530000216E4C8000000070216E4CC0000000107 -:102540000216E02C010101200216E4D00000000177 -:102550000216E4D4000000010216E4D800000001D5 -:102560000216E4DC000000010216E0300101010166 -:102570000216E4E0000000010216E4E4000000049A -:102580000216E4E8000000040216E4EC0000000279 -:102590000216E034080120040216E4F000000005F1 -:1025A0000216E4F4000000050216E4F8000000053D -:1025B0000216E4FC000000050216E03820081001B5 -:1025C0000216E500000000080216E50400000006FF -:1025D0000216E508000000070216E03C0101012098 -:1025E00002168240003F003F0216824400000000B5 -:1025F0000216E524003F003F0216E5280000000017 -:1026000002168248000000000216824C003F003F84 -:102610000216E52C000000000216E530003F003FE6 -:1026200002168250010001000216825401000100CE -:102630000216E534010001000216E5380100010030 -:1026400006168258000000020216E53C0000000059 -:102650000216E540000000000216826000C000C0C3 -:102660000216826400C000C00216E54400C000C02B -:102670000216E54800C000C0021682681E001E0057 -:102680000216826C1E001E000216E54C1E001E0083 -:102690000216E5501E001E00021682704000400027 -:1026A00002168274400040000216E55440004000CB -:1026B0000216E55840004000021682788000800033 -:1026C0000216827C800080000216E55C800080009B -:1026D0000216E56080008000021682802000200043 -:1026E00002168284200020000216E56420002000EB -:1026F0000216E5682000200006168288000000020D -:102700000216E56C000000000216E57000000000F3 -:102710000216829000000000021682940000000061 -:102720000216E574000000000216E57800000000C3 -:1027300002168298000000000216829C0000000031 -:102740000216E57C000000000216E5800000000093 -:10275000021682A000000000021682A40000000100 -:10276000061682A80000000A021681F400000C0878 -:10277000021681F800000040021681FC00000100F2 -:1027800002168200000000200216820400000017DA -:1027900002168208000000800216820C000002006F -:1027A00002168210000000000216821801FF01FFCD -:1027B0000216821401FF01FF0216E51001FF01FF5E -:1027C0000216E50C01FF01FF0216823C0000001317 -:1027D000021680900000013F021680600000014058 -:1027E00002168064000001400616806800000002A6 -:1027F00002168070000000C00616807400000007FA -:102800000216809C00000048021680A000000048CC -:10281000061680A400000002021680AC00000048EA -:10282000061680B000000007021682380000800003 -:1028300002168234000025E40216809400007FFF17 -:1028400002168220000F000F0216821C000F000FDC -:102850000216E518000F000F0216E514000F000F16 -:10286000021682280000000002168224FFFFFFFFEC -:102870000216E520000000000216E51CFFFFFFFF26 -:102880000216E6BC000000000216E6C000000002CE -:102890000216E6C4000000010216E6C800000003AC -:1028A0000216E6CC000000040216E6D00000000686 -:1028B0000216E6D4000000050216E6D80000000764 -:1028C000021680EC000000FF02140000000000016E -:1028D0000214000C0000000102140040000000017E -:1028E0000214004400007FFF0214000C00000000EE -:1028F00002140000000000000214006C0000000040 -:102900000214000400000001021400300000000165 -:1029100002140004000000000214005C000000002B -:10292000021400080000000102140034000000013D -:102930000214000800000000021400600000000003 -:102940000202005800000032020200A0031500201D -:10295000020200A403150020020200A801000030BA -:10296000020200AC08100000020200B000000033B8 -:10297000020200B400000030020200B80000003182 -:10298000020200BC00000003020200C000000006BA -:10299000020200C400000003020200C8000000039D -:1029A000020200CC00000002020200D00000000081 -:1029B000020200D400000002020200DC000000005D -:1029C000020200E000000006020200E40000000431 -:1029D000020200E800000002020200EC0000000217 -:1029E000020200F000000001020200FC00000006EC -:1029F0000202012000000000020201340000000277 -:102A0000020201B0000000010202020C00000001FD -:102A1000020202140000000102020218000000027B -:102A200002020404000000010202040C0000004045 -:102A300002020410000000400202041C0000000416 -:102A40000202042000000020020204240000000210 -:102A50000202042800000020060205000000001207 -:102A600004020480001F032A020200600000000F1D -:102A70000202006400000007020200680000000B70 -:102A80000202006C0000000E020200700000000E46 -:102A90000602007400000003020200F400000004BB -:102AA0000202000400000001020200080000000110 -:102AB0000202000C000000010202001000000001F0 -:102AC00002020014000000010202001800000001D0 -:102AD0000202001C000000010202002000000001B0 -:102AE0000202002400000001020200280000000190 -:102AF0000202002C00000001020200300000000170 -:102B0000020200340000000102020038000000014F -:102B10000202003C0000000102020040000000012F -:102B2000020200440000000102020048000000010F -:102B30000202004C000000010202005000000001EF -:102B400002020108000000C8020201180000000291 -:102B5000020201C400000000020201CC00000000DB -:102B6000020201D400000002020201DC00000002A7 -:102B7000020201E4000000FF020201EC000000FF7D -:102B800002020100000000000202010C000000C867 -:102B90000202011C00000002020201C80000000045 -:102BA000020201D000000000020201D80000000271 -:102BB000020201E000000002020201E8000000FF42 -:102BC000020201F0000000FF020201040000000008 -:102BD00002020108000000C8020201180000000201 -:102BE000020201C400000000020201CC000000004B -:102BF000020201D400000002020201DC0000000217 -:102C0000020201E4000000FF020201EC000000FFEC -:102C100002020100000000000202010C000000C8D6 -:102C20000202011C00000002020201C800000000B4 -:102C3000020201D000000000020201D800000002E0 -:102C4000020201E000000002020201E8000000FFB1 -:102C5000020201F0000000FF020201040000000077 -:102C600002020108000000C8020201180000000270 -:102C7000020201C400000000020201CC00000000BA -:102C8000020201D400000002020201DC0000000286 -:102C9000020201E4000000FF020201EC000000FF5C -:102CA00002020100000000000202010C000000C846 -:102CB0000202011C00000002020201C80000000024 -:102CC000020201D000000000020201D80000000250 -:102CD000020201E000000002020201E8000000FF21 -:102CE000020201F0000000FF0202010400000000E7 -:102CF00002020108000000C80202011800000002E0 -:102D0000020201C400000000020201CC0000000029 -:102D1000020201D400000002020201DC00000002F5 -:102D2000020201E4000000FF020201EC000000FFCB -:102D300002020100000000000202010C000000C8B5 -:102D40000202011C00000002020201C80000000093 -:102D5000020201D000000000020201D800000002BF -:102D6000020201E000000002020201E8000000FF90 -:102D7000020201F0000000FF020201040000000056 -:102D80000728040000C00000082807A8000B03491A -:102D9000072C000032FC0000072C800035790CC0A5 -:102DA000072D00003AC11A1F072D800039EF28D0E7 -:102DB000072E00001C3E374C082E3710391E034BDF -:102DC00001280000000000000128000400000000AD -:102DD00001280008000000000128000C000000008D -:102DE000012800100000000001280014000000006D -:102DF0000228002000000001022800240000000238 -:102E000002280028000000030228002C0000000017 -:102E100002280030000000040228003400000001F5 -:102E200002280038000000000228003C00000001D9 -:102E300002280040000000040228004400000000B6 -:102E400002280048000000010228004C0000000396 -:102E50000228005000000000022800540000000179 -:102E600002280058000000040228005C0000000056 -:102E70000228006000000001022800640000000336 -:102E800002280068000000000228006C0000000119 -:102E900002280070000000040228007400000000F6 -:102EA00002280078000000040228007C00000003D3 -:102EB0000628008000000002022800A400003FFF56 -:102EC000022800A8000003FF0228022400000000DE -:102ED00002280234000000000228024C000000001A -:102EE000022802E40000FFFF06282000000008007E -:102EF000022B8BC000000001022B800000000000AC -:102F0000022B804000000018022B80800000000C83 -:102F1000022B80C0000000660C2B83000007A1205C -:102F20000A2B8300000001380B2B8300000013885C -:102F3000022B83C0000001F40C2B8340000001F43D -:102F40000A2B8340000000000B2B8340000000058B -:102F50000A2B83800004C4B40C2B83801DCD650034 -:102F60000A2B1480000000000B2B8380004C4B4088 -:102F7000022B148000000001062A29C8000000046A -:102F8000042A29D80002034D062A208000000048A8 -:102F9000062A9020000000C8062A900000000002C7 -:102FA000062A21A800000086062A20000000002032 -:102FB000022A23C800000000042A23D00002034F85 -:102FC000042A249800040351022A2C500000000017 -:102FD000022A2C1000000000042A2C0800020355CD -:102FE000042A300000020357062A300800000100BE -:102FF000062A404000000010042A40000010035937 -:10300000062A6AC000000002062A6B0000000004C5 -:10301000042A840800020369022B08000000000053 -:10302000042B0C000010036B022B080001000000B1 -:10303000042B0C400008037B022B08000200000058 -:10304000042B0C6000080383062AC000000000D88F -:10305000062A24A800000014062A254800000022A1 -:10306000042A25D00002038B062A266800000022CD -:10307000042A26F00002038D062A27880000002279 -:10308000042A28100002038F062A28A80000002224 -:10309000042A293000020391062AA000000000281B -:1030A000062AA1400000000C042A29E00002039334 -:1030B000062A502000000002062A503000000002BC -:1030C000062A500000000002062A501000000002EC -:1030D000022A520800000001042A6AC8000203956F -:1030E000062A6B1000000042062A6D200000000432 -:1030F000062ABCD000000002062AC360000000D8E7 -:10310000062A24F800000014062A25D80000002210 -:10311000042A266000020397062A26F800000022EF -:10312000042A278000020399062A2818000000229A -:10313000042A28A00002039B062A29380000002246 -:10314000042A29C00002039D062AA0A0000000282E -:10315000062AA1700000000C042A29E80002039F3F -:10316000062A502800000002062A503800000002FB -:10317000062A500800000002062A5018000000022B -:10318000022A520C00000001042A6AD0000203A1A6 -:10319000062A6C1800000042062A6D300000000468 -:1031A000062ABCD800000002022AC6C000000000A7 -:1031B000042A29F0001003A3062A50480000000E3C -:1031C000062AB00000000006022AC6C40000000063 -:1031D000042A2A30001003B3062A50800000000E93 -:1031E000062AB01800000006022AC6C80000000027 -:1031F000042A2A70001003C3062A50B80000000EEB -:10320000062AB03000000006022AC6CC00000000EA -:10321000042A2AB0001003D3062A50F00000000E42 -:10322000062AB04800000006022AC6D000000000AE -:10323000042A2AF0001003E3062A51280000000E99 -:10324000062AB06000000006022AC6D40000000072 -:10325000042A2B30001003F3062A51600000000EF0 -:10326000062AB07800000006022AC6D80000000036 -:10327000042A2B7000100403062A51980000000E47 -:10328000062AB09000000006022AC6DC00000000FA -:10329000042A2BB000100413062A51D00000000E9F -:1032A000062AB0A800000006021010080000000165 -:1032B0000210105000000001021010000003D000A6 -:1032C000021010040000003D091018000200042341 -:1032D0000910110000280623061011A00000001894 -:1032E00006102400000000E00210201C0000000076 -:1032F0000210202000000001021020C00000000287 -:10330000021020040000000102102008000000014B -:1033100009103C000005064B091038000005065056 -:10332000091038200005065506104C000000010069 -:1033300002104028000000100210404400003FFF2F -:103340000210405800280000021040840084924A75 -:1033500002104058000000000210800000001080A1 -:10336000021080AC00000000021080380000001045 -:103370000210810000000000061081200000000201 -:1033800002108008000002B502108010000000004A -:10339000061082000000004A021081080001FFFFB1 -:1033A00006108140000000020210800000001A8018 -:1033B0000610900000000024061091200000004A32 -:1033C000061093700000004A061095C00000004AE5 -:1033D0000210800400001080021080B00000000184 -:1033E0000210803C00000010021081040000000068 -:1033F00006108128000000020210800C000002B5B7 -:103400000210801400000000061084000000004A32 -:103410000210810C0001FFFF06108148000000022D -:103420000210800400001A80061090900000002412 -:10343000061092480000004A061094980000004AC6 -:10344000061096E80000004A02108000000010807C -:10345000021080AC00000002021080380000001052 -:103460000210810000000000061081200000000210 -:1034700002108008000002B5021080100000000059 -:10348000061082000000004A021081080001FFFFC0 -:1034900006108140000000020210800000001A8027 -:1034A0000610900000000024061091200000004A41 -:1034B000061093700000004A061095C00000004AF4 -:1034C0000210800400001080021080B00000000391 -:1034D0000210803C00000010021081040000000077 -:1034E00006108128000000020210800C000002B5C6 -:1034F0000210801400000000061084000000004A42 -:103500000210810C0001FFFF06108148000000023C -:103510000210800400001A80061090900000002421 -:10352000061092480000004A061094980000004AD5 -:10353000061096E80000004A02108000000010808B -:10354000021080AC0000000402108038000000105F -:10355000021081000000000006108120000000021F -:1035600002108008000002B5021080100000000068 -:10357000061082000000004A021081080001FFFFCF -:1035800006108140000000020210800000001A8036 -:103590000610900000000024061091200000004A50 -:1035A000061093700000004A061095C00000004A03 -:1035B0000210800400001080021080B0000000059E -:1035C0000210803C00000010021081040000000086 -:1035D00006108128000000020210800C000002B5D5 -:1035E0000210801400000000061084000000004A51 -:1035F0000210810C0001FFFF06108148000000024C -:103600000210800400001A80061090900000002430 -:10361000061092480000004A061094980000004AE4 -:10362000061096E80000004A02108000000010809A -:10363000021080AC0000000602108038000000106C -:10364000021081000000000006108120000000022E -:1036500002108008000002B5021080100000000077 -:10366000061082000000004A021081080001FFFFDE -:1036700006108140000000020210800000001A8045 -:103680000610900000000024061091200000004A5F -:10369000061093700000004A061095C00000004A12 -:1036A0000210800400001080021080B000000007AB -:1036B0000210803C00000010021081040000000095 -:1036C00006108128000000020210800C000002B5E4 -:1036D0000210801400000000061084000000004A60 -:1036E0000210810C0001FFFF06108148000000025B -:1036F0000210800400001A80061090900000002440 -:10370000061092480000004A061094980000004AF3 -:10371000061096E80000004A021205B00000000101 -:103720000212049000E383400212051400003C10D2 -:103730000212066C00000001021206700000000078 -:1037400002120494FFFFFFFF02120498FFFFFFFF25 -:103750000212049CFFFFFFFF021204A0FFFFFFFF05 -:10376000021204A4FFFFFFFF021204A8FFFFFFFFE5 -:10377000021204ACFFFFFFFF021204B0FFFFFFFFC5 -:10378000021204BCFFFFFFFF021204C0FFFFFFFF95 -:10379000021204C4FFFFFFFF021204C8FFFFFFFF75 -:1037A000021204CCFFFFFFFF021204D0FFFFFFFF55 -:1037B000021204D8FFFFFFFF021204DCFFFFFFFF2D -:1037C000021204E0FFFFFFFF021204E4FFFFFFFF0D -:1037D000021204E8FFFFFFFF021204ECFFFFFFFFED -:1037E000021204F0FFFFFFFF021204F4FFFFFFFFCD -:1037F000021204F8FFFFFFFF021204FCFFFFFFFFAD -:1038000002120500FFFFFFFF02120504FFFFFFFF8A -:1038100002120508FFFFFFFF0212050CFFFFFFFF6A -:1038200002120510FFFFFFFF021204D4FF802000E8 -:10383000021204B4F0005000021204B8F0001000AC -:1038400002120390000000080212039C000000080E -:10385000021203A000000008021203A400000002EC -:10386000021203BC00000004021203C000000005A5 -:10387000021203C400000004021203D00000000082 -:103880000212036C00000001021203680000003FF6 -:10389000021201BC00000040021201C00000180822 -:1038A000021201C400000803021201C8000008034C -:1038B000021201CC00000040021201D000000003FF -:1038C000021201D400000803021201D8000008030C -:1038D000021201DC00000803021201E000010003F3 -:1038E000021201E400000803021201E800000803CC -:1038F000021201EC00000003021201F000000003BC -:10390000021201F400000003021201F8000000039B -:10391000021201FC0000000302120200000000037A -:103920000212020400000003021202080000000359 -:103930000212020C00000003021202100000000339 -:103940000212021400000003021202180000000319 -:103950000212021C000000030212022000000003F9 -:1039600002120224000000030212022800002403B5 -:103970000212022C0000002F021202300000000987 -:103980000212023400000019021202380000018401 -:103990000212023C000001830212024000000306F2 -:1039A0000212024400000019021202480000000640 -:1039B0000212024C0000030602120250000003062D -:1039C00002120254000003060212025800000C8684 -:1039D0000212025C000003060212026000000306ED -:1039E00002120264000000060212026800000006D3 -:1039F0000212026C000000060212027000000006B3 -:103A00000212027400000006021202780000000692 -:103A10000212027C00000006021202800000000672 -:103A20000212028400000006021202880000000652 -:103A30000212028C00000006021202900000000632 -:103A40000212029400000006021202980000000612 -:103A50000212029C00000006021202A000000306EF -:103A6000021202A400000013021202A800000006C5 -:103A7000021202B000001004021202B4000010048E -:103A80000212032400106440021203280010644054 -:103A9000021205B400000001021201B00000000192 -:103AA0000600A000000000160200A0EC5554000023 -:103AB0000200A0F0555555550200A0F400005555E0 -:103AC0000200A0F8F00000000200A0FC5554000025 -:103AD0000200A100555555550200A104000055559E -:103AE0000200A108F00000000200A18C5554000063 -:103AF0000200A190555555550200A194000055555E -:103B00000200A198F00000000200A19C000000004B -:103B10000200A1A0000100000200A1A400005014B6 -:103B20000200A1A8000000000200A45C00000C003C -:103B30000200A61C000000030200A06CFF5C000055 -:103B40000200A070FFF55FFF0200A0740000FFFFFD -:103B50000200A078F00003E00200A07C000000005A -:103B60000200A0800000A0000600A0840000000564 -:103B70000200A0980FE000000600A09C00000007D3 -:103B80000200A0B8000004000600A0BC0000000372 -:103B90000200A0C8000010000600A0CC0000000336 -:103BA0000200A0D8000040000600A0DC00000003D6 -:103BB0000200A0E8000100000600A22C00000004A2 -:103BC0000200A10CFF5C00000200A110FFF55FFFE6 -:103BD0000200A1140000FFFF0200A118F00003E0A2 -:103BE0000200A11C000000000200A1200000A000B3 -:103BF0000600A124000000050200A1380FE000002B -:103C00000600A13C000000070200A15800000800C7 -:103C10000600A15C000000030200A1680000200073 -:103C20000600A16C000000030200A17800008000E3 -:103C30000600A17C000000030200A1880002000031 -:103C40000600A23C0000000400000000000000008C -:103C50000000003100000000000000000000000033 -:103C60000000000000000000000000000000000054 -:103C700000000000000000000000000000310032E1 -:103C80000000000000000000000000000000000034 -:103C90000000000000000000000000000000000024 -:103CA000000000000000000000320056000000008C -:103CB0000000000000000000000000000000000004 -:103CC00000000000000000000000000000000000F4 -:103CD000000000000056008C000000000000000002 -:103CE000008C009000900094009400980098009C34 -:103CF000009C00A000A000A400A400A800A800ACA4 -:103D000000AC00B100B100B300B300B5000000008A -:103D100000000000000000000000000000000000A3 -:103D200000000000000000000000000000B50102DB -:103D30000102010A010A01120112011B011B0124E7 -:103D40000124012D012D01360136013F013F0148BB -:103D5000014801510151015A00000000000000001B -:103D60000000000000000000000000000000000053 -:103D70000000000000000000000000000000000043 -:103D80000000000000000000000000000000000033 -:103D90000000000000000000000000000000000023 -:103DA0000000000000000000000000000000000013 -:103DB0000000000000000000000000000000000003 -:103DC00000000000000000000000000000000000F3 -:103DD00000000000000000000000000000000000E3 -:103DE00000000000000000000000000000000000D3 -:103DF00000000000000000000000000000000000C3 -:103E00000000000000000000015A015F00000000F7 -:103E100000000000015F0160016001610161016259 -:103E2000016201630163016401640165016501666A -:103E300001660167000000000000000000000000B3 -:103E40000000000000000000000000000000000072 -:103E50000000000000000000000000000000000062 -:103E60000167016C016C0179017901860000000095 -:103E70000000000000000000000000000000000042 -:103E80000000000000000000000000000000000032 -:103E90000000000000000000000000000000000022 -:103EA0000000000000000000000000000000000012 -:103EB00000000000000000000186018700000000F3 -:103EC00000000000000000000000000000000000F2 -:103ED00000000000000000000000000000000000E2 -:103EE00000000000018701BE00000000000000008B -:103EF00000000000000000000000000000000000C2 -:103F000000000000000000000000000000000000B1 -:103F100001BE01E9000000000000000000000000F8 -:103F20000000000000000000000000000000000091 -:103F300000000000000000000000000001E9021A7B -:103F40000000000000000000021A022102210228E5 -:103F50000228022F022F02360236023D023D0244A1 -:103F60000244024B024B02520252028A000000003D -:103F700000000000028A028E028E029202920296D5 -:103F80000296029A029A029E029E02A202A202A631 -:103F900002A602AA02AA02FA02FA031103110328D6 -:103FA0000328032B032B032E032E03310331033489 -:103FB000033403370337033A033A033D033D034019 -:103FC00003400381038103880388038F038F0393D6 -:103FD000039303970397039B039B039F039F03A3F1 -:103FE00003A303A703A703AB03AB03AF03AF03B064 -:103FF00000000000000000000000000000000000C1 -:1040000000000000000000000000000000000000B0 -:10401000000000000000000003B003C20000000028 -:104020000000000000000000000000000000000090 -:104030000000000000000000000000000000000080 -:104040000000000003C203D703D703DA03DA03DD5D -:104050000000000000000000000000000000000060 -:104060000000000000000000000000000000000050 -:1040700003DD040A00000000000000000000000052 -:104080000000000000000000000000000000000030 -:10409000000000000000000000000000040A050D00 -:1040A0000000000000000000000000000000000010 -:1040B0000000000000000000000000000000000000 -:1040C0000000000000000000050D0514051405188F -:1040D0000518051C000000000000000000000000A2 -:1040E00000000000000000000000000000000000D0 -:1040F00000000000051C055C00000000000000003E -:10410000055C05650565056E056E05770577058017 -:1041100005800589058905920592059B059B05A4E7 -:1041200005A405FD05FD0613061306290629062D1F -:10413000062D063106310635063506390639063DA7 -:10414000063D064106410645064506490649065014 -:10415000000000000000000000000000000000005F -:10416000000000000000000000000000000000004F -:10417000000000000000000006500656000000008D -:10418000000000000000000000000000000000002F -:10419000000000000000000000000000000000001F -:1041A0000000000006560659000000000000000054 -:1041B00000000000000000000000000000000000FF -:1041C00000000000000000000000000000000000EF -:1041D0000659065F0000000000000000000000001B -:1041E00000000000000000000000000000000000CF -:1041F00000000000000000000000000000000000BF -:104200000000000000000000065F066E066E067DDE -:10421000067D068C068C069B069B06AA06AA06B996 -:1042200006B906C806C806D706D70748000000002A -:10423000000000000000000000000000000000007E -:10424000000000000000000000000000000000006E -:10425000000000000748075B075B076C076C077DE1 -:10426000000000000000000000000000000000004E -:10427000000000000000000000000000000000003E -:10428000000000000000000000000000000000002E -:10429000000000000000000000000000000000001E -:1042A000000000000000000000000000000000000E -:1042B00000000000000000000000000000000000FE -:1042C00000000000000000000000000000000000EE -:1042D00000000000000000000000000000000000DE -:1042E00000010000000204C00003098000040E4029 -:1042F00000051300000617C000071C8000082140BD -:1043000000092600000A2AC0000B2F80000C344050 -:10431000000D3900000E3DC0000F428000104740E4 -:1043200000114C00001250C00013558000145A4078 -:1043300000155F00001663C00017688000186D400C -:1043400000197200001A76C0001B7B80001C8040A0 -:10435000001D8500001E89C0001F8E800020934034 -:10436000000020000000400000006000000080000D -:104370000000A0000000C0000000E00000010000FC -:1043800000012000000140000001600000018000E9 -:104390000001A0000001C0000001E00000020000D8 -:1043A00000022000000240000002600000028000C5 -:1043B0000002A0000002C0000002E00000030000B4 -:1043C00000032000000340000003600000038000A1 -:1043D0000003A0000003C0000003E0000004000090 -:1043E000000420000004400000046000000480007D -:1043F0000004A0000004C0000004E000000500006C -:104400000005200000054000000560000005800058 -:104410000005A0000005C0000005E0000006000047 -:104420000006200000064000000660000006800034 -:104430000006A0000006C0000006E0000007000023 -:104440000007200000074000000760000007800010 -:104450000007A0000007C0000007E00000080000FF -:1044600000082000000840000008600000088000EC -:104470000008A0000008C0000008E00000090000DB -:1044800000092000000940000009600000098000C8 -:104490000009A0000009C0000009E000000A0000B7 -:1044A000000A2000000A4000000A6000000A8000A4 -:1044B000000AA000000AC000000AE000000B000093 -:1044C000000B2000000B4000000B6000000B800080 -:1044D000000BA000000BC000000BE000000C00006F -:1044E000000C2000000C4000000C6000000C80005C -:1044F000000CA000000CC000000CE000000D00004B -:10450000000D2000000D4000000D6000000D800037 -:10451000000DA000000DC000000DE000000E000026 -:10452000000E2000000E4000000E6000000E800013 -:10453000000EA000000EC000000EE000000F000002 -:10454000000F2000000F4000000F6000000F8000EF -:10455000000FA000000FC000000FE00000100000DE -:1045600000102000001040000010600000108000CB -:104570000010A0000010C0000010E00000110000BA -:1045800000112000001140000011600000118000A7 -:104590000011A0000011C0000011E0000012000096 -:1045A0000012200000124000001260000012800083 -:1045B0000012A0000012C0000012E0000013000072 -:1045C000001320000013400000136000001380005F -:1045D0000013A0000013C0000013E000001400004E -:1045E000001420000014400000146000001480003B -:1045F0000014A0000014C0000014E000001500002A -:104600000015200000154000001560000015800016 -:104610000015A0000015C0000015E0000016000005 -:1046200000162000001640000016600000168000F2 -:104630000016A0000016C0000016E00000170000E1 -:1046400000172000001740000017600000178000CE -:104650000017A0000017C0000017E00000180000BD -:1046600000182000001840000018600000188000AA -:104670000018A0000018C0000018E0000019000099 -:104680000019200000194000001960000019800086 -:104690000019A0000019C0000019E000001A000075 -:1046A000001A2000001A4000001A6000001A800062 -:1046B000001AA000001AC000001AE000001B000051 -:1046C000001B2000001B4000001B6000001B80003E -:1046D000001BA000001BC000001BE000001C00002D -:1046E000001C2000001C4000001C6000001C80001A -:1046F000001CA000001CC000001CE000001D000009 -:10470000001D2000001D4000001D6000001D8000F5 -:10471000001DA000001DC000001DE000001E0000E4 -:10472000001E2000001E4000001E6000001E8000D1 -:10473000001EA000001EC000001EE000001F0000C0 -:10474000001F2000001F4000001F6000001F8000AD -:10475000001FA000001FC000001FE000002000009C -:104760000020200000204000002060000020800089 -:104770000020A0000020C0000020E0000021000078 -:104780000021200000214000002160000021800065 -:104790000021A0000021C0000021E0000022000054 -:1047A0000022200000224000002260000022800041 -:1047B0000022A0000022C0000022E0000023000030 -:1047C000002320000023400000236000002380001D -:1047D0000023A0000023C0000023E000002400000C -:1047E00000242000002440000024600000248000F9 -:1047F0000024A0000024C0000024E00000250000E8 -:1048000000252000002540000025600000258000D4 -:104810000025A0000025C0000025E00000260000C3 -:1048200000262000002640000026600000268000B0 -:104830000026A0000026C0000026E000002700009F -:10484000002720000027400000276000002780008C -:104850000027A0000027C0000027E000002800007B -:104860000028200000284000002860000028800068 -:104870000028A0000028C0000028E0000029000057 -:104880000029200000294000002960000029800044 -:104890000029A0000029C0000029E000002A000033 -:1048A000002A2000002A4000002A6000002A800020 -:1048B000002AA000002AC000002AE000002B00000F -:1048C000002B2000002B4000002B6000002B8000FC -:1048D000002BA000002BC000002BE000002C0000EB -:1048E000002C2000002C4000002C6000002C8000D8 -:1048F000002CA000002CC000002CE000002D0000C7 -:10490000002D2000002D4000002D6000002D8000B3 -:10491000002DA000002DC000002DE000002E0000A2 -:10492000002E2000002E4000002E6000002E80008F -:10493000002EA000002EC000002EE000002F00007E -:10494000002F2000002F4000002F6000002F80006B -:10495000002FA000002FC000002FE000003000005A -:104960000030200000304000003060000030800047 -:104970000030A0000030C0000030E0000031000036 -:104980000031200000314000003160000031800023 -:104990000031A0000031C0000031E0000032000012 -:1049A00000322000003240000032600000328000FF -:1049B0000032A0000032C0000032E00000330000EE -:1049C00000332000003340000033600000338000DB -:1049D0000033A0000033C0000033E00000340000CA -:1049E00000342000003440000034600000348000B7 -:1049F0000034A0000034C0000034E00000350000A6 -:104A00000035200000354000003560000035800092 -:104A10000035A0000035C0000035E0000036000081 -:104A2000003620000036400000366000003680006E -:104A30000036A0000036C0000036E000003700005D -:104A4000003720000037400000376000003780004A -:104A50000037A0000037C0000037E0000038000039 -:104A60000038200000384000003860000038800026 -:104A70000038A0000038C0000038E0000039000015 -:104A80000039200000394000003960000039800002 -:104A90000039A0000039C0000039E000003A0000F1 -:104AA000003A2000003A4000003A6000003A8000DE -:104AB000003AA000003AC000003AE000003B0000CD -:104AC000003B2000003B4000003B6000003B8000BA -:104AD000003BA000003BC000003BE000003C0000A9 -:104AE000003C2000003C4000003C6000003C800096 -:104AF000003CA000003CC000003CE000003D000085 -:104B0000003D2000003D4000003D6000003D800071 -:104B1000003DA000003DC000003DE000003E000060 -:104B2000003E2000003E4000003E6000003E80004D -:104B3000003EA000003EC000003EE000003F00003C -:104B4000003F2000003F4000003F6000003F800029 -:104B5000003FA000003FC000003FE000003FE00138 -:104B600000000000000001FF0000020000007FF8CC -:104B700000007FF800000CDF0000150000000001BD -:104B80000000000100000001FFFFFFFFFFFFFFFF2B -:104B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 -:104BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 -:104BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 -:104BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 -:104BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 -:104BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 -:104BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:104C0000FFFFFFFFFFFFFFFFFFFFFFFF00000000B0 -:104C1000FFFFFFFF00000000FFFFFFFFFFFFFFFFA0 -:104C200000000000FFFFFFFF00000000FFFFFFFF8C -:104C3000FFFFFFFF00000000FFFFFFFF000000007C -:104C4000FFFFFFFF0000000300BEBC20FFFFFFFFCF -:104C500000000000FFFFFFFF00000000FFFFFFFF5C -:104C60000000000300BEBC20FFFFFFFF00000000AB -:104C7000FFFFFFFF00000000FFFFFFFF0000000339 -:104C800000BEBC20FFFFFFFF00000000FFFFFFFF92 -:104C900000000000FFFFFFFF0000000300BEBC207B -:104CA000FFFFFFFF00000000FFFFFFFF000000000C -:104CB000FFFFFFFF0000000300BEBC20FFFFFFFF5F -:104CC00000000000FFFFFFFF00000000FFFFFFFFEC -:104CD0000000000300BEBC2000002000000040C017 -:104CE00000006180000082400000A3000000C3C0FB -:104CF0000000E4800001054000012600000146C0DC -:104D000000016780000188400001A9000001C9C0BE -:104D10000001EA8000020B4000022C0000024CC09F -:104D200000026D8000028E400002AF000002CFC082 -:104D30000002F0800003114000033200000352C063 -:104D400000037380000394400003B5000003D5C046 -:104D50000003F6800004174000043800000458C027 -:104D60000004798000049A40000080000001038064 -:104D70000001870000020A8000028E0000031180FB -:104D8000000395000004188000049C0000051F80AB -:104D90000005A300000626800006AA0000072D805B -:104DA0000007B100000834800008B80000093B800B -:104DB0000009BF00000A4280000AC600000B4980BB -:104DC000000BCD00000C5080000CD400000D57806B -:104DD000000DDB0000007FF800007FF80000193EA6 -:104DE0000000350000001900001000000000000065 -:104DF00000000000FFFFFFFF400000004000000037 -:104E000040000000400000004000000040000000A2 -:104E10004000000040000000400000004000000092 -:104E20004000000040000000400000004000000082 -:104E30004000000040000000400000004000000072 -:104E40004000000040000000400000004000000062 -:104E50004000000040000000400000004000000052 -:104E60004000000040000000400000004000000042 -:104E7000400000004000000000007FF800007FF8C4 -:104E8000000005C700001500FFFFFFFFFFFFFFFF49 -:104E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 -:104EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 -:104EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 -:104EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 -:104ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 -:104EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 -:104EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 -:104F0000FFFFFFFFFFFFFFFF400000004000000029 -:104F10004000000040000000400000004000000091 -:104F20004000000040000000400000004000000081 -:104F30004000000040000000400000004000000071 -:104F40004000000040000000400000004000000061 -:104F50004000000040000000400000004000000051 -:104F60004000000040000000400000004000000041 -:104F70004000000040000000400000004000000031 -:104F800040000000400000000000100000002080F1 -:104F900000003100000041800000520000006280EB -:104FA0000000730000008380000094000000A480D3 -:104FB0000000B5000000C5800000D6000000E680BB -:104FC0000000F700000107800001180000012880A0 -:104FD000000139000001498000015A0000016A8087 -:104FE00000017B0000018B8000019C000001AC806F -:104FF0000001BD000001CD800001DE000001EE8057 -:105000000001FF0000007FF800007FF80000112E73 -:105010000000350010000000000028AD0000000076 -:105020000001000100070205CCCCCCC5FFFFFFFF4B -:10503000FFFFFFFF7058103C000000000000000060 -:1050400000000001CCCC0201CCCCCCCCCCCC0201F9 -:10505000CCCCCCCCCCCC0201CCCCCCCCCCCC0201BA -:10506000CCCCCCCCCCCC0201CCCCCCCCCCCC0201AA -:10507000CCCCCCCCCCCC0201CCCCCCCCCCCC02019A -:10508000CCCCCCCC00000000FFFFFFFF40000000B4 -:105090004000000040000000400000004000000010 -:1050A0004000000040000000400000004000000000 -:1050B00040000000400000004000000040000000F0 -:1050C00040000000400000004000000040000000E0 -:1050D00040000000400000004000000040000000D0 -:1050E00040000000400000004000000040000000C0 -:1050F00040000000400000004000000040000000B0 -:10510000400000004000000040000000002625A0F4 -:1051100000000000002625A000000000002625A0B9 -:1051200000000000002625A000000000000E023252 -:10513000011600D60010000000000000002625A087 -:1051400000000000002625A000000000002625A089 -:1051500000000000002625A00000000000720236BA -:10516000012300F300100000000000000000FFFF1A -:10517000000000000000FFFF000000000000FFFF33 -:10518000000000000000FFFF000000000000FFFF23 -:10519000000000000000FFFF000000000000FFFF13 -:1051A000000000000000FFFF000000000000FFFF03 -:1051B000000000000000FFFF000000000000FFFFF3 -:1051C000000000000000FFFF000000000000FFFFE3 -:1051D000000000000000FFFF000000000000FFFFD3 -:1051E000000000000000FFFF000000000000FFFFC3 -:1051F000000000000000FFFF000000000000FFFFB3 -:10520000000000000000FFFF000000000000FFFFA2 -:10521000000000000000FFFF000000000000FFFF92 -:10522000000000000000FFFF000000000000FFFF82 -:10523000000000000000FFFF000000000000FFFF72 -:10524000000000000000FFFF000000000000FFFF62 -:10525000000000000000FFFF000000000000FFFF52 -:10526000000000000000FFFF000000000000FFFF42 -:10527000000000000000FFFF000000000000FFFF32 -:10528000000000000000FFFF000000000000FFFF22 -:10529000000000000000FFFF000000000000FFFF12 -:1052A000000000000000FFFF000000000000FFFF02 -:1052B000000000000000FFFF000000000000FFFFF2 -:1052C000000000000000FFFF000000000000FFFFE2 -:1052D000000000000000FFFF000000000000FFFFD2 -:1052E000000000000000FFFF000000000000FFFFC2 -:1052F000000000000000FFFF000000000000FFFFB2 -:10530000000000000000FFFF000000000000FFFFA1 -:10531000000000000000FFFF000000000000FFFF91 -:10532000000000000000FFFF000000000000FFFF81 -:10533000000000000000FFFF000000000000FFFF71 -:10534000000000000000FFFF000000000000FFFF61 -:10535000000000000000FFFF000000000000FFFF51 -:10536000000000000000FFFF00000000FFFFFFF34F -:10537000318FFFFF0C30C30CC30C30C3CF3CF300A4 -:10538000F3CF3CF30000CF3CCDCDCDCDFFFFFFF1FF -:1053900030EFFFFF0C30C30CC30C30C3CF3CF30025 -:1053A000F3CF3CF30001CF3CCDCDCDCDFFFFFFF6D9 -:1053B000305FFFFF0C30C30CC30C30C3CF3CF30095 -:1053C000F3CF3CF30002CF3CCDCDCDCDFFFFF406B3 -:1053D0001CBFFFFF0C30C305C30C30C3CF3000141B -:1053E000F3CF3CF30004CF3CCDCDCDCDFFFFFFF29A -:1053F000304FFFFF0C30C30CC30C30C3CF3CF30065 -:10540000F3CF3CF30008CF3CCDCDCDCDFFFFFFFA6D -:10541000302FFFFF0C30C30CC30C30C3CF3CF30064 -:10542000F3CF3CF30010CF3CCDCDCDCDFFFFFFF748 -:1054300031EFFFFF0C30C30CC30C30C3CF3CF30083 -:10544000F3CF3CF30020CF3CCDCDCDCDFFFFFFF51A -:10545000302FFFFF0C30C30CC30C30C3CF3CF30024 -:10546000F3CF3CF30040CF3CCDCDCDCDFFFFFFF3DC -:10547000318FFFFF0C30C30CC30C30C3CF3CF300A3 -:10548000F3CF3CF30000CF3CCDCDCDCDFFFFFFF1FE -:10549000310FFFFF0C30C30CC30C30C3CF3CF30003 -:1054A000F3CF3CF30001CF3CCDCDCDCDFFFFFFF6D8 -:1054B000305FFFFF0C30C30CC30C30C3CF3CF30094 -:1054C000F3CF3CF30002CF3CCDCDCDCDFFFFF406B2 -:1054D0001CBFFFFF0C30C305C30C30C3CF3000141A -:1054E000F3CF3CF30004CF3CCDCDCDCDFFFFFFF299 -:1054F000304FFFFF0C30C30CC30C30C3CF3CF30064 -:10550000F3CF3CF30008CF3CCDCDCDCDFFFFFFFA6C -:10551000302FFFFF0C30C30CC30C30C3CF3CF30063 -:10552000F3CF3CF30010CF3CCDCDCDCDFFFFFFF747 -:1055300030EFFFFF0C30C30CC30C30C3CF3CF30083 -:10554000F3CF3CF30020CF3CCDCDCDCDFFFFFFF519 -:10555000304FFFFF0C30C30CC30C30C3CF3CF30003 -:10556000F3CF3CF30040CF3CCDCDCDCDFFFFFFF3DB -:1055700031EFFFFF0C30C30CC30C30C3CF3CF30042 -:10558000F3CF3CF30000CF3CCDCDCDCDFFFFFFF1FD -:10559000310FFFFF0C30C30CC30C30C3CF3CF30002 -:1055A000F3CF3CF30001CF3CCDCDCDCDFFFFFFF6D7 -:1055B000305FFFFF0C30C30CC30C30C3CF3CF30093 -:1055C000F3CF3CF30002CF3CCDCDCDCDFFFFF406B1 -:1055D0001CBFFFFF0C30C305C30C30C3CF30001419 -:1055E000F3CF3CF30004CF3CCDCDCDCDFFFFFFF298 -:1055F000304FFFFF0C30C30CC30C30C3CF3CF30063 -:10560000F3CF3CF30008CF3CCDCDCDCDFFFFFFFA6B -:10561000302FFFFF0C30C30CC30C30C3CF3CF30062 -:10562000F3CF3CF30010CF3CCDCDCDCDFFFFFF97A6 -:10563000056FFFFF0C30C30CC30C30C3CF3CC00060 -:10564000F3CF3CF30020CF3CCDCDCDCDFFFFFFF518 -:10565000310FFFFF0C30C30CC30C30C3CF3CF30041 -:10566000F3CF3CF30040CF3CCDCDCDCDFFFFFFF3DA -:10567000320FFFFF0C30C30CC30C30C3CF3CF30020 -:10568000F3CF3CF30000CF3CCDCDCDCDFFFFFFF1FC -:10569000310FFFFF0C30C30CC30C30C3CF3CF30001 -:1056A000F3CF3CF30001CF3CCDCDCDCDFFFFFFF6D6 -:1056B000305FFFFF0C30C30CC30C30C3CF3CF30092 -:1056C000F3CF3CF30002CF3CCDCDCDCDFFFFF406B0 -:1056D0001CBFFFFF0C30C305C30C30C3CF30001418 -:1056E000F3CF3CF30004CF3CCDCDCDCDFFFFFFF297 -:1056F000304FFFFF0C30C30CC30C30C3CF3CF30062 -:10570000F3CF3CF30008CF3CCDCDCDCDFFFFFF8ADA -:10571000042FFFFF0C30C30CC30C30C3CF3CC000C0 -:10572000F3CF3CF30010CF3CCDCDCDCDFFFFFF97A5 -:1057300005CFFFFF0C30C30CC30C30C3CF3CC000FF -:10574000F3CF3CF30020CF3CCDCDCDCDFFFFFFF517 -:10575000310FFFFF0C30C30CC30C30C3CF3CF30040 -:10576000F3CF3CF30040CF3CCDCDCDCDFFFFFFF3D9 -:10577000316FFFFF0C30C30CC30C30C3CF3CF300C0 -:10578000F3CF3CF30000CF3CCDCDCDCDFFFFFFF1FB -:10579000302FFFFF0C30C30CC30C30C3CF3CF300E1 -:1057A000F3CF3CF30001CF3CCDCDCDCDFFFFFFF6D5 -:1057B000305FFFFF0C30C30CC30C30C3CF3CF30091 -:1057C000F3CF3CF30002CF3CCDCDCDCDFFFFFFF6B4 -:1057D00030BFFFFF0C30C30CC30C30C3CF3CF314FD -:1057E000F3CF3CF30004CF3CCDCDCDCDFFFFFFF296 -:1057F000304FFFFF0C30C30CC30C30C3CF3CF30061 -:10580000F3CF3CF30008CF3CCDCDCDCDFFFFFFFA69 -:10581000302FFFFF0C30C30CC30C30C3CF3CF30060 -:10582000F3CF3CF30010CF3CCDCDCDCDFFFFFFF744 -:1058300031CFFFFF0C30C30CC30C30C3CF3CF3009F -:10584000F3CF3CF30020CF3CCDCDCDCDFFFFFFF01B -:10585000307FFFFF0C30C30CC30C30C3CF3CF300D0 -:10586000F3CF3CF30040CF3CCDCDCDCDFFFFFFFFCC -:1058700030CFFFFF0C30C30CC30C30C3CF3CF3CC94 -:10588000F3CF3CF30000CF3CCDCDCDCDFFFFFFFFEC -:1058900030CFFFFF0C30C30CC30C30C3CF3CF3CC74 -:1058A000F3CF3CF30001CF3CCDCDCDCDFFFFFFFFCB -:1058B00030CFFFFF0C30C30CC30C30C3CF3CF3CC54 -:1058C000F3CF3CF30002CF3CCDCDCDCDFFFFFFFFAA -:1058D00030CFFFFF0C30C30CC30C30C3CF3CF3CC34 -:1058E000F3CF3CF30004CF3CCDCDCDCDFFFFFFFF88 -:1058F00030CFFFFF0C30C30CC30C30C3CF3CF3CC14 -:10590000F3CF3CF30008CF3CCDCDCDCDFFFFFFFF63 -:1059100030CFFFFF0C30C30CC30C30C3CF3CF3CCF3 -:10592000F3CF3CF30010CF3CCDCDCDCDFFFFFFFF3B -:1059300030CFFFFF0C30C30CC30C30C3CF3CF3CCD3 -:10594000F3CF3CF30020CF3CCDCDCDCDFFFFFFFF0B -:1059500030CFFFFF0C30C30CC30C30C3CF3CF3CCB3 -:10596000F3CF3CF30040CF3CCDCDCDCDFFFFFFFFCB -:1059700030CFFFFF0C30C30CC30C30C3CF3CF3CC93 -:10598000F3CF3CF30000CF3CCDCDCDCDFFFFFFFFEB -:1059900030CFFFFF0C30C30CC30C30C3CF3CF3CC73 -:1059A000F3CF3CF30001CF3CCDCDCDCDFFFFFFFFCA -:1059B00030CFFFFF0C30C30CC30C30C3CF3CF3CC53 -:1059C000F3CF3CF30002CF3CCDCDCDCDFFFFFFFFA9 -:1059D00030CFFFFF0C30C30CC30C30C3CF3CF3CC33 -:1059E000F3CF3CF30004CF3CCDCDCDCDFFFFFFFF87 -:1059F00030CFFFFF0C30C30CC30C30C3CF3CF3CC13 -:105A0000F3CF3CF30008CF3CCDCDCDCDFFFFFFFF62 -:105A100030CFFFFF0C30C30CC30C30C3CF3CF3CCF2 -:105A2000F3CF3CF30010CF3CCDCDCDCDFFFFFFFF3A -:105A300030CFFFFF0C30C30CC30C30C3CF3CF3CCD2 -:105A4000F3CF3CF30020CF3CCDCDCDCDFFFFFFFF0A -:105A500030CFFFFF0C30C30CC30C30C3CF3CF3CCB2 -:105A6000F3CF3CF30040CF3CCDCDCDCDFFFFFFFFCA -:105A700030CFFFFF0C30C30CC30C30C3CF3CF3CC92 -:105A8000F3CF3CF30000CF3CCDCDCDCDFFFFFFFFEA -:105A900030CFFFFF0C30C30CC30C30C3CF3CF3CC72 -:105AA000F3CF3CF30001CF3CCDCDCDCDFFFFFFFFC9 -:105AB00030CFFFFF0C30C30CC30C30C3CF3CF3CC52 -:105AC000F3CF3CF30002CF3CCDCDCDCDFFFFFFFFA8 -:105AD00030CFFFFF0C30C30CC30C30C3CF3CF3CC32 -:105AE000F3CF3CF30004CF3CCDCDCDCDFFFFFFFF86 -:105AF00030CFFFFF0C30C30CC30C30C3CF3CF3CC12 -:105B0000F3CF3CF30008CF3CCDCDCDCDFFFFFFFF61 -:105B100030CFFFFF0C30C30CC30C30C3CF3CF3CCF1 -:105B2000F3CF3CF30010CF3CCDCDCDCDFFFFFFFF39 -:105B300030CFFFFF0C30C30CC30C30C3CF3CF3CCD1 -:105B4000F3CF3CF30020CF3CCDCDCDCDFFFFFFFF09 -:105B500030CFFFFF0C30C30CC30C30C3CF3CF3CCB1 -:105B6000F3CF3CF30040CF3CCDCDCDCD000C0000B9 -:105B7000000700C000028130000B815800020210B3 -:105B800000010230000F024000010330000C000051 -:105B9000000800C000028140000B81680002022062 -:105BA0000001024000070250000202C0000F000086 -:105BB000000800F000028170000B81980002025082 -:105BC00000010270000B8280000803380010000002 -:105BD0000008010000028180000B81A80002026021 -:105BE00000018280000E829800080380000B0000F4 -:105BF000000100B0000280C0000580E80002014002 -:105C000000010160000E017000038250CCCCCCCCAE -:105C1000CCCCCCCCCCCCCCCCCCCCCCCC00002000D4 -:105C2000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCB4 -:105C300000002000CCCCCCCCCCCCCCCCCCCCCCCCB4 -:105C4000CCCCCCCC04002000000000000000000000 -:105C50001F8B080000000000000BFB51CFC0F003B9 -:105C60008A59051918AC84117C7A607E4ECAF43BBF -:105C7000F232303803B12B103700F1616E06862303 -:105C8000DCC4EBBF2C8F6087CA32303402F11E694E -:105C900006063B3984B8B90203C30A203F0B2AF633 -:105CA0001E4897CA53E6EEC182B55531C5349411EA -:105CB0006C1D2CF2C858174DBE5D1995AF4740FFBB -:105CC00040E32C1D54FE742D08FD4D1B4267A3C9F3 -:105CD000CF80CAFB40FD95A383DD5C5F22FD9DCA9A -:105CE00082CA8F47E3B731A2F2CD3850F94950F557 -:105CF00000CDA28F7AC80300000000000000000061 -:105D00001F8B080000000000000BED7D0D7854D5BE -:105D1000B5E83A73CEFC25672693908409093009CB -:105D200021441B700C3F0D16EB097F8636D70E14ED -:105D3000696C150744881048A4D6874FFD3291003E -:105D4000E17F504B43413CFC29BD97B691A2A596FB -:105D5000D2019F165BDFF782CF7AB5B5BD23A5F8D8 -:105D6000539498774BEDBBDEFAF65A7B9FCC3927DC -:105D7000332448BDED7BEFC6AF3DEC73F6CFFADBC5 -:105D80006BAFB5F6DA7B9C0E37148E04F818FF6EF5 -:105D900000F81715000A524FA70762D9D700E4E6AA -:105DA0006BB16415C0D07C2D0113D8FB802BE49619 -:105DB00052ED8CE789DC9941ACD75EA00581F5D125 -:105DC0009E3B0FA2D857B411A01040F100FD19F569 -:105DD0009D81391EA8A2577FF9D8F82E03AC0994EB -:105DE000E5603B7BFF003AC04473D90160F4C9DA37 -:105DF000790D78CBD98B7C80AC090EFDC652067725 -:105E0000B99EC0727688C1CDCA274A5FF08C62788D -:105E10006CB8DE117653EBBB012601ACC4BE42EC7C -:105E2000FDD884F8AE84B13C433ED4E662E5EC7222 -:105E3000A0FABEB1B1848BDA696A116B1700DE2E4D -:105E400050B9B81EC601E468AE145CBC1EE19F2DBB -:105E5000EA79CAADDFB361D307B21F4B4988F8585E -:105E6000FF35EC7BA5E97BE5CCB7B0DF6C30B563E3 -:105E7000786CC37F14017C0E7CF9E7B0F3CFC26766 -:105E8000910E303D0F60727FFAA5E81623FE027076 -:105E9000BE78A1EF8FF8E0117CB8717AB2C1C1F081 -:105EA00056A73800F19E297FE4296374DC7C4A26DA -:105EB0003A6C6E60FFC7BE6FAE73E8B152C2B3BE3C -:105EC00088B51F29F0CC9BF8B2842C5AD7CACAEEE9 -:105ED000FE747687131ACA891A8E513F6EF66E08C1 -:105EE000932B77490FC9CDC81A464FA4CB031CEF9B -:105EF00018FBEFE3B2143DDD063DA758E9E916F4BF -:105F0000CCBBC74A47770DA3A31FBF5BE9A8E33FFC -:105F100018BD1619742C80D144C7581ED177B0749F -:105F2000CCB5D13160D031966C5050FE908E0CDEE5 -:105F3000AD9A03B259B9F735B72E23DD625A77907F -:105F4000D5574563B586CBD16601D77AA4DF18FA59 -:105F5000E4700419BFAABA343E6F121296B3AB7440 -:105F600092772F23CB905294575552183D37563283 -:105F7000790D119C92A3A63F5CEC8FDA6F64F0A8B8 -:105F80002678367ABA3C122B6F63F0C624AC76388A -:105F9000807269E0ED0E392CF45682593679E7703B -:105FA0001AF06DD3F87C36C141EFA1BBAB436270F0 -:105FB0005E9CE1800DD2C0FD6EEDEBC7DABFBDDFA8 -:105FC00001E14B06BCE50CBF8B2FCAE10D8C3E1BDB -:105FD000435D1D28E75BA7737CFBF3F90AC7EBE978 -:105FE000F1944F308D17EEF104D2EAB72B1C0772F3 -:105FF000AD78D504BC81AA2B1F07020B4622FF33C4 -:10600000F1E3AF067F88C16FA293B73C2061FFDE4A -:10601000B10F7B80E6FD610FC2611FA71FBCB67187 -:10602000EDE32895314DA1924D1F057400937EA19B -:106030003A217C727D921DB6EA196FA54DBF84ACE2 -:106040006545E81BC5A66F3EB0EBEB0983D4335A18 -:1060500023C11B12708198CFA3C47C9E762819F4AB -:1060600030FA95EF32F4F5033FAF64F27040E8EB9D -:10607000039D407AF64017D3D734AFB9BE1EC7414F -:1060800083AA6FBEEC40FCF7F6E91B2B7DCAE2DA6F -:1060900054D43BE5F1B003FB29DBC4F54D59478BE4 -:1060A00003F9344EE82D38CAE9E061FF99F5759996 -:1060B0001867D42E2B1DCB90BEAC5DD511DBFB1A1F -:1060C000BEEE958189AE6CBCADF80F46AF6112A3F0 -:1060D000E367D8BF474305D171CA20D73D4147BBCD -:1060E000BE2EC3B147313A3ECAF435C36F6480D384 -:1060F000B1BDC3010ED48FBB1CA41FC794461C584E -:10610000CFD0DB0234A814F8EF13EB9D01E7A8070A -:106110007A6A51B99743CF0937EB27771384132154 -:10612000D4D325B538CEE371AEA7CBE3E0889AECA3 -:10613000A15C01CFE3D37B5F1CC3EAF5C69530A217 -:10614000B91F420E4F698AAEC67A3B52C8E93F601A -:106150002D931CDAF93852C8A59D3E6374ABFC96AA -:106160003F6AE3C7266B79A44DAEEB0D7E18723DF6 -:10617000487EB81588B9F3B0AC937DE761342A60E6 -:1061800065F907CF6928D76A277F97DBE1D04B995C -:10619000DCFADA7959E950F45A36EE6D6880B1F2DA -:1061A000E818E86897CAD33548327A8F0E244066DB -:1061B000EF474E87B06C9A2F869D69F06F94A0DFF1 -:1061C00028616FE43CD8EB45397F3CC0E88E7C7F8A -:1061D0004011ED7BBC91B129BADBF5C3571AAC7401 -:1061E000BF39926DA1D7ACD0104B79FCA96197E46F -:1061F00093A13F0C3932E8D68F0F312BDF7CD3AD22 -:10620000DFEDFAA74DB2E99F41F2C975122AD18E8E -:1062100019E3C80AEF2DED5FEF61C921EC218F7EF4 -:10622000968DB70024C861FD2F87E408A4F7513587 -:1062300044DF5738928558BE003DDB878F4AF53FD3 -:106240004281A3520E53DA8CBCAB1848C33C90C8B1 -:1062500026BB18229E422201D14562FFBB95E44530 -:106260007120BD8A03FC3DC472142C07C1F80B5980 -:10627000ECC4A2552FFC5962F353124F19F9C8C64A -:10628000774294E4C103712A6741173D55E8A6A7F8 -:106290001F7AE819808084CF3C08D313AED69F4A7A -:1062A000901E7D2040F4F4FE0E3ECE4EE1B346F04B -:1062B0006D1844BE2F4D443E24C023A7E4D02BE6E6 -:1062C00037B3D7482F7B2A99FC96A27FC0D6D52A10 -:1062D0009AFFDC9F99DE134379CE51615884BDDF6C -:1062E000D81A20FDBCB9D543CF0EA16F4AAE796153 -:1062F000C71DEC9F8F8CAD79732F7B9E68DBAEA1A1 -:106300005DD33196EB97A1D3BBEB46A19D58AF70FF -:10631000BBB09DDBAD39825A1DA393FA6A567FCB81 -:10632000DD9EB0797D31F4D096EB9307F7B1EF7A2B -:106330004B167DD7A70B7BEC23C67FC30F42FA8594 -:1063400005DFEA136487B2F7311FABEFF990213F05 -:106350009E7D0FF6B4A6D33F1D6559A4FF3A4EAEFD -:1063600087105BE7435A4C23BB760A33594BC9BEAF -:1063700075C4AA70F6457F2531FAE6C40292A622BA -:106380007D40C2761E740891BE4A3C68B657FBFA3F -:106390001F1E0B2E64FDC5AE77850F90F88063DE5F -:1063A000D8CC72BFBEEDDEAF6A69EC27BF4322FED8 -:1063B0009EBCBEB008FD5D17048AB227E03C72C1E6 -:1063C000015C9FAE5F3C329AA65D6A3E19F651FAB7 -:1063D00067A6766E195ABA4CFD963B1CA42FC1E1F4 -:1063E000A1676E09979750A5909B18687A1A3BF39E -:1063F000F3027E8F128380B0A73F4D7ABD2D713896 -:10640000D74BD0D095061E1DE19988F3A02986FEB2 -:10641000404E1B9757A6B534AC1F52F8D3A87FA3A4 -:10642000A8FFA4C0E332F44DE1A3386FF307A9EF4E -:1064300070DC34F884C5F89733EED651688C062C9E -:1064400074B7F3B36F7C8797EA5DBC7E7B10FDE782 -:106450004C70865A58DDA1EC592F9E55E25949BA25 -:10646000BDDF7897DBDF144788F0B4F70BFBB9FD8D -:106470009423D6A913935D34CF873F00229E62D523 -:106480001BC3991F89FA4D3FC8167809F5062F3F9F -:10649000B61FC89EEABDE721B23B4B50AFCA18E712 -:1064A00088D23C2E8510950DFDB616F51D7B5E84B9 -:1064B000C82D8E02D42B5D27515FD64FB87B6ABAA8 -:1064C00078D11DC6FCB88CF5E8F3ECB9C013B9134C -:1064D000FB57C3A735B66243EE5C29969DD37F5E1A -:1064E00031F10CCE31CF873EB9E0F3A91DE5BD8A6D -:1064F000CF9BD9AC5C579E1E4EBDED6291B0FB8622 -:10650000917FA3C0B039A6F9A83FC8E6156BF7B8CC -:10651000E8CF78BF5DE017FB04F3A08E3D03615D1B -:106520004375394F6F7122DF6E96A26B10EFB9F58C -:1065300091E791F5EAC16E2D2B44EF3B1C6C9CBAA0 -:10654000501C3907AAD61DC3E763F72CD4908FBD22 -:106550004C67C969FC66E399A539AC7E92DDEF1BF7 -:10656000E47CBC3A1C9F8A765865C3891388EE0286 -:106570004F7427C23524F2945680F0864E6B7926EC -:106580007E8D14FC5AE6E0F8E73E20F8A66841E468 -:10659000C75D10D98BED039AB0BB07094726F947B1 -:1065A0003B13E93812E59DE9CDF63093F7D2D47C60 -:1065B000C811F3A15DCC87DE095CFEDB03D58174D5 -:1065C000EB8521EF86FC1BFAD05E2FF109E4FC2A53 -:1065D000F6AC8000F9311721FADF900E0C7BB26B1C -:1065E00072A777913F67CCABFAF0E9E943183EEA2E -:1065F000845035D2DF18F7BC90BB051EEDE7241F91 -:10660000E56D4A1EC36BCC3D101EC5EACD2ACF9561 -:10661000CCF2FE6A5FFDC8699A5FF7746B4A68E066 -:1066200076FF43E077B31479CD2C87AC9F5F615937 -:106630000D75A384F5D13924EC7BB96D21D90F4CAC -:106640003E0348E7792D2DCFE37873AB226BB0BEC4 -:10665000D1FFAC90CD6E97A26F61BF7639AD83B894 -:106660000297B17E8C94A217B09FFA5037C19B3B22 -:106670003D4272C6E0FEE05382FB2F48D74C70BF0C -:10668000858D516F86F7905E63F0C9328363F403A2 -:1066900009258FE87E5A41BA333A3BE582149D07BB -:1066A0003BCFB7897936D07C6FC77F4C46BB383A31 -:1066B00004C7CF13762E244F00F7AFAC71CA19F27E -:1066C00079403B2BB72E09181F1A724A0EDFC83EBD -:1066D0000DAD0309ED62C38ECD13F3D180674B9FDF -:1066E0009D1CA4F933444D06232ACED74964B73DF7 -:1066F000529B0CA29FB7B63544DF033593D6DF110A -:10670000C2E1A304C786D6B0B0AF6BE819AFEB3DCA -:1067100085FB025B820EB27F37B5561A71598237FC -:10672000CFB093EBCE909DDC1BCC127EA315BE7830 -:10673000DD19CBBE87D10E82A6385619F623ECEBB5 -:1067400010D73703B5574BAC74EF6BAF0DAE7DD69A -:10675000046BFB5A2DD981F1C400C68F100FA1F72D -:10676000FC02C6408D83FC6483DE9E2A6B1C2E5E79 -:10677000977E1FA76F5DB08D07E559A932068B6222 -:106780008D04DF4A015FA67ED6887895517666D063 -:10679000934DB25827C57E5440C0FA88C6E8A1A6DA -:1067A000E83144C8DD967AEE874180C7E70C3FC7E1 -:1067B00009FC7B6A3C8E379549DFC7F83836F88D7F -:1067C000F62ED13E131C2E7B7F67593F934CFDD88C -:1067D000E0CC049F7D7F0CDEB6F693597FD9DA9D1D -:1067E0001F1C1FFAB503133FA99C672B0FB3D52FAE -:1067F000B37DBFDAF6BDDA56BECE567FAAADFC0534 -:106800005BFD39B6F2576DF517DABE2FB57D5F69BE -:106810002BFF576BFDAABB3E197DFF3FA39331AF02 -:10682000FAD345B7ECEFDAE75519244624D8736F4D -:10683000EE4B8BF1D3BFC892728EFB243C8E058940 -:106840007111933DFE7B357A06D7B1BD1F6959A8FA -:10685000F7F7C75FF6A33E32DE9F97DEF05F156263 -:106860007AC19558C1E33E719A3759A09C49562286 -:1068700097248A9779D44544724F397B6FD26F6ED3 -:1068800088109F5D25D6F710E7F3B01C7D7AD65FA0 -:106890006C9B8BECC15811E8A3315E94CFFBA7FA37 -:1068A000652978AB15AE9F8291782DCEE1610D5DA3 -:1068B00027F069A753705AECDA1730DEF008F7CBEF -:1068C000F7CFB0FAD5B728DC0FB94DB96CBFE0D51A -:1068D000F172AAFFFD0FAAE13656653F02C1CAB1A7 -:1068E000073D3AC63746605C8E6F1A505C6E38883A -:1068F0003F117F2BC17FB376C3D55314670B350689 -:106900004EA2CE9BA354D0788F4B3D57E1788EECAE -:10691000F3D7F2FDBCBF7C4CF17741AFE0C649C96B -:1069200018A3176C758547139DC34467B702EDEE36 -:106930006A14134EDFD5ECB578AFF8F2D06D12FCC7 -:1069400040FD3B0AF7B575E0FE6482CA3E48523905 -:1069500047D8B9639452EE17083F9379F612FA5F5D -:10696000C12F32BF3CCDFA315BAA1DA314A4E29320 -:106970005288C721A54D2FFC59C278572584F8FEAF -:10698000948807AE97A58F311E1E18DCFE4EF06B63 -:1069900056BE821285D92679FE5A1F3F39BD46055B -:1069A00039FEC1ADAE16F46BF6CFB2CA81515F5657 -:1069B0002E3B5EB17DDCA84F4F0E729551044F7F88 -:1069C00039B83580FB07528CD12D7BF074CB91B553 -:1069D000AF2A13114FA0F22149BB5529489515D074 -:1069E000E69BBFBF2A4716E0F7D854A86C5153FD69 -:1069F000B0F78B32BC5F92EE7DA961B79EE5EB7874 -:106A0000B1B0AF86B6C7C92E2D6ACACB32DB59C525 -:106A1000625DD8D3B4D08BF86E6F48AF078DE74670 -:106A2000E1F765AAA74A5D11D42B3056810369ECC2 -:106A3000F26751BE4DFA54ADB2DA5BD317C56AB1F5 -:106A4000BDBFCE01B86FC2D679B2EF8A842E7B78F3 -:106A50004A4CC2BC97F872083FC4F0F22F2AF3A642 -:106A6000B3931ED6B6D3FB1DF5876791DFC2EC3A10 -:106A700099E2E25DEBB13CA4C6011BD2EC173C21CC -:106A8000F0DB5CCFE964FF5EE18268BA79F8AC22A2 -:106A9000F61994980485A9FD92274E147DA192C100 -:106AA0005B1C7684BDA1149CA57D765382E855516C -:106AB000AD0430DF80297E8BBDB9A3BD7AC71D68C8 -:106AC000B7B3F768B7EFBC3E300CD78D3DB515B303 -:106AD0001A517FDFE980D1A1141C633AADF43CD197 -:106AE000373FADE3B27E6BC97FAA67E44A43872B89 -:106AF000A547A71837939CD8D755BB1C5CCEFA7016 -:106B0000937CE5F8FD00E7E144921F8AD30CAD6762 -:106B10007E5C556A1E197E8A5DCE02750B49CEB623 -:106B2000D7977911CFDEBA6AC9C5EA6DC19A69FCF7 -:106B30007163BC4CF05438A3DE00CDC385523ABA21 -:106B40001546D3C7CF35A7883F2B5109DB67AA3736 -:106B5000C229E441CCAB4231AF82535AE6D0BCD813 -:106B6000A5C0438C5E0FD755B78D26FA3948EEA6DF -:106B70006B5CCF164EE0FB993E46AF67D9BAF7483B -:106B8000038413ECFD23135C96FD9942411FBB3C2B -:106B90003E32807E01B3FFC5E45F71AA7CFFB61C64 -:106BA000CAD19E7AB8EED2ED074BDF608343D39112 -:106BB000BF35D503C44DDA2E779D9A773DCA63CD94 -:106BC00020F3276CFA029EBB6BFD68C607DF2EA67A -:106BD0002F201D7D5C167F7C207AD8E93F0EE99935 -:106BE000FDE9D1D3FE7D8853C40107498F27EBCB44 -:106BF000B6968732D7B7E363B4DB28E6DBE7A14775 -:106C0000C6F9AF4180E24B53214CCFE910A167B7E1 -:106C100012FD9293D59F092D5436E2508D0ADF97CD -:106C2000802A3EAEB1BFAD4C03B293C78C077D2F17 -:106C3000EAE72973C4A6AFA29DF3A0D1C6E048E35A -:106C400057013C447817DBD663234E31B4295E5F8D -:106C5000CDFA2DAE77501CA3B8E6B0D7BC2EFBC53D -:106C6000FC31FADBC9BEE3FABCB36970FC32EA3D21 -:106C7000A12429AFEB899A87DA70B951F2DE0EA60A -:106C80006B6FA7EB968FBABC9134F0EC5C7494F206 -:106C9000B776D65C3A8E3290DC8C91D3DBB39F779B -:106CA0007B896E3B733DB7F0E49C5596FC0390D511 -:106CB00052F3B83B3F82DCC8A5F489669D2F5B9CEC -:106CC000221FC4073E94FF4CF4309E9F361D9E9CAD -:106CD000DAB23492A67D859BDB136B722186F92292 -:106CE0004FBEAEE898DFC00496E471D22D211DEDB1 -:106CF00097355EAE979FAC05FA3E29577C7F2C44B2 -:106D0000F954C59D1073B1F5ACF8B5458FE4B27A6E -:106D10009B16310FB234F57E53F86407EE133FF340 -:106D20008A2380F6D1246FC2136678D5887570E700 -:106D3000A29394771CDBA58447937E97409A44DE08 -:106D4000BC25AE79DCA910BC3BC30F7B716F6E47CD -:106D50002849FD7C63F2494F88E1B7A9A4DB837819 -:106D60006EAE7998D6CBC38BCABE5C4164B5E6974C -:106D7000CC94A7746B98BFBB88EF5BE426BB3D98AF -:106D80009FE46F50E046069F5FE5F86E5A033AAE07 -:106D900053D5228F4482D9E41717D9F2B80A6D79F6 -:106DA0002681F0CC77709F9FF6FF1109B9E991B168 -:106DB000184F6C7688F4538DE6A94FE0E70B6B54BF -:106DC0007FA67CCC8B790B3BDA9500AE7F015BBF55 -:106DD000763C02103DA149D40F8DB3E351BE4E065F -:106DE000265266316B2AE00E30B887B021DBAD70D9 -:106DF0001B74B58FE3B395DF36E4B91846A31E3292 -:106E0000E2CE06FC76B9CD9FA41F7999E1BBF315BC -:106E100095D6EB9D352F7FAD19D7F94A37E5717DB2 -:106E2000E1E2C1A6EFB3E72F3E385A8ECF2F16ED21 -:106E30009FD08C74107912463CAF107B26FB55E82E -:106E40003563BCAA3DEDCE7C7A45F9159B4FBEDE7D -:106E50008871E7A22620FBB748E1F2E96B77E86D7D -:106E60000CFEFCEBE2240FC50D09025A6DE892629C -:106E7000267B5E15F69CAF292AE13EFE8D0D712F13 -:106E8000E68BF844FCD737214E76D20CF90D4F52E1 -:106E90004DF1CFC87F37E69F9D3F158B78DE497156 -:106EA000BB1246B08B9B5A1C6487D7F07CEF8ACE0E -:106EB0002E89FB7F3C9F9E87D4D933D2C8F30977B4 -:106EC000713BDDC8FFF63759F917E8CB9F8FD2BE6B -:106ED0006B69A7ED7BA4EE2D2E87567E96B9043FF5 -:106EE0002B44FEA0CD4FDBDC24F6E9548F7E29BB7A -:106EF000F6159187F32AE23FA6FFF79B33E8DF9B65 -:106F0000DC7C9F5F767477901F779D83FC383B1CF9 -:106F10005B9AB8DEDBEF7258ECF82B1DFF36A1FF51 -:106F20006547F26F327E531FFE7F9BF1EFFF1B8F91 -:106F3000BFE16F4CFF1D7F63FC0FFE07E33FAF52C5 -:106F4000B2F8697B5D1EEAEF87EEBEBC0D8BFE9644 -:106F50001DE9FDED332E87258FD8C84B9CD6A02D7B -:106F600070A1BE0CF3731EF6FE66C82F75A01EDC62 -:106F700021F2B1991ED564CC779A6C9CD3E0FAAF1C -:106F80004EE8BF3AA1FF0E67D0ABD5355CBF33FBEF -:106F9000420F95E292119F5581EBF72985F28B0FF5 -:106FA000035B6650AF85DC69F3B10B05DC767D5A77 -:106FB00028F469F54BB6F7428FDAD7F9D2BEF82933 -:106FC00050FCF4BFBB447EA94DAF1A74D851C3ED39 -:106FD000E5FC39E9EDC14D363EAA135A280FC1CE62 -:106FE0008F332EEE5F1BFC58E0D17EED2AC8CCEF2C -:106FF000A4E0F70D82DFBF7405E869E48D64E277F1 -:107000008D9B8FF359DFD9601B6213A9253EC8827F -:107010004F326CEAA6F82F7C03CCFEE5968F981DC4 -:1070200082EBBFAA52FCECB3F9E03092ED3F32F6AE -:10703000E9D89FB39BC751E57C97CDDFB2DBC11E7A -:10704000CA8FDBA9F1F3563B6BF6EE5C81EBD32BD9 -:107050007C9F79676EE74B78F40DE2E31584C3B04B -:107060001B41C467D1A4E0F928F6FD27ABDDBFF3CF -:10707000A3AE04DA5F815229CC3C2BE8083D9C9FEB -:10708000F63C9ECDDE57DD3E8BBF0B370ECE6E5FDE -:107090002DF8CDFCC502B7697EAFF6CD1CCFF3A2AB -:1070A000A607709F47D2663A309E9EA91F8CF49E19 -:1070B00033ED3B352ADA70EC4F42FFB132E53F0247 -:1070C00094F0F8BC81FF60CF0D34DDC5F7BF055DDE -:1070D000F3AFEBFAABF891469CD7A8A72A094877FB -:1070E0003EC81EB7BBD1A94D46FC060BFF6E143837 -:1070F000F6FCE72AB92E5DFC2029F4AB1A79EAC523 -:107100009B59D50973251EDF67669B795F6D53BE5A -:1071100052972EDEF533314F7E894139D2EB09C8C3 -:107120009328AF04102F633EDAC7BF568C7BED1552 -:107130008EFF8A98D7D78A790D10A6FD984CE3D692 -:107140000ABD613C3FE9B8498177AD4BC4350618AB -:1071500077B6C073F615E27B5E8C3B7B90F82E1001 -:10716000E32DB8C2713F14E32E18E4B8770BFADEB2 -:107170007D8574563C92E86770746E13E3B55DE1EB -:10718000B801316EDB20C7DD26E8BBED0AE95C22E1 -:10719000C6DD66A373A6F9BBF70AC7ABF4F0F9B373 -:1071A0005FCC5FBB5E33C6578B1C116CBF3368ED81 -:1071B000E78B6E3EBEF184C4C7E4BF168B7DDDC98C -:1071C0002BEE5DA8A519D7A86F5F8F338DF335110E -:1071D000AF319EC6387EB11F3AF93A364E1AFA18C8 -:1071E000F5AF75713D98A9FFA5029EA597898751B6 -:1071F000BF16FB9F98B9FFFB041CF7D9E01FA87FBF -:10720000A3FEEC01E0EF1070745C26FC46FD050364 -:10721000F4FF2D01C7B72E137EA3FEDD03D0E709CF -:1072200001C7139709BF51BF6D80FE9F16703C7D4B -:1072300099F01BF5B70D409FE7041CCF5D26FC4677 -:10724000FDFD7DF3DD3AFF54E33C50182A31DF7831 -:10725000046485E97E8370F204FA01EA2A7EBF01A4 -:1072600074D9CF4199CE4FB1297EE2BE8A18D6DFBC -:107270007D178FFBEDBE16C88FD85D20F295455C5B -:107280004B15F6E0EE6B791C647790E7EF832D5E8B -:10729000B49BF93BB4EF5BC2F399D5AA3899983403 -:1072A0005CA13011439857C3CF5319F69E71AE6A53 -:1072B000B58853EDD680E254BBAB7879E774D01D26 -:1072C000A5A6F3569509CA4345C316E3B1A9F362CF -:1072D0001AACAA36E563AC4A50BE8122F246184188 -:1072E000C09297613BA765DCA37073589B816AAE1F -:1072F0007402DFCF2B8D58FD87263CBCC5EAFF56B4 -:10730000E8C900D64BA3670E7914CE3F91B7395721 -:10731000E06FD0AD5AF073CBEC0FBAA7313C5F9C55 -:10732000E2C44C1678F194A0E31459E7FBE7E0348B -:10733000EBED3E39CFE00FAA9D2D27BD8C3E37BF28 -:10734000046164A36F97B6264471B58F48FE28AEDA -:10735000C6C6BD79575C41F99BD5199A86F1C0B96B -:107360002F8556AB987FDD09610DC9FBD1D7A99F49 -:10737000BC7608EB9C556D01B2736DF139E3BCAF7F -:1073800088CF61B8DAEC5FCE127857B707D6E0D66F -:107390005DF574B7C57E9D25FCCC2F696EEB394930 -:1073A00071EE7196CDCFECF458E3756A676406C64A -:1073B000BFE5B9A7353CF73C26220586B2CFB745D5 -:1073C000B629189F9CB5AB85E7F567B80F23E7B1E1 -:1073D000393EB3FD3E46C8F32F775DDA5E37E20CE7 -:1073E00046DCE114E619BBD14F0F0ABE70B932E496 -:1073F000236FAE6491934E0FD7239D1E1EC7FF4F80 -:1074000039F9EBCAC96F3CD6F843277E63F3B12242 -:107410009C7E9FBED1E3FACFF9FA29F0C1EF4DCFA0 -:107420000768CAB1E4131B795576BA19F7C618650F -:107430000FA43F8F57E215EBACDDAF7F235A8B785B -:1074400019711A80FB6DFB9B53C2978A4BC8C6BD4E -:10745000038E3764C4A7D22BF48F020AF56FC3835F -:10746000E67D61EA3E1D7B7F6BC4791E032F677941 -:1074700044C37B56D818B4DF8779EB87AB707D0C9B -:1074800058F0D6BC7CBDD950C9E56D43A5A2679321 -:10749000BC45ADF71695EFF5A4B32B8C2798EFAB51 -:1074A00028EB0FAFAB3C1A33C3E312F0D8FB999330 -:1074B000119E464BFCEB72E1715F05D08D72AB30D3 -:1074C0002926F9FDBAA53F47A54EE7FA33F58367AC -:1074D00064082F1B5F328DEF29B19E5770E5675905 -:1074E000E45D51F36CF78AD8E4AB2F2E34B8F1EC9D -:1074F000E718DBC5F9147B7BAF1287701ABA7B43A0 -:10750000F67C0C9DF8603F5FE30CD8E0B6F5BF0950 -:10751000DFA5C9F730EE195A27D6B5F58A4EF656CB -:107520008C8189F99E6B845C2A019DEE67FAA657CF -:107530004A8B3F84D3AFB74A797AF83D2556BABB18 -:10754000F2F3AC7C50D29FE7586FCCFBC07ECD7C71 -:10755000BF56FF797E2C7CA9F5BCEF5E2DE937F292 -:10756000C70CA5035EDB3D1683E4AFF2E11080217A -:10757000A632D3AB18AF657384F279EDF54F1BF4E7 -:107580007B632FC16FE8E9EC5D465EED27C3439254 -:1075900040EC935BDB679C8742CFC942AE9F1F00E4 -:1075A000FF4CFCCD2A77D8E6CBE0F8EBC5798FEB22 -:1075B0009EA2894BB0ACF33ED37810E0F85EEEBCEF -:1075C000FFA4700EA98B02EA3357300A51B6CE17CA -:1075D00005E3B44FAE4A3D31F4C7D89C0A219F77EA -:1075E0000E09F1F3E3A67A53593B67A923E6C43C9D -:1075F00010089FC0FAB12074617D8CC7ECAD4AD5EC -:10760000532588A0BCAB054A04DF1BFDE54CB1F651 -:10761000C7CC04D97C1ECBC817205787E1EF9CCC80 -:10762000FC53D6DEC5ECD03DE9F44916B743B39F11 -:10763000F3D279435F44D551248B26E894175CD468 -:107640000861F4E72A3ABB21CA3AFD26C23111BFCC -:10765000C7E9DE85A25D71DAB7CF77F373EC454DEC -:10766000716981699CCA2C2EDF53E778689DF87A8E -:107670002DBFDFA23BB8305E8BE3D5F07D2F5FBE20 -:1076800002C3183D7CAFB9B9FF392109E67B23DE7F -:107690006E85EA45A301DE6DF5D0F37C6B809E819B -:1076A0008FFE279DE75B33715208F3472FFA1A4785 -:1076B000E2BAF17E6B90BE6F7E301CC27C22F9E490 -:1076C000EB749F444ADE6332D430BA4D486AC83FF7 -:1076D00013FE7BBDA67DFE3EBC18BE0BD8381B2515 -:1076E000C7ED381E9617929C7A649729FFC325FC34 -:1076F00046E71A883C5585F797E8D2DD55A6F75E30 -:1077000066B7E1FA3A31407C4FD1536F13F4BE169D -:10771000FDDDA297045DE7D45C72DF64536BA27B4E -:10772000FAE85459CD70EE6DB673EA0D591837C2A8 -:10773000439F6CBC69732A8722BD1E755ACF931B69 -:107740004F39303E5C8E7563450E9A87E27E959583 -:10775000578586E69AFA9F2DE4523EF923A26F766A -:1077600015CF0F617FF545A6FCFF926823BFC7AF19 -:10777000859F9331F62147DE9A6CC32D8991ABAC7E -:10778000E767668AFB504AD73828FFB57432E9505C -:10779000286D03CAB3DA2787AB51BE1F835772F136 -:1077A000007B09836F389BAAA5316B3FFB16D7BFBF -:1077B000807100E37E95D5EDBCBF11A1F0A910C684 -:1077C0004FAA1C642F8F84B007FB1FA93A00CF1764 -:1077D0008D02533FAC3CBCC5DAAF1DDE529FC38166 -:1077E000F10E039E1170C4A3E553FFA0B3F625CCA0 -:1077F000CD2B4E039F7D9C5146BDB1D5D509483355 -:107800002EF4B4E1BE50BFF107E8B7354BD8E13EE6 -:10781000F0A33EDF2571FC632FCAE103C8D7BB0F7D -:1078200052BCA6646527ADEB9D59DCBE5BCBEC0179 -:10783000D589760A7B8ECE2C877280112E87D68FC3 -:10784000B4F2F76456EDD62C8C87654DDD8A7298BC -:10785000A584BE82FCC83AE504DCC7CCD2E234FF82 -:10786000A09CDB191BABCA7270BE65B5B8D2FA6BAF -:10787000ED594E826F5796A4605E28932DC24B69D6 -:107880000A7D6B262B7617688FE3387F2E88D2D33C -:10789000781F5CD81042F99CB6A48AE25FBD9D12A5 -:1078A000C5BFDE927417A66A2F9BDB32EE46468F69 -:1078B000D9B9D127B0DD1239B1D6C9E0597E6B4BA9 -:1078C00005D2A71EF3FD0A70B818F7074BCE841532 -:1078D0003C1756A2249C4CBE3D8193AFF167AC1679 -:1078E000E5DD832761183FFDE5DA3BE837F9C43968 -:1078F00024197A629817E89F0270C6C437F4E9CC5D -:1079000065DCD3359733D17FA0E722D6F6CC685C0F -:10791000E5C39A4476814EF47305C2E3104E39787C -:10792000AAB0DCB4CEB9057EEE690BC5FD489AF06D -:107930006FC260F66FDD022FD4E1674CED9D416BA5 -:10794000590EFC75F130EC6EE9A7FF7E0EF9B8FA1E -:107950006927C53DA73DED4CDCC0CACBF748B4CE86 -:10796000388E73BDFEFE7E89E67DC2E7223DF05E65 -:10797000C043E56677F796CFB172CFD332EC25B22C -:1079800034D07D52E78CF5F4282F2F160ED2F23D1D -:1079900027E6637F8D47DD80EBC4F21F2DB9E973C5 -:1079A000ACBC84C93156597EA0CD358C95EFD2A59B -:1079B0002E2C5F980A2467B13C978E792D17FCDD39 -:1079C0008537ABB48E41680CEE6F7717CE65F2B891 -:1079D000547F6A26B65B7A48C2482AC3E3C00B4587 -:1079E0000CAEE5DF91687D5C76309BDFBD22E877E9 -:1079F0008EA17203FBBE92E189FA7009C46722BFAF -:107A0000961FD8E632AF73EFB65652EA87515EFE44 -:107A10001D360E6BB7E27B5218515C81F90EB85ED1 -:107A2000FEC8DBB04F45FCDA5C153EC46B9D0BEB2A -:107A30002DD1173CE30D217C7B5C33D9F7A5BBF638 -:107A4000B8165721DDE0765C57971DFC0CBFB3C01C -:107A500080AB53267F6165AE672FDD6BAADAEE47F8 -:107A6000E9830B2C702D157A83F97D2EF379B76796 -:107A7000B273494E971D942DE318FC8F9D067E1E10 -:107A8000ED273E3A8F66F0CF58AF0CFEAD342EFA9C -:107A9000537A26A583670BF283C11367FE0D3E1F41 -:107AA0006E0DD2F3D1D610F1693BD2710CCF4BC120 -:107AB000F76CDED6E23D687E0D2F0403C8ABD76AB3 -:107AC000310F332FC2CB85B746A5D025EC74E3B96F -:107AD000DD195D8046CE94EC6FCF50983FB6DD1532 -:107AE000BD1B43D60165EF8CE96CCD6BCA8E4CCAC9 -:107AF00036EDFBAD15F7275D931D22FCD716B9882F -:107B0000DEDB6F9BB44FC49F689DDC7EDBE22730D9 -:107B10003ECEDA7F3E1BFD0BB1FF97A97DE1FC1A3B -:107B20004BFBC2F98D46FB99D4DE73E9F6DBE75FC8 -:107B3000671D7FFE52A3FD4D04BF7A69F80B6F9F4E -:107B4000621DFFF6266ADFECE6FCEDC9F550BE7556 -:107B5000BB379C407D4C17A94DC07CF28ABD58CFE5 -:107B6000587798E6D7307F5B3D945BBD01CC72348B -:107B7000753EC28179596639CAA9C9B2CCAB5C2DB0 -:107B8000CF521E5237CC52BF205266F93EB4E16A42 -:107B90009B5CAA747E91CA08141AE60C4ED7301763 -:107BA000E9A3DA61DC0EBEF7B897CAF75EC7F1BB8E -:107BB00077984AF3186146BFFC5E57F41AF3BDADDF -:107BC0000C2F093773EE54A3F7211EA9F72107BE26 -:107BD000CF12F94E596E207DB7AE74D2BE98899EF1 -:107BE0001DC3993CB0727BB68BD35DF061DDF0C5EF -:107BF00041B3BDBE76B8AB01FD0D7C7F878AE345FE -:107C0000D6E278CDAE9E0AB43BECE3B8CB6A2CE367 -:107C1000784634D238DBB2793CD518C73DA2D1368C -:107C20008EA761AF782FC67904E52CD338EBCAAEA6 -:107C3000B3E23362298DB3DB36CEBA114B6DE36408 -:107C4000717CD87B318E7EA971DCA3A658F119D93D -:107C500044E3FC931D9F914DB671541A07DFE3383E -:107C6000CCF00DE17D592E77CF62E2FF4FBD64E786 -:107C7000B8DCD127C9CEF9B597EC1C564BC37A5066 -:107C8000C9FDDB7BB2F3F8BD5F598CFFAA99CF31F8 -:107C900091771023BFF84E0122E80C22A6DF560888 -:107CA000195C7468F688367C1E9D165C80FEE8A31D -:107CB0003E8AE3BD7F749AEB8E34FAE8CEB8F35C6B -:107CC000D224CF7D7A55C46383D97C1FD2289F13D9 -:107CD000F19F33182762CFB79C40FED059112F4A2D -:107CE000C1DB46EDCE897DBD73BBF83A7571DB69AA -:107CF00027BF37155EA96270CF1368DC19B7DE9312 -:107D0000D92CF8D1F323373F07045A31DD8FD73907 -:107D1000C4122FFCCDF17F7881E7DD4131DEF7FB26 -:107D2000D58EA79EC76AAF4A0B86AF64F8361CD9BA -:107D3000E62C66E5F79DC9F961D5D44F8393CEDF74 -:107D40001B7EC82D51A7C57EFE5AA3B57C9BCD9E38 -:107D50007E23BBCCD89FE5E3867427F26B1EEEB181 -:107D60003216DE864F4ABE0B10BFE607785B039ED5 -:107D7000E6FB9D90A0F52E594071CE5801C569A231 -:107D8000C6BA65836FBED3A345183FE7DF27131D2F -:107D9000EDF0268F676B0EE6E7243BFF9713CFF1DC -:107DA0000C04FFEDABACDF21E6B4DC4760C8C15783 -:107DB0001A6AF79D35C9C72DD159FBCE5AE834DB75 -:107DC00052BEADE5164BFDDB572DB07C5F10BBCB33 -:107DD000F2FD8E8EBB2DE53BE3F759EA2FE96CB33C -:107DE0007CBF4B5F6FF9BEECE0364B7979D70E4B19 -:107DF000FDE6A37B2CDF1DC7AFFA12F981BF94E922 -:107E0000BCF31FD5735BD07EFB6340A1FD9CB7C55F -:107E1000FEDDBBE23EA015287B9371FE8CF7A0DF50 -:107E2000D09CC5E633B325C6A9056B3BA6A01E01B1 -:107E3000BA5AA35A2D5E1B63CEEE64713E51EE74A6 -:107E40004162086EAFA4E2B03D72EABB9264DFC744 -:107E500067FE2E772A69BF2B49256DBF17A49E0A9E -:107E6000B41F63AFBBD39E034FCD4B28864BDC2F93 -:107E700079DE018D66FF6D9ECAE3432F644F9DA797 -:107E800016D071699AEF4D878BA6A2DFD0E44A54D1 -:107E9000A4DBB7E91BAF4BA27B03E7A97CBEDCA543 -:107EA000175BE269CB0E8EB2CCFBD7B2A237ABAC7C -:107EB000DEF91332E959483C37E2CB63717C6D1E21 -:107EC000BE87A305B43EBEDAAAED3BCBFC80D75AF1 -:107ED000EBE8F9ABD6C8BEB3CC257CA3B581CABF4D -:107EE0006D8DD233D9DA48CF33AD2DF4FD6CEB2A4A -:107EF0002A9F6B8DD1F3EDD60E7ABEDB1AA7EFE782 -:107F00005B3BA9FC7EAB4E4F631E18F62E44843DAE -:107F1000D9F78309BCDC2B70900B8D386698EE95F1 -:107F2000EA552F56A01DDDFB9A9BF26E33D1C92E68 -:107F30007799F9A7D17ABF58B7C6998DA7378BF330 -:107F4000C7EB803ACC91583FDA4571B4AC9F7E863E -:107F5000EC71F65E017ECF7278769AFB3ED1FF46D9 -:107F60007E0DC427A3FEB96FFFDBA48555C89F32E1 -:107F70007EEFD773720BE7DBBEF097C70E4C3FB2B4 -:107F8000F98AFAD351FAE96F46607CEABD02839E12 -:107F9000DD2330B8A5A8911D2887BD47DC8457EFA5 -:107FA000B16C9E8F8241B541E4BF2E3BE8D5CDFA3E -:107FB000617957AE6ED51745BA595FF49EDAE7C7B7 -:107FC00079BF3228EB67C7A37C68423EB8DC19FD55 -:107FD0002FEF2AD5554B3FD6726F5CAAA37B202189 -:107FE0009433F712F7A7AE0CBA689C770F8EA2FCF9 -:107FF00003E627EA6779BC53E7E30675B35C36AD61 -:10800000CAD6CF0E49C197A9DFBF367C0047E077BB -:108010009ECCE771077A82F2AF2EBAE7ED98F32291 -:10802000AE3B6EF6BF8F295F48A1B2D16F73971C2C -:1080300073E3795E3864198FB50B193EBAF9FE9C6B -:10804000FE7CB7E683FF166589D66D7EBE3C8AE767 -:10805000CB597F1714B543BA2675BEBC59C8E57213 -:108060004FD21565AFDE3B32EA92F920EFB69E0A99 -:1080700028A3318F20EE4267A4B1EBAAE9A81FDF45 -:108080003BB2BA10E369CBE4DE7BD39D9BFD50E5A8 -:108090007136D09D3D49133E467C0680F5EB49C1C3 -:1080A0008F927ECE54B6EB6BE3E9F0F1B8FB8A43D6 -:1080B000A7677E8EC1BFE2E8072E84E3A81A75F891 -:1080C0004CF84BE27CFDD2836FBA10BFB79DB18AEA -:1080D000FB2FA1A7FAC3A9062DFBA131E8C679BCE5 -:1080E00090FFF602CAD3577ECDA6E63BBF7002FED4 -:1080F0009E83B15F619C7B5804113FD26BE1916517 -:10810000141F7EE7992F0A7B2E3E09E5E33D70D4CC -:10811000217EEFC1CBFEF126FA95FBB81F031DDCD3 -:108120008E31CE05327BD662D72CE9B49617C39C2C -:1081300042D41B8B1F75822EE1FD9FA67B9818DE13 -:10814000F93E6EEF2E8196B568CF296EEE1F2C0C8E -:108150008052CCF4E9F21F3E3609EDFECFF8F8BEAE -:10816000A311C7B82B8FDB7B4BF37517EE27FCEE03 -:10817000C8F8799F43E973EB6B715D869CF4FB7FD4 -:10818000777458E11B087E3BBCC6B9F77EF1140139 -:10819000877C504A9B9F36D927E44EE891877C56CE -:1081A0003B7F9DAD5CEF1371561964E4F37B014F87 -:1081B000CC9143DFE99C6DECB03BBC3A84F76A4557 -:1081C00022285FCC2E1807A67ABF57A3F4FEBCF472 -:1081D000D2623A67AE24C6513E9E07284FD125E4AD -:1081E00041CEF28F836B304EDA424EFD6AAF7F2F65 -:1081F00096D7FAF839A8669CA7ACBFCDFE99A730F0 -:10820000AEEF8178422BC5FD6F6BFCDB1BB296B3E2 -:10821000713EA13EC117C88F3050BC28BBD25ACF87 -:1082200017B69697F6D129219BCF7DF83D6A027F3C -:10823000AF026A94F366BB798587C30F78AF2AAB28 -:108240007F8FB0E757402846798B412E07F7CCE265 -:108250007913F7F842E118FB2E291A9D8F58874DA4 -:108260004DEB58F38712E826BDDEACF4B8502E9BD8 -:108270003F54E8FD6E35FA20D2D5051AD9B91E460D -:1082800034DCBF56D43A8BDD0B25E27E405BFEC268 -:10829000265FC0E2EF197AC129F422D317EB7C05DF -:1082A000A8077B66F27DF5A48BEFEFF07AAE54BDA4 -:1082B0004D0847A67ADE54BD6DE9EA2DFFE1779FB0 -:1082C00089B1F9BEF4FBDFF4E366DA3B4ABC10F394 -:1082D0001F9A0EACF1A31CBFADC4FC88F73B7AFA21 -:1082E000BCF79F097D87F94E785E7E85E0D3BBFFA2 -:1082F000B8F126A4FBC5034E3A6FDF7CD09D7033E6 -:1083000026AE38721797A783EE3779791DFDFE48A0 -:10831000F351EB7C5BFAE4370B43B4B9172B16F738 -:10832000B393FDBC62FFEF67A23DD20C3DA427ECE6 -:10833000ED70FC0FF368FD5A80E7FEEDDF8D7CAB3E -:108340006621F7CD4736525E55F391599447D56C67 -:108350009BE78DC20F39EAB3FE6E83410FD0B95D42 -:10836000BCFA3BDF1AF72683E7FCFE5FF8254BFCDF -:1083700088EB89DEAE3B1E7F369459BFBF2FFCFAD7 -:10838000543B9DDFFF7D94DBF1708C3F9B9C093F4C -:10839000FA4D4D7B9C61A641A0E9BBFB9EF836CA15 -:1083A000F7EB6E8A372CFBEEF3AF5EC7CACB9E723B -:1083B000E6D7733454CC0336F88267DC315FD7E0FC -:1083C000C3D21F3CEF0A8DE5EF1FC84BF163D953B1 -:1083D000275C30B63FFDA6759D70F1F3E736BE749D -:1083E000BD3913EDEED5DFF9930BE7D73BC7251861 -:1083F0005ADABF7DE39EE7C9AE433A111F059FFAE3 -:10840000F8D68F5F899B9E9D40F502B88E0DC4AF54 -:108410006FA3CC14905C7FEF59DC2FF8953B8C74E4 -:1084200068FCDED7FD88CF5B4A0B97EFC7D614E216 -:108430003E7AA3335618A0277FDFB8FB1B24774B67 -:108440004E7FA390E7416945FCF78C62451407DC39 -:108450007533E1B918A2247F8D8FC99487FE470533 -:10846000EA9E4A333F6EF0733DF6D65E375D7EF787 -:10847000162A5CF4175F96757EDE96E7257EC3D8D4 -:10848000F7C0FB1B59F98F1ECEAF02BFC3B8D7CAC6 -:108490006391DBFDEBBA914FEF0ED78662BC92D1B0 -:1084A0002126E826A11E924FCF18CAF90421659211 -:1084B00068C7F4E4347C8FF5BB9D9A779CA59D58E2 -:1084C000D7F8F8F788F119DC59689FBD55C8EC9DBD -:1084D00034F82DF31BF39FD91F263933CD733EEFAC -:1084E000F7AFE7F3DC98F7FAEC3AFCFEAFAFF079C0 -:1084F00084ED709D67702586D2F7137325D20B6EBD -:1085000048A49BDFFB9D627E5BBF33AF9CEC5B436B -:108510004E18FC0AAE5B2979E1FBBC8C0F64BF2DC1 -:108520007E94B537DBE7382ED573A5DE9BD6FB25C9 -:10853000421F5CE7B7FD8ECBAE8241DDFBD3E4D4B6 -:108540009FF836CE5F365F71FD69FAAE93F244FE56 -:1085500070E8B957BFCAE4FC0F5DC6BCB5EA53FB6F -:10856000BC6D3C3C11D2CDDB3FA861483B6FD9FBD1 -:10857000B4F3564D923CFF47E953837E0BFDD63C46 -:1085800027433F66A2A35D3FFEC517227ADAF52393 -:10859000FB7B0526F5974343FE0CB95BFA4FCBE90D -:1085A0007742FAE4D390BF3EF934E4CF8EAF957EA4 -:1085B000F6EF9F4143C58817B3A7F32188F9309E92 -:1085C000FA1399E2A917184C6B199F2F1C2AA5734F -:1085D000C46BBCDC3FBF10E8F1E755D13D3854EE29 -:1085E0002970AD457D61BCEFF1F2F8F785488FDF6A -:1085F0009C07F2E631D98FFB5D491DEAD2F9234C85 -:1086000023131C49C8F49DC78B2FA0FD87E3658DFC -:10861000D0916F336475C42AF4F3E3FCBCFCA2B6BA -:10862000AFF8711FFEC2B1515B517FDDF9A20CE2C0 -:10863000F71315CC37B943F0FF6D886D9FC2F0BCBE -:10864000E318F72B166D4A2F2F4B45FDC5EA3D2E3B -:10865000D44BCC2F38638E872F15BF4BD6B8CBF6B3 -:10866000FED81749AE96DAE42A2AFCC6EF1A7275CC -:108670002D5C2BFC3687399F6D865CB515ED920B12 -:10868000A7781CB2F7984CFCE83D24F1FC278C0736 -:108690004F4679E87199F3D8CEA3FCA5B9DFA0EFD6 -:1086A000FBD3BF99743FABD2F4CCAFC7ED64CFF32B -:1086B000CFBC5EF1632CFFF09F47FC1AFAD79F7680 -:1086C000FCCFB49F7DE1B89BE0B870FC6723EEC798 -:1086D000F2B36EBAAFE6C2436E9EFF79DC47F7D6BF -:1086E0005E18CEF38556FFE44FE3E8BE3EBCC99D5D -:1086F000F1ED353FF7C77A8FFDDB6F317FB8F79823 -:108700003B8478341FCFA6FDADE667BD14A7B9F052 -:10871000933F4D32E7335D293E2BC47D88177CD0D3 -:108720008079CA1772F9BE41F38F27EFC37344CB28 -:108730008F9C70E17ECCB49FFEFB38D43B170E7348 -:108740007BE27D677237EEB3FECE7FFB3A27C677BA -:1087500071BD1E06D09AA3DF88F7E1F4A70BA7C36B -:10876000054607C48BD1A511F565267AFCEFBF5BE2 -:108770007A7C301FC76F3AF6599A3729BA481A7F60 -:10878000EFD3F16813C39FBF3FFEA771681FFDA120 -:10879000AB8DD6F981F02ECAF97F0D6F293118BC47 -:1087A0006BFE6EF1E6F27FDC1FE2797FB679D05F77 -:1087B000CE7F782F95BFE70B13BC839CFF0D7FB74F -:1087C000F87F42BE1F667CF70FCCF7FF92C3F78598 -:1087D000FFFEF01E88EF2F0ABEFB02988770E1278C -:1087E000FF4EF17503FF81F0DEFE7F29DE863DB48A -:1087F000C1118E9795621E76A23BC4E05C53392767 -:108800008E612959E45DDBE17A2187FB17B2C4E36D -:1088100036309CC78F40F81B7DBF03A9F2F3558A01 -:10882000BA96DF47A684E97EBD0D572F0C536E071D -:1088300054BF16C572C914FA7D5BBBDFD52E8126E5 -:1088400031FB4FB9FA0BA7D0FE77563A12EE71F40E -:108850007C139FEB44DCCB197059FC0DD5E62778CF -:1088600043D6EF6ED19F07AAE3F8FBDD1E5509E85A -:108870006C7CB5364EF8606E67DCB46F88BF8F9D38 -:1088800030F9637BF107024DF6E4E5D2EF4F39DCB6 -:10889000FF94A5EA6ECC8B85AB1CFC7E73E0E78A67 -:1088A00037948475BA8F59F897297AAEED463A2AEB -:1088B000C0FC438E1FF99520FC494574A1543A34FD -:1088C000AFB59EF09706E40FE7C78826C19F9516BF -:1088D0007E18F44FC3170B3F0CFA5E2E5FECFCB012 -:1088E000D3FDE7393C3E67E793251FA480FB2509AC -:1088F0006620FFECD03E8A8BBCF78F6FDE84F59745 -:10890000FD5806FCDDC4F70FF92081F357D15DE86F -:10891000672D3D22535CF8FF002820961900800047 -:10892000000000001F8B080000000000000BED7D20 -:108930007B7C54D5B5F03E73CE4C6692C964F29AF6 -:10894000CCE4C524811834E0244040419D104010FF -:10895000EE754011B451470810CC13A4BDB4D51F17 -:1089600003C1343C6C43E5A5453A202AAD5803A623 -:108970005E50D4411E62AB6DB4DC5BB46883A280F0 -:10898000F24869F5C3FB79CBB7D6DA7B67CE994C51 -:1089900040FBF577BF7FBEFC73B2CFD967EFB5D789 -:1089A0007BADBDCE9E4B97E0EF26C62E892B632D67 -:1089B0008C653256F77C3263198CDDBF2B213CA5C8 -:1089C00000AE2F7E3C940D61ECDCB29E4339703FCB -:1089D000F44BC5F714760F750FBD0DEEDFAFB17B0D -:1089E00003A5D171E435CD69626C046367F624CDCB -:1089F0000CDB1953B6EFBB87C6ED98614E50A2FD54 -:108A00006C4E33CD0BFDFCF83CF40B253C48E93BA8 -:108A10001E634BF978BF50387CBBCD611BC2B77D5C -:108A20008B250870346DFF8BC50F70543DFF9CA3E0 -:108A30001BE66BDAADB24809A3BF4B0C9FAB918428 -:108A4000A1743D8E57C6FC76A582B146FCD70BD7E4 -:108A5000CE8629CC01D78E557F511DF8BEF9A36E65 -:108A60006BF4FDBAE75F793104A8A97BE119871798 -:108A7000AE9F753DE560A534DE7D9614C634BB66B9 -:108A8000E88FE35E4CEB3B0ECCCB980BEEF35BAC8C -:108A9000A963059FAFF35F4E32848FC138126E58C1 -:108AA000DF67F88F87B151CEE48C4FAF81FF47B2BB -:108AB000919754B86E4F67ECBABE788AE22BC4E93E -:108AC000F9DC179B43809F33BB3EDF8CF0D7FFFD63 -:108AD000AF9B7F08F863AFDA9C4FC1BA9B7EF91F4A -:108AE0000EA4AF7C6F9A53A1F7CEE5B19007FA9D23 -:108AF0007B2F211C825BE75E3999EF85F59EDBF9C0 -:108B000095CB0BFD17BD323E0BD7BFE8D75559CCDF -:108B1000DE3F1CE79630164ED0C315263A7A77C34F -:108B2000A059D0DC2BAE31F4D8DFB93F1FE13C7B3C -:108B300034C1978078827B8BCB913E40A7A1BCFD4E -:108B400020E0B771C78FFEA20E8D87E7508EC98DCA -:108B500074FD7802C2C9582487B911BF3DAD4E7B60 -:108B6000DFFEBDF43A02F4BCF61BD06DC70A3E6FBF -:108B700007D0CDD1976E67F11FA04F13D22D294A90 -:108B8000B72F58F0E79E226877A6135DE3E12BF23A -:108B90000DF055ABF0F16F70FA7FE044F9D995D440 -:108BA0004BAF2948AFE7BEC86740EF53E69E7BD87E -:108BB00070C67A5E49706E85FBF7BFF24792937379 -:108BC000BF7EC78274843FBB02EB3AC77AFFBA709C -:108BD0009D8D8A58E7B6E44882238AF7C6F0D48987 -:108BE0005E07DD3F4EF7C39C7F117F39489FF0BE83 -:108BF000DB9538F4E87016D23A583893D6DDB0EDEC -:108C00004F16E41B4927A48F320AE9757C02DE97D0 -:108C10007492EB8E1DCF897818A9A3DB362E877D41 -:108C2000E9DA636145F1E805F0E27B082FB4CF6D26 -:108C300049D094147E3F17D671CECC6676201C6145 -:108C4000E58FF1E8CBD8325ACFB3B17229D6772568 -:108C5000B9BC12DCFF285E9E703A697C899F335F45 -:108C6000C7D7CF8750CE01FEDDF6E041E41FC6AC8A -:108C7000E11330CEBD4C61294551BC4978CF688C99 -:108C8000F4EE995FAAE110ACBFB5633FE9D958F99A -:108C90008675F93BE2CCF747315FE3EE7D43510F38 -:108CA0009D797D0FF15FE38EE396108C7368FB0B6B -:108CB00096EED228BFA3FE0EEBF4F7995FED1B4AA8 -:108CC000FA16C78FA36F4E88F19BF61AC76FDAF1B9 -:108CD00017C3F875A10E8BD37EE5793ED3FC3370B4 -:108CE000BD9F759919EABFCF3AD489E138F3BE29FF -:108CF000EC97C453EB3B16B263C3DF4D0C27009EC9 -:108D000016BD33F14F291978B57801B5AC7329E751 -:108D1000ABCE87FC394897CE77EE52D19EBC88788F -:108D2000BC2A3A6EC591E6AA6490DB8A6381E1C8E9 -:108D300056B1FA60E45193016E98270BF5F372185F -:108D4000C70BE330CDE70EC0B8AA63C244844775B1 -:108D50009A9CB6B876958F67B6075810E03283DDD7 -:108D6000F6EAF8C93DCD3194A5E0F23C26D40B0BD0 -:108D700081BD503FBB2DAC4403F89829D1F7148C2A -:108D8000BB70B0BFEC20B417CE71FB42F0DC731B9C -:108D90007FEFACD31E325D8BEDFC30CA51D24595CE -:108DA0007941F59D51DE9ACB40252409BECAE94898 -:108DB000223B93A4793754433BA956F30146D92764 -:108DC000F6605E6A26BE67A1F73CA98AF629AEDB8B -:108DD000C11C286F727CD94F8ECBB4C8505C3FB396 -:108DE000328D815DC9651C6E55ACA7887529C8DFB9 -:108DF0002D531D5BB1BD29B996EC7F3EEBD9E7073A -:108E0000BA3DE9987018F518FC6BC27E79CD46FB27 -:108E10003E60B1B15D10D262E4D76B0A00FF15B5B8 -:108E200019EF6754552E18E063EC9ED4CE891AE8EA -:108E3000EF8C19953B7300A79357BECBDBCF5496AD -:108E400079A0FD1F6B1A2669A047327E5F59960FE5 -:108E5000ED0B69DF9F44CFEB0049D783EA5F3374A2 -:108E600052A8342AB79900668A4AF27C23E2E16C60 -:108E7000E04C2B3E6D98FEA5051EE15F00F190379A -:108E80008AE321D77E6C2783FE034CDD4B912F7F35 -:108E9000FECAFF4AC57E5EE6A4F53AD972E7A75638 -:108EA0005C3C1B7569D8E5F499C63E957CA846E5FF -:108EB00020C515BC3515F8AA7556C98609A86BEBEF -:108EC0007DC45F30B393ECA1ECEFCC20FAD408FA68 -:108ED000209C56E0B339BC0BAB65ED420F8D73E2BD -:108EE0003C4AA85EBD74CDB7876796E49B64968CB8 -:108EF000F7B57A2FC1D595E99F83F8FA2A334857F9 -:108F000079DF3D6BA63708F8BD3135300FD7E199D1 -:108F10007B311FE19F92CA68BCAA79763FDAD50BF4 -:108F20007B41FDC5912B79DDBA84F9B441FD3F9FAA -:108F30009616FC2E8E5FF89A77D76118EFDA1A8BA7 -:108F4000CF06535CBB78B84F4B677C41E87708BAD3 -:108F5000B991962877DF636194BBF3098ADF0FED3F -:108F6000F30F38492FE7D64C398CF6EC7C52414749 -:108F700004EFFFD04BF2081E8082F290B7372562D3 -:108F800073103F7F19C3CF5F1AF9D738EFF94BDE63 -:108F9000DDDD349E538C070E113CCF13743AAF7253 -:108FA000BFFCFC122FC101EEE33EB4B7DF74BEB5C7 -:108FB000A9C24F12F479C8E65F87F400FC6FD0E3D2 -:108FC000FF67FDD37133F6033AD235968E73ADCD7C -:108FD000F9A817EE0F744C008DCD4ECEFD5E053214 -:108FE000F7D4D4E036EC5F3FB3EB9099A0692E46FE -:108FF000B9ED4B6785F4B96BEF7D4BCDD06E423A3E -:1090000079FBD2F3DAC56544371D7D3B70FC6BF705 -:10901000FEC584F04BBA6E50B81D887DFFE55445FF -:10902000CC5BBFD40CF8BCB0DB42FE6F6CBF83A935 -:109030005EEA27DB43AD153E0DE434CBC482F1C6B6 -:109040003DD8675CAB2F210EFCBDE339F97880FF7A -:1090500037F4F8FF6DFFF8FF9DC0FFEFBE25FE8FD0 -:10906000209DFBC3BFF4BBEB847EA863ABC9DFFCD0 -:10907000C43FCD3510E69FA0DA491EE63FA5921CFD -:1090800042FF291E57549FCCBFAE791FAE77FE1307 -:109090000AF16D4D90EBF9CFE74E3984FA7D4EBB66 -:1090A000D17F9A3B33644138E76D34DE9F1F8E8950 -:1090B00007994EAF035F9C89F2EF00AE77DC642F17 -:1090C00055211F55F34A53D05F7AD5ECFD3DF9E3A6 -:1090D0006FAA6C6B1CFCE7A715903D96EDBC664033 -:1090E00092CECEB31A9B09F5A51C77DCBCD22CF42A -:1090F0006B16267B2F1B870D586CB4EB05A144E63D -:10910000D58D5BD49666680F6ACF36F4BF6A63A1CB -:10911000E1F9E0F0D586E7D76C2F37B487745C6F40 -:10912000E87FEDEEB1867659E41643FF6187A71913 -:10913000DA23BAEE32F41F797496E1F975DDF71B84 -:109140009E8F3EB5D0D0BEA1E707463FC6C4484F6C -:10915000B24485F4E68125A72A4E20C30D57C621C7 -:109160003EAB46F1BE0716584C4E075E8B4D4EE0A7 -:109170008FD7E74C213FE0C00297DF4BD70A3FC6AD -:109180003F4C1D333C18C7CF1DEF3C5D7142376F1C -:1091900095D56CD073E39DC6F6B034113F0CE07CDE -:1091A000332ACD285F6AF39488059AD9F30766E1DC -:1091B0007C2067A3D3B89CD1F58A72E668AEC0362E -:1091C000C859655A1C3963C2DE560A7E82ABDF522B -:1091D0008E8C954C76D98F37BD743FA441BC32D666 -:1091E000EACB3D88EB32F9329009C7CD0C1CE0E3A5 -:1091F00009FBCC4A4CDFC63E4B39779BBC21B26B96 -:10920000698CF24B8FCD294E613AFCDE956612FADD -:10921000A09DC791CEEDC33489C742FDFD8923B41B -:1092200092E87D65DE942C943B773F7AD1E22E1A4A -:10923000BC0DF4B1C553405779BF75A66962380EAD -:109240007D1BD2789C21FDAEC151BFAB01F17BD615 -:10925000FDEEFA4180AFC6EA1EF2BBDCA6F605873A -:10926000705DBF5179DE0C3C2BD40B73841F3D67BE -:10927000D24F171C02FD34E7ED41A49FE43C9B96BE -:109280004406EBFD86DC7EE2AAED029ECD4BFC831C -:109290006B06115CA41FA49F9E1F6A9880F1CE00EC -:1092A000D64C71E37A13AB8D37CE0A314E16921C31 -:1092B000E175DA494ECECE3DE6D0601D89C9C115B3 -:1092C000C86FB3AEEDAAE0FE98DF370DF8273F7206 -:1092D000F77AEC9FEFD65858E93B7F5675B0AD0052 -:1092E000D6B73CCDE4B353BB47C1FE090F32960E4F -:1092F000FD97FF5D257896BF7E1DC3782DC1DECC1E -:10930000D0AF95EBDA9FF638E147ED4C223BC8D061 -:109310002505FC7D57D0FE0B774D17FA1D5FAC3548 -:10932000D37C5FC01A9D30FE179D6A189DF7436974 -:10933000891113B4D5B664B2DFF9E88342FFB99D51 -:10934000C9616F41142FDAC6312C02F62E2197AF76 -:109350007F799A3D6C2FA075AFC1754B38E5BAF394 -:10936000FA89432369DCCE327F8981CE1E88C9BA4F -:10937000706E0D9C7F18475D6BA638714EAA9DE0FC -:109380000C2F090DAE31F75D5FAB7BDAAD77023C98 -:109390002D4754A6C238DEEE76C2C75CC047D8DB84 -:1093A00017DF67BD055F9A54823B82FCA86E9C4024 -:1093B000EB62E8D7C37B0D3F57D8E305C897C18957 -:1093C00044E76C137BAAA0EF3ADE48E3F9DBC369FC -:1093D0004EBA5ADCC55C4EDC03076F83F1DE423DBA -:1093E0006565F1FC80DFA7717F9AAEB1FA09EC6088 -:1093F00008E1B8B051217A9E54C21633A0ACEEF603 -:1094000066F207A47E52FD2AF91F524F49B8408FD9 -:10941000BD9FA6B38F6ACA834371DCFEFDB59DFB79 -:109420002CE8AF3919F96B528FF6E7AFA19F86FC94 -:1094300027FDB45331EB84F57D2ED6F779BCF5F5D5 -:10944000D1BF77354B3FE72F6997F133332DF1F5D6 -:10945000D355E99C0E4D4E0BA3FC14C6CBE83FCC74 -:109460003785B7621E4A0BDBA6EAF0939D2EFD3CC2 -:10947000EE6FF4A7F7AE149714AE2A25FD7BA1CBAF -:109480009B9206D78C8F95E678E3A88B9F1D8674F8 -:109490009A6FAB4C4A07389DE9467C3DB6A28FFDDA -:1094A0004A4FE7F8A36B1FFCD9017F26839FF86220 -:1094B000B197F0E749BF8C9F78F6B60F2BD02E9D61 -:1094C00013786AEC8D7BB99ECE06638579AD06E68E -:1094D0007FF244096F5F5268D783F2759BED81413B -:1094E000387ED3EE494FEAEDF7D7693C9FC6EC6969 -:1094F000946F95E3B984DE8738FBC64FBCA4FFBFE9 -:1095000044FA46E3EDEE0A8CB75A7E7D550AFA67B7 -:10951000E35EBCD389D70B190309AF675F4CF02317 -:109520009C67D3401FDBB13DF210E6213E5F7238ED -:109530004D4F97B3BF7AA7C20CE39CDDF54E8586ED -:10954000F90C91AFE9B54797FE501180F743635985 -:1095500049B35DC727566E2FD6DA78BE23D3656927 -:1095600065D7423C92994AEFAF73997E8CF755EBE1 -:109570001FF24FA09CC5E477D69ABD2D76E03388C4 -:10958000E57CB84FB070B0DF3307F33B53DD949701 -:109590006951B81E0DCDE1716846212B2980F1CCAF -:1095A0002655C5F77A3CCCB715BA241C688FA0DACB -:1095B0004BECEAF023F8C313D3089FA3CF38158CE4 -:1095C00027643E48ABE2E3F54CB784B7EAF240EEDD -:1095D000991AD9C524AD83A19EBE2F338DE097F98A -:1095E000A0AA6933039508D7C3268A6740F12AA841 -:1095F0000F73C43A0A3CBB5648DF4673215B324CBA -:10960000FEB055C0FF0301CF0EAFC98FF957476EAB -:10961000E4A819FCBB9CE58C7DA4F323932C42DECB -:10962000DE5649DE92BFBEC93A13FCA3A4449E573E -:1096300075045A17605E1CEF7FA71CE9C2DF27FA8A -:10964000A898A662A11400397994715C49BFCE250F -:1096500056DF4060E85D4B9C747D7A899BE0FAE9B7 -:10966000122F5D7FB2A484EEF727A757BA3EB2044B -:10967000E6D5F153C648C00AAC37436524CF8F8C7A -:10968000A8489915C71F90D7C7971C768D1B241023 -:1096900008F4C8AE776E59594074462182D5BDBDD5 -:1096A000C23F86B187CDFE050C586B4DFAD7E3302B -:1096B0006FB54A31519EEAA7E96FAC08E5E2D54B98 -:1096C000744FDAFF1EC37CA76778BB82F2EEA96FE6 -:1096D000273E18DED5C582E2BE1FDA9E23FCFEC3FC -:1096E000368EE7D58C4D4478ED0A0BE0F59C8DFB6A -:1096F000839FDAB87E3C2DAE43D2839B518EFFE62A -:109700003C5AFC3080672B7D3F1FF73B92F67F452C -:10971000F96075A8C58AF2E1D97B9CF6415453B72C -:109720008581497EEDD13F537E4DB5040A78FBD744 -:109730002BB19DE9086C41978D85FE3CE9801BE4C7 -:1097400006F9E17AC24608E578954DB443C7080F9B -:10975000ABCCBCFDDAA37FA275AF3207E6235EB0C7 -:10976000BD1CC65B95DAE13641DBBEF4BD15876FE3 -:10977000C0B6ECFFDE8A10BCFF52BAD437010FEA44 -:109780008FDEB613DA43746D8DB799955FE5FA1ADB -:10979000F67F752807F8B571AFD281A079F6AE5182 -:1097A000709D9EDD6B08DFF407F281CBA03CA935EC -:1097B00064C1F79F5E72D8B91CE8ACA5B5B910EFCB -:1097C00057B9837E7FBCFC44A6F47FA1BF3ECF1671 -:1097D00036F774EBFC710FE372C396837E88E35F08 -:1097E0000CCDAC3C9D01E3AC55822B55D433CF99C5 -:1097F0009DA8475817D74367C4582C9C4DFE4DBDB4 -:109800008D37CDCB822B07A39EB85BF361FC5C57F1 -:10981000D05E89F6BD6E4F816F298BF24B5D6A87F2 -:10982000AB1CF927D5D86E117997ACD4E6D4D452B5 -:10983000DC8F58938FFB058DACFD9E1F20BC6FA95C -:109840000CFDF4D3FBAE4B190DED0668A3DFD0D0B1 -:10985000F98E05F9F3D10CAE3F1B3B817F609CD59F -:10986000205F7E7064B668CE44D44F4FFB9BAF46FA -:1098700017EFEB47FF6B920DE8FB4CA1DF89F47605 -:109880006798575AC1697CC6E21CCCCAB06D27FEE6 -:10989000AA2B33713962F6DFF835B1FF09EDE38F9A -:1098A0004EBA459FDFF5E0BE0CE0B969933D644ACE -:1098B000217BF3BFD1DE366E3485507F99AC5D16C7 -:1098C000A4AF1BF776893E4EC2DB22A9CF63F4F525 -:1098D000A24969B7607BD1C385CED065F297B51731 -:1098E000935858E71F3D9AC1E5B8560BD13E4AED53 -:1098F00045073DFFE7CD6763E161979BCF4ECFE51D -:109900007CF5D1F988AEFBCB7FB37E20D06DD14EF4 -:10991000B32941C7778B768AFD6A9B3F0BC7C9B4D1 -:10992000308177F0F701BF5A416F3BA4819C3FD251 -:109930002BE703568E1B83748B3E67A30C7AC08F74 -:10994000F1E62389520F5C15BF7F624CFF42D9F6C6 -:10995000AD1C97DB179ECCC468DB0AFDB5FF4EE853 -:109960006D237C6B4C31E3A5C9F947D17892AF8E5A -:10997000A757FE2634109EA7B65762FD46CF1CE6B9 -:1099800045BB8CFCEAD3E9FDE3E95CAE6B2F16190D -:10999000E81DC57BB1E1FEC9256EC3BEDFBCEA454B -:1099A000B43F791CF53C8EC3421457D56ECA616131 -:1099B0009D3FF5FFE1F847E118DD0F1C37FE0FC3AF -:1099C000516090CF281C030DF7FF5138B6DE517C53 -:1099D0004B017459A784AC8568171E3251DE444D83 -:1099E0001DE75D8AFB0F0F69E4E7A14B82F51F8538 -:1099F0001A3BAC95A3FCB4FB31CE67CB78FE08EEE6 -:109A0000B799CBC90E911F5CB437E13EF4D30A6B12 -:109A1000FDF3F1CA724B697F43EE0B32910793FB62 -:109A200019839CAC5203E76D74E67D64A70A03D5E5 -:109A300075E8CCA9C9C313D13EAE338543385FE87E -:109A4000A77CBE4C53B8C38ABAD731D089F62ED37F -:109A5000C1F51F5B594AF66FABA9F0EA0500C7C311 -:109A60004A65E29B88E7D442CAFFE2FD85707FAB7E -:109A7000B05B6AAACF89766AABB05B2D42BFCBFBE5 -:109A8000496981FBD09F3895B1E816EB75A887FC32 -:109A90006DE9606F4E662C5AE9F6A0BDF1165AC109 -:109AA000BE9C5CFB00D99BAD4BBDD9CED4687BD0AE -:109AB0007F83B5263DF1C04AF45796DB17DE8FFE53 -:109AC0000E3CFF8D15F4EC336942EF88E785BD7AD3 -:109AD0000AF412E83175696F3B847AA9B057EF3CFC -:109AE000407A67DB6695DA6FC37CE8FFC03A422AAA -:109AF000AE7790467EBD0D604984B66D7021ED1342 -:109B0000C1BA5922FAD783F97399CFB70C32513EB3 -:109B10001FFB231E6D1EDEDF3295F9705FCB926C4A -:109B2000A73844EE0FA8629F2A51D46928CEA91401 -:109B3000DF5957972FC478CC3AD0B80F6B89A9E773 -:109B40005063EB3BEC11F2BF4E6788BC7E3A735F0B -:109B50002A8ADE07BD5D8E57D79DCB2B11DE85C9C6 -:109B6000CCA9625E2518A17DCE58BB66053BEAD51F -:109B7000C987D5CEFCF1EA090E65723FD67E51A3A6 -:109B8000F866AD02FE0DDAD164CE67D23F323B25D6 -:109B9000DF1AEDAEF497CCA97C2D8B268DCDC2F8C3 -:109BA0005DB5FBADE8E7EC7396535E4065BE5B2B9D -:109BB00075FECEF2C824CABF694E3FF9E145224E78 -:109BC000549D3EA6F7735A9740607915634F56141B -:109BD0008F457978DC16B116217DD79928DEDB5FB9 -:109BE0007E7F48C1FCDB624672FA64856B2CE6D14D -:109BF000B7688194BB515E8EC07C5E4E37BE9FDBE2 -:109C0000A260BEF80B6B2005F5C123C8F73ABC3C37 -:109C10002FF0F1F70CAE7F1E3673B968057822007D -:109C20008776F11ACA6FADC9E4790F4BF538CAFFD0 -:109C300058001F98DF4B60CD2127AD97E7EB12DC72 -:109C400026435DA0767128BDFFF70C9321AE6E838D -:109C5000757A75FACBC64294AF431C3F15C77F791E -:109C60003B93C72356F087BCE49FC4EC73F7F58F92 -:109C7000C85F91F4E9F55314F04F2E138F3541BCB2 -:109C8000ACD7F74D5A0FE9DF268887F1FE39A79543 -:109C9000FC4359F76017FAACD51D6C1F8D7C9EE80C -:109CA000188A79008D7510525663DD03EA43B7D6E2 -:109CB000D3CBFF20F32D36C756ECB75CD44124F943 -:109CC0008CF293C8DA237E94CF129DDC30C477885F -:109CD000C64DF01AEF331664186768EED83A89500B -:109CE0006F3D14D5F369EC31DCBF967E6F8EA847CB -:109CF0003A9BF421E5D1C0EFAD4CA77D801E8A5B75 -:109D000064BEE7DBFAC9453806E61116FFB5E20482 -:109D1000CAD9D40905783F49E37C02AEB896508E83 -:109D2000E1D584F9A9B0FE3B85FDCB50DBA96EE4FB -:109D30003511CFFECD39D3437114E093EA6D127D16 -:109D4000DD142F0A3F4DEDD58F7F5EE137FA9D215F -:109D5000BD9FB76ADD9F572CE7F10AB55F7B3442A0 -:109D6000FAF3619B6CBF4C6DB073118C97D88B0963 -:109D70005EE44378DF8FF2C6EE28263F5B2D64D980 -:109D8000888F710E2BE94DF5C584ADE807435CFC67 -:109D900052BA6EBFF86CF2D17CF487E38C17328C28 -:109DA00097FFEDC683F93BB11E473E1FE7D8185118 -:109DB000F97B5E7C8FE5767D1882F1D7FD3A81AD27 -:109DC00004143E6E36CABBBC6E15F28CFA465F0FA9 -:109DD00069A9AEF123534BB94E7027B2888E9FA468 -:109DE0009C6B1707B3884E4E8A32F9BEAAA6F92992 -:109DF0008FA45D2CA5E77F4799A6799C579827AD3E -:109E00009F798691FEE87F9E0AA15F98D8BFD2A86D -:109E1000AE46EA85FEE43C769F2C562FCAABD48B27 -:109E200059997CFC7D99C6FCEBFD1B3B0E210B7DFB -:109E3000660F1EC8A4FAA8630E34E1F5A6C850E464 -:109E4000E34FFADE6FC4C5BD95CEF3FEC5DB17BC8C -:109E50008EECDA9519FC02FDA0DF648AFD4937D843 -:109E60004315ED1DD88B52CAE77E9181F9DCA077AE -:109E7000C37886F27407E573535C81521CBF755A30 -:109E800005E51C24DCAB96F03A35A967ED5A90F055 -:109E900065D542FCEA0C820D67EC42A679B2A62099 -:109EA0003EB91C1D5D7781E4C0A6F989AF6C4E9365 -:109EB00017FD021BC485A877973A4D7CFFC66DA598 -:109EC000FC7FAB021122E88D85A98597DD1FB75C69 -:109ED0007491BD0548DC7ABDFDCF9F2743D807E3C9 -:109EE0003C9A93FB0D6C3FB7C388848F75FA58FA80 -:109EF00003B1EFC58E2FF129F16B45BC96923D8CD5 -:109F0000EB6FD85CC6FDCC2CA96F338F1647E06E83 -:109F100083D2ED40BF06F4A8CD857A7A488FC3E49A -:109F200025FDEBE27E5048F035B3EBF95AE6A9E5A2 -:109F3000BA24FC0BDF9C63D5EFBFC4C21B6B67ED7B -:109F4000A5C6BA059BD758B720BF0B50B500F18DF9 -:109F5000798CDF8A72B2D459EE443F67B9E6FDA32B -:109F60009FEA2DCCE46F83FF6E985F5E1F01F94777 -:109F700038CA5C26435D8DBC26E33E4A9CF7A6BAF0 -:109F8000B89E7A64DF9DA487351FDF678AA51F63AB -:109F9000EDC42FC9C5CC49F95301AFE30AE3F6C7B5 -:109FA000473FDE67233F591B650D635D67EC7CAA65 -:109FB00039E05750EF9631F293D53C3EBF3A885185 -:109FC0001DB863781A2BD1E1B1D53D8D9E2FCC748D -:109FD00032A4B79A6C0AC4E31789A7812E93816FC4 -:109FE000DC926F3CEF17A31CE8F826108F6F06BABF -:109FF000B8BE4238F4F46D751766C5A34F542F727E -:10A00000BEBA125FCC4AE27E4EA785EBCD06C411E4 -:10A01000C44BF5999656CC7F9FB1F2E7CC5FC2FD59 -:10A02000322BE7B95949F961F4873A357F12FA655D -:10A03000B37AF76DFDF4BD47BDCD9F721DDAC777CA -:10A04000B8DF7CB2D2DEA6C03827CDFE14C4F7C973 -:10A0500077546529ED83F3FA39598774D2EC5D752D -:10A06000353C9FFD33D5BF941E1BFDC133CC3FEC67 -:10A070006DF48F77ABB4DF52F0D3FBD421D0BF06A1 -:10A080001C45E4A75955F610DAE1CEF79B3F447D15 -:10A09000347B73827719D6B16C1CF625B63F5D9D73 -:10A0A000EC4DA03C5BA1E2C1FCD79A0227ED9B2CB2 -:10A0B00066229EBB7D7215E8D05FE2D4327F0D6BC5 -:10A0C000FE94C9E7A155E3609D5767769AEC00932B -:10A0D000B221B4CA0AF47B7869C08DF163876BC67C -:10A0E0002A8C1F5D2E7FD74D102F9E70DD3919DB16 -:10A0F0009D8FCBF1EE5AE507BDFCB22958A0C0F305 -:10A10000A4AC072653FD6A911CBF959ECFFAF95562 -:10A110005F1E85F1CB366C9C8C39B78A6AF17EE87C -:10A1200009826FCE18D9DE9A543510DE4F62863C14 -:10A130009A391A8F529EAEB3D7BF7A7A32C69FB37E -:10A14000C736576930FEB20D3B569582888C6CAF8E -:10A1500074FAA1FDA30DAF4F4E027EEB64FE3A8C64 -:10A1600077576D3830D97A038C9F6E1C3F4315F9B1 -:10A17000D8D0E15598C7EB858FBDB7CA3F30DA7F9D -:10A18000983B61752837CAFFFF2AF81FF8FD572E44 -:10A19000DC07B4761FC2145DFEE21E0BAF7B15F523 -:10A1A00029B9DD4379DD8D689774F33A65D976F383 -:10A1B00076E7B2F8F6FE2F6E2E779D89F19F7F2805 -:10A1C000F439C0EDC7FA9594A3CCBF238E3C1D741F -:10A1D000D949FE0E82BF674D8BCAD5AD20DBA3B037 -:10A1E000FEC7CAE194E3C4BE7F4CE82716BA350D1A -:10A1F000F9788AE0F3229FC2EB7876278507A1BF22 -:10A20000C722DA6DB09EED229FB1DDC6EE9D0A53E6 -:10A21000BB12597027FA9FE9D02EA5F7FD3BEDD16F -:10A22000F1DEE2A2CCC61705B6E178E3B33C652DBA -:10A2300005D17100EEE5D67203DCDAA8347C1ECAC3 -:10A240005E50AAC367295F07F009E10BA679F626DD -:10A250009097CEAEAB0B57C21256B9BC86B8AFA220 -:10A260006B1A7D97F29F6EEEFF302F7F3FB38AD738 -:10A2700085F4EC49A23C05B37615239DE47B1705D4 -:10A280003EAA7E346503F6ABEF3233AAFFDF59797D -:10A29000597FA01EF37A3AFFB15E8B503C578F79FD -:10A2A000BD6138DE5B16B463388E57E4AF312F974B -:10A2B000D9129FFED21ED65F4C65A1617DF56674F2 -:10A2C000FC0C7A7EA57545C733C69D7DC7B3887DD6 -:10A2D0000081774DE0DD121FCE0159824F01DF264C -:10A2E0001D7FCD11FC06DA93FC80732F0EDEBAB20F -:10A2F000403F2FFFEE06F4F3B337A1BEEC4AA4B8FB -:10A30000A542F34FC6FE155D69B4BF20F943F2853F -:10A31000A46B675A33E56B7A1E53C80EC6C2552C20 -:10A32000E1DAA8101C59D541F53E1D7C521E60FC97 -:10A330004E31FEF051243F4F707900B9B91BE5173B -:10A34000F72B711DBEEEA1D386F485FF2768FF466B -:10A35000101D39FE7F6D13F51C1C6F7DF19F730579 -:10A360007AE6D3F38AAED7699DF5FDC8ED5B6E073B -:10A37000C1997534E2F042BF4705FF77767CEC184F -:10A380008D72B15B658A97AF1BF55685D4C76CEEAD -:10A390005B6341FF65F5B6415F7A910EBDFA3362AA -:10A3A000B546FBBFE29E3B65393CCB48E0F29AA143 -:10A3B00082B5298FC2313D8BFB59A382F1FDD27743 -:10A3C000DDC9F45CE2FBB1C555EC6358DFCF5C7CC2 -:10A3D000FF7354774841BA48B98ED5538BB2B83C15 -:10A3E0002EC8FA7FA4A76C57D05336A9A7F8FD83CF -:10A3F000101C613F97AB7BA802FE738DC9EFC2387A -:10A40000ECC43B3FA0EF38E689BA952158B7827675 -:10A41000F36880ECCA697CC8EB571EC218704EBB4B -:10A42000B17E856DE3DF89C6F255948F42C27F17F6 -:10A4300070087B706B42F7AF7891B1519E651BE05D -:10A440006C3415E99EDBB9DD9274007A2F6769518F -:10A4500039FEE8C5AC2DA86F87B9795E31A3C85F16 -:10A4600086EB9772097655F089E9DE6976AE37A6F4 -:10A47000C5E1DF27847CCED9C8F9A6F3BFAA26237D -:10A48000DE3BDF4D4B5DA6D3134F093B28C7957AC2 -:10A4900048BE279F3F29F8637B9683DA4FB99245E0 -:10A4A0009EC714F7BBB9A774F695F8A78DF30FAC48 -:10A4B00037A4E7EF616EC5605F7BEDAAC0738305CB -:10A4C000F00BF8DB6E0E6563DD4E459789C6ABD9A0 -:10A4D0009D4CF580351D1C8F35EDFB4C753AFCC449 -:10A4E0008EF71F59DC1FD862E27544074DC06F8894 -:10A4F000773B87EFDC8B1ED29F8745BF2BDB8D6FB1 -:10A50000A667B658781D29D097EAF91A5ECAD962AB -:10A51000D4D34B05FE832DF81D5BC606E6C35A2B2C -:10A52000C0534401B867B885DEB1F82DF8DD6ACFB5 -:10A53000638CF6F30755FBCBBCD06E0AD8CB15184D -:10A54000AFB89DEBE18AB5E0C7A0DC59A55D787393 -:10A55000877EBE6359C9221EE1FC5CB391E36F1094 -:10A56000F83FCFE215C6F915F9F11C9E8FD6778C0E -:10A57000C6FC937CFFB4A0FF95E0AB40F88647E1B2 -:10A58000C3F1919F983DB00CC76DFCC3AE1CFDB8E4 -:10A590005F66717D9BA1CE1A6B433DBF06EC0E49F1 -:10A5A00067703F7E9750B337D5B992913C9B30EEA0 -:10A5B00091F3D6883C24C85DC554585A71EF3C923B -:10A5C000AEEF3DA75FBFE6E6FEDC3F8BBE9D96206B -:10A5D000ADA76727C0EB8DE2A5B3E3BE6536B41324 -:10A5E00047990FED8484775075B703EB4E9A84FD3D -:10A5F00080F59A307EC9F89997B520DEBAC65A30F0 -:10A600007E8AE56B49A712C6E547C66925B84100B1 -:10A61000ED3CF750A17F18C5BB1FBDF4CAB32B2971 -:10A62000BEE27469AAE674AC740767B833A3720813 -:10A63000FABC02F555CDDA5E7DD4C1EF77E557035C -:10A640003EAF754B3937D22523D061C37D0DC9D7B5 -:10A6500067F70C09AFE474A6F93B3B92C38A82DF2B -:10A66000A1362FC5B85BEA0984475F8729E1E9A5D0 -:10A6700023033A0E89DE1F54CDC76B0279473EAAE9 -:10A68000579B158F427A80F2AC59A807A09DD5C17F -:10A69000FBB1BDFC5C0489A7FA193028C49D7E7704 -:10A6A00029AD43E22BAB3A62AA875B13AD55FE138B -:10A6B0003A7FEDB0D86F40BC4CA37883EBEB7A3592 -:10A6C000908B712BCB4AA0EF38C10E917E39686315 -:10A6D0009A0DC67B03AE6897C6AB0BE83B9AF14573 -:10A6E0000AC931680099F789A03F7DEB4D4924FFE5 -:10A6F000ECEB0706E23A3393381FC23856318E9599 -:10A70000ECA0B007BFCF07BF4E89EAE5838A42E3DA -:10A710001CBCE19AAD545B28F812C743FFE9A03294 -:10A720003597EC6567A6282EE2F0F76FCFBAF3F104 -:10A73000B93E5EC4F82E1A6F96ADBE19786AE4C4AD -:10A740008E88C989D2317CCABF01FCE321DEB4C145 -:10A75000FAEF137C7DB020A43A10AE41B06EB8750C -:10A76000283158DA6C8FCEE312F91B97A8DF457FAA -:10A7700001AF260FD7FF3FF6707BF181B8BA1CF10D -:10A78000F33D1745FF3FDBB99E5E5919FFBBED87CF -:10A79000845D9171E7AD62BF03E2CE87DC3CEE14CD -:10A7A000F5A77C7F04FC7BC26FD58FAA69DFEF8B96 -:10A7B000AEE929FC3C04AE0FE688FACF7B1F9AFE77 -:10A7C00013E4B31358670E78F844F0CB09A7DF8180 -:10A7D00075520D89F1EB889F14F034083C9C5CC2E3 -:10A7E000CF2F9883FB72C07FEBDCDCCF9BD77EDB67 -:10A7F00004A4FBBCB50AEDCBC9FD7F49E7DA4DAA3D -:10A8000021BF3E07F7E5D2FF9178AAAC9F786AB8DE -:10A81000219E92F3C6C6551F2D711BF60166B51712 -:10A8200089F32378FFD9CC4770CF6ECB31EC23B2BC -:10A83000B6CC6FF4DD3FC651A1B8F0590CF73F5AC2 -:10A840006265213D1CA70652FDC443EEE0CB6E03BA -:10A850001C492C64C8878E71D2F744369E87057FC9 -:10A860009CC73170DD62277F7D22FAB3BDF930D0FD -:10A8700023CE14D44B95FBDD23A2F18394B3FA319C -:10A88000F1E38875C20F5AE7E27172CA511957276E -:10A890007A513F4ABF3CF6BD777BF9D7E8575E292E -:10A8A0000F017C1CD2C749B1E39E72FFA3F177511F -:10A8B0003FFC52FC3F127F578C09529E8FB52B54A0 -:10A8C000D332729C311EFA1AEDFA08BC2619E2A1A5 -:10A8D0009A6A633FE6E1F69F79920C7E7C7FF8D41A -:10A8E000FBF14A11EA413E5EA3E08B82CFDEA57AFE -:10A8F000D2311EEE178DC8F62778E0BA5AD493AF3E -:10A90000B6F1EFF9B7FCF77EF76CF48FDE36D3FEC5 -:10A910003FDBCDF9A6F289452D783E80BD4371EA33 -:10A92000BF5FFD97C58ABF06E43A5DE8BB7A1F5F4B -:10A930004FBD2F621968C7FA620E476EC73E45D3F6 -:10A94000F15D6E2DEF97E7311BF2E205A23DC0E30A -:10A950009471CCBE4919D8DFAFA15F90DDA190FD05 -:10A96000CC6E66E457670F5768FC7F19BE45995D4A -:10A970001A5D6F9B696AA913DE6B7325F9D0FE2CF3 -:10A98000C90E5EE541F88E4522682E471EEBD23097 -:10A99000DE5A93ED2F413CC8757A556736FAF14976 -:10A9A000C7387CEDBD79266E7F185B25FCD2ADDC07 -:10A9B0003F53D961C6FD73B2F3AE65256407E57AEE -:10A9C0005C69C28EB85870979DFAB791DF62E57ED8 -:10A9D000806B5931F9F392AED1B8737039C69D4589 -:10A9E000AB23DA2C78EFA54DA6B8E7554C10788745 -:10A9F0007554EAD77125BD25FB99FBC93B4ABE4F6B -:10AA00009A183F9E074B48CF2B9FC8B88BE473B969 -:10AA10008561BE5AE27F4D76E0768427BB638B82E8 -:10AA2000B8F948D4297C94C8F3F11FAD7C5641FF96 -:10AA3000F281F9CCA9B2FEE1AE5FACFA6BF4F2BCE4 -:10AA4000DC427491F14A141E9E8769F070FB7428F1 -:10AA50003B5083F46EDCBD86E2EAF9DB8E5B2EBBF5 -:10AA60000FF10DF1A6D4727FBD7EA695EA992A9FBB -:10AA7000D088EE75CB2DB46F58BF63277D9FC61E5F -:10AA8000643E94FFFA8E9D4A0DCC5BB763A73247B4 -:10AA900087C79CFA30D56F5F952CF72322E44FC708 -:10AAA000F237E611D07F3964E3F27FA6D21EC2FDF1 -:10AAB0008933E6603DF63BE349F2E13EA6C4FB1B69 -:10AAC0003B6FA6F30292772544F0DA66DAEAB642E3 -:10AAD000BFB6AB2D3EE4A735D9C1154897342DD06C -:10AAE00089EFA76624FB707FC39BC0CAC97E7F43E2 -:10AAF0003C8C8CE18B910F72797959E817F8A37A25 -:10AB0000AA273DDC2FC7ED25D45787CC7C1DBB1869 -:10AB100087D7E4F16F443AB1C369346F767D44C19D -:10AB2000FA8BD879A37CE5DFECC9FC3670765850F7 -:10AB3000CFD7097D53F9C436E5631DDCCF79548244 -:10AB40002F7BC71605F367F09CF40DF46758EF945C -:10AB5000BD83C7AB75F07C8E4EBFC875C4D1339D25 -:10AB6000089FFD58D701AE67227CBF40C01B4BCF6A -:10AB700088C74BF34F007781EE5B4225182F1F2AC1 -:10AB80004CA4F1A4DCC7CA69C4C3FDCAEC4DDB14F4 -:10AB9000939DF655C8BF94F0C97E23B2C71EF0102E -:10ABA0001EBA080F0D9B345ACF784B60E0029D3CD3 -:10ABB000BC2BC67B7DC68774AECEDA7F7F87F8B1AB -:10ABC00001E26C8A33DADFB14C473B13FA858AFB2A -:10ABD0006093B98BC2D68B73A72677723DDCD0B950 -:10ABE000539B6D8FF269C167AFD379550D1D090C69 -:10ABF000E32BE0BFA3084F2C9F4AFC483DDB1F3DE1 -:10AC0000411FF1F829641179BE6001C63F524F9B84 -:10AC100084FC333BBFFF855857947F829F790C7A21 -:10AC2000D6467251F059F9EB58EFD9E053E8BC8E93 -:10AC30008C2A8E4F3D5CFA7830564F623E31C0E32D -:10AC4000FBFC69BAEFBA7AF5BD78FF22D29BDB8DA7 -:10AC500008BFCF0AD17E4BF863E937309BFB6571A3 -:10AC6000F84CC91ED1D79E493B5FB0799786DFE586 -:10AC700048FE998C74D7F18F33DB42E33AB33582C7 -:10AC8000677D25DF8F5C6FE6766CFD522BD567BE46 -:10AC90007127AF174BBECB12C1EB41D3AC7A7C7E90 -:10ACA000309BC3D1665A46DFA9815CA66613FF3884 -:10ACB00018D78F5C1FAE7D81EBB3FA909DE2DFFA6F -:10ACC000E0ED35540F9061F3611D2D0B1EB04C4F1C -:10ACD000EECB57DE5DFB2C08FFE40E2E7F920EA01C -:10ACE0004F89BFA43C48BC46F11936C893A487A934 -:10ACF000D79F0816707F89C75BA5E23BC25AABFF9E -:10AD000090D98B710CCFCB968AEF09655E7696A0B1 -:10AD1000CB667BC087EBEC9397FD86F142DDE2DFEB -:10AD2000527C76BFFB4DBA4AB985B8D620DF3709C9 -:10AD3000BA176773FB3E219BF34DDDF00E92CBBA41 -:10AD400013CD24CFF6895CAFD98FC5F88FEC11A154 -:10AD50008757D37BE3933A26E0BEF2F89F2B4E8CC5 -:10AD6000F7FB83731E7E8F8571DFA6FD8EFB10BF00 -:10AD70005F43D4A1FB5E67463697AF33DB01E1C486 -:10AD8000EFCD96CBF9E3571A8F458E28741E88C0F5 -:10AD9000E5991D55D77D82FB40DB537CF8DDFDE74F -:10ADA0003B6EFBFE2700F7996D37F9D04FC8680955 -:10ADB00010FFF464DA7C5B799E7622E6B19676EC3D -:10ADC00077E0F73DA79FBDB61CF576A380F3B317D8 -:10ADD000D4C5889765CF3C7F233EAF0B2BE9E8BFF6 -:10ADE0009ED9FEF3BF67C338B5DB9AF0A431D6F223 -:10ADF000EC6B141798C25BF8FDED29E4E79E7E72B8 -:10AE0000CD8D88EF968E167AFED9935BA8FDFA3326 -:10AE1000CFBFFA5FD0AF3EE0A0EF9E3F7B611FD176 -:10AE2000A53EA8517D7A7F7CBD7EE73EAE2FD1CE78 -:10AE3000A31CCCE47A4CF2B5E4DFD3CFDC7B9DDEFF -:10AE40006EC8FB6D229FD396C8EDC8E7426EEBC675 -:10AE5000DADBF0FAF973363A9FB3D1D25D8C717EAA -:10AE60007D29E78B07053EEA3B16981BEDF43E8DE6 -:10AE7000F39F20EF781D02FC897560D06BDB25AA5B -:10AE800067FA15F5877EA330DF33A3FA38FFBEB328 -:10AE9000B4D95C47703ECB9FC3AAF5CF2B16C58FA4 -:10AEA0002FD767DB0DE7AA65774ECDF5921E48F0E8 -:10AEB0000DD2F9BFD9B5C19664B87FCBA2A00FBFA0 -:10AEC0008F7FE9D4BB13F03B86674A9461447F557A -:10AED000E1762E64A7791A701F09E28FED424E20A9 -:10AEE0007CCDB81ED6335E6319F889EF78C68E988C -:10AEF000492F3C45E3839F43FE9BF7B5194FA1DFE4 -:10AF0000B3DE1CF48CC071DA847DDCC6E187F79D6A -:10AF1000F6721ACF793DF7D717E27BE7974EC94013 -:10AF2000FF1EC6ED32EBE231E0C87CB48F38DE7034 -:10AF3000C4D3C4D04CB2535E0BAD4F9EFB09EB1F84 -:10AF40007AF790A87CC6E69B503F617EF85076E584 -:10AF5000BEECCCE8D5D54FBEC69C03CFD19EE5F85C -:10AF6000E9FA4DCF117D7DC6396EE75F3E4E7CDB41 -:10AF7000887C8BF3074F18ECBCAC7759BFE738F1EE -:10AF80006DCD6EAE8F1B77575A30DEFA7C899F7D70 -:10AF90000C8E6EA3E0BFF54AF75CFA4E6C8F8DBE47 -:10AFA000FF3B27F9B3FDF8A7A87F0A777B289F709E -:10AFB0006E0FE7D3832613E5010E6EBD664B8BD271 -:10AFC000D7AE82BF4D72D2D8CC84BFBDE85DF4CF7E -:10AFD0001A6A793D7A630C1F156CFEA815F92515C0 -:10AFE000BC63ACB3017F66027D3F59CF46A09C662F -:10AFF0008FF3EFC9A17D421E9F67D7823E81F62D58 -:10B0000019F37D78E455EA38F08B91FF326EF061E8 -:10B01000DE6C7D5E472BFACFA1F18CCE575D6F6E53 -:10B020001F8B71F0FAF15E276012F0B68DFC6B5643 -:10B030006211F6AC86FCF246F7777C94D78E95FFCA -:10B040003D4BC9BF6BF426FAF0BCDBC9BB9585DC70 -:10B050009FB13384BF11F08BEDC9E1D16184E7ACBE -:10B06000C09FC4E33973179DBB7BEED709748EE193 -:10B07000E4719C5F53C77590FE7863CFCD64AF25B4 -:10B080005F26BF9840763B4D732A98E760ECB60484 -:10B090008467B680A75DD4EBA60A3B52B49AFB71D5 -:10B0A00029395C9E52724CE26A117C2ECF6509519F -:10B0B000DEE1ACA03FB189EE5CA7869A08C953FDDA -:10B0C0000E3E5E4682BFEC011DFF4AFF4AEECBE218 -:10B0D0003EEDD438FC3D42C051B07921D17D76ADF2 -:10B0E00038F76135F72B18F005E20DE8487C704B16 -:10B0F000C63CA2DBECD5CA5D44C75005E53FA57F41 -:10B10000163BFE75627DDB6D81E158EFD79399ECBC -:10B11000C33A82EDA97E13ED2394A5521E24339DDC -:10B12000FB8B99C25F8CCA7D60B809E639E54AE6B7 -:10B13000F40EFF5EC3FCF6F81CAFF4FF0C7E5EDF7E -:10B14000389F8F37A53D3414E31EB9CF2CF1115E23 -:10B150009A3853AF4F6F12F8080F6633516F403C67 -:10B1600061A73CBC13E6C17CC2D6D14FF27C023F42 -:10B17000FFB92487FB3DE3D303C3D14FCB2C0A2C6B -:10B18000E2F693AF33161F87B2651C704F19C6B134 -:10B190008DB7DB7D28776B5F5666115F87AC7828AB -:10B1A00010F03D97437098A8BE8D0535A247637394 -:10B1B000201C9FEFA7929C3582DF8771C064E4F367 -:10B1C0000CE2FB30E77B6EFF64BE01F5A4DEDF9688 -:10B1D000FA40EA19B46FC8CF522E1A6FEC2E46FA15 -:10B1E0007E53BD72CECCE5FC1CE001E548CA4DF2B1 -:10B1F0004B5C5E562EF556E2F39520F77A7AC7C679 -:10B20000670827C62B52BF2FC90E3C90837907537E -:10B21000A495BE4115FAB8F1A515C5F1BE2392FA61 -:10B22000D82ACECDB48693C2FAFD12ACC1482EA75F -:10B230006B08ED51D2E2F8F998D61C695FFBD4AFE8 -:10B24000B5223CB1F56B2EB45D283F5B93E87B36AD -:10B25000999F8A1D77B1E037491719A7E0BE07F615 -:10B26000DF9AC3F9659DE8F76C8E22E4226CE07FDB -:10B27000AF29781CEB0FFAB363F2BD7F56BE4CCEFC -:10B2800023ED692CFDE5BE0DAE676A69FFFDDAF7B7 -:10B29000893830861F77093969CE61B4EE7673E458 -:10B2A0000B92AB05C98CEA7E36327F3AEE07BE7A46 -:10B2B0001597077F4F318E3F342FE8C81D11CD0BF6 -:10B2C000E37D8C4FEA34164A009AD46D3787F5DF58 -:10B2D000D33C95CBC73F9F6C0DA9C0E7FEBCE0BE39 -:10B2E0009C11743E087D3717FA818DF6B1C0911E0E -:10B2F00081FAA589753B10CF8D6A5731E631AB5D78 -:10B30000C14348FF8F4C5DF9BCFE83EFB31D137939 -:10B31000DF6322EFDB6989E4FD5B46F41CBB0B8C29 -:10B32000D75F5DE832A5611CF8C1EE3F3CF732BC47 -:10B330007DF7CB67EFFE21626B65D23D3F836BB536 -:10B34000550D68BAFCDCB1E4F87AF6CF82BEBDF5E3 -:10B35000514B13E2E6FD9FCFE5FD9A62F6B59FCF14 -:10B36000E5FA34FA7D14DFD7FEA09FF3AFAA72B9D5 -:10B370005EEF14755BB1CF278A79B69B59F146848D -:10B38000674B32D503308D9F5B56FB68810FF7F119 -:10B390003B0BF939F93DEB14B203C7CC5CFFC0DFBE -:10B3A000EDD68AA81D453705FDC45A67286202FDFF -:10B3B00051BB283982E765C27D6D0CCA5AC849F570 -:10B3C000C3B3847D9CDDFCC65798F7A8D598750C4F -:10B3D000BC77D25EE340F330F7BB0FE051342CABC7 -:10B3E000BA5DD4998A73D8FC53D44B4997F3EB8C4C -:10B3F000DF97BC901B30E7C2FAAB5338BEAB1FE0FF -:10B40000E7F1CAFEBB85DD8BE5B7EDC8AB00EF8782 -:10B410000AB72FB1F364E78DED40FEAB76079CC809 -:10B42000C7D50F9C35E8B5734AF7D33F43BE5C9050 -:10B430002CCE4763F9FA3AA521B95C6EEA70DF0CAD -:10B4400054E3F9B2AEE2C505C8FF3DF97FC4BCDBE9 -:10B45000DE04AA73AEC3FD33DD7E777FFB67FDEFAD -:10B460009B792DC8E78D1715E293597BDF388A7ACF -:10B47000BD51EB26FE9965B5137D1A2F6AF49CB574 -:10B4800099CFE8BF975BE4F65F83EB0BFD684C2A2E -:10B49000EDBF65C17DC273099DB7B150D49767E711 -:10B4A00005CB11CF1B921CF7627C78C1CACF576ABB -:10B4B000B2F03A7226BE43967CC272938D7CB0F78E -:10B4C000CDAF10AE1A6B90CEA99C3313E26915E98B -:10B4D0001619E12CD5D37FCCB73A27D7857A03E06C -:10B4E000FFC0C2EB88FAF23FA7C3F342BF7C90CD06 -:10B4F000E5E8837C56BB0BAF57C315DEFBA050B409 -:10B50000CB793B769C7A21471F0CE5F62BB430298A -:10B51000EEF920F708797C21D77F07E255DE7F52CC -:10B52000C0919DE7BF13F108FAF16EE2AB14164922 -:10B5300085F1AA5FE3BF57C096F7501D6BEFBA8A3B -:10B5400005BCAEF8702D8D8E5B83E3413F3FF9F172 -:10B55000AFDAE83B383605F435EAE785790CF533A0 -:10B56000CC5B8FF3C3B89154EA9740EB606DA0B702 -:10B57000817FCF8FF0125D5656029F0E17E7EF7B4B -:10B58000A37C25F929968FBE9FABF4B7BFFF7D84BE -:10B590002B767F9FB181446FE2B76FF13DD9E8749C -:10B5A0008E1790FB965CB2BF91217AB9937896FA88 -:10B5B000F28344235F240A3AAE12FD7AF12CCEB313 -:10B5C000CA28E27650C60B3F13EB72C45CA55D8BB4 -:10B5D000DD1F7008FA3B7279FD14D06503C229EDB6 -:10B5E000611F7A6FE2F4867E9B488F25F4DC930E10 -:10B5F000F6EC0EF093F03C4B78CF85EFF5C95B8C01 -:10B60000E376B8696132433FE1E95C51F73DBC87BD -:10B61000EFDF95F4903E9AC540EF2857A61FE60845 -:10B620003CA00F9FC7FA118043C17AA43452035E35 -:10B630001C0FF0BD3337338AEFD8F98EE123F00BBE -:10B640005FCE15DFD995B132A4D73DEFFC35F96E49 -:10B650002F9E77CEBFEFFDC41E7C0DC739F3FD379B -:10B66000290E38668914B7DBE33CB744366F50A225 -:10B67000CFEFFD851AC2DFB7E8EC3AB36E06F0E50E -:10B68000AC2ED58753CE7AF08BB747A27FDD65A667 -:10B690007D28F02F56E3799FC7445D216B36E6097C -:10B6A000FE24E82EBF3396FA49FA09F3998FEBA5E9 -:10B6B000447EBEFA470BE6D177C6352C7008CF57CB -:10B6C0003FBD7012F9CFF35890CEF79EDD663C5F18 -:10B6D00037F65CDED8F37831A18FF88A3D97F7F31F -:10B6E000EFC5AF9BE9CDBB57C5F737B43CCECF9F75 -:10B6F000F753AFFE37C1AFB2BEA049D617BC72F93F -:10B70000FA82A698FA82A83F22EB0BBEE6F505AFB7 -:10B7100018EB0B3E1F1B1F8EAF7BFD9DA47EC675D5 -:10B72000D0FDCF0B2FBFCE263C6727EE77E476BA4D -:10B73000DF5F7D43A6C4533FF51DA9791C4F4D170C -:10B740003D067B9C99E78DF1C772E979534C9D4486 -:10B75000F439AF8F90F903A02BD5E3493F30F6FBC6 -:10B760007A99DF97F2F3B1C2AC1ECAB7AD11FAD421 -:10B770003714FDE68FD11F43F9BDD9FB6A37803AF4 -:10B78000FB87D7156B8551F98A5D0FF0E567FAEFF6 -:10B79000D807E789F3207CCC47DF390AB9B8E7FB43 -:10B7A000E353707FF6CF0F5619BE5FEBFDBEDD226F -:10B7B000FD40BBC19EB3187B3F7BF79BE4E7D558A8 -:10B7C00003F41DDD27AF7C9FECFC5C1670A19C9CF4 -:10B7D0007FE5AAFCE0FF859D97F0DC16BACFCCFD93 -:10B7E000FB0CF24FA609786EDBCBFD4C93D56FA610 -:10B7F00079FCCCEB745108CFE105658BE7E8DDD02F -:10B800000B7F299DBF3146C0AFE0FB80DF1BC49595 -:10B81000CD0ABA116E792E00709D1BAF2DD7F9BCE1 -:10B8200078BD4909684CF7BDE804D69C8BFD4DD620 -:10B830006E559C5746E7CC2744F145ED64D15E7EBA -:10B84000FB857BE6E07D3B3FAFD822E0B83F4F7CF5 -:10B85000076D65565C77823D729AF60FC535349652 -:10B86000FBEDA1425E979C88E721C0BC76FBD91016 -:10B870002ED6C99CF49DBFCD792182F18BEE77261F -:10B880001AF346E87E678245785EABBFE731BF4377 -:10B890009126E06B117AD283E71516D1B90CA42753 -:10B8A0007F9A3C97CE27CFB42FA27DEDC71C13699A -:10B8B000DFD38588C77AFB89BA7315E07966C078CB -:10B8C0009E42D64C63DB1334B6ADEC18D587299174 -:10B8D00080FB527AF4DC48B3D037B72772B86E4F8A -:10B8E000E471DE237926833F1290BF0F93C6CF5DAC -:10B8F00038E7B25AB14E03FC9347F2B87FF22150B9 -:10B900001AE249FEFB316537F907AD1B8EBF8BA2EA -:10B91000FA96019D5A93BD4B35F4FBEE14BF23A656 -:10B920007550FDC3967B527D58AFD36A735662BE85 -:10B930003494C7F3444DE2BB0FA048DD0E786FCBC3 -:10B94000B41CEA9751D54379D69E158CFCAA3E7C4F -:10B95000FA35F03FE0FB496CE3791035BE2EFC0E62 -:10B96000D8E357A96E593EDF86CF014E45F005DE7C -:10B97000BFA922FA3B4F457BCBF6E379962CA8F87A -:10B9800078DAD24BFC3E5DF8F34D7B2B6F1D0170D6 -:10B9900015750D23361EB857ECD3642488FD667EDA -:10B9A0009E6F6CFF81D81FDA4987BDDFA9C7472684 -:10B9B00088CFF1BDB149B4EE23224FC5847E18195A -:10B9C000237FA3A3F240CFCB44BB49D417E2191481 -:10B9D000FE0A9E06A17E195C3E7C4CFE71B9BD9E9E -:10B9E00045FF709CAAE8B8A4A7C6451F47E5109676 -:10B9F000586EF5B5D443BF8353F9BEFC482DB20F42 -:10BA0000E57DB4B896892B9BD54EF85DB934F2BA72 -:10BA1000B90053320115DB15CE152D38CE0D4A84F1 -:10BA2000AEF933D7B4209B5D9D5F24F241C1F1286C -:10BA30009FADE3F9F7D22DA37C3E273C9A3193E7E3 -:10BA400071A7CFB4521DF6748D9FEFC4B460C11DB1 -:10BA500020677754F3FC31B6AB75F919B95F7204FE -:10BA6000E29B9D71FC83ABF3B95D93EF3789BA21FB -:10BA7000F9BC389FE7CBECF9134EE771F8685FF833 -:10BA80007C9EF0D34A5849CCEFD1FC350FFDAFCAAC -:10BA9000DFF6A7278CCF859E98EE7FD44CFEBDD0D5 -:10BAA00017522F07443D54973897E5BDB11CEFEF6F -:10BAB00056CE277D713B6B267D7E070B9911BFBD4E -:10BAC000FA7FA2CE3F8279A6078CFED28C99B17EF6 -:10BAD00015E75739EF9D41E3F369D2EF9D68F47B99 -:10BAE000ABFFEDEB54B28B594F375C1A10AD7B6A4C -:10BAF0008AA97B6A14754F4DBB171CCCD4D53D3534 -:10BB0000EDE5754F8DBBAF54F7D443FB4F47CCE108 -:10BB10007DB82F73643E8804C0B95FD4C91CC03A95 -:10BB200099F2285F264FE3F959605FDA67C97526F5 -:10BB3000F9909FDA4CE594CF6D7324FBF4F9D3951B -:10BB40004B81EF74795C59E774A49FB8B83C9FFBB4 -:10BB5000C1EB159E4F0FDD69A53830B32860D8BF03 -:10BB6000C854D951CC4B9E167ED07A912FC1FDBFBF -:10BB700061700D2BDCBFE97D1FBF9FC23C668C3E10 -:10BB8000CA4CF7D1FE4166CA10DA0798B9B76C1BE8 -:10BB9000E91BBBCD87DF07C8F16706B768587FD4BC -:10BBA000B4778B56638FF2DDF87CC1AF492C09F96D -:10BBB000B5372FB82B81F2829FD80393F2E1FD7A3B -:10BBC0004B642833F233DDEFCFAECD13FC621E1B86 -:10BBD000B8730EC073FE6D0BCF8F3DC8485E5FD843 -:10BBE000934A794D6D1A23FBB2BC92F1DF8BD9A237 -:10BBF000903F7732959F43B47C2A233B782E6D0289 -:10BC0000D16F3E0B1FC273866A37990DE709DDBFFE -:10BC1000CDD8AE671D646FEA77F4E167D25B523F1F -:10BC20003630AF8A7AA8B1D3F83E1B68D48F65C28C -:10BC30001E0C9B3EAE05EB3C8699B8DE620FFA7295 -:10BC4000A651DC5DCDED287B9ACEAF3A9F7C4AE5CC -:10BC500072CEF5F188A8D634D8A511C2BFBA51E387 -:10BC6000BFB320FDA511E277170E98F6AAF41B3F8B -:10BC7000029EE1E23DE9A7497D2DE952390A7F3371 -:10BC800002E2F07CE1EF14B242A42B8C4FF2A060F0 -:10BC9000A0C48F4CA6DF6F182DE603BAF3F3EB4C6C -:10BCA000D630F251ABD24C7ADACA84BE5682A4970F -:10BCB000FF3D1452910FAE63CDB7E1EF818EB176A7 -:10BCC00025915F6A0FFE44CF272D2C92BF5331F090 -:10BCD0000B3D3F93FADBB8FC22ED4AE43DEE6F4C9E -:10BCE00066E007C2BCFEF7B91F7440E1F122F88399 -:10BCF00007305EFCAD6912F1C3245806F61BEF3421 -:10BD0000D2F966B7B13DC9DB870F54FDEF5980C446 -:10BD10006908CFE412633FBFD46FCCA8DF0AD8D73D -:10BD2000BCAE7EC5A1EF62DE2069312B413F063CEF -:10BD3000475FBCDF2BDD85F68298A0CFFECAAEFC44 -:10BD4000117DF757CE8B3CF1F5AC7BEE0EA52FDFC6 -:10BD50009C3BB85875EBF84BF2F34BA21E43794D60 -:10BD6000ECE30EE7F9C2A89DE77C53215AD723DF05 -:10BD700041FF3F483D207E77E486DDB608FEAE4EAB -:10BD80009918E77AE49FF2A85D8F98EC5E4B21F258 -:10BD900089AF4D55FBFAF3AE342FF1CB30939FF8BA -:10BDA0006504F3A5239D46593B5A34847FCFC89C34 -:10BDB000A0DDC01F7FCC47FBA7007F503EAB8F7D2F -:10BDC000343E8FE11F49C7C3C28FBE9979298E982F -:10BDD00028FCE84801E79F2AFBED1ABEFF4621CF69 -:10BDE000378CC38D47FA6ED56817ABAC463E88E5F5 -:10BDF0002F98D1A49F3796DFFAE39B01C837D22E44 -:10BE0000A65F996FBEEA9F6FBEBA1CDFC4F28BD4E7 -:10BE10002B3B6DCE2A3BE6B76A15D2C7C3DE1ED8D0 -:10BE200082EDAB1A0AA85E6667AA6F3F3D6FE6CF48 -:10BE30008777F955ACA7295A249E1704AAB0DDB418 -:10BE400098EF678C38C2EB6D063EC89F972D6BDE6E -:10BE50008FDF093685F8FB2F9D6EA5EFA5C2ADE2F9 -:10BE6000FDCAF62A6C37B5F1F74FE2BED4B55827B4 -:10BE7000176EC1FB835717F87858CAFDDA9B049FE9 -:10BE8000EE5476EDA7F7DAF97BF30E5913E977084C -:10BE900085DF7AA358E74D9BF83A333EBE857E97FF -:10BEA000744E4F88FCA74F4DF5F4BB37FDC59F95E9 -:10BEB0004A7B2E5E6F467D8287795981AF0BF9BE32 -:10BEC000E5569862C400EE0FCAFD3EAC3FD0D71BCA -:10BED0008C18C0EDBEECE74AE3DFB5B1C793295F2C -:10BEE0002CF723231B98827A19D728FC80B8FB9360 -:10BEF000371735D3BEE4CD03E4BE64B786E7B29707 -:10BF00005DFAEB847879963162DE53A29E42DEAF11 -:10BF10000D17D0EF8CED4426A1EFF29FFA3DB5C589 -:10BF200039E34C7C07B7B380B76F19B0E5276D10C4 -:10BF3000BCCF33356B782E1BCB57E83BC07FED620F -:10BF40009114475FF86FD658C4C2BFE323F8E7B631 -:10BF500058B6F2EF31B95E9A2ED5CE984124A7B7E4 -:10BF60000B3ACD1820ECD330360CF5CD7441B73BED -:10BF7000ACE0B7925E6B37C7C8FF7706A0FC3FD630 -:10BF8000AFFF6C7C1EA31F6AC5BC7385DF3C1F7F9F -:10BF9000CF54C5F3E2B9FF7CEA31EE37DFCF3A2860 -:10BFA0001F79FE71EE2F36C0F2905FFAFCDED77675 -:10BFB00063BBA123F6776643347E9FDF712DE5795D -:10BFC000DDF38F3554607EAF76E3DB943FAE95FAB8 -:10BFD000226CD417E060707DB1E16ACAEB98ACFCCA -:10BFE00077368781BEC0BA9461586F0AE30F15E7B0 -:10BFF00000ACC057C4F7FF03486F4CA47A541A4FE3 -:10C00000A57DE0B7FDDE287DA4DD88D51765325F0C -:10C0100033308DF259527F94093F854D8C8D1FD757 -:10C02000921C0E13AD8D92BE220E927E07BC4F7EE7 -:10C030004797C91E3699F47E4698E4B2DC0AF68228 -:10C0400044C96765E23C81183A6FC2755D268E323D -:10C050003E8FE10319C754083EB893F9293E7A513F -:10C06000F0C1BBEFF1DF839B6E5F447CF8DEFBDC4D -:10C07000EF9471D4B78F9F22FF50FCD44B771BF8FD -:10C080009349F8BB169306ADC3FDF44E1BFFFD6B41 -:10C0900085D3D975E7917C7D7EF15DFC1D17DDEFC1 -:10C0A00043B44C4AB0E23E628B99C717D3267F5007 -:10C0B000314BA73F86A45746105FAD4AD7F7FE84A1 -:10C0C000F1C69BE23CD6BD9944F70B5DFCFE854D65 -:10C0D000D7F84270FB73B338DF4A699E8B25541240 -:10C0E0008EB9E2775FE6A9E157BB713F5609BF58A9 -:10C0F000AFD0EFB4FC0EE5B2CE14B1F0BC5E17E5E4 -:10C10000E9E5F8FDE72943145F5B5EE7F6B14749CF -:10C11000F4F13C6FC8F0FB3FBFF3F27C943F2FF08B -:10C120003ECE23ED5F6C7DC2B10537D377AE7F6322 -:10C13000FE14DC175534FE7BCFB1F3623DC2725D55 -:10C140009EFA982DFEFEC129A16F4B105730EF4388 -:10C1500039FED338FF2911179E12FB63A71C7CBF41 -:10C16000EC6F03781EBCC4CBDF4B14D753623FED9A -:10C17000549A319E94FDECE27A628935B05C47575F -:10C18000EF868466CC4B641689FA93458CC74F7B47 -:10C19000520DE72E64792B4BBCB8CF5124CE2DD84D -:10C1A000C3ED32EE63E33EF313D941133EFF3FFD8F -:10C1B0002524DF00800000001F8B08000000000025 -:10C1C000000BD57D09785445D668DDBEBD857487E2 -:10C1D000CE06618B9D7D0F9D0DC3269D8428B86082 -:10C1E0002780A06C0D0804C8C6E27CCCE8BC3406ED -:10C1F00011F95CE2382AFE2E7F83E0EF366384A0DB -:10C200005103D32A8330EAD820286A465B46013599 -:10C21000242D2E836F783FAFCEA9AA74DFDBDD6CAF -:10C22000BFFABD47FCACD4ADBA75EB9C3A7BD5A93F -:10C23000345A897D7B3E21C4EAD34F2D20A44F225E -:10C2400033DB4DB4D4D1923EEF8B6265B65522A458 -:10C250008C90C1D69A6C6B227DBEC2A7277250BD4E -:10C2600086D6D3A0EEC8B6D27E7DD3453BAFDFC322 -:10C27000EAF49F860C226401FC66A5A5D1E4910B2B -:10C28000E9EF1B743DBE6C6C276753099164E22291 -:10C2900071B4924DAC0E333C1D673996478B28DA4A -:10C2A0004EC769D29B364823B1BBC348C79BC3C79F -:10C2B00023C3CD5A187F361B8ACCE9DAFF93144387 -:10C2C000C85C23593F8CB6CFEB1AACA7332075312D -:10C2D000AE4C0BC04D265A8ED1EF4AAE68F96C3485 -:10C2E0001D1BFE4D082D09D19263627E08878B10BD -:10C2F000807B8417E1DA58E14FFE8F5242FCBB0C81 -:10C30000962DF43B0D5D6F1D91285C0D02BE0E2530 -:10C310007C651C9F8418DD5F1809B99E4864201D48 -:10C32000A7D3E42C037C36187D384F3AA2DE41D7E0 -:10C33000C575E7B858847F307D9FCEE7A5163BF9D9 -:10C34000A72E80CF9516067FB55C5FA54F20E4D45D -:10C35000CDC462A08F56EE5FD86AA4F59577110B15 -:10C36000FBBA5D4346D1F139BE22CD2FD1A1215672 -:10C3700023AFC367670E20D6EC407D88334E51A7AC -:10C38000E31298C7723EEEB0BAA18AF74734A72AE3 -:10C39000FA5FB62657D19EE22A56D4D3368C51F492 -:10C3A000CF68AB54D4B3365DADE85F44D206120A11 -:10C3B00067D33E99B8296A73DCB58AF6BCA76F5279 -:10C3C000BC7F9C343F348EF6EB888A2924948E5AA5 -:10C3D000A362B640495C766F3EC5CFCD1C8E82F617 -:10C3E000058A71BE89B9721FACEBCDDEC5D7124A82 -:10C3F00057233B9729C65D2ED7B3756BD31DF5D157 -:10C40000F79AE90FE0B398F8F70EA3F4D1E8966C29 -:10C410001EDABC64136B17EF2DEDDC8CEF2D752B42 -:10C420009F2F7F5A59775592EC66CA9FBFB59A13D2 -:10C43000901E8692A16783F82A4007B413FDDEA9F7 -:10C44000C764B72105F093F5F038C48F8EB8ADA15D -:10C45000EB758A109B07FA3F6FB6B9687DC9FE85F8 -:10C46000381F4392920EA2AC4A3A88CE56D281D956 -:10C47000A65CF781E5CA7557E337D69E7B4EFCC6AE -:10C480004F52D285C06B39FDF939F1FA24E0333AC5 -:10C4900080CF923DF65613E2894C338E02FCB1F9FF -:10C4A0001A884306394712A89CA1CF6D6C0872D236 -:10C4B00062726928FDECB04ADA63C6C038455ACFCB -:10C4C000EB00CF7AC945E0BD28E24E0279D15AEEA1 -:10C4D00049F6D075293636C3CA912F4D8E97414EF5 -:10C4E000D6EB3D85D02EC6FBD2E4C4E73DD23B8BD4 -:10C4F000098597683D85280F8D04BF2FF0386A00A5 -:10C50000A3E3E5C48172F8254ECF5F7C5487785C45 -:10C510004C9AF7DAE9F7BEF998E177297161BF45DE -:10C520006D4A3C84E04F85374A3656F86E13877B58 -:10C5300019216E4D5A283EA52EC9632E0434740964 -:10C54000B9ED3C5BC2C80EF03986F4FF43F92DF01B -:10C550004B3B48C1F209BE671914F89EC0A7905B17 -:10C56000E23B06D22C27011FA8E418C956AE1301DE -:10C5700021310AFFC37FAF52196A8CE31F1B04E30A -:10C58000C0E409B99C7F872C7026019E8CA40DD72E -:10C590006FA364DB20D3EFC897A5B4128ACF128BA8 -:10C5A0005D86F52A23DE59F0BCDCD8DEAAA5435D02 -:10C5B00046CE58909E063FD570363E008724E072E6 -:10C5C00049444BEBE3797DAA4BF23D9A02F0BCF56E -:10C5D000137C773C2FA74249D78F82F9CF4FE8CB06 -:10C5E000E324EB08F85EEDAB59894037EBA566A272 -:10C5F0009ADF91D7E838B2C61F0FFDAA8953CBF452 -:10C60000AE1BF5CD5B920FE77D03B1DF01A5D06FC7 -:10C610008DA4FDCA59B4DED841F5560C94511E992B -:10C6200096A453854FA23D0A750D8504E87B39D445 -:10C63000C5BAA704DAB12E87D6D7521886C49D5F33 -:10C64000BF3F9C62E1FAD19FC9DA997CABE3F8AABB -:10C65000137ACBAD9C5F37FC328490BFEA294E8AB7 -:10C66000818F8C2ECD40425253385F169242189FD4 -:10C67000F255660A1D7F501CE5432998EF587FD17B -:10C680001EC2772AF849335DDCD114DFE652BD9330 -:10C690008ADC85C1F05E003E841DB10CFA02BC2923 -:10C6A00056AC370CE8FEC00ECDA5DE64D0FF629D0F -:10C6B0009AF4C409F618694FC4EF8AE757A7683897 -:10C6C000BE283D5E009E22AF433ADA43621D2ED45F -:10C6D0001E1A1BCFE62FF0E708C5F734053E09C543 -:10C6E000678102DFD3C2E29BE3E36499F72958270D -:10C6F000D97C6810E0797692E346E83FE288EF98CB -:10C70000A409CCAB5AEE79EA51D0639DB20D78B949 -:10C71000713C93738DAFC8C8FABD5D06B744C7A915 -:10C72000EB7C13EDB39E162A487591F1D40FAF0A36 -:10C73000DFA1F860EB28E059A1827FEE81EFCC7396 -:10C74000AC08E72DE7C1C32DE1F0F0CD6FC83C4741 -:10C750003EC0973FD0971FF86E315FF7DFC7386E46 -:10C760004DA1DF2F7D7F780CE0A75AEEDA3B14F065 -:10C77000B05AB219E8772718882B8AAEF39035554E -:10C78000E49F74ADCA7DCD360BC547D270934DA6DC -:10C79000F8C8BA4576B8E9B8FF58BD2A6E212DBF52 -:10C7A0006EA19FCEA0CF258D03E98D6CFFF4777429 -:10C7B000BC2CF36CDB465A9B63A0F3A1DF49F94D17 -:10C7C000B4278DCA89BFE88911F84D97DA7C703299 -:10C7D0001DD71F2BDBC00E4E90C944A02F81E784CC -:10C7E000680687785EF1F856C9670A3C9FD0EA2F41 -:10C7F0005949CB19B0EE6501382754F94BC0EE11F9 -:10C80000784E4863FD89D69F5C1BC41F65800FDA94 -:10C81000DE0D761DC56763A27E3DE8C15E23AB13C6 -:10C820007B36DABFAB8D8C3FBAA392DDA01FBB294C -:10C83000AC5E1CCF6326A620B918651F7839859B8E -:10C840001C90C9365A7C6FB10F8C457C58D838DCA7 -:10C85000DEEA256412E069F5E4CAC171B44C6C6586 -:10C86000F851D3C9AB29CCEEAF3F4D19AF24F0BC82 -:10C870005EEBD15B4CF05CAF787E94E2CD6508D482 -:10C88000179C48BF92A09CB1AD87FE0B374413574D -:10C89000907DD5C1E711092F8DB15AA2A5F86894F2 -:10C8A00088E35CFD5EFB6F19F1AB9EFFE7BC3DB119 -:10C8B0002A3C7C47003EDA5E75E7B50F83FDD9E878 -:10C8C000D511037DB4FA958AC124CC78FD783E3D1C -:10C8D00096B8E383EA5A1FE2A3F1F415F8BCEACE56 -:10C8E0001E3DD03D8C63A5CF5747D907DBCE81E7EE -:10C8F000323E8FC6D3B1C4151FFC9CC993C0F80942 -:10C90000D8FE2C2090D2ADAB53766FA3AF3EBB4F79 -:10C9100033694B98F9EA5319FCB9895AE4973C0FEB -:10C92000B16F0EF37DD16F501C95D72686E79A82A2 -:10C93000D0F97554FAE6C2FC2F9F48ECE1BE779A15 -:10C94000D38B9877479C6F31A7FBCC1A7350DDA22D -:10C950005CC7442E173AAEF625C3F8BD93991F1F46 -:10C960008A2736CF51DA6609F05191E42C02395208 -:10C970003F8356289D0C9EEDD138F3037C1769DD6B -:10C9800003F8A6FE57C9B9F0ADC77631DE570739AF -:10C990005F12BB49A2FC349FEBADF95B975F4B651F -:10C9A00067BF1FF3D526EAC7D04F7C459ADF3443D3 -:10C9B000BD4D423F658193903554EE2CDE56B21E3C -:10C9C000D4C5FC2442AE8863CF6F83729D2EA06FC6 -:10C9D000F1FF7612AC1FC5F76FBE5B69BFD691BB86 -:10C9E000BF05FBE7AB834C3E508D867EF8E23F2AC5 -:10C9F000C7ABDB7ACD7198679DCA0ECA02438FDA46 -:10CA00002185A9DC4F1B4546811E58B9ED3B7D8C25 -:10CA100035321F7C4DF93D3D03E4A505CB8A547B9F -:10CA2000592AC4190EB0793A529DA353219E72809F -:10CA3000CDEB54FD29A6271E4B40FD6400614E7FBF -:10CA400035CC32BA5BE93CEEA4E2248AE2C76060EE -:10CA5000F690B0036579951C43DB477FB93A0ED653 -:10CA600037E1B9AB26C17889CF45DB019E8D15F63C -:10CA700022881B6CAC31D95AE99046FA3EE80FF790 -:10CA8000B3A3DF180A5642FBFD95C380ECBA5EF7EC -:10CA9000405C6583E6DBBDC368FF0D57105B2B0967 -:10CAA0007CA7A9ABE645984FF234A66736A6D88B8B -:10CAB0002C41E3126ED73572DCF5EDCABA6F2C5DEE -:10CAC000DF47F7A1594DE14B1D08722397B075263A -:10CAD00067289E289DC0B783EDD71EAAAF4856A0F1 -:10CAE0009EDB2E7974149E868E1735A00FEB6FF7A0 -:10CAF0000C9A057AE919AD6D4BD0FC12FE32A4D226 -:10CB00001A13D047B3240BDA0BC23EBF91887FF9CA -:10CB100048373339DDDCC8EDF259D10CBF0B882D15 -:10CB200019DEBBC948623494A56655B597A1BE5AB3 -:10CB3000AE8B053B096009B7DEA28C145F6A7CCA24 -:10CB4000EC92E8BAF74AFE4C18E46B88F9B03893D7 -:10CB50007B4B4AE838EB5399BC68CCE476623AB137 -:10CB60009B29DC8DBBB3366FA44D8601741D8B51A0 -:10CB70002E19CB8BD14E3682FFB3F4B5288F141308 -:10CB8000C00BB1D88B34102FA81D5EBC116CD32301 -:10CB900054BE5006EBD5F992918FA9DC91A8EEFB1B -:10CBA000CF2D936BB494EE1A87523B8CD6DF4D9DFC -:10CBB000C1EAA9BEC51A5AFF614B33ABE7FA8E41F1 -:10CBC000FDEC965B6BB4942F1A8B7D8B655A1FFA24 -:10CBD000E45DAC1D1C424A58594FB6D5B8E8F85F21 -:10CBE000C772FD6EF3CD05FA697C354BB33108DEB3 -:10CBF000F83426B7BE8E62FDBE4E21F36A01DFD93E -:10CC0000BE4C98A7E8F7AF546117B76129E014EF5D -:10CC100091A4F0E3FF99BFB7B48ADB25D16403E0A8 -:10CC20008D2E932B86E27F4F57D616E8FF406A1C65 -:10CC3000C7171DA734308EC0A3184F7C7719E85D45 -:10CC400090C73A166715EDAFA532F949BFB30EBFCD -:10CC500093CFF0DF583BBC08D68DAE9796AF979632 -:10CC6000F9AB9BB13F8C1B5B88F2BF444BFBEF39A8 -:10CC700043FBA704E6ADA68F7D9C3E96B652418845 -:10CC8000765A1AD2D18468661F9252251C43399E67 -:10CC9000E3D362199CFDEB3158C2EFB4723C0EA78E -:10CCA000782FB878B83FE6F3F9B9E10E5A2FBB0CEC -:10CCB000ED9D395B82E121E47EC5385FAF55BD57FC -:10CCC0004E1910E6119786EFDD19458CF89C6CE93A -:10CCD0007F2FA590D9A560AF3670BB9AB8AEC0E0E3 -:10CCE000423D971A0D1BBC7A2BB4B74B7637D067F1 -:10CCF0003A850FF05B7B6D2987CFC2E1B330F8DC5A -:10CD00000A3A2587FCC9D3CCA1F4DB8FF7FEF1F2F8 -:10CD10008BF9780ABE0E371EF047A4F530A5FDCC7E -:10CD2000EB21E6A9C2673F9E55F313F8047EC6F7D0 -:10CD3000F295F4D84FCFA9621D557C9D7289DFAB67 -:10CD400060EF35FC96AE23D82756253D3774A4688E -:10CD500016E407DEEB84B52C0BC4E946A6717F6FA1 -:10CD600038190EF2DB55C9E2A9AEED065BAB15E34F -:10CD70007B2569E1E37BF85CEDEFF5C5EA89847614 -:10CD80009132DED09768F3DAC14E3D496CDBE8B8EA -:10CD900063557607ECDB6C3705DE0BE81365DDC504 -:10CDA000F920347EE44F86F9951A2A77586D845C11 -:10CDB000F7E453289F4B0756AE4AA1F5DA279F6642 -:10CDC000F56195DF418866DA93CFA03C2FCDABFCAF -:10CDD0002E15EA69CFB2F609F61D32EE383C5B3308 -:10CDE0007148C07E989E6665F6479586001D19E4D9 -:10CDF0001536D093029F91CA5283A6399CFD3AB74B -:10CE00009F9FD9BE4639D7CFE5C29FF76915FE7CF3 -:10CE10005F8CD1250F847D2EAA4F29BC4BD39C0B50 -:10CE200001FF4DD13D73C114BE3DFA533DD843922D -:10CE30009DDA1B101FB15AC86C3A4FA967A303EDC6 -:10CE4000C06536A316F1C9E35514B6B3749CD77602 -:10CE50003F73EB30F61907CC6334E7FFA6DD3FFDE7 -:10CE6000F809E8D1AF4D3608078EEE7A6415D85729 -:10CE7000A3BBDEFE89E95B13EE5789798F86B82361 -:10CE80007D5EDE69C0F98FEECA5904FDC7BEDF952D -:10CE900006F431BEDBD30AE2A06FD7CBC39CC1FB43 -:10CEA00057E4B87436EFE2ED8B7E7C7CA927605F97 -:10CEB000527CDC919608F838B318E28BBD8907D70D -:10CEC000FBD04E1BCEE299FC7D6A9767039F9F22A1 -:10CED000036CB0BFD06766E3A8E39C476A287CF484 -:10CEE000F9783F9D4190DD3CE1B4910A9040BD82CC -:10CEF000C42AEA55C6218AFED5961445FB55493900 -:10CF00008AF6C9D62245FD9AECD18AFED7D92A14D1 -:10CF1000F5EBCB272BFAD7D86B14F5224FBBA27FAA -:10CF2000C9BE4E65FB212BAE4349B7A30AEC799BE2 -:10CF3000D7D90AE5E53D6D5503AD2424BE5BEA7300 -:10CF4000B7C2F3B1679ACB3C2434CE4B9639715FAC -:10CF5000C000EB2207ED135478911F7B35366B70C0 -:10CF60003C77F620E7ABB04E6F4914ED14D9571853 -:10CF7000FDF1B05ED5F3EE9163605DFC04E35F1DEF -:10CF80007ADFBD6341CFCF91D1EEEDD012B41F3B1C -:10CF90006616B821067844F2BDF409C8A939D1282B -:10CFA0004FC6530B17E186BD5009D6C9A980BB8275 -:10CFB0002C55ADD30A45BDDAF25B45FFAB92D62ABC -:10CFC000DA275BEF52ADD3FD8AFA75B64754EBB45E -:10CFD00059B54ECF28DAC77FE16B05369AD0E39278 -:10CFE000CD74FE638EB455C1BA8CED76CD017E2929 -:10CFF000F5385B5184EC697E134A0FF5AB20AEF532 -:10D00000464B12967B5AAC1897DADB928DE5BE162A -:10D010001B3EFF5B4B3996EFB4D8B1FC7BCB242C85 -:10D02000BD2D0E2CDB5BDAB1FFF6964E2C290647A0 -:10D0300080BE4888E7FA87D6C1DFEFD5F81A61E7E6 -:10D04000D59FF6BF514EF60EF0F542FD76D76994A6 -:10D050008B9FA413946FF119ACFC29DDBE2ABD8C03 -:10D06000C914E44F9D6903E881768DBD08EC6B6DB2 -:10D07000BAE60FDA1184DCB1D6916489657523AD07 -:10D08000E362836346347FB00F27E44FA03270938E -:10D0900045530BF5BE28D67E364D53EB42FDC0F608 -:10D0A0009DA705F69DB5E961F69DFF74C26A867875 -:10D0B000CBC133596680EB208F2FD949916E3E2D1D -:10D0C0002BB4453AD08B47547684283F335598018A -:10D0D0009E768D6D3AD829AEAB75641B9517B51247 -:10D0E000F347FBEDC074666FF75D67407FE790C65E -:10D0F000BE08E89CCAE927005F195BE36A41AFF408 -:10D1000099FDC98087B4ADB1AC9EE87F42B205D528 -:10D11000750CCEE15B2DB5AEFCB070A6C07CD470B2 -:10D1200066A6F3FD068F7D04E85F513F54636F00F0 -:10D130003D71A8C29E01F339E83020FFB81C667724 -:10D14000060839ADBD6C7A50DCC59DAEC3F7A6E9C3 -:10D15000199F919B64F7B6307EDAEE7466EFE3BAFE -:10D16000813F776334DAE18734A46E7B183C7EC05C -:10D17000F1F3CD80F0F1970FD3991EAC9C6AC6F104 -:10D18000FA5647E1BE6F9F230BEDA0BE668A25CA03 -:10D190001F7D279A4FEEC47683D812C3FDCD595C0C -:10D1A0004EFDA96BD50F8769FF4F5747DB50865B54 -:10D1B00072513FDDC43BCF8937A2DD32A7764425CB -:10D1C000E8A5597C9F6CAE593B08B7CBB4B17A0B3C -:10D1D0001DE76653D17A50FF8B136AF4B1B45E3702 -:10D1E0007CC57A2897A5DFAF8FA3657DFE8BEBC149 -:10D1F0007C6CA0AC5586FE92EFDD163AAF796B647D -:10D200002BF39FB85EB32FBFA87319820E018F4016 -:10D21000A714BFE8171EE1F816EF1DE1F85A9CCEDF -:10D22000EDB602527056B9FFB30CF8A167CEBB99A8 -:10D2300011E2F4CA766EB77DA067DF5DFEB4CE1D45 -:10D240001C4F12DFFD289DD9D787F4C42E811D778E -:10D250009319E9A370E677B79751F80BBB2C1ADC4A -:10D26000BF1772DC4B307E5FF68513E5DCE53DBE13 -:10D27000A70E13A4F34EE093F3E9A9A9AEB5A81F36 -:10D28000467F4FF50FC8C533CE4F0FA31CACE372DA -:10D29000B019E5D79E963558DFDBE2C2725FCB0648 -:10D2A0002E07DBB0FD9D964D5C0EBAB91C7C1A9F13 -:10D2B00077B5CCC472778B93CB41B6BF5ACBE969B3 -:10D2C0007692F33EC093D8C79C6674EA005F7F7D78 -:10D2D000C44064D89FE832209D520E78E2D10438D1 -:10D2E0003763B06CB4869E9F51CBDBFEF557EDF7EC -:10D2F000AE4EB23F0AFCDD7F5E06ECB3CB22D3CF4D -:10D30000416235833CD9917E432DC8E78356AB19E2 -:10D31000ECD68EADBC6EB79A75B4BE337D06CA9797 -:10D32000834EABD940EB2F6D9DC1DA5D567314ADC2 -:10D33000BF9C3E93D5DD0437B7BBD2E7A09CAD20A0 -:10D34000D21EE0872A63CA442AAEA97EACD8037CE9 -:10D350007055D2FC89C00779E956A4C3C9D6B57BFC -:10D36000A07E4DF6666DBC15A2A145EBE0BDCA845A -:10D370001A2DBC3771F88A75F0DE95E9F76B83DFFB -:10D380009B94FFE23AA85F6BDBAC057B300FE45661 -:10D3900062601C5117ED42BE8AF35D23BB1C28C797 -:10D3A0000B3B1D28C7055E2AA7D5DC0171BAA64E26 -:10D3B000C922C13CA649FD9BF612B5211ACF506E79 -:10D3C000A172F6EDF4BAB8B514CE26A88FC1FA1F33 -:10D3D000D68697BBDE70FAE543CEA7A0376BE83858 -:10D3E0001F52FE81F368360E5F53D77CF37CD4570F -:10D3F0004E33E8D7515C5F8EE1E5325E36F1F233B1 -:10D4000093FD63F8CEE791F9FA4BA00FCAB78BD919 -:10D410003C42F85AD9CEF9FA38C72329F52743BD3B -:10D4200081B4619CF07CE7BC9606FB6F29705EA21C -:10D430001DCF61A8CF4BD4132F1BAF5D75DE82F8D3 -:10D44000F4B80FDA19F41CE511F73F0630B93713B9 -:10D450008435381D1914EEECB0706B3312CF09B758 -:10D46000B29DC3BD94B8F17C9B1A0EE24C44DE5AC7 -:10D470006E3A84EB190A8F2F3C3C217030FF5D9C83 -:10D48000671171796A07256494811C341388DF045D -:10D49000CB89C3E790136A79F473C9B973C89B1C2D -:10D4A000C09B5ADE88735AEA52D873B4EE82737AFC -:10D4B000AEDD5118A73F697596C2387D95FE1F35C0 -:10D4C000E09F25F890CE7E3FCC7939E041D2B3FD84 -:10D4D0007AFA4626ACDB098DEBCF601755656C41B7 -:10D4E000B9D30BCA81F2E3585A07BBE7F1A18EF119 -:10D4F000F01EC966F413E95CE7C40CA68F424BA288 -:10D5000038DFD8B7F9A7648C639D87DE23E1A15A81 -:10D510001EE77381BC2F8F4693A747221E89DA7FAF -:10D520003D1583D08EE819A1D742F973FB893D23BD -:10D5300032717CB5BFD833A4DCC8BE7BE524283B60 -:10D54000F5CE4DF3C14F1A6D403FE93D7E2E704A36 -:10D55000343B47F51EEC13D37E538E9E4900FDA548 -:10D56000F6377BF6CFAEB41686FA9D14CE890067E7 -:10D57000FDE79A3BE0D9C5FAA1F56B7E24DA78BACB -:10D58000AE6BCE106DC985F8A5440671517CC4F60A -:10D590002694655F78E30AADE07F0AFB81FBA7E78D -:10D5A000398F54EE67F6C28433245B5B0A71A6019F -:10D5B000B87F2395BFCDFC565E8A7D91716C0A645D -:10D5C000AEC6E4D6A72ACE23256969395BF68D82DB -:10D5D0007A2FF1E23E89DA9F7D8BC7A1A85FFB20FD -:10D5E000D0ED7A7E4E89AE483CD06FF5EF3E9A7B07 -:10D5F0002BCA8128B487FAFDDA9D1A3C67D0A1B501 -:10D600000F1C0F7EED9A0CDB5A5AFFCC9BF8E06B97 -:10D61000B46CB2FC887813FC5BBFE63BC4A7A8F7E8 -:10D62000F0B86F9B8EEA1F5AD6FFB78C7AA89E90EF -:10D630000DB86EE40DFDCA20BD48DABFEDC7FF4846 -:10D640002AF76A0081A8172BA7DA69BF1AEE7F10A4 -:10D65000F226AB73BF8BB852A7DAE9B83589BCBFE5 -:10D66000EB21561F21DA1F66FD33C478FFAAC5FAE5 -:10D670001051E7E3E588FA7BAC9E22BEE767F5022E -:10D680005137B3F1CDACFFEE6D3BA6823D22E4FDF8 -:10D690009E0CAE1F8B48113F9FB30FE57FE47329AB -:10D6A000CA76AE1FE63D23BBF423617D2647BF0B40 -:10D6B000FCDD2EE119BAFADB7418EFFE26AEBD7060 -:10D6C0005590BF22CEB138AACC76B0FF1A5ECADA26 -:10D6D00022F3733D607F10BE1F5D2D9B707FE2D4EF -:10D6E000DD4CEE47B2DF16AF794DB19E21EDB2C4ED -:10D6F000FC71D8B8A3DF3B79CFE0CDE85FA47B71A4 -:10D70000FFFC588624F6E949795CE0DC58421AB1FE -:10D7100083BF9AF03295CFB0C65F78511E2F7E99A5 -:10D72000C57F1B1E7913F5DE02D98AF1DCEBF29D71 -:10D730003D809F5EB317E38A8BD7ECC679FD9F1CB3 -:10D740006E3758FCF9C1F8FC3E14FFA7CF83FFD316 -:10D75000BF26FED571E765A63D08EFB28B3CDFD64C -:10D760006B66FBA236BE4E4735D6511C5F719910D1 -:10D770003F5FE4CD8C95E1F0B177103BB7F44E19E3 -:10D78000F845A79ACD04D67DF6AA7F143AC3C47D86 -:10D79000D5FEC0CDF0CDC400BEAC9921F84DCF2C44 -:10D7A0003B277E95EDBF307E076B7D7A1BECA31E79 -:10D7B0002138CE28EF517DF0F99889994C0F0FEC64 -:10D7C00064FB46EA735F1333CDCC6EE2FB330DB5D9 -:10D7D000EF8C83FD19C10F13A2493BC4DB295DDB2C -:10D7E000385DDB80AE05FD06F669E87B61F82B400D -:10D7F000BF4471AEEF9A4C6E5F06F07A7DE6B9E9F0 -:10D8000056D9FE0BE3B583DAC3B8AFB9330AE329BF -:10D810006A3CAFE47815F86ECD64FC1F09CFAD808B -:10D82000E7C49F1FCFAD9956453C42E03B927E52E4 -:10D83000AF8F9877183E2DBB143ED5677339A5F589 -:10D84000E17953F5BA6F0CE5A77BCFC34FF7FE9A8A -:10D85000FCA4C69BBAACE7FB9DEAE7CF678AF3015D -:10D86000BF0C1EFF7F8BA7CF697E5DD13E6FCD7E43 -:10D8700045FB7CD701457D9CCF5B05642EE2E357D9 -:10D880009CF0BF09F54B8DB3478AAF4FD9B1440324 -:10D89000FB6FE55E16DF6FC8764A5974DDDED3B8DC -:10D8A0005BCD14AF9777B7CBB81FE62EC27DC055BE -:10D8B0007C8EDF8DFBD7A7B752BAF98E1830FEE900 -:10D8C000793D476B2D08A5838AD332B107D98915D5 -:10D8D000C6582DD85315D4520E4737FA2C467778B0 -:10D8E0001E88F2FB4C23D125503E9F3953C2F34F83 -:10D8F00033093B574D4B8F93B64FD1128F81D66B67 -:10D900004C5A8F01F7FD58DEC374364D62D01217A2 -:10D91000B4938478F483A7C1433A5FD92EE379B6F0 -:10D92000E9E56CBFF02653BB0EF4E98DFB6E3F7941 -:10D930002B6D27EB5C65ECDCB6C863FB587331FBE1 -:10D9400080FA2CC6E77D12DF5796743638E7AA7E38 -:10D95000EFE34C06EF1479AD0CE75FFC0708DADD66 -:10D9600082EF287CFB0CC52C4F630CC049749EAC25 -:10D9700018B09FEFAF82FEF587AC8897A6F2B58509 -:10D98000B08E4D13A5CF0D8501FFA669CDF768A711 -:10D9900057CBCFB742FF53475868FCF21E970CFE97 -:10D9A0004A207EE99B0B7C793E3F48CCBBBBC583BC -:10D9B000F4F469CB3E2CDFBBE2ED32B0337C2DDEDC -:10D9C000B0F1CB4B8D17883881881B0839F0D96DA1 -:10D9D0005583812E6D595C2E18A561201788969568 -:10D9E000425E8ECA0A91AF63B2CEAD5795EDBFB01D -:10D9F0007CBD503AAF4F627A514DDF6ABA16F44C93 -:10DA00005F2B93E8776FA2F61EE8D559C455504FA7 -:10DA1000E5ECCC256DBAB1D2A5D3F532D317C92424 -:10DA20004CBECAC5CB732BC22F57C9E81F88F30A57 -:10DA3000621D1AB242ECA115E759B715BFE6BA85C7 -:10DA4000EAB52FE65E9A5E230A7BE0EE50B8DBCEA5 -:10DA50000377DBAF0A778A55E4D1CC953581BC11C9 -:10DA6000384F0C765C9F9BE545D6A5B4C5E0E1CC6C -:10DA7000727F0CD88D4B77C94887446BD70EA1F4C1 -:10DA8000BA84D36B0FF17C00F4B864DC12CCA7AB82 -:10DA90007B2CFCB9E246DE7F99A9430F702EDBAAEE -:10DAA000ECD7C8CF15D73FAF8C8B368EBBEA388CFE -:10DAB000DBA83ACFF35216CF4B2C26C5ECDC85D22F -:10DAC0003E5597BD2D4411AFEC3DD382F180DD5919 -:10DAD000FE075CC383FCFFD0F5DB97756E7B4ED9E8 -:10DAE000FE2BD3AD6CDE8AF955174BB76B73EDFF88 -:10DAF00080790B793C1B6413FDEEECD70C6E17ECB0 -:10DB00008F9659597C5372B7C27E5BDF4F04E3474F -:10DB10000B789C33527EBA386F30FA90BB959D37A4 -:10DB2000B0CB902F3A6A9FA30AB62B4ADE69467B98 -:10DB300024E2BE95C8B3E2E7872E54AE89B8DEA8CA -:10DB400013CD6867D9BC16B487C69C6E7F13F4E307 -:10DB5000CF15EF16FA706C3CC35BA9CF81765EAF30 -:10DB6000CE53F621D809AF4485B51362B3D9FA4D27 -:10DB700075CDD7B1BCC390FDC0D86CBA1E53B9FCEB -:10DB8000D718ED3AC053B5DCF3E00CA01FAF8CF111 -:10DB9000BDD5BF7FFFCF8F5ACFEFF73759BE43BBFD -:10DBA0002192FDDFA461F917C555563CE707FE1425 -:10DBB000C4F744BC4FDD7F426E651ACCAF5A1EE7F6 -:10DBC000B5C37C36B1F9445A9FA635DF2AE28B9162 -:10DBD000BEDFB4ABCCB220880F6ECE9684DF613945 -:10DBE000660CACEF85D2C178FF4C85FDF3FFBA5FC0 -:10DBF0003145A6A625D59F05929BD9AF84D9B1B34F -:10DC00008917CBB9C48FA593B0F3F70B880DCB9BC5 -:10DC1000793EF3811CE74C58973E9D7F109E9F7C78 -:10DC2000E9DFF9403727AF18DB06DB5EBF941DD76D -:10DC30005764C5EFF7EDFC77329C83399F5C589DA4 -:10DC4000645F9E1D66FFF9EF15F24C966FF518EABA -:10DC5000891A7E1B0399C8F6D1484A0AD243402E3E -:10DC60000EDE2CE422ECCF167CAE61E749964AEE3C -:10DC70000CDAB5D3A741D62A5894E296A1DEC1DAD0 -:10DC80000B1A62DD12AD178C8E62ED2B62DD104730 -:10DC90009F437CC88FF3A82884723E61726F21B1C4 -:10DCA000B37C07E24F053B6C5197919DF727BE74FB -:10DCB00090EF8511FC9FB7B299DF3C3295C9F39183 -:10DCC00095CA38C53D5C0EF4E6549EC8A6E5A96C1D -:10DCD000FBBD80979171DE8D0F9462DC9E80FF709A -:10DCE0007CF46F71BF51BC97985BF900F47B416283 -:10DCF000E7D35DBB0C783E82BE31C81174AEFF40E5 -:10DD00004ED523D0CFCDED928878257E45FE6C8010 -:10DD10009F5C38BF91E07361BC9C3E28C7EF62FDF9 -:10DD2000C5ECDA69EB4C18E37781DD9B98EB7C1648 -:10DD3000E7AF27C404F37FDCE0DE82F6697332C408 -:10DD40002B973C61D080DDF01155B79087F2498B5D -:10DD500011CB7F503F18CACFA81F0CE5E7D40F8620 -:10DD6000F29FD40F8672D1E922AA2C283FE5D8DF92 -:10DD700064F41D3E4FAB4BE05B7C7F971EBFDF9B87 -:10DD8000E344FCF6AFF72BC40D9B3A2FC4FA87C6C9 -:10DD90009D83DE22CB198617B15FA86EDFCED7B583 -:10DDA000B0438BFABDB0D317B338A8DF816C3DCE3A -:10DDB000B360E7179887DA6BE9C7AF5DA2204FD150 -:10DDC000B0FA81EC3AC46F6F8EFD04C04DF9FB30A0 -:10DDD00094859DEFFF01F27FE8F878EEA04FF23FC7 -:10DDE000847E800A0E351E045C2FC47A37C2FB2F56 -:10DDF000EC4C0548A8BC218C6F808EA470F0AEC599 -:10DE0000F95E6FF097425ECBF567E5B0E78C7B7308 -:10DE10002A10CFEB04BD093CF1F5BA54BEEEDFFF8A -:10DE2000E6744AC43D1E203BADA087CEC480BD57DA -:10DE3000C3F7F73B3BD2DF03F85CFB64926145FA22 -:10DE400055F0DDB01C4627A22CD8A577C03ABDB04E -:10DE5000EB58FACD265C97F445B47F744E8622FECB -:10DE60005830FAA7FF782001FB5BE0533792CDD5FD -:10DE700070FE6496F1F5BF0248732C9F57C3F99367 -:10DE80007949D25E28E75B53AE847327E27CFCC2FB -:10DE9000EC8ABDC04AD7DA6AD04EAB00E112A40FBB -:10DEA000AA8CD1B029D85FAFB6C42BEA57250D5341 -:10DEB000F49F6C4D53B45F939DA76817DFBDD65692 -:10DEC000A2E83732CE9F0AFE198503F9816C93F1DF -:10DED0009C5EC1CE4357E7D1FA94A7A6DBC02C794C -:10DEE00081B74FD95EE586F5E8A3F8D45303EA4439 -:10DEF000F95D0F3D0083A9ECFFFA5D4FEEB55B2F96 -:10DF0000C2FE8F60F70B39BBBCCB580672F642FDE0 -:10DF100000F5FA8CCE51FA0591E8A69F2F242BA389 -:10DF20009BFD32D916866E08B99DD3212BA71C64A0 -:10DF3000F963172BCFBE0479161FE08FFE52159799 -:10DF40001BA9B7BDB70AE2F4EFCA04F3F1785EDFAC -:10DF500062F85D0ED03BB979F31D4312F0B90BECBA -:10DF60005CC82FB5D3F157E470FBA9FEF53B86944E -:10DF700006DAC9EACF15FDC96DD27A457D5D8AB250 -:10DF80007E77C5FAE0F723C9C5C59BE6EB9D98FFF0 -:10DF900029D9DD61E483984FF51B5178AEEF3A380B -:10DFA000AF421F35961ED0C23EEC7511F4A8903FCB -:10DFB00037CAA4395CFB6D392CCE7FED1B51780E2E -:10DFC000E662C7FD88E212CF19BECCF4E84703BD74 -:10DFD000DAE075BF93CFFB64D9FDBFFF11F6475F51 -:10DFE0002178EEF3642C93FF851DC7351AD0830387 -:10DFF00018BD145A7C1AD02B7D75D12E38D7DFB4BA -:10E00000D4CCF25F52FD1F18E9D2DF97F3CE1F8DFB -:10E0100074DD3E8624C820BDDA074E11AD6F7AE666 -:10E02000ED69EBE8FBD7BC11E5D15C023C9BF8BE87 -:10E03000C4C84AC6E773816EB87E81187BD31DA41D -:10E040005FDF805C00F8A1FE5ECE7B87FE0876F87D -:10E050007EC6E770C24EEDDFCF0AF2EFC9638C2FA8 -:10E060008DF4879D5352F1F79E36BDE99C7CDE8E80 -:10E07000E76E2E94BF77E4F03CE1C8FC7CF01ABA5E -:10E080003E4DAFB07B2D4E7565605E6C247DDEB479 -:10E0900049463EECD75F5DF22437EA29651EBAC0D7 -:10E0A0002BB1DB903FC5FD512BC7FFAB16F4E6CA81 -:10E0B0005D5A764824D27736C8C41AF49D17761B69 -:10E0C000EA30CF8DCFBF4FE8EB5D3FC455E4B3726C -:10E0D0006D18BD47F5B42E01F4748D847EE5E15DC5 -:10E0E000832B014F8725E2B162DE163BA73C950DDD -:10E0F00007CF4D786F4952369E4F16FEA5F02BA7DD -:10E10000EF9A9E0176E5071D0B0ED39523C772D2B9 -:10E11000908F661017DAC187631D23202E31859FEB -:10E120000F381CEBEF01B97C787CB404FBFD74FC68 -:10E130007530BE80EBB0CE3182DD3F21CE25E75E6B -:10E14000D27D71D5F26D15D7C0FEF66C6201BFF2BB -:10E150007A99D9B9E42F8C3F85DC6B92BC7130CFB2 -:10E160000339B5A773289E06AFB997C75539DEB4F2 -:10E17000EC1CE285DAB9FDFEECD312BB17C5C6EC88 -:10E18000FFC671DF3C3803F2E4A8DF2DD1F92CE89B -:10E190007C1DEFFF51FBD9FDFECEFF309E1AEA2F0A -:10E1A00039E27283E2E46ABFA9DF4E17F6DE367603 -:10E1B0004EFECDF10FF72EA7F5D5DBA2118F5F3DF7 -:10E1C0006170811CFF6A8B01FD9FAFE2FCDDABA09B -:10E1D000BEBDC0E6C2AFD914F7A32DD1583F04FD90 -:10E1E00043FEA6C37B3D8E3F6EF0C0798FA54FE600 -:10E1F0006C017FEAF808EB73CF433CF0B944BC678D -:10E200008038D9FBD7717E04FEB252D343FE2F3340 -:10E21000DA114B770C413926D6EFC4E3519847FF0A -:10E22000D5BEA903215ED6A37911F378886C7281DB -:10E230003C5EBE250AEDC035166729C05FF55FD785 -:10E24000CD2881EFBF9F48009EBEAE1D18AF0CAC1D -:10E250006F78FD7EAA2B8DC9817E7DCBCEDDCE83EE -:10E2600073B76978EE760C8CDF40C4FD8BECDC6D07 -:10E27000B12CD931EFE09EF079E4D7E432FBB15E06 -:10E28000C44FE2893109F8D04910DEBE7BB2B680B6 -:10E29000BFB330378E7FD7CFF32505BD7537BE8628 -:10E2A000F113033BEF17157E1F7B462ECB2B5E6CC5 -:10E2B000FC5E11BF695CF39322AED2984F50EF160B -:10E2C000B75A4B56D07215C7F3EA54C74D00DFB2A8 -:10E2D000F6FB5F7A07F1F2D86F3E86EFEE3361DC32 -:10E2E00086BCC3F0A7F667161BBFE5FCB4596107EF -:10E2F0001F7BE4433C6F726C675E21ACDB02D97B11 -:10E300000CEEE5EA357B3FBD9596DBF71DC47551F4 -:10E31000CF3764DF5E6272A51EE08887F32E8EE63B -:10E320005CDC1766FC7E746301E24FC473FBBE0ABB -:10E33000EF6F89798AF1C5FCC4F8A2DFFFE2EB75C3 -:10E3400052EF2D04FD9C06FB166581F69331DEC26B -:10E3500058133C67792D27E3683D886E7EA9FD9DA3 -:10E360009B789CE78866ED2D7A4A7F3DED0FE89C0F -:10E37000C172F422F775C47CC5B9529147FB9FB9AD -:10E380003C9E3D828C88907FFB646E59D8FC5B7C00 -:10E390001E29FFB63FDFF607966F2BF26B4BAB34AF -:10E3A000CDC179B6421E96E6D1E7F9B0EFAFD4EF12 -:10E3B000A52395FD23C9C7F1796C1D4BE3C3E7BBCA -:10E3C0001EE2EBDC4A3CEC1E42AE17C772BC8BFB74 -:10E3D000BF849DD2C8E5B6C8F31CDBC5CE6D8EE503 -:10E3E000793B540A609E6BC83D6F4979A857C53D7B -:10E3F0007D121D6B765CB87C612FCEE30AE2C7D23A -:10E400004E2C5A2829FAB19C481C585E499AB19C56 -:10E4100044DAB0BC9AB463792DF16249723DFCBC18 -:10E42000E76D2CCF74F2120DE8D7D219E1EDE21F9F -:10E43000CF8B0717DE2378B178B892B0FBFE42F09D -:10E44000313C1BE95B8D0F75BEE678E2C38B4B2632 -:10E4500000E1A6811F6CC5F3AD55C48EF5EA0BC46F -:10E4600043B9CFA965F9BD2A7C5485A78BB31C1F7E -:10E470001B40779605D6A9348FC901B15ED4114BE4 -:10E4800002F9AF5E47F1BC34BAF23B2B1511C3F26F -:10E49000EE988E79DC2595ABD268BDE0B907597D41 -:10E4A0006CE50EC8F31E99F7F074CCFB1E5959A207 -:10E4B000B3C17D729BA64FA4ED4E7E6EDAC9CF4BE1 -:10E4C000136791E29E2CE7DA5BF0DE31E708930DEB -:10E4D000E01479E1721ADB5F4D9EE4794347FBED6E -:10E4E000B23807E595C139734F8C15EC84B5D578F2 -:10E4F0007FD49D7AD65FDC6723E013F7DC6CDF9E68 -:10E50000B74A4A3DFF3CE8F8E97989309F0CCC8F47 -:10E5100073EE94783E5CE5E099546EF4787504F2FD -:10E520000BC4F72CA9CE1C980F81A478CA17C3B8C6 -:10E530001EEED99E9707EB549AC7F30713524A0071 -:10E540008F0B521DA5D05FE44597C2BA24462E67B3 -:10E55000E7D98BA1BFFAB9C8CBAECE7396437B5334 -:10E56000F419CC37EB2D7A7FBD2F25344FBDD54E16 -:10E57000DC7A942BCAFCF4BE457ABCCFA9D4E16CFA -:10E580008523CA97CFF68FC27CE13C67158EABF727 -:10E590002517D1F7FE3895E5BFABF3BD77EDDEAFBC -:10E5A000C86F177CD69FDF7E8AE5B707F8EB9155D9 -:10E5B0002428BF5DF08DE0BB3190DF1E03F59C4544 -:10E5C000D06FFCFBDD98DF3EA1DBC7F3DB3F54E6F9 -:10E5D000B7DBFF7549F9EDC7F9BD6FC78DECBE24F8 -:10E5E000719FD4CA9D6CFF77A5C4EE935AF9277624 -:10E5F0009F94F00BEB387C0DFBB7AD877DBEBAC79F -:10E6000016E27D5484DF876AA53FC17EA1B89F547E -:10E610009D07D304FE20DACD1EB4BBD4F9304D8F54 -:10E6200055A13FD8A4B2A36FC9E3F11DAECF08B77F -:10E63000FF96F077010E13FA677AB43B573EBECAD5 -:10E6400066813AE72BB2EF7912DC9F3C168FB4203B -:10E65000F86CE90609ED5781BF914F19EC789FF1ED -:10E660005383D16EA5F636CF6376337F9BD20A9C57 -:10E67000877F21D69F0A76F20BBBB26D54C29257A8 -:10E6800023DE43FDBCEA1EEA2715F7509F82FF8177 -:10E690009D7642E386714691ECFBC6D17AD909ADED -:10E6A000CD6D0DDCCB7CBEFB8705FE0D7CBD2EF653 -:10E6B0003E62F5BDCF22FF417D2FF19DFC5EE2F170 -:10E6C00011EE2536C85D32DA0FDF6B15F7135FCE1A -:10E6D000E12CB71237DCF73BA647AB58FF725F1B44 -:10E6E000017B28EA90561147305895F597F3787CCE -:10E6F00080DF2F128A6F533F3E0D88CFF487119F22 -:10E70000AAFB9E059EFAEF7B1E6E42BA1FB37F875F -:10E710000CF2E062EFFDFEB5EFF93EDFBDDEEAFB95 -:10E72000BAD5F77347BAEF5BAC7B9167A5A2BF7A06 -:10E73000DD4BF6FD4E791F355F6F17FDF939D7FBBD -:10E7400007D57AFF1B2E40A37CF8F7981377035B5D -:10E750004E896672ADDFAF1FA7433FEB3D6B7C95E3 -:10E7600019F89FEB2907D753E4B676DC8777707AE0 -:10E77000B179D93982E223ECFE8A521F3B4F30EA4D -:10E7800044F8FCA0EBCB25C5FE6EE8FDC52CCF7888 -:10E79000EC19764E4FBDEF2FF2866AEC51CAFB1B87 -:10E7A00022E41189380EB5E3891EEC780DBBCF2E1B -:10E7B000CC7DC79BE4B4E03C2227C677A619BDC92F -:10E7C00040CFF129CECBF21303F9461320AF4842D4 -:10E7D0007F90E7E124DC0071C73E48B21D4AC8675C -:10E7E00077C7DE80F70624108B6F1473777176F984 -:10E7F000CE6C18E7A864595F42DFFDFB986F924129 -:10E800003F19605FBB18F77D73A15D7D4FBF4F63FC -:10E8100045FBC2F53B09FD876F60B0D141FCBA41B1 -:10E82000C7F31A557FC780FB53E2EF181CA543D4EA -:10E8300051B93DA793E5512F4FEAE17E18BBC7754B -:10E84000E17013DEFF44EC2536E6870BFF6A987C07 -:10E85000317AF37CE78B96277DA5F073C9F3F11726 -:10E86000B49F18809B8D7FF4AE68D43747EF1A8130 -:10E8700071BEC0F8BDE8F7CF69569E339EB7E62358 -:10E8800005FDCD777DAE68F725F875C328FCBE97EA -:10E89000865C398BE2EFE44EC328E033BA6EF3F2C4 -:10E8A00083FC7BDF3D5913991D703E38BFC17974DD -:10E8B000F373A202CE4F5B8E60DDD7E2539DE7710A -:10E8C00029FC5251EADF20784F8E5F1A600B1767E0 -:10E8D000399ECFECF66E9E07D9CDF320BB79DE6270 -:10E8E00037CF53ECE6798A227FB45B2276384F31FA -:10E8F0005B723C315FC2FCD1DB00CEA665FE42C834 -:10E90000B76B1AE99B2BC9983FDA925F16367FB432 -:10E9100010F2DE5F797EF60D60D79F18E0C27B496A -:10E920005ECC9F7903D8F527F48C3F5E7FBEF2065C -:10E93000C81B7B7CA8F32E18E74B49F6203DBF226D -:10E94000E17E2AB1FBF4B5E7C82F6DCB67FB0BF76F -:10E95000E7B37D0C513E97CFE4D9EBBCAC96EFCE3C -:10E96000C4BC9F4D06CCFBA1DFB16B82F6FFD5F98D -:10E9700059C57F3178406E8838CCD67CB6CF0A79BD -:10E980005B30BF84FB0C2C6FCBE74D863C2F38EF00 -:10E9900003F7669043C4CEF2C0D8FD7D621DB6E693 -:10E9A000F3736770A17E69204FAC61FFD14F418E38 -:10E9B0005C97EF7C1AF99FE72F35C4BC8EE7265E83 -:10E9C000CDB7E27B74BE083F9507EB24C473481CA7 -:10E9D000AE3DBF2C34FF3D12FC2717791FCA4F09EB -:10E9E000E44F05E54DBD0AF310708B7904C6393745 -:10E9F0005D8B785220DE756726F049B78ED97BE2B1 -:10EA0000BEDA62599A574BEB6F71BC88FE9FF2F5E4 -:10EA10005C9DEAD80FF358D6CCE26EA2BD4F6AFBDC -:10EA2000CDC7B06EFB4D28EFD4DF17EFABE16DD84B -:10EA3000BD1FF142E19D0B7006C1FB617E507CF071 -:10EA4000E4AE0F1F02945F2A9C179BCF6C18C0EE98 -:10EA5000450C8D4BD3850DB2A70CE2FDE1CAFBC678 -:10EA60000CF0F711E8F73AB81FD2C1FD904E1DFF28 -:10EA7000FB352ABFB4C3CBCEF57424E9F1DC0EE13B -:10EA80007F6F41E8E1D507D8399FD52904DB617E46 -:10EA9000C00F926F2FEA85FE7BA324AAEF285D7C2E -:10EAA00063719202A06BE72AD413F265261BD0F59E -:10EAB000F6BF5DCDFD2BA677CAB89E298371008E67 -:10EAC000FC81A87F4AF97747199BD1BE1D4D5C3C5C -:10EAD000DEC2E31277ED55F865FF17386EB02750A8 -:10EAE00068000000000000001F8B0800000000000C -:10EAF000000BFB51CFC0F0038AAF9B3330E4593198 -:10EB000030CCB1666060B56160683047C8BD114700 -:10EB1000B0A9897FCB53A67F932403C31620DE06BA -:10EB2000C43B2449D7CFAD8D6037AB3230F000F90C -:10EB300021409A558381E1B51603032F903F03C806 -:10EB4000DF03C42780580528F612480BAB31307C10 -:10EB500001D27C40796D20FB8A1A76F3F9B5F1DB9E -:10EB60007F5C0395FF138DFF401DBFFE2C4D02E11E -:10EB70004B401E1BE6B3273F3E8228D03B10F830A7 -:10EB80005ABA7E6CC2C0F0CB9481C10E9AF60F20A7 -:10EB9000C90700C59E9840E34D8F81E1961903C3D4 -:10EBA0005E1CF9E20450FE36503EC61CBFFD0ACC86 -:10EBB000A87C615E4C35DF9810ECC942A872C7840E -:10EBC00031D5F38A323000002621667DD80300005B -:10EBD00000000000000000001F8B08000000000083 -:10EBE000000BE57D0D7C54D599F7B973EFDC99499D -:10EBF0006E269310C24002CE2411A2243040C09849 -:10EC00004CE0E68B041270F87829565A27E8226DFA -:10EC10004111DDAEEF2E2DC347435454D8A26BAD46 -:10EC2000BFDD812AEDEE6BFB0B162D9B049D8480CE -:10EC300068F88868B5AE6D376AD7061B6C88C1D294 -:10EC4000DF4BCB7B9EE79C93997B33930475B7FB9B -:10EC5000BEAFFCFCDDDC7BCF3D1FCF799EE7FC9F88 -:10EC60008F73C66AB111D775845C85FF1610327F29 -:10EC70002221646EF42A9E57D8492879262169F604 -:10EC8000435D33320859A8C9BE1A0F2113EC0D9DFC -:10EC9000A488903262F3D8BC84B44B3FEB9A41EF26 -:10ECA0004FA4587D3602FFDD4BC83C4236DBE99F5E -:10ECB000B4FC894BF44ABF3FF1474B98488454CB8E -:10ECC000F54482EFED122FAF6B4B3209A922ECBF56 -:10ECD000F99748152D46AADC77D593198454BA685C -:10ECE000293B7B7795952784962F25AC7EDD6E7C1E -:10ECF0005F4A765F949D70D72F070A697D5754E36A -:10ED00007B77CD6F8913CAC53C8771C01F940653AA -:10ED1000494AC687C9F4EF9BC84D57657A55C61155 -:10ED20007273942EE62B212142C613D2C2BF5748DC -:10ED30006006DC13F23CB69F2EE858DB43DC74DC43 -:10ED400019C5C457430738A1566F07BA9456A91E70 -:10ED50001BBD6FAF9E37B14723E4BB179AB3480181 -:10ED6000FD3CBC01E998C1E9D87EE1C577EFA6DF9B -:10ED7000FB6B89CF46EF5BADBE898182E1FDF1D7A8 -:10ED8000A63B08AD676FA02319EB21E4CF57337979 -:10ED90003DB984B40572528371BE13D7C7B6BA08A1 -:10EDA000B145EFF7E8A4B6591B5EEE4598CCB950D3 -:10EDB000FD1AEC6729A7E57725B2BA19DB5D8DF35B -:10EDC000D4CAFBDFA97724F714C0FB48B2858E2391 -:10EDD00074D1429EA555B4F55524417FB7EB9608F2 -:10EDE0003C6FEB53C3400FE26ECE5A5638BCFFADBA -:10EDF00017D7CEC671053718DAFDFB3E3A5E0DC651 -:10EE0000F77CF2425ACF409FC525D379DDCB9FB71F -:10EE1000069B935DF05D6F3ACEE7635BE9DFD3124B -:10EE2000D3E3B1F95FCF096A50CE6EA447DFC0C902 -:10EE30005C3A6F6DFB141F8C6B347AFE3D6F47DCC0 -:10EE4000A7FB22952E5AAFBFDF27811CA5F71132F1 -:10EE5000CE0B72D176CC09F35B4F502EFC810AC7E2 -:10EE6000F56C1C3ED903EF4FC9C01F7E5704C73154 -:10EE7000D41FE8DF34E8A71BAF4FF2F69E8079C4B9 -:10EE8000F16D774CA5FD1D2856B09E03FAF672056C -:10EE9000EBBB1291811F37307ECAF004B75981FE57 -:10EEA00077125FC803F5121CF73FF2F13FCDEB1369 -:10EEB000EDB4F5A5972BD0BFD5C40762522D6F696D -:10EEC00087EFFDEB59FFA73CB04902FA5DB7A507F4 -:10EED000AF61DECF3DF03D2D90BDA95F02BA4DBEC2 -:10EEE0003F82D77DDB7ED90EFD4BDD491CA00BF6A2 -:10EEF0005659D2E0BBBD0B2739E0BD3340059FEA30 -:10EF000003BFCF756F271DCFBE2A05FBB9AF8FD2C8 -:10EF10009F9673865C3E906B67C8C3AF3E1F946F2D -:10EF2000E5E338CADB7D998FC719D279B94D055011 -:10EF3000CE190AE135CCC7493C1B91EF360BBEB365 -:10EF4000066F8479CB18246E42E5F9E8A78B274237 -:10EF5000BBA27E73F9834FB5CC817E8F1F24EF59FE -:10EF600067C035D200ED4D837138E1BEBB41423DF3 -:10EF7000154639F2F75908C98FEAA90CB2ECD55BEE -:10EF8000F0AE1AE548E881D23ED522A5C6CA591589 -:10EF9000CAC13E2E07557D11E4132A67C72C944E33 -:10EFA000A10B54CE287FB5062C38DFCFF4ABA88751 -:10EFB000497E246B59CA70396ABBB86E36F45BC897 -:10EFC000D370FDF1FF867CEDA3E308C6D16BA23DB3 -:10EFD000216FE6F7A3CA9B2B84F2D646E52D04F4F5 -:10EFE0000C581C79207F4D1694137755733B9397DB -:10EFF0000D286F1977B2FE4C58134639184DEEF6AE -:10F00000795CE50AD4BF9AC9695BDFFBDB6C301F12 -:10F010006B08D71357DAE1DEFF00936BB39C99E5D9 -:10F0200030D5DF8DF2E9DDD94FE0EAD9518F7C4D43 -:10F030005B71A0FC2590C33690C3A2FF7FE4B012A1 -:10F04000D6712A7769DAAC4E171DF7A27EC2F0900E -:10F05000B6B713D6F1EA6C1B5BC727BF7DDB3DF467 -:10F06000FEA43519E97F723C7D5804F732CA5DBBB6 -:10F070007757F666FA7E518684EF09598FF25D2341 -:10F08000F0123CA2F253DE239179E950EE833D95D4 -:10F09000F4FB577B890F5EBD9A2D637DC7FA0893F9 -:10F0A000632E9F357CBCC7F8FB81CB240CF2B900E2 -:10F0B00020097DFEE9F9FE2976FAEAF7962B8524E8 -:10F0C00087AEC79C6F05CEA8E6F2FF6A86AC83DEEA -:10F0D00038B625254CBC585F04F8EDD5076C61990E -:10F0E000B6379097FB5C8400FEEB9FBA99BEEF7435 -:10F0F0007D92122B9FBD7C1E3EE2F3DBC7F144CB19 -:10F10000F4C03289E2A257F37251BE06F23E994230 -:10F1100028A9EFC9FDC3877025A4590DA40CAF47DA -:10F120007CDFE50E7E59A2F3D31BFEC009F37DE11F -:10F13000F02733E04ADCE310778D86CF4A040EEBEC -:10F140006DDE01388454513E9917E59309BDCDC752 -:10F15000806E257D0C8F91DA8D0C67BA185D28FEC4 -:10F16000CA82EF5EE2FD6A3D4F719A86E50CF5B406 -:10F170005A7BD60458FDF87D898BCDEB907EE174E7 -:10F180007F529208C3896CFE4AF8F77EA5F9BB80CE -:10F19000B7FD2765DF36FA9DFF724F1589A3870EED -:10F1A0004869C8AF65FD467E6DBD705006BAD0FE99 -:10F1B000CAD0DFD2DE6699E971C66725621DE97D96 -:10F1C000DEA0DF45FBADBDCF239E1FE855505F2578 -:10F1D000A26B071FC74B5C9FB4F179A20C85FD3F62 -:10F1E00046FBFFD008DF570233C6F45BC8DF82CB93 -:10F1F0004906BC5ED69F6EC2FFC6FECE57587BF353 -:10F20000815E2431BDB648E9BCFECF462FB35E1106 -:10F21000F5B6021D0B86F78B00538B7ECBFFFDE905 -:10F22000DA067F30FBE504C819E93924833C56CB64 -:10F230001AEA93D22A89E1723ECE7AF89636552B95 -:10F24000E4CA23A19DB7D82F856B006FF87E807626 -:10F25000E24091CD037A688267AFD213C36F8BF916 -:10F26000F7A2DF47B7EA38DEF6B96F6741B9A3D72F -:10F270006FCB867958E4793B7933A5FF092E772D3A -:10F280005B6BB15CE965F2C82C98973C2667F3F993 -:10F29000583AB9DEE9E0747B99AF9B6F6D0DE2F5EA -:10F2A000CDADEBF17A6EEB26BCBE7AF9790DE6AF07 -:10F2B0002B3F17D7AF5AA5598967579598D6859789 -:10F2C0003C14EFD0F2757D6B77CFA2E33E75D98207 -:10F2D000FAF9547EEE8878A585CFAF28F78AFB0728 -:10F2E0009540B7FA5EDA5DEFF0F2A5BDC6764B89C0 -:10F2F000D40CF8AFD4F7BA42A87DB4A468BF168B7B -:10F30000635A2F641642BDADD2AF56CCF124EE47FE -:10F31000A9BF1BC7B924F28EE249495CEEB4D25DA5 -:10F320003F07ED54A68F4A7DEF55E9B4BD9A82FDA3 -:10F33000F5C817838A05F8A2BEE0109F5F17CEC7F5 -:10F3400012B19E15C9B561E84FDF00F6B3AB401EA0 -:10F350000FFD7BC822235F2EF1D810CF266C7F5083 -:10F360002111902F2582F3748AD6037C719ACA31B9 -:10F370007BDECDEE69BDF0BEDD6BD37C404FB7F0D8 -:10F3800047AC37F0477DDE9C53BE22584F64C4978C -:10F390005D972B94347A7F1AD6574F943F4B397F21 -:10F3A0009E8679073E0ECBB8FE09BC2CEA3B7A3923 -:10F3B000E79122DADEE9B035EEF7812AA33CDEE2FE -:10F3C0004E36DC57658F33DC9FEE9BFD6600DAA37B -:10F3D000FD073C47421B0CFD3F0AFA0BDA7349B8A4 -:10F3E000FE9FB852D5770F940B1BFB65EE47D7E510 -:10F3F0009CC757D27A4F1D96914FABDCC67E555EA7 -:10F400007AF314E8A73AAA5F806E2FE98A0EE33EEA -:10F410007D3825BC8DF2E54B05AF27036EA0FF6953 -:10F420004B683B9584CD6F4586B19E537DEF3F3C45 -:10F4300013F0AE5D463D57F1C78E9D00AFCE16DD91 -:10F44000D709746E2512D2A9ECC20119EA5B1536F0 -:10F450007EBF728D913E1B578E33E97FA37FA9D269 -:10F46000C3FC44F37D17B1BE12F0FFD0FB0ACDE818 -:10F47000179A0FCA20A6DE32935FA8C4C3FC4225A8 -:10F48000E01712E5BC6498DEA7F7D8BEDFB4AE9BE8 -:10F49000E53BA1FC5BC87AF0A790FEE5A3E096ED02 -:10F4A000DCBF62D4B744D927C5E28A166B7332E257 -:10F4B00086594C7F91FEF4B8FE2AB31E21E43EE447 -:10F4C0002B4147E20A918C79307E5EC6ACFF385DF5 -:10F4D0009AE8745CC57520C4F18B27AEBC9BBFCF86 -:10F4E000E6F2BEB097EA4D58AF7DB20BF4C6A9CB99 -:10F4F0004403793C4BF99DB5DC7335966FEB7A9BF1 -:10F50000912F69795C064F5DF6A1FC062632F96DF4 -:10F51000F7D628694C7FC69577B31CF492D0134573 -:10F52000745E4FE5E53EBE927ED77558E8018B8E3E -:10F53000727598E1DED37D9B915F0728BF02D98762 -:10F54000CBFD392D76DDFFAF9277B39C0FC9FF302D -:10F5500079677AEBD4A005C7537949C17AEAAE102E -:10F560005CC7CDF27F9ADB6F2FE96F6A3E580F0BB5 -:10F570003E40FB987C66796776486B2FC1F6CB2EB0 -:10F58000BC2FD3917F61F22EE45CC8ED35CBFB7FBD -:10F59000919C9B9F7FD3C2717F02398DCA7F08CB1C -:10F5A000ED4821F9E0676B91927CDBBD20EFCCEF59 -:10F5B000632E3F4E16FE587BE837745C0D9459520B -:10F5C00029A937929E29C00F13267AF0FDDD969E59 -:10F5D0004CB8FF3DE9CF9C4EAF250A3902EBAFA4F2 -:10F5E00013F200ED92E4719135B309794C0EDA65AE -:10F5F0005A5EEA8DFC51A27426F7130FE0C16952DE -:10F6000030199EDB289D345A9E28E710271212419C -:10F610007A2DE542B7D4AE45D00F5F6CEDEB117497 -:10F62000C7F5638DEBC3E9B45E1291AE4E8F8EF3D6 -:10F63000A0359CE5D3609CE1EFDF0D7EABEFA9BE6A -:10F6400067E3D0DDF219C709EA07E96961F40C59EB -:10F65000927CCFC6C15B8BAEBDFEB792E8B514E815 -:10F660003873381DA53E4A3FA083F2E7AB6027966A -:10F67000BA197FC9BF5775F0D310D91EBE3E4E3F91 -:10F6800036F27E3C26EB37516443E4CA66A44F2B26 -:10F69000CCBF06F4CB20DF8CE1AF85B28AE393EBDD -:10F6A000C8265C5F48C4027A64B4F9B02A44916108 -:10F6B0001EBBAFA2DE6DE4FDB3D1E7DAECC4F325E7 -:10F6C000D7F9FA23749EC8EFD93CB52E32F2E5166D -:10F6D000DEFFFB78BF403DA17D04F5537AC9BF53DF -:10F6E00037C55B27760BFA737A99CBB7DECAC62F7C -:10F6F000CAEF92993C85AE7DDE564DC84D3C6F8277 -:10F70000DFA5BE1389E66F53388E7CCF932D7CBC6A -:10F7100021692CF2B090F3A55C49E70DC6576DA4A2 -:10F72000E30E3EAE35BCDEDB25FD7F023F4C93028F -:10F730007F075752D58DF2073C0EE5A613FD5BFC03 -:10F74000FD569053526B7C4F9F6FC7EF5677637C8B -:10F750004A3C3F26E93B65F6BE11BFD38DEF291F1A -:10F7600036C173CA2F449E0DCF3DD81FCA27C44E41 -:10F77000EF1BF7DFF165A02BFDFE51AC9F9C337CA6 -:10F780006F050591CEAED26C767D0AF88EDBA73B75 -:10F7900056EB4857956CE2F6335BCFE6F3F5CCFEBB -:10F7A00047B60E0EB854F46B290E3D1CA1D7745702 -:10F7B0004407BFF338D21D027B6CD54AD9A0E75766 -:10F7C0009BD6972FDF695C7FD76CC832DC7FF5FE54 -:10F7D0005CC37D70CB74437D6B77CE31DCDFB9BB0E -:10F7E000D470BF6E5FA5E1FBF54FD719DE7FFD99A1 -:10F7F0001586FB0DCFDD1637BE29D6BB072DEF6D65 -:10F8000008D071ED805731785189C62F2D0C8F1992 -:10F81000BFA3ECE751E6413982AE08339F2AA6F830 -:10F8200067CF90FC6C36ACB71D216F064005DDAB91 -:10F830006888FF437A775E66140F547AD6D5C75B23 -:10F840007F457F145EAE9CF454C2BCE98AB19CC271 -:10F85000E3B59AAF1FFD30E678ADE25988EBBBB94E -:10F86000BFEFCA2919A09768DD1E8CD36A635B4F6E -:10F87000471D1FD584631A1F6FAF1CC6999B785C08 -:10F88000F38BFA65E8DE58C715EDA711F78838F94C -:10F8900012569494789F417B6C09F40FD6E7228628 -:10F8A00077ECF41F5B6719FDEB78F9C0FD2E2BE0B8 -:10F8B000E34095B19F751C47513954404F94E49BE8 -:10F8C000DE433F674039235EEAE4FCA8293C5E3E04 -:10F8D0008FCCC379E072BB4CC86D35F3731057FC05 -:10F8E00038FAE2CBB4D01C6CDF907FF05A7E6E12F7 -:10F8F0007CB7A489786C149F3C38779BAB0270BEB0 -:10F900006EF5D5D2D2953EEE6FD265C4B3D7E5B3CE -:10F91000FBFA2AE67F5A1CEC463F60FD9DE16D70C4 -:10F920009DB43EA2603F4C747DCA134E436CC0E947 -:10F930009BC5E99525E8CAE928F4F8A40DC679AC79 -:10F940002F32D26B29A7A799CE4B391D979AE87809 -:10F9500014FEA074999B808E4B381EB5CFE5F6DD62 -:10F96000607A5CBBF129EE1F13FCA398D635A13F4A -:10F9700086D637CEBF8F811E079CE7E23885AF7BE6 -:10F9800089E4A83CAF614F39F8C933AC86F8C54269 -:10F990003ED6923C16EF28C99011F797B8DF88EB56 -:10F9A00067067A57CF8BF2E7D15E667F34BACFC94C -:10F9B000304F75790CE7EFE4F411FEBF56EE1735C2 -:10F9C000F7EBC4945036E0A3939742D99B8BC0FFCA -:10F9D00023219FB4CDBA379BE50BB07EFA797BAF7C -:10F9E0005C0CA1FD76B277E4F8A2C0F966BE29F1FD -:10F9F0008531CE5802FE62DA5E6D3F5D83E8D01736 -:10FA000046FE59F61402AE8E28D09F7AF75A05FDAD -:10FA100065EE0605FCCBB5EEFD95400F3F09EF7096 -:10FA2000825FCD23F92240C70226BFEBE9BF58F918 -:10FA300015FDADE90B2A20EF351EA35DE3E7FC566B -:10FA4000ED363DCFAB417EF39BF86DBBE0B3EBC928 -:10FA5000F5B17CE6E7F3A25ECCE1F21A9FCF44FC5D -:10FA6000E2DFB99FF5573C4EF72E8FEBBDB3D58340 -:10FA7000D757B6E6E3F3E35B7D78FFF6D662BCFFCB -:10FA800039F879E9FD1BDC8FFBFAD600DE9FDDBA81 -:10FA90001AEFBBB89F56F0F12E1E4FA996DBD0BFD0 -:10FAA00058E70BDA5D31FC54C7FB8DAC0F38A4204E -:10FAB000BEFFD536E58802FC756E484E08EA8BE538 -:10FAC000F5DE030F51BAD8BE4D82802B6D1DFFAA03 -:10FAD0004CA5FC5F57EBB5AE83F642CDCA1CE0C720 -:10FAE000C8BF2AB9F0BC7E96F58E38ED8B7612B57C -:10FAF0006FD66F2B6A8D76B05FF8D1FB832118E744 -:10FB000084FE6004FAE777AB9E787EE1F689EBDC51 -:10FB1000C04F8D17836EE0A7C689276466AF337F19 -:10FB2000B8CAF95494F7BB8DF17C95F7BB8D3E872D -:10FB3000FEB6F58F4D0E44B952A559766989C7674F -:10FB4000F637ED94E2DBAD4956866B9D3CBE4A75B7 -:10FB5000A60272062C0AFD9F40D906E44BD398DF1B -:10FB600022D917E47AD9B88EA7150702A097B40C4A -:10FB7000E2AB01F5A6F5B8816FE4E285E7619D256A -:10FB800005317A1BEC1EB3FD1F7B2FE3D2154A49CA -:10FB900087ABB91CA3AFC659A86916EBDFA3DCCFAE -:10FBA00021E8AB71FA96784EFE02F4EAA33EE68FA6 -:10FBB000793483C565078AD7222E2BE176818DECB7 -:10FBC000C1F249A419AF3B38BD078ACF11907B59C8 -:10FBD000A1B83903FA630F87E8F74E937E573423B1 -:10FBE000BD254A933580AF7B1583BD2115333D6F0D -:10FBF000077B1DEC188E5FA2765E905C05E28F118C -:10FC00004FEDB41AED3171ED552CC80F2EAB299F75 -:10FC1000EEFF7AFA9DF842E927ECC4219C77EC6B61 -:10FC200004E231229F50947FC5E46F52B3591CC641 -:10FC30005CEF2D5646F705568E8F059EF09BDB71C7 -:10FC400084809E2AB5A71CD2F07A12B5477A678FB6 -:10FC5000E2B7DE86ED9F555CCC9EE0F940D42C9750 -:10FC60000CF6895D77837D38EC7BB7C520A7C3FB95 -:10FC7000CDE8F345F777093548E1BA54E8E1628603 -:10FC8000279779289EA47F2ED3189F9E2997C2DBA1 -:10FC9000914F7583BD555B5C731EF512B547D479E2 -:10FCA0001CA7D3FE3741BDB49ED7278AEF86F489BF -:10FCB000E5EACCE1F504AA18EE21A17F5914EB3F47 -:10FCC000085076C99F0DF5B2EF69D1F6ABF1FAC1D4 -:10FCD000F556A0F8DEA59A13EE75E949C07B05310B -:10FCE000F800E89A6733D2D9A4FFAA86E93DA3BEFB -:10FCF0005D48F9F7086DA756DE540F2EEF9ABD6BDD -:10FD00000FBF8ADD117688276EBDA7E08F9B01FDAE -:10FD100019F10AF1B13C8ECA90A71EE99E2191B05B -:10FD200017FA6FECC7C26C931D96611EC71E9CC765 -:10FD30000E85AE2374BE3AE83CEE41FB38BE3D254D -:10FD4000ECBC05DE41B4A784BD47B8BDE7A2FF62A5 -:10FD5000F158192F5F7EBF4701FC5B6E37F9998719 -:10FD6000F28F09DA530B88B1BF65DCEE2B33D97DF6 -:10FD700042DE5F14FA52D8B55C1FDE22ECA9B291C4 -:10FD8000E3CB9DA67CBA2ADAF1E66B900302BD8232 -:10FD9000781319A29381BFDABD539B2394AEB7F8B1 -:10FDA0001C2CDE42FBA9087D8E7462387B292F7FD4 -:10FDB0008B4745FEF76B2C7E513F8ADFC25FCCE25A -:10FDC0000667ED125B0F42E44D12931F5EE961FA84 -:10FDD0005A33F145B627500571204D917C61329C14 -:10FDE0005FABB83D07DF6FA1A4A8CAA336F9EC78D2 -:10FDF000F9E5DDE05A2565B40F4F7913CFAFEEEB8F -:10FE0000AF84E919EBFC1213CE3EDBFF3EE6750D25 -:10FE1000144818F769F77E8AF68188EF44E977027B -:10FE2000F351FCC59FA0BD3294B7C5EB5B2AEA2B0A -:10FE30003E86F19AEFB88E25433CE60CC471E9F793 -:10FE400067947E0DEC9045025F518A46043DBDD11A -:10FE50007C9308B7ABCEDADF4806BDF912C7F54789 -:10FE6000FD726D3C3FE70299F999C5F54695AD3BAA -:10FE7000F35486E7C4BD98DF217E924F15313BFCD9 -:10FE80006F0DF36EAE1FCAAF46FF60A460247BB453 -:10FE9000DE44E7292A5FF738DE180DD78A719AE920 -:10FEA000601EA7F93BA7CAFC65775AF5E9EADC684A -:10FEB0003B62BD33975F96202FA7BCD8E89F5C704C -:10FEC000D9989773A73558A2527A562AD2CE540F92 -:10FED000EA3594A78E2B1AE29881FE8E9D30ADC72D -:10FEE00007997FB48CC8611B5B17EA216E27E44633 -:10FEF000F0BFB91FA3B55F36D883F678F9E5FE2ABF -:10FF0000E0BF5BFCEDA8579750BD3A2E8E5E5D2892 -:10FF1000F7ED1C07F2EB63FB3BCEFEB2BB0AEF35FD -:10FF200009F361F5B25C651CF0812BBEBF6A3EE748 -:10FF300093E1F13CA1575D0AE006B3BF6D3E97BB6C -:10FF4000F9267E08AA4338E8A6ABB9A3CF53227E90 -:10FF500018E81FB82F9E1F555C13E55DDD4D4CF46E -:10FF60006D33FA9FCDF5087F1091DBB2419E85FD80 -:10FF70006B2ED7A4B2B8C7F1C2BB486C5E95D00750 -:10FF80006A71B3067EF1AEE291D70B733E5C39F431 -:10FF90003786AE9576633CF609457F10F8318A9333 -:10FFA0001A98BD5ADC80F6EAD202BE2FA8F02EB411 -:10FFB0004F855DDD78F321CCE712F95AC23E35F763 -:10FFC000BB6BE2F398CF335ABF851D7FCA26B33887 -:10FFD00004B5DB3D68B753DC17E7BB576C8C5E3F5D -:10FFE00055F4FD20AF3BADBABB01E28C8536DFB3E3 -:10FFF00071E6A1D7C6E4BB2B41BCF55710F8988B2E -:020000021000EC -:10000000E3403A98D71B61C78A7D4A13DC4C6EEBFC -:10001000B81D5B5AD080F298E6A6762BD0CDC7ECFF -:1000200056D267B453976ADD5930FFE6F54E1EE4A9 -:1000300076ED18EDD65D0EC6474117B1BBE97B875B -:1000400042A1295DFF1E972B8E013D76A511B407B5 -:10005000CEA4A9E10371FC0D6F737EAB963718F83F -:10006000AD8CE312B5AA47037FC09941E6C74B3474 -:100070006F0F99707A4E3E29B739E1DA5F0EF4A01E -:10008000F7BA0DAFFD989FFD70E1BA9C78F51D6839 -:1000900052E2AE4BBFE3F3B65CE46BD7327FE4DDF4 -:1000A000052AFA8527D4BE7702F9B49EF3E9121B1C -:1000B0008EBBAB50C179E9BAD9DB0C71CDAE423BF6 -:1000C000E6A3B417FEEC9790AF5D562C19F24B04E3 -:1000D000FF9601AE86FAEDCCDF79B79BE9E12E8D74 -:1000E000E3179E37B291CFE999C31F3863F34656A1 -:1000F00008BEAFE77E72137EA26A246E1C47E4211D -:100100007F5CCFFCC2778BF11E39B413E4AE8EF363 -:100110004DFBA5756E94CF232C3FAFB1B001FD45CB -:10012000ED13DF52E17EA3FB4315EECDB842CCEBDD -:10013000DDC53F65F9917C5E37823F9EF2FB4B99AE -:10014000D3AD1E7ABF3C72B315FC9DC23F3B2C0E53 -:10015000C5E329356CF8A4C6CDF0F589CC6492943A -:1001600001F492C312D02DE22049907FE6B6861D9D -:10017000F4BE4EE99902B825D984173F7EE1503686 -:10018000C8F7F119BF55A0DDEB8ADF6B84714C2AEB -:100190003E84FEFEAC23873AD3693D4BF3894FF78B -:1001A0000CEF4F355F9FEECE60F94277FBC221D84E -:1001B0007776E10ADB4F51F1C21B95B0AC0D8FCBC6 -:1001C000E804708888EB286E1E17E1F10972E5AA31 -:1001D000143B6F754AD00EFAB7B1F80D27F4773992 -:1001E000A75BCE61B901F8BBEA85395F013E2137D3 -:1001F000DB5CD7D3062FB87EEE9CAAB1F777B17A35 -:10020000E70769F9BA8243D9EB0A87EB9721F92905 -:10021000F8C3D620EDCF99453FCB06DCF606D5BB1B -:100220001E6897EB2DB3BD645E57CD7931E67167DB -:100230002ACB6A6D7361BEBFEFF6C6F019D5036BAA -:10024000A1FF1B9FB4631E57DA91D75519F41BC544 -:10025000EF3552948F36723EAAD398FE6B2C24E170 -:10026000ED12F0DF87F5A52077AFB27CC30947DE3A -:1002700063F9A3A6F5A18BAF1BC2EFDC35F17D942A -:100280009F8F0F73790959A4587F9256DCBF12E6ED -:10029000C52C27E27E7E7F4FDCF5E15D1BF79B0CD2 -:1002A000B2F71AD5DF10D736BFF7737BAA0CAE3181 -:1002B000F5DC6763B8575CAF210FE1896F53F96FC5 -:1002C000DFDDE1BE03F59486B87DE39143F910B319 -:1002D000C93C7CA88AEB0BB4CB643ECE09C4837ABC -:1002E0006AA96667F103139F5B8BF747003E8B7526 -:1002F0001A0C722533AA47E4583F441C3B8C84F403 -:1003000037F362F2BEE8FA4E40AF54BA99FFD5CC4B -:100310002769C554EFE024502E8C89FB9AF9B64E1C -:100320000BBA219E4DE5E73C8B7FD2F50AFC137298 -:10033000BD0FE793F3A785FE83F52FD967E44F6BD5 -:10034000BE6AC02BE67EFCA3CD88FFC5FA9CE6EE14 -:10035000C1FE2DD59AB3A1FD09EE1EB4B7A87ECF7C -:1003600086ABE033A1AF87F8AFF0A6C5A0DF81AFC1 -:1003700021447EA6784E12E8C13A37C329C4E44F1F -:10038000EF728F6C6F749AD6BF332E665FD515935C -:1003900024572AC83BF33B753D92BE3F39C62FF721 -:1003A0004FD6608B2DC6BFEE2CF8D2629713F40C9B -:1003B000CBDF2AA1EACB9A1BF5670ABFA988F70908 -:1003C0003FE9307F66413BE6775945DE058FFF0DFB -:1003D000CBFB4910771457E1CFB46D6F567C3C5E70 -:1003E0008278AC9EFBE106678FE20F65FE078ACF3D -:1003F0007E6E1B3F3A3E3BC8EDCC5E501EF4BADE2B -:10040000E6C2AB06F928B4AB5D8EF8B8ED656EB701 -:100410005D8B7C9E94E13BD6CE4726FE12CFA3781F -:1004200098C9C184E2439DB178B8AC89D286CE9395 -:10043000DA44A690D4C47CB77448EFFDD4C05F43BF -:10044000F878145C2CF8EB92ACFF19E898A85C1DC6 -:10045000EF47A2F78D85B6D5906F45CB9109A9ECF2 -:100460003A8D5E3B671CCAB6D0E7AF01FE8AE9470A -:10047000D7F78EE0387EA5B27D365D97D6E5003E93 -:1004800038ABE8A9F6F163E71FB33CD9E7EA9E6D04 -:1004900054FE8E66DB717D3EEA6638E4752819C32A -:1004A0004F9BD5E075F6B9A8EA7592CE959CE0739E -:1004B000509A5563DB27767B72CFFD81185CB91BA0 -:1004C0005E4D84381FE39B07D51ECCC7B99DD66E01 -:1004D000A3ED1CD3E4CCB5F47EB69DF1E3B1903529 -:1004E0006EFEF36C3BC3CF9BD5C06CE82769DE84FE -:1004F00072D620C901907FE21B9B7F6E474BFCBCEC -:10050000D2CA68FDF3B1FEC3B47EC00D3EEE7F27B4 -:10051000AECCB8FE763EEE0821B5202F8FA619EDA1 -:100520004DBF9DAD7BF3A3F52F8EAD1FF3B3E6E278 -:10053000F32538CFCFB1E7F9762617E5B92CAF4DC3 -:10054000D051D4BB325ADF4AACEF08FB2ECFCEE3FA -:1005500006BCDF02E79BF39F163AD87C44E3A6046F -:10056000F56689C6FCF513FAC3C7E0BE9CF07D9919 -:10057000D2DBB87FEFA8D58BF900ED8E694F6FCA3B -:10058000803C0923AEB7719E51EC3F946371BACEA3 -:10059000714C49760EE2E10E923BA29D237087904A -:1005A000EB05C27F7AE500EE176BE1DF8B76CB4D72 -:1005B000B82EBA5FB11BF72B4EE8EDC6FD89152E9C -:1005C0007E5E44DA37D1BEDEE5B897E1F9C99FE235 -:1005D0007EE505D907E5787E4245F45F7903DB3F88 -:1005E000EA62EBD402815F4D76C64B995D32E0C87A -:1005F00044B8FE84147C26C2FC9A067CEF8F7C6D86 -:10060000C3214A57BD97B81CF4BE24C2E24C151C46 -:10061000D75728E12C581F6AB2993FAAE54FDD59F8 -:10062000B03E1CFF3413D78BEB94FD38DE498A179C -:10063000F1FC4213FEAFB01FDA0679138B14898CDC -:1006400023C3FB05FBD5C08E2871B3BCA0126AC5BD -:10065000819DF1326D1FFC65157FA2F3678987EFDD -:100660008D38A5562927AC1CC7FBD9CCBF341A9EA0 -:10067000AE30D903625E2B943D556097B4809D41A6 -:100680001FB5283B9474DAAF5D8304229BC4CFBFAF -:10069000CBC9B630FB60B2650DD08D58997DB0CB1B -:1006A000F5D776B40FE87BB00F2AB87D5061F7A27A -:1006B0007D301A8ECFB1333BA1FDE254B49F228E20 -:1006C0001F66817E16F9E402DF0BFECB54CA4F8011 -:1006D0003C2FE07C28F0BE4DE0FD2B9B089C275072 -:1006E000A118F1BE8DF35905C7FB2D10F7027E3D11 -:1006F0009F79CA0BF11881F7AFB898BF9BE37DB122 -:10070000CFB203E43306EF779C1FC0BC8597B39943 -:10071000DE17787FC89EFC8C78BF4CE80F8EE76BA5 -:10072000386E10EFFBB9DE33E37CF3FB6BC5F98465 -:10073000E3F8283E36F26FFBEE1C8CAF94B8EC6801 -:10074000072CE80D0EDE4BAF995736FD662FCA51C8 -:10075000B20F3EB3713B6CD43C5013EEA776C34E40 -:10076000D87F539EC7F28ED2B25D55B09FBDC223D3 -:10077000A1FF69985C98ED806C17DA69954A83C887 -:100780008F1B11EF57682EC4DB8A523326BC6F963D -:10079000AFDA3CDB887C9DED30E617940BBDA9DC1D -:1007A0001B42BDA9DC1B01392AB7737F8FE36FDCC5 -:1007B000B1E73AECE2EB81D0D3425E3B1CD39460CC -:1007C0000CFE1AE26B25578BDD5FDCC1F9F2078A5C -:1007D00007FDAD1D76661F98F1D850798EF72B383E -:1007E000DEAFB033BCDF311CEF173B62F09BD3CEE2 -:1007F000F0FE58F30A841D5B63B263DFB71BEDD8CC -:10080000447CFD215FD7A3F4F4325CAB7811D70AA6 -:100810007A2A1CD7DA004FCEC4751571AD90E3610A -:1008200074B5E61A706D39C7791DCA9871EDADB10E -:1008300074315F2B46C1B5BB1C14D76A580E716D5D -:1008400085C0B5495E03AE251AC3631DDFCBC771F2 -:1008500074A4313C6BC66389F107D76F265C21BE57 -:100860006F4921D9E89F1BC225D3E2E2924438C4E4 -:100870003CAE16C025DA5F029778709C663E3F9AC0 -:10088000A2A39D1FC529BFFDC6212A87BB2E123CEE -:100890005141E0157FE48FC71A8A102F1087273A3D -:1008A0004E8157043E11EB638BC2F249057E49E449 -:1008B0001F15D76BC52F2732FF17E21E336E117835 -:1008C000C55C7F8795E199963FBDF59F8A6316EEDB -:1008D000A7DC47E5A45CD9867AC9AC075BC05B4D51 -:1008E000CBBFEC22E110D4FFA773727A1C7D6CC6DB -:1008F00033669C32567CB328EF22E61B8E863B3A49 -:100900009430EE936F51EEB3833E32E31A333D736E -:10091000B24903C40304DE49C4C750EE2E6714076E -:10092000252A47F538E2A384F5D82F5E2B2E3AEF1F -:10093000181117313D50E1667A20115ED9E57369CF -:10094000B179AC627D69CFCEF925EE37EF55F1DC98 -:1009500084F6F353519F26C24B6D26B9EB003DA29E -:1009600045D7AF8474E91D407917B86A347D21EE0C -:1009700013E129B1AE9401E81F9F386E392589D95A -:100980007D0FE6303BDAFC3E9A8762C45524A31003 -:10099000F9F81EBE1F3311CEA22B9893F9AF42D89F -:1009A000CE2A6E87A2CF701ECF43A05D0DE4913C8E -:1009B00058270276263767E64A2837CBE0399DD795 -:1009C000F22A16373A5728613CFD4CB90DE7F5D4A9 -:1009D000C72C4FB13D85F95FCFCC72F80ED02E7C7D -:1009E0000CF5D275F99CA3BB0870C0AC24EE2F485F -:1009F00067E35C921CD98071F339D32D21EF7079B4 -:100A00007F3089F7235DC3F85B1DC7A3103FCC9AE5 -:100A10003D7C9FC1D3495EAC1FF2E7B368B99D9698 -:100A2000EE8773E8238785C55BCD74FD98D31D08D9 -:100A3000638BA1437D9E5D7750FE77DCC8E256470D -:100A4000AB6C98A7E380103BADF7A1FC9C9478FCBD -:100A500021C6657EBE9F8FFBDCE47E5CDFCEF2BCF0 -:100A6000DF8D8A14027AA3A22E82631527ED7F8878 -:100A700016FD4A521AF6EBEC0BAF23DF9E4EE374E1 -:100A8000D025B4D7CE78983C855C5A18F66BD2EF57 -:100A9000ADAB46C807E92EAFC9677134422488AFB1 -:100AA000C11F39C3E9BDA256C671AF70EDBE17E4D0 -:100AB000F15CED1BC9702EE5D2410B01B95BE12A57 -:100AC000B90B9EB7A7303E063A038E5A51F5A56F73 -:100AD000C0F3FA7AE37C9C4CCAC171942A6C3E60E4 -:100AE000FEB2660F6F97AE7E41353386FEFE9FFDE8 -:100AF0008D14B3AE887C167B82FCBE44E39662F50F -:100B0000AE1CF5474E28DEBF07F6CD048AD879180B -:100B1000751E1282F86F9D8F44BC9CBF30CFA633E8 -:100B20008FED17E2F29556BCBF2907FC97830A8B1D -:100B30004B9BD691523A57D9E9E04F67F37366AEB3 -:100B40008C765E6931C3F9A51CE7D7E90D18EFABC8 -:100B50007FA473770EBC97B3ABCB3D3C6E1A433F7B -:100B60007284F9E79699F83CC5E4FF2FF599F206EF -:100B700079BEDFD1FC675CC03F0FA673FE992DA143 -:100B80001CBD2E791E01B910745A9224E233C4633D -:100B90008DE18F217EE0F36BA67B227A9AE964E6F1 -:100BA0000B33BDCFA498E89580FE89E85D5A5CFEC2 -:100BB00017A5EF05ABCD0A7CDB6EFD6D36B78F88D0 -:100BC0001CA34FCC74BBA07952404F9C1B3C87B8F0 -:100BD000EDF464CF57F07C2C2AC778BE279787E8BE -:100BE0003C507970C6CAF3DB53409E299F59A19EA1 -:100BF0007A5DD21D207F8777DD8BE306397546E568 -:100C0000C84CFF61F247FF57447F7387CB91399FF0 -:100C1000ECB3CADFB7409F53BA2D4CF2E055E8D38E -:100C20007AE2FA4AECFE5611676FF73606605F7A91 -:100C30005DAF05CF016A197C5E590BFB5D6B255CCE -:100C4000D634D28DFDD59A58BEC4D4A71E2090CFDD -:100C5000FEC864E2037DA535B1FC09FA1EF3270442 -:100C60007E17E73AD2F73ACB17319EBF94E233E6CC -:100C7000FF2CEFAB403BA2939F8724EC0491F74AF3 -:100C80004CFB5E1AE1C9C4E8FE90A64B616647249E -:100C9000D80723AE667BC17C3DDEF1CFDF003F622B -:100CA000599E8A7EC4B2C1881DEA7BB8A0A316F300 -:100CB000DC6A2517C4E38E7FDABC03CE415A5EF0AE -:100CC0007E5C5CD27AE1091F8CA3D5BAC7970EFA75 -:100CD000613B5BB71CD30A26AF1D01F7046BCB6BDE -:100CE000BD3312E799DC93CCD7F7F6AF1D7810E24D -:100CF000DE7DAA0FEC97C53CCE5FA7EC59BD96CE22 -:100D000067E722C9B78D3EEFBC61EFA60E88639CF2 -:100D100057D1DFD775E96036D819AF7DCF8EF6E8A9 -:100D2000F14F0F3E8D79267DEA3C18EF50FFAFD78B -:100D3000D8FB8F5F3C097A6679FEF22268C7A190E2 -:100D40003DC04FD70D36BF0BE725D4F5AA7341FF41 -:100D50002CAFDD6FFF2BA053ED4FEDD783FD31E8B6 -:100D6000A986F9BC2E2958994CF55E5681F73B1996 -:100D7000D08E8FF874A46B3701BA8AFC04610F948B -:100D800071BE6959E44D2131743D3798930274CE98 -:100D9000A9E5790C8BE400D8CBE75CD7A7A07FB29C -:100DA00096E52F98E9B51C707A2AF4CF3B795D9CC3 -:100DB000F53BA7F60F5B83E00FBE81D9E7E6F77737 -:100DC000707A3B7EB7EE008CD7F17DBB0BE0B5238C -:100DD000417EE6D464AEE7DD63F397083C43E96AFD -:100DE000B7C6F80129DE5F9F1C1377BDD6F6BF9A00 -:100DF000CCF4C02539B819E85FCAFD2565DC5F92DF -:100E0000A85F25A3F831281F219D96831F6326BB69 -:100E10004EA3D7CEC5DEC9063F06D1DDA067CF41C0 -:100E20007C0EF098B26C3BF4A3EB02F36724E2DF94 -:100E3000E579076FEB88D1775D563D1BECDCCE1B67 -:100E4000DECE82F9FFCFE2DF213EABFD69139CAB22 -:100E5000F550C1F2F1A0FF62F8F869988F6BE56375 -:100E600033FD5A16E5A6102DCACF828F87F3A584CD -:100E7000F6A8E0EF44F301E5C01E157C9EA8DCB99E -:100E800045D3E2F27FB49E8B23CAC16ACE57770066 -:100E90005F8D07BDACBB400F2FCC7A17EDD657B88E -:100EA0003E1EE29394EEDBEEA17A27F4AC1DE3E85C -:100EB000472FA978FEFAD167D6FF00D68DCEC10A9A -:100EC000D787B88E97BB56D07EDD00F64301CE4F54 -:100ED000A712E337BC902CE2E6C67CDF9FB87E9376 -:100EE0005ECED659AD9CD27B265F276EF43E93042E -:100EF000EBF94CBE9F62469B1A775DE61082146444 -:100F0000BC6E01E85F70D8584E1BDA9FDE6C81F82A -:100F1000E08DCF99DEF37DD5E6FCC87F4F36ED7FBF -:100F200032ADB7F64B23E769FC0BB77B9FE3F9BF04 -:100F30003FE1E70936F3F3049F877DAEF47A18F6B4 -:100F4000B9D2E72FC23E577A7F84EF7325D9633B2E -:100F5000375E9CF7A4723A344D0C1BF6698AFDDFAC -:100F60002D709E12E001B7CACEA17351B405792A43 -:100F70001C2F5A92FD7615F6737D44304FE5AFCFA6 -:100F800077233FECE6EBAC19C788F31ECDFD52A3E7 -:100F90007454C04F7574727075A0804F18F0CDDC1A -:100FA00009FB1F8AC1D3A91AB32B1BB9DD16BA449A -:100FB000C2CF4AD1F2A72F91830F313F5B4806DCA5 -:100FC000017F51165EDC4B10C72D2EDA85F617E037 -:100FD00040C06578FE580EF8BD5E443CB77870DEC0 -:100FE0005D0CB7E8C370DC10DD64A413C3E745AF44 -:100FF000A35F71716F7C7E8BE637ADEECC8BD9979A -:10100000503F18ACE7F8C8157B6E826AE22B733D3F -:101010006945CC7FBF249FFB7B783C44CCE78E4D59 -:10102000DDE82FEF2AB279C0BF60C689669CAF1693 -:10103000B17D64CACD6C3FEBE24B2C5E880C9319FA -:101040003D9F4DE579BE2DAEA00FFC98753E13EE89 -:10105000E5E74B95E51BF1BC19EFABBDAA09EF879E -:10106000D87AB89DCDE7998F09DA51CFEE63FE812A -:1010700056B787F11F09A3DDB3C06D99F59007E25C -:10108000566C7F66C920417F4949AF07FD4F0BFA77 -:101090004864EA0C3C87B809CF1932D16F01B87A9D -:1010A000D3A11E4FE7784AFF050AD909E7CB64DAD6 -:1010B0001B749003D5BD09F7E3407EC338C647F6DD -:1010C00058FAAA49A77680082CE07E35F1BB1513A3 -:1010D000EC87900F62E66FC4F898CAF94EC4BBCA99 -:1010E00079FDE57D2CDFCDCC0769F68BEFC239CFDA -:1010F00015831A9E036D9EF7E171B0FE0F1E8338B3 -:10110000CFA524DF7698673B9B67318FAADC26C387 -:10111000FE0EA2B0F912F130B37FB5D4B46FCEDCBD -:101120002F715EC256CDB48F8CE3F80ADEBB26C7A2 -:1011300021C3B9B5155CCF0CADDBF65C1ED762E7F9 -:101140009CB6F6CD1E31AED5EA62E7FE11D7F2515C -:10115000F4DE76B68EF0F3054A8B4912E09CD23E5F -:10116000C2F8EB114B38D91B5B3E6CD857EEEC5BE9 -:10117000B518CF6974B9AAC0CF564A58FC52EF25AA -:1011800018CFD4C9213918332E112F51B95F4C957E -:10119000D8B8049DCCFDBB7DD0680F7D2564DC0FE5 -:1011A00071DB03C6FD1BB76ECA32BCAF599F6B78AB -:1011B0005FED996EB8FF92DB787ED0FF081ACF0FF3 -:1011C0005AB1BAD2507E59C0787ED02DB5C6F383BD -:1011D000EAF4DB4CF2AB1BF8FBA8D4FD5D18BF258D -:1011E000F997B923F979CB468B2387D879426807D9 -:1011F000C689B398F7BB7DA409BC609483CE5039EF -:101200003B6FA7D7B3AFDC03F12A9F82062E3F576F -:10121000A89AB072D56E166FA9CA886FCF0B3D68B9 -:101220008E4F8873014BFBBA910FCA4CE70096B8FA -:1012300017C63DE7F33F34D3B91809CEBF18B67EC1 -:101240008F757C3CCE34EAF878BB25A4FB98D39B01 -:10125000787C631DD7507E179C4748E9D10D8F26B7 -:10126000B2F71A95B79D69F978FE4586BD424919CE -:101270001FF577127DCE98F2D1DAB91F9FE82BC601 -:10128000749E6986DDC3F84267F868A7A487E1FC0D -:101290003C731C55CD177154E339188E9D442FA013 -:1012A000240A55108CEB8772ECE11D12E493B37D98 -:1012B000A68D375870FD69BCA8EF81FC94A61B145D -:1012C000DCE7582D6B585ECD66EB931F72EF217FE4 -:1012D000E2357DB5E1FC0EF77617C889FA347B9FBD -:1012E000683C6D13D5D5F1EC859B52181E3AAB04C2 -:1012F00066A6207FE86E168F08E37968222F3751A3 -:101300003E2E058E2EE44322F0019BBFEF403C258C -:101310008EFC56A53039F31748612BE497AE246153 -:10132000EB0876659BDB12D79F5198C2F359AE5CF0 -:10133000C573EE5471EE5E163B77AFDD749E65218A -:101340006FF7788A9DF181F7A021DEEDE7F2B0D842 -:10135000B38EC4E25971FE8FDAFF3EFA99CE8C72D9 -:10136000FE8E886FEDE6FB9A2B2F5902F1FA3F9023 -:10137000A2209D9ED5AC71C7F700EF6FDB141F9EB6 -:10138000B7DAF8B8859D17EF6E9C84FBBE53FE8AD2 -:10139000307F17EBFF622EA77E777807498138F5FB -:1013A0003B4FC2EF87A8C536F0E591333734E0797B -:1013B000B1BBFB295EF446C797C2D71BFFBE8EDACE -:1013C0005CC0432765F4F7D4F4B27CF3A5C5FBF900 -:1013D000392D3DB88FD1FCFB2525B5411DD6E5A59E -:1013E000F5911D887F7C9E72FC3D13E2DB86BFAFCA -:1013F000326CBFA586B8AB6D90F17DDB8F7CEDF8CC -:10140000FB206E811BF5FAEACCE8B96165173B76E3 -:101410004208C67C6E98F9DC216197A9265C29EC0C -:10142000B13A123EA648C3FDCC89ECB1BD29DC1E01 -:10143000BB81DA6374FE6FB7B13C5BFF16A9188CF1 -:1014400046C7166922E8AFA7F83CBD5916C4F35B3E -:101450001A13ECBFFBDF5CCEDE2C8BE03EA7366FB1 -:10146000D0ED1BA17C610ADB27A85E61E77EA87630 -:1014700096D73574E5F93082AFE7396D782D75323E -:101480007B7BC1D5E7B2465A3F4BFC4102E3A1FA50 -:10149000256EBED80BD03EEC178CB0F32BD4A6F73C -:1014A000ABE2C9B390C3CD6AE067A03F764A9BC266 -:1014B0000ED403633FD772A6FCF9F5CD554D3F918D -:1014C00042EB7DCDFA0F1E908F1D41E3EF4E89EB6D -:1014D0006B5AD08EF477772483BD7931297836859D -:1014E000FBBB617F615BFFF376D4A726BA9BEBB9A8 -:1014F000CFC9E653F5B0F7E417BA67798C9FA4CE4D -:1015000029F1F5437F07EA9F6DD5FF0DAE0F56C455 -:101510008F43662A15BF06FA556B811EB8B6F51FB4 -:1015200040FF714A92FE1EDC9729FAFBF0FD3F59FD -:10153000F50F989EAE727D981FDDEF90689E21702A -:10154000F1617E2CBD3E1F9D33EC814136CF7A5038 -:10155000BBC67976D2EB1A585BE8F73D65F1E3ED4F -:101560004F717EA27286F982623F8CDF4DF478EB78 -:1015700097284FE75F7562BE7B2800FBBACE4CB25E -:101580009003317A4E9C63D0D8CFECC281FBA50387 -:10159000CC2E2478FFA3AF790F407C77E5142EC7BB -:1015A0007C3FC61DF71BF7498B766F4E95C6249F6F -:1015B0000FF3728DA94C3E1F4FBD46F9CC60F50864 -:1015C000395515765DEB62F57E98CAF82C294D12D7 -:1015D000F9E9F94E26873D29D7363F4FACC8FDFCC7 -:1015E000FC21E441F519F3F51EE1F220F415ED6755 -:1015F00019CC17ED6730E9DAFA9959F205F0B1D84C -:101600009720274B067F78C0C9F8E90EDEDFB38A42 -:10161000BECCC9E477B97364F95DE564F2BBDA69FD -:1016200094DF5B9D4C7EBFEC64F27B9BF373C8EF51 -:1016300047203F90E7C8FDF8E49451EF505C7C17D9 -:10164000D4BF5891F83E6FF21B29C6FE58DC1B240C -:101650003A5B2C9F89C50D14BFEAB8AFE34D637D9B -:10166000EFF0758BEAB1CD50EF3BBCFD1DFFC6E836 -:1016700007747C3E8E5C0A3ACAB60637EC8B4DB4D2 -:10168000CE059C6C9D2BB7B17D17E4246DBFD03087 -:101690009E6D40B7A1F184A865177F3CA1B8E3E92E -:1016A00036D617339EDD50AF18CF82ABA74694478E -:1016B000BF904757448675DBAFC45F17CE38D9BAA1 -:1016C0003990AC3F09F432F397B886397F25DA1F99 -:1016D0007356A90843FF4A14A6078916E99163C601 -:1016E0005792DF20C61DB4C4FAD97AE3EBC9E79C50 -:1016F0004372F71CF2DF3EB69F87F2F58FA19DDBA8 -:10170000C7B956E1FEAF4F98DE7CEB4F5BAC69B4D6 -:101710009DD5197BBF03D75F3B59DE4BC3C51C2743 -:101720004C434F19DB17D938919DA7D62819CF55AF -:10173000FBB59077AEFFAE41BEDFCA913FBB7C7C6C -:101740005EBD40E9D3CDF5528F23F7DAF4D2DC2F1A -:10175000A0FD955308E2E3C6FD2A9EBF25E4E67688 -:10176000985B760E820E79145FA5F7167A3F0846CD -:1017700037ED47309B10F76C2C1752F19C04BD17C6 -:10178000C651ADE9E7E14AF5D04770A57AE8775C44 -:101790000FF57D1E3D7402C644BF6FA23CD40D7C84 -:1017A000A88479DE2FB747F8584BF28FC5FDBDA945 -:1017B000B6DE035A08F206F3D93ED544ED46C0DE44 -:1017C00080C49504BF6725AEE58FAFB58311B083A4 -:1017D000E23AF0A3BECCED9436685F83F62CF8FBBA -:1017E0003FAF1119E3F0E6FA1A27F3753F85F3F3DB -:1017F000C475685FE9578CFEB54A7778F7EC22F834 -:10180000BDB33BD83EAC2B77905585804F8204CE3C -:10181000E154E915F23745BFBDA953193EE5FD5422 -:1018200089A42C2C88EA91CA7E12595084F806F3B8 -:1018300066A11E0FAF275808EB7D9A02F1BED712A2 -:10184000FC4ED3E372303F35C6DF584E8C7885CEE0 -:10185000FF0DA9E371FE6F4C65EBD074B8D2F92F80 -:1018600080EFFA9C4CFF3D2E0766C2F360060B41E9 -:10187000D3F2BE54C62FB352E77E7E3ED941D8EF95 -:10188000F202FFC6C6AB9FE5FAE1E8F8A00EED5400 -:10189000FD6859E724FAC986E6063CFF78C175FD64 -:1018A0009F9C85FCDB2C15E3818D8F18D7911F72CF -:1018B000FCF3D2B5EB19C41154FF2D81767710A635 -:1018C000FF426EF6FBA30D13731E65F0911A9899F3 -:1018D000D1736DAB5CCBF0DCAEAF3FE79D0DE76045 -:1018E000A95C3F2F74B7AB6B615E21DF348E3E0F76 -:1018F0000EF58F6A6FC33A15FFFC97CD1C2752393E -:101900006E4865F2BB16E6E785F1FA1DA97F41FC3A -:101910002FF4505061FA86DA4D21B09B565DDE748B -:101920001C96A9D5646F35C437285FFE2DF4F3CB20 -:10193000F643C7D94F12862641BB941FFF8E8F678F -:101940000BE7C76F717EFCF6E719D7D753191F272E -:10195000C29F02870BFC4DF5FC23A94CCF7B9C5FFB -:10196000CCBAF10FA90C77079DD7B86EDCFA05B495 -:101970004FF1C641685F4F2523E2DBE7F8F87F9C13 -:101980003A846F7F0CDF2DB5EB3F81EB10DE2838FA -:10199000F91BC8938BE28D7699E30D25D69FEDA7B1 -:1019A000F88BE7D5DD6999179513B53F3E0EA94F22 -:1019B0001DC2214751AFEC6638A47EA8DFBEDE30E1 -:1019C000C8E1242EEFEF307DDCA0F6DC09FA594D9A -:1019D00067F3A8A4337CF92A9FD7F7A494B8FECD67 -:1019E000AE687B5DC85F5B587B72F22CF67B204251 -:1019F000AF58256C47F887EBD3D977A29D45FC2AD1 -:101A000070AAB99D5FA40ED95FBFC071DD2FF60724 -:101A1000EBEF40BBFE285D23B17405FD62991743CF -:101A20004F8EEB12E1B818FAFD078EA789B5334443 -:101A3000BF607C3D7BAB4B167CF2BBD411F8A39FFF -:101A4000F3C7C5287F5CE4FC31908AF884CDC3EDF0 -:101A5000E38CFBCEFF90CAE8B39BD349CC97B9FF88 -:101A60000FF2F743F4F09C7C2616D7FAF3D356AD69 -:101A700006BF6593ECB3D0FBFF032FADAD0C008028 -:101A8000000000001F8B080000000000000BE57D37 -:101A90000B6014D5B9F0999DD9D94DB29B4C924D9C -:101AA000B281246C20D858032E21C42841264F022D -:101AB000448C88888ABA014C42802422B6B6D5CBA1 -:101AC0006242785A637D142DB60B420B16DB88A94F -:101AD000A518700382F80EB68AD6DB1AC4F25084B9 -:101AE00005B55D5A5AEFF9BE73263BB3D905D4B696 -:101AF000B7F7FFE3ED3D9C33E7F9BDBFEF7C334B18 -:101B00000891482A215790FEBF1C13AD17F38A7C19 -:101B1000D42779F208991420AACF46C817F0373E87 -:101B200054C629022129842C946BE29431744079A3 -:101B30008BAB6604213DA57DF36B22F4BF2789F5AD -:101B4000BF21635D798A8BF6F7D27658DF49FF2D86 -:101B5000127263438FE8D18DBBE1A3C373D408F342 -:101B60007C37C944085DAF75A67B9FAB804EE334DC -:101B7000B9379281FD1E4C94B1DF84A13E2981F6D4 -:101B80007BFD1451D6D37E374E13541F3D57253F4E -:101B90005702DF578E2261FF32A8C338B96F4EA4B7 -:101BA000735CC69F57B988DA49E7A95288BA3542AB -:101BB000BFB17C9F136223CF73139F672261F384AD -:101BC0003FBF95EF6B4269E4F157F2F967389FAE7A -:101BD0004822B09F7566805FBE592D56E8B81551F2 -:101BE000F0902A95AA80AF180A3A733E21B7D0B177 -:101BF000263AC1AD80735A3E2C7A2AE1B98782C356 -:101C0000990F94E01D0478ADB0A913605E7BAC5AC7 -:101C100005E538499D08E54FCCEA242809F113521F -:101C200048C8144E3F53AC36BF184FFF51643EDED8 -:101C300067656D5F0C85FF3F53397C092102F10B0D -:101C40005F5C02759F08F35FE1DAF78E40FB5FA1EE -:101C50008D3B2A858DCB500EC7F1BA88FB42F86CBC -:101C600037FFD065330D3CA7566EB779AC0087536C -:101C7000B19E5AD867AB73BDCD45E1FDB2A7D3EA9B -:101C8000A6ED1F271084E3E93875369CBB753B69C8 -:101C9000E8A4ED629CD0D2A9835F8362C2F5E62AF4 -:101CA0000C6F6F48EA5C986F8A556D84725A16C53E -:101CB000139DF7D6E4BE457AB8DFC1F1343F898D74 -:101CC000BF4566FDC2F739973F2F96046F1CECC9DC -:101CD000B6EF4331027F4E827F51FE293EAA4C9FD0 -:101CE000E1A0385B2EBA4DB42EE70A11F9D41BE2FD -:101CF000532FF2A98BF2A99DD2871C993E82BC7FFB -:101D00004514BA1CC3F7590ECF238C1FC1E9B6DCAA -:101D1000D123123ABE98F35B78BFBA2491F1B19BFC -:101D200054459AE787A17DFF10F7ADB07DE79B6B27 -:101D30001E85FA4C657F45226D2EB9CF319D380046 -:101D40001E2662C946385941AE491C4E749B04EAAE -:101D50000BADAC2EC5CE2709B4CC72FA568D04F863 -:101D6000B599DD2E5AFFE0E80722A174B6F1A1D3A0 -:101D700002A1F2627B8090E46C98478619E1CFF46F -:101D80008530703EFACC2569EB51D05C7994A81669 -:101D90004ABF571605A69278C378F2059DCF16E87C -:101DA000F50A803F2BF1C65D8A64FCBB9C549C15F0 -:101DB000E74BA3EBC279E4CF880FCEA33A3DD564BD -:101DC00024218981BE1F3563BBCD3D01CF456CC049 -:101DD0006FA1732E44FED3F625DBFA9EB89FF6EF73 -:101DE000FE3CD67D2F9C3B50798CED8778EDC0D79B -:101DF00062B51BE43B2116DC9F89FE077C362E482A -:101E0000F79BCBF70B8B14E8F64F069EE761B1E624 -:101E100015C0C7AD56A2C6E7A37C7815F86198999E -:101E200076A0706C57049F97F66B7F68CEF26C902B -:101E3000D7AB25F77002744EB60994CEC7D275EFB2 -:101E4000A272472E223685D665273B7FFB7D8E7595 -:101E500071023C97C84CFA7C6CC07F46A0708877B2 -:101E6000D6552BF41C321F2F50C0C178C1A59099B4 -:101E7000F940B7BD2241F9E0447868FCA37E8308AD -:101E800087ADA86A08D057B944BC56DA5F70B279FA -:101E9000AF2401910C033C504540CB52E2C6F27E88 -:101EA000D1730CCE6395295EE9FEAD26AB6F890038 -:101EB000F8AB79B50AE15EAE1CCE0DC9B368720805 -:101EC00020775883ABF8F5E55EC5A2C87CF58F1086 -:101ED000DFFC03F98630BD3C6D28933B7BEC7D3302 -:101EE000F57CBF5C61F26939976B44627CB65056F1 -:101EF000CD89E7E0F3D55C1E8E4862F2B39544E6E7 -:101F0000E36712D9BCD3EEF5B50FA2F09B9224B8CB -:101F1000410F576CA99506BB42FD06717D989CAA9E -:101F20003A60DDD6EDEEA33E07681F19F57BFBBBDB -:101F30006406CC5FCBE5E7DFF8BC6712D93E86F0DC -:101F4000FA41C13E23125CB213FBE1929D08E7F413 -:101F500030B88871A3027EBA0E19CCD7310BB84EB7 -:101F6000CF50261F872719D719CAE51F95FB1727BA -:101F7000A2DCF76540BF97CD6C7FE1EBBA43EBBACB -:101F800071DDF96CDD4920E781FF5DFB5E10757640 -:101F9000D7A4808780DD033C6C2A0CC97BD9E51768 -:101FA0005B687B7114393F8E9F9FAE330EF6455AA6 -:101FB000181EFDA9EA9550A776C17858BF67A88278 -:101FC000F2F2F54126B29EF2656DFAD0EF83D8D4D5 -:101FD000E6F95522A3879EEC76E72C8A2F3940DC60 -:101FE00016A4F306947BC55CBEB46EF71078EE1DA4 -:101FF0004465A66EBC1C986525363CCA3FBED0FA27 -:10200000533E6A0F0C4DF044C08B56AE5ACC44116F -:10201000712DC0710BF9B8F07EB68777C5C1FC2B66 -:10202000A1FF370899CAF1430F8CFB9BC479A735F0 -:10203000B03EAE8FF6DB9E3BDBB01F7C4EF9A83D79 -:10204000F78938B097BA33A91E0039F5928872B271 -:10205000DDCEF0D89E5E47F4F66899D32F1E8679C0 -:10206000CECE26D329FE8A9D1E72913DB4EFE2DCCE -:102070003AAFE0C0F66763E83CDF4EBC08F12EE7FC -:102080007948A50DE0D249EAE8F965C52FBA695942 -:102090001620FEF105D09FCA7981CDE7B2EBE7218A -:1020A0009D308FECA6F400E3027EDCCFF6A3E7863A -:1020B000A32DCF6490DF1A5F52BBEE5EC07FB97272 -:1020C0004D79229DBF714B76BE48E7AF74F6C8B319 -:1020D000F2506EB7029DFC2A456D4BFC5FB4E7667B -:1020E000109F19F03E218BE981294D826F3D854F6C -:1020F0007B989DF018E7C7B12179B716F9AB48B3C3 -:1021000013D4C713CF6D07AF83E7E7B0837F06CF44 -:1021100023D8C19B12991DBC19D6A376F09389CC04 -:102120000EFE39AEFF15E1768D42343BB40BE673FB -:102130002472B9FA7B668F86EFFF1E7EFEE5F4AC53 -:10214000BD4097924F6274CEF8F40ACEA7938E5298 -:102150007EC91B48FFDD94FEBD94FE4E53BB49CCA7 -:102160008E4E4FFE0BE4CB928719DFB73A7721DF13 -:102170003DCFF9B39BAFDF9D2B56033E5F26A222D6 -:102180000A03E76BCFF43841AE87F39F7AD648CF86 -:10219000654EDFEA7CE09B7DB3DDB0AD707E946977 -:1021A000593722B4EFC3C0876374F2890852E5053A -:1021B000F021CCE319017646A204FCD74AD8BADE56 -:1021C0007D22EA89687C44E9E624E0AF1F2E006C9A -:1021D000DDFE29DD04804E289F9DFA3AF4B28AD3B1 -:1021E00007F543FE0AF3E4F27A6D14FF4248EAD79A -:1021F0000F4212F0F74CA687B2135D4847B5C421D1 -:10220000837E51C5CC2C902F745E7312EDFF66C295 -:10221000B9E7B525F5F39F0DFA93BBD8BCAF809114 -:102220003D66E0BC1392A8FD11619E0CBEBF1BA3CE -:10223000F80B399A7D92D76F9FA4C37A39C037744F -:10224000FD1D29EA60A86B7C53CCED961705A35EB3 -:10225000BEA4DFDF677A2E8DDB2F644EFFBC390012 -:102260001F0D9E9A1D50CBE583364F2EE7BF614967 -:102270000A1BDFC0C63BA04EDB2BB9FF44E172292D -:10228000C2DBCA9E9FCF2F7A4061718B3ABE2F2945 -:1022900051D1F41BC2B52A9ADFA584F43FAEE7669C -:1022A000FD4770F8D07615DBABD93EC62A0CEFE1BE -:1022B000F18368F8D1E0EFE4E723B96C7EE2ED87C3 -:1022C000DB64985FA39768707B3381C16D9206B71A -:1022D000363E4F983C5825755A9508E7BC91D3ABCC -:1022E000568FCB35CA8768F1943121F8D4221C0A65 -:1022F000D8BEA3C5572EE7FDAF4CEA875F038EB368 -:10230000B1FD3EC0E5356D9F87ED196CBE3B42EDDA -:102310004DD8EE64FDA3F9FD7770FD3537A97FDC5C -:102320009D38CEC1C685C713B4B299EF6F7E68DC05 -:10233000DD382E878D7386F0BE18DBAB58FBD78D4A -:10234000BF39F9BADF0DC16515F2BDCACEFFB7843A -:10235000FEF6EF637B315B379AFCF85B029B6F05FF -:102360009FEF4AF08BE91C8941922B39C06B8A752B -:102370004FA05DD282AA1FF447E967B20BE47485CF -:1023800068F30A541E4B2E2BFAC9311251C1AFED1E -:10239000F9FC5BCEBE3CACFB41AF2F8B29B182DF99 -:1023A000B93C5B72833E2C794062FEF57113CAFB27 -:1023B0004A713ECEB34BD1ECDCDB0D7EB44B715594 -:1023C000C7C03EAC227131FFBFFA2AFA7C3C97D7D6 -:1023D000BBACC926986F6C268B178C77D5A1BF4EE6 -:1023E000CE323F5AA5FF31F9ADA25E96F93829A346 -:1023F0008508581AFD6D99AC3E258E44BD8076D473 -:10240000D880D1FF965D9547607E99E8C6D175BBAF -:1024100093EC0EB4A772C8F02F28FF58720562A182 -:10242000FE4585E4F1031E26BAEA94527A1E4B86D5 -:10243000C70A7238C7EC1F0CF184B60CD9ED05360B -:102440007CA8DC9A0DFE5607F5CF110E6AD2352313 -:102450004278B214AB04E890E204F9ABBFB4B132F5 -:102460002599D1F1F1240BE2B382D7B5E7E1782FBA -:102470004C8E65728458BD1FE6829C104802A5C32D -:1024800005A42F0BE8312D9DE98F26535F2AD44FE9 -:102490009240AA8396AD1D525524FFE727DC2F5B9F -:1024A000618A6C2FFDC43CF17D80830471834B31C4 -:1024B0002EE0B10C0BC50F347B558B2344B35BEF7F -:1024C000176B8EC13C82E23F03FD07DABF5E76EEFA -:1024D0000C26A7B552DB472D87CBE0642B9E6FE718 -:1024E000DD6564960BF1F439C7D3BECB002AD973EE -:1024F00014C0D34BD98FE4405CCA9AFD9003F8B363 -:102500008A30FBB4C205B29890476D9EB3493AFB3E -:1025100066624E2DDA4DC5592D684F2D8BE2977EA0 -:1025200047C38F4627368F39790CC4BF165A61BC12 -:10253000A4D4C442B93338154B6AF75AE0F9B20C47 -:10254000563F1F1EDEE37229DAFE27805E80784D3B -:1025500046FF3952607EFADC2BE787CEA1DB5F7A3B -:1025600072CAC0FD5993993ED2F625E570BACC35B2 -:10257000D25D4D32933397246BFEE205D3DDDB173A -:102580004277E1E79D98BDA8EA6212DABF765EED78 -:10259000FCF4BCA3E13C15123BFF46C5A3C21414D6 -:1025A000CE05008701E7B246D6FBAE64D397E5A31C -:1025B0004792865DF879BEC4BCD393BF049CF68C69 -:1025C000539D204FDA52287D523CB509ACD4FADB3A -:1025D000397D3EC3CB2F2327867F89F39538851716 -:1025E000401F8EF71C2C8365CA8B4781DA017EACB5 -:1025F000073C94E63D20CDA2F5F6BB67A3FCDC3397 -:10260000AE05F7BDCC6EDCAF56A6707C1467A9C8CA -:102610007F6D9CFF2A08F323B57ECFF37385F347C4 -:10262000F87CE17CFDA84DBD0BF69592CCF61FF22F -:10263000FF7A45BDFF57CAF5D738EB1D86F8C73876 -:10264000EEFF2DFB6CA8CD4B0F7A9AEAB57F8AFF7F -:1026500077863E013F29A3D4AAF7FFDAAC65D8BE3E -:102660002C53ADBAD401FA5874DF4B107EE80F7AC0 -:102670000551D918C11F5C9629FBC7D3E71685FC05 -:1026800014F65746F525C45F2C8A4A2E1A31D02FEE -:10269000DC652D23103739AD9067C11F3BDF7936DC -:1026A000271BFD4209FC423E3FFA854A0BE9C378ED -:1026B0004F1901BB06DA5D2340EEA8C463073D4213 -:1026C000FD429D7C3A6DBD03F93D7C3D2AB79E06D7 -:1026D0007CB5298C8FC3FD413999D9C19A9C0DA72E -:1026E000870A27A39B18BA7533931BDB9323C8FB78 -:1026F0002F2F9FE694830B703D59B2075CB5EB8298 -:1027000001095C9E6F27337EAAB13DDD06CFB5F986 -:10271000C3F1434FAE423C1DEC1916BFA1F61AB5EA -:10272000A3CCD45E5B2984D65FC6E11D0D1FCB40D0 -:102730005F47E0A303C9262E7FC2E3447718EF5F0B -:10274000142F7114B2B83E89007F91DB49CB29BFA9 -:10275000C0FDCD32B3DBA9009D6616BFE3017F3E0D -:1027600053C6FB0822B538AFB10F3CE772889F45CE -:10277000D8DF9F939310AED60C93C13E23E41E8303 -:10278000FD18EDDC84EFCBCCCF25003C73F5F00CCD -:102790003B77B982E706B31EE68D37B9899FF245CC -:1027A0007C1671A3C08A37611C56E37385F3B92682 -:1027B0000F6C0A1B77B56318B3CF445B40A4E75F87 -:1027C000E5A0F6349DA755DD857A551B9FC0CF6FD8 -:1027D0001BC7E28D36BB5F5122C0E17ECEE7D1CE72 -:1027E000D9A14A89E5747FF72BCCFE96C6996A7CFD -:1027F000188F62F15A85C34E2C29B082DD3E091C28 -:10280000F814D8CF56451FB712F97EE2EC743FE7B3 -:1028100090932BC2F61393DB570EFB97B2552551BD -:10282000B7FF0A876607F4227F479BEF3E2EE763D8 -:1028300072DCA40EEC0D9BDB0FF75A316A5D218828 -:10284000C5D85C3799AD6B8F550B475B7474D891C5 -:102850002947BC8FF82F0793FF7649AD81717645E4 -:1028600022704F66E7F672B479A3EDE37CEBDDC42A -:10287000CF3B603D5764BB62A883C90D69DCD61AA3 -:1028800090D36484448647D013290EC6A7F1729F63 -:102890000BFC754A8F9E48F3890E99C3FB5FC41FDA -:1028A0009ADD5DD2B56F28DD6FAB4D720B20BF8A0C -:1028B0008EF6BA74F0A17A7D9643173F106D1E9480 -:1028C0006FA28BDDBB575998BFBD679CF19EAC8151 -:1028D000C3EF7D5E46930BE31D9A3DF6AF39E79754 -:1028E000C55F05E04E07970E800B01FEFA415B6B5A -:1028F000047949E1D3FE55E0B39AC3E5694ED7D1D7 -:10290000E033CA61FA97D241387CCEC7D7213EF373 -:10291000914311E0D86A97D3671BF8BF03ED904845 -:10292000FDEA74E78DC6871A7DDCC4F14205A42157 -:102930002E203BBCBDCCAFBCD3A8E7C4F96E2E9F04 -:10294000C9590AB744DE3FD146FC71F1A1F9E572DD -:10295000633CE179078F0BC4901880CF69F754016D -:10296000F2142CA699A394A1B04487007A2215E60C -:102970001949C8035C7E86EBC11495F9C983498B5C -:10298000C0F44A06EECFC1F711AE07D3A95F03F139 -:10299000183822F8D38369DD0A360851F11E5CF03D -:1029A0009AD05F76129F00F367903E2C87402A02F0 -:1029B0009D3F9BF40A39147F0F54D48D02F9FD0E0C -:1029C0009CE392D039CE678F6AA5667FACFE37C193 -:1029D000FB93B07DFE1F82F792321DBCE51423DD10 -:1029E0007C597837707887C7F38A219E970DF13C20 -:1029F000FF6EE053F92CB33F7AFE2E637CAF2D9B24 -:102A0000C5F32AC4EA35780FEA92D1FD9072FB56DD -:102A1000419E936677A2CE1B168AFB594FFD4082DA -:102A2000380A918E229CF06EC885F22C3B05E53168 -:102A3000B323C6F3FDCBD973AC70EF1DF29FFC221C -:102A4000B33798BD24733A287696A2FFD276F6DC87 -:102A500076C785FA493BA53D787FADF947AD8159E9 -:102A6000E82F858FF34BFEF7E0FCFE80EC827C9331 -:102A70006E7E2FD67D6AAF214E1BEE076976D57824 -:102A8000BEFFB28067DFA570BFA5CC222CBEC9E017 -:102A900020F375DA9CA7F11EFCF9B326F4B74E7348 -:102AA0007FAB18FC2C3BF377EAEC03CF794DCA459A -:102AB0008638BCE63FC138C8AB2B53FC22D8739A8A -:102AC000FF04ED2EFB40FFA9CA127805F637E51585 -:102AD00011F342A2C137DC6F0AD73F335398FEF996 -:102AE000560A8F1784C1538BF785DF4BB76BFC27D2 -:102AF00079053DFF87AF2FEF9A88FB278A2E1E3B73 -:102B000034144F14542FB92B3F143F8C10376C01E1 -:102B10003AD4E2869A1ED3E8D842FB5AF19E397223 -:102B20003CB13B7BEF30E617BE900CFC59A1B0B82E -:102B300091B63FEA17DE93A2C3477180E96DCB7F60 -:102B4000B5F42DA1F02549C4CDFC83169795D62B5D -:102B50001592BC12F9CC86795AC50E01F94EF2C70E -:102B600060BDF2B8DB1743EB965D2F89A203D69BBD -:102B700045628410FD68791D6D810F5601FE4E1F60 -:102B800097DCE7F2BB2B218866F0936243F844F9A7 -:102B90009664A83F22791E4D413B6150689C08F91C -:102BA00060430DF967CF48EA63D06FBA55FD11F65F -:102BB000FFCFC3FB2F53305EBCF72BE13DB40ED3E8 -:102BC0000760B39174DD7A36DA7839ACE342FAEF14 -:102BD0008F4B2F22781FB309700671964F880FE232 -:102BE0002CCF995F14411FB5F379AE201D2E7918B3 -:102BF000DB2FF4DBBCD1B90EE8E2AD946C9CEF396D -:102C00009B67F528DABE6F83340AE236ADAE67AC57 -:102C1000903FBB6B637B469F8EFFF66DF60C89E49D -:102C20001F6A25FD4B3015E1B9E259A98A2627B65E -:102C30008B501F609F6DE852609DCD1BAD3322C548 -:102C400035E454C6EF576C60766D55AEC90DE2ADF4 -:102C50009878A524B88F7113B79F36C48DD8DA5BE6 -:102C60000ABA285BC47B0D5ADF1D4FEB716354F425 -:102C70000F2E1EB115C75FFC49A99BE5517A6DF96E -:102C8000B4BE2AB774CC4A5A1F12EB39067C45F5FC -:102C90004C8784FAB4330EF200E2464C4D59496B2E -:102CA0007102A98964E7FE3D85D9799BCD1A5C251F -:102CB000CC83DCB55146FEDA972EE2FD1385DB7C32 -:102CC000A8FF393D8E504A24E5AAB71CE058413A86 -:102CD0005BC19F2A775DF3423CF90AF02BD8AA002A -:102CE000FFAF8A6287BFC5F7874284D2CFDE0D6D02 -:102CF00037920879D4FD79D671AA2515EE57F8BD1B -:102D00002E714E45FA898EEF7B99BFD9E96F8DA55B -:102D100070BC624BC720FDFCEF42D0356520BE2160 -:102D2000FF995C0AF9B71ECCA76D3D6A42F8BD9CBD -:102D300027F8040A9FBDB922B5D9E8AE72ACBEE14E -:102D4000B4BE9AD371F596FD6D8380E5531DB8EE40 -:102D5000CBB94F58597EEB85C7AF47533E6884FBCC -:102D6000648A8F094AACCF45F1350FA6A0F5718A68 -:102D7000D5E7A7EBF5D87BCB12E812CFA508EEF587 -:102D8000402FB94401F9812E8889214AA175101973 -:102D9000484F0E82F95CAB0AF3D6435C6C6586AB98 -:102DA00013F20D778CB062BE59783EF10EA1E58525 -:102DB00044884B250A28AFF7E6BE89F7747B332C8D -:102DC00004E815137EE9F3B624C6A7710546FBB3E4 -:102DD0002A359BFB9FC46B290CED2B2EC7AAC6502E -:102DE000427A31918DDF9723F880DEF6B9B87CA066 -:102DF000E7DD080691D4214D1F111DAF2F0D9FE077 -:102E0000D2EC62413BA769E0399E137CCB87C23983 -:102E10002EA6E7A0757BAE80EBDB9595B7132C8BC8 -:102E2000EAE11E337CFFF7A632FF50A664970BF24F -:102E3000AD73F9447D7E8C5C74FB145B3CE631A180 -:102E40005D99962BE079261E65F7B903F2B315E27A -:102E5000910DF8A156476A68BEB8CF9EFD36E4FFD3 -:102E60004E2E12FC31B01F9EDF4CFFAF07F48B9C3F -:102E700053CBF2AF73D7E179261599DD709733C93B -:102E8000E6EB28A5F5978E4918CF9E9C3301F3AB4E -:102E9000C3D75FA9107F1585EF4B7912C23BE6A21D -:102EA00027709ED7F34C286F26433E36E42FEBF372 -:102EB000AA511F1AF3B9278BFFAD9640B39BF12B94 -:102EC00091BC8340BE4F711AE1673F6ABC2FAE2EA2 -:102ED000B018EA93F3E4303DEC457A793193D1C5EB -:102EE0008B170BBEF5D9213A9B7434C90774067F42 -:102EF00062A1018E8673C6056415E0B7EFE29F3DBF -:102F000008F72471AE65B7E33D3887BF4627711CCB -:102F1000EFF68C5F7F1BF49406FF703AB870FC5F8D -:102F2000535302F82FD0EEEFC3F01F866F8C416A27 -:102F3000E7183610EFB87EF6407C6B7430E0DCF7B3 -:102F4000752D1F4AF1FAB29D3E003CAF937DF70A02 -:102F5000213C9D17AF392548372B950E1BC8FD988E -:102F60008B0ED9C03FD0E88288DD057A7BFF9F8534 -:102F7000EFD2D5027326DD820FE27A6FC0A3CB4376 -:102F8000EBBC98DA9FD7F5622AD855352C8FA3551C -:102F9000CD67EF5D15307D1A2E1FFE902AE2B81E18 -:102FA000F38B19E7CA53ADB67908DC8FB542BE1D65 -:102FB0003D9FBCBA16DE6820F2B45A949764B5C03F -:102FC000F2108A7F8BF27D8ED3B75488B01E5A32AE -:102FD000B84F17937BC5C9D89FCCD0F2926ADEC791 -:102FE000FD4F63F50BDDD76BFFA47DFD9ED20A8BF1 -:102FF0007731BBF96A1E97D7ECEE2936967738A55C -:1030000058447CBCBE41F0617E24EDE7A574D2C873 -:10301000C9F66A6E079E2E7AA67D940BEC41D560A8 -:10302000770AC53D68F7251419FDC14435D680FFE0 -:10303000E4AA24433DA56690A17FDA8CA1C6B8829C -:10304000E79B86E7831BF20DF5CC962B0CFD87DC06 -:10305000556AA8677B2719FA0F5B3ED5501FDE71B2 -:10306000A3A1FF37D6CC323CBFD8D768787EC9A69B -:103070008586FA88CEEF1AFA5FBAED5EC3F351FE89 -:103080009586E7A3F7FDC0501FD3FB98A1FF65EF1E -:10309000AC373CBFBCEF49C3F3B147B71AEAE30210 -:1030A000DB0DFDC7077719EA25E41543FF32EB6F07 -:1030B0000DF50AE53D43FF09CE4386E7135D1F1B6F -:1030C0009E6B743039F75343FB55EEBF85BDA75354 -:1030D000C3E21C100F18068F3AB08C259DEC5E875A -:1030E000F462F960A1A73C0DE8F3C7DE7648486AB0 -:1030F000F506FE0857D3AF170D4B60F6934AF4F26E -:1031000053CB4FA57E8B378692427C90D2ED684A96 -:103110007741014B2548256B32C47B62B04C0A26AF -:10312000637B7230114B477030B6A704D3B14C0D9E -:103130000EC3322D988DA533780996E9C18BB11C49 -:10314000141C8DE30607476199111C8BED99C1CBC7 -:10315000B1CC0A9661FB90600996AEE0642CB38313 -:1031600013B11C1ABC16FB0D0B5E83654EF0266C6A -:103170001F1EBC01CB8B82B3B1FC46B016CBDCE08A -:103180003C2C2F0ECEC5F29BC13B70DC25C1DBB1C0 -:10319000CC0B7E0FDB4704BF83E5C8602B969706F8 -:1031A0009760E90EAEC27EA3822BB0CC0F3E88EDB5 -:1031B000A3830F605910FC11B68F093E8A6561F038 -:1031C000092C2F0BAEC3B228F8732C2F0F6EC6F24A -:1031D0008AE033386E6CF0692C8B83CF61FBB8E0EA -:1031E0006FB0BC32B81BDBC7077BB05483AF607BCA -:1031F00049F0252C4B83BFC5F6B2E07E2CCB83EF84 -:10320000617B45F05D2C2B8387B09C103C88655515 -:10321000F0632C27068F613929F8298E9B1C3C8589 -:103220006575F06FD87E55F00C96FDF22E6ABEB231 -:10323000C784FE2CF753A3FB0B5E949766FE5E1CBF -:10324000E45663FE7F8BE0C378A1A3EF05A89B8BB8 -:103250002C182FBC9904F03D813F903E3BC8D39E73 -:10326000CB8F6440BCE9F5147FA63EDFC1CCE30000 -:1032700015E27109FCD5298E5D29A04F6FA6CD906E -:103280006744D42F300F720ACF83BC59A20E16DDCB -:10329000EA7E98E172ECE7B7D0FACC6AA2E6D3FEF8 -:1032A000ED975B30AEDF9E4FFD205ADE97CDF26585 -:1032B000BBD298BE7C2A8DF9A5CFA531FFEAC942C1 -:1032C00096C733F3F6E18C9FCA93CFE33731387C4E -:1032D0006324CFB3B505B2303FF602C79D48E57908 -:1032E000B5BCFF836935CFA7D1766F29C96DB1858C -:1032F000FAD1F65D51DAF7803C086FDF6562F8F0CD -:10330000BE2D723FA12661EA39FC84D717F77EF300 -:1033100085E1A1FA1B51FC504296B0FBC35DC7AAE0 -:10332000AFA7FAF0EA22D14D2507F9EFC5DBC67D3C -:10333000389CAD0BF999DE5211E317338BF7EF4947 -:10334000A6F5998B1231EFBE7F5FA5667C3EC5F96D -:10335000F6375FA047BFB9E537E33E34C4453D6863 -:1033600077DDC16994A8E6BFF669CF915E59DCF7B5 -:103370000E58DC05F2CF8CF3F6AA66DFB9F263884B -:103380006A21AA81EE19BC56C1FEC1F7275613ACBB -:103390001BCFFB50B8A2DEF7C6CBBE56019C7757B9 -:1033A00002D05D5C5E809C2BBE0CF0943051A1CFAE -:1033B00006764C3478A63819FD2514AB4E2FC54F30 -:1033C000DBDF45BCE7DA9D58A800FD7FDF9693065A -:1033D000FCE174327A6DEB7917E35B090501E2B524 -:1033E000B1FB739705E2F8562C972E7663D9B6B8E1 -:1033F00008CB95193FB042BC444C91201398C4644B -:10340000CEC17890B6BE397196B5C44DE75B63A95D -:103410008610920871066A2224D2FA12EA539C4D51 -:103420006374FDBAF3431BF0C3D93417D64513BBFD -:10343000378E2BF0AB909710E7564A2557A81DFF03 -:103440001CD8BE1EFC91D749DFEA6B018E2A7B1F78 -:10345000A395BF6FDA5A329CC3551B1786F7303CD1 -:103460008BB21BEFADC558DA3F2F3A5EF39C2C2F81 -:1034700001E84BA2F4F529DF3751E34C309F86DF9A -:10348000D35200F3A95A85C87997851ADC155539A6 -:10349000D73D0A51A4BFEAE5A92D6F5B183DDB506B -:1034A000BE621DF2B9B8BCDA9BA6163BE9FC8BAE36 -:1034B000E472202309E5006D9F7E056DDF66627E64 -:1034C0008A3749467EA14048803C5F6275254C3D65 -:1034D000471EC4B2C58A2A99E17EC09500F05AC63B -:1034E000F3F5E00D65BD1CF857F50BC90B1F9E2BBE -:1034F000BCFF3613E7ABD8183C97C8E1A18D9BEF12 -:10350000E4F238BBA6D689F1115706C8555A9FED8B -:103510001C83E7CF00BEA2F5DBB0AEF4D7EBB1BFA2 -:1035200093F5C7449A0B90C3745C138E93FAE769C2 -:10353000C1BAAD7FDD85B88EA3BFBE08EB19ACFF65 -:1035400085AEA395FDE77F93C9C9CF24352189C2F4 -:10355000A7E6AED935E5546F5F7BD75C2C3F58DCCE -:10356000AB825C3D4CE5491B856B4DC93007F83992 -:10357000D75E35CCE6D2D16B3D8F6BEE5A6EAE0284 -:103580007D57BA42ACD980FCB4C49037B7CA69E65B -:10359000FE0DDB471DE5F1BB29C9D5AFD9FFCD36FF -:1035A0009D3D3A8BB865A0F7D9CBCD21BA263AFE1E -:1035B0005458DB3693E7FB37C039568AFCBE82F39A -:1035C0006B22E1FEBC2BB5E61C7A872CB7104F04AA -:1035D000793C103E84FC95F2C167B61C8CCB524BF3 -:1035E000CD1A695E0D4ED1D6AB8F12FFD5E0A4C1C6 -:1035F0005B6B3FB47AB4C2EC6A9F018EB3EF1B835E -:10360000F1CA7A1EAF278956CE9FAC5F1D5D672B2E -:103610008C935417D03BD423C9176DDD3AFAAFBB56 -:10362000F323C197C361A599E9F130F81E5E333CDD -:103630001EF45038FE2E14CECD1682EF530436DA27 -:10364000591CC93103E76FE0EB13C74CDC4F035F34 -:10365000EF859D717E13ED5FBAD1BE1EFCE093A590 -:10366000DE476A403EAD37633EDBBD3B57BDFD23C1 -:1036700078EF639D19EF4CE6C63D5C08F7B1A7B83B -:103680009EA30AA007BE9FE021DA9F2AC0FCF58412 -:10369000CD7F52BBFFD89880F03C5ABEA17D2C2D27 -:1036A000FB762CA886B8CB919D57ED05BF796E2C83 -:1036B00091D231BEAFC8C87F5EF38746FB400AD5C2 -:1036C000C581F57AA8EBE247737DE60FF5743E6F8E -:1036D00093B1AE8797490F2F57B9115EAE0A03BC5D -:1036E00084E7ED7E5107AFF298E10ED0EBEF3A5D43 -:1036F000088F8698A5A9009F861D2BB09CB729C668 -:10370000FBA16EDD059D89867AF3B674AF5EAF9C32 -:10371000DEF7443CD0E142A7E8FD90EAB9E38BD55F -:1037200056B0634E2CAEC252C3FF82CE6CAFCD30CA -:103730008FB17EBA43A862F2D99530ED1CFCBAD0A5 -:1037400029E33A1F6D62FEE6478BAD5E58E7F862EB -:10375000C5CBD6757A991DC5E035FFAE38EF87A386 -:1037600043FB8B36EF3F7B7FD4C22787AC04DFD986 -:10377000F9E21C7A3BAA5C923E93517F749BFF0C4A -:103780007463A5FFFB02E3A812D6B5799B3B452FD6 -:10379000E41313B2C5B01E1DE73AACE3B7E87AC133 -:1037A000F89D8971100B43F9CCEE413C700F42E754 -:1037B0003B29D996431C41BB0769868568DF05D63E -:1037C0003ED9439B3EE91A76CEF7CC299EB2412FD3 -:1037D00037583B6450B60D9D1797033F7DD2D59A5D -:1037E0000AF2639E78FA5B91DEF7BA3E9DDFCFFB6B -:1037F000CC01A3BFE8D3F6992D19F88CD8FACF4D98 -:10380000EBC7A3BCDF53CBE76DDAB2BF722CDD7F11 -:10381000D3B65332EC232DDD539B9E123ABFC0EF3B -:10382000811A371D94E17C47CDDE8BBE772EFB7E5F -:10383000C03E6D4E43DEA197F4027FCE2A221AC30A -:103840005EFF1E9537C75E3113B83F2467692FFAB4 -:103850003C8B3F9D436AE2015EB3BAE6A1FC39F6B8 -:10386000ECE4BD2CFFA8A310E8E31362C2F7DC3F31 -:10387000216FC68FD6C16F75BA963FC9BE6FA3E5DB -:10388000B7D00DA6637E7A437B2FBC376621929713 -:10389000CB25817DAFC627A03C6B60ED5E625D826B -:1038A000E758CEE49197FE07F5DB3A8CF2A97E8DBE -:1038B000B15E47A6A6427E77DD4366C8202273F537 -:1038C000F28FC2EF8E7466D7D7939676B0E71E97C5 -:1038D000595EF72C854883A91E5AF0EBC70B6B691C -:1038E000FDC17476BFF311F733E0BDC774FABCF1C4 -:1038F0002E9FACE60D3CDFA1AED1D3C7129C8FE961 -:10390000AD46CD6E252E88E30F867F0D8D7EFEC1E0 -:103910005D22DE3B0D86769D7C9EBDDC78BEF39DF0 -:103920003FFCBC84FC00CFDBB8E91AF4DBB4F368DD -:10393000F8D2CE63DE14F93DDF27D30583DDB49DD5 -:10394000C34FF3BB9F0FABBF10567F299DD9F72103 -:103950003F9DD1B799F337A5FBE781EE1758039543 -:103960008C4EFA64FD7DA81CEAF7C2B9FA5938BF3B -:10397000D07E2FA58F89DE2F2634DFEB91E65BF01A -:10398000EBA79E057FB4F1970FC7C365D031A9237C -:1039900015DEB398BF71693CC0E9A8E48D07BA3958 -:1039A000E613AB22C14B1AC4E506516D02C57B93E9 -:1039B00046FFC54BA6807EFFF346B3027E61F32629 -:1039C0008B1FBEBFD4D43517EF6B68FD20AB2FC360 -:1039D000F72A9BB7993FD0E3B5F1670FA7627E073F -:1039E000F10E66F7E9FEC1F0E9A0A60D7FAA043F3B -:1039F000B99904909EC3C7C1FAC12494D7B572C2C5 -:103A0000C0E75ADCB4993591E6AE55A7206EDADCF2 -:103A100035F108F07D33913ED0D35303D034F557C0 -:103A20003E4FE779779791CB40BE68F020BE149463 -:103A3000CFAD9B7F38F220DDCFF10DAFC40B7A7F85 -:103A400095DFB79FEE9CFD7EF239F4C3094AA7FAD1 -:103A5000F73134B9EBDA46379046ABDDAC9C6FF604 -:103A6000C78FA5709DBFCE8CEF87CE7FEA899F3E22 -:103A7000067944EF5AF0FE63DE537BDEBE82D6E762 -:103A80003D6D7654B363D8E03E58C34B33FD1FDC25 -:103A90004F6878687C668F0CEFCF403BF8071A3E82 -:103AA000E63DDD23931103E157D6D923F7D922E070 -:103AB000A5F36025BE67B4F92F32E0FDD84E81A48E -:103AC000650F1CDFB06E0FDA310027C423C7533FE8 -:103AD000DE06E0CB3F657B01F653406E9F0F5F072C -:103AE00040AFA6205DFF623BDD47C3EF2D6E8043F4 -:103AF000C32FEE8887F31C915A187D3FBE3415F210 -:103B0000DC1ACCDE54054BD6DEF0E33B91EEEAF74F -:103B1000DF99CAF20ED5749EDF910EE7BC6DED758C -:103B200078CE3AE241FA6B785CAC813C98CF255272 -:103B3000F57404FEB89BF3C791F514B9F49C4740A3 -:103B40005E3A42FE8EF65EF39DFD7110760FF939F6 -:103B5000BF879C3A48CB5B67F2B79F6E372C43B95F -:103B6000FA51A69A06F793140E9A1C45F92AEEAF5D -:103B700048637862F218C751FA2B8376E8DF6BC688 -:103B80007B61DD382E3FD9FA8BF8FA74DFB1608F94 -:103B90001C498DFC3ED0A67EFEA7FA5647673A3EEA -:103BA000677CBF6105E3738DEF7DD754C1F3CF7E92 -:103BB000C7F808C6813EA2FBF2A7E1F39E6902CADC -:103BC000050BF147E2EF0D66CEDFC6E7D462477B17 -:103BD0004EA313BA7F09BE4716A217BA4E12E201CE -:103BE000ED95BA87E8789D9DDD0CEB623F39D49E58 -:103BF0001DE2E37A2E0FBE3DC8280FC8DA940B8A67 -:103C00000BCC37FB7EFA18F02FE557AF0BF8D78CAB -:103C1000EFDD7CBC65F7DB37523AFFB853E35BA3BB -:103C20003C0DE7DB86AD77627C309C6F3FCE682130 -:103C300011F93683BF3717CEB7197DFF5679AAC160 -:103C4000EF2761F0A3F2F127DB5DD1E1182E1FC74A -:103C50000E72213CC3E523FDFB1D291C48871AFD7C -:103C60006974D7F8F30543400EF5D3A7467FFDF4FA -:103C7000A9D15FF8798DF01B20DF20D949673F98E3 -:103C8000EF255E3BC577608788DF4B3AE90AC4437E -:103C9000FC67690CB915ECF0930AAF27B27A20459E -:103CA0006E0739A1B5076258BCF2644D203E5167DA -:103CB0005F1FEC16E321BEDBE78BFC7D37CC48A40D -:103CC000EBF745F9FE9B168F38191B3F12D78BCDAA -:103CD000F201BE2A445BD65D9037DA21E2777CE6BA -:103CE0002CB93E1EF2434E760FBB7A066DBFED2512 -:103CF000FE193FAF2AA55338CFE6783F4ABC8F1450 -:103D0000D3F3CDEE66F6F39CD591E944BB37AFB360 -:103D10002D92411E51BB35441F049EB3EF2C34AC91 -:103D20000D6BEF9E8CF4D418464F1EEE1F1D1BC466 -:103D3000F3FB479151DC3F31E9F3412AC4BCABE1CD -:103D4000BB9C27F789986F7DBA5B24ED70CE2D82DE -:103D50008F007F7B53902E9BA8FCD0C77F8F03DD05 -:103D60009DE33DBAE3BFFA43E1F76897F9CFBE3769 -:103D7000F247B43CFEECBB173D07F55F1FC87A8FD6 -:103D80000CEC5FB6F3CC2D20FF4FEEB4108CABECF7 -:103D90007C31EB7B50DF6EC1BCA393F75A54B4A7C0 -:103DA00077DA318FEE64268BA7B6EEF8CB48CCDB02 -:103DB000266D8837C760E6779CEEFEDB1FF1FDDAE3 -:103DC0006E7A2AD0B73BE3D01E6FDE1EE30327F5E1 -:103DD000E48EBF14EAEF2FBEEE799A6416BF3F69F6 -:103DE000273320EE753291C5AD9B9FBBFC892574AE -:103DF000FD055D3D32BCB753F6FCDF4782BC39B9E7 -:103E000095D91127CC7D3F266E42860CBEE73E3306 -:103E1000C5D709B0ED28AF3C3778E755DEBC487010 -:103E200061703849E100E7A270690039190D1E85FB -:103E3000FFB1F038750BAC3FBFFB32BC7F08C1450A -:103E40005059BBDD6715F0FCAC7DE75F46823CFE58 -:103E5000B87309EAF7F39DFBBAFFE7CE2DF82FE41C -:103E6000DC8BFE63CFCDE8FFAFA09FC60CE483815F -:103E700074FEEB6F61FD177637EEF702F9FF21381C -:103E80007FCA7FE2F9BF22DEB70A98BF723EBC3F0D -:103E9000F31F7BEEF3E1FD258E77BB0279122777C6 -:103EA000FC3D8BE8CE7FBE73BFF97F94DE353BA827 -:103EB000D7D4A214D0FDBD4B3AAECBA6E51BEAA7E2 -:103EC0000E705B2D51EE694C19CCAFB0082CEF9BF6 -:103ED0005C2768F1A55E43DE534603DA1B53D4FB2F -:103EE000D8F799A4965EC83BED2D9DED5E893DF215 -:103EF000F17B02BDD3C6F1BAD1DF7A5D20AA40EDD5 -:103F0000DB29A593F781BD77B52AA23D484BB403C1 -:103F1000DFCAAA64ED45463FE38630FFE0FA19C6E2 -:103F2000E7D7F1F9A693854A0185D7F40C49F151F9 -:103F300010DD50D26286F3DC70B3403A74F1CDEB01 -:103F4000C2E6FB2304D07476E497855F413FFC16FC -:103F5000223C4889766F771EF81106EFDE69A35878 -:103F60007EB1E466F09BBEC08D7153EE879AF978FE -:103F7000B36D792FF0AD9918FD4FCD8F8C0667C2C8 -:103F8000FD529C676808EE665544BF54371FC24314 -:103F9000C3C797C58386BFAF8B0F398318EE75B53E -:103FA00072AEB5761EDC435821DF9DCE7BF56AF6F6 -:103FB000FE88354F4038D61499F1FDAD3F996A0A15 -:103FC000C170AE1E7D59D377D9B46E80CF5C0EC759 -:103FD0003AD282762739FBC517C58578FB8776EB01 -:103FE0005C9590ABA85F52572CF863E9F9EB25E29A -:103FF0004DC88738A8403ED0C7417DC63AFC5D9980 -:104000001A9AE77CFDA3C9877F76F93E95471F5032 -:10401000A41F8412F366D8EF5D68FEE3ADDD0C8E5D -:10402000CDF305DF50A423BF597FFFBB3983C5679C -:10403000DFBF7B34CAB992FB472430BFB600F379A7 -:104040009AB9BD7FDAEB4A8078CEE9EE610910AF0C -:1040500039BDAF2C3E521ECF7EEE57FE76B115CB4A -:1040600093E542879880EF9D4C413D5C1E4340EEB6 -:10407000848F5B91A1C5655AD8BD246179F875FC20 -:104080001CF5746842920E6FABAF3A268D1C880700 -:10409000F8FB4077AFF275E10B7E2CC0757F4C5F6B -:1040A00065A4EF13FE88CB85EA5D6764881F4CED3D -:1040B000CEC6EF4B4E2D37BE07F86006F7CF4793BD -:1040C000D1B0AFEA5D13E32F07BCEC13DD3114BEB2 -:1040D000CDDDA7644F84FBB97078C2FC10473E6405 -:1040E00076D7013C0FDD1783EFFFBFC6EF8BF2F8E9 -:1040F0007721E1D341103FDBC0E17A2683C5D1AF00 -:10410000AD2E31A7D075F3BA945190573688F73F4A -:1041100093E1C2E783F938ADDFA0F9ACDF4159691B -:104120008A74FE21598C7EEA89FB5B45C27F1EDEC4 -:104130004AEEB7FBE1BDB8D3E5027F6F269CAE091E -:10414000F2C7E92AC107FA17FC58AC570BA8FF5F62 -:10415000D3F2EEA6327DA9D17D389CF767980C7911 -:104160000EA738DCDFE6F4A1C159836FF87EB5FEF7 -:10417000545E8DD7C75BAEDE36EA17609F34750B91 -:104180008A894ED524F5C9C087CDDB1E30C3FDC258 -:104190000DFCF759885433527FBF7B2683FDCECB6D -:1041A000EEFCB1683F7EBA9AD9C7EA9C53F160072A -:1041B000BD6672BF3116F8F175D1F05DF3F0F2BD56 -:1041C000C54A63B9593F6F36EEF3DAF92566080F31 -:1041D000DD34BFC79CA6A3A73319EC7B415AFBA0D3 -:1041E000F92ECC5FA4EBE13EBCDFB710C8C7C8EB2B -:1041F000EC2D8DA3CF6F6A496474D8D0D923639D09 -:104200007D67585B4F5B279C9FA655C719EAB3CBC8 -:10421000FA32002ED516FF2277043A7D2853BB8749 -:10422000FA927A42A5743BF2FF073D71AA32D27727 -:1042300050676732FAD5E987B448FA61E112571A34 -:10424000C07FE18E6169C01C0B5FAA488DA41FDE90 -:104250005ACCEE0F0FF0BCCB93D3A87EB854A71F57 -:10426000A6C5207D848FBB2AF302F58386AF7FB37A -:104270009C790BF44304BEF6641AF5C3F4EE5AD4E9 -:104280000FD3A789C4A58BC75D9F793EFD50927A55 -:1042900003D6CDEEB80874F316F74B00AE50C23A11 -:1042A000A027EECF64723F5C5F4493E7395902BFA9 -:1042B000DF3E8F3CFF5F82B326CF175EC7DEE31F72 -:1042C000488704E5F5C21B04FCFD92853B983C5FE2 -:1042D00078338F4B86C9D71A90AF057AF9CAC6379B -:1042E00079983E68DE96FDC399F4F98D1D66B79501 -:1042F000F6BF31246F0BF5F2F6FE4C49837396122C -:1043000001BF3366C61197515EE5809C3A34EAC519 -:10431000BC6780EE5F63EF99FD89EBF15747BD58AD -:1043200000F1F4C37CDE67B9FC3AB1983496533897 -:1043300094CD61F6F0822D22C2A1A98BD9794D9B33 -:10434000047C9FB732FF0CDE1BCEDBC1EE0DE17BA0 -:10435000BE253A3CCE7BADAF7D303C5F27E0BD67EC -:104360009D7B1E7BEF6F0D8B135BE97F902FB1223E -:10437000367E3DC13C1D15E3CD0B38DCAA2D81BD39 -:1043800030BEFA67827B1DCA35637C7A41CEA46356 -:10439000E01FCCDB14D6EE5E81F7190B20EEACF3F8 -:1043A00047DEE2E7BB4DF4E73D0379816F88117F7B -:1043B000EFECAD7038347C4D38ECA77028F8EA701B -:1043C00068EE7E00F36FBEEEF90F64F2787B3E2953 -:1043D000007EF9934945FEF7BE2CE27BC5731E189B -:1043E0009EA6CF53FA1387C36B264F7B3AF46B62BA -:1043F000EF1FD7AF7D7A0FBC1A3EB3938C82B07D8E -:10440000FD1AA39EECD7CB5D2ED4BB335B9E16E08A -:104410007BFEB789047F076C76BEC503F7AFFB63ED -:104420000228CF343A4CC892D877DCB8BD776850B0 -:10443000A01CFD8A6D82827C02DFD3803AC5037C9A -:104440004F63F7E57FA9E470C7F84CF33686A7669B -:104450008A17E0B34A6AEF821EB989EA1DBC2FEBC6 -:10446000EE3143FF06DA2F19E58E1BFD5D4D3FC18E -:10447000FD5D49AA0E6F3B0E32FADD28B84904BC37 -:10448000E5D2FFCE85B768F8D2EC870BC59B068FC7 -:10449000842C23FEF6C7F4568FC67B2AF63B40A435 -:1044A0003B11EF553EEC188678CCE472369CBEC1C9 -:1044B000DE77E9E24BD7C0C6F1C3F531982787EB29 -:1044C0000E65F6905EBE84FBD1CDA417ED9AB47450 -:1044D000CF5319BABCB0E93C7FA5FF5E37D4AF3EDD -:1044E000734CF47EC4598AF73F5A7E2DFC7214E651 -:1044F00083F1FAEECCC20333E9793F5D2EE2FBC9CA -:10450000D79B5C6F17031FAF3413A0CB4F5F35AB46 -:10451000CC0E8D43395CFBDA213384466A21BF809F -:10452000F6ABBD87C9DB4330196DFB3DD5632A7CF3 -:10453000B784748E81BCFD69EE9E0AC8DBBEAE6096 -:10454000FF52B8A7BBB64C79FB6D80EF0A91007C97 -:104550003F585E86FECA1DB70B48D7EF2CC6DFC298 -:1045600022D74DCB7EFB6DBAEECDCB53F09E6DA620 -:10457000BAA702E86DF6D5761BDCD34DCE15894778 -:1045800007C79B49EF5290DF335B6EBF0EF6DB40EF -:10459000F502C45D1BBAF757A4417DAD80BFA3D619 -:1045A000ECF5C8F00A54EF9A5332C43FEA683F4032 -:1045B0004FF35AD6AF798380EFF7D451F900E7ABC8 -:1045C000DB20107891A497DA7F5636AF0F3ECCD41B -:1045D000BB968EA7F57A180FF36E48C4DFBB6B7ECF -:1045E00095BD1F5457B4642FC8A73A3A8E3E26BDD6 -:1045F0001B6EC7F9E6AE1508A4063714657FBF0821 -:10460000E67BD58CDF0539D0F3A80CFBBE85AE97D1 -:104610004EE79F2DF655609EF5F70405F3A0ABBF5E -:104620008B783BC9F980647C87F199C0EBDC2ED490 -:10463000F4E3C6ACA12CCFFAAE25ED70AE3E6F4AC6 -:1046400036B844CDDB4EC960E77DB8183E3C43F137 -:10465000C6F3E0767B0FC97D3A39B52B6B188E9F78 -:10466000B3AD04F9FC365283F7E29E254C2F1F5C54 -:104670001AE313C01E312BA837772FFDC62370FE17 -:10468000134F99F1BEF444661FC6678FAC35E377CC -:10469000435AD78A28478E6C617121F1F1EB2AD3F6 -:1046A000017E540E00DDED5E5B26833C3CE2137020 -:1046B0007CD9E377A6B2B8AF517ED4B91A515E3C2B -:1046C0001EC3E443FD9AC8F7AB51E5C5A24A26DFF5 -:1046D000C3E4C1828C768CFB85CB89666263F65D10 -:1046E0003EC9877AAF3F1DE9B7E9553301FBAE49B3 -:1046F000526E5903743333066E92295FF8F7807C4B -:10470000FBD427B8BCF4F94DB7FE660CC0EF30C03F -:104710001BF8627532DEAFD6F96A11AE5A3E62FD01 -:104720001A233D6B794F3778C4D07B3EF47F373501 -:10473000C41155D7EFC03D942EE97AB76E137CF0C3 -:10474000FDA303F71CDC7B6701D615A0C3A6BBB88D -:104750005E5D6D47BA3DF09D534B812E6FB95BC0D6 -:10476000FD13AFA71DF44AD31AC10571CDFABBD909 -:10477000F87A3A1EE8E5C0A38C7E281DBB80CE9B4C -:10478000D63EB017FB6F105C30FF8175B5A8871B54 -:10479000BC22C1E71B0EA2BD4CF501E60DEDF68A69 -:1047A000A940E74D6D1605F0AAD18B467F07F9F7B2 -:1047B000A789D53DF25AF87D8A2C5744BA1367640D -:1047C000237D356F3123BD347B193D1D7C4A443A2E -:1047D000DCBDF4FA4AA09F131B8528F447E9AB20FF -:1047E000445FE2E3661C5FBF99C51776AF65747DD1 -:1047F000A48BD9A7658F0F47BFA6FE353361F1079C -:1048000062D3DB1FE7A3C370BA1BA097381D46A372 -:104810003B8FB9733AE41FD4FE82EEDF15825759FD -:10482000FB77300E50D67E039E57E31F78AF05F21C -:1048300036E6742C61F98C12CBEFF9D2FB0ADBC798 -:104840008321FD980FFA11F24FFC741F2F6E79022D -:10485000ED804F9E3C88F98DF39EA3F8A7FD4F6C29 -:10486000B1133FDAD93E94338D5D22E69712C95FCA -:1048700078ADEEFD2D2D2F63DE2FED08F7C6AD16BA -:104880005F351DDFF8ECA191784F7E2FB353BD4FFC -:10489000B2EFCC106FDFC86B213F5362F921E1FA10 -:1048A000D73684C5718EFF260EBFC7246CEAC17B44 -:1048B000A6C6CEEBCD165DDC521C6266BF03F19B33 -:1048C00038F69E19C53FDC2FC2FEF4BF27A1E5854F -:1048D0001CDFCCF8A7719B19EDA3C64DEB30DED7DA -:1048E000BCE914E6CF96FDF2A9788043F336D1985F -:1048F0003FB549F45B30CF4B3C6861DFE530E431D4 -:104900003575B1F73B9A3A799E5058FECCBC5FEEB4 -:1049100078D64B4133EF999FC5033F7DD4BB311E01 -:10492000E049E7C3FCA3AB8BA2E4279D2F2FA9731B -:1049300005CF4BBA0A7FA7233C2FE923F807D5E31D -:10494000F94338DEB5BCAE4D4C6E51EC17467A0FCC -:1049500049B35FE63DF5F98F218FF6F8D68F7F0CCE -:10496000FB9FFF8F4F7F0C791D64678C02F644F329 -:10497000936F61FEA136AE7A08B3A74E6CFE19E6BE -:104980006F9E78D78276E1891D47B2C05E38F1F418 -:104990009954C8CB5CB4A302E3138B7E5586EF8792 -:1049A00046F337813E7D17903F1A8E8FDD5DA2DF83 -:1049B00046F7F9C93B16E4FFFE3CB3CE052C7FCF8A -:1049C000C5F3CBB644CED3D5F2A19ABAAEBD7A1C0C -:1049D000C8BB2EA6D7FBF3A3CE9757F63B8AD74B7F -:1049E0002F007F5B78FE60E75511F3CA3E817F5050 -:1049F0003C350E31E6957DDE75DB4F1E83675D919C -:104A0000DFD3D6F8FA7C70D3F2802F1BA2DE3904F4 -:104A1000F868EBCF318F0FF056ED02FDFF7916C429 -:104A2000378F9A0318370CECB02890EFD5B8E30015 -:104A3000F2CB895FEDC73C5BC2F3714F90FE3F96AE -:104A400037C96317CD1BEC2C1F8DC31FF2D55CF14A -:104A5000D8CEF3D2181D6BF96AD1F2D47E3E84D938 -:104A6000415A7EF20257AFACD842F802FC084580AA -:104A7000AF8386FC3FEDDCE1F3290087CBF4F997A7 -:104A8000D1F201B99D3E005F4C2E9F58C7F331FB18 -:104A9000F32CA949970FF9414C1F36FB840391F081 -:104AA000ABE55FFE340CBFDAF9A2F185C69FE7DF04 -:104AB000F75783CB9A212CFF5F83CFF1B391E57435 -:104AC0000FE777EAB7F887E8FC965BB9DFA2E59DC8 -:104AD00069FB6DEF647AF9F826663786F3775394AD -:104AE000DFD37A6308F3EF9AB6F58C0439747CD778 -:104AF0006F38DD31BA6EDA7250F672B9EDD3CBEDA4 -:104B000028BF5FF62EDF37F57723CED7BCE554C438 -:104B1000F93E92D4EB61FF1FF5323BE4A34E31E244 -:104B2000EF20ECE67AA9FFDC7619FD2E313E16E582 -:104B3000D1227BD13BF05DB7457619F31D5A97F032 -:104B4000FC887BDCF83B1EADF649F8FB0F4B013EC1 -:104B50003A3FD4AC78F07727CCCE9A02F0AFC2DFE0 -:104B6000EB941D26E2D3E35FF2E2FBBD5386FE45E4 -:104B700002BDD3BBD8F8DE48AFA4EC49A6F3F59646 -:104B80000B6EB07707D29971FE6B54D1103F8358EA -:104B9000359CEBB49B7D0FCD6EF22BB40BB1C7F4FB -:104BA0003AD1D173B1DFABFE1F05EC5EF50080009A -:104BB000000000001F8B080000000000000BB57D06 -:104BC0000B7C54C5B9F89C3D67379B6437D990047A -:104BD000121EE1ECE64D4258C2534539092426F233 -:104BE00070414554D4253CC23389F8B8D4D2B24080 -:104BF0008C88B40D824A7BD12E34A87F4B5B40BC9D -:104C0000050DFE170816ADB551D16AFFDA06880802 -:104C10001A6005CBCDF542B9F37D33933DE764438C -:104C2000D0DB7FFCB5C39C7366E69BEF3DDF7C3336 -:104C30009B48E89F8790752BED598A959004E295E3 -:104C4000884C88D3AB04DAF208FE5DA1FF4B24B494 -:104C50006EE775371647B34613E2608FE87BD701DE -:104C60008B44485C1EC9534612E222715E99D637C6 -:104C700026686F4A0984AC77FA27D3CEC915F81B8A -:104C8000DFBD245EA51DC6B3D3FFAE507812C7D2D8 -:104C9000BA3D327E9266AC27135D1DE1D108E90B67 -:104CA000CFE99F4A48B94C21A3702495598231120B -:104CB000BE9F9CDD37026F522AF186E0FD148737D4 -:104CC00040BF7738187C025E0ACF718047A5FF216C -:104CD0003C856D010B41B88EEBE1A07F92CF89F04E -:104CE0001D37C1775C0FDF30D59972B2805614A2A0 -:104CF0005CA1F875D85B09C7F3793D9E0909106579 -:104D000034E053E095BEA7FDB8A54DCA1509F0EAF9 -:104D10009248268E676A37D075329ED769BF7BE18D -:104D20001FD711D27F89DA62A3F3F4D92517A0A186 -:104D30001F85B51590A0B4DA0019CF3A443D64231D -:104D400085F4BB3DEFD9DA68B974E77BF8DE02750C -:104D50005A26C7AB13070C27E4FEE0305F5A3E7CAF -:104D6000373BCDE2C57AAB924A48C3347F9A653867 -:104D7000803FACB16520212F92BA21127D6FAF2FF9 -:104D8000683D7223F015FDEB0FEF0B5AB54278CF5B -:104D9000EB8484089DC78B715D75CD9E46EB9EAEFE -:104DA0007A00EA4D80FCEB61BC82D67ADAFEB0EA8A -:104DB000BB5B1D45C8B4E72C444A21647CA723286B -:104DC000011FB4F521241D9AD5C5015DBAF119C59D -:104DD0002F498D7CD7233FF2EF289C153BE9FCA798 -:104DE000F967FB268E20648CC4F04A5C6D23A63BD9 -:104DF000018EAA256A6AA4DDB4E7CECB1E0ADF12B3 -:104E0000CA53D03EB1C2754B1E852F710BC5960A91 -:104E1000DFFB1F00B8B357F82DC01EE349DB831238 -:104E2000A527F93405E111E334EC97917F1B1EB3FC -:104E3000045723FFAA926FA89E7E6D26FA8519FD5E -:104E4000F61E43FAD5341F63F4DBBBF500D0BFA6D2 -:104E50005972C5A8301FEF2ECA44E4F1E0049F3216 -:104E600088D23526DC0074B59212DFE47CC4EB6393 -:104E7000309F6E78E5F0F586D7174F6D7BB2887E50 -:104E80001AE8B078B349045FE2BB1DAA0DBF2BF24C -:104E9000F89F023CD46E6A6B88A570BD76EAFD046B -:104EA0003F8537BBE37CA888C29B3D0EC5B86BDC51 -:104EB000173BB61DB0D17FBE087C4C5FE410FF6A83 -:104EC00097E36AF860FCDD858F3DC7103F16A8D3D5 -:104ED000E7BB6D6401D0B574AFA40581BF63C8FDA5 -:104EE0003E5A6E5729A351B8F6A9322F2546C70E50 -:104EF0008FA2D2F6A5B75BB4202D137919997F3D07 -:104F0000FF5E61FCC5F121E829F88890C6F8699434 -:104F10008E79B9FEDD46BE792ADE43DF8F6F3FFE14 -:104F200020B144DA6D5F497C73AD91EF28FFFCCC72 -:104F3000D0AEECE1387F61E47BE04BE013337D6879 -:104F4000BB109397A7E2611EFBDACFCB80EF6BA576 -:104F5000ABF979EB4ABF6FA2B567F9F195C83EC0CE -:104F6000ABF9F9518E5FAA1902ED79A0B5259248E7 -:104F700051DD2FDD7F14E05B6A6F4BB89DD2B7A681 -:104F8000E4820DF0B03AFEEC0DFE28FDF40447EB90 -:104F9000A55C878FCEEF60670CE2BB5B3BA0271D53 -:104FA000E7DD95337D1329833E119750C4952DDAA3 -:104FB000B3895CEF4ECC5A349929AD2EBB275D895D -:104FC000216810146A47CAE00985AF62EC2E05EC2F -:104FD0006719D1D94B37F6BB8D0C037A580D766D16 -:104FE00052D62DA7C1BEB42A6D6B1229EA5BD32419 -:104FF000B43F375F6A6C01DB75739AD560E72A5559 -:10500000637D126176528C334DA374E7EF2FE0FF7E -:1050100007717E53558A5ADAFFD4ACB860804EF9D6 -:10502000D6B177F926EAECC57B97E5FB7D85DDF106 -:1050300033D92DF0E343BCFE3E96E26718CC73767D -:105040003D43D3D5F161C6A3192F133F9D3F99145A -:1050500075C7CBB5CEBF0BAF84FC04E6374993C907 -:105060003A7704AF66FCD0BF29F0DD7B25F43B091D -:10507000FC820EC542EB95D74944F805657D7574F1 -:10508000E7F099F16AC69FF03726F176EF00BE2867 -:105090003F4D92B738801F2A7FD43A3199EAB1CA7E -:1050A000418CBE2444914BF17213419C015EB721A7 -:1050B000DFB9ACE86750BBCEF8E3D3F2D3121D7F63 -:1050C00072277D47E12C57A5201511C0CB71135EC7 -:1050D0008E9BF8E2B87EDE66787F0FFFB82E0ABF9F -:1050E000288D7920F713DCD43F01FF2183A857A82E -:1050F0003D1AFDC9C844A61FA2DBC9F19DBEAE7E04 -:10510000183E1A916F24E2EF7AEEA2FD84346B0A06 -:105110004503996077A19C4C20DA9A763BA04246E1 -:1051200038055C97D37CB7BB69FB1252B9A65D8F7B -:10513000E74F853D67F89EC0F13781040EC80950DE -:105140002ADFE8E72DFABB57CC6730190CFED08771 -:10515000AACAF432EF4FCC2F399984240A6058B28E -:1051600007B749003F09D8FA44C6B372FA9ECE9AEF -:105170005EED46BD5E47005FE0B6003D4BF9FB5279 -:10518000BB2304F010BBB5A38B2EE0C390592EF0C7 -:10519000FB285EC895F8087C0FBB25E5645E04BE5D -:1051A0003347EC0199F2F5C474FF0F000F1DD23B99 -:1051B00045802FEA97E5803E37BFBFF0714B0DBCAD -:1051C000A7DFCDC7EFF8BC1683D34DF926BC3F2629 -:1051D000B8CD1D4D9FAF62FAD74E3D519D9C96C6EE -:1051E00031399F447C0AF8970763999CB5C42E44D3 -:1051F00079282775F543697F7F8CBBF908C8592545 -:1052000009E077652E231FF6C6A7B790F07DE0F77B -:105210004ECAB39AFCE800D2E7606C6E16D8B3832E -:10522000B14C2F0BFFE165B7EF5937BECF08825E57 -:105230003EAE8D7A17EC4455C9888F46D2D262F7BC -:10524000D9809EF380BF285EC7027FD1B607A1EB4D -:1052500074E4AF20B49FB3D6C45FF664ECDF47D5E7 -:1052600018C055AA59BFD5FBD55D78E376B2377F14 -:1052700091B428248FE2752EE7D383B13101F0E396 -:105280004A9FA0724CF13787F89F6F94000EABC114 -:105290007F9F1B6B457F6FEECF6351DE69E32D75FA -:1052A00074C8F9F4F93ADA0FC95307EAED3A69D448 -:1052B000B507FADB55E4C7B92EF6AC9DF691DE07CB -:1052C000FAA5DA8DE2936CB69ED7F3A579FC1EFBA6 -:1052D00035B53B28919960570F5AD5815E9DFD7871 -:1052E000D36DC1F99FB7676FB1787AC6D37C7BB2B3 -:1052F000A68C88D44FC6C6CE8CE62788FE045EBB3B -:10530000D617E49BC6967191F5C563ABBF6E3D326F -:1053100048BFBEF8BA55737CFFF5C5A9AD5FE3FA87 -:10532000E2690BF50F016F8A2F7F9ACE2FFADACD43 -:10533000FC976096F635C8E1D3DC8FA41C943F6DD2 -:1053400068F7EFFA2E9F404E50168BB193406C31A8 -:10535000D5030A09588BE17BFF2A0BA5B73293A02E -:105360005DA27A08FD4F331E4E6795FE03F856C8BE -:1053700067691CE57F2A8F4F58D4A646F0B3DF96A5 -:10538000A9CF4A475F3E07FDBFDB962FC4F2DCF191 -:105390004B39A0174A39BE150FB3EBB5F14CAE6AC5 -:1053A000E3991CFD31CDAF78E8F3564D768EA4FD20 -:1053B0002DDE2B7B63102DE10CE0B7DBA6C8A9F036 -:1053C000FC84DD8AEBC7834E46FF1344AA00FC949D -:1053D000BE17E3DB43CB47D34A723D3A3FF1D1B42A -:1053E00089582715D4E1A37CB9CCCEE4E10471330C -:1053F000B8D74ADEEDF4D1F9B5EE44E0CF8356627A -:10540000F047D23D0AC29BEE6178ACEAA4C2398271 -:10541000F15D1D1DBF4A516DE0FF5775DAF039C0CF -:10542000817C196BECC7E361FEB8C7C3F8A9AA5326 -:10543000C220C1C158733F0A7BCEF9DB4C87A7DC81 -:105440001372603E8FA669B91EF45F5505F0533A9A -:10545000B2E563D087BDEBFF8004FABFF692141A61 -:105460004CE7DFB1C78AEBBA0EBE2E38B3E750DF88 -:105470002A5A2EDDF54102AC1FC7727A9D515A138C -:1054800000BE25AF527FBA10D9B9EF3DD87ECEE825 -:10549000756C18BBDE2E5E7F3973A00FBFA3008E24 -:1054A0008EF86513EC8120C07770953C13E846EDCB -:1054B000A6F0CB24D093657B642DB6A8BBBF36D5B0 -:1054C00063E5FE3AA3E3432E364E4FF25DDA194F01 -:1054D000823AF92E555405E02FED4CC0E7674E6D2A -:1054E000DB3895F27D20CD8AEB436A855AD05F94F4 -:1054F000085FF0D13A9D4F0B9FCFE13DB7DD7E03B2 -:10550000FDE79B607FE83713DBFC294CD8E9EA6EA6 -:1055100074C4FF2A7319FD44B31F29EC5945F3865F -:10552000FA0104F01EBCED06E0C3530A013EECE6AE -:1055300067DB6FEEC19FDC807CF4DA9E5FE13AAA04 -:10554000C8A362BD76CF8572E0E31A129A01FDD638 -:10555000EC915D21FAF561B2A700EC8AB0FB022F55 -:10556000A14B87EC5EB00BB1B26B35CCD37E8743D9 -:10557000A578BAE15C610ADA3FBBB502F462696CF6 -:10558000B6638E8E9F0FA6C815C0078753328DCF86 -:10559000ED1B0BC0FEEDB3307DD472F26E471B7E67 -:1055A000775B0AFA71C2EE9BFC561127ABCC96834F -:1055B000D1FC61226FD9144BDF4FCAB51219FCF729 -:1055C000B645E80F74B3FB97FCB83E30DB7F8177BC -:1055D0008A6994976E7E6B04CF06FFF5690F8F97EB -:1055E000A96428F8A3A14B1B17039CE79AE35DABC2 -:1055F000311EC1FC9D73ED8B364E81E7EFC8185FFD -:1056000039774946793AF8C6E2C16D3A39A61604A7 -:10561000E97471F8D7675FA7F4B9F8799C3780FC13 -:10562000B7B320DA7A59ACA3E8C8FD2D69087F7FAB -:10563000CB5814375CB7DE1459B7FEDA83EBD6705B -:10564000399893B42DC76CC01767A80B0FF00628C4 -:10565000F1B753BCDEA4B5C92E1D3CFF97CB7791A3 -:1056600047DB057A25404A0750A7852C88D34A6E28 -:10567000007F741A716DA3F3D97FAA54B2D2FAB81D -:10568000ED6EAF44EBBBC12105BE7D550E6EA77814 -:10569000D84DF5F16EDAEFC2D6469B9B8E1BD843F0 -:1056A000811A43EB9490808753D64046928E4F16D2 -:1056B00065B2714F59FDBF847E4E7D1243607D7887 -:1056C000EAF3B8A876B83893E9CDD7B99D7364AA40 -:1056D000D83ED4F1DA9BFD295CA14ED770C0FBA265 -:1056E00097BE9667D3716EE4FEDAE44DADF510D740 -:1056F00099BA25AC80FEF1055D656082A7BFE4B56F -:10570000825DBA7D87CF0AEEF98C3D7556783F737E -:105710006FE361A8DF1DDA89755BA6FF23C0EB4D3F -:105720006BC387805DB21A89027241BE617E589850 -:10573000CB9DA7D37B3011B9BAC4027CDE35FE8A7B -:1057400056055CA2A9F56C7CDA5F1BF657179E0024 -:10575000F62D6339EB2F831C5895A846FA1D7FA9B7 -:1057600055D2C71B4A7FB804F9E8F947970C4E0693 -:10577000BCFF358664BBB96CA4C0F38141587F126D -:10578000A52D7FBADE3F23A118C637C4CE4AC14F2C -:105790009A9DF1912B0EFC85479EA98B03FD90E20B -:1057A000536D7E1D9D4A374E1EF216F0696C0CC675 -:1057B000ED2E0E677EFDC50D8E6080C5BB8700DFB8 -:1057C0000A7B5505F436C4A384BC33BEA75D04012F -:1057D0000E511269B58BE8EB24940670757A187D2A -:1057E0009B6CEA2C18AF292EC605E355D9B36DA0E2 -:1057F0009FBAE29F1044A47AE206EE6FEE3F753046 -:1058000019E87A71F8AA0C5817842CFF8EFAA83779 -:10581000BE5AE2D1923211CE4006ACABC4F7FB4E79 -:10582000C615823D7C5DF861DED98361BEA25D5103 -:1058300026F30BA83CE0FC851CA4B4126D6B21A2DE -:105840004ADBADC3477E268BE38972B7550D3039ED -:10585000A27E08C8953364CF0479DD9789F5141FBB -:105860007178E9FBDABDD95E594539CFCF4C8DC887 -:10587000FF8D5CFE535AC32877D7BA3E706532BE9F -:105880000D293BB9FC10D443203F4C4F870630FE16 -:10589000080C00BA805EE0F449976859CDE92CE61F -:1058A0009DC2E57E2A976BC003BCAFE4F314EF6F93 -:1058B000E6F82A930B13DBA2C47DBAF86E793A019D -:1058C0007FB16CF9002C2B39BC0BED1B309EBA302C -:1058D0006503C65153B4462C174E6CC4E7695B662A -:1058E000237F2CDC2C19E2A2A27C81FB5F674E593E -:1058F000D07E114B5C7FE03FF1FED7E067B0B8F09F -:105900001D80E7D37B363E53A446E2C2A79B983D59 -:105910005C1067F4EFEEE6F3DAFFCDC164E0978B3D -:10592000B18D53EF0639D92EBB56011D9BCA2435C4 -:105930000AFFE9F10C78AD6DFA4739CCA386B4358E -:10594000809E3ECDFD32B559427DAAEEA5653F2A27 -:105950002C4D4CBF9EB232FD7E4A4A96403E40BF1F -:10596000839E3DF5F9BA8C47818F2427FA37A037FB -:1059700077E9F863F18EAD0DFDE93F6FBAE41A0ED9 -:105980007C15528843AF9F059F087D6B867B05A7DA -:10599000ABE0C31B22766805E00DE2A740B29A0D8A -:1059A000E7317EBA81D3AF09F80DE479ADE0B7E114 -:1059B00016D4A726391EF32FD2DFFB9EFA4506C662 -:1059C00025C652B9A5727D1AE43A0A5FFC9CD36FD2 -:1059D00089C7BF29338ABE3F2DF97F999C1969BFBA -:1059E000EFE42D43AA74FD3CC8F171D1EA1FEC8AA3 -:1059F00082AF085E497FA0F3024A19C003D922B9D9 -:105A0000C0EF13EF53B6B07D8097B91C89E7A22E83 -:105A1000F03D1EF09D89F87E3993D97D1B98E4B442 -:105A200020B3FBC4724B7FB0E30BE3B45B300EB327 -:105A3000C14220AE44A452E4F794A6A74F5E1E09CB -:105A400065AC07F755A85F0DFBA50B9F50711DB8FE -:105A5000FA8558E4B350A607E7B5BAC98AFC76DAE6 -:105A6000DA98817CF9F9A2C1B02F13F884D9A19EEC -:105A7000F029F8E727DC5E0BBEF3AC677CD7A4689F -:105A800071C077C28E0AFE3CBDFDE6629037D13E02 -:105A9000C237AEE1826F66D3E79EB56D32D087D252 -:105AA000ED8F8087CCF561D45F3DD14DECB709FA1D -:105AB00009BD9E906531E0FB330E7F0AF75FBAD3D4 -:105AC0007195811E3746F8FF5333FF5BD5883CFD47 -:105AD000A11739B83ECBC5E20C9FCD4903FD22F694 -:105AE0006BC43EAA18FF2CE7879EF65B0EABFE3315 -:105AF00099BAF9C07EA08A7A9DEDAF94717F7BD967 -:105B0000F698600CA5DF3E7805FAA23D2E087EA22D -:105B10006897AB104D2926E4BF33DD385E2EA80A06 -:105B20005A4F596E235974DC8BD71D6849A0DF4F3B -:105B300009B74D1E46A7B6CFD676FBAD10F725DACE -:105B400022F02730560F7CDEC1FA25AE9D0638AD17 -:105B50005916C33EA898774F76AB277A5C9FC5F756 -:105B6000C7F87BB39C1FE3F83AC4CBDEE53490085A -:105B7000727A1309AC82FD117289B8C01E77C9E927 -:105B80002582F6657096514E453D8A9C0ECED2CB4D -:105B900069671B93532E8F894D562D9A7F32348B14 -:105BA000AD7B139BCA4AC09E24FA08C63FE8345115 -:105BB000AE1752B906790D807CF6037C32FEF2688E -:105BC0008DF7C17B4F13F3AB2F26B1F92EBC513BA0 -:105BD00020839C53BF5EA29F3672B9EE19EFA14499 -:105BE00089D9A744D027378D6B9B00F656857D81D8 -:105BF0007E303F46DFF1E3483044E9AE5E224C4F51 -:105C00007CFE8BFB1E05FDB0C1E1CD5623F627ECD3 -:105C1000F197001E7A9267CA971AC4A396FD9783DC -:105C2000AD037BD81F1FBF5C46FEA37C7E4B960E48 -:105C3000FFE37D6119F09A1CEF4FB32611724FD329 -:105C4000D0E9F641747E6EEADFD2FA4C5A5F0F71EA -:105C5000B73E6D84D79F72A47FFF38DD3D5985EF35 -:105C6000D753B80399DA5D59A9B86F7D0FC073D3C4 -:105C700080B00CFEE7B5EEEFD7427C8ECEE7F81D84 -:105C8000435E984D9F56DDE56B80B7228E3C86C7FC -:105C9000916B9B87637C59174F5E94759578726FF3 -:105CA000E32670B9A7FC8DEBB884B16119F4A2D0DA -:105CB0002BCBB3FA707E6E23B0AE10F2057A09FCDE -:105CC0005A916700714527EE5704F17BA8271647C4 -:105CD000F4CDFA464B4534FE7E3CCB11558F92E60F -:105CE000FFFE8F4747D3F9C22BA6571FCFD2E9D566 -:105CF000A6C6E37D999F4AAD3CF51B1EE46BF98D6A -:105D0000ABBD7FCE02BE7B57C678CA7531B6800464 -:105D1000EB7E8DA8AEBEBC3F10BB6629E42CA2F57D -:105D20006F25A2419CF25B19CB8D3FF655B8216ED1 -:105D3000F2B1C5BB9A60BE02E267EC6012B4D37FD9 -:105D4000EEE5F1CF92130E0DF200CE4976D49FE727 -:105D50008EC505C07E9E735A306EDEB23F06E5E208 -:105D600042561C8F67040D710FB19F73E19D39C9B5 -:105D7000A0F79FE1FB9BCFC4B2B8EA3377E5603C64 -:105D800052C46D1585E2BE0F84A9285EFB807F3C5E -:105D900000E3A9228EDBD73E5B6249456C1CC5CE71 -:105DA000E6D757F14B101FDFDA4B3EC4EB59361ED6 -:105DB00007F0EF01FEAD5DD1668375ABF07B855DCD -:105DC0001EDCE139007911832B58986C6B87C50272 -:105DD000F3DC4AD929C9DD9DBF041F6DED9E7770A4 -:105DE000204B17A79DF618CB3BE8AAF376BFE479C2 -:105DF00007E3DB8FBF02FE1C95F75D867665A97110 -:105E0000FE287A6BC6F21F62FB9EF87F8685F8A398 -:105E1000D99113427F2B7503C04E91BF3F12AF46FD -:105E200089CBCCF8AC2A15F0628EA745C6FF318E1F -:105E3000FF59168F1F65900CD85FEB6D3FD30CF7A1 -:105E40004756FFA068764AD0D93C5EF7F66C1DD65F -:105E5000F59D8DF8773958BFC5BA7E53B299BF33D7 -:105E60004362FBF5E432417B2DF884E2FD3F812F54 -:105E700046FFE9C48838DCE709CBA00F2E7C9C35AF -:105E800010F7DB7B58770A7808F16747CBEBA0E384 -:105E9000F9A2D121299BD1618695ED4748776563A9 -:105EA0001C60466C8C14A3F34F2E77D95BCDB02FBA -:105EB0007B3076CC488C5F5AD581D1F067DEAFBDA0 -:105EC0009C45905F012FDE28FC24F695059E1B4A19 -:105ED000B41285C5C7C83630811AD3A3291504F773 -:105EE000D7C6481AE223339BF94D5B79BEDC857730 -:105EF00064D40BA34BD4206C91527BE1CE1E85F968 -:105F000057AF5874F957824F1A7E43EDB2217EC8BD -:105F1000E44AAC9F93B83EA65EA3B64BF79DBA0287 -:105F20007440C41E0CACB71BEA190FB988A2B31792 -:105F3000495A9AA13ED0E78A8375D3C00AD5D04E7C -:105F4000F09DC8FFC3BF1498B70BE34F7D383C6387 -:105F5000243FF20DE837880F97707AD2F98EC7F98F -:105F600056B45DD0F38D986F6FF33ABE92C243156D -:105F700058FB4A0A2FD50B73D6BB57A521DE5D040B -:105F8000D6132757DAF1F93CDE3E69D3EC86743A32 -:105F90004452BD8A71D924ADEECD74C8B7ACA37597 -:105FA000FA37B7519260BD4EF50CB67B6EA50B4B20 -:105FB000416F177D2F817D2F2579B04FD3931DF32E -:105FC000673B0CEBE1ABD8317FF6A8EE76CC62F7FD -:105FD000BE05FBFF4B9B6515F862CDE43E1AF0D37E -:105FE000C69D9217E26E879A591EDEC619CC9E880E -:105FF00071CFBE9A8876E3ACC4E49CB424A11CD4CF -:106000002671DAD427E17EEC39BEAE5E91E5AFCBE6 -:10601000D6E9CF8DCDA362715FD66497E89F4BA27E -:10602000ED700F4E02FF69F85A2513F5C072809F7C -:10603000CC6F1B119B097CEBFF609C047AE09B0CEE -:10604000A0A7795F4FECFF897DC13FA6F95765EBAB -:10605000F456F7FD3EE33E959C60C73CDEB132CB83 -:10606000E3D5D95F02745D037E22E5BB35C7E2103C -:106070003F6B2E33F9A370FE04C669718E467E1203 -:106080007696C259F42EE90E67AD258CF1421D9C1F -:10609000CF5C1D4E539E2B87AB0BFF7C7F4A762A2D -:1060A00008FF3912E70538F7DABC1FFBC10E9F8DD8 -:1060B000C3F89EA04F0D97B173941E1285F3DCDEDA -:1060C00011B11607F847FE17805EF2A07002F8E7DC -:1060D000879A47E4C37C7ADAA73D9255FA7236CAAA -:1060E00099FF37D06EBCABEDC26FD5C8FCAFB2BF65 -:1060F000BB0BDA7D07FCBCA6E7A3DEF053AB38D6BA -:106100004A2C408E7E98C4F5B499EFA4E603FF05AF -:10611000794754DE30EF339041826B28DE1A8632A5 -:10612000FE2373898A76D9C4272BB27C6F03FC4285 -:106130004EAF829F7701EEDA2C5F2B7C0F700C281C -:1061400046BDF47E36B36FAFD82CD89EE5AF241190 -:10615000CCC731EF9F9FCEAAFA04DB0BFF2BCF2FCA -:10616000B90ABF931C1CBF3A7F85902F96723C2DB5 -:10617000857D5DC857DB63ED30E44598F0F0789697 -:10618000AF83E181F2D948C6676BC855F11186EF3C -:106190006BB3FC17002F4E2BE51740CAD8D9698086 -:1061A000E7C3AAF635ECFBEF5EC5F071EE4F0C1FAE -:1061B000FBDA2DC8D74F93212897C596F3F741FFF7 -:1061C00054BF5C867EC685774AB06EEEB740B58018 -:1061D0005E1E10F6CA96ABF3AD9483EB27BF022583 -:1061E000A5C383408711EFB078CE55F8D60EDF7F78 -:1061F00007BC27E57C07FD43F92A15FA177C75AD26 -:10620000F956942FC8803EDDFBA3EB28DC5F38B045 -:106210002F06F555CD6E09F579CD1B5FE07ABDE609 -:10622000B51864CA89AFC5E2FBF37BD8FBB325D1AF -:10623000F3013272FAA0DD59BAF3019FD14E07F093 -:10624000F9CFB4F3AE2C39B2BF9A3C859D435813B5 -:106250002BF24DD93E6B02E7B3E4413E0DEC507298 -:1062600019C17CC10407CB43EC7EDE80C96D2A6F67 -:10627000E772A912E0D97CFE408E63F985A964FD1E -:10628000D780A7E40AE3FB544705EEBBA69ACE29C4 -:10629000087C97E570FFD946D2408FEC34E55588ED -:1062A000F2FD1CEE07D627E17A50E170B5386DC8D3 -:1062B000B7CB9C769CF7B224923C19EB0ADA7F7339 -:1062C0003F5DFEA76621AAFE1C45451C5175FE5187 -:1062D000AAAF8FA1DE6F667FC3F7E97E8FE1FD80F5 -:1062E00005430CEF07D5151BEA83975F6FF8DE4D6A -:1062F00011A0AF67AEBDC5F07D76E374433D77F383 -:10630000DD86EFF3835586F7052F2D32BC1FBA7358 -:1063100099A13E6CEFA386EFE51EFCF26773589CD3 -:106320004D167EB973A41FF84A76DAA518DDFA6F08 -:1063300019A7474942451AEC5BD63BCBD3607DDABF -:106340009244EDF155E26EDF77DDD628E8CFFDAF60 -:10635000521E773B7B906A11CA7F3587281F0C43FA -:10636000FFAB3187FB5FB355F83E6C437BA278717E -:106370001E3312EC184F33F7BF2C478DBADE922D27 -:106380005ED764A9677C09BEEC0D5F9B395EFFB7E1 -:10639000F8FAC8943724D67BE6767FCEB1707FDCDE -:1063A000BF3B47BFAE2361D987EBBA6FCE0608E883 -:1063B00051827E4D6DBC0BE312663F408CFFC734AB -:1063C000DFEBD08F599FFA96CF67DF59E80243EE93 -:1063D00079BDF7E71CF37AAF6C26D223C966C0D328 -:1063E000FE2E3A6B86F55E7DD2685CEFD55BB5B468 -:1063F0006B59EFEDCF2188EFCD40D7541D3D6D5E39 -:10640000D5857ADEE8BF74F7CFA9FDA3F3DC087E5B -:106410009D047E5932F3D7774B386F31EEF7F0CFCA -:10642000DBF5F6A927FF3C8678D72A32D2EF4BB0AE -:106430004FD41F7F3056FE5EFEF885EF620FDFB748 -:106440007A318FFDFD29325945F178A1624C3F1216 -:10645000451F8BF2288FDFECCE2548B7DEE21FEF19 -:10646000AF5C70D5F31CEF57B23CCDE9C047BA71B1 -:10647000D373195F8CC8E5FB92312C8E71E63F9C7B -:1064800078EEE0CC2D1F261027E4B78D1819803C3C -:1064900066E27D08F26F020E27C609A7578E1AB969 -:1064A000CAA9E3ABB10CCF137EFFA70488FF4CDF72 -:1064B00095991A70F4CC4F23F8FC88D2968379D939 -:1064C000AF9FEEABD272FABEEC5416A734E6AD998C -:1064D000E346D397D718E47869A74482C9BABAD2F9 -:1064E0008AF9814B3B157C7E39C71857EA115FD773 -:1064F000884FF37381CFF72B4F67403CFD6C6C7472 -:10650000FFE37E8EEF2EFE319D83E9E97C4739EF74 -:10651000FF42C575FD40CF4DB7A9D9D712E7127814 -:106520006ABDF4453CE88937E07C4D94FEC7E7B28C -:106530007DA537B4CFE1F80329B1872700DF97F0B5 -:10654000787A94BCFFDB7261BDD459F12FC9FB9FEF -:1065500095CBE9C3F3EAF372D5A879FFBD9D5F9AA5 -:10656000668B6EEFC646F0F721C8EB83CF595D000E -:106570005735F84E10BFDB6AC5F8DD07976208ECA7 -:10658000A77CB1C5FA2BC8575BF05CE6739B687DAE -:1065900041650CEEFF546FB5B2FDB9CAD82084AA8C -:1065A000166C7DB8EF1C3ADE57546E9764D3F7CF64 -:1065B0003D8DF9331FB4AFC3FCEDD320CFF4F98286 -:1065C000CB8FCF00FCEFB335160CA7E5921D92E1FF -:1065D0001CC6A2A658435DE4030AFA1129723E4381 -:1065E000A5F6A421D7781E6B4464DFAC2197D96B44 -:1065F000CCB3AF99C2CE631D3AC9D6FB87B358BEA0 -:1066000060A8F2CEC9C3E93C2A53AD182F31E71771 -:1066100012824427F379FE6FE5270A9EBBAD1CEA80 -:10662000443FF0CD95754807DACE51A63B8F50F91F -:10663000731677A974B3BCF91EF30E4DF986E27C8C -:1066400050B73CC3C8F9A0E3D1F8E657B946B93E04 -:106650007492E515CE7F4766F3EA456F1EE5F3F8C1 -:10666000A07DC8BDBFA5F8F8A08269F10F2EDDFCA2 -:1066700018C4BDBEF04904F23CBFB814FD5CDA3F5B -:10668000BAECABBFEBDC0ED0E7B68A855D7510CBFC -:106690003B7C0F18CEF55CBBBEB9BA3EA9CE65E710 -:1066A00032CDFADDCCF7FFBFF4FBF4CAC3190127E2 -:1066B000962F40D9B18BE947B39C9BF5B980CB0CA1 -:1066C000EFD24ED990873C16F4C028BD3EB7E17B8F -:1066D000EAEEE37C02A395E01A09FD80CF81EF4743 -:1066E0003A82C92574887AD7B6F8ABC56FE8FAF94B -:1066F000347C5FE3F6774099FCC7FEA560EF47BCAA -:10670000B313F308CFF5904FFEA1DB94BF2619F722 -:106710000BBECD2DF910D6FFEB54560AF91C498556 -:1067200090E73B7C9BCBF6E57E0AFB96356F5D449C -:10673000F97CDAE64F83F840A0BFCDBB3D4A7E88A6 -:1067400092F7DDCE25EC80F83CD03D2FCFB0DF07AF -:106750007122CC5B381E8771A2E7D3B4B83CFADD56 -:106760002B695A7C1EE8F334CD91A7B34FF57C9E7C -:106770008A25BA5F5C9627F8DF87767C5E29D5BFCD -:1067800051F8D09BC7F2F94B9EB92B03E2719F1FC2 -:10679000BB3B03F463CBD363AE9AD7F633904FAAD7 -:1067A0003F9F04BD9F1DD94FFD09971B11EF9E67A9 -:1067B000F3E5E8F3B192F392D87EED75BB5B3D94BF -:1067C0004FDAD7CBA8BFDB1D2C8FED8443A9682AF5 -:1067D00064ED520CEDD8F90519F89ECAB1E250BE2D -:1067E000D5EBA332E0E9D49EE759C6E964235E3BCA -:1067F000B4B71DBFC50E76549634178BFF337EB8E1 -:106800008E8E00FCF038D76397D3FCE301EF366E31 -:106810006FAFE3F6567198ECEBC0ABEF8FEF4DD353 -:1068200026423F77A7696540D7BDB64001C8CDDE97 -:10683000B8E8796993F2983F129BC7F98538D07F01 -:10684000C5F164DCA79F9AC7F6E97D50DE3420BC11 -:1068500006F2C93F74BBBAF6B97D789EDE7707BCF5 -:1068600027696DE456C893A3C0C23987D74F1D2747 -:10687000A0BF12C2ED04F269124CF9AEA2FC2A8F3D -:10688000F91FAFF17DCFEE72C7F8CCCFE16CA2F269 -:1068900002E74185BCC0FE3AE44BAC53FD5CEE58C8 -:1068A000BE47D3537D24D867F168AA05F803F24C9C -:1068B000413F99F3839AF3981E053994AE22870FCE -:1068C0007F47396C7A6AB22516E07C94605E075582 -:1068D0007EABEDB4FEFC329717CE8765AE27B80EBF -:1068E0001AB43C6E1BAC93025C9E066F22AB63E94C -:1068F000D76E9EC727F2A2DDF56D0A9E177894E544 -:10690000E99DFEFC16D909FD7F2DFA37E6058A3C84 -:10691000BE468E5F318F251EFF93C01FE6BCEA9EE8 -:10692000F3BFBECC873C87E784BCF33C9C713C0F33 -:10693000675CD3D3188F1BD774B322D14F9E5742B5 -:1069400012ACF79EAFD314B037BFCB637939BDE536 -:10695000C1BDCCF9B191D3B9A77CCA17F87751F270 -:10696000295FC84BD5E593FD80E5533E9EA7E2F72E -:10697000CFF33C9AE7EB58BC6ED14BEF49FABC39E8 -:10698000F19DC8BB1BF810CBBB7B5E698B05FEB9C4 -:1069900018CBE875F10771C15518946F1B1EFD1CCB -:1069A00082398F9CE58F0F0E874B301F8810BC07F4 -:1069B0006148BE6AA0CBD6B02B0EE4A5377BF0268B -:1069C000A7E7B5F2E18BF90C9F51ECE63B80AFEF06 -:1069D00060375BF398DDFC20EFFBD84D6E2F85FD13 -:1069E00014EF8F717A56E751BBA9F36B7576F358A4 -:1069F0005E14BB99428298A7413A2C5E7D5EA8281E -:106A0000FDBCDFB73DDA17D07E1C8FA724741C278E -:106A1000924E0F4DE7722DEE9778B10FB97F5A94D1 -:106A2000794CE1FD596685F13E8A8466296A1EDA51 -:106A3000876EA64FA85EFC4F94B3C1546F4ADDF534 -:106A400066147AFC13BE1FF08E760898E4FAA4A6AA -:106A500078709FAE420F4B7E2AD04393A114F82F3B -:106A6000BE625C470AFCC7E533F9ED9BADC5E6D3D2 -:106A7000F22F5CCE7AA24B7A3EF36386F052E4A901 -:106A8000EF36F9A313F2195E6ECE37C61575F44BC7 -:106A9000CF8F423FA187DFF6F806023CAF9DDA1D9B -:106AA0000F7C24E824F48F995E11395B25F6C9B375 -:106AB000F3A3D81FD1DE6C8722ED0308F756E0A3BD -:106AC000912CDF07CF11F0F308023EC1E71A9FE7D0 -:106AD0005F3DDA7080D70CA7ABC3225D0DCEA470EA -:106AE0008A04F29FA4B9B07CFD944502B85C6105AC -:106AF000F3DD5DDC3E9AED2055171CAFAC9F17B956 -:106B0000DE6838C3F2101B4AFC6910FFCFC9D626D5 -:106B1000025CD5795A1994D7656BE5507EE8667E9C -:106B20004B7ABE560175912F6086D397DF957770AB -:106B30002BE033612209803D84FB64609F2581E75F -:106B4000312468AE52B063095B08E60924C7870F99 -:106B5000C4C0FEDFD3C40BE79F7202AA05D65F99BB -:106B60000F69ABA16C38C3EFC52921787EB22B8F9A -:106B7000AEDE837974206F7A7EADE278AECA677A32 -:106B80008EFA21F7E733B866E7EBFC1021473DF9B1 -:106B9000153A395C80EDAE5D0E6BF3BF9B1C3EC8B1 -:106BA000E5F0A16B91C31F46E4F051F8BE37395CA4 -:106BB000C7E5EFC55EE4F0FFF07E7F97DFA31E5DC3 -:106BC000174D0E459EB0E0779043B0F741DE1FD5DC -:106BD0009F3FCB4FFD5E72B9399A5C9AE5B1ABBF6E -:106BE0006BE4FF9EFCBF0143FC7CDED1FDBF1D3C7E -:106BF0005F5CC833959797B9BCFC9ACBCB0E80F7F6 -:106C000043B78AE398E5ABCBDE84999E80FC3C7D5C -:106C10009ED6E108BE5E857ECC7939E34CF1FCCF8F -:106C2000F2193FBCC3CB84F071027A81E2ED8D7C16 -:106C30009DDD7891CB4B602CCB3BA5925A0A7EE52B -:106C4000BE0EEA470238F90CDE719B5B0F81DF480C -:106C500094C678B8E7AA273C7986A8625F202A9E66 -:106C6000E8F87F86F1CD746B06BA39BAFBF3667A21 -:106C70003573B90D737C7C5F3804FE008E61088724 -:106C80006A59A7B3F39F733D41E16D0778C74F0C75 -:106C9000CB04E10AC5C3FE89D0A764206D3FB27B57 -:106CA000FB8E48FB0EA0D7788DB62F8CB44F825048 -:106CB0007E26E831AACFD04FD6F0BC62839BF18309 -:106CC00099EF9B6CEC7C4417BD1AFB23BDE6AAFE32 -:106CD0006FA1FF26859D1B695AEB92D8794096EFEC -:106CE0007B225343BE8DA287C890EFA68794214C88 -:106CF0000F59875C831E720CE9D243F1F07D38F79F -:106D0000EA7A6800FF7EE090ABEBA10CFE9D67483D -:106D10008FFEC0009897590FAD53191EA2C8E960A5 -:106D200080EFDB5C4D8592CAA97B486AC4AED17600 -:106D300099509FCBDBAF6F64F9160112E78DB6CE89 -:106D4000F00E715C6BFE9997C3F99DF2A837FEB8FF -:106D5000CD06F816794E625C73FEB4A0634DF3AABB -:106D6000116428E4695DCA00BFF2DCB16F313E7284 -:106D700024AB4A83F15BF68F31E46589F197F178B2 -:106D80005A995CB813E2B3E78FD830EE2913F5D9DE -:106D900071149EDA235612443DC5EE1B10FB61D6DA -:106DA000230DAD108FB712DDBD50B89E5113816F0A -:106DB000AD47D8FD4C2485BD0F10FB2A76BFA371CB -:106DC0009F3F4933EEF32757F431EDFB1BF7F9FBF7 -:106DD000CD34EEF3A7FB8DFBFC0316149BF6FD8D63 -:106DE000FBFC8397979AF6FD8DFBFC996BA79BF6AE -:106DF000FD8DFBFCB99B8DFBFCF941E33E7FF55B10 -:106E0000AFD8605D5DF0D232D3FEBF71BF9F22A4C8 -:106E1000354B775FCCB0BDAB0DDFCF6D63F7900D19 -:106E20000FAD33B66B64F71504E87F80CF2F88DF92 -:106E3000067CA690F09B0320BF25287943F4B385F8 -:106E40007B778D86B298C7C5AB371BEF395818349E -:106E5000D6BF7ABBE208E481D58210D17E6A5F9208 -:106E6000824177CF745FFC92B1BD88F32EE6F3398F -:106E7000CF9D82F35B643CB76CE693EAB76E63F731 -:106E80008605B456B8F741E041F08B8BF38B804B0D -:106E9000E063B1BC04E55CE041DC9F55639A7FB7D9 -:106EA000F9EEDD8AEDCCF336CF63FB90AEFBB0702C -:106EB0003F8074931307CB13A2F3827D72399067DE -:106EC0009213231E7AC2DFB5CA8DCAF1109366945D -:106ED0009B5835CECC77486F333EE3F38CF264C6D3 -:106EE000A7D3DB3F2A7F89FB4F713EB01FB25722E9 -:106EF000BF90BAE37541F386860151F8897A7E988E -:106F0000E761C6EF7B26FC1E56FD47413F5DF8F862 -:106F10001B19E9EA6F1B01F6EC2AF9671FF3EFAFC3 -:106F200075BFFD187C2FDA9BF7DBCF419EA4EEBC2A -:106F30008AD44537CD942779E8BF601F89B6F1DB45 -:106F4000200E5BE1B5B3FBC0CCF96BFE736047026A -:106F5000A51AC138E079E25D43FB5BE3FC8F825EFA -:106F6000E2221786A0BFEBC7FB85C687DB2EFC1687 -:106F7000BA575A5D304EB47B484DE70F2FC3B8DF88 -:106F8000F79E47E1B7D3759252C0FC6E5B817E9D40 -:106F9000D475BF2A5BEFF4D48FC823EBA9940ECA33 -:106FA0006857C3529C37DA3D65E905467BAF3BE73E -:106FB000995EA0B3A3350F5F7813F41EC5F7407830 -:106FC000EE7452FF46BA26FF4685EF9F8D4F40BEB6 -:106FD0000EBF250773DD707F959AD8A7B0FB7D4B58 -:106FE00022AFB00EEE534A86E7F98957CBBF28355A -:106FF000DD7365BE97A8A198C155CCE7E9E7F75DB9 -:1070000095F3BA389726E271B53359BCF969531C28 -:10701000B3BCC0C9DA679596039D1ADC12FA4F0D0E -:107020009264D84FBA38A4A41CE6ABF1FECB21364B -:107030009F8AE7EB10AE14D33ADE52C0BEB7149469 -:1070400062092B7AA0B74D96A3E2735201835FF8D1 -:1070500051DFE39E99A33123BBDF3363BE1FB13CF5 -:10706000AFAE05D48379DFF7D5DEEE99395A1E75B8 -:10707000FF17F01BDF27C2F7730B8CF72086E2FCAB -:107080001BA7403CE24FB217CE9B98E7FD4001F3AF -:10709000FBD7F3750BEC2BC17AA40F2FBB7FCFF07E -:1070A00014CCF23D807855285E29BC211BBB0F34DF -:1070B000FC21C171FA2FD00E407D944FC5F3150D00 -:1070C0006EE280FB82C2C32D181749F1BB26C2BDF8 -:1070D000BE295BA43E804EA117AC0A093829BF34F3 -:1070E00016B891CEEBC99A0370BF49E296AF8907F3 -:1070F000D713AE892ED0477349D438E7937C3ED35B -:107100009EF328B02E4BB447BFCFE1493E0FAA1FD4 -:10711000D6C13CC6DB8F8D903C11FD024B5BFCBFA2 -:10712000768BE15CB3284F644E68047E1DB580F415 -:1071300010F7647C7A83EA7B06FA1F7554C5FD8AD2 -:107140006AA1A7E75A08DC3B7A17679FBBB6B0FC79 -:107150007572E9CA1559F8DD04FB27B07F50BDC42C -:107160001984FD84EA6637DEC7471648B8CF51DB7D -:10717000FC9E0FEAD52347BA50BFC54B12DCCB08A3 -:10718000269FE933859C14FC22F349D1FE6772FBEC -:1071900020D6F7D41EAC8FA778AFDEB2F5009C8F57 -:1071A000F87FD4F003DD3E96FD1FFF90F67B073598 -:1071B00052CB8BA154C82C8CABA7613FB7F37E0296 -:1071C000DF12E9A43D32EE1DCD6FE17C3EB6928028 -:1071D0009D3293B5940D6D7D3411F75B457ECE0CD9 -:1071E0007B6319D8B973B670119C9F3AB7FF2F8390 -:1071F000601FFEB31F5D70C2BEFCDF95B0139E9F83 -:107200005AF18113EEC5FB6C05BB3FEA3E6E3F04AD -:10721000BEFFC4F5825AE86B01BADCBFF2F268FD2A -:107220003D3864792AEAFD854119533A845C2D7E04 -:10723000291E3C9BAEFAD29DC986BAB0074B634863 -:107240005DB438A1A590F1D1C21D5B6D035418DF68 -:10725000FF118C7F0A1289295D4EED71A2DF28E0B3 -:10726000A9DA31DC067EC6DF9B634808D62F4AAB1D -:10727000959DBFD4264B941FFC9CEE6638DF7C2383 -:107280001EFB9BF734D33FB3E958CB295EFDCDEC11 -:107290007E4BF33CE67DA696F7A3F89EF704B5E88F -:1072A0002AFB7E05A59B7FF9E3984F6D9EE7EC8056 -:1072B000F93E4B0DF55F35A7EF9CB5C6F7D5CD4F21 -:1072C000623F7389BA1EF206E7359ADF577E017E68 -:1072D0004CB5293FBB53E8A7D1640CE8A783F6CC93 -:1072E000C468E73045D9B1D285CCF9E54A3B96A7C9 -:1072F00056122C5B0A18DF2E697EEF11E09F9ABDB3 -:10730000BBF0FEA143C15129D7D34F263557E27EAA -:10731000E124BE8F7C6FF7FB34E30A69FB890ED34F -:10732000F9673EEF599C0EE23CF42C986F113C57E4 -:10733000BED1CFE7FC914C07FA43853CFF660C9D1C -:10734000977CEDF312F311F313EF97CA94DFA2B415 -:10735000177CDE52C0E216739BA635F4A7A858B37B -:10736000FF0B5C2F13D37D7A13EC4FB6F27C33C343 -:107370007D79F4EF28C8AFE0B76AE2C5FB43CD7C66 -:1073800025E84C1CD600BFEF18FDF82E7E6AFE09DA -:10739000E245D01B6EC6D3DFC744F9CAE037533E7F -:1073A00032D4E7351AEB67AD6D1920EFD5A6DF476C -:1073B000386BCA2F11A5A7D083F23757D5CAE11C65 -:1073C000CD3CE26B6079B8EC1CDE29A5F1CD1F82C3 -:1073D0001C363139F83BA7FFB6425F6521DA2FAD85 -:1073E00008EF415C9D2EC345BFB3D74B2E90AF39FC -:1073F000F5C3F13E9D62A2617FF7F6E0872D296417 -:1074000074A8AAB3121B359E55740CD073557B64B7 -:1074100071CF95634A5FB8B785D163E913BB6CE957 -:10742000B45C5057CDFC8320931B718FB4E03FA117 -:10743000FF17AD3F80EB70BAFE30C8572D9C8B28EC -:107440000239363DAFBB19E9506BF213AA057F7ABA -:107450008917F8D3FF88D30EE7AA7A9B37E91E5F16 -:10746000C1F8CBF923D9E83F9E57D57EF09D3F81E7 -:10747000DD5B2F29FE31F09CE20BED5478553CDEAC -:10748000E37BAC53262ADE37E21F03E7DFDBFE3A5D -:1074900008F76305BF8AF9D6DAD723BFD612E3BA55 -:1074A00072365DC040DC74F6F664CCDBA2FD17EDED -:1074B000057F63BB15FD8900599606F74CF81E63DE -:1074C000F7D056ED4DC2756D553DDB6FA9DA91844D -:1074D000E766E9BA12EFF716F438563FC1968EF414 -:1074E00072E33D5964AF91CF059DBAAF0B4D745A0D -:1074F0007BE0CD34B5FB3A5147A7F61EE864B89F50 -:10750000714B21D78F9C4E6405D73F0F1CCE867DD3 -:10751000A6F375B15E39CA7AA3EBFEDEB9D7637EF6 -:107520009988C755F417BF27E0ED0B74BDB07E14E2 -:10753000D2CD4CAF8A7FCE41BA90BF3A09C469EF31 -:10754000CD24F74FA7CFEF9798BCDCBBA6B202ECD7 -:10755000F9AB85CCBFFA33D55B5A2E5D0753BDA579 -:1075600051BDF501D56750FF70651AD6FFB252C5FF -:10757000F293957958B673BF5FC81165041BF8592B -:10758000AF73F979BD50AC971E4A03D7A2E29F1F93 -:107590008CB240E83370DF8CB24184DCAA19EDE193 -:1075A000CCDB8DF6AECDEA2A87F3BC8127D87D6887 -:1075B00055BE1B0CDF1345B5C13DB8246F44E439FB -:1075C000CA9B6A83F3E8774D4E367C3F63ED0043F8 -:1075D000FD834295F995159986E777CF2A30D467D0 -:1075E000F3FB5C893A16E5E6219E374AC8584617F0 -:1075F0009E8FF24DDD987EFF46E1FDE61D2BBE37E6 -:10760000D343D075EE6699F8697F733653FD4541D3 -:107610006C6FA474A2EDBEFAD809674748C38E11F7 -:10762000EF8EA5F5633B58FEEAB1FAE49F82FF7442 -:107630006C476A02C451FD0D32F7335C78CF99E88C -:107640007742FD2ACC53991D8CC17308B35B02CFDE -:107650008B3AFCC400BA78203747E5604842FAB15B -:1076600038C0CB3118C73F45FD3A571FB83F8CD4BF -:10767000430907A712E9FB7FB4A60641AE2BFE29FA -:107680006B69C04F2FC7F27D1A09FBFBF2BDEC6D91 -:10769000EB90BFD49D2194DF185C2FCC6963F3235A -:1076A00052F100A0FFA924A2255120962EFBCBDF8A -:1076B000144AA78539AD45704FCC2C7728F54EDAA2 -:1076C000AEA3C9CAEEA5A7FDBA687DE9AF63B6321D -:1076D0007DA2F5837B2222F80C16C1BCF3FBFB6272 -:1076E0008652FA7D393F58847A6D452ACA9519EF3A -:1076F000ED363FE23700722045F46444CED8FE1BDD -:10770000556EE9A06FE658BD7DC15EB5AFB7B27BDF -:10771000E1142D611A9E33DD8D7CDCAEA8E530EFDF -:10772000F6B56EBC4F478C5BB55ED6D87DB8942F4E -:10773000E1FB0DB21FEEBF11762BB056F2C33D39FF -:1077400066BE79F0813198F76EF67F457996CAAAC0 -:107750005FE7472CDA2FE3EF5890916DCAED86FB77 -:107760001DD9EF7D10FF58433EEA12CF1FFEE6B051 -:10777000A05F9308EB8ED34765E4B3D39EC6D1696F -:1077800099905E7270F4BFD1FA57530227E15CED15 -:107790008383FD2301AF8B2DEB3360FD74AEF9C401 -:1077A0004FE1FED82F7F63F5C2B08B5E5E3818E3E1 -:1077B000F4DCFFEEAEB7C4FDA45A3ADC17B458DDD2 -:1077C00089765CDD211136FF20C229ECBA6B9384E7 -:1077D000F7049D18E55C07EBE539A6735D27F8BD56 -:1077E00015E543993E11F6FE315E9F63617C4DDEE7 -:1077F00090D8BD52FCF71E843D10FA5AE8FD19439B -:107800003D2C9EC1F535213B516FCD87DB94E83C83 -:1078100097BC14C3E2CB2A5DE08FC67B4BF16FE3CC -:1078200050A62F16D97EF30CC852356945F8BFB45F -:1078300006E7B7BAA1FDD6FA3ED8DEEAC5782BB77F -:107840002F70AD3DE8A56A2E7F4B1B25BC1F8970AC -:107850003B398FF74F5EB246EC86278A7D31D9954A -:1078600079DCAECE23A6786DA3D1DEF9E2D9E2773A -:10787000111D17EC67042EEA3F53DCCDF707DF9CA0 -:107880008A704BDE601438AA493804F7442DDDC1F4 -:10789000E2D766B8CCF3B85638E77BA74D4C1AA9A7 -:1078A0001BD704B7C037067C757410789F1F60F82B -:1078B0009CDFCCF6033EE7FE1AFDC338B399FED534 -:1078C000C43715F2F3AA3751FDE98EF083E08385C2 -:1078D000BB82B85FF115694C70503958B279D78CBA -:1078E000EB54583FBF87EB90597D42D99624BA2E6E -:1078F00008BCFD4CC5A0DEE3F5FF2A3C117E6F36C7 -:10790000B6A37899D7C4EEC5D67DC7F3D00388AFA8 -:107910000581800DE2990B787CB037386B1576EED7 -:10792000BD7778191EFFD57087861AFDD8887F9499 -:107930001D75BDD5E517F5628F3FB58606813D0EF5 -:107940000F52D01E7DA378FF529202F6391BD70D3D -:107950003DE9DBF9DC2ECF033B4DCB939B5FC17B35 -:107960008F3EDFF40AEE8FDA7E332F01FCE5939B26 -:10797000E7FC14CE059CDC3107ED72F52F845DF633 -:10798000DBF4F67EC2E6D9BFFC11F0E94BB118D7A3 -:107990009FDFE2E7FE38D57FA0173733FD4736314A -:1079A000FD580DF6AB10ED572E7CF7C87C7F2EF0FE -:1079B000BBEE39DAB547E6F8C7607BE20AF1FB7B3C -:1079C0004360BF847D1576F7DD74FFD9A16017E4AD -:1079D000773EFC019DFF99DD32C67496CA5B33E0A9 -:1079E000F7507AD2E3DF1FDF962E7CBBAF01DF5565 -:1079F000806FF48718BE8FAF65783EB19EE1BD61A0 -:107A0000476602AC838FAFCD443FE8F88E6CC4F775 -:107A1000DC7514DFE807AB463F682DC537F8FF80FB -:107A20006F3A6E558BCAF1ED65F85ECBEDD07A56A4 -:107A3000CEED86D7C07DA0571EF9558C17EFA18ECD -:107A40000DA5C23AE5D42E9940DE42979FC4FD1998 -:107A500081E77F90C6E7C1AFEAE6DF6C882110DFDF -:107A60005CF8AA13CF0D7D2995F403027434FE212E -:107A700001C68B8CDFE5D7788A46E9FC9A6BA44F68 -:107A80000DF1615E7F4DF31F3E06BF1EAE1D827578 -:107A90007F8DB82F62AFF1BE0849059D86E747ED9F -:107AA00076E08381E6FB34FCF8FB3017B3BFBE6F92 -:107AB00019CA733847BFBF521B17B2423C2ABC4B8E -:107AC000427A2F7DA824A184C0BE541DC231BE8835 -:107AD000AD2B244DC338630CE59B38B8AF0C2ED1C9 -:107AE00085E7AA8BC51DB7D0719D1178CDCFA78230 -:107AF0002202FBEE881EB7AD2B627EC052D982EB0C -:107B0000902536B61E11F921B7F2F7B716B175C92F -:107B10001D452CFFE21C2413D17ECF6D88E7F9CEE2 -:107B20001331FE29EE0B5004DE5CCA59C3EF27F077 -:107B3000F8C2DFA00D85736E0C8FFFC24FB6D0F672 -:107B4000F7F0F6F734FE09F7E5E84AE639B0BFF793 -:107B50002E8FF1E2FD8C701F1CE5BBC7E3D83E0AF7 -:107B600049495440AEEEE67AF69EC6277D608FEE18 -:107B70006D8CD7A0A4E304088FB78E847DD8FE3621 -:107B80008CB7CEB2B7FD06DCEBFBD34E3C6CA753F3 -:107B90005B6561FECBAA3E04F36B8651371EE2B7EC -:107BA000F4D59E2BC957E31F633C7909C475AF27F1 -:107BB0008CB1C6225E0D758A5FAC3714DD70E7A606 -:107BC0007184BC4FD4A140EF25801BE087D9891870 -:107BD0001FB815E2CB7DA05490CFA62B246061E5A1 -:107BE0005A07DE87C1E2CD53F9BCEF184B428974C6 -:107BF000BEA1B78821DE7D67C812CAA574B8550931 -:107C00001D00BEB6D8552BAC0F7C155231AC9B97DE -:107C1000ACBE36787F5E547EE7A681B46E61FBFF12 -:107C2000E11F48787FC93D54C8813FEF53488B5CC2 -:107C3000CCE807FC57DB87DDC71D7E80F1B788B332 -:107C40000B3A0DA7DDEBF17B0F878FF6B33601DA28 -:107C5000DBA2C797B673B9107EE7622EAF8B05BF64 -:107C6000ED30CAE961212FE0E752BCDDC3CB9EF8BD -:107C7000FD20E7F7839CDF77168975F8B58DB7345B -:107C80008684F4BFD724C6BD9597A122E63F0B3862 -:107C9000043F131E9FB250CD017CD4DEB806FDA672 -:107CA00005A67831D1C7B1E468F52EFD63B902A508 -:107CB0002D3C17E0916E8AF5025FDF63DB99CDEE14 -:107CC0005F317E27F6716791562BBF8F8CC5B9B88F -:107CD000BD2A931D784E7F96C4EE5F3A57E20C584A -:107CE000A8BFF829BFFFE47C1D3BFF3AEB07EC7C03 -:107CF000E7BD898F4C05FF7056824D81F253FE3BE4 -:107D00004FF79356A7DB1DF14F1A4A647E1FE8BF59 -:107D1000DD09FB196B40AFB0FAB3DA388C2AF1FAFF -:107D20008ABFC0FBDB2F513EC0FA8FEED4E8B8E724 -:107D30000EF3F7015A87FD92C7043FAFC6FECE3D52 -:107D40002DDE37B0FA13E2FD93ACFE13D13FAF6FD7 -:107D500030BD5F657AFF7356BF50F4E49D70CE71FD -:107D600016DFC79975BD847AA518F88DD277D6EA43 -:107D700010E27996E5202B4B4908CE5DF4F6DDE064 -:107D800061BEE2A254B8D7A2DD09F63B77B886F50A -:107D90008143FDFF04BBB6689A14B081BE3C1ACC87 -:107DA000E1FA3D6ABE7631E7DF415ED69FC037ED2E -:107DB000276658EA77EF6707C035CAD08FEBFBF428 -:107DC000B3BC3B3CE9DFA79FCF4CFD08FFE8E16275 -:107DD0006D24F44726DE6088FB2DFEB13711FC2BA5 -:107DE000F22EFB7DA5C5AB77668CA0FD2FFEEDBE08 -:107DF0008CF9BAF5784DA74C34AA8F6A3B252CBF75 -:107E00003AF0890DEE1FA8D973C0565E08BF0B73F8 -:107E1000C0364107D71291874ADA94E93AFB7EDDF2 -:107E2000300BD71BECF76516FFF634EE772EB6EC69 -:107E30003CF90B88035DCFE272E6F9B979BBBFC1AB -:107E4000FE7314FF7DFC30A68FE68FD46E1A06FBFE -:107E50007B80335A4E58137D1F7F2DEF6F561CD3F6 -:107E60007373463BEDD066D451FF1A381F367F8BB3 -:107E7000BB18E2BCE38796560CBB6ABC34CCE2A5C7 -:107E8000CD2C5E3AAB4FEB4354899335BF7BF95908 -:107E9000FB8D844C7A9674DDF30B71483C2E8D7209 -:107EA00077E0CE890331FE85F5F9C35E7F3640DB8E -:107EB0001FE1F7FEDF3B66681CE8873677BCC545E7 -:107EC000E5B9BC70F61A80E3DE313796C3F3921839 -:107ED00067CE6C167747BE282FF4DD07F386EF21B7 -:107EE000DEE1B7B1F897FF6D19E35FFEA2787FB4CA -:107EF000FDED591C0F6B8631FFE58885C2591C8149 -:107F0000438C4F1D96875A697FEDABD387C339BC2D -:107F10006D8525AB112F7CFC6D85FE5AA88BF1E990 -:107F2000748BE0F9B5C2B184C3B11ADAD27E7CE3B6 -:107F300028BFE9D68DD327C61BEAB74F4E269A3EF7 -:107F40000E7BFB00437DE6AC4CC3F777CF2D30BCF6 -:107F50009F12D33AB2EE3BF8C1B54E671CF8639F4F -:107F600035FFE3A37BC0BF6B92F1776A16EEDFFEAD -:107F700011FC6ED3793AE1640C86AA180FFBF20863 -:107F8000FB1D4EEAD729FA7D9D33A4F519D807D5F4 -:107F9000ED1744DD4F15FB058B5D2D98C7F7BFDD51 -:107FA000D7D9368CAF878B21B519ECD2871887AB20 -:107FB00071B0799DD9770C7FD702F20AAE503EBFDF -:107FC000191AC2BD7A9DABF0F7C226F0DF139E00EE -:107FD00097B0C3BA60E0030A9C6BAFA525D897722F -:107FE000AAA712299FB41E2043F7405EAFDB897910 -:107FF000174B3B6FC338F791B840E103F4BBC56B37 -:108000002BB15ED3198FFDFE596E2DC7FCEDDF4BF2 -:10801000B89F3065C0BDAB017EF8FE413ADE94DF0B -:10802000DD5C0178AAD9C3F233A6C8EF8F847E96AF -:10803000345662FB29323922517F21B1F31EEC778D -:108040000AD87A5A97473BD781FD956DA19C7F0747 -:10805000BD6273A25EA9ED8CC5769326303BFD36DA -:10806000D71BD636065759E7347C2FE8DF3ACC6366 -:1080700038776F4D6D52E03E4F6B9B84DFDFD259F6 -:1080800080A598E7DB79BFC2DFA1B2A67E530EF9C7 -:10809000996FA7482E743F4C7AF742DD98441245F9 -:1080A0002F758DD3C9F29D633A59FE73EB70ED24A1 -:1080B000C8D7D4156D0AECEF1087DD05F89A3A762B -:1080C000B83A5F274FF2C1BB6C4017EBA6F76C6064 -:1080D0009763683941F77EA9C8EF37E9E58E6116E5 -:1080E000EE3FAEC2F90A3B438EEC457EBC4F9C8FFF -:1080F000E5F2F209FFBE0B4FC0EB40C75763703D7E -:10810000757AB8FF0AC0DB5AC27EAF8628AD19B0B7 -:10811000AFF2AF829FD2D92EA1BFDFC67EFF77AC70 -:108120006A81FD02C52BEC0B935B318FFF017C0252 -:1081300054430080000000001F8B08000000000076 -:10814000000BC57D0B7854D5B5F03E73CEBC92992B -:10815000C9E43D210F4E208420012643124208C964 -:10816000242408486080AA840699208F8804424409 -:108170001BAFF6CF842410042D8AB7372AD2019181 -:10818000A2D53620B6698B382168E3B5D7467BDBAC -:10819000E2ADB5F151048B3580D72FB62A77ADB556 -:1081A000CFC9CC9924886DEFFDA37C27EBEC7DF63D -:1081B00063ADB5D76BAFBDC37ABB184B60EC163B54 -:1081C000E33F8DF18C253176719A8E31F8F5572287 -:1081D0006BECCC866749499F3B8EB1EE7BA64F176F -:1081E00065C6AEE04F0954711AA81EB30F7CCE725B -:1081F00019DB7C3252BE4F60AC3216DE013CF0829D -:10820000D17F309DDE33210E9FC68302946FB60D61 -:10821000647A2C8CCD79D11C6053A1DD17CD1283EB -:108220007E3A72BDF1CE787C3FB15CB031E63E6102 -:108230009418D41B3BCD9DE0CC83364719AF3A9EB2 -:10824000F027633E3EBEF2593A96CFD81D26FED99E -:10825000DC25822F2A8A316FFB7CC660AC3583CB4C -:10826000189BCED8EAC14882BD7BF8FBCBF5897359 -:10827000198CFBF2BD306898C7EA7B8529C7615E1F -:108280004CB63A27001E2A93576E6330CE4A5147A8 -:10829000F3AD9C1CED6F81AA1B07A3E9FB4A91F586 -:1082A0000A318CD50DA653FB9B0663E9FDE64133ED -:1082B0003D570F4EA6F7C64191B9015E33283037BE -:1082C000C037CCB1FA7430BE492E6F05E2A3B2E5D7 -:1082D000FA79D88F775B52AE17F0B1E8DE7EC90429 -:1082E000E3621683FD49E86F51418E639D2538EFA7 -:1082F00096EE2A1822B41BE731B8E1FD1A78CE09B0 -:10830000295F0BA8EDB42026EC731360DC8B5AD3E5 -:1083100075F7B160F90227CC07F1CD9AE9B948ADFC -:108320003F0AFE6728F5575B021374D09EBEDEEC51 -:10833000DC06E3BA1427CF45BC34ECE4F86BD07B01 -:10834000E65861DC0D8F084EA00CBB35DF6A623049 -:10835000CFFC33F5066F76B0FFAAC1A94C063C2CC2 -:108360001BCCA067C914EF72C443CDE04D0A9DA693 -:10837000D293C9053A1CCF56A4AB8C032AE074569D -:10838000C6F749FD8CC46F41FF9FFC524FE5796EE3 -:10839000DF2D381EBDDFE83C00E33967F68A48DF91 -:1083A00073A9CCBE1786784ECF7C76A0D7AD1D22A0 -:1083B000F341FB6BE0E985E7B968E68E76213E6123 -:1083C0009E59BCED2BF0EFBFA53D696C3CD0B7E1E9 -:1083D000776F4BE318BB2DB36F6A00DAAD2E0DC477 -:1083E000DF0CED5E38A477FAA0DF8DDD6FE4EBA043 -:1083F000FCC37477221381AE63BC0DC8CF1B96FA01 -:108400007FA807F8F6FB9FB3CD9483F8EC94021392 -:1084100024F8BE13F0E8837175EE16E7F9895E2C37 -:1084200072C994205FAB7C1CCEDF1B06C7137E2E67 -:10843000D71BA71C47FE057EC5F7750A9FDF8E7CFC -:108440000F4F7DFF7C852F39DFABFC5C274165F842 -:10845000AECE12E5F7C17C2A7F04FC0728DF747CCE -:1084600089A714F92E4B704E80C746659D548A0724 -:108470001F2844FEFF38CED902EF7FD2E400640506 -:10848000F9BF627009D58B1AFC26F5A7F2BF51E13E -:10849000773DF27F08DFC3778CC177F7E5789F449B -:1084A0003C95FDE06FCFFD17BC5A2005321F8BC3F2 -:1084B000A795F827B80E4CF627D3691DC8EB42F8EC -:1084C000483C556590015FFA87DFA1756084E79CA1 -:1084D00090F24DC8D7D988997E69A935F8FE6927E9 -:1084E000977FD7CAFF1D0AFFCF33B2551E6C4FEAE4 -:1084F0004B0B6DEF7C4ED90B388F534E81B7F74F36 -:108500001A37E0C984F885F1BB915E8B0A64DD7D82 -:10851000E9D88FBA7E399F7CD5F87FE4BC3679FFE5 -:108520001B45DE87CB7706EDA17CFFF885497E945D -:10853000FF6F33D00700FB4E44CA4F2AF29FF4432B -:108540004494FF6AF27F5DEEADBF413C8D20FF7F1A -:10855000FB8FC87F95AFD4F5A2AE0F753D84AF1FDA -:10856000753DDCB0CB19F52DA41320E6495C3F9294 -:10857000EF199C479D1C9983EB525D479B8E0BB472 -:10858000CE86E90565DD04D789564F8CB64EEA9450 -:1085900075B1565917EA7AE8113BF716C277753963 -:1085A0005E634EC8BAD8782C5C2F8CCA570CF96A17 -:1085B0006D5C3D43BEAA8367285F1947590F969C9F -:1085C000AFA70FFE7A8DFC3436C740EDFD2FF2D3F6 -:1085D000D89C91ED0919DFFFB3EC89CBF5BFCB95A2 -:1085E000613C977341CEA607F9ED865719B717C6B8 -:1085F0005B9DC83FBD117C9EBD86547F0BD6BBC220 -:10860000EA118FAAFE5F8B748F0DF269B5CB5B8E7A -:108610007456E9DF1BE1CBDE927DED7436C6F519A9 -:10862000DCD948EF3E8DFEAF1B85CEF373BE9EDCDA -:108630009B91736D745E91F34FB713D78E4457E6D9 -:10864000E6F640902EC66564BF0540A109A3D35548 -:10865000DFC1F1AEC26D0149D5B7B1A86F815FD658 -:10866000E5FC03F2A7720EFC3A06C11797BB8B809C -:10867000EEDF5160D6B31CD7E14D056A79A0C32D5A -:10868000A1DC81DF0BA9073733117E39ECEB3E53B8 -:108690000EF56FD83B54EEC3F28AA228A53DE6162C -:1086A00058B07EDBD1936776D33CF6F0F5EBED97CF -:1086B0003C5342E05C80AD21704118BC8FD7B74974 -:1086C000FDCC4EEDF8F97A85F60517E71F4F883D8A -:1086D00002949C1B8DF6E471C17E1FD07F45D1C7EB -:1086E00006A45770FEAF2C77A780BC3C2128F07FF2 -:1086F0009CC1F9AE38CEE11F1C7DBDC32729ED0119 -:108700009E372A68D6770A6E11DADD5820F8C7A599 -:108710000FC7F30F86F8561D07A860EDF7CC10F7CA -:10872000F5BEC7F54DDF8FA3EF03C6AFD1FFCD4533 -:10873000CCEDB70CAFF773558E7E0EB0DA3EE0721B -:1087400019CCCF9F3DBC7E8F52BF4FA753F075B65B -:1087500003F9A7CFA0E2F34F0457300EFFC7D13F74 -:108760002DF771BE65EEB0F95F6DFC3FCAD1DA0B33 -:10877000F8236BBF0F5C0D7FCF0FC39FC23FB55A6D -:108780007E8A923CA72F433B5171821DEDE24D1E24 -:10879000F36EB4FF83FC3140FCD1676643FCACE56B -:1087A000FF8BCBCBB3C9FE51EA5FEE40F9E6D10DAA -:1087B000D5E7EB41E52FF83E0BF8094D64FCFE834D -:1087C000A3973A7CD9441F2A2758BACA7AE80C835F -:1087D0008BC2D68FC2FFB47E51CE037E268C20671B -:1087E0000C2E8EDF8F04B61CE5645F19B713FBC631 -:1087F000F167A64B20BCD95C1C8F09CAB32F220499 -:108800000F29413AC34F00FD909079139EAAE2D4FC -:1088100079C7562DCC80EF6378B9EC8A7AC4971269 -:1088200084C3DB1BE78AAD42BC04DB8F7E13E552B9 -:108830009582B74C57CC9B0A5F09B82EEB884180D4 -:108840002F8E0B3E11FD04E48B11E6FD97E17CE5D4 -:108850000BFBDEADBFCAF79F0C5F97EEB0EF993E02 -:10886000F7EB7CAFD06D61185DE785D1B53C0CAE00 -:108870005661BF46FEA9727175D7836D09308FDBD3 -:108880008F08A86642F839BD0AD7E7ED76957FC70D -:10889000BD89FC1AE4E7F184E7A59DAA3CCC78C425 -:1088A0000D745B82F2B030082F437941F0842AF7CF -:1088B000B4507D91F908CACF9BDBD5FA13A9FE8A83 -:1088C00056B5BD2C82553A32DFA42AECBF2A57D1C7 -:1088D00017BEEBDEC4F20D27F8F755C726BFE9CB6C -:1088E000B8CA7AD81386977D61B02FACFEC35FA15A -:1088F0005F5AC3BEBF37AC7C7718DC1106B76BBFBD -:10890000AF5923D03AAC017E40427CD5BABC4D5918 -:108910009743F480190816B2DB34EBEA86160EDFB3 -:1089200071ACA0AADD1202BB0A69DDA8EB42CFF848 -:108930008F318ED1BAD08F222F6B5CA3F06556B8E1 -:10894000BEE5E57FC45F93D00E661ABBA047D4C2D4 -:10895000DDA23AEE796F6ECDC6972A7C7D15FA07B7 -:1089600037FC9B765EE0AF2A704555794A885DE218 -:108970002BAF7287CC53AD3FF78B2B22F6B7D35575 -:108980005E7508DAAF2E0B4CA8877AD531FC097AD0 -:108990004D44BDB95989C7CC7D41F4A05EAB8E086A -:1089A0004C68C80E9927EBCCC47976DF23127D7C06 -:1089B0002D401F8CAF317030C135EB8E8A6A3C0C74 -:1089C000F57BEE111B518FBEDD189B80E33FEBE280 -:1089D000FE424FD4D884B5007747AE32C850AF7B43 -:1089E00047053D4F89EEED03B0D6BE7F6C599565C6 -:1089F000129647117E9E702DAE6A06BE3EEC92E93D -:108A00007B6F8C3DA10BEDE7FBF4EC4919C7E3DC70 -:108A10004F7C73BF3107FDE79AE6C909684FAEFE88 -:108A2000D7257393A0DEEA36BD53A07A6C2A8EDB7D -:108A30007B5F8501CBD7B42A4FDFF5F47CF1CB27E0 -:108A40005A6C507FE071C17910EACFFEA4F3D5A92A -:108A500000AF6F1FEF44D29C1CD4313BF4F36EC7C0 -:108A600044BF08FCF89EB9FEE545BC3EC3FAEB3FA7 -:108A7000975F5B948BF545FB36A87F16DEA33D7CA4 -:108A800076A77850C071D9AC11024CE9EC17F26BA3 -:108A900068D742B97D1BBC3FDB765B02DA596705BC -:108AA000D926C0FC7B8ED55439805FD67718157ACD -:108AB000D624D5C0FC6B7443FC42FA635D34877BDB -:108AC0005C35554F227E1F9968433CCF9AEE3EEDB0 -:108AD000023C9972DD2FE1F33D33D7532F7E29AE4F -:108AE000427BFCE717562760BCEE57CAFA3939B803 -:108AF0003A617588BDB3EE2389E8FEA241DE8AE3C0 -:108B00007C312255407F19E81EBB04D6EF1AC5FF01 -:108B100000FE6D7C6E04BBE76997487CDFBD2BBE11 -:108B200048D6F0713DC94FF21B00EE3FB6F1111F60 -:108B3000C8D7F78D8DEC3D5C7CF742C14C78F69838 -:108B4000297EA57FC6EC37A763FCD33D17F9993979 -:108B50003A33975A43D69D52FF0F3E2BD5FF03D48D -:108B600047FFED0FBEDF5B9965B81DBFDE66F5A15F -:108B700031F181D52A211DDE969ACEDE0DDFAD7B47 -:108B80005C4F727FDDE3F1F70EA0BC017EC1F858A7 -:108B9000F8BCA64CD713BE465D87BE6F6BD721FBD2 -:108BA00036C9EBD1D6E15F8FDD5B75C832FA3A5C2E -:108BB000AFF829731FD77B701DADCFB34A0CF447B4 -:108BC000D9E32F3D89FCBE7E8BD9658481AF7FDCE4 -:108BD00048F4EAB75A7D7628F7DAAC52343C4DD3E4 -:108BE000397DAF9BCED7CD1C914926173D5B314EC9 -:108BF0007A09C6130BF0F9C6BDDF9D01FD7CC8FCE8 -:108C000037CD00FC5D4282015E2E1D17297EC824EF -:108C1000B75409F2B19671B950F7CA738652F8B5D4 -:108C2000B67EFD42F4EB6EF3EBDFED577CB62BCA5C -:108C300034519E6EE6AF40AF6ACB37B3DD17C5A99E -:108C4000C4C6065C8F759D61E5F5D77F80F197CD31 -:108C50004C7AB75F8DD7C238E4E9D6B8B39100B883 -:108C6000980B30C42ED5EB33194C71BD05D615CCFD -:108C700077CE3E81C6BDBE51F41BA1FE9C581EF7A7 -:108C80007DBF09E83F91E6EDB303BCFE61AE67D658 -:108C900033C16F825FAFDFB745C2F5D081F205E324 -:108CA000D402F3207FBF6776A6A1BFBEEE7133E189 -:108CB00077FDFEDB7EFB087CD7DF5C1917EA1FE738 -:108CC0002B7C01ED33534CB09D0F9ABF9D86FC3F2A -:108CD000E77BE0E7C27CD747B31F56A523BD92D2FE -:108CE000644BB0DEFA6DF764F27AE027C3BC6B76B2 -:108CF0008A340FF6BC91F41EAC7507C965059F6BED -:108D00005A5F3118B2514EEFEE13A1FEBB008B1625 -:108D1000C2974FC1A301F1B50ABF4DE2DF38F2158A -:108D2000BB5B2639E2C5F955EB84554B49AE0F18AC -:108D3000685D4FE7F1CDAAE9DC9EAD4973DE427173 -:108D4000E4078C4E9453F823AAE300BFAA4ED7B78A -:108D50000EE3B9ECC7468A8F6C6E35BBCD36F23B5D -:108D6000DCC7707C12930C808F8D3297176B143E8A -:108D7000DC2C2FB91EF906CACF48B8BF62E572B124 -:108D80002E1AF0CEED54B70EFAF9187F1BCFDB4D3B -:108D90009A1AD2BFA0BC8776645BB0DD5E1D6BC73C -:108DA000380BD69F3415F1187BD3721CDFB322AD7C -:108DB0006798FC030568E73D2B4E47FFB66667CF13 -:108DC000DC0E848FE6D8B1C99A1FFE9AF4C6ED0A6C -:108DD000FDFBD1DE473D02F051787E7B3AD7FB5E4A -:108DE00091C77DBEADE049E503B5BC6EA79EC7DF68 -:108DF000DB8C64C7D435FF8EDAADB3F625A0FCADAD -:108E00007B5E9F8F72DAA78C7B75736AD119E0AB9A -:108E1000D5FA28BB00AF36FA2A0D086FDC23101CE8 -:108E2000FC2E3E0DF9F4CFAD3FB121FFBC670E4CD7 -:108E3000407D34B0C5EC3C881350E26E7F6E9D706F -:108E400010E3336BEC7D5601CAD76C1D1F83F2FB18 -:108E50006D7BC080E56F77A6EB1076DBED4508BB38 -:108E6000A56904FF1944198F2B31F29F37099CCE55 -:108E70001B9FE9318C83FE9E54E6FBD1B3BFCE44E9 -:108E80007D5597D697897A05F8203319F1FCB440BF -:108E9000FA78D333A2DB3C35C8079B900F60DD6DB9 -:108EA00050F860D3F19F7C0BD7C326A4BF6B381F4B -:108EB000019F9EA6F7C70ECC65FCFBD3C827AA1E50 -:108EC00003B8558FF1348302433F081F9ECED7135A -:108ED0009497F3725F36C953D66F40BB737397DEB6 -:108EE000D71FB2FF331A9D7B143AAE6E3692DCED7B -:108EF00051E6DDBFF3791BD2F1A3677B5EC6FD921D -:108F0000BA63A0ADE511D6858297CD88071BCD83C6 -:108F1000EC8BCD386F5B100F43FCAFACC7CD8CCF63 -:108F2000539DF76649C1835AAE7C7F5AE19B8D4CB5 -:108F3000C1DBF1897CFD29EB0DD733CA55757EDE87 -:108F400018FEBDCAA7E715BDF08632CF8DC017CE7B -:108F50006CE21FB741951350F4D1D10314FF51E9CE -:108F6000A58EFB6F417DE28E8E09D2B15FC76A3B51 -:108F700047889BBCABE0EF9DB6C4B42EC0DB9FC15D -:108F8000CF427B0AF9550AE94FE51BB5BF393F5877 -:108F9000B200E70BED07B07DB5DFB77D9112B6F3F8 -:108FA00036E3EB03F913E5A7BA2EE7B4AC5C9063A4 -:108FB000C37A1F59C767E37CB95CFBDB743B3DDDBB -:108FC000682FC0F7EE2E81E2CFEF287EFD3B6D3F8C -:108FD000B1AD0EC1D367CAB8553EC31F8C4BA9E3D0 -:108FE000ED8DE1F1DCF071AB72481DF79C1D372F60 -:108FF000C0F7EAF8557E55F953C5A3CAA7ECDE7849 -:10900000B26BC2F995784DD5ABA246DE937EBC3EDD -:10901000E5A2C16B19FE3E1C56EDA1F7304E83F25E -:10902000E329D14FF2A3D5713A2344CFC38F2554FE -:10903000EF346FB9DE5E8AFBAFCF084E347942F46D -:10904000CB6E2944BFA876C12DB9E3B8BC8F739FFE -:10905000473A6E3CD737D72607EDD0D99F04C428AE -:109060008C4B1D4F7785EAD38D174E13FFD7B1BEBA -:10907000EDE847D5ECFC75E50CE4F3A7F4B43F53F9 -:10908000D3566140BBFEB6276FCD473E7AB77D3CD5 -:10909000C9F5F387F2A6135F317BC24DC0FF6B0E9B -:1090A000EDBD6905BC5FD3253A49BE433BB86E6B45 -:1090B000EE9CCE906FDE33F75716A2FD7EB7684761 -:1090C000FB7DD69379F762FD59D6B1D1380FF7A160 -:1090D0005882DD5214E907D5EE7D5B91932D7ACE4F -:1090E00017F372F97A2A197A727E9BD3D29289FB8E -:1090F000E90307403EE3BEB241EE0C607F2F2492AD -:109100007FB119DC2107D0FD9CC0EDB25A03332595 -:10911000B9E8BD2909DEBFA2EFBB13F5C82B775A0A -:10912000739A7100E2E7F9ABB93DCDF70F6379FFB0 -:109130002ADED4715CAFF41FDE9EFA7D2FFA11286F -:109140004F95F19F6F7DEA26D483E78F4C88C179D4 -:109150007FF082B91DEDA90FF45C2E0EF9DB7EFDC8 -:10916000FBA1761AD8751A18EC380D0CFCFBBED68C -:109170002EDCC6ED8B5CAD1DA7F27BF5960951A1E7 -:109180007904E1F63BCB08DFB79911C5469037EA81 -:10919000F34213200A1835156D7AF8BE3CF28BE7BE -:1091A000FAD0DEDF63B41B619EEF23FFE3BED4F38E -:1091B000A21FF761D036C7F5F0FED11C3FFA91EB44 -:1091C000DEF2CEC5F64F3FB883F20CD6827D9928E9 -:1091D00084D8CD0F3F7813B2FF25A7777B127C7719 -:1091E000E908CF8B80624B98BDFC7292FC8FDBCB81 -:1091F000D76A27ABF186ED88E7C9F0BB933911CF69 -:109200002A7E55BFE945E083025748BCAFA996ECDA -:10921000E40B4D5E7A7E2CBCF3C02CE45F6B94F3C0 -:10922000207CF6F3AEBD6232D2F978CEE7E8F716CD -:109230005AA2ECB86EFFD2D4489B8F179AEAE9A9DC -:10924000D2598DB7CD3EDE4DDFFDA56BFA8959F0C1 -:10925000DD494B1497FFC3F67B383DC3F340EED88E -:10926000322311DFABF3FAF06E4E5775DC1F1EB9D7 -:10927000D586F3EA7E2CF6C44CA46764941DEDBD3C -:10928000F54AFEC7D90E6E4F9F33451D5E88792380 -:10929000FB96253090B36BBBBF7113BE5FF7826046 -:1092A000473FC0F9C2121BFA6B7F92FA6D767CC2FF -:1092B00077011C8FE417511E15CE63B41F5518900B -:1092C000989C4E5BBDC42F332F487ECC1BF933EEE8 -:1092D00053613CE4F3088A873065FF69ED4F791CE0 -:1092E00065C8BF55FCBB59CABCDFCD8DE1FCADBC28 -:1092F0009F53C0DF7FB0EFB945D8DEF9437A3B8E8C -:10930000FB2F87F4D4FE06F0CB7430DE7347B8BF72 -:10931000B3A153203FF9FC11D0D730AFBA2D7AB7A3 -:10932000216A381FCE81F27E4B900F37B8FDC4DF23 -:109330004CE14713FC7765DC707E8C669DDB111F6A -:10934000FF285F9E095BF743FC381A1F28F8C27597 -:109350008CFCA8D27B4307DF578FE9CC2945BE524E -:10936000E9AFCA095F19CB42BDDA6260599887E359 -:10937000D34538717D2FB1C87A01F0B02CAEBF1C37 -:10938000C569451E9793E21C9D5B87FAA5C5487287 -:10939000205C8E5CCCE5765223F234FCB3E6713B64 -:1093A00042CFEAC90F519FA07752517F2F898CF984 -:1093B0006F19AA7C79FCDB2B2418FF925931778E28 -:1093C000778253F67CCB0A09F877C9F498E7C7018E -:1093D0006CCADBC6CBA7C5E4E9016E6E6E5D510EAB -:1093E000F0843CF7E7B9F1C17ED476E1FD157CFF4E -:1093F000CC64AF2E2F1EE5BA85E4F4C7C2C0D4C634 -:10940000F460FDD705F6F6CF8520DCAF676968DF2D -:1094100059B1ADF8D19F8BF2DC917979C3DFAF669A -:10942000AC8DF2E77CBF3823703FCC63027A2D56B7 -:10943000F86AB5C912207FBE5D7F6188DEC847CE5D -:109440002809E9BA48E1A3C552A01BBF9FC45AED41 -:10945000674D6442EDBB123BBAFC8685C7CEAAEDD0 -:1094600001BF7CAC87F9025F0BC09E8DB0640440E5 -:109470007235C82FE1C42F3EC3765B7CACDF4C74E1 -:10948000A8B6A3DC13985777059E7591B6A918372F -:10949000A98B4CF323DF373CFFD16964AFDB54FB6E -:1094A000C55B40FCBED5CEE7C3BC85C48F772AFC24 -:1094B000F84113ABCF80A5B7B8AFCF26C3A02F2CF0 -:1094C0000A64E27ABF9CE6CD453A7CB0AF25A5019F -:1094D000F8E7A36346E742A87FCEFF1CC5E1362A22 -:1094E000F6283B14AFAC7B315002F57AD3271D44EC -:1094F000FD529CC7F5F585F440DA3D2837D2B9FF17 -:1095000003F528CF6DDEB6EBE3B1DE85A33B32D6A3 -:1095100002FD8C12F35963E8C96C30EFF9D0760183 -:10952000C07A8045DACFF5537B58CF86FA5EBED538 -:10953000C1E3EDCC837245A5974A8761F48121A0F0 -:10954000BDAA33313D8E7F12DB67C7F5AAD2E9038E -:1095500013E011E36726C023ACEF0A0C3AE4223E85 -:1095600079BCA541E86F8D45F85981F2E686EBC1DB -:10957000270D88F2DA7DB792FC51E58E0CFF8D2421 -:1095800077BE76DC68DF9C11E5CEFA3C45EEE4B0B0 -:109590009C2BDC4024FAAE57BEAD10AB6509C71D4D -:1095A0006F72623CADE1F1F1A46F58F67FB2D07AF0 -:1095B0006C5F2CD7ABE922E1FDB62E81F21B2BBBF1 -:1095C00092990C450BBB62E9691B4CA2F7E70FBFF0 -:1095D0009ACBE512A74BE5F713CB28AFE8FB13E9CD -:1095E000A98EA341E1BB0A31BB3380768405C60155 -:1095F00070C32B5C6F35DC28525C93A1884E4062AF -:10960000F21F8FA59DE23F1E3664DF0B57284E2BBD -:1096100047215D3CBD2243FE016FC3C7F16C6A4622 -:109620003C1B1D3A268F607F18153A99E50826875E -:10963000F81D926FD2778A301EFB0DBDD30FE52D3A -:1096400066DB415C4FCCE7EE437F61B9F25D9F99E9 -:10965000F34764568CE6FB1DB6B9BDC86FCBDD5C25 -:10966000EF589D6334FD1BC58D7A6432E6E5F6A2A2 -:10967000CA0FC497D0EF628F40FAF5C6E5501ED2EC -:10968000AEBEE822C9717D91D6CE347AB4F5BEAFB4 -:10969000D27F129B144AFF20DE2D6EB4D32FB9ADBA -:1096A000C4C7A0DDFFAD08E09B7AF50CE76B8CE04A -:1096B000F3BA8498C2B8A85BF463BC6407E201DE25 -:1096C000471568F119EDD6E22F769E161FF11EEDB3 -:1096D000FC13978FD3942779AFD39427D7BA3470DC -:1096E0006A7DA1A6FED8C6320D9CEE5BA0A93FBE46 -:1096F0007DA9069EB06785A6FEC48ED59AF249FE66 -:109700000D9AF2C9471A34F094CE7FD1D49FD6B5C2 -:109710004D539E13B84F533EBDF7210D9CD7F7A86C -:10972000A6FE8C330735E533FB9FD694CF3A774CB2 -:1097300003CF1EF899A67EC9E0290D5CCA5ED5D478 -:109740009F63FAB506AEB0FF5E53FF7AC77B9AF20D -:10975000F9F29F35E537645DD6F26B04977F95CEBD -:10976000BF69BE1353BC9FA23E60E20509F9B6650E -:10977000A5C062319EDEBBCC847260308C0F3FCEC0 -:10978000B52B7E0D4B43795621160570DD5EEA122E -:1097900068FD87EB3BE9CF1E37C6F3D84F0427C6D9 -:1097A000D9A2406D4921FD47BB4DE04806E1D8797B -:1097B000760D1CEF7168EA272E9735E549DE2C4DB2 -:1097C0007972AD5303A7D61768EA8F6D746BE07496 -:1097D000DF3C4DFDF1ED1E0D3C61CF724DFD891D4D -:1097E0005E4DF9247FADA67CF2917A0D3CA5B35174 -:1097F000537F5A974F539E1368D7944FEFDDA38141 -:10980000F3FA3A34F5679CF16BCA67F61FD194CF2F -:109810003AD7A981670F7469EA970C063470297BDF -:1098200045537F8EE9750D5C617F5353FF7AC73BCB -:109830009AF2F9F2794DB96ADFDC907551FB5EB1AD -:10984000772A9D9F69BEF795B919F287EF98E06C6A -:1098500091417EE5F3F80BC8F57EB388F69187E277 -:1098600046319820087C1905420CF90A5D856A8A00 -:109870003FC551DC9754938CF93E60270010A34BF1 -:109880004F477B3A3268B7A55C997EED76DB1A6864 -:1098900013F97C6FBEB72A3F0FFD95A373D16EBF3E -:1098A0008DF9B6E33840EF45F5C3FA78CDAC8D6756 -:1098B000A8CFF926C04B487FAF98F7A4B8AEE2F71F -:1098C000CF375DA0FA43ED2A710E01E6D710D2FE24 -:1098D00003E0574860D7ED698275030EE3434D7688 -:1098E000821F6E7210FCDD26999E1D4D59F47CB4CA -:1098F000C949E5FB9A0A08DEDFE426D8DF348F9EEB -:10990000079B3CF4FE50D372820F831F8DCF23E060 -:1099100057E3F369F08FB1FC19F09711FE61938F53 -:109920009E9D4DEDF4FE58D31E828F377510FCE3DB -:10993000263F3DBB9A8ED0F3674D9D547EA2A98BE6 -:10994000E0934D0182034DBD049F6AEA23F874D36E -:1099500019825F6EEAA7676FD3397AFE7BD30095D1 -:10996000FFB26990E0568CD7023E1ECCE77E908A0B -:10997000171566AC9CF841B50F17A19D8FCC51A06F -:10998000FF8BC6CE0FB3B7C3E9F1A11217D69781EB -:10999000B988F1C33199075B42FCACC795FE7644A8 -:1099A000309F19F8BD59C7FDDAE6184679D64CB193 -:1099B0005FD72B7CC9E2B8DDBA4E19D77A653DE492 -:1099C000217F66117FFEF2EBF815AADF9832C5FB06 -:1099D0002CF167AACE47FEB3C59F89F673C9146FF1 -:1099E000677E3CEE37AE7D99FAB33B69DFB1D218A2 -:1099F00088BF19E323AF8814CF1BADBFCD4AFEF853 -:109A0000A8E527CFA7A0BD3DEF4BD18B787A4D6F4E -:109A10005D8EF1829E7C1E7FEEC9D7699E2F4DF12F -:109A20009EC2F17C6AADBF4507E3FFB478CBE13B52 -:109A3000D283FEF4627449C10F5AC2643DE52732F5 -:109A4000F74BE9D0D48D6060217C33F3D1736EB6CF -:109A5000F7556CA70A0C7184BD85C6B491E6153E16 -:109A6000AEDF2AF4FA6DBE4EF3BC3CC5FB1B3E2EA6 -:109A7000378DEBB599D767E2BCD471E54E9595BCAF -:109A8000E481FD38BE4F5FB87856181FC4BFEAB7EF -:109A90006F2F55F24AB6083C2EA7DA6B4A5E8AEA67 -:109AA0007754DF29F8D15E5F09FE0EEE2FBDA5D8F1 -:109AB0009F6F99B97EBE54AFCF42BBBE5A8870E249 -:109AC0003EDCA5FA3F5950DD427D86FB242D98737C -:109AD00000E52D770B94CF5D0DEDE8A09D6A0C0499 -:109AE000E277F70AC47F13A7A6D3B8ABC1FC233F24 -:109AF0002B6E200DF74B815F2EE37C37CC147D0657 -:109B0000B0875FD3F93305DA975E6B10609CEBE3A7 -:109B1000804FC68DCE0F9B94F307EA7BE0B32FB046 -:109B2000BDBFFC744616C5F14FCE94116F2D3A7E21 -:109B30001EC9F7EFA293E7BB70512DCE9A42714A2E -:109B400026399D1867AA54CEAF748BACF1E8087221 -:109B500074EC0CCE4FAF39F4F3FCD4AE76BF267163 -:109B600006A763E20C4EDFCA53AFA4E2F9AB4DBDCA -:109B70007AB247586E7FB6C73AC27C1A77DD951124 -:109B8000C2DF9BBBDEE1F91AAC3F3B343FBD40E98D -:109B90005FE527D160F51EB0848E6F88BFD3662045 -:109BA0001F45037F8F27FE3E8BF6F622A31C7533DD -:109BB0003CFB014501787ABF67A77C2335EF680D30 -:109BC000F3D0733DB003F2B3C7F7A001F1BF8175C5 -:109BD000D2FB4D05B7A621BC990D943BD09F686F71 -:109BE0007EC901A35CB6E7C10A8CCF2EF5D7BC8431 -:109BF000CF258784B3E8BFC2FA983603E327427DB6 -:109C0000DB18E86FC533A56DC9F07E91C8E9C15E68 -:109C1000E5F400BE718B31C3E709EB61067EFF6995 -:109C2000B49BE621DAE669D643F536E616E282F918 -:109C3000F343EBA3E0F63F26A33F240DD0FEFBE663 -:109C400093C618A4F306C6F57730FEA1EA6D467CEC -:109C50007E3B8B7062BD0F15BEFE3095115F7F2875 -:109C60008083E70ADA932CCDEB708D0FEADF0F7556 -:109C7000FE7CDB78D2CF8B10EF2F3B96C91837BB19 -:109C80003DCEE414B13CDA9FC6F75187E43CBB12E9 -:109C9000198C7B3DA0E771A8F07109052F7F86F62E -:109CA00083D1C07CB8BF01EB9BE5E3BA1E63A0750E -:109CB000D582A8C5F85999471EA9FD56A5DDDE2F06 -:109CC000B81FEC83F9E079C961FDD8957E22783F11 -:109CD000AA1EC1FE488E24304D7F9B31C905D78115 -:109CE000D54DE36FD64593DCF978AC7713D24B8D25 -:109CF000FFA8FE616FFA0719E4C77FDE9282763A09 -:109D0000F02FCF4B2CE6F2E935BDEC43F8B5D27419 -:109D10008AFFAB727771018F972D56E3634561F12E -:109D2000B1B0B80C2B1A395EC698538FFD4E626FD6 -:109D3000A9F8A178CCA92289E8EE03BA63BCF9940A -:109D4000E2A7964672FFFCF73362899F62E66710CE -:109D5000BFD9625980F6A3AC22F15B0FCBB1C484AA -:109D6000C889FB9438EB6EB08758487CFDBEDC0692 -:109D700013E61BECB0F0738CF79745D486E6BBFF77 -:109D80006EB69EF0797B71E92BC83FD9167F19A971 -:109D90006DB724E37C04657E93ED807F1D36ED5125 -:109DA000E2A54E138F4F9593DE56E97EAD7AFB699F -:109DB000C9BF2D02E71FC7681D5A3BCC244FC54EB3 -:109DC000770053AF27152F3D4CF4943C59D84F776B -:109DD0007E04B340FD4FBB0DE4E79FD4ADFE1EE60D -:109DE000C50FBC6964B8FFD9694D96506F747E7118 -:109DF0005D393DADB3E6321EEF8CD481A0C8B1B35E -:109E0000277E844453CE9F750AAC9751DCCD1DA9A3 -:109E1000035FAC53C72E97C0B88E595C7BA711EB7C -:109E200079449CE77B45DE9F225EF2593DC1F71BDA -:109E30003CB507A0DFFB634CC42FF714794EF071DB -:109E4000B2B68530BEE23902C3F3BC6D066E9F59CF -:109E50009D117C6F8A713BDF339849FDFF429197DA -:109E6000AD0E771F1E1C19156F766960283E427C67 -:109E70009742713D158FA1F4B2E76BE8E5D587D223 -:109E8000AB00E83525945E6EE1EBD0CB8F4966F1EF -:109E9000C3F9D457263F589ECBF51BA6CA85F36954 -:109EA000A971B605F35CBA6DA20EE9D61D919C8D21 -:109EB000F139954F55BE1D815FB7F4A0DC4891EC98 -:109EC000B86F6CAC8CA07D18957F55BEB514F2FCB4 -:109ED0002DE0DF5585F05C69F154A06C09E75F8CDB -:109EE0009385F269F5A8FCCCECA1EB7811D815515B -:109EF00031680F9D3BD419C2A7D5F517252E57AE53 -:109F00009444E407E37A8B8A04F66E28BDE1DFBB54 -:109F100059CAFCC81E92C80F53F17AADF8D77FA377 -:109F2000390BEDBBED786E11F0D52E38DD8918EFC9 -:109F3000AA7FE70E7CDFA69C1BF6651BB8DDA5ACEF -:109F40001BB5BD49C5655105B82F30E342E43AA8B9 -:109F5000F769824E46E4B4C9AB7F44EBF04C24C3AE -:109F6000EF6CB17DB54FD0BA9AC870DFF0D3DBBCCF -:109F700063711F7F27D0E95D4AB2F627EA688FAB8D -:109F80003F11D71520D7C19F5E077FCF94723FC185 -:109F900087668E53F2ACDD4AFD7EAABFD3B0C714EC -:109FA00081FDA49BEC0743F8BF4489BB5716A8E783 -:109FB000755A64B4D72A0BB85DB3B7E9C8ECF72774 -:109FC000E0783A67BF0FE3895DE8675EE0EB882CD5 -:109FD0009F8CA921A62FE70878AE815DC73A311E74 -:109FE0008FEF9BA704DB7715F07567423B06E867A8 -:109FF000DAE69343E5A849277847CA83393C53E218 -:10A00000DF6D63546E3AF5089DF38FCD700A980F9B -:10A010006DDAB687E13E8D39C0DFC765B885352179 -:10A02000EDC62D847187F005F0972F0AE48FE920A3 -:10A0300030662ED22182E292E1FD2E8A2FEB956CC2 -:10A04000A3F34938BF3185DF54BE51E74927564253 -:10A05000CEEB978FE376725BA3E100E5A116441384 -:10A060007E3F892B8B6223D89FEA733FF081CF8894 -:10A070007EB3899E07C1EFF64D44BFD941F061F030 -:10A08000BBF17904FC6E7C3E0D7E37963F037E3734 -:10A09000C23F04BF1BE14EF0BB113E067E37C2C774 -:10A0A000C1EF46F8C7E077E3B30BFC6E7CFE0CFC17 -:10A0B0006E2C3F017E37C22546E00F9C4F96CFB1F4 -:10A0C00014E8DA7EB7C18D7984FB15BAF6B8C7C536 -:10A0D0003A81FEE62C1DC5C4CDBF7C88E17CCC0E48 -:10A0E0001D9D0BDBEE7888DD8AFE6CBE95ECA9B673 -:10A0F00067B99D6296F632943BFB055F2D73C2FBF8 -:10A10000AE926ADCDFCB706C298B01785757C53E65 -:10A1100013AC8F4C79C9F2E61058B6BA361CB507A5 -:10A12000E1B1D90724F058D89E8279FBF048108E0F -:10A1300003F3871FED5A50DD0C2C1418C7C8DE1826 -:10A14000483750DECE1AA417C6230A783CF106D64B -:10A15000E2C0FDCCB132784502D50FB0B86BAFBFCD -:10A16000BF40A6F7E1DF5DAD9E2EF79AEA31F12AF6 -:10A17000ED61B97095764CC232531F8C7D975E911C -:10A1800053F1169253ED18DF01BCB79BF9F3BF678B -:10A190002A7ECECCB25533E1B96A26A76BBBD9670C -:10A1A0002FC3FEA7E8289F8135A6FF7A1CF477D736 -:10A1B000BF4B0CF34155FE7C5EE1830963AD742E09 -:10A1C0009FDD63A2FDFCEBC73EDB1A03F084279CF6 -:10A1D0004ECC7BD8C59C11C827BEDD3ACA7BFC415A -:10A1E000EEF89825507D72DEF33128D763677279D7 -:10A1F000E357F2859ADBD68DC578D4A7AF7379780B -:10A200005AE9E780BEAF9EE89967213B04284FF6E4 -:10A2100046B303880D3A5397C49F06BD7D05D633D8 -:10A2200080618079D9862F6698D0DF6B1934CEE3B0 -:10A2300079B37D648718CC5E7B34BCDFE3D3915C5B -:10A2400068912D94E7B6CBE2EAC573CE3EBB8EF2A1 -:10A25000617765EB088FAD969BFC68E74B42732DE9 -:10A26000EA31BFFD98291DDEFBB37594DFE8772F37 -:10A270009D87B0CF2B51FE15FD60B93786CE77EFA5 -:10A280006203AF4EC3F26A6E87B525FCF55424C64F -:10A29000BF6FB43BF9760B93313F8C52C574E877AE -:10A2A000F76F8BC4715431C59FF591FF6A3372FA11 -:10A2B0007DA77BBE7D1CD91921FB5A468CD5394D13 -:10A2C0004E289F6A71CD43FF52B2BA4C98F7D76AB5 -:10A2D00077996A68FE3C5F8DF232A0DD16BB8EFC7A -:10A2E0005C2CBF359BD4E1E98C7C25155FC6793F9A -:10A2F000D48DF890D632962EE3F8245FE8BEA1699B -:10A300007C51AF0CF3685F1743F3900427C16CAD29 -:10A3100044E31E2347D0B9E6BD86CA5EB417C7988A -:10A320006EA7FDADA45A49B3FF94E8D5C2F1CBB5F1 -:10A33000702C9382FB57D0AF7DA61A7FD3E22D1CE1 -:10A340001F49F6D6D771FC495E3A04396CFC8FD8A8 -:10A350001F8E2E65384E0B8D33C1B2BA14EDA67820 -:10A36000E66946FEFB47C739D5BED4940EFD4F8D36 -:10A37000D39179348D0D6CC3767729FCDE9ECEE9BE -:10A38000195C5722CD0BD6E53C5C97631B75E0B09A -:10A3900005DB4FF781E3A6D93F88D1C013F68CD1F6 -:10A3A000D49FD8314E533EC97F9DA67CF2119706AB -:10A3B0009ED259A8A93FADAB4C03E7041668EA4FFB -:10A3C000EF5DAA81F3FA5668EACF38B35A533EB329 -:10A3D0007F83A67CD6B9060D3C7BE05F34F555FB48 -:10A3E0003E5C3F96CDFCFBEC7AA3638CE67E9B70D3 -:10A3F000BF21DCEE377DD9226F437EB619889F25B9 -:10A40000D4E7B8DF7C37F78F4CC54E19E54B81C2D6 -:10A410008F9F15BB1723DD4A6D26D20B9285D793EC -:10A420002C73C95E49EB30D0BD3B929D0D9547A280 -:10A430007C6EF2CDCE98101CB7D9BE87EEAF28B592 -:10A44000CD63988FA47E2FD9DDCC6BC5FE64EACF97 -:10A4500064F7513DB30CDF87CCE3A44EC72C28C76B -:10A46000C18F43FF6034BF4DF5D7543F6D34FF4C6F -:10A47000F5CBD2742C029F0784FE3BD07FCFAE7FFA -:10A48000BD2C9191FFB605E77D3F9EDB46BF6D2A4F -:10A49000B7B3DA1216C818CF694FEFEC1D87E389FE -:10A4A000D751BC14EC66E7D2107BF1B199DC0E9564 -:10A4B000C6B5F7A3FE6B8836C9682F49A603B3DF7C -:10A4C000077CEDD7F73F85F18956C1BEB113E5E2B0 -:10A4D000DD16CA03D9ABE04DB6EAA66F83763B9B87 -:10A4E000DD129ECFEFDCC99CADB83EE24AB745C352 -:10A4F000FB0929353A0C034DCC68DE86CFFB67F2A9 -:10A500007D9F49D90774B1503E39B77439C6BD44EF -:10A510003BF4779538B468EB60381F96219D45BEB3 -:10A5200042EBFE0A0CBD34C644FB9266A4B7404F12 -:10A53000C28379D0E237239CC1F162760BFE488159 -:10A54000DBAD9847571AD341F455ED59B473B1FDBB -:10A550007B8ABC8F213EE3166AE92A990E113E766A -:10A5600029FB12EDD1F22F513FB7A767C4E07E96C9 -:10A570003A4E55AE1C56EC7BF5BD2A571C986B9392 -:10A5800017B46F80CF3B30FE6696F6D0B94CF3BD62 -:10A590007B18F2B5194FB193BDEF933DA43F3C9AA0 -:10A5A0003CB4F271CB4DA8AF2FC7B9C89E3537FE6A -:10A5B00098C6178E37733FCF471B0DAFB6CC4749B0 -:10A5C000BF830096F13CCFA9044B6D68DC537DBA84 -:10A5D0000BB8DDA257F386C093407D7659CD4B7200 -:10A5E00047F2F14573B82773058DEF8E7857E2D5A2 -:10A5F000EC6D33F89BDE10BAEF943C26C443DBE7E6 -:10A600004BE6D1BC255A0C6CD717D907289EACF85D -:10A610004B6EC53EA9445F0C9E69067E8EC019B77D -:10A6200090EE3353E3209766F2FC45A78F893C8E6A -:10A630003794B7AEBB328DC62A1B54BD4BA62CD760 -:10A6400053F07F37E6AB8C6F97B479EE8A1E57F5DF -:10A65000F4843DDAF2891D5A78927FD8F7FF897A1F -:10A66000FE46FE3BE8016DF9A38ABEBE11F535EE4C -:10A67000677D83E78B98604457B89E0DEA3D900351 -:10A68000A99D8152149B295B254D9EC998307D78E8 -:10A690004F914C78F0F44A7AD4B36A9C265C0E0B46 -:10A6A000F75CD882EBA534325246F989710CAF9130 -:10A6B000FBE55EF053EE979CBFAB46BFAA57A43CA8 -:10A6C0002A954EE174AD2D14147DEA110BC93FEEAD -:10A6D0009F8EFE3AF6E70DE94F8DB79C2FF69A3123 -:10A6E000BEA1C65D2ECD935E12E4601C458D0BAC01 -:10A6F00052D6CF2EE71BF53D308E9E33468A8154CD -:10A7000088BFEC6DC23CA95489E4977DC6C6EFA111 -:10A71000FF5DF67B28C778A22C27925DDEABA738B9 -:10A720004099C2C7658ABFA5C65BD20B399FA72ACD -:10A730004FF82282FBF58108B45F271F01D9ABA532 -:10A7400067242FE771B6299DE1E56ECA5FBA4EE135 -:10A7500017CC3B2B4DC0742F0E773221D60E749C34 -:10A76000B6BCFF14BA0ED9AFBC14817C78D4CCED42 -:10A77000B5A7157E48608213F3F3138E589C7EA80C -:10A780006715D9D13E9887F3B4A4C9339B7A420B9D -:10A7900067B310381DC7A18577CBF5B8F5CC7657D0 -:10A7A000834D0E539E59A8E46567B24CE4AF0AD1BD -:10A7B0009283FE5343A985215E8DEF4CFCB73E94F6 -:10A7C00017AFF37BABEC91F283E5F0BDFDD5586795 -:10A7D000B31CA4FFD3E047A37EF8EE15276BD50783 -:10A7E000E35ACF003D33687FD94EE59D4057848FB3 -:10A7F000815F9D41FBCB59F4FEC7E05723DC057E0A -:10A80000353E7F067E35BE3F017E35C2B71797DEE7 -:10A8100084FCF216D443BE88C8396E1A8F716E8BD1 -:10A8200048E76EC2F97147FD7B969B4156153BC6C2 -:10A830002E8C477ED82AD2F9E49B0AC72EC4F3DBBC -:10A84000A171B5D0386330AED62FA8713523D0E7CB -:10A85000F20C59C95F50E26B5E1E5FFBEA76DC6A60 -:10A860003B14BF1CD6CE501CD3E47B3F0B8F6C092E -:10A870002C0ADE7F74F77F1D463D9398E4ADC579C1 -:10A88000D7E5BD6BE076373F4F95A2ACA37D669EC2 -:10A890004F9AA2E40185C72F8BE7BC73473CA0EC1D -:10A8A0009E9FCD5E89FE7FF1EDEF4C4F03F854E1A2 -:10A8B000532B31FFB7F8FBEF3C970C78CA9AB58160 -:10A8C000C37BDFB99CE2C43C8C875762FEAF2D96F8 -:10A8D000EBB77DCAB9A421BDA7AC97CD8D4F901E13 -:10A8E000073B83213E5A123CA45F3F8E1BB0D540EC -:10A8F000FDCDF10309ABAFA20F36371EA6EFF70966 -:10A90000CE737E1CF74C13CF3B55F4CD2585775580 -:10A910007DD360E6A03A1ED0B0F47EAF120762EE9F -:10A9200064FA2ED6CCE11E5B21E9A507CAE45FC913 -:10A930007CDF92FCE31EDB75DFC1BCBA967912EDB9 -:10A9400027EEB5B8CCA8B79E53E418B4EFA3FC9596 -:10A950000A13EDF3B0B8E5B4AE63D47EE2AA291FC2 -:10A96000214619CFE9C28800C6075ACA4D07518E41 -:10A970003E641947EDB514187C189751E16D853088 -:10A980001EC067B42D261D6155CEA9716386BB6AB2 -:10A99000D06E9932ED3235CFC1A4BF106A5F5B58DB -:10A9A0001FF18F53278B681FBA67C9448FE9CCB951 -:10A9B0001CDF1B847A1F3223CE43173A0FB95C3B4E -:10A9C0000FB942330FA1C11440BBB0A502E601F597 -:10A9D0004F5BF369BCE17453E7F3FD42CECFE1F383 -:10A9E00064CA7E927A7EA0CC5E741CC755A173B7F0 -:10A9F000E2B85EFAAC3A0E2F929CCBEA257C3F3E41 -:10AA000098CFD3FA75F2258ADF13F8FED7ED069AB0 -:10AA1000DF2BB3F9781E35F8D3E96087E44FC27DA8 -:10AA2000DFD1F8F84F0ABD837CEC66B8BE5A62DC11 -:10AA30009C8FED03B666E4E3E881846D34AFC08893 -:10AA4000F409E7E7707A0DE05D09E447FB44C4FFD1 -:10AA500057D157A56BF83E98CA2FEE597695DE0E62 -:10AA60009A67204DB34F082DC823ED8F6F87F6E40A -:10AA700090FD3483C34376B63ECE9985F1E6962F9A -:10AA8000C511CF4DCAB3F87A6FB64590FDDD62E3CC -:10AA9000F677B76D81C66F2A073F0AF791C558D67A -:10AAA00089EB4A8C5A41713431112D2F620BAD5D07 -:10AAB0001BB590DBB576D755CF4F49FDA2E65EB505 -:10AAC00061766DCC026ED7DA0C64D7EEB31A961F9E -:10AAD0001841EE0C16723BBD1BE73182DF08FE22E7 -:10AAE000C533557FD160F792DFA7CE7350E177B5BC -:10AAF000BED15ECF30BE261A9C32DAB1A272BE152C -:10AB0000F39AB342EC02B5FFCBCAFECEDBC5FC3CE8 -:10AB1000849ADF5EFC2BA17E24BCE7CC52ED92919F -:10AB2000F9EE1FE01B92132E8BC18D7687CBE2A02E -:10AB30003CF0D1BEC32DEC73314139E3FC325F24CC -:10AB40007D243929AFBF53DFFFDCAFD01F7CC94262 -:10AB50007AA7D39A52166A9783D14AF9C9E0FFFAC5 -:10AB6000B2A0B1A37F8315A90BFABDE087DD302B1E -:10AB7000645FF254C359DA070AB757C3E30A43EBD9 -:10AB8000DD76389D8FC79F84EB5768284844BE0AFE -:10AB90005FEFEA33D531FDBA3530AED4A41C7AAAC2 -:10ABA000EF1F67E2BC91EE4F5B3D4407AEA7274124 -:10ABB000675122E9E7D538EE8FB6BE91E094F19C5B -:10ABC000ED45D2D397EA0BA27620BF67C5907C4DA6 -:10ABD00051CE8FA9E349B9AD3B3AC682797C039344 -:10ABE00030FFCDDFE4B9AE5C4F7E867BA4F13E3012 -:10ABF0004B89C305C6B2D0FB81E4B8BEF91301EF9F -:10AC0000B245E794697DD949FFA972A0548A2EB74D -:10AC1000039FA73631A745C6AB93ED14174BBD2252 -:10AC200012BFA5F6F0FB9DC7C60D0878FFD0503FB8 -:10AC30004A9E93BABFF2497D39ADCFD444C6FA28B3 -:10AC40007EE9A17D884FE2024B707D7FF2301F517B -:10AC5000EA13DA72D0B914B75EB735C22F43D363A3 -:10AC6000EF85F1E178BE27B094741C474FFA0E8C43 -:10AC7000FBFC2492E23E624706C56D6E4BF2DE4558 -:10AC800078F5CB77E9C62B93857A75DF8AA0FB042C -:10AC9000F6097DF3299FE24E1D7B7284B8D4BFCEA6 -:10ACA000E2EBFCBBB3F83A4B75E4737A3B72AF5BF3 -:10ACB000137BEDEBE914CA6D18C7AE283FEDD3A99D -:10ACC0007961BBF523F3152BE27EEA903C56F067E1 -:10ACD000422F08F8451414BBEFC8D34F3F9DC0F86E -:10ACE00011C3717C3F3274DF3822C34F85114E3758 -:10ACF000C91FC1EEE672D65EEFF0017FEFF8421C8D -:10AD0000B1FFD715FA35A7DEE5C0FAE5B2939EDDAF -:10AD1000A9F9676A007F168B811943E4B0CA27E15D -:10AD20007ABEC13AEEAA7EBC01E4B17C953883417B -:10AD3000C9FFDA7E6AA609EF0FDD6E71F5A1FDB5D8 -:10AD4000DD12E7A238BC05E446485CCA627999F88E -:10AD5000D0E2E4F13A0BCA5F8C4BE1FCB371FC2FFB -:10AD6000D3FCD57ACF2A72C8E20CD07EA9D9B98794 -:10AD7000EA99240F9D9F33C531CA6730D9F9BDA325 -:10AD800011193A661A411E1F9EC5FDC0EDD9AEBE0F -:10AD9000321A9F84C7AAD87687CB41FA10F10CDF0C -:10ADA000F758F3A342F1F39E220F5ABAF9FC3C8DF7 -:10ADB00049F6723C6753ECF9AF5979D8CE6A13DE85 -:10ADC00073275A73AFDACE8561ED3C92501E4BED7E -:10ADD000BC87ED8856971DDBD12BF7A786E3F933A7 -:10ADE00085DE7F6F3C0D3048793C8417224C404310 -:10ADF00097F0A705E362B1237DC7E562BAE2BF80A1 -:10AE00005CD417C1BCEAB2DF7D99AF31EEB7C4CCD8 -:10AE1000E779429780B3F1DEAAF0FC8B703B46D510 -:10AE20003FAA3E8276446CE751B4632606D7911A56 -:10AE3000CF49AEF5F0F512E7217E01BB46C6F522FB -:10AE40002A797EE1F3B9A188E35FB015C8A82FCABB -:10AE50003FEF4FC6EF4E5ACF25733B56BBCF7CFA20 -:10AE6000B3C3662CFFA4B6ECAAF68ABAAF3CDA7E6E -:10AE7000B2ED5F3EDC126AAF8CB6BFFC55FBCAA7D1 -:10AE80006C068ADFED17B4E7E32B8AB8FC7317A9C9 -:10AE90007119EF8C228C430A1E273FF0CCE3339FBD -:10AEA000157B0B914E69ED06E603BA9EFC2CDFE1A3 -:10AEB0000D69E75AF1ACC6E1C728F6D418CB610199 -:10AEC000D7E9985ABF8071F4E4DA4EC17D957AB122 -:10AED000455C8FABF5F54AFB25D28088FAAAC4CE33 -:10AEE000F562F2A0C4B242E48EAD88AF5FBD62BF2E -:10AEF000DB4E3D65C6F64EE93CED99A81F6C3AF96C -:10AF0000C990F5AEBFCD652A0B995F0BEE0F8D4052 -:10AF1000C74D45AA1E0C90FE56F5AD5ED513719235 -:10AF2000464F6C8EE47CACDA3B9B0BB93FB4399254 -:10AF3000FBE5AF3ABCEB11FF1F177EB868BC8CE78E -:10AF4000643B0DB89FFE55FB2443F68DCE5FA3FAFC -:10AF500033C8FF4EC9FEF37EF83EE7FBA564EFE57C -:10AF6000E18D23226ECD72FB0FECA93B8BE2F9D56C -:10AF7000FCA1F46661F70B8E361F2FDE6B9A87F10A -:10AF8000BF3E8ACFDEFFB930E27988AE22D52E1AD5 -:10AF9000DA0FD4C4599315FD96AC94CB18674DC7FE -:10AFA000FD2D6D1C747AAF16CEEBD3C233CE84C5A3 -:10AFB000557DEEDFE0793FCC1FC046F7C13A4339FB -:10AFC000B146D9F74CF1F94BF19C782AEBA4FDC5B9 -:10AFD000E4DA180D5E8B4525EF02AF3956C7093FFD -:10AFE000C952E579FCFED921FAFB9826BFBF7CCD7A -:10AFF0005D782526DBC3CFF999A073C4D7FAF94B46 -:10B000002B90AEC3E2B5F5DA386D726839E061DDD8 -:10B010003EED79418F3B87FC8165DFD09E1B54F369 -:10B02000D271BEC9AEE1FD7F75BFF02F6678FF6AB1 -:10B03000BB8F82FC21F9AADC279C8A45D88E14108C -:10B04000709F7B4C3DA37B8593B732F748FB057F10 -:10B0500054F0158E67E62B21FCCD51DE8DB1F07CCE -:10B06000D5315B75640F8E01B9407F6F6023C800D6 -:10B07000809337CA644F2EAED531D40FECF326CD72 -:10B08000F7305C8AA7AA747FD4C2F37153EB985F40 -:10B0900087F3A9BF8ED6138D6B5C901F005F9A7BE0 -:10B0A00005161768CFEBA6869DD355F92039ECBD60 -:10B0B000AFC8AE5917A0E7FE58447CC2F5DF04D4F0 -:10B0C0007F30A48F669E398CF975C5DB18BFD726F3 -:10B0D0003A82DF6B13DC8F10AF00BF9E32CDC942C6 -:10B0E0007B65973D4287790F27A3FB1F63D18C5D5A -:10B0F0002C62BEF222BCEF7060B200F017275AF744 -:10B10000B7CF8672F3C00F30986CD9BDEB9679A992 -:10B1100041D8F6C0F70866054CC67B8130E714D7E6 -:10B120005D847DC111BCEF3A22DB42C1C908A6BDD6 -:10B130007FA7B550DE8D7923AD1374CA39E99072BB -:10B1400098C786D9EAB97F37E5DFB1793C0F20B4DB -:10B150007DCCCF1EB5FD05D07EEED768DFC4C79F7E -:10B1600080AF40CF24E0F8310E8EED237D3168149E -:10B17000DABFD29EC47C0770FF06FAB308BC3F3B1F -:10B18000E6A524306D1EC2507F76E86FCAFFC17CF1 -:10B19000960FA787FE6AF458F1F5E8D1AA73D37821 -:10B1A0007D532DE407E13D56785F9D59E9CFACDC36 -:10B1B000DB85786DCD0FE215EC406A17AA375F5139 -:10B1C000F08C7986097603E17934BC9DB2F3BCA892 -:10B1D0009DF6087F73FAFF077A3938BD42FB437B3F -:10B1E000F29AFB5B01FDC55D7B7F885F5C3F43F8A6 -:10B1F000059A6C4BB876FCC2A87CD782DF53D0AEE0 -:10B200002E04AFC1FCA347ECE81798F51E13E663C4 -:10B210007E6B7634C9EBECB8A526CA47885F4AF93D -:10B22000C56DD916CA876FCBF886491FA2A7DBB2B6 -:10B23000ABA91CEA53DE54762002C3146C0AEBA3BC -:10B2400038C0CEA27207FA85BE7A9E87A5E625A9E8 -:10B25000FA9029FB9F342FF8306AF6F18153507F22 -:10B26000677D2EE59D4545FF95F2AD76D53A9D5813 -:10B27000FE9899EF637E57D9C74246A578DAD4C2C3 -:10B2800027703FD735A141A0FDCB8D57DFBF745D3F -:10B29000EC2BC3BC2D56C3F3B21CD552983ED4AE92 -:10B2A000DB5D88579E3FE517387E35ED3D3B3B9E85 -:10B2B000F0B633E320C3BF3BF41CB4256AD7970E26 -:10B2C000F398C2D7A36470D33D63AC4147E348C64B -:10B2D000D4005071AE290B1D35F03E65AD44F7F931 -:10B2E0002666DF4BF94C60E593BD919DFDCB328422 -:10B2F00087CD738D761EE1F30A1FB77ACFB14A2F3F -:10B30000D7456724FA57AE094B29DF8C7ED4F52E3A -:10B3100086CD07EC61739C8EEE838BC8089917D39A -:10B32000D453FCB77F2EFC18E82A5A47E1FB62FF92 -:10B330008F9F1B3232A7C940DFA9E76CF87EDB186C -:10B340005C3B48F734C6F3BEC3BFCFE7DF3307DF4C -:10B350007F334630139EB3113644501CD368041813 -:10B36000CFE128F78D3DAAC4DB9A052625B942FB1B -:10B370000B50DEBC68BA2103FD8653A665763ADF22 -:10B38000A6F851FA680FE52DB2AC188D3F7A4A390C -:10B39000A7D6705B7A22C6EFA2A0AC0FFD6AC9697E -:10B3A000427AAB7113DBF8FE6FA21E3F3B5BBFCA54 -:10B3B000847A1B9DE042C62EBF70653FDE33ACAE83 -:10B3C0004FE320BFAF630896EA292FC43898A679C7 -:10B3D0001F50FC301576C749E5141F2A9609CFA5E2 -:10B3E000CCDE8ADF95027234F70328F77F0C6F3FBB -:10B3F00045F33E00FE75E8BEC0E8ED476AEE193041 -:10B4000082BF3372FB9961EDDB476C3FD86EACA60F -:10B41000DD3689CB0D5F5C847FA4F81EE6FF17C77D -:10B420008F9EB79655ACE4DB9B40A2E13E94C23FB1 -:10B430003B1CF594C72646F07D533D8811E4A71EBA -:10B440006B2DCFBF48D1E6B1A9F78BB4E1BD215038 -:10B450005E66D1DAEBA56CA0679A807EAAD65E2FD5 -:10B4600046498AFB532CDC8EAFA77D527D8A562E2F -:10B47000F4E07A81F9E8ACB97D94F7166FA1BC8647 -:10B48000D1E20B6F3531CAC7D2477AEA51E7959EB0 -:10B490004C1ADB56007014E7B3C527A7AEC2B8D16B -:10B4A0005B0A3FB7811CA073A40D8907C49076ABDB -:10B4B0000D8109A857AA75FC1C00FD40FF6FC58FC0 -:10B4C000A1386B78BFEAFD312ABCB25E989D11327B -:10B4D000BFB794F531D4DF1DC907D0AE1DEACF1830 -:10B4E000C8A3FE86F28A94FE12FEBEFEFEA0AC6FDA -:10B4F000B5BF957769E7B7D2D047F35BA9DC5BAA04 -:10B50000F6F7079C5FFADFD19F920F36D4DFB7B40E -:10B51000F35B69ECA3F9AD1CF22F95FE12FEBEFEA3 -:10B52000D47C07A3B1BE16F969B4BC0735DFA1D03E -:10B5300091AAC97700CF6661A9C4D88302E78BEFCF -:10B5400014CFFA1EF2C5E5850D4EB253147F8FCE8F -:10B550000789743E88F4E8E2146E87A8ED1F692A13 -:10B5600060EE893C1E84CFAC2281CE1F4C2A10DCB9 -:10B57000B8CFB60FE407DE83B71FD63996FB9B1C06 -:10B58000F43CD824D3F310F8976E8A7F39090E144F -:10B59000737FF1C1247BD51AB43F4A2378FE75D15D -:10B5A0002CB06C83FE1BAC975366CC73BC89E5E072 -:10B5B00039B4CC0E8ECFB8F204BAF73E22E7745FEE -:10B5C00013C03B0A4419F3CA77C823C7737E5ECC05 -:10B5D000E3443B94BC491F9E9724A502FE24CC7FE4 -:10B5E00095422A262EA4F3368BBF154DF64DF5371E -:10B5F000FAAD7618C72D42CE6F32001F7F54EC9BF8 -:10B6000055690B481E84FBA771A8A972319F50F49D -:10B61000FBE1D765D665E4DF2EBB91B118F87E312A -:10B620007E077AEA578A7DF45ABF91A1FFE72BE79C -:10B63000FBD7B7DCABF54B1F3407EC68173E98130C -:10B64000C7901ED55BB5E53B0C7CBD2D0BF35317A6 -:10B6500087E5FDA8F720EEC05F6732D655ACDCFF6A -:10B66000A2E4FDDC85721EE338293194E4AD9ED35B -:10B67000341AD988FB926A7BBF53E4168B73131E6E -:10B68000D43C39263E9383DFABFDA9DF3D2A3C93B2 -:10B6900074B5B829D88167FBB3B8BE477BFD3F8A34 -:10B6A000B5F94997178EFB4E391B896F07248C53C8 -:10B6B000A8E3FFDFE2D71DC57CBEBF9AF3492E3F4A -:10B6C0006797C242CFD7A9F95FCB866089EE15563E -:10B6D000F3FF9863201BE9FD9FB3239DF711FF291A -:10B6E000F648E04DDD95C8AFDFDED0381CEE54CD16 -:10B6F000F955A5BDD1F03CDABD13F413921FD9D290 -:10B70000EC74D079BA78BECF3626AEEC3C9EDFC260 -:10B71000F27735FCA53DA7D5D2FD94807ECB63782A -:10B72000BE4D1FEC17E3C06D166CD7CFE34A81A75F -:10B7300028FE9B521B105AB383E781C2E562CA46BA -:10B74000ED79B3F0FB142B2DFD922063BC7F80CEEE -:10B7500031CE2FE1F4A23B3BB05E3CB727C5641D60 -:10B76000CF17192B73FB3263202D74BF636A899244 -:10B77000671AF9C65619446F46C943AB306FAA32EF -:10B78000EA8DADE9288A4BF6AEC23CA9CAE4373E41 -:10B790004907793BA9E4610E4F7EE39371004F2E78 -:10B7A000F9570ECF6284A42925DF5D85FBAA534B90 -:10B7B00094FB95581F9DDB4E4CE27CF4F73E45A36D -:10B7C0006EC47539A3448D5B323AA7ED39F18B33E2 -:10B7D00028A73C6A9CD7ADDDDF64CAFD8937A8EC99 -:10B7E0001567237B6901FE0EF8BC41B97747670AEC -:10B7F000105E2706EF3579F8EBDCBB133C27CFEF63 -:10B80000116A69645EEDFD886E85FF79DE903A1EEF -:10B81000B5FF61E3C2FB016342C7B58FDA51C7F5DB -:10B82000718ED1274C0BEED7AAE3FA5818D88F4166 -:10B830008F033D7D3548D78FAD0369F8774E60990A -:10B8400079098E1FD82F3843603DA7E3CA921F9114 -:10B850003D559CE45E5982F97B067E7F41BB624781 -:10B86000EE8AF7FAD0AF077EA3BC4D5F2A3FC750E0 -:10B870009EABFD7B6CEB4BB85DFA27E55961DC5361 -:10B88000FF7A2EDEA72EB066A8BFF9F3CB06F4FB35 -:10B890002B4FF0BFD7BAE9F83B06F4DF37210CEDA8 -:10B8A0006CDA6718F1EFC17D888709F8FAD5F82BB3 -:10B8B0002FA566B6C5C17836ADE1F76437FC34BA5A -:10B8C00002E1861A9A255B5174B4023F5BE9E96E86 -:10B8D000C3E72AD6FF12EE4B5479B57EC4376BB559 -:10B8E00076FFCA7AADBDBE6A0F5007F4DAAAC6E485 -:10B8F000B0FBFCF83D81550A3DAB1CBBFBF0FE8163 -:10B900002A16764FA08FC791BEC967004F6D7CA4E1 -:10B9100012FFAE14CE63A34871DE9752B74B78FE88 -:10B920006D733DBF9FACA2EBA281CAA11EEE2B2579 -:10B930008CE1F7E1A9F253D5EFDF7CE1801EE3054E -:10B94000E1F705AE5A3E8FEE055F2E6FE0FA7DEC13 -:10B950006F2B62E07DF83D80D55D5CBF57370A7E76 -:10B96000BC77F79BB55A7F6025EB6B437F6665BD5F -:10B97000F6FDAA462D7CA444D1BF93D9645C1FCFA9 -:10B98000960812AD1705BE90FADBD702C83F499E54 -:10B990004EE4B78D86C054D473E5495E82D5727883 -:10B9A000BF89EB21AEFF75B09248FEEA79DCC25741 -:10B9B000C7EF67FBE6307B20C45E1087C3EFA9F2B8 -:10B9C000D3ECD94A7ED80B02FD7DF072C92DC58417 -:10B9D000F8C9E17CF8BE223F5F63FDD938AE4C6404 -:10B9E0003AA04BE632FEF79F335FACA1BCCACCE96C -:10B9F000825347EB58C71AF15E3190172817D0FED3 -:10BA0000C4FB3232C5CEE524A7A719ECFCDE1D0726 -:10BA10000B5DFFEEA79880F9823874DAC74DE9A56F -:10BA20007B371675ECBE88722E63BCDBF5208C6FFD -:10BA30009772AFF6AE9F0A64CF6ECA7E99E4612218 -:10BA4000B005F6BBC9A1C8C52EED7D188928A7F0A1 -:10BA500000CBC26CEA3749DD7F50F37A036574BFCF -:10BA600054A2D2EF971532FF7B7B1B3A059C772AB5 -:10BA7000F335631CEAD7280BE3834F759FE0C6E0DC -:10BA80003EF97AA4679DA39FEE8751F7C947A8B7EF -:10BA9000A5247E78BDD1E4EFFFF5F37F007E0B583F -:10BAA000CA008000000000001F8B0800000000009A -:10BAB000000BED5A7B7054559AFF4EF7ED4E7712FE -:10BAC0004227813C0C819BD72C90109B8420E8EE70 -:10BAD00078BB3BC984D7D8E1310642A49909BB5150 -:10BAE00092741474A3656D1A616207DD2AA1D045B2 -:10BAF000CB3F1A4A5CA756778366B1D186ED80A109 -:10BB000050519B151D184B2AB0AC23C50089382E07 -:10BB1000CEB0C37EDF39F7D27D3B378A535356ED23 -:10BB2000EC26953A39F73CEE39DFFBFB7D171430F4 -:10BB3000C15C80071C002003D499AF650C5760FFDF -:10BB400040492E607B9D7EEE1CDB9A6D26906DC079 -:10BB50007FAEE39FC5910AF2F4787FD1F46C5D7FEC -:10BB600089B34037FFAE7925BAF146A55C37BEAC44 -:10BB7000A15AD75FE1BD4337FFEE268FAE9F92B744 -:10BB80005037DF2E2FD5F5D3A6AFD2CD9FE0FCA93D -:10BB90006E1C26F5E7792700586D81611FD221C8F8 -:10BBA00000E665E1BED6F4209B08509E8193B14D1E -:10BBB000ADB6A7531B9C9D126519D8DE925149FD65 -:10BBC00094B71FCC8BE236B6892FDB5CD8FE130B03 -:10BBD000B9B3710F2493AF1FE938F351504209F400 -:10BBE000FC3B8F09A026DECE517C77BAB0AD7849F8 -:10BBF0002E408EE04F6CA67716AE4FC57FE7E0DF94 -:10BC00003E5B684F11C0ADB827CC8FEF03F5AEF99E -:10BC10000AAD7B54590093B01F064719CEDB6D0562 -:10BC200085FA817D56BEAE223C6C52D2E3EB86147F -:10BC3000C6DFFBB4D7BD80F6EF8C3007E0BCCE9DED -:10BC400067AD7205F50733146C2BBD67AD909EF898 -:10BC5000FC8C959E774A23A90E6CFFA5DFDC103281 -:10BC6000909307152BDFFF4821B6788E9607CDA15C -:10BC7000143A3B288B5D286F4D20E4AD65EF48D426 -:10BC80008CEF6FE960CE003E6A92EF5B0C4857F094 -:10BC900059CE0E23C96DF87BBD18CF999FB11B6E8D -:10BCA000E5EB017200D608D6C1AA79510BD1ABB928 -:10BCB0004DCCD7F8B96679FD795689FB76253D9F3D -:10BCC000D23B6ACEA0F5D2D9614D1EF0DE3F53269D -:10BCD0004CFA2C0D3BE55071BD04E0A4D76478AF5D -:10BCE000CD1E0960328EFB3C9CDE4F23DDCC8CE800 -:10BCF000984C2741BF6FA3CF2BC4EB043E25CF0B3D -:10BD00007A049F5E61D0D49F3E76FC5DE2239E67FD -:10BD1000378B558119C0EF4DE572DA6C5BBBFE5C69 -:10BD200035D1FFAB5E46F4FF570629B8FF27836F76 -:10BD3000E7C824E77B877286713F7FFF500EA09C87 -:10BD4000B55BE44DD2242E07CE4DC897CE70949F9C -:10BD5000BFA3BF7A909E778499D38E47F50F8CD678 -:10BD6000F37BC270AF239DDE6B7CAE6D8A899FEB47 -:10BD70007945E6E7F7FBF09D93687D4A28C488EF94 -:10BD8000C3562E17FB193C85FDDD7DB6A690C13E3E -:10BD90007F4FF4C6F56FF55941423969C7F5748F85 -:10BDA000238547AC36929BBD782F46F738BE228D4F -:10BDB000F6DF680199C5CF77B130769AEE7FAAD5C4 -:10BDC00002017CBEB9D5CCE97D6AA399EF635EF729 -:10BDD0009FBD05D85F89F29782473DDC7AE548012F -:10BDE000EE7BAA0DFB785FCF3A0BD7BF95F7333EBA -:10BDF0003F597E35797D4E95CF953EBDBC25CBEB29 -:10BE000018396DFB6E721A8ECB69E57533E77B5D71 -:10BE10002EC9CFC3E0DC43FA73EDB02517CF5BDC4E -:10BE2000EB703E86FD59E6D0CF73C82E1C16E3B3E7 -:10BE3000DB7731615FE45574AF82A015B63292238F -:10BE4000C1AF77895F93E96A232C8DF4558A1593E6 -:10BE50001DC2572BC4E7572DD0B4B7829E0BFB32BF -:10BE6000EBF5BC5D5B13E4F611551E35BB576E0553 -:10BE7000DFDE749ADF7F4B23EEF30AAEA7E753D5DC -:10BE8000FDCA4A46EA1BB1BDA0083BF8917A0EAD47 -:10BE9000FF0F1EB11FB4A396211D97D804DD17769E -:10BEA0004757D33DE64EF17D42F66FF1D48FDB016B -:10BEB000ED44B0F89D0A1F9D0F9C269AEF57E97E2E -:10BEC00078FEAF9FDF80F7B5CF48E57C6D3CF46C22 -:10BED0008CF8DC592A01F1DD5E3627D767207F5ABE -:10BEE000EBBF5A04BEEC78BF33325AAF18E8F57690 -:10BEF000F5BCB3ACE2FE104122E5737B2CCDAB8ADE -:10BF0000CFD3EE0FF018BFA7BDEC05CEA70DF7C33A -:10BF10006C333FF136BE4F73FB71B616F7B9DBA237 -:10BF200058D291CE1F4F6C5A7FAE0CE09D1E3491BB -:10BF30007891633D36F0FD05C0FB3D0EDE8FF5E4E4 -:10BF4000F1FEBFF7C8BC9D31D5FB0705F759F15687 -:10BF50005719D1EB70E1335E37BEE7F2310BA7031F -:10BF6000809BD369832A7B572266B0E1F89501163E -:10BF700002163FFF3D570BC087F6E457F43E5CD8EE -:10BF8000D1FD21B773CEB6D17A399DE4EA4C2FF5B5 -:10BF9000FDDDBFADA7B8E134FA09922F7F98411EAD -:10BFA000EEB3FA6A365FDF113E6E95490E4C23F50B -:10BFB00044FFC041062497FEAE516E3F9FC77B29C8 -:10BFC00078EE1FBA32F9FDFD91D926C1CF39224E44 -:10BFD00051F93F38F3771964BF6CDDF20777101F12 -:10BFE0008F9A391FB7BA47321C067C3989FB428ABF -:10BFF000383FB5C9E34DD6409913D735A9729B3C5C -:10C000007EBB4BC82552D8427102FD30A4DB6A5575 -:10C01000BE5AF02A13315E581D66D154D4DB96887F -:10C02000E7BC446D1783B33A7B007056D367F3F8CF -:10C03000F276B36D27ED5716EFAFF4E1A609714E16 -:10C04000735B1A39D184F707F83D520A4B737DDFD1 -:10C0500010DFF987315E437E75622024A3DC775CB4 -:10C060002DE7EDA5FD8FCBA427B6D49167C82FC0CF -:10C070000F4C8E3DC8DF8E803EBE2953F5A0CC23E9 -:10C08000E8B6D4C5A4CFA673BB554EF7AECDF7AD79 -:10C0900070E1F3DF147E9C7188D4DB1AAD04E3E712 -:10C0A0009D80FED846FA84EF2D47FEBC6A70EE995B -:10C0B0001EF72A8A9FA6C2535CBE01E59BE42AF9BB -:10C0C0009EEB5CE25C9A3EAF3C74DE4AF1AE3F6CA4 -:10C0D000ACCF351ED73A3A4F1F4083919F2B57FD67 -:10C0E00073C74EC6E9E5DF99CDE97411767ADD288C -:10C0F0009717F11CBB512E2F7BBD6999B8FEB2CFAB -:10C100009B96951ED7FFCE9D697C5D5FE9D2ECB50D -:10C11000D87F4495FB4B618F8DE87CCF4EA177DAB9 -:10C12000FB4E47576693FED45846AC4E1C9F1239BF -:10C130009341715DCDFE65D9A47FE39DF33EB7B811 -:10C140007747F786F5E7B2853C98519FD6AB7ECC12 -:10C15000FF58D44AF45FDF0D5C7E07F77DD249FAC1 -:10C160007B2992E620BF77F1405A80ECFDE58329D8 -:10C1700021136ED54EF28EF6ECA265F8C73C7EDC3C -:10C180006F7604709EFFE08567481FFDFB501B71B2 -:10C19000DFF591C747C9BFB547169C97A87DF9FB46 -:10C1A000D5878EEE87F87DB5FE851E9B4CF6F39203 -:10C1B00024ECC4FAF06B3C9E5D7FED4AA5B782EE9D -:10C1C000F9FBB964CFFCFF76652ED931FF9B57E6AA -:10C1D000D2B8FFF5B42EA3F8E4798F99D355F38F35 -:10C1E00045272425715E9DAA07455B9E6A2846FA6D -:10C1F000D51C5FEE34CB09F25566F2D2FC9A8F6AF9 -:10C20000B3D725ACDB12931AE8F99CE3B569AD0905 -:10C210007279BBC7A2DA21D46AB43F2B551AAECCCF -:10C220007B3266AEA4BE1450E308769DC7DB204B7C -:10C23000C8E766FA0F55B12F26F17826D0660E951D -:10C24000E17873CCA4D82B691CD725C41900DE452E -:10C25000B388DFF74E766E95B9BF871EEA3F5C164E -:10C26000227F0F01DB5069421CB432668AA6A0DC33 -:10C27000344552A2140FAD8C4967785F8D8F4E3BC9 -:10C280005EFD7931F0F8E85C629C83F1D0397DBCC9 -:10C290000413E8BC5ABCF431C55518CFB66C8C5A9F -:10C2A000C85F619CA49BBFA6E947E7290F5BD3AD9C -:10C2B0007F5E14934C4BF09E4568EE880C7DB11D5B -:10C2C00036D20F2DCE247E0D18E8FB4FDD429F3570 -:10C2D0003DDA1233713E6C89B96DA5D836ABE303F4 -:10C2E0000E130470FF2D91657B186EB6E5DADD69DB -:10C2F00044AF2D2796C263A4EF0EB7AD8CD65DFB7D -:10C30000916D45455C3EC6D80FB7B08FF178C0D867 -:10C31000CF4D51DFFB7DF9BB3CF79F87BFC3BC7A94 -:10C320009A7B32CFAB9B293ED4F2EA643FA1D95F1E -:10C330006DDFBB547A8FB5BFE779FC82F92FB7BFA9 -:10C3400077B9653E6F4AA4319BE7C5279667CBE96D -:10C3500063F72F919CA6AC8AB1FB6BF19A3FA00CBE -:10C36000D9288F51CC5C3FFDCB598851DFCB789CCD -:10C37000ED5F6D09D1B8769ED872C6E7AD70B29008 -:10C380009DC5E33F2D3EBC313E07C78BE2F1A216AF -:10C3900017C6BC8CE741CB150B1F9F31D557EFAEAD -:10C3A000A1FBD9F9F39AF9625FB40343941FDDFD51 -:10C3B0001306DC0EA8F1A2269FC9F1E41791928919 -:10C3C000DF841B3DAFCAA5A65F5393F442F3538F9E -:10C3D000B8047D3AC94F57939FFEDA4A7A305EDC43 -:10C3E0008D7E7A959BAF03BE7ECE4792D728EFBE57 -:10C3F000A8FAFFFB886FD84E89BDE5A2F316426C00 -:10C4000013E58BE3F9CF856A1C33DEF8232E91AF59 -:10C410007C9B1E3FADDEEFFBD2E36D6E71AEFFED98 -:10C420007A7C23FEB31ADF73A6C7F51CC96FAAB9BD -:10C430002BE622BD7B17F54E1E3BEF2E2D9F944021 -:10C44000C79FA142AB89F21E7F9BC0018299F20770 -:10C450003C3F79DB0CB4CFFAABF93C4EBBEF6A261C -:10C460006F83F920FCE883451CB7B9EFA5E31605F7 -:10C47000D7376F64B3090F6A6ED3DF273859E138B5 -:10C480005BE000E3F17230BFFF08E955604F894C73 -:10C49000FBB7D065090F69CB0C6D26FC82709C5BE5 -:10C4A000E9796A9C0EF89E0EF5F91D2ABE034971C2 -:10C4B000C09B83A738DEE31F6040FA6B8DA0FD2090 -:10C4C0007B7254E01D9D1161173EEFB6737BF2B98C -:10C4D00024EEE1EF66A14D2C1E479C8F6CCB213DD5 -:10C4E0001B134F28184FE4C4E3898E173EE2F63041 -:10C4F000397EC81A10EFF1B79B4384C70C15CE657F -:10C50000D4EFC07C3097E24459BEAB409C0B42DC78 -:10C51000AE283A9C64F72DC2EF7F71F43F781ED9A4 -:10C52000BC9F41368F3B9458694E3CEE58135CC813 -:10C53000FDBF1667AC997664A880F653E30C07FE3E -:10C54000127E981C6774868F5B282F18134F24C5A2 -:10C55000119FB9F5B8E03449E0ACD322CC4178D290 -:10C5600034959EB7F5A5F2B8B8FED3D66CD2738DCC -:10C570003F971A05BF2E9DFAD245EBE67E2A39C8B1 -:10C58000DEBE796AE38705A22FDB645AB7318DF2EC -:10C59000904B9F3E9046F47C135B407D7DFDA464F0 -:10C5A000881F2E57ED11FAB7DF73FFF6A88A1B4BD1 -:10C5B000E8DF26C4F197E4751BD475414C3338EE9F -:10C5C000B81FB8FC06F37D0B79FFD962D8C3711F81 -:10C5D00021AFAF45321D14EF95E365BBD14EFC731F -:10C5E0002A6CB157913CFBDEE1FAF1AC89CB2FAE5E -:10C5F0000F30EAEF95B9BF2BC7BFD538BFD28A67D6 -:10C60000A902F132D4B7992ADFF2310FFDCCC64529 -:10C6100068F975A453F994A35F131F2B5341A2FD2E -:10C620009FB0F8B6CEC0254F0C4ACE4DB4467266C8 -:10C6300037E2BD9EB08BAD9ED88FF28AE742E9E625 -:10C64000E7EAAC387292D633D901AB717D675E7A76 -:10C6500094F033085B7E73432E510E18BDA752C869 -:10C660001BE5A30C14761DF9FB873A59D8859F78F2 -:10C6700081F2A0CDF3BA80F2CEDFD5811A07D902BC -:10C68000E770FE0A5C31119FE7E6FB96505ED89199 -:10C69000376C1571C58895E28A55E47FB8BD15B829 -:10C6A0009D09E793BDDC3AFD552E6FCDF43C419FCB -:10C6B0002111DF338FED3FEDD6F64B7EBF2CF2CE4E -:10C6C000A4F7CFC9FC2287E72FFFFD5F19DC9F4548 -:10C6D000AE70BF73792405621CB71B163875C4C2CF -:10C6E000F3F5CB98074D4EF067AFBB041D0E453CEC -:10C6F0005C1E0762B56934FFB4FABCEFC4F2654B47 -:10C70000484E6292B38C9F52E4350331A946C40768 -:10C7100063E8F4D76E033AD952853D4F96CF1C5546 -:10C720003E733CE2DE9E53225FF16F14F50387AA4D -:10C730006FFE2EC6EDCA91C21CA6E1C8B946F585AA -:10C74000FD23DCCEB6DCCB9C0179FCFAC27635CF7A -:10C7500048B6439DE1BD826FC9B86D433DB73B37D5 -:10C760008BDB0265C373E376FA7E8F6A5766091C1A -:10C77000F7AADBC1EF9BD535DB950BF1FB1BD0F3A3 -:10C780008CC780EF06F3466A0DE86E306FB67273A1 -:10C79000F3FEE626E73D7893F39E566EEE1E176E87 -:10C7A00072DE4737F9DE5F18E92DFC1FAD8326D70F -:10C7B0003993EBA2C9F5CE94B7D70568EC71F6E4CE -:10C7C0004894A89BB1AF89A1CA4A992FD8484F165F -:10C7D000CF177581BE5A5B68178BD747357A9DAAEC -:10C7E00013F197A36234908D749EAAC46AB3519FCB -:10C7F0002FCF079E3F5CB68BFA00488EFC46CE3F9B -:10C8000047FE52B4FB41BB719DE94975BFF1EC098C -:10C81000D4BB3E257D71505C6EC0C78D2A7EE70873 -:10C8200003C76D4092F397F2F7CAF9E46F26BE256D -:10C830009E674441D9C5CF25172DE571B45C44E707 -:10C84000DBAED6BFB216FEA088F0BA2CF4BB541FE4 -:10C85000D94675129E0738F83CED7DADB5E27DDB1B -:10C860002DC0A89E1598C1789C0AC31319C99F565C -:10C87000DF3866899E5BCB787DE3AA07EFF79E29B8 -:10C880005AB1BB48F085E85B31E0E07597F7E7FF08 -:10C89000E3741F7F8FA8776C7088298729DFC073A6 -:10C8A0006C3850CDE5B7F9D0FC5FAEA6B8B054E215 -:10C8B000741E138FAB79D649354FD4F2AC61CA17C9 -:10C8C00013F28EF45AD378FE30DDC8DE6C67220F87 -:10C8D0000EBC27F2E06AABB3A42B814F79B5827FFF -:10C8E0006BA3028FD5F2DB4A2564CA413A543F6CF0 -:10C8F0008EA6A0BFAEEE9D6525BB5DDD5B98CAF13F -:10C90000A5D6BD268DDE467C2F56CFD9777484D729 -:10C91000275E4BAA53B6D65AF9F887AAFCB4D602BA -:10C920006F3794499BC90D4FFC4B87D9081F6FC1C6 -:10C93000F89FCEB73628CEABD5435AA2B287DE7366 -:10C940006668A497DAAAB6220FC70FDB477BC97FB8 -:10C95000FAAF5D397227C703AC32C557C9FB5EA871 -:10C960001338E26B149010BD1648219A57BD40E26F -:10C97000FCCE6AB1F37C3CCB02E674EA370A7F5600 -:10C98000D530C9437D589EC9FD71D55139735D4578 -:10C990003CDFCF5AB07132D1E9DBEA441A6E306322 -:10C9A000AAE2213E7ED73A51C7B11356BAF73DC32A -:10C9B000FA3A9156F719AF4EA4D569FD0D5FEAEA30 -:10C9C000CA7E69A49EF095EA0367789DD81F668E9B -:10C9D000BCA278FDC83F306AE5F455EB4638DF4A23 -:10C9E000EB067A44FD681FBE9FDA30DE57C173BC88 -:10C9F00081F7A53682F7A5E7077BA6F336DAE3E4ED -:10CA0000EDA19E79BCAD46B1C9CFA2BAD328AF3B48 -:10CA1000DD5BCB248A53B5BA855697A8CDF7B613FC -:10CA20009D12EA16BC9F5CB730A78A7CD47FD4E203 -:10CA3000DC8DCFFDC76CDCCEBA226BA7515CF6D57E -:10CA400071DF3407AF0364F3BC5293874B8AD39EE4 -:10CA500049F980D769A77A41F5E079ABCCED4EB4BE -:10CA600000F2087F8A5929EF273A283C9E73D9891A -:10CA7000AEDF8AEF87FF1FDFFF2EF8FE485C2FB97D -:10CA8000FDA8F29A945DD41E55ECEB12EC439F572F -:10CA9000E0C47DA5C55CFF76788B335B13F1FC06A3 -:10CAA00091C7652D28B5273EAFA917787E1603AF2D -:10CAB000911D7BA3D6345E1CF846AD615C645C17A7 -:10CAC000E86B107644C3FDC7D6099C6F9726E0FD3E -:10CAD00097DE4339C5BC75707F0AF7E75F1D48D9FB -:10CAE0004DF1775543EBB409D8AF3A990245C21FCF -:10CAF000E9EA0BCD0D26C59E61544F500A4C28B76C -:10CB000063EA060D266EDF6FD40D1AA433BCAFC6E0 -:10CB1000E9F78CFE7A421123FA87829467BCD6C16A -:10CB20009C8330B68E801B17C03CBC45C3095E5742 -:10CB3000767631A72C7F7B7D2147C5193AC399664C -:10CB400092F396B700E8BBADB17586061EEF57C1EC -:10CB500053C15AFA1EABD4E4207F968C17909C9058 -:10CB6000FF4FC60947547F34A2FABB87D5F8BE4AA7 -:10CB70008D4BB475C9FCAF53FDD378B8634D9D8818 -:10CB800027B63454F511FF028B4D407E604B83DB9A -:10CB9000569AB09FB94E7C47B39DEA169312EB1696 -:10CBA000A23E915CAFD0EC54F5E0D7F5C4FF1D1167 -:10CBB0008127F9F304BE597DD07594F43E7E4E7101 -:10CBC000BF1DC8E3188FA39C9920EE0536817B71A9 -:10CBD0009CA16AF19787D2887E5EF45764978E9500 -:10CBE0006E4E277BB258AA6132C7BB6FE0DF844F1D -:10CBF0002DFBA06D2190FF5F31FB38D17DC56A0B05 -:10CC0000FF0E49F357CB3E68AA17E3BB1E4BA5F1B5 -:10CC1000E9CC6997E979839B9E2F7A394A481F2C82 -:10CC2000A1D3A1DEC48E9D93485F664CF595D4E1F7 -:10CC300079AB1B551C7CB5F0AF2B228D16481FEB32 -:10CC4000EF0E177EC5F3E82B916A8E6F6753FDB523 -:10CC500022EE2FAA0FA01F9AF0A7F34375750E4E70 -:10CC6000CF5BD10FD179B21A459D3099FF6695FF00 -:10CC7000E3F995F1EC28F911D33CA1372C2FEE7F85 -:10CC800065CAAF6F8BFB614718FBB9DF807BABF6E2 -:10CC900029739C38EC21557EC7FD7E23FCFDE0E026 -:10CCA0000FD4FD99E0E06A9EA3E1E15A5EF49E4A4A -:10CCB00067AD7D5F6D93F1320D27CB5500BABF0193 -:10CCC00027CB251C2D8BCC7605C7EDF2D533DCC0E8 -:10CCD000CDA259A6EBE5384FC5ED34FC2CE79E7E7E -:10CCE000467146210436917D19B2826BEF24FA6EAB -:10CCF0008FC126D2EF50238F73869EFB55EF2FE80E -:10CD00007BC301E620F7D3D17F9CFBE90E8C6B78C7 -:10CD10003C14B92070AA7EF1BD694798294638E8CD -:10CD20006F55FF5CAB00B71B1DEA777DF50342AF83 -:10CD3000E338D14352224EE4976393B5EF0543C2E3 -:10CD40003F197ED7D70923FC7BC0CE36E68CE2F3B1 -:10CD500064DC28192F7A4AFD0E705CDC48F96EDF1E -:10CD6000FBEDAB9B30E933025355FCF99447D88572 -:10CD7000261F63B4BFCDE46DE7DFFD1E640EA3EF95 -:10CD8000478FA972BF48C56F5FB40A7978F17616EC -:10CD9000A2786E11089CF6C5836B397EFB62157311 -:10CDA0009AE89E2A5EBB50A5C78C385EBB83F0DA3A -:10CDB0001FA33B219C7691CA7F80107F4FE3CED486 -:10CDC00028C51B4F58FAF3481FB5EF8D1EAD13FE53 -:10CDD0002E3505BA8CF4335CE77AB48ECF1B37BF9F -:10CDE0003C596710EF14D58A7D4FD7E9BF2F4A8889 -:10CDF000D3CFD0BA84389DF793E3F43F155EFBB7E9 -:10CE0000E3E3C555C6F1DA98797B6E12B77BD68815 -:10CE10001E9B55FC2499BE4ABD6687A73838EE781C -:10CE2000E3FC20EAB92AEE35A4FAB920937F79070A -:10CE3000AF7F5978FD4BB333C10962FF89F5C2EF6B -:10CE400068ED4C75FFA0C518A7A951E7FD305FC973 -:10CE5000A8C779E52FE971B359FD7ADCECD6709655 -:10CE6000AE3F3B7A8B6E7EF5D162DD784D6CA66E5F -:10CE7000FCB69355BAFEFCE1DB75F3EFF8DCADEBE5 -:10CE8000FFD5881E37BBF3AA1E37D3E4DB8512918A -:10CE9000B8CE63FB996E5E419BFE5E855DFA7B4D6D -:10CEA000EBD6DF4BDBB728A0BF5F49507FBF2CC25A -:10CEB000F52BFE785C7F6FADACE2FA25765AB7BDF4 -:10CEC000A1D44E714C6EBE90576DDEFF0085A782D7 -:10CED000721032000000000000000000000000009E -:10CEE0001F8B080000000000000BE3146060F85185 -:10CEF0000FC1D3F9191836F323F8F4C0C7981918DD -:10CF00008E83302303C33E20DE0AC46B80F83D03CA -:10CF100003C352203D07882703711710BF048AD529 -:10CF2000B1623787858D81810D884F02CD3AC54C1E -:10CF3000BCFD8A7C08F6215E0686B5407C9497BECF -:10CF40006130D8F00C41FAD9F50C6AD76ED181F76F -:10CF50003708B38A3330304A20F8FD12A8F26CE269 -:10CF60000876960C65769501F50300295128158001 -:10CF700003000000000000001F8B080000000000FC -:10CF8000000BED7D09785445B670DDEE7B7B49BA28 -:10CF90003B9D9095257480202A4BCB1201113B219B -:10CFA00089010306440928D26C2184249D01661E50 -:10CFB0003EFDFF6E0842C4D1898A1AFC195F83E0E6 -:10CFC00004079DE0A0139DC0348B8833E804C70597 -:10CFD00097795F401E204212A338E8F3C9AB73AAC9 -:10CFE0006EBAEB763769B7FFF97FFF840F8ABA55BF -:10CFF000F7D4A9B3D5A953754F149D9124DD40C82A -:10D0000025F8A1E5AB0A2124255876489DC3E58182 -:10D01000C1F6B55E1771190979C06BC272BD379D33 -:10D02000B8AEA0CF47EB8AFC1642EEF7DAF1F9E38F -:10D03000DE122C1FF59662F988D78DFD1EF29663DD -:10D04000F92B6F0D96F77A8BB0BDCEBB0AEB372A62 -:10D050000BD2605C425CA6AC64423C2F0F1CB981D1 -:10D06000D6D6678E4F9047D3FA5FF5449F45DF1BB6 -:10D070002D17F987D206B9A4286B74B09F8AE78D63 -:10D080004A5E5F80F3F8581DEB67AA792D3B72BFAB -:10D090002C3286E2395646FC89A564727672C47ECB -:10D0A0008301DE2343D93C89DDF9DAA0C8F0AE065E -:10D0B000780F0DE5F825DB270F8A0CCF09FD7EE5FB -:10D0C000E4F0D23B0F0F8CDC6F0CF4AB7372787D05 -:10D0D0007DA60191C71D0FFD62E013C589105F8B0E -:10D0E000D19F9DF5FDF9455CF42FC5A763AF79EBA2 -:10D0F0000609F9370DE8B4D6BEFCCC163A4E7BCB08 -:10D1000030A7DE41C8672E6782DD1213DF6E81799A -:10D11000C4C0B752182706BECD8D916F0BA05F0C0F -:10D120007C5B02FD62E05B658C7CFBD94F846FF712 -:10D13000021EDF836F1B62D4B75FC5C8B78D31F2A3 -:10D140006D538CFAF6648C7C7B2A946FEA73B5DCA1 -:10D150004124B48B372A253BA09F27B3CD3620EB43 -:10D1600027C1BF3DDF53EFF6C7C8BF5763E4DF11E8 -:10D17000A04F0CFC3B1A23FFDE89917F1FC4A877C8 -:10D180006DB8CE58E4AFDA8610FCB93400FEB5D8DD -:10D190004F5DCDEB7AC03B89908C7039504BCA51B2 -:10D1A000940799B8DBD9BA55F0CDA51C425698E83A -:10D1B0007FE9FBBE3C12D0D3F17D36E2AF9584FE11 -:10D1C0009F039E84E47F732955E8EFD345EC4F74A9 -:10D1D000D0FE30C815E5FF66EF102CEBB91C6D2EA4 -:10D1E000D2A13CF8920D285F4F789DD8DEE01D8BD0 -:10D1F000E5635C2E3772397A00E4EE0A90C3522E52 -:10D20000574CEE0829719453BA76EC89271B1C28D9 -:10D21000576609F09499BCDDBBE7CAAD1B28FCCD6D -:10D2200035BA2BB785C8D91345AA7C51C94C0EF61F -:10D230007BA2FC846DC150A4B70DE03414EBD47E06 -:10D24000BED07E0DEEEE7EBDA0DF63C55CBE641277 -:10D25000081DF7B1D2EE7EE912A5CBBD12296DB241 -:10D2600084F3658AC4F4942A0AF243E6F4DD9F77D6 -:10D2700096B4D1F76DF6916984964F827EA2FE39FD -:10D28000B054DFAFA77476537A641A494D13E04B5C -:10D290005A2585E22B8F7524821C3D34CE45242BE4 -:10D2A00021FDA19D8EDF67741BC9A265E2F83622BD -:10D2B0000D837EB49DD653787BC650DA4EE13C0494 -:10D2C000EDD6607B2A6F4F73F0F7AF63ED0F7B09EC -:10D2D0008EAFF6BB8FF2D94DF15B47F1C5E7C5C400 -:10D2E000057494293BFD21F39F2DE971DE95BC5413 -:10D2F000F1BF2FFB54C6FCA1417CCD832F66CC0F20 -:10D30000C1EFBEC173B0AEE263BEA212EBFD57F532 -:10D31000A69E18D707124EE7D49903847687EC446B -:10D320003FCD71444F7C945F0E2A9E91F8F3051512 -:10D33000E71F54FF5C8C1EDAF6BB3574589721D278 -:10D34000C1D05BA4C3BADE221D0C7D2E4F8729926B -:10D3500003E147A3873AEE862BC571E3AE12C7DD22 -:10D360007095386EDCD53FCCB8EBFB89E31A33C53A -:10D3700071D7678AE31AFB7FBF7189ECA40F99B953 -:10D38000200EF8679E60DF2E10F7C3A0DF60E7F481 -:10D39000C9413B27DB4B88DB12E42791E9CB39A15C -:10D3A00070EE14EC2A85F37F381CD7E5E1D8357090 -:10D3B000E66AE16CE37048A89D0E8343EED0CEE3AD -:10D3C000B7FCBD802E647CBABE92126BE87B4ECD5A -:10D3D000F8B76BC7DF0D760CE6A1BBECF80E0D5D60 -:10D3E000E768F1D9C3E110DDE5E841EC1A38B3B5DF -:10D3F000700E713801E9B2704AB5F3785DE5AB247F -:10D40000AC5F941EC382EF75E4759E423FE845C54C -:10D41000B19DB64B7FB2066EA0FD8F6C91FC465A53 -:10D420000FEC8DC7F5E3FCB6E958DF778D11D7898E -:10D43000F3CEC97E23B527935E78DB06F6A5EA0511 -:10D44000BD0C75DDDE8F6D6D142F8FB1F5C1EBE86E -:10D45000F3CE17F4642B4A63A10EE87E8ACB2659DB -:10D46000C5EA656656ADDAB2EF4E805BDE6C2466C7 -:10D470000AA7EAA525D3AEA3F5258715025DAAB6AE -:10D48000AF36F4A6F5A57EA909EA1D79A41CF469B6 -:10D49000CDDEFF6C87F5E8FC6E251BC63F4BD70938 -:10D4A00007B5C747ACADA933291E15FE5D85F05EF3 -:10D4B000C54EC9492D1CC577FBA10CC07787E43444 -:10D4C000527A2F6B8C270ED5DED1BFA776EB71FE7B -:10D4D000CBE9FC0985B784D417023DAB803830BE58 -:10D4E000D3E8374B417D3BEB3D8CE3A9F5AA1D7496 -:10D4F0003CFA7EF5739213A65AAD236EC0B3FD2598 -:10D5000073E9531698E76AC3602BCC6FBD01FA2DFF -:10D51000F1CF7FD1EC003CB7180A01DFCD5B0C6581 -:10D5200043817E645EC950C0EF2F227E0D7A17CCF6 -:10D5300077F935C6AD7AE0A72530688635DCCE9E12 -:10D54000A5EB952364FDAC20CCEE13D96F983E2C4F -:10D55000F8FC257D22CAC1B2463D7184DA0D2E1F2A -:10D56000BEA384F9317BACFEED59413E2EB77379F1 -:10D57000E57C5C9EC8F92A77E6CC18168ECF83C06E -:10D580001723F38FA07C98AE9B0EF47F1C48BFC777 -:10D59000A8FFE440FFC889CF9FA07E12949BA99F5B -:10D5A00004E593D44F82D24FFD24E8B795FA495051 -:10D5B0006EA37E123C7F9AFAE7503652FF1C9E3FC4 -:10D5C00043FD7228777A7DF8FC396F1D964DDE7A1F -:10D5D0002C9FF73660B9DBEBC77E2F7A1BB16CF658 -:10D5E00036E1F397BDCD58B6780358EE053ED332F9 -:10D5F000E06DC572BFF7189607BD6DF8DE21EF1913 -:10D600002C7FC9E96E9B4072652A2F3617B1039BA8 -:10D61000928A5DB9E0AF2495B07AEA1DBE5C03AD95 -:10D62000A7BA699DD2B1776520D748EBBD6B587B0F -:10D63000E63D24CF44EB993ED63EE097AE3C33AD79 -:10D640000FA867ED8337FBF2E2687DB09FB55FB549 -:10D650003390174FEB5735B1F6E12D649285D6879D -:10D6600007587DE411D7242BAD8F6C65F59C0F7D99 -:10D67000936CB49ED3C6DE1F7F2E302981D6C77728 -:10D68000B2F6895F937C3BAD4F2412D6F32CB9F9E7 -:10D6900089B49E6767F5C2BEF3654784F57DAFD256 -:10D6A000B6104CDACF7539B932F513F61ADA56805E -:10D6B000C95DAFBB21571E47E9A79045D0BE49576A -:10D6C000C4EA06B212DA7FAB9B8EF5FD8A03DBF764 -:10D6D000E8E6B0BAC181ED7FD52DC4FA41C585ED2C -:10D6E000C77595AC6E7061FB67BA9FE37887143796 -:10D6F000B62BFAFFCDEA0637B63F2CAFCFCDA7FD4C -:10D700002BF56E8F8ECA75ADE42E2703415E9BD23A -:10D71000C11EAEE37EEB2C9D03E57E5D8601F56CBC -:10D72000EF7FE53C857A063FC9502F7B1AFC5E0AE5 -:10D730006715C251281C7DCF70267E33568033F189 -:10D740009B7215CE6A84638E0DCEDE6FC68BF87C1D -:10D7500053A1C2D9A0A3F6BED61ADBBC265E9A207E -:10D76000E273A95285F308E293181B3E01E55A01C2 -:10D770004E4059A2C2D98C705262C3C7651827C0E7 -:10D78000711996AA70B6239C8CD8E0040CD789F83E -:10D790001896A9709E43FAF48B6D5E2EE3F5223E37 -:10D7A000C62A15CE1F109FACD8E0ECB78AF4D96F0B -:10D7B000EDA64F00E164C736AF3C9B489F3C5B370A -:10D7C0007D5E433857C60667BF4DA4CF7E5B377D6D -:10D7D000DE4438C3629B575E82489FBC846EFA7CED -:10D7E0008070AE890D9F8329227D0EA674D3E72415 -:10D7F000C219131B3EF9A9227DF253BBE9731EE146 -:10D800008C8B0DCEC154913E0753BBE9F305C2B9D1 -:10D810003EB679E5A789F4C94FEBA6CF258493EBF3 -:10D820006E447C0885638D0EE7503F913E87FA7504 -:10D83000D3C7A407380514CEC09EE114668AF42924 -:10D84000CCECA64FA21EF462726C700E658AF4399D -:10D8500094D94D9FDE88CFD4D8E655D85FA44F61C8 -:10D860007F461F8FB173921DFCC644E2DC4A5F996C -:10D8700094FCB383B0EE2816E204B047A4C036800F -:10D880004FD756F44B65A7EA073909F8B9C536876B -:10D8900013E2017AD5DF21ADB81FB1EC4C14E24D93 -:10D8A0002FE9F38603BE56EA1586FA3D0963E304C1 -:10D8B0007F2BD19524D47B15F516FAA7940C10DA9A -:10D8C000D34AAF12DA33DC23857A9FF2F142FF7E2E -:10D8D000357942BDFFAA2942FF2CDF0CA13EB06E74 -:10D8E0008ED03FBB7E81D07E454385D07EA57FB95B -:10D8F00050BFBAF15F85FEC39AD608ED239A370868 -:10D90000EDD7041E16EAA30E3F21F41FD3BA5568C3 -:10D91000BFF6D83342FBB8B6E785FA75675E16FAEC -:10D920005FDFB95FA8DF70F1CF42FF5CF237A13E45 -:10D93000C9F481D0BFC0FE91D07E63FA271A3F564A -:10D940008C5FD4E612E6CF6618D09F0D580D58377D -:10D95000EC35B3FD0DD493210E518C75C3FE858E2D -:10D960006488070000EA4FE4F62EBF02E255BF18B4 -:10D97000EFBE02E2B8BF30B847D823F841EDB2FBA2 -:10D980001E3DC6135B25920EA54307659C9EC713DB -:10D990008C4C7ED767E53CE50BD183BA7ED4BFA023 -:10D9A000F5F57A8AC798A0FEACEF57963E3F649C87 -:10D9B00075FD0CA55B87B2E70B2D305EC97D309EEF -:10D9C000C7D03918F0D28E631C305618C794598EC0 -:10D9D000E36C84715282E31833CB35E3984AB7F293 -:10D9E000E77C9CC7406FA28DB37EC078713E9915CD -:10D9F00038CE16CD38EB332B34E3C4B1F9D0E77C05 -:10DA00009CA72E378E71E004713EFD2B719CE7B40C -:10DA1000F3E95FA919C782E3C0731887F4A5BB981F -:10DA200034CA67636719CAC19FCC182733F4A9F8B1 -:10DA30000DD4C90766920DE338E8B8B41F199244B3 -:10DA4000859A907FD127217FBE88A3FC0F89A705E7 -:10DA5000F7E33EDCD72FE628123FC588EE93AAB93C -:10DA60006C2EDA393D73858396CD07063D02E36C53 -:10DA7000B43AB369BDBD7992616104795A5CAF9CD7 -:10DA80006A0B91F3EEFD591E195243C75F116747A8 -:10DA90007CD4BA5A26E9C4E727E8BE8BD0FDC987F3 -:10DAA000749F42E87EE52385ED33FF9DEECFA0DE37 -:10DAB00046F767D04EC86A7CEF048F339FF8A5E421 -:10DAC000077A7F71D7CF145C277CE4ADF4548826A5 -:10DAD000B09F79ABE2291382F8CDF7F512EAD41C96 -:10DAE000F7D1A5E3BE16E3079D2F19FD5B81AE7547 -:10DAF0007D284D79BF0184BCBB77EA21C986D53E1C -:10DB0000BAB184CCAC995E90865A24F55B4EF19CF8 -:10DB1000B1FB1A85BE41DA95B63B9D96205CE25278 -:10DB20004E007D4CF40FC0B9A588D643C6BFB5449E -:10DB3000ACCF2272B04EF97D523F80B0F83F1FD774 -:10DB4000E15280AF25748E1994D5B3A01C09CD2C59 -:10DB50005E536A67EFAAF878162A2480FB6B5F0A87 -:10DB6000C4B1892F19FBCD51F7C91AFC4A1593ABE3 -:10DB700084D2B574BE1EE9AAC5F7FDBDF12EDD70D5 -:10DB80005AD63DA24068B627FC67BBC57652CEC6C2 -:10DB900053E9AACACB29CEDF13C07F5A9E06FE5393 -:10DBA000BC4F72FE07E598F1DF63744F03FE776E9A -:10DBB000D213E417E7FB6D9CEF8BEB45BEDF06E766 -:10DBC00071B4FF6D2BB358BCA9A197C05F3A719196 -:10DBD0000EF50F1550B31A86FFDFB91CCCA9DBF583 -:10DBE0000AB0F7F672CDFC381FEEE47C98ABA1C703 -:10DBF0006D9C6F7339DF9610DFBD1918BFF02B10C5 -:10DC0000D79B5D2E11B0179EBB55BEB5097C73AB7B -:10DC10007CD3E07B27E7DB9D7731BE69F16EE37C47 -:10DC20006B6BF84C2103C2F1D6E2396F95665E3E0C -:10DC30002DDFEAB95CDA0DE04F4D77E5AE3819D249 -:10DC4000FF96A2C92B4E86D8855B4BA60BF559A52E -:10DC5000B385FEB3DDF385F6DBCB970AED736B7E00 -:10DC600026D4E7ADBA4BE83FDFB75A685F58779FD5 -:10DC7000D0BEB8FE21A1BEA46193D07FA97F8BD076 -:10DC8000BEAC7187D05ED5B44BA87B9A5F12FAEB1D -:10DC9000F65E7933C8D791B7F504E27D179CA731BA -:10DCA000CE78C1A938A1CF49AF03E5F8947708969B -:10DCB00067BC4E94F3B3DEB15856834C8E033B7B66 -:10DCC000C002F1534F1CB5FB89741D97C7ADA99BCA -:10DCD00000EB0D6D1F4FC8BFCA37ACF1F5A55A0058 -:10DCE000716F4AFFE20603098C2254BA7B77CB732B -:10DCF000A73EA4BDAD87F60699047A85B717B74548 -:10DD00007EDE21750ECE80B8EC7B46B23D24DE1857 -:10DD10007EDE42FA805F11ADFD9C8E94879EF76C8B -:10DD200095D939CF117DDE5699E2556960FA5FF9D0 -:10DD30007C461EB1413D30B8C67299F19A283269CD -:10DD4000C0E78182DE2F69B83AA8E704C661F6749D -:10DD5000A97F94F07C59E375C27B6F48EE2D80C794 -:10DD6000B97D7A5CAF49E040E62DC3003FD7561934 -:10DD7000D6D1E614F4BB5ABDAE15271542DEF41613 -:10DD800061F996B704CB77BCA5581EF3BAB17CDF16 -:10DD90005B8EE587DE1A2CFFDDBB0ACB36AF0FCBDF -:10DDA00013DE3A2C4F7AEBB13CE56DC0F28CD78F85 -:10DDB000E5596F2396E7BC4D58B67B9BB154ED6790 -:10DDC0004FF27786AFAF67410E8DE1727670EDBC92 -:10DDD00035757D837276582E433953E95BDC60E4F8 -:10DDE000F2902AC8C35F611D4E0179E9A1BD41E1EE -:10DDF0007218EDFDC8ED206FBD7F047923640DCA54 -:10DE00008105E4EE7BC81B8153841490A73E1A79E8 -:10DE100012E550952355CFDF904ACE817CA97265DB -:10DE200091993FA4CAD5FDE02746F0B77A2B125F3F -:10DE3000FF987F4402B93A20D9727E5E417C2EACB5 -:10DE400077F1B16B29B856E827FB87C03AD235E4A1 -:10DE5000ABC110DFEF3A4685202BFAFCB4F2129DDD -:10DE6000EE2EDC3F94F929F37B85B79BE3185DCD5B -:10DE70003A524446C2F972CE3137E567DC9FAE1E96 -:10DE800009FB66FA5C264900C7EF9C1EE1BC800CCA -:10DE90002248E79EE8ABF63FF5C47FE6C0B9BF0570 -:10DEA000F49CCE3DEE80BE86E9EF53CE5B42CE972A -:10DEB0003C46673AC4C13BB30D76E63F4C12E94895 -:10DEC00026E1F9814AC703D95F0C86F399FBA81CA8 -:10DED000827E750D1A9C402E231F3DD9FB9EE8B90A -:10DEE00000E61B133D0D04CEB9283DB7C27DC758CF -:10DEF000E9D9939DECC93E9ED8C0E87C84FBA7D1AC -:10DF0000E8AC9E8769F1B84591391FB81C933B3442 -:10DF1000F42F15E8DFD7EAC0FE07F77E9009E7780F -:10DF20005DBBAF48204343DF2F60E73DDDEFE70BEC -:10DF30007A20FDE9EF99B03F3EF8C2BB58AE254CC0 -:10DF40000F375A4AE62A6382F062BD47106D5E1EA3 -:10DF50004512E7D5837E76A4AAFAD99A09F2B49B32 -:10DF6000DB81B0F9F5209FEAFC0EC0FC289CA920BB -:10DF7000D3741EF972C95DC2FC46A7E0BC7B9A9FB0 -:10DF800027C140A411143FABC14012A83C2AEEB5F2 -:10DF90000AEEEB9C6D3E8853EC8D77D65296786CEA -:10DFA00067DF0838E03D319EB1ACD15C23FA4F8980 -:10DFB00035A2FF945113EA3F751D7ECAE6A6F82DDF -:10DFC0004FD7D79CEC05EB9C8BAF736C5D55F1ABD9 -:10DFD0006ACAAAB10870C47A57BD54C4EEE13812B7 -:10DFE000664638EF53CBE5E9061CE76CE3C004183E -:10DFF000F7ACD754C3D6577B0D1B37BD26747DAD08 -:10E000005C155F73725410BF68707F68FCA8449001 -:10E010008F4CB02ED2B681D1FB47E5A7FCB901CF1A -:10E02000D55B942FC07F370F51FD7719EB2A5C4FDA -:10E0300093DE671C01CF770AE3D1F71CEAD938BC1D -:10E04000175D6E64724AE5A71ECEBB08DF1F98906D -:10E05000CF6E0A3181C2EB902D7520577E85E9B3D2 -:10E0600087CB6995A9CDE07620B95B41AE178C5579 -:10E07000E5DC31EB036AA73FFE8B82F7CCC8D714EF -:10E080007A4EF0AAC322526283A0EA82DDCB8A6173 -:10E09000DDFEF8C59BF83EBD3E07E67D9EE88AC0E2 -:10E0A0002E9D276FDA4685E8EB6985C5B1481DDBF3 -:10E0B000E7F8E81F98DFE27A71DFB3A441AC9791EB -:10E0C00019A9606FCB362AC44F715F0AFB2675DE33 -:10E0D000D4FEBEABD811B925A4661DECD31F53588E -:10E0E000BC67819DC87DA8BDAEFAC3AF7320EED3D7 -:10E0F000AE307F573D0F5F9AC4F6831533FD061788 -:10E10000EDFFD1EE51B7518B4BDFF7AF43FF673ACD -:10E11000716E27E1745F5827E2D713FE5A7C553F92 -:10E1200028EC5C9EE391DC2845BC2FF535B773AA3B -:10E130007E2419EC42DC274D5357E540E172E0574D -:10E14000DC56430AE33BF051923B0DEE907E866035 -:10E15000BF24C398E8FD8CD04F8FFDD258BFCE426C -:10E16000DC1F132A4F4383FDCC41787DD9B862BFB1 -:10E17000AA3F3CFBA28FCA4BC5EF1EB511BA6E7EFB -:10E180002CD7A73AE9F3CAEDF7DA5CB43C23FB6C71 -:10E19000C0CF8FFDFA88F77D6F31A8F470592488BD -:10E1A000A771F924753E8C537CB15DB1E33942A36C -:10E1B0003160A4F259BD7B6931198EF5E3ACBEFE26 -:10E1C000533DD49B457E55FCE6D15407BB27C4E2A2 -:10E1D0004924807E6EF5B6FF2884F5C2433A51CEBD -:10E1E000B4EFC1F8179350AFE71B12C2DBF16270B6 -:10E1F0002ABCCF7E3CBBEFFF546F8372F269D02301 -:10E200008F464ECAB9DF0AF482FD7EBEC19A8CF6F3 -:10E21000FE5A722DE8BB4A17E267FE6BED8EC78788 -:10E220001FA7789DDBF6179B3434D44E3079EB6A08 -:10E230005AF86F265D747BD24EE531D44FA280F13F -:10E240003D4733F7BB5B5859A9046C701FA7728B0D -:10E25000E2A492482A9FD513B89F40DE33FA213EAC -:10E26000BAECD957DE194FE9BF6C97925CCCA66324 -:10E27000915283FCF1D0BFAB4606F951F1FB570C2C -:10E280008E61ECF93D4941BE2CDBB5CF408685D38C -:10E290007152D33E439B25027F9A8E17C27A5BBB95 -:10E2A000E31F06882B7EBC57226959E1EF976F79EF -:10E2B00005D73DA013F293F3AB9B7F617C0B4C7BA6 -:10E2C0007934F6B3833DEC896FD9B09F4B41F97E29 -:10E2D000EE65B8C7F4BED10974287F6E850DE6736C -:10E2E0005AAE6172FEEB7B5341DFCB155FAA1D4B2B -:10E2F000F6BCFCC99FA3FC2D39FAF354F41F882BFC -:10E300004387B6D99701F35CBCF9569C671971A392 -:10E310001C96FF5A5F02F74C2FC8A46857043DF9BA -:10E320008B81ED5F4E6FA5CCA5F33C0DF8817D7B15 -:10E3300053EFDF8E71F39FE13DB89FF339D3951012 -:10E34000EB174C8C5F5B0C3A351E6A12E477DBFAF4 -:10E3500056E0D3D97EAE3438F7A074F071BA49973D -:10E36000285CFDD18234C627E29073F87BD4DE4F5F -:10E3700082E7D0BF557199870BEF71FBC8C65FC9A3 -:10E38000C7A778C7C1FA753A35B2FFF70F3E3FFA13 -:10E39000D34A42E42C44DF99FE6FBB8FE9BBAAFF4E -:10E3A000FEE945D0FEF95B4C8FE03D582F285E8199 -:10E3B000346CDF375342FB40F7D991F47C9BC2F5B4 -:10E3C0005C6CA73B1C5CFF5539A1F8CB5242A8BC42 -:10E3D000D07192900FB83F2EDB48DF0FF1CB3C306D -:10E3E0002EF633049F87AC1B4BB85D38A4B107648D -:10E3F000734A4C7E74A5E27FFA09D0DFF78C4E9FFA -:10E4000003F4572981F97FB2F3C03B73A89C7FD2F4 -:10E41000A4EAAD6857B57A5BFEFC1812496F3FB1AC -:10E42000D07D5724BDA5CF23EAADA50DE5F9FF9614 -:10E430005D55E9D7AEA11FD8C7971DD1E9A8B58F03 -:10E440001B0C8E88F691FEBC4572C2E550953F5577 -:10E45000EE2A7E5BD51FEC50B77CAAF2D72D9FAA7F -:10E46000FC69E72BD24FDBFE07D06F8AD7EDA64DB4 -:10E47000D3C07F3675128CC3E7CED4E33D4DD3E7CE -:10E4800084DDD3B8231EEBB3F46DBF079FF083AADE -:10E4900059C3609DBF9DF814766E5FAFA01FFBF55A -:10E4A000A54B13E87CE670FADE4EC93D95F2A35405 -:10E4B00096027114CFD932F12524413C59222742CA -:10E4C000F0B8BD5CACC3CFC4D4209C9EFA7F5BBFC8 -:10E4D000FBBB9647295F4F6413F2372871FF411D3C -:10E4E000EB10799ADEC2CE313CA325FF00D4C336AF -:10E4F000B924641FE13132FB7334FF963140BFDC35 -:10E5000059C312989C0FC6FDA287DBB12E9F230131 -:10E51000EC7B57CB40DC17761D5E687547B067070C -:10E52000B89CBDC2CF613A2C52BD9ECA7D07E9445A -:10E53000BFC66731478CCBCD31AA769AF38DFEE802 -:10E54000E9F8A55C0E67D357134686F06DE6D48FC5 -:10E55000655B381FE0E744C8BEE2FBD217E41AE867 -:10E560007BC0DC565812217E53C9E93771FF9706EC -:10E5700058F7F25B7265A063BE452FC4431619B904 -:10E58000BE0E254301AF89FB973E3086CAB1E7B086 -:10E59000DE69A6F3F3B47C6A7047D8DF69E909F055 -:10E5A000C1BFDC6A64FEF2DB4AC962A0EBDBB7B232 -:10E5B000F3DEBF199C5591F04C37337F733629B980 -:10E5C000305AFAE9D1377796359047E9D16561F746 -:10E5D000B5C3E58FE97D975DF2AF96400EF5AC9E31 -:10E5E000CCEE371712F7031324D4F71B42ED576E06 -:10E5F000F3F467E13E4D758B64D7D1F66AB9CD006F -:10E6000072EC69DE2583DF7E9383B8707F2DD70C93 -:10E610009B1912FFA2CB1ED2EBC05773E6027D3FBF -:10E620009B692480976BE8A73658FF3F6B19857A62 -:10E63000106D5EAF7BC9B47C05E0307BA69587C2C8 -:10E64000E478A17EEB24D217CE81271ADB5638233B -:10E65000F02FDFC4E42C66FB66FAFFCCBE4DA0F6BB -:10E660008DC9B5126ADF2CA630FB9616C9BE2D5F88 -:10E67000ED4803B958BE67207EBFB5FCB5C52991EA -:10E68000ECDBAB7CDFFB1ABF07DED197DAB71121D9 -:10E69000F6AD2FB56F11E2E45FC46ADF4CFF33FAC9 -:10E6A000F72AD8B708F3359B44FB56D4B21AED5B72 -:10E6B000515FBD705F8998A87D8BBF9C7D9BFFE8F3 -:10E6C000AD58579CF111E407E80AF6ED356EE760A6 -:10E6D0001CB0733798587C33563BD72F563BF73FC7 -:10E6E0004467D5CE2DEF27A1FF122E87CCCE2DCF9C -:10E6F00062766EF91E66E79667333BA7B56F796160 -:10E70000F68DBD5F3D84BE8FFBC7ACC7EF80FB8439 -:10E71000A58AD344FB173BD4EF276AC684DABB1B18 -:10E720004C32D239CCDE393FC5EF607AB2777F0503 -:10E730007B978D766C10E891563EA60C8A17EEB347 -:10E74000BDFDE5A9DFFE0EF4E5753DDE177A57C77E -:10E75000F6477BBF3C350AF4EE2113B3BF4B4C8C1C -:10E760009FED5E1FDAD3494399BE57DDC3E857BD1D -:10E770005B62F35DA9F73B601DF8EA22EE9FE7EECE -:10E7800061FBE759C6D69478B897F42F0A61DF7D0C -:10E7900090E2F921F2507AB102E380CFC7D9B6C234 -:10E7A000FEB2542626F063E71D9EF231F8AFF32E39 -:10E7B000D6A1DF3B0F9EC33909BF27A1DEA398D3A3 -:10E7C000BCEB953E24FC7EC44423E3C3C415927F76 -:10E7D0004B16DC4710DBE769FCFA757C9ED49F453D -:10E7E000BA90BFEA23C6EFD669E9E164F3AF5AA94C -:10E7F00017E9512345A407E568F1FCD4E0FCE7BE26 -:10E80000D0B6AE0FB42F95703FA5D2433B4F953E87 -:10E81000EA7E651ED7114FCB2E05F8A59DBF4ABFD6 -:10E82000B079ABF4D4CCBF4EB51F579361A06FEF56 -:10E83000EADC0F8C01F9F833A503C5EBB6D9D96929 -:10E84000A1F6F8416E97A6BA8FE7A73A806EECBBA7 -:10E85000C439E5BB5E49A5F3B9D9953512BE1FBED3 -:10E86000F52B831BE20B07CC9D68DF54F9FA84CBB0 -:10E870007B80C379BBB73D1FD79166C98E7A13D011 -:10E88000D82F7E7FCC730FD3AB03D23FD6F5198D33 -:10E890007485658014AAEB10F081FE776A0BE38320 -:10E8A00007F840FF3B8D741E023A57274BCE00F409 -:10E8B0006FDE752FC8CDAB66FA1CF4B75C72B2EF91 -:10E8C000CB882523F5B2F22947924F0C4EE404D7AA -:10E8D000C579D02F29DCEF98686C7D1BF09848F53E -:10E8E000610B09F74354BE0FA17F2E45BAF7D383BE -:10E8F0001C7FCCE5F355A0B705E8DA69007FC613A5 -:10E9000060EB87DAEE911DF9481F95DECD747D1816 -:10E91000CDE8AD8B40CF9BD53AA7A7A74552E0FDE8 -:10E92000C974FFDA4B82D3AD2F0FA9720CDFC36914 -:10E93000E901F1808C10BD07FB147A3E59DD7C148F -:10E94000E932652575AF42E80E76EB72F489A617B9 -:10E95000D5CD3F8C5E7CA2D18BBDE6CEBF8C80F83E -:10E96000D71E09ED03694914F6FBF166E6671C3012 -:10E97000BB517E3B5F53F0FEB9D68E7CCDE51EF6D3 -:10E9800017A1DFFD4D8289809DB39BC9472A1E03D5 -:10E99000981C85DAEF57CD6EE45734F8717C1D8EE4 -:10E9A000E63FA9F51B613CB88FE810C70BF32F7841 -:10E9B000FCA7A779A5F171BFEBBCBACF3349AB81F6 -:10E9C000B0F8FF0A63C8B9D46DFC5CA03B4E16ECEE -:10E9D00067375DA61FC45F0274DEAFEE7C0AE3BF3B -:10E9E000E79F393E0DE477D91FF5C444F9DCBED367 -:10E9F0004A02ECDE8501D6D98ADDFA88E72884D47C -:10EA0000B2EF1C7F6745FB52F1BCD15F4CDFAF78A2 -:10EA1000F1A3E110B76A5FC3EC8CEF192E1FBEB6ED -:10EA2000E170BE5E21B373612DBCEBB8BC9C7B2949 -:10EA3000BE14ECA4D4C8BE5FAD689AA51843F6E92D -:10EA400023CD0A8E4BFBE1BD65DF0E09E3E5E1F85E -:10EA5000AD66F07630FB57D1ACF8E13BD88AC62DD5 -:10EA6000B8BFF5347E6A00BF6ED2EF9E65DFD73641 -:10EA7000EBC5F861A33E60C438A7FEB87138D35B1C -:10EA800049884755A15E5637F13899267EB4EC7710 -:10EA90007B5EF451D22CFBFD6F6C606FCEB66EB70F -:10EAA000617CAE91C5DF648B1C393ED7535CAEE907 -:10EAB0003E1E979B7A9A0C0F8FCB9D85FF503D9CF5 -:10EAC0006FE6FAAAC6351B7BC5747EBEECD90B4F28 -:10EAD000C279D2B9E73F7912F0AFFCE6B327EF86EF -:10EAE0007389BD663BAC7F9E67DEC6F8BBFADEDD90 -:10EAF0005CCEDB77FCE6E927A81EB6BF67C47B5B6C -:10EB0000ED7B4E67C2F78CEDBBBE4C85F8E6CA3D87 -:10EB100005B89F59F9C2A4B4CBDD3F01F9F4C77021 -:10EB20007EA2E5C781DD7A02DF739E3F6644FFA3C4 -:10EB30003BCEDA54C5E2D70E1E5FDD19F9BC4A8D13 -:10EB40000756EFBEE5E6EB611DDCAD381DF89CC74E -:10EB5000077B8AABBE45F93A2206FEEDE4F1F3A647 -:10EB6000A911E3AAE7E13F944F9BCC625CF5C2EEAA -:10EB7000C5FFF604B4EDEE1535AE1A88816EEA795C -:10EB80005899D9B5CD0CFAF1FC6F318E0D7CA33EAE -:10EB900039697FF64226C423CE289D77E23DE53DC4 -:10EBA00046BC6754B1E75DD497F6178EE23913E19E -:10EBB000E751EDA4FB879D1BF0BD8E679B95C56358 -:10EBC00039FD215EEBB0E1731E976572ACC66BA395 -:10EBD000C569DF37B3FB50EAF95CD5B60F0C4413B7 -:10EBE000FF96C602BF8E0BE78AEABCB5F0EC408701 -:10EBF0006B43CF1FA2C5C3B95D0DE3173B7768DF39 -:10EC0000C2CF23BACF1908E93B12CEC7D9B9B9C7C9 -:10EC10002FBD1B89BFEAF9C3DB5AFDF4C776EED0DE -:10EC200033DEDF8D2EAF9AD9FE56A5CFB9AF23DBE9 -:10EC3000E94EAEEF749DE930E3B9315B67E6F175FB -:10EC4000A69AD28D7DF7C6F03DC7F781E79ED1FB2E -:10EC500061BFBCAEE900DA5BAD9E571316FFD28EE2 -:10EC600027C531FFA0BA79DF70B047E7F6BF84F25D -:10EC700057BDF3B8C147E11C6AFCBDA16D6850DE09 -:10EC8000C18EFB43ECF8B9E7F60D67E72291F3B4C8 -:10EC9000D8387C4F8B08DFB3F35301FE325F93C14A -:10ECA0006EE9799CB3B26B16CCF76CAB42E03EFBDD -:10ECB000D9267D913FC2B89FC13A362648A77556DE -:10ECC000F61D9F3EC9807EE64AEBD863F0FDF84A08 -:10ECD000ABC101FBEDDAD5EC5E65EDFF72A6035F1B -:10ECE0006A136FC373A37A0D1DEDC9F65CD887DB79 -:10ECF000F34B46835869ED41A24B27E0BDD25A94AD -:10ED0000E6B0405E2FE6A710D989DF19EA6D854588 -:10ED1000300FBD5D6737475C5F193CC5C2F266289E -:10ED200076F1BBBFEF900783403E8E6F9D07A353E4 -:10ED30009307A3FCC6FFD7F260F8609C9F401E8C2F -:10ED400000C677D43C18C93F721E0C882F8D0EC99F -:10ED500083D1A9C983C1F9F8CF3C18FFCC8301A5A1 -:10ED60009A07E39D0D650590A742CD83716683A741 -:10ED700000F252A87930BEDAB08AD5791E0CCBFDEC -:10ED8000AB0B42F36064DEBF01DBD53C18CEFB1F4A -:10ED90002908CD839177FFE682D03C1833EFDF5E00 -:10EDA000109A07A3ECFEE70A843C186BFF50007929 -:10EDB000305E8F77B7C6A544CF83D11CE788290F73 -:10EDC0000685F31EC2899207430B275A1E0C0AE7D9 -:10EDD00044DC98E87930C2F089920783C2F904E1F3 -:10EDE00044C98311864F943C1814CEE738AF287974 -:10EDF00030B470A2E5C1A070FE0BE144C983A185C7 -:10EE0000132D0F068563884F899E07230C9F287951 -:10EE100030289C048413250F46183E51F260503868 -:10EE2000E908274A1E0C2D9C687930289C2C8413F5 -:10EE3000250F86164EB43C1814CE55F163A2E7C1D7 -:10EE400008C3274A1E0C0A6714E213250F46183E12 -:10EE500051F260503813104E943C185A38D1F26079 -:10EE600050380538AF287930B470A2E5C1A070A63B -:10EE7000213E51F26084E113250F0685330BF189A1 -:10EE80009207230C9F287930281C37E213250F8620 -:10EE9000164EB43C1814CE528413250F86164EB469 -:10EEA0003C1814CE728413250F46183E51F2605060 -:10EEB0003877239C287930C2F0F9AE7930CC814183 -:10EEC000D240CC8381F938BBF360247FEB3C18BF80 -:10EED000027CFF9907E39F79307E8C3C18B75ADD9E -:10EEE0007F8FC77DE377CB8371265E9337A2873C04 -:10EEF00018B75A4BCE823C7FDB3C1817E2BF5D1E31 -:10EF00000C3ACE3F2E374EB43C183ACBB7CB8341A8 -:10EF1000C7912D632E339F287930122C62FE901FEB -:10EF20002B0FC6B1F8249C4FB43C183FB97C137426 -:10EF30009B05FBB4E9288AE427937F62B485C70D5B -:10EF40007FA8FC1330E99C9F52FE09358F41930244 -:10EF5000EBE1FB9CEFEF70B9F880E7A13816350FB5 -:10EF6000857F2AC677978A7928A6703ECE768BF25F -:10EF70003085B0739429F959FE5AD8AF976BF25087 -:10EF80000C11CFE98BDD47F3293832D529CEE328A0 -:10EF9000978769A59F1E04F6DC3C36721E8A199C71 -:10EFA0001FD3357499C2F9369D97B7C3A739549EBC -:10EFB0008BCB8FCA40D7698E3619E3F437A9FC731F -:10EFC00008FC9BC9E16AF19DC1F9376332E39F16E2 -:10EFD000EFB7807F14EFB7CA4721FFB4786BF1D445 -:10EFE000F29F84F23B247F482E11F34F4C3289F973 -:10EFF000270AEC62FE891BD3C5FC13931D62FE89B0 -:10F000009B8688F927A63AC5FC13378F15F34F4C1A -:10F0100077ADD6E4BFB84F93FFE2214DFE8B4D9AFA -:10F02000FC175B34F92F7668F25FECD2E4BF7849C5 -:10F0300093FF629F505F58F79AD07F71FD51A1BE38 -:10F04000A4E13DA1FF52FF71A17D59E3C7427B5569 -:10F05000D3A742DDD3FCA5D0BFA7FC036FF1EFA17E -:10F06000DFE1DF431FE3DF43BFDF43FE8B772C4B42 -:10F07000D785E6BF78DFE2590779098E5B1C3CAF84 -:10F0800040E4FC16DDED51F25F04DFFFF6F92F528C -:10F09000927FF87C043A2BFB1EB0B7254F674DF9E1 -:10F0A000EEF9086E2D11BFEB9E552A7ED7ADB3B297 -:10F0B000EFB567BBC5EFBB6F2F17BFEF1E11E7960C -:10F0C000000F6DFE8BDE1697CE0AF692E72908C078 -:10F0D00077BAD9106F2BC2F220E4BFC886785B29BB -:10F0E000968721FF052DFF0CF92F687904F25FD078 -:10F0F000F20DC87F910DF9337C3C7F461DCF9F51A7 -:10F10000CFF36734F0FC197E9E3FA391E7CF68E20E -:10F11000F9339A79FE8C00C239E13D8CE5496F2BB9 -:10F1200096A7BCC7B03CE36DC3F2ACF70C96E7BC46 -:10F130009D58B67B2F62196BFE0C552E3F04BFE124 -:10F140000A189FC9B32AA7573FF0C8BAD0FC1923A1 -:10F150001ED884721A2D6F460E7CD397123D6F46CF -:10F16000777B94BC19C1F7A3E7CD481BFDE3E5CD40 -:10F17000986BF961F266CCAD11F33ACC5B75F9BCD2 -:10F180001923E24A6E41F9E3F238D7125BDE0C9F95 -:10F1900055E2DFE553BA80DF45E982EB750F790769 -:10F1A0000E5A9F1E02FB89AE21575D36DF83562E15 -:10F1B000A2D39BE57798F323E7CBE889AE6AFFF704 -:10F1C0002B581E87B9966F992FA3877C0B07B3BF67 -:10F1D000403B196BBE8C9ED6879EE839E347CE979D -:10F1E000D1935DEDC99EBE3985D1B9770F7456BFF5 -:10F1F00097AE34B51EC297ED2E546D997F0F9F3B8D -:10F20000D38EF1998E9DFC5E9C8B38ECA9EC7B7DB6 -:10F21000F0373B9E4F184EF03B7E3B7151FEC4F3DE -:10F22000E7D2CE7DFBE05EC05A1B71252681B34735 -:10F230001CFA81B00FBBC604F19AAADD9FBEF1474C -:10F240000AD7DCA2C7FB721D148756F4FB5C89C089 -:10F25000B778F24BDCA7C319DDA55EA1DF756B7E25 -:10F260000F0774490D9E3F15E82DB86FEADACCEE12 -:10F27000B3EAC9D58F4F188DF7C689DF81FC433FAC -:10F280007519C7B38B106700FAEFB4E2FDD525AF4F -:10F290002D34C0A070DE1A1A37E85524C6811ACC66 -:10F2A000B6E1706F2F5DBDBFE773B5821FBE88C327 -:10F2B0004D2911E3449F2C283A0CFEF3227719DEE6 -:10F2C000AB482B15E346847F470FDB32F03365C232 -:10F2D000EF75FAD97DCFB0EFEA9BB7209E4BFD9A30 -:10F2E000FB4B8D625DA5DB392BBF9762219698E8B9 -:10F2F000D676C5E31392BF3DDD8CE922DDCC0E91BD -:10F300006EF14344BA68E966758A74D1D22D61AC56 -:10F31000185F53E9A6DEA7FCA1E89664E3F73C82F8 -:10F32000F42A31A5A2C9473C33E400CAB7561FFAF4 -:10F330005802F01B7E48BF64FF6A7CCB6995C16EA2 -:10F34000A533D0445AC4DE8B077D80FCBDC489FA46 -:10F35000A0FE3E8A78F22197FB8FC8255AAE987E90 -:10F36000F0F802DABA19E46D04FB3D1A18AF4A222C -:10F37000B89F5388D30EFBA826AFC9B94881734DF7 -:10F38000E25C940DE799762C1FE4DF3B770C25B8FF -:10F39000EF6F0A7C9E0AF7061E1CD9390DE20F9EFC -:10F3A000C5A404D6AF59096C7D5DC64B5B028BCFFB -:10F3B0006C28D111D768F87D4A7ABF44C76BB7BBB8 -:10F3C0005EBB01FCD116763F80D83BDFB81DDB4722 -:10F3D000E1F7E119BAFA6B001FDA1FBF2BEE68F9EB -:10F3E000C8B630C40EB7373F7225DC6BDDA48BFC8A -:10F3F0003D73818DFFFE1D7E3F654430DF42816D90 -:10F400000CE6657870001DA77A7A17F25195CBEB60 -:10F4100038FD0F964D41FC5E68911C10AF2BD4DF78 -:10F4200071D3308ADFB8B7657EAF97DD5F1FCDFB44 -:10F43000D79AA9FEA2FDAAFF1BFC9E95974ECA98DB -:10F440000F71744D19DE13FCA3ADF030F02BC7D54E -:10F45000340AE429BF2511CF713D1F12277E9AD5AA -:10F460002ADE07CCE1F7B673DA881F84E2DA63623A -:10F47000FBB836B17E9D66FF39DFC6F5D4465241F2 -:10F48000EE367EAD9760FDE8E824CE3514DF8E457C -:10F49000BD71FC8ECF09FA891D5FEB8B22DD8F5980 -:10F4A0006E63FCDB642068BF379559F0DEF9FEB26D -:10F4B0008AFEE05F7C7197BB7FA43865889F96C009 -:10F4C000BEBB772590B120876B2546EFFA8C92085A -:10F4D000EB962A77AA1CAAF2975116E78E740FF5BD -:10F4E000339B8472965736443280FCEC9530FCD5C1 -:10F4F000BE86E2759975DB47D6F4017C3CCD9FE171 -:10F500007D32538BE48A744FE7619B8DDD6F5CE342 -:10F510005B0DF7467E419508EC5486A13E2B127C8C -:10F520001FD9887EE95D36077BCFC4F320C9F51962 -:10F53000709FA2BD79D2E47514CF27A83EC07AB5DA -:10F54000497122DEBE2A42F09E2C8FD7F59D46B629 -:10F550006C08F17F37DB721B6D145EA38D7D6FD954 -:10F56000CBED94006FE77FFDC306F03B2E1A917F31 -:10F57000BDB9BFA9BE7780D3675C826B2BBC4FE05F -:10F58000979F51E3E374DB9C8B46415C9ED23BC466 -:10F590000E06F9E663F951DC04CF3F922C3A94430E -:10F5A000E27239ECC27D761FEA8DAA07242011C8C9 -:10F5B00053A0DA37A9450A58A9DC8F365902708F53 -:10F5C0002EA99CCE3B19F29A9818BC56F99C18D7D4 -:10F5D000A2F29803CE3DC1ABF3104805F8AADD5363 -:10F5E000EDE5DA44668FD63E24635ED4CD729B1976 -:10F5F000E2A9592E471EA4884C921D78AFA65F3908 -:10F6000071520C49FCC05F2776FB0154C9AFF94623 -:10F610003F2FD2775B176DCCDF1E97E0FE33D06BA8 -:10F62000F8E1CEFDE02E38CDA417BBFFC5ED04F701 -:10F630006B0AF97A37EE3F74EC7BD1C00D24F43BB2 -:10F640002AAD9DD86466EBFCB8EBD9BA37EEBC05A1 -:10F65000D7BD6E3B515688EBD4C8965107E09EC586 -:10F66000C80F997E126E1FECF40FD029E7B04F0F30 -:10F67000F4F9B67641CB6F123075D787EAE01C8675 -:10F68000EA5BC8FB67357664C5F441B5185EE6727F -:10F69000D4FF1EA7DE1D4247EDFBDD714AC9D4FD34 -:10F6A000DC3110ECC8113DDC0BE9C8A5F3A3F3DF96 -:10F6B000C8F525F173FF6498D7C6961BCD20DF6B84 -:10F6C0000379F662FA4EA2A9049997485C18CF19FB -:10F6D000493D32C88F518B4241FD41A58424A4C0CD -:10F6E0003DB42221DE432C493CFF4B00F9D22DA72B -:10F6F000548E43EFE5AAF2A99547557E6BE1A0052C -:10F70000CE0721624E4BBDD484878146B2D90EEB21 -:10F71000BBEA5FD6727FAED69CE9C7EF977C19E84B -:10F720001FADE4FE51ADA5D084E6605F32AEEB2B99 -:10F73000217E42E9B03285D979753E5AB9F45CD45C -:10F74000137FC83EC12377E27D44CF45033E5FA7C8 -:10F75000B807C0FC55FA5CC3E9A3A58794C0F79D20 -:10F760009C2E3DE39B63877BC1892617598FF8E662 -:10F77000E13DEEA6C04813ACBFF76AF08D01CF6B38 -:10F7800013C684E3295BA2E099CCF0BC8EB8FFD805 -:10F7900046E53767455D6D3CEA15792B3D275CAF43 -:10F7A000B47AA4EA8D1AE7BDB6B2FE005EBBED41A5 -:10F7B0006F3CF18C2E4EA504EF5739F7C4A31DD131 -:10F7C000EAD3E77CFE9E7846BF058A7B06CCCFA3B2 -:10F7D000EBCC043919EE20BD8A2992C39BF5A8E72A -:10F7E000A435B67BF8AA7FA5FA55DA7EAA5FA5DA1A -:10F7F00063F51EFCDA04F77C9003A999CA2DC5A70E -:10F80000D6CEF64B9B6DEE4580573CC53D0EF68D32 -:10F81000430259ECFB5F512FA2E941BC46CE9B024B -:10F8200032AE0B3EBA2E644BE178A8E30F4A48642F -:10F830007CA45A0EEB7DDF1CC206AB269837A7EFDF -:10F8400070E28675ABEF48769F714D02B3BFB50984 -:10F850006CDD52CBCDB692BB51BF65E2338EFCEE70 -:10F860007803AA70DF7C6D82EB2EA087A9C885F390 -:10F87000E863274EF04BFBC84D127C379A54E99051 -:10F88000D83D7312FC7E8BC2EB53ECC8057DED03B3 -:10F89000FB6BE8DF1239CFD8A309EAFD5EE67F3AB9 -:10F8A00049771EAF471398FF7908529FF42A56F301 -:10F8B00082A9E7394E09E8D46EBD0D916EBF2031A3 -:10F8C0003F3D91D14BBB4F00C287FEFEBD7B0D4437 -:10F8D000362791E0EF59D599D0BF8F27CE26B05764 -:10F8E000BB1206F0734C671DD47F25779A128706EA -:10F8F000E55D95E30727CC70422A52DBF55DC361D5 -:10F900004F45E57A27D0BF7D42D760CC41493A3395 -:10F9100099FCB8F442BE20950FCD8AC00733ECC3E2 -:10F9200043EDA4D53004FCD17629CE09F72CDA9723 -:10F930004A0C5FC9C4F329C9C23CD3E3997FDDC136 -:10F94000EDD53B09592827AA3DA6F3AB83523B0FBF -:10F950008F11EF7490CE3DF1FEAD706EA5C93FA939 -:10F96000CD4F3969A105EF7F6CDC63C6FD6B57098C -:10F970003BC7EF6A31A27D8EA6B7696DE688711C20 -:10F98000B5A4F47B0BE897A6D424823D4C9B7BD294 -:10F99000067CD7D2A543F25D7308F645AF2B11BFA5 -:10F9A000BB55CBF4F49B1217D1FEE91993B1549FC8 -:10F9B0003758E488F7CD4F73BD52E5F14A3A22DF5C -:10F9C0000F9D06793CEF7EF31D1709DEDF6F88631C -:10F9D000746C886374EC728F4F781AE4CD9781FA57 -:10F9E000B0583D07E5FB7F35CF943ADE46AF29514D -:10F9F000A62AD0B0608A19D68914E29A3C1B947565 -:10FA0000A342E03BA2C7BC3B12F3318E6D12EFF96B -:10FA1000DAD9BDE1CF3716E077DEA9648D7930A55C -:10FA2000475989CE09F183F30BDEB7E9A83C2DE8ED -:10FA3000D39A03F2FBBAE226F63118EAC2FDC99264 -:10FA400052833F40F996DC400D05A5CB7F03F9D4E6 -:10FA500012800080000000001F8B080000000000E2 -:10FA6000000BB57D0B7854D5B5F03E73CE3C929922 -:10FA70002433794E1EC009E19D108724BC1F4E9E81 -:10FA8000448830BC0485EA8028CF2488D6DFB6DEDF -:10FA9000CBC444F4A2B745E9AFF4D6DB7FB0A2A84B -:10FAA000200182069AA41340E4113408A8A8AD519D -:10FAB00029620BC908EAC5D67BFDD75A7B9FCCCCFF -:10FAC0004922D8DE4E3EBFED3E8FBDD75EEFB5F684 -:10FAD000DA872EC977134B64CCB7D8C0B64A8C7D71 -:10FAE00087BF1B43ADD96E602C89B196383BB54EAC -:10FAF000E70CC7D284F07E8563693E63D5D6D85CB7 -:10FB000016876D7F3F8B85F18A58EAD202685BAC1D -:10FB1000AE5A95B12546AFDD0ECF774EBA3CA48ED6 -:10FB2000E12FD8DF3392B12E236B94E2B01F606CCB -:10FB30000C4350F8CFED56EDD097F0FFE1FD448B2C -:10FB40002D20C3B8CCA35CECB0F047BE1B281E4DE3 -:10FB500066CC285E939ADEF846CA652C76721163ED -:10FB600070DFCA5C8FB22CB8318CA99E18C6A2D89F -:10FB700033F6F3D98C19F07D584757F3BBFD7C0061 -:10FB8000C71FFEE54A0C83FB1F29C118570E6317D8 -:10FB90001E3C15E3B6C1F507E5723FF46F4740C65A -:10FBA00087F0926F870BA3197BC4EE1981EBBA63C0 -:10FBB000DD7F8FF1DA42F7D903703195B1157E19E7 -:10FBC000E7E6F0C27FABB65919B384FA95F509118F -:10FBD0007DC018E1B5D2CCD6D4DB7AD26305D2038E -:10FBE000E65DB17D8B295DC5F9BD93ECD0BFA0C0AA -:10FBF000AB80EF0B0D317E5F66089E25DB4799D207 -:10FC0000E1D6474D6616807530A5DDC86C84B50A0F -:10FC100009F0E61578D3C379B8C54AE3DDF57F6509 -:10FC2000BF1996BA18E67A201E9E6F5A51C1727B90 -:10FC3000AEE3AE3FA8652940BCBBFE4D623E953F9A -:10FC4000FF601E3CFFC0235F20DDF4EB5CEC337EE5 -:10FC5000D211B16E376300CF3241EF3B1F8DBCBF75 -:10FC6000ACE9311A6729F39A909E776DD4DFBFE92A -:10FC700033E4BB654C095D073C5C3E9265453CDC6A -:10FC8000618F493C0F20038F8DFD0EDEDF7D6460A8 -:10FC90009C37A7277EB5F6E23AE06F33637F5E6755 -:10FCA000A1F6C23A46ED08BB4AF459DD74F27EE48F -:10FCB000AFAAC65D261CA7C5FFA78409F04861D37B -:10FCC000373232572173DF7B0EF0F92326B3EF0072 -:10FCD0007FBB19E79FF546CF3D48AF1BAF96D37D5D -:10FCE000FDFA1769FC7F249EF86711AE3B17AF2B16 -:10FCF0005FF6B6AE9FE2BA809FD95858977CFDEB6D -:10FD0000D2D6A3AD4FBB5F2903DFF5F2BEC6EF230A -:10FD1000843E58FADCACF569808ADAE6CFFA7710CF -:10FD20003FB1D328BF1A3F2D1374D2F38D46C76E4F -:10FD3000FE68FA775A9F463FE07FA7C1896DC06988 -:10FD400018D7934FF47CA1E7834E63477F945F3DC0 -:10FD50001F744A6C416FEBFA37FB405AD752D55D9E -:10FD60006687FB7731CF7A3BAD67235DBFA06C3CE4 -:10FD7000FC3394ABE7385F77EB3933973776DCE8C1 -:10FD800047BDB936464D71D804FD80CE9DBBCC3EF3 -:10FD90007C4E9BE7FC3AB77B9011F15E4EED9FD70E -:10FDA00079DC830687EEDFFDAB2BB12ABCDF358C17 -:10FDB00095A3DC77C644C2BBCF2E133CFB900EC884 -:10FDC0007F4AFBFF7C803AE9B9F631A847CF7FFB39 -:10FDD0005FB11E78BEEB5B73796FEB3C2DE807EAF1 -:10FDE000E5B413F8EC762167B73755125D963C33CE -:10FDF000CB84FCCC1EE0F8B4C01FEAD7B6A8D86705 -:10FE0000711D8B1B24D2237A7ADCE59AFA39EADB5E -:10FE10003BFD85F47E0FFAB0C789BE77213D86850C -:10FE2000E831D6A1727854F803BEB943F0CD7965B4 -:10FE30008DC9007AE4FC33806F007995C2DCBDE99E -:10FE4000C1FE0ECE877DAD47BF8EBEE05FF65CCDB6 -:10FE5000FA3486EB1F654AEB45EF68EBBF8BB9625E -:10FE600049EF88F5B28E1B495EAB2D7C5E6D9D2BF4 -:10FE70009AEE9C817C51B519E895D973DDA8771766 -:10FE8000F7026F997CD16881F7BA1E905CA86FFB6E -:10FE9000A283A627EE12F85AB96DF10C349A8B6141 -:10FEA0003E3913F5D1176FC624A25C415FFA1E7A62 -:10FEB00035C91F9B711D8CE37B09E07B8374FDF4C6 -:10FEC0005BB6B9D03D28ECB915FE9BDC83C2F59931 -:10FED0008EAE6CDBACD0F364B7DD26B4C7F10EA1F7 -:10FEE000BF845EEE5BBE60E100E7DA1D0EB26F6CB0 -:10FEF0008D83F46375D31653B8DDD5E44B93B7B156 -:10FF00000E3BF15955E313F41CE85FD501FD4A4B54 -:10FF1000C7CF6F55C3F0394ED051AE30A1FEEE4B76 -:10FF20007F82BEF9B2236C9D231CC2AE08FD7B2DDF -:10FF3000FDA0C1AD1F57D3071ADC1ADF6BEBD1F35D -:10FF40007D5FF0E9E9C2989FFB0B3AFAAC427A84F4 -:10FF5000F5115E05F0DBD66CF53F04F0B6491C7E6A -:10FF60005F7314C1DFE92C769F033FAF2A7521B57B -:10FF700027F0C554F4EB3CD3109F9A3FC70A1222D6 -:10FF8000FC247DABF93779C29FDA1BE5CE07130954 -:10FF90003F4F02F2C3949A8E391620D9AD8EEDE50B -:10FFA0000A8C3FE5898E3951D05FE8D8C1FB5B3BB5 -:10FFB0004E595C8CD5B057CA4BA07F3BA013C7BB32 -:10FFC000565B60F62C44F95D0D7E9205ECD1EAD3C8 -:10FFD000430EA1DCAD6EAF2897C0EEAC0683238143 -:10FFE0003DAA74C706ACB9D46713E0B9E7EDDE6586 -:10FFF000C42F57EBC86EAD3EAD70B9399248EB5780 -:020000022000DC -:1000000000F62878AF2E1AFC55C0575DBCC5559B2D -:1000100049D77D51F1D877AB6AD8758D1EF81EC2CD -:100020005167606E07B4AD4787C4757C8FDD6E5D28 -:10003000C72A14E08383EB2CD4EAEF179AEC83D021 -:10004000EE151A98B7377DF9A483FB8DC0E4E94813 -:10005000E7AA23269277FCA11F5829F451151028EE -:100060000EE0A93CCD02D1B1F85CD9E70AB60D1279 -:10007000FB24C25F61A1BEDC37DCD7DB56E17883AD -:10008000C3F984E3A948912A94B0794B6C51117D4E -:1000900039C5300CD7C3E468D756C0AF9C6E58B38F -:1000A0001BD62F0F8016F0A1D85DF2626837164F6D -:1000B0009197405B6BE476B5D6C09687E3E90581FE -:1000C0001FADFDC0E1D98A74BFF456FB182BE9AB14 -:1000D0000C3BC9B9586FADE40A50DCD4CA5C5BE193 -:1000E0005A9DEC619C8FEB19F2F11B621C97D9B001 -:1000F00047057E6D747C40FCEB8A33DC9B09FDC0B8 -:10010000131FF17EBAE14A26F0F781273ACA15900B -:100110000757B6E1CA40E81F7AE2637E7F220C09E6 -:1001200006EAF0139F94FB6C382ED7676CBB3B1B21 -:10013000E7510C12C9A972C0E4AF85FFAD8BE5FC95 -:1001400054073C82FCF786B0B3EB6B8A5EB602FFC5 -:100150002B456E750D8CE3C78069F4DFDF6A7894F8 -:10016000AD068A53B0457CBF29D6ADD18135B8B331 -:1001700067A15EA87767CF8E41BC7A4F225EF3DB22 -:10018000DAA7A03E6E78FBFD31E8AF22BD709CFC83 -:100190003688DD603D975EEBB7450E8B473F7014A8 -:1001A000BEE3003996DCDC9F94543B5B047257EB52 -:1001B00066AA09D695A28BEB1A18D72FCFDB3D7F05 -:1001C000C4F7584680EC4DA1C3FB31CEAF8F5759D1 -:1001D0007B7CAF7A59AFB74CB90FC8E8E7C4A737F3 -:1001E000BEB704F5FBEFCDAEC12AC2E5660F003CF9 -:1001F0003B0D4C61F1C426C394028C3FA35D1B50A0 -:10020000EE5DCCE90339C3308D80845FE298B0B8ED -:1002100055AC07DE2F61D08E45F86EA0F5C9C857E2 -:10022000A3984746FD3586F9ADD87635BFE644BC80 -:100230003D19C5EE40BFCFB28DB9FD61FA63403CB8 -:10024000F7F726251809EE6863FD6CE4D7E82F98C8 -:100250001DFDAAAEFF3429383E08C874BCEE3A6CC6 -:100260006008E70B46BF3D0EFAC1E18AFA2C0B8D00 -:10027000D725E8AD8DFBA4491DEE407D93C0FB2F33 -:100280001472FB1CFCDCE47F3613F16359E30F931B -:100290002F673CF75BBD4945F1F1D0D63747339C1A -:1002A0007F6C4BB401E9F0F2F6BC28E4879D881B13 -:1002B000587FBCD97E0F8E177F05E0CDA4EB6EC2B0 -:1002C000ABA28E8A03BC4E9866533700DE5F88AAC5 -:1002D0009F86FC1FDC6160CFC2143B4DAE59D8DF56 -:1002E0007959B5A3BE7D21B33E9AD6B3C340EBD9AD -:1002F000191D1CB116E0DE304C2947F8142B535061 -:100300000F2B8622F51EB83E349EDB574D2F2F88CB -:10031000E7F2F3A404F3E7E17385243FA5B28DE48B -:10032000AE2BC8FC669827696EBB8CF4889E05AC22 -:10033000847CAF046406FD491E46498D4936A35F9F -:10034000257DEBB62D06BA4F11FA76CA87AB2B780E -:10035000DCE33A3D11C63B6833325CD764D621A357 -:100360003F38F92A7305907FAEF278C60E7FE83FDA -:100370003DAFF3074BC578EEA0BD042F17B2483F41 -:10038000AE7473D9E712CDA32A68A78B2DBAFBE808 -:10039000E7C5621B193795C50BFFA63FEBFF1DE9AB -:1003A00037E05E98EF3E3B9FAF54CEF915AEAFAB52 -:1003B000DCE4423CECB2B9DF9D887AB1DDC8B6B26C -:1003C000BEE5E979883FFDE0730CBB6A65FE7CE21F -:1003D000471BAE67C4E68DBE2858F788417C7CE495 -:1003E0003BD42343FF333101F5F855A15FB456E305 -:1003F00033E4277B1CE727FB0D2139BC333E939E5A -:10040000D3E40AF90CC7D96FF42FF4F46227813FC3 -:10041000EF44FEDC656314473D966A598072A5CDB2 -:10042000F3BCE0637DBBBE666DAB11D7FD15D80391 -:1004300080BB24EDAA29DC9EEF49E27C552A7F4B44 -:10044000FE766793C4D0CF4F6EE2FA3B9C3F527B5F -:10045000E78F5F225EAFC51F5ABCB0FB87F2C79122 -:10046000BF8F3F365C933FBE8D453CDCD75C9CC262 -:10047000BEC7BF6914FCD0D7FDF156AEE7F4D75F15 -:100480001178DD67DA383D17F5C0CD0617CA395047 -:100490003F7D36AC635F347F8F296BB2B0BF4BE1D9 -:1004A0007A65579399F4CA2E9BD74B76DC6961E83D -:1004B0003F30C5DBF133D4876916754318FF2E8DA5 -:1004C000E7FC566F0C8CFF0CFDE2A39CCEE36ECED6 -:1004D000934DF05CEA522EE705174C5B300E2B4D26 -:1004E00028DC817C74027516B4D5E7E029407CD500 -:1004F0003913E9BBD75A4E96617E11FC1E37F2D9EB -:10050000D8FD27CB8A72F079AE4FF78A56EB8FC7AA -:1005100035C5B3EE78D723ECC678C6F59207F92433 -:1005200037D4676E23C56B1A3FD447033F805CCC3A -:1005300067AA3116869C73CEF330984336A73C9257 -:10054000CEF303D3283E9C7BBAFD55D0CC6C9E479E -:10055000775FF0C17C1D1F809D3D1E8FFED2F18014 -:10056000C980F399D664737F684D16F293264FF4D1 -:10057000033CD5FF61D8B31BC2EC7B6C0297A3C7C9 -:100580005D0ADDF77598FC83E1D2BF33FE5EBDB036 -:100590003F9FA33C63FC70DF2B0BD18EE62F771FB0 -:1005A00044FC4F4F92E9FA2F58C09285F47129E428 -:1005B00097D51BD5E2CFA4D0734CF10CB3C1FDFD90 -:1005C00049D1F9387F6982F722D28929C123F8DE1F -:1005D000D80979F9285FB6517509688F34B801AE2A -:1005E000F2ADB6101C1A5C67055F94262CBE88EB32 -:1005F000C7F750BF347E7CDE82EF6B74AF6FFE8234 -:10060000D33B8CFE48EF10FDA53BB0AFE1E12BA141 -:1006100057B4FE3F4A7F2D7F704DFA637E20F6EF80 -:10062000A2BF352129447FF0B3E2B1AFF7B3EA4D61 -:10063000E077E7F4BC5EE828A4E75D265821FA5588 -:100640002D1077A23C7A1DB42FB0C7CEE7EAFAC3CB -:10065000F9FEE022B2C109F184F76A537008FA2169 -:10066000A30212F985A340F01791FF95417ACF2597 -:10067000F0C4CE4BD2F961DC45FF2E1DFDC3400214 -:10068000FA51A3CC1501E4F7DDD629E9E8D7E559FD -:100690002765215FBD3AECBEE368825E4D5BBEE735 -:1006A0003935E4FF68FAEDA018569BBF2081EBA115 -:1006B0001B41DDA21F882E63381C9A3E47F2201C86 -:1006C0005260BEE13B2BE9E5A60EA0C78D0807E00E -:1006D000A155620DA8CF0B0DEEC462F4D392020AAD -:1006E000F7F7BEE98FF9C18AA637DE43782B703F52 -:1006F00004E35097F162773E62604F3F58F357B47E -:10070000B840F367B4F813FD1EBC3F405CB79B01D3 -:1007100040B447018BBF06E67FF2B23ADC2DE456C7 -:100720008175548875CC64ED0417FBF6BBEF260188 -:100730007D66087C541C81B83117EF337633E0E1D5 -:100740006685C79337BB207E0CE3A399E322FBF8B1 -:100750009B921C1AE75ACFEBEDC044DDFECC3FDA8A -:100760001E017BF409B8CEC7D6F1B874C240D9A730 -:10077000A0E11C9769407EAC16F60DC2E85EEDD292 -:100780004BC22F9E60E8C875017E5BF7FF8DECE0E1 -:1007900081FD7F7B07FDBCF19F2BCC0CEF4FF8BC9C -:1007A000200EF5041BA7125F69E356FFA9C1CAF822 -:1007B00075E2FF2AB1F6C3008F7B28C267A1F677E6 -:1007C000179FDC84E37D794EE1BC2DE62F3379075A -:1007D000611EBBCCC4F3018725EEFF68F70F1B0138 -:1007E0006EB8BE2941CB0BB493DDC79F398CCE3791 -:1007F000633E202F44D79B2F947FAEE4F6A40FFED8 -:10080000FE37F2015A1E60ABC01F3B78D6A4025CD3 -:10081000531BEE51D0BF9EEA94993B6CDE9B542B48 -:100820007387E5039E49D0F923075FDC3403EC4965 -:10083000759BEC8A42796DDA753C17FBEDB2CBDA29 -:100840000B1FE9F13BB5E91E05F9DF98A8927C5F23 -:100850006BFE0923804F6E40BA33F2EB3AC748244F -:10086000477AFA1ED8FFEB848E9CBEF1DD17FDF5AA -:1008700074F8DDC522DAEFB9163DF47CDB02EBF447 -:10088000C1FA02B04E1FF85D07D6D9A97F689D93C3 -:10089000FA1ABF5637FF3601FD368D4F4B1338DF3E -:1008A0008CDFB72981D942F4D2F0F5A1B0577BA3F0 -:1008B000347FC3356F065C3A05768718D4C7DA9D56 -:1008C0006342F66BFEE932F23734FB355F5E544A21 -:1008D0006A53D82F4C23A35ED3DBA9B9EA6223EB7A -:1008E000CD3E2D88EC97B76D5462A867203A4992A7 -:1008F000C087F0B33538CE300FC1A9A7A706971E21 -:100900001E6D7D9A7F3D5FD06FCEA04C23C2DFC3AA -:10091000AE8A75E2409887B85EBBFAB58E9FAF5C31 -:1009200028792BB717BEED8B7FF5F7357D508613F1 -:10093000E451EB43BFC298984C742BBB6A626EB013 -:100940001B2C238A7D1A665758C550E29F7B851D54 -:10095000EE8B7FAAAECACC9B1FE22363E31356E45F -:10096000A37DCA462BE62727DB66D5C6019E4AFE35 -:10097000543417FDBCEA0E03C3145669D31707316C -:10098000AEAF7E8FB9502F1635B51623DF1D52DA64 -:10099000658AB3BF64EC89307FB1B1A9D68AFE54B1 -:1009A00063A24C71FC6107E74BEDFE9644AE3F1A23 -:1009B000CF5D9EE1EEE5FE1971BFE4E33CE2A3B238 -:1009C0004741AE310E4D8AA1BC4489649F53817E5C -:1009D000C84D46F2F3218EF923EE035E6A34EFC26E -:1009E000D47E69E323F7D88110F5FFFD698D19F3F3 -:1009F0000BB324D7B3F05C991A6CC57ED9DC4CAA32 -:100A00007B18FB3F32F9B3C15B25CA8B9401BB60F5 -:100A1000BF6C51A61FF313FB25DEF735F37D02668D -:100A2000F725CC8079DEAE4818B581784AEB0FCE39 -:100A3000DBC0042387C557F7ED9549CFDC572AF96A -:100A400071BFA9D49ECE7C617C55F6A889D635BBF2 -:100A500029A508F9784EB9CCFC61FC1D107EE13C5B -:100A60000FC4E161EF1D8EE270051703DC52486E82 -:100A7000A7093E9FC5B89F387F4142C47BF0C62D71 -:100A8000688F6E6D8238157AD344FC7AAB373D623D -:100A90005E0FE37ECD09162C8983F1FB250D24FE24 -:100AA0009B11B48F0EA8A877CE24A25E63C3B89C16 -:100AB0006872572AAFAE237E70F27DB279124893E6 -:100AC0008CFA2F529E668E8BECCF72F7A8378890E7 -:100AD0007FBD5ED7E47E5EB34CFB72F30A2517EB55 -:100AE000453FE8FDECB1D17DE8856FD587E37AD34A -:100AF0000B1F96FF5D7AE135082BC681FCFE345151 -:100B0000E8877EAC1FEA875279FB26E4972EB07700 -:100B1000E65EF845B3175A3C5E06F24AF27E91EF64 -:100B200067945E4D65BEFC503CDEAD2FC09F70F5F6 -:100B3000E2E73C9D984572D4AD5F34FD11E64F1855 -:100B4000C7FCE3FE4429F891A63C842F83E02B6385 -:100B50003C1F588685439897737E41F9966A88F3BF -:100B600029DE67BF25B850CF49F12139D0FB195A8A -:100B70005ED72AF2087ABEE8CEF3CD35521D8CC678 -:100B80001765762E1F657365CABBEBF9449B4FCF83 -:100B90001F015D5EE69AFC21E4EC87F24773A2D860 -:100BA000571DC4065D0F5F68FCA0F187DE8E1CD365 -:100BB000E567FAB2236FA21D19DDB71D797D989103 -:100BC000F4B5DE7E68F6E277495C2F6724F27D8E0D -:100BD00069C3E7D9D0EFB026F13A0DCD0E75E7978E -:100BE00036737E78BD638922A13D41BD9019867F11 -:100BF000916FD5F8AFEA5189F28D15422F7536F312 -:100C0000FC5B7589ECB7C0FF16373DB189F78D9451 -:100C10009F2B545A150B8C3BD325B930AFE316F9F3 -:100C2000BA196E89E7EB5C91FBF42D3AFACE117C90 -:100C3000349305EBD01FD7EBA53957B95FA0D74F39 -:100C400073C4BEFB1CDDBEFB554DDE07B001FF4C7F -:100C50007FC09CF4FDFE80F6BE46478D7E2AEEC521 -:100C6000A11C1DFCC6A4C670FF19E937F5AA42E312 -:100C7000D893045F0A7FE6CB8B79BFA0984F3C5F87 -:100C8000DDF485C93BB26FF8AFE5B7C6A29F3E3A27 -:100C9000E4B76BF34E53184B47C74C674F6689EB6D -:100CA0003FD47E0CD7AD43A383A6477BE059E8D958 -:100CB000BEE8742D3DABE9B37FB69ED5C6D7EC80B8 -:100CC00036AF5EFFF615B769FA74FD1603E54B26DD -:100CD0008BF878B2C8C3CE4FE2F1C1AD493CEEEC1F -:100CE000FACA62407BB9B385FB272EB3FD38FA05FB -:100CF000A17C1FA7E7C331CC87FBEC4C69B7D0BE02 -:100D000067119012F73DD3F8BEE77625E0213DED5F -:100D100052580DC8C9397C0FE679F8806F21EAE98D -:100D2000873F1962A0FD7725D08EFEC9D83C85F695 -:100D30008F1C6695F2C19DCD663BBED7B5EFFFB463 -:100D40001A719CAF980B43B843CDE6EEFD1BD40758 -:100D5000A5729B8CF9FBAE20C8083C3F6941A018E6 -:100D6000E3A0C9ACBD16E57B02D2B117FAFD2A4952 -:100D70008BB37BCFEF1737733FAE3846263F6E8A73 -:100D8000AFBD18F7ADA62892AB169FD5E5F75FD19A -:100D9000C51FA1FCBEAAF0FA435DFEBE91EB99EB24 -:100DA000CDEB4F40DD067CBC5EE373A16F581FF9AD -:100DB000FD9D26BEEF133C6964E807B30B89BDE6D1 -:100DC00063AE95E7DFD712ED5663719F8EFBEBFBA9 -:100DD0005AD2DC6A6EDFCFE776048BD03CEEDC3E85 -:100DE0005BA1FA35911FEDB17FD2C7FE88BBD17EE2 -:100DF00008D5695FFB21C55FAA94F6B95EBC697529 -:100E00000B4CD43FDDC8B49F9BE474E7F96837F21C -:100E1000F9CEF3696E84EB79C1A71ADFEF3B77391E -:100E20009AF6414D6E15F78F830E8BEB59E25BCE30 -:100E3000EFF5A943FCB84FFB1B21173BA383C7B2B7 -:100E400013C3F73DF83E47CBBA47679F33D27EB90D -:100E500084F9486D7FD9077243753DF18CE20F2309 -:100E6000AB67386FAD9BFD1ADB2993D438C4FBE523 -:100E7000446D1F538DA33CC4B757A8CE508FFFDDE0 -:100E8000EB9807EB511AD6593C0AC8FFABEBECD4F0 -:100E90006F5CE7A476FF3A95DA878EC73E8076BF0F -:100EA000DA6DF22861FAE39D64EE77E5657F524CD6 -:100EB000C5DF7F6354873EE5C10E19F5C58D5761C7 -:100EC0001D117527CA65C437E537B342FD4C6971FA -:100ED0000CF66FBC0AFDB0E7AF2439B83DAA53EA5F -:100EE000462793B4105FFC2DC9DD9104D7EF7178CC -:100EF0003EC176B734FFE02546FD73BC7FAB7C096D -:100F00009ECB0F14525E391FF3CA7934EC42C4DF12 -:100F1000E85613ED976BF9DD3C4DFEBE8ECC33E702 -:100F20008BBCEEABAC83F2CD051608B40C0817A74A -:100F30009F5B9AE794301F98647261BDC3E82C4FA1 -:100F40003EE6635B9318C547ADADC9196A0E720FD3 -:100F5000CFFBBAB5BC2FFBFEBCEF918F627DA4B76F -:100F6000AE9A687FFAC8A9585780F60B2DE4FF693E -:100F7000F5C82DD1BCCE80652CA03CD38DA29ED1CE -:100F800062F69A93495F050E9E80F77E7F99F17D08 -:100F9000C7F60F695FBBD8303C05EB7E0F4A43E3D1 -:100FA000B07DEAA3D81C6A4FC55E44FCB418AC2AD5 -:100FB000CE7B669D5A82756D27D6B112AC637B6B72 -:100FC0009D85DA93EBECD49E5AE7A4F675B88EFCB7 -:100FD000731C9E477E71BF65A37D92296FD9146CE7 -:100FE000F316C650BBFBB61813C2DB12CBB66BF3BD -:100FF00060BD5A203AD080C9FED6A7BC8F59FA816D -:10100000DD337B474AA3186B7BCA3B5D990CE34EEB -:10101000EDFF93AFE0FE9BC9CB1EB3005C734FD9CD -:101020001ADAA0FF76F2F2C76CA86F8F4783D2C39B -:10103000F5AE38EE1E047443A590C605978D837EE9 -:1010400082D65F31BD641263B71477643360ADEC50 -:10105000E495D32D80C75BACDE1F63DFE44B9A5E63 -:10106000D20FFBCC87F56041C948713FCB9012B1DC -:10107000FE65A6C3FB467258FD9E5BFA13ED338DE9 -:10108000714BCC41871F8CB4EFC5EC1F2784CBDBA1 -:101090004C47E91B488F89C9BC0E78F424C91D5EF2 -:1010A0005FA17F6EF439B504E934E642591DB633C9 -:1010B000CB1DD4F72C185B87F25C62EBEBFD627AF8 -:1010C000BF3C99D78D142952445D89FEB97C6026B6 -:1010D000F48F8347A3294F30FAB4B716EB4F4B9DDB -:1010E0009979B2A6FAA8EFD882FB6DA32BCE9424EF -:1010F000A0FCD824179A8931ACA32E01EE17DAB1DF -:10110000A00AD7F54431D6FF8C562517A2ADD0DD05 -:10111000DA80EF17BA625C85E88F9F564BD0F49C5B -:1011200052469D2880E7A60E925D1618E854E0A668 -:101130008997A05F382C8EF2BC85CA9A2B27A81FEE -:10114000E3AA51711D5B7E5D45E398C9AEEF9E51E8 -:10115000FC2FC83F459E38CA09023E4AC2EBCA600E -:10116000DD0477A15DF64749C8DFFF5A6287FEEECE -:10117000FE1296CBC37CC3FF42F78F44AB5100E80D -:101180006E93BD04C7DB6D92EC0F51DF538CCFFB28 -:10119000861855CC1F952546458C3FB5441A7F0EC1 -:1011A000E1CF891B85D7CA331C11F7DB6EB3929D43 -:1011B000A8782B87FCA2B6DBD2C95E54BC35A9083F -:1011C000DB3603F7D32BDEAA28A7FB061E07572C16 -:1011D000FC915BF429EEAD585849FD5629E52738B6 -:1011E000DF959CB83CCCAF4D1B945AA244F88103C8 -:1011F00049FEF3447EAFD0307CD32480FFDEA37C55 -:101200009FA2222733E2F91905524978FDA86752B7 -:1012100054447F7689A324BC0E756E456A44FF96BC -:10122000B99911FD92A30564BF410F5494801E38F3 -:101230000AED5260C1025107A5E59F0A054B15B69C -:101240008BBCACC2E3EB61F0877AB0C41669A777B8 -:1012500047733B5FCED6D00649F911BEBF5D966895 -:10126000FC24DC4E94CB15365E97158987BCA346CB -:10127000B2977931921FE3FA92A34BEBD0F49667C1 -:1012800044BEAFF961E5023E6D5EE673B7A33FA2CF -:10129000C1ADCDAFC15F2E2F2AA17CF735D6A18776 -:1012A00097C17A503FE8E1684A16FE1AF81FE4AF8A -:1012B000897324F04BECCD7E6BFE7A05E82B47B8A2 -:1012C000BEB2498958B7D797BED2C6EDCB2FD3C689 -:1012D0009DE9F0D0FBEE1D9F9E9A2087F5333F4E8F -:1012E000880FEFBFF8E9A688FB491FCF7184F7B7D5 -:1012F0007E3A07EF4F51D45A1BF0E53126B97CC82E -:10130000076DAA1203F4283EEDAEC3B6F4432F9640 -:10131000ABB2A9E77C75D84EBCE86F33C3BA6E1A7E -:1013200026AB18BF6B7E881EDEBF26F3BCC3B1ABF5 -:10133000AA15F75977FB542BFAF3BB1F54ADE88776 -:10134000EC76F37319EE2C039D8F7167F37AC5BFAA -:1013500024F3BA834EF1BED6FA8DDE4E841BEBCC5D -:10136000D137A8FA264875E5C7D0BFCAE9E95F1D9D -:1013700053FC369CEFD8837E5BF87EE2F5FA577F0C -:10138000041E43380A99E409D723C596284FB8DCD0 -:1013900096DA1D11FD93C20F99EA4C8D78EF263530 -:1013A00033E239F01B87A15F526B62546FEB33F06D -:1013B0007A5B3D1E57A4F0F8CE65B3A33B83FB6672 -:1013C000726FE7915CC5865ECFB7A5A4707FF03FD2 -:1013D0005218C1352B85C3A7AFAFD5F76BF17C0F82 -:1013E000E293B99CC8E72EABE10AB8BCACE0E927B0 -:1013F000A6535D6DBEE1DE2CE8573CBD753AAFAB40 -:1014000035ECC13ADB194F3FCFEFDF60C837823F81 -:10141000B0CDF7C274AC2BAF8AE2F5095551A23EAC -:10142000B46E7444DCA3183E7E6A21C69FFB8D0C0B -:10143000F3FC8F99C00EE685F6D9AD661EAF5A4D06 -:10144000BC0E7C7DE6A9F5A83F3E8BF2E6A5509E3A -:10145000B148453C5EB45BA83EF4BE7DA529C807F3 -:10146000B35278DE2B7BCF44279D2FFBE7C151FC85 -:101470007D7060FD308E73717736F9E5D903189D64 -:1014800027D1E801E1335D8F82F081CE6330B7135D -:10149000F36FB50E138D332B85F3E3F5B63DEA8973 -:1014A000E30C6B7641BB2085C7CDB7E2BC046FB0BF -:1014B000FF2CDCD0B307FBCF1EC9FB486F59CE0B06 -:1014C000A27F1BFC510CEDC3BC1FCDF1C63282B410 -:1014D0006FF3EEA26CD706BACEF1B8C03FB0B643F8 -:1014E000C5FA0F7F3FACB718E8F42E457CDC66F6F2 -:1014F0000F26BEB2AD89C179AEB7DEB8EFF921E0F3 -:10150000047B327F3CA797363FE0D882747C579C9F -:101510003BD1E001387E8C70687075C3A3AB3FEFA0 -:10152000147E7B278E971BCA5357FFC940798A6A5E -:1015300009F424F4F77CC85C3E95E8437950DCD28A -:10154000C2F9C69F58526C83B6A071158F8FDB9578 -:1015500088BC9866CF268AE7C7BEA744D8A389224D -:10156000FE1DAFCB4F4E6C9C4EE7F826EAE2E25FE1 -:10157000A488BC651A4B0BCF23AC15F1C6E5B68128 -:1015800071E89F2A10E7CA806F932AB371F121BDD9 -:10159000D0B08E459C53D4F870E469FB9D38DFC809 -:1015A000D3EC0EF207B471BBF3131C2F97DFE37873 -:1015B00019D531ECE949D0371E3132BF1A5AE70448 -:1015C0000E2A833087E2A4CB176C645FC61C9D4350 -:1015D000F5DE66A781A961EB8F52A3991AA62FADFC -:1015E000C3E223FAB2A04F5D54A41F902FE6897185 -:1015F000A5458CB73FBEEC08FA05F9B6E5E417C47B -:101600008D1B18311E6B5322FC833CE67163DCE8B2 -:1016100002FAE27ED998D34A841F302EB091CEA12F -:101620008EFB30F2FA847391FD037DD1A52FFCB1BE -:10163000DCA7D12FFCA1F873B823F197501E89BF06 -:10164000244F24FE521644E227D51B898FF4E5234C -:1016500022EEF75B9317D11FF0C08488E733C18077 -:1016600085F7B31E9D16F1FCE08DB323FA4337DFF7 -:1016700016F1FC70FF9288FBD9DB56FE207A8FAC06 -:101680005F1BF1BC9EDE3734FE34627C8DDE3EF89B -:10169000FBDFA437730AFF50D03B51D859879BD743 -:1016A000AD75196D8FE2797C3C3682FACE81E7E91F -:1016B00063D1FEAB5497E79BC6685FFB97B2474286 -:1016C000BD940EA8356451BD3CD5F5FDDC6088D8CD -:1016D00067B73BB93F6477723DFE6B133F2F950EA2 -:1016E000FE26D929030BC5D916AC77648299AC8F35 -:1016F000639C5DE7E818A63A306F07FDC921BDAAD3 -:10170000E9D1DBCC6A6D07E8975132D793A03FFB54 -:1017100039619EF7A5078DDCFFF019D1FF48B7307E -:101720005F6C1ED919CA433B58A284E700E2427A93 -:101730005CFD0E88757065369DC37A134140BF59B4 -:1017400075D17ED3AD9A9E5A3E9CF4D4655BA4FFBE -:10175000767969165D3F7BBB99EA07CE8A3A470DD9 -:101760000FFAF3D6DA396CEDFEF22D9B62D0EF3C26 -:101770002BCEFF6AD7270BFC4D76CAC2FE59D66026 -:101780003E6C1118F138C07BE5918ED8DB18F99BBF -:101790009370DD555BAEDCFE2AF4AB0DC1646E3791 -:1017A0007CF4DEFC77F9B9EEF97F8BFCAE408593D3 -:1017B000C7F91562FC5BA0B1039E6E013A38B07D9B -:1017C000635219F2275CA7F371338F3023CAF32CCD -:1017D0006F26D54D9C62AE337B01C4F94E95E09CDB -:1017E000CB3C46CC5BBD737B650C3ED73D9E360E35 -:1017F000300CFA25EF3A7CC664CC1B4CE6751330EE -:101800009F05AF7B16A53F8C76499BEF1DE6BD7407 -:1018100006E83B9BB9685C6D7C86E9F9303DB57B99 -:10182000F9AA8F1260BEB5470D948F58DB6CA6786D -:10183000AD6BE57FED780AEEDF91DED10FEDF6FBC3 -:101840002BFF3604F9E1D6CD325381DEAADD7BA72A -:10185000336C5FE5ECD22B31781FECEED6A7D05875 -:10186000BE6CA63AE2F757BE3C24DC8FAD74162E50 -:10187000C7F7D8B8EB3BEF58FCD2F014AAF712FC2C -:10188000B442F0D3DA178792BFB536A69B9F787F14 -:101890002BAF1BD1D67146F0E3CA97BE89F8CEC4F0 -:1018A0006EE023D5CCF7C5D4A160EFDB2EE7D2776D -:1018B0001F8CDE7F75C2BC2D573F89C5FE9E37FF4A -:1018C0004AF0B3B9D7072FCAA26F4C687F5A3BEFD3 -:1018D000B9A029211FE90E72B601C7BFED772F5EAF -:1018E000FA00F1D3FCF2D69FE133D779FE739796D5 -:1018F0007714F6C625F001F686E28B2E16CDCF932F -:1019000008FF46C11DF92CFA9E874A7CED66C77117 -:101910001FA7B6D5407526B1B8091496AF8B950DA3 -:101920009A51725B9CA0AF859EF97FCEDB2AEAA814 -:101930003E20D21F2A38B432C20FF2C05FAF7ED031 -:1019400033DE5ACC2FE9FDA1F101C36253DCF7F875 -:101950004587A6F5EA174140ED96C688AD21F835D2 -:10196000E8F4F37E2157F53816E6FF03D1FCFC338B -:10197000980EF47B7F9ACAF5B72D83F1F36952E78D -:10198000300BE8CB16E7A2C71F856B96417CDDD8EC -:10199000AFA53335F9C47FDD7ED7A111A4B7D8B781 -:1019A000301BE243E43DF4742BC0F3ECF961722781 -:1019B000DE0F1CFE6B2CE67D77C4AB6F213D8247AA -:1019C00065DAFF89523A4C8E5EE2BB57510F029F97 -:1019D000CAA9DC1E581A797ED1A2BA19C60F51764F -:1019E000FBA8F0737F8D4E1E4F561E7EBFBF09E8C9 -:1019F00071C9D0169B03E3AFDEBB3B16DDFF0C9332 -:101A0000F703E4C35567DF1E63A7FCCD96FE180FEE -:101A1000D607F87730462ACCA7E4F584A37A332C8E -:101A20002601CFE927503BB2297F19F2597580AFC3 -:101A300013C7C642BEE18D12F53B1B6BE371BCEAD6 -:101A4000DF37A7A13CBD9CC4E3CD97AE66F3F71585 -:101A5000A6E0F341A74310D36FC0F8E46511D77433 -:101A60005E95E9396DFE918D85B21DF82127B0F1A3 -:101A700000C5514D6615E91AF51CE378688A22B94C -:101A8000AF6E99CAD0EE7739984B82FB3BA2837F29 -:101A9000A4F36ECD6615F3AD51F68D2C1EC6DF2175 -:101AA000F659870347E17929EDBA365F54D3D31845 -:101AB00073203F50DE374AD9C826DBC2F11C437879 -:101AC00076A4723EDA111D30609E253898B1670900 -:101AD000AE109C8CE6D5E01CEEC7F3843B4CC1F302 -:101AE000786E06E0B223FD87330E276B1AAA629E3A -:101AF00020CAEEA67544D955974FEA0957752EF3BB -:101B0000A35DFFF943AC5B6E518EABA3437D0BC865 -:101B1000C08E814CC8F9CF1F2FC908EF83621917F7 -:101B20007A7FC8AF363E5E3789E2099F8CF12FB4C9 -:101B300031F1B84E95D6A7608A298FE301F7DBAD66 -:101B4000167EBFFB79E06F1BF66DFC39579CDD3AC2 -:101B50004D2239E1F5B8421FDC2705CEDF08A4FD90 -:101B60002A702057055856BFB19FF87495A1E9A96E -:101B70009170FFEE28AF2B15E67BED43039D6BFDC7 -:101B8000F38B51FE0AC0C7B07D5B92DDBDC8877E76 -:101B9000FC47DE7BE8C974A4FF3E49C53C6C973125 -:101BA00048DF37A96AFACC44F50D8D1F53DDD39B6E -:101BB000A9DE4938CFB8C61ADA8F1ECF36D27E7466 -:101BC000B6380F5EEFE4FAE3F2E921CFD684E17F85 -:101BD000492A972F16F40E40B96912F2D9827E0A6B -:101BE000B47B85BFB4B7F5D62C352C7F58C30EA473 -:101BF00023BE1F6287A8D5AE77F9F9B9CAEC772C56 -:101C000077B8C3F86F9190F745A9224F96EA9D8D5A -:101C1000F0AE6AFDC414ABE23999FAFE6857EAC126 -:101C20009FB2F782976EB9D5C951B51234E1F3D599 -:101C300017F8F957A0731D9E3778F99DC6118BE1EF -:101C4000FA5EC035D695FACE9AA9BE72AFD1938E00 -:101C5000CFD79CF93A17F556090201F07CDDBC6A32 -:101C600000E20DF8BE281AE56B17233DA6C9670EE2 -:101C7000CA27BC9F837C5F80FDE1A4877798DAF94F -:101C8000F9D3BDFCFC29F03DC901F0BD1DFD861C4A -:101C90003BC801BD3F94E47B47BB81CEC9FA408F6E -:101CA0000FA67ED11CECEF682FB1937C635E3F0FD3 -:101CB000E5347080C6A987D8044927314FB83FD989 -:101CC000E88C25BA69FAF1B093093BA1C6E1790322 -:101CD000AB2C47C845983DE47D612F4FFC2AF0F8B6 -:101CE0002FD176B8855D10FE14F3E6939EBF57D8CA -:101CF000AAB5AF4F98B91DD6B9F684DC5D3F8EFE0C -:101D00006B40F0C901E1CFA29D5013783D0E5E1FDC -:101D1000BD99D7D58E71AF29C6B3CFE3CA371EC4DC -:101D20007682A7BE18CF3E4F5AD07E909F81E6E7BD -:101D3000D91B0EDC948DFBDE5D67CD0CF75D1AFEC2 -:101D40001AFCE34B8087FB5B00FFBDD825580EF1E2 -:101D50001F58EC74E6EC79BF4BD2F4C7A90AE4C76C -:101D6000CE0639D40740AA80C1B1FFDBD4938FFBE4 -:101D7000A09F95E67E3E15FDED742FB55D27FF9A79 -:101D80008CB660EF69EE473598DCD9C83F0D032368 -:101D9000BF1FA0B54FA61A890E057D7CBFEB482A50 -:101DA000CF6F0EF1B1C7908FAA1A64BB1FE87EA94E -:101DB00041769BC01F3AEFF626E3D99C0BCC77CB3C -:101DC00044B4F3228ED4BEF77217FA2960A7EEFE50 -:101DD00065EFFB0FAB99F65B6340BE5AD624B1FFAB -:101DE000001C2C7F26F2F9D5DAF76A1AB71CC6EF69 -:101DF00088AD7C4E771FFD15FA0E46A41F7324553F -:101E0000F827592C0BFD13E023D20F46851D310313 -:101E1000DFAE48F7EE437BFCB2F8BE02E85192C752 -:101E20007D4E615744FD417007AF2B1EBECD2F1B69 -:101E3000E0FD098A5F467BC5A0C57D87716E6F197D -:101E40007D87C9E73E8DFB3ECB853E5CAEF9697E62 -:101E5000BE3F026637C24FAB16AB1FCFFCB5B1B861 -:101E6000FE6D12C5CBABB645EEA7548BF5AFDE7C4D -:101E7000F2309ABCCA7ADD7DB1FE6ADDFAB57DF337 -:101E8000CF5323EBBFAE773FE42F46EE37BC2DC6D2 -:101E9000D1EE9BD2B87EAC826520DD56FB65BF9F3C -:101EA000FB7936FC5ED09D625D770AFAD33AE1B9E0 -:101EB000CA6D923F803CFE78649DE95DF58BCB90C6 -:101EC000AE7A3E5929D6BD7CBB91FC55FCFE0FCAAB -:101ED0009D9E3F568AF5AFD4ADBFCA2BE9E0E37EA5 -:101EE000744FF8EA6F413A576E37B2DEE0D3E8B587 -:101EF00052E3EB3EE0D5E0D4E0FEA1F0F64F13F95B -:101F0000AD116C04D1A93CE1BAE8A4F773771D1EAA -:101F100041DF5BBB7C6420C5FB1A1FE8DF2F137E0B -:101F2000F2D4CDDC6FBCD4586C1D89F14C9BC1251B -:101F3000A9149FC58E04BCE437CBAC02FA5D4D59A1 -:101F40009BF0FB8379270AE660FC9F7FC240E7EFA6 -:101F5000F61C29A07DE7FCA38312B228CFEDA2EFE7 -:101F6000E3C038645FBBDAF236E1F984AEB69202C0 -:101F70001C5782E7D00FC81376A2A62DCF1A7EFE7B -:101F80007C4C1A8FEFD73B3FFD39FAE9537719E9BB -:101F90009CC55463F04DACDBDA7344A17DF2D527C8 -:101FA000963C1485F47D51A27DF2C3ED6B1317228C -:101FB0009F3519EDB8EFDDD5F4E30378DFB75DA207 -:101FC000EF5E54379766EF807EDE967C57F8F9B364 -:101FD0003C874AF0B1542BC5CF53FB19C96E5E4CF8 -:101FE000B3FE16FD9F95EE2D24DF17F7EF3151DD7F -:101FF000DE0E89A1293BEC3CF80AE2E3E2AB274D77 -:10200000E88417379C34757C8F3F70C92FB300C5A7 -:10201000CD1B4D18C7546ED1FA1D26A49347F8471F -:1020200055CF7D4CFD95E8CFC37C2B9F91A97EF7C2 -:1020300060F36B26E4E7AAED124BC90CBBBF598ACB -:10204000F85EC312C6F96089D03FAB987F7D1A3C19 -:10205000B76A23AF5B608F46D6016BFCBD42F0F7D9 -:10206000AAEDB3E8FB533DBE5B8871E30DF81CE7B6 -:10207000EF659B23EFAF107CBD42C7D73F4913FAF2 -:1020800067381B8E7CFD75A11A9703D7BF3EB972C6 -:10209000406FE7ECDB84BDD6ECE5E58081EC8DFE9E -:1020A000B9CEC62B046775DB6513FAA7654D5F10C3 -:1020B000FE2B9A5AA97EE466E65D8DF8BAB9C96A24 -:1020C00047B9AEE8E07A685A93D9EF97F07E3DD5EC -:1020D0003977B5F0BA49DF7E89FC1C4D8F69DF770F -:1020E0005C26F0B80C14787A1EFABB3C6EAE127106 -:1020F000F28A615B0EE33E7B95B8BFFAE8C158F403 -:102100000FA7B12F6E47FAC07C0CE763CF44E27D86 -:10211000BAD08BD3B773BDA8B76B5DA9D933298F5C -:1021200009712AC2B57A7B24BEAB74F1F963693CAC -:102130003FF6820EDF154166CD413854D9E5A7A799 -:10214000DB159CF7482ED85BB4936AD6F77E87F1EF -:102150004DE1676BFD99E21C78BD7DA32D3C6E8E31 -:102160004AE7FEC2CAF1B20FE9D51D6F0C3A98AB2F -:102170001A42F106C419CD69493CEEC08292373249 -:10218000649698188A371E716EAAC8837EF5762EDB -:10219000F79DE3603C3C7FAD30F247ABB79BE99CD9 -:1021A0006235D09FE28A267E9EC2D3249522DDC16D -:1021B0005F3F9A86FBB198528575CF6AE47C3FAB4E -:1021C000E40BE297A383F87A2F2B6A4A6FFEBBE6F3 -:1021D000B7E3F93035CC7FAF0239C5E7AB9A783D2C -:1021E00052C3816FFA67A29E6BFEAFFE8BA1FD5AB0 -:1021F000D845CD2F0C825F3890FB45F4BDC9BB8517 -:102200007C2DB3F37DBABB85FD61521DF17995B18B -:10221000FE503CFA593B78BD00DB871F8503FDF873 -:10222000F64B75F1B0EECE9724AA87C3F7F17B94F5 -:102230009D4BEA3F41BFFBEB1D16F237EF06BF6532 -:102240004A5E4FB9D4E45BFB6E560D7B88FCCF87AA -:10225000581DB595829F3B1B6BE9FBA09ABF42EFCF -:102260000FECE98F540ABEAFD4F15F547A24DFD566 -:10227000BC1D4D7E63D751D98EFB3180AFDFA48565 -:10228000E345F8210D07A288AE5D276D6447FE2C5B -:10229000F8EDA2C83FD78C93090F86F1BCCD6E79BB -:1022A0006D20D211F18EF5F72FB7BC36829FFBF669 -:1022B00013FE576D9323BE0F5B591FF9FDD79AB7D5 -:1022C0006FA3EF0855EFEF866B88293104575F72D3 -:1022D00020493C8E3448917164F53ED9135E7706EF -:1022E000EBB903F551BA9007A6049331FF35009D71 -:1022F0000680AFA689D3D5D0CC5B98FF169E273138 -:10230000D2FC3DEE17F956E3FDAF33AD7CFFFAAAE0 -:10231000AF02FBF70F94A9AEF3FEB7570E0DD7A38C -:102320000CE104BA561B83C9146F9E34107CD52768 -:102330002F270FB2A15EDA5282DF0F9D2EF4DFE16C -:1023400081D6E5C8CF3E9C372534CECB69BC7E8F85 -:10235000E17A9DE86DFC928F2BD6FB109B2DE26AF3 -:10236000CE4F39697CBD108F8C4BEF251EB95EBFF7 -:1023700013ECC3A98512D633293E8C87F7BCC7F569 -:10238000424DF3B28F90DFABDF37539DD7FD2DCB9E -:102390008652BDAFD77B03FA1B5FB7ACB881F2831F -:1023A000D24304970FE173A25F732619EB522B9B64 -:1023B000CF2493DDDD3B7A932F06FD97BCE9781D92 -:1023C000FC09E23FF06B88FFF6B415687E8C15C7F8 -:1023D000AD3CAA78103F95470B8E57A07F71A2A8FD -:1023E00000D5B974A280FC987CF4636C21BFA65B15 -:1023F0004FA6733FA6AB358AF20B121BC8F9870DA7 -:102400008AE09FD50DAF93BD5FDD2847D42F6AEFDB -:10241000DD99AED038CB34FEA997DCC41FBB78BBA6 -:10242000BA710FAD6F95B19EE85DB3DDC8EFEFE017 -:10243000ADF67D581F8BF7213E8EE325A0C3349364 -:102440003F03F3D3C732B99FAFA7C7E7E93CFF719A -:10245000ECAC7700F2CBB142EF507B2F76C2C78A4B -:10246000785C2B097C37F07353FAE73E4B97C477BF -:102470004222CFB76AEDA974AE3FA7997AFF2EE04A -:102480006FD2B57309EC31430146C546FB06E1D76F -:10249000A7867DD761CECD46F2174E31FBEB58EFC4 -:1024A0003843D3B3E3B87DD5E7CBE789F73C9B55F9 -:1024B000BE5FA43B3F334F3BDFA43BEF364FF83BBF -:1024C000F374FECED3E9C28F1FC286A01EAC17E7FD -:1024D000EFD60E8FF287E7B3F4ED61B12F82E78775 -:1024E000B0AD19FE2EE57D8EB59E7D85EADDCE462A -:1024F000B1813CAF47F9EFCA3EF2DF35DD723937C3 -:1025000082CF34BA5C12DF83D1D365B7A6AFC4BE25 -:102510005DB4D8B7F31BBDBB519E2B2D174DBCEE40 -:102520003068427D56339CFB4D974A25DA6F073859 -:10253000FB9BC3F4FBA5541E7FDD7F8B4479D756EC -:102540007C1EE3AC7A89EABC2B03ED26E4A7210DBF -:102550008B1F26B9F5B1D32CECBB1A332DDC4E768C -:10256000D34F5B77B71D8BF7717D9C482D3E8F76DF -:102570007186B083FA735143597B593AC033DF2DCA -:10258000B9B01EA02F3ACF5E30EA7544C3F5D2BB76 -:1025900033DDFB4E3ACA79FBE55B308F7A6CF86726 -:1025A000FDD18E56F5C1C71F0B3CEBBF2BE31AAA1A -:1025B000D6E2F7556A9DDE0ED29F866F6347301CC8 -:1025C000A7E3376B25A41323FEEF4B7E3E13E37E78 -:1025D00096CEBF770FB8A77D9755E9BC4EEB98D143 -:1025E0009F41798A9CEBDBF7AAD9F7462EEAB3CE56 -:1025F000D6A3B9A630BA5E5C0B7A00ED4AF3C1648B -:10260000D516CE7706E23749D2F84F11F632920F3F -:102610002F221FE6607B267610EAE35DA76207E3C0 -:10262000787B79DBCDAF4DFC7BF6101F0D9917132E -:102630000EDFC304DFA57A3E0E631D43E68C0CBF9C -:102640005FDB171F5B33888F3B22F8585B6F3D7E43 -:10265000CF07E38016337DCF07F3D78E3039199A31 -:10266000C1F5CF58F1FD9EF1CC47DF391C2BBEE3FD -:10267000335E6101251EF7CD0232DFF7E5E72DC697 -:10268000087E1EAB045AB18E62BCD8E799C0DAE965 -:10269000B9292C48AD9BD9E91C451173513BCE1289 -:1026A000988EEE544E7D3DD525069215C7798B3810 -:1026B000AFD10BDD42EB57E8BB3DC49F329ED7E95B -:1026C000FDBB2FB333B8DCD3C74590BE9718E5B92F -:1026D000F07B6D38C9448595637DD3648559A2012B -:1026E000DE5D870C24CF2D1DAA1FEB535D09E2BDD3 -:1026F000CF19D5E18E757379459383F518DA7AF59C -:10270000789800E3619E6DAC029128E13140F3DDE1 -:10271000C8F8399242A652FD736946A6D0F7418A9D -:10272000A38A218E427D6FB0F8081FD33354BA8F2D -:10273000FB25B130CE848D127B0FF73FB2F87AB50E -:10274000F1270023E0F9C2E919DC9E614AF5BD7862 -:10275000BE8F124B05CD2576FE9DA364FACED1F532 -:10276000E2B52B997FEF32F6CE60E7CF0A42FB4904 -:102770002EFCEE516CE83B9B2EEDDF830844FE7B84 -:102780001077642CF911F2A356AFC7BCFCDF7DD0E3 -:10279000D7EB85D5E7B10B61E7B0B5BA926DFED93D -:1027A0002A9EF35B9068A173BF7996FEF968C7060D -:1027B0003ABD34FEFBD2F6C13498E21FED8909F12F -:1027C000BB95B9C721BE437583FC3B50DDE7AE9294 -:1027D000199D57B49A797DE563201FF81D26902E28 -:1027E00015EB68D883C5548FB9DE6171E17909337F -:1027F000C26D0DC15D6B11DF05B5F07D717D3D686A -:10280000ADCD40DF1DAD65D1740E3D29DABB2E0381 -:10281000E0BA2FA688CE7767EF9CE444BF317CFDF9 -:1028200093B4F51B7AD647C27A1FC9E8A51E515B3F -:10283000A7F6EF76D805FEB475DBB5734A6E25E2D0 -:102840009C92868FC7A2F9BA8DB8F39F45EFAAA8CC -:1028500037F4EBFDFFDC29BC16A06400000000008B -:1028600000000000000000001F8B080000000000B6 -:10287000000BB3D36660F8518FC0C19A0C0C5DD2C7 -:10288000A862B4C41D120C0C9780F80B106702EDFF -:10289000F5926460F006E26D40BC1D88C5A518186D -:1028A0000280381088FB80FC7E204E07E224A81BA3 -:1028B000B30519187281381F880B815848808141EF -:1028C000588078FB8B1519185EAB22F85A6A0C0CED -:1028D000C91AF4F3FF60C381B6F4B5EF16D0BEE5B4 -:1028E0006E08BE0490BDC20D55CD4A37FC66AC42A1 -:1028F000935F8DC65F83477F810D2A7FAB292A7F37 -:10290000AF3903C3072435DB4CF1BB051D2B00FD9C -:10291000A788274C9730A2F22732A1F2F9A17C00B8 -:10292000BE1E313CA80300000000000000000000B3 -:102930001F8B080000000000000BED7D0D7854D5C2 -:1029400099F0B93F7367269999DC24433260126E7F -:102950007ED0A001879860B0586E20E147A30E0892 -:102960002CB440262888166DC49FC6DD500609BFCA -:102970000921E14F70D11D105DEA63FBC5565B75FF -:10298000BB7682D646AB3568D787767765A015BF0C -:10299000BA761BD96D976EBBF57BDFF79CCBCCBDB0 -:1029A0009900FEECB7BBDFF3C5C7E770EE3D3FEF24 -:1029B00079CFFB7FDE73C725BB59701A631FE31FF6 -:1029C0009413731963B5A9B2C5C362D9398CE5767E -:1029D000488CD530B6B25D89CF827F1676B4BC8282 -:1029E000F5E56D6EC35DCA58FF036E7F0DD44F6F62 -:1029F00057C26EE8DAA8F8A8BEACCB15761BF07CFF -:102A0000EB472FE7E3FB8D5298419DB1BB199BCC5F -:102A1000D81A0FFC13EACB2A921DF8FEDD2D52388E -:102A200086AF99E99B04EF6F65FC7DF3038AC6646A -:102A3000A8EFBBAD894D64EC961E98C5430DD9C770 -:102A4000BC3D63058C45F823D6B205DE57A6DE47AC -:102A500058D7470AF46B8E399EEF9BF53E0BE07B0F -:102A60002DF51CD6730CFF3185B14B993F783A1B7D -:102A7000FE1D66E18F15281BF2191B9DC297B364DA -:102A80000CA01FC5D85CC65CAC1CC6A9BDCCC5CA11 -:102A9000607D161EDB381E97354984C7653E46F5B6 -:102AA00077E74AF1074BA91F9B5E0D253C2FC88392 -:102AB00032C8CC4228231E96C806F8E7B65DF61E3B -:102AC000AE7F034E359ADA2702F07E018BBA18C02A -:102AD000F7672C46E56216A7F2CB2C41702C6543B4 -:102AE000252AD4EF52129B18CC130E45A7E3FEFE05 -:102AF000AEFED8BB12BCBFBF5AAA9D0225F3E5D1DA -:102B0000BA2FB43E6B7E9545AEC37118935D113FED -:102B100063E3AD751E66B18A20637A8F8FD3CB6174 -:102B2000D6CFA03EBE41D04BE3FB7208D6DDF33CCE -:102B30000B633D049B3905EAA1AEACF806A8F73C4F -:102B40001EAB47BC1C6B01CC43FF638D6E295A053D -:102B5000A54B7745A00CA98C2980A7FA86F592028F -:102B6000EDE646F938E34D4D665742FD704C52C5CF -:102B700073ECAFEB314987FA78A83F28E17BDDC5DC -:102B8000609C86865C57B20AF1DD334687B2E2B0BC -:102B9000969001BFF5A64ECF195B4474355ED0DA2E -:102BA0005C93F79B7B38CFCFE83DFBD3C7D67BC088 -:102BB000EF25457CDF8E1D2ECB417859D4DEBF48F2 -:102BC00065314F5E0ACF3BD7C10B770ABFBB0E976B -:102BD0006D45BC1DEB53C382946DE3C3B8BD0DF0CE -:102BE000FE4C951C560CE4B3220E7F85EED77DA9D2 -:102BF0007176AE83F697A5E06854A6F6133E4C4670 -:102C0000FC38B706DA57A5DA3F81ED018E3D080F93 -:102C1000F55B73D48BF34418CD33123DBCB04EA793 -:102C20007E83621DD7FCEF30EDD3DC861689CF2B77 -:102C3000E06BB0C36795167C238D7F4CC0658D6FAC -:102C4000CDF7C4BA10958D4AD523F7E2BA8E687CC9 -:102C50005DF38DC77723FE8E78C231A83F79DDDF23 -:102C60008CB91786B862FAF3973FC370BEE50FDFE1 -:102C70008EEB7A2E8BD6F5D487675EBB910D9FF7CE -:102C80002D81879F9E9B3F44756BFEB9A6344602FB -:102C90003AAB34A5840BE8E558FD571EBED7C07A81 -:102CA000BF89F2A4D23C664A504E846168BF99FA4B -:102CB000A78F419E554277E4C7490D520BB67BE280 -:102CC000C687BE741F3CFAA98BC37DC55F72B82F3F -:102CD000BB7EED9308EF6537AEFDF93350BF02853B -:102CE00020F0DDA537ED5FF377F0CF6F2CFCCBE55F -:102CF0007B18C9855836C0916B4A0CF777D9F7DD38 -:102D000036B972EC793FC99542B33486FCB7AC4F03 -:102D100022F9DCDF08721FDFFFCC1D77237F3D2007 -:102D200099D4FE59771CE5C3311763288F971DF797 -:102D3000C6915FD8AA6524AF2396BC36F397DE0B05 -:102D4000E3BDDB60C9734EA7F41ED6F7AEF98BED79 -:102D50005743FF33A62B8C62D392174E3CBF2BF008 -:102D60001BA92F273A58A6265DE10CF4D0DCA6D883 -:102D7000E4767DC349A2AB6550B2343E9D2BF86C1E -:102D800059C32F047FEA24979CF0BC515B589C895F -:102D9000EE4E09789282DEDEC5FDBE0CE1835E4810 -:102DA000375D4A5C4993D3F0E78A4CA07A0C59FA14 -:102DB000962D76382DB9DD12CBB6E92B90BFFF8268 -:102DC00072B3B92DDFF67C6E0EAB9DFAE9E4F01F0D -:102DD000480E27258207F42FED7F242EC5512E5A49 -:102DE000FB7387D89F4805A3F5FCEA80148FC1FECA -:102DF000FEEA8858DF3E29AE4844AFE6690F8E0BE5 -:102E00007396A7F6FF76B1FFA9FDE3F8B1F095D26E -:102E100073B99B9200428B2F5282F2DAE21F0BBFF2 -:102E2000FD7B7E5482FB57D856DA5D87701E508832 -:102E30007F3FAC3F598CFBF6AE0BF00AFD23871F9A -:102E40000B305F0AFE1621073FE8007A81E712C2C5 -:102E5000599906A780DB857568777B83D4877CFAD0 -:102E60004B31AFD5EF475B66CC44FCDCD12331C49A -:102E7000CFED477A97FD39AC7F753C3B8C53FCAA6C -:102E8000B1387009C0B3A2C7BE9FA7B6DC1C40BA58 -:102E9000F9B02FBF00C7B97D6A42433857275ED5C6 -:102EA0000CA0B35966AF96CC40571FF66D0860FB77 -:102EB0000FD59E1BAFC179F629E1F530FEEA23A5B7 -:102EC000334D4EA744BFAB057E4FAA3D33C7007CB0 -:102ED0002DDF282779F05E9F323B9E417E7E5D523A -:102EE000880E56B7B9655CE748F4F261878B2570A8 -:102EF0001E3541F81CA9DD077D2DF4BEFF81C21BE4 -:102F0000D07EBBBDDD45F2E2F63637D1D3EA0629E5 -:102F1000CEA414BFAD10F0AEDEADD0FB93A644F24C -:102F2000C3DAAFDB05BD9D3C7CD52BA8EFCF80FC81 -:102F300041B93B63E30FB54B000F2BB67079747248 -:102F400077EED27B508E087D798718F7B6B862E3AA -:102F50008F95EDD9B6FD8876E5DBEAA78FE4DF58DB -:102F60008774DDA590FEBC65E3635A88E493DDDEDB -:102F7000440E9B5490B22F4FB0A105D748297AB286 -:102F8000E8E7D636B03703C3EDCD962312D9A317A1 -:102F90006D67B6819D3971B89D69C99108DA67E599 -:102FA000293962C98DBB94E8D820C0F16B57F4B2BF -:102FB000FC72921B0F48B54827FA6FD1AE6431A559 -:102FC00016E5DBC5CA0B5AACC547F0F75E07D0550E -:102FD000067A9D817405F3CCECE9CF48CF33248386 -:102FE000C64BD1CD2D01E25B1C14E068F6985D085C -:102FF000E72530B1B79A4AA6E4F15285FA668419FA -:10300000E8E1D45A297EA894B7F3A13C05B8AE8173 -:10301000E7CD5D97C7B7496817C21FEACF366E770D -:10302000433BD39F47CF4D09CAA2F6D297717F2E5B -:103030000101A055F3F6380FD8598412689F7057D4 -:1030400053D75800CA62E827F3FEF41EDB05488E0A -:10305000C769BD383E8E53A1C4D7A09CB1E878990A -:10306000903B20572B55A0AF66961546BDD9DC5630 -:103070007E5EFBE586B05D7EDC5467D703734DBB97 -:10308000FCBF79F625B6F60B22E5B6F77FB6E80A5F -:10309000DBFBC5D1AB6CF52FAFFA82ADFDD2D619F3 -:1030A000763FE9A7B9B49E35822F4782FB75212F61 -:1030B0007FE2B04FADB2E9FA44CDDBB04F6C9D3B3F -:1030C000FC381427E6B0457D6972C5274B84CFDFF5 -:1030D000009B70FFE04F1F131E437CDEA6BF70B73E -:1030E00066A23B4DF4437309ED2567FB138B619E8C -:1030F000B47EFF26494487E7FA314FCF2F01E4160B -:10310000E0E41C40FD9D2C5982FBE6CE35E8FD5DD8 -:1031100072B200EBBF61437BF3717F7DC962E49FB4 -:1031200066953D27E560BFB0C70DF38135C4DA80F1 -:103130003E5ADA7E741CED38C908B22558F7F812E9 -:10314000C8DFACC3F561D2C23BF0616F28FAA104BD -:103150007048EDFDBF97F0FDF799817A98258B7245 -:10316000D17FC4A9D2F9B069066B457C9D68B4E3F0 -:10317000CD2BD6F17349A676CF31F3B7C8472725B3 -:103180009DAF4FC0BB4D32CFE27C16DCEFE6EA1AB2 -:10319000FB74702B722DC2FD23827B432B4B662B5D -:1031A00023C37D0533DDF2A8E1F09C656656A6E7F2 -:1031B000B3805D333DBFDCCD2AD15E3D216585D72F -:1031C000976239F48F5F03BE8A7DC3177EDC184E89 -:1031D0001753E55C9ABF59D8BB85ED52221BED53BE -:1031E000E621FB95F53C647A50AE0911D7D2269DB5 -:1031F000C4F5B38E4633E949AD9719124B6F776E1C -:10320000DFDBDCD4DE923796DCB2F069C9154B7E89 -:103210005978758E3F929CC1F1D43C843F3A494E17 -:10322000A7131DF03101E131AB71FFAC7D033732E3 -:10323000E6A91E79DF2C3905ED18FAFF23ED17E01A -:1032400089EC3A5798119EDE0D0E2D7D0AD63DD0A1 -:10325000C6F5F5BB458CECC3336D570DE4207E3CC1 -:103260009E0AC44F219F8A150687D6A17CF5A9899D -:103270007E84AB50E82F2FE3FAAB90193BAE46FFAC -:10328000BEFDE4126C67ED4FAED89F66D81FF447C1 -:103290009A7D43C56827B951AF413B37C85D94CB90 -:1032A00085EDEFFF07EAC542875E4448583A1C594E -:1032B000553BAE36D2C7FF6823DA97D6B8D4217D06 -:1032C000FF83DA49C46F61FBE6BB95806D7CE963DF -:1032D000C48390DB68769D9BA714ED5539E10EA45D -:1032E000E8C20997D56F243A61E9F394DBEA644FA9 -:1032F00038EBEEB06693CFEFFEB13CA7D5771E7AE0 -:10330000738EE7A46F271F083C7C0A3ADDC4E9945A -:10331000CB058B6FFFB3E8346AED6B2CF78E23A8D7 -:103320005FBBB4F02C03ED84A11F723BC16D1C4246 -:103330003A8B495995F03EDAA192DD68D915FD6BBB -:10334000FF7A4B193C3F512B931F71623DA7FB3D08 -:103350000F707BD4D2DB51A1B7D12E40BC82DD30BF -:10336000E0E6A507C7F1AFBFB95402B83DC650BFEC -:103370001BDBB71964AFE6D4C5F54628E315873CD7 -:10338000E38C945C4AC6F2F396C37E7D2BD7581625 -:1033900021FB3A3A7AAE3FF5FEC732D74FD34A58AF -:1033A000DE6C182FB9550E3F08FD932EBB1EB3CA15 -:1033B000350AD797492F2B413F78A476438AA557E2 -:1033C000758DF665FEC071DCA791F6017640A738D1 -:1033D000E6393AE478877968FCA4DFAE874E0A3D87 -:1033E00064C1FF09F4EAC262A08FBD5266B83F1201 -:1033F000E3459F030060BFA32A3333B573AEFB1FC1 -:1034000044BF84ACD27C3B2A76CEC6FD8EC5947078 -:10341000FA7E58E55F285C7FE6CC6DC86D84766CDB -:103420007DE67679A2DD63F7652D42FF0A50A7623B -:10343000BC2614D3E7CDC678E4D4BC49E863FF18B2 -:10344000F50FCCBB3B72466FF17D227C14849491C6 -:10345000F1F1A62CF37D74F0ED1E70D7507E262579 -:103460000FC55F5A62EE8C7C6CC929A73C72EA39A1 -:10347000C934595BF570B9628DFB49F519C8872CC1 -:103480006554CA6E3FA7CF2E961E47900325328BF8 -:10349000F665F04FAF56389EFA633C4EA19A32E97A -:1034A000AD994A1393004F1B828CE4411EEE35F216 -:1034B0006D038B030A583E0B0FF8509E046596204F -:1034C000BFD5E9079A4DE8070639684C1F55D65F06 -:1034D00008CF83F357D239038B7079ABC37F9C8FAE -:1034E0004CD2176E81D7686C12C539F39AEC72DC36 -:1034F0008D7E20C847BDC1F17CFE4C3A6F70B3B4DD -:10350000E7B08EAB147FF03498F6AC9AD5207F5696 -:10351000EFBF6AD76218BFE6919BDFC672F2C17B2C -:10352000F2BF0465DDE3BB6EC6B2E4B5E8D84CF18A -:1035300054AB044E61721DC0E763863B67E476C6F8 -:103540007A25827635EC6307D24332569E85F4BDE8 -:103550004AE1FCDFBF400B607C46DDC2E5AA3A1FB2 -:103560009047F4CFFDF4E6943F4D7E852AFC24A5D8 -:103570005DA13842522FA378CBA12DB28625C8D9A0 -:1035800018CE63CDDF2BE2D49D22DEEA84AFB76490 -:10359000A818E5E089F51F917DA8E859E1D9305FC9 -:1035A000979F95101C225ED02CF62FB9B6DE931E85 -:1035B0002F52849FD37174CE80817430A084BD0655 -:1035C000F18D86E346B74C67187F99A58719DA1302 -:1035D0009DC2EF517C26C37DCDD6D94CF46BE195CD -:1035E00016C2FE552C9CC0FEEDFD885B58AF793BA2 -:1035F000F2C10FAEE576C88952BBDC0612EA823D05 -:1036000065B38AD6AB489B4DC1495721CDFF5E2992 -:10361000107295D3EB1BB5531EDB0674F09CDBBC1C -:103620004719F509F8C821D77F006C82FBF6A8641A -:1036300097E75679D0C9476D12D985AAC9D73953AA -:10364000F9B011F5E446B01B0B8DE1FCB2F1754603 -:1036500076E346E0BF586926FEA99650465C2CFFEB -:10366000E4B5E74A18C7F8ACFCF3978A38A713FC0F -:10367000037496403BE651C9E89C02EBFBCEBEC604 -:103680001F4F81D7CF1E58917D0D94DF8B6FBCFEED -:103690001A98FFF6C7F764E33E3FFA2AF0D379FCA5 -:1036A000788B9F9AD1863D4F9CCD586BE727637DE1 -:1036B00005F1D35B0AD75FFD0B7EF7C6D5FF9F9F51 -:1036C000CEC74F6F2B409FD3FE74B6387A1EF9D603 -:1036D0005CC434B4B7A08D89741E0DDA4B9F9A4533 -:1036E000F85EE7E272CCEFF272BB23C4DF3BC7FBAC -:1036F0001BF593C70F16947F763E5DE7333FFA3C88 -:10370000F81DE40EC99B13E3EC7CDFE9E274F72BB0 -:10371000D7275EDF3B5FF81CD607763DD977D7A960 -:10372000CC403F60E20B1E1216AF8EDB780459626C -:103730001A3C0FE5F1F7EE3C929771B46386944A18 -:10374000EA6F326EC737D56C3EC2CF25062B168185 -:10375000BF3C07FE85F6C8753EEE57C0382C04E323 -:10376000AFF6468BD551341EF997AF3EBF2F88F286 -:10377000E5758F5982CF5952CDC5F301CBEE18991B -:10378000DF55763ACDCF7A5A6304C7A94B358A57AD -:10379000A2180B407D6BE9A514A764E1D87109EB71 -:1037A000A37486725C094616931DD2E63666417D87 -:1037B0002B1850B120D12DC94DA5BD37144039006B -:1037C0007609BE5763733D1AFA2FA3640C42337710 -:1037D000DB47E4779F28E6F2B6630AA3739A810772 -:1037E000FE6DA98CF64EBB9BCE2DC06E247E8D0A3D -:1037F000B9910C4E0FB5A09F51A48525A86F8AFDE5 -:10380000E2F8D7B83C313D93D3E3233CDED112E25A -:10381000FEAED3EEDBFCF5CBDE3470BC1FBED6753E -:103820003994AF3FF9F3D72F87776F7CEBB51A8CBC -:103830007BBBEB345BDCD1CD8C37D1DE029F29A181 -:10384000A17C8E9D5C829B99F2EBA418E2275AE33F -:103850008FE37A91B7113FC9290A3F5F84BF10C037 -:103860001710F075074F55D13CB1F7FF2393BCA754 -:10387000BFC9428F40BBCD79F7C7518EA4E69B44A8 -:10388000F2290AF209FDC8A8AF67C91A9ACF1F7EAC -:1038900010FBFC11767572EABCF0D096792D88E7A2 -:1038A000B90B3C3AD2993BB6F96EA473E73ACFF81C -:1038B0001EBC144373B6F9814FDC159AE925FB97BA -:1038C0001DA6FD104D2CB8755020187780FECB56E4 -:1038D000B00CFD0DE88FEB047986F6B6D50FC8D88D -:1038E000C4F59EF14DBF94E2FD225E61F5BB292631 -:1038F000D139C14DE5C006E5C3F1B4C127FFE46B82 -:1039000078EE12537485D341A8220D6FF8678F9B10 -:1039100071BAB86C9F5DEFC2FC0B4BF17D4C217A04 -:1039200071F2CBF8B8BDFD06DFF9CFF587EF27C7F9 -:10393000F344C16F567F0B3E8257CA145FB79FCBCB -:10394000DC5467AFCF1D868FF3C3355DB59FDB3485 -:10395000F8ECE3CD0CDADFCF2EB2D73760FCE6937C -:10396000ACDBC1774F8F31BFA37E06BFDE92BBEFCA -:103970007B227F4BE3A86186E3F42FD83B7F1ED0E8 -:1039800041A1CEED8EC2F90B1B726B504E31916787 -:1039900092D9FE2814FA5E697F49C9417FD4E4EDCB -:1039A000934BDE9A9183E7C5758CCED3A3EA3DB1E4 -:1039B0001C23658FF4ABE55988E7CFDF1EB9DB9B8D -:1039C0009E7793B2471E78D5A8C9608FA8F748267E -:1039D0008C336B09D82355E9F648AB8432287B0930 -:1039E000D823647744DF437C8D6497FCD8B2EFFD25 -:1039F00099EDEA3FA85CCF829EF9A7CFA267C6796E -:103A0000CD7F513F077B605A89B13292810E3F5082 -:103A100079BCC3D29F8DC1848267E7A03755173C1C -:103A2000BFB62EF9128AE30E7D6710D70DEB71B980 -:103A30006A3FFD7ACEA81C9E892ACF8319A9DFB7D9 -:103A400046F057BC9A57D82DF6FDEE5FF08E2EA3A8 -:103A5000FF027E0CFA2F495FD9368C0B9E89A91480 -:103A6000AF53E7AFDC3D17E909EC6C4ECFE7B7AFDA -:103A7000AF1D926D7C3CED6C968DEFEB99FD9C6ECD -:103A800086C77E4ED7A8DBCFE96685ECE774730C5A -:103A9000FB39DDF595F6733AA77D3F73B4EBBFA70D -:103AA0007D1F6A64C44F17B0EF819F6E427A1A89F6 -:103AB0009FAECB37EE8F64D8EF6A8DDBA9ABBD919B -:103AC000054877D30C6ED74563EB291F302F0AF2D8 -:103AD000A694E28614F7B2E25A56DCCBCA0BB4E2E3 -:103AE00059CEF89515F7B2E258528CC7AD9A3DD130 -:103AF00015086F73FB4919E588FE1CCC838C609D0B -:103B0000E30D8BCF7179D0D29E392EE78CBF8DD843 -:103B1000EE53F2D5E7A01FD6E37A2DFD007CFEE040 -:103B200067E173905BDB70BC7F417E1F45F2A49B15 -:103B3000F6AF02708D763AEC838671FA05A7F763CB -:103B40003C4E3DEE26BEBD58FF17131D64D8B42869 -:103B5000F8E018CF8AC64A49BF587C63F189D33F41 -:103B60001EC61FFFD5FC7391FE31F0CFF75CE7D185 -:103B700047C01FCF23BEA75572FC3AF9C1A27F20D0 -:103B80008984548DFB1D4D607B8BDED98B6113E1E5 -:103B90009C28FC9A13A335F22F4E3CFFEFFC1CF639 -:103BA000794F789C5823BE9FD85D10DF569AE23338 -:103BB0008B9FDA3DD11FBBD2F240AC7CC7C31EF352 -:103BC000757C1E52FB12E8AF8466B3F00683F8ECF6 -:103BD000187FCEF9D41766143FFDCC7ED95E571CF2 -:103BE000CF875AA4A1A58CFC56A621DFAA429EBC71 -:103BF00098153D89F86C9E1E29E1F43434CE077087 -:103C0000FDA243217FEDB3F253F348F83F878FE8DD -:103C100090AB76787E40BADC42F9160A69F10D5213 -:103C2000067925F01567E131B83ED8CF7F473CE6ED -:103C30005531899623F8B8D963FEC1F5D9EC0F4503 -:103C4000AB4DF131E0CDA3A15CAC06BC950FC7DB59 -:103C500049175FBF93FE426A5246FA0F811CDD206E -:103C6000A59D930ABC58EB19493E5B749A76DE1009 -:103C7000D2D2D7FBFFA85CB6E4E5E59EE864DC079A -:103C8000B71911F2CFA4FD75CA99E176904CE78C73 -:103C900067C0EEC16E172B5FA79DF5E261099B7AA5 -:103CA00056A1F2DAB37478C2BE78369B4AF36C3E02 -:103CB00095F56773A99C7EF6122A679C1D4D65C316 -:103CC0005900064C9CC6B3A554CE3C7B0595B3CE9B -:103CD0008EA772F6D9ABA8DD9CB393A8BCEEEC1707 -:103CE000A8BCFEEC142A9DF68FB15E25F96DC92F94 -:103CF0004BBE3BE5B725FFFEAFC9EF58C345D93FE3 -:103D0000A0FFBEAA9D477E8F242F80AFEFD3D2E5C0 -:103D1000444A3FDFAF7D06BE3E2EF814F8F73D8CD7 -:103D2000C378C08BA3385598C7A9028666609EC623 -:103D30003E6C025BEA2F8D9CC4B841F3028F1E03D8 -:103D4000B8074A35924FDB821A9DBB6D96F4D15C61 -:103D50001E2413487F3B431A8DB7ED8F8A17F31744 -:103D60005E1A5510C079BAFDB28EEDBF959BDC7717 -:103D70000B9EE34F61E14330DE8A3D7B3CE97EF8F8 -:103D80007E340E00BE40EC69C680AF378EFADD523D -:103D90009CCF3795513C064A3353BED837DDE27C81 -:103DA0005A1D0A219EB6FA64D207DDBA47E4A1265D -:103DB000075AD0CFAD93D9369877C3E877B620D8D5 -:103DC000EAB8B21D6550DF5957E6C54D7AFA950F2E -:103DD00042644FC03B0405CA8428CD1CD89F4E6F57 -:103DE000D838DF799B620CAD4362C5FEEEEA91DB09 -:103DF0006DF20F84903E3A264DAEBC05E6EF9D5421 -:103E0000301AE7DF5E73D4860F45B7C753140C38FA -:103E1000A21F5E97A4B8DA06D9D85106EB0B887CAE -:103E20006B00B33292967760C1A184611D1CAE8491 -:103E3000C2D7C30AE0796E5D2296E4EB3531EEEA33 -:103E4000F32543E82F2A75A729DED6E94F2EA2BA1B -:103E5000030E6BFCDF6A565E00E71B9FE09BE649A2 -:103E6000DF5E4479E4551AED5BB76B6801D6636B8E -:103E70005DECF10CF19B0D829FB7559E3F2EA3FA8E -:103E8000EC70747BEDFEA205CFFBA274C2D1EC1ADC -:103E90001A9569FF3EEDFC175AF7E73D5FE708F911 -:103EA0000397BBEDFB1010F2BC79CAB743782E6EB6 -:103EB000C1D329C13ED47CFEFBD03C85CBEBCF7B6C -:103EC000BDFFD3C6FDBDC6E32AC0A7B3CB31CE38F4 -:103ED000667208E3B53E2B1E1D8E537E5200E3D161 -:103EE000D4CB203DA4EA7C0C456509E44339FBC3EF -:103EF00004EE9352AD190AC9D9CCFBAE8437515E9A -:103F00009B933F2DB8E96FB2301DE8FCD06BC5A77D -:103F10000D7532BF2F81F15F8559E7B33C3E6DF5DA -:103F2000572B648A4753203B6D1C15F4309EE328C1 -:103F300018A7CE1B3EFF7753F4689FBF88C7C715ED -:103F400095FB81EF491C1FB15715CAF7EC7A9ECB40 -:103F500037769C91FCEEAA35E85C6507FC8FFE4342 -:103F6000ACD61747BA551CF978672AA787508E5ADE -:103F700071719A8F9F0F509C1BF314296E6EB00ABB -:103F80007CDF2D40B3C651ADB87CE59A49D8CE6FE1 -:103F900030CF73B03E7F1D4B5C02F006DDAD5B2F72 -:103FA0002FCD100FAF5CF38D2761DEDD4F4DFFD5B8 -:103FB0009350DF25875FAD8376F95FAE23BC3AE38C -:103FC000E1DB2A655347F9E0F31DC27D051B9AE842 -:103FD000E2D61E2986CFB37DBE837CBF5B430AE257 -:103FE00005F424E2C5EBCC8B4CC77719C2B17360E2 -:103FF0001EFCDBBB75DE329C17E1C6FCCA15BDF5A5 -:104000001AEA99E012FBF985BFC95EF756D9E1DCDF -:104010002AF6EF42F4EFCC43EC31E72D42BA3D13E0 -:10402000D418CA9B8D6BAFBE91E4FE76858D2BCDE7 -:1040300040BF8E75756A2ED2FFDD46FDDE0AD41BA9 -:104040000D1AE5F574C7BD714CF1DE5E973A37B1D4 -:10405000D9EF86C6CFB16AE4843B931D2FCEC70249 -:10406000E219739C8375CF96C9AEE9EEE1F358E38C -:1040700075D7BDE5413931D2B84F8F318FB8D19E58 -:104080008AE65DD4BD8BFB36BA385D4FD1E252294A -:10409000DAA3FAC24550DF3C4E267B8809FFAFFB0E -:1040A0005A7E9EF8B066D8EE576C9AB292EC869B18 -:1040B000DCBAE02FB00B27A4EE5B1CF09A2FB8E11E -:1040C000B9FA1C8C04F6C07BB9E11B912E1A831F30 -:1040D000911D756B91AC237DADD8D348EBDAACCB99 -:1040E0002C8176AFDA4A466A136B35F13C00133502 -:1040F00091EEE6C01B99EE45240F75029C73C61520 -:104100004EDA063577512BE5B1341A12F961D70131 -:1041100066501EB4144754A90AFBCD7F07EDBE3983 -:10412000C15219FDFDEB54D6A0A5D9E760171F7346 -:10413000A7ADEBC4B83D41B90AE7877970FE451ECB -:10414000BA4FE046FBF8CA947D3C1111996627FFEF -:104150001A8D4A8C6714257E4F79DEDF4FCA382FBF -:104160007B81556F933EB95F0DFEE52F713FE3CC28 -:10417000E8C754C3CF1A97F8BA26F649DC5B39EC86 -:1041800089FC06C7B7E20113357EBF79730B0BC7F5 -:10419000D2E22A9B9FFFF3E368AF5AF197737977D6 -:1041A000024E0BEE4D12CB223DEF89FEC19DEE1764 -:1041B000B364D9DC099F1FDC19F2E57CB5C04F63FD -:1041C00005FFE4D55678516E8EC57C1FDC87762EB0 -:1041D0004F4CF82F3DDF4711CC170CB7F6CBC6700C -:1041E000B9A4887B5340D712DAB1CE7C2005F37E88 -:1041F000260E971B0704FD5FE211F93F93D964EE89 -:1042000087DBCFAFFC4BB9DE67AD7919EFA17E5FDD -:10421000E8FD17855F9910F71A8F8A7B8B2FAF33D4 -:10422000C8CF7B655D259503EBC2F4FCB57575546D -:10423000A6EE57F179F3851DA662500DCFF97D2CBE -:104240006E00BCFE516B064A91CFEBF8FDEEEEA678 -:10425000535BCAC96EE4E7169B8BAA1385E8BF00BF -:10426000ACF95077F9FA3CFC9E97395859C0D51CE7 -:10427000E2FDBFFABCC24917BAB5FF8EFDF6B156D2 -:1042800086F22E60DAF73B3BECF46FF8FEBB8A2E29 -:104290006EDF7BF11FB08F5FB2F6FD6A7635FF3EB1 -:1042A000C3C5C963E4A34A2107C6003F1D007FDEE2 -:1042B000ADF07CF57C9EE76A8638BF992AAFC7C609 -:1042C0008BF62E4E426C208FE7B517F3F304EA8786 -:1042D00079E5F81EC3922FF0F816CB11F9EF63C5FC -:1042E00038ABC5B813ABE9DE2E3FFF677D3A963E8B -:1042F00096A47A2EF0019641D62A2132C7B041F217 -:10430000B78BA521AA1B929E85F532295CC6FDF0CC -:1043100038E9CF72C5FC7605213F22F3785172311E -:10432000D993A097512EC6D5C822942F1BDAB4304A -:1043300060E25C9E1CDE9FC372435FCD009E7FC423 -:104340006232C91FE53996A55F49F61EE9AF0DEB4C -:10435000F30E6653BE4692F2DCF77B4A6D7A6AA290 -:104360006FE1753AECD746914FE782FE2C43FEA9E8 -:10437000954F07E396647A6F951BFDDAA24C7EFF9A -:10438000C31E49C43392A3290E28F6353E55CE7874 -:104390009F719F87DB358F9666B6A7197B90C6DB2A -:1043A000EFD11DE3265BE8FE8CCEE31B592E93F282 -:1043B0006B36B6F17BFA16FE46835D8BF6F0C6BE11 -:1043C000F9B391BF63952AE59BC3FA7D883F97C8EF -:1043D0004BDE383E78309BC7254A514EF723FE6AA4 -:1043E000D3F0175CD984F8EB7895E7F7823EF7B104 -:1043F0000CF98616FE5C3EF6C54CEFADB26394B682 -:1044000028D3BDE1A31ECB4E4F96723AE1F8CBBA4A -:10441000568D646A9F10F82E2963D1F3E1AFDFA3B4 -:10442000DBC6B5CE7D9511E25D922F4171AE891A42 -:10443000B733362CE678DDF0FC35C7A369E710BF4B -:10444000C421A7A4E2C156DCD8D29BED9EE83F7AF6 -:1044500046A5F425FB3E23B9CB5EF01CC47DCB7092 -:104460000E71CA539BE11CA2E7E2BEEF3256F0ED9B -:10447000A12D47E7E13C7F55C7C8BE0A3CC3E7CD45 -:10448000D5595C2EC5EF149812C659AE89E8F56867 -:10449000BFB9DA9989F9336345DCA6B0BD4F41BA9B -:1044A00008C25E164A78AF2919C3EF998CDDCDC8D2 -:1044B0004F540B67AE5A6F08519A961FA5B0A17E54 -:1044C0005A5FBB663C5E4A60FD14F5C318F13ED0EE -:1044D0003EF3572837C744A294870BFD627EB42F62 -:1044E000041E0BBC9C6F9737842509DA0783498A21 -:1044F0004F3AE5FA18C0CF2569F65B40D4D92A2E89 -:10450000A765F80FF57C7EC42EB7C739EE45071CAA -:10451000792FB95E91EF6EC9ED22BEA913D441394E -:10452000935F9ED2AF0EF8508655A7FA07ACFA6794 -:10453000840F0881E8D98207AF52A2DCDDE3D2BF45 -:10454000F214EAE77A8DE79189FB72D902EF3E74A3 -:1045500098A1DDC094574CDCD71D61FE5D9A3353A2 -:10456000E7911F9A5D67DDA7E3F795A18C619C2E0B -:104570005BCC6FDDABCB66C69BE5400FD96692EE98 -:10458000D5E9D677154C96C03C1CDD27531E9DEE11 -:104590008B907CEA59E0D1F13B1F9AB8A7E712F75C -:1045A000C7B3CDD374BF2E7BD8FAF8FD3A0BEEEC2F -:1045B000ACAA37CB0DDB3CEB31BE0D6B1F9DF17E02 -:1045C0005D1DF793B24D1E87481B9FEED7ED985A9D -:1045D00066BB5F47F3A01F27E8CFBA67E784EB5CB1 -:1045E000BF9ACC76DA84B0DD8EB8D0FD3A57C8DEFB -:1045F0007EC705F2B33EF1FD3A818761ED1CF6A05E -:10460000CBB24347C90CF7EF4C834CDF11C9FD28EF -:10461000199921515C82F4BD65E7E5F1A1FEDBD972 -:104620007979565EBFC3CEB3ECB7DCD9767C3BED6F -:104630003E775584FA5CAC9DB70BFF01F4F290D73E -:1046400061E73565A60FA7BCC86783BBAF84718ED1 -:10465000D6FE48C17CB55DB9FCFB476C987FF0D6AF -:104660000CDA171FFFDED1AE29FD2A7EFFE6774B5D -:1046700019D949561CC12D60DE5524AFA7B07BD790 -:1046800043849FA0C043137E80AC8670151F477C77 -:10469000667A316F21BF8951A3C28A30ED3B7E9685 -:1046A00040A64B5B3115F5783D62250D4F333CF646 -:1046B000EF0434EAF98E7DB4EFF3B973F007F9F73C -:1046C00014E618F67DB7FC24346771BEEB2BED744D -:1046D00070428A0C2AD0E5E9AC5261FF0CEAA82F9F -:1046E000BBD7BAC86E7C6849D9D62BD15F0DCA3A00 -:1046F0003F8E1C1A87F651F351D38B76DEF6C874C1 -:10470000EF3878FF50871246F3F0A9256B5EC57A23 -:104710006CB78BECA0A7FAE615AC48E3BBCDBB1792 -:104720002C5C8CEF3B5CA4DF57ECB96FA03488FDA8 -:104730005DB5E9DF9B6AD9789F8E7EDB1BB5DE8C89 -:1047400076CCD559DC2ED9A82529FEB4719EC6D0C9 -:10475000E5DA58523F7A05DA0FD76819EF93DF95FB -:10476000E5E6F7F95CAD12CAF7C268E67B0156BB15 -:10477000B135BFA5738CE06C99A11FE7BA7E9E8C02 -:10478000F587605F7529454F79829E3616DDBBB58A -:1047900002D73790F9DEA155AECD1AC7E93462E7EA -:1047A000735761D3685CB7CB1D19A847E22A94758B -:1047B0008C8BB8DCAD919BD11EBDDA8514CE3677DB -:1047C000FCB06111EE4B58D2259827A84656119D92 -:1047D00005B318EA8386259156C44B21E83F0CEDBA -:1047E0001516FD92CE290AEB34E685BA67494FC209 -:1047F00005EF3D15D1AB10EF2FADE5DF79290CFAB0 -:10480000E85E5061849FC315B6BB199A0C1BC105A5 -:1048100076917F20519CC8C947D6BA9A977239BE03 -:104820007BED6F4765FADE4C455619E1D56BD8D75D -:10483000ED41BD0BE34C35079710BE6BDC2C4EFCF5 -:10484000EB26FADE55EB22B8764D39F91584EB7775 -:10485000BFCFA2FDBE969912C2953FC4CF59AD7984 -:10486000F29B06151E0FE77CE8E43B8B1F9CF0EDE6 -:104870009C3D8FCEE336B3C1F988EFD85999E868EB -:1048800073D11A6F7A5CB455D01FEC03C99798CED8 -:1048900068BF957F65EB311F76E3172395C81F6FBF -:1048A0007BF9BDD5FB966AB48E87E66A146F7CC827 -:1048B000DF4A747F6AA32B7C08C151F585B89FBB82 -:1048C0008B2BC2186FFB3B3C7C4EF30F768FFA525A -:1048D00025E2F38B7FC8E2E34C51AD717E46F45E76 -:1048E000EB25386728ED3F5B8176E8127932E54E9B -:1048F000AF5A42F2CB25E4F8CB4BF2EAD14F09DCB8 -:10490000B09C7179C8E31481B5D5FC3E8343EE2792 -:10491000EAD4DD33689778FCA75EC8BBB1374CAFEB -:10492000C775D60BBD60AA99BFCB982BDA170E4579 -:10493000D0241B16FFC915FA63EC6EC773A117725A -:1049400087C5C1072B6E06F9F3A52C61478E10F7BA -:10495000D9B5641EF1C319E0078A4B979C24FA8FDE -:10496000819C40BBF90D29195A91761E667D67EE30 -:1049700027221E14314B294FF82D110FFAA9F8EEFA -:10498000DC3B221E745CC4837E2EE241FF80F1205A -:10499000FC7E98F772DAB771751FF5631C6767CDF7 -:1049A000028F01E34CD5075F4220BF680EFA44FE38 -:1049B0003DC11BB4F4D0DCF3C7A91208971BE35226 -:1049C0001CCE97C5F7E85E11700D08B85E137059DC -:1049D0007A10E506D2191BABEA99E461506D95F0A7 -:1049E000BC17E5457F90E405CF130FAE918C09C34A -:1049F000E5048C373ADD4EB7E8EFD4281FD1B17308 -:104A0000FC47B3F8BDC397D6CEDACF8269F228B29D -:104A10007015D25D3EEC0FCAA3681397E351BC77C3 -:104A2000912657AD781AEC4898F4CE0D1C4F23C947 -:104A3000970BC99542875CD98D7205EABB51AE04CC -:104A4000D3E54A6B3FAE3B887285A5F45030F2C97E -:104A5000E4CACFBC65B63889255FAE0636263B3141 -:104A60000CFAD4FFE9F5E9DB424E5C48AF5AF91F76 -:104A70000193915EDF837921E8CF8C67740F473112 -:104A800007299F28B7DDC5301F642B76198DFECC12 -:104A900042CA07D931DFA3235D3C2C254288CF7D54 -:104AA000528F97EF8BDE8FF6C2B6093C4EB2E38F82 -:104AB000F778D1CE7EE9F682009EE3F4E65A7920BB -:104AC000FAE25BA17EAA91119DACD8B3C296F7F031 -:104AD000F3AC3CC2476E0CE40FE0E3E1DBB9FED17E -:104AE0000D9E070265C63C10B74FC483D45808E931 -:104AF000639B14F5501CA651263DD51BE6F92BBD32 -:104B0000E097E3F9606FC3CE39A89F37DC2A33CA38 -:104B100017AFECB907E54CC7848506F2A56B74D9CD -:104B20009B688E6FF0C9DEF43C523C4ED0AAF9B9B6 -:104B3000A128CD1C0079B3D734CE777F54157E1FC2 -:104B4000F6779F270FBE3337341AE304BD8D0B432E -:104B5000386FEFA848288FF253C6903DB071D4A6A5 -:104B6000C5187FEA58AEB1743B69D87C41BB7D6DF6 -:104B7000C519D5069E3FD22173FF32579C4F035F64 -:104B80005522DED2D78970AA26CF1FC1F52A7CBD57 -:104B9000F47DD3DC06F00FABF8FAD17FD57DFA684F -:104BA000941F6A03CF1FD9ECD717A3DFE884C31A79 -:104BB000FFDA6CC9E61FE956DE42FD1A7E8E58C444 -:104BC000F3167A5DE7CF5BE810F2D0F21B47C2879D -:104BD000CB714EDDEBB5C7012D78AE14A5138E91C8 -:104BE000F2053EEDFC175AF7E73DDF4879046BB25A -:104BF00025DBFD8A5C2B9FA5714D08E58405CFE67A -:104C00000BE48F7C5AB89A1B79FBCF7BBDFFD3C6D0 -:104C1000ADCFE6FA11F87400EF51764C9C19423989 -:104C2000948AC70C0D94A33D27EE335AF9232E9D89 -:104C3000FF5355F977EEE4EC22FACEB23A9DE78FB6 -:104C4000D05F863C904D8CCD467F4715F11B279F4A -:104C50005E087E67DEC8CD3EE137461DF3893C1114 -:104C6000E6C83B51433CBFC4CA27E992607DC154AA -:104C70003EC888F33AF0365EC8FDF71CFD87AD3BB1 -:104C8000CCEF575AF927C3F248A6CAFB710B86E549 -:104C900091887C949E5C23CEF3C4795E09AA4D8CE6 -:104CA000E70DCB23993A3D84DF949C5622FADDC070 -:104CB000E8FBBB3D5E5EEF9DC3E2F8BDB35EAC2397 -:104CC0003FD532CA6B19965F32750DE14963916524 -:104CD000FC7C879FF75B7870E6975C90DE2E9047B0 -:104CE00012F459DFA388D03C3DFEF04FEA083E990C -:104CF000CEE30BBE743C9C3EFE253E2E277B441E1D -:104D00005E4FAE3D1FEF3EB12F15A29D737FF52282 -:104D10004ED75DF53AC5DDDD0D3C5E39EC3B103517 -:104D2000767FC019CF3B21E4F585D6EF8CEB6D1B68 -:104D3000E1BED9021FCFE37A68C921CA8B3DB30A0D -:104D4000F42CE0EB61CC67A9B9F87C96D7B3783E38 -:104D50004BAF51BFF052D463518DA13CEDC57C16D1 -:104D600078BFA161847C16114FB4E2A323E5B3E4BC -:104D70009E3B8FB7E7B3F4DECAF3597A7BF83CD693 -:104D800078BD0DD564678D34EED3634CD987FB5F56 -:104D90007171E7A7D34A227F86F92B3DA59AFEA021 -:104DA00081F4C2E9B9AB5123FAEE72713F36369AFB -:104DB000FBCD4C8D8716429B2DFEC4228A278BBCCF -:104DC0008C5E717FFEEFB30C9B7DDCD9F8DD10DAD1 -:104DD000F540872FEB9C4F689C7CB5743DD880CC08 -:104DE000ADB798E8530E64F338822B746CA02E8D07 -:104DF0004EB7087D87F891013FB9D2397C45E5026D -:104E00008AEED3DF1A419F6F64F3F92D3A64EAA466 -:104E1000303FFF631528472CFF75583B0F6F374C09 -:104E2000FE38E4480FE6B761C592273758F2C44E02 -:104E30009796FC600E39734E9ECCE176FA39790272 -:104E4000F2033F75E69443BD5EAE2F2C78DC2898C4 -:104E5000418EBCE70ADBE2344EB973213EFABCE571 -:104E6000CE4BD9F9C2FEE0722788B4817C936D9D48 -:104E700023F27B0F67A63E48F2D0A3F2757B228C0B -:104E80007E2700EB28CF3D788E9251AE574B146FA2 -:104E900010E722F9E2FB830FBBC2949FF630F03398 -:104EA000FA79130CA77D76FE7305E779D2C36BBF41 -:104EB000C6FD33C037FA5D172B872C39F161365F99 -:104EC000F739FA32399C167DA5D1337D5FC0A25FD8 -:104ED0006B5C8B8E193268C179E855D03586A32971 -:104EE0004E1D93E21807B1F2C8ACF1DEF0717B649D -:104EF000A4FB5556BBEF587ED7B978B01ED0299F7A -:104F0000AC87EE9BB32E4E7F73D86E754D15E513AF -:104F1000A88CF2092225E8CF1CF6D9FD622B1F6C64 -:104F20005A493884726283B0D3AD3C322B2FEDB036 -:104F30002FD73A67B6E5A76D18E17EF69BE7F073C9 -:104F4000F1DF3FC1EFB6ADF69A8FA35C047C99E226 -:104F50007B4E9487668DFB5D81A7D73DE693BECFE0 -:104F6000707FF2C52C7BDE55A7CF70C405385E2755 -:104F7000EAB17ABA8F17E5F7AA9CE7EA23DD7F75D5 -:104F8000DEDB3B77FF559CBF377BA22F13FC2FF254 -:104F9000FC373D1C3DD8C93EBFF51CF09A3FC1F11E -:104FA0003B057F4F0BF27B3BEF7BA26FE3F3EB18EC -:104FB000F7AB2D3BE730B683FEFE97416A03BD6C2D -:104FC000AAE5F45A54C9E8FBE3D35B797DC752FEE6 -:104FD0005DD3FED7F9BD8F6D51FE3D53E8D7270352 -:104FE0005E768CE7FA707F15EFB71FEF37219F567B -:104FF00070BB2B0FA3F70A8AEB2895D36B7ABC13EF -:10500000E0FD81A532C545F708BE083093E21CDB00 -:105010002AF93CBB2AE427C4F76816DD02F5CED98D -:105020002B27E3FD92ED229EB26FF1CA2730AFEF3E -:105030008340B9A0BB04DD7BED397E1BC5471E5AFA -:105040009227AD8435EE3B9839BFA5CAAF8A7E3131 -:10505000B788278932A161B9D51479ABAD4C7C8F63 -:105060003DA661FCE999419EB7DABDFA99633351D7 -:105070001F57CA9467D63578D47B19AEBB8EE7F537 -:1050800014A90929DD7FF1FA5DDC4EAB39EA31AABA -:1050900086B77F66F028D1DD76C0BB92E6FFC902F5 -:1050A000CE6EF427A0DF5E57CFC04C68B7775C9E0A -:1050B000143352ED46FB39FF752F91C577E8197D02 -:1050C000C7A1D33CE541B9D989E71FD0BEBBC6CA49 -:1050D0004BEDA17B597BE74C9E8379E2DB6EE0C10F -:1050E000D2AEF021F2937B6673BB6CAF04ED605FD0 -:1050F000F6B568D7D33DA6561E278232639CA81703 -:10510000138111AFE2DC8E525F60DECE86BE019C61 -:10511000A7A88E7FDFA2A82673FF17026EEABFCF73 -:1051200015A3F8E748FBF7AF3E8ECFCE2A7E5EC0D0 -:10513000589CE252BB85DFC5D4A891FE9DD0960055 -:10514000C7CF4E1733315EE6ABD348AFCB6183ECAC -:10515000503FD88F188FDB26C516637E486C92C6E9 -:105160001E278C98DE7118BF9B901746FADB24250A -:1051700042F85DE5D8381EDF3E1AD949F7AE0E80F9 -:105180001D4DE16096203DD51DCDA3FB504723D595 -:1051900083D4DF57A1BB2D8D8279F3F4A148C626B5 -:1051A0005DB6692BDA359D53641DF3363BA5FA28AD -:1051B0008E17CBF5501CD935651EED9F6B549E9410 -:1051C000AE8F6EF473BD30342172A31FD6159A7260 -:1051D0002A17E396DB6B5FD987FBF7C8FD1EA2A3F6 -:1051E000476A07EFC679F69FBDEA7894F8929FD791 -:1051F0003D5A7BBA14ED9E5D4DA772117FC5189F75 -:10520000037D585CC1E368A801C93E537BD8CD80BB -:10521000C7E2368D1969FAD8CBF8791EFEF92693C4 -:10522000DCA3BF67064F795A70BC252C7169809E3C -:105230007B309E65C999E23A96280079B87FC53BD4 -:1052400031CC937B646201DDA32C12EF4972C278EA -:105250002562BCFE375E598FED1EAD2E30505E14B8 -:105260000F0CCD4325515C759AE26C21EBFE47D4BF -:10527000D87F2BD1A74CDFA92C0EBFF317B88E8097 -:10528000AF8FF41CB4A7B899731D8189E67D7EC0E9 -:10529000E337A5D657C70553FE18FD213FDECBEFF8 -:1052A000651767FDC35C252DDFB644C40536498309 -:1052B000B3C92E7D80DBE163599CE45C7155EC6ED3 -:1052C0009E6F1BA57C5BE7BCDBFDE7F4AB44F7A856 -:1052D000F39BC4BD12FE3B3625E2776C9C741F0A1B -:1052E000E557755C95AAEF8B9E22FA7F5A33EECA7A -:1052F000F4BD877D422E6C12FE9835FED85C3EBE12 -:10530000557F54E7F4F8F4CB79D757C17AFEAAADAC -:105310006C12C63F778CE0C7AD0C70FACB1E000B49 -:1053200007F440FF6BAF79319FE56999AD4239557C -:105330005F95F024AB041E617CF2C560FC03E16F55 -:105340007B502E7D35504970AD98CAE3069D550FB0 -:10535000D2395048E77A07F913E5BB2F149330EEA2 -:10536000BDBC86E98744BC2506F8A7BBF3324BE5F4 -:10537000F56FCF253F077885DFABC1DCA4C9E2F725 -:1053800027CAF19C68D3DD227F56467C778A7980D4 -:105390006F699E0345629CFBB8FD8FFE05F62F17D3 -:1053A000F394D77DF76BA8C78B744E1729F8FA3C96 -:1053B000045FABCC083E35F12AFAA1DB271518486B -:1053C000370742E1B79BA0BE7C914AF1F8F21A0E72 -:1053D000C78156997E0FC85FA71DA4FB6326E88B83 -:1053E000347C1962DEA29A8484E75A462B5F17B494 -:1053F000F3A25C34C2000FD40DB1AE73F04FD208EB -:10540000FE22CF20E6169DC3C34A1C0FE877651D18 -:10541000EFE70FF56D4139B6BC8EC30DFA9DE0295B -:105420000A6B0751DF1785F878CB013F87A4145C1E -:10543000D9165C7532E55F15D56807D10FCE16F029 -:10544000AD0C7378FA5F3F3520F1F10C1C2F5BC077 -:105450009B2DD64F09BB05423FC0784FB912F57856 -:105460002FE7D414661CE2B3513CCB7ABFAB15F0E6 -:1054700000F8F18B79D86E37F1132C31F6B1CC7F6F -:105480003FC4488B5B54ECD66C75BFD83FD6C59FE4 -:10549000931F472A91D765E1D7ADACB2F763356961 -:1054A000F532BC5FC6E97DFDB5FCBCE3C0046E1FF0 -:1054B000A1DF718EBF91CEA7188F7505F1BD46FA99 -:1054C000AEA4DD3E6E716BC174940FC5030FCF9314 -:1054D000613D45F73259C9217A96CEC93F98EFDB35 -:1054E0006B12747F367B209287F2AEA4356F3A7EC2 -:1054F000FF2D7B204AF5EC815693E79F810B938724 -:10550000F97A69F394A29CE6F974AC55EB43B95669 -:105510009B0E27BC2F79B9672EF6DF7CF72BA39162 -:105520007F0B1CFD3D39DC7F287E195A0570FED3A8 -:105530006BB1BD15DFC94688F3A87C19CB621FC8C3 -:1055400063284B44FE9D252F3A27BC3329EA13F4E8 -:1055500043F9782C916EE73B4B683F5EB48F49E787 -:105560006D779ADA8D146F1A08F0785340D8AB3DF6 -:10557000CCD84FFABD86E77BF8F039E88FBE9AA306 -:10558000D3693FFB5818E9B9B8ED4FEE74797D73D4 -:10559000A054DC834E10DD6B255974BE077C4CDFB4 -:1055A000373DA0B6D2396B5F113FD73C3AE71509BA -:1055B000F159F41CCFD3B6ECE5E93589103EEF7A0A -:1055C000357A19F1E708F6A7656F3AD77349FD8375 -:1055D000240FC6469917CFD7FCAB55CA632D890255 -:1055E0005C55281780A40B01FE9AD87AA41B23CA05 -:1055F000EBC66A51AE82F26AB06FD70D94FFD295B6 -:105600001A776B05D8B5683F0DEEF6DC80F64A2BAD -:10561000582306DA8BA73CF83D95EED6E9F988E7E2 -:105620006722967D999070FCA29F9A642FD6EA9A81 -:105630008E719809EEC4E8F473BA0373DEA9A6EF7D -:1056400089CDBFB87CB291F409C222A7E991FEAA24 -:10565000A3A45F9EF08F273D64E9154B8FD088206F -:105660005F6E117CD465243C12C92BE05D80F3167B -:10567000942340C7FE222ECF410E733967E993BBB6 -:10568000B9DEB7E4678518E71694B7D0AFBBF689E3 -:10569000DC1B50AE0839EB0F1933F17CAE42C85712 -:1056A000A6C6249CEFC014FEBDCA80439E56B4F229 -:1056B00071BA428CE809F4D041A49B034509BA278A -:1056C0007EA0F5A8947ECFD4D27781D624C3FD1FC7 -:1056D00057C7E5E0382157BFE337387D7AB85C3DDE -:1056E000A7F784BCDD6A1E65E2BBB019F3B0FE5EAD -:1056F000E8F39E8A43E4176CBBF514E1D38A8786EE -:10570000443CB4BBEA2D7ABF3DCAEF01EC32A7CFCF -:1057100021F823CB35CA3FAD393AA70CFD8DA6E55C -:105720001ADA75270305D6F9977721DA93ADABC856 -:10573000FEF5897D7C28CC84DFA9919F75DFD26F2F -:105740000F60FF10F84592818DFA3C6EA473FC9EA9 -:1057500002E23B3A489D7D35067D07C2B98EEF05D2 -:10576000F87769FDD1E4C038DA5799AEF4F86A18D1 -:10577000F99DCBC1AFC36177AB61EF0478BFBB4983 -:10578000D6D7B354FFFF15E0F96813FDFC9EC2CED7 -:10579000C5A7B7609C6FE752F19D3307FCF735F65C -:1057A00079149A07630294C79CF17BFB55FE2CFE8B -:1057B000FD859ABE01B4E703551CAE170306C7FB6F -:1057C00020C7634F44263EDA3558ED457DE7B41BCC -:1057D0001FC97E7712CF6BB1EB9B0BD58B1D727FF0 -:1057E00082BBEF3A9277DF94495E31C6E59DC4648F -:1057F000037F57A325C0E9A94AC8EB0E57623FE6CD -:1058000015743CEB63EB8D145D1489313B5BE58CC7 -:10581000BF9F7628A0F0FD1FBEEFDC7E10FBFEA42C -:10582000C0C385F61FC32C684FF7C5378DB903E594 -:10583000782BF79FFB126F51DE51D1EC85E4F71CFA -:10584000397829F9034555A6EDF735B347F05B2BB9 -:10585000723CE78D078C248FF7ADEE203F7BDF6035 -:10586000E67B3105393C2FAD0FE4257EDF64A4F9DA -:10587000F51CCE7FFF14107437E71DFA5E469A9E22 -:105880007D59E859D2B7C52A8B2969790E1304FED0 -:105890009CFA93A971CFA53544E784BF7DE2FCE271 -:1058A000215326BC5B748EE7078857588729E890F8 -:1058B000CE377A58DC837C136BE2791E4EB827F81A -:1058C000E58B5A5F3087FB21E7E613FEFA443F87FA -:1058D0007B67EDFD74CF11E60B217D483FF88FD338 -:1058E000741FEA5917FD9EED8C675D098C69DD799F -:1058F00090FFDEA2FCA297E0FCE7C3FCFBEA093FB5 -:10590000B7C77EADF3DF2BFAAA7BB0FB0B501F7A33 -:105910005661644FC6417101BD9E16F4CA9EE3F5FF -:10592000955E5EBDF360FF321C6FD5733C0FF3CE06 -:10593000E76FBBF10B50BF6DC0457706EE7C7CBDB9 -:105940003606EAB7C7A53EACFF663AA3DFFB8CE597 -:105950006914E7FA4D60B06001E0FB83751E665C78 -:105960008671D2C182F980873BE24FCFC47E773CFB -:105970002585916D673CFBF82BA301AE3BBF215100 -:10598000FED7578E64DBECC2D3B09469F07ECD4174 -:10599000FEBB91B7B19E99888F3B1FEFA5DF3FB447 -:1059A000F0F9C1BA4A66A4FD6ED89DDF789A7ECF21 -:1059B000F0AE6F49F4FB8A77C9FC1ED13F3FEF5D23 -:1059C000F4980FD7B75EBBD48FEBDAAC61BBDBE2E8 -:1059D0002DDFC594A63BE207B599F0FE8E0307B50F -:1059E00095E897B95933EA9FAF1CB9C226774EEFB5 -:1059F00053C83F5893EBA1FBF5CC6786E64D18BE24 -:105A0000CF1FAC6336B8EEB0E2046A5C9B9BD6DE77 -:105A1000A573FFF72B4714DB3C961D103BC6F542E0 -:105A2000EC6FFD143FB7F66F8DF0BBADFD5B63050A -:105A3000E2D5A1C999E0E9C6FD00787AD6E954EE2D -:105A40005C17A272F73A83F6692FE211CA2E01772A -:105A5000602AABC7EFF3074C9E769CD764D6E3DD94 -:105A6000B2BC08AF172C89921F32921D63957B5DE3 -:105A7000D116F4213B77F4CF52C1EED9AB45EFC636 -:105A8000C897DEF1EAAC06A8FF4D4E64630EC99BD1 -:105A9000B0817C67F9E75FCFE17277D3688DF0BDA5 -:105AA00077E9E4C714CBFFC2B8DFD2954FA03D0120 -:105AB000FDB7E710DF86E93B5D23F52F585667EB0E -:105AC0005FB06C95D57F0FF5F79CBFFFDE65D7D82B -:105AD000E75F7687D5FF1182DF777EF80B9AA7DA2A -:105AE000E76F5E4DFDBFEAE6FB3B94EBA17CFA0E4F -:105AF0006F38E122FF99D1F739D4BC4B0FD1F7931E -:105B0000CEC599064DD4B3BEA772AB518EA5E86839 -:105B1000FA37711D7EE0AE743ACAA9CBB2F155AE28 -:105B20009967ABE7CF1E636B3F2A52667B5FB8E88D -:105B300072075DFA74CA83655C9F9A18E70438B5EA -:105B400031FC7B4DF5633CB4BEFB5FF452FDFE6B54 -:105B5000F8FAEE1FE3233E26DD05FB7EBF16BD32BD -:105B6000DD3E86754918F27A468F0EE4D4A63F379B -:105B7000647C9EA5F0DFB1CB72737DB9B974F2631A -:105B8000B1347C6E29067A80FADB399A2DCEB3B90E -:105B90007865A8256D9E4DC5DAA24355FCF92D68A0 -:105BA000C7EB91BFC3F9BEAA0D5D8AF6AB731E7732 -:105BB000599D6D1E4FC92A9A27E998C75DB2CA310F -:105BC0008F67D121F15CCC730AE964A47936975DC3 -:105BD000635F4FC91D34CFAF719EDAB4F594DCE139 -:105BE00098278BAF079E8B797E73DEF5944FB5AF08 -:105BF00067EC6A9AE7DF1DF3B8C7AE76CCE3A3790A -:105C0000F039CEC38AB81FA5B98756D2FEFFC0CBE4 -:105C1000300EA4B9A37F4D9754FEDE4B71616865C9 -:105C200062BBFF03D8CCA6FA008000000000000091 -:105C30001F8B080000000000000BE57D097854452B -:105C4000B670DDBEF7F69274773AFB4208378010E3 -:105C500034C40E840C203A0D41061DC0E00A2ED03B -:105C600061C99E74449C87A34E1AA28888DA286A68 -:105C700050601A04071CD0C0040810B001757006EB -:105C800035BEE7B8CC82CD2241884983A8F866F1B9 -:105C9000AF73AA6EFADE4E079837F3FF6FDEFBE3B1 -:105CA0003753D4ADFD6C75CEA953D52427819051BF -:105CB000841C8CA3E90842BE89715FEDB012F23DED -:105CC000FCFD90D03F2F21C93C4D21642EE17FFE89 -:105CD000C5022924A4D6CCB273364FCD5A08694BDD -:105CE000515A4901FDC70A9BF30A8590CE9622E3DB -:105CF000ECDC707F6A3AD7279F0CE6B0B6DF93F0F2 -:105D000038DE7124A78E8E5F16E7C0F9A8F993F5E7 -:105D1000346F22E4583DC1B45D26338BE9F713F5A7 -:105D2000740283B5F35D88ED4E4AF49F49345D25D6 -:105D3000F8BD025DD7F20F64320087F93087AEE319 -:105D400076BE8CB9BE5842CCE179784CC405ED42A0 -:105D5000BB4CFE75027C75F531A4D1A43191107550 -:105D6000BEFD09F9D3BEC96F0B76CCF6318C24E4A5 -:105D7000CE255BDF826A1F09257DE7D1F54E6B5E7C -:105D80002EF7A1F94E3938C369D5F4334D3E06EBF1 -:105D900036D3FFA09FE96E9AD78C7F57B93E7F0F0D -:105DA00091C2F96C42AE72F4E7F8E0E32A7E19F092 -:105DB000753B5D533A45E13D900E836207E26B8689 -:105DC00083B555E7E379502601988F144C26B950D6 -:105DD000928CF5DC504FE939BF19B2D9554CF139E5 -:105DE000E30111E11839DFE0BE5897218FA68D5FDE -:105DF000C9A4FFA5E73F7381BE9C78D9782A5C557A -:105E00003AB863DAD8674F68E863BAFB86674FE849 -:105E1000E0345597BFA76EBAAEFECC0525BAF21294 -:105E20006F85AE7CF6927B75F9B9BE0774F5CB1A17 -:105E300017EACA2BFC8FEBCAAB362ED7E56B9A5606 -:105E4000EAEA7B5AD6EACA0DFB86DC44281C1B7E94 -:105E500027121385E3D7D6934F5D9304A9E404B8C2 -:105E60009FAA4F43BA3E5DAF605A0BB4370AF8673A -:105E7000B8D94DF1E48909959278421EF68D59B250 -:105E8000640CCD1B69F9684AEDBE714BBC99842C3A -:105E9000712848F762A3910428A90A24A19BAE4364 -:105EA000A2A63C7889F246890486F72C1783D1BFD5 -:105EB0007709A14119741DDE4F4D6483D093CFC380 -:105EC0007C49FA90B4DECB3B0CA4BC49237736382E -:105ED0000C389F64C7B80D0E4A0FD546C6EFD5DB08 -:105EE000D2C7113BE40383EAAC1719AF894E2615DC -:105EF000FA61FC52E1EF13E65FC4DF001DDF0F8E95 -:105F000073AF77D0F13AF68BD3601E247030EB96E6 -:105F1000A130BE6B037C272DB49374CADFF5AE6746 -:105F20004F5C41C827F51331FD7D7DF1B3276442F5 -:105F3000FE583F0DF347EADD9806EBCB313D565F47 -:105F400087E527EA1760FE64BD17D353F54B303D54 -:105F50005DEFC3F28EFA46CC77D6FB3155F980CA95 -:105F6000A399C5C0A7C5C506E0D37916C2FF58FEE0 -:105F70001C5F8348FFDD867CED4C03BE3E67FD66FB -:105F80005006A5B7739F5062CAEE1D4E9174D73B61 -:105F9000FE5C06C05FA99F124F62CF724B0CC38F8D -:105FA000C54026122A7F1EBFC248243A7ECC1B570A -:105FB000AD13B3F1BB04A443370EE7545B94FE0763 -:105FC00012C4D7A5F0A4D63FF9E29F0B67E5027E85 -:105FD000FA239DC41C14EB18DE5E7602DE2E053F0C -:105FE00089F357241C8537FE9415A4F5BF4C56E160 -:105FF000D99645687A8BA3F814D0C1B96613AEEB75 -:106000005C6BAC9F401F8E24A48BDEE1C6E651B5CD -:10601000D1E2D3CA879AA6789F5E5EA4FBB4F2E26F -:10602000DCA197EDC0F7F3D244DF89E1401F2E4E8B -:106030001F8CEED4FE6B9AB27D565D3FFAFC399F01 -:1060400030B109E5BC1277EBD0DEE7392FCD88E31C -:106050009CDE38200EC63D5D6FF6C1381DF50E1F63 -:106060001B37CDA7A5CBEA05B1BE1389E1F9F5D65B -:10607000EF3F7B7E843493E36682A0FF7E40EFF5A2 -:106080007BC58774DE580CF4D12A7F03FB4E4C8EFF -:10609000BAEF489857FBF534895ED3D5F07DB36EDF -:1060A0003CDA4E39A9E2A9FFC5F02E9193EA3AA94C -:1060B0009C1C4A6537D0292566C4B39BF61847FB5C -:1060C000EB92AC4B043A8E295EC1720F0C44E9A9E5 -:1060D000C61C34BA1504771BE859B346AA7CAFDC5A -:1060E000F1074A725FFC56264BA1FC2FB4775A2E5B -:1060F000F3D239A4D84EE878B39AAB26819CFC62DF -:10610000C78FB99EE22B84757F490C13814FBE2443 -:10611000FF6E1FAED1CBA6C41BD9FC96B0FDD94BE8 -:10612000FF83F5513D4DB75F9735EAF3A5E4E614DB -:10613000E087D21532F1D3B957C07EAFAE9BF2FDE6 -:1061400075F14C8F2B23758B414F592A936980EF42 -:10615000590E22F5A172A266E7EAC2129ABF2DDE9D -:106160008074759AEA770A954315094C8FA94CF209 -:106170001B5DB4FC78F3F0DBAF21D0DEBF18E49AEE -:10618000D7469C1B484FB8CF5EA29FDFA5E61F39BC -:106190005F4216E17CD579A8FDAAF310370A2E7F5D -:1061A000147D7676BC10D693697A5FBC5E7F5D0005 -:1061B000798D7EFB70447E51445EA51399D3892965 -:1061C000DEBD203E19E8223401F53442E923375C74 -:1061D000CF18AEF7F0C5EA99A09E88F5165DAC9E83 -:1061E00025DCDF63D1EAD5ECDCB2C34BE9A9F2F5DB -:1061F000E7EC84CAF32F245F8A937EAFDEF0A81DFC -:10620000E0744AF2DA01DF5FF8C589D1E0B5AF1B6F -:106210005E2EAB007604923685FBAB4F4C013DE918 -:106220009B0DB243A4553C1B4D0113A5DFDAE68A52 -:1062300049240FF34759FEB1B322E45BF4F8ACFCF8 -:10624000C573298A0DF1C0F46D1240BDA376FDE738 -:1062500013408E7B4808E930B21D8C7F2101F9BEC6 -:10626000C418D7B39CCE13F5640FE7334FF313670D -:10627000453BA437B4039F7922E8A8BC7B7F091A69 -:106280008BE97C5E8FB7259DBC8A667F407E00F2DD -:1062900040850BF133BDA261D30B7947E9BC3AD6F7 -:1062A000FFD62EE46AE508A3C7734DB37FBE5BE952 -:1062B0005DDE7472BB28DCCE8FED9416A607915676 -:1062C0009656CB013BE89DD56B6527A55452BDE59D -:1062D000E5575E047BED5313DA6B555BDEFA6834E9 -:1062E000CD576D959326B1E5588594307E3CF47F6B -:1062F0000B8685F151F9ABB78CCA50F6FDA18430FD -:106300005EAAB6EE3792A13DE158D4B4DF18B44688 -:10631000C14FD3D109A0B7346CFAD608F6D717FB12 -:1063200004929ADDB37DF9DAB7705F0438213E3903 -:10633000BEBAF1D7036F8129BB0BB09E03E4E5A57C -:10634000F0E6E372BA66A78DC4D37994FFDEE49FCA -:1063500004F87CED3E3BACA75DAA6374BEFAD11491 -:10636000171DBF5CF6A6383065DFCBD7DC8FF4573E -:1063700026D4A538909F5CE90694DDDE7458E7DCEE -:1063800055B7E13A4B891BE9B07CB558ECA7E9D782 -:106390001299B8350A9F1426303E695F47914BD752 -:1063A000D90E7A3FE8DBFF2EFA37A07D7A2F01F96C -:1063B0007F3F5F33DD2931FFB599E1CB9A6050ED26 -:1063C00045B38E7ED73FD606783ADDD7950AF3A43B -:1063D00070F072B809DFD37EC50FAE4F6578228AA0 -:1063E00054C8DBD1FDA008BE43FD36D965C9D3B57D -:1063F000E3F2938D3F9F8F4FE71D03FB5B7B0AD535 -:10640000EFA3AC6F16AC0FF745BACF69E84CC3EFFA -:106410008CFFD73FCEF85DE57FFFD489507EFE43E9 -:10642000C647D00EF6133AAF402A96EFBF5540F953 -:10643000602281687CBE5EE67CAE2FF7507E053F11 -:10644000814A2774FE9210A7A5173A4E02E201ED89 -:1064500095D215B4BD56BF8171B19E31FC5DB3AF0D -:106460009471B9909F40E5416C581E9055C997A50D -:106470004756CBC40B2A67F5A726B4C7ABB7C8C528 -:10648000B0FE339B0F7E7427A5F3334D2ADFEAE578 -:106490006A24DF966FDB20009D46F2ED9972BA8B7D -:1064A00047E35BFA3D2ADF9607FF9FCA55157ED367 -:1064B00013F4F294CAC77EA042F406C748F9F8352F -:1064C000E85BC93DE523FDFB9014F6A44395FE541B -:1064D000BAA31A5C3F90EBDDF4A9D25F377DAAF432 -:1064E00017B95E3DFC22CBFB838D44E9A47817D518 -:1064F000E8283EAB5B05BF09F9DCFB769F0284937D -:106500000BB737E27BBB4F9236EF8FC83745D47756 -:1065100045E48B23EABB23F275BAFAD52D078D0427 -:10652000F11FD0D5332D78891C8F620FAAFB8FA75E -:10653000F9ACD10B7491193282DC931751D50DFC53 -:106540006B7B45F4AF7529217B02FDFEA885D969D7 -:106550005D0E9E8F67F950B27131C83DF57BC84220 -:10656000D03EEF2A0ED9E335F6FFD156D1AED0F2A8 -:10657000A09F4CD4FA11C2F369407C07496FE5CC67 -:106580006FD81563CFC3F162B2FC407FD78BD6AC16 -:106590000560EFF94427251F3267E11D7642E9AC1B -:1065A000AB75C04DD3E8F7B9EF88A06E53F4B8A42B -:1065B000744A37B3391D9F22DEE7C7D0F5CD6E652B -:1065C0007AF89C65D1E9BE92D72FB5CE37827CA5EB -:1065D0007AF431AD5FB4922C43BA2B5F15F1BDF55F -:1065E000C7C81F9511FCE1E6F6C35E953FF2493E30 -:1065F000CA174298FDCBE5F2F562EE4DD3281EBADC -:106600000E89C4A4803D2B92C5B0CECD821FFC055F -:10661000C49B8C7C564B42280F553875001F0DEEDD -:106620005D4E756CFF53E183402F3BFE90F7124D9A -:106630003B767C3A680FE4777E9CF507D2B37ED137 -:10664000BEEF66C07ED6B5CF847EB1AE7DBFCE7ABA -:1066500010F2BB4DE817EB5A6472011F78F7D9FCB2 -:106660005740795F663F34ECFD362F88FBEB23887B -:10667000B75309CC7E39D7FAE7234212A47455A048 -:106680003FEC8B453EF2ECB6A0BDDEB5F7DB42B782 -:10669000F59FB79E5A2371233DDAC8B46D40BFF110 -:1066A000CC7FECD933EAE58574FC9AE6FDC6D9B413 -:1066B000BCE88DBFE681FCECDAC6F4A24E39B886A0 -:1066C0003809F92AA1EC7119FC7CC04C19843C9D55 -:1066D000B8F1066F6E34B83038745138C0BA285CDF -:1066E000CA41EEF7068F984423D2FBBF1E3CCECEA4 -:1066F0006072ED0704FC4261B8082EF6DDE6370B48 -:10670000B87EF67DDFB7792077CE342D447DE55213 -:10671000EB1E92F8AF4A07FFD5750B81CB59F7C432 -:106720007F597C33FA7F2F41C17946F2414F3ADFDE -:10673000F913CCBF6673E27C2F93FFCBFFB7E17DEB -:106740001BC5BBFDD2787FEC7F2CDEDFE178B7394B -:106750004C20CFF6FE15FDACEAFA2FB5EE57FE87BA -:10676000AE5BD5E36F34D41D9E4AEB1F268115C561 -:10677000749E6F665EFFE1545AFAEB5EF4938F12DB -:10678000991DF86B503EC0FE4B13FC1BD0AE6076DB -:10679000531161FB7A514E19EA1B45394FA0DE4077 -:1067A000A4BAC3F9141E3766CD752EC5EAC33E716F -:1067B000D3FC8FD2AF75A2FF30C27E3C2810974029 -:1067C000F5D8A22B6F380476CCF84C3960CAC3F4E4 -:1067D00028A46FDB27B2EF56BDDD3409EC1D8D1DFB -:1067E0007883A22F9FC0FB9B48E61D9E4AC79F98B7 -:1067F000293AFCD06EAC4F82F54CA2CCEDD39C1F55 -:106800004D88E86F1BD531B5FEB5BF177EE624660F -:1068100067FE9A8E9F0FF0CB94D17F7849F801BC28 -:10682000115EF9FEA5A05B494E84DF8D19351C9ED3 -:10683000CCAE96787BC9BAB80DF85622D42E667ABB -:1068400019DAD3AA5DDC1B9C09B7B3253EA40A77ED -:106850002993DAD9FAFE101E2A3EFE5E3CA8F8FB08 -:1068600047F1F17BC0C788303E32CF3B24E0CF22D6 -:106870006E0F8C3FDF26623ED329E1F90BB707C6C6 -:106880005AE325B007AE953E10812FCBCCBB2AE151 -:106890001CC1EC1490AE077718D0DE31170808F74A -:1068A0009C4609F31F181C2340D19E72CDCE330F96 -:1068B00010F027BB8C4CF12E66FEFCBF7CFFFD98D0 -:1068C00042F0ABB0BF32FABFC914BE735691400C50 -:1068D0005DE75C897821C4612E5DD4319D3F589F6E -:1068E00087BFEB52C2FD5CAA7E6F72E49F9DEEA44F -:1068F00072EBD81584EC829439FB25ADDDFC835610 -:10690000062FCF61E2EF8F72C125166BCED9FE2D17 -:1069100089C98F9D7FDC361CFC6763BB72E3983CA2 -:106920002D30005D7AB85D708E287110AF70AE7535 -:10693000401C9E231E126DEE287E9B4DDC9EFE6544 -:106940003D3A9549D77AE213C16E2221F4DF7AD716 -:106950009BA39E07CF4A3270BAE178A37F62219C45 -:106960005BB0F1E7D2A6715ABC754CFA42CAEB890A -:1069700007F83BA6395FF947E10BF63BC077932553 -:1069800038A1388AFC98CFE137E5C077E8EFBCB290 -:1069900075AD01E8F7CAF506DDF9647512B7BB8677 -:1069A000916130AF29072CB602C0CB21D169A1EB90 -:1069B000F3B49E35BAA39C7345C213FA073FFAABF2 -:1069C00049EC5C608FDC341BE0BAE74B33F152FCDE -:1069D000EE32FAAAA2CD332985C9B9B9A4E9BEBC61 -:1069E000EC7F3DF88EEDB206C6819DB99E70BF4624 -:1069F00024FD11A4E3731B891FF653B04B412E9C59 -:106A0000DB4C703FA7207912EC6ACAEF3FD4FA69D9 -:106A100006B76CFD25E801B5AD82C340CB6BA5A0E0 -:106A200011FCB19E967811F6DD7C85B8F07C587229 -:106A30000CBD55C317AF264908DF83A3F7DC05E378 -:106A40007ED56124A08FB8DE0CD961DFFEAA75382F -:106A5000F2416FEBFA553DA91C2F433F4C1E46D225 -:106A600043EEE6185DFE1AD19D01FC35C5149CEF7E -:106A70008C82BF49C98CCE2E5BBEF9FF3F936F1F3E -:106A8000AAF2CD2D166BF8282999D1BD46BEA54690 -:106A9000936FF3042515E03E6FEF8054C0EBBC7795 -:106AA000E4E468F26D4B3D3BFF7B9DF223A45DCD9A -:106AB00054BE5DAD916FCD54BE65F76CF7B7CB9505 -:106AC0006FFEFF1EFEDB02F22DCA7AE339FC54F999 -:106AD00096D77A14E55B5EB381281ABF9339F952D1 -:106AE000F24D48BE15F4E143B233360AFD6CE1FACB -:106AF000F7EB3C6E0FC60139F7A364765E7AB97284 -:106B00002E3D85F1C925E5DC7F139C5539376F3B58 -:106B10009573D9D1E890C9B979BBA89C13801E9907 -:106B20009C9BB79730FF5B847CCBE921DF08D6AF15 -:106B30000DB0F69E96EC17EEA6FD0D73C94E33AD63 -:106B40003F2C2CEF4668E5DD8F922584730F797713 -:106B5000E8F2E4DD762EEFA81CEB0FF235923E9CB6 -:106B6000AD31BAFC9E51ED9B7F05FCF2AE88E78B00 -:106B70001F18D839D07BA3DA0B80BE56F2F97838CB -:106B8000FD75D67BB1FFA237D9FA6A3633FF776D30 -:106B900033D30F6BD78B7E85FE73C2E8EF8C30FF4B -:106BA0008ABD0249A5F9A926DFF35690C1BF900915 -:106BB0003B172393F235F430676415FAF11B2CF67A -:106BC0007584F2F11C8998C15F5F659DF005F8E955 -:106BD000AB4632FF7E15FF4E78DC801A0759DA7219 -:106BE000EFDB7D48CFF881292686C7292F0BFEB51C -:106BF000D910BFA42FAF8A887F7C8AAF73AA1844AC -:106C0000B890F7C5A8710C4F45C2E31087075DBF68 -:106C10000E1E7E212A3C284627E5A784D75FF16E09 -:106C20007031F8F32B560A78EEABC223729D2A7CA2 -:106C300054FF74156FEF69BD17CFFD23D7AFC2AFF7 -:106C4000C7BA557846ACDF97CCCFBDF2C97088A7DC -:106C5000A1F480F2C3FB1B0A073A4EF1D82B52B5C0 -:106C6000F2F8790E87E1BEB145E904E046EA807E9C -:106C70004A1BEF7D3B9DAE7FC427CA30D826AF1993 -:106C80006D72C339EA264B08E59B4A5FED2ABDF3D6 -:106C90007EF664D48D437BBD4570807EE10958103B -:106CA0008E1E4A67165AE5E0CA6F2670383A4CC8FD -:106CB000577CDFA17037D0FA13D47D88C21DF866E7 -:106CC00078EB593CCF2D20213C2FA96D149C01BAA3 -:106CD0008EDA16062F55DED23FAB161F51E8518AC9 -:106CE000468F049CC485E17DB08AD79B62F27D0407 -:106CF000E7305328BDAF25613CE6D0FF008F917887 -:106D000052E17929FAFC9CEB1F5B008E5680578874 -:106D1000E95101BA2FD8C2E51EC9AB8363D18B17E5 -:106D2000187DED1514384FE88613D02B2D1FD1CACE -:106D3000E815E0A600DC5B4B44C89752F82666F7DE -:106D40005C279C5F6AF9B762EF51D6FF6AC149A21E -:106D5000D0AFBAEEDEE8F71FA5DBF608BA7DCF129A -:106D60003A3C1CE876AFC0FC08ADF1BA7347530A51 -:106D70003B77DF64A1F40DE75DEFC8CE754A4F3E67 -:106D8000BFC0E109FABFA2F14B0D8105C059E04631 -:106D900033C69FE13CFA33FD522B5FB75848F2AD42 -:106DA00005BDF76FE4F6406FFA8D9A1F0AE381DCA8 -:106DB0006BA1E3E584C78B94EFAABD7FA97525A6D7 -:106DC000FC63EBEA8EDF246D78FE648A773F98845B -:106DD000FE1F169F743B8F4FA233403D4B532F2D08 -:106DE0007944EFF5489A19F7E1FB785CFCF5A29538 -:106DF00078E93ABE72C948A77497FEDD1890CBE3D4 -:106E0000E83E4293AF0E8FF8F86E2C17F13CEAA6DD -:106E100077136BE09CEE261046F4FB4DF902EEBFB3 -:106E20001F4067A3408F3513978993302D1FF98337 -:106E300078F41BE5AFF71529949F866DF43740EA87 -:106E40002C0A25BD07F01B2B12805F9B2BB108F687 -:106E5000AFFB3E27F9A282FB2CF633EC1049867A71 -:106E6000A35DC9680E8C6A5E5104FED1A907AD56B8 -:106E7000A0F39C5506E2D6D0EF68E26F8073F8511C -:106E8000275CB700FF95537D01FCCEE5AD6B1BEC95 -:106E9000905F253815DABFC7EB9E60A7F3DAD2788A -:106EA00076C255C087B41E74E359C5EA79D60B4E35 -:106EB00008952D6D5D8EF138A5EB05E280FA7E8197 -:106EC0009859BF7E33ED77CB2ADA9EE6CBA03DF40E -:106ED000BBFEEC87B7009F1F1659FBCDECDCBA94C4 -:106EE000B653805ED7DF8BFD55AC12481AEDAF7CF0 -:106EF0003393FFE58765279437EF5F89FBD8243A02 -:106F00005E7A36C8FBC078C893E18203FD9D99770D -:106F1000225F7771BE261DD398DC10789EDB0DAA08 -:106F2000DE742085C507973A171A13693FEF8D4C19 -:106F3000CE8630014FCB593C8F3E41E1ECA670FE2E -:106F400080C7731C1C79DC18D4EC3F9FA50C403A19 -:106F50009CD33216E31CE692628C7398328AE96BFA -:106F6000EF5F6BF10B745EEFCBA14CF87EF05A1320 -:106F7000EABF9D5B643C2FEEEC1B44FF74FB2A9937 -:106F800040BC46C32A11E562FB66B68F8BAB6F9B94 -:106F9000900EF0DB2038416E1E5C5564847DADDDC3 -:106FA0002F60FBA2D5F7A7303B86C943D56E2B7562 -:106FB00054E8F68F48F9A6CABF1A0E87483957A376 -:106FC000EE331172AE06CE9BED90EABF7B8895C979 -:106FD0003FD0FB01EF81EF907E6B0FCB04F47EE19D -:106FE00078C7048CDB827D93968F6A155C70CE5FC8 -:106FF000FE89C98FFAAABF64E64F417E7F6A22826A -:107000000271F014EE542E8C3485FEF82CFDFEC572 -:1070100007668890A17452827056E3450B36B0F82B -:1070200096820F56A494021CC627A29C2D6B14892D -:107030005B232FBE105CB7DCC9E4B16383461E1529 -:10704000187DA5B07F3952991C5436C8103342B60A -:1070500073F944F56917E80D15BB96A71869BDC506 -:107060003C1EA462EFF2142A1A4803EC5BB47E853E -:1070700091F55FB14F70ACD5F4AFB657FB53FB3110 -:10708000EED2F733602FCF5F663FEA3CD4F17BD37B -:10709000C747FEC7851502ED6FE4FB2206298F3C2A -:1070A0003E6980F6BC434D55FF6BE18706E2D2C0D6 -:1070B0006DE41F63884B4317CD23287F53BC4D6E6F -:1070C00061FA50F388A3C69A02CC3B809F6BB99FAC -:1070D000B6763C3BB76ACEFFE011E0EF490502D23D -:1070E00001F1BA8D8949A8072970BE5056C0DA97B8 -:1070F000D1F6C077CD2B191F5279A080BCA85DB501 -:107100007C02D65F2F28D07FF3DA12DCE7CB478AE8 -:1071100004CBD71F45BDA3BCE56812F02BE5CF1506 -:10712000B0EFD68E3139803F54BE53F9F87D99C502 -:107130008710B36328DC03284B51A2F2AF78983054 -:107140003B75B38C7CE719C9F8F2FD2D22F2F3C12F -:107150006BEF98007CD8B941E8858F299F1684F998 -:10716000545CCDE275CA36317BE5E02A261FDA9BF6 -:10717000999E58B45A9E0CF9B27765C2FC5E4C1FBA -:10718000BC5C7EEEA1A76C8CCECFBDF1EF14B9E94B -:10719000A3FBE8FC6E7A8DCE5F09C3ABE8BA07ECBF -:1071A000E8A7BF6E3AAE579543A5128B679AE35B8B -:1071B000C8E27D2516F7F677CF2B621E8FA5D8C2C1 -:1071C0007244047A8F6771D2EB65A4F7487EFC475E -:1071D000F9E89FC5D7DB391DA9F311F7B2F61057AF -:1071E00016A070FCF5E69731AEF5CB578F4E013CFB -:1071F00057EDA1F44BD7DBB9D9460220B7243FEEB7 -:107200003795CD22C68F132950788B4DCB9F2C3EBE -:10721000A9EA751BD24DE53616775AB9E3781EC632 -:107220008B2C0A61DC95F755AE6F7A837940DF9538 -:10723000128B938AE4F7B1A94CFFECD8153B0DD61D -:10724000216CDC8FE7AD954D77C8407FDDF223558B -:1072500056EBE139A697D22F9CB3C3FCA60ED5CE30 -:107260006F21E2A96313E3FFCA16D96F81F96D5C40 -:107270008BFE6CCFC6B3181F5FF4FA16F423785A4E -:10728000447D5CE44611CFB3688AE75691F189B535 -:10729000CD3578EE56DBC4E3FF22E2E2AA5EDFBB27 -:1072A000C34B4153F5AB5FD8411E9C6EDB60077842 -:1072B000D2FE30AEF0BAF3922E3EAAF77860973E37 -:1072C000DEB0E9711E6F38B99DE4F58C373C0DFFD7 -:1072D00080FD2635225E7363228FEF0E141647F170 -:1072E000E777DFFBD9F2F51A8893EFD876660DCCF5 -:1072F000BFFA6F5FAD81F826B2CF82FB94E7D5DF8E -:10730000615CB1DA6E612AA3B7CE4DBFC0B8ECCED6 -:107310004F4D68EF74EE6DCF82F8B6CEADDFA5802D -:107320007F6EFEDEEBD17F397F7B512A8922EFD53C -:1073300014E8D37F1971E191F838D87C10E3B0BE1E -:10734000FCC484F2AD3B7EB4A986C5E52A3C6E74CC -:1073500073F4387C35CEB1B6F9969BAE0579DDCCA9 -:10736000F4BBEEB8C74BC58B7E48F17AF565E06F8C -:10737000338F0B6E9A1C355EF44BF807C5D3CF5391 -:10738000F5F1A25F37CFFDF98B50D69CD86BBC6866 -:10739000E032E0A6C6F957A7BA5E4D053EDA16EB15 -:1073A0004D6378F34F12400FFC3A0BEE479C92432B -:1073B000180712DA6B7240DC63E5DE8F915F3AB733 -:1073C0007F80FE56C2E3EC3B49F71F8B8716F83AE5 -:1073D000D7DB589C29873FC4A12A76FCCEE34D1900 -:1073E0001DAB71A8BDC59F0653F9FD617EEFA08658 -:1073F000DA4D2C4E3D1C972A8C047C1DD5C5F5AA70 -:10740000EB8EECCFC1E56838AE3A7A9CAF1A47D81C -:10741000135F6C5F51E3A63BD7F2786BFA3D7318AC -:10742000C4C9B1FDDCE3173E8E865F35AEFA0F119D -:10743000F855D7D71B5FA8FC79A979FF57E1F26E01 -:107440002AF367ABF0E9F84B7439FD0DE7776AB7BB -:107450007E9DAAB16F6772BB55859B3ADFC54D4CC7 -:10746000AFE8D8C8EC8748FEA6EB71458BB397D23E -:1074700098FE5BDBB23F0FE450C7815D9CEE185D68 -:10748000D76E3ECAE274A9DCF66BE536617EE4C8CD -:10749000FEECBC3F4F6BF4FE3C9BCF46EDEFB4E4FB -:1074A000BA03E67FBA8DE951A79BC489FE28FD5F28 -:1074B000E0FB52F7BA6D468C9712ED31A84FCDB76D -:1074C0008DFC242E095223C6FD342CE471420F3B5F -:1074D000D300CE0DB61B09CCE751808FC6FF203BF1 -:1074E000DC04F43839ADB84054C2F355CB8D4906AD -:1074F000E2D7E25F0A64827C3F92DF2E437F9F45A2 -:10750000F84D3E93C8E2543AAFCFBC8273A1D2BBD0 -:10751000DEADE6DD0F893A3F47AD297404F477F21A -:107520008605FDD6E23E8B17FD666B2CB8CE83DB5D -:10753000BF7D05E0D5F9731361E7089430A85C2896 -:10754000E3FE8BF6EDDFAEF933E899D0988E5FB6A7 -:1075500086D607FD7A732CDA035DDBE2F2509F7C5E -:10756000E3C1292037CA600F033DEFF5547F03EDD7 -:10757000EF6432CB9FDCD217EF13546DB361BCE1E3 -:10758000C1ED3B6B41FE77BE1E0BC7D1E44B39F812 -:1075900037C87BF6C491B50AEA818A76BFAD2092DE -:1075A000A2D5F3AA20AF8B7F2168A7A33F8ED27309 -:1075B000554B1CDE1FD1D4E3FCECCD60F7650219FE -:1075C000C077549FD48DA396DF9AD69FDFEF0DFD31 -:1075D00084BDAFC0EA7B8CA15296F76530BE6DC307 -:1075E000FA252ABDF2F29EFDB2FA33D3FAEBEAA9EC -:1075F000ED6B4DA42E1A1F54A709FC7EEF5F0747C1 -:107600007BCF22CAFCF1FBFD02F11A400FD86AC100 -:1076100038AE6A636010C4B7EF30B2F3916A7B6032 -:1076200010C4B7EFE1F2AF3A86E6E9F70C3E0FA8D7 -:107630000F79620EBE06F8AED969214BC17E7FC3B9 -:10764000E6023CD7ECF8F6E44B0510CF168B7EAB88 -:107650009A37FE0DF15F630ACC00FA0F6D35917514 -:10766000B47EC7D677B2408FE8900359091739F72F -:10767000A96932E9CEB1D5759CAEF70F84FBEBEA70 -:10768000BDC5CA5EE4C5DE34A68F2E4F733D9D8610 -:107690007C6D75A0BC86FE44E8A76580F65E73A588 -:1076A000125D8EAD4A9375F768C5F03DC555D0EFB4 -:1076B0009724B83883A2A44608E1F979E5C6B34314 -:1076C000C11EFEEC6757E1B9D667C6D05090DB9F6C -:1076D0006585866AE5F1A97AB322C9E897C0B46BDB -:1076E000EDD9D20C02F1839669D1E4D396B4589CBB -:1076F00047E543B151EF83EEE6F4B61A6830998D51 -:107700000B7E0875DCCF8C7E23CC23375DC1F2CA9B -:107710004CBF11BE576DDC3540F7EE84E4C37A945C -:10772000BF101E156485B1C0DA53AE542CB02A12B6 -:10773000DE8F96FEB39BDEC4309ED0C909716A1CF1 -:10774000877467423FA87A1F40928BCD002F232970 -:10775000764822A0DA877C1A439A30B5527584EDB8 -:10776000437504E28A4EF1F35B93A43C0DF2C374BB -:107770004844797E29B8FD3ACD8EF3364975C489DF -:107780007AC72407E8D582D74DBEA7F4D050BF7181 -:10779000C00976FEEF8278380C8DA3F3B33BDEFE92 -:1077A0000EF4034A6768677BAF23FE063A9E646463 -:1077B00079328EF8A39DC777703C10EF7E943F56C8 -:1077C00012FE0BD17C2C4A283A6EDCDF46829D6B80 -:1077D000759000E84DB1561288A5A935573AADE528 -:1077E0005F3B61F9FE949C41AE39C6E8CB23E99A30 -:1077F00038A5F3DD7251C4F6E723DA9FBF587B1535 -:107800001E1EF3806C76FF9DC12586AFC13BCE79ED -:107810002108F0C8B33B1B008FC6D09107011E7929 -:10782000566627263512AD1D37209DC9AB4704B6D5 -:107830005FD2BF62ABA63FE230A3FFF4710EF7EE5A -:10784000FAAA5FA5477D8B0470ED51DFD25BFD98EE -:10785000E8F56DBDCD2736FA7CE27BE9DF1BBD7E06 -:10786000ED1B1FBF1750E023931B1231A8F7A00791 -:10787000A483BD157724A58451053B2788C05B0CE4 -:10788000D01FA58798819AEFF07FB91AFCF58F82F7 -:107890007F1240BA2BE1F3A1796B3A9DDF9D7CBA50 -:1078A000E3D7B373CCBBE7333FD29D0FB1FB424765 -:1078B0007FC6EEEDDFDDC8ECEDBB17B0733352CE03 -:1078C000EE0139E87F30DE3DD009C5F73D3EC11FEE -:1078D000C886777022F4D7EEF776EE97A07E4984BB -:1078E0003F46A527F5DED26CAE5F6773FA9C4B422C -:1078F00036E0FBC87BF4CD692C2E8D9A632E58DFC1 -:107900005D7C7DEA3EE05D4E72E05D00D110E38477 -:10791000F31191DF5B257623BBB77A6B824EFE9C19 -:10792000CB51E260BF236FF2EFFC3DA2793728A96B -:10793000DA7B5ED285587C7FA44176A6815C942F49 -:10794000FC9828942F8C17061045730F8DEA77C882 -:10795000ECB283A01F4772149332D00BE3399D25FC -:10796000DDD8AD87BD4FE1326FB982F760EF486770 -:10797000FBCBD28CE2B94017A27DA4D36DED895721 -:10798000EF76B6BE06585F76CF7937189D4ED44352 -:107990006FA41A04FA7B9C66988F68523E56803F0B -:1079A0007F2B13B0FF7BC281E1F35C52821FE25F49 -:1079B000E6D8971E01BA5D56EFC073B425F5399825 -:1079C0002EAD4F433D7471BD1353152E66A7CF25C1 -:1079D00052389B07B2FECC0E37D333E83E04F11782 -:1079E00092A32E007973661D01FDD7D20D1F1FC211 -:1079F000C7D89D7763DE04799ACA8D9310BEB43DD3 -:107A000029033F6A867B19C0C7A25C49140D5D98A3 -:107A1000D286E9F23DE0A6D2C71606BF2705461F6B -:107A200091F07B526E53E0FCF9C91BBADFB541F807 -:107A300051759FC1EF37EC7CAE57F83912509F9DBE -:107A400053B8784603FDF4043F877CAC7E24C2EB38 -:107A50007188EB1A0CF6810B5311E047E9C894EBDF -:107A600025226D6F52D89C4DD66297A180D12EC031 -:107A70004FB432789AD2EAF03CCE6C65F012AD5E2B -:107A8000848B6C65F012AD8CDE8C3C2F01FC866320 -:107A90007BFC4EE1D79C3E02F0305A072F63D2B8F0 -:107AA000CB83DF4A0A3F3A8F24CE5F917048827BB6 -:107AB0000AB961BEEA4DAF7B8EAE1FF6F117287C86 -:107AC000204DEEC57E4CCE607234C950B75F06784B -:107AD0002410BEBF7849662161A18AF097E6250A85 -:107AE000E405360FB25E8F57D12145BCFBA6BC0022 -:107AF00074B0E21DD900E7A4E2821FEBEE938AD3B3 -:107B00005CF10AC2D32DC0FEFC44BD82F85B0E7846 -:107B10001C0CFB23B3C71EE5F87C0CF804F1CBF872 -:107B2000E349CE2F4F733E6970B2FB13CB26B2B838 -:107B3000ACA47C037F0F2D40B4714FF1CE2662A41C -:107B4000F3421D5BC134807AC62726FF15B45D6CF5 -:107B50002E71019DC47FF2801FD74A8AD3412F8A9C -:107B6000E7FA2F19A3C44FC78BB40189D921541444 -:107B7000A25DD36688F60E5683F38019FCA6BDCDB0 -:107B800067FFD41D4897A5576378304974174F9FF6 -:107B90004BF3D6C658F40FC63ADD858F029F37DA0D -:107BA000904EAD74FE651ABCC7F682D717336E309F -:107BB00064503A144169A3F87DA6718005E0FC9CED -:107BC0005C9C0EF2F539BECF521C28DA73A80E2E3B -:107BD00027ED0557EAECD915B20BDB39C6E8E5C04D -:107BE0000A2E7713C6EBE95D95BB1F75CB5D773227 -:107BF000CC27E5C278E4C7A49BA3CBDF06D9E885F0 -:107C000077051A86327EF79618D97D989EF200FD88 -:107C1000DAE7DC83D6813C55E96B1161F2C74B6230 -:107C20009CB81FF1777454FD7809BC37C8E52CA4C3 -:107C3000E24023D24DCADD068CCF5BC6DFCB7A8A09 -:107C4000D217A43E4A5F905E9BC1CE33169987E15E -:107C5000BB6D0D5603CA0BE95393DF0AFAEAFE51D6 -:107C60000EF02348B2B3CD05FE409BD4B48E40BD88 -:107C70000233BC2721C41738800EBEB1CDE977B1DD -:107C8000383C8A4E01E8C891544C8EE5E2E901DEA9 -:107C90007B911D3713F02BBE90546701B8E5663019 -:107CA000BBABB1A410E148E13B2E2339DC4FEAB471 -:107CB0001BBBDFDB826E5FE8E5FECC940CAE476752 -:107CC0007AC9400DBF370A5C0F53BC2447C3F78BFA -:107CD000AE9840E05CA927BFF722CF363079F6880E -:107CE000105D9EA9FAA72ACFE40839A1A68BFB4D07 -:107CF000D4DDEF322639817621F51A288A24EFD592 -:107D00004FDE158F70980D7020693776DBB53FEC2C -:107D10000F7A6561547A8B946373BAF775570AE0EA -:107D2000E994ACA44E077A7AA7B77DDD558A74E84A -:107D3000EBA3C0BEB4FF991FA35FE7C4333605E4CD -:107D400050D985C7717F28BD300AD3F2C61B703F5A -:107D5000179E9D5C08F4D0BEEAFABC4FC1CFE3B3D6 -:107D6000E1BEDDDE583408CF237DB10AC477B437D5 -:107D7000D2F2827039C48B8B9A780102DE77CDFD06 -:107D80006F52A0A05EAABE7B46ED3AFB68F00BAD39 -:107D900016F15E58E9B33617E89FBDD15FE9AAE84E -:107DA000FE00D86BC1EF4A07CC013D7ABF7D742835 -:107DB00040FB9DB38E9D2334185D2703A0373D63A0 -:107DC000C173C88684E8EF82CCCDB87E19C881B96A -:107DD00019AEE7104F56F64E69EFFCC0C63F098753 -:107DE000CC708EF5227F1F4572DBA7EACED9D83939 -:107DF000D649EE6721E65ECA6378B9D24BB99DC514 -:107E00008B1047F472D5CE880DDB194DB08E9AC613 -:107E1000338B3F4578713B83CFFB94CCE67DEA15ED -:107E2000937F5114FA3FC5E3532A04065F950F4E22 -:107E300075EB476E7C0F27924E8575435E1845FBA8 -:107E4000FDEA908CFB4635A52FA4AB75A3303E5EB2 -:107E50007866D4D310377CFEB088E595172C58DEB1 -:107E6000F1B0F305887B0ABD2B13904FE70F5D1F20 -:107E7000C7FC447A3FF63D7D985C38C6E543E9850A -:107E800027907EBBE9C437D708FC577AE12946DF43 -:107E90001B057CB79278ABDF1D3B90D3E768685F2A -:107EA000317911C07B8C0FCF49CA36989CA00F4402 -:107EB000E2F95886A2F37B94059761BF84EA5F4993 -:107EC0009AF3F4533CCEB8EC027BAF9038BC240D4F -:107ED000F881CBA7301DEBDFA1EDB044F7D39FE3D2 -:107EE000FA4FE9856B747646787DD7E1F752BEFF8D -:107EF000970547613EBC9E1746455B4F781D63B0B2 -:107F00007E477CF4F1D3399C4FD6971317956FE5D4 -:107F10004656AFD477BF11E44EE9AAF80441B3AE98 -:107F2000B2C62A5D9C47D9AA12E32C4DBF613C2CF6 -:107F30007E77AC14C643FA4B0B272FB2825E502CCF -:107F4000F7017E5A5751F85305FA63F2E90BD997B6 -:107F500005F2BABDF13E7BB47B13E97D22F0D3C8B4 -:107F6000F143F5EA020D7E54BC44B63FB9B6ACF01D -:107F7000A7E08F5EC95E21E95DFE44E02D3B3ADC5F -:107F80008675C32D07E38D2E0DB7AB7471453DE0AB -:107F9000C6F1ABC245FD4EF5A8ABFA8C80F108BB2B -:107FA000BFD3C8F07F297885C7E5F81F1B7D1DD397 -:107FB000BAD7B1807829A3CEB9E43A1E245EF3453E -:107FC000D6A1E29FBCA2C3FFB497D6221FAAF89EF7 -:107FD000736025D2EF1CCA8F70DEDFEEBBDF1E2D73 -:107FE000BE685A6F781FE825B985FFF7F0FE85EC6B -:107FF000CD82B832EF720BDA23A7D63D91A585F377 -:10800000DC8CB1F7005EC8FAE4CBDA3FBCE39C87B6 -:10801000C0BEF43E23A33F6D6B86BB0CDA97733B67 -:10802000FC91F80983A2E9078FD61F1A027EBA864F -:10803000FA364C65AE5F12D02FB3515F72457BDFCD -:108040006B491F26571EAD6F637E4FB39738B4F749 -:108050008909D39FFE93307F8DDACE28BB1DE03F88 -:10806000350AA418F53EC9BD24BB00FC1E49F95EC3 -:108070000DFC16F761F79196A51D70C0BD6213ED5A -:108080001FFC39E64CE99CFE9C93E5F3854F45883F -:108090006F96939A08FA4373E9770DBC8D496D3A50 -:1080A000FF74241C24B31DCF9B24C2F43975FDF446 -:1080B0000BEE4B8FF17D6905F76B3E5FDF847EFF32 -:1080C00045B176DCFF16F733307BCA2CE17B35A651 -:1080D0007856DF18C7E66D01BFB708FB6A00F336B4 -:1080E00078D147C4A7D104C8C71345807C22092C86 -:1080F000C67752C6067F02DF9D696E3FE0F19BF4B2 -:10810000B62302F8B18BDD8361FF6D14BDF90AADB2 -:10811000FF7331940FF5B268D127092CED07F1D028 -:108120006ECDB9167B2754D1FA0523F3FD164811FD -:10813000E73D7F19AC2D5F9EE67A1DE6D16061EFC9 -:108140000C251D17F03CA7C1C2DE1B6AB0DD1E075F -:10815000FBF86FFA30BD1DE900E8E810D367CE499F -:108160004A5C02F3932A6FEAFCFC66E54DCD3812B7 -:10817000B7F7D653BA9434E72A03259701E8E60AFD -:108180001FFDAE9D67147F5C82159FE58D7A9EA3CF -:10819000CE0FE2F6018EE2850968AF45D2C39E6E2E -:1081A0003FB357047C4E57DF2F961E61F978A2FE2D -:1081B000A1FDF569B73EFA08CBF3734ECF2C768E4E -:1081C000D9501287F171EA3CA6B73ED6067AEAF496 -:1081D000D6F4D970BE35DD3AE87348F7C8A103B1CB -:1081E000A007DE2FE0BD923B7FF7A61C4BD3ED1F0F -:1081F000AEC3FBCC9F73793A8384F05D783771F01E -:1082000073763F7E9F459C3CDF24835D7F77C07FF4 -:10821000DB649ABBE74DFF6450DB661C0ABD056258 -:10822000C0DDE4988067086ABB16E7DB2CCFDA75FF -:10823000AF5F32E37AC2EB35E3FAD5F5D19922FC90 -:10824000BBE1C3DF6B52E121CEA2EBA6F4323DEEDF -:10825000F61BC945F4F2E9D69CCFD9A1099B4F245E -:108260007CCE4311D51F3BFAB84826C5DF1FFAB8AC -:108270000448ABCDA12CA93FF2890CF95AD1DD0FEE -:10828000429FBFECEB1E9C0C70684BBC2CF979C470 -:10829000C2F8FF08D033C4795D48C275A9EFD01F7A -:1082A0007CA0DD067AE7E2ED1FE33BCB3562F0C947 -:1082B0003BD01F2AA2DD74AE79F045EF9F1D013F30 -:1082C00015DDFFFA66AAF72CD93A674A8C4F663655 -:1082D000C7623CFECC05A2EE1DE9990B583C1F91EC -:1082E000DAF26ED5E9EB8FF4DA0FF80B22FB99BDC9 -:1082F000A0881C1F0EE7B48EB1E83F58C3E86BF6A8 -:10830000789708F1CEA3970878DE3AEA84D212A4CF -:10831000F9D9FE7827B0E7EC07FE6300BC7350DBA9 -:10832000C6FC81A9E2BDF90F839FE500DBC7217F71 -:108330002FD089D5A55835E7051D725D3EBCF7E7FE -:10834000BDC7EA02FE2FB9D5F529BE17C1FD15EA52 -:10835000BEBAB3B104E3644BEE564602FE4B9A2C10 -:108360002E4CCD448AA172AC44226648538D44B24F -:10837000401A43CC90162E62EF7697364E45FDC0DC -:108380003EB2D808EFF196B4FEE26B685F2605F6C0 -:108390000B7961F894B4BEF31DE075AEAB18E31928 -:1083A000AFDA68D4D981439BF4F9AB5BF4F9FC8074 -:1083B0003E3FFC903EBF2193201DCD32DF920BF05B -:1083C0003AB0D744F72288FF3361BCCB3181E1C793 -:1083D000BBC982F2B0A8AAB510ECE033AFD90C60EB -:1083E00047EFF9EBAFF03C3CB42596409CD5FEDF5F -:1083F000C7901888577CDDB20ECAAB28EEC07F59F3 -:10840000F5BA652DD8E13BAE54ED787F1EAC67C759 -:10841000DF587C4D6893C90FE7E36776FDE2353896 -:108420004F3BB3A90FEA57C704AF2106C6FF82F935 -:108430003F83FCBDB8207F2FAE6AA3DE2E9E97C976 -:10844000E44C70D13571D1F42635CD494BCC1D4F5C -:10845000E7D6F5B86926F8810637EAE1A2D61BE22D -:10846000D77F7F90F73F9A18C3749A0D7102FE066A -:108470003BECBF2F477F277911E79F575FED6E27B2 -:10848000F277E288A2B9371596DF647E1F88DF0095 -:10849000F8F70F7FAF229AF968F49389BCFFAFCC4D -:1084A0002C9E3989BFDF7FBAFE10EEFBDD7A5FBDFF -:1084B000CB355E932F6DDC9F5202F6D3AAFD29B314 -:1084C00034F0AADE7430E52E8C7B92C0834BAAA7D1 -:1084D000BFF214F82BAA37894D304F2807B87534EE -:1084E000BD65877A541F1E067E90B03E7ABD6BBC78 -:1084F000868FFF5EBA55F9AD9AEB2F3B47B64D809C -:1085000038F5AA46C109D5AA9A6EBB6532C07B155B -:10851000BBE75A28916291F257F5D6DB7E3C14E214 -:1085200066568F70C27C6817B7C2F7AACD67F13E56 -:10853000C3D288DF3D50D3DD994C2FA4F503065AF2 -:108540007FE9EDD672905FB4DF37217F20671DBED3 -:10855000AF623FC5CE1FE8F74F0C546F3935CEFBE5 -:10856000DE5DB4E919D2F4D164F02B35EAE991D299 -:10857000B7007A596883E05C875F1715DE0C2AB76D -:108580006B21C6FBD2F299D1EE5B57F8F5FD44E2C0 -:10859000FD233E5FFA97A3A59FC87A8993BC184F25 -:1085A0005EBD80CA438D9FA0FA840FDF978C1C8725 -:1085B00068E99AE913440179B8C5A2BE7F24980BF3 -:1085C000799CEE0096C77715814E29A1545D49C666 -:1085D0002B00EF9BC9444847835C81F7F44736E59D -:1085E00041FDDD42F09597B03F1BCAF10E4700DF19 -:1085F00099CCE0F74C3B1496EFE27E4EB5BCB2D579 -:1086000082713667BE34A29C5DD87410E3E83B5E8D -:10861000B3180C541E9CD99A380EE2313B9AD83BC1 -:10862000C5A79B12C7192FB26F47CA0D753F3D0AE8 -:10863000FFA4FBEE9F335DDF64C23EF5088B574D10 -:108640004DACCB8FF6FB176ABB24635D3ED831A1DE -:108650007BACCE7508276FB6847EF03427C40995AD -:1086600008AC5F63BF62B12FAD6FA375C11F9D7072 -:1086700048C4DF6B382E3A7FE21880EFC9A31E345E -:10868000A7C08DEF539247585CE56C8904244A6F6C -:10869000B3613FCAC33CCAE5D9AB048C2B9BB34C36 -:1086A000BF1E782757BB8F56103F7BDF42EB47EC4E -:1086B0000FF12E74BF81772DCD2CFEA272BDBE5D51 -:1086C0001509E07CAA377F6F8A06AFAF89BA2E57AB -:1086D00026AC4BB8D98CF3BAEFB93876DE63242ECA -:1086E000D84F43CFD950BE571137F67727DFD73D44 -:1086F0000F94B8E6801C5E30DB352711EEDBB2FD4F -:108700000F4D3EE46F01F79DAAF124D097BDBB4108 -:10871000605FAD6A150243216F265EFB30F61DDEF9 -:108720001F80756BEFD794131F8E57BE4AFF9D7C39 -:10873000C8F05ACDEF3192F59AF2FEA09F317854ED -:108740006F36E9FC3AA3370B5E1BDE77F537A4D012 -:10875000F9D59EA2B282409CEAF7265DFF10CF3386 -:1087600002F77D62A1787BAE5BAEFB87448BF33F63 -:10877000C2E1F8DC6DA5E9C0AF4F83DE9AC1013DCF -:1087800012E516F71F9080998E1333BC3B8FE58559 -:108790008B587ECAEA57A6348EA1769EECC673A18A -:1087A000D962F1DB701FECE57EEE9BFBD271661B9C -:1087B0005C5912F2AD6B10FA43173038BC30AC6E16 -:1087C000485D143D50C5F3F3425300CE65BDBB98E0 -:1087D000FE652B08C9DAFDB5BA2F93477107827879 -:1087E0006F22B45DC07B962B85A3781F71E50D0ABF -:1087F00001FB3E8DE209E4F14A813C2250B8143479 -:108800004FBDF72DC073418C137EEEA2A679AC58F4 -:1088100063C5F5333D2DB66E2D9CE7A4CECC19066D -:10882000744ED73DF366FAFDDEBE0A8E976E65780C -:108830004F5BE4CD86DF818A3B507CEF5BC0874392 -:1088400063F09E6C2A85952D01D325A07FA5918587 -:1088500002D47BCECEFA4F368833A7427E18CB2780 -:108860003C24B8D621F12DC7FE534D6422CC13BE53 -:10887000831E6906BF0296FB197E8BEAF2A1BFD464 -:10888000012C4D320632A19FC3DDF876A35D319FE6 -:10889000EF63F3B78E4D053BEF700735B8A9DC3AAF -:1088A0009CA6EA43012BFE3ED4C01C569FDB85F3F9 -:1088B000F3D97D83A42C7DBD2ED915371CE4E807A0 -:1088C0004C8F3F6F75A17FFA1A63747FD64B7D99E9 -:1088D000DEE2B92010BF661FF04CFB06F54ACF055B -:1088E00049F7BDA3DEAC8B73AE2E3F80F7EE6B482D -:1088F0001BC661D734C5EAE276AF89893EAE4ADF4E -:108900009E0B22F1461DD7A8FF7E21917813A3D597 -:108910004BD17FA7EBD0E55BBEED5E077C272383C1 -:1089200076B0072771BDB6CB6FF0CA5787F1D2E991 -:1089300008EAF69D4E85E5BBF8799C5AAEF6DF391C -:10894000CDC8EF15B17795013EDEC184BCD87A164B -:10895000FDD1D5ADFB27B0DFF76274A18593572316 -:108960003F521ADA0206CADBFFDEF7D453B94328B6 -:10897000891D50F9F8F4532ECAB729A241C7D7B1BF -:1089800005DD7C8EE2E53983C8E5C299A7C68FD1A3 -:10899000E659FD70FB8E29E3A96E5F90CBDAFFB13B -:1089A000EF97EF2D1A18964B741D59C5364DDE1CE6 -:1089B00091B7D2FC504DDE11519E14519E1691CFAD -:1089C00064F53B6C812CD149487BDFB353A45170D3 -:1089D0008E1D98012F0A2C6BF86ACA789AAF296805 -:1089E000C3F899DA56C189C7FA6A7CBC93E959562B -:1089F00067107FCF2EB6A0ED6D9003D52D8243A0DA -:108A0000F46E6DDA8A7135D5D04ED1B46B6276676B -:108A100075D3516CD76BFF3906E4E7A539C7B09E13 -:108A20007A7E7407E9FEBD8E0B202F6B9ADAD93E51 -:108A30001C717ED499EE3A88F230E2FEAB07FAB5AB -:108A400086E95EADFF87A1ADBF836E62E79F5D28BB -:108A5000D1FA7FAA691F01FA12BC710972FF79C1AC -:108A60003F04F6E717897B08EC47F7D45CB1DF4099 -:108A7000EB1D9183ABE1A9864159969B242AA78FD0 -:108A8000D8827D052A4B72D624DE04F03C921CC4A9 -:108A9000171A7EB6268995F70DF68573D7DCAC1FBD -:108AA000B2FC15C1D590BF75CD952C3F34D857A4D5 -:108AB000EDFB7BAFBA09E0BFC1119D6FFB66317959 -:108AC000AECEAF2CDF959605FA6635DB2FE0FAA522 -:108AD00099CAC51995A7B76CA07098F1D358945747 -:108AE0001B3A6EB9B118D7EF2D863837F6C43BDF85 -:108AF000CF502E4BA807A4C31E9610C6872DAB4D92 -:108B000041797F65DD56D8F75367E4A2BC3F9FE902 -:108B1000AACF1A114EBF1DC0D2FA2C76DF235534CE -:108B200060BC41EA8336D4839EE6E749946F10BF68 -:108B3000568E8F61594CFE0DCB62765246DFEBEBC1 -:108B4000613D7772FD74C5E3FE4D160AFFDF0391A8 -:108B500024A17F1BF5DDBBD652B91107F114AE7409 -:108B600090077781FF37379C57F5F715F9346F0D6C -:108B7000DB692BA6BAD2B571402BD6B27255DEACEA -:108B8000C866EDD57D27B581C127F5E921EB601DCC -:108B9000B112C1FB1773A70D5AB710F7EF9B71BE47 -:108BA000C4E54A07FBFB44457F03E8952A7E1ECBBC -:108BB000774DC2F5882C5E5DC5933A7E3D5FF76CBC -:108BC00091EEFF749D0FF673231CA93E90C7820B94 -:108BD000983E500F8ED8E4307C89141C01DFFF17BB -:108BE000C1E95E58F73F0AA728F2E267306ECD026E -:108BF0002A2F0C1A79C1E1F7BC1090530B34EF9770 -:108C0000D0EF6007DED1D7FD6896E61C67C68335D6 -:108C1000A8FFA9F38AFDB79D13EF203DF92C523F21 -:108C20003BF27BF332F4031A9B502E1EB991381796 -:108C300082FCE0E7B2AA7E59F8D3AAC360479DCB75 -:108C400012B19D45C5AB50BCB594C2E971BAADC275 -:108C50007D74EF5416DFA3EE9B2BF8BBBB2B1EB825 -:108C60000AE3FCBA48107F97CD3B92A0FCEB2E9F05 -:108C70003E08CB29BEBD16E0F78A18FCDD8115F948 -:108C800004EFD9AC987E2596EF51FD4AD3CD38CE6E -:108C90008AA98C9E5654B0384CD847006EBDD1433B -:108CA0004A03F36F10C995A78D077897E32FB62075 -:108CB000B8FD63D02B975950AF84BD13CF477CA923 -:108CC000381EC5EBF62CA46F368FD9CFA6FB97E2E2 -:108CD000B84EB4CF1FB3B94A505E3D1CABC0FC5771 -:108CE00059C812F3303047C82328F7F87C88EF05BD -:108CF0008CF398C9F5B5CFCACFD9401F7893CB1B59 -:108D00002018B0976711563EEBA1D8A360DFCC7A4C -:108D100048C4FB8564C9F52EFD79079D6B0AF8C729 -:108D2000F95F63C8067070433B3BF4FF9F3678CF12 -:108D3000C4FD10BBDF4BBCB4BD261EFA63E05FF080 -:108D4000B38B6CFEA43E5689F62EE8C75CBED3F901 -:108D5000BBB4E3A9E344F64BEDBB4F005E14EE0158 -:108D6000B807167A58E4BFD7AA9F6F9231F4A4854A -:108D700096CFA817E3175178BA17D870BDEA7C6769 -:108D8000A686AE65BF0BABEFFF646C6D21F8C355D3 -:108D90007B843CA4B7C7C02FD19D17314E1AED9AE2 -:108DA0001EDFB93D1B690712F23793B65EF73D0D22 -:108DB0004588983FA72B4590006F6E1EBFD08DEF62 -:108DC0008879ABF034F48B0ECF2463B02FC82DF725 -:108DD0000213C221B2BDBAFFBD60215EB0131B05F4 -:108DE00001E9B1F18158DCCF8899E1D15319A30091 -:108DF0007DBE680C611C937737FBFDCF2E4B680757 -:108E0000CAA581CC9FD0F59EB816EA752633BAEE76 -:108E1000DC25737E22EC1D89F7C475582EB07E3B8D -:108E200017C6627C14DCFF34C2BD4CEF9FEBC1BFA0 -:108E3000A2DAF1C777B0F714E0777BB47630DC9B29 -:108E40002D1F16960FF83E0CF0734B2CF713B92B11 -:108E500070BCBB6208C461D41A048CEBADADBC120B -:108E6000EF9110FE8E73359F5AAD81DA83C3C27CB9 -:108E70005E6B383608ECA96AF3327CDF9996BF093D -:108E80007618FCCC6EF7EF7864F7A4EBDA6567FE32 -:108E90008AF7DA9BF5F8AF0ED309DE8FABD4D24D4B -:108EA00076981E50DF0639319EE0BD7C1BCFC74E41 -:108EB0006CF3839FC6C3FD16C907D8BBB5B682261F -:108EC000027E53CF29A66F8C6E5D7B10ECDFF88994 -:108ED0006D6071D1FACCEF16797F6854EB7211ECAA -:108EE0003A554FD1D895436E1EAA4DD97D5BB053EC -:108EF00061BC207C02FE90D8FEF63CDFDFE83E88B5 -:108F0000F278AE6F30EE83B04F811C53ED5C906B06 -:108F100020475EEE376E5A3FBACE3C65DC2DFDD859 -:108F200039CC10D4EBBD9777DEA4D6037BF7E2FEF5 -:108F30003006B7D0CA382627E00740C14FFC5B791E -:108F40002DBEEB0D8297CE77DEEA6C94BBAA9FA66E -:108F50009AFBA94AB95FA794FB75C0AFAA8D7B05A0 -:108F6000BFA5365FCDF9BE067E4F0ADF0B3085E325 -:108F70005EC19F339E046C500E7E1D3BBB5FA76D90 -:108F8000EF21FE2209E9FC7B93EE5DAC156CBD334D -:108F900039DE575A983F67F4436B45E6A462EB8D80 -:108FA0001BE6CA7EB420FC3ED7E71C4F2A5C8CFD32 -:108FB000C6DD03708F11D9FBE6A147D9EF5D9FA0F5 -:108FC000FBF356EEEFB8D98AF78B5D03212E417281 -:108FD00064DD1CE5775B97EEB6E03BFDCBFAB1F3C1 -:108FE00060F5FBB87EECFE2EFA8100EE0B6351CFEC -:108FF000A660CE033A2AECAFEE97240FFC4F4779D8 -:109000007C67EDED5637F417E47EF195FDD8BEB5DB -:10901000B21F7BEF5FCD77DB759C5ED4732CF0C7FE -:1090200068FDD7FEEEFACC7FA2EEAFCF57C4A05CAE -:109030000AD3AD01EF4FC6E6161BC18FB49BCB918F -:10904000126EAFEF86035A90274DDCEF2C3966C0C5 -:10905000EF02ED3E958BF1924946265F76DF19438C -:10906000207EEFD0E9579F788F969F3B65C4F7F03D -:10907000E6707FEB6E78F71DE4E57613FA11AB8DA1 -:109080004C5FACDE3794E92946F74A88EBF66E93DD -:10909000D1AF556DF76F7A05CBD39D14B3701F9484 -:1090A000E9B9BB6259FB18FF2F5F03BB735FAAD3FB -:1090B0004BEB2F4873EF03BC66989438A29EAB0A23 -:1090C000E1FBA2C7FC4C2F3E068207C669B5F1DF63 -:1090D0009173A5CFA5FD1C7F3C15D743E52DEA4F25 -:1090E000C79F32E1B9D9F3DDE332FFE731B918DFC9 -:1090F0008B39B63DDF492D4BD2556C0C807FDBF3AD -:1091000034D3E7661B9435001FB22FD6A9B3479F0F -:109110002A63EF47543E34E562E7D820DFB5FEDD31 -:109120004E12CA427BB4BC7F13C49376B60E71B2A2 -:10913000E3AA343C24A9E5E7CB276406DFD05E1917 -:10914000E9F972FB07BAE8FE9D3B91E0EFB769CF02 -:10915000D322CF217AE6191E3DBB53B9DEA62FBF1D -:1091600025D31D02F956FBCCB7471628305E08E51B -:1091700021F1317FFA09D93503E8367E7C4017A703 -:109180006556185FCD36F1FD9E048C5A3E54CB0BCC -:10919000C791A8E7362685E901367EEE1C59FE7F89 -:1091A00000F2988AEC008000000000001F8B08008D -:1091B00000000000000BC57D0B7854D5B5F03E7360 -:1091C000CEBC92996426992493F7C93BE4014308E5 -:1091D000112DEA24040C98D209A062B538BC41C90B -:1091E00043B0BDB1C566201102A2861A1128E084E1 -:1091F0008762D5367801A346EF8048B1D5FBC747D3 -:109200005BB4F7F78B4A29528188964BEFB5F55F2F -:109210006BED7D92394322D8DBDB3F7CB0D967BF51 -:10922000D65E6BEDB5D65E7BED1DB36A602C81C159 -:10923000CF4C334B64EC1AC67F324F316FD0C69897 -:109240004555A9FC9A5321D37CC867AE0C99168961 -:10925000D40FE909230B59CA21DD620FEECCC29667 -:109260005E86FD2C9A00FF85A68B64D66629C3EF27 -:109270006A4FBF8BB193079C9EF5F09D7DF995CC0D -:109280002A189BCB443D336BB7C431F67C9B14B298 -:1092900040BDB99BCD3BADD05FC56AAF6C87FCC00C -:1092A00076C9B313EACD6DABCCDF02F93BF7977A01 -:1092B00064681A83E3603EE80CCA50FF9AE649EC02 -:1092C000E3718CCD37074D0A7C674F4B6C0FA3FEC3 -:1092D000DBB0FF65D02819E0F90A7FAE1F4A176F8F -:1092E00036C364F9DCBFC27F8261F96CE8B7BB4B5F -:1092F00066305FB617BE170E7D5FA6840E49318CAF -:10930000D57747B4677F330FD643405980F0E832B2 -:10931000B13B7C369A74525D29637FC0FF26336669 -:10932000CAF48D53C763263769861DE65DC5E735E8 -:10933000B04F22BCD6B32613C37E3AE319BB3A6CB6 -:109340005C0B0B45437A520E50F922F3464A6BD41C -:109350002C1AEF4ED66F6239D8EF80C907E3D9FBDC -:1093600080AE2597CEBF06F960FCC87C3055F0C1B1 -:10937000B2532C742D8CB76C250BD58FE6A91DD25A -:10938000450A0BC4005E17010E62451A55C6F1AAC4 -:10939000160EE16569509F477CAA6178463C869726 -:1093A00037F67C650ECF279918B3C60DD11908453D -:1093B00070274D6A1ADB04705EB3322833985F4A17 -:1093C000BA77522EC01B5DCEE7DB78DC6251C760F6 -:1093D000DEC7B2A1DE176995CFE54179A3C2BCDD36 -:1093E000501E0D78E982EFDBAD2C80FD3F9EA75229 -:1093F000BF6E13E75FA3E263636D4897BE9001E918 -:1094000092C01CC88F1A3EB7DBA15D19B693A8DDC8 -:10941000607B0B6B8B0A6B5FF5A29531582F175E43 -:10942000B007CD509529FE4C27F497F87B335B0F9E -:10943000F9B32FDA97607F678D6C7637D477C9AC34 -:10944000A99BF8650DE1FF8748D7F1C84D55A90CD8 -:10945000795F9A96CADC58BE9ABED73B81BF86A177 -:10946000EF607956DFCD9CAFCCEA4E18EF82B3FFA8 -:10947000079807785800F2CB550E77E3FE49637FD3 -:1094800004DF1B7D360FC7BE7F2CF2AB59BEE766EB -:109490000BF0D71479E5C0BD308FFA749BC30C4D27 -:1094A000AA33FFE3B7B742FE93FD4666463AEF990B -:1094B000349B655F0A87962E0D1A3FEA0F5B2F7764 -:1094C000EDD5E7EBBBF5F946A67CD4AFF101A06082 -:1094D0008B6A779D8C26D9E1F90AF8DB6C6E3AD558 -:1094E00005F09A5F327B56C1E706D5BF03D7538399 -:1094F00061E028E2D99CF9E9683FE0A52AF3CBA313 -:10950000A988FFFB9807E1BE60AD9C4BF4D862557B -:109510000361F2AB51F07F67462D95776E35AB1244 -:109520002FAF1D0F726B092D61AA623100FE1B3730 -:109530004FFD441A4DE516A44727F029B57B4E0A86 -:10954000AE82764B362FAE65507E86054D1680E78F -:109550000F623D35CABD532CF0DFCEB89A51285F5B -:1095600094BF2A3EA4FF5AECEAEA217CBD34B83EFF -:109570002D1D27002F373289C5E2BC9DFE97709EB6 -:10958000F5967E5325F473FD5FBF20B9BCB8F9D5BD -:109590009C13E350DE78E712BD617E284716DF7B1F -:1095A00088BE4B332C04DFC9745BD00CDF5FDD62F7 -:1095B000E679A789F227B74B945FDC2D052D595822 -:1095C000FF627C25CAEFED4687995D8AA748BCFCFF -:1095D00071DBEF621880FC47102DB8BE98A329C636 -:1095E00067C7B2A69819A588AF1B3E41F9B578BBED -:1095F000EC09A19C7ED9EEC963989F3C6AA10DDB62 -:109600007F1E5F89F8DB31D921D377D9877288290A -:10961000DEBEEBE1BBB2E32A15D7CB91ED1CEEC564 -:109620004ECB1348E7EBFF2A13FF2B06E6DF674319 -:109630003A7847E1BA53B7ED9982F8FD635D8A81C4 -:10964000EA3F2B3107E2C3D99C88DF174B8A0FD73B -:10965000D992CD4B6B59CC10DED7A832E1BD327315 -:109660006562BF8DF8FE66D477F5DB81CF71FC199A -:10967000EFFFF656D710DF4B33364FBF06FB7FD2D6 -:1096800048FCA5F5D3B8EDDB823F180B019E160B05 -:109690003C993357E6E3F8975B0F8B5737E53B6C04 -:1096A000975F1783EB7D1BAC8F62C6FEAA4AEC2B3B -:1096B000A0034B8B233D33D27AD4F493ADD0C0F5C5 -:1096C000BE8779F7409A64665E09E457769642E56C -:1096D000D95926C287F297E57BDF04F89F53FDD165 -:1096E0005990CF64DEB1A867D40147552CF4664386 -:1096F00006294738CCC13D24E7200F78DA94C09E74 -:10970000581F066786E80FD6AB0BFB39FBDE974781 -:10971000118F0D199F8E46BDDD78F10B930AF4B4BD -:10972000F54A24676D1E1F43FE68ECAD630B4A8645 -:10973000E463A387CBEF4BE44C9691CB33D700F592 -:1097400033359BCBB74E275F9F5B9BA38228F7B631 -:10975000BA8256043ABA3CC050BE4F2F973D08B665 -:1097600066A7F82C9C5E16EFAB4C467EF5C81E141F -:10977000F17DDE8FDBE221FF66F9648F0C799B7748 -:10978000577B36CEDB6314E539019CF71B132BC9DD -:109790005E99EE95695CB6242688AAA2CFFB8E6BF3 -:1097A000018CFB1DE67DE404D0B1069437D2B10FE5 -:1097B000C7067A9D71F827205EB4F97CDB33F591FA -:1097C00013E1768697DB03F089EBB1F2E1F1305AD1 -:1097D000ADBC0EFBB9FE3A4E87D3CF9A83AB61FC8A -:1097E000D356D03361FAE2B49DEB1D5F9624ECC2F0 -:1097F000EE0C94FB8379659401D7FD3D0E8E0F9797 -:10980000A93B03D7DB9F247D3F77B6CB2C0872663C -:1098100069BBC48200E2E9A79ECF40F9FBC99EE77D -:1098200033E685C117D94E4BBFAB8DD7F198D70220 -:10983000E3CD63DA78A1341C6F9EC7FC21CA0FD632 -:109840003ED9DB1F663F90840CABCF367B497E9FB1 -:1098500083D5887CA7B53BB724CA8B76E6396609E1 -:109860004A30D4BC5E3964C6FEBCDE5C17D0BB4156 -:109870006B1FD17FA7E01FA9470AD9A17E74C90039 -:10988000C9DBA516DFD154285A8A7484FA53918E05 -:1098900012F2ABD784F356242ECFCF387C7767C132 -:1098A000BC1676E8E9989EE5E0F375B8B83DD86057 -:1098B00053505F24B6326E077EDF10447DED8A8AF6 -:1098C00019CDC08E31A5B86D28A7AECF8F6A33C42D -:1098D000E2F78C20D64F4F29A476812ACEDF81442F -:1098E000166C95B0CB2689EC40473F53E07BDA04F9 -:1098F000E6580FD9DE2C6E27BA9967B34C7662B75B -:109900008476A286074DBE23DFA0DC3B2D59886FED -:10991000A45E89EC3ED9D03D07FB1D898FB644F08B -:10992000D1967F321FED1A918FFC2AF191DB323CE8 -:109930001F81DCFC46F559C0A700BE9204BE1E166E -:10994000F265E0FB16A21BFC4838DF5AD15FADC5BB -:10995000169247939CF874507E433FDBC0FEC47D53 -:109960004A32DACF90A6B6CE55B9FDDED72F417F69 -:10997000D1575948EF3D60E8CB423B3FA9A8691F4A -:10998000F247D29C92B256B24FD29C28F751D6E001 -:10999000FC1B9A27F9B81D00FD221FD599683FD1FD -:1099A000706FA58FDB0135B43E1A375855D46793D5 -:1099B0007AB356217F34AE04FB08E56F4FD7964546 -:1099C000906F9865F3A09D62B5CC2CC176AC5DBF5D -:1099D000CED649DD641707A6320FCAED734143C0E6 -:1099E0003806E56CFF8E1FA11E5F5AE209A8B8DE9B -:1099F000045FE632D20B9D4E6F721CE0F5E0DF642F -:109A0000DA17758E853CA42F097A76D679939D90C6 -:109A10009FB7C14A78EFECE2E5E7EC8020E83F45EC -:109A2000E6FDB1580BD73397CA030BE23D7102D361 -:109A30007E36633E45CB773C46768CB6DE3BB3380C -:109A40003CF6125F165ABEB7ABE3FAA260BD27CA56 -:109A5000066D531440BB3B1AC7E4792F0EF7A801DB -:109A60000049C1EC7F6FAC9E189EE7F587DA3F3066 -:109A7000A33A8DF4EB6039820D7A57CB7BAD00C7EA -:109A80005AFB50B902F6A4A54712ED27CC980CAAB0 -:109A9000F89C24C60F281BBD808F87AD4C375E38DD -:109AA0007C4A44FF46E8DFA68AFA8152DFE45C8004 -:109AB000B74C6BBFAAC30BF03D6CD4F7472815ED2C -:109AC00031A38DF7EBDCD7376E481BD2FF600FD880 -:109AD000B3C70FD9016BDFAFED180363453B3E37CA -:109AE000A17ED5F479A34B223B2372BD2665F3F505 -:109AF0000A766D5236C90D6EEFD6A2BD2B939D3BF3 -:109B0000059756E34A1F43FB12EC86D46CB21B3E0A -:109B10003D7908BE77CE384D767EE34585EC8F469D -:109B2000B03FD06EB7F4727B96F51849EF6A74BFF8 -:109B300053C89F4E27E87DE4D397A5F1C8A78C357D -:109B400065DC043468C9F6E6211CDA7E2C12DEEBF3 -:109B5000B2B95DDE5858B5251FFBDF2D31D4FBEBC4 -:109B60000B3F4A44FBA4B1F7C3C48561ED96F63CB4 -:109B70004A7858BAD738ECFCAFCB9669FE0D2F1C4B -:109B8000F0E27A3F1D94682D2F5182EBD0AE5CB28B -:109B9000C480961A2B0FCEBD15D73D9B6D627930D0 -:109BA000BF5CD44BB89FD83B33700DEEDBE0AF0405 -:109BB0009FB6FA16D1FADE3ADB62635908E7BCBBFE -:109BC000090F8E282FE2617D6155328ED35037C543 -:109BD00081FE9346B0B3B0BCE1DEEF923F45836BAC -:109BE0007D8FB106EDAF0AB0B7FE15E04E8F9B56E4 -:109BF000E381F5982AEF1BBB02F29B4690BFBFC9D9 -:109C0000E1F46C937C81EFE0BA7F41627BD4A1F2F6 -:109C1000CC1E6ED7DD9CCDED40EDFBCDD9DCDE9CBE -:109C200018E89B84BCF78AD21F8DF66F23F37E86DB -:109C3000FB4EE6B3A97B884E5CEEB85A54F22B5922 -:109C40005CFD0F8CC1F2890AED2798D2FF088E7B4C -:109C5000769DCBB39E09FEC5FCBD2541DA3F64FB72 -:109C6000E7237D2B841D79F6851BC6CE2B19B29375 -:109C7000D6755983AB010FEBECEA4F6A50BEFD4538 -:109C800021F9C62C037D93901EFF1547FDAEB30648 -:109C9000D721FD031B8D54BE2FC5DF807C79AAAE72 -:109CA000261FF7C1CC16C8AF037E32BA3A18DA0BBA -:109CB000B07D203F83C5E5632AE42705E62A12CA62 -:109CC000F908FB6312FA7968DF0083C3F72A21B62B -:109CD000F2800B4E5A6809B47D153F648F1CFB72ED -:109CE00096821F353BC560F12FC5A6D5B3A3988CCE -:109CF0007CBF66E0A801E613EDEA233BB6BE5BA29B -:109D000071EA0B9F33A1DFE4AE6EBE2E1BC53E0091 -:109D1000F09781F6C0DAEC68A1C7DB38BFB33EDA52 -:109D200047B367383D19837AF6F0FDC42AAAA7F530 -:109D3000675ACDFD5EF5C21F037290CA7F922D89CE -:109D40007DED6A9176F0548CBB49EAF3CA88D7B1AD -:109D500092279C6FB4F429212F620F0F4CC1F53B61 -:109D600000FC857E992D52DDDDAFC1FCB68C2FF253 -:109D7000A009E5067692CBF03BB022E0BDBCE7B38C -:109D800029C8376070D37A6DE8A994EB6DA4B769E0 -:109D9000FF9814DDD485E5497714925E8D1AC7EEDD -:109DA0009801DF7F2EF09A6CE37E2EF7EA40D6F220 -:109DB000121CDF77F76B387E6914F929938036F629 -:109DC000384ADBD12FE466AB24ACF7680CEF3FC117 -:109DD00020DF5157427297F2711EC9BB13D29E6C9D -:109DE00027F76799590DC289DF693F069C81FB59A6 -:109DF000F473613F49393C3D9B1C5250406C65FDFA -:109E00003BF6207FF6981D88A7DA9E5F1E477D5996 -:109E10006B61DD32DA2B1176C6CAF49987903FCF99 -:109E20009D39B9E37EF8F6E84D073D7EA28BDE7ED4 -:109E300088DC2FECC42AC923DB7BBFCBD6DB7B833A -:109E4000F97FB8BDC7EDFAC09E68754F983C6F1496 -:109E5000FBB4734BCEC7A09EF97890BF404F570C10 -:109E6000D92BF376477F88EB6AD0EE8FB01B8E3DFF -:109E7000111D40FA9FEFB6929F4E41BB07E0396338 -:109E80001FF80122C765F27925DC3FEC337A56438F -:109E90007F8D779EFEB901D69DD205764F2CDAFBD9 -:109EA0006A2CC9D9D765B607ED32C5EB40BF870626 -:109EB000BFE29CE2F696A05CE4F35F660AE5931DC0 -:109EC00064624B281F13CA47BBE725A1779645411B -:109ED0001EBE37BBFD7F41BAA598B9BCC276F8BD9E -:109EE0004BD85B5D801207E2E538ECBBB384FEC65D -:109EF000FDCF83E9C1F5E4C7B1103D3F7EC5BC137A -:109F0000FD3C1F171A4226EE97203F96DAAEB0644A -:109F1000A8AF1EB70655EEEFB21840FFCF7FF8AEE0 -:109F200037705F31FF15EEC79A7FE7CAE9B8FFF8CF -:109F300078C61413CA9B85CC4F7EE7C58CFBA197CE -:109F4000B220F757338701C7BB0BC4C6561435017F -:109F5000C0FE55F05932486857A86D9027A3D9DB49 -:109F60005103E3CE6B33D0BE647EBBDE9F7E61FDCA -:109F7000DD35A8C7D7B619B8FDD82E911E9FCFBC26 -:109F80006EB43B34BC16E4C473FF689BC18BE35CC6 -:109F90009F6322FE031205697E226D330A3FBC8057 -:109FA000631533843035483C5DEB506A86D3CF5A15 -:109FB0007F6DC6260BFAC306D20DE407BE60F2CE53 -:109FC000263F6A5C3E433F629BBDA9BD8697D39AFC -:109FD000B9601DF051F9B50A37F8981A87F2323D89 -:109FE00087DB0F91F35DD8A1CF479E4F2C0DEAF38D -:109FF000F399BF203907FD46FAEFE9395C5E5D58F9 -:10A000009F25CE013C740ED06654DFCE4279B54E0A -:10A010002179B92A8DE3CB90CED36C67F56CE25FE2 -:10A0200027D817042F873FFB5A97847AB3CDC9F9F5 -:10A03000F27F0A7724BC37E4E413BC6D68E4C1788E -:10A040006DEBA420C71787FB4AFD174B72F47268AB -:10A0500030FF8FDF77727E5C278BF5E6203934CFB7 -:10A06000C1E7F4B1E4792284DF6D601F00DCF3D72F -:10A07000C96568A74C9A69A37934BC62257F6BFDDA -:10A08000CAFE0CB267ABFAF39B86C12B42AB68F2F7 -:10A090000BEACD73C13E01D76DBBFE9C0A342D0B7C -:10A0A0003F779A99E6BD2F2701F7231FEFFB25D2B3 -:10A0B0007B9F95F413FCEF9019E5D70B596437E5B6 -:10A0C000A7F9EFCF41BD1E15DAF16416DA29DC4E8F -:10A0D000AAEF3577A11D38AF2DECDC0BFFD9A03FDF -:10A0E0000763ED71E4DF609DFAEF4BB645B4BBE466 -:10A0F0005C8CEBFB4D26FF28B4EFAEBFCE9B8C7281 -:10A10000F5CC520343FACE973D8B508E9CB1EAEDCD -:10A11000EF33764EAFDD8374F6E4239D778F486787 -:10A120004F3ED279BE81F9C3FBA9473A037D970917 -:10A130003A9F3970553ED2F9D37D57E5239D3719A3 -:10A140003BBCB86E7665FAF7221E4F4CF691FD04C3 -:10A15000F22AFF9BF0E38B11FCF8E2FF1E3F52BB9B -:10A1600091F4E1D19CE1F5A1CBA4A6A13C9C67317F -:10A170007FAD5EC49F61FD6B1633F9255EF9F2F386 -:10A18000879E403BA457263B44EBEF15C59F837E3B -:10A1900085578EBB3D0169E4FEEF16FB18B78505B8 -:10A1A000D0FFA1D9FD9AFD18298FDF17783C9DE3D8 -:10A1B000FD36ED1785BF7689E8D312FC9CDBA9BB81 -:10A1C00025F2C75AD46E2FDABD0D2FCF75A0BFF67A -:10A1D0005490FB671B0E8C25FFEDD2E0ABA154B46D -:10A1E0000B7B2507EE1F96EEFE3006CFBB613FFAD4 -:10A1F000494ED87E74B2D88F9E0A7E1C83E7E23027 -:10A20000FE54D4CBD1AE0113F26F03ECD3A00A6B92 -:10A2100050068E627F0D2EE609A0A8E8D1EFDBB4D0 -:10A22000F3CBAD3E13C9BBADBD5210F76989267F94 -:10A23000561AEA2796E6A0732EB15EFE33C79B98A6 -:10A240003B3EFCDCD8FB971C7EAE4CEDFBB7C4124A -:10A250001FF61B9997EC802D7621971492537FDE81 -:10A26000E6A47D0FFD40FD3F07B328AFE9EB450AAB -:10A270000B2980F745B3BCEF21DD507E8722E477C0 -:10A28000787EF03C9AF571FD02F23C34DCF9B83886 -:10A29000A7C6F3DDF0F60D6C80DAE139AFAE5F6D85 -:10A2A0001FC09AC6AA00F75DB7DB3C68BF34025FE7 -:10A2B00037970DF1E13231158D0F1B849FB771C9AE -:10A2C00047B41F68EC911CE8DF5DE6E17CB80CF652 -:10A2D00049E6D197AE5BD60D7C1806F748EB785C63 -:10A2E000AE7E1D0FE6FF49FECCEB72F5EB579BBF30 -:10A2F000E6171F9C67AFC4D757C4BC22F79791FEDF -:10A300006C6D7F78A572EDA6087CDCF4BF8C8F9114 -:10A31000E4DADCDC91E49AFEBCE01BCBB5C87383C5 -:10A320005CEE07C773033CD7FD9F9E1B7CA276247F -:10A330001A480F7A75E7A968A7E338EDDB65B20F15 -:10A34000A6C8FC1CBADE6E263F6DE4796BA33A45C5 -:10A350009C2FF6FDF66AD49FFB8D0CF5FA12DB629A -:10A360003ACF6C949F3139D461CE19954364BF7F45 -:10A37000D3F3F775B983E7EF5978FEFEAAEDF378CA -:10A380007F185DAB4AC0D02FA1389661E5F62382D5 -:10A390004FA245FC844509306758FB91DAFD34979C -:10A3A000DBCBAF8A381AB789B5637CC6C3F6682F92 -:10A3B000EE4BDC061EE7D392EDDB8E72D2A2723C2E -:10A3C0003FFEC22DCC00F37FDCD84DF224506FF35A -:10A3D000A05CD4FC305AFF56B15FBD52FE3F30C87E -:10A3E000779CFF07F3FF2479F06FDA78DFF49C6C39 -:10A3F00033E046B74E189D87BD81E73B5997F2F38E -:10A4000048FD8CC4D76FE7FADECC25B9E01D4DE7D7 -:10A41000FE572877A2CB073E467F0FDB6F5671DFD2 -:10A42000817E0FD2971B92B91E533C158867B0F7F7 -:10A430002A304EEA03FCEFD523DB87A706E513B7E6 -:10A440000F4F8D289FFE3EFBF04799BED3C867276C -:10A450002ABDF9A83FD7DA017EDCF73DC5E36BB62C -:10A4600059397F6E93385FB2E678CD7F42F30A3C6C -:10A47000CBCFC723F98AE5E9F96A30FF4F96ABB62F -:10A480004138FE97E5EA92FF8A413FE8C8FD04881B -:10A490006E15557D84B7819725B633CC3FDDD8C77F -:10A4A000E3D4D205BCDAF70BC2DE5D94E7CDC07809 -:10A4B000AF4FDFB358582C9842C8636897F96C7453 -:10A4C0003ED0D0CDE3481A56323A0F6E40FF6709AE -:10A4D000FA05EB18DA7FCFA9FEC2BCF1789E610BBA -:10A4E000C8B1E8379FC1D0EE3BFB1ECF37A8FE12A4 -:10A4F0002C6F5CD9AF3B87A8F8EAF335E8D7007832 -:10A50000C94FE042BF4D189D66E7F1F84B2DBD29BC -:10A51000027EF4E313FF77CB41B417A3D53E3A177D -:10A5200068D8CF8DB80AD94BFE7B76571C433E6A5C -:10A53000D85F39F635AA6F1D8BF66EC5EF6B1DE837 -:10A54000A7F8F45A17C51F64C8FD4BD1DE3A92ED47 -:10A550009F84F8B09707A7A2BD9A09F62ADABF9F91 -:10A56000EE9B3A16E1D6E4DF26F47F43BF9BEC7AFC -:10A57000FF36B378B3EE47FFF7CE24DA3FEE4BF168 -:10A580007F1BE7BFC9CAE10D6CB4F2F52AFCDE916E -:10A59000EB5F5BF749B281C649BACD42E7D49A5C1A -:10A5A000D864647E4BCE903C1927E2E9001F3C9EA4 -:10A5B000AFB78EC78188BCCDA58F6B3C9D33791C0E -:10A5C000C2332E4FA1760B2D0312FAE1178AF3F94D -:10A5D0001B449C85166775C6E15B80F8602B6B8613 -:10A5E000CEE5B3B1BD83F3BF889F89BEC8EDE86CEB -:10A5F0008789F8C6DECEF8B912F00DD267E240DFE7 -:10A60000A458984F6E676822E2F3958B06C2875272 -:10A61000F7069DA7C422D9A09F9C0DFDEB0AD09FF1 -:10A62000E278F75AA48BDAE1A842D43DA7FAEEC942 -:10A63000A375DE5488FBCBAADF1879BCE0CBD164CC -:10A640000774662CA378C1B3EF03BF665DAA0FB48D -:10A6500034C056537C6076CF3BE4D7B7EF97868DF6 -:10A66000FB7C38CFC6E36F027D1487C626BA081F6D -:10A67000CACBBF0FA0FDA1AC53C893D166F41AACEE -:10A6800048D7558CFCF0799D0E03D22553C49D9C70 -:10A690007BE5BF47FB69BFA2F9F1833C4EC8D8BF39 -:10A6A00006F75FCAAAFEEB6005B3FAFD4E4303FA54 -:10A6B0003D8D030DE43779399AFCA3993D39ABBF41 -:10A6C00005F9CC76079350FEBC785726F27500E664 -:10A6D0009937CC3C9BF38CB45E9497A30DA8B794A8 -:10A6E0008D8CE21415676215C1FD28E4A19FE582F7 -:10A6F0006FB4F34900D78DFA68519E7F37D23B5A29 -:10A70000C801D61C45FE44BBC2FD1EF6E6F79F5DA0 -:10A7100005F91DC21F7BF895E219E4BF5BA7484805 -:10A72000870BCEB9990EF8FE8B3C6E8FD8953EE61E -:10A73000B085E3FF30C56566BFCCE3D61423E713CD -:10A74000659DAB0BFD835FA4F929FEF4DAB6904C4E -:10A75000E75B8E138FD4A861FB9BCD5C8F34ECE557 -:10A76000FBEAC8FDCCE5F4C7B13CBD5D3E98FF27D0 -:10A77000D925EF0C8EFF77EE53987E7F17699F44A3 -:10A78000EEE72EB1BF23FA1BC94ED1E23CAA86C622 -:10A79000217E78D5AED941015D1C4C958D8FCB2C97 -:10A7A000FAFE9F12F13B5A5C4C62ABBA0AE3CF0748 -:10A7B000EE63E46FD3E276B4389D4015DF47040CB6 -:10A7C00020F7B2F07CA883E27352594892683FD0D8 -:10A7D000CFB07D12C6E940FBFEBC6C827F3BF3B478 -:10A7E000CB24175509E1B7627C473CC21DDCB20897 -:10A7F000C7BBC946E35931BE239EF611B48E537CC4 -:10A800003CAE73D2121E0F9A02FA17F329B99C2F8D -:10A81000ADB34D14E7A9C56D68F11D1A5EAA04BE5B -:10A82000530A1665E17E418B03D914157CCA2A634D -:10A83000FC8790FB4B0D24F7B5F8BACE3C3588FC6D -:10A840007E0EE3406D571EEF11895F2DEEE3FA7423 -:10A850007F72FE788AFB203DAAC56B68FC1246C752 -:10A860008015C6DFFA32B7DFAB969808FE734BA7A8 -:10A87000917FF1DC5203C37554D56BE6FC1731DED2 -:10A88000D6D92616C27E95A015E5A7C60797B35F51 -:10A8900081AE85E8BF3DDCB237E704ACF9232DDD9E -:10A8A000949EB34ADDF2184C07E6A0A41AFD64C6D4 -:10A8B0004CE56A8C6319C8908075CAF6E6CEA27C16 -:10A8C000C2C007989FF6E4AC590AE8897379033B44 -:10A8D00024A8EF2FF87026E5912753189BF0C46F3A -:10A8E000660668DEDC1F3549F8A3CC4EFFB5F909D2 -:10A8F000785FA07F4D1FF97D78DC3FC605223DDCE7 -:10A900003613D9376E118FC9AA457C269ECC40BE1E -:10A9100035792C9D67DB98BABF0FCBD3CC5CDF3386 -:10A92000CECFAD79DC5F4C2A1265679AE65FEA0FFD -:10A93000A0BC6ACD7252FB41B9BADF1CE47E2E3E48 -:10A94000FE5B074AE91C4A8B3365CC913EAB94E22F -:10A950005174F987ADFC5C94298E74B41F5A8DC272 -:10A960004E15F9A834FF77F3C3ECA4B726FF4B09C3 -:10A97000AE8733077F948B72EA0613D8F1C3C8A55C -:10A98000D4422E97CE196DED12D86D6FA4FAE7233D -:10A99000BE8E47CF99E28479CD8EAF343911DEC0B7 -:10A9A0005332CAC904416FE72C0E9FB3DA272D84B6 -:10A9B0007E5BADB09EA17D825FF192BDEE9F25DDF5 -:10A9C0000470B74AC27E676A2CD9ED856A2C9EFB5B -:10A9D0002D6B7E87E2AE652107642107DE6EE9CF2D -:10A9E00055F240E5766F94D1DE7E479C3FBF93C51C -:10A9F000EEA81B66FFBB299FDB873364B514F9C83B -:10AA000075FFC4776A812F64932748F44BB7ABC8AE -:10AA1000EF87EC15EE7EE847CABCAF1CE3965BD32C -:10AA2000EF2BC7B81339CEE3F685E537E5733EAEB5 -:10AA3000C67A88B7E8A672D463FFB0FE62A1BF925F -:10AA4000BFBFBFC17ECC1CAE6596810C05D6A7C723 -:10AA5000EDDF8A74BB30F7433A8FFD41CA5B1F605C -:10AA6000FCC45BC68E49312887B224C1B7DC5E3B8B -:10AA70005AA0F93D79DCFBD162EEF70439C4E32B2F -:10AA80004BF93D9BDA598CD673AD88BB98E2E0F761 -:10AA900096A69467795A616AD3D98082727ACA710C -:10AAA0005F0CD28FCDF297FB4A47B6C398DBA886DE -:10AAB000CB95A96A581EFEDE58A8CF7FDBA3CF7FB7 -:10AAC00067C25F0BC2F31BDDDEE771DE2F493C8EF0 -:10AAD00033703573D03C5D5200EDA5E2E753BA8484 -:10AAE0007F97E20D7F26F673CF4F60549EB8D7B2A2 -:10AAF00013EF1F687E72599417BB9925338EF0416E -:10AB00007A764012718B2E3A0B6207EF7670FC4119 -:10AB10005D13F47370AE4AEB38D16660D7E15A2FFB -:10AB2000B790FDA4AD8B562BF037E0B122D512853E -:10AB3000FCDE6AF46CC6BEE428B38A7AB532C6423B -:10AB40007DCB3F56482FADB29A29F4F5F08351944E -:10AB5000AF50980FE33500C45998BE65F4049B705C -:10AB6000BE500FE7DBEA6424AFE40A13E969E89713 -:10AB7000E87A78A321C868FE950AC5630A98B57576 -:10AB80000723D1F7C7C4BA960D2C44722CC5427264 -:10AB9000EC08F48FFD1E7E5DEE223F5BA17A3B96B2 -:10ABA0009FB714D0FD9CC6C17B478A01812B1476C8 -:10ABB00094B397DF0FD3D6B3265F22D73348C15C57 -:10ABC0005722E320AAF80F4C2311F53E237B5E3B6E -:10ABD0003F4CB768E58A17C7491EACCFEF67258A97 -:10ABE0007C6A4116AD37A8123294A1FDF1CBBF208B -:10ABF000DF6AF261C7DA1F937CB814FF85DFA7FC18 -:10AC000034BB83E3BF200DD7A11C559086FAAED587 -:10AC1000E9517D61F9425846B3E3103F500FF233DA -:10AC20006B3ECC55C2FC83A9052A094BA8E78D07CA -:10AC3000380E5BD5345CAFC38C5BCFC78DFEC78E3F -:10AC4000EB8671A1DE613B8C0BF5765BCD2143CCAD -:10AC500070E34F5071BCCB8D0BE824A44E137806E3 -:10AC6000BE08A05FEAB0DD40FC394DC4EF1E4EE0E7 -:10AC7000E3B1427D7C4D6E148C4FFE587D3CCD0D72 -:10AC8000D2B636D4CB8F596376223FFE52F0C9D16B -:10AC9000E81FE7A25DF5CB39F94750AE4C895DD589 -:10ACA000864C328D7593BCD1E4DE85E40F2B300FDA -:10ACB000F2EF9A02A0FB0FB2DF9A839D1F713E96BE -:10ACC0008BFA0FE4C3B70A122E855FE3470D6EE4DB -:10ACD000435C07837C1801BFC6476C7A3705206E3A -:10ACE00007BB1453CD4E65AC89C789ABE943F30369 -:10ACF000269E6269E2F3581520B86F703E42F168F3 -:10AD0000D78EF2FB10DED9633ECB50B0B27B6E0122 -:10AD1000EEC300DEBAFF9FF046DAE5978B97D6E0E8 -:10AD20008A5CC7DAF8D28CBD142FDD38CB46F1D35C -:10AD30009344DC69E31203C511C1FE8DECFE066687 -:10AD400009A21CBE46D8D15A1CFF8B12F77F060EF3 -:10AD500098D53D61F6F8A571D42AC5690756F278F1 -:10AD6000EB417BBB9EDBDB837A4DDC1BE81CCB65B8 -:10AD700079E7DD2AC553BC24F1FA81B98CDBEB7588 -:10AD8000A27CA143C45BC05C1287E2D93BBB18F133 -:10AD90007FA73D9BCA5364AE7FD8B7B8FEE9CCE22B -:10ADA000F664E7ADF9540EFB825188F7F932D8CF3B -:10ADB000FCFC9EEF0FF2F878917EDA4D05DC2E1B3D -:10ADC000B473443ED22FBB2BD3BF05F965618937DD -:10ADD0004302BE9A6FE27E57E0BB6D7867A6863568 -:10ADE000ED5672F0FE45D3BB861CE2BBC789EF8AE5 -:10ADF00081EF72747C172C18CFE52F0A538DEF0664 -:10AE0000F9AD30325ECEFF148EDBE9ECFE7D03EE51 -:10AE10002B7ACD44072DEE31729D87C173C2C8E1F4 -:10AE200071C932C1B36F3878AE84FFC3F92D89710F -:10AE30003E1F691D24292C602F1B5A071BDDFE10A5 -:10AE4000C23FB81ED6F07DE42570CB36E28B9B6FF7 -:10AE50009539BF46737D8EE74DC9307E9D18FFE65C -:10AE600075BE6A27D6AB93080F75BDF51417C6AA31 -:10AE7000F9B99107FE203CAD42CE69E75BB345FBD3 -:10AE8000998E3A23FAE366D5EACF9966DBF839D68C -:10AE9000CDB38C1F85DB3DB3D986CF308E71369E06 -:10AEA0004369F5818FDE2F183C872AC073A823C21F -:10AEB000CF720EF81AF9FEB584C5DBEE06BE2BF88C -:10AEC000694919FAE326272EDDBD11F24F6E2DA236 -:10AED000FC6B89B7DDF31696EFC8A77CB541223E1F -:10AEE0003D57CFDB1756DC3A2D2B06E5BFE817D7C9 -:10AEF00013EED7A3FC9D7550CF3D3ABB0CE34BAB93 -:10AF000085DFE0DCDD8CCA6F1C63E721BB8B55F26B -:10AF1000FB554789F2EFF17EDF18FBBB328C33AE75 -:10AF2000CE1E9883FCFD46D94B45983F227D36675F -:10AF3000B873AFE24229340AF0521DC7EBD7963DF1 -:10AF400095827E98EA2A9E2FF654AECBC172C3F941 -:10AF500039C3DDFF8D12FB9EC1FB6C625D3FEFFDCF -:10AF600090EEAFF92C9207A7E89BF021F91D984DC0 -:10AF700072A0EBCCE7CD52D0CF3DC9CBE350AB2C88 -:10AF8000AB92517E4DF79BCA319ED861197B04E389 -:10AF90000C6227548E47BA4EB230A22BF0794C2166 -:10AFA000FAB5AFFA2C230699CBA6E7738D8FEA3456 -:10AFB000FEAED6F331AC4F57E1F8CBCBDB91F818AE -:10AFC000C6CFC0F6B3BFA5D73783FD45ACB7C8FE23 -:10AFD000479203F8132E1787E0E8A6759586D17D72 -:10AFE00039B8EE3AB4753706E13019FAE81E4FA6C3 -:10AFF000E429A20BAD133C16D24711706BF0A58368 -:10B000006C636597C2853F8A662F72081C8E441C4C -:10B010009797433B2F8B1B820BC6BF1EE9C0D67090 -:10B0200078B64B4D5C6E88FD81E6CF68D0E6DBA339 -:10B030009F6F4514BFD7EE46BF13B6738D2DFA3AF6 -:10B04000B81B853E9D65F13D688639DCE49C4FFC6C -:10B05000700B683427CCFF6FA9FE3AC447AB147855 -:10B06000B93F8BFCF114FF01F49E5118660768701C -:10B0700045E2A3610479180977241E86E8D3978CEA -:10B08000A9761F6E705E11F369B5F3F53A30DECC28 -:10B09000DFB550C01485FC9B5211C5A16870BD2955 -:10B0A00071BF6440E2F78F347B2212BEC87B7A1AEC -:10B0B0005CE8EFE3700CACC23B820F166A7E3E4E3A -:10B0C000AF24019FC9200D7B1EFE60A141F3B3EAAE -:10B0D000E819797F4DC39B16E715892F2D4EEB920A -:10B0E00073B78873E591EA4960A7A7C65D8A47ED03 -:10B0F000DC2E6ED04FC9FD4003F7DA490EC60DFABB -:10B10000298F2968DF4FF21C52D02EAFAD81090084 -:10B110000DDE147E1F0DDF0F64F8B71492DEEE1FF4 -:10B120008FFE959F4C7D82CEAB3E30703F7D247E5E -:10B13000F68C809F91F87D24F8A3D27C4FE2B8670B -:10B14000A4BE0A2CECCC16E742CC9F85EBC1E9C823 -:10B15000AA44FF11C8D7AFBEC24D2B16015DCB3339 -:10B16000FDBFC076B730DF64A46F5C8DDFC8CF4908 -:10B1700018F9E1978BFDE364A177CF6FE3F11ED55A -:10B18000DE518F4D44BBF198910569DD7B497FDE2F -:10B1900025E03F0F2A3684F59FB193FE5DFCFA7CD3 -:10B1A0008AE328D86C187A4F03FE8E0A46E9DED36C -:10B1B00028DE1BA7CB9776A7E8EA8FE9C9D6958F3B -:10B1C0000D15E9CAC71D2BD3E5C7F75DA3AB7FD526 -:10B1D000F12A5DFEEAFE69BAFADF3A354397BF7697 -:10B1E000E0BBBAFA1F0FFA0F84DD10F0F615C2BCEF -:10B1F0001788795F7F719EAEFD9F62A61C437E5CBF -:10B20000B081C7A557028674EF8B7470FBA209FE4C -:10B21000207D27B3018A076C084A9E10C3F836BD0B -:10B22000FDB1B4A78BF078B9FBF805AEB90634B917 -:10B230004F170AFBE32A76158F67FD7ABAE6B3BC8F -:10B24000BF8BAE66B79EAE56554FD7E8423D5DED1B -:10B250001E3D5D6327E8E9EAF4EAE91A5FA3A76BFC -:10B26000824F4FD7A4D97ABA26FBF5744D5DA2A7B9 -:10B270006B7A939EAE99CD7ABA6505EED4958F44DC -:10B280006F4D9EE6B42FD7D51FA4BB6F09C537E518 -:10B2900075FC50D7BF46F700FC41BA17301187F94B -:10B2A0003FA47BE1283DBD416F8D1A359EEC8D1288 -:10B2B0004C671708BBDE37BCBDA1C99F70FD1EBE21 -:10B2C000AF1D492E5DA2CFC43E77447D16B1CF7D20 -:10B2D0008F81BEA5413690DFEA56C19F87A338DE35 -:10B2E0003FC7A2ABA11ED4990070BD8770C338EFD1 -:10B2F0004515933FE2BBACDB88FDDFCEFA289DC34A -:10B300000628F53307E9EF79CC43E902E63309FF74 -:10B31000C4F45109E8B7E8AF40FD7F61EE5B1FD090 -:10B32000B9D61BF157F40EC547787E92C7D849218C -:10B330000F4EE0390AE4CF5A07F5ABEA0AC3DB49FE -:10B34000E16F9C3749223DCDE4288AEF9A778B4400 -:10B35000E744F3FE93A78B46493C1E24226D6DD62D -:10B36000F0C7F7473B47A904471AEB16F61CF3DB77 -:10B3700072A81F7EEEB1CB44FB58B785C3F7ACC4AF -:10B38000940971741D8EE8EAB670789E35320BE22E -:10B39000F369E65791180F2820A2F83D8C22E48F1C -:10B3A00079FFF95636FAE9A2A25E98557D359ECB13 -:10B3B0000456919FFC7B4CEF27BFBD49223FF9F714 -:10B3C000004E48DD0E8F1BED7C2DFFB080B71AEBD1 -:10B3D000C1F7247793847EA97F587FFB7FC8EBFD5C -:10B3E0009DFD0DF6C3385CF883F4D3FC9E85061EE4 -:10B3F00027317037DF1FEDFE1EE3FEBBE640650020 -:10B40000CF45653094308ECAC8EFC7EF1CC5FD9E8E -:10B41000C9AC8FFC0BECA866D7FA49FE9688FB17DF -:10B4200067C5B9E2A22E0BC3389D927D87E2F01C5E -:10B430007111F0601FEA61C54FEFBF946C792D8EDA -:10B44000FBFD8C4EBC57A9E9FF91F9546127C3EE6F -:10B450003100DF350D677FBC5AC4E3035A5BFA46FF -:10B46000E139A006CFFD2DC7282F2B1E86E797F8C0 -:10B470003E5478FCA3C905E561F24EB141FB303979 -:10B4800064B4F9E89195352D7D74BE6814EF58AD1C -:10B490004D5BEEF087D989874609FBC71260B84F2C -:10B4A000E02A0A53E524CAB5FF627C1F6D76433F4C -:10B4B000E1F2F362020B3F1F686F394EF0AE91FC70 -:10B4C0007EECC49CCB4256A08F59C1BBC0F07DCB53 -:10B4D0000DC7308ECB645FEE09A923E3CDEC562E69 -:10B4E00084CBD3B723E4E94F5A068A719CD6967E63 -:10B4F0000D5F0CCF6B03C9DCBE6E6DF984BE1BC043 -:10B500003E447E7B754BC12115CA3F80BFF8DE8E5D -:10B51000D9C5E162175DA457E7083E405F5C3AF089 -:10B52000CF07CD46E2B315E9363A2758F166DE215A -:10B530002FAC67134C57FE06700F8DC3F16412F2E7 -:10B5400014F8C987F2C194A2D079419C6306D1E96D -:10B55000EFED4FC3AFC9CAE89D2453BA8DEC822BDF -:10B5600085F36FA3F83B4083F6C94517C9FF150261 -:10B570002FDABB4F1FDCC3C8DFB3E25EEE375C518E -:10B58000CFE81E026B869F8A21BED1F44C02BE50CA -:10B59000031F3B5A60C541170FB55898BF00EC1008 -:10B5A0008CDBCF19A2638757716288C1C66A571DA9 -:10B5B000A60F4D38D181E2EFE1895FF4618A67041B -:10B5C00038BEA38905D13EA6B37F18DFB904F23097 -:10B5D0007E8C288FF1F37CAC288F9DCDF3E9DEE7DC -:10B5E000A46A042CE23C2BDD16373517E5F402C6BD -:10B5F000EF818B7720B60B7D916A8BABABC6F2DB0C -:10B6000019DD0BD1CA7F2ACA936D1FB5E7A01E9919 -:10B61000A56FBF45E021C9F651C7243AF7D2976B11 -:10B62000E74A09B6F3C7A87D89BEFC51D1DE6E3B5F -:10B63000DF3709CB73F5E33F28CAA36D5C1E321FC9 -:10B64000E3EF1588F20744B915CB717C0F2F97B53E -:10B65000773944BD75020E8CA923BFEB28EE77DD48 -:10B66000D1622921BAB45C24FA3CD4C2287F6B5140 -:10B670001CC909430DC7779C8BF383A3990DFB4E1F -:10B68000C1AD42AEC5A8FD5EEF30724F2B8F73F097 -:10B69000771864B789F8C96C137243ACC741B921F4 -:10B6A00035793893713FFDE5F81A16DA05B48F3213 -:10B6B000E007F93AED1E03F387C9CB946551CC1F1F -:10B6C00056DFBD204E974FBC3D4557DF352B5B57AE -:10B6D0006E2B2FD295B35971B46E960BFE8A2A2920 -:10B6E000D3956BEF43B0DDA29E58BFC6DC6B74F5FB -:10B6F000CE17AAB1C8E327A782FEA178068F05E579 -:10B70000C3727B7612EA9FA75B2610729E85750531 -:10B71000462B7BC6C9E3DC9FC1F34328FF598B97B7 -:10B72000BEEF817215D25DB0EE54A8DFD5E2A0FC69 -:10B73000E32D6E4AB7B7A894FEB4A590CAB7B47803 -:10B7400028FF18F48FE9A3D00F7E7FA4A586F21BF3 -:10B750005B7C947FB86536E51F6CF153FA40CB12E1 -:10B76000FABEAEA589F26B5B9A29BDBF2540696B15 -:10B770004B3B6F57C4F5CC33E25EED3395FCBE7C9A -:10B78000241D3B8B841F52C4ADD887E2563A8B30C0 -:10B790006EA5BB9FEC702D6E05E74DFD59F9FC239E -:10B7A000FB7BAA88DB6F45AC6F55345FCF743E9C42 -:10B7B000D7E3591D0D7C9FDAC4E990D53340E5C924 -:10B7C0004B382D9E12FCC95C01965641510254EF34 -:10B7D000ACD45715CDCFD529CE91B9619E15E2FDD8 -:10B7E0002662BBA001E1522670FDA9D17570DE4E24 -:10B7F0000E27CE7F3878F70B78E5F26EFE2E4B4D94 -:10B800004708D93ECADB44EFB25866FB420AA42E71 -:10B810009F9FDE8928BA38053667206F2E5EC75491 -:10B8200048D396E9F76D290BCA74FB22F9E2434C21 -:10B830000539602BD1EFAFA27297EBDA59D27EA80F -:10B840002B37B956EBCAE7DD95B5C68DF84CE5E761 -:10B850004BE60DAB5832C0B5B07323C1F59198C714 -:10B860005949A5FBE5817D5ABC05DF5F3C29F40BF6 -:10B87000B36C207BACC0C9B3F9B10103EA874FFFB9 -:10B880003596E4D2138F1B82E84706F164C0F55F5A -:10B890000C661F9697B27ECA63A80CE6C73255C6DF -:10B8A000FC383640FB2BD85FBC5F8471ABB2FF71B4 -:10B8B0002BE4CFA4FB9FE4717321D29FF9829EF900 -:10B8C000DA7E6AB312E95FEE2F22FF8DFE7E5D9B6A -:10B8D000D85FB459B99F6E95B32209EDD6B323C48E -:10B8E00039DADDAF1E5D00F8B6271FA274D02FA78E -:10B8F0001A86BD3FFE4504FF8F026617FCFF05F266 -:10B90000FF99F2B713D10DD5903B40EBE0ACE47555 -:10B91000CF45FCBE2E737E841D17CE4F11F855F611 -:10B9200055BAE7021E9537733C013634CE132DC746 -:10B9300073300E41CBE78B38DDBD2DC9B9D561DF42 -:10B94000D5624EC742D65783FAAAB0C4E00962C78F -:10B950005E87CE8F61CDEDF0E27B084A19F3A098A7 -:10B960001BC53A56A3EE56FE26539C9572F86AA65E -:10B97000C27EC6660B318C4BD3FA65C21F728F90A4 -:10B980009B5F38AA63E99DCB9441F9873A927D6128 -:10B99000F3F6211F7DD169E4F33AAC2F2FB471BFC8 -:10B9A000E1A242535095F05DB50E7AC751D921B14D -:10B9B000B42C846312E1811D8C263E8CDE3C9A05FA -:10B9C00060BD943BFD9662F4DB85D483861CC193F5 -:10B9D00050AFBED8B413EDB302C48B0DF1726B6ED1 -:10B9E000350E9D5B48F85D28E63DBE98D3AB2D3DF6 -:10B9F000021EE6F1E27BA78B3A353F8E7E9E0F96C4 -:10BA0000577D07DF856CED93B95A8BC0E77A63DF0A -:10BA1000E8B9D0F5997E804B2638C717A30DBAB97F -:10BA20008205488FF3F9D53F2EB1AD5924976A4866 -:10BA30008F8F37B0F0F3532D9D58CCE5EFB1221E18 -:10BA4000876A771F257E1CCA1F39BA00F0F1B481BE -:10BA500015D2B9B181EF8FB5781D19FD0078AFA16E -:10BA600058C845D6C6A6A1DE761A28FE54EE8AA28C -:10BA70007BB3B253A1B8F7365BB5E34EECC7A1D0A8 -:10BA800039D11479621FDAD166A7611CDAE14776F1 -:10BA9000FEB00FE386E47485A1DFABCDA1703B243B -:10BAA000CD40F1808AB3DA82E74AF9B6139588CFA0 -:10BAB000435D3FA07722E4EF8B981DE117330A9294 -:10BAC000B5B126EA3F90A688F766BCB56313C59169 -:10BAD000888AFBA19A4F70BF7DC471DE8AFB02D5B4 -:10BAE000B688FC81F715F37DA211CF0F21FFF8CAAC -:10BAF000F34E945FAF77AD89CB427B3AA8902D523D -:10BB0000F8D7D6147A0FA1CB44EF356878CD0C283E -:10BB1000BA73C8F4667DDE1C711E698CB827B75CE9 -:10BB20008C8F2797A1B0F918DD7CFFC65C36DAFF51 -:10BB3000DC572CDEE914F97B447EAF3190E201FC46 -:10BB40001CEE5A9489F3BAF0829FE2CE47B2FF27E7 -:10BB500015AB62BC80D540EF0287AC1887BEBB85B1 -:10BB600079D0CEB30415BA07B047C8B35C1BE7FF62 -:10BB70003B4AF87A8D4C733BF8BA539E890A4623A8 -:10BB8000DD1CDD650158E7C5AF4E652AE8C15C875D -:10BB9000D780FEF7DC669307EDCF29BFB0119F9CDD -:10BBA000B7F1382EA5F90115BFB7EEAC2854C3E0A4 -:10BBB0000EB6383C289F76B6583C181B1F1C41BE59 -:10BBC000E6380D143FAF1A783CE72EB11E7715F317 -:10BBD000F788760A39B34B09CC403877013D316E8E -:10BBE000FFD0066E1F2F5F65213896BF9E43F6D5A6 -:10BBF00048787BA2C5EDC94578361852D05F55B953 -:10BC00002E773DBEDFB1DCCEDF3796638B1EC3AB34 -:10BC100011ECD74686F67C6BCC359EF961F25D8ED1 -:10BC20009D58887C25CB8114F4E7F43C7DE1268C7B -:10BC3000E705FA6DC57CA8F8839B307E77AF3D9011 -:10BC400082F1BDC78A3FE2E50981AD18DFDB577C91 -:10BC50009297A707520C903F5E7C9A97E705B662D1 -:10BC6000BEBFF82CCFE3D91BC8CE53C5E76F0AA0DF -:10BC7000BFC5E4598202F9E7007F092CB16E919E9D -:10BC80001678D1CA9FC3EFB001DB2FD2C8F283A2CE -:10BC90005DCF08E52F8AF2DE11FA7F45B40B8DD017 -:10BCA000FEB068776484F64745BB632394FF4A94EB -:10BCB000BF3142FFFF2EDAF58DD0FE6DD1EEDD11E2 -:10BCC000DAFF56B43B3E42F9FBA2FC3F22FAFF40AA -:10BCD000D4EF17DFB3ED1BDE47FF7D36C811944B61 -:10BCE00085F60D71B8CE77B69713FFB756F0732A65 -:10BCF0008DDFB32546EF0EDF56C2DF3BBBAD84CBF5 -:10BD000071A584F339F0E1C3C877CBDF94299EA8ED -:10BD1000D5E039154439BADE40F6C0F2D7F97E7D58 -:10BD2000F93A25187E1F486BAFC1BF06E103C66D07 -:10BD3000C314D6DB97C5FC9CD1EC767B6AC3E4992F -:10BD4000D1A1CF83BC602877417E53DC78E1BAAAC9 -:10BD5000F6C2723CEB339005A2D45B42F88E886247 -:10BD6000177AC151DE5188F0D9147A3F4193F3CC50 -:10BD7000E6D6F935DA6C0ABD2727DB79F9945F4CF2 -:10BD800074A09DD5C6FC7D5E6CEF56C88E3FD45E18 -:10BD9000E640B967B22F70E0FAFDB894E3BDBAA1EE -:10BDA000300AE5B5FCA081E4F711075FEF3BDC3C0E -:10BDB000CE0AF40ADDAF0279ED411D51C042AB500D -:10BDC0006EEE7DE8E05CEEE763F6B115747F493B0B -:10BDD000579794B07D406D09C74FA6D0230AEA1744 -:10BDE0004877958B7B3701EE8FCA54983B35ECFE34 -:10BDF000706D89CCEF3D69E7A1722DBDAB95B15255 -:10BE0000D19D23A4DDA3CF9B22F48612A15772DA21 -:10BE1000414EEACE4F1CBAFCB74A849FC7C33C6868 -:10BE2000C74EF9C5069287E751BF4923CBBD41F9FB -:10BE30002BE4F12E4400CAD100BFDF7E6843D9AFA6 -:10BE400090DECBD719E83DEB2B95A30AE218F090D2 -:10BE5000E797482FC0845270DF74393CE4197D7134 -:10BE6000F4DEC765F091F768791CCADB3CBF42FD80 -:10BE70005FA2372E83AF6725CF713FD2D11925EC52 -:10BE80006A6000F4DBC54575E1F9BE49F853B43882 -:10BE9000652549E1EFF58B7BB2B2E0E3FB99578D65 -:10BEA000CBC1F78A9AC8BFBF62DF3D6EB4DBD71A39 -:10BEB000FC0ECC1F8B9B3680E32C874D3FE26F2F0F -:10BEC000F641EF72BE7D33FA4DBA8326ED5DCD109B -:10BED000FEB30FE38FB4773BDD64AF897CD5CDD55E -:10BEE00030DF6EC5518C266847C9E44D46B049F72E -:10BEF00099D8607DBCEFF7F41183E8EFC64DD520EB -:10BF000097F64531DDBBA5FBD0CF4EF9E99BF09DFF -:10BF10005218EF4619F6663B9F99B5C976F5103C65 -:10BF2000BB9FFDEEA655E8B013FB1427E3EFCD9FB2 -:10BF300051FB6390B4B05F595F82FBF5AE1389E1AA -:10BF4000FB75AD7EACA8DFD03BD0F08C4AF53B4A08 -:10BF5000801FEA7B06624A08DF0315E1F563841F50 -:10BF600020ACFEA6AFAB5FA8C1F3CCDB3797F0FAED -:10BF7000DBB0FE59B53F91627A22E089BFB4FF9DE4 -:10BF800004FF08FD1789FA67426F53FDB3AC3FB158 -:10BF9000348BDA3D85E39C7BE3ED0A31EF443CC70B -:10BFA00079D7E6FD197E6FC13E707FA734A9F8BD31 -:10BFB000DBD2E140FBCD6AECF0A11CCEC5F7C72671 -:10BFC0000CA5CFA2F2187FE9F7487EEEB6B0F85A7A -:10BFD000E4D76603ED6F7AFA0D0F205FEE489BE819 -:10BFE000C0FDF33E535F5909DAAF076C64BF1A32E4 -:10BFF0003FB5A2DFDC5CC0D7BFD5D9E42981BC3511 -:10C00000BD84DE0F95EF5DDE4DEF98DFC7DFF752A1 -:10C010007E6CF2EF46FE0A2D2F5C18B6BE7797F2C3 -:10C020007B96EB5EB36DC0FDC13AA3A7A300ED7094 -:10C03000BB42719FCA8F0F4E23FBF0E70646F21FEB -:10C04000E65905FDB6CD55E8F7300C94CEEB2B2123 -:10C050007CF87C55502F234191F07ED0FD8ACF8211 -:10C06000E71D6661D7EDF0F0FB61DAB81784FD7962 -:10C07000A184BFB7B623EDC27B8B5DF8FE8389EE4A -:10C0800075DA961942A618BCE7B6F3D462A46774B1 -:10C09000FF3ABCE71C95A238707E3FAD85323A97D7 -:10C0A000EBA6EF817A03ED1BE29719BCE87F8CCAFF -:10C0B00035E9FC1D361827DC1F1233DAFF47A4E7E9 -:10C0C000B837951B11CFEEBB0DF43EEA83EE772D0A -:10C0D000068033A65CDFDE3151DF3EAE5A5FEEAA4A -:10C0E000D59727CED297BB6F3745F875F4F9268DD3 -:10C0F000AF4026D8404F45F1221665BBD082FB9E4B -:10C10000B5AF4531A2CFCA4D1D05B83EA307085FA4 -:10C11000514551E417589B6C22B9BEB694FBF50FFC -:10C12000A79B6EA43CCC0BF96347DA51DA8F5C8293 -:10C1300017DBA9BF62FF3616F61DFDF2A3BD9652AE -:10C140001E57C3DC15E8C763240F9F95BC9E438828 -:10C15000EFB7B8BF624733F7633F388BC741D20CA4 -:10C160002A70BDF3FA31960D7DB82F8BB1B5DF8DF6 -:10C17000F19D91784D14E70D3BF0762FF29D9FBF16 -:10C180001BBD46BB6785DF2BE8D604BD8B366BB481 -:10C1900078EF4FD809B1EEF892B6B0FB1A89C26FAA -:10C1A000F2F0C47956D41FFBC43B2283FDA9342886 -:10C1B0000F79457F54A9E6AFE1ED3769E73C229F4F -:10C1C000E0E4F97D47E26EC4F5B569565C19EEF717 -:10C1D000D70AFB2E36CDE41D05F37AE49829208D8D -:10C1E00081BCC28E18C12ED817C7C735BD1E15C059 -:10C1F0007B818FB8CBE99E61AD80FBB94ACF3BB85C -:10C20000DE07601DED84FE1F7179AC65E2DC340051 -:10C21000F051A8159828876ACB68BFFB88D763457B -:10C22000BDF9489AC78A71DAD664C581716B716E9F -:10C2300085DE897BC4E277A0FD13078AD484E749B1 -:10C24000E91D53E97E1DE0DA50C18F1A98886FC44A -:10C25000F8C27881CF1DEE050E7C97C195BBFF5FBC -:10C26000D04F1F8FFDC5F0768827A7C0D3AC52955D -:10C27000E07689FEE3173C47F5F1A7AD22AC3F41DC -:10C2800047D35416C47D9A36BED6CF60FFCC4BE759 -:10C29000006B7EC5F1B62A9DBF8F65BA8BD17EEE4D -:10C2A000B94AFF5EE4B381E428927729EE942AE448 -:10C2B000A394635B67E0BD8B35BF8AE2E32CE4FCAB -:10C2C0009EA230CB7538EF04BF03F118B95E938F8F -:10C2D00074D421536A74895CBFC90A6B97E32E5DDD -:10C2E000C7C96E5755FEE861D673C47A493E36F029 -:10C2F0007DEC3F725D6F8FFE602CD72361DFE5CB55 -:10C30000E7DBA4FE75248793155A67E911E3E13B47 -:10C310007B98979841C5B8E8DDA54EC1C7A0974A5C -:10C3200091EF1D936CFCBC9DF8ABEAF90DDFFD3578 -:10C33000E42FE0EFF3815AA9C73AFA482FF6F80B39 -:10C34000B0FE36C5FF38FAD3B71D4FA2F72BCDD1BB -:10C35000FCFD5153C47B299ABED85DCAFD486AC40E -:10C36000BB9BDF34ED4E4B2B7678B0BFB77F6B496C -:10C37000F8C7DB3F6947BA57D9604D3F5372F32680 -:10C38000BCFF6C7D93973F0DF980827859467E976C -:10C39000C31977D2FC5BDF33933FAB54F66CC63CDA -:10C3A000FBBD95FC717B0F4C9C8DEBA4D55EA1A2CF -:10C3B000BD7F40ACE37F1569E4BC6493C78FF64052 -:10C3C000E4F7674B35FF9BE77817D0B7749789DEA2 -:10C3D000711A8C8FE8B2F2785461872E10F26CC11A -:10C3E000C1F5198718BEC351F75A29B45F60AF4E23 -:10C3F0004478522F4ACC0FF26F9B389F4D753D27E2 -:10C40000A19C49731DA944799FCEFA56A1DC486FBF -:10C41000D29F97A55E54A8DDBE142FF5873F18075D -:10C420006A62624DC7F9D92A94F329FCBCC5E48835 -:10C43000E271A1EE6ADD3D6AED7DDBB7851C350159 -:10C440004E8D6590DA147E6F3FA2FEEF443D19FDDC -:10C45000F6E8FC771C3D4EFDDA944FC3E34D715F67 -:10C460004A426B193FFF043C05701FCA62E3F8792A -:10C47000A9D7AB86C7DFA682DC359761FC4980E28D -:10C480004492C5BD082DAE0730E044BF9B16F7B1FE -:10C4900093E9ED112DD5F6E7B9CD32ED3B8A5FB5C5 -:10C4A000F2FD413B0B5A25F48731923BB91BF8F959 -:10C4B000B4E617BB0D1713EA257C0F97C6EBA63819 -:10C4C0006ACDAE02FA92DC5917F1CE94F68EB661BF -:10C4D00034E78B6D2D0EA2A3569EE68FA4A3FE9C7F -:10C4E00053AB977A3195F9E3C3FB0D527FA9CDFB8E -:10C4F000891F522F6650F9B616F532FD678FD07F2F -:10C5000032F1CBC8FDA751F9F6D0BBCEE9808A9FA6 -:10C510000EEC77FA54942BA1A99E61F09C7A8F5E61 -:10C520004E8EE9D1CB5D0D2FDB14AFAB0EF0BDED20 -:10C530001E83A78B61FCA9BE5E4DD66F9CFC5D6B14 -:10C54000AD7EC83513EB2FE3F5BF754A5FDF577932 -:10C5500020B23EC177FD457DBD48FA44C20B70252F -:10C56000DC1406D7248BFEF7DACD9E7B095C09B775 -:10C5700084C175835B5FDFBF6A78B86E2C347F2D12 -:10C580005C5ABDEF4CB8B27A91F39859631E01EF33 -:10C59000BCFE2DB3AFACDFDB967C7DBD3B9A23C7E1 -:10C5A000096871DB3A7B24BE99DBEF0E36407126B9 -:10C5B0009ADD11C71C22FE8BDB0DEFE07F93197B08 -:10C5C00060B46FCEE804C4BFF7F64755BC1FC3F58F -:10C5D00015ABE5EF56C2BEA434FC5DEE21B8565350 -:10C5E000BF2F61BC13E9598B07EDCEE25466494673 -:10C5F000E3CB1DCCC6F7C7EA476BF29AC79717097A -:10C60000DC3D9BD2BDDC49EB3C1887F07CD371EF5D -:10C610001DEDBD67F4F8A1FA23F95B343C994CDDBC -:10C62000F47B1D06EA6D1ED40FEF6211B4DB75B307 -:10C63000398476B516877A3C7ACED10495DE3D589A -:10C640008DFDCFBE65EA1ACC4B87E3D5E536BC3706 -:10C65000D5AFDD2F5D83785B66F167261AE87CB580 -:10C6600000F7C3CC172F2E23FB4A878BD3D0E0A92A -:10C670009638FEA3D2FC0FE338D586BE1D3EFCA63D -:10C68000F4F17DB62381BFBB84EFEB0CB3FE353CE8 -:10C6900054897E0E193D5F0EC0FC0E6D8CA57BF893 -:10C6A0000BE26F99836FB22C34F812F1003D0CEE5F -:10C6B000ED04B76D6E6632C26D14705B1204DEBDA0 -:10C6C000B95F07F760BCCC7D92F67E3AE59F0F38E4 -:10C6D000E9BEBBD9F0F9BB33510F971A3C68776EAE -:10C6E00003FB02DF77FB3F02DFDBF18C258EBED33D -:10C6F000BB6F6E71EFCBBDC940EFBCF8AA5E203AAC -:10C70000ED6AB07970DF3E97A9F4EEEA7C710FE62E -:10C710000F95FFFD723FCCEFA5D1FE83388F3BE232 -:10C720000D19EF121CFE627A476BE295C5CF6AE7DE -:10C73000F033847DB050E07126F352DCEE4DCC6FC7 -:10C74000C471DF3E6BF2A25DFAB68847BE8505E88C -:10C75000FBAD2C48E96D2C44F5BF872FCA42FEADD6 -:10C76000E8D1E9CD005FDD630579B81EC3F0FE06B0 -:10C77000D219F8E50E17E7973F2621DE3B13AE8866 -:10C780007FEB248EBF0746FB7FC3D7ABEAF2204C7A -:10C790008E4969E847195C3FD5099CFF1447DED7ED -:10C7A000AD9FBEF3DA7D7FAF2DB902DFFBE23F37ED -:10C7B00078EFA278718CCB77011DFA547ECF11C42B -:10C7C000863D0074AAA994296E6FED67E27E363A21 -:10C7D00031A0DE2FC7CAF43E99762E395DF4373D7D -:10C7E0008DDF57ACAD9CD9160B7899F2657F79082F -:10C7F000D29A34FDFDC5A9AE2E7AD27C5AAEFEFB8C -:10C800008DAC830E886B4BF471E6D323FC9F87704D -:10C810006CE0AB8BA345BC64112B0ABF6FF01DD13C -:10C82000F67CEDE7A673307EC918FF57488FE5DF29 -:10C83000FEC31CDAD729ECCD7130BF867F97C99E25 -:10C84000FCA80566528071D516E60583FF24D8152D -:10C85000983FD5E2A6F434D801987EDA5248E567CD -:10C860005B3C949F35C6671903FDCE6BFF4C417D41 -:10C87000B4568BC716706871856B45FCC40AFBF211 -:10C88000E318BFB08202DE192CF68E2908FE9D3D0A -:10C89000DD473185EF32EE43566C94C8AFB3F08874 -:10C8A0007F0D9279F11BFDD3514C8CFFCD8944DC77 -:10C8B000A7D7A31D0BACBF22CE9B340658C0DBFB11 -:10C8C000E1D178A8FFC7960904DF272D5E82EF4FDC -:10C8D0002D3594D68FF1A5533DF619BDF3F4ED67D0 -:10C8E0003E54F0F7B34DF64AE4BFBFCECB8241C011 -:10C8F000EB662397EF9B41BEE3FAAC2C9DB1FD1E86 -:10C9000086F2D75F80F3BC296EFEE478F83E7DC2E4 -:10C910005C05EBDDF225E8A0AC213EBC1C5F9F79F5 -:10C920004522FC9C79C549F8D0F0542FE875E660A3 -:10C93000F177F0DDB3578EC9147F7AFEA281E03B18 -:10C940007F3C8AE25323DB2F3F909384F6D89F806D -:10C950007E78F0B1FC4031F9E3FFF4ECBFA8E1715F -:10C96000BF7F8AEBBEF03ECAA9FFCBE514D89B2758 -:10C97000B7A21C4B4BA1F77B06E3D5585334EAB161 -:10C980000693585F206730FFA728BE0FAEF8796A7C -:10C9900015AE171C0FE3BDCCE2F760407F1FFC1003 -:10C9A000FA3BB8D54DEFFD7CBAEFB16C1C7F6FF749 -:10C9B000C2F7B742FF6782FCF7609C61DD675F44A6 -:10C9C00079BADB467ECBB512C085FA744F0AE50B07 -:10C9D0002525AA999C19411E8722A90ABE7FB6EC7B -:10C9E000B92D29C85F784F1DE3EA5FDA184D72EA66 -:10C9F00025A3E78366EC6F3BEFEFC987EEFDA80741 -:10CA0000D307EBCBEE45393786C7312EF8C9D22292 -:10CA10006C0FFA9A7EDFF3D3CF4B21F48394761E0A -:10CA20005A8D714C63B67D68488174EC6EA915D33C -:10CA3000E2F469C7D07F70D71895DA8F7B264BC692 -:10CA4000D8F4A294E0FBD7F3B8119D7E2FE9FCAC9B -:10CA50000AB7999A9E2F92BA4F77E1BE38E37819B8 -:10CA6000BFDFC5DFAF3ED03BF39DDB18CE032C0804 -:10CA7000847BAE89E22E5830D085743EE32FF4D00B -:10CA8000BB2ABEC016E4AF33FE44BA5F78D010882C -:10CA9000C1DFE314F880FFBEA1E777BF1583F1146F -:10CAA000B1FB8D0C7F2F76FDD88129141F92AED259 -:10CAB0007E3C7DC70D35889F86FD07BAA89F651609 -:10CAC0000FFA63971CF89CEEBDB0A93C0EF5CC7E26 -:10CAD0009E7FA0DA4BEF9D2FE9FA33CFF7F928EFCD -:10CAE000930359747F623EB7771E13FA8CF58F66F5 -:10CAF000E1EF2169F47A008AB17C73562019DFBD19 -:10CB0000D2F420E8AF8770FDA1DB91DA3B66F27BBF -:10CB1000F257A8BF4C421F69FD3D66E2EFF4A21830 -:10CB2000C1DF8BB3CDC4F5EE1E9037C82F9ADE85DA -:10CB30007177E0BA3589FB32A9A064C7C27C521F65 -:10CB40003373F97D85E347DE67D5EC90D9F1AD7499 -:10CB50006FF5D354FFCF701CEDFE2A533CF4AEE0CA -:10CB6000EF53BD4F8F49E0EF75E01C402FFE02F3FD -:10CB70000D32D85139617694E5CAF4E2DF52BD072F -:10CB8000709C2BAD1F2987270AF857D80D8487156D -:10CB90008F9AC91F3651DC439D78FE7834CA9315AD -:10CBA0007F2E23B9D2CAD8B0F879B985C779FF1BCF -:10CBB000FA1120BDF68B7E99F623470CCB8E827E30 -:10CBC0002510C87F38D01A5B4E792F92FBBA2F0CF4 -:10CBD000C3EE17B514E8F52EC9E92FF5FE87EBBFB4 -:10CBE00074D0EFCD64B6B82B9AF7D0FB3EFAF96B50 -:10CBF000EF6CC1FCFA51BFAFF8CC40FCBBE2B332E2 -:10CC0000929BBD57385FABCB7B12E18C9C0FC0FF72 -:10CC100029D22712FE417E1FB832F8BF2F31FA7D8C -:10CC200043A0AEC8BFDD2BDE31E85D5A42EF691C80 -:10CC3000C4F748506ECEE0F78E7AC5FDE4DE0407F7 -:10CC4000BDF7F19291E703B78AF6E27DC8DE5B5348 -:10CC5000F87B1DE6A65F9762FFAD3C3EAED718A4F9 -:10CC6000DF53FBFF00D94A3097008000000000002E -:10CC70001F8B080000000000000BE57D7B7CD4C505 -:10CC8000D5F7FCF696DD64936C42C88590B0B91078 -:10CC90008206DCDCB806582041B468038802C6B8B6 -:10CCA0002101426E844BFBC4969AC500A2C51A1E90 -:10CCB00011D1A22E14282ADA50115183CF0A4269C9 -:10CCC000BDA5D5FAD86A692278E59210B40FF6E1CD -:10CCD0006DDFF99E99C9EE6F49D4F67DFAC7F379F5 -:10CCE000E347C7F9CDFD9C33E79C3967CE6CFB8FDA -:10CCF00006B9BC4EC68CD6B939A7F3197BCF67F0FD -:10CD00009AA3196BD1FCB71A0B18F35EB0B0DD69AA -:10CD10008C6D89F1272FE7F92DCBAEA2FAEF3136D2 -:10CD2000B32D07DFDD49B13C3DF837E3EDA5769E35 -:10CD3000CFE5799EBEA4B1F9543EDB9D14C3F30B3D -:10CD4000C3A346B36B787E876FF7D6387CCFA67EB9 -:10CD500086185923D54B13FDFCD12CDAFD81F1BF88 -:10CD600024C61E3533AF2D96B1F1AE45C35D858C1B -:10CD7000796E8C30B16814BA93343E9F47AA86B35B -:10CD80007B359E6D7D88B178C6E65B19FDA9F150B3 -:10CD9000D13A86B179E2335BB078B7CDC3E733AF30 -:10CDA000DAD6A58DE6EBA8BE2BD2C9C79BE731FA30 -:10CDB000C3A278859B4ADC9DD9A2EEDFD331AE9B1E -:10CDC000C66555837886A7267F25E3E3BEDC6365C9 -:10CDD000F772B8FC1D7F5302298718638319FBD4AF -:10CDE00026C6AF6F9BFAC069D51FFFB7DA62DFA80E -:10CDF00045A33CD5C7F8F8FB87780AD0FFF243D7A4 -:10CE00003D70DA1AA857B5B8248B1902E3868E1341 -:10CE10003A5E0BF0C6C71B063CF2262DBCC000FCD8 -:10CE2000B5D97CC01F33F5FC6129CFB7CCBFCA751B -:10CE30002FCFCE9C63756B1C0FBD07C27C611ABEE1 -:10CE400087BBB1AE96C3913E03CFDFAE09F8B7689A -:10CE50008CBE7BF79B7DBBF9B73A8BEF893DBC5D00 -:10CE6000DDCB235D7C6476D0C2FF83F21723447947 -:10CE7000943B6D7D01CA1308BF2F999DD154FE6B61 -:10CE800023A3F2707F560C877753A2678E8BCF7BDC -:10CE90004818C7BF1DFD8AEF2725FD9DE4DD02BFB1 -:10CEA000DEC648EA97C9BCE787837CF7D27ADC49BB -:10CEB0008B915F7535ADC78379F079B1068DD67BDF -:10CEC000D2E1BB278B979F6C1F4CF38893F470B211 -:10CED000F42F6F8CE5F54E1E32BAD0E7074D46BFF2 -:10CEE000250AE5021FDA1C6BD636DEEED48B91AE36 -:10CEF000305E5E767FEDEBF85E7657FD2C4A6BD6A2 -:10CF0000DCC878FDCEBBDE4FF5E45C898FB23ADE3B -:10CF10002A088F77BADCF5C0EF232E4F23D6BB3C0F -:10CF2000A77309E37475DED2F1183332F6EE50CFF1 -:10CF30002A7CEF7EE1933DF8CEF194553A8A2FC3D7 -:10CF4000C4E904F4DB399AE87AB9A4DFF45CCF1DB4 -:10CF5000E88FC3B19C65301691D361C13CD89AC1AA -:10CF6000DF8A4E3E6FDF7D50E3E3D486B737506AE9 -:10CF7000F48D463F67347F94964170F460FF9D7551 -:10CF8000F8A3800F8F81E7397E6AF7EAD7853F13D0 -:10CF90009F572DFE87B7AB6D33BA6DD83FCC67C1B5 -:10CFA000FC6B9925503F4DEC43D001EF6727ED57BF -:10CFB000FB07E53FE478A8796264DEBD1C3FB5312C -:10CFC000877E3291EAF1766ABF18AFCCABF55C3957 -:10CFD0001FB1BEB3721F9CE55FCCA09F7D6182FE36 -:10CFE00099A08FF34F2449FA11747BFE89113ECC2E -:10CFF000275EEE9BF39AD7108E763F62AEDD7C5EA5 -:10D00000CCD53666F628CCBE6DCC9C48C6B64ABE9A -:10D01000563BA86D0CF895E25FCCDA367A362F676E -:10D02000D96DA3E78C0AF03F56DA9645DF7D6D593E -:10D03000687FD0C0AA014F359F9AA79277103CAC69 -:10D0400062BFD63C7535C1478DD3023E027E0C7E51 -:10D050001175E5BA5F766962FF478E49005F1B086C -:10D06000FFD9898372C04ACE2FB0DCEEE6FD8ED8A0 -:10D0700066D1F5A3EA8DF4E9BFFF0AFD737A1B16AA -:10D0800082CF21C69E57C2F87CD9CF389CD895E371 -:10D09000BD29DB3DF9641FFE8C029F8C3915DD38FC -:10D0A000094E024F7FB0283CAD4EE6FCBA1630491F -:10D0B0000FC0EB60AE271972E53CF29037313CCFE0 -:10D0C000D306097F9557700FA5BFBBFEB024B99357 -:10D0D000B7FF6F9781E6150AD7B51C7E286F31B36D -:10D0E000DB4B79FBCF9B4F649C3607D6F371B3DBE8 -:10D0F000CD454D5F7EC9B65C2BF6DDD2EDB9D64588 -:10D1000041706FD99B7FC2C9F17A76AF0923B116FE -:10D1100093EF2713E2F0DDD8E665546E75F3FA67F6 -:10D12000ED47DE44BD25DB63F28CCE40FBA5DB4A38 -:10D13000DC5541F0BF7AAF1E1FA3DAF4F96B0EE99C -:10D14000F3E65C46F4F08FB6CBF5EBF3F927F4F990 -:10D150004FDE597D33B6C1F3E3C4BEF9D417E9B34A -:10D1600072B856BF3FE304E4E8A7079F8F02BE6A88 -:10D17000FF54753C99611D7A3AE578D44C7CBDDE4C -:10D180003D1AD1CB325FE8FE957CE38A7DBD96F0F7 -:10D19000859D154C37A1F83DC3DA6E7673FAAA6BFC -:10D1A0007A3B037A4CF52C4EC890DF6D9B2DCC7EDC -:10D1B000E57803F10F66773B19A7BF8A71A26C422D -:10D1C000D374768AF7C736FD7606F66BC58F35D2EF -:10D1D000372A9E1DF12AE8A66BFF82EB29BD79262E -:10D1E000C1A192B92DE0874BDB357F24CF3BC639F7 -:10D1F0000F75F2768B7D9A0BF35EB42E2CC0CFF8B0 -:10D20000BF559B42E6B125A89CCF7FE9A157BED26E -:10D2100078FFD5DBF5ED967178417ED4ECFA7B583A -:10D22000F077AE0811BC26B4EF3062DD8BE5FC95DB -:10D23000FC63DEC90CEB9B209AB0D3F80F971B96CA -:10D24000619EE2DCC2801C9CB045B4E78CAF02EB6F -:10D25000AEB75B9C5877BD95F923F87C4E445ADCF9 -:10D260000EFEFDE2B648D21F968431AF358F52666E -:10D27000CB433B5734DA7DFC9691F4A47ACE7BA85D -:10D280009FC7355F0BFA316A22FF33915FC6FCB44A -:10D290001ED08D3B789D3E7D9EB50E22BDA4CEE472 -:10D2A0007F0570A9619D046FC6F1E95670E470AB0B -:10D2B000E3EB7C2F16FA97BEFD72D646F5971FFA60 -:10D2C0007B58F077AE67322BAFBF3D9CA7347F1FF2 -:10D2D000C1D168616E039FA7F1CE709F97F490D281 -:10D2E00070D0A959EACB5BEE716761DEEB357796BA -:10D2F000037C6CB3CD053EB6708790435B62B8FE8D -:10D300001A477A33B55F087D0A7ACA02C1EFB6C4FC -:10D31000B4F9C1F7B73C9826F4A9BF19092E3DF717 -:10D32000D97C3B35E8D342EFD9B27904B507BF24A5 -:10D330007DEABE48D17EB680EB96C10E9F97E7FF8F -:10D3400088292641CF766759A91DD7D3D202724AC0 -:10D35000E9D33F1BE6B90BF856EB55FA37ABFE762F -:10D36000FAE66E293F7B36F379F2FE4F6BA5C70DC7 -:10D3700041FAF003B982FF8F99E6DE23EBB950AF93 -:10D38000CA30FBDE297CBE555B0DCE96B400DC991D -:10D39000DB9D05389FDE6CCB039D8D99C6E83C7103 -:10D3A0003257F0F38802E6F6F174BBEC777BAE41BE -:10D3B00097268673FAE3FD9C2EF19B81DFC882528B -:10D3C0000BE42197E1C4CF43D7B13757C8CD2A4BDF -:10D3D000E96F26F5339F3E3A28167ACBE915DA4EE7 -:10D3E000312F81E731FF6E73B5D0BAC5FC14DC393B -:10D3F000DD1492BC977C2BA68F4E7C4FD8386A37B1 -:10D400002B7D1AF8D7747442F0DC72DF28C2E34235 -:10D410008967769F4DD209637F45798993CABFE9B1 -:10D42000BCA5D6C9E980CA39BEFDC077E8794BE111 -:10D430009B997C85A59103E37BD1B898311A077538 -:10D44000B28979C3385C20F3082EF7987C77F1F91C -:10D450000C3509F8A798047D71EEEC0DCFA3FA6E98 -:10D460000BCF573CB094B979FD8A64E6D2447D165F -:10D470008DFABC1B234F2133D0AE225AF45B91C0EE -:10D480007C7749BD1FFC2A13693AF5EB36C48AF64E -:10D490005179D4DE6B10EDDD269E0ECB10FBA56717 -:10D4A0007D18ED9F8ABB53B24007B3A6E9E9203F40 -:10D4B0004FD08D4A1FCF734A39E34AC4FE5EB46E23 -:10D4C00024C98D165B69FD73C0D7D311A40F566CA8 -:10D4D000B8ED8642CCEF9941D070D8E737EE1F0304 -:10D4E0007A5BB46EC1F77E8FF3C85E1B7D6FCFF39E -:10D4F0009CCF85BEAD39CB9FE31F16CD3B6A49E477 -:10D50000ED3D6DB3CFBDC8D31BBDFBDF845E70E3C3 -:10D510004D46AA7F236BFBCB1FC117D689716EF0D6 -:10D520005E3025F2FE6E28D218CABB6C8ED4157CF4 -:10D53000FE15127F7F95FBA0C5C6E6FFD28E79A5AA -:10D5400064A5F3EF374053ED470F1C9727F5C4A9A7 -:10D55000DA76E83DC3A68BFDA5EAA31FF43B19F0DC -:10D56000E0F5CC122E2ACFE14AF5AB36867565443C -:10D570002135FB47F07471C1345B1EAF372B9DCD55 -:10D58000C0B9A9E70E23DB49F3EDA9A07D1F99E5FA -:10D59000C4BEF730E627BEE71B4974DF35B5A7EBFD -:10D5A0006E9EEFDA31C2D5427C5D9CDF173B18C915 -:10D5B000F7AEA982AF29FE72D2D11949F42ACFF36E -:10D5C0009592343E6A9ABE752CAF5F69B774411E5E -:10D5D0002C7E706E9493CFB3720B3FCF7339C636E7 -:10D5E000E9CFF3FCBC9D9137F8CA7379E8F91B3495 -:10D5F000033AAADAA4111D0E6B715992888F690E35 -:10D60000ACAFCAEECF84FCAB72D95C283FDBEC7EBA -:10D61000E034D70FCF37CFA4945DE670E7F3BC0AB0 -:10D62000C8E3FB7E6CBEC7053855B456D0793222AC -:10D63000C743FC69B9A4BB591CCC1AF88DA933099E -:10D64000FBB02B577E8F7564D9899E6D0C70E832C4 -:10D650003BB230AFAEF53603E4E6ACBB045DF37D20 -:10D660006635F1F6F7985838F6FBDFD09EAFB36C0D -:10D67000ADA97407CF0FB53253642CE82A97E8FAA6 -:10D68000E7051E33E0F0E98FD838E805959B36D3DF -:10D690007C145D305347F120E879BBD3F270BE565D -:10D6A00074F4F38269D7E605D3C34D1AD1014F5FF5 -:10D6B000C9207A98338BE8619A3F73259F5789B1C7 -:10D6C0008EB961674864AE303EFF5ED643FA442FA0 -:10D6D000D72720CF143F517C83D381DB1A1FC0EFA3 -:10D6E0009E663E15CE93F7365B297DB2D9C14C1CA0 -:10D6F000BEFB9A1329FF4CB393D2B6E66CFAFECB6D -:10D700006617E50F348FA3FCC16637E50F35CFA44C -:10D71000F4C5E652FAAEF812870BF121C557143F53 -:10D7200052F4A4F852281D953BB137A83DF13DC5F0 -:10D73000EFB00E435E801F29FCA66BA5DEC434F05B -:10D74000B1CE05E01725C6B34F3FCFE1DB5B6D7768 -:10D7500085390117C1F77AED5692F3A9167608E7D5 -:10D76000FF9615EEAEBB83E4EAADD51A3305D1EDD5 -:10D770006D8D36660AA2DBDB9B6274F9B2A6B78FA9 -:10D7800025F0FEFF9EE2F1022F27EFFCF8D1FFE427 -:10D79000DF1FBFF3F3E1C0379FC7EE8730EE9AF08B -:10D7A000BE79C422BFCE4C726658B838270D0B170D -:10D7B000E724FC013F8B98D8A78FDFF957DAE75DA4 -:10D7C0004D614E23F40FE08BC3F70389AF454D61E4 -:10D7D00004C78AF5A79E7E1EFB7D8D85F8DDA275A8 -:10D7E000727F6EE4700DD2DB3E4C62A49F696EC600 -:10D7F0009A38FC3EFC91C5CF653FFB50B3FA34DE4E -:10D8000050E387A632FEDDB3F157EF41DFD69A4EE3 -:10D81000907EECB1DAFD46CCCF6B3E1BDC9FD6741C -:10D820009CEAB1CEA1311F47D0566480634481DBAE -:10D83000023E01DA06FE16651F61D8DFAC55730C97 -:10D84000E7EBAA92DFAB366AA47728F83F9167A48A -:10D850007D753AD744789D863D3B981818C929456F -:10D86000B79C6FB87DD81FADB9962541FC7891FC67 -:10D870005E996DA0547D3FCDB725FA9986CDC5FB45 -:10D88000BD373BDDB298F89DD3027EA0EA2FCACE09 -:10D89000DB905E807EA6C6B1A07DF95C9E49CECBB2 -:10D8A00021E49895CB31DEAE6E0079A0F4934FF170 -:10D8B000BFE369FE74FEAA79E6A9675E845DE2FDB6 -:10D8C00030C253CD35D2BE91E31B3397F41AB75D06 -:10D8D000E3EB6C90F82F7EEA4F519DBC7CF901611F -:10D8E0003FE56917D28635D5642F6B70F17D827D57 -:10D8F00070C8FC6167105DBEFACCFB519D74BEF030 -:10D90000261B1291FA93194F1B0E9C9AC1D01FEB44 -:10D91000D9E0B05FD96EB97699CE996A1D2587BFD7 -:10D920008CA7F1B54BF154FFF0FAF8FEEC20CB993F -:10D93000E9C3BEFD4B7606B7CEAEB69C6DBA60E4C9 -:10D94000F35DBE66E627A0F3D0FA9FE445C6817E6C -:10D95000D8583696EC18266600BE575A051C7A7DB4 -:10D96000C3A3D9D7D85F966FE38DB8AAD56B72469B -:10D97000BBF87CBB613FEFA77E4EBE90EBE7F83E65 -:10D9800062FC2CD5BDCF48E785EE7D9144FF0DFBB1 -:10D990001E383E91E71B76691896D5B30E8253C3A5 -:10D9A0000123B306CB33D877060D3CCFDAA7221B71 -:10D9B000414FCBDA34F76E3E9F5EAB337A70D07C4A -:10D9C0006CF9829E6AC3DAC6105CE5FCFF2EF999F9 -:10D9D000AAB7ACFD010BF0C5EB9D27FDE517118C37 -:10D9E000EC66ACE74DCCF3CCF67C17EC7BCBDAF6EF -:10D9F0003790FCDF17E118CED7F1B9B4F3AB7E0650 -:10DA0000E78BFD34385FE81D67A43DF7CC3346E271 -:10DA1000439827F6E1E7D07383E6992CE7999C2F8A -:10DA2000F49B23D88F8581FACBDABAA23279FD4FE5 -:10DA30000EBD4DE97039CE327BC768C8CD4F0E445C -:10DA4000CCF451FAD3192FF1F1CEB54D8DD382F626 -:10DA5000555EBE99FA3DB7DD3813F062BE4152CF34 -:10DA60006FA3F59CD997ACD1F916F0E67AFE99032D -:10DA7000CF461968DF7A453B89478355D869C36229 -:10DA80009C52CFB4B642DF58C8B5BB68CEEFEA0FA0 -:10DA90005C20F91BFA5DD5A7FD9684F3770FD93585 -:10DAA000F89F01F45BEF10382F31E624601F945F7C -:10DAB000E3BCE556F0B1D7CC020F439D0FE15C55B6 -:10DAC000FED620B25BAC343B1390FFE2757E10E4CF -:10DAD000F32ECF97FB3BB1B31076CEAE3421D7EB0C -:10DAE00036F2830A5FCF108E772F5F729DCFC83CCE -:10DAF000F9013FD1FCFC745ADF23D506B785FC2C15 -:10DB0000FE2CD83D4F5A9897FC46BFB4097F40BAC7 -:10DB1000B0EB3F22FD4575B1FEAC41B07F493CD62C -:10DB2000CDE1E541F8ACDBE9CF82FE72D622EC7C98 -:10DB3000287720CD13F55A24DDA01FF4DB95E638B5 -:10DB40004F7AE673910CFABEE1F9486157F8B96D66 -:10DB5000675890DCAC9674C575262FD6EFDD2DE6A0 -:10DB60008779417F5E6669CD827EA9C65D16D54AFA -:10DB7000E39D95E32D0B6F15FE098BB047A23E8DFB -:10DB80006F66E447E979228CF4D4CF933A0E62FCB5 -:10DB9000CF9F18C920C7BBD27C4B0E5139D7DF3875 -:10DBA0003E6A9E0CF363BE9F3D11E963BCFE67664F -:10DBB000A10F7D16194FFAD089C8ADE5E497D915A4 -:10DBC000A6C1AEF299C62C8928DF2DFC1835CD4DA3 -:10DBD000E47FA8E1DB9DE5513A93C5A27C24D95BA3 -:10DBE0003EFB35DFA71A7DDF88EF1ED65AFE03EC19 -:10DBF000BBBD116477FBFCC9FF1ED99FDFA26697EE -:10DC0000DEBEA4E84095DF23F9D23D128EF7E53B56 -:10DC100008FFF5116D5BD3699D62BF723CD0B98B73 -:10DC2000EF8F78D8BB4FB6BD10AFD901677FD64F05 -:10DC300001F7BDE27CF3F93E33F95D6A9E8F749380 -:10DC40001DE7EEB106C88B1AA3D0836B0C1C7C3C7D -:10DC5000D5EEDC9B053DBBE5095B1EE0C1E14DE770 -:10DC6000C89EDD46398E18F7B33D29C2AEEF97F94D -:10DC700083A3C8AE3F2B96DD3E87F49CEDA301D76E -:10DC80008BBB220CA00B3E8E5BE3F0A9F9C10F0504 -:10DC90003CA397905ECEF71FF1CB3AC92FEBEF9ED6 -:10DCA000183D11FBE92D23835E70D1E44A003F0C3F -:10DCB00085D70792AFD41E7CD402BF5D1DDF371E0F -:10DCC000BE6F6AA57FACF6498DF4BADA0D131F2238 -:10DCD0003EF8A6990DE7F338DBF64054303E8E4B04 -:10DCE0007E1668EFA2FAB5BCBE68FF5A14CD678FE6 -:10DCF000D985F984E2F15BB77FD2F8ADDAF7D14785 -:10DD00001B97EBA3AF5CF745D6F1FDF7C14FF6D9F2 -:10DD1000C87EC5F19E0ABDE38CB96D09D67DE66962 -:10DD20001BF199333162BF7FC2F9A17704E6F19DFF -:10DD3000FBC9BEF1BBB90CF260A94FDFAF1AF735D2 -:10DD4000C97FEB07B9A26127ABE778407F1C2FDFC3 -:10DD5000A5F66F99A97DE83A9E44BBC2A0FDF9746F -:10DD600004D1CB9921021F679E194172A52B46D081 -:10DD7000399F6F2ACE2B676244CAA08C703AA89153 -:10DD8000E7D13353DBE8FC7D46DB4F699759B4ABF1 -:10DD900069927E634E7789A01BD024FC61D64D1D0D -:10DDA000D02760AF1E9347A93F2CF64ABB33E81338 -:10DDB0007228A340C82F86F1E2A5FF83F494360BA6 -:10DDC000F8B247EA7175FBAEF4C301BF75FB34F2DC -:10DDD0002319543F7CD671CA5ECEE9B1D6ABB96D7A -:10DDE00098CFBA15CBC88FD4B8F956D0BB5A47AD27 -:10DDF00089CDC479A84B33D27CBA6C7CDF000EC1CC -:10DE0000E305E95D91817198239EF44C52AE630A5B -:10DE100084BC42BE95F757B74EDB44E3A4A973A573 -:10DE2000589F8213078B05F6327EDE17E503AC5F41 -:10DE3000CD3374FD6A3EC30B849DA22BCD797F1137 -:10DE4000F0FD86D18573FAC5CBF9D1B15FA397E117 -:10DE5000E4D66737E6F3CF034DF1F97F29F95B2D5F -:10DE6000ECD27C9E59DBF5FE90EC5DFAFC55FBF4A0 -:10DE7000F99C03FAFCE8767DDEF5AA3E3F448EABC2 -:10DE8000E08473AF738438F722C5B9D71926CEBDA5 -:10DE9000C8E3DC8B14E75E7CC7B917799C7B91C71C -:10DEA000B917799C7B91E2DC8BEF9505827FD7498E -:10DEB000BB23F000BF0C7BC1A6FCECB45FBA17C457 -:10DEC00013FF547ED2EE653994EFB3EBCCB6925D7E -:10DED000876C375C2F993BD473434121FCA71D1BF2 -:10DEE0009280375327D97397BF28ECB97579363BA1 -:10DEF000EC0C9DEB3FD900F5296BA8670EEA779BE8 -:10DF00007BF6101D98FCC4373AD73ADF9A22F047C7 -:10DF1000F60E668FA5F34905E45DECC0780CF5AB11 -:10DF2000B04D7A3F4AA85F25D49F124A07CA8FF2A4 -:10DF3000B8B92709FCFED413D64D98FF2969276389 -:10DF4000F3ADA47F29BDBAC4682738ADBC4FDB0947 -:10DF500039B5AA2096DAF79EE0FA763FF256A595F3 -:10DF600097F2855EADF29B3403F9693C6E9243AB48 -:10DF7000E49C52B59EAEBB4123910692E317ED0699 -:10DF80003A175C7CC7487AC4886D06DD7A46FAC2C7 -:10DF900075F475F5DED8107FE0105DFD6B0EA5877A -:10DFA000F803AFD2FBA96E5AFB0ACED77337E5EB65 -:10DFB000EA55954E0C81A39CB7D44B5BD66C4B05B0 -:10DFC000FF5915D94BF35FF59C8DEE5D5471F9E265 -:10DFD000E6EBAE4686F3C76AABFB46C0AFBACD1CD4 -:10DFE00003BB56A5943FAC492F8FAB4DCCEB880DAE -:10DFF000D05DB583B96378FB73B9AD7B0C1C6FE75B -:10E000000CDBB71639E15FDA91EAE074B55A6B8B35 -:10E010001FCFFB3B15E3D951C0F773AAD9FF933249 -:10E02000F0CBFD196C2DAF776AD3B351A4774B3A7F -:10E030004B353BC281EF1DAD463A17C03E057B9084 -:10E04000A2871DAD83C233ED817506F07F99D6C7D7 -:10E05000F142F7467AED4786AE821ED726D65B3D63 -:10E0600055F3929E2CD7B352CA15B64EF4B35AE666 -:10E070004FCBF3825ADFD991AF8C76C2AFD97C28CF -:10E08000D5083E6ED8B72709FA4582A71DFBA77AA7 -:10E09000C7F0FF2CE2E3D6FCDEC8E047FE68CBF415 -:10E0A000A8F1D03F9F36BB66F1FCDDAD3FB3E05C2D -:10E0B0005063F25970EEAC7E628705FEFF6BF7EE9F -:10E0C000A0EF4BF656D0797B296BA473E4A76621A9 -:10E0D000A7153CAAA769DB1D7CDE998582BF568700 -:10E0E0008BFB2025C6A2637158EF5E2D17EBBDA9EF -:10E0F00074BFA5827F7F57F2E1D0FDD1FBFADC929D -:10E10000C1B02BB5093FE840FB619E7F24ED87B984 -:10E1100097D228BDE9D2D574AEFA3D2B1D457C229D -:10E1200027E43CFBBA51D8CDDAC53EA8B6F8E3E601 -:10E13000629FBC6CA67D526F82ED1BE764C626F021 -:10E14000B4B4C8A8A3D7E5C5113A7A9ECF62757E4C -:10E15000E59BD9105DFEA65919BAFAB7DC747508AB -:10E16000FDE705CA898F4CD0DD5FA95FE3756A645E -:10E17000479BA6FFCED3354467D7EBDAD7B33981B7 -:10E180007A3807EFFA2DC199B10E0BCE5BD5067127 -:10E190005F67BEA74B7EEFA4EF7C21BA7D382CC30E -:10E1A000F59F422E9AC93EAFECD3F3F1FF19FDC99A -:10E1B000458E68396EB451D8173C7ABDA383CE9F83 -:10E1C0004CE0A15EDA7BEAB385BDA7DEDB6169B412 -:10E1D00013FC4DC91C240DAD1AD9F3787D6B72ACBC -:10E1E000C8AFC1F703E6809D8589FE2EA1FC84B1EE -:10E1F00002FB25B4BC81AF1B7A4603EC3564679AF9 -:10E20000F909D999D438B27F45A74BB7E9ED470D45 -:10E21000B0EB04E17359A193E8B566EFFEE3433830 -:10E220007CE696C6E4621FD5B5CD3657E45C496FEF -:10E230008ACF5FAC3690DFBBF7F5A3446FBDD52620 -:10E24000A2EB6F824B835BD83543E970095F9795EA -:10E250008FBFE480E6F269A21EE03304F419029F46 -:10E26000E47EE0A6E0D507BF90F2A5F89F02DC2788 -:10E27000D07CFEB4FEE012024F354E08BCD8383DCB -:10E280003C96789C6F81FF2C396164BE6FB1FEA50E -:10E290005827E6C1D78979CCB924EC26CA9F70F3F8 -:10E2A0002513E5FBE8A694C32B0FFB4EBF4FFBE8FD -:10E2B000A854EC9B7997E2A9DDBF8A9EBE898ED4D3 -:10E2C000FC15DF0EECA3BB486E2C2F8C8CFB98B397 -:10E2D0000AFEFF85C417247F1D582FF50A3EEAD198 -:10E2E000CB9961778EA37B47BDF674D22BFAE4906D -:10E2F000435FBE32323D01E51E69B753FCD823EBC4 -:10E30000A9712A78B97310E87A683CECB11BD6651C -:10E31000A47606E92B9EF5E678D80B53D70EA2B467 -:10E32000C2E688871CA9586B2C857CFCF09E84F87B -:10E3300071B0CFAF37C7CDE25D7F7847412A1B85EB -:10E340007C09A5A73687CD0FB673AB745BA1D0430C -:10E35000EBEF7C8FE4DA39C3EB51F3B1EFD63F1723 -:10E3600085AB37B5EBDF1EE3E02AC9DD319E870AB6 -:10E37000C98FBA638F037073EC180D3BF5CF6143FF -:10E380001B1CD01F6AD69724C02E56F7B7A38F4107 -:10E39000EE7BD69AE3A17F7EF60E978B1AC935D213 -:10E3A0001B3EB5313A2F7DBA3BC207FFFDA71A735A -:10E3B000C3BFB3CCF8CA68874ECEB6DF8C79EC4DBC -:10E3C000F0FCBCB010E3FBF624627C9797EE677A12 -:10E3D000D60E8FEECF8EA2D2E5DB845EB747D97121 -:10E3E000A5BD17FA3CF2D0E7D908A1CF230F7D1EB7 -:10E3F00029F4797C3F26EDF8C35A7A72711EF54EE6 -:10E4000063D98D2477EDD9D0D75769E12ED2333532 -:10E410005702EC63EC9D18216F43F0ABD2493D5C91 -:10E42000E70AA2FB2997AC2CF89ED95416A3CB4F30 -:10E43000B726E9EA9738D274E5D7268ED4955FE7F8 -:10E44000CCD5E5BF933D5E57FF06D7545DFEBBE3D9 -:10E45000AED3D59FED9EADCBCF9DB940577F5E69C2 -:10E4600085AEFC96F9CB74E50B3C2B74F95BABEFF6 -:10E47000D0D5BFAD71ADAEDCCD1C26C8BD769CB38A -:10E4800038DC5FC6398BA7ABDE186E0FC66BD17454 -:10E4900043637F76FAF3521F9A38D6FD19E823C5F5 -:10E4A00020E890A76EA81097A55C49667E4D9C73E6 -:10E4B0003B924037A1F542CB8B228E5C74721C2EAE -:10E4C00039187BAB89F391A2B147F23378FE9931C9 -:10E4D0000B447EE29167D379FEE0C1ADB79A38FF75 -:10E4E00028BAE6C845948F1E5B2EF27319A91C4703 -:10E4F000C6FC6DA197AFA3684AFA2697B093F47B48 -:10E500004F53A58003EE37020E48FD9C3E911EE15D -:10E51000F489F4554E9F5566C68E73FA447A829FED -:10E5200037F1FD37FCBC89F4757EDE44FA263F6F77 -:10E5300022EDE0E74DA4BF6B9E4FE93BCD1E6AF78D -:10E540006E7335A5EF3537D2F73F363751FA41B301 -:10E5500097BE278E5176053FD95F949FA901FE3D56 -:10E56000D8E70E99CF06FB61959F50F9055B1A59C4 -:10E570006704F669A729E6636BC0DF37309F35B1C2 -:10E580008F83F4B0CD89EE8C3134FE5007F97BE4F3 -:10E59000F769DADC14B8FE6E1DED193986E37B5E8F -:10E5A0005EE5FA68CE3FA65C6E34835E7E2FEFA9EF -:10E5B00086F67F59D249DC58F768B49B6C15F7F0A2 -:10E5C000265BC53DBBC9A6CE16F0A3962F9913F7BF -:10E5D000685E89B4107F6AB9C7E4839D52FB82519B -:10E5E0007E521CA37CCB971D742F6FB2C39548F24B -:10E5F00046E6FBFCE7F80BBA2FA3FCD9EA9E4CF1E8 -:10E60000179DD3A1074CB25B9C6121FE77F8AD5FEB -:10E61000897C57CD87613CE527DFF525F31B46074D -:10E62000FCE193AD1D69B0134C5A6D7505DFFF51C8 -:10E630007E6FED8B0E23E489BAE7A3C651F38D34C8 -:10E64000F1FEF202F778263BDA7271AFA1A5DE4E39 -:10E65000FD25F0EF963CAAE73652BBB65CD8812781 -:10E66000D5D95DB06F2B7F7B825C37AF47EB2CFE3B -:10E67000C243F70D26C9FB06E8C72ACABDE86752A0 -:10E680009C3FC984F5375A5CB0873EAAF1F6790100 -:10E69000FF3FEA4704ED5FCC13FD66FE85CF177A96 -:10E6A000BBDB4DF09DABCE6F4E9997F29959A79178 -:10E6B000FDCA28F3BF1DED590EBC978639FE1441E3 -:10E6C000FB3C2305768ED9526FFF1A7A59FD3F43E2 -:10E6D0002F6E81EFA18CEC69A174A3F0A2F03C1025 -:10E6E0001D29BC07DDD7223CF7DDBF92FD84D2D7C0 -:10E6F0004074A5E869B255E01D78C53D1A4547DA72 -:10E70000176D3B681D755692738A8E42E9E04A3A4E -:10E710001274D9F23D2BF577251D05F00F78FCF327 -:10E7200074D46184DCFD47E9E7F61E36239A17DDD1 -:10E730007B8DE732E446C525E771E42BD9D4192057 -:10E740002955FE00CA075F591E4A5FAAFE8B03F4D3 -:10E75000E7F9A2C71C1D449793A40CFCC300F55F06 -:10E7600093F7E25FB3A9FB1E6E7B2EA783E9920F9E -:10E77000AF2A11F43533CD48FE8CE9394B49BF67D8 -:10E7800076A11F3BF93F646F93FEF5EB65BB1997CC -:10E790004BD7619C19717AFDFB7AA977CF0CF1B741 -:10E7A0005F9F732DE9E1D787E8D9EF8D917A741ACD -:10E7B0004B13E7EB4DA4FF16CBFD982CF19DE134F4 -:10E7C000B2220EF712E6314108BC7ADEE2467FD76C -:10E7D000322FE5AF633E4ABFC3FCA407DCC0050689 -:10E7E000F2DF658CEE8F1E8DB8B16C39EF6F7AFE5B -:10E7F000F44C7CAFB3F6A45A0CB81DE8F90CF2A1A6 -:10E80000C1E8F933F4CC73299E11381F1F29769281 -:10E810001E76C49A417A21F69339C85EF96B2E4769 -:10E8200033B99C3BCAE52CD2635CCE667279F72B78 -:10E830002E6791BF3E7B2D43BB194EFDFD1ED5FEBD -:10E840003B8EE9CC34686039F69DD12F0C851DEBE9 -:10E85000B59811C5C0DB6B31638BB1DED762120C8A -:10E86000220DB3503AEAF9CCFEF45645AF81F16679 -:10E87000D078A1F055F00C85A382EF3F01CF416322 -:10E880000BAF84E765E8F7B09F5ADF8E4A4C879F4D -:10E8900051C6D345083E58FFFCA804ACA3CE2AE0DD -:10E8A00032A96922A5939BC633533EF999BC80EFE8 -:10E8B0006758020CCE217636669A46F9EF49DACAD5 -:10E8C0004EF00CC73CCEE6F9B3B846C63ED9DE12D0 -:10E8D00085FB99E79E31BA70AEA9333A37B9602704 -:10E8E0007FCD28E2822E1F4D857F93EDEAFFBE7417 -:10E8F0009D55C1CF4B70FDD9356EDA6F0CDED9F85E -:10E90000805E33344CDC3326F742DEC07ACE98701A -:10E91000C167868609FEA8F0C5DB09B9CBFB19C320 -:10E92000F95AF2FDE174AE2918E62EC27AF879811F -:10E93000E28A7AB323C85EF11B199738D97F35C5AF -:10E94000E5CDC4B99D7F378647EDC4BEFF8D8C4BA6 -:10E95000FCC520CFB5687F6D5A5E22E0318509BFC6 -:10E96000CA7556B3CBCFE774DD58B90F47B3D13270 -:10E97000AE4777FE507692DE3823C9A1C92CEB2131 -:10E98000D8098A4F98C94ED077DF2D51F8457B4F73 -:10E990005C3482AF94446A6C505A203E272CD1C01C -:10E9A0009C417ABBCD19CE9C41FB23223B56978FCD -:10E9B000740DD1D58F1E97AE2B8F715FA52B1F3491 -:10E9C000334F971F5C3A41573F61FE345D3EC97338 -:10E9D000BDAE7E72F51C5D5EF1BD64F189A5342E7D -:10E9E000D4B51FD6B448573FCD5BA32B5778605E94 -:10E9F0007747763CF8A2F8CBD8B85257EFA7512208 -:10EA0000DE64A67DC92CECF7E1AD3FD0CFCBF8BAE0 -:10EA100046F1A34EC16FBDFC1FD05149A29EFF4ECF -:10EA200077E8ED1AC98D265D7EC33F8A67CF553AD8 -:10EA30003C87C283E3DDE5477D2EBFBD3C5FF2EB43 -:10EA40004A13F40BF82F82E70FFF45F07AE1BF0875 -:10EA5000CEC37F115C1FFE8BE072F82F82CBF34F89 -:10EA6000E8F15CD8A1C7F3D8F7F47856F437103E34 -:10EA7000C677EAE920141F133F0DA10B8987F9FC23 -:10EA80009FFEF04047114EFFD31B19D9E7BE092F57 -:10EA90002F84E065D2484F3BF6EBFC4117532DC065 -:10EAA000538F6704CE939F493B49E83D4E2F57074C -:10EAB000280EE107468ABF396968D5C097FD299EAF -:10EAC000636379FDDB731A897E1259E9FE257C3E6A -:10EAD000E5FF11467E9CF261225E97E574529C83AD -:10EAE000E277E5C9E21ED11B63E5F9CD25EE13758A -:10EAF0008C15FA6CA4CB41F78E2B72441C073F7621 -:10EB0000A5968F02FDBC6E1B017AD822FC269D883B -:10EB1000178E0BC40B43DF847E9722F5AB963F58CC -:10EB2000AD58C7886D4C272747FAACBA7BAF57EF73 -:10EB300075E8F2A3DA1275F5AF39E4D495E7FAB3C4 -:10EB400075E5F9275CBA7C61C7385DFDB1EFB97531 -:10EB5000F9F19D3375F5277E5AAACB27B39E87011D -:10EB6000DF619A38EF5B395FA27B604E110F547EF4 -:10EB7000778C8803957600A54FABFBD01E4977A113 -:10EB80007AFA308BD0535B9298388759E5798BE9C4 -:10EB9000F5758FBCCFACF454E6D5DF6756F798FB1C -:10EBA000F47AA9B72BFD38E81EB33BF81E73B98C75 -:10EBB000DF0E957F71E3847D2F74FEC32C62BD2D23 -:10EBC0007758286E44CD2B743ECBF304DDEEB6F6B9 -:10EBD0001FBF933E4EA3FE8B724B878CE3F51E3313 -:10EBE000BB7C6447B9623C57A717E7CA1F595C77DB -:10EBF00039BF79BCF26BC47ACA0C86DB67E7D07D7B -:10EC0000B1F9BF0C1A3F6F9CA0EFF8095ABFEB2B6C -:10EC10008F16F7B958B4C509FA1D783C01CF440BDB -:10EC20005B477146F2DEFF6D9BDAEE1BC18BCA2C8F -:10EC3000AD66325E309F19F4306B1AD7A772611738 -:10EC40007CF1113BD7371E6B32919D67FCB8616533 -:10EC50005C13EB8BE318C6CF1BA00FE82C38A73C46 -:10EC600039DE48E32C1C27D65762BCDC77FF9EFCBC -:10EC7000178C49FECDE83E4C3FF44674A8D6F1AF60 -:10EC8000BA8FAFE836144EEA7CC9A4DCC994F352BB -:10EC9000F053FB41C14FC5433857984B77DA29AE43 -:10ECA0006226EE9129FCBD3C5EF0A34D8047A1A8F1 -:10ECB000077E3450BD12634E34ECE1BDCC19EDF843 -:10ECC0001A7BEFBF304E81E03F507CD540FCE10A1B -:10ECD000BE3040BCD540F4497FFF40DC55107F106A -:10ECE000F77A243E7C9906F2A3DF1DA9DFC72F8C9B -:10ECF00013F0F5C87DCCE5AB3D57CF2718ECF72DC9 -:10ED0000EB8D924F08B90A7D03DF17AF3793BEC171 -:10ED100058E956C4117DB4C54CF75B27BB9D335CE5 -:10ED2000C23F4F7A07F9BDF8D42ABC7A79CAE5FB0D -:10ED30004EE8C153986B03FC19951BF5E54BED3379 -:10ED40003E833C5F1C722E5D2ACFAB4B43CEA54F5A -:10ED50008D93F2D8C55CA427493F7FB5ACD3474714 -:10ED6000BE8C686977A1FDC953BA17A6E0E284BFDB -:10ED7000263F90E7F00BCF869C5E67EAF7BE5E1FEA -:10ED8000FC06B88F7016F7119CD8EFBD146FD57BB9 -:10ED9000C026FC94CA1F24EB9FF55EA472D4476F73 -:10EDA000E7723B46430FE9F31F85F8A17AED86A889 -:10EDB00071E86F9F99FA53F72D6AFEEA1BED08F28E -:10EDC000277B3A8DBAFB2D57CC7FED7374FFE2EEB3 -:10EDD00018CF3BE0E3674C2E2BF0778FFD483CE2E9 -:10EDE000E46749BB4DE87CFBF4CE224DF861BD22BF -:10EDF0006EB677A646F700381F64D837EADEC06CD7 -:10EE0000E68F43AAFC319E8DE309CECA1F53E11F52 -:10EE10004FF39CD7B2D41CCEAB743EBCA624DC19F5 -:10EE2000F0D374A6887B3F03F96BE65ECAA5FE6E3D -:10EE3000BA3491FAB9382E4DE85DEBEE5B013ABA7F -:10EE40006A2F33639D9D21F7DE555A29F98D77BCD2 -:10EE5000E2D3F23ED15A8DE87CA5C6D4FD22E2D39E -:10EE60002A7FB155E64B447ED57A91EF348B776695 -:10EE7000F6487B03D68914EBC1B9789FB447601D6F -:10EE800048B10E7C075F421E7C0979F025E4C197EA -:10EE900090822FE1FB22569A9A6B147EA5E2A07D08 -:10EEA00003BF527190DE03BF52701E7EA5E0FAF0E0 -:10EEB0002B0597C3AF145C0EBF52701E7EA5E0FAFF -:10EEC000F02B05E7D9B8EB0279F031F76C5D7E2EB7 -:10EED000D7BF8B83F62DFC4AC1FDC3AFA4EBCFB3E4 -:10EEE00042D7FE56D6A46B0FBF5270FDDB9B349DFC -:10EEF000DFE976F91E40E5B641441F2F8D2E758D52 -:10EF0000E7FBF5CF117FFB9E19E70063FB32D0EDE5 -:10EF1000CAFA7097C073EB4C8177031378EE5940AF -:10EF2000785E6311F91271FFB83FFF4DB159F86F68 -:10EF300090C27F8314FE1BA4F0DF140F17FE1BA4E6 -:10EF4000F0DFE03BFC3748E1BF410AFF0D52F86FAC -:10EF500090C27F8314FE1BB483FF0629FC37F80E92 -:10EF6000FF0D52F86FF0FD24FC4841EF66404FCF93 -:10EF7000D49DEB381DEACE750E5D1E7A7A707DE861 -:10EF8000E9C1E5D0D383CBA1A707E7A1A707D7871E -:10EF90009E1E9C5F3DCE49FC12FA7A703BE8EBC1A5 -:10EFA000F951ADDE63B01DDDB0FDFCAB483B23B5D0 -:10EFB000C734CE0A56BC70A00C7EB64E9B961AC3C0 -:10EFC00039A5597BB1AC98E73DF21EDF68D66300E6 -:10EFD000BEC9CFCEF1E6F133BA773CEAAB242A576B -:10EFE0007E5DFAE378CF3DC048EF3F26E33D557B99 -:10EFF00017731891AAFA817CFFF542C757F5885F0D -:10F0000006CD831F0C7371CF24778D3D0FF7E5F785 -:10F01000183471DFF42E71DF3794AE764BBEB4C76F -:10F02000B0FF4838EE0F55682EC4316499D8097383 -:10F030001EE0D49807FDE0BEF131725D8D1370FFC4 -:10F0400048CD5BD901399FA0F8B5A21E66A9E2E3BD -:10F050004CFA82591683BF5B845E8076382F5EED52 -:10F06000D5DC3B83E8FBA1F142BE79BC2B2654F1F1 -:10F07000EF57EF6B9C80B8B859E1A2DDCF1F8F220C -:10F0800038DEB84EDB89F8C3A27DCC8D78579F9CC3 -:10F09000F7D5FB1C962A1AD741F174AADF8AEDA98D -:10F0A00014FF57C13A8B115FC10A3406FFA8821BB7 -:10F0B0005FDFAB585F16DF2A66D23F455C4EB88CE7 -:10F0C000CB51F1386131A555905B2A2E6752414CE6 -:10F0D00009EEC5B176E64218F00D0515EB07F3FE13 -:10F0E0003D3EB70BF78A267DD1788CF2BB4A294F7B -:10F0F000643086C621B936C2ABD1FB1A377A77188D -:10F10000E29C88D75D6B8E47FD7DCC0575878B1A99 -:10F110008A3B55F3CB611D069B06BCB3A38382E8F3 -:10F120008873809B80F75C9799DEDF986D7298C139 -:10F130003742E5F895F71643F48490FB252D6BDEF6 -:10F140004B35A6E37E89C1E507DF7A2E82F405A55B -:10F15000EF54C8FB6617D71D1B7C0B2FAFD82FF4BD -:10F1600003CF368DF89FBA6F529FE14B35405F1841 -:10F17000B26374AC51C87FF0C533DE676FC616AD9D -:10F18000587F8CE2222AD617468BB828E187A892AE -:10F1900070AA92F78A588E231E7AE6879CEFB847AA -:10F1A000D0BDC4688A2B6C15FA9CB2B7287D50BDBF -:10F1B0001F53F146FE71E0BDE251F92ECBC60A8A1B -:10F1C000BF0ABDE7532BF5BD65EBCC747F6859884A -:10F1D0003E582BEF0BD586E883E7C687E883F2FC21 -:10F1E000A2EEF356BC71741EE92B8D66F2CB95AD81 -:10F1F00015FA0BDBCF7C8867285B3BDD807743CA41 -:10F200009E73BBB47EE8E42DA9C7CCEAB4115CE7D9 -:10F210005C4AA6F4E64B4994DE7249DCA344EC0B4D -:10F22000E8A0F305467AF4DB526F99877B9588470F -:10F23000F486C9FB938CF4A65CE62801FFB8CAAD3E -:10F240001D85DA37CBEC598F7B9BB376308A3FBA7A -:10F2500001FA0DE2BFA0EFC0EE5E90564271183386 -:10F26000358A67B9A16085A46F4EEF0CF4EE95F472 -:10F270005B4AF93EB920E9DCE3ED3201EE3778353F -:10F280000BDEE1F3C873ACA2E3507A2F8F90F62720 -:10F29000BBB02FF5D99F30593C6AE38DBE0DF75BAB -:10F2A000CB61B31BC204E239CC237344F98817A3A2 -:10F2B0006F5B8743CDFFA35DA2CC6010F14E5CDF96 -:10F2C000025FBD6D75AE6551107FF962E2B419132E -:10F2D0000B03785F1412A7B7F29EE1095F172F5A4C -:10F2E000C9E18C7D521EDDF93D4EA1ECDA09CC5D01 -:10F2F000CCCFAC0B18538FF7F8712F70A1CCAF7E29 -:10F3000071DC9F36DA093E949F3E21F5362FF15588 -:10F31000C1B76E05DF32825F79A64E207ED53903F4 -:10F32000F888C8E991EF1048B9146287583DC1299F -:10F33000D61B628FA8CC11FC9C999CA9B7525CB0DB -:10F3400093EC796AFE1F9AF5719A7D7E9109529E1F -:10F3500034FF6BE21BFE2BC3731BD6B7D520E2E64E -:10F3600087185B99B40BD1FE57FC83C9772402F848 -:10F37000E77A1AF9D1354730FE3D1B3511A73E809B -:10F38000FD8665F73CBC1BF6BB660B439CEBE35963 -:10F39000828E1EFF8185F4F0324BC731BC93A5E00D -:10F3A000F87ED3BF9BC92ECFFCC3F1FED7C2469BCC -:10F3B0000BFCF98B89A5AB30EF881C17E16306DFE6 -:10F3C00066E8FF644AE9F7095F9B5E790C71FBCB45 -:10F3D000DBD3288EB4E250EE06BC27F2C544CF0F33 -:10F3E00027C08F6B775820C71BD6C5905C2B4F90DA -:10F3F000719DAC87FC540AFE0F4C10F6ABEB8A04EF -:10F400001D77CBF30818E66C5D3D798F3B649F2830 -:10F41000BB60A87D21F41D8781F68FB223C06E608A -:10F4200009B22B2ABB8439FBC30590A365167DFC6A -:10F43000A14A5F557637791E5CDC27C77266244087 -:10F440006FDEAC3920C7AAECCE5BC6F37CD509339E -:10F450006E60B259B14EF17EC73DE2FD8E457CBF74 -:10F4600082DF94C9FB5855DBC6D37EABF2F1347F03 -:10F47000E07D79EBE6A3292F807EFC6E8ACBAF720C -:10F48000B82DB141FBBEB255D3C5F5ABFC8109C265 -:10F490000E57C6D574C0EFB6D56916BCA153C6D5F4 -:10F4A0000BDCEF7B7582531757CDEBD1BD8659E945 -:10F4B000ECB8783F89CF3B4D8C9717D4FFA256FD0F -:10F4C000FB04BC3EE9452F4F8824FC5538F8BAD3DD -:10F4D000903A689E1C0E04A79EFB787F4E1A87F018 -:10F4E00051E9F79971EE2EC37D0A9E5FE8F09931DC -:10F4F000CEA275E2BD10CF26318E67638C6514F401 -:10F500002693C39202F8E1B01C47F3233E58C5E1AD -:10F5100082782B1577190A9F0A39DFAAD618BD3EC3 -:10F52000D6BAD90C7C2C18E0BD821E49B78BD64DBB -:10F53000A578F32A939BE2193C12BE1FADB0DD0BF8 -:10F54000BFC0822D0F99D370CE9E20ECCF3D72DFCD -:10F55000CD4AF70FA7778156D85C98E702472BADC5 -:10F56000AF0FBE0F727868787FA694E0CBE9C28BAC -:10F57000FB79555BF4F80CCC47C0B76A4B05EDB787 -:10F5800025268FC5113C8F6DAF0CC73D94057C7F40 -:10F59000E3BD23E6F0507CD3C70FDE924AEBE4F3E1 -:10F5A000A47B502EE70CBCF3C3E984E858D18B8AC6 -:10F5B000CB56E359278AB84CEBC46FDA976ED26BFF -:10F5C0005A387E61EF1E685F5A10D8C5C7B5548996 -:10F5D000F7D742F7A9DA9F6A5FAA7DAAF6EF63E63A -:10F5E000527FA216E0335CDE36FEB21F38CD90F3B8 -:10F5F0005D28F1CAE1FA6A701CD73513055ECBD2DB -:10F60000F5FB1DFDA1DF948962BF974DF30F47DC29 -:10F61000A5AAAFC62D8B15ED40F7A0B7948986BE7D -:10F62000FA2BA9BE3E1EA5B28F5FEC5B1F0F7EB109 -:10F630005F23BD77E57D4753FE0DFAECD3429F3D36 -:10F6400053B7BB21097AA3C9971AFC2E56955FF0D0 -:10F6500087C55CFF01BF5822E5747B9E276762D097 -:10F66000FEAD7AE0E92C8FE02F7EF0970F9E7EE9C9 -:10F67000F7139C01F9A9E6BF68E36FCD15F6607832 -:10F6800089F5DD9BDD4B717695768B13F7972BD73C -:10F690005510BF6589FC5CA105F01D4A0715EB34C8 -:10F6A0007A5FACB2698CCFF83FC8972B37CDA637BD -:10F6B00091149ED47B274A9EAAF97F57CE7FA1A49E -:10F6C000E33913C5FE5B589D665942FB3ECD520996 -:10F6D000FA97E50BAAF4DFFBF0D4E75FCED980FD03 -:10F6E00081B8213A9F6C320B3BDFBE48D257CFAC7A -:10F6F0007CFECD9B79BDCFB7EE48857EA2E6B154A6 -:10F70000DAF3164BBBDC12A9B7723C5504E369E986 -:10F71000E3024F95CFBCF127BCCB55962EF9D97D8E -:10F72000229E7F51DB7EC2DB828D9BCD69BCDE8A4F -:10F730008969BA7B32958DFCA0CBE1B970E30E33B9 -:10F74000F8C08A89026EA1F45E26EFFB2AB842EE69 -:10F7500068417E0B551FFC6F3F1F67F50A5B14EC79 -:10F76000D36A9C47245D5736C6C462BCCAC68A9F0A -:10F77000E0DCA1F87DE8BE3B6513FB6111EF0FFBF8 -:10F78000F2D45417C535C3AFD59F5CDD2CF1F653C9 -:10F79000B378BF3139A2ED09C0217979B80BFC21CA -:10F7A00033B393FCC6A067CCDB6210EF3D66D67521 -:10F7B0005EC03CB84A4DF75390E29D29A8D8F13C71 -:10F7C000BFD320E2AFD28D227D5EC28797FB51CEA0 -:10F7D000E23AE9DDB9BE779342E8D5C2766DC47BE3 -:10F7E000379638E66A7106E853F5A3E853D1EF403F -:10F7F000EBFB85E423DFB4BE5369D21E91ED4A458D -:10F800009C4AF9FD235CB0CF7CD33A2DF2FDC1BEFA -:10F81000F572621D17DBCF7A33C5B965E0F56E2945 -:10F8200089EF67BDA1EB54FB44DD69EFF32FB40A08 -:10F83000FFC2298DCB2FDEEED40A1BDDFF52EB5227 -:10F84000F6EF6F1B87F0F6C458694FE88C841E5999 -:10F85000162EF7BF5FE4F17D76D07725F7D57B6D67 -:10F860008A3F9F6E94729175DE87FDCC9A32E87D57 -:10F870009293ADA722F15ECAA9A9627EAADD6AB3FE -:10F88000883366911627DE3FE4E7AB934DF0FBAC7F -:10F890004BA073E46D4D19C4176EF3C608FB83D4F7 -:10F8A000EF97483E18B1BA6203DEF95EBC2DCDA1D8 -:10F8B000F17116DB5D1F6FA3F657BBA00F466C9965 -:10F8C0006D4927BD579C03949F68B5C64A296E0CA5 -:10F8D0007C12FBCBF04A26E4CED26DE21C30CBC0CA -:10F8E00036C24F38ACA5744612F8C4C31AC599B3D2 -:10F8F000EDFA77ACC6E6979EA7F35FC83B70ABCD39 -:10F900006DEE04F071AE6FC0DEB4D85E4A7A7BBD96 -:10F91000E49327B774D17BF40AAE57C4FF58441C54 -:10F92000704FA481EC70DF360EA84AFA9514DD28DA -:10F93000BFD423F8CF78C0C94872ADC45846EF2968 -:10F940006DD8329DD2AACD255BBDA3107F5C1A3F36 -:10F9500081E66D263B5955FD7411AFBB332C06E78C -:10F960009B54B33735582FADDA7137C5FF7CBAC316 -:10F9700046F13FC58ED9C53171F4DE31C5D7A97ABC -:10F98000A94582EFD4D44FD7C5EF2CE67DE29DCDBB -:10F990002FDB22E87E988ACBA94BF024150D16F1B7 -:10F9A00039E39D222E2789EA3BFBB58BABF4E36656 -:10F9B00011E711146F74E302DEBEAEFED928F453D2 -:10F9C000FBE0DB631C06B2430D47FF7DF146DB44E1 -:10F9D000BC51963C2FCD8A2DBD7901E0FF6B23C130 -:10F9E0007FA0F1AA0F693A3FDE6DBE68D25B3D7E13 -:10F9F00066811FD9E360A4177F6A644DD00394FE2B -:10FA0000A2BE8F9770F934BA3515F4B16CCF43A903 -:10FA1000902F9F458A7CD99E5B7E037EE5D9152673 -:10FA2000F47313237DB8D22BF46B561DABDE23B5D4 -:10FA300095733A9A5E1421DE3DDAA68F3757EFDCD4 -:10FA40007E6612EFF320DE08F4FEBEC9BF18F87D13 -:10FA50009FEBAF38C7A61609FA7CBFD53883EE0DE9 -:10FA6000F18D023DE4FDD66723110FADF4B512E32D -:10FA7000076EBCFFB3F23911178CF7E9E9AD506995 -:10FA80000769907690952F986724C791FE455FEAA5 -:10FA90004C7E4B7FF8AB91FA555FFEC07E3AB7D5EE -:10FAA000ED13FA435D5B17E90F4A1F517187B5FBF0 -:10FAB000BA489F50ED1A0E08B8D41F10DF2BB20DB4 -:10FAC000CA8EE2D632719ED628EF7D31BF7CAD2939 -:10FAD000389F57BE16CC7E82B28FF4903E786FF678 -:10FAE000EFE81C5EBF4EF6CBF3E6A0F1AA414485D9 -:10FAF000E27B861DED9DBAF35DFD81186AEFAF0FC5 -:10FB0000DF0839EF6EB09B90B6D4DB49EE6F6F34EF -:10FB100064E39EBA5B0B77418F6B97F7B706D7BE4E -:10FB20006B83FD2089F51CC57BBBFE14CF0F8B7842 -:10FB3000BF0978DDC5188827EA3EFC493EFA9F3C9C -:10FB4000ACF322DED4306B53CAE1A7682992EBC82C -:10FB5000E9CC075D0F3E22F8F3A366B691DE6D3661 -:10FB60009532D8EFFDD2BFE8FDCA40EFCFB66BFEAD -:10FB70009F05EB5787247D9686093FE3CED19E4DA6 -:10FB800098C77735F3A85CBA77681C8EFEBBA51FB3 -:10FB900052E9A9D3247F4E91E72BCB90443BE85800 -:10FBA000DDB7D3DC6E8AF7BC2BE74825E4F38F7B07 -:10FBB000AC142F30AD279CF4D6942133499EA977FD -:10FBC000DB35A78995F1FA47720C7EC4C5FD9859BB -:10FBD000C5BD006B887E6BB0D1FD64ADFD575F8104 -:10FBE000AF271B2F1C8DC67DD97FD3E8FDD1F2DE58 -:10FBF0008F1F7D8BE13CECCBA578E814CF1EACE7E2 -:10FC000064EFCC2E0F47DD8F1D6D569790172C7823 -:10FC10001DED777C15156B08CCAFBBE7637AD7B1C8 -:10FC2000BBC74A76DB69EDF29DC390F974273AE9C8 -:10FC30009E34AF47FA66B7DD40EFBB4D6B3F4AEFEE -:10FC4000154E53EF195AF5EF1932674A0CECCA6496 -:10FC50004BE5CA417C8BC0DFE468FD79F1B522A198 -:10FC60002FBE56A4F5FBDEBD8A5B5172E565FB9E97 -:10FC7000DB845D4AECD3E5CACF7F299DF489DEF6AB -:10FC80008CAF7DC7E26DE8155C5FB8708DFBEDA2AF -:10FC9000C2805C9D27E1A4E4B38A5B9827E135CF5D -:10FCA0006E10F009F9DD154537A17411C0BB88F756 -:10FCB00052F8643FE83886782C8EC751F733C2DF9C -:10FCC00049C2DF57AFAFC7B30B438CEE2E4FDABF3D -:10FCD000047FF47EF7B7C65F4728FEFCB611D02339 -:10FCE0001E34901EA1EE3B7AE47BEDEADE23CB6668 -:10FCF000C40FCA8DE1642FF4C877DA391F38063E85 -:10FD0000A0F6FFB0999DA320474FF2233AE6D769AA -:10FD100068A3EFA993D269BF0E651D49F27E4E21FB -:10FD2000F43763E07D6AA2FB16CDF7F012DCBF9CCE -:10FD300067A77BEEDDBE90F7A9E53BE6DD4CF287D9 -:10FD4000F9EA1D73BE9F79BB2D0B4479DF3BE6C3F7 -:10FD5000199DA3B6E4B22CE85FEA777F067CC77CE6 -:10FD6000592CD94D1F79C43712F240BD5F3D25C5CE -:10FD7000933869F095EF576FD54A17E07760BCA3C9 -:10FD8000C47C3B17843FB34780DB0F7BCFC9A648B9 -:10FD90007AB75BD1A9B2730FF3763D0C38A9B8DA04 -:10FDA0003F4B7A53F05771857121785074E73533A2 -:10FDB0008AC3053E1067D4F7FB316B247F51719DD8 -:10FDC0002FBB9C487F9CEAC99D847DB882C399EC77 -:10FDD000E89DDFC37A1FBD23D28DF99D94BF6B11BF -:10FDE000BAAF8A261994BF98E206CAA57C2B577130 -:10FDF000024DFA3881D0774EC387964E06DCCE6925 -:10FE00006F8FC1C7D7FF8FB1DFFB27D74E127C2280 -:10FE100033D1336312C9B9693A7DF2F5DC4F52E848 -:10FE200077662E1F1D0AF9774B4AE975E8D79629A0 -:10FE3000FC077F4EEAA4388F3F2FF86B0AD99FD773 -:10FE400088F759BFED3CAF8C6B16F4B06AB1B89728 -:10FE500098CC1A898E1303F1B236CCE37F5B5C73C6 -:10FE600020EE782FFDBEC8CBCD6D19A787F783F79D -:10FE7000B023CF3AF9C9C67BF8E5728AFB8D3EB252 -:10FE80002A8DE7371E3E5A4E71BEC9472EA671DC39 -:10FE9000DC7BF85591BFFAC845C4056F3A7C4CD459 -:10FEA00087FF6008633F397CBCDCCBF171C768CF4A -:10FEB000FDC0D7CD971A8F411CFF7EED9CC56914FC -:10FEC000D73A3B255BC4B5AE03DEE7C52F5A1FAD5D -:10FED00005E25AF74D12EDBA2F887DD07D41D079D9 -:10FEE00018F8C1E07F3E55F1BD8A0F0FC42FD53EF3 -:10FEF000FC57C527ABFDCCF6B8369A418CDE7F3A6D -:10FF00006EF8C949B42E7DDC70B7B9E731F22B5DCC -:10FF1000604EF0895722DF75425EB4148AB846AD50 -:10FF2000A7C389FB18450522DF72A1C3093E8F3C98 -:10FF3000EC5BDD3122DE51C5C5B65CF027619F1454 -:10FF4000217E91D72FEEE929071F2DC27DDE34F4E3 -:10FF50007FFCA81C8FA1BF5D1744DC61B7ADC3E96E -:10FF600090E3A01F3E6E1AF863D16A2BDD3B6AB99D -:10FF7000D0B882FA29B3F78DAB858C6BFDFA71A7E7 -:10FF80006B41E366F68AF84E8CEBD48DEBA7B86034 -:10FF9000DE1FC59F76C7B81271EE57F96294F3FC65 -:10FFA00043F2772A8A9C7E23E4808A934AB0C8F77A -:10FFB000B8E5B985D7A3B8CC5DBD629DE79BFD359B -:10FFC000D84FC5926F175B84DC64867017EE639719 -:10FFD000182F1F4FC6F9E405713E290E2BDD8EFD4B -:10FFE000D86012FC86C5A9DF4BEB58F6735EEF773D -:10FFF000F1C9F4FB6243130FB24C9C8F97CFCC81B5 -:020000023000CC -:10000000DCE07AF719E0FB77AC5513BFC325DACFF4 -:100010009D1941F750BA0F8F28C4FE9913E67C8EC4 -:10002000F17DDB3BE92BDAA773A29D8538F1F41E45 -:10003000FE6F914F703E07FFAE957D45FAB9F2D73E -:10004000DE12F0D7FE17C6A99F79CE22F4B31E7A2E -:10005000A7F9BF2789F7E9B8FE4EFA47CF75F2DD59 -:10006000CD1C6721CA53CD3D51805BF7659378B7AE -:1000700096F544DD14E49F7DAC5DBC671B4AD787D1 -:10008000270B39B03CD34EEF9D35245AAD94B65F63 -:100090009841BF07632ACDC4F9C06DE9DFEEF88B44 -:1000A000C9425EA56DB004FCEF5C7EB8C399CA7B03 -:1000B000D938C6767C3FBCEFFC051163192ECF639F -:1000C000DEC4C78B4DBAFA6ED4EF2B67E29936D5F2 -:1000D0003EE765FBE3EB4C723CE07989B83F112ABF -:1000E0002F1AA6C4F6BD57487237CE46F7AE328DEA -:1000F000D29EC7EB3AC82E28FCB7C9FF61A338BA15 -:100100005D364187990691EE32C8785F69EF53E713 -:10011000981F4FF14C9A3298FAF1533FC6FDB9D06F -:100120002B92581B8DAFF433558FEB61366232F250 -:10013000F7DE8A8C867EE1F9CEE4A9A5930B41D740 -:100140005EF651909C381F11D5148CBF06A3DEEECD -:10015000F9CEE469D44EB5AF6F9ACE3EA278443F53 -:10016000D14F7DA681CEAD0D46F62AFDEE00EB20E7 -:100170007FA66AF72EE7931FD1BB0D6E4ADFE3FC23 -:10018000F223BAEF379FD20F9A3DF4FD647335A581 -:100190009DCD8DF4FDC3E6264A6FBE35B200F4BF97 -:1001A000FCD05AF651907CAC6F337B82EFD7BC3BCE -:1001B000B57F3AFAFE64E1B77937ADFFF2FB55F946 -:1001C0006481CFEEC542CFE474B9CE113BB0BED04E -:1001D0001D29EE25BC344D9C5FBB9344BE71B278A3 -:1001E0002FD46D60DBD0FEA56916CABF9B6EA077C9 -:1001F0001DDCB1A2DF77B30CA4A75D3F636A03E007 -:10020000E48EE7DFF302F977AF12E5EE21E2BB9A65 -:10021000AF2A9F34A5CF8E9025CEC7C2FFCEE99DD1 -:10022000FAEFC36FB1985F687D759F3E141EBF954E -:10023000FB96F605F477EC83B4A07DD1E0A47DA114 -:10024000E850D15FC314B15F33C3249D73D945F027 -:10025000830CC3F938C146FE4137FC177C3DBB64B3 -:10026000BCFB15FB41FA03D47E50FB40D17B32DF4F -:1002700067C2DF21D631C9D8BF9DFEA1C962DD1D8D -:10028000F191A41F77B79B1D9037938CC2EFD0DDFF -:100290003EAF00F7C24BEEB637F6C7BFDE94EDFFB8 -:1002A0006938287E30001CAE58BF45DAEDFFC1F535 -:1002B000137F03DF5E2CEE6586D26BFB64657717D8 -:1002C00074FBCE64F741D04FB76633E19CD26DEB3F -:1002D000FF1EF94BD3C4BE50F4D33085C97768F8FC -:1002E0003A33AEE4776A3D7DEB5CCA88EF65CA7845 -:1002F000E350FCAA7505F1BDD7270F0EC09331AEB0 -:10030000AFF07E86D6D9E99CAAE8F7FCE0AF96402C -:100310007ECD9FEC147E268351BE072BE449DF7708 -:10032000CD487157417286416FE9392CFC717E7E50 -:100330004E823F0B36E8E0B86BCB14B1EEDEF985A8 -:1003400006D809CEFFC5EE85DC3A3FA4E724F49237 -:10035000F3DBC47BE7BCC7591AEE8D20FEC789DFEB -:100360006D117E10E3C35F9E843EB4E46123E92FE8 -:10037000E7716CE6ED963F287EE74EDD1FAC93ED0E -:100380005AB65DBC997EDF8CD327F49F8F6C0DE944 -:10039000D08BA73FFCE009BCBFBEE4390DE6667612 -:1003A0001476779EFF78AF51FCCEAA8C3B9921EF53 -:1003B000F7D7EC16F7FBEB106F02FDE5C08EADF83A -:1003C000FDC9FABD6666E3DF67E09D343ECED2B676 -:1003D000487E90E4FD6ED1C78D5ECBBC1B604FAEF6 -:1003E000DEAEFF5EB34B9FAF0BB9B7A84D91BF67B1 -:1003F0003092E5D2FDC42DC25EACF8F695FAAE9708 -:10040000E0EB5EA9EEEB7E41EF7B1B0F7F99FAA13B -:100410005DE467CB7C17CF9FFB52C05FC1AD41F25B -:10042000FC7349ACA08DAFAFE1B0CD013B40C30B35 -:10043000C24E70BE2D9AE0BC3CBC93FC0AEC45A3B6 -:10044000037AD83D878C6457A86FB7FD0CBF4BDB90 -:10045000F09C46EFD5D61F0AF309F85C5882F2A546 -:10046000876C0E27CA5F0C63B03F9FE778C3BDD887 -:10047000F3299D847FE0157609FE370BBF5FA1F05D -:100480006F7C58F893973C21F1B36D9589F0EAD3CE -:100490005842DA95785278FE95E1A93E3CA1DDF408 -:1004A000877F7F5CE29D21DEE6E8B64AFA5D0C8537 -:1004B0006FCBE18F52A1F72A3C1B399E7FA8DA3B14 -:1004C000E57B785F83E76AE0D9FE8FE3F98F908F51 -:1004D00085A4F77EFC53E8BD9116F2A32BBB86B230 -:1004E0005B0CAE7DF7581C1F7878E2B3A4E796C783 -:1004F0009EA95FC1C88E76ED14D8D1AE7B033FEBC9 -:10050000CB7E77FD53B9A08F167327FD6E8C3746CF -:10051000BC2BDF9D367BFBF37CBCE2D8AF52F7638C -:10052000DFBC1C46EE93B9725FE2CF1AFC2E60BBB3 -:100530008DEC6DF5ED61C2BE7640EF3FEB4E12BF24 -:10054000D35762E9295F01BD9CF78771D479B0B6B2 -:100550005DFEFE8B3CBFD52A3BC3BE90F7A11C6F4E -:1005600050BDBA2922DE36236192137CA86501F3BF -:1005700084677C1DBF67C4EFD5EFE50DA8070EC0EB -:10058000F795FEC7BC7A3B87E23F4BE5EF4BF6EDB4 -:100590000F99AF5EEB8DB21A89EEE8DD86BA47C5DA -:1005A000EF2B7E02BA8B0AD053838C4F3BF6FDDFD4 -:1005B00098F03B4DDDBBC4FD08CE21B7E29EFED9CD -:1005C00036110F5753D035C6EFC4EF74083EB46CE4 -:1005D0009FE673A6F54347CCB741BC6B1F424FFB68 -:1005E000BEFEDDC37B037C64D4DF393C77943029C5 -:1005F000B7BCFDC64FF6C9AF90DFF1F8DF16CFDD0F -:100600009BC3D7F335FEC66B13F5EFB85CE7D4FF99 -:100610004ED377B2F5BFD3D46B97F091FAA0D253F3 -:100620000F4D11723C3455F0BDC1A51F479D8BBFC6 -:100630003B4E3FDE6CB77EBC6F8B977F555CEB37D4 -:10064000C1EFB81CF7841CF73772DC7F164E2A1DE9 -:1006500068BCFF5FD3FF0B8D21EA0800800000001B -:100660001F8B080000000000000BB55B0B7C94D5CD -:1006700095BFDF7CF3CC7308210904C224242160D8 -:10068000880324542B94C9D300D6065C2D688401BA -:1006900052C83B80B5D2D6FE3208222F5BA8D1A229 -:1006A000224E82E1A1613B118289863A286411AD14 -:1006B0001B698BFDFD56DCF828F23213A374E55755 -:1006C0005DF6FCCFFD3E321942B5DDDDE4A737E72C -:1006D000BEBE73CFFB9C7BA929CE317C394588DC1B -:1006E0009873E69E08215CAB7A8A12B385E87B4357 -:1006F000154D0E2184DB7BBC3E5688DA8EE16253B9 -:1007000032C1257D6F1A00B78DB36FA2F18DED7FD9 -:10071000781BE3BD07558785C65F6BFF280AFB5C26 -:10072000FC325C88E158F7519420B8FAB2C2F02646 -:100730001A77103CAB5515FE4CDACFE83363FC62F8 -:10074000AA0E7BCD82DA929656730FB5557B5B79F4 -:10075000FC0D9F69F0F8DEC641E376CCA7B6CAE887 -:100760008DB2537BBE5DDFCFCFF3AB53159717FD33 -:100770007BFF10B70CF35ADE895B4AED15FCCCBC4D -:10078000B6FDF4D00B996E5A57D341FB440CEC5391 -:10079000D361D2608977756A6B510CD14BB4282232 -:1007A0008D9A8B62AB584DF4AC6A6FAE16D45F95E0 -:1007B000718F49105D023EB518DFA71F8388A375AE -:1007C00076FA8BE877D1F779D452DAF755DFB1DBD7 -:1007D0005DD4063A5F8FC2770307697EE6003ED399 -:1007E0005D44BF1CB4662146D0BA83AF4739687CEC -:1007F000A3EF75496FA39FCFFD9A0607A8653AB787 -:10080000AB7CEE8A2F55A6BFBEDFAD2E95F799D5EE -:100810009E1689739DF4C9EFCD7539647FEAE23283 -:10082000E07F2261418E9ACC78BB000726CE69DE3C -:1008300044A854F968DFCC6BE9B654DBB7CB24E6A7 -:10084000FBC0B7D4035DA3483E4E140F9F4C235703 -:10085000E7DDE332F0BC22B33B7505CD3B19E188FF -:10086000B4D37E0F158F8B045F5F438BFEE25D6612 -:1008700037B59507E5F74EDABBA3206F270F4E5526 -:100880003DCAC07E776ADF15C2C3ED00DF3CCCA74E -:10089000726F6304F619E09FEC9FEBB2F3FC13DE7A -:1008A00077EEBA87CE773223DC09BE749945B98FCB -:1008B000E5843E82EF752636820EFAF7E6821FB493 -:1008C0002E906160BEF6B69BB479F7348B41F34C41 -:1008D000CCB78BCF0DC6C7EEFDE097F7D0FCEA672B -:1008E0005461A1EE6AD38A389CFF931D83F12BD704 -:1008F000E85C6DF2C7C505C96B75C7557D8960F9A0 -:10090000EED0F5C3C1FCD4F978324395782558BCB4 -:100910008250AE6E6D66B92675F3D8A6702BECD4F6 -:10092000268677272B74FEC407ACCEB584FF738A66 -:10093000366EA03686608384CDD45AA97DC624FB4A -:10094000A1B6583F86D8A9106C2A1E976348A17D8E -:10095000D4D6C9E0EBAB335D8FBA088FCD334B668D -:10096000CC043EA26F99A06FD65C8AF08868210AF9 -:10097000D5F79EC077FB0F9A04EC478DB5A3F263C1 -:1009800092D37E27290AE1DDBFC3E4F5B0FCB9228A -:100990009469422CBB49EACD270EF734751CCD5F14 -:1009A00063E0F355B7A85E1BCDEBAD271210C93F2E -:1009B0006D4DFE01E4B5FAB86AB7D2B9F37DC9BF8F -:1009C0009A0EB8C5E4B4D0FA5A1F75125CBB57F141 -:1009D0003AE4FE027A597313CBBA3863AB4D11591E -:1009E000D4AEE93363DE99C38A788CE66D0E8B6AE8 -:1009F00002DE3599B3CF2951D4AA5BD627D27ECB5C -:100A0000B79B3EECB1CAB557E8BFBACE6D2CB7154F -:100A1000DEC1FD557B07C335C23800D3FECDF8E3F8 -:100A20006621DA5C91B1676EA0BF2788095754D060 -:100A3000697A3CF4E104F84AF2241A88D82385B88C -:100A40006F92331E7ABFD1E8980D3A043A4D76D0B2 -:100A5000ABEEF0810AE0EDAD0E731AE8A8B5AB5F1E -:100A600061BA06BE20BADF486D82E0F30784A46F46 -:100A7000A05DCA799D49F15AB19E68C8FB5915EF2E -:100A80001A1A0A78FAA3D83E09510CBD58B520C7E6 -:100A9000003B07351684CAAF747D506C46251AADED -:100AA000D4FFEF197BD4614176E23F5D298C7F81D1 -:100AB00059B87DD47F5FA4331A723FD61A9505BC0E -:100AC000C65A93BCA0FB5863DF1A7C7FF328C5F19C -:100AD000106D7D24EBE5C90AE0DA0827E4444958A3 -:100AE0006C043D368F5A6C84BC8FB5FB324A32079A -:100AF000E0028C431F8497BF5714E136E23BCF8D51 -:100B000054FC06DA3F6023FCA02746BB09F8054CDD -:100B1000121662CD20FCC82231FCFF8E9F9DF08B07 -:100B200018C08FF81D8DF59F67137DA84D9A2B4433 -:100B300037DB85156C17747A5E24792F205EA52922 -:100B4000526EAA771C29C2788DE85E8F754551F2E6 -:100B50001C45380FE030D9AAB9925FB95A7B7FAEF5 -:100B6000F42FBAFDECC8751973A9DD9E5B62465B74 -:100B7000A866C6F70C61EF5729569693CF49FF60D8 -:100B80008FEF5DA1D8533306E45BD7AB3AD97555E7 -:100B90007FAA7EBFCB2C52F0395777068D970BA9D1 -:100BA000D78B56DBECA9C17A043D237A94DB2B6EFC -:100BB00013A46FEED571F6D4A9D4AF5E340BC89EE2 -:100BC000A65FB1F47B256508FDF285E865FB60D87A -:100BD0006F9372EE8F54BC6B09FFD4DCC17A97A47B -:100BE000E941A35BE1F3357E6564D853AA7841F30C -:100BF0003BA973758C7638CC2BCFF5C23FDE4960AC -:100C000029FA1B62594F7990ECD7BF68E7BCD3E84B -:100C10003F02FB71CCE44BB6D3D0B11AAB13FB2F20 -:100C20001014E8905D2B15DDDC9E0AAF6DF3F3E642 -:100C30009E3190AF77DD1627E2B0C6754D91B0E3D7 -:100C400059629DFD4C06820AB1F7CAD4EBC7332422 -:100C500038E28CCE1738628A53C06F9DAFDB735D6C -:100C600079B939D75F5FF5A7B6DBBF03FB757FB3F3 -:100C7000395E8A4977C6B401BEE97CAD131EC65BF6 -:100C8000E7D755FE11EEA3410FF5E25CB633CFAACC -:100C900082E30A8D7F56FA1D8A7F3A7D676A7C5807 -:100CA000DE21ED51285F757AFF9036C4F7C98FEECB -:100CB000607E080BDBBF50BE7F135F28C22CC5507F -:100CC0007EAC45809F8906691F1397919C10DEF7C3 -:100CD00008F7E11E6AEF0A7FCBC472A8F1E75EF065 -:100CE00087A6BE2BBCDFCF48FEBFE34F476EC903CC -:100CF000C17A18AA77D7D3B36A87F3DF75BF47964F -:100D000086F42B443F43F44FE7977B7514EBD9559A -:100D10003EAA2D525F357E45D0EF90FA863FE87BA4 -:100D200035ED8AD79FFC2DF44F21C4896F8F85E85C -:100D30009DCE9FEBD91DDD4E9D16FE63763AFFA931 -:100D4000141907787E62F136034E3794C3EE9D9AEC -:100D500028DB039A7D0B6D4F539CA3901FDB94718E -:100D60007204FCF529B3BE8FCDDB4CF89F5ED33DFA -:100D70006625AD3F9D2BDB53880B83605798580445 -:100D8000BB7E7AA4C5033A9D5626E4C13F9C561EFD -:100D9000B85DC2F16607E005F17976824F99E47C8F -:100DA000DDAFE8F6FFF482EF14F03C451C053D1C76 -:100DB0008A28E1EF284A4C31E173FAFEB4296BC569 -:100DC000C0F99B720DBCCEABD96FC283E9DEF7537D -:100DD000C5DB445D8BE05208FFE4BCDF14A750FF85 -:100DE000FB3F1B3719FC75AD1AFC7DF8EBE41B01CA -:100DF0006FE37DBEF7659F6971905FBAEA270B3E8E -:100E000093FD653906E84BB9C64357CC8468F0A713 -:100E1000DF3B2E1A7E47F743FDC70F44B883F876B1 -:100E20008EFC94181F044F783429D88F1DD9BD39F2 -:100E30001DFB949B3D594EEA3FDBF87412E28DF2A4 -:100E4000DD8FA4731CBC7B633AF299F2A6CDE92E28 -:100E500086C3DD9C4F19E5B92FECBF79D7A6A0B8A2 -:100E6000BB2A5F65FC4BAD470AE16F67DFF0E9C362 -:100E7000769A97F633C50EF1BA57743F0CFFB81047 -:100E8000F131F2B7062BDB73DACF05FE374FF8FEF0 -:100E900073D0E313191F99CA68DEE55C23D367A1F9 -:100EA000F06E89A771B141B1378BE0F9631A317FD8 -:100EB000F13AC59C003BB062D864D58175C3188FE8 -:100EC000251B2677A17FE183B27FB6C57BF024F690 -:100ED000F98DD9D9EC607B9352326900FFCBB966AA -:100EE0005EB7688BC2F1BFFE9DB427E21A83CF794B -:100EF00059E3BFF8CAA2802F3FD0F872DB83EF1C02 -:100F00004DA07DEDB1EE2BB01B6F3F7E26D54FFD82 -:100F10000531E73221E76966F75315387793C589BC -:100F200073646725AAF1347FCA8F731F43BBE8C17E -:100F3000C54F55C0DE6EB772DEA6E3B74A711A60C0 -:100F40008F5F6FFCE112D0EDECE3568EDB57358EF0 -:100F50008F1743E8A9DEEE21FE3B28D1D9576FE574 -:100F6000F6857ABB70903CECAF4F60F8B7F50E6E2B -:100F7000C57C295FABB4FCF87AFB4DFD325C3828A8 -:100F80009ECDDE60130EB2534971AE517974CEB46A -:100F900089354D1BB573A5D1FAC99EE47CD0217B60 -:100FA000E3CA2E84BCE63C998FBD797243128CF261 -:100FB000F2073FD85941E373F34AC6E551BF75C7FD -:100FC000675C5778BDE39185A0777993459E4F3B49 -:100FD000F7D9C7D3E39FA2FD3D6F9838DFAFDBF1B0 -:100FE000C1CE8DD42EDDB2D21C2CEFDFF6BCC91AD7 -:100FF0003EDFA457D7A3C33FAE579B93587F9A4871 -:10100000AF32FF79BDAA7B700DD3EF81BC92D9A01E -:10101000FB59932709FA7476C20C9673CF6185E960 -:10102000AFDB717D7DB176DE2A836FCBF4E4013BCB -:101030007E4964337D8F747C928EB8F752FB82BFF9 -:101040007BEE43746E3F9DBB9DE8EB1F7FEDF83454 -:10105000B37B9C93CE37CD20E3DD6BE2D63C835649 -:101060002FE83697444A9A2BA8CB68FE93FC982722 -:101070009AF0A9EE54FC6159F067B79E3322DFA3C2 -:10108000BCF1C3E038827E3E0CF2DBD7C3F79BDABB -:101090005AEC93366077BFF36783F007F9E99B7BDF -:1010A000C2843FE8BB57F313EA33139F7A3B46B23F -:1010B0005D00DF8CA8C7754C68027CCE2CF9D87B0C -:1010C00088E22659C711EAB481739EEBB890053BBC -:1010D0001B7ADEDA972FB07C54B73FF299C2E79FB4 -:1010E00075CE98F5CDE73FB2FB4216F877CED433F4 -:1010F0000DF956AFB9270B7CA87D45DAF37F940E26 -:101100007A7FC5063A08E979AD62653929542F72AC -:10111000DDA0F7B8AC1BD476EC627BDADF29EB37C5 -:101120007586EEA278D43B567CD0057BD69F20F303 -:1011300028DADF05BA4D1FA7F941635FD25CB26BB5 -:101140002F5E950799FF9D85FE8EC73EBE6AD8012A -:1011500091152E10579C873E53FFC2D5C9EB21E74E -:1011600067BD23A6C03EBE99F5B75AAEF7BD1A6E4D -:101170005739EEA1DE20FE5D3D875715AE41F58063 -:1011800070E10A9A576776FC80E3E313AA405C5744 -:101190003751EA937859EA53CDBA23E684A0FD7615 -:1011A000429F186F192FCE7EF56FAC975B66BA3AE7 -:1011B000A197E1B085D82F21DAAB28DA3CE27FADE8 -:1011C000864344A796F717AB3C5ED7AE8A915893F7 -:1011D00010E94DA373148BAD46C4D3B3856F3AEABF -:1011E00036C2D8F3CB5B687CCEABEAD44D82F3A792 -:1011F00045259C57BA5357213E32281A5D7DD97335 -:1012000083FD599EF453D35585FD58DFC8708E5326 -:1012100066CDAF2905BEFABCAC61721EEDC37196F6 -:10122000F0F665CD857EFAFBB2E6450ECCBBEBD57C -:10123000F015EC17852FFBAEA0EF84E5CBFAE8E7BD -:10124000E4472027759764BDA350FDEA09C4E7ABC6 -:101250000E93BC203E3424BF6B801D273A83AF170A -:1012600088AF2EF81FB770B9A03F934678A13F759D -:10127000FB1561449DA8C3D2843A52ADA9270EF252 -:10128000BCB1FD4F66C8735DDB3B66C724AC977588 -:10129000275248B6E3759AFFAA691FFF2EEA7C35EC -:1012A000C7A517AD31BEC3F97BD5C156CED3AB852B -:1012B0009FF3F4EA96C1F2D29FE0E0BA48A87E8498 -:1012C000E53B06E9C5ACED522FEE52C50AD839A16F -:1012D000D5696725C4733C32B04EC6BB2EF5C2C378 -:1012E000885F02298A53A1AD02619E75888B3CE913 -:1012F000329E09FCEE85EC656C57BCD977D0B902FB -:101300005ABC3B6BC336A31A84CFAC4E59970C849E -:1013100089F243CC6FF768F041B84A22F27358AFB4 -:10132000B26057030659470D3D47BD562F3A817AA3 -:1013300052E600DE731213A51D135E969F2E83FCEA -:10134000BECB40E35306D62FC997EB07F2215907CE -:10135000BB9E5DD94DFC2923FEEC253EA37D9EFC62 -:101360007119D99916F2C780FF95FC315A5F7D0635 -:10137000F7BF58EF64F860FD4D0C1FAA7731DC5EB3 -:101380005FCCEDCBF525DC7F02A87E17FF7BBA1181 -:10139000F2D0051D1B35009F8A0981470D9E7F2ACB -:1013A00046190C8F52787E76FED38D1ED48B66DA6A -:1013B00035FD764422FE3A6B9375A8B33659876A99 -:1013C0001DE5BE259FC6CB66ADDD2DF350573AE631 -:1013D00015C42CE0FCB59FF257D8A395F9EE3CF06C -:1013E000E5F8F1FCD46D6C276D5C073D75F70DD108 -:1013F0005C077C83F271FA746EC6D475D904E74633 -:10140000282CBF642F6E2CD1F34ADA27BF53DEA3FA -:1014100014AAD565D87FD548DB54D8DFCF5DEEDB85 -:1014200080874EEFA251CB53110F75991CEFA28EFE -:10143000EBF9BD49209FD2EB7DFABC0E57EEDD588B -:10144000372B63DCBA29B03BA464B0732EB36801B8 -:101450005E2E43B8B296ED96C3083B70B726C779A7 -:101460000E1917FBCD0E630CEA3761B9B11E5AD7BE -:10147000A5F1F9B8C6E7131A9FDF429D8CDAB7A928 -:101480001F6D37F5A39D01FA4A7965BA3D91575210 -:10149000C6F22BFA9200EB75C1D9D02F696F92205A -:1014A000D75B34F94DD0EC4D576E49955CE7E37D41 -:1014B000AAB47ADB05ED1E443FAFBE6E60BDE07698 -:1014C000DE8DC263859D7F49E69D6234C52304CFCE -:1014D0007B299EED906ABD23F363D2F37953651E99 -:1014E000200E58E4BC04470EF464AD566FEDF51AB7 -:1014F0003C26D4A763BAD363E07F35FDD2E143FF36 -:10150000ADB2BDAE994230B5AF28F27C35F3BAD357 -:101510008761BD6233707DBB498E9FD4F4AF264591 -:10152000DB4F3B8FB0FA92C08FC0E197929610BC10 -:1015300029C2BF4CDA7D7F3ADB6BE14F9F07BBA826 -:10154000F8DE174E8A2B0BA62E318E043D7C3B0114 -:101550005717E42C31DE8CF1D6F7EDC1E3237C493B -:101560008A1D70B61C1FD1BA7398330836BDF83E79 -:10157000C6CD869C250504CFB1788FD7436E7E2BD0 -:10158000E5CBB6BFED0CE856D521E3F6BCFD6D17F3 -:101590005F845F6E8B74C2BCEFCB4F667AAFEDD8C1 -:1015A000B305F2D6DB2AEF0336B5FC69E7CF799EA7 -:1015B00005D724B4AF2F5BD077561EFDE362E0352C -:1015C00027DCF705E0878ECE643CE70C977AFDC8F0 -:1015D000D1BC25D0D3DEB6FD3F81FECD89A68016D5 -:1015E000F8BC60E33A44E5810905D0D3DEC8EE8556 -:1015F000D8BFF6798B13725A79203E0FF58143F9E3 -:10160000B21E5E31716B12FCACE1E57DBB7F8EFBDF -:10161000D5E76D7C2F541723E3BC4AB571DA4AE64F -:10162000DFAEDD4F03EF7D36BE9FAD40AD8AE08A71 -:10163000DD695CC77FE5EB8F16820F85EA8EDDE8FA -:10164000FFE2399B017438697645CF801E9E347164 -:10165000BE59A1C115A7864B7CC27B8A987FB15B1E -:1016600093E0672B87FFF476E03D47DDBA13F98EF0 -:10167000D863E1BB8973FB886EB4EE5CB3690AB8CA -:10168000DCBB2FD20879B9A06C5DF814F66F96F325 -:101690002ED8B6323D3DCDE305BE47F304ECD6056A -:1016A00065DBA0FE73CD7BB2908F9E7F7E0EE7A59B -:1016B000BAFCEAFA52F99C65905F644B40F6A85276 -:1016C000FB5BD83D2282FC6D85069E3FF464EF53A0 -:1016D0006260FDF91693DF4C34AAB08875D6980184 -:1016E0007DA84CBCB518E7AB3434A6236EA998DAB4 -:1016F000B3107A71CE26AC0934EF4DCD6F551E5C18 -:101700003317F1EFF5F0B9A2D9A34B09D27F5D6A87 -:10171000B77983EF2543DBF7EA85FDADB401F8DE49 -:1017200015168EE1F5FDDE34FBAA91A7D5C648FB60 -:10173000F13ECD6F213BF6B5E6EF16AD1E3CBF3F47 -:101740003F86BF5F6BEE4987FFD3F70FE46B7EC325 -:10175000D8930E7B15BA6E0EC211D8911714B6230A -:101760009507950F54A253A5D5E355411761D6CFE0 -:1017700069BCA2C87509D334BAD3DA0D05C9FCDD3A -:10178000CA169BCB46EBAAC27AA210175547F6445D -:1017900021DEE97D59154D1ABB62E334FEA4682CA5 -:1017A0000BAA3756F84C2E5BD6107C46FC44F396B9 -:1017B000E36FFAFE3305297C9EF2F670FE9EB0F7C9 -:1017C0004C839C96EF18BC0EE7B207E95F6FFBAE47 -:1017D000B8E0BC3C45C33BA07CC07A12F8FAC324F5 -:1017E000F0BDD220D6E1FEF23CADC1BD26C1C22A79 -:1017F00061BEF7ACFC6B4418E4E5FCA56AD6DB5E81 -:10180000A587EDDADB0573D92EF59A7AD8AEBD7EC1 -:10181000F42EB60FBDC37A16C24EBD5DB05C8E8F7E -:10182000EC59E8A0F1FD3A3C46B0DF7FEF680DDBF4 -:101830008F39AA7C57217699ECB21EB4E1543DE76A -:1018400017264770FE7DBA40ABF70CF087F32E5D8C -:101850006F7A8563FF41E8617904D775288E6A79CC -:1018600011F1DE823827DE6B94639D940373F07D63 -:10187000636CCCE565E0CF1DA3DD450539B8DFEC31 -:10188000E13C82A49AFD4DEDEF2C9C4F064C7DBBB4 -:1018900061A7D247BB6717101ED5E6EEF5D984D2F3 -:1018A00045534F174AE4B355698FC41E2957BD9954 -:1018B000BBE43D8D765F79B7467F41494C23E442D6 -:1018C00091FC7DBDFDC05BB02BBDDDE3D81E87EA7A -:1018D000CDB9F6C7A2601FFE4C7EDC1394EFFF79F2 -:1018E000F11EBE679D8FF720D42E5937581EFABFC0 -:1018F000BA83F33EB125A81F72D830180E9523C8BD -:10190000A37F90DDF130DDB76B7A5595D75D0B3A4B -:101910005C85E711AC06C1AF85C021F345898C1306 -:10192000B6C3FF133DAAC7F84F719EBEDF2460C740 -:10193000D792FF62B82DDC8B7CC5B09FFC53ACF412 -:101940004FF00B5551DD5C9FEA6DB3F07DEF431D09 -:101950009F24E1FC24875C87A9EA78290EF9FB3EE5 -:101960002D5F203F18C7EF63DA3AE29077E8FDD5A4 -:10197000065F3AF0A28888E375BDBF46F5A703FF6E -:101980002AA53B0BE3FBF2EDDA7C8255C082CF51F6 -:10199000AD487D171D2ADBF350BE3DA9C92BD98563 -:1019A0002C7EDFF1B2AC0FE876A042B327AFA13FA7 -:1019B00053EABD5DBF57A2A515D0F721EC43428184 -:1019C0001E17AFE0FACDE3050E096BEB795F595FA7 -:1019D000E2F1DA572E64A564629D362FD80E8D1B76 -:1019E000B02BD0FF04D6FF874C7174AECA9D8A73AA -:1019F0002DEC54E99A229A2E961B571671DD4C78DD -:101A0000386F0BC52B548E2617483A551A8615C6C3 -:101A100006ED779E6C7AC214B6337ED89D1FC53E04 -:101A20005A843AC50F4BE5BB81ABFE2658CF719E59 -:101A30001DD28E436DAE18AE95E3E52B1AD7C70FB6 -:101A40008147289E15EEC6A238C7B5FD3ABEE76DA0 -:101A50003A7E79A611C17498BFA66804B5CBADFFD4 -:101A60002C1DE479CF7758FCF0AB15A52BD7470F89 -:101A70002137D7F8831D41FE2B05FCF5F2FDC6F595 -:101A8000F00F6DAB15FF29D48B04E95533EB17E943 -:101A90004B905FB8B920A4EE50BE782CE26AE15EAC -:101AA0003C167E86F46AA17388FC920CE42803BF7E -:101AB00019F1701B8ACF5F0AE4BBA49B0BA49E6F35 -:101AC00099E90AC06ECE500D1C8787EEF765818CB0 -:101AD00027BAE322EFD7DF7380D9335449B74443A1 -:101AE000FFDBD0B7C4B84807EE830AF3C3E5BCC335 -:101AF000363BEA3781C397B9BE1B783862BEBC3724 -:101B000088102369BC2B615253B01FF975A13C6F3B -:101B100078B68C5BEA324C7FBF3E941979B53EC4EF -:101B200071436638DF97F4B67FCE7E2BD09963C7BA -:101B3000BD466F376587A44F755FFF571CFC6B6F01 -:101B4000E75FF81D5AEF579FF0FBB48DDAFBC0D763 -:101B5000DAB5F75DDD8E48F4078A3F2AC2BC4D5ADC -:101B60003B502790F562BDD5F35FBD1E1094078FE3 -:101B70002E1C3A0F8E714704D7091CF143D55582AC -:101B8000EB04A969B24E801675825493AC130046DB -:101B90009D002DEA04E8479D0030EA0480512700AB -:101BA0008C3A015AD409D0FFC57CF95E2640422CFC -:101BB000EB97116CDFEF6B56BD88CFEF3B2CEFA19D -:101BC000EE6B54F89DD645FA3EFCDC35EF750E6A97 -:101BD000EF757CDBF85EAFAE4D75825575A6BE63C2 -:101BE000A8EBD4B52ACE35B02FF5F3F9FB1B3B7328 -:101BF000DE2D457FB3C96970804F97E250AFAAECE4 -:101C00006CE6FA5341FC6133F3B74511A897DE65E2 -:101C100091796E8D4ABD53F83E94E3E01A4B37E755 -:101C20001F557B157B59F07DEE4D9FB11D586B8B79 -:101C30006A029E353E9BBD6C88F71F7C2FEC1057C7 -:101C4000EF9B97C929A226A288EF9B97E19E995AFC -:101C5000A17E65E4FB634A4C87431EF1AE2A03660E -:101C6000DD2EF53EE43D556567EBFA4471ED3D34FC -:101C70002A03E07FE8FDB3BB3032F64C380C859880 -:101C80008CB8A9F8F1B2FD6DF4BDFEAD168E3B56D1 -:101C9000E6BB97438E8E995C5C273976D8C6F9D11E -:101CA000C7DBC60FAA937CEE725717F2FDFC68AE35 -:101CB0005BAC3229EC97F38BC7C5F3BB81E326F607 -:101CC0003F1DAE925ACC5B35C9C1F5A9428BB89F76 -:101CD000F7D1DE6951CBFA54B856F11A085E2C9C44 -:101CE00066E8CF22221BCB8B296203DE532D12F232 -:101CF0007D832E37ABB6291C1770A1200EF7929268 -:101D0000BE8B3AFFED32DE2F2CB5C8F835D120EF6F -:101D1000B31337C9F72D3F126E33FCED72F28B68A7 -:101D2000C94FFEAE87FADDE1A393647CEE88C7FE5F -:101D30008B4F98F8BD6F61FCF7D3DDECAF0BF81D4E -:101D400083E2BF47BD72C3F5F527F41DC33193B4D9 -:101D50002F4447CE8BBA20975C9F71737BA2BE9CA9 -:101D6000DB1933A59DBEFA2E91786407FEE17DEF65 -:101D7000235F4C8C8F74C2DEE97A7FCDFBC430D9EF -:101D8000EAEF13C7502B82DE276E713978FF44C308 -:101D9000C9A90ED0E3AF114ED0437FA7B86566C97D -:101DA0002EF0C915253CF82EEE51B6125D8B701041 -:101DB00005756E9F4B45DDFAB062E777D1D7D8C97C -:101DC0006D0FE31D4F5DAA62571CA8876F2D8C23F2 -:101DD000BC8B529219EFBA76592F650AC5A19EAEF7 -:101DE000E983CBDD563862A07F8EA617BD345FCA6B -:101DF000C92D5EC8DBB7A8A33E87F91E6173366B99 -:101E0000F91AF83EE786315C4FD5E5A6BF25BE0935 -:101E100072F346A1F433A5A5EF98100774E5BA8FC5 -:101E2000E2FC0BCB3E7B388ECF37741D8BEC28DF6A -:101E30004B86D6B174BBBC5BAB83C37E1AB53AABE1 -:101E400051ABB31AB53AAB51ABB31AB53AAB51ABD0 -:101E5000B31AB53AAB51ABB31AB53AAB91EB772B9A -:101E6000B87DBB7E35B7DDF51E1E0FB2FFEF5DC737 -:101E7000FE87D6413FC2BCD03AA8B03AA2D98F92D1 -:101E80007ECBFA7348DDB378F8920D44BFFC06B3FD -:101E9000135D7A1D14EF97EF8B607B70B170C8FAF9 -:101EA000A74EB708AE97F60BDB14D03F2F639CD13B -:101EB00040E37FD5F8A0D71FA11F381FF4032DF4EE -:101EC000C39836A01FCF984985B3A5BFF7B0BFB759 -:101ED000315FD7AF21FB41F052611F643F2E86D89E -:101EE0000F4A3CEE061ECB3AE5BB26FDFD661E35CD -:101EF0005F4E19C29EF8A43D1913E6DB87EF8CA94B -:101F00000DE3F7C1C7B4F758C736CA777165A28425 -:101F1000BF3B845D89023F960EEF7BFF699ABF74D9 -:101F20007304C72DEB472E9BF6BFB12B9F150AA656 -:101F3000DB6FEAFD951F132E056152FE0ACC2203CA -:101F4000F735C210C67A50A86E51703FBAEA5E31BA -:101F5000197C2EB094EC009EF1DAFDB688D5EAAD7E -:101F6000C6EE8A3D049F8C4B74E25E6B74C2218185 -:101F7000F74F8575C599B08BFE31EE09453978BFAD -:101F8000BC55C1FAF04C79FE3B8AC39B205781C3F4 -:101F9000E373C0EF7916471BEA00CEA284A5C8F30D -:101FA000E7453B72500770768D9270BCA34D71224D -:101FB000944D585AC0EFCFAC5B3FB6E2DD9A22A2F7 -:101FC000E95C9661EE1C7CA7A6F85399378B3EF628 -:101FD000633717C9FC6BC46BC28F7BABBE59917C56 -:101FE0007F26321D3918A7B8F2BB45241F7FFC9EFF -:101FF000EB16AC4FD4F08CC72DA20AAE76DBD09E88 -:10200000D0EEF3BA0CEE52B445511E23F71BBCD9E7 -:1020100068DF34F87E8C7E92E722EC57F4D8E489AE -:102020001904275A7C6C273B5CAE5BB1FFAB335D78 -:10203000C5180FAD9F83B7C8F3099FDB302FF41D80 -:1020400096CECFA54552EECB8AA4FD98BE56DEC7EC -:1020500086F2BDACC8A0D9B7BF8F37E15B8AEFE984 -:10206000F88BAD8BB3810FE17B2FF0247C17625C82 -:1020700044C470BDE3FA72E6E1EF951549F9227B9D -:1020800056F5B1B467DCA61BBDC3103F8EFA857749 -:1020900018F01DD5D867C3BFC378D6D367837F7FB9 -:1020A000F6C13E1BFA9F75C977D2A1FB3716C9F757 -:1020B00013E9D3FB78FD58FA5637C7E97DC31047BB -:1020C000A5977FBC5EDEBB64B07F19ABF997B1BF4B -:1020D0004869EF21791BFB6434DF6F8B82581EAF98 -:1020E000B44A3DADFC45D9A1366AC76F277C83E26F -:1020F000AF095EC27B505C64EC97EF2D09069DF63C -:102100009A1886CC22BEAA11F2BDE528CD6E206EAB -:102110002B25BB50537EF432BF03C07AEC8F3B5B60 -:10212000C85FBB49C2E4AE918F2E9FBFA68BF3C39D -:10213000ED57FBB57CB3753DF2678ADF06F5579620 -:102140001DE982BFA9DA3BB8BF66C5679CC752FCD0 -:1021500036A8FFDE1F7FC0EF6CEADA07F7137F9F18 -:10216000029F75FE1E33F92620DF3B5613E694FFCF -:102170007EC0B712FADE541DC1EF6777FD3A8FE5D6 -:1021800046E737AD6FFA76F2B196E77BF24406F494 -:10219000E19BDA5ED8A7B441F6C9C375BED9916C8C -:1021A00077EAB4FCAAB6CCCE7E3EB1D6CAF6AB5026 -:1021B0000D7302AE354A3B238A55CD4EF958FF4F79 -:1021C000DE3E8CEB797C00C03193F8DD71DC5A097E -:1021D000F78DB0B07D28349454EFA1F6A86105DBEB -:1021E0008104BCB824BE3F03FBA0427F655DB5CE31 -:1021F000EC53E4FDBE2307F9AE7EDFD4B0D1DB7A29 -:1022000010F9B2E27D7219EA8A7746F0FD4100F5D5 -:10221000463A4FC33069471B16A4B31F088892D2B1 -:10222000958843E68771FDB16198E351DC27365408 -:102230004CE438FAD07F4BBFDB37D7EA441CD530AB -:10224000D9B106EF551A7EE1E0F15714B99FE75175 -:10225000499F86B9F2FC0D15319CF7E87C686874DB -:102260008DC4FDD4CC31EEFF00DF4769F7730DC993 -:10227000D44FED134AC9821F619F4912DF19331DE4 -:10228000AC77C7164C7C74B783DD891FF74475B3F0 -:102290002307E5C5FF033C759D8B10370000000048 -:1022A0000000000000000000050207000000000020 -:00000001FF -- cgit v0.10.2 From 1cd4efddc4512ccbd9fe317f688f361605ca0c88 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Wed, 3 Mar 2010 01:23:22 -0800 Subject: bridge: depends on INET br_multicast calls ip_send_check(), so it should depend on INET. built-in: br_multicast.c:(.text+0x88cf4): undefined reference to `ip_send_check' or modular: ERROR: "ip_send_check" [net/bridge/bridge.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig index 19a6b96..d115d5c 100644 --- a/net/bridge/Kconfig +++ b/net/bridge/Kconfig @@ -35,6 +35,7 @@ config BRIDGE config BRIDGE_IGMP_SNOOPING bool "IGMP snooping" depends on BRIDGE + depends on INET default y ---help--- If you say Y here, then the Ethernet bridge will be able selectively -- cgit v0.10.2 From 4fa004373133ece3d9b1c0a7e243b0e53760b165 Mon Sep 17 00:00:00 2001 From: Sujith Date: Mon, 1 Mar 2010 14:42:57 +0530 Subject: mac80211: Fix HT rate control configuration Handling HT configuration changes involved setting the channel with the new HT parameters and then issuing a rate_update() notification to the driver. This behavior changed after the off-channel changes. Now, the channel is not updated with the new HT params in enable_ht() - instead, it is now done when the scan work terminates. This results in the driver depending on stale information, defaulting to non-HT mode always. Fix this by passing the new channel type to the driver. Cc: stable@kernel.org Signed-off-by: Sujith Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c index ac34a05..0e79e58 100644 --- a/drivers/net/wireless/ath/ath9k/rc.c +++ b/drivers/net/wireless/ath/ath9k/rc.c @@ -1323,7 +1323,7 @@ static void ath_rate_init(void *priv, struct ieee80211_supported_band *sband, static void ath_rate_update(void *priv, struct ieee80211_supported_band *sband, struct ieee80211_sta *sta, void *priv_sta, - u32 changed) + u32 changed, enum nl80211_channel_type oper_chan_type) { struct ath_softc *sc = priv; struct ath_rate_priv *ath_rc_priv = priv_sta; @@ -1340,8 +1340,8 @@ static void ath_rate_update(void *priv, struct ieee80211_supported_band *sband, if (sc->sc_ah->opmode != NL80211_IFTYPE_STATION) return; - if (sc->hw->conf.channel_type == NL80211_CHAN_HT40MINUS || - sc->hw->conf.channel_type == NL80211_CHAN_HT40PLUS) + if (oper_chan_type == NL80211_CHAN_HT40MINUS || + oper_chan_type == NL80211_CHAN_HT40PLUS) oper_cw40 = true; oper_sgi40 = (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) ? diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 80eb7cc..45d7d44 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -2426,7 +2426,8 @@ struct rate_control_ops { struct ieee80211_sta *sta, void *priv_sta); void (*rate_update)(void *priv, struct ieee80211_supported_band *sband, struct ieee80211_sta *sta, - void *priv_sta, u32 changed); + void *priv_sta, u32 changed, + enum nl80211_channel_type oper_chan_type); void (*free_sta)(void *priv, struct ieee80211_sta *sta, void *priv_sta); diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 5a26876..0ab284c 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -177,7 +177,8 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata, sta = sta_info_get(sdata, bssid); if (sta) rate_control_rate_update(local, sband, sta, - IEEE80211_RC_HT_CHANGED); + IEEE80211_RC_HT_CHANGED, + local->oper_channel_type); rcu_read_unlock(); } diff --git a/net/mac80211/rate.h b/net/mac80211/rate.h index b6108bc..065a9619 100644 --- a/net/mac80211/rate.h +++ b/net/mac80211/rate.h @@ -66,7 +66,8 @@ static inline void rate_control_rate_init(struct sta_info *sta) static inline void rate_control_rate_update(struct ieee80211_local *local, struct ieee80211_supported_band *sband, - struct sta_info *sta, u32 changed) + struct sta_info *sta, u32 changed, + enum nl80211_channel_type oper_chan_type) { struct rate_control_ref *ref = local->rate_ctrl; struct ieee80211_sta *ista = &sta->sta; @@ -74,7 +75,7 @@ static inline void rate_control_rate_update(struct ieee80211_local *local, if (ref && ref->ops->rate_update) ref->ops->rate_update(ref->priv, sband, ista, - priv_sta, changed); + priv_sta, changed, oper_chan_type); } static inline void *rate_control_alloc_sta(struct rate_control_ref *ref, -- cgit v0.10.2 From 31f66be44a657a14e0ab3536e4877c66c9ce031e Mon Sep 17 00:00:00 2001 From: Helmut Schaa Date: Wed, 3 Mar 2010 17:42:55 +0100 Subject: rt2x00: Export rt2x00soc_probe from rt2x00soc Export rt2x00soc_probe from rt2x00soc as it is used in rt2800pci. Otherwise loading rt2800pci gives "rt2800pci: Unknown symbol rt2x00soc_probe". Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/rt2x00/rt2x00soc.c b/drivers/net/wireless/rt2x00/rt2x00soc.c index 4efdc96..111c0ff 100644 --- a/drivers/net/wireless/rt2x00/rt2x00soc.c +++ b/drivers/net/wireless/rt2x00/rt2x00soc.c @@ -112,6 +112,7 @@ exit_free_device: return retval; } +EXPORT_SYMBOL_GPL(rt2x00soc_probe); int rt2x00soc_remove(struct platform_device *pdev) { -- cgit v0.10.2 From 122e4519cd5c224d4b8e681d368132b643e28f60 Mon Sep 17 00:00:00 2001 From: stephen hemminger Date: Tue, 2 Mar 2010 13:32:44 +0000 Subject: IPv6: addrconf dad timer unnecessary bh_disable Timer code runs in bottom half, so there is no need for using _bh form of locking. Also check if device is not ready to avoid race with address that is no longer active. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 88fd8c5..e6cba9c 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2850,9 +2850,9 @@ static void addrconf_dad_timer(unsigned long data) struct inet6_dev *idev = ifp->idev; struct in6_addr mcaddr; - read_lock_bh(&idev->lock); - if (idev->dead) { - read_unlock_bh(&idev->lock); + read_lock(&idev->lock); + if (idev->dead || !(idev->if_flags & IF_READY)) { + read_unlock(&idev->lock); goto out; } @@ -2864,7 +2864,7 @@ static void addrconf_dad_timer(unsigned long data) ifp->flags &= ~(IFA_F_TENTATIVE|IFA_F_OPTIMISTIC|IFA_F_DADFAILED); spin_unlock(&ifp->lock); - read_unlock_bh(&idev->lock); + read_unlock(&idev->lock); addrconf_dad_completed(ifp); @@ -2874,7 +2874,7 @@ static void addrconf_dad_timer(unsigned long data) ifp->probes--; addrconf_mod_timer(ifp, AC_DAD, ifp->idev->nd_parms->retrans_time); spin_unlock(&ifp->lock); - read_unlock_bh(&idev->lock); + read_unlock(&idev->lock); /* send a neighbour solicitation for our addr */ addrconf_addr_solict_mult(&ifp->addr, &mcaddr); -- cgit v0.10.2 From 5b2a19539c5f59c5a038d213ede723f0245d97cf Mon Sep 17 00:00:00 2001 From: stephen hemminger Date: Tue, 2 Mar 2010 13:32:45 +0000 Subject: IPv6: addrconf timer race The Router Solicitation timer races with device state changes because it doesn't lock the device. Use local variable to avoid one repeated dereference. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index e6cba9c..5f582f3 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2739,28 +2739,29 @@ static int addrconf_ifdown(struct net_device *dev, int how) static void addrconf_rs_timer(unsigned long data) { struct inet6_ifaddr *ifp = (struct inet6_ifaddr *) data; + struct inet6_dev *idev = ifp->idev; - if (ifp->idev->cnf.forwarding) + read_lock(&idev->lock); + if (idev->dead || !(idev->if_flags & IF_READY)) goto out; - if (ifp->idev->if_flags & IF_RA_RCVD) { - /* - * Announcement received after solicitation - * was sent - */ + if (idev->cnf.forwarding) + goto out; + + /* Announcement received after solicitation was sent */ + if (idev->if_flags & IF_RA_RCVD) goto out; - } spin_lock(&ifp->lock); - if (ifp->probes++ < ifp->idev->cnf.rtr_solicits) { + if (ifp->probes++ < idev->cnf.rtr_solicits) { /* The wait after the last probe can be shorter */ addrconf_mod_timer(ifp, AC_RS, - (ifp->probes == ifp->idev->cnf.rtr_solicits) ? - ifp->idev->cnf.rtr_solicit_delay : - ifp->idev->cnf.rtr_solicit_interval); + (ifp->probes == idev->cnf.rtr_solicits) ? + idev->cnf.rtr_solicit_delay : + idev->cnf.rtr_solicit_interval); spin_unlock(&ifp->lock); - ndisc_send_rs(ifp->idev->dev, &ifp->addr, &in6addr_linklocal_allrouters); + ndisc_send_rs(idev->dev, &ifp->addr, &in6addr_linklocal_allrouters); } else { spin_unlock(&ifp->lock); /* @@ -2768,10 +2769,11 @@ static void addrconf_rs_timer(unsigned long data) * assumption any longer. */ printk(KERN_DEBUG "%s: no IPv6 routers present\n", - ifp->idev->dev->name); + idev->dev->name); } out: + read_unlock(&idev->lock); in6_ifa_put(ifp); } -- cgit v0.10.2 From 84e8b803f1e16f3a2b8b80f80a63fa2f2f8a9be6 Mon Sep 17 00:00:00 2001 From: stephen hemminger Date: Tue, 2 Mar 2010 13:32:46 +0000 Subject: IPv6: addrconf notify when address is unavailable My recent change in net-next to retain permanent addresses caused regression. Device refcount would not go to zero when device was unregistered because left over anycast reference would hold ipv6 dev reference which would hold device references... The correct procedure is to call notify chain when address is no longer available for use. When interface comes back DAD timer will notify back that address is available. Also, link local addresses should be purged when interface is brought down. The address might be changed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 5f582f3..7a4bf76 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2649,11 +2649,11 @@ static int addrconf_ifdown(struct net_device *dev, int how) write_lock_bh(&addrconf_hash_lock); while ((ifa = *bifa) != NULL) { if (ifa->idev == idev && - (how || !(ifa->flags&IFA_F_PERMANENT))) { + (how || !(ifa->flags&IFA_F_PERMANENT) || + ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL)) { *bifa = ifa->lst_next; ifa->lst_next = NULL; - addrconf_del_timer(ifa); - in6_ifa_put(ifa); + __in6_ifa_put(ifa); continue; } bifa = &ifa->lst_next; @@ -2691,28 +2691,40 @@ static int addrconf_ifdown(struct net_device *dev, int how) #endif bifa = &idev->addr_list; while ((ifa = *bifa) != NULL) { - if (how == 0 && (ifa->flags&IFA_F_PERMANENT)) { - /* Retain permanent address on admin down */ + addrconf_del_timer(ifa); + + /* If just doing link down, and address is permanent + and not link-local, then retain it. */ + if (how == 0 && + (ifa->flags&IFA_F_PERMANENT) && + !(ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL)) { bifa = &ifa->if_next; - /* Restart DAD if needed when link comes back up */ - if ( !((dev->flags&(IFF_NOARP|IFF_LOOPBACK)) || - idev->cnf.accept_dad <= 0 || - (ifa->flags & IFA_F_NODAD))) - ifa->flags |= IFA_F_TENTATIVE; + /* If not doing DAD on this address, just keep it. */ + if ((dev->flags&(IFF_NOARP|IFF_LOOPBACK)) || + idev->cnf.accept_dad <= 0 || + (ifa->flags & IFA_F_NODAD)) + continue; + + /* If it was tentative already, no need to notify */ + if (ifa->flags & IFA_F_TENTATIVE) + continue; + + /* Flag it for later restoration when link comes up */ + ifa->flags |= IFA_F_TENTATIVE; + in6_ifa_hold(ifa); } else { *bifa = ifa->if_next; ifa->if_next = NULL; - ifa->dead = 1; - write_unlock_bh(&idev->lock); + } + write_unlock_bh(&idev->lock); - __ipv6_ifa_notify(RTM_DELADDR, ifa); - atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa); - in6_ifa_put(ifa); + __ipv6_ifa_notify(RTM_DELADDR, ifa); + atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa); + in6_ifa_put(ifa); - write_lock_bh(&idev->lock); - } + write_lock_bh(&idev->lock); } write_unlock_bh(&idev->lock); -- cgit v0.10.2 From 8f37ada5b5f6bfb4d251a7f510f249cb855b77b3 Mon Sep 17 00:00:00 2001 From: stephen hemminger Date: Wed, 3 Mar 2010 08:19:59 +0000 Subject: IPv6: fix race between cleanup and add/delete address This solves a potential race problem during the cleanup process. The issue is that addrconf_ifdown() needs to traverse address list, but then drop lock to call the notifier. The version in -next could get confused if add/delete happened during this window. Original code (2.6.32 and earlier) was okay because all addresses were always deleted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 7a4bf76..6cf3ee1 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2615,7 +2615,7 @@ static void addrconf_bonding_change(struct net_device *dev, unsigned long event) static int addrconf_ifdown(struct net_device *dev, int how) { struct inet6_dev *idev; - struct inet6_ifaddr *ifa, **bifa; + struct inet6_ifaddr *ifa, *keep_list, **bifa; struct net *net = dev_net(dev); int i; @@ -2689,8 +2689,12 @@ static int addrconf_ifdown(struct net_device *dev, int how) write_lock_bh(&idev->lock); } #endif - bifa = &idev->addr_list; - while ((ifa = *bifa) != NULL) { + keep_list = NULL; + bifa = &keep_list; + while ((ifa = idev->addr_list) != NULL) { + idev->addr_list = ifa->if_next; + ifa->if_next = NULL; + addrconf_del_timer(ifa); /* If just doing link down, and address is permanent @@ -2698,6 +2702,9 @@ static int addrconf_ifdown(struct net_device *dev, int how) if (how == 0 && (ifa->flags&IFA_F_PERMANENT) && !(ipv6_addr_type(&ifa->addr) & IPV6_ADDR_LINKLOCAL)) { + + /* Move to holding list */ + *bifa = ifa; bifa = &ifa->if_next; /* If not doing DAD on this address, just keep it. */ @@ -2714,8 +2721,6 @@ static int addrconf_ifdown(struct net_device *dev, int how) ifa->flags |= IFA_F_TENTATIVE; in6_ifa_hold(ifa); } else { - *bifa = ifa->if_next; - ifa->if_next = NULL; ifa->dead = 1; } write_unlock_bh(&idev->lock); @@ -2726,6 +2731,9 @@ static int addrconf_ifdown(struct net_device *dev, int how) write_lock_bh(&idev->lock); } + + idev->addr_list = keep_list; + write_unlock_bh(&idev->lock); /* Step 5: Discard multicast list */ -- cgit v0.10.2 From c839d30a41dd92eb32d7fcfa2b4e99042fc64bf2 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 3 Mar 2010 04:46:50 +0000 Subject: net: add scheduler sync hint to tcp_prequeue(). Decreases the odds wakee will suffer from frequent cache misses. Signed-off-by: Mike Galbraith Signed-off-by: David S. Miller diff --git a/include/net/tcp.h b/include/net/tcp.h index 56f0aec..75be5a2 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -939,7 +939,7 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) tp->ucopy.memory = 0; } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { - wake_up_interruptible_poll(sk->sk_sleep, + wake_up_interruptible_sync_poll(sk->sk_sleep, POLLIN | POLLRDNORM | POLLRDBAND); if (!inet_csk_ack_scheduled(sk)) inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, -- cgit v0.10.2 From 6d55cb91a0020ac0d78edcad61efd6c8cf5785a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Wed, 3 Mar 2010 04:01:13 +0000 Subject: gre: fix hard header destination address checking ipgre_header() can be called with zero daddr when the gre device is configured as multipoint tunnel and still has the NOARP flag set (which is typically cleared by the userspace arp daemon). If the NOARP packets are not dropped, ipgre_tunnel_xmit() will take rt->rt_gateway (= NBMA IP) and use that for route look up (and may lead to bogus xfrm acquires). The multicast address check is removed as sending to multicast group should be ok. In fact, if gre device has a multicast address as destination ipgre_header is always called with multicast address. Signed-off-by: Timo Teras Signed-off-by: David S. Miller diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index c0c5274..f47c9f7 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -1144,12 +1144,9 @@ static int ipgre_header(struct sk_buff *skb, struct net_device *dev, if (saddr) memcpy(&iph->saddr, saddr, 4); - - if (daddr) { + if (daddr) memcpy(&iph->daddr, daddr, 4); - return t->hlen; - } - if (iph->daddr && !ipv4_is_multicast(iph->daddr)) + if (iph->daddr) return t->hlen; return -t->hlen; -- cgit v0.10.2 From d0021b252eaf65ca07ed14f0d66425dd9ccab9a6 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Wed, 3 Mar 2010 08:31:23 +0000 Subject: tipc: Fix oops on send prior to entering networked mode (v3) Fix TIPC to disallow sending to remote addresses prior to entering NET_MODE user programs can oops the kernel by sending datagrams via AF_TIPC prior to entering networked mode. The following backtrace has been observed: ID: 13459 TASK: ffff810014640040 CPU: 0 COMMAND: "tipc-client" [exception RIP: tipc_node_select_next_hop+90] RIP: ffffffff8869d3c3 RSP: ffff81002d9a5ab8 RFLAGS: 00010202 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0000000000000001 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000001001001 RBP: 0000000001001001 R8: 0074736575716552 R9: 0000000000000000 R10: ffff81003fbd0680 R11: 00000000000000c8 R12: 0000000000000008 R13: 0000000000000001 R14: 0000000000000001 R15: ffff810015c6ca00 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 RIP: 0000003cbd8d49a3 RSP: 00007fffc84e0be8 RFLAGS: 00010206 RAX: 000000000000002c RBX: ffffffff8005d116 RCX: 0000000000000000 RDX: 0000000000000008 RSI: 00007fffc84e0c00 RDI: 0000000000000003 RBP: 0000000000000000 R8: 00007fffc84e0c10 R9: 0000000000000010 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fffc84e0d10 R14: 0000000000000000 R15: 00007fffc84e0c30 ORIG_RAX: 000000000000002c CS: 0033 SS: 002b What happens is that, when the tipc module in inserted it enters a standalone node mode in which communication to its own address is allowed <0.0.0> but not to other addresses, since the appropriate data structures have not been allocated yet (specifically the tipc_net pointer). There is nothing stopping a client from trying to send such a message however, and if that happens, we attempt to dereference tipc_net.zones while the pointer is still NULL, and explode. The fix is pretty straightforward. Since these oopses all arise from the dereference of global pointers prior to their assignment to allocated values, and since these allocations are small (about 2k total), lets convert these pointers to static arrays of the appropriate size. All the accesses to these bits consider 0/NULL to be a non match when searching, so all the lookups still work properly, and there is no longer a chance of a bad dererence anywhere. As a bonus, this lets us eliminate the setup/teardown routines for those pointers, and elimnates the need to preform any locking around them to prevent access while their being allocated/freed. I've updated the tipc_net structure to behave this way to fix the exact reported problem, and also fixed up the tipc_bearers and media_list arrays to fix an obvious simmilar problem that arises from issuing tipc-config commands to manipulate bearers/links prior to entering networked mode I've tested this for a few hours by running the sanity tests and stress test with the tipcutils suite, and nothing has fallen over. There have been a few lockdep warnings, but those were there before, and can be addressed later, as they didn't actually result in any deadlock. Signed-off-by: Neil Horman CC: Allan Stephens CC: David S. Miller CC: tipc-discussion@lists.sourceforge.net bearer.c | 37 ++++++------------------------------- bearer.h | 2 +- net.c | 25 ++++--------------------- 3 files changed, 11 insertions(+), 53 deletions(-) Signed-off-by: David S. Miller diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index 327011f..7809137 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c @@ -45,10 +45,10 @@ #define MAX_ADDR_STR 32 -static struct media *media_list = NULL; +static struct media media_list[MAX_MEDIA]; static u32 media_count = 0; -struct bearer *tipc_bearers = NULL; +struct bearer tipc_bearers[MAX_BEARERS]; /** * media_name_valid - validate media name @@ -108,9 +108,11 @@ int tipc_register_media(u32 media_type, int res = -EINVAL; write_lock_bh(&tipc_net_lock); - if (!media_list) - goto exit; + if (tipc_mode != TIPC_NET_MODE) { + warn("Media <%s> rejected, not in networked mode yet\n", name); + goto exit; + } if (!media_name_valid(name)) { warn("Media <%s> rejected, illegal name\n", name); goto exit; @@ -660,33 +662,10 @@ int tipc_disable_bearer(const char *name) -int tipc_bearer_init(void) -{ - int res; - - write_lock_bh(&tipc_net_lock); - tipc_bearers = kcalloc(MAX_BEARERS, sizeof(struct bearer), GFP_ATOMIC); - media_list = kcalloc(MAX_MEDIA, sizeof(struct media), GFP_ATOMIC); - if (tipc_bearers && media_list) { - res = 0; - } else { - kfree(tipc_bearers); - kfree(media_list); - tipc_bearers = NULL; - media_list = NULL; - res = -ENOMEM; - } - write_unlock_bh(&tipc_net_lock); - return res; -} - void tipc_bearer_stop(void) { u32 i; - if (!tipc_bearers) - return; - for (i = 0; i < MAX_BEARERS; i++) { if (tipc_bearers[i].active) tipc_bearers[i].publ.blocked = 1; @@ -695,10 +674,6 @@ void tipc_bearer_stop(void) if (tipc_bearers[i].active) bearer_disable(tipc_bearers[i].publ.name); } - kfree(tipc_bearers); - kfree(media_list); - tipc_bearers = NULL; - media_list = NULL; media_count = 0; } diff --git a/net/tipc/bearer.h b/net/tipc/bearer.h index ca57348..000228e 100644 --- a/net/tipc/bearer.h +++ b/net/tipc/bearer.h @@ -114,7 +114,7 @@ struct bearer_name { struct link; -extern struct bearer *tipc_bearers; +extern struct bearer tipc_bearers[]; void tipc_media_addr_printf(struct print_buf *pb, struct tipc_media_addr *a); struct sk_buff *tipc_media_get_names(void); diff --git a/net/tipc/net.c b/net/tipc/net.c index 7906608..f25b1cd 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c @@ -116,7 +116,8 @@ */ DEFINE_RWLOCK(tipc_net_lock); -struct network tipc_net = { NULL }; +struct _zone *tipc_zones[256] = { NULL, }; +struct network tipc_net = { tipc_zones }; struct tipc_node *tipc_net_select_remote_node(u32 addr, u32 ref) { @@ -158,28 +159,12 @@ void tipc_net_send_external_routes(u32 dest) } } -static int net_init(void) -{ - memset(&tipc_net, 0, sizeof(tipc_net)); - tipc_net.zones = kcalloc(tipc_max_zones + 1, sizeof(struct _zone *), GFP_ATOMIC); - if (!tipc_net.zones) { - return -ENOMEM; - } - return 0; -} - static void net_stop(void) { u32 z_num; - if (!tipc_net.zones) - return; - - for (z_num = 1; z_num <= tipc_max_zones; z_num++) { + for (z_num = 1; z_num <= tipc_max_zones; z_num++) tipc_zone_delete(tipc_net.zones[z_num]); - } - kfree(tipc_net.zones); - tipc_net.zones = NULL; } static void net_route_named_msg(struct sk_buff *buf) @@ -282,9 +267,7 @@ int tipc_net_start(u32 addr) tipc_named_reinit(); tipc_port_reinit(); - if ((res = tipc_bearer_init()) || - (res = net_init()) || - (res = tipc_cltr_init()) || + if ((res = tipc_cltr_init()) || (res = tipc_bclink_init())) { return res; } -- cgit v0.10.2 From 4c020a961a812ffae9846b917304cea504c3a733 Mon Sep 17 00:00:00 2001 From: David Dillow Date: Wed, 3 Mar 2010 16:33:10 +0000 Subject: r8169: use correct barrier between cacheable and non-cacheable memory r8169 needs certain writes to be visible to other CPUs or the NIC before touching the hardware, but was using smp_wmb() which is only required to order cacheable memory access. Switch to wmb() which is required to order both cacheable and non-cacheable memory. Noticed by Catalin Marinas and Paul Mackerras. Signed-off-by: David Dillow Signed-off-by: David S. Miller diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index dfc3573..9d3ebf3 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -4270,7 +4270,7 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, tp->cur_tx += frags + 1; - smp_wmb(); + wmb(); RTL_W8(TxPoll, NPQ); /* set polling bit */ @@ -4621,7 +4621,7 @@ static int rtl8169_poll(struct napi_struct *napi, int budget) * until it does. */ tp->intr_mask = 0xffff; - smp_wmb(); + wmb(); RTL_W16(IntrMask, tp->intr_event); } -- cgit v0.10.2 From 0eddba525cf4c3a4aab9feaf36b12b465290d4a7 Mon Sep 17 00:00:00 2001 From: Anton Vorontsov Date: Wed, 3 Mar 2010 08:18:58 +0000 Subject: gianfar: Fix TX ring processing on SMP machines Starting with commit a3bc1f11e9b867a4f49505 ("gianfar: Revive SKB recycling") gianfar driver sooner or later stops transmitting any packets on SMP machines. start_xmit() prepares new skb for transmitting, generally it does three things: 1. sets up all BDs (marks them ready to send), except the first one. 2. stores skb into tx_queue->tx_skbuff so that clean_tx_ring() would cleanup it later. 3. sets up the first BD, i.e. marks it ready. Here is what clean_tx_ring() does: 1. reads skbs from tx_queue->tx_skbuff 2. checks if the *last* BD is ready. If it's still ready [to send] then it it isn't transmitted, so clean_tx_ring() returns. Otherwise it actually cleanups BDs. All is OK. Now, if there is just one BD, code flow: - start_xmit(): stores skb into tx_skbuff. Note that the first BD (which is also the last one) isn't marked as ready, yet. - clean_tx_ring(): sees that skb is not null, *and* its lstatus says that it is NOT ready (like if BD was sent), so it cleans it up (bad!) - start_xmit(): marks BD as ready [to send], but it's too late. We can fix this simply by reordering lstatus/tx_skbuff writes. Reported-by: Martyn Welch Bisected-by: Paul Gortmaker Signed-off-by: Anton Vorontsov Tested-by: Paul Gortmaker Tested-by: Martyn Welch Cc: Sandeep Gopalpet Cc: Stable [2.6.33] Signed-off-by: David S. Miller diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 6aa526e..c3f0619 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -2021,7 +2021,6 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev) } /* setup the TxBD length and buffer pointer for the first BD */ - tx_queue->tx_skbuff[tx_queue->skb_curtx] = skb; txbdp_start->bufPtr = dma_map_single(&priv->ofdev->dev, skb->data, skb_headlen(skb), DMA_TO_DEVICE); @@ -2053,6 +2052,10 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev) txbdp_start->lstatus = lstatus; + eieio(); /* force lstatus write before tx_skbuff */ + + tx_queue->tx_skbuff[tx_queue->skb_curtx] = skb; + /* Update the current skb pointer to the next entry we will use * (wrapping if necessary) */ tx_queue->skb_curtx = (tx_queue->skb_curtx + 1) & -- cgit v0.10.2 From a6f018e324ba91d0464cca6895447c2b89e6d578 Mon Sep 17 00:00:00 2001 From: Divy Le Ray Date: Wed, 3 Mar 2010 09:49:47 +0000 Subject: cxgb3: fix hot plug removal crash queue restart tasklets need to be stopped after napi handlers are stopped since the latter can restart them. So stop them after stopping napi. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index 6fd968a..cecdec1 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c @@ -1280,6 +1280,7 @@ static void cxgb_down(struct adapter *adapter) free_irq_resources(adapter); quiesce_rx(adapter); + t3_sge_stop(adapter); flush_workqueue(cxgb3_wq); /* wait for external IRQ handler */ } -- cgit v0.10.2 From 4c32531324b83672f100692354b680625bcd7fba Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 4 Mar 2010 00:42:30 -0800 Subject: MAINTAINERS: Add netdev to bridge entry. Noticed by Ingo Molnar. Signed-off-by: David S. Miller diff --git a/MAINTAINERS b/MAINTAINERS index 34f52a1..dad4f57 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2095,6 +2095,7 @@ F: drivers/net/eexpress.* ETHERNET BRIDGE M: Stephen Hemminger L: bridge@lists.linux-foundation.org +L: netdev@vger.kernel.org W: http://www.linux-foundation.org/en/Net:Bridge S: Maintained F: include/linux/netfilter_bridge/ -- cgit v0.10.2 From db1466b3e1bd1727375cdbfcbea4bcce2f860f61 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 07:46:56 -0800 Subject: rcu: Use wrapper function instead of exporting tasklist_lock Lockdep-RCU commit d11c563d exported tasklist_lock, which is not a good thing. This patch instead exports a function that uses lockdep to check whether tasklist_lock is held. Suggested-by: Christoph Hellwig Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: Christoph Hellwig LKML-Reference: <1267631219-8713-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/include/linux/cred.h b/include/linux/cred.h index 4db09f8..52507c3 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h @@ -280,7 +280,7 @@ static inline void put_cred(const struct cred *_cred) * task or by holding tasklist_lock to prevent it from being unlinked. */ #define __task_cred(task) \ - ((const struct cred *)(rcu_dereference_check((task)->real_cred, rcu_read_lock_held() || lockdep_is_held(&tasklist_lock)))) + ((const struct cred *)(rcu_dereference_check((task)->real_cred, rcu_read_lock_held() || lockdep_tasklist_lock_is_held()))) /** * get_task_cred - Get another task's objective credentials diff --git a/include/linux/sched.h b/include/linux/sched.h index 0eef87b5..a47af20 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -258,6 +258,10 @@ extern spinlock_t mmlist_lock; struct task_struct; +#ifdef CONFIG_PROVE_RCU +extern int lockdep_tasklist_lock_is_held(void); +#endif /* #ifdef CONFIG_PROVE_RCU */ + extern void sched_init(void); extern void sched_init_smp(void); extern asmlinkage void schedule_tail(struct task_struct *prev); diff --git a/kernel/exit.c b/kernel/exit.c index 45ed043..fed3a4d 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -87,7 +87,7 @@ static void __exit_signal(struct task_struct *tsk) sighand = rcu_dereference_check(tsk->sighand, rcu_read_lock_held() || - lockdep_is_held(&tasklist_lock)); + lockdep_tasklist_lock_is_held()); spin_lock(&sighand->siglock); posix_cpu_timers_exit(tsk); diff --git a/kernel/fork.c b/kernel/fork.c index 17bbf09..8691c54 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -86,7 +86,14 @@ int max_threads; /* tunable limit on nr_threads */ DEFINE_PER_CPU(unsigned long, process_counts) = 0; __cacheline_aligned DEFINE_RWLOCK(tasklist_lock); /* outer */ -EXPORT_SYMBOL_GPL(tasklist_lock); + +#ifdef CONFIG_PROVE_RCU +int lockdep_tasklist_lock_is_held(void) +{ + return lockdep_is_held(&tasklist_lock); +} +EXPORT_SYMBOL_GPL(lockdep_tasklist_lock_is_held); +#endif /* #ifdef CONFIG_PROVE_RCU */ int nr_processes(void) { diff --git a/kernel/pid.c b/kernel/pid.c index b08e697..b606440 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -367,7 +367,9 @@ struct task_struct *pid_task(struct pid *pid, enum pid_type type) struct task_struct *result = NULL; if (pid) { struct hlist_node *first; - first = rcu_dereference_check(pid->tasks[type].first, rcu_read_lock_held() || lockdep_is_held(&tasklist_lock)); + first = rcu_dereference_check(pid->tasks[type].first, + rcu_read_lock_held() || + lockdep_tasklist_lock_is_held()); if (first) result = hlist_entry(first, struct task_struct, pids[(type)].node); } -- cgit v0.10.2 From 5ed42b8113667c06a6ff2c72717395b5044d30a1 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 07:46:58 -0800 Subject: rcu, cgroup: Relax the check in task_subsys_state() as early boot is now handled by lockdep-RCU This patch removes the check for !rcu_scheduler_active because this check has been incorporated into rcu_dereference_check(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267631219-8713-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index a73e1ce..c9bbcb2 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h @@ -489,7 +489,6 @@ static inline struct cgroup_subsys_state *task_subsys_state( { return rcu_dereference_check(task->cgroups->subsys[subsys_id], rcu_read_lock_held() || - !rcu_scheduler_active || cgroup_lock_is_held()); } -- cgit v0.10.2 From cc5b83a9f884fe8722a275069a5a6fde39988455 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 07:46:59 -0800 Subject: rcu: Add control variables to lockdep_rcu_dereference() diagnostics Add the values of rcu_scheduler_active() and debug_locks() to the lockdep_rcu_dereference() output to help diagnose RCU lockdep splats that occur shortly after the scheduler starts. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267631219-8713-4-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 0c30d04..681bc2e 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -3822,6 +3822,7 @@ void lockdep_rcu_dereference(const char *file, const int line) printk("%s:%d invoked rcu_dereference_check() without protection!\n", file, line); printk("\nother info that might help us debug this:\n\n"); + printk("\nrcu_scheduler_active = %d, debug_locks = %d\n", rcu_scheduler_active, debug_locks); lockdep_print_held_locks(curr); printk("\nstack backtrace:\n"); dump_stack(); -- cgit v0.10.2 From e6033e3b307fcfae08408e0673266db38392bda4 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 17:50:16 -0800 Subject: rcu: Make rcu_read_lock_sched_held() handle !PREEMPT The rcu_read_lock_sched_held() needs to unconditionally return the value "1" in a !PREEMPT kernel, because under !PREEMPT, -all- kernel code is implicitly preempt-disabled. This patch makes this happen. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267667418-32233-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index c843736..e22960ec 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -136,6 +136,7 @@ static inline int rcu_read_lock_bh_held(void) * can prove otherwise. Note that disabling of preemption (including * disabling irqs) counts as an RCU-sched read-side critical section. */ +#ifdef CONFIG_PREEMPT static inline int rcu_read_lock_sched_held(void) { int lockdep_opinion = 0; @@ -144,6 +145,12 @@ static inline int rcu_read_lock_sched_held(void) lockdep_opinion = lock_is_held(&rcu_sched_lock_map); return lockdep_opinion || preempt_count() != 0 || !rcu_scheduler_active; } +#else /* #ifdef CONFIG_PREEMPT */ +static inline int rcu_read_lock_sched_held(void) +{ + return 1; +} +#endif /* #else #ifdef CONFIG_PREEMPT */ #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ @@ -164,10 +171,17 @@ static inline int rcu_read_lock_bh_held(void) return 1; } +#ifdef CONFIG_PREEMPT static inline int rcu_read_lock_sched_held(void) { return preempt_count() != 0 || !rcu_scheduler_active; } +#else /* #ifdef CONFIG_PREEMPT */ +static inline int rcu_read_lock_sched_held(void) +{ + return 1; +} +#endif /* #else #ifdef CONFIG_PREEMPT */ #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ -- cgit v0.10.2 From 99ee4ca746dda71326db7645463b4075ac1d665c Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 17:50:17 -0800 Subject: rcu: Suppress __mpol_dup() false positive from RCU lockdep Common code is used during task creation and after the task has started running. RCU protection is not needed during task creation because no other CPU has access to the under-construction task. Provide the RCU protection anyway to suppress the false positive, as there does not appear to be a good way for the common code to recognize that the task is only accessible to the CPU creating it. Signed-off-by: Paul E. McKenney Cc: Paul Menage Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267667418-32233-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 290fb5b..3cec080 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1730,10 +1730,12 @@ struct mempolicy *__mpol_dup(struct mempolicy *old) if (!new) return ERR_PTR(-ENOMEM); + rcu_read_lock(); if (current_cpuset_is_being_rebound()) { nodemask_t mems = cpuset_mems_allowed(current); mpol_rebind_policy(old, &mems); } + rcu_read_unlock(); *new = *old; atomic_set(&new->refcnt, 1); return new; -- cgit v0.10.2 From 8d53dd546f36073e0d29b0cfc24c665db301e3e7 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 17:50:18 -0800 Subject: rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare() Change the pair of rcu_dereference() calls in ftrace_perf_buf_prepare() to rcu_dereference_sched(). Signed-off-by: Paul E. McKenney Acked-by: Frederic Weisbecker Cc: Steven Rostedt Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: Frederic Weisbecker LKML-Reference: <1267667418-32233-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 0804cd5..601ad77 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h @@ -699,9 +699,9 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ * __cpu = smp_processor_id(); * * if (in_nmi()) - * trace_buf = rcu_dereference(perf_trace_buf_nmi); + * trace_buf = rcu_dereference_sched(perf_trace_buf_nmi); * else - * trace_buf = rcu_dereference(perf_trace_buf); + * trace_buf = rcu_dereference_sched(perf_trace_buf); * * if (!trace_buf) * goto end; diff --git a/kernel/trace/trace_event_profile.c b/kernel/trace/trace_event_profile.c index f0d6930..c1cc3ab 100644 --- a/kernel/trace/trace_event_profile.c +++ b/kernel/trace/trace_event_profile.c @@ -138,9 +138,9 @@ __kprobes void *ftrace_perf_buf_prepare(int size, unsigned short type, cpu = smp_processor_id(); if (in_nmi()) - trace_buf = rcu_dereference(perf_trace_buf_nmi); + trace_buf = rcu_dereference_sched(perf_trace_buf_nmi); else - trace_buf = rcu_dereference(perf_trace_buf); + trace_buf = rcu_dereference_sched(perf_trace_buf); if (!trace_buf) goto err; -- cgit v0.10.2 From 54dbf96c921513bf98484a20ef366d51944a4c4d Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 3 Mar 2010 07:46:57 -0800 Subject: rcu: Suppress RCU lockdep warnings during early boot RCU is used during very early boot, before RCU and lockdep have been initialized. So make the underlying primitives (rcu_read_lock_held(), rcu_read_lock_bh_held(), rcu_read_lock_sched_held(), and rcu_dereference_check()) check for early boot via the rcu_scheduler_active flag. This will suppress false positives. Also introduce a debug_lockdep_rcu_enabled() static inline helper function, which tags the CONTINUE_PROVE_RCU case as likely(), as suggested by Ingo Molnar. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267631219-8713-2-git-send-email-paulmck@linux.vnet.ibm.com> [ v2: removed incomplete debug_lockdep_rcu_update() bits ] Signed-off-by: Ingo Molnar diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index e22960ec..75921b8 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -97,6 +97,11 @@ extern struct lockdep_map rcu_sched_lock_map; # define rcu_read_release_sched() \ lock_release(&rcu_sched_lock_map, 1, _THIS_IP_) +static inline int debug_lockdep_rcu_enabled(void) +{ + return likely(rcu_scheduler_active && debug_locks); +} + /** * rcu_read_lock_held - might we be in RCU read-side critical section? * @@ -104,12 +109,14 @@ extern struct lockdep_map rcu_sched_lock_map; * an RCU read-side critical section. In absence of CONFIG_PROVE_LOCKING, * this assumes we are in an RCU read-side critical section unless it can * prove otherwise. + * + * Check rcu_scheduler_active to prevent false positives during boot. */ static inline int rcu_read_lock_held(void) { - if (debug_locks) - return lock_is_held(&rcu_lock_map); - return 1; + if (!debug_lockdep_rcu_enabled()) + return 1; + return lock_is_held(&rcu_lock_map); } /** @@ -119,12 +126,14 @@ static inline int rcu_read_lock_held(void) * an RCU-bh read-side critical section. In absence of CONFIG_PROVE_LOCKING, * this assumes we are in an RCU-bh read-side critical section unless it can * prove otherwise. + * + * Check rcu_scheduler_active to prevent false positives during boot. */ static inline int rcu_read_lock_bh_held(void) { - if (debug_locks) - return lock_is_held(&rcu_bh_lock_map); - return 1; + if (!debug_lockdep_rcu_enabled()) + return 1; + return lock_is_held(&rcu_bh_lock_map); } /** @@ -135,15 +144,19 @@ static inline int rcu_read_lock_bh_held(void) * this assumes we are in an RCU-sched read-side critical section unless it * can prove otherwise. Note that disabling of preemption (including * disabling irqs) counts as an RCU-sched read-side critical section. + * + * Check rcu_scheduler_active to prevent false positives during boot. */ #ifdef CONFIG_PREEMPT static inline int rcu_read_lock_sched_held(void) { int lockdep_opinion = 0; + if (!debug_lockdep_rcu_enabled()) + return 1; if (debug_locks) lockdep_opinion = lock_is_held(&rcu_sched_lock_map); - return lockdep_opinion || preempt_count() != 0 || !rcu_scheduler_active; + return lockdep_opinion || preempt_count() != 0; } #else /* #ifdef CONFIG_PREEMPT */ static inline int rcu_read_lock_sched_held(void) @@ -174,7 +187,7 @@ static inline int rcu_read_lock_bh_held(void) #ifdef CONFIG_PREEMPT static inline int rcu_read_lock_sched_held(void) { - return preempt_count() != 0 || !rcu_scheduler_active; + return !rcu_scheduler_active || preempt_count() != 0; } #else /* #ifdef CONFIG_PREEMPT */ static inline int rcu_read_lock_sched_held(void) @@ -198,7 +211,7 @@ static inline int rcu_read_lock_sched_held(void) */ #define rcu_dereference_check(p, c) \ ({ \ - if (debug_locks && !(c)) \ + if (debug_lockdep_rcu_enabled() && !(c)) \ lockdep_rcu_dereference(__FILE__, __LINE__); \ rcu_dereference_raw(p); \ }) -- cgit v0.10.2 From da7196e1f986c846ffa8b2ec385223fad38e8518 Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Wed, 3 Mar 2010 11:47:58 +0000 Subject: perf, ARM: Modify kuser rmb() call to compile for Thumb-2 The Thumb-2 instruction set does not provide an encoding for sub pc, r0, #95 as present in the rmb() definition used by perf. This results in compilation failure when using a compiler targetting an instruction set other than ARM. This patch redefines rmb() for ARM by casting the address of the kuser helper to a function pointer, therefore getting the compiler to take care of making the call. Patch taken against tip/master. Signed-off-by: Will Deacon Cc: Russell King - ARM Linux Cc: Jamie Iles Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1267616878-2154-1-git-send-email-will.deacon@arm.com> Signed-off-by: Ingo Molnar diff --git a/tools/perf/perf.h b/tools/perf/perf.h index 75f941b..6fb379b 100644 --- a/tools/perf/perf.h +++ b/tools/perf/perf.h @@ -65,9 +65,7 @@ * Use the __kuser_memory_barrier helper in the CPU helper page. See * arch/arm/kernel/entry-armv.S in the kernel source for details. */ -#define rmb() asm volatile("mov r0, #0xffff0fff; mov lr, pc;" \ - "sub pc, r0, #95" ::: "r0", "lr", "cc", \ - "memory") +#define rmb() ((void(*)(void))0xffff0fa0)() #define cpu_relax() asm volatile("":::"memory") #endif -- cgit v0.10.2 From 10c95f4f41889daaa8130e0bd12209825dbe8d39 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 3 Mar 2010 01:04:32 -0600 Subject: perf trace/scripting: Remove extraneous header read perf_header__read() is already done in perf_session__open(), so remove it from the script gen case. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org LKML-Reference: <1267599873-8193-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index 5db687f..b8153db 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -608,7 +608,6 @@ int cmd_trace(int argc, const char **argv, const char *prefix __used) return -1; } - perf_header__read(&session->header, input); err = scripting_ops->generate_script("perf-trace"); goto out; } -- cgit v0.10.2 From cf4fee50282312528e1f8adf73b1831d1d6ae389 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 3 Mar 2010 01:04:33 -0600 Subject: perf trace: Don't use pager if scripting It's useful for paging through raw traces, but just gets in the way when scripting. Signed-off-by: Tom Zanussi Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org LKML-Reference: <1267599873-8193-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index b8153db..407041d 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c @@ -573,7 +573,8 @@ int cmd_trace(int argc, const char **argv, const char *prefix __used) if (symbol__init() < 0) return -1; - setup_pager(); + if (!script_name) + setup_pager(); session = perf_session__new(input_name, O_RDONLY, 0); if (session == NULL) -- cgit v0.10.2 From 12c3400a84742f8bb0e4edc822e9ccba58781e0c Mon Sep 17 00:00:00 2001 From: Jiri Pirko Date: Thu, 4 Mar 2010 03:32:16 -0800 Subject: rndis_wlan: correct multicast_list handling V3 My previous patch (655ffee284dfcf9a24ac0343f3e5ee6db85b85c5) added locking in a bad way. Because rndis_set_oid can sleep, there is need to prepare multicast addresses into local buffer under netif_addr_lock first, then call rndis_set_oid outside. This caused reorganizing of the whole function. Signed-off-by: Jiri Pirko Reported-by: Jussi Kivilinna Signed-off-by: David S. Miller diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 9f6d6bf..2887047 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -1496,51 +1496,67 @@ static void set_multicast_list(struct usbnet *usbdev) { struct rndis_wlan_private *priv = get_rndis_wlan_priv(usbdev); struct dev_mc_list *mclist; - __le32 filter; - int ret, i, size; - char *buf; + __le32 filter, basefilter; + int ret; + char *mc_addrs = NULL; + int mc_count; - filter = RNDIS_PACKET_TYPE_DIRECTED | RNDIS_PACKET_TYPE_BROADCAST; + basefilter = filter = RNDIS_PACKET_TYPE_DIRECTED | + RNDIS_PACKET_TYPE_BROADCAST; - netif_addr_lock_bh(usbdev->net); if (usbdev->net->flags & IFF_PROMISC) { filter |= RNDIS_PACKET_TYPE_PROMISCUOUS | RNDIS_PACKET_TYPE_ALL_LOCAL; - } else if (usbdev->net->flags & IFF_ALLMULTI || - netdev_mc_count(usbdev->net) > priv->multicast_size) { + } else if (usbdev->net->flags & IFF_ALLMULTI) { + filter |= RNDIS_PACKET_TYPE_ALL_MULTICAST; + } + + if (filter != basefilter) + goto set_filter; + + /* + * mc_list should be accessed holding the lock, so copy addresses to + * local buffer first. + */ + netif_addr_lock_bh(usbdev->net); + mc_count = netdev_mc_count(usbdev->net); + if (mc_count > priv->multicast_size) { filter |= RNDIS_PACKET_TYPE_ALL_MULTICAST; - } else if (!netdev_mc_empty(usbdev->net)) { - size = min(priv->multicast_size, netdev_mc_count(usbdev->net)); - buf = kmalloc(size * ETH_ALEN, GFP_KERNEL); - if (!buf) { + } else if (mc_count) { + int i = 0; + + mc_addrs = kmalloc(mc_count * ETH_ALEN, GFP_ATOMIC); + if (!mc_addrs) { netdev_warn(usbdev->net, "couldn't alloc %d bytes of memory\n", - size * ETH_ALEN); + mc_count * ETH_ALEN); netif_addr_unlock_bh(usbdev->net); return; } - i = 0; - netdev_for_each_mc_addr(mclist, usbdev->net) { - if (i == size) - break; - memcpy(buf + i++ * ETH_ALEN, mclist->dmi_addr, ETH_ALEN); - } + netdev_for_each_mc_addr(mclist, usbdev->net) + memcpy(mc_addrs + i++ * ETH_ALEN, + mclist->dmi_addr, ETH_ALEN); + } + netif_addr_unlock_bh(usbdev->net); - ret = rndis_set_oid(usbdev, OID_802_3_MULTICAST_LIST, buf, - i * ETH_ALEN); - if (ret == 0 && i > 0) + if (filter != basefilter) + goto set_filter; + + if (mc_count) { + ret = rndis_set_oid(usbdev, OID_802_3_MULTICAST_LIST, mc_addrs, + mc_count * ETH_ALEN); + kfree(mc_addrs); + if (ret == 0) filter |= RNDIS_PACKET_TYPE_MULTICAST; else filter |= RNDIS_PACKET_TYPE_ALL_MULTICAST; netdev_dbg(usbdev->net, "OID_802_3_MULTICAST_LIST(%d, max: %d) -> %d\n", - i, priv->multicast_size, ret); - - kfree(buf); + mc_count, priv->multicast_size, ret); } - netif_addr_unlock_bh(usbdev->net); +set_filter: ret = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &filter, sizeof(filter)); if (ret < 0) { -- cgit v0.10.2 From 5bc923c505926af927d4f3011da92c243787d6a7 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Fri, 5 Mar 2010 00:31:33 -0800 Subject: Input: gamecon - fix off by one range check It should be >= GC_MAX not > GC_MAX. Signed-off-by: Dan Carpenter Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/joystick/gamecon.c b/drivers/input/joystick/gamecon.c index ae998d9..7a55714 100644 --- a/drivers/input/joystick/gamecon.c +++ b/drivers/input/joystick/gamecon.c @@ -819,7 +819,7 @@ static int __init gc_setup_pad(struct gc *gc, int idx, int pad_type) int i; int err; - if (pad_type < 1 || pad_type > GC_MAX) { + if (pad_type < 1 || pad_type >= GC_MAX) { pr_err("Pad type %d unknown\n", pad_type); return -EINVAL; } -- cgit v0.10.2 From 776943fd6f104a6e8457dc95a17282e69e963666 Mon Sep 17 00:00:00 2001 From: Ping Cheng Date: Thu, 4 Mar 2010 21:50:59 -0800 Subject: Input: wacom - merge out and in prox events Process out and in prox events for Graphire and Tablet PC devices in the same loop to simplify the data parsing logic. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index 4a852d8..b3ba343 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c @@ -155,19 +155,19 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo) { struct wacom_features *features = &wacom->features; unsigned char *data = wacom->data; - int x, y, rw; - static int penData = 0; + int x, y, prox; + int rw = 0; + int retval = 0; if (data[0] != WACOM_REPORT_PENABLED) { dbg("wacom_graphire_irq: received unknown report #%d", data[0]); - return 0; + goto exit; } - if (data[1] & 0x80) { - /* in prox and not a pad data */ - penData = 1; - - switch ((data[1] >> 5) & 3) { + prox = data[1] & 0x80; + if (prox || wacom->id[0]) { + if (prox) { + switch ((data[1] >> 5) & 3) { case 0: /* Pen */ wacom->tool[0] = BTN_TOOL_PEN; @@ -181,23 +181,13 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo) case 2: /* Mouse with wheel */ wacom_report_key(wcombo, BTN_MIDDLE, data[1] & 0x04); - if (features->type == WACOM_G4 || features->type == WACOM_MO) { - rw = data[7] & 0x04 ? (data[7] & 0x03)-4 : (data[7] & 0x03); - wacom_report_rel(wcombo, REL_WHEEL, -rw); - } else - wacom_report_rel(wcombo, REL_WHEEL, -(signed char) data[6]); /* fall through */ case 3: /* Mouse without wheel */ wacom->tool[0] = BTN_TOOL_MOUSE; wacom->id[0] = CURSOR_DEVICE_ID; - wacom_report_key(wcombo, BTN_LEFT, data[1] & 0x01); - wacom_report_key(wcombo, BTN_RIGHT, data[1] & 0x02); - if (features->type == WACOM_G4 || features->type == WACOM_MO) - wacom_report_abs(wcombo, ABS_DISTANCE, data[6] & 0x3f); - else - wacom_report_abs(wcombo, ABS_DISTANCE, data[7] & 0x3f); break; + } } x = wacom_le16_to_cpu(&data[2]); y = wacom_le16_to_cpu(&data[4]); @@ -208,36 +198,32 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo) wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x01); wacom_report_key(wcombo, BTN_STYLUS, data[1] & 0x02); wacom_report_key(wcombo, BTN_STYLUS2, data[1] & 0x04); - } - wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); /* report tool id */ - wacom_report_key(wcombo, wacom->tool[0], 1); - } else if (wacom->id[0]) { - wacom_report_abs(wcombo, ABS_X, 0); - wacom_report_abs(wcombo, ABS_Y, 0); - if (wacom->tool[0] == BTN_TOOL_MOUSE) { - wacom_report_key(wcombo, BTN_LEFT, 0); - wacom_report_key(wcombo, BTN_RIGHT, 0); - wacom_report_abs(wcombo, ABS_DISTANCE, 0); } else { - wacom_report_abs(wcombo, ABS_PRESSURE, 0); - wacom_report_key(wcombo, BTN_TOUCH, 0); - wacom_report_key(wcombo, BTN_STYLUS, 0); - wacom_report_key(wcombo, BTN_STYLUS2, 0); + wacom_report_key(wcombo, BTN_LEFT, data[1] & 0x01); + wacom_report_key(wcombo, BTN_RIGHT, data[1] & 0x02); + if (features->type == WACOM_G4 || + features->type == WACOM_MO) { + wacom_report_abs(wcombo, ABS_DISTANCE, data[6] & 0x3f); + rw = (signed)(data[7] & 0x04) - (data[7] & 0x03); + } else { + wacom_report_abs(wcombo, ABS_DISTANCE, data[7] & 0x3f); + rw = -(signed)data[6]; + } + wacom_report_rel(wcombo, REL_WHEEL, rw); } - wacom->id[0] = 0; - wacom_report_abs(wcombo, ABS_MISC, 0); /* reset tool id */ - wacom_report_key(wcombo, wacom->tool[0], 0); + + if (!prox) + wacom->id[0] = 0; + wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); /* report tool id */ + wacom_report_key(wcombo, wacom->tool[0], prox); + wacom_input_sync(wcombo); /* sync last event */ } /* send pad data */ switch (features->type) { case WACOM_G4: - if (data[7] & 0xf8) { - if (penData) { - wacom_input_sync(wcombo); /* sync last event */ - if (!wacom->id[0]) - penData = 0; - } + prox = data[7] & 0xf8; + if (prox || wacom->id[1]) { wacom->id[1] = PAD_DEVICE_ID; wacom_report_key(wcombo, BTN_0, (data[7] & 0x40)); wacom_report_key(wcombo, BTN_4, (data[7] & 0x80)); @@ -245,29 +231,16 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo) wacom_report_rel(wcombo, REL_WHEEL, rw); wacom_report_key(wcombo, BTN_TOOL_FINGER, 0xf0); wacom_report_abs(wcombo, ABS_MISC, wacom->id[1]); - wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); - } else if (wacom->id[1]) { - if (penData) { - wacom_input_sync(wcombo); /* sync last event */ - if (!wacom->id[0]) - penData = 0; - } - wacom->id[1] = 0; - wacom_report_key(wcombo, BTN_0, (data[7] & 0x40)); - wacom_report_key(wcombo, BTN_4, (data[7] & 0x80)); - wacom_report_rel(wcombo, REL_WHEEL, 0); - wacom_report_key(wcombo, BTN_TOOL_FINGER, 0); - wacom_report_abs(wcombo, ABS_MISC, 0); + if (!prox) + wacom->id[1] = 0; + wacom_report_abs(wcombo, ABS_MISC, wacom->id[1]); wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); } + retval = 1; break; case WACOM_MO: - if ((data[7] & 0xf8) || (data[8] & 0xff)) { - if (penData) { - wacom_input_sync(wcombo); /* sync last event */ - if (!wacom->id[0]) - penData = 0; - } + prox = (data[7] & 0xf8) || data[8]; + if (prox || wacom->id[1]) { wacom->id[1] = PAD_DEVICE_ID; wacom_report_key(wcombo, BTN_0, (data[7] & 0x08)); wacom_report_key(wcombo, BTN_1, (data[7] & 0x20)); @@ -275,27 +248,16 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo) wacom_report_key(wcombo, BTN_5, (data[7] & 0x40)); wacom_report_abs(wcombo, ABS_WHEEL, (data[8] & 0x7f)); wacom_report_key(wcombo, BTN_TOOL_FINGER, 0xf0); + if (!prox) + wacom->id[1] = 0; wacom_report_abs(wcombo, ABS_MISC, wacom->id[1]); wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); - } else if (wacom->id[1]) { - if (penData) { - wacom_input_sync(wcombo); /* sync last event */ - if (!wacom->id[0]) - penData = 0; - } - wacom->id[1] = 0; - wacom_report_key(wcombo, BTN_0, (data[7] & 0x08)); - wacom_report_key(wcombo, BTN_1, (data[7] & 0x20)); - wacom_report_key(wcombo, BTN_4, (data[7] & 0x10)); - wacom_report_key(wcombo, BTN_5, (data[7] & 0x40)); - wacom_report_abs(wcombo, ABS_WHEEL, (data[8] & 0x7f)); - wacom_report_key(wcombo, BTN_TOOL_FINGER, 0); - wacom_report_abs(wcombo, ABS_MISC, 0); - wacom_input_event(wcombo, EV_MSC, MSC_SERIAL, 0xf0); } + retval = 1; break; } - return 1; +exit: + return retval; } static int wacom_intuos_inout(struct wacom_wac *wacom, void *wcombo) @@ -636,9 +598,9 @@ static int wacom_intuos_irq(struct wacom_wac *wacom, void *wcombo) static void wacom_tpc_finger_in(struct wacom_wac *wacom, void *wcombo, char *data, int idx) { wacom_report_abs(wcombo, ABS_X, - (data[2 + idx * 2] & 0xff) | ((data[3 + idx * 2] & 0x7f) << 8)); + data[2 + idx * 2] | ((data[3 + idx * 2] & 0x7f) << 8)); wacom_report_abs(wcombo, ABS_Y, - (data[6 + idx * 2] & 0xff) | ((data[7 + idx * 2] & 0x7f) << 8)); + data[6 + idx * 2] | ((data[7 + idx * 2] & 0x7f) << 8)); wacom_report_abs(wcombo, ABS_MISC, wacom->id[0]); wacom_report_key(wcombo, wacom->tool[idx], 1); if (idx) @@ -782,31 +744,24 @@ static int wacom_tpc_irq(struct wacom_wac *wacom, void *wcombo) touchInProx = 0; - if (prox) { /* in prox */ - if (!wacom->id[0]) { - /* Going into proximity select tool */ - wacom->tool[0] = (data[1] & 0x0c) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; - if (wacom->tool[0] == BTN_TOOL_PEN) - wacom->id[0] = STYLUS_DEVICE_ID; - else - wacom->id[0] = ERASER_DEVICE_ID; - } - wacom_report_key(wcombo, BTN_STYLUS, data[1] & 0x02); - wacom_report_key(wcombo, BTN_STYLUS2, data[1] & 0x10); - wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); - wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); - pressure = ((data[7] & 0x01) << 8) | data[6]; - if (pressure < 0) - pressure = features->pressure_max + pressure + 1; - wacom_report_abs(wcombo, ABS_PRESSURE, pressure); - wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x05); - } else { - wacom_report_abs(wcombo, ABS_X, 0); - wacom_report_abs(wcombo, ABS_Y, 0); - wacom_report_abs(wcombo, ABS_PRESSURE, 0); - wacom_report_key(wcombo, BTN_STYLUS, 0); - wacom_report_key(wcombo, BTN_STYLUS2, 0); - wacom_report_key(wcombo, BTN_TOUCH, 0); + if (!wacom->id[0]) { /* first in prox */ + /* Going into proximity select tool */ + wacom->tool[0] = (data[1] & 0x0c) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN; + if (wacom->tool[0] == BTN_TOOL_PEN) + wacom->id[0] = STYLUS_DEVICE_ID; + else + wacom->id[0] = ERASER_DEVICE_ID; + } + wacom_report_key(wcombo, BTN_STYLUS, data[1] & 0x02); + wacom_report_key(wcombo, BTN_STYLUS2, data[1] & 0x10); + wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[2])); + wacom_report_abs(wcombo, ABS_Y, wacom_le16_to_cpu(&data[4])); + pressure = ((data[7] & 0x01) << 8) | data[6]; + if (pressure < 0) + pressure = features->pressure_max + pressure + 1; + wacom_report_abs(wcombo, ABS_PRESSURE, pressure); + wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x05); + if (!prox) { /* out-prox */ wacom->id[0] = 0; /* pen is out so touch can be enabled now */ touchInProx = 1; -- cgit v0.10.2 From 8eae939f1400326b06d0c9afe53d2a484a326871 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:40 +0000 Subject: net: add limit for socket backlog We got system OOM while running some UDP netperf testing on the loopback device. The case is multiple senders sent stream UDP packets to a single receiver via loopback on local host. Of course, the receiver is not able to handle all the packets in time. But we surprisingly found that these packets were not discarded due to the receiver's sk->sk_rcvbuf limit. Instead, they are kept queuing to sk->sk_backlog and finally ate up all the memory. We believe this is a secure hole that a none privileged user can crash the system. The root cause for this problem is, when the receiver is doing __release_sock() (i.e. after userspace recv, kernel udp_recvmsg -> skb_free_datagram_locked -> release_sock), it moves skbs from backlog to sk_receive_queue with the softirq enabled. In the above case, multiple busy senders will almost make it an endless loop. The skbs in the backlog end up eat all the system memory. The issue is not only for UDP. Any protocols using socket backlog is potentially affected. The patch adds limit for socket backlog so that the backlog size cannot be expanded endlessly. Reported-by: Alex Shi Cc: David Miller Cc: Arnaldo Carvalho de Melo Cc: Alexey Kuznetsov Cc: Patrick McHardy Cc: Vlad Yasevich Cc: Sridhar Samudrala Cc: Jon Maloy Cc: Allan Stephens Cc: Andrew Hendry Signed-off-by: Zhu Yi Signed-off-by: Eric Dumazet Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller diff --git a/include/net/sock.h b/include/net/sock.h index 6cb1676..2516d76 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -253,6 +253,8 @@ struct sock { struct { struct sk_buff *head; struct sk_buff *tail; + int len; + int limit; } sk_backlog; wait_queue_head_t *sk_sleep; struct dst_entry *sk_dst_cache; @@ -589,7 +591,7 @@ static inline int sk_stream_memory_free(struct sock *sk) return sk->sk_wmem_queued < sk->sk_sndbuf; } -/* The per-socket spinlock must be held here. */ +/* OOB backlog add */ static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) { if (!sk->sk_backlog.tail) { @@ -601,6 +603,17 @@ static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) skb->next = NULL; } +/* The per-socket spinlock must be held here. */ +static inline int sk_add_backlog_limited(struct sock *sk, struct sk_buff *skb) +{ + if (sk->sk_backlog.len >= max(sk->sk_backlog.limit, sk->sk_rcvbuf << 1)) + return -ENOBUFS; + + sk_add_backlog(sk, skb); + sk->sk_backlog.len += skb->truesize; + return 0; +} + static inline int sk_backlog_rcv(struct sock *sk, struct sk_buff *skb) { return sk->sk_backlog_rcv(sk, skb); diff --git a/net/core/sock.c b/net/core/sock.c index fcd397a..6e22dc9 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -340,8 +340,12 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested) rc = sk_backlog_rcv(sk, skb); mutex_release(&sk->sk_lock.dep_map, 1, _RET_IP_); - } else - sk_add_backlog(sk, skb); + } else if (sk_add_backlog_limited(sk, skb)) { + bh_unlock_sock(sk); + atomic_inc(&sk->sk_drops); + goto discard_and_relse; + } + bh_unlock_sock(sk); out: sock_put(sk); @@ -1139,6 +1143,7 @@ struct sock *sk_clone(const struct sock *sk, const gfp_t priority) sock_lock_init(newsk); bh_lock_sock(newsk); newsk->sk_backlog.head = newsk->sk_backlog.tail = NULL; + newsk->sk_backlog.len = 0; atomic_set(&newsk->sk_rmem_alloc, 0); /* @@ -1542,6 +1547,12 @@ static void __release_sock(struct sock *sk) bh_lock_sock(sk); } while ((skb = sk->sk_backlog.head) != NULL); + + /* + * Doing the zeroing here guarantee we can not loop forever + * while a wild producer attempts to flood us. + */ + sk->sk_backlog.len = 0; } /** @@ -1874,6 +1885,7 @@ void sock_init_data(struct socket *sock, struct sock *sk) sk->sk_allocation = GFP_KERNEL; sk->sk_rcvbuf = sysctl_rmem_default; sk->sk_sndbuf = sysctl_wmem_default; + sk->sk_backlog.limit = sk->sk_rcvbuf << 1; sk->sk_state = TCP_CLOSE; sk_set_socket(sk, sock); -- cgit v0.10.2 From 6b03a53a5ab7ccf2d5d69f96cf1c739c4d2a8fb9 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:41 +0000 Subject: tcp: use limited socket backlog Make tcp adapt to the limited socket backlog change. Cc: "David S. Miller" Cc: Alexey Kuznetsov Cc: "Pekka Savola (ipv6)" Cc: Patrick McHardy Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index c3588b4..4baf194 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1682,8 +1682,10 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v4_do_rcv(sk, skb); } - } else - sk_add_backlog(sk, skb); + } else if (sk_add_backlog_limited(sk, skb)) { + bh_unlock_sock(sk); + goto discard_and_relse; + } bh_unlock_sock(sk); sock_put(sk); diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 6963a6b..c4ea9d5 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1740,8 +1740,10 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v6_do_rcv(sk, skb); } - } else - sk_add_backlog(sk, skb); + } else if (sk_add_backlog_limited(sk, skb)) { + bh_unlock_sock(sk); + goto discard_and_relse; + } bh_unlock_sock(sk); sock_put(sk); -- cgit v0.10.2 From 55349790d7cbf0d381873a7ece1dcafcffd4aaa9 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:42 +0000 Subject: udp: use limited socket backlog Make udp adapt to the limited socket backlog change. Cc: "David S. Miller" Cc: Alexey Kuznetsov Cc: "Pekka Savola (ipv6)" Cc: Patrick McHardy Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 608a544..e7eb47f 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1371,8 +1371,10 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) bh_lock_sock(sk); if (!sock_owned_by_user(sk)) rc = __udp_queue_rcv_skb(sk, skb); - else - sk_add_backlog(sk, skb); + else if (sk_add_backlog_limited(sk, skb)) { + bh_unlock_sock(sk); + goto drop; + } bh_unlock_sock(sk); return rc; diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 52b8347..6480491 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -583,16 +583,20 @@ static void flush_stack(struct sock **stack, unsigned int count, bh_lock_sock(sk); if (!sock_owned_by_user(sk)) udpv6_queue_rcv_skb(sk, skb1); - else - sk_add_backlog(sk, skb1); + else if (sk_add_backlog_limited(sk, skb1)) { + kfree_skb(skb1); + bh_unlock_sock(sk); + goto drop; + } bh_unlock_sock(sk); - } else { - atomic_inc(&sk->sk_drops); - UDP6_INC_STATS_BH(sock_net(sk), - UDP_MIB_RCVBUFERRORS, IS_UDPLITE(sk)); - UDP6_INC_STATS_BH(sock_net(sk), - UDP_MIB_INERRORS, IS_UDPLITE(sk)); + continue; } +drop: + atomic_inc(&sk->sk_drops); + UDP6_INC_STATS_BH(sock_net(sk), + UDP_MIB_RCVBUFERRORS, IS_UDPLITE(sk)); + UDP6_INC_STATS_BH(sock_net(sk), + UDP_MIB_INERRORS, IS_UDPLITE(sk)); } } /* @@ -754,8 +758,12 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, bh_lock_sock(sk); if (!sock_owned_by_user(sk)) udpv6_queue_rcv_skb(sk, skb); - else - sk_add_backlog(sk, skb); + else if (sk_add_backlog_limited(sk, skb)) { + atomic_inc(&sk->sk_drops); + bh_unlock_sock(sk); + sock_put(sk); + goto discard; + } bh_unlock_sock(sk); sock_put(sk); return 0; -- cgit v0.10.2 From 79545b681961d7001c1f4c3eb9ffb87bed4485db Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:43 +0000 Subject: llc: use limited socket backlog Make llc adapt to the limited socket backlog change. Cc: Arnaldo Carvalho de Melo Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c index a8dde9b..c0539ff 100644 --- a/net/llc/llc_conn.c +++ b/net/llc/llc_conn.c @@ -827,7 +827,8 @@ void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb) else { dprintk("%s: adding to backlog...\n", __func__); llc_set_backlog_type(skb, LLC_PACKET); - sk_add_backlog(sk, skb); + if (sk_add_backlog_limited(sk, skb)) + goto drop_unlock; } out: bh_unlock_sock(sk); -- cgit v0.10.2 From 50b1a782f845140f4138f14a1ce8a4a6dd0cc82f Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:44 +0000 Subject: sctp: use limited socket backlog Make sctp adapt to the limited socket backlog change. Cc: Vlad Yasevich Cc: Sridhar Samudrala Signed-off-by: Zhu Yi Signed-off-by: David S. Miller diff --git a/net/sctp/input.c b/net/sctp/input.c index c0c973e..cbc0636 100644 --- a/net/sctp/input.c +++ b/net/sctp/input.c @@ -75,7 +75,7 @@ static struct sctp_association *__sctp_lookup_association( const union sctp_addr *peer, struct sctp_transport **pt); -static void sctp_add_backlog(struct sock *sk, struct sk_buff *skb); +static int sctp_add_backlog(struct sock *sk, struct sk_buff *skb); /* Calculate the SCTP checksum of an SCTP packet. */ @@ -265,8 +265,13 @@ int sctp_rcv(struct sk_buff *skb) } if (sock_owned_by_user(sk)) { + if (sctp_add_backlog(sk, skb)) { + sctp_bh_unlock_sock(sk); + sctp_chunk_free(chunk); + skb = NULL; /* sctp_chunk_free already freed the skb */ + goto discard_release; + } SCTP_INC_STATS_BH(SCTP_MIB_IN_PKT_BACKLOG); - sctp_add_backlog(sk, skb); } else { SCTP_INC_STATS_BH(SCTP_MIB_IN_PKT_SOFTIRQ); sctp_inq_push(&chunk->rcvr->inqueue, chunk); @@ -336,8 +341,10 @@ int sctp_backlog_rcv(struct sock *sk, struct sk_buff *skb) sctp_bh_lock_sock(sk); if (sock_owned_by_user(sk)) { - sk_add_backlog(sk, skb); - backloged = 1; + if (sk_add_backlog_limited(sk, skb)) + sctp_chunk_free(chunk); + else + backloged = 1; } else sctp_inq_push(inqueue, chunk); @@ -362,22 +369,27 @@ done: return 0; } -static void sctp_add_backlog(struct sock *sk, struct sk_buff *skb) +static int sctp_add_backlog(struct sock *sk, struct sk_buff *skb) { struct sctp_chunk *chunk = SCTP_INPUT_CB(skb)->chunk; struct sctp_ep_common *rcvr = chunk->rcvr; + int ret; - /* Hold the assoc/ep while hanging on the backlog queue. - * This way, we know structures we need will not disappear from us - */ - if (SCTP_EP_TYPE_ASSOCIATION == rcvr->type) - sctp_association_hold(sctp_assoc(rcvr)); - else if (SCTP_EP_TYPE_SOCKET == rcvr->type) - sctp_endpoint_hold(sctp_ep(rcvr)); - else - BUG(); + ret = sk_add_backlog_limited(sk, skb); + if (!ret) { + /* Hold the assoc/ep while hanging on the backlog queue. + * This way, we know structures we need will not disappear + * from us + */ + if (SCTP_EP_TYPE_ASSOCIATION == rcvr->type) + sctp_association_hold(sctp_assoc(rcvr)); + else if (SCTP_EP_TYPE_SOCKET == rcvr->type) + sctp_endpoint_hold(sctp_ep(rcvr)); + else + BUG(); + } + return ret; - sk_add_backlog(sk, skb); } /* Handle icmp frag needed error. */ diff --git a/net/sctp/socket.c b/net/sctp/socket.c index f6d1e59..dfc5c12 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -3720,6 +3720,9 @@ SCTP_STATIC int sctp_init_sock(struct sock *sk) SCTP_DBG_OBJCNT_INC(sock); percpu_counter_inc(&sctp_sockets_allocated); + /* Set socket backlog limit. */ + sk->sk_backlog.limit = sysctl_sctp_rmem[1]; + local_bh_disable(); sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1); local_bh_enable(); -- cgit v0.10.2 From 53eecb1be5ae499d399d2923933937a9ea1a284f Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:45 +0000 Subject: tipc: use limited socket backlog Make tipc adapt to the limited socket backlog change. Cc: Jon Maloy Cc: Allan Stephens Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Acked-by: Allan Stephens Signed-off-by: David S. Miller diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 1ea64f0..22bfbc3 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -1322,8 +1322,10 @@ static u32 dispatch(struct tipc_port *tport, struct sk_buff *buf) if (!sock_owned_by_user(sk)) { res = filter_rcv(sk, buf); } else { - sk_add_backlog(sk, buf); - res = TIPC_OK; + if (sk_add_backlog_limited(sk, buf)) + res = TIPC_ERR_OVERLOAD; + else + res = TIPC_OK; } bh_unlock_sock(sk); -- cgit v0.10.2 From 2499849ee8f513e795b9f2c19a42d6356e4943a4 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:46 +0000 Subject: x25: use limited socket backlog Make x25 adapt to the limited socket backlog change. Cc: Andrew Hendry Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/x25/x25_dev.c b/net/x25/x25_dev.c index 3e1efe5..a9da0dc 100644 --- a/net/x25/x25_dev.c +++ b/net/x25/x25_dev.c @@ -53,7 +53,7 @@ static int x25_receive_data(struct sk_buff *skb, struct x25_neigh *nb) if (!sock_owned_by_user(sk)) { queued = x25_process_rx_frame(sk, skb); } else { - sk_add_backlog(sk, skb); + queued = !sk_add_backlog_limited(sk, skb); } bh_unlock_sock(sk); sock_put(sk); -- cgit v0.10.2 From a3a858ff18a72a8d388e31ab0d98f7e944841a62 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Thu, 4 Mar 2010 18:01:47 +0000 Subject: net: backlog functions rename sk_add_backlog -> __sk_add_backlog sk_add_backlog_limited -> sk_add_backlog Signed-off-by: Zhu Yi Acked-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/include/net/sock.h b/include/net/sock.h index 2516d76..170353d 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -592,7 +592,7 @@ static inline int sk_stream_memory_free(struct sock *sk) } /* OOB backlog add */ -static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) +static inline void __sk_add_backlog(struct sock *sk, struct sk_buff *skb) { if (!sk->sk_backlog.tail) { sk->sk_backlog.head = sk->sk_backlog.tail = skb; @@ -604,12 +604,12 @@ static inline void sk_add_backlog(struct sock *sk, struct sk_buff *skb) } /* The per-socket spinlock must be held here. */ -static inline int sk_add_backlog_limited(struct sock *sk, struct sk_buff *skb) +static inline int sk_add_backlog(struct sock *sk, struct sk_buff *skb) { if (sk->sk_backlog.len >= max(sk->sk_backlog.limit, sk->sk_rcvbuf << 1)) return -ENOBUFS; - sk_add_backlog(sk, skb); + __sk_add_backlog(sk, skb); sk->sk_backlog.len += skb->truesize; return 0; } diff --git a/net/core/sock.c b/net/core/sock.c index 6e22dc9..61a65a2 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -340,7 +340,7 @@ int sk_receive_skb(struct sock *sk, struct sk_buff *skb, const int nested) rc = sk_backlog_rcv(sk, skb); mutex_release(&sk->sk_lock.dep_map, 1, _RET_IP_); - } else if (sk_add_backlog_limited(sk, skb)) { + } else if (sk_add_backlog(sk, skb)) { bh_unlock_sock(sk); atomic_inc(&sk->sk_drops); goto discard_and_relse; diff --git a/net/dccp/minisocks.c b/net/dccp/minisocks.c index af226a0..0d508c3 100644 --- a/net/dccp/minisocks.c +++ b/net/dccp/minisocks.c @@ -254,7 +254,7 @@ int dccp_child_process(struct sock *parent, struct sock *child, * in main socket hash table and lock on listening * socket does not protect us more. */ - sk_add_backlog(child, skb); + __sk_add_backlog(child, skb); } bh_unlock_sock(child); diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 4baf194..1915f7d 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1682,7 +1682,7 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v4_do_rcv(sk, skb); } - } else if (sk_add_backlog_limited(sk, skb)) { + } else if (sk_add_backlog(sk, skb)) { bh_unlock_sock(sk); goto discard_and_relse; } diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index f206ee5..4199bc6 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -728,7 +728,7 @@ int tcp_child_process(struct sock *parent, struct sock *child, * in main socket hash table and lock on listening * socket does not protect us more. */ - sk_add_backlog(child, skb); + __sk_add_backlog(child, skb); } bh_unlock_sock(child); diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index e7eb47f..7af756d 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1371,7 +1371,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) bh_lock_sock(sk); if (!sock_owned_by_user(sk)) rc = __udp_queue_rcv_skb(sk, skb); - else if (sk_add_backlog_limited(sk, skb)) { + else if (sk_add_backlog(sk, skb)) { bh_unlock_sock(sk); goto drop; } diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index c4ea9d5..2c378b1 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1740,7 +1740,7 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v6_do_rcv(sk, skb); } - } else if (sk_add_backlog_limited(sk, skb)) { + } else if (sk_add_backlog(sk, skb)) { bh_unlock_sock(sk); goto discard_and_relse; } diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 6480491..3c0c9c7 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -583,7 +583,7 @@ static void flush_stack(struct sock **stack, unsigned int count, bh_lock_sock(sk); if (!sock_owned_by_user(sk)) udpv6_queue_rcv_skb(sk, skb1); - else if (sk_add_backlog_limited(sk, skb1)) { + else if (sk_add_backlog(sk, skb1)) { kfree_skb(skb1); bh_unlock_sock(sk); goto drop; @@ -758,7 +758,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, bh_lock_sock(sk); if (!sock_owned_by_user(sk)) udpv6_queue_rcv_skb(sk, skb); - else if (sk_add_backlog_limited(sk, skb)) { + else if (sk_add_backlog(sk, skb)) { atomic_inc(&sk->sk_drops); bh_unlock_sock(sk); sock_put(sk); diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c index 019c780..86d6985 100644 --- a/net/llc/llc_c_ac.c +++ b/net/llc/llc_c_ac.c @@ -1437,7 +1437,7 @@ static void llc_process_tmr_ev(struct sock *sk, struct sk_buff *skb) llc_conn_state_process(sk, skb); else { llc_set_backlog_type(skb, LLC_EVENT); - sk_add_backlog(sk, skb); + __sk_add_backlog(sk, skb); } } } diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c index c0539ff..a12144d 100644 --- a/net/llc/llc_conn.c +++ b/net/llc/llc_conn.c @@ -827,7 +827,7 @@ void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb) else { dprintk("%s: adding to backlog...\n", __func__); llc_set_backlog_type(skb, LLC_PACKET); - if (sk_add_backlog_limited(sk, skb)) + if (sk_add_backlog(sk, skb)) goto drop_unlock; } out: diff --git a/net/sctp/input.c b/net/sctp/input.c index cbc0636..3d74b26 100644 --- a/net/sctp/input.c +++ b/net/sctp/input.c @@ -341,7 +341,7 @@ int sctp_backlog_rcv(struct sock *sk, struct sk_buff *skb) sctp_bh_lock_sock(sk); if (sock_owned_by_user(sk)) { - if (sk_add_backlog_limited(sk, skb)) + if (sk_add_backlog(sk, skb)) sctp_chunk_free(chunk); else backloged = 1; @@ -375,7 +375,7 @@ static int sctp_add_backlog(struct sock *sk, struct sk_buff *skb) struct sctp_ep_common *rcvr = chunk->rcvr; int ret; - ret = sk_add_backlog_limited(sk, skb); + ret = sk_add_backlog(sk, skb); if (!ret) { /* Hold the assoc/ep while hanging on the backlog queue. * This way, we know structures we need will not disappear diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 22bfbc3..4b235fc 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -1322,7 +1322,7 @@ static u32 dispatch(struct tipc_port *tport, struct sk_buff *buf) if (!sock_owned_by_user(sk)) { res = filter_rcv(sk, buf); } else { - if (sk_add_backlog_limited(sk, buf)) + if (sk_add_backlog(sk, buf)) res = TIPC_ERR_OVERLOAD; else res = TIPC_OK; diff --git a/net/x25/x25_dev.c b/net/x25/x25_dev.c index a9da0dc..52e3042 100644 --- a/net/x25/x25_dev.c +++ b/net/x25/x25_dev.c @@ -53,7 +53,7 @@ static int x25_receive_data(struct sk_buff *skb, struct x25_neigh *nb) if (!sock_owned_by_user(sk)) { queued = x25_process_rx_frame(sk, skb); } else { - queued = !sk_add_backlog_limited(sk, skb); + queued = !sk_add_backlog(sk, skb); } bh_unlock_sock(sk); sock_put(sk); -- cgit v0.10.2 From 4b79a1aedcb9dd6e3f27b970dcb553aefcd97254 Mon Sep 17 00:00:00 2001 From: David Brown Date: Fri, 5 Mar 2010 09:12:34 +0000 Subject: net: smc91x: Support Qualcomm MSM development boards. Signed-off-by: David Brown Signed-off-by: Daniel Walker Acked-by: Nicolas Pitre Signed-off-by: David S. Miller diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 5479954..a6ee883 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -330,6 +330,20 @@ static inline void LPD7_SMC_outsw (unsigned char* a, int r, #include +#elif defined(CONFIG_ARCH_MSM) + +#define SMC_CAN_USE_8BIT 0 +#define SMC_CAN_USE_16BIT 1 +#define SMC_CAN_USE_32BIT 0 +#define SMC_NOWAIT 1 + +#define SMC_inw(a, r) readw((a) + (r)) +#define SMC_outw(v, a, r) writew(v, (a) + (r)) +#define SMC_insw(a, r, p, l) readsw((a) + (r), p, l) +#define SMC_outsw(a, r, p, l) writesw((a) + (r), p, l) + +#define SMC_IRQ_FLAGS IRQF_TRIGGER_HIGH + #else /* -- cgit v0.10.2 From 723b2f57ad83ee7087acf9a95e8e289414b1f521 Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Wed, 3 Mar 2010 22:51:50 +0000 Subject: ethtool: Add direct access to ops->get_sset_count This patch is an alternative approach for accessing string counts, vs. the drvinfo indirect approach. This way the drvinfo space doesn't run out, and we don't break ABI later. Signed-off-by: Jeff Garzik Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index cca1c3de..f6f961fe 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -253,6 +253,17 @@ struct ethtool_gstrings { __u8 data[0]; }; +struct ethtool_sset_info { + __u32 cmd; /* ETHTOOL_GSSET_INFO */ + __u32 reserved; + __u64 sset_mask; /* input: each bit selects an sset to query */ + /* output: each bit a returned sset */ + __u32 data[0]; /* ETH_SS_xxx count, in order, based on bits + in sset_mask. One bit implies one + __u32, two bits implies two + __u32's, etc. */ +}; + enum ethtool_test_flags { ETH_TEST_FL_OFFLINE = (1 << 0), /* online / offline */ ETH_TEST_FL_FAILED = (1 << 1), /* test passed / failed */ @@ -606,9 +617,9 @@ struct ethtool_ops { #define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */ #define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */ #define ETHTOOL_RESET 0x00000034 /* Reset hardware */ - -#define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */ -#define ETHTOOL_GRXNTUPLE 0x00000036 /* Get n-tuple filters from device */ +#define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */ +#define ETHTOOL_GRXNTUPLE 0x00000036 /* Get n-tuple filters from device */ +#define ETHTOOL_GSSET_INFO 0x00000037 /* Get string set info */ /* compatibility with older code */ #define SPARC_ETH_GSET ETHTOOL_GSET diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 0f2f821..70075c4 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -214,6 +214,10 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use info.cmd = ETHTOOL_GDRVINFO; ops->get_drvinfo(dev, &info); + /* + * this method of obtaining string set info is deprecated; + * consider using ETHTOOL_GSSET_INFO instead + */ if (ops->get_sset_count) { int rc; @@ -240,6 +244,71 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use /* * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() */ +static noinline int ethtool_get_sset_info(struct net_device *dev, + void __user *useraddr) +{ + struct ethtool_sset_info info; + const struct ethtool_ops *ops = dev->ethtool_ops; + u64 sset_mask; + int i, idx = 0, n_bits = 0, ret, rc; + u32 *info_buf = NULL; + + if (!ops->get_sset_count) + return -EOPNOTSUPP; + + if (copy_from_user(&info, useraddr, sizeof(info))) + return -EFAULT; + + /* store copy of mask, because we zero struct later on */ + sset_mask = info.sset_mask; + if (!sset_mask) + return 0; + + /* calculate size of return buffer */ + for (i = 0; i < 64; i++) + if (sset_mask & (1ULL << i)) + n_bits++; + + memset(&info, 0, sizeof(info)); + info.cmd = ETHTOOL_GSSET_INFO; + + info_buf = kzalloc(n_bits * sizeof(u32), GFP_USER); + if (!info_buf) + return -ENOMEM; + + /* + * fill return buffer based on input bitmask and successful + * get_sset_count return + */ + for (i = 0; i < 64; i++) { + if (!(sset_mask & (1ULL << i))) + continue; + + rc = ops->get_sset_count(dev, i); + if (rc >= 0) { + info.sset_mask |= (1ULL << i); + info_buf[idx++] = rc; + } + } + + ret = -EFAULT; + if (copy_to_user(useraddr, &info, sizeof(info))) + goto out; + + useraddr += offsetof(struct ethtool_sset_info, data); + if (copy_to_user(useraddr, info_buf, idx * sizeof(u32))) + goto out; + + ret = 0; + +out: + kfree(info_buf); + return ret; +} + +/* + * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() + */ static noinline int ethtool_set_rxnfc(struct net_device *dev, void __user *useraddr) { struct ethtool_rxnfc cmd; @@ -1471,6 +1540,9 @@ int dev_ethtool(struct net *net, struct ifreq *ifr) case ETHTOOL_GRXNTUPLE: rc = ethtool_get_rx_ntuple(dev, useraddr); break; + case ETHTOOL_GSSET_INFO: + rc = ethtool_get_sset_info(dev, useraddr); + break; default: rc = -EOPNOTSUPP; } -- cgit v0.10.2 From d17792ebdf90289c9fd1bce888076d3d60ecd53b Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Thu, 4 Mar 2010 08:21:53 +0000 Subject: ethtool: Add direct access to ops->get_sset_count On 03/04/2010 09:26 AM, Ben Hutchings wrote: > On Thu, 2010-03-04 at 00:51 -0800, Jeff Kirsher wrote: >> From: Jeff Garzik >> >> This patch is an alternative approach for accessing string >> counts, vs. the drvinfo indirect approach. This way the drvinfo >> space doesn't run out, and we don't break ABI later. > [...] >> --- a/net/core/ethtool.c >> +++ b/net/core/ethtool.c >> @@ -214,6 +214,10 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use >> info.cmd = ETHTOOL_GDRVINFO; >> ops->get_drvinfo(dev,&info); >> >> + /* >> + * this method of obtaining string set info is deprecated; >> + * consider using ETHTOOL_GSSET_INFO instead >> + */ > > This comment belongs on the interface (ethtool.h) not the > implementation. Debatable -- the current comment is located at the callsite of ops->get_sset_count(), which is where an implementor might think to add a new call. Not all the numeric fields in ethtool_drvinfo are obtained from ->get_sset_count(). Hence the "some" in the attached patch to include/linux/ethtool.h, addressing your comment. > [...] >> +static noinline int ethtool_get_sset_info(struct net_device *dev, >> + void __user *useraddr) >> +{ > [...] >> + /* calculate size of return buffer */ >> + for (i = 0; i< 64; i++) >> + if (sset_mask& (1ULL<< i)) >> + n_bits++; > [...] > > We have a function for this: > > n_bits = hweight64(sset_mask); Agreed. I've attached a follow-up patch, which should enable my/Jeff's kernel patch to be applied, followed by this one. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index f6f961fe..b33f316 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h @@ -61,6 +61,13 @@ struct ethtool_drvinfo { /* For PCI devices, use pci_name(pci_dev). */ char reserved1[32]; char reserved2[12]; + /* + * Some struct members below are filled in + * using ops->get_sset_count(). Obtaining + * this info from ethtool_drvinfo is now + * deprecated; Use ETHTOOL_GSSET_INFO + * instead. + */ __u32 n_priv_flags; /* number of flags valid in ETHTOOL_GPFLAGS */ __u32 n_stats; /* number of u64's from ETHTOOL_GSTATS */ __u32 testinfo_len; diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 70075c4..33d2ded 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -17,6 +17,7 @@ #include #include #include +#include #include /* @@ -216,7 +217,7 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use /* * this method of obtaining string set info is deprecated; - * consider using ETHTOOL_GSSET_INFO instead + * Use ETHTOOL_GSSET_INFO instead. */ if (ops->get_sset_count) { int rc; @@ -265,9 +266,7 @@ static noinline int ethtool_get_sset_info(struct net_device *dev, return 0; /* calculate size of return buffer */ - for (i = 0; i < 64; i++) - if (sset_mask & (1ULL << i)) - n_bits++; + n_bits = hweight64(sset_mask); memset(&info, 0, sizeof(info)); info.cmd = ETHTOOL_GSSET_INFO; -- cgit v0.10.2 From 5fe88eae26dbd24eed73eb0b681e13981fd486b3 Mon Sep 17 00:00:00 2001 From: David Dillow Date: Thu, 4 Mar 2010 04:37:16 +0000 Subject: typhoon: fix incorrect use of smp_wmb() The typhoon driver was incorrectly using smp_wmb() to order memory accesses against IO to the NIC in a few instances. Use wmb() instead, which is required to actually order between memory types. Signed-off-by: David Dillow Signed-off-by: David S. Miller diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index e3ddcb8..1cf012d 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c @@ -480,7 +480,7 @@ typhoon_hello(struct typhoon *tp) typhoon_inc_cmd_index(&ring->lastWrite, 1); INIT_COMMAND_NO_RESPONSE(cmd, TYPHOON_CMD_HELLO_RESP); - smp_wmb(); + wmb(); iowrite32(ring->lastWrite, tp->ioaddr + TYPHOON_REG_CMD_READY); spin_unlock(&tp->command_lock); } @@ -1311,13 +1311,15 @@ typhoon_init_interface(struct typhoon *tp) tp->txlo_dma_addr = le32_to_cpu(iface->txLoAddr); tp->card_state = Sleeping; - smp_wmb(); tp->offload = TYPHOON_OFFLOAD_IP_CHKSUM | TYPHOON_OFFLOAD_TCP_CHKSUM; tp->offload |= TYPHOON_OFFLOAD_UDP_CHKSUM | TSO_OFFLOAD_ON; spin_lock_init(&tp->command_lock); spin_lock_init(&tp->state_lock); + + /* Force the writes to the shared memory area out before continuing. */ + wmb(); } static void -- cgit v0.10.2 From a80483d3722b603dae8a52495f8d88a7d4b1bf1c Mon Sep 17 00:00:00 2001 From: Jesse Brandeburg Date: Fri, 5 Mar 2010 02:21:44 +0000 Subject: e1000e: fix packet corruption and tx hang during NFSv2 when receiving a particular type of NFS v2 UDP traffic, the hardware could DMA some bad data and then hang, possibly corrupting memory. Disable the NFS parsing in this hardware, verified to fix the bug. Originally reported and reproduced by RedHat's Neil Horman CC: nhorman@tuxdriver.com Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Acked-by: Neil Horman Signed-off-by: David S. Miller diff --git a/drivers/net/e1000e/defines.h b/drivers/net/e1000e/defines.h index db05ec3..e301e26 100644 --- a/drivers/net/e1000e/defines.h +++ b/drivers/net/e1000e/defines.h @@ -320,6 +320,8 @@ #define E1000_RXCSUM_IPPCSE 0x00001000 /* IP payload checksum enable */ /* Header split receive */ +#define E1000_RFCTL_NFSW_DIS 0x00000040 +#define E1000_RFCTL_NFSR_DIS 0x00000080 #define E1000_RFCTL_ACK_DIS 0x00001000 #define E1000_RFCTL_EXTEN 0x00008000 #define E1000_RFCTL_IPV6_EX_DIS 0x00010000 diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c index 54d03a0..8b5e157 100644 --- a/drivers/net/e1000e/ich8lan.c +++ b/drivers/net/e1000e/ich8lan.c @@ -2740,6 +2740,16 @@ static void e1000_initialize_hw_bits_ich8lan(struct e1000_hw *hw) reg &= ~(1 << 31); ew32(STATUS, reg); } + + /* + * work-around descriptor data corruption issue during nfs v2 udp + * traffic, just disable the nfs filtering capability + */ + reg = er32(RFCTL); + reg |= (E1000_RFCTL_NFSW_DIS | E1000_RFCTL_NFSR_DIS); + ew32(RFCTL, reg); + + return; } /** -- cgit v0.10.2 From 3a22813a5aaf8e8c72be575dabe0ba26f9352f4d Mon Sep 17 00:00:00 2001 From: Breno Leitao Date: Thu, 4 Mar 2010 10:40:44 +0000 Subject: s2io: Fixing debug message Currently s2io is dumping debug messages using the interface name before it was allocated, showing a message like the following: s2io: eth%d: Ring Mem PHY: 0x7ef80000 s2io: s2io_reset: Resetting XFrame card eth%d This patch just fixes it, printing the pci bus information for the card instead of the interface name. Signed-off-by: Breno Leitao Signed-off-by: David S. Miller diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 43bc66a..df70657 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -923,8 +923,8 @@ static int init_shared_mem(struct s2io_nic *nic) tmp_v_addr = mac_control->stats_mem; mac_control->stats_info = (struct stat_block *)tmp_v_addr; memset(tmp_v_addr, 0, size); - DBG_PRINT(INIT_DBG, "%s: Ring Mem PHY: 0x%llx\n", dev->name, - (unsigned long long)tmp_p_addr); + DBG_PRINT(INIT_DBG, "%s: Ring Mem PHY: 0x%llx\n", + dev_name(&nic->pdev->dev), (unsigned long long)tmp_p_addr); mac_control->stats_info->sw_stat.mem_allocated += mem_allocated; return SUCCESS; } @@ -3480,7 +3480,7 @@ static void s2io_reset(struct s2io_nic *sp) struct swStat *swstats; DBG_PRINT(INIT_DBG, "%s: Resetting XFrame card %s\n", - __func__, sp->dev->name); + __func__, pci_name(sp->pdev)); /* Back up the PCI-X CMD reg, dont want to lose MMRBC, OST settings */ pci_read_config_word(sp->pdev, PCIX_COMMAND_REGISTER, &(pci_cmd)); -- cgit v0.10.2 From 801c29fd1fdeb84f60241beb445ff5db154450ae Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 5 Mar 2010 20:02:19 -0500 Subject: function-graph: Fix unused reference to ftrace_set_func() The declaration of ftrace_set_func() is at the start of the ftrace.c file and wrapped with a #ifdef CONFIG_FUNCTION_GRAPH condition. If function graph tracing is enabled but CONFIG_DYNAMIC_FTRACE is not, a warning about that function being declared static and unused is given. This really should have been placed within the CONFIG_FUNCTION_GRAPH condition that uses ftrace_set_func(). Moving the declaration down fixes the warning and makes the code cleaner. Reported-by: Peter Zijlstra Signed-off-by: Steven Rostedt diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index d996353..d0407c9 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -85,10 +85,6 @@ ftrace_func_t ftrace_trace_function __read_mostly = ftrace_stub; ftrace_func_t __ftrace_trace_function __read_mostly = ftrace_stub; ftrace_func_t ftrace_pid_function __read_mostly = ftrace_stub; -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -static int ftrace_set_func(unsigned long *array, int *idx, char *buffer); -#endif - static void ftrace_list_func(unsigned long ip, unsigned long parent_ip) { struct ftrace_ops *op = ftrace_list; @@ -2300,6 +2296,8 @@ __setup("ftrace_filter=", set_ftrace_filter); #ifdef CONFIG_FUNCTION_GRAPH_TRACER static char ftrace_graph_buf[FTRACE_FILTER_SIZE] __initdata; +static int ftrace_set_func(unsigned long *array, int *idx, char *buffer); + static int __init set_graph_function(char *str) { strlcpy(ftrace_graph_buf, str, FTRACE_FILTER_SIZE); -- cgit v0.10.2 From a094fe04c751698a18c3a0d376a3bdb117f1e0d8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 5 Mar 2010 20:08:58 -0500 Subject: function-graph: Use comment notation for func names of dangling '}' When a '}' does not have a matching function start, the name is printed within parenthesis. But this makes it confusing between ending '}' and function starts. This patch makes the function name appear in C comment notation. Old view: 3) 1.281 us | } (might_fault) 3) 3.620 us | } (filldir) 3) 5.251 us | } (call_filldir) 3) | call_filldir() { 3) | filldir() { New view: 3) 1.281 us | } /* might_fault */ 3) 3.620 us | } /* filldir */ 3) 5.251 us | } /* call_filldir */ 3) | call_filldir() { 3) | filldir() { Requested-by: Ingo Molnar Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index e998a82..7b1f246 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -920,7 +920,7 @@ print_graph_return(struct ftrace_graph_ret *trace, struct trace_seq *s, if (!ret) return TRACE_TYPE_PARTIAL_LINE; } else { - ret = trace_seq_printf(s, "} (%ps)\n", (void *)trace->func); + ret = trace_seq_printf(s, "} /* %ps */\n", (void *)trace->func); if (!ret) return TRACE_TYPE_PARTIAL_LINE; } -- cgit v0.10.2 From 1acaa1b2d9b5904c9cce06122990a2d71046ce16 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Fri, 5 Mar 2010 18:23:50 -0300 Subject: tracing: Update the comm field in the right variable in update_max_tr The latency output showed: # | task: -3 (uid:0 nice:0 policy:1 rt_prio:99) The comm is missing in the "task:" and it looks like a minus 3 is the output. The correct display should be: # | task: migration/0-3 (uid:0 nice:0 policy:1 rt_prio:99) The problem is that the comm is being stored in the wrong data structure. The max_tr.data[cpu] is what stores the comm, not the tr->data[cpu]. Before this patch the max_tr.data[cpu]->comm was zeroed and the /debug/trace ended up showing just the '-' sign followed by the pid. Also remove a needless initialization of max_data. Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1267824230-23861-1-git-send-email-acme@infradead.org> Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 032c57c..6efd5cb 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -592,7 +592,7 @@ static void __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu) { struct trace_array_cpu *data = tr->data[cpu]; - struct trace_array_cpu *max_data = tr->data[cpu]; + struct trace_array_cpu *max_data; max_tr.cpu = cpu; max_tr.time_start = data->preempt_timestamp; @@ -602,7 +602,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu) max_data->critical_start = data->critical_start; max_data->critical_end = data->critical_end; - memcpy(data->comm, tsk->comm, TASK_COMM_LEN); + memcpy(max_data->comm, tsk->comm, TASK_COMM_LEN); max_data->pid = tsk->pid; max_data->uid = task_uid(tsk); max_data->nice = tsk->static_prio - 20 - MAX_RT_PRIO; -- cgit v0.10.2 From 0e95017355dcf43031da6d0e360a748717e56df1 Mon Sep 17 00:00:00 2001 From: Tim Bird Date: Thu, 25 Feb 2010 15:36:43 -0800 Subject: function-graph: Add tracing_thresh support to function_graph tracer Add support for tracing_thresh to the function_graph tracer. This version of this feature isolates the checks into new entry and return functions, to avoid adding more conditional code into the main function_graph paths. When the tracing_thresh is set and the function graph tracer is enabled, only the functions that took longer than the time in microseconds that was set in tracing_thresh are recorded. To do this efficiently, only the function exits are recorded: [tracing]# echo 100 > tracing_thresh [tracing]# echo function_graph > current_tracer [tracing]# cat trace # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 1) ! 119.214 us | } /* smp_apic_timer_interrupt */ 1) <========== | 0) ! 101.527 us | } /* __rcu_process_callbacks */ 0) ! 126.461 us | } /* rcu_process_callbacks */ 0) ! 145.111 us | } /* __do_softirq */ 0) ! 149.667 us | } /* do_softirq */ 0) ! 168.817 us | } /* irq_exit */ 0) ! 248.254 us | } /* smp_apic_timer_interrupt */ Also, add support for specifying tracing_thresh on the kernel command line. When used like so: "tracing_thresh=200 ftrace=function_graph" this can be used to analyse system startup. It is important to disable tracing soon after boot, in order to avoid losing the trace data. Acked-by: Frederic Weisbecker Signed-off-by: Tim Bird LKML-Reference: <4B87098B.4040308@am.sony.com> Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 6efd5cb..ababedb 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -374,6 +374,21 @@ static int __init set_buf_size(char *str) } __setup("trace_buf_size=", set_buf_size); +static int __init set_tracing_thresh(char *str) +{ + unsigned long threshhold; + int ret; + + if (!str) + return 0; + ret = strict_strtoul(str, 0, &threshhold); + if (ret < 0) + return 0; + tracing_thresh = threshhold * 1000; + return 1; +} +__setup("tracing_thresh=", set_tracing_thresh); + unsigned long nsecs_to_usecs(unsigned long nsecs) { return nsecs / 1000; @@ -579,9 +594,10 @@ static ssize_t trace_seq_to_buffer(struct trace_seq *s, void *buf, size_t cnt) static arch_spinlock_t ftrace_max_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; +unsigned long __read_mostly tracing_thresh; + #ifdef CONFIG_TRACER_MAX_TRACE unsigned long __read_mostly tracing_max_latency; -unsigned long __read_mostly tracing_thresh; /* * Copy the new maximum trace into the separate maximum-trace @@ -4248,10 +4264,10 @@ static __init int tracer_init_debugfs(void) #ifdef CONFIG_TRACER_MAX_TRACE trace_create_file("tracing_max_latency", 0644, d_tracer, &tracing_max_latency, &tracing_max_lat_fops); +#endif trace_create_file("tracing_thresh", 0644, d_tracer, &tracing_thresh, &tracing_max_lat_fops); -#endif trace_create_file("README", 0444, d_tracer, NULL, &tracing_readme_fops); diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index fd05bca..1bc8cd1 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -396,9 +396,10 @@ extern int process_new_ksym_entry(char *ksymname, int op, unsigned long addr); extern unsigned long nsecs_to_usecs(unsigned long nsecs); +extern unsigned long tracing_thresh; + #ifdef CONFIG_TRACER_MAX_TRACE extern unsigned long tracing_max_latency; -extern unsigned long tracing_thresh; void update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu); void update_max_tr_single(struct trace_array *tr, diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c index 7b1f246..e9df04b 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c @@ -237,6 +237,14 @@ int trace_graph_entry(struct ftrace_graph_ent *trace) return ret; } +int trace_graph_thresh_entry(struct ftrace_graph_ent *trace) +{ + if (tracing_thresh) + return 1; + else + return trace_graph_entry(trace); +} + static void __trace_graph_return(struct trace_array *tr, struct ftrace_graph_ret *trace, unsigned long flags, @@ -290,13 +298,26 @@ void set_graph_array(struct trace_array *tr) smp_mb(); } +void trace_graph_thresh_return(struct ftrace_graph_ret *trace) +{ + if (tracing_thresh && + (trace->rettime - trace->calltime < tracing_thresh)) + return; + else + trace_graph_return(trace); +} + static int graph_trace_init(struct trace_array *tr) { int ret; set_graph_array(tr); - ret = register_ftrace_graph(&trace_graph_return, - &trace_graph_entry); + if (tracing_thresh) + ret = register_ftrace_graph(&trace_graph_thresh_return, + &trace_graph_thresh_entry); + else + ret = register_ftrace_graph(&trace_graph_return, + &trace_graph_entry); if (ret) return ret; tracing_start_cmdline_record(); -- cgit v0.10.2 From b96b894c518bc7399e6b86b635b5e8cd7356a8e9 Mon Sep 17 00:00:00 2001 From: "Figo.zhang" Date: Fri, 5 Mar 2010 16:36:02 +0000 Subject: fix a race in ks8695_poll fix a race at the end of NAPI processing in ks8695_poll() function. Signed-off-by:Figo.zhang Signed-off-by: David S. Miller diff --git a/drivers/net/arm/ks8695net.c b/drivers/net/arm/ks8695net.c index 8ca6391..a1d4188 100644 --- a/drivers/net/arm/ks8695net.c +++ b/drivers/net/arm/ks8695net.c @@ -575,9 +575,9 @@ static int ks8695_poll(struct napi_struct *napi, int budget) if (work_done < budget) { unsigned long flags; spin_lock_irqsave(&ksp->rx_lock, flags); + __napi_complete(napi); /*enable rx interrupt*/ writel(isr | mask_bit, KS8695_IRQ_VA + KS8695_INTEN); - __napi_complete(napi); spin_unlock_irqrestore(&ksp->rx_lock, flags); } return work_done; -- cgit v0.10.2 From 02a780c014c40973cbe71d04cec7a24e6629995f Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sat, 6 Mar 2010 01:14:09 +0000 Subject: bridge: cleanup: remove unneed check We dereference "port" on the lines immediately before and immediately after the test so port should hopefully never be null here. Signed-off-by: Dan Carpenter Signed-off-by: Herbert Xu Signed-off-by: David S. Miller diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 2559fb5..8b25887 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -627,8 +627,8 @@ static void br_multicast_port_query_expired(unsigned long data) struct net_bridge *br = port->br; spin_lock(&br->multicast_lock); - if (port && (port->state == BR_STATE_DISABLED || - port->state == BR_STATE_BLOCKING)) + if (port->state == BR_STATE_DISABLED || + port->state == BR_STATE_BLOCKING) goto out; if (port->multicast_startup_queries_sent < -- cgit v0.10.2 From ea3fb371b2a391958670f2a65e1203f7dba61671 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sat, 6 Mar 2010 01:11:38 +0000 Subject: ems_usb: cleanup: remove uneeded check "skb" is alway non-null here, but even if it were null the check isn't needed because dev_kfree_skb() can handle it. This eliminates a smatch warning about dereferencing a variable before checking that it is non-null. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index 11c8784..3345109 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c @@ -876,9 +876,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne return NETDEV_TX_OK; nomem: - if (skb) - dev_kfree_skb(skb); - + dev_kfree_skb(skb); stats->tx_dropped++; return NETDEV_TX_OK; -- cgit v0.10.2 From 72150e9b7fec217fbd646a29ea2f65a3d4d55ea9 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sat, 6 Mar 2010 01:04:45 +0000 Subject: sock.c: potential null dereference We test that "prot->rsk_prot" is non-null right before we dereference it on this line. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller diff --git a/net/core/sock.c b/net/core/sock.c index 61a65a2..c5812bb 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -2288,7 +2288,8 @@ out_free_request_sock_slab: prot->rsk_prot->slab = NULL; } out_free_request_sock_slab_name: - kfree(prot->rsk_prot->slab_name); + if (prot->rsk_prot) + kfree(prot->rsk_prot->slab_name); out_free_sock_slab: kmem_cache_destroy(prot->slab); prot->slab = NULL; -- cgit v0.10.2 From 0e2b807234c42fab59f98ec913db30dfda0e63a7 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sun, 7 Mar 2010 02:35:42 +0000 Subject: irda-usb: add error handling and fix leak If the call to kcalloc() fails then we should return -ENOMEM. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index e8e33bb..2c9b3af 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c @@ -1651,6 +1651,8 @@ static int irda_usb_probe(struct usb_interface *intf, self->rx_urb = kcalloc(self->max_rx_urb, sizeof(struct urb *), GFP_KERNEL); + if (!self->rx_urb) + goto err_free_net; for (i = 0; i < self->max_rx_urb; i++) { self->rx_urb[i] = usb_alloc_urb(0, GFP_KERNEL); @@ -1783,6 +1785,8 @@ err_out_2: err_out_1: for (i = 0; i < self->max_rx_urb; i++) usb_free_urb(self->rx_urb[i]); + kfree(self->rx_urb); +err_free_net: free_netdev(net); err_out: return ret; -- cgit v0.10.2 From e7111eac8ebda724d1e4d9e6aaf4569744a584d5 Mon Sep 17 00:00:00 2001 From: Petko Manolov Date: Sun, 7 Mar 2010 06:10:01 +0000 Subject: another pegasus usb net device This one removes trailing whitespace in pegasus.h and more importantly adds new Pegasus compatible device. Signed-off-by: Julian Brown Signed-off-by: Petko Manolov Signed-off-by: David S. Miller diff --git a/drivers/net/usb/pegasus.h b/drivers/net/usb/pegasus.h index 5d02f02..b90d876 100644 --- a/drivers/net/usb/pegasus.h +++ b/drivers/net/usb/pegasus.h @@ -177,7 +177,7 @@ PEGASUS_DEV( "USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x400c, PEGASUS_DEV( "USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0xabc1, DEFAULT_GPIO_RESET ) PEGASUS_DEV( "USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x200c, - DEFAULT_GPIO_RESET | PEGASUS_II ) + DEFAULT_GPIO_RESET | PEGASUS_II ) PEGASUS_DEV( "Accton USB 10/100 Ethernet Adapter", VENDOR_ACCTON, 0x1046, DEFAULT_GPIO_RESET ) PEGASUS_DEV( "SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046, @@ -208,6 +208,8 @@ PEGASUS_DEV( "Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100, */ PEGASUS_DEV_CLASS( "Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121, 0x00, DEFAULT_GPIO_RESET | PEGASUS_II ) +PEGASUS_DEV( "Belkin F5U122 10/100 USB Ethernet", VENDOR_BELKIN, 0x0122, + DEFAULT_GPIO_RESET | PEGASUS_II ) PEGASUS_DEV( "Billionton USB-100", VENDOR_BILLIONTON, 0x0986, DEFAULT_GPIO_RESET ) PEGASUS_DEV( "Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987, @@ -249,7 +251,7 @@ PEGASUS_DEV( "GIGABYTE GN-BR402W Wireless Router", VENDOR_GIGABYTE, 0x8002, PEGASUS_DEV( "Hawking UF100 10/100 Ethernet", VENDOR_HAWKING, 0x400c, DEFAULT_GPIO_RESET | PEGASUS_II ) PEGASUS_DEV( "HP hn210c Ethernet USB", VENDOR_HP, 0x811c, - DEFAULT_GPIO_RESET | PEGASUS_II ) + DEFAULT_GPIO_RESET | PEGASUS_II ) PEGASUS_DEV( "IO DATA USB ET/TX", VENDOR_IODATA, 0x0904, DEFAULT_GPIO_RESET ) PEGASUS_DEV( "IO DATA USB ET/TX-S", VENDOR_IODATA, 0x0913, -- cgit v0.10.2 From 8d15d3864a733476931f7e0b3d82824cddc766c2 Mon Sep 17 00:00:00 2001 From: Oliver Hartkopp Date: Sat, 6 Mar 2010 08:31:50 +0000 Subject: MAINTAINER: Correct CAN Maintainer responsibilities and paths Update the CAN Maintainer responsibilities and add source paths. Additional the SocketCAN core ML is not subscribers-only anymore. Signed-off-by: Oliver Hartkopp Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller diff --git a/MAINTAINERS b/MAINTAINERS index dad4f57..66418dd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1372,20 +1372,28 @@ F: arch/x86/include/asm/calgary.h F: arch/x86/include/asm/tce.h CAN NETWORK LAYER -M: Urs Thuermann +M: Oliver Hartkopp M: Oliver Hartkopp -L: socketcan-core@lists.berlios.de (subscribers-only) +M: Urs Thuermann +L: socketcan-core@lists.berlios.de W: http://developer.berlios.de/projects/socketcan/ S: Maintained -F: drivers/net/can/ -F: include/linux/can/ +F: net/can/ F: include/linux/can.h +F: include/linux/can/core.h +F: include/linux/can/bcm.h +F: include/linux/can/raw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger -L: socketcan-core@lists.berlios.de (subscribers-only) +L: socketcan-core@lists.berlios.de W: http://developer.berlios.de/projects/socketcan/ S: Maintained +F: drivers/net/can/ +F: include/linux/can/dev.h +F: include/linux/can/error.h +F: include/linux/can/netlink.h +F: include/linux/can/platform/ CELL BROADBAND ENGINE ARCHITECTURE M: Arnd Bergmann -- cgit v0.10.2 From 30765d0502905a9248e5de72fc7ac83c23422861 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 7 Mar 2010 00:55:26 +0000 Subject: cpmac: fix the receiving of 802.1q frames Despite what the comment above CPMAC_SKB_SIZE says, the hardware also needs to account for the FCS length in a received frame. This patch fix the receiving of 802.1q frames which have 4 more bytes. While at it unhardcode the definition and use the one from if_vlan.h. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index 9d48942..55ee055 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -56,8 +57,8 @@ MODULE_PARM_DESC(debug_level, "Number of NETIF_MSG bits to enable"); MODULE_PARM_DESC(dumb_switch, "Assume switch is not connected to MDIO bus"); #define CPMAC_VERSION "0.5.1" -/* frame size + 802.1q tag */ -#define CPMAC_SKB_SIZE (ETH_FRAME_LEN + 4) +/* frame size + 802.1q tag + FCS size */ +#define CPMAC_SKB_SIZE (ETH_FRAME_LEN + ETH_FCS_LEN + VLAN_HLEN) #define CPMAC_QUEUES 8 /* Ethernet registers */ -- cgit v0.10.2 From 9fba1c31f4f3f9f860a4afee0b409cde27d06741 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 7 Mar 2010 00:55:47 +0000 Subject: cpmac: fallback to switch mode if no PHY chip found If we were unable to detect a PHY on any of the MDIO bus id we tried instead of bailing out with -ENODEV, assume the MAC is connected to a switch and use MDIO bus 0. This unbreaks quite a lot of devices out there whose switch cannot be detected. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index 55ee055..baeb5ba 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -1137,8 +1137,9 @@ static int __devinit cpmac_probe(struct platform_device *pdev) } if (phy_id == PHY_MAX_ADDR) { - dev_err(&pdev->dev, "no PHY present\n"); - return -ENODEV; + dev_err(&pdev->dev, "no PHY present, falling back to switch on MDIO bus 0\n"); + strncpy(mdio_bus_id, "0", MII_BUS_ID_SIZE); /* fixed phys bus */ + phy_id = pdev->id; } dev = alloc_etherdev_mq(sizeof(*priv), CPMAC_QUEUES); -- cgit v0.10.2 From 25dc27d17dc868aae78fd03bef3113cf586b12e5 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 7 Mar 2010 00:55:50 +0000 Subject: cpmac: bump version to 0.5.2 Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index baeb5ba..60777fd 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -56,7 +56,7 @@ module_param(dumb_switch, int, 0444); MODULE_PARM_DESC(debug_level, "Number of NETIF_MSG bits to enable"); MODULE_PARM_DESC(dumb_switch, "Assume switch is not connected to MDIO bus"); -#define CPMAC_VERSION "0.5.1" +#define CPMAC_VERSION "0.5.2" /* frame size + 802.1q tag + FCS size */ #define CPMAC_SKB_SIZE (ETH_FRAME_LEN + ETH_FCS_LEN + VLAN_HLEN) #define CPMAC_QUEUES 8 -- cgit v0.10.2 From 0c9a2ac1f8a2e55b3382dfc27256878a58ea49e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?YOSHIFUJI=20Hideaki=20/=20=E5=90=89=E8=97=A4=E8=8B=B1?= =?UTF-8?q?=E6=98=8E?= Date: Sun, 7 Mar 2010 00:14:44 +0000 Subject: ipv6: Optmize translation between IPV6_PREFER_SRC_xxx and RT6_LOOKUP_F_xxx. IPV6_PREFER_SRC_xxx definitions: | #define IPV6_PREFER_SRC_TMP 0x0001 | #define IPV6_PREFER_SRC_PUBLIC 0x0002 | #define IPV6_PREFER_SRC_COA 0x0004 RT6_LOOKUP_F_xxx definitions: | #define RT6_LOOKUP_F_SRCPREF_TMP 0x00000008 | #define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010 | #define RT6_LOOKUP_F_SRCPREF_COA 0x00000020 So, we can translate between these two groups by shift operation instead of multiple 'if's. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 4a808de..68f67836 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -37,6 +37,24 @@ struct route_info { #define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010 #define RT6_LOOKUP_F_SRCPREF_COA 0x00000020 +/* + * rt6_srcprefs2flags() and rt6_flags2srcprefs() translate + * between IPV6_ADDR_PREFERENCES socket option values + * IPV6_PREFER_SRC_TMP = 0x1 + * IPV6_PREFER_SRC_PUBLIC = 0x2 + * IPV6_PREFER_SRC_COA = 0x4 + * and above RT6_LOOKUP_F_SRCPREF_xxx flags. + */ +static inline int rt6_srcprefs2flags(unsigned int srcprefs) +{ + /* No need to bitmask because srcprefs have only 3 bits. */ + return srcprefs << 3; +} + +static inline unsigned int rt6_flags2srcprefs(int flags) +{ + return (flags >> 3) & 7; +} extern void ip6_route_input(struct sk_buff *skb); diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index 551882b..5e463c43 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -84,18 +84,11 @@ static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp, if ((rule->flags & FIB_RULE_FIND_SADDR) && r->src.plen && !(flags & RT6_LOOKUP_F_HAS_SADDR)) { struct in6_addr saddr; - unsigned int srcprefs = 0; - - if (flags & RT6_LOOKUP_F_SRCPREF_TMP) - srcprefs |= IPV6_PREFER_SRC_TMP; - if (flags & RT6_LOOKUP_F_SRCPREF_PUBLIC) - srcprefs |= IPV6_PREFER_SRC_PUBLIC; - if (flags & RT6_LOOKUP_F_SRCPREF_COA) - srcprefs |= IPV6_PREFER_SRC_COA; if (ipv6_dev_get_saddr(net, ip6_dst_idev(&rt->u.dst)->dev, - &flp->fl6_dst, srcprefs, + &flp->fl6_dst, + rt6_flags2srcprefs(flags), &saddr)) goto again; if (!ipv6_prefix_equal(&saddr, &r->src.addr, diff --git a/net/ipv6/route.c b/net/ipv6/route.c index b08879e..52cd3ef 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -819,15 +819,8 @@ struct dst_entry * ip6_route_output(struct net *net, struct sock *sk, if (!ipv6_addr_any(&fl->fl6_src)) flags |= RT6_LOOKUP_F_HAS_SADDR; - else if (sk) { - unsigned int prefs = inet6_sk(sk)->srcprefs; - if (prefs & IPV6_PREFER_SRC_TMP) - flags |= RT6_LOOKUP_F_SRCPREF_TMP; - if (prefs & IPV6_PREFER_SRC_PUBLIC) - flags |= RT6_LOOKUP_F_SRCPREF_PUBLIC; - if (prefs & IPV6_PREFER_SRC_COA) - flags |= RT6_LOOKUP_F_SRCPREF_COA; - } + else if (sk) + flags |= rt6_srcprefs2flags(inet6_sk(sk)->srcprefs); return fib6_rule_lookup(net, fl, flags, ip6_pol_route_output); } -- cgit v0.10.2 From 49f5fcfd4ac3df24aa66520e1c5f37db5dfa8c10 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 5 Mar 2010 21:07:39 +0000 Subject: bridge: Use RCU list primitive in __br_mdb_ip_get As Paul McKenney correctly pointed out, __br_mdb_ip_get needs to use the RCU list walking primitive in order to work correctly on platforms where data-dependency ordering is not guaranteed. Reported-by: Paul E. McKenney Signed-off-by: Herbert Xu Signed-off-by: David S. Miller diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 8b25887..a1ffe15 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -38,7 +38,7 @@ static struct net_bridge_mdb_entry *__br_mdb_ip_get( struct net_bridge_mdb_entry *mp; struct hlist_node *p; - hlist_for_each_entry(mp, p, &mdb->mhash[hash], hlist[mdb->ver]) { + hlist_for_each_entry_rcu(mp, p, &mdb->mhash[hash], hlist[mdb->ver]) { if (dst == mp->addr) return mp; } -- cgit v0.10.2 From 10cc2b50eb4b01ca4dc014af2094d28b4ebe20d7 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 5 Mar 2010 21:03:35 +0000 Subject: bridge: Fix RCU race in br_multicast_stop Thanks to Paul McKenny for pointing out that it is incorrect to use synchronize_rcu_bh to ensure that pending callbacks have completed. Instead we should use rcu_barrier_bh. Reported-by: Paul E. McKenney Signed-off-by: Herbert Xu Signed-off-by: David S. Miller diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index a1ffe15..12ce1ea 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1135,7 +1135,7 @@ void br_multicast_stop(struct net_bridge *br) if (mdb->old) { spin_unlock_bh(&br->multicast_lock); - synchronize_rcu_bh(); + rcu_barrier_bh(); spin_lock_bh(&br->multicast_lock); WARN_ON(mdb->old); } -- cgit v0.10.2 From 50ae0aa8f55813b2cc5e5b7f589f328b8fcd45ec Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 8 Mar 2010 12:09:59 +0100 Subject: ALSA: hda - Fix wrong model range check for ALC268 Fix a wrong value passed to snd_hda_check_board_codec_sid_config() as the upper-limit in parse_alc268(), so that any wrong value can't be passed. So far, no bogus value was set in the quirk entries, so this won't give any behavioral changes. Signed-off-by: Takashi Iwai diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 5d2fbb8..dcd8a2c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -13201,7 +13201,7 @@ static int patch_alc268(struct hda_codec *codec) if (board_config < 0 || board_config >= ALC268_MODEL_LAST) board_config = snd_hda_check_board_codec_sid_config(codec, - ALC882_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl); + ALC268_MODEL_LAST, alc268_models, alc268_ssid_cfg_tbl); if (board_config < 0 || board_config >= ALC268_MODEL_LAST) { printk(KERN_INFO "hda_codec: %s: BIOS auto-probing.\n", -- cgit v0.10.2 From 5311114d4867113c00f78829d4ce14be458ec925 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 8 Mar 2010 12:13:07 +0100 Subject: ALSA: hda - Fix input source elements of secondary ADCs on Realtek Since alc_auto_create_input_ctls() doesn't set the elements for the secondary ADCs, "Input Source" elemtns for these also get empty, resulting in buggy outputs of alsactl like: control.14 { comment.access 'read write' comment.type ENUMERATED comment.count 1 iface MIXER name 'Input Source' index 1 value 0 } This patch fixes alc_mux_enum_*() (and others) to fall back to the first entry if the secondary input mux is empty. Signed-off-by: Takashi Iwai Cc: diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index dcd8a2c..3a83719 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -411,6 +411,8 @@ static int alc_mux_enum_info(struct snd_kcontrol *kcontrol, unsigned int mux_idx = snd_ctl_get_ioffidx(kcontrol, &uinfo->id); if (mux_idx >= spec->num_mux_defs) mux_idx = 0; + if (!spec->input_mux[mux_idx].num_items && mux_idx > 0) + mux_idx = 0; return snd_hda_input_mux_info(&spec->input_mux[mux_idx], uinfo); } @@ -439,6 +441,8 @@ static int alc_mux_enum_put(struct snd_kcontrol *kcontrol, mux_idx = adc_idx >= spec->num_mux_defs ? 0 : adc_idx; imux = &spec->input_mux[mux_idx]; + if (!imux->num_items && mux_idx > 0) + imux = &spec->input_mux[0]; type = get_wcaps_type(get_wcaps(codec, nid)); if (type == AC_WID_AUD_MIX) { @@ -10105,6 +10109,8 @@ static void alc882_auto_init_input_src(struct hda_codec *codec) continue; mux_idx = c >= spec->num_mux_defs ? 0 : c; imux = &spec->input_mux[mux_idx]; + if (!imux->num_items && mux_idx > 0) + imux = &spec->input_mux[0]; for (idx = 0; idx < conns; idx++) { /* if the current connection is the selected one, * unmute it as default - otherwise mute it -- cgit v0.10.2 From 89c0ac7cab2440a771ba1e2ab953186bc9c29786 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Mon, 8 Mar 2010 09:32:42 -0800 Subject: sound: fix opti92x-ad1848 build Fix 'else' placement in ifdef block so that build succeeds: sound/isa/opti9xx/opti92x-ad1848.c:221: error: 'else' without a previous 'if' Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index becd90d..4d2d040 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c @@ -217,8 +217,9 @@ static int __devinit snd_opti9xx_init(struct snd_opti9xx *chip, if (isapnp && chip->mc_base) /* PnP resource gives the least 10 bits */ chip->mc_base |= 0xc00; + else #endif /* CONFIG_PNP */ - else { + { chip->mc_base = 0xf8c; chip->mc_base_size = opti9xx_mc_size[hardware]; } -- cgit v0.10.2 From 4045635318538d3ddd2007720412fdc4b08f6a62 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Sun, 7 Mar 2010 16:21:39 +0000 Subject: net: add __must_check to sk_add_backlog Add the "__must_check" tag to sk_add_backlog() so that any failure to check and drop packets will be warned about. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller diff --git a/include/net/sock.h b/include/net/sock.h index 170353d..092b055 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -604,7 +604,7 @@ static inline void __sk_add_backlog(struct sock *sk, struct sk_buff *skb) } /* The per-socket spinlock must be held here. */ -static inline int sk_add_backlog(struct sock *sk, struct sk_buff *skb) +static inline __must_check int sk_add_backlog(struct sock *sk, struct sk_buff *skb) { if (sk->sk_backlog.len >= max(sk->sk_backlog.limit, sk->sk_rcvbuf << 1)) return -ENOBUFS; -- cgit v0.10.2 From 6cce09f87a04797fae5b947ef2626c14a78f0b49 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Sun, 7 Mar 2010 23:21:57 +0000 Subject: tcp: Add SNMP counters for backlog and min_ttl drops Commit 6b03a53a (tcp: use limited socket backlog) added the possibility of dropping frames when backlog queue is full. Commit d218d111 (tcp: Generalized TTL Security Mechanism) added the possibility of dropping frames when TTL is under a given limit. This patch adds new SNMP MIB entries, named TCPBacklogDrop and TCPMinTTLDrop, published in /proc/net/netstat in TcpExt: line netstat -s | egrep "TCPBacklogDrop|TCPMinTTLDrop" TCPBacklogDrop: 0 TCPMinTTLDrop: 0 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/include/linux/snmp.h b/include/linux/snmp.h index e28f5a0..4435d10 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h @@ -225,6 +225,8 @@ enum LINUX_MIB_SACKSHIFTED, LINUX_MIB_SACKMERGED, LINUX_MIB_SACKSHIFTFALLBACK, + LINUX_MIB_TCPBACKLOGDROP, + LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */ __LINUX_MIB_MAX }; diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 242ed23..4f1f337 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -249,6 +249,8 @@ static const struct snmp_mib snmp4_net_list[] = { SNMP_MIB_ITEM("TCPSackShifted", LINUX_MIB_SACKSHIFTED), SNMP_MIB_ITEM("TCPSackMerged", LINUX_MIB_SACKMERGED), SNMP_MIB_ITEM("TCPSackShiftFallback", LINUX_MIB_SACKSHIFTFALLBACK), + SNMP_MIB_ITEM("TCPBacklogDrop", LINUX_MIB_TCPBACKLOGDROP), + SNMP_MIB_ITEM("TCPMinTTLDrop", LINUX_MIB_TCPMINTTLDROP), SNMP_MIB_SENTINEL }; diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 1915f7d..8d51d39 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1651,8 +1651,10 @@ int tcp_v4_rcv(struct sk_buff *skb) if (!sk) goto no_tcp_socket; - if (iph->ttl < inet_sk(sk)->min_ttl) + if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { + NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP); goto discard_and_relse; + } process: if (sk->sk_state == TCP_TIME_WAIT) @@ -1682,8 +1684,9 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v4_do_rcv(sk, skb); } - } else if (sk_add_backlog(sk, skb)) { + } else if (unlikely(sk_add_backlog(sk, skb))) { bh_unlock_sock(sk); + NET_INC_STATS_BH(net, LINUX_MIB_TCPBACKLOGDROP); goto discard_and_relse; } bh_unlock_sock(sk); diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 2c378b1..9b6dbba 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1740,8 +1740,9 @@ process: if (!tcp_prequeue(sk, skb)) ret = tcp_v6_do_rcv(sk, skb); } - } else if (sk_add_backlog(sk, skb)) { + } else if (unlikely(sk_add_backlog(sk, skb))) { bh_unlock_sock(sk); + NET_INC_STATS_BH(net, LINUX_MIB_TCPBACKLOGDROP); goto discard_and_relse; } bh_unlock_sock(sk); -- cgit v0.10.2 From 500ca9ba241304937c54c379e515b24400379353 Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Sun, 7 Mar 2010 14:21:27 +0000 Subject: be2net: remove usage of be_pci_func When PCI functions are virtuialized in applications by assigning PCI functions to VM (PCI passthrough), the be2net driver in the VM sees a different function number. So, use of PCI function number in any calculation will break existing code. This patch takes care of it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h index be81fb2..8f07525 100644 --- a/drivers/net/benet/be.h +++ b/drivers/net/benet/be.h @@ -290,11 +290,6 @@ extern const struct ethtool_ops be_ethtool_ops; #define drvr_stats(adapter) (&adapter->stats.drvr_stats) -static inline unsigned int be_pci_func(struct be_adapter *adapter) -{ - return PCI_FUNC(adapter->pdev->devfn); -} - #define BE_SET_NETDEV_OPS(netdev, ops) (netdev->netdev_ops = ops) #define PAGE_SHIFT_4K 12 diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index 4b1f805..c592153 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c @@ -465,8 +465,6 @@ int be_cmd_eq_create(struct be_adapter *adapter, req->num_pages = cpu_to_le16(PAGES_4K_SPANNED(q_mem->va, q_mem->size)); - AMAP_SET_BITS(struct amap_eq_context, func, req->context, - be_pci_func(adapter)); AMAP_SET_BITS(struct amap_eq_context, valid, req->context, 1); /* 4byte eqe*/ AMAP_SET_BITS(struct amap_eq_context, size, req->context, 0); @@ -629,7 +627,6 @@ int be_cmd_cq_create(struct be_adapter *adapter, AMAP_SET_BITS(struct amap_cq_context, eventable, ctxt, 1); AMAP_SET_BITS(struct amap_cq_context, eqid, ctxt, eq->id); AMAP_SET_BITS(struct amap_cq_context, armed, ctxt, 1); - AMAP_SET_BITS(struct amap_cq_context, func, ctxt, be_pci_func(adapter)); be_dws_cpu_to_le(ctxt, sizeof(req->context)); be_cmd_page_addrs_prepare(req->pages, ARRAY_SIZE(req->pages), q_mem); @@ -678,7 +675,6 @@ int be_cmd_mccq_create(struct be_adapter *adapter, req->num_pages = PAGES_4K_SPANNED(q_mem->va, q_mem->size); - AMAP_SET_BITS(struct amap_mcc_context, fid, ctxt, be_pci_func(adapter)); AMAP_SET_BITS(struct amap_mcc_context, valid, ctxt, 1); AMAP_SET_BITS(struct amap_mcc_context, ring_size, ctxt, be_encoded_q_len(mccq->len)); @@ -727,8 +723,6 @@ int be_cmd_txq_create(struct be_adapter *adapter, AMAP_SET_BITS(struct amap_tx_context, tx_ring_size, ctxt, be_encoded_q_len(txq->len)); - AMAP_SET_BITS(struct amap_tx_context, pci_func_id, ctxt, - be_pci_func(adapter)); AMAP_SET_BITS(struct amap_tx_context, ctx_valid, ctxt, 1); AMAP_SET_BITS(struct amap_tx_context, cq_id_send, ctxt, cq->id); diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 22f787f..7c9b57e 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -1382,7 +1382,7 @@ rx_eq_free: /* There are 8 evt ids per func. Retruns the evt id's bit number */ static inline int be_evt_bit_get(struct be_adapter *adapter, u32 eq_id) { - return eq_id - 8 * be_pci_func(adapter); + return eq_id % 8; } static irqreturn_t be_intx(int irq, void *dev) -- cgit v0.10.2 From 7e8a9298adf7531c58d73ba9c499353e3807cf19 Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Sun, 7 Mar 2010 14:23:44 +0000 Subject: be2net: remove unused code in be_load_fw This patch cleans up some unused code from be_load_fw(). Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 7c9b57e..43e8032 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -1993,16 +1993,7 @@ int be_load_fw(struct be_adapter *adapter, u8 *func) struct be_dma_mem flash_cmd; int status, i = 0; const u8 *p; - char fw_ver[FW_VER_LEN]; - char fw_cfg; - status = be_cmd_get_fw_ver(adapter, fw_ver); - if (status) - return status; - - fw_cfg = *(fw_ver + 2); - if (fw_cfg == '0') - fw_cfg = '1'; strcpy(fw_file, func); status = request_firmware(&fw, fw_file, &adapter->pdev->dev); -- cgit v0.10.2 From 8bae5698616ac336938684ce7a7370299bd55d01 Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty Date: Mon, 8 Mar 2010 00:14:45 +0000 Subject: qlcnic: fix tx csum status Kernel default tx csum function (ethtool_op_get_tx_csum) doesn't show correct csum status. It takes various FLAGS (NETIF_F_ALL_CSUM) in account to show tx csum status, which driver doesn't set while disabling tx csum. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index 8da6ec8..ef12792 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -785,6 +785,11 @@ qlcnic_get_ethtool_stats(struct net_device *dev, } } +static u32 qlcnic_get_tx_csum(struct net_device *dev) +{ + return dev->features & NETIF_F_IP_CSUM; +} + static u32 qlcnic_get_rx_csum(struct net_device *dev) { struct qlcnic_adapter *adapter = netdev_priv(dev); @@ -995,6 +1000,7 @@ const struct ethtool_ops qlcnic_ethtool_ops = { .set_ringparam = qlcnic_set_ringparam, .get_pauseparam = qlcnic_get_pauseparam, .set_pauseparam = qlcnic_set_pauseparam, + .get_tx_csum = qlcnic_get_tx_csum, .set_tx_csum = ethtool_op_set_tx_csum, .set_sg = ethtool_op_set_sg, .get_tso = qlcnic_get_tso, -- cgit v0.10.2 From 8bfe8b91b8b877066c8ac788f59a40324eaac6d8 Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty Date: Mon, 8 Mar 2010 00:14:46 +0000 Subject: qlcnic: additional driver statistics. Statistics added for lro/lso bytes, count for tx stop queue and wake queue and skb alloc failure count. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h index b40a851..9897b69 100644 --- a/drivers/net/qlcnic/qlcnic.h +++ b/drivers/net/qlcnic/qlcnic.h @@ -423,6 +423,11 @@ struct qlcnic_adapter_stats { u64 lro_pkts; u64 rxbytes; u64 txbytes; + u64 lrobytes; + u64 lso_frames; + u64 xmit_on; + u64 xmit_off; + u64 skb_alloc_failure; }; /* diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index ef12792..f83e15f 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -59,6 +59,17 @@ static const struct qlcnic_stats qlcnic_gstrings_stats[] = { QLC_SIZEOF(stats.rxbytes), QLC_OFF(stats.rxbytes)}, {"tx_bytes", QLC_SIZEOF(stats.txbytes), QLC_OFF(stats.txbytes)}, + {"lrobytes", + QLC_SIZEOF(stats.lrobytes), QLC_OFF(stats.lrobytes)}, + {"lso_frames", + QLC_SIZEOF(stats.lso_frames), QLC_OFF(stats.lso_frames)}, + {"xmit_on", + QLC_SIZEOF(stats.xmit_on), QLC_OFF(stats.xmit_on)}, + {"xmit_off", + QLC_SIZEOF(stats.xmit_off), QLC_OFF(stats.xmit_off)}, + {"skb_alloc_failure", QLC_SIZEOF(stats.skb_alloc_failure), + QLC_OFF(stats.skb_alloc_failure)}, + }; #define QLCNIC_STATS_LEN ARRAY_SIZE(qlcnic_gstrings_stats) diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c index 99a4d13..e95646b 100644 --- a/drivers/net/qlcnic/qlcnic_hw.c +++ b/drivers/net/qlcnic/qlcnic_hw.c @@ -349,6 +349,7 @@ qlcnic_send_cmd_descs(struct qlcnic_adapter *adapter, if (nr_desc >= qlcnic_tx_avail(tx_ring)) { netif_tx_stop_queue(tx_ring->txq); __netif_tx_unlock_bh(tx_ring->txq); + adapter->stats.xmit_off++; return -EBUSY; } diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index ea00ab4..f0df971 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c @@ -1114,8 +1114,10 @@ qlcnic_alloc_rx_skb(struct qlcnic_adapter *adapter, struct pci_dev *pdev = adapter->pdev; buffer->skb = dev_alloc_skb(rds_ring->skb_size); - if (!buffer->skb) + if (!buffer->skb) { + adapter->stats.skb_alloc_failure++; return -ENOMEM; + } skb = buffer->skb; @@ -1289,7 +1291,7 @@ qlcnic_process_lro(struct qlcnic_adapter *adapter, netif_receive_skb(skb); adapter->stats.lro_pkts++; - adapter->stats.rxbytes += length; + adapter->stats.lrobytes += length; return buffer; } @@ -1505,6 +1507,8 @@ qlcnic_process_rcv_diag(struct qlcnic_adapter *adapter, adapter->diag_cnt++; dev_kfree_skb_any(skb); + adapter->stats.rx_pkts++; + adapter->stats.rxbytes += length; return buffer; } diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c index 665e8e5..fc72156 100644 --- a/drivers/net/qlcnic/qlcnic_main.c +++ b/drivers/net/qlcnic/qlcnic_main.c @@ -118,6 +118,7 @@ qlcnic_update_cmd_producer(struct qlcnic_adapter *adapter, if (qlcnic_tx_avail(tx_ring) <= TX_STOP_THRESH) { netif_stop_queue(adapter->netdev); smp_mb(); + adapter->stats.xmit_off++; } } @@ -1385,6 +1386,7 @@ qlcnic_tso_check(struct net_device *netdev, int copied, offset, copy_len, hdr_len = 0, tso = 0, vlan_oob = 0; struct cmd_desc_type0 *hwdesc; struct vlan_ethhdr *vh; + struct qlcnic_adapter *adapter = netdev_priv(netdev); if (protocol == cpu_to_be16(ETH_P_8021Q)) { @@ -1494,6 +1496,7 @@ qlcnic_tso_check(struct net_device *netdev, tx_ring->producer = producer; barrier(); + adapter->stats.lso_frames++; } static int @@ -1573,6 +1576,7 @@ qlcnic_xmit_frame(struct sk_buff *skb, struct net_device *netdev) if (unlikely(no_of_desc + 2 > qlcnic_tx_avail(tx_ring))) { netif_stop_queue(netdev); + adapter->stats.xmit_off++; return NETDEV_TX_BUSY; } @@ -1880,6 +1884,7 @@ static int qlcnic_process_cmd_ring(struct qlcnic_adapter *adapter) if (qlcnic_tx_avail(tx_ring) > TX_STOP_THRESH) { netif_wake_queue(netdev); adapter->tx_timeo_cnt = 0; + adapter->stats.xmit_on++; } __netif_tx_unlock(tx_ring->txq); } -- cgit v0.10.2 From 9ab17b3968f9521bb4fffd8767953d2b0148aad0 Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty Date: Mon, 8 Mar 2010 00:14:47 +0000 Subject: qlcnic: fix multicast handling For promiscuous mode, driver send request to device for deleting multicast addresses and again it send request for adding them back while exiting from this mode, this is bad for performance. Just setting device in promiscuous mode is enough, no need to del/add multicast addresses. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c index e95646b..da00e16 100644 --- a/drivers/net/qlcnic/qlcnic_hw.c +++ b/drivers/net/qlcnic/qlcnic_hw.c @@ -398,20 +398,16 @@ qlcnic_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, return qlcnic_send_cmd_descs(adapter, (struct cmd_desc_type0 *)&req, 1); } -static int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, - u8 *addr, struct list_head *del_list) +static int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, u8 *addr) { struct list_head *head; struct qlcnic_mac_list_s *cur; /* look up if already exists */ - list_for_each(head, del_list) { + list_for_each(head, &adapter->mac_list) { cur = list_entry(head, struct qlcnic_mac_list_s, list); - - if (memcmp(addr, cur->mac_addr, ETH_ALEN) == 0) { - list_move_tail(head, &adapter->mac_list); + if (memcmp(addr, cur->mac_addr, ETH_ALEN) == 0) return 0; - } } cur = kzalloc(sizeof(struct qlcnic_mac_list_s), GFP_ATOMIC); @@ -433,14 +429,9 @@ void qlcnic_set_multi(struct net_device *netdev) struct dev_mc_list *mc_ptr; u8 bcast_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; u32 mode = VPORT_MISS_MODE_DROP; - LIST_HEAD(del_list); - struct list_head *head; - struct qlcnic_mac_list_s *cur; - list_splice_tail_init(&adapter->mac_list, &del_list); - - qlcnic_nic_add_mac(adapter, adapter->mac_addr, &del_list); - qlcnic_nic_add_mac(adapter, bcast_addr, &del_list); + qlcnic_nic_add_mac(adapter, adapter->mac_addr); + qlcnic_nic_add_mac(adapter, bcast_addr); if (netdev->flags & IFF_PROMISC) { mode = VPORT_MISS_MODE_ACCEPT_ALL; @@ -455,22 +446,12 @@ void qlcnic_set_multi(struct net_device *netdev) if (!netdev_mc_empty(netdev)) { netdev_for_each_mc_addr(mc_ptr, netdev) { - qlcnic_nic_add_mac(adapter, mc_ptr->dmi_addr, - &del_list); + qlcnic_nic_add_mac(adapter, mc_ptr->dmi_addr); } } send_fw_cmd: qlcnic_nic_set_promisc(adapter, mode); - head = &del_list; - while (!list_empty(head)) { - cur = list_entry(head->next, struct qlcnic_mac_list_s, list); - - qlcnic_sre_macaddr_change(adapter, - cur->mac_addr, QLCNIC_MAC_DEL); - list_del(&cur->list); - kfree(cur); - } } int qlcnic_nic_set_promisc(struct qlcnic_adapter *adapter, u32 mode) -- cgit v0.10.2 From b7eff1007fea3d153a9a5c0f872304ec19412bbb Mon Sep 17 00:00:00 2001 From: Sucheta Chakraborty Date: Mon, 8 Mar 2010 00:14:48 +0000 Subject: qlcnic: validate unified fw image Validate all sections of unified fw image, before accessing them, to avoid seg fault. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index f0df971..21a6e9f 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c @@ -568,21 +568,123 @@ struct uni_table_desc *qlcnic_get_table_desc(const u8 *unirom, int section) return NULL; } +#define FILEHEADER_SIZE (14 * 4) + static int -qlcnic_set_product_offs(struct qlcnic_adapter *adapter) +qlcnic_validate_header(struct qlcnic_adapter *adapter) { - struct uni_table_desc *ptab_descr; const u8 *unirom = adapter->fw->data; - u32 i; + struct uni_table_desc *directory = (struct uni_table_desc *) &unirom[0]; + __le32 fw_file_size = adapter->fw->size; __le32 entries; + __le32 entry_size; + __le32 tab_size; + + if (fw_file_size < FILEHEADER_SIZE) + return -EINVAL; + + entries = cpu_to_le32(directory->num_entries); + entry_size = cpu_to_le32(directory->entry_size); + tab_size = cpu_to_le32(directory->findex) + (entries * entry_size); + + if (fw_file_size < tab_size) + return -EINVAL; + + return 0; +} + +static int +qlcnic_validate_bootld(struct qlcnic_adapter *adapter) +{ + struct uni_table_desc *tab_desc; + struct uni_data_desc *descr; + const u8 *unirom = adapter->fw->data; + int idx = cpu_to_le32(*((int *)&unirom[adapter->file_prd_off] + + QLCNIC_UNI_BOOTLD_IDX_OFF)); + __le32 offs; + __le32 tab_size; + __le32 data_size; + + tab_desc = qlcnic_get_table_desc(unirom, QLCNIC_UNI_DIR_SECT_BOOTLD); + + if (!tab_desc) + return -EINVAL; + + tab_size = cpu_to_le32(tab_desc->findex) + + (cpu_to_le32(tab_desc->entry_size * (idx + 1))); + + if (adapter->fw->size < tab_size) + return -EINVAL; + + offs = cpu_to_le32(tab_desc->findex) + + (cpu_to_le32(tab_desc->entry_size) * (idx)); + descr = (struct uni_data_desc *)&unirom[offs]; + + data_size = descr->findex + cpu_to_le32(descr->size); + + if (adapter->fw->size < data_size) + return -EINVAL; + + return 0; +} + +static int +qlcnic_validate_fw(struct qlcnic_adapter *adapter) +{ + struct uni_table_desc *tab_desc; + struct uni_data_desc *descr; + const u8 *unirom = adapter->fw->data; + int idx = cpu_to_le32(*((int *)&unirom[adapter->file_prd_off] + + QLCNIC_UNI_FIRMWARE_IDX_OFF)); + __le32 offs; + __le32 tab_size; + __le32 data_size; + + tab_desc = qlcnic_get_table_desc(unirom, QLCNIC_UNI_DIR_SECT_FW); + + if (!tab_desc) + return -EINVAL; + + tab_size = cpu_to_le32(tab_desc->findex) + + (cpu_to_le32(tab_desc->entry_size * (idx + 1))); + + if (adapter->fw->size < tab_size) + return -EINVAL; + + offs = cpu_to_le32(tab_desc->findex) + + (cpu_to_le32(tab_desc->entry_size) * (idx)); + descr = (struct uni_data_desc *)&unirom[offs]; + data_size = descr->findex + cpu_to_le32(descr->size); + + if (adapter->fw->size < data_size) + return -EINVAL; + + return 0; +} + +static int +qlcnic_validate_product_offs(struct qlcnic_adapter *adapter) +{ + struct uni_table_desc *ptab_descr; + const u8 *unirom = adapter->fw->data; int mn_present = qlcnic_has_mn(adapter); + __le32 entries; + __le32 entry_size; + __le32 tab_size; + u32 i; ptab_descr = qlcnic_get_table_desc(unirom, QLCNIC_UNI_DIR_SECT_PRODUCT_TBL); - if (ptab_descr == NULL) - return -1; + if (!ptab_descr) + return -EINVAL; entries = cpu_to_le32(ptab_descr->num_entries); + entry_size = cpu_to_le32(ptab_descr->entry_size); + tab_size = cpu_to_le32(ptab_descr->findex) + (entries * entry_size); + + if (adapter->fw->size < tab_size) + return -EINVAL; + nomn: for (i = 0; i < entries; i++) { @@ -609,7 +711,37 @@ nomn: mn_present = 0; goto nomn; } - return -1; + return -EINVAL; +} + +static int +qlcnic_validate_unified_romimage(struct qlcnic_adapter *adapter) +{ + if (qlcnic_validate_header(adapter)) { + dev_err(&adapter->pdev->dev, + "unified image: header validation failed\n"); + return -EINVAL; + } + + if (qlcnic_validate_product_offs(adapter)) { + dev_err(&adapter->pdev->dev, + "unified image: product validation failed\n"); + return -EINVAL; + } + + if (qlcnic_validate_bootld(adapter)) { + dev_err(&adapter->pdev->dev, + "unified image: bootld validation failed\n"); + return -EINVAL; + } + + if (qlcnic_validate_fw(adapter)) { + dev_err(&adapter->pdev->dev, + "unified image: firmware validation failed\n"); + return -EINVAL; + } + + return 0; } static @@ -858,7 +990,7 @@ qlcnic_validate_firmware(struct qlcnic_adapter *adapter) u8 fw_type = adapter->fw_type; if (fw_type == QLCNIC_UNIFIED_ROMIMAGE) { - if (qlcnic_set_product_offs(adapter)) + if (qlcnic_validate_unified_romimage(adapter)) return -EINVAL; min_size = QLCNIC_UNI_FW_MIN_SIZE; -- cgit v0.10.2 From addd5abf49be31787aeb6203d266e0bd31a3fadd Mon Sep 17 00:00:00 2001 From: Amit Kumar Salecha Date: Mon, 8 Mar 2010 00:14:49 +0000 Subject: qlcnic: fix bios version check Bios sub version from unified fw image is calculated incorrect. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c index 21a6e9f..7c34e4e 100644 --- a/drivers/net/qlcnic/qlcnic_init.c +++ b/drivers/net/qlcnic/qlcnic_init.c @@ -847,7 +847,7 @@ qlcnic_get_bios_version(struct qlcnic_adapter *adapter) bios_ver = cpu_to_le32(*((u32 *) (&fw->data[prd_off]) + QLCNIC_UNI_BIOS_VERSION_OFF)); - return (bios_ver << 24) + ((bios_ver >> 8) & 0xff00) + (bios_ver >> 24); + return (bios_ver << 16) + ((bios_ver >> 8) & 0xff00) + (bios_ver >> 24); } int -- cgit v0.10.2 From 1515faf2f995add976d4428bbc1583a4a0c81e5f Mon Sep 17 00:00:00 2001 From: Amit Kumar Salecha Date: Mon, 8 Mar 2010 00:14:50 +0000 Subject: qlcnic: remove extra space from board names Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h index 9897b69..0da94b2 100644 --- a/drivers/net/qlcnic/qlcnic.h +++ b/drivers/net/qlcnic/qlcnic.h @@ -1100,11 +1100,11 @@ struct qlcnic_brdinfo { static const struct qlcnic_brdinfo qlcnic_boards[] = { {0x1077, 0x8020, 0x1077, 0x203, - "8200 Series Single Port 10GbE Converged Network Adapter \ - (TCP/IP Networking)"}, + "8200 Series Single Port 10GbE Converged Network Adapter " + "(TCP/IP Networking)"}, {0x1077, 0x8020, 0x1077, 0x207, - "8200 Series Dual Port 10GbE Converged Network Adapter \ - (TCP/IP Networking)"}, + "8200 Series Dual Port 10GbE Converged Network Adapter " + "(TCP/IP Networking)"}, {0x1077, 0x8020, 0x1077, 0x20b, "3200 Series Dual Port 10Gb Intelligent Ethernet Adapter"}, {0x1077, 0x8020, 0x1077, 0x20c, -- cgit v0.10.2 From 9837638727488922727b0cfd438039fa73364183 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Mon, 8 Mar 2010 03:20:00 +0000 Subject: net: fix route cache rebuilds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We added an automatic route cache rebuilding in commit 1080d709fb9d8cd43 but had to correct few bugs. One of the assumption of original patch, was that entries where kept sorted in a given way. This assumption is known to be wrong (commit 1ddbcb005c395518 gave an explanation of this and corrected a leak) and expensive to respect. Paweł Staszewski reported to me one of his machine got its routing cache disabled after few messages like : [ 2677.850065] Route hash chain too long! [ 2677.850080] Adjust your secret_interval! [82839.662993] Route hash chain too long! [82839.662996] Adjust your secret_interval! [155843.731650] Route hash chain too long! [155843.731664] Adjust your secret_interval! [155843.811881] Route hash chain too long! [155843.811891] Adjust your secret_interval! [155843.858209] vlan0811: 5 rebuilds is over limit, route caching disabled [155843.858212] Route hash chain too long! [155843.858213] Adjust your secret_interval! This is because rt_intern_hash() might be fooled when computing a chain length, because multiple entries with same keys can differ because of TOS (or mark/oif) bits. In the rare case the fast algorithm see a too long chain, and before taking expensive path, we call a helper function in order to not count duplicates of same routes, that only differ with tos/mark/oif bits. This helper works with data already in cpu cache and is not be very expensive, despite its O(N^2) implementation. Paweł Staszewski sucessfully tested this patch on his loaded router. Reported-and-tested-by: Paweł Staszewski Signed-off-by: Eric Dumazet Acked-by: Neil Horman Signed-off-by: David S. Miller diff --git a/net/ipv4/route.c b/net/ipv4/route.c index b2ba558..d9b4024 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -146,7 +146,6 @@ static struct dst_entry *ipv4_negative_advice(struct dst_entry *dst); static void ipv4_link_failure(struct sk_buff *skb); static void ip_rt_update_pmtu(struct dst_entry *dst, u32 mtu); static int rt_garbage_collect(struct dst_ops *ops); -static void rt_emergency_hash_rebuild(struct net *net); static struct dst_ops ipv4_dst_ops = { @@ -780,11 +779,30 @@ static void rt_do_flush(int process_context) #define FRACT_BITS 3 #define ONE (1UL << FRACT_BITS) +/* + * Given a hash chain and an item in this hash chain, + * find if a previous entry has the same hash_inputs + * (but differs on tos, mark or oif) + * Returns 0 if an alias is found. + * Returns ONE if rth has no alias before itself. + */ +static int has_noalias(const struct rtable *head, const struct rtable *rth) +{ + const struct rtable *aux = head; + + while (aux != rth) { + if (compare_hash_inputs(&aux->fl, &rth->fl)) + return 0; + aux = aux->u.dst.rt_next; + } + return ONE; +} + static void rt_check_expire(void) { static unsigned int rover; unsigned int i = rover, goal; - struct rtable *rth, *aux, **rthp; + struct rtable *rth, **rthp; unsigned long samples = 0; unsigned long sum = 0, sum2 = 0; unsigned long delta; @@ -835,15 +853,7 @@ nofree: * attributes don't unfairly skew * the length computation */ - for (aux = rt_hash_table[i].chain;;) { - if (aux == rth) { - length += ONE; - break; - } - if (compare_hash_inputs(&aux->fl, &rth->fl)) - break; - aux = aux->u.dst.rt_next; - } + length += has_noalias(rt_hash_table[i].chain, rth); continue; } } else if (!rt_may_expire(rth, tmo, ip_rt_gc_timeout)) @@ -1073,6 +1083,21 @@ work_done: out: return 0; } +/* + * Returns number of entries in a hash chain that have different hash_inputs + */ +static int slow_chain_length(const struct rtable *head) +{ + int length = 0; + const struct rtable *rth = head; + + while (rth) { + length += has_noalias(head, rth); + rth = rth->u.dst.rt_next; + } + return length >> FRACT_BITS; +} + static int rt_intern_hash(unsigned hash, struct rtable *rt, struct rtable **rp, struct sk_buff *skb) { @@ -1185,7 +1210,8 @@ restart: rt_free(cand); } } else { - if (chain_length > rt_chain_length_max) { + if (chain_length > rt_chain_length_max && + slow_chain_length(rt_hash_table[hash].chain) > rt_chain_length_max) { struct net *net = dev_net(rt->u.dst.dev); int num = ++net->ipv4.current_rt_cache_rebuild_count; if (!rt_caching(dev_net(rt->u.dst.dev))) { -- cgit v0.10.2 From 77d3926306bf4eecac50150ba5625797219f14ba Mon Sep 17 00:00:00 2001 From: Meelis Roos Date: Mon, 8 Mar 2010 10:53:08 -0800 Subject: qlogicpti: Remove slash in QlogicPTI irq name qlogicpti driver registers its irq with a name containing slash. This results in [ 71.049735] WARNING: at fs/proc/generic.c:316 __xlate_proc_name+0xa8/0xb8() [ 71.132815] name 'Qlogic/PTI' because proc_mkdir with the name of the irq fails. Fix it by just removing the slash from irq name. Discovered and tested on real hardware (Sun Ultra 1). Signed-off-by: Meelis Roos Signed-off-by: David S. Miller diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c index fa34b92..1b82170 100644 --- a/drivers/scsi/qlogicpti.c +++ b/drivers/scsi/qlogicpti.c @@ -738,7 +738,7 @@ static int __devinit qpti_register_irq(struct qlogicpti *qpti) * sanely maintain. */ if (request_irq(qpti->irq, qpti_intr, - IRQF_SHARED, "Qlogic/PTI", qpti)) + IRQF_SHARED, "QlogicPTI", qpti)) goto fail; printk("qlogicpti%d: IRQ %d ", qpti->qpti_id, qpti->irq); -- cgit v0.10.2 From 28b2774a0d5852236dab77a4147b8b88548110f1 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Mon, 8 Mar 2010 11:32:01 -0800 Subject: tcp: Fix tcp_make_synack() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 4957faad (TCPCT part 1g: Responder Cookie => Initiator), part of TCP_COOKIE_TRANSACTION implementation, forgot to correctly size synack skb in case user data must be included. Many thanks to Mika Pentillä for spotting this error. Reported-by: Penttillä Mika Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 4a1605d..f181b78 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2395,13 +2395,17 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, struct tcp_extend_values *xvp = tcp_xv(rvp); struct inet_request_sock *ireq = inet_rsk(req); struct tcp_sock *tp = tcp_sk(sk); + const struct tcp_cookie_values *cvp = tp->cookie_values; struct tcphdr *th; struct sk_buff *skb; struct tcp_md5sig_key *md5; int tcp_header_size; int mss; + int s_data_desired = 0; - skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15, 1, GFP_ATOMIC); + if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired) + s_data_desired = cvp->s_data_desired; + skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC); if (skb == NULL) return NULL; @@ -2457,16 +2461,12 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, TCPCB_FLAG_SYN | TCPCB_FLAG_ACK); if (OPTION_COOKIE_EXTENSION & opts.options) { - const struct tcp_cookie_values *cvp = tp->cookie_values; - - if (cvp != NULL && - cvp->s_data_constant && - cvp->s_data_desired > 0) { - u8 *buf = skb_put(skb, cvp->s_data_desired); + if (s_data_desired) { + u8 *buf = skb_put(skb, s_data_desired); /* copy data directly from the listening socket. */ - memcpy(buf, cvp->s_data_payload, cvp->s_data_desired); - TCP_SKB_CB(skb)->end_seq += cvp->s_data_desired; + memcpy(buf, cvp->s_data_payload, s_data_desired); + TCP_SKB_CB(skb)->end_seq += s_data_desired; } if (opts.hash_size > 0) { -- cgit v0.10.2 From e9dcd1613f0ac0b3573b7d813a2c5672cd8302eb Mon Sep 17 00:00:00 2001 From: Barry Song Date: Mon, 8 Mar 2010 12:13:57 -0800 Subject: can: fix bfin_can build error after alloc_candev() change Looks like commit a6e4bc530403 didn't include updates to drivers so the Blackfin CAN driver fails to build now. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller diff --git a/drivers/net/can/bfin_can.c b/drivers/net/can/bfin_can.c index bf7f9ba..866905f 100644 --- a/drivers/net/can/bfin_can.c +++ b/drivers/net/can/bfin_can.c @@ -26,6 +26,7 @@ #define DRV_NAME "bfin_can" #define BFIN_CAN_TIMEOUT 100 +#define TX_ECHO_SKB_MAX 1 /* * transmit and receive channels @@ -593,7 +594,7 @@ struct net_device *alloc_bfin_candev(void) struct net_device *dev; struct bfin_can_priv *priv; - dev = alloc_candev(sizeof(*priv)); + dev = alloc_candev(sizeof(*priv), TX_ECHO_SKB_MAX); if (!dev) return NULL; -- cgit v0.10.2 From fc0b579168cbe737c83c6b9bbfe265d3ae6baca6 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 8 Mar 2010 12:15:28 -0800 Subject: net/sunrpc: Remove uses of NIPQUAD, use %pI4 Originally submitted Jan 1, 2010 http://patchwork.kernel.org/patch/71221/ Convert NIPQUAD to the %pI4 format extension where possible Convert %02x%02x%02x%02x/NIPQUAD to %08x/ntohl Signed-off-by: Joe Perches Signed-off-by: David S. Miller diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 7018eef..83d339f 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c @@ -165,8 +165,7 @@ xprt_rdma_format_addresses(struct rpc_xprt *xprt) xprt->address_strings[RPC_DISPLAY_PROTO] = "rdma"; - (void)snprintf(buf, sizeof(buf), "%02x%02x%02x%02x", - NIPQUAD(sin->sin_addr.s_addr)); + (void)snprintf(buf, sizeof(buf), "%08x", ntohl(sin->sin_addr.s_addr)); xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); (void)snprintf(buf, sizeof(buf), "%4hx", rpc_get_port(sap)); diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 3d739e5..86234bc 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -297,12 +297,11 @@ static void xs_format_common_peer_addresses(struct rpc_xprt *xprt) switch (sap->sa_family) { case AF_INET: sin = xs_addr_in(xprt); - (void)snprintf(buf, sizeof(buf), "%02x%02x%02x%02x", - NIPQUAD(sin->sin_addr.s_addr)); + snprintf(buf, sizeof(buf), "%08x", ntohl(sin->sin_addr.s_addr)); break; case AF_INET6: sin6 = xs_addr_in6(xprt); - (void)snprintf(buf, sizeof(buf), "%pi6", &sin6->sin6_addr); + snprintf(buf, sizeof(buf), "%pi6", &sin6->sin6_addr); break; default: BUG(); -- cgit v0.10.2 From 81160e66cca3d3a16b7d88e0e2dccfc5c76f36f9 Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Mon, 8 Mar 2010 12:15:59 -0800 Subject: net/sunrpc: Convert (void)snprintf to snprintf (Applies on top of "Remove uses of NIPQUAD, use %pI4") Casts to void of snprintf are most uncommon in kernel source. 9 use casts, 1301 do not. Remove the remaining uses in net/sunrpc/ Signed-off-by: Joe Perches Signed-off-by: David S. Miller diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 83d339f..f96c2fe 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c @@ -160,15 +160,15 @@ xprt_rdma_format_addresses(struct rpc_xprt *xprt) (void)rpc_ntop(sap, buf, sizeof(buf)); xprt->address_strings[RPC_DISPLAY_ADDR] = kstrdup(buf, GFP_KERNEL); - (void)snprintf(buf, sizeof(buf), "%u", rpc_get_port(sap)); + snprintf(buf, sizeof(buf), "%u", rpc_get_port(sap)); xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL); xprt->address_strings[RPC_DISPLAY_PROTO] = "rdma"; - (void)snprintf(buf, sizeof(buf), "%08x", ntohl(sin->sin_addr.s_addr)); + snprintf(buf, sizeof(buf), "%08x", ntohl(sin->sin_addr.s_addr)); xprt->address_strings[RPC_DISPLAY_HEX_ADDR] = kstrdup(buf, GFP_KERNEL); - (void)snprintf(buf, sizeof(buf), "%4hx", rpc_get_port(sap)); + snprintf(buf, sizeof(buf), "%4hx", rpc_get_port(sap)); xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); /* netid */ diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 86234bc..4f55ab7 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -314,10 +314,10 @@ static void xs_format_common_peer_ports(struct rpc_xprt *xprt) struct sockaddr *sap = xs_addr(xprt); char buf[128]; - (void)snprintf(buf, sizeof(buf), "%u", rpc_get_port(sap)); + snprintf(buf, sizeof(buf), "%u", rpc_get_port(sap)); xprt->address_strings[RPC_DISPLAY_PORT] = kstrdup(buf, GFP_KERNEL); - (void)snprintf(buf, sizeof(buf), "%4hx", rpc_get_port(sap)); + snprintf(buf, sizeof(buf), "%4hx", rpc_get_port(sap)); xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); } -- cgit v0.10.2 From f5c445ed4148434f142be0263a8ad7cb58503e8a Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Mon, 8 Mar 2010 12:17:04 -0800 Subject: ethtool: Use noinline_for_stack Use self documenting noinline_for_stack instead of duplicated comments. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 33d2ded..f4cb6b6 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -200,10 +200,7 @@ static int ethtool_set_settings(struct net_device *dev, void __user *useraddr) return dev->ethtool_ops->set_settings(dev, &cmd); } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_get_drvinfo(struct net_device *dev, void __user *useraddr) { struct ethtool_drvinfo info; const struct ethtool_ops *ops = dev->ethtool_ops; @@ -242,10 +239,7 @@ static noinline int ethtool_get_drvinfo(struct net_device *dev, void __user *use return 0; } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_get_sset_info(struct net_device *dev, +static noinline_for_stack int ethtool_get_sset_info(struct net_device *dev, void __user *useraddr) { struct ethtool_sset_info info; @@ -305,10 +299,7 @@ out: return ret; } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_set_rxnfc(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_set_rxnfc(struct net_device *dev, void __user *useraddr) { struct ethtool_rxnfc cmd; @@ -321,10 +312,7 @@ static noinline int ethtool_set_rxnfc(struct net_device *dev, void __user *usera return dev->ethtool_ops->set_rxnfc(dev, &cmd); } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_get_rxnfc(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_get_rxnfc(struct net_device *dev, void __user *useraddr) { struct ethtool_rxnfc info; const struct ethtool_ops *ops = dev->ethtool_ops; @@ -396,10 +384,7 @@ static void __rx_ntuple_filter_add(struct ethtool_rx_ntuple_list *list, list->count++; } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_set_rx_ntuple(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_set_rx_ntuple(struct net_device *dev, void __user *useraddr) { struct ethtool_rx_ntuple cmd; const struct ethtool_ops *ops = dev->ethtool_ops; @@ -867,10 +852,7 @@ static int ethtool_set_eeprom(struct net_device *dev, void __user *useraddr) return ret; } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_get_coalesce(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_get_coalesce(struct net_device *dev, void __user *useraddr) { struct ethtool_coalesce coalesce = { .cmd = ETHTOOL_GCOALESCE }; @@ -884,10 +866,7 @@ static noinline int ethtool_get_coalesce(struct net_device *dev, void __user *us return 0; } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_set_coalesce(struct net_device *dev, void __user *useraddr) +static noinline_for_stack int ethtool_set_coalesce(struct net_device *dev, void __user *useraddr) { struct ethtool_coalesce coalesce; @@ -1297,10 +1276,7 @@ static int ethtool_set_value(struct net_device *dev, char __user *useraddr, return actor(dev, edata.data); } -/* - * noinline attribute so that gcc doesnt use too much stack in dev_ethtool() - */ -static noinline int ethtool_flash_device(struct net_device *dev, char __user *useraddr) +static noinline_for_stack int ethtool_flash_device(struct net_device *dev, char __user *useraddr) { struct ethtool_flash efl; -- cgit v0.10.2 From d88dca79d3852a3623f606f781e013d61486828a Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Mon, 8 Mar 2010 12:20:58 -0800 Subject: tipc: fix endianness on tipc subscriber messages Remove htohl implementation from tipc I was working on forward porting the downstream commits for TIPC and ran accross this one: http://tipc.cslab.ericsson.net/cgi-bin/gitweb.cgi?p=people/allan/tipc.git;a=commitdiff;h=894279b9437b63cbb02405ad5b8e033b51e4e31e I was going to just take it, when I looked closer and noted what it was doing. This is basically a routine to byte swap fields of data in sent/received packets for tipc, dependent upon the receivers guessed endianness of the peer when a connection is established. Asside from just seeming silly to me, it appears to violate the latest RFC draft for tipc: http://tipc.sourceforge.net/doc/draft-spec-tipc-02.txt Which, according to section 4.2 and 4.3.3, requires that all fields of all commands be sent in network byte order. So instead of just taking this patch, instead I'm removing the htohl function and replacing the calls with calls to ntohl in the rx path and htonl in the send path. As part of this fix, I'm also changing the subscr_cancel function, which searches the list of subscribers, using a memcmp of the entire subscriber list, for the entry to tear down. unfortunately it memcmps the entire tipc_subscr structure which has several bits that are private to the local side, so nothing will ever match. section 5.2 of the draft spec indicates the tuple should uniquely identify a subscriber, so convert subscr_cancel to just match on those fields (properly endian swapped). I've tested this using the tipc test suite, and its passed without issue. Signed-off-by: Neil Horman Signed-off-by: David S. Miller diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c index ac91f0d..ff123e5 100644 --- a/net/tipc/subscr.c +++ b/net/tipc/subscr.c @@ -76,19 +76,6 @@ struct top_srv { static struct top_srv topsrv = { 0 }; /** - * htohl - convert value to endianness used by destination - * @in: value to convert - * @swap: non-zero if endianness must be reversed - * - * Returns converted value - */ - -static u32 htohl(u32 in, int swap) -{ - return swap ? swab32(in) : in; -} - -/** * subscr_send_event - send a message containing a tipc_event to the subscriber * * Note: Must not hold subscriber's server port lock, since tipc_send() will @@ -107,11 +94,11 @@ static void subscr_send_event(struct subscription *sub, msg_sect.iov_base = (void *)&sub->evt; msg_sect.iov_len = sizeof(struct tipc_event); - sub->evt.event = htohl(event, sub->swap); - sub->evt.found_lower = htohl(found_lower, sub->swap); - sub->evt.found_upper = htohl(found_upper, sub->swap); - sub->evt.port.ref = htohl(port_ref, sub->swap); - sub->evt.port.node = htohl(node, sub->swap); + sub->evt.event = htonl(event); + sub->evt.found_lower = htonl(found_lower); + sub->evt.found_upper = htonl(found_upper); + sub->evt.port.ref = htonl(port_ref); + sub->evt.port.node = htonl(node); tipc_send(sub->server_ref, 1, &msg_sect); } @@ -287,16 +274,23 @@ static void subscr_cancel(struct tipc_subscr *s, { struct subscription *sub; struct subscription *sub_temp; + __u32 type, lower, upper; int found = 0; /* Find first matching subscription, exit if not found */ + type = ntohl(s->seq.type); + lower = ntohl(s->seq.lower); + upper = ntohl(s->seq.upper); + list_for_each_entry_safe(sub, sub_temp, &subscriber->subscription_list, subscription_list) { - if (!memcmp(s, &sub->evt.s, sizeof(struct tipc_subscr))) { - found = 1; - break; - } + if ((type == sub->seq.type) && + (lower == sub->seq.lower) && + (upper == sub->seq.upper)) { + found = 1; + break; + } } if (!found) return; @@ -325,16 +319,10 @@ static struct subscription *subscr_subscribe(struct tipc_subscr *s, struct subscriber *subscriber) { struct subscription *sub; - int swap; - - /* Determine subscriber's endianness */ - - swap = !(s->filter & (TIPC_SUB_PORTS | TIPC_SUB_SERVICE)); /* Detect & process a subscription cancellation request */ - if (s->filter & htohl(TIPC_SUB_CANCEL, swap)) { - s->filter &= ~htohl(TIPC_SUB_CANCEL, swap); + if (ntohl(s->filter) & TIPC_SUB_CANCEL) { subscr_cancel(s, subscriber); return NULL; } @@ -359,11 +347,11 @@ static struct subscription *subscr_subscribe(struct tipc_subscr *s, /* Initialize subscription object */ - sub->seq.type = htohl(s->seq.type, swap); - sub->seq.lower = htohl(s->seq.lower, swap); - sub->seq.upper = htohl(s->seq.upper, swap); - sub->timeout = htohl(s->timeout, swap); - sub->filter = htohl(s->filter, swap); + sub->seq.type = ntohl(s->seq.type); + sub->seq.lower = ntohl(s->seq.lower); + sub->seq.upper = ntohl(s->seq.upper); + sub->timeout = ntohl(s->timeout); + sub->filter = ntohl(s->filter); if ((!(sub->filter & TIPC_SUB_PORTS) == !(sub->filter & TIPC_SUB_SERVICE)) || (sub->seq.lower > sub->seq.upper)) { @@ -376,7 +364,6 @@ static struct subscription *subscr_subscribe(struct tipc_subscr *s, INIT_LIST_HEAD(&sub->nameseq_list); list_add(&sub->subscription_list, &subscriber->subscription_list); sub->server_ref = subscriber->port_ref; - sub->swap = swap; memcpy(&sub->evt.s, s, sizeof(struct tipc_subscr)); atomic_inc(&topsrv.subscription_count); if (sub->timeout != TIPC_WAIT_FOREVER) { diff --git a/net/tipc/subscr.h b/net/tipc/subscr.h index 45d89bf..c20f496 100644 --- a/net/tipc/subscr.h +++ b/net/tipc/subscr.h @@ -53,7 +53,6 @@ typedef void (*tipc_subscr_event) (struct subscription *sub, * @nameseq_list: adjacent subscriptions in name sequence's subscription list * @subscription_list: adjacent subscriptions in subscriber's subscription list * @server_ref: object reference of server port associated with subscription - * @swap: indicates if subscriber uses opposite endianness in its messages * @evt: template for events generated by subscription */ @@ -66,7 +65,6 @@ struct subscription { struct list_head nameseq_list; struct list_head subscription_list; u32 server_ref; - int swap; struct tipc_event evt; }; -- cgit v0.10.2 From de5865714621e23d65c52955ca2125dbb074c242 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Mon, 8 Mar 2010 12:43:56 -0800 Subject: tipc: filter out messages not intended for this host Port commit 20deb48d16fdd07ce2fdc8d03ea317362217e085 from git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git Part of the large effort I'm trying to help with getting all the downstreamed code from windriver forward ported to the upstream tree Origional commit message Restore check to filter out inadverdently received messages This patch reimplements a check that allows TIPC to discard messages that are not intended for it. This check was present in TIPC 1.5/1.6, but was removed by accident during the development of TIPC 1.7; it has now been updated to account for new features present in TIPC 1.7 and reinserted into TIPC. The main benefit of this check is to filter out messages arriving from orphaned link endpoints, which can arise when a node exits the network and then re-enters it with a different TIPC network address (i.e. value). Signed-off-by: Neil Horman Origionally-authored-by: Allan Stephens Signed-off-by: David S. Miller diff --git a/net/tipc/link.c b/net/tipc/link.c index 6f50f64..1a7e466 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -1882,6 +1882,15 @@ void tipc_recv_msg(struct sk_buff *head, struct tipc_bearer *tb_ptr) (msg_destnode(msg) != tipc_own_addr))) goto cont; + /* Discard non-routeable messages destined for another node */ + + if (unlikely(!msg_isdata(msg) && + (msg_destnode(msg) != tipc_own_addr))) { + if ((msg_user(msg) != CONN_MANAGER) && + (msg_user(msg) != MSG_FRAGMENTER)) + goto cont; + } + /* Locate unicast link endpoint that should handle message */ n_ptr = tipc_node_find(msg_prevnode(msg)); -- cgit v0.10.2 From 42d38041a94cef1e38f7b8ab9827881022a183a9 Mon Sep 17 00:00:00 2001 From: Wolfgang Grandegger Date: Mon, 8 Mar 2010 12:51:41 -0800 Subject: MAINTAINERS: add netdev to CAN network layer and drivers entries Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller diff --git a/MAINTAINERS b/MAINTAINERS index 66418dd..c685ee2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1376,6 +1376,7 @@ M: Oliver Hartkopp M: Oliver Hartkopp M: Urs Thuermann L: socketcan-core@lists.berlios.de +L: netdev@vger.kernel.org W: http://developer.berlios.de/projects/socketcan/ S: Maintained F: net/can/ @@ -1387,6 +1388,7 @@ F: include/linux/can/raw.h CAN NETWORK DRIVERS M: Wolfgang Grandegger L: socketcan-core@lists.berlios.de +L: netdev@vger.kernel.org W: http://developer.berlios.de/projects/socketcan/ S: Maintained F: drivers/net/can/ -- cgit v0.10.2 From cfb581bcd4f8c158c6f2b48bf5e232bb9e6855c0 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Mon, 8 Mar 2010 15:20:50 +0100 Subject: MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer Acked-by: Peter Zijlstra Acked-by: Paul Mackerras Acked-by: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar diff --git a/MAINTAINERS b/MAINTAINERS index 2533fc4..40ed22e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4221,6 +4221,7 @@ PERFORMANCE EVENTS SUBSYSTEM M: Peter Zijlstra M: Paul Mackerras M: Ingo Molnar +M: Arnaldo Carvalho de Melo S: Supported F: kernel/perf_event.c F: include/linux/perf_event.h -- cgit v0.10.2 From ec62e1c8dd2f9b2a833b48d4a2f58f0c5e07384c Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 8 Mar 2010 22:37:09 -0800 Subject: Input: i8042 - use platfrom_create_bundle() helper Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index b54aee7..fce8ab7 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -1386,6 +1386,8 @@ static int __init i8042_probe(struct platform_device *dev) { int error; + i8042_platform_device = dev; + error = i8042_controller_selftest(); if (error) return error; @@ -1421,6 +1423,7 @@ static int __init i8042_probe(struct platform_device *dev) i8042_free_aux_ports(); /* in case KBD failed but AUX not */ i8042_free_irqs(); i8042_controller_reset(); + i8042_platform_device = NULL; return error; } @@ -1430,6 +1433,7 @@ static int __devexit i8042_remove(struct platform_device *dev) i8042_unregister_ports(); i8042_free_irqs(); i8042_controller_reset(); + i8042_platform_device = NULL; return 0; } @@ -1448,6 +1452,7 @@ static struct platform_driver i8042_driver = { static int __init i8042_init(void) { + struct platform_device *pdev; int err; dbg_init(); @@ -1460,31 +1465,18 @@ static int __init i8042_init(void) if (err) goto err_platform_exit; - i8042_platform_device = platform_device_alloc("i8042", -1); - if (!i8042_platform_device) { - err = -ENOMEM; + pdev = platform_create_bundle(&i8042_driver, i8042_probe, NULL, 0, NULL, 0); + if (IS_ERR(pdev)) { + err = PTR_ERR(pdev); goto err_platform_exit; } - err = platform_device_add(i8042_platform_device); - if (err) - goto err_free_device; - - err = platform_driver_probe(&i8042_driver, i8042_probe); - if (err) - goto err_del_device; - panic_blink = i8042_panic_blink; return 0; - err_del_device: - platform_device_del(i8042_platform_device); - err_free_device: - platform_device_put(i8042_platform_device); err_platform_exit: i8042_platform_exit(); - return err; } -- cgit v0.10.2 From 58b939959d228681208ba997595411fddc860849 Mon Sep 17 00:00:00 2001 From: Dmitry Torokhov Date: Mon, 8 Mar 2010 22:37:10 -0800 Subject: Input: scancode in get/set_keycodes should be unsigned MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The HID layer has some scan codes of the form 0xffbc0000 for logitech devices which do not work if scancode is typed as signed int, so we need to switch to unsigned it instead. While at it keycode being signed does not make much sense either. Acked-by: Márton Németh Acked-by: Matthew Garrett Acked-by: Jiri Kosina Signed-off-by: Dmitry Torokhov diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 79d9edd..7a0d2e4 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -68,22 +68,25 @@ static const struct { #define map_key_clear(c) hid_map_usage_clear(hidinput, usage, &bit, \ &max, EV_KEY, (c)) -static inline int match_scancode(int code, int scancode) +static inline int match_scancode(unsigned int code, unsigned int scancode) { if (scancode == 0) return 1; - return ((code & (HID_USAGE_PAGE | HID_USAGE)) == scancode); + + return (code & (HID_USAGE_PAGE | HID_USAGE)) == scancode; } -static inline int match_keycode(int code, int keycode) +static inline int match_keycode(unsigned int code, unsigned int keycode) { if (keycode == 0) return 1; - return (code == keycode); + + return code == keycode; } static struct hid_usage *hidinput_find_key(struct hid_device *hid, - int scancode, int keycode) + unsigned int scancode, + unsigned int keycode) { int i, j, k; struct hid_report *report; @@ -105,8 +108,8 @@ static struct hid_usage *hidinput_find_key(struct hid_device *hid, return NULL; } -static int hidinput_getkeycode(struct input_dev *dev, int scancode, - int *keycode) +static int hidinput_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct hid_device *hid = input_get_drvdata(dev); struct hid_usage *usage; @@ -119,16 +122,13 @@ static int hidinput_getkeycode(struct input_dev *dev, int scancode, return -EINVAL; } -static int hidinput_setkeycode(struct input_dev *dev, int scancode, - int keycode) +static int hidinput_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct hid_device *hid = input_get_drvdata(dev); struct hid_usage *usage; int old_keycode; - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; - usage = hidinput_find_key(hid, scancode, 0); if (usage) { old_keycode = usage->code; diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 9f9816b..2ee6c7a 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -515,7 +515,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd, struct input_absinfo abs; struct ff_effect effect; int __user *ip = (int __user *)p; - int i, t, u, v; + unsigned int i, t, u, v; int error; switch (cmd) { diff --git a/drivers/input/input.c b/drivers/input/input.c index 41168d5..e2dd885 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -582,7 +582,8 @@ static int input_fetch_keycode(struct input_dev *dev, int scancode) } static int input_default_getkeycode(struct input_dev *dev, - int scancode, int *keycode) + unsigned int scancode, + unsigned int *keycode) { if (!dev->keycodesize) return -EINVAL; @@ -596,7 +597,8 @@ static int input_default_getkeycode(struct input_dev *dev, } static int input_default_setkeycode(struct input_dev *dev, - int scancode, int keycode) + unsigned int scancode, + unsigned int keycode) { int old_keycode; int i; @@ -654,11 +656,9 @@ static int input_default_setkeycode(struct input_dev *dev, * This function should be called by anyone interested in retrieving current * keymap. Presently keyboard and evdev handlers use it. */ -int input_get_keycode(struct input_dev *dev, int scancode, int *keycode) +int input_get_keycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { - if (scancode < 0) - return -EINVAL; - return dev->getkeycode(dev, scancode, keycode); } EXPORT_SYMBOL(input_get_keycode); @@ -672,16 +672,14 @@ EXPORT_SYMBOL(input_get_keycode); * This function should be called by anyone needing to update current * keymap. Presently keyboard and evdev handlers use it. */ -int input_set_keycode(struct input_dev *dev, int scancode, int keycode) +int input_set_keycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { unsigned long flags; int old_keycode; int retval; - if (scancode < 0) - return -EINVAL; - - if (keycode < 0 || keycode > KEY_MAX) + if (keycode > KEY_MAX) return -EINVAL; spin_lock_irqsave(&dev->event_lock, flags); diff --git a/drivers/input/misc/ati_remote2.c b/drivers/input/misc/ati_remote2.c index 0501f0e..15be5430 100644 --- a/drivers/input/misc/ati_remote2.c +++ b/drivers/input/misc/ati_remote2.c @@ -474,10 +474,11 @@ static void ati_remote2_complete_key(struct urb *urb) } static int ati_remote2_getkeycode(struct input_dev *idev, - int scancode, int *keycode) + unsigned int scancode, unsigned int *keycode) { struct ati_remote2 *ar2 = input_get_drvdata(idev); - int index, mode; + unsigned int mode; + int index; mode = scancode >> 8; if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) @@ -491,10 +492,12 @@ static int ati_remote2_getkeycode(struct input_dev *idev, return 0; } -static int ati_remote2_setkeycode(struct input_dev *idev, int scancode, int keycode) +static int ati_remote2_setkeycode(struct input_dev *idev, + unsigned int scancode, unsigned int keycode) { struct ati_remote2 *ar2 = input_get_drvdata(idev); - int index, mode, old_keycode; + unsigned int mode, old_keycode; + int index; mode = scancode >> 8; if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) @@ -504,9 +507,6 @@ static int ati_remote2_setkeycode(struct input_dev *idev, int scancode, int keyc if (index < 0) return -EINVAL; - if (keycode < KEY_RESERVED || keycode > KEY_MAX) - return -EINVAL; - old_keycode = ar2->keycode[mode][index]; ar2->keycode[mode][index] = keycode; __set_bit(keycode, idev->keybit); diff --git a/drivers/input/misc/winbond-cir.c b/drivers/input/misc/winbond-cir.c index cbec3df..9c155a4 100644 --- a/drivers/input/misc/winbond-cir.c +++ b/drivers/input/misc/winbond-cir.c @@ -385,26 +385,24 @@ wbcir_do_getkeycode(struct wbcir_data *data, u32 scancode) } static int -wbcir_getkeycode(struct input_dev *dev, int scancode, int *keycode) +wbcir_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct wbcir_data *data = input_get_drvdata(dev); - *keycode = (int)wbcir_do_getkeycode(data, (u32)scancode); + *keycode = wbcir_do_getkeycode(data, scancode); return 0; } static int -wbcir_setkeycode(struct input_dev *dev, int sscancode, int keycode) +wbcir_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct wbcir_data *data = input_get_drvdata(dev); struct wbcir_keyentry *keyentry; struct wbcir_keyentry *new_keyentry; unsigned long flags; unsigned int old_keycode = KEY_RESERVED; - u32 scancode = (u32)sscancode; - - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; new_keyentry = kmalloc(sizeof(*new_keyentry), GFP_KERNEL); if (!new_keyentry) diff --git a/drivers/input/sparse-keymap.c b/drivers/input/sparse-keymap.c index fbd3987..e6bde55 100644 --- a/drivers/input/sparse-keymap.c +++ b/drivers/input/sparse-keymap.c @@ -64,7 +64,8 @@ struct key_entry *sparse_keymap_entry_from_keycode(struct input_dev *dev, EXPORT_SYMBOL(sparse_keymap_entry_from_keycode); static int sparse_keymap_getkeycode(struct input_dev *dev, - int scancode, int *keycode) + unsigned int scancode, + unsigned int *keycode) { const struct key_entry *key = sparse_keymap_entry_from_scancode(dev, scancode); @@ -78,7 +79,8 @@ static int sparse_keymap_getkeycode(struct input_dev *dev, } static int sparse_keymap_setkeycode(struct input_dev *dev, - int scancode, int keycode) + unsigned int scancode, + unsigned int keycode) { struct key_entry *key; int old_keycode; diff --git a/drivers/media/IR/ir-keytable.c b/drivers/media/IR/ir-keytable.c index 0903f53..0a3b4ed 100644 --- a/drivers/media/IR/ir-keytable.c +++ b/drivers/media/IR/ir-keytable.c @@ -123,7 +123,7 @@ static int ir_copy_table(struct ir_scancode_table *destin, * If the key is not found, returns -EINVAL, otherwise, returns 0. */ static int ir_getkeycode(struct input_dev *dev, - int scancode, int *keycode) + unsigned int scancode, unsigned int *keycode) { int elem; struct ir_input_dev *ir_dev = input_get_drvdata(dev); @@ -291,7 +291,7 @@ static int ir_insert_key(struct ir_scancode_table *rc_tab, * If the key is not found, returns -EINVAL, otherwise, returns 0. */ static int ir_setkeycode(struct input_dev *dev, - int scancode, int keycode) + unsigned int scancode, unsigned int keycode) { int rc = 0; struct ir_input_dev *ir_dev = input_get_drvdata(dev); diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c index a03ef7e..852fe89 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c +++ b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c @@ -9,7 +9,7 @@ #include static int dvb_usb_getkeycode(struct input_dev *dev, - int scancode, int *keycode) + unsigned int scancode, unsigned int *keycode) { struct dvb_usb_device *d = input_get_drvdata(dev); @@ -39,7 +39,7 @@ static int dvb_usb_getkeycode(struct input_dev *dev, } static int dvb_usb_setkeycode(struct input_dev *dev, - int scancode, int keycode) + unsigned int scancode, unsigned int keycode) { struct dvb_usb_device *d = input_get_drvdata(dev); diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c index 1b1dddb..bed764e 100644 --- a/drivers/platform/x86/dell-wmi.c +++ b/drivers/platform/x86/dell-wmi.c @@ -142,7 +142,7 @@ static struct key_entry *dell_wmi_keymap = dell_legacy_wmi_keymap; static struct input_dev *dell_wmi_input_dev; -static struct key_entry *dell_wmi_get_entry_by_scancode(int code) +static struct key_entry *dell_wmi_get_entry_by_scancode(unsigned int code) { struct key_entry *key; @@ -153,7 +153,7 @@ static struct key_entry *dell_wmi_get_entry_by_scancode(int code) return NULL; } -static struct key_entry *dell_wmi_get_entry_by_keycode(int keycode) +static struct key_entry *dell_wmi_get_entry_by_keycode(unsigned int keycode) { struct key_entry *key; @@ -164,8 +164,8 @@ static struct key_entry *dell_wmi_get_entry_by_keycode(int keycode) return NULL; } -static int dell_wmi_getkeycode(struct input_dev *dev, int scancode, - int *keycode) +static int dell_wmi_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct key_entry *key = dell_wmi_get_entry_by_scancode(scancode); @@ -177,13 +177,11 @@ static int dell_wmi_getkeycode(struct input_dev *dev, int scancode, return -EINVAL; } -static int dell_wmi_setkeycode(struct input_dev *dev, int scancode, int keycode) +static int dell_wmi_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct key_entry *key; - int old_keycode; - - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; + unsigned int old_keycode; key = dell_wmi_get_entry_by_scancode(scancode); if (key && key->type == KE_KEY) { diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index 7ccf33c..5608636 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c @@ -278,7 +278,7 @@ static DEVICE_ATTR(als, S_IRUGO | S_IWUSR, show_als, set_als); static DEVICE_ATTR(dock, S_IRUGO, show_dock, NULL); static DEVICE_ATTR(tablet, S_IRUGO, show_tablet, NULL); -static struct key_entry *hp_wmi_get_entry_by_scancode(int code) +static struct key_entry *hp_wmi_get_entry_by_scancode(unsigned int code) { struct key_entry *key; @@ -289,7 +289,7 @@ static struct key_entry *hp_wmi_get_entry_by_scancode(int code) return NULL; } -static struct key_entry *hp_wmi_get_entry_by_keycode(int keycode) +static struct key_entry *hp_wmi_get_entry_by_keycode(unsigned int keycode) { struct key_entry *key; @@ -300,7 +300,8 @@ static struct key_entry *hp_wmi_get_entry_by_keycode(int keycode) return NULL; } -static int hp_wmi_getkeycode(struct input_dev *dev, int scancode, int *keycode) +static int hp_wmi_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct key_entry *key = hp_wmi_get_entry_by_scancode(scancode); @@ -312,13 +313,11 @@ static int hp_wmi_getkeycode(struct input_dev *dev, int scancode, int *keycode) return -EINVAL; } -static int hp_wmi_setkeycode(struct input_dev *dev, int scancode, int keycode) +static int hp_wmi_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct key_entry *key; - int old_keycode; - - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; + unsigned int old_keycode; key = hp_wmi_get_entry_by_scancode(scancode); if (key && key->type == KE_KEY) { diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c index fe7cf01..c9fc479 100644 --- a/drivers/platform/x86/panasonic-laptop.c +++ b/drivers/platform/x86/panasonic-laptop.c @@ -200,7 +200,7 @@ static struct acpi_driver acpi_pcc_driver = { }; #define KEYMAP_SIZE 11 -static const int initial_keymap[KEYMAP_SIZE] = { +static const unsigned int initial_keymap[KEYMAP_SIZE] = { /* 0 */ KEY_RESERVED, /* 1 */ KEY_BRIGHTNESSDOWN, /* 2 */ KEY_BRIGHTNESSUP, @@ -222,7 +222,7 @@ struct pcc_acpi { struct acpi_device *device; struct input_dev *input_dev; struct backlight_device *backlight; - int keymap[KEYMAP_SIZE]; + unsigned int keymap[KEYMAP_SIZE]; }; struct pcc_keyinput { @@ -445,7 +445,8 @@ static struct attribute_group pcc_attr_group = { /* hotkey input device driver */ -static int pcc_getkeycode(struct input_dev *dev, int scancode, int *keycode) +static int pcc_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct pcc_acpi *pcc = input_get_drvdata(dev); @@ -457,7 +458,7 @@ static int pcc_getkeycode(struct input_dev *dev, int scancode, int *keycode) return 0; } -static int keymap_get_by_keycode(struct pcc_acpi *pcc, int keycode) +static int keymap_get_by_keycode(struct pcc_acpi *pcc, unsigned int keycode) { int i; @@ -469,7 +470,8 @@ static int keymap_get_by_keycode(struct pcc_acpi *pcc, int keycode) return 0; } -static int pcc_setkeycode(struct input_dev *dev, int scancode, int keycode) +static int pcc_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct pcc_acpi *pcc = input_get_drvdata(dev); int oldkeycode; @@ -477,9 +479,6 @@ static int pcc_setkeycode(struct input_dev *dev, int scancode, int keycode) if (scancode >= ARRAY_SIZE(pcc->keymap)) return -EINVAL; - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; - oldkeycode = pcc->keymap[scancode]; pcc->keymap[scancode] = keycode; diff --git a/drivers/platform/x86/topstar-laptop.c b/drivers/platform/x86/topstar-laptop.c index 02f3d4e..4d6516f 100644 --- a/drivers/platform/x86/topstar-laptop.c +++ b/drivers/platform/x86/topstar-laptop.c @@ -46,7 +46,7 @@ static struct tps_key_entry topstar_keymap[] = { { } }; -static struct tps_key_entry *tps_get_key_by_scancode(int code) +static struct tps_key_entry *tps_get_key_by_scancode(unsigned int code) { struct tps_key_entry *key; @@ -57,7 +57,7 @@ static struct tps_key_entry *tps_get_key_by_scancode(int code) return NULL; } -static struct tps_key_entry *tps_get_key_by_keycode(int code) +static struct tps_key_entry *tps_get_key_by_keycode(unsigned int code) { struct tps_key_entry *key; @@ -126,7 +126,8 @@ static int acpi_topstar_fncx_switch(struct acpi_device *device, bool state) return 0; } -static int topstar_getkeycode(struct input_dev *dev, int scancode, int *keycode) +static int topstar_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct tps_key_entry *key = tps_get_key_by_scancode(scancode); @@ -137,14 +138,12 @@ static int topstar_getkeycode(struct input_dev *dev, int scancode, int *keycode) return 0; } -static int topstar_setkeycode(struct input_dev *dev, int scancode, int keycode) +static int topstar_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct tps_key_entry *key; int old_keycode; - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; - key = tps_get_key_by_scancode(scancode); if (!key) diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c index 405b969..789240d 100644 --- a/drivers/platform/x86/toshiba_acpi.c +++ b/drivers/platform/x86/toshiba_acpi.c @@ -745,7 +745,7 @@ static struct backlight_ops toshiba_backlight_data = { .update_status = set_lcd_status, }; -static struct key_entry *toshiba_acpi_get_entry_by_scancode(int code) +static struct key_entry *toshiba_acpi_get_entry_by_scancode(unsigned int code) { struct key_entry *key; @@ -756,7 +756,7 @@ static struct key_entry *toshiba_acpi_get_entry_by_scancode(int code) return NULL; } -static struct key_entry *toshiba_acpi_get_entry_by_keycode(int code) +static struct key_entry *toshiba_acpi_get_entry_by_keycode(unsigned int code) { struct key_entry *key; @@ -767,8 +767,8 @@ static struct key_entry *toshiba_acpi_get_entry_by_keycode(int code) return NULL; } -static int toshiba_acpi_getkeycode(struct input_dev *dev, int scancode, - int *keycode) +static int toshiba_acpi_getkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode) { struct key_entry *key = toshiba_acpi_get_entry_by_scancode(scancode); @@ -780,14 +780,11 @@ static int toshiba_acpi_getkeycode(struct input_dev *dev, int scancode, return -EINVAL; } -static int toshiba_acpi_setkeycode(struct input_dev *dev, int scancode, - int keycode) +static int toshiba_acpi_setkeycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode) { struct key_entry *key; - int old_keycode; - - if (keycode < 0 || keycode > KEY_MAX) - return -EINVAL; + unsigned int old_keycode; key = toshiba_acpi_get_entry_by_scancode(scancode); if (key && key->type == KE_KEY) { diff --git a/include/linux/input.h b/include/linux/input.h index dc24eff..7ed2251 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -58,10 +58,10 @@ struct input_absinfo { #define EVIOCGVERSION _IOR('E', 0x01, int) /* get driver version */ #define EVIOCGID _IOR('E', 0x02, struct input_id) /* get device ID */ -#define EVIOCGREP _IOR('E', 0x03, int[2]) /* get repeat settings */ -#define EVIOCSREP _IOW('E', 0x03, int[2]) /* set repeat settings */ -#define EVIOCGKEYCODE _IOR('E', 0x04, int[2]) /* get keycode */ -#define EVIOCSKEYCODE _IOW('E', 0x04, int[2]) /* set keycode */ +#define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) /* get repeat settings */ +#define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) /* set repeat settings */ +#define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) /* get keycode */ +#define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) /* set keycode */ #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */ #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */ @@ -1142,8 +1142,10 @@ struct input_dev { unsigned int keycodemax; unsigned int keycodesize; void *keycode; - int (*setkeycode)(struct input_dev *dev, int scancode, int keycode); - int (*getkeycode)(struct input_dev *dev, int scancode, int *keycode); + int (*setkeycode)(struct input_dev *dev, + unsigned int scancode, unsigned int keycode); + int (*getkeycode)(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode); struct ff_device *ff; @@ -1415,8 +1417,10 @@ static inline void input_set_abs_params(struct input_dev *dev, int axis, int min dev->absbit[BIT_WORD(axis)] |= BIT_MASK(axis); } -int input_get_keycode(struct input_dev *dev, int scancode, int *keycode); -int input_set_keycode(struct input_dev *dev, int scancode, int keycode); +int input_get_keycode(struct input_dev *dev, + unsigned int scancode, unsigned int *keycode); +int input_set_keycode(struct input_dev *dev, + unsigned int scancode, unsigned int keycode); extern struct class input_class; -- cgit v0.10.2 From 3e6e15a862a0bc20128497bbdc54254cdec21835 Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Mon, 8 Mar 2010 23:42:46 -0800 Subject: Input: enable remote wakeup for PNP i8042 keyboard ports This patch (as1355) enables remote wakeup by default on PNP i8042 keyboard ports. Signed-off-by: Alan Stern Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index 2a5982e..3696cab 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h @@ -624,6 +624,9 @@ static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id * strlcat(i8042_pnp_kbd_name, pnp_dev_name(dev), sizeof(i8042_pnp_kbd_name)); } + /* Keyboard ports are always supposed to be wakeup-enabled */ + device_set_wakeup_enable(&dev->dev, true); + i8042_pnp_kbd_devices++; return 0; } -- cgit v0.10.2 From 3dd1b39497b6820219581af16e6a8831a582bb3a Mon Sep 17 00:00:00 2001 From: Jari Vanhala Date: Tue, 9 Mar 2010 00:29:46 -0800 Subject: Input: add driver for TWL4030 vibrator device TWL4030 Vibrator implemented via Force Feedback interface. This uses MFD TWL4030 codec and own dynamic workqueue. Signed-off-by: Jari Vanhala Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 7097bfe..23140a3 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig @@ -214,6 +214,17 @@ config INPUT_TWL4030_PWRBUTTON To compile this driver as a module, choose M here. The module will be called twl4030_pwrbutton. +config INPUT_TWL4030_VIBRA + tristate "Support for TWL4030 Vibrator" + depends on TWL4030_CORE + select TWL4030_CODEC + select INPUT_FF_MEMLESS + help + This option enables support for TWL4030 Vibrator Driver. + + To compile this driver as a module, choose M here. The module will + be called twl4030_vibra. + config INPUT_UINPUT tristate "User level driver support" help diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile index b611615..7e95a5d 100644 --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_INPUT_GPIO_ROTARY_ENCODER) += rotary_encoder.o obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o obj-$(CONFIG_INPUT_TWL4030_PWRBUTTON) += twl4030-pwrbutton.o +obj-$(CONFIG_INPUT_TWL4030_VIBRA) += twl4030-vibra.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o obj-$(CONFIG_INPUT_WINBOND_CIR) += winbond-cir.o obj-$(CONFIG_INPUT_WISTRON_BTNS) += wistron_btns.o diff --git a/drivers/input/misc/twl4030-vibra.c b/drivers/input/misc/twl4030-vibra.c new file mode 100644 index 0000000..2fb79e0 --- /dev/null +++ b/drivers/input/misc/twl4030-vibra.c @@ -0,0 +1,297 @@ +/* + * twl4030-vibra.c - TWL4030 Vibrator driver + * + * Copyright (C) 2008-2010 Nokia Corporation + * + * Written by Henrik Saari + * Updates by Felipe Balbi + * Input by Jari Vanhala + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA + * + */ + +#include +#include +#include +#include +#include +#include +#include + +/* MODULE ID2 */ +#define LEDEN 0x00 + +/* ForceFeedback */ +#define EFFECT_DIR_180_DEG 0x8000 /* range is 0 - 0xFFFF */ + +struct vibra_info { + struct device *dev; + struct input_dev *input_dev; + + struct workqueue_struct *workqueue; + struct work_struct play_work; + + bool enabled; + int speed; + int direction; + + bool coexist; +}; + +static void vibra_disable_leds(void) +{ + u8 reg; + + /* Disable LEDA & LEDB, cannot be used with vibra (PWM) */ + twl_i2c_read_u8(TWL4030_MODULE_LED, ®, LEDEN); + reg &= ~0x03; + twl_i2c_write_u8(TWL4030_MODULE_LED, LEDEN, reg); +} + +/* Powers H-Bridge and enables audio clk */ +static void vibra_enable(struct vibra_info *info) +{ + u8 reg; + + twl4030_codec_enable_resource(TWL4030_CODEC_RES_POWER); + + /* turn H-Bridge on */ + twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, + ®, TWL4030_REG_VIBRA_CTL); + twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, + (reg | TWL4030_VIBRA_EN), TWL4030_REG_VIBRA_CTL); + + twl4030_codec_enable_resource(TWL4030_CODEC_RES_APLL); + + info->enabled = true; +} + +static void vibra_disable(struct vibra_info *info) +{ + u8 reg; + + /* Power down H-Bridge */ + twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, + ®, TWL4030_REG_VIBRA_CTL); + twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, + (reg & ~TWL4030_VIBRA_EN), TWL4030_REG_VIBRA_CTL); + + twl4030_codec_disable_resource(TWL4030_CODEC_RES_POWER); + twl4030_codec_disable_resource(TWL4030_CODEC_RES_APLL); + + info->enabled = false; +} + +static void vibra_play_work(struct work_struct *work) +{ + struct vibra_info *info = container_of(work, + struct vibra_info, play_work); + int dir; + int pwm; + u8 reg; + + dir = info->direction; + pwm = info->speed; + + twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, + ®, TWL4030_REG_VIBRA_CTL); + if (pwm && (!info->coexist || !(reg & TWL4030_VIBRA_SEL))) { + + if (!info->enabled) + vibra_enable(info); + + /* set vibra rotation direction */ + twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, + ®, TWL4030_REG_VIBRA_CTL); + reg = (dir) ? (reg | TWL4030_VIBRA_DIR) : + (reg & ~TWL4030_VIBRA_DIR); + twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, + reg, TWL4030_REG_VIBRA_CTL); + + /* set PWM, 1 = max, 255 = min */ + twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, + 256 - pwm, TWL4030_REG_VIBRA_SET); + } else { + if (info->enabled) + vibra_disable(info); + } +} + +/*** Input/ForceFeedback ***/ + +static int vibra_play(struct input_dev *input, void *data, + struct ff_effect *effect) +{ + struct vibra_info *info = input_get_drvdata(input); + + info->speed = effect->u.rumble.strong_magnitude >> 8; + if (!info->speed) + info->speed = effect->u.rumble.weak_magnitude >> 9; + info->direction = effect->direction < EFFECT_DIR_180_DEG ? 0 : 1; + queue_work(info->workqueue, &info->play_work); + return 0; +} + +static int twl4030_vibra_open(struct input_dev *input) +{ + struct vibra_info *info = input_get_drvdata(input); + + info->workqueue = create_singlethread_workqueue("vibra"); + if (info->workqueue == NULL) { + dev_err(&input->dev, "couldn't create workqueue\n"); + return -ENOMEM; + } + return 0; +} + +static void twl4030_vibra_close(struct input_dev *input) +{ + struct vibra_info *info = input_get_drvdata(input); + + cancel_work_sync(&info->play_work); + INIT_WORK(&info->play_work, vibra_play_work); /* cleanup */ + destroy_workqueue(info->workqueue); + info->workqueue = NULL; + + if (info->enabled) + vibra_disable(info); +} + +/*** Module ***/ +#if CONFIG_PM +static int twl4030_vibra_suspend(struct device *dev) +{ + struct platform_device *pdev = to_platform_device(dev); + struct vibra_info *info = platform_get_drvdata(pdev); + + if (info->enabled) + vibra_disable(info); + + return 0; +} + +static int twl4030_vibra_resume(struct device *dev) +{ + vibra_disable_leds(); + return 0; +} + +static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops, + twl4030_vibra_suspend, twl4030_vibra_resume); +#endif + +static int __devinit twl4030_vibra_probe(struct platform_device *pdev) +{ + struct twl4030_codec_vibra_data *pdata = pdev->dev.platform_data; + struct vibra_info *info; + int ret; + + if (!pdata) { + dev_dbg(&pdev->dev, "platform_data not available\n"); + return -EINVAL; + } + + info = kzalloc(sizeof(*info), GFP_KERNEL); + if (!info) + return -ENOMEM; + + info->dev = &pdev->dev; + info->coexist = pdata->coexist; + INIT_WORK(&info->play_work, vibra_play_work); + + info->input_dev = input_allocate_device(); + if (info->input_dev == NULL) { + dev_err(&pdev->dev, "couldn't allocate input device\n"); + ret = -ENOMEM; + goto err_kzalloc; + } + + input_set_drvdata(info->input_dev, info); + + info->input_dev->name = "twl4030:vibrator"; + info->input_dev->id.version = 1; + info->input_dev->dev.parent = pdev->dev.parent; + info->input_dev->open = twl4030_vibra_open; + info->input_dev->close = twl4030_vibra_close; + __set_bit(FF_RUMBLE, info->input_dev->ffbit); + + ret = input_ff_create_memless(info->input_dev, NULL, vibra_play); + if (ret < 0) { + dev_dbg(&pdev->dev, "couldn't register vibrator to FF\n"); + goto err_ialloc; + } + + ret = input_register_device(info->input_dev); + if (ret < 0) { + dev_dbg(&pdev->dev, "couldn't register input device\n"); + goto err_iff; + } + + vibra_disable_leds(); + + platform_set_drvdata(pdev, info); + return 0; + +err_iff: + input_ff_destroy(info->input_dev); +err_ialloc: + input_free_device(info->input_dev); +err_kzalloc: + kfree(info); + return ret; +} + +static int __devexit twl4030_vibra_remove(struct platform_device *pdev) +{ + struct vibra_info *info = platform_get_drvdata(pdev); + + /* this also free ff-memless and calls close if needed */ + input_unregister_device(info->input_dev); + kfree(info); + platform_set_drvdata(pdev, NULL); + + return 0; +} + +static struct platform_driver twl4030_vibra_driver = { + .probe = twl4030_vibra_probe, + .remove = __devexit_p(twl4030_vibra_remove), + .driver = { + .name = "twl4030_codec_vibra", + .owner = THIS_MODULE, +#ifdef CONFIG_PM + .pm = &twl4030_vibra_pm_ops, +#endif + }, +}; + +static int __init twl4030_vibra_init(void) +{ + return platform_driver_register(&twl4030_vibra_driver); +} +module_init(twl4030_vibra_init); + +static void __exit twl4030_vibra_exit(void) +{ + platform_driver_unregister(&twl4030_vibra_driver); +} +module_exit(twl4030_vibra_exit); + +MODULE_ALIAS("platform:twl4030_codec_vibra"); + +MODULE_DESCRIPTION("TWL4030 Vibra driver"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Nokia Corporation"); -- cgit v0.10.2 From e9edb1d8a345119c9baafa1b240eb1ec06a44662 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 3 Mar 2010 08:53:51 -0500 Subject: GFS2: do not select QUOTA gfs2 only needs the quotactl code, not the generic quota implementation. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig index 4dcddf8..a47b431 100644 --- a/fs/gfs2/Kconfig +++ b/fs/gfs2/Kconfig @@ -8,7 +8,6 @@ config GFS2_FS select FS_POSIX_ACL select CRC32 select SLOW_WORK - select QUOTA select QUOTACTL help A cluster filesystem. -- cgit v0.10.2 From ecd216260f87dd8c14b2580a16f055554644bbea Mon Sep 17 00:00:00 2001 From: Ralf Gerbig Date: Tue, 9 Mar 2010 18:25:47 +0100 Subject: ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55 without the following patch audio ssttuutteerrs on ASUS M2N32-SLI PREMIUM ACPI BIOS Revision 1304 the sound device is: 00:0e.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2) worked with 2.6.32 Signed-off-by: Ralf Gerbig Cc: Signed-off-by: Takashi Iwai diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index e37bffe..10bbb53 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -2358,6 +2358,7 @@ static void __devinit check_probe_mask(struct azx *chip, int dev) static struct snd_pci_quirk msi_black_list[] __devinitdata = { SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */ SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ + SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */ SND_PCI_QUIRK(0x1849, 0x0888, "ASRock", 0), /* Athlon64 X2 + nvidia */ {} }; -- cgit v0.10.2 From 1d79e53c56afe0826a311c3bc1653ad938166c22 Mon Sep 17 00:00:00 2001 From: Reinette Chatre Date: Fri, 26 Feb 2010 11:01:36 -0800 Subject: iwl3945: fix memory corruption Recent patch "iwlwifi: move 3945 clip groups to 3945 data" exposed a memory corruption problem. When initializing the clip groups the code was mistakenly using the iwlagn rate count, not the 3945 rate count. This resulted in more memory being written than was allocated. "iwlwifi: move 3945 clip groups to 3945 data" moved the location where the clip groups are stored and the impact is now severe in that the number of configured TX queues is modified. Previously the "temperature" field was overwritten, which did not seem to affect the operation. Fix this one instance where wrong rate count was used. I also noticed one more location where the iwlagn rate count was used to index an iwl3945 array, fix this. I also modified one location that modified the iwlagn rate count to obtain the iwl3945 rate count ... just use the iwl3945 rate count directly. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2165 and http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2168 Signed-off-by: Reinette Chatre diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 303cc81..e0678d9 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c @@ -184,7 +184,7 @@ static int iwl3945_hwrate_to_plcp_idx(u8 plcp) { int idx; - for (idx = 0; idx < IWL_RATE_COUNT; idx++) + for (idx = 0; idx < IWL_RATE_COUNT_3945; idx++) if (iwl3945_rates[idx].plcp == plcp) return idx; return -1; @@ -805,7 +805,7 @@ void iwl3945_hw_build_tx_cmd_rate(struct iwl_priv *priv, int sta_id, int tx_id) { u16 hw_value = ieee80211_get_tx_rate(priv->hw, info)->hw_value; - u16 rate_index = min(hw_value & 0xffff, IWL_RATE_COUNT - 1); + u16 rate_index = min(hw_value & 0xffff, IWL_RATE_COUNT_3945); u16 rate_mask; int rate; u8 rts_retry_limit; @@ -2146,7 +2146,7 @@ static void iwl3945_hw_reg_init_channel_groups(struct iwl_priv *priv) /* fill in channel group's nominal powers for each rate */ for (rate_index = 0; - rate_index < IWL_RATE_COUNT; rate_index++, clip_pwrs++) { + rate_index < IWL_RATE_COUNT_3945; rate_index++, clip_pwrs++) { switch (rate_index) { case IWL_RATE_36M_INDEX_TABLE: if (i == 0) /* B/G */ -- cgit v0.10.2 From 1382c71c764540880d35485b033a44ce104d8e2e Mon Sep 17 00:00:00 2001 From: Reinette Chatre Date: Thu, 25 Feb 2010 10:02:19 -0800 Subject: Revert "iwlwifi: Send broadcast probe request only when asked to" This reverts commit 21b2d8bd2f0d4e0f21ade147fd193c8b9c1fd2b9. As explained by Johannes: When we build a probe request frame in the buffer with the SSID, we could arrive over the limit of 200 bytes. When we build it in the buffer without the SSID (wildcard) we don't arrive over 200 bytes, but the ucode still allows direct probe in addition because it has an internal buffer that is larger when it inserts the SSID... Signed-off-by: Reinette Chatre diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 47b0214..818367b 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c @@ -2653,7 +2653,7 @@ static int iwl_mac_setup_register(struct iwl_priv *priv) */ hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; - hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX + 1; + hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX; /* we create the 802.11 header and a zero-length SSID element */ hw->wiphy->max_scan_ie_len = IWL_MAX_PROBE_REQUEST - 24 - 2; diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index dd9ff2e..bd2f7c4 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c @@ -638,20 +638,9 @@ u16 iwl_fill_probe_req(struct iwl_priv *priv, struct ieee80211_mgmt *frame, if (left < 0) return 0; *pos++ = WLAN_EID_SSID; - if (!priv->is_internal_short_scan && - priv->scan_request->n_ssids) { - struct cfg80211_ssid *ssid = - priv->scan_request->ssids; - - /* Broadcast if ssid_len is 0 */ - *pos++ = ssid->ssid_len; - memcpy(pos, ssid->ssid, ssid->ssid_len); - pos += ssid->ssid_len; - len += 2 + ssid->ssid_len; - } else { - *pos++ = 0; - len += 2; - } + *pos++ = 0; + + len += 2; if (WARN_ON(left < ie_len)) return len; @@ -780,26 +769,20 @@ static void iwl_bg_request_scan(struct work_struct *data) if (priv->is_internal_short_scan) { IWL_DEBUG_SCAN(priv, "Start internal passive scan.\n"); } else if (priv->scan_request->n_ssids) { + int i, p = 0; IWL_DEBUG_SCAN(priv, "Kicking off active scan\n"); - /* - * The first SSID to scan is stuffed into the probe request - * template and the remaining ones are handled through the - * direct_scan array. - */ - if (priv->scan_request->n_ssids > 1) { - int i, p = 0; - for (i = 1; i < priv->scan_request->n_ssids; i++) { - if (!priv->scan_request->ssids[i].ssid_len) - continue; - scan->direct_scan[p].id = WLAN_EID_SSID; - scan->direct_scan[p].len = - priv->scan_request->ssids[i].ssid_len; - memcpy(scan->direct_scan[p].ssid, - priv->scan_request->ssids[i].ssid, - priv->scan_request->ssids[i].ssid_len); - n_probes++; - p++; - } + for (i = 0; i < priv->scan_request->n_ssids; i++) { + /* always does wildcard anyway */ + if (!priv->scan_request->ssids[i].ssid_len) + continue; + scan->direct_scan[p].id = WLAN_EID_SSID; + scan->direct_scan[p].len = + priv->scan_request->ssids[i].ssid_len; + memcpy(scan->direct_scan[p].ssid, + priv->scan_request->ssids[i].ssid, + priv->scan_request->ssids[i].ssid_len); + n_probes++; + p++; } is_active = true; } else -- cgit v0.10.2 From c90c6a885ac9827921e8f94f3ce4360ae11148f1 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Tue, 9 Mar 2010 20:38:47 -0800 Subject: Input: mousedev - remove BKL There's no need for BKL in mousedev, relevan protection is provided by a private mutex. Signed-off-by: Thadeu Lima de Souza Cascardo Acked-by: Arnd Bergmann Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c index a13d80f..f34b22b 100644 --- a/drivers/input/mousedev.c +++ b/drivers/input/mousedev.c @@ -15,7 +15,6 @@ #include #include -#include #include #include #include @@ -542,10 +541,8 @@ static int mousedev_open(struct inode *inode, struct file *file) if (i >= MOUSEDEV_MINORS) return -ENODEV; - lock_kernel(); error = mutex_lock_interruptible(&mousedev_table_mutex); if (error) { - unlock_kernel(); return error; } mousedev = mousedev_table[i]; @@ -554,7 +551,6 @@ static int mousedev_open(struct inode *inode, struct file *file) mutex_unlock(&mousedev_table_mutex); if (!mousedev) { - unlock_kernel(); return -ENODEV; } @@ -575,7 +571,6 @@ static int mousedev_open(struct inode *inode, struct file *file) goto err_free_client; file->private_data = client; - unlock_kernel(); return 0; err_free_client: @@ -583,7 +578,6 @@ static int mousedev_open(struct inode *inode, struct file *file) kfree(client); err_put_mousedev: put_device(&mousedev->dev); - unlock_kernel(); return error; } -- cgit v0.10.2 From 77554b4d1fac6a66d4e624a6e36c020a4f5b6b64 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Tue, 9 Mar 2010 20:38:47 -0800 Subject: Input: serio_raw - remove BKL serio_raw open function already uses a mutex. Also change formatting a bit. Signed-off-by: Thadeu Lima de Souza Cascardo Acked-by: Arnd Bergmann Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index 27fdaaf..9986648 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c @@ -81,12 +81,12 @@ static int serio_raw_open(struct inode *inode, struct file *file) struct serio_raw_list *list; int retval = 0; - lock_kernel(); retval = mutex_lock_interruptible(&serio_raw_mutex); if (retval) - goto out_bkl; + return retval; - if (!(serio_raw = serio_raw_locate(iminor(inode)))) { + serio_raw = serio_raw_locate(iminor(inode)); + if (!serio_raw) { retval = -ENODEV; goto out; } @@ -96,7 +96,8 @@ static int serio_raw_open(struct inode *inode, struct file *file) goto out; } - if (!(list = kzalloc(sizeof(struct serio_raw_list), GFP_KERNEL))) { + list = kzalloc(sizeof(struct serio_raw_list), GFP_KERNEL); + if (!list) { retval = -ENOMEM; goto out; } @@ -109,8 +110,6 @@ static int serio_raw_open(struct inode *inode, struct file *file) out: mutex_unlock(&serio_raw_mutex); -out_bkl: - unlock_kernel(); return retval; } -- cgit v0.10.2 From 2f2177c8dadbcb08c14f796ac983c5475eca1bd3 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Tue, 9 Mar 2010 20:38:48 -0800 Subject: Input: remove BKL, fix input_open_file() locking Holding the BKL in input_open_file seems pointless because it does not protect against updates of input_table, and all open functions from the underlying drivers have proper mutex locking. This makes input_open_file take the input_mutex when accessing the table and no lock when calling into the lower function. Signed-off-by: Arnd Bergmann Acked-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/input.c b/drivers/input/input.c index e2dd885..e2aad0a 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -1879,35 +1879,37 @@ static int input_open_file(struct inode *inode, struct file *file) const struct file_operations *old_fops, *new_fops = NULL; int err; - lock_kernel(); + err = mutex_lock_interruptible(&input_mutex); + if (err) + return err; + /* No load-on-demand here? */ handler = input_table[iminor(inode) >> 5]; - if (!handler || !(new_fops = fops_get(handler->fops))) { - err = -ENODEV; - goto out; - } + if (handler) + new_fops = fops_get(handler->fops); + + mutex_unlock(&input_mutex); /* * That's _really_ odd. Usually NULL ->open means "nothing special", * not "no device". Oh, well... */ - if (!new_fops->open) { + if (!new_fops || !new_fops->open) { fops_put(new_fops); err = -ENODEV; goto out; } + old_fops = file->f_op; file->f_op = new_fops; err = new_fops->open(inode, file); - if (err) { fops_put(file->f_op); file->f_op = fops_get(old_fops); } fops_put(old_fops); out: - unlock_kernel(); return err; } -- cgit v0.10.2 From eb8bff85c5bd5caef7c374ff32b86545029efb56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=A4chler?= Date: Tue, 9 Mar 2010 20:38:48 -0800 Subject: Input: alps - add support for the touchpad on Toshiba Tecra A11-11L MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Bächler Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index f93c2c0..f6dad83 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -63,6 +63,8 @@ static const struct alps_model_info alps_model_data[] = { { { 0x62, 0x02, 0x14 }, 0xcf, 0xcf, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, { { 0x73, 0x02, 0x50 }, 0xcf, 0xcf, ALPS_FOUR_BUTTONS }, /* Dell Vostro 1400 */ + { { 0x52, 0x01, 0x14 }, 0xff, 0xff, + ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ }; /* -- cgit v0.10.2 From 9e49f6c1339a7972e23a335c4c71a289b4c6f65b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 9 Mar 2010 20:38:45 -0800 Subject: Input: bf54x-keys - fix system hang when pressing a key We need to use the nosync version of disable_irq so that we don't hang in the IRQ handler as we don't ACK the interrupt until later. This used to work regardless, but at some point, the IRQ behavior changed. Not sure when exactly. Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/keyboard/bf54x-keys.c b/drivers/input/keyboard/bf54x-keys.c index fe376a2..593c052 100644 --- a/drivers/input/keyboard/bf54x-keys.c +++ b/drivers/input/keyboard/bf54x-keys.c @@ -162,7 +162,7 @@ static irqreturn_t bfin_kpad_isr(int irq, void *dev_id) input_sync(input); if (bfin_kpad_get_keypressed(bf54x_kpad)) { - disable_irq(bf54x_kpad->irq); + disable_irq_nosync(bf54x_kpad->irq); bf54x_kpad->lastkey = key; mod_timer(&bf54x_kpad->timer, jiffies + bf54x_kpad->keyup_test_jiffies); -- cgit v0.10.2 From 06a09124b5ec65f81df66c56695d9a9ae04a0114 Mon Sep 17 00:00:00 2001 From: Michael Hennerich Date: Tue, 9 Mar 2010 20:38:45 -0800 Subject: Input: ads7846 - add support for AD7843 parts The AD7873 is almost identical to the ADS7846; the only difference is related to the Power Management bits PD0 and PD1. This results in a slightly different PENIRQ enable behavior. For the AD7873, VREF should be turned off during differential measurements. So, add the AD7873/43 to the list of driver supported devices, and prevent VREF usage during differential/ratiometric conversion modes. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 7208654..8a8fa4d 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -24,17 +24,18 @@ config TOUCHSCREEN_88PM860X module will be called 88pm860x-ts. config TOUCHSCREEN_ADS7846 - tristate "ADS7846/TSC2046 and ADS7843 based touchscreens" + tristate "ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens" depends on SPI_MASTER depends on HWMON = n || HWMON help Say Y here if you have a touchscreen interface using the - ADS7846/TSC2046 or ADS7843 controller, and your board-specific - setup code includes that in its table of SPI devices. + ADS7846/TSC2046/AD7873 or ADS7843/AD7843 controller, + and your board-specific setup code includes that in its + table of SPI devices. If HWMON is selected, and the driver is told the reference voltage on your board, you will also get hwmon interfaces for the voltage - (and on ads7846/tsc2046, temperature) sensors of this chip. + (and on ads7846/tsc2046/ad7873, temperature) sensors of this chip. If unsure, say N (but it's safe to say "Y"). diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 8b05d8e..d187be0 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -36,6 +36,7 @@ * TSC2046 is just newer ads7846 silicon. * Support for ads7843 tested on Atmel at91sam926x-EK. * Support for ads7845 has only been stubbed in. + * Support for Analog Devices AD7873 and AD7843 tested. * * IRQ handling needs a workaround because of a shortcoming in handling * edge triggered IRQs on some platforms like the OMAP1/2. These @@ -984,6 +985,15 @@ static int __devinit ads7846_probe(struct spi_device *spi) vref = pdata->keep_vref_on; + if (ts->model == 7873) { + /* The AD7873 is almost identical to the ADS7846 + * keep VREF off during differential/ratiometric + * conversion modes + */ + ts->model = 7846; + vref = 0; + } + /* set up the transfers to read touchscreen state; this assumes we * use formula #2 for pressure, not #3. */ diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h index 51948eb..5710c15 100644 --- a/include/linux/spi/ads7846.h +++ b/include/linux/spi/ads7846.h @@ -12,7 +12,7 @@ enum ads7846_filter { }; struct ads7846_platform_data { - u16 model; /* 7843, 7845, 7846. */ + u16 model; /* 7843, 7845, 7846, 7873. */ u16 vref_delay_usecs; /* 0 for external vref; etc */ u16 vref_mv; /* external vref value, milliVolts */ bool keep_vref_on; /* set to keep vref on for differential -- cgit v0.10.2 From 4eb6f91b95e7618eae0103b6cba7c7f01f9d40f3 Mon Sep 17 00:00:00 2001 From: Michael Hennerich Date: Tue, 9 Mar 2010 20:38:47 -0800 Subject: Input: ad7877 - increase pen up imeout The time interval between consecutive interrupts depends on a number of tunables: first_conversion_delay, acquisition_time, averaging and foremost the pen_down_acc_interval. Since the mod_timer() action for the PEN UP event happens in the spi_async() callback function, latencies incurred by the spi bus drivers also need to be taken into account. So all in all, give the PEN UP event a bit more wiggle room and increase timeout to 100ms. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/touchscreen/ad7877.c b/drivers/input/touchscreen/ad7877.c index eb83939c..e019d53 100644 --- a/drivers/input/touchscreen/ad7877.c +++ b/drivers/input/touchscreen/ad7877.c @@ -46,7 +46,7 @@ #include #include -#define TS_PEN_UP_TIMEOUT msecs_to_jiffies(50) +#define TS_PEN_UP_TIMEOUT msecs_to_jiffies(100) #define MAX_SPI_FREQ_HZ 20000000 #define MAX_12BIT ((1<<12)-1) -- cgit v0.10.2 From dc1d628a67a8f042e711ea5accc0beedc3ef0092 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 3 Mar 2010 15:55:04 +0100 Subject: perf: Provide generic perf_sample_data initialization This makes it easier to extend perf_sample_data and fixes a bug on arm and sparc, which failed to set ->raw to NULL, which can cause crashes when combined with PERF_SAMPLE_RAW. It also optimizes PowerPC and tracepoint, because the struct initialization is forced to zero out the whole structure. Signed-off-by: Peter Zijlstra Acked-by: Jean Pihet Reviewed-by: Frederic Weisbecker Acked-by: David S. Miller Cc: Jamie Iles Cc: Paul Mackerras Cc: Stephane Eranian Cc: stable@kernel.org LKML-Reference: <20100304140100.315416040@chello.nl> Signed-off-by: Ingo Molnar diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c index c54ceb3..3875d99 100644 --- a/arch/arm/kernel/perf_event.c +++ b/arch/arm/kernel/perf_event.c @@ -965,7 +965,7 @@ armv6pmu_handle_irq(int irq_num, */ armv6_pmcr_write(pmcr); - data.addr = 0; + perf_sample_data_init(&data, 0); cpuc = &__get_cpu_var(cpu_hw_events); for (idx = 0; idx <= armpmu->num_events; ++idx) { @@ -1945,7 +1945,7 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev) */ regs = get_irq_regs(); - data.addr = 0; + perf_sample_data_init(&data, 0); cpuc = &__get_cpu_var(cpu_hw_events); for (idx = 0; idx <= armpmu->num_events; ++idx) { diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c index b6cf8f1..5120bd4 100644 --- a/arch/powerpc/kernel/perf_event.c +++ b/arch/powerpc/kernel/perf_event.c @@ -1164,10 +1164,10 @@ static void record_and_restart(struct perf_event *event, unsigned long val, * Finally record data if requested. */ if (record) { - struct perf_sample_data data = { - .addr = ~0ULL, - .period = event->hw.last_period, - }; + struct perf_sample_data data; + + perf_sample_data_init(&data, ~0ULL); + data.period = event->hw.last_period; if (event->attr.sample_type & PERF_SAMPLE_ADDR) perf_get_data_addr(regs, &data.addr); diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 9f2b2ba..6504208 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c @@ -1189,7 +1189,7 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self, regs = args->regs; - data.addr = 0; + perf_sample_data_init(&data, 0); cpuc = &__get_cpu_var(cpu_hw_events); diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 97cddbf..42aafd1 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c @@ -1097,8 +1097,7 @@ static int x86_pmu_handle_irq(struct pt_regs *regs) int idx, handled = 0; u64 val; - data.addr = 0; - data.raw = NULL; + perf_sample_data_init(&data, 0); cpuc = &__get_cpu_var(cpu_hw_events); diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c index 73102df..44b60c8 100644 --- a/arch/x86/kernel/cpu/perf_event_intel.c +++ b/arch/x86/kernel/cpu/perf_event_intel.c @@ -590,10 +590,9 @@ static void intel_pmu_drain_bts_buffer(void) ds->bts_index = ds->bts_buffer_base; + perf_sample_data_init(&data, 0); data.period = event->hw.last_period; - data.addr = 0; - data.raw = NULL; regs.ip = 0; /* @@ -742,8 +741,7 @@ static int intel_pmu_handle_irq(struct pt_regs *regs) int bit, loops; u64 ack, status; - data.addr = 0; - data.raw = NULL; + perf_sample_data_init(&data, 0); cpuc = &__get_cpu_var(cpu_hw_events); diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 90e0521..6f8cd7d 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h @@ -801,6 +801,13 @@ struct perf_sample_data { struct perf_raw_record *raw; }; +static inline +void perf_sample_data_init(struct perf_sample_data *data, u64 addr) +{ + data->addr = addr; + data->raw = NULL; +} + extern void perf_output_sample(struct perf_output_handle *handle, struct perf_event_header *header, struct perf_sample_data *data, diff --git a/kernel/perf_event.c b/kernel/perf_event.c index e687450..4393b9e 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -4108,8 +4108,7 @@ void __perf_sw_event(u32 event_id, u64 nr, int nmi, if (rctx < 0) return; - data.addr = addr; - data.raw = NULL; + perf_sample_data_init(&data, addr); do_perf_sw_event(PERF_TYPE_SOFTWARE, event_id, nr, nmi, &data, regs); @@ -4154,11 +4153,10 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer) struct perf_event *event; u64 period; - event = container_of(hrtimer, struct perf_event, hw.hrtimer); + event = container_of(hrtimer, struct perf_event, hw.hrtimer); event->pmu->read(event); - data.addr = 0; - data.raw = NULL; + perf_sample_data_init(&data, 0); data.period = event->hw.last_period; regs = get_irq_regs(); /* @@ -4322,17 +4320,15 @@ static const struct pmu perf_ops_task_clock = { void perf_tp_event(int event_id, u64 addr, u64 count, void *record, int entry_size) { + struct pt_regs *regs = get_irq_regs(); + struct perf_sample_data data; struct perf_raw_record raw = { .size = entry_size, .data = record, }; - struct perf_sample_data data = { - .addr = addr, - .raw = &raw, - }; - - struct pt_regs *regs = get_irq_regs(); + perf_sample_data_init(&data, addr); + data.raw = &raw; if (!regs) regs = task_pt_regs(current); @@ -4448,8 +4444,7 @@ void perf_bp_event(struct perf_event *bp, void *data) struct perf_sample_data sample; struct pt_regs *regs = data; - sample.raw = NULL; - sample.addr = bp->attr.bp_addr; + perf_sample_data_init(&sample, bp->attr.bp_addr); if (!perf_exclude_event(bp, regs)) perf_swevent_add(bp, 1, 1, &sample, regs); -- cgit v0.10.2 From fe7a26257a4191de6047f7e1d38832472eb22f85 Mon Sep 17 00:00:00 2001 From: Ursula Braun Date: Mon, 8 Mar 2010 20:36:53 +0000 Subject: qeth: enable kmsg hash processing in qeth_core_sys.c provide qeth kmsg definitions to enable hash string generation for kernel message created with dev_err(). Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller diff --git a/drivers/s390/net/qeth_core_sys.c b/drivers/s390/net/qeth_core_sys.c index 88ae435..25dfd5a 100644 --- a/drivers/s390/net/qeth_core_sys.c +++ b/drivers/s390/net/qeth_core_sys.c @@ -8,6 +8,9 @@ * Frank Blaschka */ +#define KMSG_COMPONENT "qeth" +#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt + #include #include #include -- cgit v0.10.2 From 21fde749cbf71d03e8cf87a7a9a45349597e138a Mon Sep 17 00:00:00 2001 From: Frank Blaschka Date: Mon, 8 Mar 2010 20:36:54 +0000 Subject: qeth: l3 send dhcp in non pass thru mode dhcp frames are valid IPv4 packets so there is no need to send them in pass thru mode. This allows dhcp packets to pass HiperSockets. Also the dhcp release frame is send out correctly with this patch. Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky Signed-off-by: David S. Miller diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index a3ac445..fcd005a 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -763,7 +763,8 @@ static inline int qeth_get_micros(void) static inline int qeth_get_ip_version(struct sk_buff *skb) { - switch (skb->protocol) { + struct ethhdr *ehdr = (struct ethhdr *)skb->data; + switch (ehdr->h_proto) { case ETH_P_IPV6: return 6; case ETH_P_IP: diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index 5475834..42fe92c 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -2900,10 +2900,8 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) int data_offset = -1; int nr_frags; - if ((card->info.type == QETH_CARD_TYPE_IQD) && - (((skb->protocol != htons(ETH_P_IPV6)) && - (skb->protocol != htons(ETH_P_IP))) || - card->options.sniffer)) + if (((card->info.type == QETH_CARD_TYPE_IQD) && (!ipv)) || + card->options.sniffer) goto tx_drop; if ((card->state != CARD_STATE_UP) || !card->lan_online) { @@ -2949,14 +2947,14 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) if (data_offset < 0) skb_pull(new_skb, ETH_HLEN); } else { - if (new_skb->protocol == htons(ETH_P_IP)) { + if (ipv == 4) { if (card->dev->type == ARPHRD_IEEE802_TR) skb_pull(new_skb, TR_HLEN); else skb_pull(new_skb, ETH_HLEN); } - if (new_skb->protocol == ETH_P_IPV6 && card->vlangrp && + if (ipv == 6 && card->vlangrp && vlan_tx_tag_present(new_skb)) { skb_push(new_skb, VLAN_HLEN); skb_copy_to_linear_data(new_skb, new_skb->data + 4, 4); -- cgit v0.10.2 From a959189a978e0104e8aa7f1522f5eff42d891456 Mon Sep 17 00:00:00 2001 From: Ursula Braun Date: Mon, 8 Mar 2010 20:36:55 +0000 Subject: qeth: set promisc off after trace disabling failure If HiperSockets Network Traffic Analyzer is switched off, but trace disabling fails somehow, the qeth driver does not switch off its promisc mode status. A following sniffer reactivation fails, since qeth does not see a need to reenable tracing. At the same time the code analyzing results of trace commands is restructured. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index 42fe92c..cd746da 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -1691,39 +1691,43 @@ qeth_diags_trace_cb(struct qeth_card *card, struct qeth_reply *reply, cmd = (struct qeth_ipa_cmd *)data; rc = cmd->hdr.return_code; - if (rc) { + if (rc) QETH_DBF_TEXT_(TRACE, 2, "dxter%x", rc); - if (cmd->data.diagass.action == QETH_DIAGS_CMD_TRACE_ENABLE) { - switch (rc) { - case IPA_RC_HARDWARE_AUTH_ERROR: - dev_warn(&card->gdev->dev, "The device is not " - "authorized to run as a HiperSockets " - "network traffic analyzer\n"); - break; - case IPA_RC_TRACE_ALREADY_ACTIVE: - dev_warn(&card->gdev->dev, "A HiperSockets " - "network traffic analyzer is already " - "active in the HiperSockets LAN\n"); - break; - default: - break; - } - } - return 0; - } - switch (cmd->data.diagass.action) { case QETH_DIAGS_CMD_TRACE_QUERY: break; case QETH_DIAGS_CMD_TRACE_DISABLE: - card->info.promisc_mode = SET_PROMISC_MODE_OFF; - dev_info(&card->gdev->dev, "The HiperSockets network traffic " - "analyzer is deactivated\n"); + switch (rc) { + case 0: + case IPA_RC_INVALID_SUBCMD: + card->info.promisc_mode = SET_PROMISC_MODE_OFF; + dev_info(&card->gdev->dev, "The HiperSockets network " + "traffic analyzer is deactivated\n"); + break; + default: + break; + } break; case QETH_DIAGS_CMD_TRACE_ENABLE: - card->info.promisc_mode = SET_PROMISC_MODE_ON; - dev_info(&card->gdev->dev, "The HiperSockets network traffic " - "analyzer is activated\n"); + switch (rc) { + case 0: + card->info.promisc_mode = SET_PROMISC_MODE_ON; + dev_info(&card->gdev->dev, "The HiperSockets network " + "traffic analyzer is activated\n"); + break; + case IPA_RC_HARDWARE_AUTH_ERROR: + dev_warn(&card->gdev->dev, "The device is not " + "authorized to run as a HiperSockets network " + "traffic analyzer\n"); + break; + case IPA_RC_TRACE_ALREADY_ACTIVE: + dev_warn(&card->gdev->dev, "A HiperSockets " + "network traffic analyzer is already " + "active in the HiperSockets LAN\n"); + break; + default: + break; + } break; default: QETH_DBF_MESSAGE(2, "Unknown sniffer action (0x%04x) on %s\n", -- cgit v0.10.2 From 869da90b9ae39f0d5b9b5aa3a84502684a6aa1f4 Mon Sep 17 00:00:00 2001 From: Ursula Braun Date: Mon, 8 Mar 2010 20:36:56 +0000 Subject: qeth: no recovery after layer mismatch (z/VM NICs) Depending on their definition in z/VM, virtual devices for z/VM VSWITCH or GuestLAN must be configured either in layer2 or in layer3 mode. If qeth detects a layer mismatch, device activation fails. Trying to recover from this error cannot help; thus scheduling a recovery should be avoided. In addition, since recovery is forbidden during online setting of a qeth device, existence of its network device is guaranteed for all dev_close() calls in qeth. The corresponding checks can be removed. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index fa8a519..834830a 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -537,7 +537,8 @@ static void qeth_send_control_data_cb(struct qeth_channel *channel, dev_err(&card->gdev->dev, "The qeth device is not configured " "for the OSI layer required by z/VM\n"); - qeth_schedule_recovery(card); + else + qeth_schedule_recovery(card); goto out; } diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 51fde6f..6f1e303 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c @@ -1071,11 +1071,9 @@ static int qeth_l2_recover(void *ptr) dev_info(&card->gdev->dev, "Device successfully recovered!\n"); else { - if (card->dev) { - rtnl_lock(); - dev_close(card->dev); - rtnl_unlock(); - } + rtnl_lock(); + dev_close(card->dev); + rtnl_unlock(); dev_warn(&card->gdev->dev, "The qeth device driver " "failed to recover an error on the device\n"); } @@ -1129,11 +1127,9 @@ static int qeth_l2_pm_resume(struct ccwgroup_device *gdev) if (card->state == CARD_STATE_RECOVER) { rc = __qeth_l2_set_online(card->gdev, 1); if (rc) { - if (card->dev) { - rtnl_lock(); - dev_close(card->dev); - rtnl_unlock(); - } + rtnl_lock(); + dev_close(card->dev); + rtnl_unlock(); } } else rc = __qeth_l2_set_online(card->gdev, 0); diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index cd746da..b3b6e87 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -2219,11 +2219,9 @@ static int qeth_l3_stop_card(struct qeth_card *card, int recovery_mode) if (recovery_mode) qeth_l3_stop(card->dev); else { - if (card->dev) { - rtnl_lock(); - dev_close(card->dev); - rtnl_unlock(); - } + rtnl_lock(); + dev_close(card->dev); + rtnl_unlock(); } if (!card->use_hard_stop) { rc = qeth_send_stoplan(card); @@ -3536,11 +3534,9 @@ static int qeth_l3_pm_resume(struct ccwgroup_device *gdev) if (card->state == CARD_STATE_RECOVER) { rc = __qeth_l3_set_online(card->gdev, 1); if (rc) { - if (card->dev) { - rtnl_lock(); - dev_close(card->dev); - rtnl_unlock(); - } + rtnl_lock(); + dev_close(card->dev); + rtnl_unlock(); } } else rc = __qeth_l3_set_online(card->gdev, 0); -- cgit v0.10.2 From 78cb27939ff4fd66d7f76cfe7c59c0fdf1b29ed8 Mon Sep 17 00:00:00 2001 From: Frank Blaschka Date: Mon, 8 Mar 2010 20:36:57 +0000 Subject: qeth: change checksumming default for HiperSockets Deactivate inbound checksumming on HiperSocket is a valid but dangerous optimization in case the frame is routed from an OSA network to an HiperSockets network. To go for sure we change the default to software checksumming. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 834830a..c9f5af5 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -1114,8 +1114,6 @@ static int qeth_setup_card(struct qeth_card *card) card->ipato.enabled = 0; card->ipato.invert4 = 0; card->ipato.invert6 = 0; - if (card->info.type == QETH_CARD_TYPE_IQD) - card->options.checksum_type = NO_CHECKSUMMING; /* init QDIO stuff */ qeth_init_qdio_info(card); return 0; -- cgit v0.10.2 From fe234f0e5cbb880792d2d1ac0743cf8c07e9dde3 Mon Sep 17 00:00:00 2001 From: Louis Rilling Date: Tue, 9 Mar 2010 06:14:41 +0000 Subject: tg3: Fix tg3_poll_controller() passing wrong pointer to tg3_interrupt() Commit 09943a1819a240ff4a72f924d0038818fcdd0a90 Author: Matt Carlson Date: Fri Aug 28 14:01:57 2009 +0000 tg3: Convert ISR parameter to tnapi forgot to update tg3_poll_controller(), leading to intermittent crashes with netpoll. Fix this. Signed-off-by: Louis Rilling Cc: stable@kernel.org Signed-off-by: David S. Miller diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 0fa7688..c3b4fe7 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -5279,7 +5279,7 @@ static void tg3_poll_controller(struct net_device *dev) struct tg3 *tp = netdev_priv(dev); for (i = 0; i < tp->irq_cnt; i++) - tg3_interrupt(tp->napi[i].irq_vec, dev); + tg3_interrupt(tp->napi[i].irq_vec, &tp->napi[i]); } #endif -- cgit v0.10.2 From bb134d5d9580fc7b945e3bca3c4b263947022966 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Tue, 9 Mar 2010 05:55:56 +0000 Subject: tcp: Fix tcp_v4_rcv() Commit d218d111 (tcp: Generalized TTL Security Mechanism) added a bug for TIMEWAIT sockets. We should not test min_ttl for TW sockets. Reported-by: Tetsuo Handa Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 8d51d39..70df409 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1651,15 +1651,15 @@ int tcp_v4_rcv(struct sk_buff *skb) if (!sk) goto no_tcp_socket; +process: + if (sk->sk_state == TCP_TIME_WAIT) + goto do_time_wait; + if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP); goto discard_and_relse; } -process: - if (sk->sk_state == TCP_TIME_WAIT) - goto do_time_wait; - if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) goto discard_and_relse; nf_reset(skb); -- cgit v0.10.2 From 0a141509ede48ac33ef756ac1640f4d3f46fa2db Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Tue, 9 Mar 2010 19:40:54 +0000 Subject: net: Annotates neigh_invalidate() Annotates neigh_invalidate() with __releases() and __acquires() for sparse sake. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/net/core/neighbour.c b/net/core/neighbour.c index d102f6d..6cee643 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -771,6 +771,8 @@ static __inline__ int neigh_max_probes(struct neighbour *n) } static void neigh_invalidate(struct neighbour *neigh) + __releases(neigh->lock) + __acquires(neigh->lock) { struct sk_buff *skb; -- cgit v0.10.2 From 3041f5170751e3522aa1bd6e8ca5d98e846720b0 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Tue, 9 Mar 2010 19:09:08 +0000 Subject: net: Fix dev_mc_add() Commit 6e17d45a (net: add addr len check to dev_mc_add) added a bug in dev_mc_add(), since it can now exit with a lock imbalance. Signed-off-by: Eric Dumazet CC: Jiri Pirko Signed-off-by: David S. Miller diff --git a/net/core/dev_mcast.c b/net/core/dev_mcast.c index fd91569..3dc295b 100644 --- a/net/core/dev_mcast.c +++ b/net/core/dev_mcast.c @@ -97,8 +97,9 @@ int dev_mc_add(struct net_device *dev, void *addr, int alen, int glbl) netif_addr_lock_bh(dev); if (alen != dev->addr_len) - return -EINVAL; - err = __dev_addr_add(&dev->mc_list, &dev->mc_count, addr, alen, glbl); + err = -EINVAL; + else + err = __dev_addr_add(&dev->mc_list, &dev->mc_count, addr, alen, glbl); if (!err) __dev_set_rx_mode(dev); netif_addr_unlock_bh(dev); -- cgit v0.10.2 From 2b4c32972b9bcfee29d5e2c1b6f261dda5ef2a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?YOSHIFUJI=20Hideaki=20/=20=E5=90=89=E8=97=A4=E8=8B=B1?= =?UTF-8?q?=E6=98=8E?= Date: Tue, 9 Mar 2010 16:47:52 +0000 Subject: ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}. Commit a43912ab19... ("tunnel: eliminate recursion field") eliminated use of recursion field from tunnel structures, but its definition still exists in ip6_tnl{}. Let's remove that unused field. Signed-off-by: YOSHIFUJI Hideaki Acked-by: Eric Dumazet Signed-off-by: David S. Miller diff --git a/include/net/ip6_tunnel.h b/include/net/ip6_tunnel.h index 83b4e00..fbf9d1c 100644 --- a/include/net/ip6_tunnel.h +++ b/include/net/ip6_tunnel.h @@ -15,7 +15,6 @@ struct ip6_tnl { struct ip6_tnl *next; /* next tunnel in list */ struct net_device *dev; /* virtual device associated with tunnel */ - int recursion; /* depth of hard_start_xmit recursion */ struct ip6_tnl_parm parms; /* tunnel configuration parameters */ struct flowi fl; /* flowi template for xmit */ struct dst_entry *dst_cache; /* cached dst */ -- cgit v0.10.2 From 7f29a3baa825725d29db399663790d15c78cddcf Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Tue, 9 Mar 2010 12:24:38 +0000 Subject: asix: fix setting mac address for AX88772 Setting new MAC address only worked when device was set to promiscuous mode. Fix MAC address by writing new address to device using undocumented command AX_CMD_READ_NODE_ID+1. Patch is tested with AX88772 device. Signed-off-by: Jussi Kivilinna Acked-by: David Hollis Signed-off-by: David S. Miller diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c index 20e3460..9e05639 100644 --- a/drivers/net/usb/asix.c +++ b/drivers/net/usb/asix.c @@ -54,6 +54,7 @@ static const char driver_name [] = "asix"; #define AX_CMD_WRITE_IPG0 0x12 #define AX_CMD_WRITE_IPG1 0x13 #define AX_CMD_READ_NODE_ID 0x13 +#define AX_CMD_WRITE_NODE_ID 0x14 #define AX_CMD_WRITE_IPG2 0x14 #define AX_CMD_WRITE_MULTI_FILTER 0x16 #define AX88172_CMD_READ_NODE_ID 0x17 @@ -165,6 +166,7 @@ static const char driver_name [] = "asix"; /* This structure cannot exceed sizeof(unsigned long [5]) AKA 20 bytes */ struct asix_data { u8 multi_filter[AX_MCAST_FILTER_SIZE]; + u8 mac_addr[ETH_ALEN]; u8 phymode; u8 ledmode; u8 eeprom_len; @@ -732,6 +734,30 @@ static int asix_ioctl (struct net_device *net, struct ifreq *rq, int cmd) return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); } +static int asix_set_mac_address(struct net_device *net, void *p) +{ + struct usbnet *dev = netdev_priv(net); + struct asix_data *data = (struct asix_data *)&dev->data; + struct sockaddr *addr = p; + + if (netif_running(net)) + return -EBUSY; + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + + memcpy(net->dev_addr, addr->sa_data, ETH_ALEN); + + /* We use the 20 byte dev->data + * for our 6 byte mac buffer + * to avoid allocating memory that + * is tricky to free later */ + memcpy(data->mac_addr, addr->sa_data, ETH_ALEN); + asix_write_cmd_async(dev, AX_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN, + data->mac_addr); + + return 0; +} + /* We need to override some ethtool_ops so we require our own structure so we don't interfere with other usbnet devices that may be connected at the same time. */ @@ -919,7 +945,7 @@ static const struct net_device_ops ax88772_netdev_ops = { .ndo_start_xmit = usbnet_start_xmit, .ndo_tx_timeout = usbnet_tx_timeout, .ndo_change_mtu = usbnet_change_mtu, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = asix_set_mac_address, .ndo_validate_addr = eth_validate_addr, .ndo_do_ioctl = asix_ioctl, .ndo_set_multicast_list = asix_set_multicast, @@ -1213,7 +1239,7 @@ static const struct net_device_ops ax88178_netdev_ops = { .ndo_stop = usbnet_stop, .ndo_start_xmit = usbnet_start_xmit, .ndo_tx_timeout = usbnet_tx_timeout, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = asix_set_mac_address, .ndo_validate_addr = eth_validate_addr, .ndo_set_multicast_list = asix_set_multicast, .ndo_do_ioctl = asix_ioctl, -- cgit v0.10.2 From 717ea4b3474852057b1ce2c639ce219f4f8d3a8d Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Wed, 10 Mar 2010 07:37:06 -0800 Subject: net: add ColdFire support to the smc91x driver Some embedded ColdFire based boards use the SMC 91x family of ethernet devices. (For example the Freescale M5249C3 and MoretonBay NETtel). Add IO access support to the SMC91x driver, and allow this driver to be configured for ColdFire platforms. Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 7029cd5..0ba5b8e 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -907,7 +907,7 @@ config SMC91X select CRC32 select MII depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || \ - MIPS || BLACKFIN || MN10300 + MIPS || BLACKFIN || MN10300 || COLDFIRE help This is a driver for SMC's 91x series of Ethernet chipsets, including the SMC91C94 and the SMC91C111. Say Y if you want it diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index a6ee883..8d2772c 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -344,6 +344,34 @@ static inline void LPD7_SMC_outsw (unsigned char* a, int r, #define SMC_IRQ_FLAGS IRQF_TRIGGER_HIGH +#elif defined(CONFIG_COLDFIRE) + +#define SMC_CAN_USE_8BIT 0 +#define SMC_CAN_USE_16BIT 1 +#define SMC_CAN_USE_32BIT 0 +#define SMC_NOWAIT 1 + +static inline void mcf_insw(void *a, unsigned char *p, int l) +{ + u16 *wp = (u16 *) p; + while (l-- > 0) + *wp++ = readw(a); +} + +static inline void mcf_outsw(void *a, unsigned char *p, int l) +{ + u16 *wp = (u16 *) p; + while (l-- > 0) + writew(*wp++, a); +} + +#define SMC_inw(a, r) _swapw(readw((a) + (r))) +#define SMC_outw(v, a, r) writew(_swapw(v), (a) + (r)) +#define SMC_insw(a, r, p, l) mcf_insw(a + r, p, l) +#define SMC_outsw(a, r, p, l) mcf_outsw(a + r, p, l) + +#define SMC_IRQ_FLAGS (IRQF_DISABLED) + #else /* -- cgit v0.10.2 From e5a9a35cb9c0d92d7c986cb3696fb794be100087 Mon Sep 17 00:00:00 2001 From: Helmut Schaa Date: Fri, 5 Mar 2010 17:44:22 +0100 Subject: rt2x00: remove KSEG1ADDR define from rt2x00soc.h Remove the KSEG1ADDR define from rt2x00soc.h as it redefines and covers the correct one from the arch/mips/include/asm/addrspace.h. Otherwise the driver oopses on the target platform (Ralink rt3050 board). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/rt2x00/rt2x00soc.h b/drivers/net/wireless/rt2x00/rt2x00soc.h index 4739edf..474cbfc 100644 --- a/drivers/net/wireless/rt2x00/rt2x00soc.h +++ b/drivers/net/wireless/rt2x00/rt2x00soc.h @@ -26,8 +26,6 @@ #ifndef RT2X00SOC_H #define RT2X00SOC_H -#define KSEG1ADDR(__ptr) __ptr - /* * SoC driver handlers. */ -- cgit v0.10.2 From 38a679a52be13d5a0c766597ab823e06688d6e8e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 6 Mar 2010 18:35:08 +0200 Subject: mac80211: Fix sta_mtx unlocking on insert STA failure path Commit 34e895075e21be3e21e71d6317440d1ee7969ad0 introduced sta_mtx locking into sta_info_insert() (now sta_info_insert_rcu), but forgot to unlock this mutex on one of the error paths. Fix this by adding the missing mutex_unlock() call for the case where STA insert fails due to an entry existing already. This may happen at least in AP mode when a STA roams between two BSSes (vifs). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 211c475..56422d8 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -434,6 +434,7 @@ int sta_info_insert_rcu(struct sta_info *sta) __acquires(RCU) /* check if STA exists already */ if (sta_info_get_bss(sdata, sta->sta.addr)) { spin_unlock_irqrestore(&local->sta_lock, flags); + mutex_unlock(&local->sta_mtx); rcu_read_lock(); err = -EEXIST; goto out_free; -- cgit v0.10.2 From 8e59340e4fb65cfd748eaa1e23db057c52520f35 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Mon, 8 Mar 2010 13:18:03 +0800 Subject: libipw: split ieee->networks into small pieces The ieee->networks consists of 128 struct libipw_network entries. If we allocate this chunk of memory altogether, it ends up with an order 4 page allocation. High order page allocation is likely to fail on system high load. This patch splits the big chunk memory allocation into small pieces, each is 344 bytes, allocates them with 128 times. The patch fixed bug http://bugzilla.kernel.org/show_bug.cgi?id=14989 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ipw2x00/libipw.h b/drivers/net/wireless/ipw2x00/libipw.h index bf45391..a6d5e42 100644 --- a/drivers/net/wireless/ipw2x00/libipw.h +++ b/drivers/net/wireless/ipw2x00/libipw.h @@ -797,7 +797,7 @@ struct libipw_device { /* Probe / Beacon management */ struct list_head network_free_list; struct list_head network_list; - struct libipw_network *networks; + struct libipw_network *networks[MAX_NETWORK_COUNT]; int scans; int scan_age; diff --git a/drivers/net/wireless/ipw2x00/libipw_module.c b/drivers/net/wireless/ipw2x00/libipw_module.c index 1ae0b2b..2fa5586 100644 --- a/drivers/net/wireless/ipw2x00/libipw_module.c +++ b/drivers/net/wireless/ipw2x00/libipw_module.c @@ -67,16 +67,17 @@ void *libipw_wiphy_privid = &libipw_wiphy_privid; static int libipw_networks_allocate(struct libipw_device *ieee) { - if (ieee->networks) - return 0; - - ieee->networks = - kzalloc(MAX_NETWORK_COUNT * sizeof(struct libipw_network), - GFP_KERNEL); - if (!ieee->networks) { - printk(KERN_WARNING "%s: Out of memory allocating beacons\n", - ieee->dev->name); - return -ENOMEM; + int i, j; + + for (i = 0; i < MAX_NETWORK_COUNT; i++) { + ieee->networks[i] = kzalloc(sizeof(struct libipw_network), + GFP_KERNEL); + if (!ieee->networks[i]) { + LIBIPW_ERROR("Out of memory allocating beacons\n"); + for (j = 0; j < i; j++) + kfree(ieee->networks[j]); + return -ENOMEM; + } } return 0; @@ -97,15 +98,11 @@ static inline void libipw_networks_free(struct libipw_device *ieee) { int i; - if (!ieee->networks) - return; - - for (i = 0; i < MAX_NETWORK_COUNT; i++) - if (ieee->networks[i].ibss_dfs) - kfree(ieee->networks[i].ibss_dfs); - - kfree(ieee->networks); - ieee->networks = NULL; + for (i = 0; i < MAX_NETWORK_COUNT; i++) { + if (ieee->networks[i]->ibss_dfs) + kfree(ieee->networks[i]->ibss_dfs); + kfree(ieee->networks[i]); + } } void libipw_networks_age(struct libipw_device *ieee, @@ -130,7 +127,7 @@ static void libipw_networks_initialize(struct libipw_device *ieee) INIT_LIST_HEAD(&ieee->network_free_list); INIT_LIST_HEAD(&ieee->network_list); for (i = 0; i < MAX_NETWORK_COUNT; i++) - list_add_tail(&ieee->networks[i].list, + list_add_tail(&ieee->networks[i]->list, &ieee->network_free_list); } -- cgit v0.10.2 From 8bd8beab49fec3f7d014c328641bd94de3df744b Mon Sep 17 00:00:00 2001 From: Bruno Randolf Date: Tue, 9 Mar 2010 16:55:23 +0900 Subject: ath5k: use fixed antenna for tx descriptors when using a fixed antenna we should use the antenna number in all tx descriptors, otherwise the hardware will sometimes send the frame out on the other antenna. it seems like the hardware does not always respect the default antenna and diversity settings (esp. AR5K_STA_ID1_DEFAULT_ANTENNA). also i would like to note that antenna diversity does not always work correctly on 5414 (at least) when only one antenna is connected: for example all frames might be received on antenna A but still the HW tries to send on antenna B some times, causing packet loss. this is both verified with the antenna statistics output of the previous patch and a spectrum analyzer. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c index 72474c0..ffe253a 100644 --- a/drivers/net/wireless/ath/ath5k/phy.c +++ b/drivers/net/wireless/ath/ath5k/phy.c @@ -1873,7 +1873,7 @@ ath5k_hw_set_antenna_mode(struct ath5k_hw *ah, u8 ant_mode) break; case AR5K_ANTMODE_FIXED_A: def_ant = 1; - tx_ant = 0; + tx_ant = 1; use_def_for_tx = true; update_def_on_tx = false; use_def_for_rts = true; @@ -1882,7 +1882,7 @@ ath5k_hw_set_antenna_mode(struct ath5k_hw *ah, u8 ant_mode) break; case AR5K_ANTMODE_FIXED_B: def_ant = 2; - tx_ant = 0; + tx_ant = 2; use_def_for_tx = true; update_def_on_tx = false; use_def_for_rts = true; -- cgit v0.10.2 From a3b980fd1391e75068ae25f3817728b27bfdb04c Mon Sep 17 00:00:00 2001 From: Bruno Randolf Date: Tue, 9 Mar 2010 16:55:33 +0900 Subject: ath5k: fix TSF reset to reset the TSF, AR5K_BEACON_RESET_TSF has to be 1, not 0. also we have a function for that so use it. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c index a35a7db..c780b55 100644 --- a/drivers/net/wireless/ath/ath5k/reset.c +++ b/drivers/net/wireless/ath/ath5k/reset.c @@ -1379,11 +1379,10 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, ath5k_hw_set_sleep_clock(ah, true); /* - * Disable beacons and reset the register + * Disable beacons and reset the TSF */ - AR5K_REG_DISABLE_BITS(ah, AR5K_BEACON, AR5K_BEACON_ENABLE | - AR5K_BEACON_RESET_TSF); - + AR5K_REG_DISABLE_BITS(ah, AR5K_BEACON, AR5K_BEACON_ENABLE); + ath5k_hw_reset_tsf(ah); return 0; } -- cgit v0.10.2 From 86415d43efd4f7093979cfa8a80232114266f1a4 Mon Sep 17 00:00:00 2001 From: Bruno Randolf Date: Tue, 9 Mar 2010 16:56:05 +0900 Subject: ath5k: fix I/Q calibration (for real) I/Q calibration was completely broken, resulting in a high number of CRC errors on received packets. before i could see around 10% to 20% CRC errors, with this patch they are between 0% and 3%. 1.) the removal of the mask in commit "ath5k: Fix I/Q calibration (f1cf2dbd0f798b71b1590e7aca6647f2caef1649)" resulted in no mask beeing used when writing the I/Q values into the register. additional errors in the calculation of the values (see 2.) resulted too high numbers, exceeding the masks, so wrong values like 0xfffffffe were written. to be safe we should always use the bitmask when writing parts of a register. 2.) using a (s32) cast for q_coff is a wrong conversion to signed, since we convert to a signed value later by substracting 128. this resulted in too low numbers for Q many times, which were limited to -16 by the boundary check later on. 3.) checked everything against the HAL sources and took over comments and minor optimizations from there. 4.) we can't use ENABLE_BITS when we want to write a number (the number can contain zeros). also always write the correction values first and set ENABLE bit last, like the HAL does. Signed-off-by: Bruno Randolf Cc: stable@kernel.org Acked-by: Nick Kossifidis Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c index ffe253a..eff3323 100644 --- a/drivers/net/wireless/ath/ath5k/phy.c +++ b/drivers/net/wireless/ath/ath5k/phy.c @@ -1386,38 +1386,39 @@ static int ath5k_hw_rf511x_calibrate(struct ath5k_hw *ah, goto done; /* Calibration has finished, get the results and re-run */ + + /* work around empty results which can apparently happen on 5212 */ for (i = 0; i <= 10; i++) { iq_corr = ath5k_hw_reg_read(ah, AR5K_PHY_IQRES_CAL_CORR); i_pwr = ath5k_hw_reg_read(ah, AR5K_PHY_IQRES_CAL_PWR_I); q_pwr = ath5k_hw_reg_read(ah, AR5K_PHY_IQRES_CAL_PWR_Q); + ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_CALIBRATE, + "iq_corr:%x i_pwr:%x q_pwr:%x", iq_corr, i_pwr, q_pwr); + if (i_pwr && q_pwr) + break; } i_coffd = ((i_pwr >> 1) + (q_pwr >> 1)) >> 7; q_coffd = q_pwr >> 7; - /* No correction */ - if (i_coffd == 0 || q_coffd == 0) + /* protect against divide by 0 and loss of sign bits */ + if (i_coffd == 0 || q_coffd < 2) goto done; - i_coff = ((-iq_corr) / i_coffd); + i_coff = (-iq_corr) / i_coffd; + i_coff = clamp(i_coff, -32, 31); /* signed 6 bit */ - /* Boundary check */ - if (i_coff > 31) - i_coff = 31; - if (i_coff < -32) - i_coff = -32; + q_coff = (i_pwr / q_coffd) - 128; + q_coff = clamp(q_coff, -16, 15); /* signed 5 bit */ - q_coff = (((s32)i_pwr / q_coffd) - 128); + ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_CALIBRATE, + "new I:%d Q:%d (i_coffd:%x q_coffd:%x)", + i_coff, q_coff, i_coffd, q_coffd); - /* Boundary check */ - if (q_coff > 15) - q_coff = 15; - if (q_coff < -16) - q_coff = -16; - - /* Commit new I/Q value */ - AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_ENABLE | - ((u32)q_coff) | ((u32)i_coff << AR5K_PHY_IQ_CORR_Q_I_COFF_S)); + /* Commit new I/Q values (set enable bit last to match HAL sources) */ + AR5K_REG_WRITE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_Q_I_COFF, i_coff); + AR5K_REG_WRITE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_Q_Q_COFF, q_coff); + AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_ENABLE); /* Re-enable calibration -if we don't we'll commit * the same values again and again */ diff --git a/drivers/net/wireless/ath/ath5k/reg.h b/drivers/net/wireless/ath/ath5k/reg.h index 4cb9c5d..1464f89 100644 --- a/drivers/net/wireless/ath/ath5k/reg.h +++ b/drivers/net/wireless/ath/ath5k/reg.h @@ -2187,6 +2187,7 @@ */ #define AR5K_PHY_IQ 0x9920 /* Register Address */ #define AR5K_PHY_IQ_CORR_Q_Q_COFF 0x0000001f /* Mask for q correction info */ +#define AR5K_PHY_IQ_CORR_Q_Q_COFF_S 0 #define AR5K_PHY_IQ_CORR_Q_I_COFF 0x000007e0 /* Mask for i correction info */ #define AR5K_PHY_IQ_CORR_Q_I_COFF_S 5 #define AR5K_PHY_IQ_CORR_ENABLE 0x00000800 /* Enable i/q correction */ -- cgit v0.10.2 From 5f13bfac0718ce6f83ecba3755f224c3790e8d66 Mon Sep 17 00:00:00 2001 From: Bruno Randolf Date: Tue, 9 Mar 2010 16:56:10 +0900 Subject: ath5k: read eeprom IQ calibration values correctly for G mode we read the IQ correction values (i_cal and q_cal) for G mode from a wrong location (the same shifts as for A mode is applied which is incorrect). use correct locations, matching the docs and HAL sources. also we should write IQ correction only when we have that information in the EEPROM, starting from version 4. also write it in the same way as we do in the periodic recalibration (enable last), just to be sure. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ath/ath5k/eeprom.c b/drivers/net/wireless/ath/ath5k/eeprom.c index 6a3f4da..10b5226 100644 --- a/drivers/net/wireless/ath/ath5k/eeprom.c +++ b/drivers/net/wireless/ath/ath5k/eeprom.c @@ -429,8 +429,8 @@ static int ath5k_eeprom_read_modes(struct ath5k_hw *ah, u32 *offset, ee->ee_margin_tx_rx[mode] = (val >> 8) & 0x3f; AR5K_EEPROM_READ(o++, val); - ee->ee_i_cal[mode] = (val >> 8) & 0x3f; - ee->ee_q_cal[mode] = (val >> 3) & 0x1f; + ee->ee_i_cal[mode] = (val >> 5) & 0x3f; + ee->ee_q_cal[mode] = val & 0x1f; if (ah->ah_ee_version >= AR5K_EEPROM_VERSION_4_2) { AR5K_EEPROM_READ(o++, val); diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c index c780b55..cbf28e3 100644 --- a/drivers/net/wireless/ath/ath5k/reset.c +++ b/drivers/net/wireless/ath/ath5k/reset.c @@ -851,12 +851,15 @@ static void ath5k_hw_commit_eeprom_settings(struct ath5k_hw *ah, AR5K_PHY_OFDM_SELFCORR_CYPWR_THR1, AR5K_INIT_CYCRSSI_THR1); - /* I/Q correction - * TODO: Per channel i/q infos ? */ - AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_IQ, - AR5K_PHY_IQ_CORR_ENABLE | - (ee->ee_i_cal[ee_mode] << AR5K_PHY_IQ_CORR_Q_I_COFF_S) | - ee->ee_q_cal[ee_mode]); + /* I/Q correction (set enable bit last to match HAL sources) */ + /* TODO: Per channel i/q infos ? */ + if (ah->ah_ee_version >= AR5K_EEPROM_VERSION_4_0) { + AR5K_REG_WRITE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_Q_I_COFF, + ee->ee_i_cal[ee_mode]); + AR5K_REG_WRITE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_Q_Q_COFF, + ee->ee_q_cal[ee_mode]); + AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_IQ, AR5K_PHY_IQ_CORR_ENABLE); + } /* Heavy clipping -disable for now */ if (ah->ah_ee_version >= AR5K_EEPROM_VERSION_5_1) -- cgit v0.10.2 From 41093167ec6c1854903a4bc38a37b5740c028984 Mon Sep 17 00:00:00 2001 From: Zhu Yi Date: Tue, 9 Mar 2010 16:05:31 +0800 Subject: ipw2200: use kmalloc for large local variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed below compiler warning: drivers/net/wireless/ipw2x00/ipw2200.c: In function ‘ipw_load_firmware’: drivers/net/wireless/ipw2x00/ipw2200.c:3260: warning: the frame size of 1168 bytes is larger than 1024 bytes Signed-off-by: Zhu Yi Signed-off-by: John W. Linville diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c index 63c2a7a..5c7aa1b 100644 --- a/drivers/net/wireless/ipw2x00/ipw2200.c +++ b/drivers/net/wireless/ipw2x00/ipw2200.c @@ -3177,14 +3177,27 @@ static int ipw_load_firmware(struct ipw_priv *priv, u8 * data, size_t len) int total_nr = 0; int i; struct pci_pool *pool; - u32 *virts[CB_NUMBER_OF_ELEMENTS_SMALL]; - dma_addr_t phys[CB_NUMBER_OF_ELEMENTS_SMALL]; + void **virts; + dma_addr_t *phys; IPW_DEBUG_TRACE("<< : \n"); + virts = kmalloc(sizeof(void *) * CB_NUMBER_OF_ELEMENTS_SMALL, + GFP_KERNEL); + if (!virts) + return -ENOMEM; + + phys = kmalloc(sizeof(dma_addr_t) * CB_NUMBER_OF_ELEMENTS_SMALL, + GFP_KERNEL); + if (!phys) { + kfree(virts); + return -ENOMEM; + } pool = pci_pool_create("ipw2200", priv->pci_dev, CB_MAX_LENGTH, 0, 0); if (!pool) { IPW_ERROR("pci_pool_create failed\n"); + kfree(phys); + kfree(virts); return -ENOMEM; } @@ -3254,6 +3267,8 @@ static int ipw_load_firmware(struct ipw_priv *priv, u8 * data, size_t len) pci_pool_free(pool, virts[i], phys[i]); pci_pool_destroy(pool); + kfree(phys); + kfree(virts); return ret; } -- cgit v0.10.2 From 2a13052fe495948e572839e514e0e0cd236c50b0 Mon Sep 17 00:00:00 2001 From: Juuso Oikarinen Date: Tue, 9 Mar 2010 14:25:02 +0200 Subject: mac80211: Fix (dynamic) power save entry Currently hardware with !IEEE80211_HW_PS_NULLFUNC_STACK and IEEE80211_HW_REPORTS_TX_ACK_STATUS will never enter PSM due to the conditions in the power save entry functions. Fix those conditions. Signed-off-by: Juuso Oikarinen Cc: stable@kernel.org Signed-off-by: John W. Linville diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 0ab284c..be5f723 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -436,10 +436,12 @@ static void ieee80211_enable_ps(struct ieee80211_local *local, if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) ieee80211_send_nullfunc(local, sdata, 1); - if (!(local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)) { - conf->flags |= IEEE80211_CONF_PS; - ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); - } + if ((local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) && + (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)) + return; + + conf->flags |= IEEE80211_CONF_PS; + ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); } } @@ -558,7 +560,8 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work) (!(ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED))) ieee80211_send_nullfunc(local, sdata, 1); - if (!(local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) || + if (!((local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) && + (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK)) || (ifmgd->flags & IEEE80211_STA_NULLFUNC_ACKED)) { ifmgd->flags &= ~IEEE80211_STA_NULLFUNC_ACKED; local->hw.conf.flags |= IEEE80211_CONF_PS; -- cgit v0.10.2 From 51f5f8ca446d4c59041b9b6995821e13208897ea Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Wed, 10 Mar 2010 17:13:36 +0100 Subject: mac80211: Fix memory leak in ieee80211_if_write() Fix memory leak and use kmalloc() instead of kzalloc() as we are going to overwrite the allocated buffer. Signed-off-by: Eric Dumazet Signed-off-by: John W. Linville diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c index 9affe2c..b4ddb2f 100644 --- a/net/mac80211/debugfs_netdev.c +++ b/net/mac80211/debugfs_netdev.c @@ -48,20 +48,24 @@ static ssize_t ieee80211_if_write( ssize_t (*write)(struct ieee80211_sub_if_data *, const char *, int)) { u8 *buf; - ssize_t ret = -ENODEV; + ssize_t ret; - buf = kzalloc(count, GFP_KERNEL); + buf = kmalloc(count, GFP_KERNEL); if (!buf) return -ENOMEM; + ret = -EFAULT; if (copy_from_user(buf, userbuf, count)) - return -EFAULT; + goto freebuf; + ret = -ENODEV; rtnl_lock(); if (sdata->dev->reg_state == NETREG_REGISTERED) ret = (*write)(sdata, buf, count); rtnl_unlock(); +freebuf: + kfree(buf); return ret; } -- cgit v0.10.2 From 04b4b88cca0ebe3813b4b6f014fb6a0db380b137 Mon Sep 17 00:00:00 2001 From: Vadim Zaliva Date: Wed, 10 Mar 2010 23:41:00 -0800 Subject: Input: appletouch - fix integer overflow issue When reading data from Geyser 2 touchpads used on post Oct 2005 Apple PowerBooks the driver was casting X and Y coordinates values to 'signed char'. Testing on one of such PowerBooks I have noticed that touchpad always generates positive values, but some of them are greater that 127, and thus, when cast to 'signed char' being interpreted as a negative. Such bigger values have been observed infrequently, closer to the edges of a touchpad, so the problem was not very visible. Nevertheless, the patch would potentially improve touchpad driver accuracy. Signed-off-by: Vadim Zaliva Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/mouse/appletouch.c b/drivers/input/mouse/appletouch.c index 908b5b4..53ec7dd 100644 --- a/drivers/input/mouse/appletouch.c +++ b/drivers/input/mouse/appletouch.c @@ -205,8 +205,8 @@ struct atp { bool overflow_warned; int x_old; /* last reported x/y, */ int y_old; /* used for smoothing */ - signed char xy_cur[ATP_XSENSORS + ATP_YSENSORS]; - signed char xy_old[ATP_XSENSORS + ATP_YSENSORS]; + u8 xy_cur[ATP_XSENSORS + ATP_YSENSORS]; + u8 xy_old[ATP_XSENSORS + ATP_YSENSORS]; int xy_acc[ATP_XSENSORS + ATP_YSENSORS]; int idlecount; /* number of empty packets */ struct work_struct work; @@ -531,7 +531,7 @@ static void atp_complete_geyser_1_2(struct urb *urb) for (i = 0; i < ATP_XSENSORS + ATP_YSENSORS; i++) { /* accumulate the change */ - signed char change = dev->xy_old[i] - dev->xy_cur[i]; + int change = dev->xy_old[i] - dev->xy_cur[i]; dev->xy_acc[i] -= change; /* prevent down drifting */ -- cgit v0.10.2 From fdba2bb1f2eed85085a0fe154e1acb82de3239f7 Mon Sep 17 00:00:00 2001 From: Ranjith Lohithakshan Date: Wed, 10 Mar 2010 23:41:22 -0800 Subject: Input: ads7846 - add wakeup support Add wakeup support to the ads7846 driver. Platforms can enable wakeup capability by setting the wakeup flag in ads7846_platform_data. With this patch the ads7846 driver can be used to wake the system from suspend. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index d187be0..532279c 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -822,6 +822,9 @@ static int ads7846_suspend(struct spi_device *spi, pm_message_t message) spin_unlock_irq(&ts->lock); + if (device_may_wakeup(&ts->spi->dev)) + enable_irq_wake(ts->spi->irq); + return 0; } @@ -830,6 +833,9 @@ static int ads7846_resume(struct spi_device *spi) { struct ads7846 *ts = dev_get_drvdata(&spi->dev); + if (device_may_wakeup(&ts->spi->dev)) + disable_irq_wake(ts->spi->irq); + spin_lock_irq(&ts->lock); ts->is_suspended = 0; @@ -1201,6 +1207,8 @@ static int __devinit ads7846_probe(struct spi_device *spi) if (err) goto err_remove_attr_group; + device_init_wakeup(&spi->dev, pdata->wakeup); + return 0; err_remove_attr_group: @@ -1230,6 +1238,8 @@ static int __devexit ads7846_remove(struct spi_device *spi) { struct ads7846 *ts = dev_get_drvdata(&spi->dev); + device_init_wakeup(&spi->dev, false); + ads784x_hwmon_unregister(spi, ts); input_unregister_device(ts->input); diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h index 5710c15..b4ae570 100644 --- a/include/linux/spi/ads7846.h +++ b/include/linux/spi/ads7846.h @@ -53,5 +53,6 @@ struct ads7846_platform_data { int (*filter) (void *filter_data, int data_idx, int *val); void (*filter_cleanup)(void *filter_data); void (*wait_for_sync)(void); + bool wakeup; }; -- cgit v0.10.2 From afadb8e08c48d08b75f3caf8404742b13e6b3624 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 10 Mar 2010 23:41:33 -0800 Subject: Input: wm831x-on - convert to use genirq Now that the WM831x core has been converted to use genirq for the interrupt controller there is no need for the client drivers to use a WM831x-specific API rather than just calling genirq directly. Also fixes a leak of the IRQ during init failure - the error path free_irq() was using NULL rather than the driver data as the data pointer so free_irq() wouldn't have matched. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/misc/wm831x-on.c b/drivers/input/misc/wm831x-on.c index ba4f5dd..1e54bce 100644 --- a/drivers/input/misc/wm831x-on.c +++ b/drivers/input/misc/wm831x-on.c @@ -97,8 +97,9 @@ static int __devinit wm831x_on_probe(struct platform_device *pdev) wm831x_on->dev->phys = "wm831x_on/input0"; wm831x_on->dev->dev.parent = &pdev->dev; - ret = wm831x_request_irq(wm831x, irq, wm831x_on_irq, - IRQF_TRIGGER_RISING, "wm831x_on", wm831x_on); + ret = request_threaded_irq(irq, NULL, wm831x_on_irq, + IRQF_TRIGGER_RISING, "wm831x_on", + wm831x_on); if (ret < 0) { dev_err(&pdev->dev, "Unable to request IRQ: %d\n", ret); goto err_input_dev; @@ -114,7 +115,7 @@ static int __devinit wm831x_on_probe(struct platform_device *pdev) return 0; err_irq: - wm831x_free_irq(wm831x, irq, NULL); + free_irq(irq, wm831x_on); err_input_dev: input_free_device(wm831x_on->dev); err: @@ -127,7 +128,7 @@ static int __devexit wm831x_on_remove(struct platform_device *pdev) struct wm831x_on *wm831x_on = platform_get_drvdata(pdev); int irq = platform_get_irq(pdev, 0); - wm831x_free_irq(wm831x_on->wm831x, irq, wm831x_on); + free_irq(irq, wm831x_on); cancel_delayed_work_sync(&wm831x_on->work); input_unregister_device(wm831x_on->dev); kfree(wm831x_on); -- cgit v0.10.2 From 2e95e3f668c85276ce699993596d3b52b0fcf4c5 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Wed, 10 Mar 2010 18:10:19 -0600 Subject: GFS2: Allow the number of committed revokes to temporarily be negative GFS2 tracks the number of revokes and unrevokes that are part of committed transactions via sd_log_commited_revoke. It is possible for one process to add revokes during its transaction, while another process unrevokes them during its transaction. If the second process finishes its transaction first, sd_log_commited_revoke will be decremented by the number of unrevokes that the second process did, without first being incremented by the number of revokes the first process did. This is fine, since all started transactions must be completed before the journal can be flushed. However, sd_log_commited_revoke is an unsigned integer, and log_refund() causes an assertion failure if it would go negative at the end of a transaction. This patch makes sd_log_commited_revoke a signed integer and allows it to go negative. __gfs2_log_flush() still checks that it mataches the actual number of revokes. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index b8025e5..3aac46f 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -616,7 +616,7 @@ struct gfs2_sbd { unsigned int sd_log_blks_reserved; unsigned int sd_log_commited_buf; unsigned int sd_log_commited_databuf; - unsigned int sd_log_commited_revoke; + int sd_log_commited_revoke; unsigned int sd_log_num_buf; unsigned int sd_log_num_revoke; diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 4511b08..e5bf4b5 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c @@ -417,7 +417,7 @@ static unsigned int calc_reserved(struct gfs2_sbd *sdp) databufhdrs_needed = (sdp->sd_log_commited_databuf + (dbuf_limit - 1)) / dbuf_limit; - if (sdp->sd_log_commited_revoke) + if (sdp->sd_log_commited_revoke > 0) revokes = gfs2_struct2blk(sdp, sdp->sd_log_commited_revoke, sizeof(u64)); @@ -790,7 +790,6 @@ static void log_refund(struct gfs2_sbd *sdp, struct gfs2_trans *tr) gfs2_assert_withdraw(sdp, (((int)sdp->sd_log_commited_buf) >= 0) || (((int)sdp->sd_log_commited_databuf) >= 0)); sdp->sd_log_commited_revoke += tr->tr_num_revoke - tr->tr_num_revoke_rm; - gfs2_assert_withdraw(sdp, ((int)sdp->sd_log_commited_revoke) >= 0); reserved = calc_reserved(sdp); gfs2_assert_withdraw(sdp, sdp->sd_log_blks_reserved + tr->tr_reserved >= reserved); unused = sdp->sd_log_blks_reserved - reserved + tr->tr_reserved; -- cgit v0.10.2 From 3f379b03fbfddd20536389a85c6456f8233d1f8d Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Fri, 5 Mar 2010 15:03:25 -0800 Subject: ftrace: Replace read_barrier_depends() with rcu_dereference_raw() Replace the calls to read_barrier_depends() in ftrace_list_func() with rcu_dereference_raw() to improve readability. The reason that we use rcu_dereference_raw() here is that removed entries are never freed, instead they are simply leaked. This is one of a very few cases where use of rcu_dereference_raw() is the long-term right answer. And I don't yet know of any others. ;-) Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: Frederic Weisbecker Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267830207-9474-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 8378357..8c5adc0 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -27,6 +27,7 @@ #include #include #include +#include #include @@ -88,18 +89,22 @@ ftrace_func_t ftrace_pid_function __read_mostly = ftrace_stub; static int ftrace_set_func(unsigned long *array, int *idx, char *buffer); #endif +/* + * Traverse the ftrace_list, invoking all entries. The reason that we + * can use rcu_dereference_raw() is that elements removed from this list + * are simply leaked, so there is no need to interact with a grace-period + * mechanism. The rcu_dereference_raw() calls are needed to handle + * concurrent insertions into the ftrace_list. + * + * Silly Alpha and silly pointer-speculation compiler optimizations! + */ static void ftrace_list_func(unsigned long ip, unsigned long parent_ip) { - struct ftrace_ops *op = ftrace_list; - - /* in case someone actually ports this to alpha! */ - read_barrier_depends(); + struct ftrace_ops *op = rcu_dereference_raw(ftrace_list); /*see above*/ while (op != &ftrace_list_end) { - /* silly alpha */ - read_barrier_depends(); op->func(ip, parent_ip); - op = op->next; + op = rcu_dereference_raw(op->next); /*see above*/ }; } @@ -154,8 +159,7 @@ static int __register_ftrace_function(struct ftrace_ops *ops) * the ops->next pointer is valid before another CPU sees * the ops pointer included into the ftrace_list. */ - smp_wmb(); - ftrace_list = ops; + rcu_assign_pointer(ftrace_list, ops); if (ftrace_enabled) { ftrace_func_t func; -- cgit v0.10.2 From 007b09243b099811124f69d492adeebe9e439f96 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Fri, 5 Mar 2010 15:03:26 -0800 Subject: rcu: Increase RCU CPU stall timeouts if PROVE_RCU CONFIG_PROVE_RCU imposes additional overhead on the kernel, so increase the RCU CPU stall timeouts in an attempt to allow for this effect. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267830207-9474-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/kernel/rcutree.h b/kernel/rcutree.h index 1439eb5..4a525a3 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h @@ -246,12 +246,21 @@ struct rcu_data { #define RCU_JIFFIES_TILL_FORCE_QS 3 /* for rsp->jiffies_force_qs */ #ifdef CONFIG_RCU_CPU_STALL_DETECTOR -#define RCU_SECONDS_TILL_STALL_CHECK (10 * HZ) /* for rsp->jiffies_stall */ -#define RCU_SECONDS_TILL_STALL_RECHECK (30 * HZ) /* for rsp->jiffies_stall */ -#define RCU_STALL_RAT_DELAY 2 /* Allow other CPUs time */ - /* to take at least one */ - /* scheduling clock irq */ - /* before ratting on them. */ + +#ifdef CONFIG_PROVE_RCU +#define RCU_STALL_DELAY_DELTA (5 * HZ) +#else +#define RCU_STALL_DELAY_DELTA 0 +#endif + +#define RCU_SECONDS_TILL_STALL_CHECK (10 * HZ + RCU_STALL_DELAY_DELTA) + /* for rsp->jiffies_stall */ +#define RCU_SECONDS_TILL_STALL_RECHECK (30 * HZ + RCU_STALL_DELAY_DELTA) + /* for rsp->jiffies_stall */ +#define RCU_STALL_RAT_DELAY 2 /* Allow other CPUs time */ + /* to take at least one */ + /* scheduling clock irq */ + /* before ratting on them. */ #endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ -- cgit v0.10.2 From f56e8a0765cc4374e02f4e3a79e2427b5096b075 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Fri, 5 Mar 2010 15:03:27 -0800 Subject: x86/mce: Fix RCU lockdep splats Create an rcu_dereference_check_mce() that checks for RCU-sched read side and mce_read_mutex being held on update side. Replace uses of rcu_dereference() in arch/x86/kernel/cpu/mcheck/mce.c with this new macro. Signed-off-by: Paul E. McKenney Cc: "H. Peter Anvin" Cc: x86@kernel.org Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index a8aacd4..4442e9e 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -46,6 +46,11 @@ #include "mce-internal.h" +#define rcu_dereference_check_mce(p) \ + rcu_dereference_check((p), \ + rcu_read_lock_sched_held() || \ + lockdep_is_held(&mce_read_mutex)) + #define CREATE_TRACE_POINTS #include @@ -158,7 +163,7 @@ void mce_log(struct mce *mce) mce->finished = 0; wmb(); for (;;) { - entry = rcu_dereference(mcelog.next); + entry = rcu_dereference_check_mce(mcelog.next); for (;;) { /* * When the buffer fills up discard new entries. @@ -1500,7 +1505,7 @@ static ssize_t mce_read(struct file *filp, char __user *ubuf, size_t usize, return -ENOMEM; mutex_lock(&mce_read_mutex); - next = rcu_dereference(mcelog.next); + next = rcu_dereference_check_mce(mcelog.next); /* Only supports full reads right now */ if (*off != 0 || usize < MCE_LOG_LEN*sizeof(struct mce)) { @@ -1565,7 +1570,7 @@ timeout: static unsigned int mce_poll(struct file *file, poll_table *wait) { poll_wait(file, &mce_wait, wait); - if (rcu_dereference(mcelog.next)) + if (rcu_dereference_check_mce(mcelog.next)) return POLLIN | POLLRDNORM; return 0; } -- cgit v0.10.2 From ab3b3aa5dd01b3aaa6b15caee113b21b1b6520c4 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sat, 6 Mar 2010 14:17:52 +0300 Subject: sched: Cleanup: remove unused variable in try_to_wake_up() We haven't used the "orig_rq" variable since 055a00865d "Fix/add missing update_rq_clock() calls" Signed-off-by: Dan Carpenter Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: efault@gmx.de LKML-Reference: <20100306111752.GL4958@bicker> Signed-off-by: Ingo Molnar diff --git a/kernel/sched.c b/kernel/sched.c index 6a212c9..2c1db81 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2359,7 +2359,7 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, { int cpu, orig_cpu, this_cpu, success = 0; unsigned long flags; - struct rq *rq, *orig_rq; + struct rq *rq; if (!sched_feat(SYNC_WAKEUPS)) wake_flags &= ~WF_SYNC; @@ -2367,7 +2367,7 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, this_cpu = get_cpu(); smp_wmb(); - rq = orig_rq = task_rq_lock(p, &flags); + rq = task_rq_lock(p, &flags); update_rq_clock(rq); if (!(p->state & state)) goto out; -- cgit v0.10.2 From 10fb7f1f2d311b4d2e5d881fe2d83f1c281100f9 Mon Sep 17 00:00:00 2001 From: Mike Travis Date: Fri, 5 Mar 2010 13:10:36 -0600 Subject: x86: Reduce per cpu MCA boot up messages Don't write per cpu MCA boot up messages. Signed-of-by: Mike Travis Cc: Hidetoshi Seto Cc: x86@kernel.org Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel.c b/arch/x86/kernel/cpu/mcheck/mce_intel.c index 7c78563..d15df6e 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_intel.c +++ b/arch/x86/kernel/cpu/mcheck/mce_intel.c @@ -95,7 +95,7 @@ static void cmci_discover(int banks, int boot) /* Already owned by someone else? */ if (val & CMCI_EN) { - if (test_and_clear_bit(i, owned) || boot) + if (test_and_clear_bit(i, owned) && !boot) print_update("SHD", &hdr, i); __clear_bit(i, __get_cpu_var(mce_poll_banks)); continue; @@ -107,7 +107,7 @@ static void cmci_discover(int banks, int boot) /* Did the enable bit stick? -- the bank supports CMCI */ if (val & CMCI_EN) { - if (!test_and_set_bit(i, owned) || boot) + if (!test_and_set_bit(i, owned) && !boot) print_update("CMCI", &hdr, i); __clear_bit(i, __get_cpu_var(mce_poll_banks)); } else { -- cgit v0.10.2 From d6dd692168c049196f54edc2e8227c60702bb1d2 Mon Sep 17 00:00:00 2001 From: Mike Travis Date: Fri, 5 Mar 2010 13:10:38 -0600 Subject: x86: Reduce per cpu warning boot up messages Reduce warning message output to one line only instead of per cpu. Signed-of-by: Mike Travis Cc: Rusty Russell Cc: Frederic Weisbecker Cc: Brian Gerst Cc: x86@kernel.org Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index c9b3522..4e8cb4e 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -600,7 +600,7 @@ void __cpuinit select_idle_routine(const struct cpuinfo_x86 *c) { #ifdef CONFIG_SMP if (pm_idle == poll_idle && smp_num_siblings > 1) { - printk(KERN_WARNING "WARNING: polling idle and HT enabled," + printk_once(KERN_WARNING "WARNING: polling idle and HT enabled," " performance may degrade.\n"); } #endif -- cgit v0.10.2 From 3d07467b7aa91623b31d7b5888a123a2c8c8e9cc Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 10 Mar 2010 17:07:24 +0100 Subject: sched: Fix pick_next_highest_task_rt() for cgroups Since pick_next_highest_task_rt() already iterates all the cgroups and is really only interested in tasks, skip over the !task entries. Reported-by: Dhaval Giani Signed-off-by: Peter Zijlstra Tested-by: Dhaval Giani LKML-Reference: Signed-off-by: Ingo Molnar diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index bf3e38f..c4fb42a 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -1146,7 +1146,12 @@ static struct task_struct *pick_next_highest_task_rt(struct rq *rq, int cpu) if (next && next->prio < idx) continue; list_for_each_entry(rt_se, array->queue + idx, run_list) { - struct task_struct *p = rt_task_of(rt_se); + struct task_struct *p; + + if (!rt_entity_is_task(rt_se)) + continue; + + p = rt_task_of(rt_se); if (pick_rt_task(rq, p, cpu)) { next = p; break; -- cgit v0.10.2 From 720e7749279bde0d08684b1bb4e7a2eedeec6394 Mon Sep 17 00:00:00 2001 From: Sachin Prabhu Date: Thu, 11 Mar 2010 12:24:45 -0500 Subject: GFS2: Skip check for mandatory locks when unlocking gfs2_lock() will skip locks on file which have mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped and will result in a BUG in locks_remove_flock(). gfs2_lock() should skip the check for mandatory locks when unlocking a file. Signed-off-by: Sachin Prabhu Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index a6abbae8..e6dd2ae 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -640,7 +640,7 @@ static int gfs2_lock(struct file *file, int cmd, struct file_lock *fl) if (!(fl->fl_flags & FL_POSIX)) return -ENOLCK; - if (__mandatory_lock(&ip->i_inode)) + if (__mandatory_lock(&ip->i_inode) && fl->fl_type != F_UNLCK) return -ENOLCK; if (cmd == F_CANCELLK) { -- cgit v0.10.2 From f0dc117abdfa9a0e96c3d013d836460ef3cd08c7 Mon Sep 17 00:00:00 2001 From: Eli Cohen Date: Wed, 3 Mar 2010 12:27:52 +0000 Subject: IPoIB: Fix TX queue lockup with mixed UD/CM traffic The IPoIB UD QP reports send completions to priv->send_cq, which is usually left unarmed; it only gets armed when the number of outstanding send requests reaches the size of the TX queue. This arming is done only in the send path for the UD QP. However, when sending CM packets, the net queue may be stopped for the same reasons but no measures are taken to recover the UD path from a lockup. Consider this scenario: a host sends high rate of both CM and UD packets, with a TX queue length of N. If at some time the number of outstanding UD packets is more than N/2 and the overall outstanding packets is N-1, and CM sends a packet (making the number of outstanding sends equal N), the TX queue will be stopped. When all the CM packets complete, the number of outstanding packets will still be higher than N/2 so the TX queue will not be restarted. Fix this by calling ib_req_notify_cq() when the queue is stopped in the CM path. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 83a7751..6e3cc86 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -752,6 +752,8 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ if (++priv->tx_outstanding == ipoib_sendq_size) { ipoib_dbg(priv, "TX ring 0x%x full, stopping kernel net queue\n", tx->qp->qp_num); + if (ib_req_notify_cq(priv->send_cq, IB_CQ_NEXT_COMP)) + ipoib_warn(priv, "request notify on send CQ failed\n"); netif_stop_queue(dev); } } -- cgit v0.10.2 From a48f509b26cec53338f4b0abd52ecea35e3974b8 Mon Sep 17 00:00:00 2001 From: Or Gerlitz Date: Thu, 4 Mar 2010 13:17:37 +0000 Subject: IPoIB: Include return code in trace message for ib_post_send() failures Print the return code of ib_post_send() if it fails to make these debugging messages more useful. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 6e3cc86..bc65837 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c @@ -708,6 +708,7 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ struct ipoib_dev_priv *priv = netdev_priv(dev); struct ipoib_cm_tx_buf *tx_req; u64 addr; + int rc; if (unlikely(skb->len > tx->mtu)) { ipoib_warn(priv, "packet len %d (> %d) too long to send, dropping\n", @@ -739,9 +740,10 @@ void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_ tx_req->mapping = addr; - if (unlikely(post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), - addr, skb->len))) { - ipoib_warn(priv, "post_send failed\n"); + rc = post_send(priv, tx, tx->tx_head & (ipoib_sendq_size - 1), + addr, skb->len); + if (unlikely(rc)) { + ipoib_warn(priv, "post_send failed, error %d\n", rc); ++dev->stats.tx_errors; ib_dma_unmap_single(priv->ca, addr, skb->len, DMA_TO_DEVICE); dev_kfree_skb_any(skb); diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index 8c91d9f..5df40b1 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c @@ -529,7 +529,7 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, { struct ipoib_dev_priv *priv = netdev_priv(dev); struct ipoib_tx_buf *tx_req; - int hlen; + int hlen, rc; void *phead; if (skb_is_gso(skb)) { @@ -585,9 +585,10 @@ void ipoib_send(struct net_device *dev, struct sk_buff *skb, netif_stop_queue(dev); } - if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), - address->ah, qpn, tx_req, phead, hlen))) { - ipoib_warn(priv, "post_send failed\n"); + rc = post_send(priv, priv->tx_head & (ipoib_sendq_size - 1), + address->ah, qpn, tx_req, phead, hlen); + if (unlikely(rc)) { + ipoib_warn(priv, "post_send failed, error %d\n", rc); ++dev->stats.tx_errors; --priv->tx_outstanding; ipoib_dma_unmap_tx(priv->ca, tx_req); -- cgit v0.10.2 From 070e140c4c536df33a9870318791b2ca8f7dbfcf Mon Sep 17 00:00:00 2001 From: Steve Wise Date: Thu, 4 Mar 2010 18:18:18 +0000 Subject: IB/mad: Ignore iWARP devices on device removal When an iWARP device is unloaded, the ib_mad module logs errors. It should be ignoring iWARP devices on device removal just like it does on device add. Signed-off-by: Steve Wise Acked-by: Sean Hefty Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c index 58463da..e351b15 100644 --- a/drivers/infiniband/core/mad.c +++ b/drivers/infiniband/core/mad.c @@ -2953,6 +2953,9 @@ static void ib_mad_remove_device(struct ib_device *device) { int i, num_ports, cur_port; + if (rdma_node_get_transport(device->node_type) != RDMA_TRANSPORT_IB) + return; + if (device->node_type == RDMA_NODE_IB_SWITCH) { num_ports = 1; cur_port = 0; -- cgit v0.10.2 From 69960a275efc9d82797bbbe2460a2d6c9cace314 Mon Sep 17 00:00:00 2001 From: Steve Wise Date: Wed, 3 Mar 2010 15:06:34 +0000 Subject: RDMA/cxgb3: Wait at least one schedule cycle during device removal During a hot-plug LLD removal event or an EEH error event, iw_cxgb3 must ensure that any/all threads that might be in a cxgb3 exported function must return from the function before iw_cxgb3 returns from its event processing. Do this by calling synchronize_net(). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/hw/cxgb3/iwch.c b/drivers/infiniband/hw/cxgb3/iwch.c index ee1d8b4..63f975f 100644 --- a/drivers/infiniband/hw/cxgb3/iwch.c +++ b/drivers/infiniband/hw/cxgb3/iwch.c @@ -189,6 +189,7 @@ static void close_rnic_dev(struct t3cdev *tdev) list_for_each_entry_safe(dev, tmp, &dev_list, entry) { if (dev->rdev.t3cdev_p == tdev) { dev->rdev.flags = CXIO_ERROR_FATAL; + synchronize_net(); cancel_delayed_work_sync(&dev->db_drop_task); list_del(&dev->entry); iwch_unregister_device(dev); @@ -217,6 +218,7 @@ static void iwch_event_handler(struct t3cdev *tdev, u32 evt, u32 port_id) switch (evt) { case OFFLOAD_STATUS_DOWN: { rdev->flags = CXIO_ERROR_FATAL; + synchronize_net(); event.event = IB_EVENT_DEVICE_FATAL; dispatch = 1; break; -- cgit v0.10.2 From 883c699241f48667ff59277d8c20790868fd4829 Mon Sep 17 00:00:00 2001 From: Faisal Latif Date: Tue, 2 Mar 2010 17:22:51 -0600 Subject: RDMA/nes: Set assume_aligned_header bit Set assume_aligned_header bit in QP context as requested by hardware group. Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index 815725f..6992829 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c @@ -1323,6 +1323,7 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd, nesqp->nesqp_context->aeq_token_low = cpu_to_le32((u32)((unsigned long)(nesqp))); nesqp->nesqp_context->aeq_token_high = cpu_to_le32((u32)(upper_32_bits((unsigned long)(nesqp)))); nesqp->nesqp_context->ird_ord_sizes = cpu_to_le32(NES_QPCONTEXT_ORDIRD_ALSMM | + NES_QPCONTEXT_ORDIRD_AAH | ((((u32)nesadapter->max_irrq_wr) << NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT) & NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK)); if (disable_mpa_crc) { -- cgit v0.10.2 From 9f29006ae8c85746e5a52d557f689359149a0793 Mon Sep 17 00:00:00 2001 From: Chien Tung Date: Wed, 3 Mar 2010 19:13:28 +0000 Subject: RDMA/nes: Clear stall bit before destroying NIC QP Clear the stall bit to drop any incoming packets while destroying NIC QP. This will prevent a chip resource leak. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c index ce7f538..9250755 100644 --- a/drivers/infiniband/hw/nes/nes_hw.c +++ b/drivers/infiniband/hw/nes/nes_hw.c @@ -1899,9 +1899,14 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) u16 wqe_fragment_index; u64 wqe_frag; u32 cqp_head; + u32 wqm_cfg0; unsigned long flags; int ret; + /* clear wqe stall before destroying NIC QP */ + wqm_cfg0 = nes_read_indexed(nesdev, NES_IDX_WQM_CONFIG0); + nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0 & 0xFFFF7FFF); + /* Free remaining NIC receive buffers */ while (nesvnic->nic.rq_head != nesvnic->nic.rq_tail) { nic_rqe = &nesvnic->nic.rq_vbase[nesvnic->nic.rq_tail]; @@ -2020,6 +2025,9 @@ void nes_destroy_nic_qp(struct nes_vnic *nesvnic) pci_free_consistent(nesdev->pcidev, nesvnic->nic_mem_size, nesvnic->nic_vbase, nesvnic->nic_pbase); + + /* restore old wqm_cfg0 value */ + nes_write_indexed(nesdev, NES_IDX_WQM_CONFIG0, wqm_cfg0); } /** diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h index 9b1e7f8..bbbfe9f 100644 --- a/drivers/infiniband/hw/nes/nes_hw.h +++ b/drivers/infiniband/hw/nes/nes_hw.h @@ -160,6 +160,7 @@ enum indexed_regs { NES_IDX_ENDNODE0_NSTAT_TX_OCTETS_HI = 0x7004, NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_LO = 0x7008, NES_IDX_ENDNODE0_NSTAT_TX_FRAMES_HI = 0x700c, + NES_IDX_WQM_CONFIG0 = 0x5000, NES_IDX_WQM_CONFIG1 = 0x5004, NES_IDX_CM_CONFIG = 0x5100, NES_IDX_NIC_LOGPORT_TO_PHYPORT = 0x6000, -- cgit v0.10.2 From 964ad81cbd933e5fa310faeec1e923c14651284b Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 12 Mar 2010 00:00:17 -0800 Subject: ipconfig: Handle devices which take some time to come up. Some network devices, particularly USB ones, take several seconds to fully init and appear in the device list. If the user turned ipconfig on, they are using it for NFS root or some other early booting purpose. So it makes no sense to just flat out fail immediately if the device isn't found. It also doesn't make sense to just jack up the initial wait to something crazy like 10 seconds. Instead, poll immediately, and then periodically once a second, waiting for a usable device to appear. Fail after 12 seconds. Signed-off-by: David S. Miller Tested-by: Christian Pellegrin diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index 10a6a60..6789092 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c @@ -187,6 +187,16 @@ struct ic_device { static struct ic_device *ic_first_dev __initdata = NULL;/* List of open device */ static struct net_device *ic_dev __initdata = NULL; /* Selected device */ +static bool __init ic_device_match(struct net_device *dev) +{ + if (user_dev_name[0] ? !strcmp(dev->name, user_dev_name) : + (!(dev->flags & IFF_LOOPBACK) && + (dev->flags & (IFF_POINTOPOINT|IFF_BROADCAST)) && + strncmp(dev->name, "dummy", 5))) + return true; + return false; +} + static int __init ic_open_devs(void) { struct ic_device *d, **last; @@ -207,10 +217,7 @@ static int __init ic_open_devs(void) for_each_netdev(&init_net, dev) { if (dev->flags & IFF_LOOPBACK) continue; - if (user_dev_name[0] ? !strcmp(dev->name, user_dev_name) : - (!(dev->flags & IFF_LOOPBACK) && - (dev->flags & (IFF_POINTOPOINT|IFF_BROADCAST)) && - strncmp(dev->name, "dummy", 5))) { + if (ic_device_match(dev)) { int able = 0; if (dev->mtu >= 364) able |= IC_BOOTP; @@ -228,7 +235,7 @@ static int __init ic_open_devs(void) } if (!(d = kmalloc(sizeof(struct ic_device), GFP_KERNEL))) { rtnl_unlock(); - return -1; + return -ENOMEM; } d->dev = dev; *last = d; @@ -253,7 +260,7 @@ static int __init ic_open_devs(void) printk(KERN_ERR "IP-Config: Device `%s' not found.\n", user_dev_name); else printk(KERN_ERR "IP-Config: No network devices available.\n"); - return -1; + return -ENODEV; } return 0; } @@ -1303,6 +1310,32 @@ __be32 __init root_nfs_parse_addr(char *name) return addr; } +#define DEVICE_WAIT_MAX 12 /* 12 seconds */ + +static int __init wait_for_devices(void) +{ + int i; + + msleep(CONF_PRE_OPEN); + for (i = 0; i < DEVICE_WAIT_MAX; i++) { + struct net_device *dev; + int found = 0; + + rtnl_lock(); + for_each_netdev(&init_net, dev) { + if (ic_device_match(dev)) { + found = 1; + break; + } + } + rtnl_unlock(); + if (found) + return 0; + ssleep(1); + } + return -ENODEV; +} + /* * IP Autoconfig dispatcher. */ @@ -1313,6 +1346,7 @@ static int __init ip_auto_config(void) #ifdef IPCONFIG_DYNAMIC int retries = CONF_OPEN_RETRIES; #endif + int err; #ifdef CONFIG_PROC_FS proc_net_fops_create(&init_net, "pnp", S_IRUGO, &pnp_seq_fops); @@ -1325,12 +1359,15 @@ static int __init ip_auto_config(void) #ifdef IPCONFIG_DYNAMIC try_try_again: #endif - /* Give hardware a chance to settle */ - msleep(CONF_PRE_OPEN); + /* Wait for devices to appear */ + err = wait_for_devices(); + if (err) + return err; /* Setup all network devices */ - if (ic_open_devs() < 0) - return -1; + err = ic_open_devs(); + if (err) + return err; /* Give drivers a chance to settle */ ssleep(CONF_POST_OPEN); -- cgit v0.10.2 From 8447b360a3897bdfb0677107564d1dd9ab6e63be Mon Sep 17 00:00:00 2001 From: Jack Steiner Date: Thu, 11 Mar 2010 12:43:29 -0600 Subject: x86, UV: Fix target_cpus() in x2apic_uv_x.c target_cpu() should initially target all cpus, not just cpu 0. Otherwise systems with lots of disks can exhaust the interrupt vectors on cpu 0 if a large number of disks are discovered before the irq balancer is running. Note: UV code only... Signed-off-by: Jack Steiner LKML-Reference: <20100311184328.GA21433@sgi.com> Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 21db3cb..af0ca80 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c @@ -114,11 +114,9 @@ EXPORT_SYMBOL_GPL(uv_possible_blades); unsigned long sn_rtc_cycles_per_second; EXPORT_SYMBOL(sn_rtc_cycles_per_second); -/* Start with all IRQs pointing to boot CPU. IRQ balancing will shift them. */ - static const struct cpumask *uv_target_cpus(void) { - return cpumask_of(0); + return cpu_online_mask; } static void uv_vector_allocation_domain(int cpu, struct cpumask *retmask) -- cgit v0.10.2 From a72042c08a8ba3b685dc9cba62c57c48188ef2c8 Mon Sep 17 00:00:00 2001 From: Chien Tung Date: Wed, 3 Mar 2010 19:13:26 +0000 Subject: RDMA/nes: Fix CX4 link problem in back-to-back configuration Commit 09124e19 ("RDMA/nes: Add support for KR device id 0x0110") took out too much code and broke CX4 link detection in back-to-back configuration. Put back the code that does the link check. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index a1d79b6..91fdde3 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c @@ -1595,7 +1595,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, struct nes_vnic *nesvnic; struct net_device *netdev; struct nic_qp_map *curr_qp_map; - u32 u32temp; u8 phy_type = nesdev->nesadapter->phy_type[nesdev->mac_index]; netdev = alloc_etherdev(sizeof(struct nes_vnic)); @@ -1707,6 +1706,10 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, ((phy_type == NES_PHY_TYPE_PUMA_1G) && (((PCI_FUNC(nesdev->pcidev->devfn) == 1) && (nesdev->mac_index == 2)) || ((PCI_FUNC(nesdev->pcidev->devfn) == 2) && (nesdev->mac_index == 1)))))) { + u32 u32temp; + u32 link_mask; + u32 link_val; + u32temp = nes_read_indexed(nesdev, NES_IDX_PHY_PCS_CONTROL_STATUS0 + (0x200 * (nesdev->mac_index & 1))); if (phy_type != NES_PHY_TYPE_PUMA_1G) { @@ -1715,13 +1718,36 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, (0x200 * (nesdev->mac_index & 1)), u32temp); } + /* Check and set linkup here. This is for back to back */ + /* configuration where second port won't get link interrupt */ + switch (phy_type) { + case NES_PHY_TYPE_PUMA_1G: + if (nesdev->mac_index < 2) { + link_mask = 0x01010000; + link_val = 0x01010000; + } else { + link_mask = 0x02020000; + link_val = 0x02020000; + } + break; + default: + link_mask = 0x0f1f0000; + link_val = 0x0f0f0000; + break; + } + + u32temp = nes_read_indexed(nesdev, + NES_IDX_PHY_PCS_CONTROL_STATUS0 + + (0x200 * (nesdev->mac_index & 1))); + if ((u32temp & link_mask) == link_val) + nesvnic->linkup = 1; + /* clear the MAC interrupt status, assumes direct logical to physical mapping */ u32temp = nes_read_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index)); nes_debug(NES_DBG_INIT, "Phy interrupt status = 0x%X.\n", u32temp); nes_write_indexed(nesdev, NES_IDX_MAC_INT_STATUS + (0x200 * nesdev->mac_index), u32temp); nes_init_phy(nesdev); - } return netdev; -- cgit v0.10.2 From b97c4bc16734a2e597dac7f91ee9eb78f4aeef9a Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Thu, 11 Mar 2010 14:08:45 -0800 Subject: locking: Make sparse work with inline spinlocks and rwlocks Currently sparse does not work with inline spinlock and rwlock functions. The problem is that they do not use the __acquires/__releases out-of-line functions, but use inline functions with no sparse annotations. This patch adds the appropriate annotations to make it work properly. Signed-off-by: Luca Barbieri Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner diff --git a/include/linux/rwlock.h b/include/linux/rwlock.h index 71e0b00..bc2994e 100644 --- a/include/linux/rwlock.h +++ b/include/linux/rwlock.h @@ -29,25 +29,25 @@ do { \ #endif #ifdef CONFIG_DEBUG_SPINLOCK - extern void do_raw_read_lock(rwlock_t *lock); + extern void do_raw_read_lock(rwlock_t *lock) __acquires(lock); #define do_raw_read_lock_flags(lock, flags) do_raw_read_lock(lock) extern int do_raw_read_trylock(rwlock_t *lock); - extern void do_raw_read_unlock(rwlock_t *lock); - extern void do_raw_write_lock(rwlock_t *lock); + extern void do_raw_read_unlock(rwlock_t *lock) __releases(lock); + extern void do_raw_write_lock(rwlock_t *lock) __acquires(lock); #define do_raw_write_lock_flags(lock, flags) do_raw_write_lock(lock) extern int do_raw_write_trylock(rwlock_t *lock); - extern void do_raw_write_unlock(rwlock_t *lock); + extern void do_raw_write_unlock(rwlock_t *lock) __releases(lock); #else -# define do_raw_read_lock(rwlock) arch_read_lock(&(rwlock)->raw_lock) +# define do_raw_read_lock(rwlock) do {__acquire(lock); arch_read_lock(&(rwlock)->raw_lock); } while (0) # define do_raw_read_lock_flags(lock, flags) \ - arch_read_lock_flags(&(lock)->raw_lock, *(flags)) + do {__acquire(lock); arch_read_lock_flags(&(lock)->raw_lock, *(flags)); } while (0) # define do_raw_read_trylock(rwlock) arch_read_trylock(&(rwlock)->raw_lock) -# define do_raw_read_unlock(rwlock) arch_read_unlock(&(rwlock)->raw_lock) -# define do_raw_write_lock(rwlock) arch_write_lock(&(rwlock)->raw_lock) +# define do_raw_read_unlock(rwlock) do {arch_read_unlock(&(rwlock)->raw_lock); __release(lock); } while (0) +# define do_raw_write_lock(rwlock) do {__acquire(lock); arch_write_lock(&(rwlock)->raw_lock); } while (0) # define do_raw_write_lock_flags(lock, flags) \ - arch_write_lock_flags(&(lock)->raw_lock, *(flags)) + do {__acquire(lock); arch_write_lock_flags(&(lock)->raw_lock, *(flags)); } while (0) # define do_raw_write_trylock(rwlock) arch_write_trylock(&(rwlock)->raw_lock) -# define do_raw_write_unlock(rwlock) arch_write_unlock(&(rwlock)->raw_lock) +# define do_raw_write_unlock(rwlock) do {arch_write_unlock(&(rwlock)->raw_lock); __release(lock); } while (0) #endif #define read_can_lock(rwlock) arch_read_can_lock(&(rwlock)->raw_lock) diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index 8608821..89fac6a 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -128,19 +128,21 @@ static inline void smp_mb__after_lock(void) { smp_mb(); } #define raw_spin_unlock_wait(lock) arch_spin_unlock_wait(&(lock)->raw_lock) #ifdef CONFIG_DEBUG_SPINLOCK - extern void do_raw_spin_lock(raw_spinlock_t *lock); + extern void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock); #define do_raw_spin_lock_flags(lock, flags) do_raw_spin_lock(lock) extern int do_raw_spin_trylock(raw_spinlock_t *lock); - extern void do_raw_spin_unlock(raw_spinlock_t *lock); + extern void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock); #else -static inline void do_raw_spin_lock(raw_spinlock_t *lock) +static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock) { + __acquire(lock); arch_spin_lock(&lock->raw_lock); } static inline void -do_raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long *flags) +do_raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long *flags) __acquires(lock) { + __acquire(lock); arch_spin_lock_flags(&lock->raw_lock, *flags); } @@ -149,9 +151,10 @@ static inline int do_raw_spin_trylock(raw_spinlock_t *lock) return arch_spin_trylock(&(lock)->raw_lock); } -static inline void do_raw_spin_unlock(raw_spinlock_t *lock) +static inline void do_raw_spin_unlock(raw_spinlock_t *lock) __releases(lock) { arch_spin_unlock(&lock->raw_lock); + __release(lock); } #endif -- cgit v0.10.2 From 52fbe9cde7fdb5c6fac196d7ebd2d92d05ef3cd4 Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Mon, 8 Mar 2010 14:50:43 +0800 Subject: ring-buffer: Move disabled check into preempt disable section The ring buffer resizing and resetting relies on a schedule RCU action. The buffers are disabled, a synchronize_sched() is called and then the resize or reset takes place. But this only works if the disabling of the buffers are within the preempt disabled section, otherwise a window exists that the buffers can be written to while a reset or resize takes place. Cc: stable@kernel.org Reported-by: Li Zefan Signed-off-by: Lai Jiangshan LKML-Reference: <4B949E43.2010906@cn.fujitsu.com> Signed-off-by: Steven Rostedt diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 8c1b2d2..54191d6 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2232,12 +2232,12 @@ ring_buffer_lock_reserve(struct ring_buffer *buffer, unsigned long length) if (ring_buffer_flags != RB_BUFFERS_ON) return NULL; - if (atomic_read(&buffer->record_disabled)) - return NULL; - /* If we are tracing schedule, we don't want to recurse */ resched = ftrace_preempt_disable(); + if (atomic_read(&buffer->record_disabled)) + goto out_nocheck; + if (trace_recursive_lock()) goto out_nocheck; @@ -2469,11 +2469,11 @@ int ring_buffer_write(struct ring_buffer *buffer, if (ring_buffer_flags != RB_BUFFERS_ON) return -EBUSY; - if (atomic_read(&buffer->record_disabled)) - return -EBUSY; - resched = ftrace_preempt_disable(); + if (atomic_read(&buffer->record_disabled)) + goto out; + cpu = raw_smp_processor_id(); if (!cpumask_test_cpu(cpu, buffer->cpumask)) -- cgit v0.10.2 From ea14eb714041d40fcc5180b5a586034503650149 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 12 Mar 2010 19:41:23 -0500 Subject: function-graph: Init curr_ret_stack with ret_stack If the graph tracer is active, and a task is forked but the allocating of the processes graph stack fails, it can cause crash later on. This is due to the temporary stack being NULL, but the curr_ret_stack variable is copied from the parent. If it is not -1, then in ftrace_graph_probe_sched_switch() the following: for (index = next->curr_ret_stack; index >= 0; index--) next->ret_stack[index].calltime += timestamp; Will cause a kernel OOPS. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Signed-off-by: Steven Rostedt diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index d4d1238..bb53edb 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -3349,6 +3349,7 @@ void ftrace_graph_init_task(struct task_struct *t) { /* Make sure we do not use the parent ret_stack */ t->ret_stack = NULL; + t->curr_ret_stack = -1; if (ftrace_graph_active) { struct ftrace_ret_stack *ret_stack; @@ -3358,7 +3359,6 @@ void ftrace_graph_init_task(struct task_struct *t) GFP_KERNEL); if (!ret_stack) return; - t->curr_ret_stack = -1; atomic_set(&t->tracing_graph_pause, 0); atomic_set(&t->trace_overrun, 0); t->ftrace_timestamp = 0; -- cgit v0.10.2 From 283740c619d211e34572cc93c8cdba92ccbdb9cc Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 12 Mar 2010 19:48:41 -0500 Subject: tracing: Use same local variable when resetting the ring buffer In the ftrace code that resets the ring buffer it references the buffer with a local variable, but then uses the tr->buffer as the parameter to reset. If the wakeup tracer is running, which can switch the tr->buffer with the max saved buffer, this can break the requirement of disabling the buffer before the reset. buffer = tr->buffer; ring_buffer_record_disable(buffer); synchronize_sched(); __tracing_reset(tr->buffer, cpu); If the tr->buffer is swapped, then the reset is not happening to the buffer that was disabled. This will cause the ring buffer to fail. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Reported-by: Lai Jiangshan Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 6af8d7b..60de37b 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -840,10 +840,10 @@ out: mutex_unlock(&trace_types_lock); } -static void __tracing_reset(struct trace_array *tr, int cpu) +static void __tracing_reset(struct ring_buffer *buffer, int cpu) { ftrace_disable_cpu(); - ring_buffer_reset_cpu(tr->buffer, cpu); + ring_buffer_reset_cpu(buffer, cpu); ftrace_enable_cpu(); } @@ -855,7 +855,7 @@ void tracing_reset(struct trace_array *tr, int cpu) /* Make sure all commits have finished */ synchronize_sched(); - __tracing_reset(tr, cpu); + __tracing_reset(buffer, cpu); ring_buffer_record_enable(buffer); } @@ -873,7 +873,7 @@ void tracing_reset_online_cpus(struct trace_array *tr) tr->time_start = ftrace_now(tr->cpu); for_each_online_cpu(cpu) - __tracing_reset(tr, cpu); + __tracing_reset(buffer, cpu); ring_buffer_record_enable(buffer); } -- cgit v0.10.2 From a2f8071428ed9a0f06865f417c962421c9a6b488 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 12 Mar 2010 19:56:00 -0500 Subject: tracing: Disable buffer switching when starting or stopping trace When the trace iterator is read, tracing_start() and tracing_stop() is called to stop tracing while the iterator is processing the trace output. These functions disable both the standard buffer and the max latency buffer. But if the wakeup tracer is running, it can switch these buffers between the two disables: buffer = global_trace.buffer; if (buffer) ring_buffer_record_disable(buffer); <<<--------- swap happens here buffer = max_tr.buffer; if (buffer) ring_buffer_record_disable(buffer); What happens is that we disabled the same buffer twice. On tracing_start() we can enable the same buffer twice. All ring_buffer_record_disable() must be matched with a ring_buffer_record_enable() or the buffer can be disable permanently, or enable prematurely, and cause a bug where a reset happens while a trace is commiting. This patch protects these two by taking the ftrace_max_lock to prevent a switch from occurring. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Reported-by: Lai Jiangshan Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 60de37b..484337d 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -950,6 +950,8 @@ void tracing_start(void) goto out; } + /* Prevent the buffers from switching */ + arch_spin_lock(&ftrace_max_lock); buffer = global_trace.buffer; if (buffer) @@ -959,6 +961,8 @@ void tracing_start(void) if (buffer) ring_buffer_record_enable(buffer); + arch_spin_unlock(&ftrace_max_lock); + ftrace_start(); out: spin_unlock_irqrestore(&tracing_start_lock, flags); @@ -980,6 +984,9 @@ void tracing_stop(void) if (trace_stop_count++) goto out; + /* Prevent the buffers from switching */ + arch_spin_lock(&ftrace_max_lock); + buffer = global_trace.buffer; if (buffer) ring_buffer_record_disable(buffer); @@ -988,6 +995,8 @@ void tracing_stop(void) if (buffer) ring_buffer_record_disable(buffer); + arch_spin_unlock(&ftrace_max_lock); + out: spin_unlock_irqrestore(&tracing_start_lock, flags); } -- cgit v0.10.2 From b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 12 Mar 2010 20:03:30 -0500 Subject: tracing: Do not record user stack trace from NMI context A bug was found with Li Zefan's ftrace_stress_test that caused applications to segfault during the test. Placing a tracing_off() in the segfault code, and examining several traces, I found that the following was always the case. The lock tracer was enabled (lockdep being required) and userstack was enabled. Testing this out, I just enabled the two, but that was not good enough. I needed to run something else that could trigger it. Running a load like hackbench did not work, but executing a new program would. The following would trigger the segfault within seconds: # echo 1 > /debug/tracing/options/userstacktrace # echo 1 > /debug/tracing/events/lock/enable # while :; do ls > /dev/null ; done Enabling the function graph tracer and looking at what was happening I finally noticed that all cashes happened just after an NMI. 1) | copy_user_handle_tail() { 1) | bad_area_nosemaphore() { 1) | __bad_area_nosemaphore() { 1) | no_context() { 1) | fixup_exception() { 1) 0.319 us | search_exception_tables(); 1) 0.873 us | } [...] 1) 0.314 us | __rcu_read_unlock(); 1) 0.325 us | native_apic_mem_write(); 1) 0.943 us | } 1) 0.304 us | rcu_nmi_exit(); [...] 1) 0.479 us | find_vma(); 1) | bad_area() { 1) | __bad_area() { After capturing several traces of failures, all of them happened after an NMI. Curious about this, I added a trace_printk() to the NMI handler to read the regs->ip to see where the NMI happened. In which I found out it was here: ffffffff8135b660 : ffffffff8135b660: 48 83 ec 78 sub $0x78,%rsp ffffffff8135b664: e8 97 01 00 00 callq ffffffff8135b800 What was happening is that the NMI would happen at the place that a page fault occurred. It would call rcu_read_lock() which was traced by the lock events, and the user_stack_trace would run. This would trigger a page fault inside the NMI. I do not see where the CR2 register is saved or restored in NMI handling. This means that it would corrupt the page fault handling that the NMI interrupted. The reason the while loop of ls helped trigger the bug, was that each execution of ls would cause lots of pages to be faulted in, and increase the chances of the race happening. The simple solution is to not allow user stack traces in NMI context. After this patch, I ran the above "ls" test for a couple of hours without any issues. Without this patch, the bug would trigger in less than a minute. Cc: stable@kernel.org Reported-by: Li Zefan Signed-off-by: Steven Rostedt diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 484337d..e52683f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1284,6 +1284,13 @@ ftrace_trace_userstack(struct ring_buffer *buffer, unsigned long flags, int pc) if (!(trace_flags & TRACE_ITER_USERSTACKTRACE)) return; + /* + * NMIs can not handle page faults, even with fix ups. + * The save user stack can (and often does) fault. + */ + if (unlikely(in_nmi())) + return; + event = trace_buffer_lock_reserve(buffer, TRACE_USER_STACK, sizeof(*entry), flags, pc); if (!event) -- cgit v0.10.2 From 0e152cd7c16832bd5cadee0c2e41d9959bc9b6f9 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Fri, 12 Mar 2010 15:43:03 +0100 Subject: x86, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on AMD systems de957628ce7c84764ff41331111036b3ae5bad0f changed setting of the x86_init.iommu.iommu_init function ptr only when GART IOMMU is found. One side effect of it is that num_k8_northbridges is not initialized anymore if not explicitly called. This resulted in uninitialized pointers in , for example, which uses the num_k8_northbridges thing through node_to_k8_nb_misc(). Fix that through an initcall that runs right after the PCI subsystem and does all the scanning. Then, remove initialization in gart_iommu_init() which is a rootfs_initcall and we're running before that. What is more, since num_k8_northbridges is being used in other places beside GART IOMMU, include it whenever we add AMD CPU support. The previous dependency chain in kconfig contained K8_NB depends on AGP_AMD64|GART_IOMMU which was clearly incorrect. The more natural way in terms of hardware dependency should be AGP_AMD64|GART_IOMMU depends on K8_NB depends on CPU_SUP_AMD && PCI. Make it so Number One! Signed-off-by: Borislav Petkov Cc: FUJITA Tomonori Cc: Joerg Roedel LKML-Reference: <20100312144303.GA29262@aftab> Signed-off-by: Ingo Molnar Tested-by: Joerg Roedel diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index eb40925..ddb52b8 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -627,7 +627,7 @@ config GART_IOMMU bool "GART IOMMU support" if EMBEDDED default y select SWIOTLB - depends on X86_64 && PCI + depends on X86_64 && PCI && K8_NB ---help--- Support for full DMA access of devices with 32bit memory access only on systems with more than 3GB. This is usually needed for USB, @@ -2026,7 +2026,7 @@ endif # X86_32 config K8_NB def_bool y - depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA))) + depends on CPU_SUP_AMD && PCI source "drivers/pcmcia/Kconfig" diff --git a/arch/x86/kernel/k8.c b/arch/x86/kernel/k8.c index cbc4332..9b89546 100644 --- a/arch/x86/kernel/k8.c +++ b/arch/x86/kernel/k8.c @@ -121,3 +121,17 @@ void k8_flush_garts(void) } EXPORT_SYMBOL_GPL(k8_flush_garts); +static __init int init_k8_nbs(void) +{ + int err = 0; + + err = cache_k8_northbridges(); + + if (err < 0) + printk(KERN_NOTICE "K8 NB: Cannot enumerate AMD northbridges.\n"); + + return err; +} + +/* This has to go after the PCI subsystem */ +fs_initcall(init_k8_nbs); diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index 34de53b..f3af115 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c @@ -735,7 +735,7 @@ int __init gart_iommu_init(void) unsigned long scratch; long i; - if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0) + if (num_k8_northbridges == 0) return 0; #ifndef CONFIG_AGP_AMD64 diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig index 2fb3a48..4b66c69 100644 --- a/drivers/char/agp/Kconfig +++ b/drivers/char/agp/Kconfig @@ -57,7 +57,7 @@ config AGP_AMD config AGP_AMD64 tristate "AMD Opteron/Athlon64 on-CPU GART support" - depends on AGP && X86 + depends on AGP && X86 && K8_NB help This option gives you AGP support for the GLX component of X using the on-CPU northbridge of the AMD Athlon64/Opteron CPUs. -- cgit v0.10.2 From 97ee9b0257402f4731b55dfea42f24d26d793ddf Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Sat, 6 Mar 2010 04:44:14 +0000 Subject: net/9p: Use the tag name in the config space for identifying mount point This patch use the tag name in the config space to identify the mount device. The the virtio device name depend on the enumeration order of the device and may not remain the same across multiple boots So we use the tag name which is set via qemu option to uniquely identify the mount device Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen diff --git a/include/linux/virtio_9p.h b/include/linux/virtio_9p.h index 3322750..5cf1176 100644 --- a/include/linux/virtio_9p.h +++ b/include/linux/virtio_9p.h @@ -5,4 +5,16 @@ #include #include +/* The feature bitmap for virtio 9P */ + +/* The mount point is specified in a config variable */ +#define VIRTIO_9P_MOUNT_TAG 0 + +struct virtio_9p_config { + /* length of the tag name */ + __u16 tag_len; + /* non-NULL terminated tag name */ + __u8 tag[0]; +} __attribute__((packed)); + #endif /* _LINUX_VIRTIO_9P_H */ diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index 0aaed48..026775a 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c @@ -78,6 +78,12 @@ struct virtio_chan { /* Scatterlist: can be too big for stack. */ struct scatterlist sg[VIRTQUEUE_NUM]; + int tag_len; + /* + * tag name to identify a mount Non-null terminated + */ + char *tag; + struct list_head chan_list; }; @@ -224,6 +230,8 @@ p9_virtio_request(struct p9_client *client, struct p9_req_t *req) static int p9_virtio_probe(struct virtio_device *vdev) { + __u16 tag_len; + char *tag; int err; struct virtio_chan *chan; @@ -248,6 +256,23 @@ static int p9_virtio_probe(struct virtio_device *vdev) sg_init_table(chan->sg, VIRTQUEUE_NUM); chan->inuse = false; + if (virtio_has_feature(vdev, VIRTIO_9P_MOUNT_TAG)) { + vdev->config->get(vdev, + offsetof(struct virtio_9p_config, tag_len), + &tag_len, sizeof(tag_len)); + } else { + err = -EINVAL; + goto out_free_vq; + } + tag = kmalloc(tag_len, GFP_KERNEL); + if (!tag) { + err = -ENOMEM; + goto out_free_vq; + } + vdev->config->get(vdev, offsetof(struct virtio_9p_config, tag), + tag, tag_len); + chan->tag = tag; + chan->tag_len = tag_len; mutex_lock(&virtio_9p_lock); list_add_tail(&chan->chan_list, &virtio_chan_list); mutex_unlock(&virtio_9p_lock); @@ -284,7 +309,7 @@ p9_virtio_create(struct p9_client *client, const char *devname, char *args) mutex_lock(&virtio_9p_lock); list_for_each_entry(chan, &virtio_chan_list, chan_list) { - if (!strcmp(devname, dev_name(&chan->vdev->dev))) { + if (!strncmp(devname, chan->tag, chan->tag_len)) { if (!chan->inuse) { chan->inuse = true; found = 1; @@ -323,6 +348,7 @@ static void p9_virtio_remove(struct virtio_device *vdev) mutex_lock(&virtio_9p_lock); list_del(&chan->chan_list); mutex_unlock(&virtio_9p_lock); + kfree(chan->tag); kfree(chan); } @@ -332,13 +358,19 @@ static struct virtio_device_id id_table[] = { { 0 }, }; +static unsigned int features[] = { + VIRTIO_9P_MOUNT_TAG, +}; + /* The standard "struct lguest_driver": */ static struct virtio_driver p9_virtio_drv = { - .driver.name = KBUILD_MODNAME, - .driver.owner = THIS_MODULE, - .id_table = id_table, - .probe = p9_virtio_probe, - .remove = p9_virtio_remove, + .feature_table = features, + .feature_table_size = ARRAY_SIZE(features), + .driver.name = KBUILD_MODNAME, + .driver.owner = THIS_MODULE, + .id_table = id_table, + .probe = p9_virtio_probe, + .remove = p9_virtio_remove, }; static struct p9_trans_module p9_virtio_trans = { -- cgit v0.10.2 From 86c8437383acd85c05ec7c9a004f59fe7ac9821a Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Sat, 6 Mar 2010 04:44:15 +0000 Subject: net/9p: Add sysfs mount_tag file for virtio 9P device This adds a new file for virtio 9P device. The file contain details of the mount device name that should be used to mount the 9P file system. Ex: /sys/devices/virtio-pci/virtio1/mount_tag file now contian the tag name to be used to mount the 9P file system. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen diff --git a/include/linux/virtio.h b/include/linux/virtio.h index f508c65..40d1709 100644 --- a/include/linux/virtio.h +++ b/include/linux/virtio.h @@ -98,6 +98,7 @@ struct virtio_device { void *priv; }; +#define dev_to_virtio(dev) container_of(dev, struct virtio_device, dev) int register_virtio_device(struct virtio_device *dev); void unregister_virtio_device(struct virtio_device *dev); diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index 026775a..afde1a8 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c @@ -220,6 +220,20 @@ p9_virtio_request(struct p9_client *client, struct p9_req_t *req) return 0; } +static ssize_t p9_mount_tag_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct virtio_chan *chan; + struct virtio_device *vdev; + + vdev = dev_to_virtio(dev); + chan = vdev->priv; + + return snprintf(buf, chan->tag_len + 1, "%s", chan->tag); +} + +static DEVICE_ATTR(mount_tag, 0444, p9_mount_tag_show, NULL); + /** * p9_virtio_probe - probe for existence of 9P virtio channels * @vdev: virtio device to probe @@ -273,6 +287,11 @@ static int p9_virtio_probe(struct virtio_device *vdev) tag, tag_len); chan->tag = tag; chan->tag_len = tag_len; + err = sysfs_create_file(&(vdev->dev.kobj), &dev_attr_mount_tag.attr); + if (err) { + kfree(tag); + goto out_free_vq; + } mutex_lock(&virtio_9p_lock); list_add_tail(&chan->chan_list, &virtio_chan_list); mutex_unlock(&virtio_9p_lock); @@ -348,6 +367,7 @@ static void p9_virtio_remove(struct virtio_device *vdev) mutex_lock(&virtio_9p_lock); list_del(&chan->chan_list); mutex_unlock(&virtio_9p_lock); + sysfs_remove_file(&(vdev->dev.kobj), &dev_attr_mount_tag.attr); kfree(chan->tag); kfree(chan); -- cgit v0.10.2 From fae4528b2341f2ab0c86c191e24d9cdd93624c60 Mon Sep 17 00:00:00 2001 From: "Aneesh Kumar K.V" Date: Sat, 6 Mar 2010 04:44:16 +0000 Subject: fs/9p: re-init the wstat in readdir loop This ensure that on failure when we free the stat buf we don't end up freeing an already freed pointer in the earlier loop Signed-off-by: Aneesh Kumar K.V Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index 6580aa4..d8a3afe 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c @@ -76,6 +76,15 @@ static inline int dt_type(struct p9_wstat *mistat) return rettype; } +static void p9stat_init(struct p9_wstat *stbuf) +{ + stbuf->name = NULL; + stbuf->uid = NULL; + stbuf->gid = NULL; + stbuf->muid = NULL; + stbuf->extension = NULL; +} + /** * v9fs_dir_readdir - read a directory * @filp: opened file structure @@ -131,8 +140,8 @@ static int v9fs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir) rdir->head = 0; rdir->tail = err; } - while (rdir->head < rdir->tail) { + p9stat_init(&st); err = p9stat_read(rdir->buf + rdir->head, buflen - rdir->head, &st, fid->clnt->proto_version); -- cgit v0.10.2 From 45bc21edb52fa71dbb1324c6f573aa880e95519d Mon Sep 17 00:00:00 2001 From: Sripathi Kodi Date: Mon, 8 Mar 2010 17:33:04 +0000 Subject: 9p: Change the name of new protocol from 9p2010.L to 9p2000.L This patch changes the name of the new 9P protocol from 9p2010.L to 9p2000.u. This is because we learnt that the name 9p2010 is already being used by others. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen diff --git a/fs/9p/v9fs.h b/fs/9p/v9fs.h index 79000bf..6b801d1 100644 --- a/fs/9p/v9fs.h +++ b/fs/9p/v9fs.h @@ -24,7 +24,7 @@ /** * enum p9_session_flags - option flags for each 9P session * @V9FS_PROTO_2000U: whether or not to use 9P2000.u extensions - * @V9FS_PROTO_2010L: whether or not to use 9P2010.l extensions + * @V9FS_PROTO_2000L: whether or not to use 9P2000.l extensions * @V9FS_ACCESS_SINGLE: only the mounting user can access the hierarchy * @V9FS_ACCESS_USER: a new attach will be issued for every user (default) * @V9FS_ACCESS_ANY: use a single attach for all users @@ -34,7 +34,7 @@ */ enum p9_session_flags { V9FS_PROTO_2000U = 0x01, - V9FS_PROTO_2010L = 0x02, + V9FS_PROTO_2000L = 0x02, V9FS_ACCESS_SINGLE = 0x04, V9FS_ACCESS_USER = 0x08, V9FS_ACCESS_ANY = 0x0C, @@ -130,5 +130,5 @@ static inline int v9fs_proto_dotu(struct v9fs_session_info *v9ses) static inline int v9fs_proto_dotl(struct v9fs_session_info *v9ses) { - return v9ses->flags & V9FS_PROTO_2010L; + return v9ses->flags & V9FS_PROTO_2000L; } diff --git a/include/net/9p/client.h b/include/net/9p/client.h index 52e1fff..f076dfa 100644 --- a/include/net/9p/client.h +++ b/include/net/9p/client.h @@ -32,13 +32,13 @@ /** enum p9_proto_versions - 9P protocol versions * @p9_proto_legacy: 9P Legacy mode, pre-9P2000.u * @p9_proto_2000u: 9P2000.u extension - * @p9_proto_2010L: 9P2010.L extension + * @p9_proto_2000L: 9P2000.L extension */ enum p9_proto_versions{ p9_proto_legacy = 0, p9_proto_2000u = 1, - p9_proto_2010L = 2, + p9_proto_2000L = 2, }; diff --git a/net/9p/client.c b/net/9p/client.c index bde9f3d..e3e5bf4 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -60,7 +60,7 @@ static const match_table_t tokens = { inline int p9_is_proto_dotl(struct p9_client *clnt) { - return (clnt->proto_version == p9_proto_2010L); + return (clnt->proto_version == p9_proto_2000L); } EXPORT_SYMBOL(p9_is_proto_dotl); @@ -80,9 +80,9 @@ static unsigned char get_protocol_version(const substring_t *name) } else if (!strncmp("9p2000.u", name->from, name->to-name->from)) { version = p9_proto_2000u; P9_DPRINTK(P9_DEBUG_9P, "Protocol version: 9P2000.u\n"); - } else if (!strncmp("9p2010.L", name->from, name->to-name->from)) { - version = p9_proto_2010L; - P9_DPRINTK(P9_DEBUG_9P, "Protocol version: 9P2010.L\n"); + } else if (!strncmp("9p2000.L", name->from, name->to-name->from)) { + version = p9_proto_2000L; + P9_DPRINTK(P9_DEBUG_9P, "Protocol version: 9P2000.L\n"); } else { P9_DPRINTK(P9_DEBUG_ERROR, "Unknown protocol version %s. ", name->from); @@ -672,9 +672,9 @@ int p9_client_version(struct p9_client *c) c->msize, c->proto_version); switch (c->proto_version) { - case p9_proto_2010L: + case p9_proto_2000L: req = p9_client_rpc(c, P9_TVERSION, "ds", - c->msize, "9P2010.L"); + c->msize, "9P2000.L"); break; case p9_proto_2000u: req = p9_client_rpc(c, P9_TVERSION, "ds", @@ -700,8 +700,8 @@ int p9_client_version(struct p9_client *c) } P9_DPRINTK(P9_DEBUG_9P, "<<< RVERSION msize %d %s\n", msize, version); - if (!strncmp(version, "9P2010.L", 8)) - c->proto_version = p9_proto_2010L; + if (!strncmp(version, "9P2000.L", 8)) + c->proto_version = p9_proto_2000L; else if (!strncmp(version, "9P2000.u", 8)) c->proto_version = p9_proto_2000u; else if (!strncmp(version, "9P2000", 6)) -- cgit v0.10.2 From fc0f296126433e61600539325975b6c30681c07e Mon Sep 17 00:00:00 2001 From: jvrao Date: Mon, 8 Mar 2010 22:07:02 +0000 Subject: 9p: Fixes a simple bug enabling writes beyond 2GB. Fixes a simple bug so that large files beyond 2GB can be created. Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Badari Pulavarty Signed-off-by: Eric Van Hensbergen diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 3612268..019f1cd 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -215,7 +215,7 @@ v9fs_file_write(struct file *filp, const char __user * data, struct p9_fid *fid; struct p9_client *clnt; struct inode *inode = filp->f_path.dentry->d_inode; - int origin = *offset; + loff_t origin = *offset; unsigned long pg_start, pg_end; P9_DPRINTK(P9_DEBUG_VFS, "data %p count %d offset %x\n", data, -- cgit v0.10.2 From f78233dd44a110c574fe760ad6f9c1e8741a0d00 Mon Sep 17 00:00:00 2001 From: Sachin Prabhu Date: Sat, 13 Mar 2010 09:03:55 -0600 Subject: 9p: Skip check for mandatory locks when unlocking While investigating a bug, I came across a possible bug in v9fs. The problem is similar to the one reported for NFS by ASANO Masahiro in http://lkml.org/lkml/2005/12/21/334. v9fs_file_lock() will skip locks on file which has mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped during unlock and the machine will end up with a BUG in locks_remove_flock(). v9fs_file_lock() should skip the check for mandatory locks when unlocking a file. Signed-off-by: Sachin Prabhu Signed-off-by: Eric Van Hensbergen diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 019f1cd..df52d48 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -114,7 +114,7 @@ static int v9fs_file_lock(struct file *filp, int cmd, struct file_lock *fl) P9_DPRINTK(P9_DEBUG_VFS, "filp: %p lock: %p\n", filp, fl); /* No mandatory locks */ - if (__mandatory_lock(inode)) + if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK) return -ENOLCK; if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { -- cgit v0.10.2 From f635a1e74bd6001f06fe1df53d32daf2b28bf04b Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Mon, 1 Mar 2010 16:04:45 +1100 Subject: i2c-smbus: Use device_lock/device_unlock Use the new device locking/unlocking API. Signed-off-by: Stephen Rothwell Signed-off-by: Jean Delvare diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c index 4212782..7a8201e 100644 --- a/drivers/i2c/i2c-smbus.c +++ b/drivers/i2c/i2c-smbus.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -55,7 +54,7 @@ static int smbus_do_alert(struct device *dev, void *addrp) * Drivers should either disable alerts, or provide at least * a minimal handler. Lock so client->driver won't change. */ - down(&dev->sem); + device_lock(dev); if (client->driver) { if (client->driver->alert) client->driver->alert(client, data->flag); @@ -63,7 +62,7 @@ static int smbus_do_alert(struct device *dev, void *addrp) dev_warn(&client->dev, "no driver alert()!\n"); } else dev_dbg(&client->dev, "alert with no driver\n"); - up(&dev->sem); + device_unlock(dev); /* Stop iterating after we find the device */ return -EBUSY; -- cgit v0.10.2 From 8e4b980c28c91cfe9d0ce0431bc0af56e146b49e Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Mar 2010 20:56:52 +0100 Subject: i2c-powermac: Be less verbose in the absence of real errors. Be less verbose in the absence of real errors. We don't have to report failed probes to the users, it's only confusing them. Signed-off-by: Jean Delvare Tested-by: Andrey Gusev Cc: Benjamin Herrenschmidt Cc: stable@kernel.org diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c index 1c440a7..b289ec9 100644 --- a/drivers/i2c/busses/i2c-powermac.c +++ b/drivers/i2c/busses/i2c-powermac.c @@ -122,9 +122,14 @@ static s32 i2c_powermac_smbus_xfer( struct i2c_adapter* adap, rc = pmac_i2c_xfer(bus, addrdir, subsize, subaddr, buf, len); if (rc) { - dev_err(&adap->dev, - "I2C transfer at 0x%02x failed, size %d, err %d\n", - addrdir >> 1, size, rc); + if (rc == -ENXIO) + dev_dbg(&adap->dev, + "I2C transfer at 0x%02x failed, size %d, " + "err %d\n", addrdir >> 1, size, rc); + else + dev_err(&adap->dev, + "I2C transfer at 0x%02x failed, size %d, " + "err %d\n", addrdir >> 1, size, rc); goto bail; } @@ -175,10 +180,16 @@ static int i2c_powermac_master_xfer( struct i2c_adapter *adap, goto bail; } rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len); - if (rc < 0) - dev_err(&adap->dev, "I2C %s 0x%02x failed, err %d\n", - addrdir & 1 ? "read from" : "write to", addrdir >> 1, - rc); + if (rc < 0) { + if (rc == -ENXIO) + dev_dbg(&adap->dev, "I2C %s 0x%02x failed, err %d\n", + addrdir & 1 ? "read from" : "write to", + addrdir >> 1, rc); + else + dev_err(&adap->dev, "I2C %s 0x%02x failed, err %d\n", + addrdir & 1 ? "read from" : "write to", + addrdir >> 1, rc); + } bail: pmac_i2c_close(bus); return rc < 0 ? rc : 1; -- cgit v0.10.2 From c074c39d62306efa5ba7c69c1a1531bc7333d252 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Mar 2010 20:56:53 +0100 Subject: i2c-i801: Don't use the block buffer for I2C block writes Experience has shown that the block buffer can only be used for SMBus (not I2C) block transactions, even though the datasheet doesn't mention this limitation. Reported-by: Felix Rubinstein Signed-off-by: Jean Delvare Cc: Oleg Ryjkov Cc: stable@kernel.org diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 9da5b05..299b918 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c @@ -416,9 +416,11 @@ static int i801_block_transaction(union i2c_smbus_data *data, char read_write, data->block[0] = 32; /* max for SMBus block reads */ } + /* Experience has shown that the block buffer can only be used for + SMBus (not I2C) block transactions, even though the datasheet + doesn't mention this limitation. */ if ((i801_features & FEATURE_BLOCK_BUFFER) - && !(command == I2C_SMBUS_I2C_BLOCK_DATA - && read_write == I2C_SMBUS_READ) + && command != I2C_SMBUS_I2C_BLOCK_DATA && i801_set_block_buffer_mode() == 0) result = i801_block_transaction_by_block(data, read_write, hwpec); -- cgit v0.10.2 From 6a9bcced518b98a7e52b9e8e96af228b171e0498 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Mar 2010 20:56:54 +0100 Subject: tsl2550: Move from i2c/chips to misc Move the last remaining driver from i2c/chips to misc. Good ridance! Signed-off-by: Jean Delvare Acked-by: Wolfram Sang Acked-by: Jonathan Cameron diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 02ce9cf..7bcde5d 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -73,7 +73,6 @@ config I2C_SMBUS source drivers/i2c/algos/Kconfig source drivers/i2c/busses/Kconfig -source drivers/i2c/chips/Kconfig config I2C_DEBUG_CORE bool "I2C Core debugging messages" diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile index acd0250..a7d9b4be9 100644 --- a/drivers/i2c/Makefile +++ b/drivers/i2c/Makefile @@ -6,7 +6,7 @@ obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o obj-$(CONFIG_I2C) += i2c-core.o obj-$(CONFIG_I2C_SMBUS) += i2c-smbus.o obj-$(CONFIG_I2C_CHARDEV) += i2c-dev.o -obj-y += busses/ chips/ algos/ +obj-y += algos/ busses/ ifeq ($(CONFIG_I2C_DEBUG_CORE),y) EXTRA_CFLAGS += -DDEBUG diff --git a/drivers/i2c/chips/Kconfig b/drivers/i2c/chips/Kconfig deleted file mode 100644 index ae4539d..0000000 --- a/drivers/i2c/chips/Kconfig +++ /dev/null @@ -1,19 +0,0 @@ -# -# Miscellaneous I2C chip drivers configuration -# -# *** DEPRECATED! Do not add new entries! See Makefile *** -# - -menu "Miscellaneous I2C Chip support" - -config SENSORS_TSL2550 - tristate "Taos TSL2550 ambient light sensor" - depends on EXPERIMENTAL - help - If you say yes here you get support for the Taos TSL2550 - ambient light sensor. - - This driver can also be built as a module. If so, the module - will be called tsl2550. - -endmenu diff --git a/drivers/i2c/chips/Makefile b/drivers/i2c/chips/Makefile deleted file mode 100644 index fe0af0f..0000000 --- a/drivers/i2c/chips/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# -# Makefile for miscellaneous I2C chip drivers. -# -# Do not add new drivers to this directory! It is DEPRECATED. -# -# Device drivers are better grouped according to the functionality they -# implement rather than to the bus they are connected to. In particular: -# * Hardware monitoring chip drivers go to drivers/hwmon -# * RTC chip drivers go to drivers/rtc -# * I/O expander drivers go to drivers/gpio -# - -obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o - -ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) -EXTRA_CFLAGS += -DDEBUG -endif - diff --git a/drivers/i2c/chips/tsl2550.c b/drivers/i2c/chips/tsl2550.c deleted file mode 100644 index a0702f3..0000000 --- a/drivers/i2c/chips/tsl2550.c +++ /dev/null @@ -1,473 +0,0 @@ -/* - * tsl2550.c - Linux kernel modules for ambient light sensor - * - * Copyright (C) 2007 Rodolfo Giometti - * Copyright (C) 2007 Eurotech S.p.A. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include -#include -#include -#include -#include - -#define TSL2550_DRV_NAME "tsl2550" -#define DRIVER_VERSION "1.2" - -/* - * Defines - */ - -#define TSL2550_POWER_DOWN 0x00 -#define TSL2550_POWER_UP 0x03 -#define TSL2550_STANDARD_RANGE 0x18 -#define TSL2550_EXTENDED_RANGE 0x1d -#define TSL2550_READ_ADC0 0x43 -#define TSL2550_READ_ADC1 0x83 - -/* - * Structs - */ - -struct tsl2550_data { - struct i2c_client *client; - struct mutex update_lock; - - unsigned int power_state : 1; - unsigned int operating_mode : 1; -}; - -/* - * Global data - */ - -static const u8 TSL2550_MODE_RANGE[2] = { - TSL2550_STANDARD_RANGE, TSL2550_EXTENDED_RANGE, -}; - -/* - * Management functions - */ - -static int tsl2550_set_operating_mode(struct i2c_client *client, int mode) -{ - struct tsl2550_data *data = i2c_get_clientdata(client); - - int ret = i2c_smbus_write_byte(client, TSL2550_MODE_RANGE[mode]); - - data->operating_mode = mode; - - return ret; -} - -static int tsl2550_set_power_state(struct i2c_client *client, int state) -{ - struct tsl2550_data *data = i2c_get_clientdata(client); - int ret; - - if (state == 0) - ret = i2c_smbus_write_byte(client, TSL2550_POWER_DOWN); - else { - ret = i2c_smbus_write_byte(client, TSL2550_POWER_UP); - - /* On power up we should reset operating mode also... */ - tsl2550_set_operating_mode(client, data->operating_mode); - } - - data->power_state = state; - - return ret; -} - -static int tsl2550_get_adc_value(struct i2c_client *client, u8 cmd) -{ - int ret; - - ret = i2c_smbus_read_byte_data(client, cmd); - if (ret < 0) - return ret; - if (!(ret & 0x80)) - return -EAGAIN; - return ret & 0x7f; /* remove the "valid" bit */ -} - -/* - * LUX calculation - */ - -#define TSL2550_MAX_LUX 1846 - -static const u8 ratio_lut[] = { - 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 98, 98, 98, 98, 98, - 98, 98, 97, 97, 97, 97, 97, 96, - 96, 96, 96, 95, 95, 95, 94, 94, - 93, 93, 93, 92, 92, 91, 91, 90, - 89, 89, 88, 87, 87, 86, 85, 84, - 83, 82, 81, 80, 79, 78, 77, 75, - 74, 73, 71, 69, 68, 66, 64, 62, - 60, 58, 56, 54, 52, 49, 47, 44, - 42, 41, 40, 40, 39, 39, 38, 38, - 37, 37, 37, 36, 36, 36, 35, 35, - 35, 35, 34, 34, 34, 34, 33, 33, - 33, 33, 32, 32, 32, 32, 32, 31, - 31, 31, 31, 31, 30, 30, 30, 30, - 30, -}; - -static const u16 count_lut[] = { - 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, - 16, 18, 20, 22, 24, 26, 28, 30, - 32, 34, 36, 38, 40, 42, 44, 46, - 49, 53, 57, 61, 65, 69, 73, 77, - 81, 85, 89, 93, 97, 101, 105, 109, - 115, 123, 131, 139, 147, 155, 163, 171, - 179, 187, 195, 203, 211, 219, 227, 235, - 247, 263, 279, 295, 311, 327, 343, 359, - 375, 391, 407, 423, 439, 455, 471, 487, - 511, 543, 575, 607, 639, 671, 703, 735, - 767, 799, 831, 863, 895, 927, 959, 991, - 1039, 1103, 1167, 1231, 1295, 1359, 1423, 1487, - 1551, 1615, 1679, 1743, 1807, 1871, 1935, 1999, - 2095, 2223, 2351, 2479, 2607, 2735, 2863, 2991, - 3119, 3247, 3375, 3503, 3631, 3759, 3887, 4015, -}; - -/* - * This function is described into Taos TSL2550 Designer's Notebook - * pages 2, 3. - */ -static int tsl2550_calculate_lux(u8 ch0, u8 ch1) -{ - unsigned int lux; - - /* Look up count from channel values */ - u16 c0 = count_lut[ch0]; - u16 c1 = count_lut[ch1]; - - /* - * Calculate ratio. - * Note: the "128" is a scaling factor - */ - u8 r = 128; - - /* Avoid division by 0 and count 1 cannot be greater than count 0 */ - if (c1 <= c0) - if (c0) { - r = c1 * 128 / c0; - - /* Calculate LUX */ - lux = ((c0 - c1) * ratio_lut[r]) / 256; - } else - lux = 0; - else - return -EAGAIN; - - /* LUX range check */ - return lux > TSL2550_MAX_LUX ? TSL2550_MAX_LUX : lux; -} - -/* - * SysFS support - */ - -static ssize_t tsl2550_show_power_state(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct tsl2550_data *data = i2c_get_clientdata(to_i2c_client(dev)); - - return sprintf(buf, "%u\n", data->power_state); -} - -static ssize_t tsl2550_store_power_state(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - struct i2c_client *client = to_i2c_client(dev); - struct tsl2550_data *data = i2c_get_clientdata(client); - unsigned long val = simple_strtoul(buf, NULL, 10); - int ret; - - if (val < 0 || val > 1) - return -EINVAL; - - mutex_lock(&data->update_lock); - ret = tsl2550_set_power_state(client, val); - mutex_unlock(&data->update_lock); - - if (ret < 0) - return ret; - - return count; -} - -static DEVICE_ATTR(power_state, S_IWUSR | S_IRUGO, - tsl2550_show_power_state, tsl2550_store_power_state); - -static ssize_t tsl2550_show_operating_mode(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct tsl2550_data *data = i2c_get_clientdata(to_i2c_client(dev)); - - return sprintf(buf, "%u\n", data->operating_mode); -} - -static ssize_t tsl2550_store_operating_mode(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - struct i2c_client *client = to_i2c_client(dev); - struct tsl2550_data *data = i2c_get_clientdata(client); - unsigned long val = simple_strtoul(buf, NULL, 10); - int ret; - - if (val < 0 || val > 1) - return -EINVAL; - - if (data->power_state == 0) - return -EBUSY; - - mutex_lock(&data->update_lock); - ret = tsl2550_set_operating_mode(client, val); - mutex_unlock(&data->update_lock); - - if (ret < 0) - return ret; - - return count; -} - -static DEVICE_ATTR(operating_mode, S_IWUSR | S_IRUGO, - tsl2550_show_operating_mode, tsl2550_store_operating_mode); - -static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf) -{ - struct tsl2550_data *data = i2c_get_clientdata(client); - u8 ch0, ch1; - int ret; - - ret = tsl2550_get_adc_value(client, TSL2550_READ_ADC0); - if (ret < 0) - return ret; - ch0 = ret; - - ret = tsl2550_get_adc_value(client, TSL2550_READ_ADC1); - if (ret < 0) - return ret; - ch1 = ret; - - /* Do the job */ - ret = tsl2550_calculate_lux(ch0, ch1); - if (ret < 0) - return ret; - if (data->operating_mode == 1) - ret *= 5; - - return sprintf(buf, "%d\n", ret); -} - -static ssize_t tsl2550_show_lux1_input(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct i2c_client *client = to_i2c_client(dev); - struct tsl2550_data *data = i2c_get_clientdata(client); - int ret; - - /* No LUX data if not operational */ - if (!data->power_state) - return -EBUSY; - - mutex_lock(&data->update_lock); - ret = __tsl2550_show_lux(client, buf); - mutex_unlock(&data->update_lock); - - return ret; -} - -static DEVICE_ATTR(lux1_input, S_IRUGO, - tsl2550_show_lux1_input, NULL); - -static struct attribute *tsl2550_attributes[] = { - &dev_attr_power_state.attr, - &dev_attr_operating_mode.attr, - &dev_attr_lux1_input.attr, - NULL -}; - -static const struct attribute_group tsl2550_attr_group = { - .attrs = tsl2550_attributes, -}; - -/* - * Initialization function - */ - -static int tsl2550_init_client(struct i2c_client *client) -{ - struct tsl2550_data *data = i2c_get_clientdata(client); - int err; - - /* - * Probe the chip. To do so we try to power up the device and then to - * read back the 0x03 code - */ - err = i2c_smbus_read_byte_data(client, TSL2550_POWER_UP); - if (err < 0) - return err; - if (err != TSL2550_POWER_UP) - return -ENODEV; - data->power_state = 1; - - /* Set the default operating mode */ - err = i2c_smbus_write_byte(client, - TSL2550_MODE_RANGE[data->operating_mode]); - if (err < 0) - return err; - - return 0; -} - -/* - * I2C init/probing/exit functions - */ - -static struct i2c_driver tsl2550_driver; -static int __devinit tsl2550_probe(struct i2c_client *client, - const struct i2c_device_id *id) -{ - struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); - struct tsl2550_data *data; - int *opmode, err = 0; - - if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WRITE_BYTE - | I2C_FUNC_SMBUS_READ_BYTE_DATA)) { - err = -EIO; - goto exit; - } - - data = kzalloc(sizeof(struct tsl2550_data), GFP_KERNEL); - if (!data) { - err = -ENOMEM; - goto exit; - } - data->client = client; - i2c_set_clientdata(client, data); - - /* Check platform data */ - opmode = client->dev.platform_data; - if (opmode) { - if (*opmode < 0 || *opmode > 1) { - dev_err(&client->dev, "invalid operating_mode (%d)\n", - *opmode); - err = -EINVAL; - goto exit_kfree; - } - data->operating_mode = *opmode; - } else - data->operating_mode = 0; /* default mode is standard */ - dev_info(&client->dev, "%s operating mode\n", - data->operating_mode ? "extended" : "standard"); - - mutex_init(&data->update_lock); - - /* Initialize the TSL2550 chip */ - err = tsl2550_init_client(client); - if (err) - goto exit_kfree; - - /* Register sysfs hooks */ - err = sysfs_create_group(&client->dev.kobj, &tsl2550_attr_group); - if (err) - goto exit_kfree; - - dev_info(&client->dev, "support ver. %s enabled\n", DRIVER_VERSION); - - return 0; - -exit_kfree: - kfree(data); -exit: - return err; -} - -static int __devexit tsl2550_remove(struct i2c_client *client) -{ - sysfs_remove_group(&client->dev.kobj, &tsl2550_attr_group); - - /* Power down the device */ - tsl2550_set_power_state(client, 0); - - kfree(i2c_get_clientdata(client)); - - return 0; -} - -#ifdef CONFIG_PM - -static int tsl2550_suspend(struct i2c_client *client, pm_message_t mesg) -{ - return tsl2550_set_power_state(client, 0); -} - -static int tsl2550_resume(struct i2c_client *client) -{ - return tsl2550_set_power_state(client, 1); -} - -#else - -#define tsl2550_suspend NULL -#define tsl2550_resume NULL - -#endif /* CONFIG_PM */ - -static const struct i2c_device_id tsl2550_id[] = { - { "tsl2550", 0 }, - { } -}; -MODULE_DEVICE_TABLE(i2c, tsl2550_id); - -static struct i2c_driver tsl2550_driver = { - .driver = { - .name = TSL2550_DRV_NAME, - .owner = THIS_MODULE, - }, - .suspend = tsl2550_suspend, - .resume = tsl2550_resume, - .probe = tsl2550_probe, - .remove = __devexit_p(tsl2550_remove), - .id_table = tsl2550_id, -}; - -static int __init tsl2550_init(void) -{ - return i2c_add_driver(&tsl2550_driver); -} - -static void __exit tsl2550_exit(void) -{ - i2c_del_driver(&tsl2550_driver); -} - -MODULE_AUTHOR("Rodolfo Giometti "); -MODULE_DESCRIPTION("TSL2550 ambient light sensor driver"); -MODULE_LICENSE("GPL"); -MODULE_VERSION(DRIVER_VERSION); - -module_init(tsl2550_init); -module_exit(tsl2550_exit); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index d16af6a..2191c8d 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -268,6 +268,16 @@ config ISL29003 This driver can also be built as a module. If so, the module will be called isl29003. +config SENSORS_TSL2550 + tristate "Taos TSL2550 ambient light sensor" + depends on I2C && SYSFS + help + If you say yes here you get support for the Taos TSL2550 + ambient light sensor. + + This driver can also be built as a module. If so, the module + will be called tsl2550. + config EP93XX_PWM tristate "EP93xx PWM support" depends on ARCH_EP93XX diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 049ff24..27c4843 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_SGI_GRU) += sgi-gru/ obj-$(CONFIG_CS5535_MFGPT) += cs5535-mfgpt.o obj-$(CONFIG_HP_ILO) += hpilo.o obj-$(CONFIG_ISL29003) += isl29003.o +obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o obj-$(CONFIG_EP93XX_PWM) += ep93xx_pwm.o obj-$(CONFIG_DS1682) += ds1682.o obj-$(CONFIG_TI_DAC7512) += ti_dac7512.o diff --git a/drivers/misc/tsl2550.c b/drivers/misc/tsl2550.c new file mode 100644 index 0000000..483ae5f --- /dev/null +++ b/drivers/misc/tsl2550.c @@ -0,0 +1,473 @@ +/* + * tsl2550.c - Linux kernel modules for ambient light sensor + * + * Copyright (C) 2007 Rodolfo Giometti + * Copyright (C) 2007 Eurotech S.p.A. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include + +#define TSL2550_DRV_NAME "tsl2550" +#define DRIVER_VERSION "1.2" + +/* + * Defines + */ + +#define TSL2550_POWER_DOWN 0x00 +#define TSL2550_POWER_UP 0x03 +#define TSL2550_STANDARD_RANGE 0x18 +#define TSL2550_EXTENDED_RANGE 0x1d +#define TSL2550_READ_ADC0 0x43 +#define TSL2550_READ_ADC1 0x83 + +/* + * Structs + */ + +struct tsl2550_data { + struct i2c_client *client; + struct mutex update_lock; + + unsigned int power_state:1; + unsigned int operating_mode:1; +}; + +/* + * Global data + */ + +static const u8 TSL2550_MODE_RANGE[2] = { + TSL2550_STANDARD_RANGE, TSL2550_EXTENDED_RANGE, +}; + +/* + * Management functions + */ + +static int tsl2550_set_operating_mode(struct i2c_client *client, int mode) +{ + struct tsl2550_data *data = i2c_get_clientdata(client); + + int ret = i2c_smbus_write_byte(client, TSL2550_MODE_RANGE[mode]); + + data->operating_mode = mode; + + return ret; +} + +static int tsl2550_set_power_state(struct i2c_client *client, int state) +{ + struct tsl2550_data *data = i2c_get_clientdata(client); + int ret; + + if (state == 0) + ret = i2c_smbus_write_byte(client, TSL2550_POWER_DOWN); + else { + ret = i2c_smbus_write_byte(client, TSL2550_POWER_UP); + + /* On power up we should reset operating mode also... */ + tsl2550_set_operating_mode(client, data->operating_mode); + } + + data->power_state = state; + + return ret; +} + +static int tsl2550_get_adc_value(struct i2c_client *client, u8 cmd) +{ + int ret; + + ret = i2c_smbus_read_byte_data(client, cmd); + if (ret < 0) + return ret; + if (!(ret & 0x80)) + return -EAGAIN; + return ret & 0x7f; /* remove the "valid" bit */ +} + +/* + * LUX calculation + */ + +#define TSL2550_MAX_LUX 1846 + +static const u8 ratio_lut[] = { + 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 98, 98, 98, 98, 98, + 98, 98, 97, 97, 97, 97, 97, 96, + 96, 96, 96, 95, 95, 95, 94, 94, + 93, 93, 93, 92, 92, 91, 91, 90, + 89, 89, 88, 87, 87, 86, 85, 84, + 83, 82, 81, 80, 79, 78, 77, 75, + 74, 73, 71, 69, 68, 66, 64, 62, + 60, 58, 56, 54, 52, 49, 47, 44, + 42, 41, 40, 40, 39, 39, 38, 38, + 37, 37, 37, 36, 36, 36, 35, 35, + 35, 35, 34, 34, 34, 34, 33, 33, + 33, 33, 32, 32, 32, 32, 32, 31, + 31, 31, 31, 31, 30, 30, 30, 30, + 30, +}; + +static const u16 count_lut[] = { + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 18, 20, 22, 24, 26, 28, 30, + 32, 34, 36, 38, 40, 42, 44, 46, + 49, 53, 57, 61, 65, 69, 73, 77, + 81, 85, 89, 93, 97, 101, 105, 109, + 115, 123, 131, 139, 147, 155, 163, 171, + 179, 187, 195, 203, 211, 219, 227, 235, + 247, 263, 279, 295, 311, 327, 343, 359, + 375, 391, 407, 423, 439, 455, 471, 487, + 511, 543, 575, 607, 639, 671, 703, 735, + 767, 799, 831, 863, 895, 927, 959, 991, + 1039, 1103, 1167, 1231, 1295, 1359, 1423, 1487, + 1551, 1615, 1679, 1743, 1807, 1871, 1935, 1999, + 2095, 2223, 2351, 2479, 2607, 2735, 2863, 2991, + 3119, 3247, 3375, 3503, 3631, 3759, 3887, 4015, +}; + +/* + * This function is described into Taos TSL2550 Designer's Notebook + * pages 2, 3. + */ +static int tsl2550_calculate_lux(u8 ch0, u8 ch1) +{ + unsigned int lux; + + /* Look up count from channel values */ + u16 c0 = count_lut[ch0]; + u16 c1 = count_lut[ch1]; + + /* + * Calculate ratio. + * Note: the "128" is a scaling factor + */ + u8 r = 128; + + /* Avoid division by 0 and count 1 cannot be greater than count 0 */ + if (c1 <= c0) + if (c0) { + r = c1 * 128 / c0; + + /* Calculate LUX */ + lux = ((c0 - c1) * ratio_lut[r]) / 256; + } else + lux = 0; + else + return -EAGAIN; + + /* LUX range check */ + return lux > TSL2550_MAX_LUX ? TSL2550_MAX_LUX : lux; +} + +/* + * SysFS support + */ + +static ssize_t tsl2550_show_power_state(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct tsl2550_data *data = i2c_get_clientdata(to_i2c_client(dev)); + + return sprintf(buf, "%u\n", data->power_state); +} + +static ssize_t tsl2550_store_power_state(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct i2c_client *client = to_i2c_client(dev); + struct tsl2550_data *data = i2c_get_clientdata(client); + unsigned long val = simple_strtoul(buf, NULL, 10); + int ret; + + if (val < 0 || val > 1) + return -EINVAL; + + mutex_lock(&data->update_lock); + ret = tsl2550_set_power_state(client, val); + mutex_unlock(&data->update_lock); + + if (ret < 0) + return ret; + + return count; +} + +static DEVICE_ATTR(power_state, S_IWUSR | S_IRUGO, + tsl2550_show_power_state, tsl2550_store_power_state); + +static ssize_t tsl2550_show_operating_mode(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct tsl2550_data *data = i2c_get_clientdata(to_i2c_client(dev)); + + return sprintf(buf, "%u\n", data->operating_mode); +} + +static ssize_t tsl2550_store_operating_mode(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct i2c_client *client = to_i2c_client(dev); + struct tsl2550_data *data = i2c_get_clientdata(client); + unsigned long val = simple_strtoul(buf, NULL, 10); + int ret; + + if (val < 0 || val > 1) + return -EINVAL; + + if (data->power_state == 0) + return -EBUSY; + + mutex_lock(&data->update_lock); + ret = tsl2550_set_operating_mode(client, val); + mutex_unlock(&data->update_lock); + + if (ret < 0) + return ret; + + return count; +} + +static DEVICE_ATTR(operating_mode, S_IWUSR | S_IRUGO, + tsl2550_show_operating_mode, tsl2550_store_operating_mode); + +static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf) +{ + struct tsl2550_data *data = i2c_get_clientdata(client); + u8 ch0, ch1; + int ret; + + ret = tsl2550_get_adc_value(client, TSL2550_READ_ADC0); + if (ret < 0) + return ret; + ch0 = ret; + + ret = tsl2550_get_adc_value(client, TSL2550_READ_ADC1); + if (ret < 0) + return ret; + ch1 = ret; + + /* Do the job */ + ret = tsl2550_calculate_lux(ch0, ch1); + if (ret < 0) + return ret; + if (data->operating_mode == 1) + ret *= 5; + + return sprintf(buf, "%d\n", ret); +} + +static ssize_t tsl2550_show_lux1_input(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct i2c_client *client = to_i2c_client(dev); + struct tsl2550_data *data = i2c_get_clientdata(client); + int ret; + + /* No LUX data if not operational */ + if (!data->power_state) + return -EBUSY; + + mutex_lock(&data->update_lock); + ret = __tsl2550_show_lux(client, buf); + mutex_unlock(&data->update_lock); + + return ret; +} + +static DEVICE_ATTR(lux1_input, S_IRUGO, + tsl2550_show_lux1_input, NULL); + +static struct attribute *tsl2550_attributes[] = { + &dev_attr_power_state.attr, + &dev_attr_operating_mode.attr, + &dev_attr_lux1_input.attr, + NULL +}; + +static const struct attribute_group tsl2550_attr_group = { + .attrs = tsl2550_attributes, +}; + +/* + * Initialization function + */ + +static int tsl2550_init_client(struct i2c_client *client) +{ + struct tsl2550_data *data = i2c_get_clientdata(client); + int err; + + /* + * Probe the chip. To do so we try to power up the device and then to + * read back the 0x03 code + */ + err = i2c_smbus_read_byte_data(client, TSL2550_POWER_UP); + if (err < 0) + return err; + if (err != TSL2550_POWER_UP) + return -ENODEV; + data->power_state = 1; + + /* Set the default operating mode */ + err = i2c_smbus_write_byte(client, + TSL2550_MODE_RANGE[data->operating_mode]); + if (err < 0) + return err; + + return 0; +} + +/* + * I2C init/probing/exit functions + */ + +static struct i2c_driver tsl2550_driver; +static int __devinit tsl2550_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + struct tsl2550_data *data; + int *opmode, err = 0; + + if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WRITE_BYTE + | I2C_FUNC_SMBUS_READ_BYTE_DATA)) { + err = -EIO; + goto exit; + } + + data = kzalloc(sizeof(struct tsl2550_data), GFP_KERNEL); + if (!data) { + err = -ENOMEM; + goto exit; + } + data->client = client; + i2c_set_clientdata(client, data); + + /* Check platform data */ + opmode = client->dev.platform_data; + if (opmode) { + if (*opmode < 0 || *opmode > 1) { + dev_err(&client->dev, "invalid operating_mode (%d)\n", + *opmode); + err = -EINVAL; + goto exit_kfree; + } + data->operating_mode = *opmode; + } else + data->operating_mode = 0; /* default mode is standard */ + dev_info(&client->dev, "%s operating mode\n", + data->operating_mode ? "extended" : "standard"); + + mutex_init(&data->update_lock); + + /* Initialize the TSL2550 chip */ + err = tsl2550_init_client(client); + if (err) + goto exit_kfree; + + /* Register sysfs hooks */ + err = sysfs_create_group(&client->dev.kobj, &tsl2550_attr_group); + if (err) + goto exit_kfree; + + dev_info(&client->dev, "support ver. %s enabled\n", DRIVER_VERSION); + + return 0; + +exit_kfree: + kfree(data); +exit: + return err; +} + +static int __devexit tsl2550_remove(struct i2c_client *client) +{ + sysfs_remove_group(&client->dev.kobj, &tsl2550_attr_group); + + /* Power down the device */ + tsl2550_set_power_state(client, 0); + + kfree(i2c_get_clientdata(client)); + + return 0; +} + +#ifdef CONFIG_PM + +static int tsl2550_suspend(struct i2c_client *client, pm_message_t mesg) +{ + return tsl2550_set_power_state(client, 0); +} + +static int tsl2550_resume(struct i2c_client *client) +{ + return tsl2550_set_power_state(client, 1); +} + +#else + +#define tsl2550_suspend NULL +#define tsl2550_resume NULL + +#endif /* CONFIG_PM */ + +static const struct i2c_device_id tsl2550_id[] = { + { "tsl2550", 0 }, + { } +}; +MODULE_DEVICE_TABLE(i2c, tsl2550_id); + +static struct i2c_driver tsl2550_driver = { + .driver = { + .name = TSL2550_DRV_NAME, + .owner = THIS_MODULE, + }, + .suspend = tsl2550_suspend, + .resume = tsl2550_resume, + .probe = tsl2550_probe, + .remove = __devexit_p(tsl2550_remove), + .id_table = tsl2550_id, +}; + +static int __init tsl2550_init(void) +{ + return i2c_add_driver(&tsl2550_driver); +} + +static void __exit tsl2550_exit(void) +{ + i2c_del_driver(&tsl2550_driver); +} + +MODULE_AUTHOR("Rodolfo Giometti "); +MODULE_DESCRIPTION("TSL2550 ambient light sensor driver"); +MODULE_LICENSE("GPL"); +MODULE_VERSION(DRIVER_VERSION); + +module_init(tsl2550_init); +module_exit(tsl2550_exit); -- cgit v0.10.2 From e77482d735efa2606c1f2afeebd53e1119d0e5c6 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Mar 2010 20:56:55 +0100 Subject: i2c: Drop configure option I2C_DEBUG_CHIP Now that directory drivers/i2c/chips is gone, configuration option I2C_DEBUG_CHIP no longer has any effect, so we can drop it. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 7bcde5d..d06083f 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -97,12 +97,4 @@ config I2C_DEBUG_BUS a problem with I2C support and want to see more of what is going on. -config I2C_DEBUG_CHIP - bool "I2C Chip debugging messages" - help - Say Y here if you want the I2C chip drivers to produce a bunch of - debug messages to the system log. Select this if you are having - a problem with I2C support and want to see more of what is going - on. - endif # I2C -- cgit v0.10.2 From d07b56b3098b9f32ae6dedeacbc594bd01dcfcd1 Mon Sep 17 00:00:00 2001 From: Wolfram Sang Date: Sat, 13 Mar 2010 20:56:55 +0100 Subject: at24: Init dynamic bin_attribute structures Commit 6992f5334995af474c2b58d010d08bc597f0f2fe introduced this requirement. Reported-by: Albrecht Dress Signed-off-by: Wolfram Sang Signed-off-by: Eric W. Biederman Signed-off-by: Jean Delvare diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 2cb2736..db7d0f2 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -505,6 +505,7 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id) * Export the EEPROM bytes through sysfs, since that's convenient. * By default, only root should see the data (maybe passwords etc) */ + sysfs_bin_attr_init(&at24->bin); at24->bin.attr.name = "eeprom"; at24->bin.attr.mode = chip.flags & AT24_FLAG_IRUGO ? S_IRUGO : S_IRUSR; at24->bin.read = at24_bin_read; -- cgit v0.10.2 From 0a9c14751377a1407f5e35791e13651d2fc7801c Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Mar 2010 20:56:56 +0100 Subject: i2c-algo-bit: Add pre- and post-xfer hooks Drivers might have to do random things before and/or after I2C transfers. Add hooks to the i2c-algo-bit implementation to let them do so. Signed-off-by: Jean Delvare Cc: Alex Deucher diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index e25e139..e8d568c 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c @@ -522,6 +522,12 @@ static int bit_xfer(struct i2c_adapter *i2c_adap, int i, ret; unsigned short nak_ok; + if (adap->pre_xfer) { + ret = adap->pre_xfer(i2c_adap); + if (ret < 0) + return ret; + } + bit_dbg(3, &i2c_adap->dev, "emitting start condition\n"); i2c_start(adap); for (i = 0; i < num; i++) { @@ -570,6 +576,9 @@ static int bit_xfer(struct i2c_adapter *i2c_adap, bailout: bit_dbg(3, &i2c_adap->dev, "emitting stop condition\n"); i2c_stop(adap); + + if (adap->post_xfer) + adap->post_xfer(i2c_adap); return ret; } diff --git a/include/linux/i2c-algo-bit.h b/include/linux/i2c-algo-bit.h index 111334f..4f98148 100644 --- a/include/linux/i2c-algo-bit.h +++ b/include/linux/i2c-algo-bit.h @@ -36,6 +36,8 @@ struct i2c_algo_bit_data { void (*setscl) (void *data, int state); int (*getsda) (void *data); int (*getscl) (void *data); + int (*pre_xfer) (struct i2c_adapter *); + void (*post_xfer) (struct i2c_adapter *); /* local settings */ int udelay; /* half clock cycle time in us, -- cgit v0.10.2 From 3f07d1295191cfa41125e4e61ee2064790070071 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Sat, 13 Mar 2010 12:22:16 -0800 Subject: drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant The constant TG3_FLAG_10_100_ONLY should be used with the tg3_flags field, not the tg3_flags2 field, as done elsewhere in the same file. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c3b4fe7..22cf1c4 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -9776,7 +9776,7 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) ADVERTISED_Pause | ADVERTISED_Asym_Pause; - if (!(tp->tg3_flags2 & TG3_FLAG_10_100_ONLY)) + if (!(tp->tg3_flags & TG3_FLAG_10_100_ONLY)) mask |= ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full; -- cgit v0.10.2 From e2577a065832f2c6d108de2e027891bdb2d78924 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 13 Mar 2010 12:23:29 -0800 Subject: ipv6: Send netlink notification when DAD fails If we are managing IPv6 addresses using DHCP, it would be nice for user-space to be notified if an address configured through DHCP fails DAD. Otherwise user-space would have to poll to see whether DAD succeeds. This patch uses the existing notification mechanism and simply hooks it into the DAD failure code path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 6cf3ee1..3381b43 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -1380,6 +1380,8 @@ static void addrconf_dad_stop(struct inet6_ifaddr *ifp, int dad_failed) if (dad_failed) ifp->flags |= IFA_F_DADFAILED; spin_unlock_bh(&ifp->lock); + if (dad_failed) + ipv6_ifa_notify(0, ifp); in6_ifa_put(ifp); #ifdef CONFIG_IPV6_PRIVACY } else if (ifp->flags&IFA_F_TEMPORARY) { -- cgit v0.10.2 From 2a40018984c5c9647df1c18489449a3a227d9136 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Sat, 13 Mar 2010 12:24:18 -0800 Subject: sky2: Avoid rtnl_unlock without rtnl_lock Make sure we always call rtnl_lock before going down the error path in sky2_resume, which unlocks the rtnl lock. Signed-off-by: Mike McCormack Signed-off-by: David S. Miller diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 653bdd7..d8ec4c1 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -4863,6 +4863,7 @@ static int sky2_resume(struct pci_dev *pdev) if (!hw) return 0; + rtnl_lock(); err = pci_set_power_state(pdev, PCI_D0); if (err) goto out; @@ -4884,7 +4885,6 @@ static int sky2_resume(struct pci_dev *pdev) sky2_write32(hw, B0_IMSK, Y2_IS_BASE); napi_enable(&hw->napi); - rtnl_lock(); for (i = 0; i < hw->ports; i++) { err = sky2_reattach(hw->dev[i]); if (err) -- cgit v0.10.2 From c251c7f738cd94eb3a1febda318078c661eccb4d Mon Sep 17 00:00:00 2001 From: Joe Perches Date: Sat, 13 Mar 2010 12:26:15 -0800 Subject: drivers/net/tulip/eeprom.c: fix bogus "(null)" in tulip init messages On Wed, 2010-03-10 at 08:41 -0800, David Miller wrote: > From: Mikael Pettersson > Date: Wed, 10 Mar 2010 16:33:28 +0100 > > Booting 2.6.34-rc1 on a machine with a tulip nic I see > > a number of kernel messages that include "(null)" where > > previous kernels included the string "tulip0": > CC:'ing the guilty party :-) It's one of the following > commits: Thanks Mikael. Anonymity has some good attributes. Blame avoidance is one of them. I've broad shoulders. It's me, then Dwight Howard... There might be another few of these where ->name or ->dev was used before struct device or net_device was registered. I'll go back and check. tulip_core has: if (tp->flags & HAS_MEDIA_TABLE) { sprintf(dev->name, DRV_NAME "%d", board_idx); /* hack */ tulip_parse_eeprom(dev); strcpy(dev->name, "eth%d"); /* un-hack */ } So I don't feel _too_ bad. tulip_parse_eeprom is done before register_netdev so the logging there can not use netdev_ or dev_(&dev->dev Signed-off-by: Joe Perches Tested-by: Mikael Pettersson Signed-off-by: David S. Miller diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c index 93f4e83..49f05d1 100644 --- a/drivers/net/tulip/eeprom.c +++ b/drivers/net/tulip/eeprom.c @@ -143,6 +143,12 @@ static void __devinit tulip_build_fake_mediatable(struct tulip_private *tp) void __devinit tulip_parse_eeprom(struct net_device *dev) { + /* + dev is not registered at this point, so logging messages can't + use dev_ or netdev_ but dev->name is good via a + hack in the caller + */ + /* The last media info list parsed, for multiport boards. */ static struct mediatable *last_mediatable; static unsigned char *last_ee_data; @@ -161,15 +167,14 @@ void __devinit tulip_parse_eeprom(struct net_device *dev) if (ee_data[0] == 0xff) { if (last_mediatable) { controller_index++; - dev_info(&dev->dev, - "Controller %d of multiport board\n", - controller_index); + pr_info("%s: Controller %d of multiport board\n", + dev->name, controller_index); tp->mtable = last_mediatable; ee_data = last_ee_data; goto subsequent_board; } else - dev_info(&dev->dev, - "Missing EEPROM, this interface may not work correctly!\n"); + pr_info("%s: Missing EEPROM, this interface may not work correctly!\n", + dev->name); return; } /* Do a fix-up based on the vendor half of the station address prefix. */ @@ -181,15 +186,14 @@ void __devinit tulip_parse_eeprom(struct net_device *dev) i++; /* An Accton EN1207, not an outlaw Maxtech. */ memcpy(ee_data + 26, eeprom_fixups[i].newtable, sizeof(eeprom_fixups[i].newtable)); - dev_info(&dev->dev, - "Old format EEPROM on '%s' board. Using substitute media control info\n", - eeprom_fixups[i].name); + pr_info("%s: Old format EEPROM on '%s' board. Using substitute media control info\n", + dev->name, eeprom_fixups[i].name); break; } } if (eeprom_fixups[i].name == NULL) { /* No fixup found. */ - dev_info(&dev->dev, - "Old style EEPROM with no media selection information\n"); + pr_info("%s: Old style EEPROM with no media selection information\n", + dev->name); return; } } @@ -217,8 +221,8 @@ subsequent_board: /* there is no phy information, don't even try to build mtable */ if (count == 0) { if (tulip_debug > 0) - dev_warn(&dev->dev, - "no phy info, aborting mtable build\n"); + pr_warning("%s: no phy info, aborting mtable build\n", + dev->name); return; } @@ -234,8 +238,10 @@ subsequent_board: mtable->has_nonmii = mtable->has_mii = mtable->has_reset = 0; mtable->csr15dir = mtable->csr15val = 0; - dev_info(&dev->dev, "EEPROM default media type %s\n", - media & 0x0800 ? "Autosense" : medianame[media & MEDIA_MASK]); + pr_info("%s: EEPROM default media type %s\n", + dev->name, + media & 0x0800 ? "Autosense" + : medianame[media & MEDIA_MASK]); for (i = 0; i < count; i++) { struct medialeaf *leaf = &mtable->mleaf[i]; @@ -298,17 +304,17 @@ subsequent_board: } if (tulip_debug > 1 && leaf->media == 11) { unsigned char *bp = leaf->leafdata; - dev_info(&dev->dev, - "MII interface PHY %d, setup/reset sequences %d/%d long, capabilities %02x %02x\n", - bp[0], bp[1], bp[2 + bp[1]*2], - bp[5 + bp[2 + bp[1]*2]*2], - bp[4 + bp[2 + bp[1]*2]*2]); + pr_info("%s: MII interface PHY %d, setup/reset sequences %d/%d long, capabilities %02x %02x\n", + dev->name, + bp[0], bp[1], bp[2 + bp[1]*2], + bp[5 + bp[2 + bp[1]*2]*2], + bp[4 + bp[2 + bp[1]*2]*2]); } - dev_info(&dev->dev, - "Index #%d - Media %s (#%d) described by a %s (%d) block\n", - i, medianame[leaf->media & 15], leaf->media, - leaf->type < ARRAY_SIZE(block_name) ? block_name[leaf->type] : "", - leaf->type); + pr_info("%s: Index #%d - Media %s (#%d) described by a %s (%d) block\n", + dev->name, + i, medianame[leaf->media & 15], leaf->media, + leaf->type < ARRAY_SIZE(block_name) ? block_name[leaf->type] : "", + leaf->type); } if (new_advertise) tp->sym_advertise = new_advertise; -- cgit v0.10.2 From bec68ff1637ca00bb1585a03a7be8a13380084de Mon Sep 17 00:00:00 2001 From: YOSHIFUJI Hideaki Date: Sat, 13 Mar 2010 12:27:21 -0800 Subject: bridge: ensure to unlock in error path in br_multicast_query(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 12ce1ea..fd96a8d 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -823,6 +823,7 @@ static int br_multicast_query(struct net_bridge *br, unsigned long max_delay; unsigned long now = jiffies; __be32 group; + int err = 0; spin_lock(&br->multicast_lock); if (!netif_running(br->dev) || @@ -841,12 +842,14 @@ static int br_multicast_query(struct net_bridge *br, group = 0; } } else { - if (!pskb_may_pull(skb, sizeof(struct igmpv3_query))) - return -EINVAL; + if (!pskb_may_pull(skb, sizeof(struct igmpv3_query))) { + err = -EINVAL; + goto out; + } ih3 = igmpv3_query_hdr(skb); if (ih3->nsrcs) - return 0; + goto out; max_delay = ih3->code ? 1 : IGMPV3_MRC(ih3->code) * (HZ / IGMP_TIMER_SCALE); @@ -876,7 +879,7 @@ static int br_multicast_query(struct net_bridge *br, out: spin_unlock(&br->multicast_lock); - return 0; + return err; } static void br_multicast_leave_group(struct net_bridge *br, -- cgit v0.10.2 From 2d378b9179881b46a0faf11430efb421fe03ddd8 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 13 Mar 2010 16:25:03 -0800 Subject: sparc64: Add very basic XVR-1000 framebuffer driver. Signed-off-by: David S. Miller Acked-by: Frans van Berckel diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 5a5c303..a5755b8 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -909,6 +909,18 @@ config FB_XVR2500 mostly initialized the card already. It is treated as a completely dumb framebuffer device. +config FB_XVR1000 + bool "Sun XVR-1000 support" + depends on SPARC64 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + help + This is the framebuffer device for the Sun XVR-1000 and similar + graphics cards. The driver only works on sparc64 systems where + the system firmware has mostly initialized the card already. It + is treated as a completely dumb framebuffer device. + config FB_PVR2 tristate "NEC PowerVR 2 display support" depends on FB && SH_DREAMCAST diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 4ecb30c..8c9a357 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -79,6 +79,7 @@ obj-$(CONFIG_FB_N411) += n411.o obj-$(CONFIG_FB_HGA) += hgafb.o obj-$(CONFIG_FB_XVR500) += sunxvr500.o obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o +obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o obj-$(CONFIG_FB_IGA) += igafb.o obj-$(CONFIG_FB_APOLLO) += dnfb.o obj-$(CONFIG_FB_Q40) += q40fb.o diff --git a/drivers/video/sunxvr1000.c b/drivers/video/sunxvr1000.c new file mode 100644 index 0000000..a8248c0 --- /dev/null +++ b/drivers/video/sunxvr1000.c @@ -0,0 +1,228 @@ +/* sunxvr1000.c: Sun XVR-1000 driver for sparc64 systems + * + * Copyright (C) 2010 David S. Miller (davem@davemloft.net) + */ + +#include +#include +#include +#include +#include +#include + +struct gfb_info { + struct fb_info *info; + + char __iomem *fb_base; + unsigned long fb_base_phys; + + struct device_node *of_node; + + unsigned int width; + unsigned int height; + unsigned int depth; + unsigned int fb_size; + + u32 pseudo_palette[16]; +}; + +static int __devinit gfb_get_props(struct gfb_info *gp) +{ + gp->width = of_getintprop_default(gp->of_node, "width", 0); + gp->height = of_getintprop_default(gp->of_node, "height", 0); + gp->depth = of_getintprop_default(gp->of_node, "depth", 32); + + if (!gp->width || !gp->height) { + printk(KERN_ERR "gfb: Critical properties missing for %s\n", + gp->of_node->full_name); + return -EINVAL; + } + + return 0; +} + +static int gfb_setcolreg(unsigned regno, + unsigned red, unsigned green, unsigned blue, + unsigned transp, struct fb_info *info) +{ + u32 value; + + if (regno < 16) { + red >>= 8; + green >>= 8; + blue >>= 8; + + value = (blue << 16) | (green << 8) | red; + ((u32 *)info->pseudo_palette)[regno] = value; + } + + return 0; +} + +static struct fb_ops gfb_ops = { + .owner = THIS_MODULE, + .fb_setcolreg = gfb_setcolreg, + .fb_fillrect = cfb_fillrect, + .fb_copyarea = cfb_copyarea, + .fb_imageblit = cfb_imageblit, +}; + +static int __devinit gfb_set_fbinfo(struct gfb_info *gp) +{ + struct fb_info *info = gp->info; + struct fb_var_screeninfo *var = &info->var; + + info->flags = FBINFO_DEFAULT; + info->fbops = &gfb_ops; + info->screen_base = gp->fb_base; + info->screen_size = gp->fb_size; + + info->pseudo_palette = gp->pseudo_palette; + + /* Fill fix common fields */ + strlcpy(info->fix.id, "gfb", sizeof(info->fix.id)); + info->fix.smem_start = gp->fb_base_phys; + info->fix.smem_len = gp->fb_size; + info->fix.type = FB_TYPE_PACKED_PIXELS; + if (gp->depth == 32 || gp->depth == 24) + info->fix.visual = FB_VISUAL_TRUECOLOR; + else + info->fix.visual = FB_VISUAL_PSEUDOCOLOR; + + var->xres = gp->width; + var->yres = gp->height; + var->xres_virtual = var->xres; + var->yres_virtual = var->yres; + var->bits_per_pixel = gp->depth; + + var->red.offset = 0; + var->red.length = 8; + var->green.offset = 8; + var->green.length = 8; + var->blue.offset = 16; + var->blue.length = 8; + var->transp.offset = 0; + var->transp.length = 0; + + if (fb_alloc_cmap(&info->cmap, 256, 0)) { + printk(KERN_ERR "gfb: Cannot allocate color map.\n"); + return -ENOMEM; + } + + return 0; +} + +static int __devinit gfb_probe(struct of_device *op, + const struct of_device_id *match) +{ + struct device_node *dp = op->node; + struct fb_info *info; + struct gfb_info *gp; + int err; + + info = framebuffer_alloc(sizeof(struct gfb_info), &op->dev); + if (!info) { + printk(KERN_ERR "gfb: Cannot allocate fb_info\n"); + err = -ENOMEM; + goto err_out; + } + + gp = info->par; + gp->info = info; + gp->of_node = dp; + + gp->fb_base_phys = op->resource[6].start; + + err = gfb_get_props(gp); + if (err) + goto err_release_fb; + + /* Framebuffer length is the same regardless of resolution. */ + info->fix.line_length = 16384; + gp->fb_size = info->fix.line_length * gp->height; + + gp->fb_base = of_ioremap(&op->resource[6], 0, + gp->fb_size, "gfb fb"); + if (!gp->fb_base) + goto err_release_fb; + + err = gfb_set_fbinfo(gp); + if (err) + goto err_unmap_fb; + + printk("gfb: Found device at %s\n", dp->full_name); + + err = register_framebuffer(info); + if (err < 0) { + printk(KERN_ERR "gfb: Could not register framebuffer %s\n", + dp->full_name); + goto err_unmap_fb; + } + + dev_set_drvdata(&op->dev, info); + + return 0; + +err_unmap_fb: + of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size); + +err_release_fb: + framebuffer_release(info); + +err_out: + return err; +} + +static int __devexit gfb_remove(struct of_device *op) +{ + struct fb_info *info = dev_get_drvdata(&op->dev); + struct gfb_info *gp = info->par; + + unregister_framebuffer(info); + + iounmap(gp->fb_base); + + of_iounmap(&op->resource[6], gp->fb_base, gp->fb_size); + + framebuffer_release(info); + + dev_set_drvdata(&op->dev, NULL); + + return 0; +} + +static const struct of_device_id gfb_match[] = { + { + .name = "SUNW,gfb", + }, + {}, +}; +MODULE_DEVICE_TABLE(of, ffb_match); + +static struct of_platform_driver gfb_driver = { + .name = "gfb", + .match_table = gfb_match, + .probe = gfb_probe, + .remove = __devexit_p(gfb_remove), +}; + +static int __init gfb_init(void) +{ + if (fb_get_options("gfb", NULL)) + return -ENODEV; + + return of_register_driver(&gfb_driver, &of_bus_type); +} + +static void __exit gfb_exit(void) +{ + of_unregister_driver(&gfb_driver); +} + +module_init(gfb_init); +module_exit(gfb_exit); + +MODULE_DESCRIPTION("framebuffer driver for Sun XVR-1000 graphics"); +MODULE_AUTHOR("David S. Miller "); +MODULE_VERSION("1.0"); +MODULE_LICENSE("GPL"); -- cgit v0.10.2 From 6c477d44a7dad43a2783b4dea7f4ca3882d77126 Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 02:01:51 +0900 Subject: nilfs2: fix discrepancy in use of static specifier Two segbuf functions, nilfs_segbuf_write and nilfs_segbuf_wait, are declared with the static storage class specifier, but their implementations are not. This fixes the discrepancy. Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c index ab56fe4..68b08f2 100644 --- a/fs/nilfs2/segbuf.c +++ b/fs/nilfs2/segbuf.c @@ -470,8 +470,8 @@ static int nilfs_segbuf_submit_bh(struct nilfs_segment_buffer *segbuf, * * %-ENOMEM - Insufficient memory available. */ -int nilfs_segbuf_write(struct nilfs_segment_buffer *segbuf, - struct the_nilfs *nilfs) +static int nilfs_segbuf_write(struct nilfs_segment_buffer *segbuf, + struct the_nilfs *nilfs) { struct nilfs_write_info wi; struct buffer_head *bh; @@ -514,7 +514,7 @@ int nilfs_segbuf_write(struct nilfs_segment_buffer *segbuf, * * %-EIO - I/O error */ -int nilfs_segbuf_wait(struct nilfs_segment_buffer *segbuf) +static int nilfs_segbuf_wait(struct nilfs_segment_buffer *segbuf) { int err = 0; -- cgit v0.10.2 From 9ccf56c13831c5fe0edecd8c1184c9a6fe805d23 Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 03:01:03 +0900 Subject: nilfs2: fix function name typos in docbook comments Fixes the following typos in docbook comments: nilfs_detroy_transaction_cache -> nilfs_destroy_transaction_cache nilfs_secgtor_start_timer -> nilfs_segctor_start_timer Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index ada2f1b..3265bfc 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -141,7 +141,7 @@ int nilfs_init_transaction_cache(void) } /** - * nilfs_detroy_transaction_cache - destroy the cache for transaction info + * nilfs_destroy_transaction_cache - destroy the cache for transaction info * * nilfs_destroy_transaction_cache() frees the slab cache for the struct * nilfs_transaction_info. @@ -2214,7 +2214,7 @@ static int nilfs_segctor_do_construct(struct nilfs_sc_info *sci, int mode) } /** - * nilfs_secgtor_start_timer - set timer of background write + * nilfs_segctor_start_timer - set timer of background write * @sci: nilfs_sc_info * * If the timer has already been set, it ignores the new request. -- cgit v0.10.2 From 1621562b6ac55aa69239895d90276577547a5f62 Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 03:17:45 +0900 Subject: nilfs2: fix typo "cout" -> "count" in error message Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c index 0092840..85c89df 100644 --- a/fs/nilfs2/dir.c +++ b/fs/nilfs2/dir.c @@ -396,7 +396,7 @@ nilfs_find_entry(struct inode *dir, const struct qstr *qstr, /* next page is past the blocks we've got */ if (unlikely(n > (dir->i_blocks >> (PAGE_CACHE_SHIFT - 9)))) { nilfs_error(dir->i_sb, __func__, - "dir %lu size %lld exceeds block cout %llu", + "dir %lu size %lld exceeds block count %llu", dir->i_ino, dir->i_size, (unsigned long long)dir->i_blocks); goto out; -- cgit v0.10.2 From 7a65004bbaa6a21a0438aac9c64814e46084dc3f Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 03:32:40 +0900 Subject: nilfs2: fix various typos in comments This fixes various typos I found in comments of nilfs2. Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/alloc.h b/fs/nilfs2/alloc.h index f4543ac..5cccf87 100644 --- a/fs/nilfs2/alloc.h +++ b/fs/nilfs2/alloc.h @@ -42,7 +42,7 @@ void *nilfs_palloc_block_get_entry(const struct inode *, __u64, const struct buffer_head *, void *); /** - * nilfs_palloc_req - persistent alloctor request and reply + * nilfs_palloc_req - persistent allocator request and reply * @pr_entry_nr: entry number (vblocknr or inode number) * @pr_desc_bh: buffer head of the buffer containing block group descriptors * @pr_bitmap_bh: buffer head of the buffer containing a block group bitmap diff --git a/fs/nilfs2/dat.c b/fs/nilfs2/dat.c index 9d1e5de..0131467 100644 --- a/fs/nilfs2/dat.c +++ b/fs/nilfs2/dat.c @@ -288,7 +288,7 @@ int nilfs_dat_mark_dirty(struct inode *dat, __u64 vblocknr) * @vblocknrs and @nitems. * * Return Value: On success, 0 is returned. On error, one of the following - * nagative error codes is returned. + * negative error codes is returned. * * %-EIO - I/O error. * diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c index e16a666..8880a9e 100644 --- a/fs/nilfs2/gcinode.c +++ b/fs/nilfs2/gcinode.c @@ -28,10 +28,10 @@ * gcinodes), and this file provides lookup function of the dummy * inodes and their buffer read function. * - * Since NILFS2 keeps up multiple checkpoints/snapshots accross GC, it + * Since NILFS2 keeps up multiple checkpoints/snapshots across GC, it * has to treat blocks that belong to a same file but have different * checkpoint numbers. To avoid interference among generations, dummy - * inodes are managed separatly from actual inodes, and their lookup + * inodes are managed separately from actual inodes, and their lookup * function (nilfs_gc_iget) is designed to be specified with a * checkpoint number argument as well as an inode number. * diff --git a/fs/nilfs2/page.c b/fs/nilfs2/page.c index a2692bb..fc246db 100644 --- a/fs/nilfs2/page.c +++ b/fs/nilfs2/page.c @@ -292,7 +292,7 @@ void nilfs_free_private_page(struct page *page) * @src: source page * @copy_dirty: flag whether to copy dirty states on the page's buffer heads. * - * This fuction is for both data pages and btnode pages. The dirty flag + * This function is for both data pages and btnode pages. The dirty flag * should be treated by caller. The page must not be under i/o. * Both src and dst page must be locked */ @@ -388,7 +388,7 @@ repeat: } /** - * nilfs_copy_back_pages -- copy back pages to orignal cache from shadow cache + * nilfs_copy_back_pages -- copy back pages to original cache from shadow cache * @dmap: destination page cache * @smap: source page cache * diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c index 68b08f2..e3f67c6 100644 --- a/fs/nilfs2/segbuf.c +++ b/fs/nilfs2/segbuf.c @@ -174,7 +174,7 @@ int nilfs_segbuf_reset(struct nilfs_segment_buffer *segbuf, unsigned flags, } /* - * Setup segument summary + * Setup segment summary */ void nilfs_segbuf_fill_in_segsum(struct nilfs_segment_buffer *segbuf) { diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 3265bfc..69576a9 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -201,7 +201,7 @@ static int nilfs_prepare_segment_lock(struct nilfs_transaction_info *ti) * This function allocates a nilfs_transaction_info struct to keep context * information on it. It is initialized and hooked onto the current task in * the outermost call. If a pre-allocated struct is given to @ti, it is used - * instead; othewise a new struct is assigned from a slab. + * instead; otherwise a new struct is assigned from a slab. * * When @vacancy_check flag is set, this function will check the amount of * free space, and will wait for the GC to reclaim disk space if low capacity. @@ -2854,7 +2854,7 @@ static void nilfs_segctor_destroy(struct nilfs_sc_info *sci) * @sbi: nilfs_sb_info * * nilfs_attach_segment_constructor() allocates a struct nilfs_sc_info, - * initilizes it, and starts the segment constructor. + * initializes it, and starts the segment constructor. * * Return Value: On success, 0 is returned. On error, one of the following * negative error code is returned. diff --git a/fs/nilfs2/segment.h b/fs/nilfs2/segment.h index 3155e0c..2a79456 100644 --- a/fs/nilfs2/segment.h +++ b/fs/nilfs2/segment.h @@ -30,7 +30,7 @@ #include "sb.h" /** - * struct nilfs_recovery_info - Recovery infomation + * struct nilfs_recovery_info - Recovery information * @ri_need_recovery: Recovery status * @ri_super_root: Block number of the last super root * @ri_ri_cno: Number of the last checkpoint diff --git a/fs/nilfs2/sufile.c b/fs/nilfs2/sufile.c index b6c36d0..3c6cc60 100644 --- a/fs/nilfs2/sufile.c +++ b/fs/nilfs2/sufile.c @@ -18,7 +18,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * Written by Koji Sato . - * Rivised by Ryusuke Konishi . + * Revised by Ryusuke Konishi . */ #include diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 92579cc..896b463 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c @@ -436,7 +436,7 @@ static int nilfs_statfs(struct dentry *dentry, struct kstatfs *buf) /* * Compute the overhead * - * When distributing meta data blocks outside semgent structure, + * When distributing meta data blocks outside segment structure, * We must count them as the overhead. */ overhead = 0; -- cgit v0.10.2 From 55480a06e9ee8d05d0e580bf46611df489653c76 Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 03:55:56 +0900 Subject: nilfs2: remove spaces before tabs This kills the following checkpatch warnings: WARNING: please, no space before tabs #74: FILE: segment.h:74: +^Iunsigned ^I^Iflags;$ WARNING: please, no space before tabs #35: FILE: segbuf.c:35: +^Iint ^I^I^Istart, end; /* The region to be submitted */$ Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c index e3f67c6..636eaaf 100644 --- a/fs/nilfs2/segbuf.c +++ b/fs/nilfs2/segbuf.c @@ -32,7 +32,7 @@ struct nilfs_write_info { struct the_nilfs *nilfs; struct bio *bio; - int start, end; /* The region to be submitted */ + int start, end; /* The region to be submitted */ int rest_blocks; int max_pages; int nr_vecs; diff --git a/fs/nilfs2/segment.h b/fs/nilfs2/segment.h index 2a79456..82dfd6a 100644 --- a/fs/nilfs2/segment.h +++ b/fs/nilfs2/segment.h @@ -71,7 +71,7 @@ struct nilfs_recovery_info { */ struct nilfs_cstage { int scnt; - unsigned flags; + unsigned flags; struct nilfs_inode_info *dirty_file_ptr; struct nilfs_inode_info *gc_inode_ptr; }; -- cgit v0.10.2 From c91cea11dfec65968ff9d1b4239c1eab63bf72fd Mon Sep 17 00:00:00 2001 From: Ryusuke Konishi Date: Sun, 14 Mar 2010 04:01:27 +0900 Subject: nilfs2: remove whitespaces before quoted newlines This kills the following checkpatch warnings: WARNING: unnecessary whitespace before a quoted newline #869: FILE: super.c:869: + "remount to a different snapshot. \n", WARNING: unnecessary whitespace before a quoted newline #389: FILE: the_nilfs.c:389: + printk(KERN_ERR "NILFS: too short segment. \n"); Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c index 896b463..0cdbc5e 100644 --- a/fs/nilfs2/super.c +++ b/fs/nilfs2/super.c @@ -866,7 +866,7 @@ static int nilfs_remount(struct super_block *sb, int *flags, char *data) if ((*flags & MS_RDONLY) && sbi->s_snapshot_cno != old_opts.snapshot_cno) { printk(KERN_WARNING "NILFS (device %s): couldn't " - "remount to a different snapshot. \n", + "remount to a different snapshot.\n", sb->s_id); err = -EINVAL; goto restore_opts; diff --git a/fs/nilfs2/the_nilfs.c b/fs/nilfs2/the_nilfs.c index 92733d5..33871f7 100644 --- a/fs/nilfs2/the_nilfs.c +++ b/fs/nilfs2/the_nilfs.c @@ -386,7 +386,7 @@ static int nilfs_store_disk_layout(struct the_nilfs *nilfs, nilfs->ns_blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment); if (nilfs->ns_blocks_per_segment < NILFS_SEG_MIN_BLOCKS) { - printk(KERN_ERR "NILFS: too short segment. \n"); + printk(KERN_ERR "NILFS: too short segment.\n"); return -EINVAL; } -- cgit v0.10.2 From c91ed059a080c6f9a7ba525e5027c65d19115d15 Mon Sep 17 00:00:00 2001 From: Martin Buck Date: Sat, 13 Mar 2010 22:23:58 -0800 Subject: Input: ALPS - fix stuck buttons on some touchpads Enable button release event redirection to the device that got the button press not only for touchpads with interleaved protocols, but unconditionally for all Alps touchpads. This is required at least for the touchpads in Dell Inspiron 8200 and Latitude d630. Signed-off-by: Martin Buck Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index f6dad83..7490f1d 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -120,40 +120,27 @@ static void alps_report_buttons(struct psmouse *psmouse, struct input_dev *dev1, struct input_dev *dev2, int left, int right, int middle) { - struct alps_data *priv = psmouse->private; - const struct alps_model_info *model = priv->i; - - if (model->flags & ALPS_PS2_INTERLEAVED) { - struct input_dev *dev; + struct input_dev *dev; - /* - * If shared button has already been reported on the - * other device (dev2) then this event should be also - * sent through that device. - */ - dev = test_bit(BTN_LEFT, dev2->key) ? dev2 : dev1; - input_report_key(dev, BTN_LEFT, left); + /* + * If shared button has already been reported on the + * other device (dev2) then this event should be also + * sent through that device. + */ + dev = test_bit(BTN_LEFT, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_LEFT, left); - dev = test_bit(BTN_RIGHT, dev2->key) ? dev2 : dev1; - input_report_key(dev, BTN_RIGHT, right); + dev = test_bit(BTN_RIGHT, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_RIGHT, right); - dev = test_bit(BTN_MIDDLE, dev2->key) ? dev2 : dev1; - input_report_key(dev, BTN_MIDDLE, middle); + dev = test_bit(BTN_MIDDLE, dev2->key) ? dev2 : dev1; + input_report_key(dev, BTN_MIDDLE, middle); - /* - * Sync the _other_ device now, we'll do the first - * device later once we report the rest of the events. - */ - input_sync(dev2); - } else { - /* - * For devices with non-interleaved packets we know what - * device buttons belong to so we can simply report them. - */ - input_report_key(dev1, BTN_LEFT, left); - input_report_key(dev1, BTN_RIGHT, right); - input_report_key(dev1, BTN_MIDDLE, middle); - } + /* + * Sync the _other_ device now, we'll do the first + * device later once we report the rest of the events. + */ + input_sync(dev2); } static void alps_process_packet(struct psmouse *psmouse) -- cgit v0.10.2 From 31968ecf584330b51a25b7bf881c2b632a02a3fb Mon Sep 17 00:00:00 2001 From: Christoph Fritz Date: Sat, 13 Mar 2010 22:26:23 -0800 Subject: Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table ALDI/MEDION netbook E1222 needs to be in the reset quirk list for its touchpad's proper function. Reported-by: Michael Fischer Signed-off-by: Christoph Fritz Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index 3696cab..ead0494 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h @@ -442,6 +442,13 @@ static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = { }, }, { + /* Medion Akoya E1222 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E122X"), + }, + }, + { /* Mivvy M310 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "VIOOO"), -- cgit v0.10.2 From 2aa2b50dd62b5d0675bd7453fbeb5732dc2d7866 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Sun, 14 Mar 2010 08:57:03 +0100 Subject: x86/mce: Fix build bug with CONFIG_PROVE_LOCKING=y && CONFIG_X86_MCE_INTEL=y Commit f56e8a076 "x86/mce: Fix RCU lockdep splats" introduced the following build bug: arch/x86/kernel/cpu/mcheck/mce.c: In function 'mce_log': arch/x86/kernel/cpu/mcheck/mce.c:166: error: 'mce_read_mutex' undeclared (first use in this function) arch/x86/kernel/cpu/mcheck/mce.c:166: error: (Each undeclared identifier is reported only once arch/x86/kernel/cpu/mcheck/mce.c:166: error: for each function it appears in.) Move the in-the-middle-of-file lock variable up to the variable definition section, the top of the .c file. Cc: Paul E. McKenney Cc: "H. Peter Anvin" Cc: x86@kernel.org Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index bd58de4..3ab9c88 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -46,6 +46,8 @@ #include "mce-internal.h" +static DEFINE_MUTEX(mce_read_mutex); + #define rcu_dereference_check_mce(p) \ rcu_dereference_check((p), \ rcu_read_lock_sched_held() || \ @@ -1490,8 +1492,6 @@ static void collect_tscs(void *data) rdtscll(cpu_tsc[smp_processor_id()]); } -static DEFINE_MUTEX(mce_read_mutex); - static ssize_t mce_read(struct file *filp, char __user *ubuf, size_t usize, loff_t *off) { -- cgit v0.10.2 From 3f995f317f7070e81e8e38bb11357d6671ab6969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20R=C3=B6jfors?= Date: Tue, 9 Mar 2010 09:17:36 +0100 Subject: Add the platform data include for the Xilinx XPS IIC Bus Interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This file was missed in the original patch that went into Linus' tree. Cc: "Ben Dooks (embedded platforms)" Cc: linux-i2c@vger.kernel.org Signed-off-by: Richard Röjfors Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds diff --git a/include/linux/i2c-xiic.h b/include/linux/i2c-xiic.h new file mode 100644 index 0000000..4f9f225 --- /dev/null +++ b/include/linux/i2c-xiic.h @@ -0,0 +1,43 @@ +/* + * i2c-xiic.h + * Copyright (c) 2009 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/* Supports: + * Xilinx IIC + */ + +#ifndef _LINUX_I2C_XIIC_H +#define _LINUX_I2C_XIIC_H + +/** + * struct xiic_i2c_platform_data - Platform data of the Xilinx I2C driver + * @num_devices: Number of devices that shall be added when the driver + * is probed. + * @devices: The actuall devices to add. + * + * This purpose of this platform data struct is to be able to provide a number + * of devices that should be added to the I2C bus. The reason is that sometimes + * the I2C board info is not enough, a new PCI board can for instance be + * plugged into a standard PC, and the bus number might be unknown at + * early init time. + */ +struct xiic_i2c_platform_data { + u8 num_devices; + struct i2c_board_info const *devices; +}; + +#endif /* _LINUX_I2C_XIIC_H */ -- cgit v0.10.2 From 02ca6c407e0d43e6de5d646d26d87fc2eaa7a98b Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Thu, 4 Feb 2010 12:11:09 -0800 Subject: Add include to i2c-xii.c to fix build error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit drivers/i2c/busses/i2c-xiic.c:493: error: implicit declaration of function 'mdelay' Signed-off-by: Randy Dunlap Cc: "Richard Röjfors" Cc: "Ben Dooks (embedded platforms)" Cc: linux-i2c@vger.kernel.org Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c index eece39a..f0ef8da 100644 --- a/drivers/i2c/busses/i2c-xiic.c +++ b/drivers/i2c/busses/i2c-xiic.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include -- cgit v0.10.2 From 03fb256df9c960b10c0e01b7e92d2f31433675fe Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Tue, 16 Feb 2010 10:48:15 +0000 Subject: ARM: mach-shmobile: G3EVM KEYSC platform data This patch adds KEYSC platform data for the G3EVM board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c index f36c9a9..9d32689 100644 --- a/arch/arm/mach-shmobile/board-g3evm.c +++ b/arch/arm/mach-shmobile/board-g3evm.c @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include #include #include @@ -127,9 +129,47 @@ static struct platform_device usb_host_device = { .resource = usb_host_resources, }; +/* KEYSC */ +static struct sh_keysc_info keysc_info = { + .mode = SH_KEYSC_MODE_5, + .scan_timing = 3, + .delay = 100, + .keycodes = { + KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, KEY_G, + KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, KEY_M, KEY_N, + KEY_O, KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T, KEY_U, + KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, KEY_HOME, KEY_SLEEP, + KEY_WAKEUP, KEY_COFFEE, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, + KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_STOP, KEY_COMPUTER, + }, +}; + +static struct resource keysc_resources[] = { + [0] = { + .name = "KEYSC", + .start = 0xe61b0000, + .end = 0xe61b000f, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = 79, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device keysc_device = { + .name = "sh_keysc", + .num_resources = ARRAY_SIZE(keysc_resources), + .resource = keysc_resources, + .dev = { + .platform_data = &keysc_info, + }, +}; + static struct platform_device *g3evm_devices[] __initdata = { &nor_flash_device, &usb_host_device, + &keysc_device, }; static struct map_desc g3evm_io_desc[] __initdata = { @@ -196,6 +236,21 @@ static void __init g3evm_init(void) __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ + /* KEYSC @ CN7 */ + gpio_request(GPIO_FN_PORT42_KEYOUT0, NULL); + gpio_request(GPIO_FN_PORT43_KEYOUT1, NULL); + gpio_request(GPIO_FN_PORT44_KEYOUT2, NULL); + gpio_request(GPIO_FN_PORT45_KEYOUT3, NULL); + gpio_request(GPIO_FN_PORT46_KEYOUT4, NULL); + gpio_request(GPIO_FN_PORT47_KEYOUT5, NULL); + gpio_request(GPIO_FN_PORT48_KEYIN0_PU, NULL); + gpio_request(GPIO_FN_PORT49_KEYIN1_PU, NULL); + gpio_request(GPIO_FN_PORT50_KEYIN2_PU, NULL); + gpio_request(GPIO_FN_PORT55_KEYIN3_PU, NULL); + gpio_request(GPIO_FN_PORT56_KEYIN4_PU, NULL); + gpio_request(GPIO_FN_PORT57_KEYIN5_PU, NULL); + gpio_request(GPIO_FN_PORT58_KEYIN6_PU, NULL); + sh7367_add_standard_devices(); platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices)); diff --git a/arch/arm/mach-shmobile/clock-sh7367.c b/arch/arm/mach-shmobile/clock-sh7367.c index 58bd54e..bb940c6 100644 --- a/arch/arm/mach-shmobile/clock-sh7367.c +++ b/arch/arm/mach-shmobile/clock-sh7367.c @@ -75,6 +75,11 @@ static struct clk usb0_clk = { .name = "usb0", }; +/* a static keysc0 clk for now - enough to get sh_keysc working */ +static struct clk keysc0_clk = { + .name = "keysc0", +}; + static struct clk_lookup lookups[] = { { .clk = &peripheral_clk, @@ -82,6 +87,8 @@ static struct clk_lookup lookups[] = { .clk = &r_clk, }, { .clk = &usb0_clk, + }, { + .clk = &keysc0_clk, } }; -- cgit v0.10.2 From 143f3b833f98271341379d813cb72deb1657a380 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Fri, 19 Feb 2010 09:54:06 +0000 Subject: ARM: mach-shmobile: G3EVM FLCTL platform data This patch adds FLCTL platform data for the G3EVM board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/board-g3evm.c b/arch/arm/mach-shmobile/board-g3evm.c index 9d32689..9247503 100644 --- a/arch/arm/mach-shmobile/board-g3evm.c +++ b/arch/arm/mach-shmobile/board-g3evm.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -166,10 +167,53 @@ static struct platform_device keysc_device = { }, }; +static struct mtd_partition nand_partition_info[] = { + { + .name = "system", + .offset = 0, + .size = 64 * 1024 * 1024, + }, + { + .name = "userdata", + .offset = MTDPART_OFS_APPEND, + .size = 128 * 1024 * 1024, + }, + { + .name = "cache", + .offset = MTDPART_OFS_APPEND, + .size = 64 * 1024 * 1024, + }, +}; + +static struct resource nand_flash_resources[] = { + [0] = { + .start = 0xe6a30000, + .end = 0xe6a3009b, + .flags = IORESOURCE_MEM, + } +}; + +static struct sh_flctl_platform_data nand_flash_data = { + .parts = nand_partition_info, + .nr_parts = ARRAY_SIZE(nand_partition_info), + .flcmncr_val = QTSEL_E | FCKSEL_E | TYPESEL_SET | NANWF_E + | SHBUSSEL | SEL_16BIT, +}; + +static struct platform_device nand_flash_device = { + .name = "sh_flctl", + .resource = nand_flash_resources, + .num_resources = ARRAY_SIZE(nand_flash_resources), + .dev = { + .platform_data = &nand_flash_data, + }, +}; + static struct platform_device *g3evm_devices[] __initdata = { &nor_flash_device, &usb_host_device, &keysc_device, + &nand_flash_device, }; static struct map_desc g3evm_io_desc[] __initdata = { @@ -251,6 +295,29 @@ static void __init g3evm_init(void) gpio_request(GPIO_FN_PORT57_KEYIN5_PU, NULL); gpio_request(GPIO_FN_PORT58_KEYIN6_PU, NULL); + /* FLCTL */ + gpio_request(GPIO_FN_FCE0, NULL); + gpio_request(GPIO_FN_D0_ED0_NAF0, NULL); + gpio_request(GPIO_FN_D1_ED1_NAF1, NULL); + gpio_request(GPIO_FN_D2_ED2_NAF2, NULL); + gpio_request(GPIO_FN_D3_ED3_NAF3, NULL); + gpio_request(GPIO_FN_D4_ED4_NAF4, NULL); + gpio_request(GPIO_FN_D5_ED5_NAF5, NULL); + gpio_request(GPIO_FN_D6_ED6_NAF6, NULL); + gpio_request(GPIO_FN_D7_ED7_NAF7, NULL); + gpio_request(GPIO_FN_D8_ED8_NAF8, NULL); + gpio_request(GPIO_FN_D9_ED9_NAF9, NULL); + gpio_request(GPIO_FN_D10_ED10_NAF10, NULL); + gpio_request(GPIO_FN_D11_ED11_NAF11, NULL); + gpio_request(GPIO_FN_D12_ED12_NAF12, NULL); + gpio_request(GPIO_FN_D13_ED13_NAF13, NULL); + gpio_request(GPIO_FN_D14_ED14_NAF14, NULL); + gpio_request(GPIO_FN_D15_ED15_NAF15, NULL); + gpio_request(GPIO_FN_WE0_XWR0_FWE, NULL); + gpio_request(GPIO_FN_FRB, NULL); + /* FOE, FCDE, FSC on dedicated pins */ + __raw_writel(__raw_readl(0xe6158048) & ~(1 << 15), 0xe6158048); + sh7367_add_standard_devices(); platform_add_devices(g3evm_devices, ARRAY_SIZE(g3evm_devices)); -- cgit v0.10.2 From 3e862c05ca1bf5bd4cb703bc257d180a4583bc41 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Fri, 19 Feb 2010 10:01:22 +0000 Subject: mtd: enable sh_flctl on SH-Mobile ARM Update the Kconfig entry for the sh_flctl driver to enable build on SH-Mobile ARM platforms. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 1157d56..42e5ea49 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -457,7 +457,7 @@ config MTD_NAND_NOMADIK config MTD_NAND_SH_FLCTL tristate "Support for NAND on Renesas SuperH FLCTL" - depends on MTD_NAND && SUPERH + depends on MTD_NAND && (SUPERH || ARCH_SHMOBILE) help Several Renesas SuperH CPU has FLCTL. This option enables support for NAND Flash using FLCTL. -- cgit v0.10.2 From 6676a1701b0b135dacbb7cfeef48004315300df0 Mon Sep 17 00:00:00 2001 From: NISHIMOTO Hiroki Date: Tue, 23 Feb 2010 10:55:10 +0000 Subject: ARM: mach-shmobile: G4EVM KEYSC platform data This patch adds KEYSC platform data for the G4EVM board. Signed-off-by: NISHIMOTO Hiroki Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/board-g4evm.c b/arch/arm/mach-shmobile/board-g4evm.c index 5acd623..10673a9 100644 --- a/arch/arm/mach-shmobile/board-g4evm.c +++ b/arch/arm/mach-shmobile/board-g4evm.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include #include #include @@ -128,9 +130,49 @@ static struct platform_device usb_host_device = { .resource = usb_host_resources, }; +/* KEYSC */ +static struct sh_keysc_info keysc_info = { + .mode = SH_KEYSC_MODE_5, + .scan_timing = 3, + .delay = 100, + .keycodes = { + KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, + KEY_G, KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, + KEY_M, KEY_N, KEY_U, KEY_P, KEY_Q, KEY_R, + KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, KEY_X, + KEY_Y, KEY_Z, KEY_HOME, KEY_SLEEP, KEY_WAKEUP, KEY_COFFEE, + KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, + KEY_6, KEY_7, KEY_8, KEY_9, KEY_STOP, KEY_COMPUTER, + }, +}; + +static struct resource keysc_resources[] = { + [0] = { + .name = "KEYSC", + .start = 0xe61b0000, + .end = 0xe61b000f, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = 79, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device keysc_device = { + .name = "sh_keysc", + .id = 0, /* keysc0 clock */ + .num_resources = ARRAY_SIZE(keysc_resources), + .resource = keysc_resources, + .dev = { + .platform_data = &keysc_info, + }, +}; + static struct platform_device *g4evm_devices[] __initdata = { &nor_flash_device, &usb_host_device, + &keysc_device, }; static struct map_desc g4evm_io_desc[] __initdata = { @@ -196,6 +238,21 @@ static void __init g4evm_init(void) __raw_writew(0x6010, 0xe60581c6); /* CGPOSR */ __raw_writew(0x8a0a, 0xe605810c); /* USBCR2 */ + /* KEYSC @ CN31 */ + gpio_request(GPIO_FN_PORT60_KEYOUT5, NULL); + gpio_request(GPIO_FN_PORT61_KEYOUT4, NULL); + gpio_request(GPIO_FN_PORT62_KEYOUT3, NULL); + gpio_request(GPIO_FN_PORT63_KEYOUT2, NULL); + gpio_request(GPIO_FN_PORT64_KEYOUT1, NULL); + gpio_request(GPIO_FN_PORT65_KEYOUT0, NULL); + gpio_request(GPIO_FN_PORT66_KEYIN0_PU, NULL); + gpio_request(GPIO_FN_PORT67_KEYIN1_PU, NULL); + gpio_request(GPIO_FN_PORT68_KEYIN2_PU, NULL); + gpio_request(GPIO_FN_PORT69_KEYIN3_PU, NULL); + gpio_request(GPIO_FN_PORT70_KEYIN4_PU, NULL); + gpio_request(GPIO_FN_PORT71_KEYIN5_PU, NULL); + gpio_request(GPIO_FN_PORT72_KEYIN6_PU, NULL); + sh7377_add_standard_devices(); platform_add_devices(g4evm_devices, ARRAY_SIZE(g4evm_devices)); -- cgit v0.10.2 From 9615b37c5c8fed963811c100053d495c412880fb Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 10 Mar 2010 05:13:12 +0000 Subject: ARM: mach-shmobile: sh7367 SDHI vector merge Merge the SDHI vectors for sh7367 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/intc-sh7367.c b/arch/arm/mach-shmobile/intc-sh7367.c index 6a547b4..5ff70cad 100644 --- a/arch/arm/mach-shmobile/intc-sh7367.c +++ b/arch/arm/mach-shmobile/intc-sh7367.c @@ -27,6 +27,8 @@ enum { UNUSED_INTCA = 0, + ENABLED, + DISABLED, /* interrupt sources INTCA */ IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, @@ -46,8 +48,8 @@ enum { MSIOF2, MSIOF1, SCIFA4, SCIFA5, SCIFB, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, - SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, - SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, SDHI1_SDHI1I3, + SDHI0, + SDHI1, MSU_MSU, MSU_MSU2, IREM, SIU, @@ -59,7 +61,7 @@ enum { TTI20, MISTY, DDM, - SDHI2_SDHI2I0, SDHI2_SDHI2I1, SDHI2_SDHI2I2, SDHI2_SDHI2I3, + SDHI2, RWDT0, RWDT1, DMAC_1_DEI0, DMAC_1_DEI1, DMAC_1_DEI2, DMAC_1_DEI3, DMAC_2_DEI4, DMAC_2_DEI5, DMAC_2_DADERR, @@ -70,7 +72,7 @@ enum { /* interrupt groups INTCA */ DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, - ETM11, ARM11, USBHS, FLCTL, IIC1, SDHI0, SDHI1, SDHI2, + ETM11, ARM11, USBHS, FLCTL, IIC1 }; static struct intc_vect intca_vectors[] = { @@ -105,10 +107,10 @@ static struct intc_vect intca_vectors[] = { INTC_VECT(SCIFB, 0x0d60), INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), - INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), - INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), - INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), - INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), INTC_VECT(SDHI1_SDHI1I3, 0x0ee0), + INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), + INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), + INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), + INTC_VECT(SDHI1, 0x0ec0), INTC_VECT(SDHI1, 0x0ee0), INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), INTC_VECT(IREM, 0x0f60), INTC_VECT(SIU, 0x0fa0), @@ -122,8 +124,8 @@ static struct intc_vect intca_vectors[] = { INTC_VECT(TTI20, 0x1100), INTC_VECT(MISTY, 0x1120), INTC_VECT(DDM, 0x1140), - INTC_VECT(SDHI2_SDHI2I0, 0x1200), INTC_VECT(SDHI2_SDHI2I1, 0x1220), - INTC_VECT(SDHI2_SDHI2I2, 0x1240), INTC_VECT(SDHI2_SDHI2I3, 0x1260), + INTC_VECT(SDHI2, 0x1200), INTC_VECT(SDHI2, 0x1220), + INTC_VECT(SDHI2, 0x1240), INTC_VECT(SDHI2, 0x1260), INTC_VECT(RWDT0, 0x1280), INTC_VECT(RWDT1, 0x12a0), INTC_VECT(DMAC_1_DEI0, 0x2000), INTC_VECT(DMAC_1_DEI1, 0x2020), INTC_VECT(DMAC_1_DEI2, 0x2040), INTC_VECT(DMAC_1_DEI3, 0x2060), @@ -158,12 +160,6 @@ static struct intc_group intca_groups[] __initdata = { INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), - INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, - SDHI0_SDHI0I2, SDHI0_SDHI0I3), - INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, - SDHI1_SDHI1I2, SDHI1_SDHI1I3), - INTC_GROUP(SDHI2, SDHI2_SDHI2I0, SDHI2_SDHI2I1, - SDHI2_SDHI2I2, SDHI2_SDHI2I3), }; static struct intc_mask_reg intca_mask_registers[] = { @@ -193,10 +189,10 @@ static struct intc_mask_reg intca_mask_registers[] = { { SCIFB, SCIFA5, SCIFA4, MSIOF1, 0, 0, MSIOF2, 0 } }, { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ - { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, + { DISABLED, DISABLED, ENABLED, ENABLED, FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ - { SDHI1_SDHI1I3, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, + { DISABLED, DISABLED, ENABLED, ENABLED, TTI20, USBDMAC_USHDMI, SPU, SIU } }, { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, @@ -211,7 +207,7 @@ static struct intc_mask_reg intca_mask_registers[] = { { 0, 0, TPU0, TPU1, TPU2, TPU3, TPU4, 0 } }, { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ - { SDHI2_SDHI2I3, SDHI2_SDHI2I2, SDHI2_SDHI2I1, SDHI2_SDHI2I0, + { DISABLED, DISABLED, ENABLED, ENABLED, MISTY, CMT3, RWDT1, RWDT0 } }, }; @@ -258,10 +254,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { { IRQ8A, IRQ9A, IRQ10A, IRQ11A, IRQ12A, IRQ13A, IRQ14A, IRQ15A } }, }; -static DECLARE_INTC_DESC_ACK(intca_desc, "sh7367-intca", - intca_vectors, intca_groups, - intca_mask_registers, intca_prio_registers, - intca_sense_registers, intca_ack_registers); +static struct intc_desc intca_desc __initdata = { + .name = "sh7367-intca", + .force_enable = ENABLED, + .force_disable = DISABLED, + .hw = INTC_HW_DESC(intca_vectors, intca_groups, + intca_mask_registers, intca_prio_registers, + intca_sense_registers, intca_ack_registers), +}; void __init sh7367_init_irq(void) { -- cgit v0.10.2 From c148abfc2d807b2734e7ecd0e00c71ef7d4b7f42 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 10 Mar 2010 05:15:16 +0000 Subject: ARM: mach-shmobile: sh7377 SDHI vector merge Merge the SDHI vectors for sh7377 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/intc-sh7377.c b/arch/arm/mach-shmobile/intc-sh7377.c index 125021c..5c781e2d1 100644 --- a/arch/arm/mach-shmobile/intc-sh7377.c +++ b/arch/arm/mach-shmobile/intc-sh7377.c @@ -27,6 +27,8 @@ enum { UNUSED_INTCA = 0, + ENABLED, + DISABLED, /* interrupt sources INTCA */ IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, @@ -49,8 +51,8 @@ enum { MSIOF2, MSIOF1, SCIFA4, SCIFA5, SCIFB, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, - SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, - SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, SDHI1_SDHI1I3, + SDHI0, + SDHI1, MSU_MSU, MSU_MSU2, IRREM, MSUG, @@ -84,7 +86,7 @@ enum { /* interrupt groups INTCA */ DMAC_1, DMAC_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, - AP_ARM1, AP_ARM2, USBHS, SPU2, FLCTL, IIC1, SDHI0, SDHI1, + AP_ARM1, AP_ARM2, USBHS, SPU2, FLCTL, IIC1, ICUSB, ICUDMC }; @@ -128,10 +130,10 @@ static struct intc_vect intca_vectors[] = { INTC_VECT(SCIFB, 0x0d60), INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), - INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), - INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), - INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), - INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), INTC_VECT(SDHI1_SDHI1I3, 0x0ee0), + INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), + INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), + INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), + INTC_VECT(SDHI1, 0x0ec0), INTC_VECT(SDHI1, 0x0ee0), INTC_VECT(MSU_MSU, 0x0f20), INTC_VECT(MSU_MSU2, 0x0f40), INTC_VECT(IRREM, 0x0f60), INTC_VECT(MSUG, 0x0fa0), @@ -195,10 +197,6 @@ static struct intc_group intca_groups[] __initdata = { INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), - INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, - SDHI0_SDHI0I2, SDHI0_SDHI0I3), - INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, - SDHI1_SDHI1I2, SDHI1_SDHI1I3), INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), INTC_GROUP(ICUSB, ICUSB_ICUSB0, ICUSB_ICUSB1), INTC_GROUP(ICUDMC, ICUDMC_ICUDMC1, ICUDMC_ICUDMC2), @@ -236,10 +234,10 @@ static struct intc_mask_reg intca_mask_registers[] = { { SCIFB, SCIFA5, SCIFA4, MSIOF1, 0, 0, MSIOF2, 0 } }, { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ - { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, + { DISABLED, DISABLED, ENABLED, ENABLED, FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ - { SDHI1_SDHI1I3, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, + { DISABLED, DISABLED, ENABLED, ENABLED, TTI20, USBDMAC_USHDMI, 0, MSUG } }, { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, @@ -339,10 +337,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, }; -static DECLARE_INTC_DESC_ACK(intca_desc, "sh7377-intca", - intca_vectors, intca_groups, - intca_mask_registers, intca_prio_registers, - intca_sense_registers, intca_ack_registers); +static struct intc_desc intca_desc __initdata = { + .name = "sh7377-intca", + .force_enable = ENABLED, + .force_disable = DISABLED, + .hw = INTC_HW_DESC(intca_vectors, intca_groups, + intca_mask_registers, intca_prio_registers, + intca_sense_registers, intca_ack_registers), +}; void __init sh7377_init_irq(void) { -- cgit v0.10.2 From c57a31abf0b469b9cab6810f4e1895bb7ef1c482 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 10 Mar 2010 05:17:24 +0000 Subject: ARM: mach-shmobile: sh7372 SDHI vector merge Merge the SDHI vectors for sh7372 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/intc-sh7372.c b/arch/arm/mach-shmobile/intc-sh7372.c index c57a923..3ce9d9b 100644 --- a/arch/arm/mach-shmobile/intc-sh7372.c +++ b/arch/arm/mach-shmobile/intc-sh7372.c @@ -27,6 +27,8 @@ enum { UNUSED_INTCA = 0, + ENABLED, + DISABLED, /* interrupt sources INTCA */ IRQ0A, IRQ1A, IRQ2A, IRQ3A, IRQ4A, IRQ5A, IRQ6A, IRQ7A, @@ -47,14 +49,14 @@ enum { MSIOF2, MSIOF1, SCIFA4, SCIFA5, SCIFB, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I, - SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3, - SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2, + SDHI0, + SDHI1, IRREM, IRDA, TPU0, TTI20, DDM, - SDHI2_SDHI2I0, SDHI2_SDHI2I1, SDHI2_SDHI2I2, SDHI2_SDHI2I3, + SDHI2, RWDT0, DMAC1_1_DEI0, DMAC1_1_DEI1, DMAC1_1_DEI2, DMAC1_1_DEI3, DMAC1_2_DEI4, DMAC1_2_DEI5, DMAC1_2_DADERR, @@ -82,7 +84,7 @@ enum { /* interrupt groups INTCA */ DMAC1_1, DMAC1_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT, - AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1, SDHI0, SDHI1, SDHI2 + AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1 }; static struct intc_vect intca_vectors[] __initdata = { @@ -123,17 +125,17 @@ static struct intc_vect intca_vectors[] __initdata = { INTC_VECT(SCIFB, 0x0d60), INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0), INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0), - INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20), - INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60), - INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0), - INTC_VECT(SDHI1_SDHI1I2, 0x0ec0), + INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20), + INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60), + INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0), + INTC_VECT(SDHI1, 0x0ec0), INTC_VECT(IRREM, 0x0f60), INTC_VECT(IRDA, 0x0480), INTC_VECT(TPU0, 0x04a0), INTC_VECT(TTI20, 0x1100), INTC_VECT(DDM, 0x1140), - INTC_VECT(SDHI2_SDHI2I0, 0x1200), INTC_VECT(SDHI2_SDHI2I1, 0x1220), - INTC_VECT(SDHI2_SDHI2I2, 0x1240), INTC_VECT(SDHI2_SDHI2I3, 0x1260), + INTC_VECT(SDHI2, 0x1200), INTC_VECT(SDHI2, 0x1220), + INTC_VECT(SDHI2, 0x1240), INTC_VECT(SDHI2, 0x1260), INTC_VECT(RWDT0, 0x1280), INTC_VECT(DMAC1_1_DEI0, 0x2000), INTC_VECT(DMAC1_1_DEI1, 0x2020), INTC_VECT(DMAC1_1_DEI2, 0x2040), INTC_VECT(DMAC1_1_DEI3, 0x2060), @@ -193,12 +195,6 @@ static struct intc_group intca_groups[] __initdata = { INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I), INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1), - INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1, - SDHI0_SDHI0I2, SDHI0_SDHI0I3), - INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1, - SDHI1_SDHI1I2), - INTC_GROUP(SDHI2, SDHI2_SDHI2I0, SDHI2_SDHI2I1, - SDHI2_SDHI2I2, SDHI2_SDHI2I3), INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM), }; @@ -234,10 +230,10 @@ static struct intc_mask_reg intca_mask_registers[] __initdata = { { SCIFB, SCIFA5, SCIFA4, MSIOF1, 0, 0, MSIOF2, 0 } }, { 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */ - { SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0, + { DISABLED, DISABLED, ENABLED, ENABLED, FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, { 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */ - { 0, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0, + { 0, DISABLED, ENABLED, ENABLED, TTI20, USBHSDMAC0_USHDMI, 0, 0 } }, { 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */ { CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10, @@ -252,7 +248,7 @@ static struct intc_mask_reg intca_mask_registers[] __initdata = { { 0, 0, TPU0, 0, 0, 0, 0, 0 } }, { 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */ - { SDHI2_SDHI2I3, SDHI2_SDHI2I2, SDHI2_SDHI2I1, SDHI2_SDHI2I0, + { DISABLED, DISABLED, ENABLED, ENABLED, 0, CMT3, 0, RWDT0 } }, { 0xe6950080, 0xe69500c0, 8, /* IMR0A3 / IMCR0A3 */ { SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM, 0, @@ -358,10 +354,14 @@ static struct intc_mask_reg intca_ack_registers[] __initdata = { { IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } }, }; -static DECLARE_INTC_DESC_ACK(intca_desc, "sh7372-intca", - intca_vectors, intca_groups, - intca_mask_registers, intca_prio_registers, - intca_sense_registers, intca_ack_registers); +static struct intc_desc intca_desc __initdata = { + .name = "sh7372-intca", + .force_enable = ENABLED, + .force_disable = DISABLED, + .hw = INTC_HW_DESC(intca_vectors, intca_groups, + intca_mask_registers, intca_prio_registers, + intca_sense_registers, intca_ack_registers), +}; void __init sh7372_init_irq(void) { -- cgit v0.10.2 From 3a14d0397732b6aaa541348b5a8e8f639ecd02b7 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 10 Mar 2010 09:26:44 +0000 Subject: ARM: mach-shmobile: ap4evb SDHI0 platform data V2 Add SDHI0 platform data for the AP4EVB board V2. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index a0463d9..1c2ec96 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c @@ -206,10 +206,32 @@ static struct platform_device keysc_device = { }, }; +/* SDHI0 */ +static struct resource sdhi0_resources[] = { + [0] = { + .name = "SDHI0", + .start = 0xe6850000, + .end = 0xe68501ff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = 96, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device sdhi0_device = { + .name = "sh_mobile_sdhi", + .num_resources = ARRAY_SIZE(sdhi0_resources), + .resource = sdhi0_resources, + .id = 0, +}; + static struct platform_device *ap4evb_devices[] __initdata = { &nor_flash_device, &smc911x_device, &keysc_device, + &sdhi0_device, }; static struct map_desc ap4evb_io_desc[] __initdata = { @@ -286,6 +308,16 @@ static void __init ap4evb_init(void) gpio_request(GPIO_FN_KEYIN3_133, NULL); gpio_request(GPIO_FN_KEYIN4, NULL); + /* SDHI0 */ + gpio_request(GPIO_FN_SDHICD0, NULL); + gpio_request(GPIO_FN_SDHIWP0, NULL); + gpio_request(GPIO_FN_SDHICMD0, NULL); + gpio_request(GPIO_FN_SDHICLK0, NULL); + gpio_request(GPIO_FN_SDHID0_3, NULL); + gpio_request(GPIO_FN_SDHID0_2, NULL); + gpio_request(GPIO_FN_SDHID0_1, NULL); + gpio_request(GPIO_FN_SDHID0_0, NULL); + sh7372_add_standard_devices(); platform_add_devices(ap4evb_devices, ARRAY_SIZE(ap4evb_devices)); -- cgit v0.10.2 From 7278a22143b003e9af7b9ca1b5f1c40ae4b55d98 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 10 Mar 2010 11:33:10 +0000 Subject: video: enable sh_mobile_lcdc on SH-Mobile ARM This patch enables the sh_mobile_lcdc driver on SH-Mobile ARM. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index dabe804..4be9b48 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1881,7 +1881,7 @@ config FB_W100 config FB_SH_MOBILE_LCDC tristate "SuperH Mobile LCDC framebuffer support" - depends on FB && SUPERH && HAVE_CLK + depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK select FB_SYS_FILLRECT select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT -- cgit v0.10.2